From 83ab2cb01746a869b625c9d84fbb4737146b73a9 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Thu, 24 Dec 2020 13:26:30 +0100 Subject: Updated Web examples to raylib 3.5 --- examples/web/models/models_animation.c | 4 +- examples/web/models/models_animation.data | Bin 360040 -> 359587 bytes examples/web/models/models_animation.html | 28 +- examples/web/models/models_animation.js | 2 +- examples/web/models/models_animation.wasm | Bin 238211 -> 227250 bytes examples/web/models/models_billboard.c | 2 +- examples/web/models/models_billboard.data | Bin 22439 -> 22374 bytes examples/web/models/models_billboard.html | 28 +- examples/web/models/models_billboard.js | 2 +- examples/web/models/models_billboard.wasm | Bin 155866 -> 117936 bytes examples/web/models/models_box_collisions.c | 2 +- examples/web/models/models_box_collisions.html | 28 +- examples/web/models/models_box_collisions.js | 2 +- examples/web/models/models_box_collisions.wasm | Bin 129954 -> 91857 bytes examples/web/models/models_cubicmap.c | 2 +- examples/web/models/models_cubicmap.data | Bin 37426 -> 37324 bytes examples/web/models/models_cubicmap.html | 28 +- examples/web/models/models_cubicmap.js | 2 +- examples/web/models/models_cubicmap.wasm | Bin 171018 -> 126582 bytes examples/web/models/models_first_person_maze.c | 2 +- examples/web/models/models_first_person_maze.data | Bin 37426 -> 37324 bytes examples/web/models/models_first_person_maze.html | 330 +- examples/web/models/models_first_person_maze.js | 9273 +--------- examples/web/models/models_first_person_maze.wasm | Bin 178054 -> 127396 bytes .../web/models/models_first_person_maze.wasm.map | 1 - examples/web/models/models_geometric_shapes.c | 2 +- examples/web/models/models_geometric_shapes.html | 28 +- examples/web/models/models_geometric_shapes.js | 2 +- examples/web/models/models_geometric_shapes.wasm | Bin 130520 -> 92321 bytes examples/web/models/models_heightmap.c | 2 +- examples/web/models/models_heightmap.data | Bin 10920 -> 10883 bytes examples/web/models/models_heightmap.html | 28 +- examples/web/models/models_heightmap.js | 2 +- examples/web/models/models_heightmap.wasm | Bin 165862 -> 124461 bytes examples/web/models/models_loading.c | 2 +- examples/web/models/models_loading.data | 9249 ++-------- examples/web/models/models_loading.html | 28 +- examples/web/models/models_loading.js | 2 +- examples/web/models/models_loading.wasm | Bin 237876 -> 227111 bytes examples/web/models/models_material_pbr.c | 2 +- examples/web/models/models_mesh_generation.c | 2 +- examples/web/models/models_mesh_generation.html | 28 +- examples/web/models/models_mesh_generation.js | 2 +- examples/web/models/models_mesh_generation.wasm | Bin 160356 -> 114540 bytes examples/web/models/models_mesh_picking.c | 2 +- examples/web/models/models_mesh_picking.data | 16 +- examples/web/models/models_mesh_picking.html | 28 +- examples/web/models/models_mesh_picking.js | 2 +- examples/web/models/models_mesh_picking.wasm | Bin 243871 -> 232827 bytes .../web/models/models_orthographic_projection.c | 2 +- .../web/models/models_orthographic_projection.html | 28 +- .../web/models/models_orthographic_projection.js | 2 +- .../web/models/models_orthographic_projection.wasm | Bin 130859 -> 92600 bytes examples/web/models/models_rlgl_solar_system.c | 2 +- examples/web/models/models_rlgl_solar_system.html | 28 +- examples/web/models/models_rlgl_solar_system.js | 2 +- examples/web/models/models_rlgl_solar_system.wasm | Bin 131497 -> 92868 bytes examples/web/models/models_skybox.c | 68 +- examples/web/models/models_skybox.data | Bin 6022034 -> 6022034 bytes examples/web/models/models_skybox.js | 2 +- examples/web/models/models_skybox.wasm | Bin 224832 -> 130018 bytes examples/web/models/models_waving_cubes.c | 4 +- examples/web/models/models_waving_cubes.html | 28 +- examples/web/models/models_waving_cubes.js | 2 +- examples/web/models/models_waving_cubes.wasm | Bin 128278 -> 90745 bytes examples/web/models/models_yaw_pitch_roll.c | 2 +- examples/web/models/models_yaw_pitch_roll.data | 2947 ++- examples/web/models/models_yaw_pitch_roll.html | 28 +- examples/web/models/models_yaw_pitch_roll.js | 2 +- examples/web/models/models_yaw_pitch_roll.wasm | Bin 238610 -> 227310 bytes examples/web/models/resources/angle_gauge.png | Bin 12919 -> 10205 bytes examples/web/models/resources/background.png | Bin 16574 -> 4408 bytes examples/web/models/resources/billboard.png | Bin 22439 -> 22374 bytes examples/web/models/resources/cubicmap.png | Bin 201 -> 164 bytes examples/web/models/resources/cubicmap_atlas.png | Bin 37225 -> 37160 bytes examples/web/models/resources/dresden_square.hdr | Bin 1524733 -> 0 bytes .../web/models/resources/dresden_square_1k.hdr | Bin 0 -> 1524733 bytes .../web/models/resources/dresden_square_2k.hdr | Bin 0 -> 6019615 bytes examples/web/models/resources/guy/guytex.png | Bin 302388 -> 301935 bytes examples/web/models/resources/heightmap.png | Bin 10920 -> 10883 bytes examples/web/models/resources/models/LICENSE | 4 + .../web/models/resources/models/bridge_diffuse.png | Bin 318869 -> 318466 bytes .../web/models/resources/models/castle_diffuse.png | Bin 1538906 -> 444213 bytes .../web/models/resources/models/cube_diffuse.png | Bin 24179 -> 23330 bytes .../web/models/resources/models/house_diffuse.png | Bin 392943 -> 392528 bytes .../web/models/resources/models/market_diffuse.png | Bin 389873 -> 389458 bytes .../web/models/resources/models/turret_diffuse.png | Bin 380535 -> 380120 bytes .../web/models/resources/models/well_diffuse.png | Bin 342817 -> 342387 bytes examples/web/models/resources/pbr/trooper.obj | 18312 ------------------- .../web/models/resources/pbr/trooper_albedo.png | Bin 7676508 -> 0 bytes examples/web/models/resources/pbr/trooper_ao.png | Bin 1832292 -> 0 bytes .../web/models/resources/pbr/trooper_metalness.png | Bin 6424 -> 0 bytes .../web/models/resources/pbr/trooper_normals.png | Bin 4959793 -> 0 bytes .../web/models/resources/pbr/trooper_roughness.png | Bin 2862048 -> 0 bytes examples/web/models/resources/pitch.png | Bin 45945 -> 17370 bytes examples/web/models/resources/plane.png | Bin 4810 -> 1782 bytes examples/web/models/resources/plane_diffuse.png | Bin 373230 -> 301650 bytes examples/web/models/resources/shaders/brdf.fs | 133 - examples/web/models/resources/shaders/brdf.vs | 25 - examples/web/models/resources/shaders/cubemap.fs | 38 - examples/web/models/resources/shaders/cubemap.vs | 28 - .../models/resources/shaders/glsl100/cubemap.fs | 29 + .../models/resources/shaders/glsl100/cubemap.vs | 20 + .../web/models/resources/shaders/glsl100/skybox.fs | 28 + .../web/models/resources/shaders/glsl100/skybox.vs | 24 + .../web/models/resources/shaders/glsl330/brdf.fs | 133 + .../web/models/resources/shaders/glsl330/brdf.vs | 25 + .../models/resources/shaders/glsl330/cubemap.fs | 30 + .../models/resources/shaders/glsl330/cubemap.vs | 28 + .../models/resources/shaders/glsl330/irradiance.fs | 58 + .../web/models/resources/shaders/glsl330/pbr.fs | 300 + .../web/models/resources/shaders/glsl330/pbr.vs | 49 + .../models/resources/shaders/glsl330/prefilter.fs | 120 + .../web/models/resources/shaders/glsl330/skybox.fs | 37 + .../web/models/resources/shaders/glsl330/skybox.vs | 32 + .../web/models/resources/shaders/irradiance.fs | 58 - examples/web/models/resources/shaders/pbr.fs | 298 - examples/web/models/resources/shaders/pbr.vs | 49 - examples/web/models/resources/shaders/prefilter.fs | 120 - examples/web/models/resources/shaders/skybox.fs | 31 - examples/web/models/resources/shaders/skybox.vs | 32 - examples/web/models/rlgl.h | 3070 ++-- 122 files changed, 5808 insertions(+), 39613 deletions(-) delete mode 100644 examples/web/models/models_first_person_maze.wasm.map delete mode 100644 examples/web/models/resources/dresden_square.hdr create mode 100644 examples/web/models/resources/dresden_square_1k.hdr create mode 100644 examples/web/models/resources/dresden_square_2k.hdr create mode 100644 examples/web/models/resources/models/LICENSE delete mode 100644 examples/web/models/resources/pbr/trooper.obj delete mode 100644 examples/web/models/resources/pbr/trooper_albedo.png delete mode 100644 examples/web/models/resources/pbr/trooper_ao.png delete mode 100644 examples/web/models/resources/pbr/trooper_metalness.png delete mode 100644 examples/web/models/resources/pbr/trooper_normals.png delete mode 100644 examples/web/models/resources/pbr/trooper_roughness.png delete mode 100644 examples/web/models/resources/shaders/brdf.fs delete mode 100644 examples/web/models/resources/shaders/brdf.vs delete mode 100644 examples/web/models/resources/shaders/cubemap.fs delete mode 100644 examples/web/models/resources/shaders/cubemap.vs create mode 100644 examples/web/models/resources/shaders/glsl100/cubemap.fs create mode 100644 examples/web/models/resources/shaders/glsl100/cubemap.vs create mode 100644 examples/web/models/resources/shaders/glsl100/skybox.fs create mode 100644 examples/web/models/resources/shaders/glsl100/skybox.vs create mode 100644 examples/web/models/resources/shaders/glsl330/brdf.fs create mode 100644 examples/web/models/resources/shaders/glsl330/brdf.vs create mode 100644 examples/web/models/resources/shaders/glsl330/cubemap.fs create mode 100644 examples/web/models/resources/shaders/glsl330/cubemap.vs create mode 100644 examples/web/models/resources/shaders/glsl330/irradiance.fs create mode 100644 examples/web/models/resources/shaders/glsl330/pbr.fs create mode 100644 examples/web/models/resources/shaders/glsl330/pbr.vs create mode 100644 examples/web/models/resources/shaders/glsl330/prefilter.fs create mode 100644 examples/web/models/resources/shaders/glsl330/skybox.fs create mode 100644 examples/web/models/resources/shaders/glsl330/skybox.vs delete mode 100644 examples/web/models/resources/shaders/irradiance.fs delete mode 100644 examples/web/models/resources/shaders/pbr.fs delete mode 100644 examples/web/models/resources/shaders/pbr.vs delete mode 100644 examples/web/models/resources/shaders/prefilter.fs delete mode 100644 examples/web/models/resources/shaders/skybox.fs delete mode 100644 examples/web/models/resources/shaders/skybox.vs (limited to 'examples/web/models') diff --git a/examples/web/models/models_animation.c b/examples/web/models/models_animation.c index 4677cad..506b89a 100644 --- a/examples/web/models/models_animation.c +++ b/examples/web/models/models_animation.c @@ -11,6 +11,8 @@ #include "raylib.h" +#include + #if defined(PLATFORM_WEB) #include #endif @@ -66,7 +68,7 @@ int main(void) SetCameraMode(camera, CAMERA_FREE); // Set free camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_animation.data b/examples/web/models/models_animation.data index 087b208..c7a884a 100644 Binary files a/examples/web/models/models_animation.data and b/examples/web/models/models_animation.data differ diff --git a/examples/web/models/models_animation.html b/examples/web/models/models_animation.html index 7bf4325..5402f2f 100644 --- a/examples/web/models/models_animation.html +++ b/examples/web/models/models_animation.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_animation.js b/examples/web/models/models_animation.js index 85f4164..75cbe96 100644 --- a/examples/web/models/models_animation.js +++ b/examples/web/models/models_animation.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_animation.data";var REMOTE_PACKAGE_BASE="models_animation.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);Module["FS_createPath"]("/resources","guy",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5286448,DYNAMICTOP_PTR=43536;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_animation.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"d":abort,"b":___assert_fail,"sc":___lock,"D":___setErrNo,"gb":___syscall140,"Xa":___syscall145,"q":___syscall221,"Ca":___syscall5,"ra":___syscall54,"C":___syscall6,"B":___unlock,"be":___wasi_fd_write,"A":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"yd":_emscripten_get_element_css_size,"nd":_emscripten_get_gamepad_status,"cd":_emscripten_get_heap_size,"Tc":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"zc":_emscripten_glActiveTexture,"rc":_emscripten_glAttachShader,"lc":_emscripten_glBeginQueryEXT,"hc":_emscripten_glBindAttribLocation,"cc":_emscripten_glBindBuffer,"Xb":_emscripten_glBindFramebuffer,"Tb":_emscripten_glBindRenderbuffer,"Lb":_emscripten_glBindTexture,"Ab":_emscripten_glBindVertexArrayOES,"tb":_emscripten_glBlendColor,"rb":_emscripten_glBlendEquation,"qb":_emscripten_glBlendEquationSeparate,"pb":_emscripten_glBlendFunc,"ob":_emscripten_glBlendFuncSeparate,"nb":_emscripten_glBufferData,"mb":_emscripten_glBufferSubData,"lb":_emscripten_glCheckFramebufferStatus,"kb":_emscripten_glClear,"jb":_emscripten_glClearColor,"ib":_emscripten_glClearDepthf,"hb":_emscripten_glClearStencil,"fb":_emscripten_glColorMask,"eb":_emscripten_glCompileShader,"db":_emscripten_glCompressedTexImage2D,"cb":_emscripten_glCompressedTexSubImage2D,"bb":_emscripten_glCopyTexImage2D,"ab":_emscripten_glCopyTexSubImage2D,"$a":_emscripten_glCreateProgram,"_a":_emscripten_glCreateShader,"Za":_emscripten_glCullFace,"Ya":_emscripten_glDeleteBuffers,"Wa":_emscripten_glDeleteFramebuffers,"Va":_emscripten_glDeleteProgram,"Ua":_emscripten_glDeleteQueriesEXT,"Ta":_emscripten_glDeleteRenderbuffers,"Sa":_emscripten_glDeleteShader,"Ra":_emscripten_glDeleteTextures,"Qa":_emscripten_glDeleteVertexArraysOES,"Pa":_emscripten_glDepthFunc,"Oa":_emscripten_glDepthMask,"Na":_emscripten_glDepthRangef,"Ma":_emscripten_glDetachShader,"La":_emscripten_glDisable,"Ka":_emscripten_glDisableVertexAttribArray,"Ja":_emscripten_glDrawArrays,"Ia":_emscripten_glDrawArraysInstancedANGLE,"Ha":_emscripten_glDrawBuffersWEBGL,"Ga":_emscripten_glDrawElements,"Fa":_emscripten_glDrawElementsInstancedANGLE,"Ea":_emscripten_glEnable,"Da":_emscripten_glEnableVertexAttribArray,"Ba":_emscripten_glEndQueryEXT,"Aa":_emscripten_glFinish,"za":_emscripten_glFlush,"ya":_emscripten_glFramebufferRenderbuffer,"xa":_emscripten_glFramebufferTexture2D,"wa":_emscripten_glFrontFace,"va":_emscripten_glGenBuffers,"ua":_emscripten_glGenFramebuffers,"ta":_emscripten_glGenQueriesEXT,"sa":_emscripten_glGenRenderbuffers,"qa":_emscripten_glGenTextures,"pa":_emscripten_glGenVertexArraysOES,"oa":_emscripten_glGenerateMipmap,"na":_emscripten_glGetActiveAttrib,"ma":_emscripten_glGetActiveUniform,"la":_emscripten_glGetAttachedShaders,"ka":_emscripten_glGetAttribLocation,"ja":_emscripten_glGetBooleanv,"ia":_emscripten_glGetBufferParameteriv,"ha":_emscripten_glGetError,"ga":_emscripten_glGetFloatv,"fa":_emscripten_glGetFramebufferAttachmentParameteriv,"ea":_emscripten_glGetIntegerv,"da":_emscripten_glGetProgramInfoLog,"ca":_emscripten_glGetProgramiv,"ba":_emscripten_glGetQueryObjecti64vEXT,"aa":_emscripten_glGetQueryObjectivEXT,"$":_emscripten_glGetQueryObjectui64vEXT,"_":_emscripten_glGetQueryObjectuivEXT,"Z":_emscripten_glGetQueryivEXT,"le":_emscripten_glGetRenderbufferParameteriv,"ke":_emscripten_glGetShaderInfoLog,"je":_emscripten_glGetShaderPrecisionFormat,"ie":_emscripten_glGetShaderSource,"he":_emscripten_glGetShaderiv,"ge":_emscripten_glGetString,"fe":_emscripten_glGetTexParameterfv,"ee":_emscripten_glGetTexParameteriv,"de":_emscripten_glGetUniformLocation,"ce":_emscripten_glGetUniformfv,"ae":_emscripten_glGetUniformiv,"$d":_emscripten_glGetVertexAttribPointerv,"_d":_emscripten_glGetVertexAttribfv,"Zd":_emscripten_glGetVertexAttribiv,"Yd":_emscripten_glHint,"Xd":_emscripten_glIsBuffer,"Wd":_emscripten_glIsEnabled,"Vd":_emscripten_glIsFramebuffer,"Ud":_emscripten_glIsProgram,"Td":_emscripten_glIsQueryEXT,"Sd":_emscripten_glIsRenderbuffer,"Rd":_emscripten_glIsShader,"Qd":_emscripten_glIsTexture,"Pd":_emscripten_glIsVertexArrayOES,"Od":_emscripten_glLineWidth,"Nd":_emscripten_glLinkProgram,"Md":_emscripten_glPixelStorei,"Ld":_emscripten_glPolygonOffset,"Kd":_emscripten_glQueryCounterEXT,"Jd":_emscripten_glReadPixels,"Id":_emscripten_glReleaseShaderCompiler,"Hd":_emscripten_glRenderbufferStorage,"Gd":_emscripten_glSampleCoverage,"Fd":_emscripten_glScissor,"Ed":_emscripten_glShaderBinary,"Dd":_emscripten_glShaderSource,"Cd":_emscripten_glStencilFunc,"Bd":_emscripten_glStencilFuncSeparate,"Ad":_emscripten_glStencilMask,"zd":_emscripten_glStencilMaskSeparate,"xd":_emscripten_glStencilOp,"wd":_emscripten_glStencilOpSeparate,"vd":_emscripten_glTexImage2D,"ud":_emscripten_glTexParameterf,"td":_emscripten_glTexParameterfv,"sd":_emscripten_glTexParameteri,"rd":_emscripten_glTexParameteriv,"qd":_emscripten_glTexSubImage2D,"pd":_emscripten_glUniform1f,"od":_emscripten_glUniform1fv,"md":_emscripten_glUniform1i,"ld":_emscripten_glUniform1iv,"kd":_emscripten_glUniform2f,"jd":_emscripten_glUniform2fv,"id":_emscripten_glUniform2i,"hd":_emscripten_glUniform2iv,"gd":_emscripten_glUniform3f,"fd":_emscripten_glUniform3fv,"ed":_emscripten_glUniform3i,"dd":_emscripten_glUniform3iv,"bd":_emscripten_glUniform4f,"ad":_emscripten_glUniform4fv,"$c":_emscripten_glUniform4i,"_c":_emscripten_glUniform4iv,"Zc":_emscripten_glUniformMatrix2fv,"Yc":_emscripten_glUniformMatrix3fv,"Xc":_emscripten_glUniformMatrix4fv,"Wc":_emscripten_glUseProgram,"Vc":_emscripten_glValidateProgram,"Uc":_emscripten_glVertexAttrib1f,"Sc":_emscripten_glVertexAttrib1fv,"Rc":_emscripten_glVertexAttrib2f,"Qc":_emscripten_glVertexAttrib2fv,"Pc":_emscripten_glVertexAttrib3f,"Oc":_emscripten_glVertexAttrib3fv,"Nc":_emscripten_glVertexAttrib4f,"Mc":_emscripten_glVertexAttrib4fv,"Lc":_emscripten_glVertexAttribDivisorANGLE,"Kc":_emscripten_glVertexAttribPointer,"Jc":_emscripten_glViewport,"Ic":_emscripten_memcpy_big,"Hc":_emscripten_request_pointerlock,"Gc":_emscripten_resize_heap,"W":_emscripten_run_script,"Fc":_emscripten_sample_gamepad_data,"Ec":_emscripten_set_click_callback_on_thread,"Dc":_emscripten_set_fullscreenchange_callback_on_thread,"Cc":_emscripten_set_gamepadconnected_callback_on_thread,"Bc":_emscripten_set_gamepaddisconnected_callback_on_thread,"Ac":_emscripten_set_keypress_callback_on_thread,"yc":_emscripten_set_main_loop,"xc":_emscripten_set_touchcancel_callback_on_thread,"wc":_emscripten_set_touchend_callback_on_thread,"vc":_emscripten_set_touchmove_callback_on_thread,"uc":_emscripten_set_touchstart_callback_on_thread,"tc":_exit,"z":_glActiveTexture,"V":_glAttachShader,"n":_glBindAttribLocation,"c":_glBindBuffer,"k":_glBindTexture,"qc":_glBlendFunc,"i":_glBufferData,"s":_glBufferSubData,"U":_glClear,"T":_glClearColor,"pc":_glClearDepthf,"oc":_glCompileShader,"nc":_glCompressedTexImage2D,"mc":_glCreateProgram,"kc":_glCreateShader,"jc":_glCullFace,"p":_glDeleteBuffers,"S":_glDeleteProgram,"R":_glDeleteShader,"Q":_glDeleteTextures,"ic":_glDepthFunc,"P":_glDetachShader,"O":_glDisable,"j":_glDisableVertexAttribArray,"N":_glDrawArrays,"M":_glDrawElements,"y":_glEnable,"f":_glEnableVertexAttribArray,"gc":_glFrontFace,"h":_glGenBuffers,"fc":_glGenTextures,"x":_glGetAttribLocation,"ec":_glGetFloatv,"dc":_glGetProgramInfoLog,"L":_glGetProgramiv,"bc":_glGetShaderInfoLog,"K":_glGetShaderiv,"o":_glGetString,"w":_glGetUniformLocation,"ac":_glLinkProgram,"$b":_glPixelStorei,"_b":_glReadPixels,"Zb":_glShaderSource,"Yb":_glTexImage2D,"m":_glTexParameteri,"J":_glUniform1i,"v":_glUniform4f,"u":_glUniformMatrix4fv,"l":_glUseProgram,"Wb":_glVertexAttrib2f,"Vb":_glVertexAttrib3f,"t":_glVertexAttrib4f,"e":_glVertexAttribPointer,"Ub":_glViewport,"I":_glfwCreateWindow,"Sb":_glfwDefaultWindowHints,"Rb":_glfwDestroyWindow,"Qb":_glfwGetCursorPos,"Pb":_glfwGetKey,"Ob":_glfwGetMouseButton,"H":_glfwGetPrimaryMonitor,"r":_glfwGetTime,"Nb":_glfwGetVideoModes,"Mb":_glfwInit,"Kb":_glfwMakeContextCurrent,"Jb":_glfwSetCharCallback,"Ib":_glfwSetCursorEnterCallback,"Hb":_glfwSetCursorPosCallback,"Gb":_glfwSetDropCallback,"Fb":_glfwSetErrorCallback,"Eb":_glfwSetKeyCallback,"Db":_glfwSetMouseButtonCallback,"Cb":_glfwSetScrollCallback,"Bb":_glfwSetWindowIconifyCallback,"zb":_glfwSetWindowShouldClose,"yb":_glfwSetWindowSizeCallback,"xb":_glfwSwapBuffers,"wb":_glfwSwapInterval,"G":_glfwTerminate,"g":_glfwWindowHint,"F":_llvm_stackrestore,"E":_llvm_stacksave,"vb":_nanosleep,"ub":_time,"sb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["re"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["se"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["Be"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["Ce"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["De"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["we"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["calledRun"]=calledRun;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_animation.data";var REMOTE_PACKAGE_BASE="models_animation.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);Module["FS_createPath"]("/resources","guy",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_animation.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["de"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ee"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"a":___assert_fail,"Zd":___sys_chdir,"Q":___sys_fcntl64,"Yd":___sys_getcwd,"$d":___sys_ioctl,"ae":___sys_open,"w":_eglGetProcAddress,"aa":_emscripten_exit_pointerlock,"Z":_emscripten_get_element_css_size,"U":_emscripten_get_gamepad_status,"V":_emscripten_get_num_gamepads,"$":_emscripten_get_pointerlock_status,"Bd":_emscripten_glActiveTexture,"Ad":_emscripten_glAttachShader,"Rd":_emscripten_glBeginQueryEXT,"zd":_emscripten_glBindAttribLocation,"yd":_emscripten_glBindBuffer,"xd":_emscripten_glBindFramebuffer,"wd":_emscripten_glBindRenderbuffer,"vd":_emscripten_glBindTexture,"Jd":_emscripten_glBindVertexArrayOES,"ud":_emscripten_glBlendColor,"td":_emscripten_glBlendEquation,"sd":_emscripten_glBlendEquationSeparate,"rd":_emscripten_glBlendFunc,"qd":_emscripten_glBlendFuncSeparate,"pd":_emscripten_glBufferData,"od":_emscripten_glBufferSubData,"nd":_emscripten_glCheckFramebufferStatus,"md":_emscripten_glClear,"ld":_emscripten_glClearColor,"kd":_emscripten_glClearDepthf,"jd":_emscripten_glClearStencil,"id":_emscripten_glColorMask,"hd":_emscripten_glCompileShader,"gd":_emscripten_glCompressedTexImage2D,"fd":_emscripten_glCompressedTexSubImage2D,"ed":_emscripten_glCopyTexImage2D,"dd":_emscripten_glCopyTexSubImage2D,"cd":_emscripten_glCreateProgram,"bd":_emscripten_glCreateShader,"ad":_emscripten_glCullFace,"$c":_emscripten_glDeleteBuffers,"_c":_emscripten_glDeleteFramebuffers,"Zc":_emscripten_glDeleteProgram,"Td":_emscripten_glDeleteQueriesEXT,"Yc":_emscripten_glDeleteRenderbuffers,"Xc":_emscripten_glDeleteShader,"Wc":_emscripten_glDeleteTextures,"Id":_emscripten_glDeleteVertexArraysOES,"Vc":_emscripten_glDepthFunc,"Uc":_emscripten_glDepthMask,"Tc":_emscripten_glDepthRangef,"Sc":_emscripten_glDetachShader,"Rc":_emscripten_glDisable,"Qc":_emscripten_glDisableVertexAttribArray,"Oc":_emscripten_glDrawArrays,"Ed":_emscripten_glDrawArraysInstancedANGLE,"Fd":_emscripten_glDrawBuffersWEBGL,"Nc":_emscripten_glDrawElements,"Dd":_emscripten_glDrawElementsInstancedANGLE,"Mc":_emscripten_glEnable,"Lc":_emscripten_glEnableVertexAttribArray,"Qd":_emscripten_glEndQueryEXT,"Kc":_emscripten_glFinish,"Jc":_emscripten_glFlush,"Ic":_emscripten_glFramebufferRenderbuffer,"Hc":_emscripten_glFramebufferTexture2D,"Gc":_emscripten_glFrontFace,"Fc":_emscripten_glGenBuffers,"Dc":_emscripten_glGenFramebuffers,"Ud":_emscripten_glGenQueriesEXT,"Cc":_emscripten_glGenRenderbuffers,"Bc":_emscripten_glGenTextures,"Hd":_emscripten_glGenVertexArraysOES,"Ec":_emscripten_glGenerateMipmap,"Ac":_emscripten_glGetActiveAttrib,"zc":_emscripten_glGetActiveUniform,"yc":_emscripten_glGetAttachedShaders,"xc":_emscripten_glGetAttribLocation,"wc":_emscripten_glGetBooleanv,"vc":_emscripten_glGetBufferParameteriv,"uc":_emscripten_glGetError,"tc":_emscripten_glGetFloatv,"sc":_emscripten_glGetFramebufferAttachmentParameteriv,"rc":_emscripten_glGetIntegerv,"pc":_emscripten_glGetProgramInfoLog,"qc":_emscripten_glGetProgramiv,"Ld":_emscripten_glGetQueryObjecti64vEXT,"Nd":_emscripten_glGetQueryObjectivEXT,"Kd":_emscripten_glGetQueryObjectui64vEXT,"Md":_emscripten_glGetQueryObjectuivEXT,"Od":_emscripten_glGetQueryivEXT,"oc":_emscripten_glGetRenderbufferParameteriv,"mc":_emscripten_glGetShaderInfoLog,"lc":_emscripten_glGetShaderPrecisionFormat,"kc":_emscripten_glGetShaderSource,"nc":_emscripten_glGetShaderiv,"jc":_emscripten_glGetString,"ic":_emscripten_glGetTexParameterfv,"hc":_emscripten_glGetTexParameteriv,"ec":_emscripten_glGetUniformLocation,"gc":_emscripten_glGetUniformfv,"fc":_emscripten_glGetUniformiv,"bc":_emscripten_glGetVertexAttribPointerv,"dc":_emscripten_glGetVertexAttribfv,"cc":_emscripten_glGetVertexAttribiv,"ac":_emscripten_glHint,"$b":_emscripten_glIsBuffer,"_b":_emscripten_glIsEnabled,"Zb":_emscripten_glIsFramebuffer,"Yb":_emscripten_glIsProgram,"Sd":_emscripten_glIsQueryEXT,"Xb":_emscripten_glIsRenderbuffer,"Wb":_emscripten_glIsShader,"Vb":_emscripten_glIsTexture,"Gd":_emscripten_glIsVertexArrayOES,"Ub":_emscripten_glLineWidth,"Tb":_emscripten_glLinkProgram,"Rb":_emscripten_glPixelStorei,"Qb":_emscripten_glPolygonOffset,"Pd":_emscripten_glQueryCounterEXT,"Pb":_emscripten_glReadPixels,"Ob":_emscripten_glReleaseShaderCompiler,"Nb":_emscripten_glRenderbufferStorage,"Mb":_emscripten_glSampleCoverage,"Lb":_emscripten_glScissor,"Kb":_emscripten_glShaderBinary,"Jb":_emscripten_glShaderSource,"Ib":_emscripten_glStencilFunc,"Gb":_emscripten_glStencilFuncSeparate,"Fb":_emscripten_glStencilMask,"Eb":_emscripten_glStencilMaskSeparate,"Db":_emscripten_glStencilOp,"Cb":_emscripten_glStencilOpSeparate,"Bb":_emscripten_glTexImage2D,"Ab":_emscripten_glTexParameterf,"zb":_emscripten_glTexParameterfv,"yb":_emscripten_glTexParameteri,"xb":_emscripten_glTexParameteriv,"vb":_emscripten_glTexSubImage2D,"ub":_emscripten_glUniform1f,"tb":_emscripten_glUniform1fv,"sb":_emscripten_glUniform1i,"rb":_emscripten_glUniform1iv,"qb":_emscripten_glUniform2f,"pb":_emscripten_glUniform2fv,"ob":_emscripten_glUniform2i,"nb":_emscripten_glUniform2iv,"mb":_emscripten_glUniform3f,"kb":_emscripten_glUniform3fv,"jb":_emscripten_glUniform3i,"ib":_emscripten_glUniform3iv,"hb":_emscripten_glUniform4f,"gb":_emscripten_glUniform4fv,"fb":_emscripten_glUniform4i,"eb":_emscripten_glUniform4iv,"db":_emscripten_glUniformMatrix2fv,"cb":_emscripten_glUniformMatrix3fv,"bb":_emscripten_glUniformMatrix4fv,"$a":_emscripten_glUseProgram,"_a":_emscripten_glValidateProgram,"Za":_emscripten_glVertexAttrib1f,"Ya":_emscripten_glVertexAttrib1fv,"Xa":_emscripten_glVertexAttrib2f,"Wa":_emscripten_glVertexAttrib2fv,"Va":_emscripten_glVertexAttrib3f,"Ua":_emscripten_glVertexAttrib3fv,"Ta":_emscripten_glVertexAttrib4f,"Sa":_emscripten_glVertexAttrib4fv,"Cd":_emscripten_glVertexAttribDivisorANGLE,"Qa":_emscripten_glVertexAttribPointer,"Pa":_emscripten_glViewport,"Vd":_emscripten_memcpy_big,"_":_emscripten_request_pointerlock,"Wd":_emscripten_resize_heap,"y":_emscripten_run_script,"W":_emscripten_sample_gamepad_data,"ya":_emscripten_set_click_callback_on_thread,"Aa":_emscripten_set_fullscreenchange_callback_on_thread,"ta":_emscripten_set_gamepadconnected_callback_on_thread,"sa":_emscripten_set_gamepaddisconnected_callback_on_thread,"za":_emscripten_set_keydown_callback_on_thread,"ce":_emscripten_set_main_loop,"ua":_emscripten_set_touchcancel_callback_on_thread,"wa":_emscripten_set_touchend_callback_on_thread,"va":_emscripten_set_touchmove_callback_on_thread,"xa":_emscripten_set_touchstart_callback_on_thread,"Xd":_emscripten_thread_sleep,"S":_exit,"R":_fd_close,"_d":_fd_read,"Oa":_fd_seek,"P":_fd_write,"q":_glActiveTexture,"D":_glAttachShader,"k":_glBindAttribLocation,"b":_glBindBuffer,"i":_glBindTexture,"Hb":_glBlendFunc,"e":_glBufferData,"o":_glBufferSubData,"K":_glClear,"L":_glClearColor,"ab":_glClearDepthf,"Fa":_glCompileShader,"La":_glCompressedTexImage2D,"Da":_glCreateProgram,"Ha":_glCreateShader,"wb":_glCullFace,"m":_glDeleteBuffers,"G":_glDeleteProgram,"H":_glDeleteShader,"J":_glDeleteTextures,"Sb":_glDepthFunc,"I":_glDetachShader,"M":_glDisable,"h":_glDisableVertexAttribArray,"O":_glDrawArrays,"N":_glDrawElements,"x":_glEnable,"c":_glEnableVertexAttribArray,"lb":_glFrontFace,"f":_glGenBuffers,"Na":_glGenTextures,"v":_glGetAttribLocation,"Pc":_glGetFloatv,"Ba":_glGetProgramInfoLog,"F":_glGetProgramiv,"Ea":_glGetShaderInfoLog,"E":_glGetShaderiv,"n":_glGetString,"u":_glGetUniformLocation,"Ca":_glLinkProgram,"Ra":_glPixelStorei,"Ia":_glReadPixels,"Ga":_glShaderSource,"Ma":_glTexImage2D,"p":_glTexParameteri,"z":_glUniform1i,"r":_glUniform4f,"s":_glUniformMatrix4fv,"l":_glUseProgram,"Ja":_glVertexAttrib2f,"Ka":_glVertexAttrib3f,"t":_glVertexAttrib4f,"d":_glVertexAttribPointer,"be":_glViewport,"B":_glfwCreateWindow,"pa":_glfwDefaultWindowHints,"Y":_glfwDestroyWindow,"C":_glfwGetPrimaryMonitor,"j":_glfwGetTime,"oa":_glfwGetVideoModes,"qa":_glfwInit,"da":_glfwMakeContextCurrent,"ia":_glfwSetCharCallback,"ea":_glfwSetCursorEnterCallback,"ga":_glfwSetCursorPosCallback,"ka":_glfwSetDropCallback,"ra":_glfwSetErrorCallback,"ja":_glfwSetKeyCallback,"ha":_glfwSetMouseButtonCallback,"fa":_glfwSetScrollCallback,"la":_glfwSetWindowFocusCallback,"ma":_glfwSetWindowIconifyCallback,"T":_glfwSetWindowShouldClose,"na":_glfwSetWindowSizeCallback,"X":_glfwSwapBuffers,"ca":_glfwSwapInterval,"A":_glfwTerminate,"g":_glfwWindowHint,"ba":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["fe"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ge"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["he"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ie"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["je"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ke"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["le"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_animation.wasm b/examples/web/models/models_animation.wasm index 4d4c93e..83726c3 100644 Binary files a/examples/web/models/models_animation.wasm and b/examples/web/models/models_animation.wasm differ diff --git a/examples/web/models/models_billboard.c b/examples/web/models/models_billboard.c index cd83e33..569ccd8 100644 --- a/examples/web/models/models_billboard.c +++ b/examples/web/models/models_billboard.c @@ -52,7 +52,7 @@ int main(void) SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_billboard.data b/examples/web/models/models_billboard.data index e2fe398..8c99118 100644 Binary files a/examples/web/models/models_billboard.data and b/examples/web/models/models_billboard.data differ diff --git a/examples/web/models/models_billboard.html b/examples/web/models/models_billboard.html index a92140f..0a18742 100644 --- a/examples/web/models/models_billboard.html +++ b/examples/web/models/models_billboard.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_billboard.js b/examples/web/models/models_billboard.js index e86b280..7e71cac 100644 --- a/examples/web/models/models_billboard.js +++ b/examples/web/models/models_billboard.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_billboard.data";var REMOTE_PACKAGE_BASE="models_billboard.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5280032,DYNAMICTOP_PTR=37120;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_billboard.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"c":abort,"b":___assert_fail,"oc":___lock,"z":___setErrNo,"$a":___syscall140,"Qa":___syscall145,"l":___syscall221,"va":___syscall5,"ka":___syscall54,"y":___syscall6,"x":___unlock,"_d":___wasi_fd_write,"w":_eglGetProcAddress,"R":_emscripten_exit_pointerlock,"vd":_emscripten_get_element_css_size,"kd":_emscripten_get_gamepad_status,"$c":_emscripten_get_heap_size,"Qc":_emscripten_get_num_gamepads,"Q":_emscripten_get_pointerlock_status,"wc":_emscripten_glActiveTexture,"nc":_emscripten_glAttachShader,"hc":_emscripten_glBeginQueryEXT,"dc":_emscripten_glBindAttribLocation,"Yb":_emscripten_glBindBuffer,"Rb":_emscripten_glBindFramebuffer,"Kb":_emscripten_glBindRenderbuffer,"Bb":_emscripten_glBindTexture,"qb":_emscripten_glBindVertexArrayOES,"lb":_emscripten_glBlendColor,"kb":_emscripten_glBlendEquation,"jb":_emscripten_glBlendEquationSeparate,"ib":_emscripten_glBlendFunc,"hb":_emscripten_glBlendFuncSeparate,"gb":_emscripten_glBufferData,"fb":_emscripten_glBufferSubData,"eb":_emscripten_glCheckFramebufferStatus,"db":_emscripten_glClear,"cb":_emscripten_glClearColor,"bb":_emscripten_glClearDepthf,"ab":_emscripten_glClearStencil,"_a":_emscripten_glColorMask,"Za":_emscripten_glCompileShader,"Ya":_emscripten_glCompressedTexImage2D,"Xa":_emscripten_glCompressedTexSubImage2D,"Wa":_emscripten_glCopyTexImage2D,"Va":_emscripten_glCopyTexSubImage2D,"Ua":_emscripten_glCreateProgram,"Ta":_emscripten_glCreateShader,"Sa":_emscripten_glCullFace,"Ra":_emscripten_glDeleteBuffers,"Pa":_emscripten_glDeleteFramebuffers,"Oa":_emscripten_glDeleteProgram,"Na":_emscripten_glDeleteQueriesEXT,"Ma":_emscripten_glDeleteRenderbuffers,"La":_emscripten_glDeleteShader,"Ka":_emscripten_glDeleteTextures,"Ja":_emscripten_glDeleteVertexArraysOES,"Ia":_emscripten_glDepthFunc,"Ha":_emscripten_glDepthMask,"Ga":_emscripten_glDepthRangef,"Fa":_emscripten_glDetachShader,"Ea":_emscripten_glDisable,"Da":_emscripten_glDisableVertexAttribArray,"Ca":_emscripten_glDrawArrays,"Ba":_emscripten_glDrawArraysInstancedANGLE,"Aa":_emscripten_glDrawBuffersWEBGL,"za":_emscripten_glDrawElements,"ya":_emscripten_glDrawElementsInstancedANGLE,"xa":_emscripten_glEnable,"wa":_emscripten_glEnableVertexAttribArray,"ua":_emscripten_glEndQueryEXT,"ta":_emscripten_glFinish,"sa":_emscripten_glFlush,"ra":_emscripten_glFramebufferRenderbuffer,"qa":_emscripten_glFramebufferTexture2D,"pa":_emscripten_glFrontFace,"oa":_emscripten_glGenBuffers,"na":_emscripten_glGenFramebuffers,"ma":_emscripten_glGenQueriesEXT,"la":_emscripten_glGenRenderbuffers,"ja":_emscripten_glGenTextures,"ia":_emscripten_glGenVertexArraysOES,"ha":_emscripten_glGenerateMipmap,"ga":_emscripten_glGetActiveAttrib,"fa":_emscripten_glGetActiveUniform,"ea":_emscripten_glGetAttachedShaders,"da":_emscripten_glGetAttribLocation,"ca":_emscripten_glGetBooleanv,"ba":_emscripten_glGetBufferParameteriv,"aa":_emscripten_glGetError,"$":_emscripten_glGetFloatv,"_":_emscripten_glGetFramebufferAttachmentParameteriv,"Z":_emscripten_glGetIntegerv,"Y":_emscripten_glGetProgramInfoLog,"X":_emscripten_glGetProgramiv,"W":_emscripten_glGetQueryObjecti64vEXT,"V":_emscripten_glGetQueryObjectivEXT,"U":_emscripten_glGetQueryObjectui64vEXT,"T":_emscripten_glGetQueryObjectuivEXT,"S":_emscripten_glGetQueryivEXT,"ie":_emscripten_glGetRenderbufferParameteriv,"he":_emscripten_glGetShaderInfoLog,"ge":_emscripten_glGetShaderPrecisionFormat,"fe":_emscripten_glGetShaderSource,"ee":_emscripten_glGetShaderiv,"de":_emscripten_glGetString,"ce":_emscripten_glGetTexParameterfv,"be":_emscripten_glGetTexParameteriv,"ae":_emscripten_glGetUniformLocation,"$d":_emscripten_glGetUniformfv,"Zd":_emscripten_glGetUniformiv,"Yd":_emscripten_glGetVertexAttribPointerv,"Xd":_emscripten_glGetVertexAttribfv,"Wd":_emscripten_glGetVertexAttribiv,"Vd":_emscripten_glHint,"Ud":_emscripten_glIsBuffer,"Td":_emscripten_glIsEnabled,"Sd":_emscripten_glIsFramebuffer,"Rd":_emscripten_glIsProgram,"Qd":_emscripten_glIsQueryEXT,"Pd":_emscripten_glIsRenderbuffer,"Od":_emscripten_glIsShader,"Nd":_emscripten_glIsTexture,"Md":_emscripten_glIsVertexArrayOES,"Ld":_emscripten_glLineWidth,"Kd":_emscripten_glLinkProgram,"Jd":_emscripten_glPixelStorei,"Id":_emscripten_glPolygonOffset,"Hd":_emscripten_glQueryCounterEXT,"Gd":_emscripten_glReadPixels,"Fd":_emscripten_glReleaseShaderCompiler,"Ed":_emscripten_glRenderbufferStorage,"Dd":_emscripten_glSampleCoverage,"Cd":_emscripten_glScissor,"Bd":_emscripten_glShaderBinary,"Ad":_emscripten_glShaderSource,"zd":_emscripten_glStencilFunc,"yd":_emscripten_glStencilFuncSeparate,"xd":_emscripten_glStencilMask,"wd":_emscripten_glStencilMaskSeparate,"ud":_emscripten_glStencilOp,"td":_emscripten_glStencilOpSeparate,"sd":_emscripten_glTexImage2D,"rd":_emscripten_glTexParameterf,"qd":_emscripten_glTexParameterfv,"pd":_emscripten_glTexParameteri,"od":_emscripten_glTexParameteriv,"nd":_emscripten_glTexSubImage2D,"md":_emscripten_glUniform1f,"ld":_emscripten_glUniform1fv,"jd":_emscripten_glUniform1i,"id":_emscripten_glUniform1iv,"hd":_emscripten_glUniform2f,"gd":_emscripten_glUniform2fv,"fd":_emscripten_glUniform2i,"ed":_emscripten_glUniform2iv,"dd":_emscripten_glUniform3f,"cd":_emscripten_glUniform3fv,"bd":_emscripten_glUniform3i,"ad":_emscripten_glUniform3iv,"_c":_emscripten_glUniform4f,"Zc":_emscripten_glUniform4fv,"Yc":_emscripten_glUniform4i,"Xc":_emscripten_glUniform4iv,"Wc":_emscripten_glUniformMatrix2fv,"Vc":_emscripten_glUniformMatrix3fv,"Uc":_emscripten_glUniformMatrix4fv,"Tc":_emscripten_glUseProgram,"Sc":_emscripten_glValidateProgram,"Rc":_emscripten_glVertexAttrib1f,"Pc":_emscripten_glVertexAttrib1fv,"Oc":_emscripten_glVertexAttrib2f,"Nc":_emscripten_glVertexAttrib2fv,"Mc":_emscripten_glVertexAttrib3f,"Lc":_emscripten_glVertexAttrib3fv,"Kc":_emscripten_glVertexAttrib4f,"Jc":_emscripten_glVertexAttrib4fv,"Ic":_emscripten_glVertexAttribDivisorANGLE,"Hc":_emscripten_glVertexAttribPointer,"Gc":_emscripten_glViewport,"Fc":_emscripten_memcpy_big,"Ec":_emscripten_request_pointerlock,"Dc":_emscripten_resize_heap,"P":_emscripten_run_script,"Cc":_emscripten_sample_gamepad_data,"Bc":_emscripten_set_click_callback_on_thread,"Ac":_emscripten_set_fullscreenchange_callback_on_thread,"zc":_emscripten_set_gamepadconnected_callback_on_thread,"yc":_emscripten_set_gamepaddisconnected_callback_on_thread,"xc":_emscripten_set_keypress_callback_on_thread,"vc":_emscripten_set_main_loop,"uc":_emscripten_set_touchcancel_callback_on_thread,"tc":_emscripten_set_touchend_callback_on_thread,"sc":_emscripten_set_touchmove_callback_on_thread,"rc":_emscripten_set_touchstart_callback_on_thread,"qc":_exit,"pc":_glActiveTexture,"O":_glAttachShader,"i":_glBindAttribLocation,"d":_glBindBuffer,"k":_glBindTexture,"mc":_glBlendFunc,"q":_glBufferData,"v":_glBufferSubData,"N":_glClear,"M":_glClearColor,"lc":_glClearDepthf,"kc":_glCompileShader,"jc":_glCompressedTexImage2D,"ic":_glCreateProgram,"gc":_glCreateShader,"fc":_glCullFace,"p":_glDeleteBuffers,"L":_glDeleteProgram,"K":_glDeleteShader,"J":_glDeleteTextures,"ec":_glDepthFunc,"I":_glDetachShader,"H":_glDisable,"o":_glDisableVertexAttribArray,"cc":_glDrawArrays,"bc":_glDrawElements,"u":_glEnable,"h":_glEnableVertexAttribArray,"ac":_glFrontFace,"n":_glGenBuffers,"$b":_glGenTextures,"t":_glGetAttribLocation,"_b":_glGetFloatv,"Zb":_glGetProgramInfoLog,"G":_glGetProgramiv,"Xb":_glGetShaderInfoLog,"F":_glGetShaderiv,"j":_glGetString,"s":_glGetUniformLocation,"Wb":_glLinkProgram,"Vb":_glPixelStorei,"Ub":_glReadPixels,"Tb":_glShaderSource,"Sb":_glTexImage2D,"g":_glTexParameteri,"Qb":_glUniform1i,"Pb":_glUniform4f,"Ob":_glUniformMatrix4fv,"r":_glUseProgram,"f":_glVertexAttribPointer,"Nb":_glViewport,"E":_glfwCreateWindow,"Mb":_glfwDefaultWindowHints,"Lb":_glfwDestroyWindow,"Jb":_glfwGetCursorPos,"Ib":_glfwGetKey,"Hb":_glfwGetMouseButton,"D":_glfwGetPrimaryMonitor,"m":_glfwGetTime,"Gb":_glfwGetVideoModes,"Fb":_glfwInit,"Eb":_glfwMakeContextCurrent,"Db":_glfwSetCharCallback,"Cb":_glfwSetCursorEnterCallback,"Ab":_glfwSetCursorPosCallback,"zb":_glfwSetDropCallback,"yb":_glfwSetErrorCallback,"xb":_glfwSetKeyCallback,"wb":_glfwSetMouseButtonCallback,"vb":_glfwSetScrollCallback,"ub":_glfwSetWindowIconifyCallback,"tb":_glfwSetWindowShouldClose,"sb":_glfwSetWindowSizeCallback,"rb":_glfwSwapBuffers,"pb":_glfwSwapInterval,"C":_glfwTerminate,"e":_glfwWindowHint,"B":_llvm_stackrestore,"A":_llvm_stacksave,"ob":_nanosleep,"nb":_time,"mb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["je"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ke"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["le"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["re"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["se"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["we"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["xe"].apply(null,arguments)};Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["calledRun"]=calledRun;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_billboard.data";var REMOTE_PACKAGE_BASE="models_billboard.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_billboard.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["_d"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["$d"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"b":___assert_fail,"u":___sys_fcntl64,"Xd":___sys_ioctl,"M":___sys_open,"s":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"V":_emscripten_get_element_css_size,"P":_emscripten_get_gamepad_status,"Q":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"yd":_emscripten_glActiveTexture,"xd":_emscripten_glAttachShader,"Pd":_emscripten_glBeginQueryEXT,"wd":_emscripten_glBindAttribLocation,"vd":_emscripten_glBindBuffer,"ud":_emscripten_glBindFramebuffer,"sd":_emscripten_glBindRenderbuffer,"rd":_emscripten_glBindTexture,"Hd":_emscripten_glBindVertexArrayOES,"qd":_emscripten_glBlendColor,"pd":_emscripten_glBlendEquation,"od":_emscripten_glBlendEquationSeparate,"nd":_emscripten_glBlendFunc,"md":_emscripten_glBlendFuncSeparate,"ld":_emscripten_glBufferData,"kd":_emscripten_glBufferSubData,"jd":_emscripten_glCheckFramebufferStatus,"id":_emscripten_glClear,"hd":_emscripten_glClearColor,"gd":_emscripten_glClearDepthf,"fd":_emscripten_glClearStencil,"ed":_emscripten_glColorMask,"dd":_emscripten_glCompileShader,"cd":_emscripten_glCompressedTexImage2D,"bd":_emscripten_glCompressedTexSubImage2D,"ad":_emscripten_glCopyTexImage2D,"$c":_emscripten_glCopyTexSubImage2D,"_c":_emscripten_glCreateProgram,"Zc":_emscripten_glCreateShader,"Yc":_emscripten_glCullFace,"Xc":_emscripten_glDeleteBuffers,"Wc":_emscripten_glDeleteFramebuffers,"Vc":_emscripten_glDeleteProgram,"Rd":_emscripten_glDeleteQueriesEXT,"Uc":_emscripten_glDeleteRenderbuffers,"Tc":_emscripten_glDeleteShader,"Sc":_emscripten_glDeleteTextures,"Gd":_emscripten_glDeleteVertexArraysOES,"Rc":_emscripten_glDepthFunc,"Qc":_emscripten_glDepthMask,"Pc":_emscripten_glDepthRangef,"Oc":_emscripten_glDetachShader,"Nc":_emscripten_glDisable,"Mc":_emscripten_glDisableVertexAttribArray,"Lc":_emscripten_glDrawArrays,"Bd":_emscripten_glDrawArraysInstancedANGLE,"Cd":_emscripten_glDrawBuffersWEBGL,"Kc":_emscripten_glDrawElements,"Ad":_emscripten_glDrawElementsInstancedANGLE,"Jc":_emscripten_glEnable,"Ic":_emscripten_glEnableVertexAttribArray,"Od":_emscripten_glEndQueryEXT,"Hc":_emscripten_glFinish,"Fc":_emscripten_glFlush,"Ec":_emscripten_glFramebufferRenderbuffer,"Dc":_emscripten_glFramebufferTexture2D,"Cc":_emscripten_glFrontFace,"Bc":_emscripten_glGenBuffers,"zc":_emscripten_glGenFramebuffers,"Sd":_emscripten_glGenQueriesEXT,"yc":_emscripten_glGenRenderbuffers,"xc":_emscripten_glGenTextures,"Fd":_emscripten_glGenVertexArraysOES,"Ac":_emscripten_glGenerateMipmap,"wc":_emscripten_glGetActiveAttrib,"vc":_emscripten_glGetActiveUniform,"uc":_emscripten_glGetAttachedShaders,"tc":_emscripten_glGetAttribLocation,"sc":_emscripten_glGetBooleanv,"rc":_emscripten_glGetBufferParameteriv,"qc":_emscripten_glGetError,"pc":_emscripten_glGetFloatv,"oc":_emscripten_glGetFramebufferAttachmentParameteriv,"nc":_emscripten_glGetIntegerv,"lc":_emscripten_glGetProgramInfoLog,"mc":_emscripten_glGetProgramiv,"Jd":_emscripten_glGetQueryObjecti64vEXT,"Ld":_emscripten_glGetQueryObjectivEXT,"Id":_emscripten_glGetQueryObjectui64vEXT,"Kd":_emscripten_glGetQueryObjectuivEXT,"Md":_emscripten_glGetQueryivEXT,"kc":_emscripten_glGetRenderbufferParameteriv,"ic":_emscripten_glGetShaderInfoLog,"hc":_emscripten_glGetShaderPrecisionFormat,"gc":_emscripten_glGetShaderSource,"jc":_emscripten_glGetShaderiv,"fc":_emscripten_glGetString,"ec":_emscripten_glGetTexParameterfv,"dc":_emscripten_glGetTexParameteriv,"ac":_emscripten_glGetUniformLocation,"cc":_emscripten_glGetUniformfv,"bc":_emscripten_glGetUniformiv,"Zb":_emscripten_glGetVertexAttribPointerv,"$b":_emscripten_glGetVertexAttribfv,"_b":_emscripten_glGetVertexAttribiv,"Yb":_emscripten_glHint,"Xb":_emscripten_glIsBuffer,"Wb":_emscripten_glIsEnabled,"Vb":_emscripten_glIsFramebuffer,"Ub":_emscripten_glIsProgram,"Qd":_emscripten_glIsQueryEXT,"Tb":_emscripten_glIsRenderbuffer,"Sb":_emscripten_glIsShader,"Rb":_emscripten_glIsTexture,"Dd":_emscripten_glIsVertexArrayOES,"Qb":_emscripten_glLineWidth,"Pb":_emscripten_glLinkProgram,"Ob":_emscripten_glPixelStorei,"Nb":_emscripten_glPolygonOffset,"Nd":_emscripten_glQueryCounterEXT,"Mb":_emscripten_glReadPixels,"Lb":_emscripten_glReleaseShaderCompiler,"Kb":_emscripten_glRenderbufferStorage,"Ib":_emscripten_glSampleCoverage,"Hb":_emscripten_glScissor,"Gb":_emscripten_glShaderBinary,"Fb":_emscripten_glShaderSource,"Eb":_emscripten_glStencilFunc,"Db":_emscripten_glStencilFuncSeparate,"Cb":_emscripten_glStencilMask,"Bb":_emscripten_glStencilMaskSeparate,"Ab":_emscripten_glStencilOp,"zb":_emscripten_glStencilOpSeparate,"xb":_emscripten_glTexImage2D,"wb":_emscripten_glTexParameterf,"vb":_emscripten_glTexParameterfv,"ub":_emscripten_glTexParameteri,"tb":_emscripten_glTexParameteriv,"sb":_emscripten_glTexSubImage2D,"rb":_emscripten_glUniform1f,"qb":_emscripten_glUniform1fv,"pb":_emscripten_glUniform1i,"ob":_emscripten_glUniform1iv,"mb":_emscripten_glUniform2f,"lb":_emscripten_glUniform2fv,"kb":_emscripten_glUniform2i,"jb":_emscripten_glUniform2iv,"ib":_emscripten_glUniform3f,"hb":_emscripten_glUniform3fv,"gb":_emscripten_glUniform3i,"fb":_emscripten_glUniform3iv,"eb":_emscripten_glUniform4f,"db":_emscripten_glUniform4fv,"bb":_emscripten_glUniform4i,"ab":_emscripten_glUniform4iv,"$a":_emscripten_glUniformMatrix2fv,"_a":_emscripten_glUniformMatrix3fv,"Za":_emscripten_glUniformMatrix4fv,"Ya":_emscripten_glUseProgram,"Xa":_emscripten_glValidateProgram,"Wa":_emscripten_glVertexAttrib1f,"Va":_emscripten_glVertexAttrib1fv,"Ua":_emscripten_glVertexAttrib2f,"Sa":_emscripten_glVertexAttrib2fv,"Ra":_emscripten_glVertexAttrib3f,"Qa":_emscripten_glVertexAttrib3fv,"Pa":_emscripten_glVertexAttrib4f,"Oa":_emscripten_glVertexAttrib4fv,"zd":_emscripten_glVertexAttribDivisorANGLE,"Na":_emscripten_glVertexAttribPointer,"Ma":_emscripten_glViewport,"Td":_emscripten_memcpy_big,"W":_emscripten_request_pointerlock,"Ud":_emscripten_resize_heap,"w":_emscripten_run_script,"R":_emscripten_sample_gamepad_data,"va":_emscripten_set_click_callback_on_thread,"xa":_emscripten_set_fullscreenchange_callback_on_thread,"qa":_emscripten_set_gamepadconnected_callback_on_thread,"pa":_emscripten_set_gamepaddisconnected_callback_on_thread,"wa":_emscripten_set_keydown_callback_on_thread,"Zd":_emscripten_set_main_loop,"ra":_emscripten_set_touchcancel_callback_on_thread,"ta":_emscripten_set_touchend_callback_on_thread,"sa":_emscripten_set_touchmove_callback_on_thread,"ua":_emscripten_set_touchstart_callback_on_thread,"Vd":_emscripten_thread_sleep,"N":_exit,"v":_fd_close,"Wd":_fd_read,"La":_fd_seek,"K":_fd_write,"L":_glActiveTexture,"A":_glAttachShader,"g":_glBindAttribLocation,"a":_glBindBuffer,"h":_glBindTexture,"yb":_glBlendFunc,"l":_glBufferData,"r":_glBufferSubData,"H":_glClear,"I":_glClearColor,"Ta":_glClearDepthf,"Da":_glCompileShader,"Ha":_glCompressedTexImage2D,"Ba":_glCreateProgram,"Fa":_glCreateShader,"nb":_glCullFace,"j":_glDeleteBuffers,"D":_glDeleteProgram,"E":_glDeleteShader,"G":_glDeleteTextures,"Jb":_glDepthFunc,"F":_glDetachShader,"J":_glDisable,"k":_glDisableVertexAttribArray,"Ed":_glDrawArrays,"td":_glDrawElements,"t":_glEnable,"e":_glEnableVertexAttribArray,"cb":_glFrontFace,"m":_glGenBuffers,"Ja":_glGenTextures,"q":_glGetAttribLocation,"Gc":_glGetFloatv,"ya":_glGetProgramInfoLog,"C":_glGetProgramiv,"Ca":_glGetShaderInfoLog,"B":_glGetShaderiv,"i":_glGetString,"p":_glGetUniformLocation,"za":_glLinkProgram,"Ka":_glPixelStorei,"Ga":_glReadPixels,"Ea":_glShaderSource,"Ia":_glTexImage2D,"n":_glTexParameteri,"S":_glUniform1i,"$":_glUniform4f,"Aa":_glUniformMatrix4fv,"o":_glUseProgram,"f":_glVertexAttribPointer,"Yd":_glViewport,"y":_glfwCreateWindow,"ma":_glfwDefaultWindowHints,"U":_glfwDestroyWindow,"z":_glfwGetPrimaryMonitor,"d":_glfwGetTime,"la":_glfwGetVideoModes,"na":_glfwInit,"aa":_glfwMakeContextCurrent,"fa":_glfwSetCharCallback,"ba":_glfwSetCursorEnterCallback,"da":_glfwSetCursorPosCallback,"ha":_glfwSetDropCallback,"oa":_glfwSetErrorCallback,"ga":_glfwSetKeyCallback,"ea":_glfwSetMouseButtonCallback,"ca":_glfwSetScrollCallback,"ia":_glfwSetWindowFocusCallback,"ja":_glfwSetWindowIconifyCallback,"O":_glfwSetWindowShouldClose,"ka":_glfwSetWindowSizeCallback,"T":_glfwSwapBuffers,"_":_glfwSwapInterval,"x":_glfwTerminate,"c":_glfwWindowHint,"Z":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["ae"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["be"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ce"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["de"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["ee"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["fe"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ge"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_billboard.wasm b/examples/web/models/models_billboard.wasm index 21c41d7..6ff621f 100644 Binary files a/examples/web/models/models_billboard.wasm and b/examples/web/models/models_billboard.wasm differ diff --git a/examples/web/models/models_box_collisions.c b/examples/web/models/models_box_collisions.c index 9aa63db..54cb6c2 100644 --- a/examples/web/models/models_box_collisions.c +++ b/examples/web/models/models_box_collisions.c @@ -52,7 +52,7 @@ int main(void) InitWindow(screenWidth, screenHeight, "raylib [models] example - box collisions"); #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_box_collisions.html b/examples/web/models/models_box_collisions.html index ff4756e..d548253 100644 --- a/examples/web/models/models_box_collisions.html +++ b/examples/web/models/models_box_collisions.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_box_collisions.js b/examples/web/models/models_box_collisions.js index 5d8f08e..29c268b 100644 --- a/examples/web/models/models_box_collisions.js +++ b/examples/web/models/models_box_collisions.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5276944,DYNAMICTOP_PTR=34032;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_box_collisions.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"c":abort,"b":___assert_fail,"nc":___lock,"z":___setErrNo,"$a":___syscall140,"Qa":___syscall145,"l":___syscall221,"va":___syscall5,"ka":___syscall54,"y":___syscall6,"x":___unlock,"Zd":___wasi_fd_write,"w":_eglGetProcAddress,"R":_emscripten_exit_pointerlock,"ud":_emscripten_get_element_css_size,"jd":_emscripten_get_gamepad_status,"_c":_emscripten_get_heap_size,"Pc":_emscripten_get_num_gamepads,"Q":_emscripten_get_pointerlock_status,"vc":_emscripten_glActiveTexture,"mc":_emscripten_glAttachShader,"gc":_emscripten_glBeginQueryEXT,"cc":_emscripten_glBindAttribLocation,"Xb":_emscripten_glBindBuffer,"Qb":_emscripten_glBindFramebuffer,"Jb":_emscripten_glBindRenderbuffer,"Ab":_emscripten_glBindTexture,"pb":_emscripten_glBindVertexArrayOES,"lb":_emscripten_glBlendColor,"kb":_emscripten_glBlendEquation,"jb":_emscripten_glBlendEquationSeparate,"ib":_emscripten_glBlendFunc,"hb":_emscripten_glBlendFuncSeparate,"gb":_emscripten_glBufferData,"fb":_emscripten_glBufferSubData,"eb":_emscripten_glCheckFramebufferStatus,"db":_emscripten_glClear,"cb":_emscripten_glClearColor,"bb":_emscripten_glClearDepthf,"ab":_emscripten_glClearStencil,"_a":_emscripten_glColorMask,"Za":_emscripten_glCompileShader,"Ya":_emscripten_glCompressedTexImage2D,"Xa":_emscripten_glCompressedTexSubImage2D,"Wa":_emscripten_glCopyTexImage2D,"Va":_emscripten_glCopyTexSubImage2D,"Ua":_emscripten_glCreateProgram,"Ta":_emscripten_glCreateShader,"Sa":_emscripten_glCullFace,"Ra":_emscripten_glDeleteBuffers,"Pa":_emscripten_glDeleteFramebuffers,"Oa":_emscripten_glDeleteProgram,"Na":_emscripten_glDeleteQueriesEXT,"Ma":_emscripten_glDeleteRenderbuffers,"La":_emscripten_glDeleteShader,"Ka":_emscripten_glDeleteTextures,"Ja":_emscripten_glDeleteVertexArraysOES,"Ia":_emscripten_glDepthFunc,"Ha":_emscripten_glDepthMask,"Ga":_emscripten_glDepthRangef,"Fa":_emscripten_glDetachShader,"Ea":_emscripten_glDisable,"Da":_emscripten_glDisableVertexAttribArray,"Ca":_emscripten_glDrawArrays,"Ba":_emscripten_glDrawArraysInstancedANGLE,"Aa":_emscripten_glDrawBuffersWEBGL,"za":_emscripten_glDrawElements,"ya":_emscripten_glDrawElementsInstancedANGLE,"xa":_emscripten_glEnable,"wa":_emscripten_glEnableVertexAttribArray,"ua":_emscripten_glEndQueryEXT,"ta":_emscripten_glFinish,"sa":_emscripten_glFlush,"ra":_emscripten_glFramebufferRenderbuffer,"qa":_emscripten_glFramebufferTexture2D,"pa":_emscripten_glFrontFace,"oa":_emscripten_glGenBuffers,"na":_emscripten_glGenFramebuffers,"ma":_emscripten_glGenQueriesEXT,"la":_emscripten_glGenRenderbuffers,"ja":_emscripten_glGenTextures,"ia":_emscripten_glGenVertexArraysOES,"ha":_emscripten_glGenerateMipmap,"ga":_emscripten_glGetActiveAttrib,"fa":_emscripten_glGetActiveUniform,"ea":_emscripten_glGetAttachedShaders,"da":_emscripten_glGetAttribLocation,"ca":_emscripten_glGetBooleanv,"ba":_emscripten_glGetBufferParameteriv,"aa":_emscripten_glGetError,"$":_emscripten_glGetFloatv,"_":_emscripten_glGetFramebufferAttachmentParameteriv,"Z":_emscripten_glGetIntegerv,"Y":_emscripten_glGetProgramInfoLog,"X":_emscripten_glGetProgramiv,"W":_emscripten_glGetQueryObjecti64vEXT,"V":_emscripten_glGetQueryObjectivEXT,"U":_emscripten_glGetQueryObjectui64vEXT,"T":_emscripten_glGetQueryObjectuivEXT,"S":_emscripten_glGetQueryivEXT,"he":_emscripten_glGetRenderbufferParameteriv,"ge":_emscripten_glGetShaderInfoLog,"fe":_emscripten_glGetShaderPrecisionFormat,"ee":_emscripten_glGetShaderSource,"de":_emscripten_glGetShaderiv,"ce":_emscripten_glGetString,"be":_emscripten_glGetTexParameterfv,"ae":_emscripten_glGetTexParameteriv,"$d":_emscripten_glGetUniformLocation,"_d":_emscripten_glGetUniformfv,"Yd":_emscripten_glGetUniformiv,"Xd":_emscripten_glGetVertexAttribPointerv,"Wd":_emscripten_glGetVertexAttribfv,"Vd":_emscripten_glGetVertexAttribiv,"Ud":_emscripten_glHint,"Td":_emscripten_glIsBuffer,"Sd":_emscripten_glIsEnabled,"Rd":_emscripten_glIsFramebuffer,"Qd":_emscripten_glIsProgram,"Pd":_emscripten_glIsQueryEXT,"Od":_emscripten_glIsRenderbuffer,"Nd":_emscripten_glIsShader,"Md":_emscripten_glIsTexture,"Ld":_emscripten_glIsVertexArrayOES,"Kd":_emscripten_glLineWidth,"Jd":_emscripten_glLinkProgram,"Id":_emscripten_glPixelStorei,"Hd":_emscripten_glPolygonOffset,"Gd":_emscripten_glQueryCounterEXT,"Fd":_emscripten_glReadPixels,"Ed":_emscripten_glReleaseShaderCompiler,"Dd":_emscripten_glRenderbufferStorage,"Cd":_emscripten_glSampleCoverage,"Bd":_emscripten_glScissor,"Ad":_emscripten_glShaderBinary,"zd":_emscripten_glShaderSource,"yd":_emscripten_glStencilFunc,"xd":_emscripten_glStencilFuncSeparate,"wd":_emscripten_glStencilMask,"vd":_emscripten_glStencilMaskSeparate,"td":_emscripten_glStencilOp,"sd":_emscripten_glStencilOpSeparate,"rd":_emscripten_glTexImage2D,"qd":_emscripten_glTexParameterf,"pd":_emscripten_glTexParameterfv,"od":_emscripten_glTexParameteri,"nd":_emscripten_glTexParameteriv,"md":_emscripten_glTexSubImage2D,"ld":_emscripten_glUniform1f,"kd":_emscripten_glUniform1fv,"id":_emscripten_glUniform1i,"hd":_emscripten_glUniform1iv,"gd":_emscripten_glUniform2f,"fd":_emscripten_glUniform2fv,"ed":_emscripten_glUniform2i,"dd":_emscripten_glUniform2iv,"cd":_emscripten_glUniform3f,"bd":_emscripten_glUniform3fv,"ad":_emscripten_glUniform3i,"$c":_emscripten_glUniform3iv,"Zc":_emscripten_glUniform4f,"Yc":_emscripten_glUniform4fv,"Xc":_emscripten_glUniform4i,"Wc":_emscripten_glUniform4iv,"Vc":_emscripten_glUniformMatrix2fv,"Uc":_emscripten_glUniformMatrix3fv,"Tc":_emscripten_glUniformMatrix4fv,"Sc":_emscripten_glUseProgram,"Rc":_emscripten_glValidateProgram,"Qc":_emscripten_glVertexAttrib1f,"Oc":_emscripten_glVertexAttrib1fv,"Nc":_emscripten_glVertexAttrib2f,"Mc":_emscripten_glVertexAttrib2fv,"Lc":_emscripten_glVertexAttrib3f,"Kc":_emscripten_glVertexAttrib3fv,"Jc":_emscripten_glVertexAttrib4f,"Ic":_emscripten_glVertexAttrib4fv,"Hc":_emscripten_glVertexAttribDivisorANGLE,"Gc":_emscripten_glVertexAttribPointer,"Fc":_emscripten_glViewport,"Ec":_emscripten_memcpy_big,"Dc":_emscripten_request_pointerlock,"Cc":_emscripten_resize_heap,"P":_emscripten_run_script,"Bc":_emscripten_sample_gamepad_data,"Ac":_emscripten_set_click_callback_on_thread,"zc":_emscripten_set_fullscreenchange_callback_on_thread,"yc":_emscripten_set_gamepadconnected_callback_on_thread,"xc":_emscripten_set_gamepaddisconnected_callback_on_thread,"wc":_emscripten_set_keypress_callback_on_thread,"uc":_emscripten_set_main_loop,"tc":_emscripten_set_touchcancel_callback_on_thread,"sc":_emscripten_set_touchend_callback_on_thread,"rc":_emscripten_set_touchmove_callback_on_thread,"qc":_emscripten_set_touchstart_callback_on_thread,"pc":_exit,"oc":_glActiveTexture,"O":_glAttachShader,"i":_glBindAttribLocation,"d":_glBindBuffer,"k":_glBindTexture,"lc":_glBlendFunc,"q":_glBufferData,"v":_glBufferSubData,"N":_glClear,"M":_glClearColor,"kc":_glClearDepthf,"jc":_glCompileShader,"ic":_glCompressedTexImage2D,"hc":_glCreateProgram,"fc":_glCreateShader,"ec":_glCullFace,"p":_glDeleteBuffers,"L":_glDeleteProgram,"K":_glDeleteShader,"J":_glDeleteTextures,"dc":_glDepthFunc,"I":_glDetachShader,"H":_glDisable,"o":_glDisableVertexAttribArray,"bc":_glDrawArrays,"ac":_glDrawElements,"u":_glEnable,"h":_glEnableVertexAttribArray,"$b":_glFrontFace,"n":_glGenBuffers,"_b":_glGenTextures,"t":_glGetAttribLocation,"Zb":_glGetFloatv,"Yb":_glGetProgramInfoLog,"G":_glGetProgramiv,"Wb":_glGetShaderInfoLog,"F":_glGetShaderiv,"j":_glGetString,"s":_glGetUniformLocation,"Vb":_glLinkProgram,"Ub":_glPixelStorei,"Tb":_glReadPixels,"Sb":_glShaderSource,"Rb":_glTexImage2D,"g":_glTexParameteri,"Pb":_glUniform1i,"Ob":_glUniform4f,"Nb":_glUniformMatrix4fv,"r":_glUseProgram,"f":_glVertexAttribPointer,"Mb":_glViewport,"E":_glfwCreateWindow,"Lb":_glfwDefaultWindowHints,"Kb":_glfwDestroyWindow,"Ib":_glfwGetCursorPos,"Hb":_glfwGetKey,"D":_glfwGetPrimaryMonitor,"m":_glfwGetTime,"Gb":_glfwGetVideoModes,"Fb":_glfwInit,"Eb":_glfwMakeContextCurrent,"Db":_glfwSetCharCallback,"Cb":_glfwSetCursorEnterCallback,"Bb":_glfwSetCursorPosCallback,"zb":_glfwSetDropCallback,"yb":_glfwSetErrorCallback,"xb":_glfwSetKeyCallback,"wb":_glfwSetMouseButtonCallback,"vb":_glfwSetScrollCallback,"ub":_glfwSetWindowIconifyCallback,"tb":_glfwSetWindowShouldClose,"sb":_glfwSetWindowSizeCallback,"rb":_glfwSwapBuffers,"qb":_glfwSwapInterval,"C":_glfwTerminate,"e":_glfwWindowHint,"B":_llvm_stackrestore,"A":_llvm_stacksave,"ob":_nanosleep,"nb":_time,"mb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["ie"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["je"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["ke"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["le"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["re"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["se"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["we"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_box_collisions.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["_d"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["$d"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"n":___assert_fail,"u":___sys_fcntl64,"Xd":___sys_ioctl,"M":___sys_open,"s":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"V":_emscripten_get_element_css_size,"P":_emscripten_get_gamepad_status,"Q":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"yd":_emscripten_glActiveTexture,"xd":_emscripten_glAttachShader,"Pd":_emscripten_glBeginQueryEXT,"wd":_emscripten_glBindAttribLocation,"vd":_emscripten_glBindBuffer,"ud":_emscripten_glBindFramebuffer,"sd":_emscripten_glBindRenderbuffer,"rd":_emscripten_glBindTexture,"Hd":_emscripten_glBindVertexArrayOES,"qd":_emscripten_glBlendColor,"pd":_emscripten_glBlendEquation,"od":_emscripten_glBlendEquationSeparate,"nd":_emscripten_glBlendFunc,"md":_emscripten_glBlendFuncSeparate,"ld":_emscripten_glBufferData,"kd":_emscripten_glBufferSubData,"jd":_emscripten_glCheckFramebufferStatus,"id":_emscripten_glClear,"hd":_emscripten_glClearColor,"gd":_emscripten_glClearDepthf,"fd":_emscripten_glClearStencil,"ed":_emscripten_glColorMask,"dd":_emscripten_glCompileShader,"cd":_emscripten_glCompressedTexImage2D,"bd":_emscripten_glCompressedTexSubImage2D,"ad":_emscripten_glCopyTexImage2D,"$c":_emscripten_glCopyTexSubImage2D,"_c":_emscripten_glCreateProgram,"Zc":_emscripten_glCreateShader,"Yc":_emscripten_glCullFace,"Xc":_emscripten_glDeleteBuffers,"Wc":_emscripten_glDeleteFramebuffers,"Vc":_emscripten_glDeleteProgram,"Rd":_emscripten_glDeleteQueriesEXT,"Uc":_emscripten_glDeleteRenderbuffers,"Tc":_emscripten_glDeleteShader,"Sc":_emscripten_glDeleteTextures,"Gd":_emscripten_glDeleteVertexArraysOES,"Rc":_emscripten_glDepthFunc,"Qc":_emscripten_glDepthMask,"Pc":_emscripten_glDepthRangef,"Oc":_emscripten_glDetachShader,"Nc":_emscripten_glDisable,"Mc":_emscripten_glDisableVertexAttribArray,"Lc":_emscripten_glDrawArrays,"Bd":_emscripten_glDrawArraysInstancedANGLE,"Cd":_emscripten_glDrawBuffersWEBGL,"Kc":_emscripten_glDrawElements,"Ad":_emscripten_glDrawElementsInstancedANGLE,"Jc":_emscripten_glEnable,"Ic":_emscripten_glEnableVertexAttribArray,"Od":_emscripten_glEndQueryEXT,"Hc":_emscripten_glFinish,"Fc":_emscripten_glFlush,"Ec":_emscripten_glFramebufferRenderbuffer,"Dc":_emscripten_glFramebufferTexture2D,"Cc":_emscripten_glFrontFace,"Bc":_emscripten_glGenBuffers,"zc":_emscripten_glGenFramebuffers,"Sd":_emscripten_glGenQueriesEXT,"yc":_emscripten_glGenRenderbuffers,"xc":_emscripten_glGenTextures,"Fd":_emscripten_glGenVertexArraysOES,"Ac":_emscripten_glGenerateMipmap,"wc":_emscripten_glGetActiveAttrib,"vc":_emscripten_glGetActiveUniform,"uc":_emscripten_glGetAttachedShaders,"tc":_emscripten_glGetAttribLocation,"sc":_emscripten_glGetBooleanv,"rc":_emscripten_glGetBufferParameteriv,"qc":_emscripten_glGetError,"pc":_emscripten_glGetFloatv,"oc":_emscripten_glGetFramebufferAttachmentParameteriv,"nc":_emscripten_glGetIntegerv,"lc":_emscripten_glGetProgramInfoLog,"mc":_emscripten_glGetProgramiv,"Jd":_emscripten_glGetQueryObjecti64vEXT,"Ld":_emscripten_glGetQueryObjectivEXT,"Id":_emscripten_glGetQueryObjectui64vEXT,"Kd":_emscripten_glGetQueryObjectuivEXT,"Md":_emscripten_glGetQueryivEXT,"kc":_emscripten_glGetRenderbufferParameteriv,"ic":_emscripten_glGetShaderInfoLog,"hc":_emscripten_glGetShaderPrecisionFormat,"gc":_emscripten_glGetShaderSource,"jc":_emscripten_glGetShaderiv,"fc":_emscripten_glGetString,"ec":_emscripten_glGetTexParameterfv,"dc":_emscripten_glGetTexParameteriv,"ac":_emscripten_glGetUniformLocation,"cc":_emscripten_glGetUniformfv,"bc":_emscripten_glGetUniformiv,"Zb":_emscripten_glGetVertexAttribPointerv,"$b":_emscripten_glGetVertexAttribfv,"_b":_emscripten_glGetVertexAttribiv,"Yb":_emscripten_glHint,"Xb":_emscripten_glIsBuffer,"Wb":_emscripten_glIsEnabled,"Vb":_emscripten_glIsFramebuffer,"Ub":_emscripten_glIsProgram,"Qd":_emscripten_glIsQueryEXT,"Tb":_emscripten_glIsRenderbuffer,"Sb":_emscripten_glIsShader,"Rb":_emscripten_glIsTexture,"Dd":_emscripten_glIsVertexArrayOES,"Qb":_emscripten_glLineWidth,"Pb":_emscripten_glLinkProgram,"Ob":_emscripten_glPixelStorei,"Nb":_emscripten_glPolygonOffset,"Nd":_emscripten_glQueryCounterEXT,"Mb":_emscripten_glReadPixels,"Lb":_emscripten_glReleaseShaderCompiler,"Kb":_emscripten_glRenderbufferStorage,"Ib":_emscripten_glSampleCoverage,"Hb":_emscripten_glScissor,"Gb":_emscripten_glShaderBinary,"Fb":_emscripten_glShaderSource,"Eb":_emscripten_glStencilFunc,"Db":_emscripten_glStencilFuncSeparate,"Cb":_emscripten_glStencilMask,"Bb":_emscripten_glStencilMaskSeparate,"Ab":_emscripten_glStencilOp,"zb":_emscripten_glStencilOpSeparate,"xb":_emscripten_glTexImage2D,"wb":_emscripten_glTexParameterf,"vb":_emscripten_glTexParameterfv,"ub":_emscripten_glTexParameteri,"tb":_emscripten_glTexParameteriv,"sb":_emscripten_glTexSubImage2D,"rb":_emscripten_glUniform1f,"qb":_emscripten_glUniform1fv,"pb":_emscripten_glUniform1i,"ob":_emscripten_glUniform1iv,"mb":_emscripten_glUniform2f,"lb":_emscripten_glUniform2fv,"kb":_emscripten_glUniform2i,"jb":_emscripten_glUniform2iv,"ib":_emscripten_glUniform3f,"hb":_emscripten_glUniform3fv,"gb":_emscripten_glUniform3i,"fb":_emscripten_glUniform3iv,"eb":_emscripten_glUniform4f,"db":_emscripten_glUniform4fv,"bb":_emscripten_glUniform4i,"ab":_emscripten_glUniform4iv,"$a":_emscripten_glUniformMatrix2fv,"_a":_emscripten_glUniformMatrix3fv,"Za":_emscripten_glUniformMatrix4fv,"Ya":_emscripten_glUseProgram,"Xa":_emscripten_glValidateProgram,"Wa":_emscripten_glVertexAttrib1f,"Va":_emscripten_glVertexAttrib1fv,"Ua":_emscripten_glVertexAttrib2f,"Sa":_emscripten_glVertexAttrib2fv,"Ra":_emscripten_glVertexAttrib3f,"Qa":_emscripten_glVertexAttrib3fv,"Pa":_emscripten_glVertexAttrib4f,"Oa":_emscripten_glVertexAttrib4fv,"zd":_emscripten_glVertexAttribDivisorANGLE,"Na":_emscripten_glVertexAttribPointer,"Ma":_emscripten_glViewport,"Td":_emscripten_memcpy_big,"W":_emscripten_request_pointerlock,"Ud":_emscripten_resize_heap,"w":_emscripten_run_script,"R":_emscripten_sample_gamepad_data,"va":_emscripten_set_click_callback_on_thread,"xa":_emscripten_set_fullscreenchange_callback_on_thread,"qa":_emscripten_set_gamepadconnected_callback_on_thread,"pa":_emscripten_set_gamepaddisconnected_callback_on_thread,"wa":_emscripten_set_keydown_callback_on_thread,"Zd":_emscripten_set_main_loop,"ra":_emscripten_set_touchcancel_callback_on_thread,"ta":_emscripten_set_touchend_callback_on_thread,"sa":_emscripten_set_touchmove_callback_on_thread,"ua":_emscripten_set_touchstart_callback_on_thread,"Vd":_emscripten_thread_sleep,"N":_exit,"v":_fd_close,"Wd":_fd_read,"La":_fd_seek,"K":_fd_write,"L":_glActiveTexture,"A":_glAttachShader,"f":_glBindAttribLocation,"a":_glBindBuffer,"g":_glBindTexture,"yb":_glBlendFunc,"k":_glBufferData,"r":_glBufferSubData,"H":_glClear,"I":_glClearColor,"Ta":_glClearDepthf,"Da":_glCompileShader,"Ha":_glCompressedTexImage2D,"Ba":_glCreateProgram,"Fa":_glCreateShader,"nb":_glCullFace,"i":_glDeleteBuffers,"D":_glDeleteProgram,"E":_glDeleteShader,"G":_glDeleteTextures,"Jb":_glDepthFunc,"F":_glDetachShader,"J":_glDisable,"j":_glDisableVertexAttribArray,"Ed":_glDrawArrays,"td":_glDrawElements,"t":_glEnable,"d":_glEnableVertexAttribArray,"cb":_glFrontFace,"l":_glGenBuffers,"Ja":_glGenTextures,"q":_glGetAttribLocation,"Gc":_glGetFloatv,"ya":_glGetProgramInfoLog,"C":_glGetProgramiv,"Ca":_glGetShaderInfoLog,"B":_glGetShaderiv,"h":_glGetString,"p":_glGetUniformLocation,"za":_glLinkProgram,"Ka":_glPixelStorei,"Ga":_glReadPixels,"Ea":_glShaderSource,"Ia":_glTexImage2D,"m":_glTexParameteri,"S":_glUniform1i,"$":_glUniform4f,"Aa":_glUniformMatrix4fv,"o":_glUseProgram,"e":_glVertexAttribPointer,"Yd":_glViewport,"y":_glfwCreateWindow,"ma":_glfwDefaultWindowHints,"U":_glfwDestroyWindow,"z":_glfwGetPrimaryMonitor,"c":_glfwGetTime,"la":_glfwGetVideoModes,"na":_glfwInit,"aa":_glfwMakeContextCurrent,"fa":_glfwSetCharCallback,"ba":_glfwSetCursorEnterCallback,"da":_glfwSetCursorPosCallback,"ha":_glfwSetDropCallback,"oa":_glfwSetErrorCallback,"ga":_glfwSetKeyCallback,"ea":_glfwSetMouseButtonCallback,"ca":_glfwSetScrollCallback,"ia":_glfwSetWindowFocusCallback,"ja":_glfwSetWindowIconifyCallback,"O":_glfwSetWindowShouldClose,"ka":_glfwSetWindowSizeCallback,"T":_glfwSwapBuffers,"_":_glfwSwapInterval,"x":_glfwTerminate,"b":_glfwWindowHint,"Z":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["ae"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["be"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ce"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["de"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["ee"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["fe"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ge"]).apply(null,arguments)};var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_box_collisions.wasm b/examples/web/models/models_box_collisions.wasm index 09777ed..56f2211 100644 Binary files a/examples/web/models/models_box_collisions.wasm and b/examples/web/models/models_box_collisions.wasm differ diff --git a/examples/web/models/models_cubicmap.c b/examples/web/models/models_cubicmap.c index a4cb271..fede958 100644 --- a/examples/web/models/models_cubicmap.c +++ b/examples/web/models/models_cubicmap.c @@ -58,7 +58,7 @@ int main(void) SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_cubicmap.data b/examples/web/models/models_cubicmap.data index c7df666..97220c0 100644 Binary files a/examples/web/models/models_cubicmap.data and b/examples/web/models/models_cubicmap.data differ diff --git a/examples/web/models/models_cubicmap.html b/examples/web/models/models_cubicmap.html index 39769ed..c6b90be 100644 --- a/examples/web/models/models_cubicmap.html +++ b/examples/web/models/models_cubicmap.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_cubicmap.js b/examples/web/models/models_cubicmap.js index ee0211e..ba2c797 100644 --- a/examples/web/models/models_cubicmap.js +++ b/examples/web/models/models_cubicmap.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_cubicmap.data";var REMOTE_PACKAGE_BASE="models_cubicmap.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5280608,DYNAMICTOP_PTR=37696;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_cubicmap.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"d":abort,"b":___assert_fail,"sc":___lock,"D":___setErrNo,"gb":___syscall140,"Xa":___syscall145,"q":___syscall221,"Ca":___syscall5,"ra":___syscall54,"C":___syscall6,"B":___unlock,"be":___wasi_fd_write,"A":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"yd":_emscripten_get_element_css_size,"nd":_emscripten_get_gamepad_status,"cd":_emscripten_get_heap_size,"Tc":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"zc":_emscripten_glActiveTexture,"rc":_emscripten_glAttachShader,"lc":_emscripten_glBeginQueryEXT,"hc":_emscripten_glBindAttribLocation,"cc":_emscripten_glBindBuffer,"Xb":_emscripten_glBindFramebuffer,"Tb":_emscripten_glBindRenderbuffer,"Lb":_emscripten_glBindTexture,"Ab":_emscripten_glBindVertexArrayOES,"tb":_emscripten_glBlendColor,"rb":_emscripten_glBlendEquation,"qb":_emscripten_glBlendEquationSeparate,"pb":_emscripten_glBlendFunc,"ob":_emscripten_glBlendFuncSeparate,"nb":_emscripten_glBufferData,"mb":_emscripten_glBufferSubData,"lb":_emscripten_glCheckFramebufferStatus,"kb":_emscripten_glClear,"jb":_emscripten_glClearColor,"ib":_emscripten_glClearDepthf,"hb":_emscripten_glClearStencil,"fb":_emscripten_glColorMask,"eb":_emscripten_glCompileShader,"db":_emscripten_glCompressedTexImage2D,"cb":_emscripten_glCompressedTexSubImage2D,"bb":_emscripten_glCopyTexImage2D,"ab":_emscripten_glCopyTexSubImage2D,"$a":_emscripten_glCreateProgram,"_a":_emscripten_glCreateShader,"Za":_emscripten_glCullFace,"Ya":_emscripten_glDeleteBuffers,"Wa":_emscripten_glDeleteFramebuffers,"Va":_emscripten_glDeleteProgram,"Ua":_emscripten_glDeleteQueriesEXT,"Ta":_emscripten_glDeleteRenderbuffers,"Sa":_emscripten_glDeleteShader,"Ra":_emscripten_glDeleteTextures,"Qa":_emscripten_glDeleteVertexArraysOES,"Pa":_emscripten_glDepthFunc,"Oa":_emscripten_glDepthMask,"Na":_emscripten_glDepthRangef,"Ma":_emscripten_glDetachShader,"La":_emscripten_glDisable,"Ka":_emscripten_glDisableVertexAttribArray,"Ja":_emscripten_glDrawArrays,"Ia":_emscripten_glDrawArraysInstancedANGLE,"Ha":_emscripten_glDrawBuffersWEBGL,"Ga":_emscripten_glDrawElements,"Fa":_emscripten_glDrawElementsInstancedANGLE,"Ea":_emscripten_glEnable,"Da":_emscripten_glEnableVertexAttribArray,"Ba":_emscripten_glEndQueryEXT,"Aa":_emscripten_glFinish,"za":_emscripten_glFlush,"ya":_emscripten_glFramebufferRenderbuffer,"xa":_emscripten_glFramebufferTexture2D,"wa":_emscripten_glFrontFace,"va":_emscripten_glGenBuffers,"ua":_emscripten_glGenFramebuffers,"ta":_emscripten_glGenQueriesEXT,"sa":_emscripten_glGenRenderbuffers,"qa":_emscripten_glGenTextures,"pa":_emscripten_glGenVertexArraysOES,"oa":_emscripten_glGenerateMipmap,"na":_emscripten_glGetActiveAttrib,"ma":_emscripten_glGetActiveUniform,"la":_emscripten_glGetAttachedShaders,"ka":_emscripten_glGetAttribLocation,"ja":_emscripten_glGetBooleanv,"ia":_emscripten_glGetBufferParameteriv,"ha":_emscripten_glGetError,"ga":_emscripten_glGetFloatv,"fa":_emscripten_glGetFramebufferAttachmentParameteriv,"ea":_emscripten_glGetIntegerv,"da":_emscripten_glGetProgramInfoLog,"ca":_emscripten_glGetProgramiv,"ba":_emscripten_glGetQueryObjecti64vEXT,"aa":_emscripten_glGetQueryObjectivEXT,"$":_emscripten_glGetQueryObjectui64vEXT,"_":_emscripten_glGetQueryObjectuivEXT,"Z":_emscripten_glGetQueryivEXT,"le":_emscripten_glGetRenderbufferParameteriv,"ke":_emscripten_glGetShaderInfoLog,"je":_emscripten_glGetShaderPrecisionFormat,"ie":_emscripten_glGetShaderSource,"he":_emscripten_glGetShaderiv,"ge":_emscripten_glGetString,"fe":_emscripten_glGetTexParameterfv,"ee":_emscripten_glGetTexParameteriv,"de":_emscripten_glGetUniformLocation,"ce":_emscripten_glGetUniformfv,"ae":_emscripten_glGetUniformiv,"$d":_emscripten_glGetVertexAttribPointerv,"_d":_emscripten_glGetVertexAttribfv,"Zd":_emscripten_glGetVertexAttribiv,"Yd":_emscripten_glHint,"Xd":_emscripten_glIsBuffer,"Wd":_emscripten_glIsEnabled,"Vd":_emscripten_glIsFramebuffer,"Ud":_emscripten_glIsProgram,"Td":_emscripten_glIsQueryEXT,"Sd":_emscripten_glIsRenderbuffer,"Rd":_emscripten_glIsShader,"Qd":_emscripten_glIsTexture,"Pd":_emscripten_glIsVertexArrayOES,"Od":_emscripten_glLineWidth,"Nd":_emscripten_glLinkProgram,"Md":_emscripten_glPixelStorei,"Ld":_emscripten_glPolygonOffset,"Kd":_emscripten_glQueryCounterEXT,"Jd":_emscripten_glReadPixels,"Id":_emscripten_glReleaseShaderCompiler,"Hd":_emscripten_glRenderbufferStorage,"Gd":_emscripten_glSampleCoverage,"Fd":_emscripten_glScissor,"Ed":_emscripten_glShaderBinary,"Dd":_emscripten_glShaderSource,"Cd":_emscripten_glStencilFunc,"Bd":_emscripten_glStencilFuncSeparate,"Ad":_emscripten_glStencilMask,"zd":_emscripten_glStencilMaskSeparate,"xd":_emscripten_glStencilOp,"wd":_emscripten_glStencilOpSeparate,"vd":_emscripten_glTexImage2D,"ud":_emscripten_glTexParameterf,"td":_emscripten_glTexParameterfv,"sd":_emscripten_glTexParameteri,"rd":_emscripten_glTexParameteriv,"qd":_emscripten_glTexSubImage2D,"pd":_emscripten_glUniform1f,"od":_emscripten_glUniform1fv,"md":_emscripten_glUniform1i,"ld":_emscripten_glUniform1iv,"kd":_emscripten_glUniform2f,"jd":_emscripten_glUniform2fv,"id":_emscripten_glUniform2i,"hd":_emscripten_glUniform2iv,"gd":_emscripten_glUniform3f,"fd":_emscripten_glUniform3fv,"ed":_emscripten_glUniform3i,"dd":_emscripten_glUniform3iv,"bd":_emscripten_glUniform4f,"ad":_emscripten_glUniform4fv,"$c":_emscripten_glUniform4i,"_c":_emscripten_glUniform4iv,"Zc":_emscripten_glUniformMatrix2fv,"Yc":_emscripten_glUniformMatrix3fv,"Xc":_emscripten_glUniformMatrix4fv,"Wc":_emscripten_glUseProgram,"Vc":_emscripten_glValidateProgram,"Uc":_emscripten_glVertexAttrib1f,"Sc":_emscripten_glVertexAttrib1fv,"Rc":_emscripten_glVertexAttrib2f,"Qc":_emscripten_glVertexAttrib2fv,"Pc":_emscripten_glVertexAttrib3f,"Oc":_emscripten_glVertexAttrib3fv,"Nc":_emscripten_glVertexAttrib4f,"Mc":_emscripten_glVertexAttrib4fv,"Lc":_emscripten_glVertexAttribDivisorANGLE,"Kc":_emscripten_glVertexAttribPointer,"Jc":_emscripten_glViewport,"Ic":_emscripten_memcpy_big,"Hc":_emscripten_request_pointerlock,"Gc":_emscripten_resize_heap,"W":_emscripten_run_script,"Fc":_emscripten_sample_gamepad_data,"Ec":_emscripten_set_click_callback_on_thread,"Dc":_emscripten_set_fullscreenchange_callback_on_thread,"Cc":_emscripten_set_gamepadconnected_callback_on_thread,"Bc":_emscripten_set_gamepaddisconnected_callback_on_thread,"Ac":_emscripten_set_keypress_callback_on_thread,"yc":_emscripten_set_main_loop,"xc":_emscripten_set_touchcancel_callback_on_thread,"wc":_emscripten_set_touchend_callback_on_thread,"vc":_emscripten_set_touchmove_callback_on_thread,"uc":_emscripten_set_touchstart_callback_on_thread,"tc":_exit,"z":_glActiveTexture,"V":_glAttachShader,"n":_glBindAttribLocation,"c":_glBindBuffer,"k":_glBindTexture,"qc":_glBlendFunc,"i":_glBufferData,"y":_glBufferSubData,"U":_glClear,"T":_glClearColor,"pc":_glClearDepthf,"oc":_glCompileShader,"nc":_glCompressedTexImage2D,"mc":_glCreateProgram,"kc":_glCreateShader,"jc":_glCullFace,"p":_glDeleteBuffers,"S":_glDeleteProgram,"R":_glDeleteShader,"Q":_glDeleteTextures,"ic":_glDepthFunc,"P":_glDetachShader,"O":_glDisable,"j":_glDisableVertexAttribArray,"N":_glDrawArrays,"M":_glDrawElements,"x":_glEnable,"f":_glEnableVertexAttribArray,"gc":_glFrontFace,"h":_glGenBuffers,"fc":_glGenTextures,"w":_glGetAttribLocation,"ec":_glGetFloatv,"dc":_glGetProgramInfoLog,"L":_glGetProgramiv,"bc":_glGetShaderInfoLog,"K":_glGetShaderiv,"o":_glGetString,"v":_glGetUniformLocation,"ac":_glLinkProgram,"$b":_glPixelStorei,"_b":_glReadPixels,"Zb":_glShaderSource,"Yb":_glTexImage2D,"m":_glTexParameteri,"J":_glUniform1i,"u":_glUniform4f,"t":_glUniformMatrix4fv,"l":_glUseProgram,"Wb":_glVertexAttrib2f,"Vb":_glVertexAttrib3f,"s":_glVertexAttrib4f,"e":_glVertexAttribPointer,"Ub":_glViewport,"I":_glfwCreateWindow,"Sb":_glfwDefaultWindowHints,"Rb":_glfwDestroyWindow,"Qb":_glfwGetCursorPos,"Pb":_glfwGetKey,"Ob":_glfwGetMouseButton,"H":_glfwGetPrimaryMonitor,"r":_glfwGetTime,"Nb":_glfwGetVideoModes,"Mb":_glfwInit,"Kb":_glfwMakeContextCurrent,"Jb":_glfwSetCharCallback,"Ib":_glfwSetCursorEnterCallback,"Hb":_glfwSetCursorPosCallback,"Gb":_glfwSetDropCallback,"Fb":_glfwSetErrorCallback,"Eb":_glfwSetKeyCallback,"Db":_glfwSetMouseButtonCallback,"Cb":_glfwSetScrollCallback,"Bb":_glfwSetWindowIconifyCallback,"zb":_glfwSetWindowShouldClose,"yb":_glfwSetWindowSizeCallback,"xb":_glfwSwapBuffers,"wb":_glfwSwapInterval,"G":_glfwTerminate,"g":_glfwWindowHint,"F":_llvm_stackrestore,"E":_llvm_stacksave,"vb":_nanosleep,"ub":_time,"sb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["re"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["se"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["Be"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["Ce"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["De"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["we"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["calledRun"]=calledRun;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_cubicmap.data";var REMOTE_PACKAGE_BASE="models_cubicmap.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_cubicmap.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["be"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ce"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"d":___assert_fail,"Q":___sys_fcntl64,"Zd":___sys_ioctl,"_d":___sys_open,"w":_eglGetProcAddress,"aa":_emscripten_exit_pointerlock,"Z":_emscripten_get_element_css_size,"U":_emscripten_get_gamepad_status,"V":_emscripten_get_num_gamepads,"$":_emscripten_get_pointerlock_status,"Bd":_emscripten_glActiveTexture,"Ad":_emscripten_glAttachShader,"Rd":_emscripten_glBeginQueryEXT,"zd":_emscripten_glBindAttribLocation,"yd":_emscripten_glBindBuffer,"xd":_emscripten_glBindFramebuffer,"wd":_emscripten_glBindRenderbuffer,"vd":_emscripten_glBindTexture,"Jd":_emscripten_glBindVertexArrayOES,"ud":_emscripten_glBlendColor,"td":_emscripten_glBlendEquation,"sd":_emscripten_glBlendEquationSeparate,"rd":_emscripten_glBlendFunc,"qd":_emscripten_glBlendFuncSeparate,"pd":_emscripten_glBufferData,"od":_emscripten_glBufferSubData,"nd":_emscripten_glCheckFramebufferStatus,"md":_emscripten_glClear,"ld":_emscripten_glClearColor,"kd":_emscripten_glClearDepthf,"jd":_emscripten_glClearStencil,"id":_emscripten_glColorMask,"hd":_emscripten_glCompileShader,"gd":_emscripten_glCompressedTexImage2D,"fd":_emscripten_glCompressedTexSubImage2D,"ed":_emscripten_glCopyTexImage2D,"dd":_emscripten_glCopyTexSubImage2D,"cd":_emscripten_glCreateProgram,"bd":_emscripten_glCreateShader,"ad":_emscripten_glCullFace,"$c":_emscripten_glDeleteBuffers,"_c":_emscripten_glDeleteFramebuffers,"Zc":_emscripten_glDeleteProgram,"Td":_emscripten_glDeleteQueriesEXT,"Yc":_emscripten_glDeleteRenderbuffers,"Xc":_emscripten_glDeleteShader,"Wc":_emscripten_glDeleteTextures,"Id":_emscripten_glDeleteVertexArraysOES,"Vc":_emscripten_glDepthFunc,"Uc":_emscripten_glDepthMask,"Tc":_emscripten_glDepthRangef,"Sc":_emscripten_glDetachShader,"Rc":_emscripten_glDisable,"Qc":_emscripten_glDisableVertexAttribArray,"Pc":_emscripten_glDrawArrays,"Ed":_emscripten_glDrawArraysInstancedANGLE,"Fd":_emscripten_glDrawBuffersWEBGL,"Oc":_emscripten_glDrawElements,"Dd":_emscripten_glDrawElementsInstancedANGLE,"Mc":_emscripten_glEnable,"Lc":_emscripten_glEnableVertexAttribArray,"Qd":_emscripten_glEndQueryEXT,"Kc":_emscripten_glFinish,"Jc":_emscripten_glFlush,"Ic":_emscripten_glFramebufferRenderbuffer,"Hc":_emscripten_glFramebufferTexture2D,"Gc":_emscripten_glFrontFace,"Fc":_emscripten_glGenBuffers,"Dc":_emscripten_glGenFramebuffers,"Ud":_emscripten_glGenQueriesEXT,"Cc":_emscripten_glGenRenderbuffers,"Bc":_emscripten_glGenTextures,"Hd":_emscripten_glGenVertexArraysOES,"Ec":_emscripten_glGenerateMipmap,"Ac":_emscripten_glGetActiveAttrib,"zc":_emscripten_glGetActiveUniform,"yc":_emscripten_glGetAttachedShaders,"xc":_emscripten_glGetAttribLocation,"wc":_emscripten_glGetBooleanv,"vc":_emscripten_glGetBufferParameteriv,"uc":_emscripten_glGetError,"tc":_emscripten_glGetFloatv,"sc":_emscripten_glGetFramebufferAttachmentParameteriv,"rc":_emscripten_glGetIntegerv,"pc":_emscripten_glGetProgramInfoLog,"qc":_emscripten_glGetProgramiv,"Ld":_emscripten_glGetQueryObjecti64vEXT,"Nd":_emscripten_glGetQueryObjectivEXT,"Kd":_emscripten_glGetQueryObjectui64vEXT,"Md":_emscripten_glGetQueryObjectuivEXT,"Od":_emscripten_glGetQueryivEXT,"oc":_emscripten_glGetRenderbufferParameteriv,"mc":_emscripten_glGetShaderInfoLog,"lc":_emscripten_glGetShaderPrecisionFormat,"kc":_emscripten_glGetShaderSource,"nc":_emscripten_glGetShaderiv,"jc":_emscripten_glGetString,"ic":_emscripten_glGetTexParameterfv,"hc":_emscripten_glGetTexParameteriv,"ec":_emscripten_glGetUniformLocation,"gc":_emscripten_glGetUniformfv,"fc":_emscripten_glGetUniformiv,"bc":_emscripten_glGetVertexAttribPointerv,"dc":_emscripten_glGetVertexAttribfv,"cc":_emscripten_glGetVertexAttribiv,"ac":_emscripten_glHint,"$b":_emscripten_glIsBuffer,"_b":_emscripten_glIsEnabled,"Zb":_emscripten_glIsFramebuffer,"Yb":_emscripten_glIsProgram,"Sd":_emscripten_glIsQueryEXT,"Xb":_emscripten_glIsRenderbuffer,"Wb":_emscripten_glIsShader,"Vb":_emscripten_glIsTexture,"Gd":_emscripten_glIsVertexArrayOES,"Ub":_emscripten_glLineWidth,"Tb":_emscripten_glLinkProgram,"Sb":_emscripten_glPixelStorei,"Rb":_emscripten_glPolygonOffset,"Pd":_emscripten_glQueryCounterEXT,"Pb":_emscripten_glReadPixels,"Ob":_emscripten_glReleaseShaderCompiler,"Nb":_emscripten_glRenderbufferStorage,"Mb":_emscripten_glSampleCoverage,"Lb":_emscripten_glScissor,"Kb":_emscripten_glShaderBinary,"Jb":_emscripten_glShaderSource,"Ib":_emscripten_glStencilFunc,"Hb":_emscripten_glStencilFuncSeparate,"Gb":_emscripten_glStencilMask,"Eb":_emscripten_glStencilMaskSeparate,"Db":_emscripten_glStencilOp,"Cb":_emscripten_glStencilOpSeparate,"Bb":_emscripten_glTexImage2D,"Ab":_emscripten_glTexParameterf,"zb":_emscripten_glTexParameterfv,"yb":_emscripten_glTexParameteri,"xb":_emscripten_glTexParameteriv,"wb":_emscripten_glTexSubImage2D,"vb":_emscripten_glUniform1f,"tb":_emscripten_glUniform1fv,"sb":_emscripten_glUniform1i,"rb":_emscripten_glUniform1iv,"qb":_emscripten_glUniform2f,"pb":_emscripten_glUniform2fv,"ob":_emscripten_glUniform2i,"nb":_emscripten_glUniform2iv,"mb":_emscripten_glUniform3f,"lb":_emscripten_glUniform3fv,"kb":_emscripten_glUniform3i,"ib":_emscripten_glUniform3iv,"hb":_emscripten_glUniform4f,"gb":_emscripten_glUniform4fv,"fb":_emscripten_glUniform4i,"eb":_emscripten_glUniform4iv,"db":_emscripten_glUniformMatrix2fv,"cb":_emscripten_glUniformMatrix3fv,"bb":_emscripten_glUniformMatrix4fv,"ab":_emscripten_glUseProgram,"$a":_emscripten_glValidateProgram,"Za":_emscripten_glVertexAttrib1f,"Ya":_emscripten_glVertexAttrib1fv,"Xa":_emscripten_glVertexAttrib2f,"Wa":_emscripten_glVertexAttrib2fv,"Va":_emscripten_glVertexAttrib3f,"Ua":_emscripten_glVertexAttrib3fv,"Ta":_emscripten_glVertexAttrib4f,"Sa":_emscripten_glVertexAttrib4fv,"Cd":_emscripten_glVertexAttribDivisorANGLE,"Ra":_emscripten_glVertexAttribPointer,"Qa":_emscripten_glViewport,"Vd":_emscripten_memcpy_big,"_":_emscripten_request_pointerlock,"Wd":_emscripten_resize_heap,"y":_emscripten_run_script,"W":_emscripten_sample_gamepad_data,"ya":_emscripten_set_click_callback_on_thread,"Aa":_emscripten_set_fullscreenchange_callback_on_thread,"ta":_emscripten_set_gamepadconnected_callback_on_thread,"sa":_emscripten_set_gamepaddisconnected_callback_on_thread,"za":_emscripten_set_keydown_callback_on_thread,"ae":_emscripten_set_main_loop,"ua":_emscripten_set_touchcancel_callback_on_thread,"wa":_emscripten_set_touchend_callback_on_thread,"va":_emscripten_set_touchmove_callback_on_thread,"xa":_emscripten_set_touchstart_callback_on_thread,"Xd":_emscripten_thread_sleep,"S":_exit,"R":_fd_close,"Yd":_fd_read,"Oa":_fd_seek,"P":_fd_write,"p":_glActiveTexture,"D":_glAttachShader,"k":_glBindAttribLocation,"a":_glBindBuffer,"j":_glBindTexture,"Fb":_glBlendFunc,"e":_glBufferData,"v":_glBufferSubData,"K":_glClear,"L":_glClearColor,"_a":_glClearDepthf,"Fa":_glCompileShader,"La":_glCompressedTexImage2D,"Da":_glCreateProgram,"Ha":_glCreateShader,"ub":_glCullFace,"m":_glDeleteBuffers,"G":_glDeleteProgram,"H":_glDeleteShader,"J":_glDeleteTextures,"Qb":_glDepthFunc,"I":_glDetachShader,"M":_glDisable,"h":_glDisableVertexAttribArray,"O":_glDrawArrays,"N":_glDrawElements,"x":_glEnable,"b":_glEnableVertexAttribArray,"jb":_glFrontFace,"f":_glGenBuffers,"Na":_glGenTextures,"u":_glGetAttribLocation,"Nc":_glGetFloatv,"Ba":_glGetProgramInfoLog,"F":_glGetProgramiv,"Ea":_glGetShaderInfoLog,"E":_glGetShaderiv,"n":_glGetString,"t":_glGetUniformLocation,"Ca":_glLinkProgram,"Pa":_glPixelStorei,"Ia":_glReadPixels,"Ga":_glShaderSource,"Ma":_glTexImage2D,"o":_glTexParameteri,"z":_glUniform1i,"q":_glUniform4f,"r":_glUniformMatrix4fv,"l":_glUseProgram,"Ja":_glVertexAttrib2f,"Ka":_glVertexAttrib3f,"s":_glVertexAttrib4f,"c":_glVertexAttribPointer,"$d":_glViewport,"B":_glfwCreateWindow,"pa":_glfwDefaultWindowHints,"Y":_glfwDestroyWindow,"C":_glfwGetPrimaryMonitor,"i":_glfwGetTime,"oa":_glfwGetVideoModes,"qa":_glfwInit,"da":_glfwMakeContextCurrent,"ia":_glfwSetCharCallback,"ea":_glfwSetCursorEnterCallback,"ga":_glfwSetCursorPosCallback,"ka":_glfwSetDropCallback,"ra":_glfwSetErrorCallback,"ja":_glfwSetKeyCallback,"ha":_glfwSetMouseButtonCallback,"fa":_glfwSetScrollCallback,"la":_glfwSetWindowFocusCallback,"ma":_glfwSetWindowIconifyCallback,"T":_glfwSetWindowShouldClose,"na":_glfwSetWindowSizeCallback,"X":_glfwSwapBuffers,"ca":_glfwSwapInterval,"A":_glfwTerminate,"g":_glfwWindowHint,"ba":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["de"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["ee"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["fe"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ge"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["he"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ie"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["je"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_cubicmap.wasm b/examples/web/models/models_cubicmap.wasm index 291ff44..5e677ea 100644 Binary files a/examples/web/models/models_cubicmap.wasm and b/examples/web/models/models_cubicmap.wasm differ diff --git a/examples/web/models/models_first_person_maze.c b/examples/web/models/models_first_person_maze.c index 54a26e1..3f7f5b2 100644 --- a/examples/web/models/models_first_person_maze.c +++ b/examples/web/models/models_first_person_maze.c @@ -71,7 +71,7 @@ int main(void) SetCameraMode(camera, CAMERA_FIRST_PERSON); // Set camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_first_person_maze.data b/examples/web/models/models_first_person_maze.data index c7df666..97220c0 100644 Binary files a/examples/web/models/models_first_person_maze.data and b/examples/web/models/models_first_person_maze.data differ diff --git a/examples/web/models/models_first_person_maze.html b/examples/web/models/models_first_person_maze.html index 6f240fd..95efb53 100644 --- a/examples/web/models/models_first_person_maze.html +++ b/examples/web/models/models_first_person_maze.html @@ -1,329 +1 @@ - - - - - - - raylib HTML5 GAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - - - - - +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_first_person_maze.js b/examples/web/models/models_first_person_maze.js index b1f07e3..96b92ca 100644 --- a/examples/web/models/models_first_person_maze.js +++ b/examples/web/models/models_first_person_maze.js @@ -1,9272 +1 @@ - - -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module !== 'undefined' ? Module : {}; - - - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - if (!Module.expectedDataFileDownloads) { - Module.expectedDataFileDownloads = 0; - } - Module.expectedDataFileDownloads++; - (function() { - var loadPackage = function(metadata) { - - var PACKAGE_PATH; - if (typeof window === 'object') { - PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); - } else if (typeof location !== 'undefined') { - // worker - PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); - } else { - throw 'using preloaded data can only be done on a web page or in a web worker'; - } - var PACKAGE_NAME = 'models/models_first_person_maze.data'; - var REMOTE_PACKAGE_BASE = 'models_first_person_maze.data'; - if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { - Module['locateFile'] = Module['locateFilePackage']; - err('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); - } - var REMOTE_PACKAGE_NAME = Module['locateFile'] ? Module['locateFile'](REMOTE_PACKAGE_BASE, '') : REMOTE_PACKAGE_BASE; - - var REMOTE_PACKAGE_SIZE = metadata['remote_package_size']; - var PACKAGE_UUID = metadata['package_uuid']; - - function fetchRemotePackage(packageName, packageSize, callback, errback) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', packageName, true); - xhr.responseType = 'arraybuffer'; - xhr.onprogress = function(event) { - var url = packageName; - var size = packageSize; - if (event.total) size = event.total; - if (event.loaded) { - if (!xhr.addedTotal) { - xhr.addedTotal = true; - if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; - Module.dataFileDownloads[url] = { - loaded: event.loaded, - total: size - }; - } else { - Module.dataFileDownloads[url].loaded = event.loaded; - } - var total = 0; - var loaded = 0; - var num = 0; - for (var download in Module.dataFileDownloads) { - var data = Module.dataFileDownloads[download]; - total += data.total; - loaded += data.loaded; - num++; - } - total = Math.ceil(total * Module.expectedDataFileDownloads/num); - if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); - } else if (!Module.dataFileDownloads) { - if (Module['setStatus']) Module['setStatus']('Downloading data...'); - } - }; - xhr.onerror = function(event) { - throw new Error("NetworkError for: " + packageName); - } - xhr.onload = function(event) { - if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - var packageData = xhr.response; - callback(packageData); - } else { - throw new Error(xhr.statusText + " : " + xhr.responseURL); - } - }; - xhr.send(null); - }; - - function handleError(error) { - console.error('package error:', error); - }; - - var fetchedCallback = null; - var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; - - if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { - if (fetchedCallback) { - fetchedCallback(data); - fetchedCallback = null; - } else { - fetched = data; - } - }, handleError); - - function runWithFS() { - - function assert(check, msg) { - if (!check) throw msg + new Error().stack; - } - Module['FS_createPath']('/', 'resources', true, true); - - /** @constructor */ - function DataRequest(start, end, audio) { - this.start = start; - this.end = end; - this.audio = audio; - } - DataRequest.prototype = { - requests: {}, - open: function(mode, name) { - this.name = name; - this.requests[name] = this; - Module['addRunDependency']('fp ' + this.name); - }, - send: function() {}, - onload: function() { - var byteArray = this.byteArray.subarray(this.start, this.end); - this.finish(byteArray); - }, - finish: function(byteArray) { - var that = this; - - Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change - Module['removeRunDependency']('fp ' + that.name); - - this.requests[this.name] = null; - } - }; - - var files = metadata['files']; - for (var i = 0; i < files.length; ++i) { - new DataRequest(files[i]['start'], files[i]['end'], files[i]['audio']).open('GET', files[i]['filename']); - } - - - function processPackageData(arrayBuffer) { - assert(arrayBuffer, 'Loading data file failed.'); - assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); - var byteArray = new Uint8Array(arrayBuffer); - var curr; - - // Reuse the bytearray from the XHR as the source for file reads. - DataRequest.prototype.byteArray = byteArray; - - var files = metadata['files']; - for (var i = 0; i < files.length; ++i) { - DataRequest.prototype.requests[files[i].filename].onload(); - } - Module['removeRunDependency']('datafile_models/models_first_person_maze.data'); - - }; - Module['addRunDependency']('datafile_models/models_first_person_maze.data'); - - if (!Module.preloadResults) Module.preloadResults = {}; - - Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; - if (fetched) { - processPackageData(fetched); - fetched = null; - } else { - fetchedCallback = processPackageData; - } - - } - if (Module['calledRun']) { - runWithFS(); - } else { - if (!Module['preRun']) Module['preRun'] = []; - Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it - } - - } - loadPackage({"files": [{"filename": "/resources/cubicmap.png", "start": 0, "end": 201, "audio": 0}, {"filename": "/resources/cubicmap_atlas.png", "start": 201, "end": 37426, "audio": 0}], "remote_package_size": 37426, "package_uuid": "09c5c8aa-87db-4ccc-ae8b-973854d522f0"}); - - })(); - - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {}; -var key; -for (key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = function(status, toThrow) { - throw toThrow; -}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -var ENVIRONMENT_IS_WEB = false; -var ENVIRONMENT_IS_WORKER = false; -var ENVIRONMENT_IS_NODE = false; -var ENVIRONMENT_IS_SHELL = false; -ENVIRONMENT_IS_WEB = typeof window === 'object'; -ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string'; -ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - - - - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var read_, - readAsync, - readBinary, - setWindowTitle; - -var nodeFS; -var nodePath; - -if (ENVIRONMENT_IS_NODE) { - if (ENVIRONMENT_IS_WORKER) { - scriptDirectory = require('path').dirname(scriptDirectory) + '/'; - } else { - scriptDirectory = __dirname + '/'; - } - - - - -read_ = function shell_read(filename, binary) { - if (!nodeFS) nodeFS = require('fs'); - if (!nodePath) nodePath = require('path'); - filename = nodePath['normalize'](filename); - return nodeFS['readFileSync'](filename, binary ? null : 'utf8'); -}; - -readBinary = function readBinary(filename) { - var ret = read_(filename, true); - if (!ret.buffer) { - ret = new Uint8Array(ret); - } - assert(ret.buffer); - return ret; -}; - - - - if (process['argv'].length > 1) { - thisProgram = process['argv'][1].replace(/\\/g, '/'); - } - - arguments_ = process['argv'].slice(2); - - if (typeof module !== 'undefined') { - module['exports'] = Module; - } - - process['on']('uncaughtException', function(ex) { - // suppress ExitStatus exceptions from showing an error - if (!(ex instanceof ExitStatus)) { - throw ex; - } - }); - - process['on']('unhandledRejection', abort); - - quit_ = function(status) { - process['exit'](status); - }; - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; - - - -} else -if (ENVIRONMENT_IS_SHELL) { - - - if (typeof read != 'undefined') { - read_ = function shell_read(f) { - return read(f); - }; - } - - readBinary = function readBinary(f) { - var data; - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - arguments_ = scriptArgs; - } else if (typeof arguments != 'undefined') { - arguments_ = arguments; - } - - if (typeof quit === 'function') { - quit_ = function(status) { - quit(status); - }; - } - - if (typeof print !== 'undefined') { - // Prefer to use print/printErr where they exist, as they usually work better. - if (typeof console === 'undefined') console = /** @type{!Console} */({}); - console.log = /** @type{!function(this:Console, ...*): undefined} */ (print); - console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr !== 'undefined' ? printErr : print); - } - - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - if (scriptDirectory.indexOf('blob:') !== 0) { - scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/')+1); - } else { - scriptDirectory = ''; - } - - - // Differentiate the Web Worker from the Node Worker case, as reading must - // be done differently. - { - - - - - read_ = function shell_read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (ENVIRONMENT_IS_WORKER) { - readBinary = function readBinary(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = function readAsync(url, onload, onerror) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = function xhr_onload() { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - onload(xhr.response); - return; - } - onerror(); - }; - xhr.onerror = onerror; - xhr.send(null); - }; - - - - - } - - setWindowTitle = function(title) { document.title = title }; -} else -{ -} - - -// Set up the out() and err() hooks, which are how we can print to stdout or -// stderr, respectively. -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.warn.bind(console); - -// Merge back in the overrides -for (key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. -moduleOverrides = null; - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. -if (Module['arguments']) arguments_ = Module['arguments']; -if (Module['thisProgram']) thisProgram = Module['thisProgram']; -if (Module['quit']) quit_ = Module['quit']; - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message - - - - - -// {{PREAMBLE_ADDITIONS}} - -var STACK_ALIGN = 16; - -function alignMemory(size, factor) { - if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default - return Math.ceil(size / factor) * factor; -} - -function getNativeTypeSize(type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return 4; // A pointer - } else if (type[0] === 'i') { - var bits = Number(type.substr(1)); - assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type); - return bits / 8; - } else { - return 0; - } - } - } -} - -function warnOnce(text) { - if (!warnOnce.shown) warnOnce.shown = {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - err(text); - } -} - - - - - -// Wraps a JS function as a wasm function with a given signature. -function convertJsFunctionToWasm(func, sig) { - - // If the type reflection proposal is available, use the new - // "WebAssembly.Function" constructor. - // Otherwise, construct a minimal wasm module importing the JS function and - // re-exporting it. - if (typeof WebAssembly.Function === "function") { - var typeNames = { - 'i': 'i32', - 'j': 'i64', - 'f': 'f32', - 'd': 'f64' - }; - var type = { - parameters: [], - results: sig[0] == 'v' ? [] : [typeNames[sig[0]]] - }; - for (var i = 1; i < sig.length; ++i) { - type.parameters.push(typeNames[sig[i]]); - } - return new WebAssembly.Function(type, func); - } - - // The module is static, with the exception of the type section, which is - // generated based on the signature passed in. - var typeSection = [ - 0x01, // id: section, - 0x00, // length: 0 (placeholder) - 0x01, // count: 1 - 0x60, // form: func - ]; - var sigRet = sig.slice(0, 1); - var sigParam = sig.slice(1); - var typeCodes = { - 'i': 0x7f, // i32 - 'j': 0x7e, // i64 - 'f': 0x7d, // f32 - 'd': 0x7c, // f64 - }; - - // Parameters, length + signatures - typeSection.push(sigParam.length); - for (var i = 0; i < sigParam.length; ++i) { - typeSection.push(typeCodes[sigParam[i]]); - } - - // Return values, length + signatures - // With no multi-return in MVP, either 0 (void) or 1 (anything else) - if (sigRet == 'v') { - typeSection.push(0x00); - } else { - typeSection = typeSection.concat([0x01, typeCodes[sigRet]]); - } - - // Write the overall length of the type section back into the section header - // (excepting the 2 bytes for the section id and length) - typeSection[1] = typeSection.length - 2; - - // Rest of the module is static - var bytes = new Uint8Array([ - 0x00, 0x61, 0x73, 0x6d, // magic ("\0asm") - 0x01, 0x00, 0x00, 0x00, // version: 1 - ].concat(typeSection, [ - 0x02, 0x07, // import section - // (import "e" "f" (func 0 (type 0))) - 0x01, 0x01, 0x65, 0x01, 0x66, 0x00, 0x00, - 0x07, 0x05, // export section - // (export "f" (func 0 (type 0))) - 0x01, 0x01, 0x66, 0x00, 0x00, - ])); - - // We can compile this wasm module synchronously because it is very small. - // This accepts an import (at "e.f"), that it reroutes to an export (at "f") - var module = new WebAssembly.Module(bytes); - var instance = new WebAssembly.Instance(module, { - 'e': { - 'f': func - } - }); - var wrappedFunc = instance.exports['f']; - return wrappedFunc; -} - -var freeTableIndexes = []; - -// Weak map of functions in the table to their indexes, created on first use. -var functionsInTableMap; - -// Add a wasm function to the table. -function addFunctionWasm(func, sig) { - var table = wasmTable; - - // Check if the function is already in the table, to ensure each function - // gets a unique index. First, create the map if this is the first use. - if (!functionsInTableMap) { - functionsInTableMap = new WeakMap(); - for (var i = 0; i < table.length; i++) { - var item = table.get(i); - // Ignore null values. - if (item) { - functionsInTableMap.set(item, i); - } - } - } - if (functionsInTableMap.has(func)) { - return functionsInTableMap.get(func); - } - - // It's not in the table, add it now. - - - var ret; - // Reuse a free index if there is one, otherwise grow. - if (freeTableIndexes.length) { - ret = freeTableIndexes.pop(); - } else { - ret = table.length; - // Grow the table - try { - table.grow(1); - } catch (err) { - if (!(err instanceof RangeError)) { - throw err; - } - throw 'Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.'; - } - } - - // Set the new value. - try { - // Attempting to call this with JS function will cause of table.set() to fail - table.set(ret, func); - } catch (err) { - if (!(err instanceof TypeError)) { - throw err; - } - var wrapped = convertJsFunctionToWasm(func, sig); - table.set(ret, wrapped); - } - - functionsInTableMap.set(func, ret); - - return ret; -} - -function removeFunctionWasm(index) { - functionsInTableMap.delete(wasmTable.get(index)); - freeTableIndexes.push(index); -} - -// 'sig' parameter is required for the llvm backend but only when func is not -// already a WebAssembly function. -function addFunction(func, sig) { - - return addFunctionWasm(func, sig); -} - -function removeFunction(index) { - removeFunctionWasm(index); -} - - - - - - - - - -function makeBigInt(low, high, unsigned) { - return unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0)); -} - -var tempRet0 = 0; - -var setTempRet0 = function(value) { - tempRet0 = value; -}; - -var getTempRet0 = function() { - return tempRet0; -}; - - -// The address globals begin at. Very low in memory, for code size and optimization opportunities. -// Above 0 is static memory, starting with globals. -// Then the stack. -// Then 'dynamic' memory for sbrk. -var GLOBAL_BASE = 1024; - - - - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - - -var wasmBinary;if (Module['wasmBinary']) wasmBinary = Module['wasmBinary']; -var noExitRuntime;if (Module['noExitRuntime']) noExitRuntime = Module['noExitRuntime']; - - -if (typeof WebAssembly !== 'object') { - abort('no native wasm support detected'); -} - - - - -// In MINIMAL_RUNTIME, setValue() and getValue() are only available when building with safe heap enabled, for heap safety checking. -// In traditional runtime, setValue() and getValue() are always available (although their use is highly discouraged due to perf penalties) - -/** @param {number} ptr - @param {number} value - @param {string} type - @param {number|boolean=} noSafe */ -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': HEAP8[((ptr)>>0)]=value; break; - case 'i8': HEAP8[((ptr)>>0)]=value; break; - case 'i16': HEAP16[((ptr)>>1)]=value; break; - case 'i32': HEAP32[((ptr)>>2)]=value; break; - case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; - case 'float': HEAPF32[((ptr)>>2)]=value; break; - case 'double': HEAPF64[((ptr)>>3)]=value; break; - default: abort('invalid type for setValue: ' + type); - } -} - -/** @param {number} ptr - @param {string} type - @param {number|boolean=} noSafe */ -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for getValue: ' + type); - } - return null; -} - - - - - - -// Wasm globals - -var wasmMemory; - -// In fastcomp asm.js, we don't need a wasm Table at all. -// In the wasm backend, we polyfill the WebAssembly object, -// so this creates a (non-native-wasm) table for us. - -var wasmTable = new WebAssembly.Table({ - 'initial': 196, - 'maximum': 196, - 'element': 'anyfunc' -}); - - - - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS = 0; - -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported'); - return func; -} - -// C calling interface. -/** @param {string|null=} returnType - @param {Array=} argTypes - @param {Arguments|Array=} args - @param {Object=} opts */ -function ccall(ident, returnType, argTypes, args, opts) { - // For fast lookup of conversion functions - var toC = { - 'string': function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - var len = (str.length << 2) + 1; - ret = stackAlloc(len); - stringToUTF8(str, ret, len); - } - return ret; - }, - 'array': function(arr) { - var ret = stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - } - }; - - function convertReturnValue(ret) { - if (returnType === 'string') return UTF8ToString(ret); - if (returnType === 'boolean') return Boolean(ret); - return ret; - } - - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - - ret = convertReturnValue(ret); - if (stack !== 0) stackRestore(stack); - return ret; -} - -/** @param {string=} returnType - @param {Array=} argTypes - @param {Object=} opts */ -function cwrap(ident, returnType, argTypes, opts) { - argTypes = argTypes || []; - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = returnType !== 'string'; - if (numericRet && numericArgs && !opts) { - return getCFunc(ident); - } - return function() { - return ccall(ident, returnType, argTypes, arguments, opts); - } -} - - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call -var ALLOC_NONE = 2; // Do not allocate - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data, or a number. If a number, then the size of the block to allocate, -// in *bytes* (note that this is sometimes confusing: the next parameter does not -// affect this!) -// @types: Either an array of types, one for each byte (or 0 if no type at that position), -// or a single type which is used for the entire block. This only matters if there -// is initial data - if @slab is a number, then this does not matter at all and is -// ignored. -// @allocator: How to allocate memory, see ALLOC_* -/** @type {function((TypedArray|Array|number), string, number, number=)} */ -function allocate(slab, types, allocator, ptr) { - var zeroinit, size; - if (typeof slab === 'number') { - zeroinit = true; - size = slab; - } else { - zeroinit = false; - size = slab.length; - } - - var singleType = typeof types === 'string' ? types : null; - - var ret; - if (allocator == ALLOC_NONE) { - ret = ptr; - } else { - ret = [_malloc, - stackAlloc, - ][allocator](Math.max(size, singleType ? 1 : types.length)); - } - - if (zeroinit) { - var stop; - ptr = ret; - assert((ret & 3) == 0); - stop = ret + (size & ~3); - for (; ptr < stop; ptr += 4) { - HEAP32[((ptr)>>2)]=0; - } - stop = ret + size; - while (ptr < stop) { - HEAP8[((ptr++)>>0)]=0; - } - return ret; - } - - if (singleType === 'i8') { - if (slab.subarray || slab.slice) { - HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; - } - - var i = 0, type, typeSize, previousType; - while (i < size) { - var curr = slab[i]; - - type = singleType || types[i]; - if (type === 0) { - i++; - continue; - } - - if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later - - setValue(ret+i, curr, type); - - // no need to look up size unless type changes, so cache it - if (previousType !== type) { - typeSize = getNativeTypeSize(type); - previousType = type; - } - i += typeSize; - } - - return ret; -} - - - - -// runtime_strings.js: Strings related runtime functions that are part of both MINIMAL_RUNTIME and regular runtime. - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; - -/** - * @param {number} idx - * @param {number=} maxBytesToRead - * @return {string} - */ -function UTF8ArrayToString(heap, idx, maxBytesToRead) { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, so that undefined means Infinity) - while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) { - return UTF8Decoder.decode(heap.subarray(idx, endPtr)); - } else { - var str = ''; - // If building with TextDecoder, we have already computed the string length above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heap[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heap[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heap[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heap[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - } - return str; -} - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns a -// copy of that string as a Javascript String object. -// maxBytesToRead: an optional length that specifies the maximum number of bytes to read. You can omit -// this parameter to scan the string until the first \0 byte. If maxBytesToRead is -// passed, and the string at [ptr, ptr+maxBytesToReadr[ contains a null byte in the -// middle, then the string will cut short at that byte index (i.e. maxBytesToRead will -// not produce a string of exact length [ptr, ptr+maxBytesToRead[) -// N.B. mixing frequent uses of UTF8ToString() with and without maxBytesToRead may -// throw JS JIT optimizations off, so it is worth to consider consistently using one -// style or the other. -/** - * @param {number} ptr - * @param {number=} maxBytesToRead - * @return {string} - */ -function UTF8ToString(ptr, maxBytesToRead) { - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; -} - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// heap: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. -// This count should include the null terminator, -// i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) ++len; - else if (u <= 0x7FF) len += 2; - else if (u <= 0xFFFF) len += 3; - else len += 4; - } - return len; -} - - - - - -// runtime_strings_extra.js: Strings related runtime functions that are available only in regular runtime. - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAPU8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; - -function UTF16ToString(ptr, maxBytesToRead) { - var endPtr = ptr; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - var idx = endPtr >> 1; - var maxIdx = idx + maxBytesToRead / 2; - // If maxBytesToRead is not passed explicitly, it will be undefined, and this - // will always evaluate to true. This saves on code size. - while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx; - endPtr = idx << 1; - - if (endPtr - ptr > 32 && UTF16Decoder) { - return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); - } else { - var i = 0; - - var str = ''; - while (1) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0 || i == maxBytesToRead / 2) return str; - ++i; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } - } -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)]=codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)]=0; - return outPtr - startPtr; -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} - -function UTF32ToString(ptr, maxBytesToRead) { - var i = 0; - - var str = ''; - // If maxBytesToRead is not passed explicitly, it will be undefined, and this - // will always evaluate to true. This saves on code size. - while (!(i >= maxBytesToRead / 4)) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) break; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } - return str; -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)]=codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)]=0; - return outPtr - startPtr; -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} - -// Allocate heap space for a JS string, and write it there. -// It is the responsibility of the caller to free() that memory. -function allocateUTF8(str) { - var size = lengthBytesUTF8(str) + 1; - var ret = _malloc(size); - if (ret) stringToUTF8Array(str, HEAP8, ret, size); - return ret; -} - -// Allocate stack space for a JS string, and write it there. -function allocateUTF8OnStack(str) { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8Array(str, HEAP8, ret, size); - return ret; -} - -// Deprecated: This function should not be called because it is unsafe and does not provide -// a maximum length limit of how many bytes it is allowed to write. Prefer calling the -// function stringToUTF8Array() instead, which takes in a maximum length that can be used -// to be secure from out of bounds writes. -/** @deprecated - @param {boolean=} dontAddNull */ -function writeStringToMemory(string, buffer, dontAddNull) { - warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); - - var /** @type {number} */ lastChar, /** @type {number} */ end; - if (dontAddNull) { - // stringToUTF8Array always appends null. If we don't want to do that, remember the - // character that existed at the location where the null will be placed, and restore - // that after the write (below). - end = buffer + lengthBytesUTF8(string); - lastChar = HEAP8[end]; - } - stringToUTF8(string, buffer, Infinity); - if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. -} - -function writeArrayToMemory(array, buffer) { - HEAP8.set(array, buffer); -} - -/** @param {boolean=} dontAddNull */ -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - HEAP8[((buffer++)>>0)]=str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)]=0; -} - - - -// Memory management - -var PAGE_SIZE = 16384; -var WASM_PAGE_SIZE = 65536; - -function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - (x % multiple); - } - return x; -} - -var HEAP, -/** @type {ArrayBuffer} */ - buffer, -/** @type {Int8Array} */ - HEAP8, -/** @type {Uint8Array} */ - HEAPU8, -/** @type {Int16Array} */ - HEAP16, -/** @type {Uint16Array} */ - HEAPU16, -/** @type {Int32Array} */ - HEAP32, -/** @type {Uint32Array} */ - HEAPU32, -/** @type {Float32Array} */ - HEAPF32, -/** @type {Float64Array} */ - HEAPF64; - -function updateGlobalBufferAndViews(buf) { - buffer = buf; - Module['HEAP8'] = HEAP8 = new Int8Array(buf); - Module['HEAP16'] = HEAP16 = new Int16Array(buf); - Module['HEAP32'] = HEAP32 = new Int32Array(buf); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(buf); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(buf); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(buf); - Module['HEAPF32'] = HEAPF32 = new Float32Array(buf); - Module['HEAPF64'] = HEAPF64 = new Float64Array(buf); -} - -var STACK_BASE = 5284032, - STACKTOP = STACK_BASE, - STACK_MAX = 41152, - DYNAMIC_BASE = 5284032; - - - - -var TOTAL_STACK = 5242880; - -var INITIAL_INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216; - - - -// In non-standalone/normal mode, we create the memory here. - - - -// Create the main memory. (Note: this isn't used in STANDALONE_WASM mode since the wasm -// memory is created in the wasm, not in JS.) - - if (Module['wasmMemory']) { - wasmMemory = Module['wasmMemory']; - } else - { - wasmMemory = new WebAssembly.Memory({ - 'initial': INITIAL_INITIAL_MEMORY / WASM_PAGE_SIZE - , - 'maximum': INITIAL_INITIAL_MEMORY / WASM_PAGE_SIZE - }); - } - - -if (wasmMemory) { - buffer = wasmMemory.buffer; -} - -// If the user provides an incorrect length, just use that length instead rather than providing the user to -// specifically provide the memory length with Module['INITIAL_MEMORY']. -INITIAL_INITIAL_MEMORY = buffer.byteLength; -updateGlobalBufferAndViews(buffer); - - - - - - - - - - - - - - - -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the main() is called - -var runtimeInitialized = false; -var runtimeExited = false; - - -function preRun() { - - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - - callRuntimeCallbacks(__ATPRERUN__); -} - -function initRuntime() { - runtimeInitialized = true; - if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); -TTY.init(); - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - FS.ignorePermissions = false; - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - runtimeExited = true; -} - -function postRun() { - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} - -function addOnExit(cb) { -} - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} - - - - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc - - -var Math_abs = Math.abs; -var Math_cos = Math.cos; -var Math_sin = Math.sin; -var Math_tan = Math.tan; -var Math_acos = Math.acos; -var Math_asin = Math.asin; -var Math_atan = Math.atan; -var Math_atan2 = Math.atan2; -var Math_exp = Math.exp; -var Math_log = Math.log; -var Math_sqrt = Math.sqrt; -var Math_ceil = Math.ceil; -var Math_floor = Math.floor; -var Math_pow = Math.pow; -var Math_imul = Math.imul; -var Math_fround = Math.fround; -var Math_round = Math.round; -var Math_min = Math.min; -var Math_max = Math.max; -var Math_clz32 = Math.clz32; -var Math_trunc = Math.trunc; - - - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled - -function getUniqueRunDependency(id) { - return id; -} - -function addRunDependency(id) { - runDependencies++; - - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - -} - -function removeRunDependency(id) { - runDependencies--; - - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - -/** @param {string|number=} what */ -function abort(what) { - if (Module['onAbort']) { - Module['onAbort'](what); - } - - what += ''; - err(what); - - ABORT = true; - EXITSTATUS = 1; - - what = 'abort(' + what + '). Build with -s ASSERTIONS=1 for more info.'; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -var memoryInitializer = null; - - - - - - - - - - - -function hasPrefix(str, prefix) { - return String.prototype.startsWith ? - str.startsWith(prefix) : - str.indexOf(prefix) === 0; -} - -// Prefix of data URIs emitted by SINGLE_FILE and related options. -var dataURIPrefix = 'data:application/octet-stream;base64,'; - -// Indicates whether filename is a base64 data URI. -function isDataURI(filename) { - return hasPrefix(filename, dataURIPrefix); -} - -var fileURIPrefix = "file://"; - -// Indicates whether filename is delivered via file protocol (as opposed to http/https) -function isFileURI(filename) { - return hasPrefix(filename, fileURIPrefix); -} - - - - - -var wasmBinaryFile = 'models_first_person_maze.wasm'; -if (!isDataURI(wasmBinaryFile)) { - wasmBinaryFile = locateFile(wasmBinaryFile); -} - -function getBinary() { - try { - if (wasmBinary) { - return new Uint8Array(wasmBinary); - } - - if (readBinary) { - return readBinary(wasmBinaryFile); - } else { - throw "both async and sync fetching of the wasm failed"; - } - } - catch (err) { - abort(err); - } -} - -function getBinaryPromise() { - // If we don't have the binary yet, and have the Fetch api, use that; - // in some environments, like Electron's render process, Fetch api may be present, but have a different context than expected, let's only use it on the Web - if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === 'function' - // Let's not use fetch to get objects over file:// as it's most likely Cordova which doesn't support fetch for file:// - && !isFileURI(wasmBinaryFile) - ) { - return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) { - if (!response['ok']) { - throw "failed to load wasm binary file at '" + wasmBinaryFile + "'"; - } - return response['arrayBuffer'](); - }).catch(function () { - return getBinary(); - }); - } - // Otherwise, getBinary should be able to get it synchronously - return Promise.resolve().then(getBinary); -} - - - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -function createWasm() { - // prepare imports - var info = { - 'env': asmLibraryArg, - 'wasi_snapshot_preview1': asmLibraryArg - }; - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - var exports = instance.exports; - Module['asm'] = exports; - removeRunDependency('wasm-instantiate'); - } - // we can't run yet (except in a pthread, where we have a custom sync instantiator) - addRunDependency('wasm-instantiate'); - - - function receiveInstantiatedSource(output) { - // 'output' is a WebAssemblyInstantiatedSource object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above USE_PTHREADS-enabled path. - receiveInstance(output['instance']); - } - - - function instantiateArrayBuffer(receiver) { - return getBinaryPromise().then(function(binary) { - return WebAssembly.instantiate(binary, info); - }).then(receiver, function(reason) { - err('failed to asynchronously prepare wasm: ' + reason); - - - abort(reason); - }); - } - - // Prefer streaming instantiation if available. - function instantiateAsync() { - if (!wasmBinary && - typeof WebAssembly.instantiateStreaming === 'function' && - !isDataURI(wasmBinaryFile) && - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - !isFileURI(wasmBinaryFile) && - typeof fetch === 'function') { - fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function (response) { - var result = WebAssembly.instantiateStreaming(response, info); - return result.then(receiveInstantiatedSource, function(reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err('wasm streaming compile failed: ' + reason); - err('falling back to ArrayBuffer instantiation'); - return instantiateArrayBuffer(receiveInstantiatedSource); - }); - }); - } else { - return instantiateArrayBuffer(receiveInstantiatedSource); - } - } - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel - // to any other async startup actions they are performing. - if (Module['instantiateWasm']) { - try { - var exports = Module['instantiateWasm'](info, receiveInstance); - return exports; - } catch(e) { - err('Module.instantiateWasm callback failed with error: ' + e); - return false; - } - } - - instantiateAsync(); - return {}; // no exports yet; we'll fill them in later -} - -// Globals used by JS i64 conversions -var tempDouble; -var tempI64; - -// === Body === - -var ASM_CONSTS = { - -}; - - - - - -/* no memory initializer */ -// {{PRE_LIBRARY}} - - - function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(Module); // Pass the module as the first argument. - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - wasmTable.get(func)(); - } else { - wasmTable.get(func)(callback.arg); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } - } - - function demangle(func) { - return func; - } - - function demangleAll(text) { - var regex = - /\b_Z[\w\d_]+/g; - return text.replace(regex, - function(x) { - var y = demangle(x); - return x === y ? x : (y + ' [' + x + ']'); - }); - } - - - function dynCallLegacy(sig, ptr, args) { - if (args && args.length) { - return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); - } - return Module['dynCall_' + sig].call(null, ptr); - }function dynCall(sig, ptr, args) { - // Without WASM_BIGINT support we cannot directly call function with i64 as - // part of thier signature, so we rely the dynCall functions generated by - // wasm-emscripten-finalize - if (sig.indexOf('j') != -1) { - return dynCallLegacy(sig, ptr, args); - } - - return wasmTable.get(ptr).apply(null, args) - } - - function jsStackTrace() { - var error = new Error(); - if (!error.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - try { - throw new Error(); - } catch(e) { - error = e; - } - if (!error.stack) { - return '(no stack trace available)'; - } - } - return error.stack.toString(); - } - - function stackTrace() { - var js = jsStackTrace(); - if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); - return demangleAll(js); - } - - function ___assert_fail(condition, filename, line, func) { - abort('Assertion failed: ' + UTF8ToString(condition) + ', at: ' + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']); - } - - - function setErrNo(value) { - HEAP32[((___errno_location())>>2)]=value; - return value; - } - - - var PATH={splitPath:function(filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - },normalizeArray:function(parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - },normalize:function(path) { - var isAbsolute = path.charAt(0) === '/', - trailingSlash = path.substr(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - },dirname:function(path) { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.substr(0, dir.length - 1); - } - return root + dir; - },basename:function(path) { - // EMSCRIPTEN return '/'' for '/', not an empty string - if (path === '/') return '/'; - path = PATH.normalize(path); - path = path.replace(/\/$/, ""); - var lastSlash = path.lastIndexOf('/'); - if (lastSlash === -1) return path; - return path.substr(lastSlash+1); - },extname:function(path) { - return PATH.splitPath(path)[3]; - },join:function() { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join('/')); - },join2:function(l, r) { - return PATH.normalize(l + '/' + r); - }}; - - - var PATH_FS={resolve:function() { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - },relative:function(from, to) { - from = PATH_FS.resolve(from).substr(1); - to = PATH_FS.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }}; - - var TTY={ttys:[],init:function () { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process['stdin']['setEncoding']('utf8'); - // } - },shutdown:function() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process['stdin']['pause'](); - // } - },register:function(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - },stream_ops:{open:function(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - },close:function(stream) { - // flush any pending line data - stream.tty.ops.flush(stream.tty); - },flush:function(stream) { - stream.tty.ops.flush(stream.tty); - },read:function(stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - },write:function(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - }},default_tty_ops:{get_char:function(tty) { - if (!tty.input.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); - var bytesRead = 0; - - try { - bytesRead = nodeFS.readSync(process.stdin.fd, buf, 0, BUFSIZE, null); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, - // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. - if (e.toString().indexOf('EOF') != -1) bytesRead = 0; - else throw e; - } - - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } else { - result = null; - } - } else - if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else if (typeof readline == 'function') { - // Command line. - result = readline(); - if (result !== null) { - result += '\n'; - } - } - if (!result) { - return null; - } - tty.input = intArrayFromString(result, true); - } - return tty.input.shift(); - },put_char:function(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - },flush:function(tty) { - if (tty.output && tty.output.length > 0) { - out(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }},default_tty1_ops:{put_char:function(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - },flush:function(tty) { - if (tty.output && tty.output.length > 0) { - err(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }}}; - - var MEMFS={ops_table:null,mount:function(mount) { - return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - },createNode:function(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(63); - } - if (!MEMFS.ops_table) { - MEMFS.ops_table = { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - } - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.timestamp = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - } - return node; - },getFileDataAsRegularArray:function(node) { - if (node.contents && node.contents.subarray) { - var arr = []; - for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); - return arr; // Returns a copy of the original data. - } - return node.contents; // No-op, the file contents are already in a JS array. Return as-is. - },getFileDataAsTypedArray:function(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - },expandFileStorage:function(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - return; - },resizeFileStorage:function(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - return; - } - if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - return; - } - // Backing with a JS array. - if (!node.contents) node.contents = []; - if (node.contents.length > newSize) node.contents.length = newSize; - else while (node.contents.length < newSize) node.contents.push(0); - node.usedBytes = newSize; - },node_ops:{getattr:function(node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.timestamp); - attr.mtime = new Date(node.timestamp); - attr.ctime = new Date(node.timestamp); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - },setattr:function(node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - },lookup:function(parent, name) { - throw FS.genericErrors[44]; - },mknod:function(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - },rename:function(old_node, new_dir, new_name) { - // if we're overwriting a directory at new_name, make sure it's empty. - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - } - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - old_node.parent = new_dir; - },unlink:function(parent, name) { - delete parent.contents[name]; - },rmdir:function(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - },readdir:function(node) { - var entries = ['.', '..']; - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - },symlink:function(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); - node.link = oldpath; - return node; - },readlink:function(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - }},stream_ops:{read:function(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - },write:function(stream, buffer, offset, length, position, canOwn) { - - if (!length) return 0; - var node = stream.node; - node.timestamp = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) { - // Use typed array write which is available. - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - },llseek:function(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - },allocate:function(stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); - },mmap:function(stream, address, length, position, prot, flags) { - // We don't currently support location hints for the address of the mapping - assert(address === 0); - - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if (!(flags & 2) && contents.buffer === buffer) { - // We can't emulate MAP_SHARED when the file is not backed by the buffer - // we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - allocated = true; - ptr = FS.mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - HEAP8.set(contents, ptr); - } - return { ptr: ptr, allocated: allocated }; - },msync:function(stream, buffer, offset, length, mmapFlags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (mmapFlags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - - var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e) { - if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); - return setErrNo(e.errno); - },lookupPath:function(path, opts) { - path = PATH_FS.resolve(FS.cwd(), path); - opts = opts || {}; - - if (!path) return { path: '', node: null }; - - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - for (var key in defaults) { - if (opts[key] === undefined) { - opts[key] = defaults[key]; - } - } - - if (opts.recurse_count > 8) { // max recursive lookup of 8 - throw new FS.ErrnoError(32); - } - - // split the path - var parts = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), false); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current)) { - if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root; - } - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH_FS.resolve(PATH.dirname(current_path), link); - - var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); - current = lookup.node; - - if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - throw new FS.ErrnoError(32); - } - } - } - } - - return { path: current_path, node: current }; - },getPath:function(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; - } - path = path ? node.name + '/' + path : node.name; - node = node.parent; - } - },hashName:function(parentid, name) { - var hash = 0; - - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - },hashAddNode:function(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - },hashRemoveNode:function(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - },lookupNode:function(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode, parent); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - },createNode:function(parent, name, mode, rdev) { - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - },destroyNode:function(node) { - FS.hashRemoveNode(node); - },isRoot:function(node) { - return node === node.parent; - },isMountpoint:function(node) { - return !!node.mounted; - },isFile:function(mode) { - return (mode & 61440) === 32768; - },isDir:function(mode) { - return (mode & 61440) === 16384; - },isLink:function(mode) { - return (mode & 61440) === 40960; - },isChrdev:function(mode) { - return (mode & 61440) === 8192; - },isBlkdev:function(mode) { - return (mode & 61440) === 24576; - },isFIFO:function(mode) { - return (mode & 61440) === 4096; - },isSocket:function(mode) { - return (mode & 49152) === 49152; - },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str) { - var flags = FS.flagModes[str]; - if (typeof flags === 'undefined') { - throw new Error('Unknown file open mode: ' + str); - } - return flags; - },flagsToPermissionString:function(flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - },nodePermissions:function(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { - return 2; - } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { - return 2; - } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { - return 2; - } - return 0; - },mayLookup:function(dir) { - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - },mayCreate:function(dir, name) { - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - },mayDelete:function(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, 'wx'); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - },mayOpen:function(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write - (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - },MAX_OPEN_FDS:4096,nextfd:function(fd_start, fd_end) { - fd_start = fd_start || 0; - fd_end = fd_end || FS.MAX_OPEN_FDS; - for (var fd = fd_start; fd <= fd_end; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - },getStream:function(fd) { - return FS.streams[fd]; - },createStream:function(stream, fd_start, fd_end) { - if (!FS.FSStream) { - FS.FSStream = /** @constructor */ function(){}; - FS.FSStream.prototype = { - object: { - get: function() { return this.node; }, - set: function(val) { this.node = val; } - }, - isRead: { - get: function() { return (this.flags & 2097155) !== 1; } - }, - isWrite: { - get: function() { return (this.flags & 2097155) !== 0; } - }, - isAppend: { - get: function() { return (this.flags & 1024); } - } - }; - } - // clone it, so we can return an instance of FSStream - var newStream = new FS.FSStream(); - for (var p in stream) { - newStream[p] = stream[p]; - } - stream = newStream; - var fd = FS.nextfd(fd_start, fd_end); - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - },closeStream:function(fd) { - FS.streams[fd] = null; - },chrdev_stream_ops:{open:function(stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - },llseek:function() { - throw new FS.ErrnoError(70); - }},major:function(dev) { - return ((dev) >> 8); - },minor:function(dev) { - return ((dev) & 0xff); - },makedev:function(ma, mi) { - return ((ma) << 8 | (mi)); - },registerDevice:function(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - },getDevice:function(dev) { - return FS.devices[dev]; - },getMounts:function(mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push.apply(check, m.mounts); - } - - return mounts; - },syncfs:function(populate, callback) { - if (typeof(populate) === 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - err('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(errCode) { - FS.syncFSRequests--; - return callback(errCode); - } - - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach(function (mount) { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - },mount:function(type, opts, mountpoint) { - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - - var mount = { - type: type, - opts: opts, - mountpoint: mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - },unmount:function (mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach(function (hash) { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.indexOf(current.mount) !== -1) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - node.mount.mounts.splice(idx, 1); - },lookup:function(parent, name) { - return parent.node_ops.lookup(parent, name); - },mknod:function(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === '.' || name === '..') { - throw new FS.ErrnoError(28); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - },create:function(path, mode) { - mode = mode !== undefined ? mode : 438 /* 0666 */; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - },mkdir:function(path, mode) { - mode = mode !== undefined ? mode : 511 /* 0777 */; - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - },mkdirTree:function(path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var i = 0; i < dirs.length; ++i) { - if (!dirs[i]) continue; - d += '/' + dirs[i]; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != 20) throw e; - } - } - },mkdev:function(path, mode, dev) { - if (typeof(dev) === 'undefined') { - dev = mode; - mode = 438 /* 0666 */; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - },symlink:function(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - },rename:function(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - - // let the errors from non existant directories percolate up - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(28); - } - // new path should not be an ancestor of the old path - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(55); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - errCode = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - try { - if (FS.trackingDelegate['willMovePath']) { - FS.trackingDelegate['willMovePath'](old_path, new_path); - } - } catch(e) { - err("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - try { - if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); - } catch(e) { - err("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - },rmdir:function(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readdir:function(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(54); - } - return node.node_ops.readdir(node); - },unlink:function(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readlink:function(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); - },stat:function(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(44); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(63); - } - return node.node_ops.getattr(node); - },lstat:function(path) { - return FS.stat(path, true); - },chmod:function(path, mode, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - node.node_ops.setattr(node, { - mode: (mode & 4095) | (node.mode & ~4095), - timestamp: Date.now() - }); - },lchmod:function(path, mode) { - FS.chmod(path, mode, true); - },fchmod:function(fd, mode) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - FS.chmod(stream.node, mode); - },chown:function(path, uid, gid, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - node.node_ops.setattr(node, { - timestamp: Date.now() - // we ignore the uid / gid for now - }); - },lchown:function(path, uid, gid) { - FS.chown(path, uid, gid, true); - },fchown:function(fd, uid, gid) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - FS.chown(stream.node, uid, gid); - },truncate:function(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - node.node_ops.setattr(node, { - size: len, - timestamp: Date.now() - }); - },ftruncate:function(fd, len) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.truncate(stream.node, len); - },utime:function(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - node.node_ops.setattr(node, { - timestamp: Math.max(atime, mtime) - }); - },open:function(path, flags, mode, fd_start, fd_end) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; - mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - if (typeof path === 'object') { - node = path; - } else { - path = PATH.normalize(path); - try { - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072) - }); - node = lookup.node; - } catch (e) { - // ignore - } - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(20); - } - } else { - // node doesn't exist, try to create it - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // do truncation if necessary - if ((flags & 512)) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512 | 131072); - - // register the stream with the filesystem - var stream = FS.createStream({ - node: node, - path: FS.getPath(node), // we want the absolute path to the node - flags: flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }, fd_start, fd_end); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - err("FS.trackingDelegate error on read file: " + path); - } - } - try { - if (FS.trackingDelegate['onOpenFile']) { - var trackingFlags = 0; - if ((flags & 2097155) !== 1) { - trackingFlags |= FS.tracking.openFlags.READ; - } - if ((flags & 2097155) !== 0) { - trackingFlags |= FS.tracking.openFlags.WRITE; - } - FS.trackingDelegate['onOpenFile'](path, trackingFlags); - } - } catch(e) { - err("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); - } - return stream; - },close:function(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - },isClosed:function(stream) { - return stream.fd === null; - },llseek:function(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - },read:function(stream, buffer, offset, length, position) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position !== 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - },write:function(stream, buffer, offset, length, position, canOwn) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = typeof position !== 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - try { - if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); - } catch(e) { - err("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: " + e.message); - } - return bytesWritten; - },allocate:function(stream, offset, length) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(28); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(138); - } - stream.stream_ops.allocate(stream, offset, length); - },mmap:function(stream, address, length, position, prot, flags) { - // User requests writing to file (prot & PROT_WRITE != 0). - // Checking if we have permissions to write to the file unless - // MAP_PRIVATE flag is set. According to POSIX spec it is possible - // to write to file opened in read-only mode with MAP_PRIVATE flag, - // as all modifications will be visible only in the memory of - // the current process. - if ((prot & 2) !== 0 - && (flags & 2) === 0 - && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - return stream.stream_ops.mmap(stream, address, length, position, prot, flags); - },msync:function(stream, buffer, offset, length, mmapFlags) { - if (!stream || !stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - },munmap:function(stream) { - return 0; - },ioctl:function(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - },readFile:function(path, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'r'; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf, 0); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - },writeFile:function(path, data, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'w'; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data === 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error('Unsupported data type'); - } - FS.close(stream); - },cwd:function() { - return FS.currentPath; - },chdir:function(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, 'x'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - },createDefaultDirectories:function() { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - },createDefaultDevices:function() { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: function() { return 0; }, - write: function(stream, buffer, offset, length, pos) { return length; } - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using Module['printErr'] - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - var random_device; - if (typeof crypto === 'object' && typeof crypto['getRandomValues'] === 'function') { - // for modern web browsers - var randomBuffer = new Uint8Array(1); - random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; - } else - if (ENVIRONMENT_IS_NODE) { - // for nodejs with or without crypto support included - try { - var crypto_module = require('crypto'); - // nodejs has crypto support - random_device = function() { return crypto_module['randomBytes'](1)[0]; }; - } catch (e) { - // nodejs doesn't have crypto support - } - } else - {} - if (!random_device) { - // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096 - random_device = function() { abort("random_device"); }; - } - FS.createDevice('/dev', 'random', random_device); - FS.createDevice('/dev', 'urandom', random_device); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - },createSpecialDirectories:function() { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount: function() { - var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73); - node.node_ops = { - lookup: function(parent, name) { - var fd = +name; - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(8); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: function() { return stream.path } } - }; - ret.parent = ret; // make it look like a simple root node - return ret; - } - }; - return node; - } - }, {}, '/proc/self/fd'); - },createStandardStreams:function() { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (Module['stdin']) { - FS.createDevice('/dev', 'stdin', Module['stdin']); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (Module['stdout']) { - FS.createDevice('/dev', 'stdout', null, Module['stdout']); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (Module['stderr']) { - FS.createDevice('/dev', 'stderr', null, Module['stderr']); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 'r'); - var stdout = FS.open('/dev/stdout', 'w'); - var stderr = FS.open('/dev/stderr', 'w'); - },ensureErrnoError:function() { - if (FS.ErrnoError) return; - FS.ErrnoError = /** @this{Object} */ function ErrnoError(errno, node) { - this.node = node; - this.setErrno = /** @this{Object} */ function(errno) { - this.errno = errno; - }; - this.setErrno(errno); - this.message = 'FS error'; - - }; - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) - [44].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ''; - }); - },staticInit:function() { - FS.ensureErrnoError(); - - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - }; - },init:function(input, output, error) { - FS.init.initialized = true; - - FS.ensureErrnoError(); - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - Module['stdin'] = input || Module['stdin']; - Module['stdout'] = output || Module['stdout']; - Module['stderr'] = error || Module['stderr']; - - FS.createStandardStreams(); - },quit:function() { - FS.init.initialized = false; - // force-flush all streams, so we get musl std streams printed out - var fflush = Module['_fflush']; - if (fflush) fflush(0); - // close all of our streams - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - },getMode:function(canRead, canWrite) { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - },joinPath:function(parts, forceRelative) { - var path = PATH.join.apply(null, parts); - if (forceRelative && path[0] == '/') path = path.substr(1); - return path; - },absolutePath:function(relative, base) { - return PATH_FS.resolve(base, relative); - },standardizePath:function(path) { - return PATH.normalize(path); - },findObject:function(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; - } else { - setErrNo(ret.error); - return null; - } - },analyzePath:function(path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - },createFolder:function(parent, name, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.mkdir(path, mode); - },createPath:function(parent, path, canRead, canWrite) { - parent = typeof parent === 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - // ignore EEXIST - } - parent = current; - } - return current; - },createFile:function(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.create(path, mode); - },createDataFile:function(parent, name, data, canRead, canWrite, canOwn) { - var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; - var mode = FS.getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data === 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 'w'); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - return node; - },createDevice:function(parent, name, input, output) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(!!input, !!output); - if (!FS.createDevice.major) FS.createDevice.major = 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open: function(stream) { - stream.seekable = false; - }, - close: function(stream) { - // flush any pending line data - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: function(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - },createLink:function(parent, name, target, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - return FS.symlink(target, path); - },forceLoadFile:function(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - var success = true; - if (typeof XMLHttpRequest !== 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else if (read_) { - // Command-line. - try { - // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as - // read() will try to parse UTF8. - obj.contents = intArrayFromString(read_(obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - success = false; - } - } else { - throw new Error('Cannot load without read() or XMLHttpRequest.'); - } - if (!success) setErrNo(29); - return success; - },createLazyFile:function(parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. - /** @constructor */ - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; // Loaded chunks. Index is the chunk number - } - LazyUint8Array.prototype.get = /** @this{Object} */ function LazyUint8Array_get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - }; - LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { - this.getter = getter; - }; - LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (function(from, to) { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(/** @type{Array} */(xhr.response || [])); - } else { - return intArrayFromString(xhr.responseText || '', true); - } - }); - var lazyArray = this; - lazyArray.setDataGetter(function(chunkNum) { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - }; - if (typeof XMLHttpRequest !== 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - Object.defineProperties(lazyArray, { - length: { - get: /** @this{Object} */ function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - }, - chunkSize: { - get: /** @this{Object} */ function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - }); - - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: /** @this {FSNode} */ function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach(function(key) { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(29); - } - return fn.apply(null, arguments); - }; - }); - // use a custom read function - stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(29); - } - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - }; - node.stream_ops = stream_ops; - return node; - },createPreloadedFile:function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { - Browser.init(); // XXX perhaps this method should move onto Browser? - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - if (preFinish) preFinish(); - if (!dontCreateFile) { - FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - if (onload) onload(); - removeRunDependency(dep); - } - var handled = false; - Module['preloadPlugins'].forEach(function(plugin) { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, function() { - if (onerror) onerror(); - removeRunDependency(dep); - }); - handled = true; - } - }); - if (!handled) finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - Browser.asyncLoad(url, function(byteArray) { - processData(byteArray); - }, onerror); - } else { - processData(url); - } - },indexedDB:function() { - return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; - },DB_NAME:function() { - return 'EM_FS_' + window.location.pathname; - },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths, onload, onerror) { - onload = onload || function(){}; - onerror = onerror || function(){}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { - out('creating db'); - var db = openRequest.result; - db.createObjectStore(FS.DB_STORE_NAME); - }; - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var putRequest = files.put(FS.analyzePath(path).object.contents, path); - putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; - putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - },loadFilesFromDB:function(paths, onload, onerror) { - onload = onload || function(){}; - onerror = onerror || function(){}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = onerror; // no database to load from - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - try { - var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); - } catch(e) { - onerror(e); - return; - } - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var getRequest = files.get(path); - getRequest.onsuccess = function getRequest_onsuccess() { - if (FS.analyzePath(path).exists) { - FS.unlink(path); - } - FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); - ok++; - if (ok + fail == total) finish(); - }; - getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - },mmapAlloc:function(size) { - var alignedSize = alignMemory(size, 16384); - var ptr = _malloc(alignedSize); - while (size < alignedSize) HEAP8[ptr + size++] = 0; - return ptr; - }};var SYSCALLS={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(dirfd, path) { - if (path[0] !== '/') { - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = FS.getStream(dirfd); - if (!dirstream) throw new FS.ErrnoError(8); - dir = dirstream.path; - } - path = PATH.join2(dir, path); - } - return path; - },doStat:function(func, path, buf) { - try { - var stat = func(path); - } catch (e) { - if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { - // an error occurred while trying to look up the path; we should just report ENOTDIR - return -54; - } - throw e; - } - HEAP32[((buf)>>2)]=stat.dev; - HEAP32[(((buf)+(4))>>2)]=0; - HEAP32[(((buf)+(8))>>2)]=stat.ino; - HEAP32[(((buf)+(12))>>2)]=stat.mode; - HEAP32[(((buf)+(16))>>2)]=stat.nlink; - HEAP32[(((buf)+(20))>>2)]=stat.uid; - HEAP32[(((buf)+(24))>>2)]=stat.gid; - HEAP32[(((buf)+(28))>>2)]=stat.rdev; - HEAP32[(((buf)+(32))>>2)]=0; - (tempI64 = [stat.size>>>0,(tempDouble=stat.size,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(40))>>2)]=tempI64[0],HEAP32[(((buf)+(44))>>2)]=tempI64[1]); - HEAP32[(((buf)+(48))>>2)]=4096; - HEAP32[(((buf)+(52))>>2)]=stat.blocks; - HEAP32[(((buf)+(56))>>2)]=(stat.atime.getTime() / 1000)|0; - HEAP32[(((buf)+(60))>>2)]=0; - HEAP32[(((buf)+(64))>>2)]=(stat.mtime.getTime() / 1000)|0; - HEAP32[(((buf)+(68))>>2)]=0; - HEAP32[(((buf)+(72))>>2)]=(stat.ctime.getTime() / 1000)|0; - HEAP32[(((buf)+(76))>>2)]=0; - (tempI64 = [stat.ino>>>0,(tempDouble=stat.ino,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(80))>>2)]=tempI64[0],HEAP32[(((buf)+(84))>>2)]=tempI64[1]); - return 0; - },doMsync:function(addr, stream, len, flags, offset) { - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - },doMkdir:function(path, mode) { - // remove a trailing slash, if one - /a/b/ has basename of '', but - // we want to create b in the context of this function - path = PATH.normalize(path); - if (path[path.length-1] === '/') path = path.substr(0, path.length-1); - FS.mkdir(path, mode, 0); - return 0; - },doMknod:function(path, mode, dev) { - // we don't want this in the JS API as it uses mknod to create all nodes. - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - default: return -28; - } - FS.mknod(path, mode, dev); - return 0; - },doReadlink:function(path, buf, bufsize) { - if (bufsize <= 0) return -28; - var ret = FS.readlink(path); - - var len = Math.min(bufsize, lengthBytesUTF8(ret)); - var endChar = HEAP8[buf+len]; - stringToUTF8(ret, buf, bufsize+1); - // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) - // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. - HEAP8[buf+len] = endChar; - - return len; - },doAccess:function(path, amode) { - if (amode & ~7) { - // need a valid mode - return -28; - } - var node; - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - if (!node) { - return -44; - } - var perms = ''; - if (amode & 4) perms += 'r'; - if (amode & 2) perms += 'w'; - if (amode & 1) perms += 'x'; - if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { - return -2; - } - return 0; - },doDup:function(path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD); - if (suggest) FS.close(suggest); - return FS.open(path, flags, 0, suggestFD, suggestFD).fd; - },doReadv:function(stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.read(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - } - return ret; - },doWritev:function(stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.write(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - } - return ret; - },varargs:undefined,get:function() { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function(ptr) { - var ret = UTF8ToString(ptr); - return ret; - },getStreamFromFD:function(fd) { - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(8); - return stream; - },get64:function(low, high) { - return low; - }};function ___sys_fcntl64(fd, cmd, varargs) {SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (cmd) { - case 0: { - var arg = SYSCALLS.get(); - if (arg < 0) { - return -28; - } - var newStream; - newStream = FS.open(stream.path, stream.flags, 0, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = SYSCALLS.get(); - stream.flags |= arg; - return 0; - } - case 12: - /* case 12: Currently in musl F_GETLK64 has same value as F_GETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ { - - var arg = SYSCALLS.get(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)]=2; - return 0; - } - case 13: - case 14: - /* case 13: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ - /* case 14: Currently in musl F_SETLKW64 has same value as F_SETLKW, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ - - - return 0; // Pretend that the locking is successful. - case 16: - case 8: - return -28; // These are for sockets. We don't have them fully implemented yet. - case 9: - // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. - setErrNo(28); - return -1; - default: { - return -28; - } - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___sys_ioctl(fd, op, varargs) {SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (op) { - case 21509: - case 21505: { - if (!stream.tty) return -59; - return 0; - } - case 21510: - case 21511: - case 21512: - case 21506: - case 21507: - case 21508: { - if (!stream.tty) return -59; - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -59; - var argp = SYSCALLS.get(); - HEAP32[((argp)>>2)]=0; - return 0; - } - case 21520: { - if (!stream.tty) return -59; - return -28; // not supported - } - case 21531: { - var argp = SYSCALLS.get(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -59; - return 0; - } - case 21524: { - // TODO: technically, this ioctl call should change the window size. - // but, since emscripten doesn't have any concept of a terminal window - // yet, we'll just silently throw it away as we do TIOCGWINSZ - if (!stream.tty) return -59; - return 0; - } - default: abort('bad ioctl syscall ' + op); - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___sys_open(path, flags, varargs) {SYSCALLS.varargs = varargs; - try { - - var pathname = SYSCALLS.getStr(path); - var mode = SYSCALLS.get(); - var stream = FS.open(pathname, flags, mode); - return stream.fd; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { - var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; - setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (typeof setImmediate === 'undefined') { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = 'setimmediate'; - var Browser_setImmediate_messageHandler = function(event) { - // When called in current thread or Worker, the main loop ID is structured slightly different to accommodate for --proxy-to-worker runtime listening to Worker events, - // so check for both cases. - if (event.data === emscriptenMainLoopMessageId || event.data.target === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - addEventListener("message", Browser_setImmediate_messageHandler, true); - setImmediate = /** @type{function(function(): ?, ...?): number} */(function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - if (ENVIRONMENT_IS_WORKER) { - if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; - Module['setImmediates'].push(func); - postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js - } else postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. - }) - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - setImmediate(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - } - - var _emscripten_get_now;if (ENVIRONMENT_IS_NODE) { - _emscripten_get_now = function() { - var t = process['hrtime'](); - return t[0] * 1e3 + t[1] / 1e6; - }; - } else if (typeof dateNow !== 'undefined') { - _emscripten_get_now = dateNow; - } else _emscripten_get_now = function() { return performance.now(); } - ;function setMainLoop(browserIterationFunc, fps, simulateInfiniteLoop, arg, noSetTiming) { - noExitRuntime = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = browserIterationFunc; - Browser.mainLoop.arg = arg; - - var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; - - Browser.mainLoop.runner = function Browser_mainLoop_runner() { - if (ABORT) return; - if (Browser.mainLoop.queue.length > 0) { - var start = Date.now(); - var blocker = Browser.mainLoop.queue.shift(); - blocker.func(blocker.arg); - if (Browser.mainLoop.remainingBlockers) { - var remaining = Browser.mainLoop.remainingBlockers; - var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); - if (blocker.counted) { - Browser.mainLoop.remainingBlockers = next; - } else { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - - // catches pause/resume main loop from blocker execution - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.tickStartTime = _emscripten_get_now(); - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - - - - Browser.mainLoop.runIter(browserIterationFunc); - - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); - - Browser.mainLoop.scheduler(); - } - - if (!noSetTiming) { - if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - Browser.mainLoop.scheduler(); - } - - if (simulateInfiniteLoop) { - throw 'unwind'; - } - }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function() { - Browser.mainLoop.scheduler = null; - Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },resume:function() { - Browser.mainLoop.currentlyRunningMainloop++; - var timingMode = Browser.mainLoop.timingMode; - var timingValue = Browser.mainLoop.timingValue; - var func = Browser.mainLoop.func; - Browser.mainLoop.func = null; - setMainLoop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); - _emscripten_set_main_loop_timing(timingMode, timingValue); - Browser.mainLoop.scheduler(); - },updateStatus:function() { - if (Module['setStatus']) { - var message = Module['statusMessage'] || 'Please wait...'; - var remaining = Browser.mainLoop.remainingBlockers; - var expected = Browser.mainLoop.expectedBlockers; - if (remaining) { - if (remaining < expected) { - Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); - } else { - Module['setStatus'](message); - } - } else { - Module['setStatus'](''); - } - } - },runIter:function(func) { - if (ABORT) return; - if (Module['preMainLoop']) { - var preRet = Module['preMainLoop'](); - if (preRet === false) { - return; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else if (e == 'unwind') { - return; - } else { - if (e && typeof e === 'object' && e.stack) err('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function() { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - if (Browser.initted) return; - Browser.initted = true; - - try { - new Blob(); - Browser.hasBlobConstructor = true; - } catch(e) { - Browser.hasBlobConstructor = false; - console.log("warning: no blob constructor, cannot create blobs with mimetypes"); - } - Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); - Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; - if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { - console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); - Module.noImageDecoding = true; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - var imagePlugin = {}; - imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { - return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); - }; - imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { - var b = null; - if (Browser.hasBlobConstructor) { - try { - b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - if (b.size !== byteArray.length) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - var img = new Image(); - img.onload = function img_onload() { - assert(img.complete, 'Image ' + name + ' could not be decoded'); - var canvas = document.createElement('canvas'); - canvas.width = img.width; - canvas.height = img.height; - var ctx = canvas.getContext('2d'); - ctx.drawImage(img, 0, 0); - Module["preloadedImages"][name] = canvas; - Browser.URLObject.revokeObjectURL(url); - if (onload) onload(byteArray); - }; - img.onerror = function img_onerror(event) { - console.log('Image ' + url + ' could not be decoded'); - if (onerror) onerror(); - }; - img.src = url; - }; - Module['preloadPlugins'].push(imagePlugin); - - var audioPlugin = {}; - audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { - return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; - }; - audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { - var done = false; - function finish(audio) { - if (done) return; - done = true; - Module["preloadedAudios"][name] = audio; - if (onload) onload(byteArray); - } - function fail() { - if (done) return; - done = true; - Module["preloadedAudios"][name] = new Audio(); // empty shim - if (onerror) onerror(); - } - if (Browser.hasBlobConstructor) { - try { - var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - } catch(e) { - return fail(); - } - var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - audio.onerror = function audio_onerror(event) { - if (done) return; - console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); - function encode64(data) { - var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; - var PAD = '='; - var ret = ''; - var leftchar = 0; - var leftbits = 0; - for (var i = 0; i < data.length; i++) { - leftchar = (leftchar << 8) | data[i]; - leftbits += 8; - while (leftbits >= 6) { - var curr = (leftchar >> (leftbits-6)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - - // Canvas event setup - - function pointerLockChange() { - Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || - document['mozPointerLockElement'] === Module['canvas'] || - document['webkitPointerLockElement'] === Module['canvas'] || - document['msPointerLockElement'] === Module['canvas']; - } - var canvas = Module['canvas']; - if (canvas) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - canvas.exitPointerLock = canvas.exitPointerLock.bind(document); - - document.addEventListener('pointerlockchange', pointerLockChange, false); - document.addEventListener('mozpointerlockchange', pointerLockChange, false); - document.addEventListener('webkitpointerlockchange', pointerLockChange, false); - document.addEventListener('mspointerlockchange', pointerLockChange, false); - - if (Module['elementPointerLock']) { - canvas.addEventListener("click", function(ev) { - if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { - Module['canvas'].requestPointerLock(); - ev.preventDefault(); - } - }, false); - } - } - },createContext:function(canvas, useWebGL, setInModule, webGLContextAttributes) { - if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false, - majorVersion: 1, - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - // This check of existence of GL is here to satisfy Closure compiler, which yells if variable GL is referenced below but GL object is not - // actually compiled in because application is not doing any GL operations. TODO: Ideally if GL is not being used, this function - // Browser.createContext() should not even be emitted. - if (typeof GL !== 'undefined') { - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - } - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function(canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer, resizeCanvas) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - - var canvas = Module['canvas']; - function fullscreenChange() { - Browser.isFullscreen = false; - var canvasContainer = canvas.parentNode; - if ((document['fullscreenElement'] || document['mozFullScreenElement'] || - document['msFullscreenElement'] || document['webkitFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvasContainer) { - canvas.exitFullscreen = Browser.exitFullscreen; - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullscreen = true; - if (Browser.resizeCanvas) { - Browser.setFullscreenCanvasSize(); - } else { - Browser.updateCanvasDimensions(canvas); - } - } else { - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) { - Browser.setWindowedCanvasSize(); - } else { - Browser.updateCanvasDimensions(canvas); - } - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); - if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); - } - - if (!Browser.fullscreenHandlersInstalled) { - Browser.fullscreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullscreenChange, false); - document.addEventListener('mozfullscreenchange', fullscreenChange, false); - document.addEventListener('webkitfullscreenchange', fullscreenChange, false); - document.addEventListener('MSFullscreenChange', fullscreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || - canvasContainer['mozRequestFullScreen'] || - canvasContainer['msRequestFullscreen'] || - (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || - (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); - - canvasContainer.requestFullscreen(); - },exitFullscreen:function() { - // This is workaround for chrome. Trying to exit from fullscreen - // not in fullscreen state will cause "TypeError: Document not active" - // in chrome. See https://github.com/emscripten-core/emscripten/pull/8236 - if (!Browser.isFullscreen) { - return false; - } - - var CFS = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['msExitFullscreen'] || - document['webkitCancelFullScreen'] || - (function() {}); - CFS.apply(document, []); - return true; - },nextRAF:0,fakeRequestAnimationFrame:function(func) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function(func) { - if (typeof requestAnimationFrame === 'function') { - requestAnimationFrame(func); - return; - } - var RAF = Browser.fakeRequestAnimationFrame; - RAF(func); - },safeCallback:function(func) { - return function() { - if (!ABORT) return func.apply(null, arguments); - }; - },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function() { - Browser.allowAsyncCallbacks = false; - },resumeAsyncCallbacks:function() { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - Browser.allowAsyncCallbacks = true; - if (Browser.queuedAsyncCallbacks.length > 0) { - var callbacks = Browser.queuedAsyncCallbacks; - Browser.queuedAsyncCallbacks = []; - callbacks.forEach(function(func) { - func(); - }); - } - },safeRequestAnimationFrame:function(func) { - return Browser.requestAnimationFrame(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }); - },safeSetTimeout:function(func, timeout) { - noExitRuntime = true; - return setTimeout(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }, timeout); - },safeSetInterval:function(func, timeout) { - noExitRuntime = true; - return setInterval(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } // drop it on the floor otherwise, next interval will kick in - }, timeout); - },getMimetype:function(name) { - return { - 'jpg': 'image/jpeg', - 'jpeg': 'image/jpeg', - 'png': 'image/png', - 'bmp': 'image/bmp', - 'ogg': 'audio/ogg', - 'wav': 'audio/wav', - 'mp3': 'audio/mpeg' - }[name.substr(name.lastIndexOf('.')+1)]; - },getUserMedia:function(func) { - if(!window.getUserMedia) { - window.getUserMedia = navigator['getUserMedia'] || - navigator['mozGetUserMedia']; - } - window.getUserMedia(func); - },getMovementX:function(event) { - return event['movementX'] || - event['mozMovementX'] || - event['webkitMovementX'] || - 0; - },getMovementY:function(event) { - return event['movementY'] || - event['mozMovementY'] || - event['webkitMovementY'] || - 0; - },getMouseWheelDelta:function(event) { - var delta = 0; - switch (event.type) { - case 'DOMMouseScroll': - // 3 lines make up a step - delta = event.detail / 3; - break; - case 'mousewheel': - // 120 units make up a step - delta = event.wheelDelta / 120; - break; - case 'wheel': - delta = event.deltaY - switch(event.deltaMode) { - case 0: - // DOM_DELTA_PIXEL: 100 pixels make up a step - delta /= 100; - break; - case 1: - // DOM_DELTA_LINE: 3 lines make up a step - delta /= 3; - break; - case 2: - // DOM_DELTA_PAGE: A page makes up 80 steps - delta *= 80; - break; - default: - throw 'unrecognized mouse wheel delta mode: ' + event.deltaMode; - } - break; - default: - throw 'unrecognized mouse wheel event: ' + event.type; - } - return delta; - },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - var adjustedX = touch.pageX - (scrollX + rect.left); - var adjustedY = touch.pageY - (scrollY + rect.top); - - adjustedX = adjustedX * (cw / rect.width); - adjustedY = adjustedY * (ch / rect.height); - - var coords = { x: adjustedX, y: adjustedY }; - - if (event.type === 'touchstart') { - Browser.lastTouches[touch.identifier] = coords; - Browser.touches[touch.identifier] = coords; - } else if (event.type === 'touchend' || event.type === 'touchmove') { - var last = Browser.touches[touch.identifier]; - if (!last) last = coords; - Browser.lastTouches[touch.identifier] = last; - Browser.touches[touch.identifier] = coords; - } - return; - } - - var x = event.pageX - (scrollX + rect.left); - var y = event.pageY - (scrollY + rect.top); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - x = x * (cw / rect.width); - y = y * (ch / rect.height); - - Browser.mouseMovementX = x - Browser.mouseX; - Browser.mouseMovementY = y - Browser.mouseY; - Browser.mouseX = x; - Browser.mouseY = y; - } - },asyncLoad:function(url, onload, onerror, noRunDep) { - var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; - readAsync(url, function(arrayBuffer) { - assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); - onload(new Uint8Array(arrayBuffer)); - if (dep) removeRunDependency(dep); - }, function(event) { - if (onerror) { - onerror(); - } else { - throw 'Loading data file "' + url + '" failed.'; - } - }); - if (dep) addRunDependency(dep); - },resizeListeners:[],updateResizeListeners:function() { - var canvas = Module['canvas']; - Browser.resizeListeners.forEach(function(listener) { - listener(canvas.width, canvas.height); - }); - },setCanvasSize:function(width, height, noUpdates) { - var canvas = Module['canvas']; - Browser.updateCanvasDimensions(canvas, width, height); - if (!noUpdates) Browser.updateResizeListeners(); - },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function() { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen)>>2)]=flags - } - Browser.updateCanvasDimensions(Module['canvas']); - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function() { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen)>>2)]=flags - } - Browser.updateCanvasDimensions(Module['canvas']); - Browser.updateResizeListeners(); - },updateCanvasDimensions:function(canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['fullscreenElement'] || document['mozFullScreenElement'] || - document['msFullscreenElement'] || document['webkitFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { - var factor = Math.min(screen.width / w, screen.height / h); - w = Math.round(w * factor); - h = Math.round(h * factor); - } - if (Browser.resizeCanvas) { - if (canvas.width != w) canvas.width = w; - if (canvas.height != h) canvas.height = h; - if (typeof canvas.style != 'undefined') { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } else { - if (canvas.width != wNative) canvas.width = wNative; - if (canvas.height != hNative) canvas.height = hNative; - if (typeof canvas.style != 'undefined') { - if (w != wNative || h != hNative) { - canvas.style.setProperty( "width", w + "px", "important"); - canvas.style.setProperty("height", h + "px", "important"); - } else { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } - } - },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function() { - var handle = Browser.nextWgetRequestHandle; - Browser.nextWgetRequestHandle++; - return handle; - }};var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:false,depth:false,stencil:false,antialias:false},stringCache:{},setErrorCode:function(code) { - EGL.errorCode = code; - },chooseConfig:function(display, attribList, config, config_size, numConfigs) { - if (display != 62000 /* Magic ID for Emscripten 'default display' */) { - EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); - return 0; - } - - if (attribList) { - // read attribList if it is non-null - for(;;) { - var param = HEAP32[((attribList)>>2)]; - if (param == 0x3021 /*EGL_ALPHA_SIZE*/) { - var alphaSize = HEAP32[(((attribList)+(4))>>2)]; - EGL.contextAttributes.alpha = (alphaSize > 0); - } else if (param == 0x3025 /*EGL_DEPTH_SIZE*/) { - var depthSize = HEAP32[(((attribList)+(4))>>2)]; - EGL.contextAttributes.depth = (depthSize > 0); - } else if (param == 0x3026 /*EGL_STENCIL_SIZE*/) { - var stencilSize = HEAP32[(((attribList)+(4))>>2)]; - EGL.contextAttributes.stencil = (stencilSize > 0); - } else if (param == 0x3031 /*EGL_SAMPLES*/) { - var samples = HEAP32[(((attribList)+(4))>>2)]; - EGL.contextAttributes.antialias = (samples > 0); - } else if (param == 0x3032 /*EGL_SAMPLE_BUFFERS*/) { - var samples = HEAP32[(((attribList)+(4))>>2)]; - EGL.contextAttributes.antialias = (samples == 1); - } else if (param == 0x3100 /*EGL_CONTEXT_PRIORITY_LEVEL_IMG*/) { - var requestedPriority = HEAP32[(((attribList)+(4))>>2)]; - EGL.contextAttributes.lowLatency = (requestedPriority != 0x3103 /*EGL_CONTEXT_PRIORITY_LOW_IMG*/); - } else if (param == 0x3038 /*EGL_NONE*/) { - break; - } - attribList += 8; - } - } - - if ((!config || !config_size) && !numConfigs) { - EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); - return 0; - } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. - } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; - } - - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }};function _eglGetProcAddress(name_) { - return _emscripten_GetProcAddress(name_); - } - - - var JSEvents={inEventHandler:0,removeAllEventListeners:function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - JSEvents.eventHandlers = []; - JSEvents.deferredCalls = []; - },registerRemoveEventListeners:function() { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(JSEvents.removeAllEventListeners); - JSEvents.removeEventListenersRegistered = true; - } - },deferredCalls:[],deferCall:function(targetFunction, precedence, argsList) { - function arraysHaveEqualContent(arrA, arrB) { - if (arrA.length != arrB.length) return false; - - for(var i in arrA) { - if (arrA[i] != arrB[i]) return false; - } - return true; - } - // Test if the given call was already queued, and if so, don't add it again. - for(var i in JSEvents.deferredCalls) { - var call = JSEvents.deferredCalls[i]; - if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { - return; - } - } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); - - JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); - },removeDeferredCalls:function(targetFunction) { - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { - JSEvents.deferredCalls.splice(i, 1); - --i; - } - } - },canPerformEventHandlerRequests:function() { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function() { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; - } - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - var call = JSEvents.deferredCalls[i]; - JSEvents.deferredCalls.splice(i, 1); - --i; - call.targetFunction.apply(null, call.argsList); - } - },eventHandlers:[],removeAllHandlersOnTarget:function(target, eventTypeString) { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == target && - (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { - JSEvents._removeHandler(i--); - } - } - },_removeHandler:function(i) { - var h = JSEvents.eventHandlers[i]; - h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); - JSEvents.eventHandlers.splice(i, 1); - },registerOrRemoveHandler:function(eventHandler) { - var jsEventHandler = function jsEventHandler(event) { - // Increment nesting count for the event handler. - ++JSEvents.inEventHandler; - JSEvents.currentEventHandler = eventHandler; - // Process any old deferred calls the user has placed. - JSEvents.runDeferredCalls(); - // Process the actual event, calls back to user C code handler. - eventHandler.handlerFunc(event); - // Process any new deferred calls that were placed right now from this event handler. - JSEvents.runDeferredCalls(); - // Out of event handler - restore nesting count. - --JSEvents.inEventHandler; - }; - - if (eventHandler.callbackfunc) { - eventHandler.eventListenerFunc = jsEventHandler; - eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); - JSEvents.eventHandlers.push(eventHandler); - JSEvents.registerRemoveEventListeners(); - } else { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == eventHandler.target - && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { - JSEvents._removeHandler(i--); - } - } - } - },getNodeNameForTarget:function(target) { - if (!target) return ''; - if (target == window) return '#window'; - if (target == screen) return '#screen'; - return (target && target.nodeName) ? target.nodeName : ''; - },fullscreenEnabled:function() { - return document.fullscreenEnabled - // Safari 13.0.3 on macOS Catalina 10.15.1 still ships with prefixed webkitFullscreenEnabled. - // TODO: If Safari at some point ships with unprefixed version, update the version check above. - || document.webkitFullscreenEnabled - ; - }}; - - function __requestPointerLock(target) { - if (target.requestPointerLock) { - target.requestPointerLock(); - } else if (target.msRequestPointerLock) { - target.msRequestPointerLock(); - } else { - // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, - // or if the whole browser just doesn't support the feature. - if (document.body.requestPointerLock - || document.body.msRequestPointerLock - ) { - return -3; - } else { - return -1; - } - } - return 0; - }function _emscripten_exit_pointerlock() { - // Make sure no queued up calls will fire after this. - JSEvents.removeDeferredCalls(__requestPointerLock); - - if (document.exitPointerLock) { - document.exitPointerLock(); - } else if (document.msExitPointerLock) { - document.msExitPointerLock(); - } else { - return -1; - } - return 0; - } - - - - function maybeCStringToJsString(cString) { - // "cString > 2" checks if the input is a number, and isn't of the special - // values we accept here, EMSCRIPTEN_EVENT_TARGET_* (which map to 0, 1, 2). - // In other words, if cString > 2 then it's a pointer to a valid place in - // memory, and points to a C string. - return cString > 2 ? UTF8ToString(cString) : cString; - } - - var specialHTMLTargets=[0, typeof document !== 'undefined' ? document : 0, typeof window !== 'undefined' ? window : 0];function findEventTarget(target) { - target = maybeCStringToJsString(target); - var domElement = specialHTMLTargets[target] || (typeof document !== 'undefined' ? document.querySelector(target) : undefined); - return domElement; - } - - function __getBoundingClientRect(e) { - return specialHTMLTargets.indexOf(e) < 0 ? e.getBoundingClientRect() : {'left':0,'top':0}; - }function _emscripten_get_element_css_size(target, width, height) { - target = findEventTarget(target); - if (!target) return -4; - - var rect = __getBoundingClientRect(target); - HEAPF64[((width)>>3)]=rect.width; - HEAPF64[((height)>>3)]=rect.height; - - return 0; - } - - - function __fillGamepadEventData(eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.timestamp; - for(var i = 0; i < e.axes.length; ++i) { - HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; - } else { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; - } - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; - } else { - // Assigning a boolean to HEAP32, that's ok, but Closure would like to warn about it: - /** @suppress {checkTypes} */ - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1; - } - } - HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; - HEAP32[(((eventStruct)+(1300))>>2)]=e.index; - HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; - HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - stringToUTF8(e.id, eventStruct + 1304, 64); - stringToUTF8(e.mapping, eventStruct + 1368, 64); - }function _emscripten_get_gamepad_status(index, gamepadState) { - - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; - - // NO_DATA is returned on a Gamepad index that was removed. - // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. - // This is because gamepads must keep their original position in the array. - // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. - if (!JSEvents.lastGamepadState[index]) return -7; - - __fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); - return 0; - } - - function _emscripten_get_num_gamepads() { - // N.B. Do not call emscripten_get_num_gamepads() unless having first called emscripten_sample_gamepad_data(), and that has returned EMSCRIPTEN_RESULT_SUCCESS. - // Otherwise the following line will throw an exception. - return JSEvents.lastGamepadState.length; - } - - - function __fillPointerlockChangeEventData(eventStruct) { - var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; - var isPointerlocked = !!pointerLockElement; - /** @suppress {checkTypes} */ - HEAP32[((eventStruct)>>2)]=isPointerlocked; - var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); - var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - stringToUTF8(nodeName, eventStruct + 4, 128); - stringToUTF8(id, eventStruct + 132, 128); - }/** @suppress {missingProperties} */ - function _emscripten_get_pointerlock_status(pointerlockStatus) { - if (pointerlockStatus) __fillPointerlockChangeEventData(pointerlockStatus); - if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { - return -1; - } - return 0; - } - - - - function __webgl_enable_ANGLE_instanced_arrays(ctx) { - // Extension available in WebGL 1 from Firefox 26 and Google Chrome 30 onwards. Core feature in WebGL 2. - var ext = ctx.getExtension('ANGLE_instanced_arrays'); - if (ext) { - ctx['vertexAttribDivisor'] = function(index, divisor) { ext['vertexAttribDivisorANGLE'](index, divisor); }; - ctx['drawArraysInstanced'] = function(mode, first, count, primcount) { ext['drawArraysInstancedANGLE'](mode, first, count, primcount); }; - ctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { ext['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; - return 1; - } - } - - function __webgl_enable_OES_vertex_array_object(ctx) { - // Extension available in WebGL 1 from Firefox 25 and WebKit 536.28/desktop Safari 6.0.3 onwards. Core feature in WebGL 2. - var ext = ctx.getExtension('OES_vertex_array_object'); - if (ext) { - ctx['createVertexArray'] = function() { return ext['createVertexArrayOES'](); }; - ctx['deleteVertexArray'] = function(vao) { ext['deleteVertexArrayOES'](vao); }; - ctx['bindVertexArray'] = function(vao) { ext['bindVertexArrayOES'](vao); }; - ctx['isVertexArray'] = function(vao) { return ext['isVertexArrayOES'](vao); }; - return 1; - } - } - - function __webgl_enable_WEBGL_draw_buffers(ctx) { - // Extension available in WebGL 1 from Firefox 28 onwards. Core feature in WebGL 2. - var ext = ctx.getExtension('WEBGL_draw_buffers'); - if (ext) { - ctx['drawBuffers'] = function(n, bufs) { ext['drawBuffersWEBGL'](n, bufs); }; - return 1; - } - } - - function __webgl_enable_WEBGL_multi_draw(ctx) { - // Closure is expected to be allowed to minify the '.multiDrawWebgl' property, so not accessing it quoted. - return !!(ctx.multiDrawWebgl = ctx.getExtension('WEBGL_multi_draw')); - }var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode) { - if (!GL.lastError) { - GL.lastError = errorCode; - } - },getNewId:function(table) { - var ret = GL.counter++; - for (var i = table.length; i < ret; i++) { - table[i] = null; - } - return ret; - },getSource:function(shader, count, string, length) { - var source = ''; - for (var i = 0; i < count; ++i) { - var len = length ? HEAP32[(((length)+(i*4))>>2)] : -1; - source += UTF8ToString(HEAP32[(((string)+(i*4))>>2)], len < 0 ? undefined : len); - } - return source; - },createContext:function(canvas, webGLContextAttributes) { - - - - - - var ctx = - (canvas.getContext("webgl", webGLContextAttributes) - // https://caniuse.com/#feat=webgl - ); - - - if (!ctx) return 0; - - var handle = GL.registerContext(ctx, webGLContextAttributes); - - - - return handle; - },registerContext:function(ctx, webGLContextAttributes) { - // without pthreads a context is just an integer ID - var handle = GL.getNewId(GL.contexts); - - var context = { - handle: handle, - attributes: webGLContextAttributes, - version: webGLContextAttributes.majorVersion, - GLctx: ctx - }; - - - // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. - if (ctx.canvas) ctx.canvas.GLctxObject = context; - GL.contexts[handle] = context; - if (typeof webGLContextAttributes.enableExtensionsByDefault === 'undefined' || webGLContextAttributes.enableExtensionsByDefault) { - GL.initExtensions(context); - } - - - - - return handle; - },makeContextCurrent:function(contextHandle) { - - GL.currentContext = GL.contexts[contextHandle]; // Active Emscripten GL layer context object. - Module.ctx = GLctx = GL.currentContext && GL.currentContext.GLctx; // Active WebGL context object. - return !(contextHandle && !GLctx); - },getContext:function(contextHandle) { - return GL.contexts[contextHandle]; - },deleteContext:function(contextHandle) { - if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; - if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. - if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. - GL.contexts[contextHandle] = null; - },initExtensions:function(context) { - // If this function is called without a specific context object, init the extensions of the currently active context. - if (!context) context = GL.currentContext; - - if (context.initExtensionsDone) return; - context.initExtensionsDone = true; - - var GLctx = context.GLctx; - - // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. - - // Extensions that are only available in WebGL 1 (the calls will be no-ops if called on a WebGL 2 context active) - __webgl_enable_ANGLE_instanced_arrays(GLctx); - __webgl_enable_OES_vertex_array_object(GLctx); - __webgl_enable_WEBGL_draw_buffers(GLctx); - - GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); - __webgl_enable_WEBGL_multi_draw(GLctx); - - // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and - // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. - // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions - // here, as long as they don't produce a performance impact for users that might not be using those extensions. - // E.g. debugging-related extensions should probably be off by default. - var automaticallyEnabledExtensions = [ // Khronos ratified WebGL extensions ordered by number (no debug extensions): - "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", - "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", - "OES_element_index_uint", "EXT_texture_filter_anisotropic", "EXT_frag_depth", - "WEBGL_draw_buffers", "ANGLE_instanced_arrays", "OES_texture_float_linear", - "OES_texture_half_float_linear", "EXT_blend_minmax", "EXT_shader_texture_lod", - "EXT_texture_norm16", - // Community approved WebGL extensions ordered by number: - "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", - "EXT_sRGB", "WEBGL_compressed_texture_etc1", "EXT_disjoint_timer_query", - "WEBGL_compressed_texture_etc", "WEBGL_compressed_texture_astc", "EXT_color_buffer_float", - "WEBGL_compressed_texture_s3tc_srgb", "EXT_disjoint_timer_query_webgl2", - // Old style prefixed forms of extensions (but still currently used on e.g. iPhone Xs as - // tested on iOS 12.4.1): - "WEBKIT_WEBGL_compressed_texture_pvrtc"]; - - function shouldEnableAutomatically(extension) { - var ret = false; - automaticallyEnabledExtensions.forEach(function(include) { - if (extension.indexOf(include) != -1) { - ret = true; - } - }); - return ret; - } - - var exts = GLctx.getSupportedExtensions() || []; // .getSupportedExtensions() can return null if context is lost, so coerce to empty array. - exts.forEach(function(ext) { - if (automaticallyEnabledExtensions.indexOf(ext) != -1) { - GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. - } - }); - },populateUniformTable:function(program) { - var p = GL.programs[program]; - var ptable = GL.programInfos[program] = { - uniforms: {}, - maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. - maxUniformBlockNameLength: -1 // Lazily computed as well - }; - - var utable = ptable.uniforms; - // A program's uniform table maps the string name of an uniform to an integer location of that uniform. - // The global GL.uniforms map maps integer locations to WebGLUniformLocations. - var numUniforms = GLctx.getProgramParameter(p, 0x8B86/*GL_ACTIVE_UNIFORMS*/); - for (var i = 0; i < numUniforms; ++i) { - var u = GLctx.getActiveUniform(p, i); - - var name = u.name; - ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); - - // If we are dealing with an array, e.g. vec4 foo[3], strip off the array index part to canonicalize that "foo", "foo[]", - // and "foo[0]" will mean the same. Loop below will populate foo[1] and foo[2]. - if (name.slice(-1) == ']') { - name = name.slice(0, name.lastIndexOf('[')); - } - - // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then - // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. - // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. - var loc = GLctx.getUniformLocation(p, name); - if (loc) { - var id = GL.getNewId(GL.uniforms); - utable[name] = [u.size, id]; - GL.uniforms[id] = loc; - - for (var j = 1; j < u.size; ++j) { - var n = name + '['+j+']'; - loc = GLctx.getUniformLocation(p, n); - id = GL.getNewId(GL.uniforms); - - GL.uniforms[id] = loc; - } - } - } - }};function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _emscripten_glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _emscripten_glBeginQueryEXT(target, id) { - GLctx.disjointTimerQueryExt['beginQueryEXT'](target, GL.timerQueriesEXT[id]); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - GLctx.bindAttribLocation(GL.programs[program], index, UTF8ToString(name)); - } - - function _emscripten_glBindBuffer(target, buffer) { - - GLctx.bindBuffer(target, GL.buffers[buffer]); - } - - function _emscripten_glBindFramebuffer(target, framebuffer) { - - GLctx.bindFramebuffer(target, GL.framebuffers[framebuffer]); - - } - - function _emscripten_glBindRenderbuffer(target, renderbuffer) { - GLctx.bindRenderbuffer(target, GL.renderbuffers[renderbuffer]); - } - - function _emscripten_glBindTexture(target, texture) { - GLctx.bindTexture(target, GL.textures[texture]); - } - - function _emscripten_glBindVertexArrayOES(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); - } - - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } - - function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } - - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } - - function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - - function _emscripten_glBufferData(target, size, data, usage) { - - // N.b. here first form specifies a heap subarray, second form an integer size, so the ?: code here is polymorphic. It is advised to avoid - // randomly mixing both uses in calling code, to avoid any potential JS engine JIT issues. - GLctx.bufferData(target, data ? HEAPU8.subarray(data, data+size) : size, usage); - } - - function _emscripten_glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } - - function _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); - } - - function _emscripten_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - } - } - - function _emscripten_glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } - - function _emscripten_glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_glDeleteQueriesEXT(n, ids) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((ids)+(i*4))>>2)]; - var query = GL.timerQueriesEXT[id]; - if (!query) continue; // GL spec: "unused names in ids are ignored, as is the name zero." - GLctx.disjointTimerQueryExt['deleteQueryEXT'](query); - GL.timerQueriesEXT[id] = null; - } - } - - function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; - var renderbuffer = GL.renderbuffers[id]; - if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". - GLctx.deleteRenderbuffer(renderbuffer); - renderbuffer.name = 0; - GL.renderbuffers[id] = null; - } - } - - function _emscripten_glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glDeleteVertexArraysOES(n, vaos) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; - } - } - - function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - function _emscripten_glDepthMask(flag) { - GLctx.depthMask(!!flag); - } - - function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _emscripten_glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glDrawArraysInstancedANGLE(mode, first, count, primcount) { - GLctx['drawArraysInstanced'](mode, first, count, primcount); - } - - - var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n, bufs) { - - var bufArray = tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } - - GLctx['drawBuffers'](bufArray); - } - - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _emscripten_glDrawElementsInstancedANGLE(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } - - function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _emscripten_glEndQueryEXT(target) { - GLctx.disjointTimerQueryExt['endQueryEXT'](target); - } - - function _emscripten_glFinish() { GLctx['finish']() } - - function _emscripten_glFlush() { GLctx['flush']() } - - function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { - GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, - GL.renderbuffers[renderbuffer]); - } - - function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { - GLctx.framebufferTexture2D(target, attachment, textarget, - GL.textures[texture], level); - } - - function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } - - - function __glGenObject(n, buffers, createFunction, objectTable - ) { - for (var i = 0; i < n; i++) { - var buffer = GLctx[createFunction](); - var id = buffer && GL.getNewId(objectTable); - if (buffer) { - buffer.name = id; - objectTable[id] = buffer; - } else { - GL.recordError(0x502 /* GL_INVALID_OPERATION */); - } - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - }function _emscripten_glGenBuffers(n, buffers) { - __glGenObject(n, buffers, 'createBuffer', GL.buffers - ); - } - - function _emscripten_glGenFramebuffers(n, ids) { - __glGenObject(n, ids, 'createFramebuffer', GL.framebuffers - ); - } - - function _emscripten_glGenQueriesEXT(n, ids) { - for (var i = 0; i < n; i++) { - var query = GLctx.disjointTimerQueryExt['createQueryEXT'](); - if (!query) { - GL.recordError(0x502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.timerQueriesEXT); - query.name = id; - GL.timerQueriesEXT[id] = query; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGenRenderbuffers(n, renderbuffers) { - __glGenObject(n, renderbuffers, 'createRenderbuffer', GL.renderbuffers - ); - } - - function _emscripten_glGenTextures(n, textures) { - __glGenObject(n, textures, 'createTexture', GL.textures - ); - } - - function _emscripten_glGenVertexArraysOES(n, arrays) { - __glGenObject(n, arrays, 'createVertexArray', GL.vaos - ); - } - - function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } - - - function __glGetActiveAttribOrUniform(funcName, program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx[funcName](program, index); - if (info) { // If an error occurs, nothing will be written to length, size and type and name. - var numBytesWrittenExclNull = name && stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - }function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { - __glGetActiveAttribOrUniform('getActiveAttrib', program, index, bufSize, length, size, type, name); - } - - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { - __glGetActiveAttribOrUniform('getActiveUniform', program, index, bufSize, length, size, type, name); - } - - function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { - var result = GLctx.getAttachedShaders(GL.programs[program]); - var len = result.length; - if (len > maxCount) { - len = maxCount; - } - HEAP32[((count)>>2)]=len; - for (var i = 0; i < len; ++i) { - var id = GL.shaders.indexOf(result[i]); - HEAP32[(((shaders)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGetAttribLocation(program, name) { - return GLctx.getAttribLocation(GL.programs[program], UTF8ToString(name)); - } - - - - function writeI53ToI64(ptr, num) { - HEAPU32[ptr>>2] = num; - HEAPU32[ptr+4>>2] = (num - HEAPU32[ptr>>2])/4294967296; - }function emscriptenWebGLGet(name_, p, type) { - // Guard against user passing a null pointer. - // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. - // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but - // better to report an error instead of doing anything random. - if (!p) { - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - var ret = undefined; - switch(name_) { // Handle a few trivial GLES values - case 0x8DFA: // GL_SHADER_COMPILER - ret = 1; - break; - case 0x8DF8: // GL_SHADER_BINARY_FORMATS - if (type != 0 && type != 1) { - GL.recordError(0x500); // GL_INVALID_ENUM - } - return; // Do not write anything to the out pointer, since no binary formats are supported. - case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS - ret = 0; - break; - case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS - // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), - // so implement it ourselves to allow C++ GLES2 code get the length. - var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); - ret = formats ? formats.length : 0; - break; - } - - if (ret === undefined) { - var result = GLctx.getParameter(name_); - switch (typeof(result)) { - case "number": - ret = result; - break; - case "boolean": - ret = result ? 1 : 0; - break; - case "string": - GL.recordError(0x500); // GL_INVALID_ENUM - return; - case "object": - if (result === null) { - // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise - // can mean an invalid name_, which we need to report as an error - switch(name_) { - case 0x8894: // ARRAY_BUFFER_BINDING - case 0x8B8D: // CURRENT_PROGRAM - case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING - case 0x8CA6: // FRAMEBUFFER_BINDING or DRAW_FRAMEBUFFER_BINDING - case 0x8CA7: // RENDERBUFFER_BINDING - case 0x8069: // TEXTURE_BINDING_2D - case 0x85B5: // WebGL 2 GL_VERTEX_ARRAY_BINDING, or WebGL 1 extension OES_vertex_array_object GL_VERTEX_ARRAY_BINDING_OES - case 0x8514: { // TEXTURE_BINDING_CUBE_MAP - ret = 0; - break; - } - default: { - GL.recordError(0x500); // GL_INVALID_ENUM - return; - } - } - } else if (result instanceof Float32Array || - result instanceof Uint32Array || - result instanceof Int32Array || - result instanceof Array) { - for (var i = 0; i < result.length; ++i) { - switch (type) { - case 0: HEAP32[(((p)+(i*4))>>2)]=result[i]; break; - case 2: HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; - case 4: HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; - } - } - return; - } else { - try { - ret = result.name | 0; - } catch(e) { - GL.recordError(0x500); // GL_INVALID_ENUM - err('GL_INVALID_ENUM in glGet' + type + 'v: Unknown object returned from WebGL getParameter(' + name_ + ')! (error: ' + e + ')'); - return; - } - } - break; - default: - GL.recordError(0x500); // GL_INVALID_ENUM - err('GL_INVALID_ENUM in glGet' + type + 'v: Native code calling glGet' + type + 'v(' + name_ + ') and it returns ' + result + ' of type ' + typeof(result) + '!'); - return; - } - } - - switch (type) { - case 1: writeI53ToI64(p, ret); break; - case 0: HEAP32[((p)>>2)]=ret; break; - case 2: HEAPF32[((p)>>2)]=ret; break; - case 4: HEAP8[((p)>>0)]=ret ? 1 : 0; break; - } - }function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 4); - } - - function _emscripten_glGetBufferParameteriv(target, value, data) { - if (!data) { - // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense - // if data == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); - } - - function _emscripten_glGetError() { - var error = GLctx.getError() || GL.lastError; - GL.lastError = 0/*GL_NO_ERROR*/; - return error; - } - - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 2); - } - - function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { - var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); - if (result instanceof WebGLRenderbuffer || - result instanceof WebGLTexture) { - result = result.name | 0; - } - HEAP32[((params)>>2)]=result; - } - - function _emscripten_glGetIntegerv(name_, p) { - emscriptenWebGLGet(name_, p, 0); - } - - function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - var numBytesWrittenExclNull = (maxLength > 0 && infoLog) ? stringToUTF8(log, infoLog, maxLength) : 0; - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } - - function _emscripten_glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, 0x8B89/*GL_ACTIVE_ATTRIBUTES*/); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, 0x8A36/*GL_ACTIVE_UNIFORM_BLOCKS*/); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _emscripten_glGetQueryObjecti64vEXT(id, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - var query = GL.timerQueriesEXT[id]; - var param = GLctx.disjointTimerQueryExt['getQueryObjectEXT'](query, pname); - var ret; - if (typeof param == 'boolean') { - ret = param ? 1 : 0; - } else { - ret = param; - } - writeI53ToI64(params, ret); - } - - function _emscripten_glGetQueryObjectivEXT(id, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - var query = GL.timerQueriesEXT[id]; - var param = GLctx.disjointTimerQueryExt['getQueryObjectEXT'](query, pname); - var ret; - if (typeof param == 'boolean') { - ret = param ? 1 : 0; - } else { - ret = param; - } - HEAP32[((params)>>2)]=ret; - } - - function _emscripten_glGetQueryObjectui64vEXT(id, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - var query = GL.timerQueriesEXT[id]; - var param = GLctx.disjointTimerQueryExt['getQueryObjectEXT'](query, pname); - var ret; - if (typeof param == 'boolean') { - ret = param ? 1 : 0; - } else { - ret = param; - } - writeI53ToI64(params, ret); - } - - function _emscripten_glGetQueryObjectuivEXT(id, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - var query = GL.timerQueriesEXT[id]; - var param = GLctx.disjointTimerQueryExt['getQueryObjectEXT'](query, pname); - var ret; - if (typeof param == 'boolean') { - ret = param ? 1 : 0; - } else { - ret = param; - } - HEAP32[((params)>>2)]=ret; - } - - function _emscripten_glGetQueryivEXT(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.disjointTimerQueryExt['getQueryEXT'](target, pname); - } - - function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); - } - - function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - var numBytesWrittenExclNull = (maxLength > 0 && infoLog) ? stringToUTF8(log, infoLog, maxLength) : 0; - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } - - function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { - var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); - HEAP32[((range)>>2)]=result.rangeMin; - HEAP32[(((range)+(4))>>2)]=result.rangeMax; - HEAP32[((precision)>>2)]=result.precision; - } - - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { - var result = GLctx.getShaderSource(GL.shaders[shader]); - if (!result) return; // If an error occurs, nothing will be written to length or source. - var numBytesWrittenExclNull = (bufSize > 0 && source) ? stringToUTF8(result, source, bufSize) : 0; - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } - - function _emscripten_glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - // The GLES2 specification says that if the shader has an empty info log, - // a value of 0 is returned. Otherwise the log has a null char appended. - // (An empty string is falsey, so we can just check that instead of - // looking at log.length.) - var logLength = log ? log.length + 1 : 0; - HEAP32[((p)>>2)]=logLength; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - // source may be a null, or the empty string, both of which are falsey - // values that we report a 0 length for. - var sourceLength = source ? source.length + 1 : 0; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - - function stringToNewUTF8(jsString) { - var length = lengthBytesUTF8(jsString)+1; - var cString = _malloc(length); - stringToUTF8(jsString, cString, length); - return cString; - }function _emscripten_glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions() || []; // .getSupportedExtensions() can return null if context is lost, so coerce to empty array. - exts = exts.concat(exts.map(function(e) { return "GL_" + e; })); - ret = stringToNewUTF8(exts.join(' ')); - break; - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - var s = GLctx.getParameter(name_); - if (!s) { - GL.recordError(0x500/*GL_INVALID_ENUM*/); - } - ret = stringToNewUTF8(s); - break; - - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(0x1F02 /*GL_VERSION*/); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = stringToNewUTF8(glVersion); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(0x8B8C /*GL_SHADING_LANGUAGE_VERSION*/); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = stringToNewUTF8(glslVersion); - break; - default: - GL.recordError(0x500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glGetTexParameterfv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _emscripten_glGetTexParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - - /** @suppress {checkTypes} */ - function jstoi_q(str) { - return parseInt(str); - }function _emscripten_glGetUniformLocation(program, name) { - name = UTF8ToString(name); - - var arrayIndex = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name[name.length - 1] == ']') { - var leftBrace = name.lastIndexOf('['); - arrayIndex = name[leftBrace+1] != ']' ? jstoi_q(name.slice(leftBrace + 1)) : 0; // "index]", parseInt will ignore the ']' at the end; but treat "foo[]" as "foo[0]" - name = name.slice(0, leftBrace); - } - - var uniformInfo = GL.programInfos[program] && GL.programInfos[program].uniforms[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayIndex >= 0 && arrayIndex < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1] + arrayIndex; - } else { - return -1; - } - } - - - /** @suppress{checkTypes} */ - function emscriptenWebGLGetUniform(program, location, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); - if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 0: HEAP32[((params)>>2)]=data; break; - case 2: HEAPF32[((params)>>2)]=data; break; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 0: HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 2: HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - } - } - } - }function _emscripten_glGetUniformfv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 2); - } - - function _emscripten_glGetUniformiv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 0); - } - - function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { - if (!pointer) { - // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense - // if pointer == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); - } - - - /** @suppress{checkTypes} */ - function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getVertexAttrib(index, pname); - if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { - HEAP32[((params)>>2)]=data && data["name"]; - } else if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 0: HEAP32[((params)>>2)]=data; break; - case 2: HEAPF32[((params)>>2)]=data; break; - case 5: HEAP32[((params)>>2)]=Math.fround(data); break; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 0: HEAP32[(((params)+(i*4))>>2)]=data[i]; break; - case 2: HEAPF32[(((params)+(i*4))>>2)]=data[i]; break; - case 5: HEAP32[(((params)+(i*4))>>2)]=Math.fround(data[i]); break; - } - } - } - }function _emscripten_glGetVertexAttribfv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 2); - } - - function _emscripten_glGetVertexAttribiv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 5); - } - - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } - - function _emscripten_glIsBuffer(buffer) { - var b = GL.buffers[buffer]; - if (!b) return 0; - return GLctx.isBuffer(b); - } - - function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } - - function _emscripten_glIsFramebuffer(framebuffer) { - var fb = GL.framebuffers[framebuffer]; - if (!fb) return 0; - return GLctx.isFramebuffer(fb); - } - - function _emscripten_glIsProgram(program) { - program = GL.programs[program]; - if (!program) return 0; - return GLctx.isProgram(program); - } - - function _emscripten_glIsQueryEXT(id) { - var query = GL.timerQueriesEXT[id]; - if (!query) return 0; - return GLctx.disjointTimerQueryExt['isQueryEXT'](query); - } - - function _emscripten_glIsRenderbuffer(renderbuffer) { - var rb = GL.renderbuffers[renderbuffer]; - if (!rb) return 0; - return GLctx.isRenderbuffer(rb); - } - - function _emscripten_glIsShader(shader) { - var s = GL.shaders[shader]; - if (!s) return 0; - return GLctx.isShader(s); - } - - function _emscripten_glIsTexture(id) { - var texture = GL.textures[id]; - if (!texture) return 0; - return GLctx.isTexture(texture); - } - - function _emscripten_glIsVertexArrayOES(array) { - - var vao = GL.vaos[array]; - if (!vao) return 0; - return GLctx['isVertexArray'](vao); - } - - function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.populateUniformTable(program); - } - - function _emscripten_glPixelStorei(pname, param) { - if (pname == 0xCF5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } - - function _emscripten_glQueryCounterEXT(id, target) { - GLctx.disjointTimerQueryExt['queryCounterEXT'](GL.timerQueriesEXT[id], target); - } - - - - function computeUnpackAlignedImageSize(width, height, sizePerPixel, alignment) { - function roundedToNextMultipleOf(x, y) { - return (x + y - 1) & -y; - } - var plainRowSize = width * sizePerPixel; - var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); - return height * alignedRowSize; - } - - function __colorChannelsInGlTextureFormat(format) { - // Micro-optimizations for size: map format to size by subtracting smallest enum value (0x1902) from all values first. - // Also omit the most common size value (1) from the list, which is assumed by formats not on the list. - var colorChannels = { - // 0x1902 /* GL_DEPTH_COMPONENT */ - 0x1902: 1, - // 0x1906 /* GL_ALPHA */ - 0x1902: 1, - 5: 3, - 6: 4, - // 0x1909 /* GL_LUMINANCE */ - 0x1902: 1, - 8: 2, - 29502: 3, - 29504: 4, - }; - return colorChannels[format - 0x1902]||1; - } - - function heapObjectForWebGLType(type) { - // Micro-optimization for size: Subtract lowest GL enum number (0x1400/* GL_BYTE */) from type to compare - // smaller values for the heap, for shorter generated code size. - // Also the type HEAPU16 is not tested for explicitly, but any unrecognized type will return out HEAPU16. - // (since most types are HEAPU16) - type -= 0x1400; - - if (type == 1) return HEAPU8; - - - if (type == 4) return HEAP32; - - if (type == 6) return HEAPF32; - - if (type == 5 - || type == 28922 - ) - return HEAPU32; - - return HEAPU16; - } - - function heapAccessShiftForWebGLHeap(heap) { - return 31 - Math.clz32(heap.BYTES_PER_ELEMENT); - }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { - var heap = heapObjectForWebGLType(type); - var shift = heapAccessShiftForWebGLHeap(heap); - var byteSize = 1<> shift, pixels + bytes >> shift); - }function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!pixelData) { - GL.recordError(0x500/*GL_INVALID_ENUM*/); - return; - } - GLctx.readPixels(x, y, width, height, format, type, pixelData); - } - - function _emscripten_glReleaseShaderCompiler() { - // NOP (as allowed by GLES 2.0 spec) - } - - function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } - - function _emscripten_glSampleCoverage(value, invert) { - GLctx.sampleCoverage(value, !!invert); - } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } - - function _emscripten_glShaderBinary() { - GL.recordError(0x500/*GL_INVALID_ENUM*/); - } - - function _emscripten_glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } - - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } - - function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } - - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } - - function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixels ? emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) : null); - } - - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _emscripten_glTexParameteriv(target, pname, params) { - var param = HEAP32[((params)>>2)]; - GLctx.texParameteri(target, pname, param); - } - - function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); - GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); - } - - function _emscripten_glUniform1f(location, v0) { - GLctx.uniform1f(GL.uniforms[location], v0); - } - - - var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location, count, value) { - - - - if (count <= 288) { - // avoid allocation when uploading few enough uniforms - var view = miniTempWebGLFloatBuffers[count-1]; - for (var i = 0; i < count; ++i) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - } - } else - { - var view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); - } - GLctx.uniform1fv(GL.uniforms[location], view); - } - - function _emscripten_glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - - var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location, count, value) { - - - - if (count <= 288) { - // avoid allocation when uploading few enough uniforms - var view = __miniTempWebGLIntBuffers[count-1]; - for (var i = 0; i < count; ++i) { - view[i] = HEAP32[(((value)+(4*i))>>2)]; - } - } else - { - var view = HEAP32.subarray((value)>>2,(value+count*4)>>2); - } - GLctx.uniform1iv(GL.uniforms[location], view); - } - - function _emscripten_glUniform2f(location, v0, v1) { - GLctx.uniform2f(GL.uniforms[location], v0, v1); - } - - function _emscripten_glUniform2fv(location, count, value) { - - - - if (count <= 144) { - // avoid allocation when uploading few enough uniforms - var view = miniTempWebGLFloatBuffers[2*count-1]; - for (var i = 0; i < 2*count; i += 2) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - } - } else - { - var view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); - } - GLctx.uniform2fv(GL.uniforms[location], view); - } - - function _emscripten_glUniform2i(location, v0, v1) { - GLctx.uniform2i(GL.uniforms[location], v0, v1); - } - - function _emscripten_glUniform2iv(location, count, value) { - - - - if (count <= 144) { - // avoid allocation when uploading few enough uniforms - var view = __miniTempWebGLIntBuffers[2*count-1]; - for (var i = 0; i < 2*count; i += 2) { - view[i] = HEAP32[(((value)+(4*i))>>2)]; - view[i+1] = HEAP32[(((value)+(4*i+4))>>2)]; - } - } else - { - var view = HEAP32.subarray((value)>>2,(value+count*8)>>2); - } - GLctx.uniform2iv(GL.uniforms[location], view); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glUniform3fv(location, count, value) { - - - - if (count <= 96) { - // avoid allocation when uploading few enough uniforms - var view = miniTempWebGLFloatBuffers[3*count-1]; - for (var i = 0; i < 3*count; i += 3) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - } - } else - { - var view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); - } - GLctx.uniform3fv(GL.uniforms[location], view); - } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glUniform3iv(location, count, value) { - - - - if (count <= 96) { - // avoid allocation when uploading few enough uniforms - var view = __miniTempWebGLIntBuffers[3*count-1]; - for (var i = 0; i < 3*count; i += 3) { - view[i] = HEAP32[(((value)+(4*i))>>2)]; - view[i+1] = HEAP32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAP32[(((value)+(4*i+8))>>2)]; - } - } else - { - var view = HEAP32.subarray((value)>>2,(value+count*12)>>2); - } - GLctx.uniform3iv(GL.uniforms[location], view); - } - - function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_glUniform4fv(location, count, value) { - - - - if (count <= 72) { - // avoid allocation when uploading few enough uniforms - var view = miniTempWebGLFloatBuffers[4*count-1]; - // hoist the heap out of the loop for size and for pthreads+growth. - var heap = HEAPF32; - value >>= 2; - for (var i = 0; i < 4 * count; i += 4) { - var dst = value + i; - view[i] = heap[dst]; - view[i + 1] = heap[dst + 1]; - view[i + 2] = heap[dst + 2]; - view[i + 3] = heap[dst + 3]; - } - } else - { - var view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(GL.uniforms[location], view); - } - - function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_glUniform4iv(location, count, value) { - - - - if (count <= 72) { - // avoid allocation when uploading few enough uniforms - var view = __miniTempWebGLIntBuffers[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAP32[(((value)+(4*i))>>2)]; - view[i+1] = HEAP32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAP32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAP32[(((value)+(4*i+12))>>2)]; - } - } else - { - var view = HEAP32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4iv(GL.uniforms[location], view); - } - - function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - - - - if (count <= 72) { - // avoid allocation when uploading few enough uniforms - var view = miniTempWebGLFloatBuffers[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else - { - var view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - - - - if (count <= 32) { - // avoid allocation when uploading few enough uniforms - var view = miniTempWebGLFloatBuffers[9*count-1]; - for (var i = 0; i < 9*count; i += 9) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - } - } else - { - var view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); - } - GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - - - - if (count <= 18) { - // avoid allocation when uploading few enough uniforms - var view = miniTempWebGLFloatBuffers[16*count-1]; - // hoist the heap out of the loop for size and for pthreads+growth. - var heap = HEAPF32; - value >>= 2; - for (var i = 0; i < 16 * count; i += 16) { - var dst = value + i; - view[i] = heap[dst]; - view[i + 1] = heap[dst + 1]; - view[i + 2] = heap[dst + 2]; - view[i + 3] = heap[dst + 3]; - view[i + 4] = heap[dst + 4]; - view[i + 5] = heap[dst + 5]; - view[i + 6] = heap[dst + 6]; - view[i + 7] = heap[dst + 7]; - view[i + 8] = heap[dst + 8]; - view[i + 9] = heap[dst + 9]; - view[i + 10] = heap[dst + 10]; - view[i + 11] = heap[dst + 11]; - view[i + 12] = heap[dst + 12]; - view[i + 13] = heap[dst + 13]; - view[i + 14] = heap[dst + 14]; - view[i + 15] = heap[dst + 15]; - } - } else - { - var view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glUseProgram(program) { - GLctx.useProgram(GL.programs[program]); - } - - function _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); - } - - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } - - function _emscripten_glVertexAttrib1fv(index, v) { - - GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); - } - - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _emscripten_glVertexAttrib2fv(index, v) { - - GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); - } - - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glVertexAttrib3fv(index, v) { - - GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); - } - - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _emscripten_glVertexAttrib4fv(index, v) { - - GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); - } - - function _emscripten_glVertexAttribDivisorANGLE(index, divisor) { - GLctx['vertexAttribDivisor'](index, divisor); - } - - function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.copyWithin(dest, src, src + num); - } - - function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { - target = findEventTarget(target); - if (!target) return -4; - if (!target.requestPointerLock - && !target.msRequestPointerLock - ) { - return -1; - } - - var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); - - // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. - if (!canPerformRequests) { - if (deferUntilInEventHandler) { - JSEvents.deferCall(__requestPointerLock, 2 /* priority below fullscreen */, [target]); - return 1; - } else { - return -2; - } - } - - return __requestPointerLock(target); - } - - - function _emscripten_get_heap_size() { - return HEAPU8.length; - } - - function abortOnCannotGrowMemory(requestedSize) { - abort('OOM'); - }function _emscripten_resize_heap(requestedSize) { - requestedSize = requestedSize >>> 0; - abortOnCannotGrowMemory(requestedSize); - } - - function _emscripten_run_script(ptr) { - eval(UTF8ToString(ptr)); - } - - function _emscripten_sample_gamepad_data() { - return (JSEvents.lastGamepadState = (navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : null))) - ? 0 : -1; - } - - - - function __fillMouseEventData(eventStruct, e, target) { - var idx = eventStruct >> 2; - HEAP32[idx + 0] = e.screenX; - HEAP32[idx + 1] = e.screenY; - HEAP32[idx + 2] = e.clientX; - HEAP32[idx + 3] = e.clientY; - HEAP32[idx + 4] = e.ctrlKey; - HEAP32[idx + 5] = e.shiftKey; - HEAP32[idx + 6] = e.altKey; - HEAP32[idx + 7] = e.metaKey; - HEAP16[idx*2 + 16] = e.button; - HEAP16[idx*2 + 17] = e.buttons; - - HEAP32[idx + 9] = e["movementX"] - ; - - HEAP32[idx + 10] = e["movementY"] - ; - - var rect = __getBoundingClientRect(target); - HEAP32[idx + 11] = e.clientX - rect.left; - HEAP32[idx + 12] = e.clientY - rect.top; - - }function __registerMouseEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) { - if (!JSEvents.mouseEvent) JSEvents.mouseEvent = _malloc( 64 ); - target = findEventTarget(target); - - var mouseEventHandlerFunc = function(ev) { - var e = ev || event; - - // TODO: Make this access thread safe, or this could update live while app is reading it. - __fillMouseEventData(JSEvents.mouseEvent, e, target); - - if (wasmTable.get(callbackfunc)(eventTypeId, JSEvents.mouseEvent, userData)) e.preventDefault(); - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: mouseEventHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }function _emscripten_set_click_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { - __registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click", targetThread); - return 0; - } - - - - function __fillFullscreenChangeEventData(eventStruct) { - var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; - var isFullscreen = !!fullscreenElement; - /** @suppress{checkTypes} */ - HEAP32[((eventStruct)>>2)]=isFullscreen; - HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); - // If transitioning to fullscreen, report info about the element that is now fullscreen. - // If transitioning to windowed mode, report info about the element that just was fullscreen. - var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; - var nodeName = JSEvents.getNodeNameForTarget(reportedElement); - var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - stringToUTF8(nodeName, eventStruct + 8, 128); - stringToUTF8(id, eventStruct + 136, 128); - HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; - HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; - HEAP32[(((eventStruct)+(272))>>2)]=screen.width; - HEAP32[(((eventStruct)+(276))>>2)]=screen.height; - if (isFullscreen) { - JSEvents.previousFullscreenElement = fullscreenElement; - } - }function __registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) { - if (!JSEvents.fullscreenChangeEvent) JSEvents.fullscreenChangeEvent = _malloc( 280 ); - - var fullscreenChangeEventhandlerFunc = function(ev) { - var e = ev || event; - - var fullscreenChangeEvent = JSEvents.fullscreenChangeEvent; - - __fillFullscreenChangeEventData(fullscreenChangeEvent); - - if (wasmTable.get(callbackfunc)(eventTypeId, fullscreenChangeEvent, userData)) e.preventDefault(); - }; - - var eventHandler = { - target: target, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: fullscreenChangeEventhandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }function _emscripten_set_fullscreenchange_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { - if (!JSEvents.fullscreenEnabled()) return -1; - target = findEventTarget(target); - if (!target) return -4; - __registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange", targetThread); - - - // Unprefixed Fullscreen API shipped in Chromium 71 (https://bugs.chromium.org/p/chromium/issues/detail?id=383813) - // As of Safari 13.0.3 on macOS Catalina 10.15.1 still ships with prefixed webkitfullscreenchange. TODO: revisit this check once Safari ships unprefixed version. - __registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange", targetThread); - - return 0; - } - - - function __registerGamepadEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) { - if (!JSEvents.gamepadEvent) JSEvents.gamepadEvent = _malloc( 1432 ); - - var gamepadEventHandlerFunc = function(ev) { - var e = ev || event; - - var gamepadEvent = JSEvents.gamepadEvent; - __fillGamepadEventData(gamepadEvent, e["gamepad"]); - - if (wasmTable.get(callbackfunc)(eventTypeId, gamepadEvent, userData)) e.preventDefault(); - }; - - var eventHandler = { - target: findEventTarget(target), - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: gamepadEventHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }function _emscripten_set_gamepadconnected_callback_on_thread(userData, useCapture, callbackfunc, targetThread) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - __registerGamepadEventCallback(2, userData, useCapture, callbackfunc, 26, "gamepadconnected", targetThread); - return 0; - } - - function _emscripten_set_gamepaddisconnected_callback_on_thread(userData, useCapture, callbackfunc, targetThread) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - __registerGamepadEventCallback(2, userData, useCapture, callbackfunc, 27, "gamepaddisconnected", targetThread); - return 0; - } - - - function __registerKeyEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) { - if (!JSEvents.keyEvent) JSEvents.keyEvent = _malloc( 164 ); - - var keyEventHandlerFunc = function(e) { - - var keyEventData = JSEvents.keyEvent; - var idx = keyEventData >> 2; - - HEAP32[idx + 0] = e.location; - HEAP32[idx + 1] = e.ctrlKey; - HEAP32[idx + 2] = e.shiftKey; - HEAP32[idx + 3] = e.altKey; - HEAP32[idx + 4] = e.metaKey; - HEAP32[idx + 5] = e.repeat; - HEAP32[idx + 6] = e.charCode; - HEAP32[idx + 7] = e.keyCode; - HEAP32[idx + 8] = e.which; - stringToUTF8(e.key || '', keyEventData + 36, 32); - stringToUTF8(e.code || '', keyEventData + 68, 32); - stringToUTF8(e.char || '', keyEventData + 100, 32); - stringToUTF8(e.locale || '', keyEventData + 132, 32); - - if (wasmTable.get(callbackfunc)(eventTypeId, keyEventData, userData)) e.preventDefault(); - }; - - var eventHandler = { - target: findEventTarget(target), - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: keyEventHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }function _emscripten_set_keydown_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { - __registerKeyEventCallback(target, userData, useCapture, callbackfunc, 2, "keydown", targetThread); - return 0; - } - - /** @param {number|boolean=} noSetTiming */ - function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - var browserIterationFunc = function() { wasmTable.get(func)(); }; - setMainLoop(browserIterationFunc, fps, simulateInfiniteLoop, arg, noSetTiming); - } - - - function __registerTouchEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) { - if (!JSEvents.touchEvent) JSEvents.touchEvent = _malloc( 1684 ); - - target = findEventTarget(target); - - var touchEventHandlerFunc = function(e) { - var touches = {}; - var et = e.touches; - for(var i = 0; i < et.length; ++i) { - var touch = et[i]; - touches[touch.identifier] = touch; - } - et = e.changedTouches; - for(var i = 0; i < et.length; ++i) { - var touch = et[i]; - touch.isChanged = 1; - touches[touch.identifier] = touch; - } - et = e.targetTouches; - for(var i = 0; i < et.length; ++i) { - touches[et[i].identifier].onTarget = 1; - } - - var touchEvent = JSEvents.touchEvent; - var idx = touchEvent>>2; // Pre-shift the ptr to index to HEAP32 to save code size - HEAP32[idx + 1] = e.ctrlKey; - HEAP32[idx + 2] = e.shiftKey; - HEAP32[idx + 3] = e.altKey; - HEAP32[idx + 4] = e.metaKey; - idx += 5; // Advance to the start of the touch array. - var targetRect = __getBoundingClientRect(target); - var numTouches = 0; - for(var i in touches) { - var t = touches[i]; - HEAP32[idx + 0] = t.identifier; - HEAP32[idx + 1] = t.screenX; - HEAP32[idx + 2] = t.screenY; - HEAP32[idx + 3] = t.clientX; - HEAP32[idx + 4] = t.clientY; - HEAP32[idx + 5] = t.pageX; - HEAP32[idx + 6] = t.pageY; - HEAP32[idx + 7] = t.isChanged; - HEAP32[idx + 8] = t.onTarget; - HEAP32[idx + 9] = t.clientX - targetRect.left; - HEAP32[idx + 10] = t.clientY - targetRect.top; - - idx += 13; - - if (++numTouches > 31) { - break; - } - } - HEAP32[((touchEvent)>>2)]=numTouches; - - if (wasmTable.get(callbackfunc)(eventTypeId, touchEvent, userData)) e.preventDefault(); - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString == 'touchstart' || eventTypeString == 'touchend', - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: touchEventHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }function _emscripten_set_touchcancel_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { - __registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel", targetThread); - return 0; - } - - function _emscripten_set_touchend_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { - __registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend", targetThread); - return 0; - } - - function _emscripten_set_touchmove_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { - __registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove", targetThread); - return 0; - } - - function _emscripten_set_touchstart_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { - __registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart", targetThread); - return 0; - } - - function _exit(status) { - // void _exit(int status); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html - exit(status); - } - - function _fd_close(fd) {try { - - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return e.errno; - } - } - - function _fd_read(fd, iov, iovcnt, pnum) {try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = SYSCALLS.doReadv(stream, iov, iovcnt); - HEAP32[((pnum)>>2)]=num - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return e.errno; - } - } - - function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {try { - - - var stream = SYSCALLS.getStreamFromFD(fd); - var HIGH_OFFSET = 0x100000000; // 2^32 - // use an unsigned operator on low and shift high by 32-bits - var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); - - var DOUBLE_LIMIT = 0x20000000000000; // 2^53 - // we also check for equality since DOUBLE_LIMIT + 1 == DOUBLE_LIMIT - if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { - return -61; - } - - FS.llseek(stream, offset, whence); - (tempI64 = [stream.position>>>0,(tempDouble=stream.position,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((newOffset)>>2)]=tempI64[0],HEAP32[(((newOffset)+(4))>>2)]=tempI64[1]); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return e.errno; - } - } - - function _fd_write(fd, iov, iovcnt, pnum) {try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = SYSCALLS.doWritev(stream, iov, iovcnt); - HEAP32[((pnum)>>2)]=num - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return e.errno; - } - } - - function _glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glBindAttribLocation(program, index, name) { - GLctx.bindAttribLocation(GL.programs[program], index, UTF8ToString(name)); - } - - function _glBindBuffer(target, buffer) { - - GLctx.bindBuffer(target, GL.buffers[buffer]); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, GL.textures[texture]); - } - - function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _glBufferData(target, size, data, usage) { - - // N.b. here first form specifies a heap subarray, second form an integer size, so the ?: code here is polymorphic. It is advised to avoid - // randomly mixing both uses in calling code, to avoid any potential JS engine JIT issues. - GLctx.bufferData(target, data ? HEAPU8.subarray(data, data+size) : size, usage); - } - - function _glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _glClear(x0) { GLctx['clear'](x0) } - - function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glCullFace(x0) { GLctx['cullFace'](x0) } - - function _glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - } - } - - function _glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - function _glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glDisable(x0) { GLctx['disable'](x0) } - - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glEnable(x0) { GLctx['enable'](x0) } - - function _glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _glGenBuffers(n, buffers) { - __glGenObject(n, buffers, 'createBuffer', GL.buffers - ); - } - - function _glGenTextures(n, textures) { - __glGenObject(n, textures, 'createTexture', GL.textures - ); - } - - function _glGetAttribLocation(program, name) { - return GLctx.getAttribLocation(GL.programs[program], UTF8ToString(name)); - } - - function _glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 2); - } - - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - var numBytesWrittenExclNull = (maxLength > 0 && infoLog) ? stringToUTF8(log, infoLog, maxLength) : 0; - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } - - function _glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, 0x8B89/*GL_ACTIVE_ATTRIBUTES*/); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, 0x8A36/*GL_ACTIVE_UNIFORM_BLOCKS*/); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - var numBytesWrittenExclNull = (maxLength > 0 && infoLog) ? stringToUTF8(log, infoLog, maxLength) : 0; - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } - - function _glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - // The GLES2 specification says that if the shader has an empty info log, - // a value of 0 is returned. Otherwise the log has a null char appended. - // (An empty string is falsey, so we can just check that instead of - // looking at log.length.) - var logLength = log ? log.length + 1 : 0; - HEAP32[((p)>>2)]=logLength; - } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH - var source = GLctx.getShaderSource(GL.shaders[shader]); - // source may be a null, or the empty string, both of which are falsey - // values that we report a 0 length for. - var sourceLength = source ? source.length + 1 : 0; - HEAP32[((p)>>2)]=sourceLength; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions() || []; // .getSupportedExtensions() can return null if context is lost, so coerce to empty array. - exts = exts.concat(exts.map(function(e) { return "GL_" + e; })); - ret = stringToNewUTF8(exts.join(' ')); - break; - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - var s = GLctx.getParameter(name_); - if (!s) { - GL.recordError(0x500/*GL_INVALID_ENUM*/); - } - ret = stringToNewUTF8(s); - break; - - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(0x1F02 /*GL_VERSION*/); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = stringToNewUTF8(glVersion); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(0x8B8C /*GL_SHADING_LANGUAGE_VERSION*/); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = stringToNewUTF8(glslVersion); - break; - default: - GL.recordError(0x500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _glGetUniformLocation(program, name) { - name = UTF8ToString(name); - - var arrayIndex = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name[name.length - 1] == ']') { - var leftBrace = name.lastIndexOf('['); - arrayIndex = name[leftBrace+1] != ']' ? jstoi_q(name.slice(leftBrace + 1)) : 0; // "index]", parseInt will ignore the ']' at the end; but treat "foo[]" as "foo[0]" - name = name.slice(0, leftBrace); - } - - var uniformInfo = GL.programInfos[program] && GL.programInfos[program].uniforms[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayIndex >= 0 && arrayIndex < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1] + arrayIndex; - } else { - return -1; - } - } - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.populateUniformTable(program); - } - - function _glPixelStorei(pname, param) { - if (pname == 0xCF5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _glReadPixels(x, y, width, height, format, type, pixels) { - var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!pixelData) { - GL.recordError(0x500/*GL_INVALID_ENUM*/); - return; - } - GLctx.readPixels(x, y, width, height, format, type, pixelData); - } - - function _glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixels ? emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) : null); - } - - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _glUniformMatrix4fv(location, count, transpose, value) { - - - - if (count <= 18) { - // avoid allocation when uploading few enough uniforms - var view = miniTempWebGLFloatBuffers[16*count-1]; - // hoist the heap out of the loop for size and for pthreads+growth. - var heap = HEAPF32; - value >>= 2; - for (var i = 0; i < 16 * count; i += 16) { - var dst = value + i; - view[i] = heap[dst]; - view[i + 1] = heap[dst + 1]; - view[i + 2] = heap[dst + 2]; - view[i + 3] = heap[dst + 3]; - view[i + 4] = heap[dst + 4]; - view[i + 5] = heap[dst + 5]; - view[i + 6] = heap[dst + 6]; - view[i + 7] = heap[dst + 7]; - view[i + 8] = heap[dst + 8]; - view[i + 9] = heap[dst + 9]; - view[i + 10] = heap[dst + 10]; - view[i + 11] = heap[dst + 11]; - view[i + 12] = heap[dst + 12]; - view[i + 13] = heap[dst + 13]; - view[i + 14] = heap[dst + 14]; - view[i + 15] = heap[dst + 15]; - } - } else - { - var view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _glUseProgram(program) { - GLctx.useProgram(GL.programs[program]); - } - - function _glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - - - /** @constructor */ - function GLFW_Window(id, width, height, title, monitor, share) { - this.id = id; - this.x = 0; - this.y = 0; - this.fullscreen = false; // Used to determine if app in fullscreen mode - this.storedX = 0; // Used to store X before fullscreen - this.storedY = 0; // Used to store Y before fullscreen - this.width = width; - this.height = height; - this.storedWidth = width; // Used to store width before fullscreen - this.storedHeight = height; // Used to store height before fullscreen - this.title = title; - this.monitor = monitor; - this.share = share; - this.attributes = GLFW.hints; - this.inputModes = { - 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) - 0x00033002:0, // GLFW_STICKY_KEYS - 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS - }; - this.buttons = 0; - this.keys = new Array(); - this.domKeys = new Array(); - this.shouldClose = 0; - this.title = null; - this.windowPosFunc = null; // GLFWwindowposfun - this.windowSizeFunc = null; // GLFWwindowsizefun - this.windowCloseFunc = null; // GLFWwindowclosefun - this.windowRefreshFunc = null; // GLFWwindowrefreshfun - this.windowFocusFunc = null; // GLFWwindowfocusfun - this.windowIconifyFunc = null; // GLFWwindowiconifyfun - this.framebufferSizeFunc = null; // GLFWframebuffersizefun - this.mouseButtonFunc = null; // GLFWmousebuttonfun - this.cursorPosFunc = null; // GLFWcursorposfun - this.cursorEnterFunc = null; // GLFWcursorenterfun - this.scrollFunc = null; // GLFWscrollfun - this.dropFunc = null; // GLFWdropfun - this.keyFunc = null; // GLFWkeyfun - this.charFunc = null; // GLFWcharfun - this.userptr = null; - }var GLFW={WindowFromId:function(id) { - if (id <= 0 || !GLFW.windows) return null; - return GLFW.windows[id - 1]; - },joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode) { - switch (keycode) { - // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 - case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE - case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE - case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA - case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS - case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS - case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD - case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH - case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 - case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 - case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 - case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 - case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 - case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 - case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 - case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 - case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 - case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 - case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A - case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B - case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C - case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D - case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E - case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F - case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G - case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H - case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I - case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J - case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K - case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L - case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M - case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N - case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O - case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P - case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q - case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R - case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S - case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T - case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U - case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V - case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W - case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X - case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y - case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z - case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET - case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH - case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET - case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT - - - case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE - case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER - case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB - case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE - case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT - case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE - case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT - case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT - case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN - case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP - case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP - case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN - case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME - case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END - case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK - case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK - case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK - case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN - case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE - case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 - case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 - case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 - case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 - case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 - case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 - case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 - case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 - case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 - case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 - case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 - case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 - case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 - case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 - case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 - case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 - case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 - case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 - case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 - case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 - case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 - case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 - case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 - case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 - case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 - case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 - case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 - case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 - case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 - case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 - case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 - case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 - case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 - case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 - case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 - case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL - case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE - case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY - case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT - case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD - // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) - // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) - case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT - case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL - case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT - case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER - // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) - // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) - // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) - // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) - case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? - default:return -1; // GLFW_KEY_UNKNOWN - }; - },getModBits:function(win) { - var mod = 0; - if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT - if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL - if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT - if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER - return mod; - },onKeyPress:function(event) { - if (!GLFW.active || !GLFW.active.charFunc) return; - if (event.ctrlKey || event.metaKey) return; - - // correct unicode charCode is only available with onKeyPress event - var charCode = event.charCode; - if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - - - wasmTable.get(GLFW.active.charFunc)(GLFW.active.id, charCode); - },onKeyChanged:function(keyCode, status) { - if (!GLFW.active) return; - - var key = GLFW.DOMToGLFWKeyCode(keyCode); - if (key == -1) return; - - var repeat = status && GLFW.active.keys[key]; - GLFW.active.keys[key] = status; - GLFW.active.domKeys[keyCode] = status; - if (!GLFW.active.keyFunc) return; - - - if (repeat) status = 2; // GLFW_REPEAT - wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id, key, keyCode, status, GLFW.getModBits(GLFW.active)); - },onGamepadConnected:function(event) { - GLFW.refreshJoysticks(); - },onGamepadDisconnected:function(event) { - GLFW.refreshJoysticks(); - },onKeydown:function(event) { - GLFW.onKeyChanged(event.keyCode, 1); // GLFW_PRESS or GLFW_REPEAT - - // This logic comes directly from the sdl implementation. We cannot - // call preventDefault on all keydown events otherwise onKeyPress will - // not get called - if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { - event.preventDefault(); - } - },onKeyup:function(event) { - GLFW.onKeyChanged(event.keyCode, 0); // GLFW_RELEASE - },onBlur:function(event) { - if (!GLFW.active) return; - - for (var i = 0; i < GLFW.active.domKeys.length; ++i) { - if (GLFW.active.domKeys[i]) { - GLFW.onKeyChanged(i, 0); // GLFW_RELEASE - } - } - },onMousemove:function(event) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - - - wasmTable.get(GLFW.active.cursorPosFunc)(GLFW.active.id, Browser.mouseX, Browser.mouseY); - },DOMToGLFWMouseButton:function(event) { - // DOM and glfw have different button codes. - // See http://www.w3schools.com/jsref/event_button.asp. - var eventButton = event['button']; - if (eventButton > 0) { - if (eventButton == 1) { - eventButton = 2; - } else { - eventButton = 1; - } - } - return eventButton; - },onMouseenter:function(event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id, 1); - },onMouseleave:function(event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id, 0); - },onMouseButtonChanged:function(event, status) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - var eventButton = GLFW.DOMToGLFWMouseButton(event); - - if (status == 1) { // GLFW_PRESS - GLFW.active.buttons |= (1 << eventButton); - try { - event.target.setCapture(); - } catch (e) {} - } else { // GLFW_RELEASE - GLFW.active.buttons &= ~(1 << eventButton); - } - - if (!GLFW.active.mouseButtonFunc) return; - - - wasmTable.get(GLFW.active.mouseButtonFunc)(GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); - },onMouseButtonDown:function(event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS - },onMouseButtonUp:function(event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE - },onMouseWheel:function(event) { - // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) - var delta = -Browser.getMouseWheelDelta(event); - delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. - GLFW.wheelPos += delta; - - if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; - - - var sx = 0; - var sy = 0; - if (event.type == 'mousewheel') { - sx = event.wheelDeltaX; - sy = event.wheelDeltaY; - } else { - sx = event.deltaX; - sy = event.deltaY; - } - - wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id, sx, sy); - - event.preventDefault(); - },onCanvasResize:function(width, height) { - if (!GLFW.active) return; - - var resizeNeeded = true; - - // If the client is requesting fullscreen mode - if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { - GLFW.active.storedX = GLFW.active.x; - GLFW.active.storedY = GLFW.active.y; - GLFW.active.storedWidth = GLFW.active.width; - GLFW.active.storedHeight = GLFW.active.height; - GLFW.active.x = GLFW.active.y = 0; - GLFW.active.width = screen.width; - GLFW.active.height = screen.height; - GLFW.active.fullscreen = true; - - // If the client is reverting from fullscreen mode - } else if (GLFW.active.fullscreen == true) { - GLFW.active.x = GLFW.active.storedX; - GLFW.active.y = GLFW.active.storedY; - GLFW.active.width = GLFW.active.storedWidth; - GLFW.active.height = GLFW.active.storedHeight; - GLFW.active.fullscreen = false; - - // If the width/height values do not match current active window sizes - } else if (GLFW.active.width != width || GLFW.active.height != height) { - GLFW.active.width = width; - GLFW.active.height = height; - } else { - resizeNeeded = false; - } - - // If any of the above conditions were true, we need to resize the canvas - if (resizeNeeded) { - // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); - // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of - // the canvas should drive window and framebuffer size respectfully. - GLFW.onWindowSizeChanged(); - GLFW.onFramebufferSizeChanged(); - } - },onWindowSizeChanged:function() { - if (!GLFW.active) return; - - if (!GLFW.active.windowSizeFunc) return; - - - wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id, GLFW.active.width, GLFW.active.height); - },onFramebufferSizeChanged:function() { - if (!GLFW.active) return; - - if (!GLFW.active.framebufferSizeFunc) return; - - wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id, GLFW.active.width, GLFW.active.height); - },getTime:function() { - return _emscripten_get_now() / 1000; - },setWindowTitle:function(winid, title) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - win.title = UTF8ToString(title); - if (GLFW.active.id == win.id) { - document.title = win.title; - } - },setJoystickCallback:function(cbfun) { - GLFW.joystickFunc = cbfun; - GLFW.refreshJoysticks(); - },joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function() { - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== GLFW.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - GLFW.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - GLFW.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - - for (var joy = 0; joy < GLFW.lastGamepadState.length; ++joy) { - var gamepad = GLFW.lastGamepadState[joy]; - - if (gamepad) { - if (!GLFW.joys[joy]) { - console.log('glfw joystick connected:',joy); - GLFW.joys[joy] = { - id: allocate(intArrayFromString(gamepad.id), 'i8', ALLOC_NORMAL), - buttonsCount: gamepad.buttons.length, - axesCount: gamepad.axes.length, - buttons: allocate(new Array(gamepad.buttons.length), 'i8', ALLOC_NORMAL), - axes: allocate(new Array(gamepad.axes.length*4), 'float', ALLOC_NORMAL) - }; - - if (GLFW.joystickFunc) { - wasmTable.get(GLFW.joystickFunc)(joy, 0x00040001); // GLFW_CONNECTED - } - } - - var data = GLFW.joys[joy]; - - for (var i = 0; i < gamepad.buttons.length; ++i) { - setValue(data.buttons + i, gamepad.buttons[i].pressed, 'i8'); - } - - for (var i = 0; i < gamepad.axes.length; ++i) { - setValue(data.axes + i*4, gamepad.axes[i], 'float'); - } - } else { - if (GLFW.joys[joy]) { - console.log('glfw joystick disconnected',joy); - - if (GLFW.joystickFunc) { - wasmTable.get(GLFW.joystickFunc)(joy, 0x00040002); // GLFW_DISCONNECTED - } - - _free(GLFW.joys[joy].id); - _free(GLFW.joys[joy].buttons); - _free(GLFW.joys[joy].axes); - - delete GLFW.joys[joy]; - } - } - } - } - },setKeyCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.keyFunc; - win.keyFunc = cbfun; - return prevcbfun; - },setCharCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.charFunc; - win.charFunc = cbfun; - return prevcbfun; - },setMouseButtonCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.mouseButtonFunc; - win.mouseButtonFunc = cbfun; - return prevcbfun; - },setCursorPosCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.cursorPosFunc; - win.cursorPosFunc = cbfun; - return prevcbfun; - },setScrollCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.scrollFunc; - win.scrollFunc = cbfun; - return prevcbfun; - },setDropCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.dropFunc; - win.dropFunc = cbfun; - return prevcbfun; - },onDrop:function(event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - if (!event.dataTransfer || !event.dataTransfer.files || event.dataTransfer.files.length == 0) return; - - event.preventDefault(); - - var filenames = allocate(new Array(event.dataTransfer.files.length*4), 'i8*', ALLOC_NORMAL); - var filenamesArray = []; - var count = event.dataTransfer.files.length; - - // Read and save the files to emscripten's FS - var written = 0; - var drop_dir = '.glfw_dropped_files'; - FS.createPath('/', drop_dir); - - function save(file) { - var path = '/' + drop_dir + '/' + file.name.replace(/\//g, '_'); - var reader = new FileReader(); - reader.onloadend = function(e) { - if (reader.readyState != 2) { // not DONE - ++written; - console.log('failed to read dropped file: '+file.name+': '+reader.error); - return; - } - - var data = e.target.result; - FS.writeFile(path, new Uint8Array(data)); - if (++written === count) { - wasmTable.get(GLFW.active.dropFunc)(GLFW.active.id, count, filenames); - - for (var i = 0; i < filenamesArray.length; ++i) { - _free(filenamesArray[i]); - } - _free(filenames); - } - }; - reader.readAsArrayBuffer(file); - - var filename = allocate(intArrayFromString(path), 'i8', ALLOC_NORMAL); - filenamesArray.push(filename); - setValue(filenames + i*4, filename, 'i8*'); - } - - for (var i = 0; i < count; ++i) { - save(event.dataTransfer.files[i]); - } - - return false; - },onDragover:function(event) { - if (!GLFW.active || !GLFW.active.dropFunc) return; - - event.preventDefault(); - return false; - },setWindowSizeCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.windowSizeFunc; - win.windowSizeFunc = cbfun; - - - return prevcbfun; - },setWindowCloseCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.windowCloseFunc; - win.windowCloseFunc = cbfun; - return prevcbfun; - },setWindowRefreshCallback:function(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.windowRefreshFunc; - win.windowRefreshFunc = cbfun; - return prevcbfun; - },onClickRequestPointerLock:function(e) { - if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { - Module['canvas'].requestPointerLock(); - e.preventDefault(); - } - },setInputMode:function(winid, mode, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - switch(mode) { - case 0x00033001: { // GLFW_CURSOR - switch(value) { - case 0x00034001: { // GLFW_CURSOR_NORMAL - win.inputModes[mode] = value; - Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].exitPointerLock(); - break; - } - case 0x00034002: { // GLFW_CURSOR_HIDDEN - console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); - break; - } - case 0x00034003: { // GLFW_CURSOR_DISABLED - win.inputModes[mode] = value; - Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].requestPointerLock(); - break; - } - default: { - console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); - break; - } - } - break; - } - case 0x00033002: { // GLFW_STICKY_KEYS - console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); - break; - } - case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS - console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); - break; - } - default: { - console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); - break; - } - } - },getKey:function(winid, key) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return win.keys[key]; - },getMouseButton:function(winid, button) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return (win.buttons & (1 << button)) > 0; - },getCursorPos:function(winid, x, y) { - setValue(x, Browser.mouseX, 'double'); - setValue(y, Browser.mouseY, 'double'); - },getMousePos:function(winid, x, y) { - setValue(x, Browser.mouseX, 'i32'); - setValue(y, Browser.mouseY, 'i32'); - },setCursorPos:function(winid, x, y) { - },getWindowPos:function(winid, x, y) { - var wx = 0; - var wy = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - wx = win.x; - wy = win.y; - } - - if (x) { - setValue(x, wx, 'i32'); - } - - if (y) { - setValue(y, wy, 'i32'); - } - },setWindowPos:function(winid, x, y) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.x = x; - win.y = y; - },getWindowSize:function(winid, width, height) { - var ww = 0; - var wh = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - ww = win.width; - wh = win.height; - } - - if (width) { - setValue(width, ww, 'i32'); - } - - if (height) { - setValue(height, wh, 'i32'); - } - },setWindowSize:function(winid, width, height) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (GLFW.active.id == win.id) { - if (width == screen.width && height == screen.height) { - Browser.requestFullscreen(); - } else { - Browser.exitFullscreen(); - Browser.setCanvasSize(width, height); - win.width = width; - win.height = height; - } - } - - if (!win.windowSizeFunc) return; - - - wasmTable.get(win.windowSizeFunc)(win.id, width, height); - },createWindow:function(width, height, title, monitor, share) { - var i, id; - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++) { - // no-op - } - if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; - - // id for window - id = i + 1; - - // not valid - if (width <= 0 || height <= 0) return 0; - - if (monitor) { - Browser.requestFullscreen(); - } else { - Browser.setCanvasSize(width, height); - } - - // Create context when there are no existing alive windows - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++) { - // no-op - } - if (i == GLFW.windows.length) { - var contextAttributes = { - antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES - depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS - alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS - } - Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); - } - - // If context creation failed, do not return a valid window - if (!Module.ctx) return 0; - - // Get non alive id - var win = new GLFW_Window(id, width, height, title, monitor, share); - - // Set window to array - if (id - 1 == GLFW.windows.length) { - GLFW.windows.push(win); - } else { - GLFW.windows[id - 1] = win; - } - - GLFW.active = win; - return win.id; - },destroyWindow:function(winid) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (win.windowCloseFunc) - wasmTable.get(win.windowCloseFunc)(win.id); - - GLFW.windows[win.id - 1] = null; - if (GLFW.active.id == win.id) - GLFW.active = null; - - // Destroy context when no alive windows - for (var i = 0; i < GLFW.windows.length; i++) - if (GLFW.windows[i] !== null) return; - - Module.ctx = Browser.destroyContext(Module['canvas'], true, true); - },swapBuffers:function(winid) { - },GLFW2ParamToGLFW3Param:function(param) { - var table = { - 0x00030001:0, // GLFW_MOUSE_CURSOR - 0x00030002:0, // GLFW_STICKY_KEYS - 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS - 0x00030004:0, // GLFW_SYSTEM_KEYS - 0x00030005:0, // GLFW_KEY_REPEAT - 0x00030006:0, // GLFW_AUTO_POLL_EVENTS - 0x00020001:0, // GLFW_OPENED - 0x00020002:0, // GLFW_ACTIVE - 0x00020003:0, // GLFW_ICONIFIED - 0x00020004:0, // GLFW_ACCELERATED - 0x00020005:0x00021001, // GLFW_RED_BITS - 0x00020006:0x00021002, // GLFW_GREEN_BITS - 0x00020007:0x00021003, // GLFW_BLUE_BITS - 0x00020008:0x00021004, // GLFW_ALPHA_BITS - 0x00020009:0x00021005, // GLFW_DEPTH_BITS - 0x0002000A:0x00021006, // GLFW_STENCIL_BITS - 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE - 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS - 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS - 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS - 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS - 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS - 0x00020011:0x0002100C, // GLFW_STEREO - 0x00020012:0, // GLFW_WINDOW_NO_RESIZE - 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES - 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR - 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR - 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT - 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT - 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE - }; - return table[param]; - }};function _glfwCreateWindow(width, height, title, monitor, share) { - return GLFW.createWindow(width, height, title, monitor, share); - } - - function _glfwDefaultWindowHints() { - GLFW.hints = GLFW.defaultHints; - } - - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); - } - - function _glfwGetPrimaryMonitor() { - return 1; - } - - function _glfwGetTime() { - return GLFW.getTime() - GLFW.initialTime; - } - - function _glfwGetVideoModes(monitor, count) { - setValue(count, 0, 'i32'); - return 0; - } - - function _glfwInit() { - if (GLFW.windows) return 1; // GL_TRUE - - GLFW.initialTime = GLFW.getTime(); - GLFW.hints = GLFW.defaultHints; - GLFW.windows = new Array() - GLFW.active = null; - - window.addEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.addEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.addEventListener("keydown", GLFW.onKeydown, true); - window.addEventListener("keypress", GLFW.onKeyPress, true); - window.addEventListener("keyup", GLFW.onKeyup, true); - window.addEventListener("blur", GLFW.onBlur, true); - Module["canvas"].addEventListener("touchmove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("touchstart", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("touchcancel", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener("touchend", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].addEventListener('drop', GLFW.onDrop, true); - Module["canvas"].addEventListener('dragover', GLFW.onDragover, true); - - Browser.resizeListeners.push(function(width, height) { - GLFW.onCanvasResize(width, height); - }); - return 1; // GL_TRUE - } - - function _glfwMakeContextCurrent(winid) {} - - function _glfwSetCharCallback(winid, cbfun) { - return GLFW.setCharCallback(winid, cbfun); - } - - function _glfwSetCursorEnterCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.cursorEnterFunc; - win.cursorEnterFunc = cbfun; - return prevcbfun; - } - - function _glfwSetCursorPosCallback(winid, cbfun) { - return GLFW.setCursorPosCallback(winid, cbfun); - } - - function _glfwSetDropCallback(winid, cbfun) { - return GLFW.setDropCallback(winid, cbfun); - } - - function _glfwSetErrorCallback(cbfun) { - var prevcbfun = GLFW.errorFunc; - GLFW.errorFunc = cbfun; - return prevcbfun; - } - - function _glfwSetKeyCallback(winid, cbfun) { - return GLFW.setKeyCallback(winid, cbfun); - } - - function _glfwSetMouseButtonCallback(winid, cbfun) { - return GLFW.setMouseButtonCallback(winid, cbfun); - } - - function _glfwSetScrollCallback(winid, cbfun) { - return GLFW.setScrollCallback(winid, cbfun); - } - - function _glfwSetWindowFocusCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.windowFocusFunc; - win.windowFocusFunc = cbfun; - return prevcbfun; - } - - function _glfwSetWindowIconifyCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return null; - var prevcbfun = win.windowIconifyFunc; - win.windowIconifyFunc = cbfun; - return prevcbfun; - } - - function _glfwSetWindowShouldClose(winid, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.shouldClose = value; - } - - function _glfwSetWindowSizeCallback(winid, cbfun) { - return GLFW.setWindowSizeCallback(winid, cbfun); - } - - function _glfwSwapBuffers(winid) { - GLFW.swapBuffers(winid); - } - - function _glfwSwapInterval(interval) { - interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. - if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); - } - - function _glfwTerminate() { - window.removeEventListener("gamepadconnected", GLFW.onGamepadConnected, true); - window.removeEventListener("gamepaddisconnected", GLFW.onGamepadDisconnected, true); - window.removeEventListener("keydown", GLFW.onKeydown, true); - window.removeEventListener("keypress", GLFW.onKeyPress, true); - window.removeEventListener("keyup", GLFW.onKeyup, true); - window.removeEventListener("blur", GLFW.onBlur, true); - Module["canvas"].removeEventListener("touchmove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("touchstart", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("touchcancel", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener("touchend", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].removeEventListener('drop', GLFW.onDrop, true); - Module["canvas"].removeEventListener('dragover', GLFW.onDragover, true); - - - Module["canvas"].width = Module["canvas"].height = 1; - GLFW.windows = null; - GLFW.active = null; - } - - function _glfwWindowHint(target, hint) { - GLFW.hints[target] = hint; - } - - - function _usleep(useconds) { - // int usleep(useconds_t useconds); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/usleep.html - // We're single-threaded, so use a busy loop. Super-ugly. - var start = _emscripten_get_now(); - while (_emscripten_get_now() - start < useconds / 1000) { - // Do nothing. - } - }function _nanosleep(rqtp, rmtp) { - // int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); - if (rqtp === 0) { - setErrNo(28); - return -1; - } - var seconds = HEAP32[((rqtp)>>2)]; - var nanoseconds = HEAP32[(((rqtp)+(4))>>2)]; - if (nanoseconds < 0 || nanoseconds > 999999999 || seconds < 0) { - setErrNo(28); - return -1; - } - if (rmtp !== 0) { - HEAP32[((rmtp)>>2)]=0; - HEAP32[(((rmtp)+(4))>>2)]=0; - } - return _usleep((seconds * 1e6) + (nanoseconds / 1000)); - } - - function _setTempRet0($i) { - setTempRet0(($i) | 0); - } - - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; - } - -var FSNode = /** @constructor */ function(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.mounted = null; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.node_ops = {}; - this.stream_ops = {}; - this.rdev = rdev; - }; - var readMode = 292/*292*/ | 73/*73*/; - var writeMode = 146/*146*/; - Object.defineProperties(FSNode.prototype, { - read: { - get: /** @this{FSNode} */function() { - return (this.mode & readMode) === readMode; - }, - set: /** @this{FSNode} */function(val) { - val ? this.mode |= readMode : this.mode &= ~readMode; - } - }, - write: { - get: /** @this{FSNode} */function() { - return (this.mode & writeMode) === writeMode; - }, - set: /** @this{FSNode} */function(val) { - val ? this.mode |= writeMode : this.mode &= ~writeMode; - } - }, - isFolder: { - get: /** @this{FSNode} */function() { - return FS.isDir(this.mode); - } - }, - isDevice: { - get: /** @this{FSNode} */function() { - return FS.isChrdev(this.mode); - } - } - }); - FS.FSNode = FSNode; - FS.staticInit();Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; -Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas) { Browser.requestFullscreen(lockPointer, resizeCanvas) }; - Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; - Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; - Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; - Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; - Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } - Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; -var GLctx;; -for (var i = 0; i < 32; ++i) tempFixedLengthArray.push(new Array(i));; -var miniTempWebGLFloatBuffersStorage = new Float32Array(288); - for (/**@suppress{duplicate}*/var i = 0; i < 288; ++i) { - miniTempWebGLFloatBuffers[i] = miniTempWebGLFloatBuffersStorage.subarray(0, i+1); - } - ; -var __miniTempWebGLIntBuffersStorage = new Int32Array(288); - for (/**@suppress{duplicate}*/var i = 0; i < 288; ++i) { - __miniTempWebGLIntBuffers[i] = __miniTempWebGLIntBuffersStorage.subarray(0, i+1); - } - ; -var ASSERTIONS = false; - - - -/** @type {function(string, boolean=, number=)} */ -function intArrayFromString(stringy, dontAddNull, length) { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; -} - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - if (ASSERTIONS) { - assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); - } - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} - - - -/* global initializers */ __ATINIT__.push({ func: function() { ___wasm_call_ctors() } }); - -var asmLibraryArg = { "__assert_fail": ___assert_fail, "__indirect_function_table": wasmTable, "__sys_fcntl64": ___sys_fcntl64, "__sys_ioctl": ___sys_ioctl, "__sys_open": ___sys_open, "eglGetProcAddress": _eglGetProcAddress, "emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "emscripten_get_element_css_size": _emscripten_get_element_css_size, "emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "emscripten_glActiveTexture": _emscripten_glActiveTexture, "emscripten_glAttachShader": _emscripten_glAttachShader, "emscripten_glBeginQueryEXT": _emscripten_glBeginQueryEXT, "emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "emscripten_glBindBuffer": _emscripten_glBindBuffer, "emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "emscripten_glBindTexture": _emscripten_glBindTexture, "emscripten_glBindVertexArrayOES": _emscripten_glBindVertexArrayOES, "emscripten_glBlendColor": _emscripten_glBlendColor, "emscripten_glBlendEquation": _emscripten_glBlendEquation, "emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "emscripten_glBlendFunc": _emscripten_glBlendFunc, "emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "emscripten_glBufferData": _emscripten_glBufferData, "emscripten_glBufferSubData": _emscripten_glBufferSubData, "emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "emscripten_glClear": _emscripten_glClear, "emscripten_glClearColor": _emscripten_glClearColor, "emscripten_glClearDepthf": _emscripten_glClearDepthf, "emscripten_glClearStencil": _emscripten_glClearStencil, "emscripten_glColorMask": _emscripten_glColorMask, "emscripten_glCompileShader": _emscripten_glCompileShader, "emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "emscripten_glCreateProgram": _emscripten_glCreateProgram, "emscripten_glCreateShader": _emscripten_glCreateShader, "emscripten_glCullFace": _emscripten_glCullFace, "emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "emscripten_glDeleteQueriesEXT": _emscripten_glDeleteQueriesEXT, "emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "emscripten_glDeleteShader": _emscripten_glDeleteShader, "emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "emscripten_glDeleteVertexArraysOES": _emscripten_glDeleteVertexArraysOES, "emscripten_glDepthFunc": _emscripten_glDepthFunc, "emscripten_glDepthMask": _emscripten_glDepthMask, "emscripten_glDepthRangef": _emscripten_glDepthRangef, "emscripten_glDetachShader": _emscripten_glDetachShader, "emscripten_glDisable": _emscripten_glDisable, "emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "emscripten_glDrawArrays": _emscripten_glDrawArrays, "emscripten_glDrawArraysInstancedANGLE": _emscripten_glDrawArraysInstancedANGLE, "emscripten_glDrawBuffersWEBGL": _emscripten_glDrawBuffersWEBGL, "emscripten_glDrawElements": _emscripten_glDrawElements, "emscripten_glDrawElementsInstancedANGLE": _emscripten_glDrawElementsInstancedANGLE, "emscripten_glEnable": _emscripten_glEnable, "emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "emscripten_glEndQueryEXT": _emscripten_glEndQueryEXT, "emscripten_glFinish": _emscripten_glFinish, "emscripten_glFlush": _emscripten_glFlush, "emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "emscripten_glFrontFace": _emscripten_glFrontFace, "emscripten_glGenBuffers": _emscripten_glGenBuffers, "emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "emscripten_glGenQueriesEXT": _emscripten_glGenQueriesEXT, "emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "emscripten_glGenTextures": _emscripten_glGenTextures, "emscripten_glGenVertexArraysOES": _emscripten_glGenVertexArraysOES, "emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "emscripten_glGetError": _emscripten_glGetError, "emscripten_glGetFloatv": _emscripten_glGetFloatv, "emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "emscripten_glGetQueryObjecti64vEXT": _emscripten_glGetQueryObjecti64vEXT, "emscripten_glGetQueryObjectivEXT": _emscripten_glGetQueryObjectivEXT, "emscripten_glGetQueryObjectui64vEXT": _emscripten_glGetQueryObjectui64vEXT, "emscripten_glGetQueryObjectuivEXT": _emscripten_glGetQueryObjectuivEXT, "emscripten_glGetQueryivEXT": _emscripten_glGetQueryivEXT, "emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "emscripten_glGetString": _emscripten_glGetString, "emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "emscripten_glHint": _emscripten_glHint, "emscripten_glIsBuffer": _emscripten_glIsBuffer, "emscripten_glIsEnabled": _emscripten_glIsEnabled, "emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "emscripten_glIsProgram": _emscripten_glIsProgram, "emscripten_glIsQueryEXT": _emscripten_glIsQueryEXT, "emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "emscripten_glIsShader": _emscripten_glIsShader, "emscripten_glIsTexture": _emscripten_glIsTexture, "emscripten_glIsVertexArrayOES": _emscripten_glIsVertexArrayOES, "emscripten_glLineWidth": _emscripten_glLineWidth, "emscripten_glLinkProgram": _emscripten_glLinkProgram, "emscripten_glPixelStorei": _emscripten_glPixelStorei, "emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "emscripten_glQueryCounterEXT": _emscripten_glQueryCounterEXT, "emscripten_glReadPixels": _emscripten_glReadPixels, "emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "emscripten_glScissor": _emscripten_glScissor, "emscripten_glShaderBinary": _emscripten_glShaderBinary, "emscripten_glShaderSource": _emscripten_glShaderSource, "emscripten_glStencilFunc": _emscripten_glStencilFunc, "emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "emscripten_glStencilMask": _emscripten_glStencilMask, "emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "emscripten_glStencilOp": _emscripten_glStencilOp, "emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "emscripten_glTexImage2D": _emscripten_glTexImage2D, "emscripten_glTexParameterf": _emscripten_glTexParameterf, "emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "emscripten_glTexParameteri": _emscripten_glTexParameteri, "emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "emscripten_glUniform1f": _emscripten_glUniform1f, "emscripten_glUniform1fv": _emscripten_glUniform1fv, "emscripten_glUniform1i": _emscripten_glUniform1i, "emscripten_glUniform1iv": _emscripten_glUniform1iv, "emscripten_glUniform2f": _emscripten_glUniform2f, "emscripten_glUniform2fv": _emscripten_glUniform2fv, "emscripten_glUniform2i": _emscripten_glUniform2i, "emscripten_glUniform2iv": _emscripten_glUniform2iv, "emscripten_glUniform3f": _emscripten_glUniform3f, "emscripten_glUniform3fv": _emscripten_glUniform3fv, "emscripten_glUniform3i": _emscripten_glUniform3i, "emscripten_glUniform3iv": _emscripten_glUniform3iv, "emscripten_glUniform4f": _emscripten_glUniform4f, "emscripten_glUniform4fv": _emscripten_glUniform4fv, "emscripten_glUniform4i": _emscripten_glUniform4i, "emscripten_glUniform4iv": _emscripten_glUniform4iv, "emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "emscripten_glUseProgram": _emscripten_glUseProgram, "emscripten_glValidateProgram": _emscripten_glValidateProgram, "emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "emscripten_glVertexAttribDivisorANGLE": _emscripten_glVertexAttribDivisorANGLE, "emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "emscripten_glViewport": _emscripten_glViewport, "emscripten_memcpy_big": _emscripten_memcpy_big, "emscripten_request_pointerlock": _emscripten_request_pointerlock, "emscripten_resize_heap": _emscripten_resize_heap, "emscripten_run_script": _emscripten_run_script, "emscripten_sample_gamepad_data": _emscripten_sample_gamepad_data, "emscripten_set_click_callback_on_thread": _emscripten_set_click_callback_on_thread, "emscripten_set_fullscreenchange_callback_on_thread": _emscripten_set_fullscreenchange_callback_on_thread, "emscripten_set_gamepadconnected_callback_on_thread": _emscripten_set_gamepadconnected_callback_on_thread, "emscripten_set_gamepaddisconnected_callback_on_thread": _emscripten_set_gamepaddisconnected_callback_on_thread, "emscripten_set_keydown_callback_on_thread": _emscripten_set_keydown_callback_on_thread, "emscripten_set_main_loop": _emscripten_set_main_loop, "emscripten_set_touchcancel_callback_on_thread": _emscripten_set_touchcancel_callback_on_thread, "emscripten_set_touchend_callback_on_thread": _emscripten_set_touchend_callback_on_thread, "emscripten_set_touchmove_callback_on_thread": _emscripten_set_touchmove_callback_on_thread, "emscripten_set_touchstart_callback_on_thread": _emscripten_set_touchstart_callback_on_thread, "exit": _exit, "fd_close": _fd_close, "fd_read": _fd_read, "fd_seek": _fd_seek, "fd_write": _fd_write, "glActiveTexture": _glActiveTexture, "glAttachShader": _glAttachShader, "glBindAttribLocation": _glBindAttribLocation, "glBindBuffer": _glBindBuffer, "glBindTexture": _glBindTexture, "glBlendFunc": _glBlendFunc, "glBufferData": _glBufferData, "glBufferSubData": _glBufferSubData, "glClear": _glClear, "glClearColor": _glClearColor, "glClearDepthf": _glClearDepthf, "glCompileShader": _glCompileShader, "glCompressedTexImage2D": _glCompressedTexImage2D, "glCreateProgram": _glCreateProgram, "glCreateShader": _glCreateShader, "glCullFace": _glCullFace, "glDeleteBuffers": _glDeleteBuffers, "glDeleteProgram": _glDeleteProgram, "glDeleteShader": _glDeleteShader, "glDeleteTextures": _glDeleteTextures, "glDepthFunc": _glDepthFunc, "glDetachShader": _glDetachShader, "glDisable": _glDisable, "glDisableVertexAttribArray": _glDisableVertexAttribArray, "glDrawArrays": _glDrawArrays, "glDrawElements": _glDrawElements, "glEnable": _glEnable, "glEnableVertexAttribArray": _glEnableVertexAttribArray, "glFrontFace": _glFrontFace, "glGenBuffers": _glGenBuffers, "glGenTextures": _glGenTextures, "glGetAttribLocation": _glGetAttribLocation, "glGetFloatv": _glGetFloatv, "glGetProgramInfoLog": _glGetProgramInfoLog, "glGetProgramiv": _glGetProgramiv, "glGetShaderInfoLog": _glGetShaderInfoLog, "glGetShaderiv": _glGetShaderiv, "glGetString": _glGetString, "glGetUniformLocation": _glGetUniformLocation, "glLinkProgram": _glLinkProgram, "glPixelStorei": _glPixelStorei, "glReadPixels": _glReadPixels, "glShaderSource": _glShaderSource, "glTexImage2D": _glTexImage2D, "glTexParameteri": _glTexParameteri, "glUniform1i": _glUniform1i, "glUniform4f": _glUniform4f, "glUniformMatrix4fv": _glUniformMatrix4fv, "glUseProgram": _glUseProgram, "glVertexAttrib2f": _glVertexAttrib2f, "glVertexAttrib3f": _glVertexAttrib3f, "glVertexAttrib4f": _glVertexAttrib4f, "glVertexAttribPointer": _glVertexAttribPointer, "glViewport": _glViewport, "glfwCreateWindow": _glfwCreateWindow, "glfwDefaultWindowHints": _glfwDefaultWindowHints, "glfwDestroyWindow": _glfwDestroyWindow, "glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "glfwGetTime": _glfwGetTime, "glfwGetVideoModes": _glfwGetVideoModes, "glfwInit": _glfwInit, "glfwMakeContextCurrent": _glfwMakeContextCurrent, "glfwSetCharCallback": _glfwSetCharCallback, "glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "glfwSetDropCallback": _glfwSetDropCallback, "glfwSetErrorCallback": _glfwSetErrorCallback, "glfwSetKeyCallback": _glfwSetKeyCallback, "glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "glfwSetScrollCallback": _glfwSetScrollCallback, "glfwSetWindowFocusCallback": _glfwSetWindowFocusCallback, "glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "glfwSwapBuffers": _glfwSwapBuffers, "glfwSwapInterval": _glfwSwapInterval, "glfwTerminate": _glfwTerminate, "glfwWindowHint": _glfwWindowHint, "memory": wasmMemory, "nanosleep": _nanosleep, "setTempRet0": _setTempRet0, "time": _time }; -var asm = createWasm(); -/** @type {function(...*):?} */ -var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() { - return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["__wasm_call_ctors"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var _free = Module["_free"] = function() { - return (_free = Module["_free"] = Module["asm"]["free"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var _main = Module["_main"] = function() { - return (_main = Module["_main"] = Module["asm"]["main"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var _malloc = Module["_malloc"] = function() { - return (_malloc = Module["_malloc"] = Module["asm"]["malloc"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var _strstr = Module["_strstr"] = function() { - return (_strstr = Module["_strstr"] = Module["asm"]["strstr"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = function() { - return (_emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = Module["asm"]["emscripten_GetProcAddress"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var ___errno_location = Module["___errno_location"] = function() { - return (___errno_location = Module["___errno_location"] = Module["asm"]["__errno_location"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var stackSave = Module["stackSave"] = function() { - return (stackSave = Module["stackSave"] = Module["asm"]["stackSave"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var stackRestore = Module["stackRestore"] = function() { - return (stackRestore = Module["stackRestore"] = Module["asm"]["stackRestore"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var stackAlloc = Module["stackAlloc"] = function() { - return (stackAlloc = Module["stackAlloc"] = Module["asm"]["stackAlloc"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var _emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = function() { - return (_emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = Module["asm"]["emscripten_main_thread_process_queued_calls"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var dynCall_jiji = Module["dynCall_jiji"] = function() { - return (dynCall_jiji = Module["dynCall_jiji"] = Module["asm"]["dynCall_jiji"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var __growWasmMemory = Module["__growWasmMemory"] = function() { - return (__growWasmMemory = Module["__growWasmMemory"] = Module["asm"]["__growWasmMemory"]).apply(null, arguments); -}; - - - - - -// === Auto-generated postamble setup entry stuff === - - - - - - - - - - - - - - - - - - - - - - -Module["addRunDependency"] = addRunDependency; -Module["removeRunDependency"] = removeRunDependency; -Module["FS_createFolder"] = FS.createFolder; -Module["FS_createPath"] = FS.createPath; -Module["FS_createDataFile"] = FS.createDataFile; -Module["FS_createPreloadedFile"] = FS.createPreloadedFile; -Module["FS_createLazyFile"] = FS.createLazyFile; -Module["FS_createLink"] = FS.createLink; -Module["FS_createDevice"] = FS.createDevice; -Module["FS_unlink"] = FS.unlink; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -var calledRun; - -/** - * @constructor - * @this {ExitStatus} - */ -function ExitStatus(status) { - this.name = "ExitStatus"; - this.message = "Program terminated with exit(" + status + ")"; - this.status = status; -} - -var calledMain = false; - - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!calledRun) run(); - if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -}; - -function callMain(args) { - - var entryFunction = Module['_main']; - - - var argc = 0; - var argv = 0; - - try { - - - var ret = entryFunction(argc, argv); - - - // In PROXY_TO_PTHREAD builds, we should never exit the runtime below, as execution is asynchronously handed - // off to a pthread. - // if we're not running an evented main loop, it's time to exit - exit(ret, /* implicit = */ true); - } - catch(e) { - if (e instanceof ExitStatus) { - // exit() throws this once it's done to make sure execution - // has been stopped completely - return; - } else if (e == 'unwind') { - // running an evented main loop, don't immediately exit - noExitRuntime = true; - return; - } else { - var toLog = e; - if (e && typeof e === 'object' && e.stack) { - toLog = [e, e.stack]; - } - err('exception thrown: ' + toLog); - quit_(1, e); - } - } finally { - calledMain = true; - - } -} - - - - -/** @type {function(Array=)} */ -function run(args) { - args = args || arguments_; - - if (runDependencies > 0) { - return; - } - - - preRun(); - - if (runDependencies > 0) return; // a preRun added a dependency, run will be called later - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - if (calledRun) return; - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); - - if (shouldRunNow) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(function() { - setTimeout(function() { - Module['setStatus'](''); - }, 1); - doRun(); - }, 1); - } else - { - doRun(); - } -} -Module['run'] = run; - - -/** @param {boolean|number=} implicit */ -function exit(status, implicit) { - - // if this is just main exit-ing implicitly, and the status is 0, then we - // don't need to do anything here and can just leave. if the status is - // non-zero, though, then we need to report it. - // (we may have warned about this earlier, if a situation justifies doing so) - if (implicit && noExitRuntime && status === 0) { - return; - } - - if (noExitRuntime) { - } else { - - EXITSTATUS = status; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - - ABORT = true; - } - - quit_(status, new ExitStatus(status)); -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -// shouldRunNow refers to calling main(), not run(). -var shouldRunNow = true; - -if (Module['noInitialRun']) shouldRunNow = false; - - - noExitRuntime = true; - -run(); - - - - - - -// {{MODULE_ADDITIONS}} - - - +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_first_person_maze.data";var REMOTE_PACKAGE_BASE="models_first_person_maze.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_first_person_maze.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["be"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ce"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"d":___assert_fail,"Q":___sys_fcntl64,"Zd":___sys_ioctl,"_d":___sys_open,"w":_eglGetProcAddress,"aa":_emscripten_exit_pointerlock,"Z":_emscripten_get_element_css_size,"U":_emscripten_get_gamepad_status,"V":_emscripten_get_num_gamepads,"$":_emscripten_get_pointerlock_status,"Bd":_emscripten_glActiveTexture,"Ad":_emscripten_glAttachShader,"Rd":_emscripten_glBeginQueryEXT,"zd":_emscripten_glBindAttribLocation,"yd":_emscripten_glBindBuffer,"xd":_emscripten_glBindFramebuffer,"wd":_emscripten_glBindRenderbuffer,"vd":_emscripten_glBindTexture,"Jd":_emscripten_glBindVertexArrayOES,"ud":_emscripten_glBlendColor,"td":_emscripten_glBlendEquation,"sd":_emscripten_glBlendEquationSeparate,"rd":_emscripten_glBlendFunc,"qd":_emscripten_glBlendFuncSeparate,"pd":_emscripten_glBufferData,"od":_emscripten_glBufferSubData,"nd":_emscripten_glCheckFramebufferStatus,"md":_emscripten_glClear,"ld":_emscripten_glClearColor,"kd":_emscripten_glClearDepthf,"jd":_emscripten_glClearStencil,"id":_emscripten_glColorMask,"hd":_emscripten_glCompileShader,"gd":_emscripten_glCompressedTexImage2D,"fd":_emscripten_glCompressedTexSubImage2D,"ed":_emscripten_glCopyTexImage2D,"dd":_emscripten_glCopyTexSubImage2D,"cd":_emscripten_glCreateProgram,"bd":_emscripten_glCreateShader,"ad":_emscripten_glCullFace,"$c":_emscripten_glDeleteBuffers,"_c":_emscripten_glDeleteFramebuffers,"Zc":_emscripten_glDeleteProgram,"Td":_emscripten_glDeleteQueriesEXT,"Yc":_emscripten_glDeleteRenderbuffers,"Xc":_emscripten_glDeleteShader,"Wc":_emscripten_glDeleteTextures,"Id":_emscripten_glDeleteVertexArraysOES,"Vc":_emscripten_glDepthFunc,"Uc":_emscripten_glDepthMask,"Tc":_emscripten_glDepthRangef,"Sc":_emscripten_glDetachShader,"Rc":_emscripten_glDisable,"Qc":_emscripten_glDisableVertexAttribArray,"Pc":_emscripten_glDrawArrays,"Ed":_emscripten_glDrawArraysInstancedANGLE,"Fd":_emscripten_glDrawBuffersWEBGL,"Oc":_emscripten_glDrawElements,"Dd":_emscripten_glDrawElementsInstancedANGLE,"Mc":_emscripten_glEnable,"Lc":_emscripten_glEnableVertexAttribArray,"Qd":_emscripten_glEndQueryEXT,"Kc":_emscripten_glFinish,"Jc":_emscripten_glFlush,"Ic":_emscripten_glFramebufferRenderbuffer,"Hc":_emscripten_glFramebufferTexture2D,"Gc":_emscripten_glFrontFace,"Fc":_emscripten_glGenBuffers,"Dc":_emscripten_glGenFramebuffers,"Ud":_emscripten_glGenQueriesEXT,"Cc":_emscripten_glGenRenderbuffers,"Bc":_emscripten_glGenTextures,"Hd":_emscripten_glGenVertexArraysOES,"Ec":_emscripten_glGenerateMipmap,"Ac":_emscripten_glGetActiveAttrib,"zc":_emscripten_glGetActiveUniform,"yc":_emscripten_glGetAttachedShaders,"xc":_emscripten_glGetAttribLocation,"wc":_emscripten_glGetBooleanv,"vc":_emscripten_glGetBufferParameteriv,"uc":_emscripten_glGetError,"tc":_emscripten_glGetFloatv,"sc":_emscripten_glGetFramebufferAttachmentParameteriv,"rc":_emscripten_glGetIntegerv,"pc":_emscripten_glGetProgramInfoLog,"qc":_emscripten_glGetProgramiv,"Ld":_emscripten_glGetQueryObjecti64vEXT,"Nd":_emscripten_glGetQueryObjectivEXT,"Kd":_emscripten_glGetQueryObjectui64vEXT,"Md":_emscripten_glGetQueryObjectuivEXT,"Od":_emscripten_glGetQueryivEXT,"oc":_emscripten_glGetRenderbufferParameteriv,"mc":_emscripten_glGetShaderInfoLog,"lc":_emscripten_glGetShaderPrecisionFormat,"kc":_emscripten_glGetShaderSource,"nc":_emscripten_glGetShaderiv,"jc":_emscripten_glGetString,"ic":_emscripten_glGetTexParameterfv,"hc":_emscripten_glGetTexParameteriv,"ec":_emscripten_glGetUniformLocation,"gc":_emscripten_glGetUniformfv,"fc":_emscripten_glGetUniformiv,"bc":_emscripten_glGetVertexAttribPointerv,"dc":_emscripten_glGetVertexAttribfv,"cc":_emscripten_glGetVertexAttribiv,"ac":_emscripten_glHint,"$b":_emscripten_glIsBuffer,"_b":_emscripten_glIsEnabled,"Zb":_emscripten_glIsFramebuffer,"Yb":_emscripten_glIsProgram,"Sd":_emscripten_glIsQueryEXT,"Xb":_emscripten_glIsRenderbuffer,"Wb":_emscripten_glIsShader,"Vb":_emscripten_glIsTexture,"Gd":_emscripten_glIsVertexArrayOES,"Ub":_emscripten_glLineWidth,"Tb":_emscripten_glLinkProgram,"Sb":_emscripten_glPixelStorei,"Rb":_emscripten_glPolygonOffset,"Pd":_emscripten_glQueryCounterEXT,"Pb":_emscripten_glReadPixels,"Ob":_emscripten_glReleaseShaderCompiler,"Nb":_emscripten_glRenderbufferStorage,"Mb":_emscripten_glSampleCoverage,"Lb":_emscripten_glScissor,"Kb":_emscripten_glShaderBinary,"Jb":_emscripten_glShaderSource,"Ib":_emscripten_glStencilFunc,"Hb":_emscripten_glStencilFuncSeparate,"Gb":_emscripten_glStencilMask,"Eb":_emscripten_glStencilMaskSeparate,"Db":_emscripten_glStencilOp,"Cb":_emscripten_glStencilOpSeparate,"Bb":_emscripten_glTexImage2D,"Ab":_emscripten_glTexParameterf,"zb":_emscripten_glTexParameterfv,"yb":_emscripten_glTexParameteri,"xb":_emscripten_glTexParameteriv,"wb":_emscripten_glTexSubImage2D,"vb":_emscripten_glUniform1f,"tb":_emscripten_glUniform1fv,"sb":_emscripten_glUniform1i,"rb":_emscripten_glUniform1iv,"qb":_emscripten_glUniform2f,"pb":_emscripten_glUniform2fv,"ob":_emscripten_glUniform2i,"nb":_emscripten_glUniform2iv,"mb":_emscripten_glUniform3f,"lb":_emscripten_glUniform3fv,"kb":_emscripten_glUniform3i,"ib":_emscripten_glUniform3iv,"hb":_emscripten_glUniform4f,"gb":_emscripten_glUniform4fv,"fb":_emscripten_glUniform4i,"eb":_emscripten_glUniform4iv,"db":_emscripten_glUniformMatrix2fv,"cb":_emscripten_glUniformMatrix3fv,"bb":_emscripten_glUniformMatrix4fv,"ab":_emscripten_glUseProgram,"$a":_emscripten_glValidateProgram,"Za":_emscripten_glVertexAttrib1f,"Ya":_emscripten_glVertexAttrib1fv,"Xa":_emscripten_glVertexAttrib2f,"Wa":_emscripten_glVertexAttrib2fv,"Va":_emscripten_glVertexAttrib3f,"Ua":_emscripten_glVertexAttrib3fv,"Ta":_emscripten_glVertexAttrib4f,"Sa":_emscripten_glVertexAttrib4fv,"Cd":_emscripten_glVertexAttribDivisorANGLE,"Ra":_emscripten_glVertexAttribPointer,"Qa":_emscripten_glViewport,"Vd":_emscripten_memcpy_big,"_":_emscripten_request_pointerlock,"Wd":_emscripten_resize_heap,"y":_emscripten_run_script,"W":_emscripten_sample_gamepad_data,"ya":_emscripten_set_click_callback_on_thread,"Aa":_emscripten_set_fullscreenchange_callback_on_thread,"ta":_emscripten_set_gamepadconnected_callback_on_thread,"sa":_emscripten_set_gamepaddisconnected_callback_on_thread,"za":_emscripten_set_keydown_callback_on_thread,"ae":_emscripten_set_main_loop,"ua":_emscripten_set_touchcancel_callback_on_thread,"wa":_emscripten_set_touchend_callback_on_thread,"va":_emscripten_set_touchmove_callback_on_thread,"xa":_emscripten_set_touchstart_callback_on_thread,"Xd":_emscripten_thread_sleep,"S":_exit,"R":_fd_close,"Yd":_fd_read,"Oa":_fd_seek,"P":_fd_write,"p":_glActiveTexture,"D":_glAttachShader,"k":_glBindAttribLocation,"a":_glBindBuffer,"j":_glBindTexture,"Fb":_glBlendFunc,"e":_glBufferData,"v":_glBufferSubData,"K":_glClear,"L":_glClearColor,"_a":_glClearDepthf,"Fa":_glCompileShader,"La":_glCompressedTexImage2D,"Da":_glCreateProgram,"Ha":_glCreateShader,"ub":_glCullFace,"m":_glDeleteBuffers,"G":_glDeleteProgram,"H":_glDeleteShader,"J":_glDeleteTextures,"Qb":_glDepthFunc,"I":_glDetachShader,"M":_glDisable,"h":_glDisableVertexAttribArray,"O":_glDrawArrays,"N":_glDrawElements,"x":_glEnable,"b":_glEnableVertexAttribArray,"jb":_glFrontFace,"f":_glGenBuffers,"Na":_glGenTextures,"u":_glGetAttribLocation,"Nc":_glGetFloatv,"Ba":_glGetProgramInfoLog,"F":_glGetProgramiv,"Ea":_glGetShaderInfoLog,"E":_glGetShaderiv,"n":_glGetString,"t":_glGetUniformLocation,"Ca":_glLinkProgram,"Pa":_glPixelStorei,"Ia":_glReadPixels,"Ga":_glShaderSource,"Ma":_glTexImage2D,"o":_glTexParameteri,"z":_glUniform1i,"q":_glUniform4f,"r":_glUniformMatrix4fv,"l":_glUseProgram,"Ja":_glVertexAttrib2f,"Ka":_glVertexAttrib3f,"s":_glVertexAttrib4f,"c":_glVertexAttribPointer,"$d":_glViewport,"B":_glfwCreateWindow,"pa":_glfwDefaultWindowHints,"Y":_glfwDestroyWindow,"C":_glfwGetPrimaryMonitor,"i":_glfwGetTime,"oa":_glfwGetVideoModes,"qa":_glfwInit,"da":_glfwMakeContextCurrent,"ia":_glfwSetCharCallback,"ea":_glfwSetCursorEnterCallback,"ga":_glfwSetCursorPosCallback,"ka":_glfwSetDropCallback,"ra":_glfwSetErrorCallback,"ja":_glfwSetKeyCallback,"ha":_glfwSetMouseButtonCallback,"fa":_glfwSetScrollCallback,"la":_glfwSetWindowFocusCallback,"ma":_glfwSetWindowIconifyCallback,"T":_glfwSetWindowShouldClose,"na":_glfwSetWindowSizeCallback,"X":_glfwSwapBuffers,"ca":_glfwSwapInterval,"A":_glfwTerminate,"g":_glfwWindowHint,"ba":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["de"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ee"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["fe"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ge"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["he"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ie"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["je"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_first_person_maze.wasm b/examples/web/models/models_first_person_maze.wasm index a9d9703..4f222f9 100644 Binary files a/examples/web/models/models_first_person_maze.wasm and b/examples/web/models/models_first_person_maze.wasm differ diff --git a/examples/web/models/models_first_person_maze.wasm.map b/examples/web/models/models_first_person_maze.wasm.map deleted file mode 100644 index 3aa0110..0000000 --- a/examples/web/models/models_first_person_maze.wasm.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["models_first_person_maze.c"],"names":[],"mappings":"+yTA+CA,eAGI,YAGS,0EAEK,YACH,mDAHF,IAGE,cAHF,IAGE,SAHF,IAGE,SACiC,YAAhC,oCAAgC,gBAAhC,iDACJ,mDAGE,YARD,IAQC,WARD,IAQC,WARD,IAQC,WACqC,AATtC,YASsC,mBAGnC,oCAZH,IAYG,YACZ,6CAbS,4BAiBT,MAjBS,UAiBT,WAjBS,AAoBT,EApBS,gBAoCT,EApCS,WAoCT,EApCS,WAoCT,EApCS,WAoCT,SApCS,AAqCT,EArCS,UAqCT,EArCS,UAqCT,EArCS,UAqCT,SACA,sBAEA,GAGA,QA3CS,EA2CT,GAOJ,eAG+B,iCAKP,EALO,aAKP,EALO,wBAST,AAAkB,AATT,AASS,EATT,QASS,SAAlB,8BADgB,EAAhB,AAAkB,AART,AAQO,GARP,QAQS,SAAlB,uBARS,SAoB3B,SAEiC,MAAX,OAAlB,aAEyC,AAAL,AAFpC,OAEoC,AAAhB,KAAgB,UAAK,MAEtB,gBADV,gBACmC,AAAzB,EAAyB,AAAX,AAAd,OAAc,MAAW,QAA6B,AAAtD,EAAsD,AAAT,AAA7C,OAA6C,MAAS,OADhE,+CAIiB,AAJjB,IAIiB,uBAPW,oBAArC,UAFc,AAAoB,OAApB,OAiBlB,GAEoB,UAAhB,mBAEA,yBAEwC,QAApC,+EAGJ,GAEmC,KAL/B,AAKJ,EALI,UAKJ,EALI,UAK6B,YAAmB,AAAnB,EAAmB,AAAW,AAAX,EAAW,AAL3D,OAK2D,IAAX,QAA2C,QAA/F,OALI,AAKJ,EALI,UAKJ,uCACmB,KAAmF,WAAtG,UAAuD,AAAR,AAAQ,EAAR,AAN3C,OAM2C,MAAQ,KAAvD,EAA4F,AANxF,OAMwF,GAA5F,QAGc,KAAoF,WAAlG,UAA0C,AATtC,AAS8C,EAT9C,AAS8C,EAAkB,AAxCpE,gBAwCoE,GAThE,AA/BQ,EA+BR,KASsC,AATtC,OASsC,IATtC,AASmD,EAAiC,AArCxF,gBAqCwF,GATpF,AA5BQ,EA4BR,IASuE,IAA3E,eAIJ,GAEJ"} \ No newline at end of file diff --git a/examples/web/models/models_geometric_shapes.c b/examples/web/models/models_geometric_shapes.c index 5d56eed..3ce7b2d 100644 --- a/examples/web/models/models_geometric_shapes.c +++ b/examples/web/models/models_geometric_shapes.c @@ -45,7 +45,7 @@ int main(void) camera.type = CAMERA_PERSPECTIVE; #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_geometric_shapes.html b/examples/web/models/models_geometric_shapes.html index e9d5b93..1207668 100644 --- a/examples/web/models/models_geometric_shapes.html +++ b/examples/web/models/models_geometric_shapes.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_geometric_shapes.js b/examples/web/models/models_geometric_shapes.js index 46b1564..587a7b2 100644 --- a/examples/web/models/models_geometric_shapes.js +++ b/examples/web/models/models_geometric_shapes.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5276848,DYNAMICTOP_PTR=33936;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_geometric_shapes.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"c":abort,"b":___assert_fail,"mc":___lock,"z":___setErrNo,"$a":___syscall140,"Qa":___syscall145,"l":___syscall221,"va":___syscall5,"ka":___syscall54,"y":___syscall6,"x":___unlock,"Yd":___wasi_fd_write,"w":_eglGetProcAddress,"R":_emscripten_exit_pointerlock,"td":_emscripten_get_element_css_size,"id":_emscripten_get_gamepad_status,"Zc":_emscripten_get_heap_size,"Oc":_emscripten_get_num_gamepads,"Q":_emscripten_get_pointerlock_status,"uc":_emscripten_glActiveTexture,"lc":_emscripten_glAttachShader,"fc":_emscripten_glBeginQueryEXT,"bc":_emscripten_glBindAttribLocation,"Wb":_emscripten_glBindBuffer,"Pb":_emscripten_glBindFramebuffer,"Ib":_emscripten_glBindRenderbuffer,"zb":_emscripten_glBindTexture,"pb":_emscripten_glBindVertexArrayOES,"lb":_emscripten_glBlendColor,"kb":_emscripten_glBlendEquation,"jb":_emscripten_glBlendEquationSeparate,"ib":_emscripten_glBlendFunc,"hb":_emscripten_glBlendFuncSeparate,"gb":_emscripten_glBufferData,"fb":_emscripten_glBufferSubData,"eb":_emscripten_glCheckFramebufferStatus,"db":_emscripten_glClear,"cb":_emscripten_glClearColor,"bb":_emscripten_glClearDepthf,"ab":_emscripten_glClearStencil,"_a":_emscripten_glColorMask,"Za":_emscripten_glCompileShader,"Ya":_emscripten_glCompressedTexImage2D,"Xa":_emscripten_glCompressedTexSubImage2D,"Wa":_emscripten_glCopyTexImage2D,"Va":_emscripten_glCopyTexSubImage2D,"Ua":_emscripten_glCreateProgram,"Ta":_emscripten_glCreateShader,"Sa":_emscripten_glCullFace,"Ra":_emscripten_glDeleteBuffers,"Pa":_emscripten_glDeleteFramebuffers,"Oa":_emscripten_glDeleteProgram,"Na":_emscripten_glDeleteQueriesEXT,"Ma":_emscripten_glDeleteRenderbuffers,"La":_emscripten_glDeleteShader,"Ka":_emscripten_glDeleteTextures,"Ja":_emscripten_glDeleteVertexArraysOES,"Ia":_emscripten_glDepthFunc,"Ha":_emscripten_glDepthMask,"Ga":_emscripten_glDepthRangef,"Fa":_emscripten_glDetachShader,"Ea":_emscripten_glDisable,"Da":_emscripten_glDisableVertexAttribArray,"Ca":_emscripten_glDrawArrays,"Ba":_emscripten_glDrawArraysInstancedANGLE,"Aa":_emscripten_glDrawBuffersWEBGL,"za":_emscripten_glDrawElements,"ya":_emscripten_glDrawElementsInstancedANGLE,"xa":_emscripten_glEnable,"wa":_emscripten_glEnableVertexAttribArray,"ua":_emscripten_glEndQueryEXT,"ta":_emscripten_glFinish,"sa":_emscripten_glFlush,"ra":_emscripten_glFramebufferRenderbuffer,"qa":_emscripten_glFramebufferTexture2D,"pa":_emscripten_glFrontFace,"oa":_emscripten_glGenBuffers,"na":_emscripten_glGenFramebuffers,"ma":_emscripten_glGenQueriesEXT,"la":_emscripten_glGenRenderbuffers,"ja":_emscripten_glGenTextures,"ia":_emscripten_glGenVertexArraysOES,"ha":_emscripten_glGenerateMipmap,"ga":_emscripten_glGetActiveAttrib,"fa":_emscripten_glGetActiveUniform,"ea":_emscripten_glGetAttachedShaders,"da":_emscripten_glGetAttribLocation,"ca":_emscripten_glGetBooleanv,"ba":_emscripten_glGetBufferParameteriv,"aa":_emscripten_glGetError,"$":_emscripten_glGetFloatv,"_":_emscripten_glGetFramebufferAttachmentParameteriv,"Z":_emscripten_glGetIntegerv,"Y":_emscripten_glGetProgramInfoLog,"X":_emscripten_glGetProgramiv,"W":_emscripten_glGetQueryObjecti64vEXT,"V":_emscripten_glGetQueryObjectivEXT,"U":_emscripten_glGetQueryObjectui64vEXT,"T":_emscripten_glGetQueryObjectuivEXT,"S":_emscripten_glGetQueryivEXT,"ge":_emscripten_glGetRenderbufferParameteriv,"fe":_emscripten_glGetShaderInfoLog,"ee":_emscripten_glGetShaderPrecisionFormat,"de":_emscripten_glGetShaderSource,"ce":_emscripten_glGetShaderiv,"be":_emscripten_glGetString,"ae":_emscripten_glGetTexParameterfv,"$d":_emscripten_glGetTexParameteriv,"_d":_emscripten_glGetUniformLocation,"Zd":_emscripten_glGetUniformfv,"Xd":_emscripten_glGetUniformiv,"Wd":_emscripten_glGetVertexAttribPointerv,"Vd":_emscripten_glGetVertexAttribfv,"Ud":_emscripten_glGetVertexAttribiv,"Td":_emscripten_glHint,"Sd":_emscripten_glIsBuffer,"Rd":_emscripten_glIsEnabled,"Qd":_emscripten_glIsFramebuffer,"Pd":_emscripten_glIsProgram,"Od":_emscripten_glIsQueryEXT,"Nd":_emscripten_glIsRenderbuffer,"Md":_emscripten_glIsShader,"Ld":_emscripten_glIsTexture,"Kd":_emscripten_glIsVertexArrayOES,"Jd":_emscripten_glLineWidth,"Id":_emscripten_glLinkProgram,"Hd":_emscripten_glPixelStorei,"Gd":_emscripten_glPolygonOffset,"Fd":_emscripten_glQueryCounterEXT,"Ed":_emscripten_glReadPixels,"Dd":_emscripten_glReleaseShaderCompiler,"Cd":_emscripten_glRenderbufferStorage,"Bd":_emscripten_glSampleCoverage,"Ad":_emscripten_glScissor,"zd":_emscripten_glShaderBinary,"yd":_emscripten_glShaderSource,"xd":_emscripten_glStencilFunc,"wd":_emscripten_glStencilFuncSeparate,"vd":_emscripten_glStencilMask,"ud":_emscripten_glStencilMaskSeparate,"sd":_emscripten_glStencilOp,"rd":_emscripten_glStencilOpSeparate,"qd":_emscripten_glTexImage2D,"pd":_emscripten_glTexParameterf,"od":_emscripten_glTexParameterfv,"nd":_emscripten_glTexParameteri,"md":_emscripten_glTexParameteriv,"ld":_emscripten_glTexSubImage2D,"kd":_emscripten_glUniform1f,"jd":_emscripten_glUniform1fv,"hd":_emscripten_glUniform1i,"gd":_emscripten_glUniform1iv,"fd":_emscripten_glUniform2f,"ed":_emscripten_glUniform2fv,"dd":_emscripten_glUniform2i,"cd":_emscripten_glUniform2iv,"bd":_emscripten_glUniform3f,"ad":_emscripten_glUniform3fv,"$c":_emscripten_glUniform3i,"_c":_emscripten_glUniform3iv,"Yc":_emscripten_glUniform4f,"Xc":_emscripten_glUniform4fv,"Wc":_emscripten_glUniform4i,"Vc":_emscripten_glUniform4iv,"Uc":_emscripten_glUniformMatrix2fv,"Tc":_emscripten_glUniformMatrix3fv,"Sc":_emscripten_glUniformMatrix4fv,"Rc":_emscripten_glUseProgram,"Qc":_emscripten_glValidateProgram,"Pc":_emscripten_glVertexAttrib1f,"Nc":_emscripten_glVertexAttrib1fv,"Mc":_emscripten_glVertexAttrib2f,"Lc":_emscripten_glVertexAttrib2fv,"Kc":_emscripten_glVertexAttrib3f,"Jc":_emscripten_glVertexAttrib3fv,"Ic":_emscripten_glVertexAttrib4f,"Hc":_emscripten_glVertexAttrib4fv,"Gc":_emscripten_glVertexAttribDivisorANGLE,"Fc":_emscripten_glVertexAttribPointer,"Ec":_emscripten_glViewport,"Dc":_emscripten_memcpy_big,"Cc":_emscripten_request_pointerlock,"Bc":_emscripten_resize_heap,"P":_emscripten_run_script,"Ac":_emscripten_sample_gamepad_data,"zc":_emscripten_set_click_callback_on_thread,"yc":_emscripten_set_fullscreenchange_callback_on_thread,"xc":_emscripten_set_gamepadconnected_callback_on_thread,"wc":_emscripten_set_gamepaddisconnected_callback_on_thread,"vc":_emscripten_set_keypress_callback_on_thread,"tc":_emscripten_set_main_loop,"sc":_emscripten_set_touchcancel_callback_on_thread,"rc":_emscripten_set_touchend_callback_on_thread,"qc":_emscripten_set_touchmove_callback_on_thread,"pc":_emscripten_set_touchstart_callback_on_thread,"oc":_exit,"nc":_glActiveTexture,"O":_glAttachShader,"i":_glBindAttribLocation,"d":_glBindBuffer,"k":_glBindTexture,"kc":_glBlendFunc,"q":_glBufferData,"v":_glBufferSubData,"N":_glClear,"M":_glClearColor,"jc":_glClearDepthf,"ic":_glCompileShader,"hc":_glCompressedTexImage2D,"gc":_glCreateProgram,"ec":_glCreateShader,"dc":_glCullFace,"p":_glDeleteBuffers,"L":_glDeleteProgram,"K":_glDeleteShader,"J":_glDeleteTextures,"cc":_glDepthFunc,"I":_glDetachShader,"H":_glDisable,"o":_glDisableVertexAttribArray,"ac":_glDrawArrays,"$b":_glDrawElements,"u":_glEnable,"h":_glEnableVertexAttribArray,"_b":_glFrontFace,"n":_glGenBuffers,"Zb":_glGenTextures,"t":_glGetAttribLocation,"Yb":_glGetFloatv,"Xb":_glGetProgramInfoLog,"G":_glGetProgramiv,"Vb":_glGetShaderInfoLog,"F":_glGetShaderiv,"j":_glGetString,"s":_glGetUniformLocation,"Ub":_glLinkProgram,"Tb":_glPixelStorei,"Sb":_glReadPixels,"Rb":_glShaderSource,"Qb":_glTexImage2D,"g":_glTexParameteri,"Ob":_glUniform1i,"Nb":_glUniform4f,"Mb":_glUniformMatrix4fv,"r":_glUseProgram,"f":_glVertexAttribPointer,"Lb":_glViewport,"E":_glfwCreateWindow,"Kb":_glfwDefaultWindowHints,"Jb":_glfwDestroyWindow,"Hb":_glfwGetCursorPos,"D":_glfwGetPrimaryMonitor,"m":_glfwGetTime,"Gb":_glfwGetVideoModes,"Fb":_glfwInit,"Eb":_glfwMakeContextCurrent,"Db":_glfwSetCharCallback,"Cb":_glfwSetCursorEnterCallback,"Bb":_glfwSetCursorPosCallback,"Ab":_glfwSetDropCallback,"yb":_glfwSetErrorCallback,"xb":_glfwSetKeyCallback,"wb":_glfwSetMouseButtonCallback,"vb":_glfwSetScrollCallback,"ub":_glfwSetWindowIconifyCallback,"tb":_glfwSetWindowShouldClose,"sb":_glfwSetWindowSizeCallback,"rb":_glfwSwapBuffers,"qb":_glfwSwapInterval,"C":_glfwTerminate,"e":_glfwWindowHint,"B":_llvm_stackrestore,"A":_llvm_stacksave,"ob":_nanosleep,"nb":_time,"mb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["he"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ie"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["je"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["ke"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["le"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["we"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["re"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["se"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["ve"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_geometric_shapes.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["_d"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["$d"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"n":___assert_fail,"u":___sys_fcntl64,"Xd":___sys_ioctl,"M":___sys_open,"s":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"V":_emscripten_get_element_css_size,"P":_emscripten_get_gamepad_status,"Q":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"yd":_emscripten_glActiveTexture,"xd":_emscripten_glAttachShader,"Pd":_emscripten_glBeginQueryEXT,"wd":_emscripten_glBindAttribLocation,"vd":_emscripten_glBindBuffer,"ud":_emscripten_glBindFramebuffer,"sd":_emscripten_glBindRenderbuffer,"rd":_emscripten_glBindTexture,"Hd":_emscripten_glBindVertexArrayOES,"qd":_emscripten_glBlendColor,"pd":_emscripten_glBlendEquation,"od":_emscripten_glBlendEquationSeparate,"nd":_emscripten_glBlendFunc,"md":_emscripten_glBlendFuncSeparate,"ld":_emscripten_glBufferData,"kd":_emscripten_glBufferSubData,"jd":_emscripten_glCheckFramebufferStatus,"id":_emscripten_glClear,"hd":_emscripten_glClearColor,"gd":_emscripten_glClearDepthf,"fd":_emscripten_glClearStencil,"ed":_emscripten_glColorMask,"dd":_emscripten_glCompileShader,"cd":_emscripten_glCompressedTexImage2D,"bd":_emscripten_glCompressedTexSubImage2D,"ad":_emscripten_glCopyTexImage2D,"$c":_emscripten_glCopyTexSubImage2D,"_c":_emscripten_glCreateProgram,"Zc":_emscripten_glCreateShader,"Yc":_emscripten_glCullFace,"Xc":_emscripten_glDeleteBuffers,"Wc":_emscripten_glDeleteFramebuffers,"Vc":_emscripten_glDeleteProgram,"Rd":_emscripten_glDeleteQueriesEXT,"Uc":_emscripten_glDeleteRenderbuffers,"Tc":_emscripten_glDeleteShader,"Sc":_emscripten_glDeleteTextures,"Gd":_emscripten_glDeleteVertexArraysOES,"Rc":_emscripten_glDepthFunc,"Qc":_emscripten_glDepthMask,"Pc":_emscripten_glDepthRangef,"Oc":_emscripten_glDetachShader,"Nc":_emscripten_glDisable,"Mc":_emscripten_glDisableVertexAttribArray,"Lc":_emscripten_glDrawArrays,"Bd":_emscripten_glDrawArraysInstancedANGLE,"Cd":_emscripten_glDrawBuffersWEBGL,"Kc":_emscripten_glDrawElements,"Ad":_emscripten_glDrawElementsInstancedANGLE,"Jc":_emscripten_glEnable,"Ic":_emscripten_glEnableVertexAttribArray,"Od":_emscripten_glEndQueryEXT,"Hc":_emscripten_glFinish,"Fc":_emscripten_glFlush,"Ec":_emscripten_glFramebufferRenderbuffer,"Dc":_emscripten_glFramebufferTexture2D,"Cc":_emscripten_glFrontFace,"Bc":_emscripten_glGenBuffers,"zc":_emscripten_glGenFramebuffers,"Sd":_emscripten_glGenQueriesEXT,"yc":_emscripten_glGenRenderbuffers,"xc":_emscripten_glGenTextures,"Fd":_emscripten_glGenVertexArraysOES,"Ac":_emscripten_glGenerateMipmap,"wc":_emscripten_glGetActiveAttrib,"vc":_emscripten_glGetActiveUniform,"uc":_emscripten_glGetAttachedShaders,"tc":_emscripten_glGetAttribLocation,"sc":_emscripten_glGetBooleanv,"rc":_emscripten_glGetBufferParameteriv,"qc":_emscripten_glGetError,"pc":_emscripten_glGetFloatv,"oc":_emscripten_glGetFramebufferAttachmentParameteriv,"nc":_emscripten_glGetIntegerv,"lc":_emscripten_glGetProgramInfoLog,"mc":_emscripten_glGetProgramiv,"Jd":_emscripten_glGetQueryObjecti64vEXT,"Ld":_emscripten_glGetQueryObjectivEXT,"Id":_emscripten_glGetQueryObjectui64vEXT,"Kd":_emscripten_glGetQueryObjectuivEXT,"Md":_emscripten_glGetQueryivEXT,"kc":_emscripten_glGetRenderbufferParameteriv,"ic":_emscripten_glGetShaderInfoLog,"hc":_emscripten_glGetShaderPrecisionFormat,"gc":_emscripten_glGetShaderSource,"jc":_emscripten_glGetShaderiv,"fc":_emscripten_glGetString,"ec":_emscripten_glGetTexParameterfv,"dc":_emscripten_glGetTexParameteriv,"ac":_emscripten_glGetUniformLocation,"cc":_emscripten_glGetUniformfv,"bc":_emscripten_glGetUniformiv,"Zb":_emscripten_glGetVertexAttribPointerv,"$b":_emscripten_glGetVertexAttribfv,"_b":_emscripten_glGetVertexAttribiv,"Yb":_emscripten_glHint,"Xb":_emscripten_glIsBuffer,"Wb":_emscripten_glIsEnabled,"Vb":_emscripten_glIsFramebuffer,"Ub":_emscripten_glIsProgram,"Qd":_emscripten_glIsQueryEXT,"Tb":_emscripten_glIsRenderbuffer,"Sb":_emscripten_glIsShader,"Rb":_emscripten_glIsTexture,"Dd":_emscripten_glIsVertexArrayOES,"Qb":_emscripten_glLineWidth,"Pb":_emscripten_glLinkProgram,"Ob":_emscripten_glPixelStorei,"Nb":_emscripten_glPolygonOffset,"Nd":_emscripten_glQueryCounterEXT,"Mb":_emscripten_glReadPixels,"Lb":_emscripten_glReleaseShaderCompiler,"Kb":_emscripten_glRenderbufferStorage,"Ib":_emscripten_glSampleCoverage,"Hb":_emscripten_glScissor,"Gb":_emscripten_glShaderBinary,"Fb":_emscripten_glShaderSource,"Eb":_emscripten_glStencilFunc,"Db":_emscripten_glStencilFuncSeparate,"Cb":_emscripten_glStencilMask,"Bb":_emscripten_glStencilMaskSeparate,"Ab":_emscripten_glStencilOp,"zb":_emscripten_glStencilOpSeparate,"xb":_emscripten_glTexImage2D,"wb":_emscripten_glTexParameterf,"vb":_emscripten_glTexParameterfv,"ub":_emscripten_glTexParameteri,"tb":_emscripten_glTexParameteriv,"sb":_emscripten_glTexSubImage2D,"rb":_emscripten_glUniform1f,"qb":_emscripten_glUniform1fv,"pb":_emscripten_glUniform1i,"ob":_emscripten_glUniform1iv,"mb":_emscripten_glUniform2f,"lb":_emscripten_glUniform2fv,"kb":_emscripten_glUniform2i,"jb":_emscripten_glUniform2iv,"ib":_emscripten_glUniform3f,"hb":_emscripten_glUniform3fv,"gb":_emscripten_glUniform3i,"fb":_emscripten_glUniform3iv,"eb":_emscripten_glUniform4f,"db":_emscripten_glUniform4fv,"bb":_emscripten_glUniform4i,"ab":_emscripten_glUniform4iv,"$a":_emscripten_glUniformMatrix2fv,"_a":_emscripten_glUniformMatrix3fv,"Za":_emscripten_glUniformMatrix4fv,"Ya":_emscripten_glUseProgram,"Xa":_emscripten_glValidateProgram,"Wa":_emscripten_glVertexAttrib1f,"Va":_emscripten_glVertexAttrib1fv,"Ua":_emscripten_glVertexAttrib2f,"Sa":_emscripten_glVertexAttrib2fv,"Ra":_emscripten_glVertexAttrib3f,"Qa":_emscripten_glVertexAttrib3fv,"Pa":_emscripten_glVertexAttrib4f,"Oa":_emscripten_glVertexAttrib4fv,"zd":_emscripten_glVertexAttribDivisorANGLE,"Na":_emscripten_glVertexAttribPointer,"Ma":_emscripten_glViewport,"Td":_emscripten_memcpy_big,"W":_emscripten_request_pointerlock,"Ud":_emscripten_resize_heap,"w":_emscripten_run_script,"R":_emscripten_sample_gamepad_data,"va":_emscripten_set_click_callback_on_thread,"xa":_emscripten_set_fullscreenchange_callback_on_thread,"qa":_emscripten_set_gamepadconnected_callback_on_thread,"pa":_emscripten_set_gamepaddisconnected_callback_on_thread,"wa":_emscripten_set_keydown_callback_on_thread,"Zd":_emscripten_set_main_loop,"ra":_emscripten_set_touchcancel_callback_on_thread,"ta":_emscripten_set_touchend_callback_on_thread,"sa":_emscripten_set_touchmove_callback_on_thread,"ua":_emscripten_set_touchstart_callback_on_thread,"Vd":_emscripten_thread_sleep,"N":_exit,"v":_fd_close,"Wd":_fd_read,"La":_fd_seek,"K":_fd_write,"L":_glActiveTexture,"A":_glAttachShader,"f":_glBindAttribLocation,"a":_glBindBuffer,"g":_glBindTexture,"yb":_glBlendFunc,"k":_glBufferData,"r":_glBufferSubData,"H":_glClear,"I":_glClearColor,"Ta":_glClearDepthf,"Da":_glCompileShader,"Ha":_glCompressedTexImage2D,"Ba":_glCreateProgram,"Fa":_glCreateShader,"nb":_glCullFace,"i":_glDeleteBuffers,"D":_glDeleteProgram,"E":_glDeleteShader,"G":_glDeleteTextures,"Jb":_glDepthFunc,"F":_glDetachShader,"J":_glDisable,"j":_glDisableVertexAttribArray,"Ed":_glDrawArrays,"td":_glDrawElements,"t":_glEnable,"d":_glEnableVertexAttribArray,"cb":_glFrontFace,"l":_glGenBuffers,"Ja":_glGenTextures,"q":_glGetAttribLocation,"Gc":_glGetFloatv,"ya":_glGetProgramInfoLog,"C":_glGetProgramiv,"Ca":_glGetShaderInfoLog,"B":_glGetShaderiv,"h":_glGetString,"p":_glGetUniformLocation,"za":_glLinkProgram,"Ka":_glPixelStorei,"Ga":_glReadPixels,"Ea":_glShaderSource,"Ia":_glTexImage2D,"m":_glTexParameteri,"S":_glUniform1i,"$":_glUniform4f,"Aa":_glUniformMatrix4fv,"o":_glUseProgram,"e":_glVertexAttribPointer,"Yd":_glViewport,"y":_glfwCreateWindow,"ma":_glfwDefaultWindowHints,"U":_glfwDestroyWindow,"z":_glfwGetPrimaryMonitor,"c":_glfwGetTime,"la":_glfwGetVideoModes,"na":_glfwInit,"aa":_glfwMakeContextCurrent,"fa":_glfwSetCharCallback,"ba":_glfwSetCursorEnterCallback,"da":_glfwSetCursorPosCallback,"ha":_glfwSetDropCallback,"oa":_glfwSetErrorCallback,"ga":_glfwSetKeyCallback,"ea":_glfwSetMouseButtonCallback,"ca":_glfwSetScrollCallback,"ia":_glfwSetWindowFocusCallback,"ja":_glfwSetWindowIconifyCallback,"O":_glfwSetWindowShouldClose,"ka":_glfwSetWindowSizeCallback,"T":_glfwSwapBuffers,"_":_glfwSwapInterval,"x":_glfwTerminate,"b":_glfwWindowHint,"Z":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["ae"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["be"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ce"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["de"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["ee"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["fe"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ge"]).apply(null,arguments)};var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_geometric_shapes.wasm b/examples/web/models/models_geometric_shapes.wasm index 85601e9..38b3fc7 100644 Binary files a/examples/web/models/models_geometric_shapes.wasm and b/examples/web/models/models_geometric_shapes.wasm differ diff --git a/examples/web/models/models_heightmap.c b/examples/web/models/models_heightmap.c index 73ff4a3..df65b85 100644 --- a/examples/web/models/models_heightmap.c +++ b/examples/web/models/models_heightmap.c @@ -55,7 +55,7 @@ int main(void) SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_heightmap.data b/examples/web/models/models_heightmap.data index fe30f67..474db87 100644 Binary files a/examples/web/models/models_heightmap.data and b/examples/web/models/models_heightmap.data differ diff --git a/examples/web/models/models_heightmap.html b/examples/web/models/models_heightmap.html index bc8a0cb..724e0b1 100644 --- a/examples/web/models/models_heightmap.html +++ b/examples/web/models/models_heightmap.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_heightmap.js b/examples/web/models/models_heightmap.js index d20e4e1..d8754bc 100644 --- a/examples/web/models/models_heightmap.js +++ b/examples/web/models/models_heightmap.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_heightmap.data";var REMOTE_PACKAGE_BASE="models_heightmap.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5280480,DYNAMICTOP_PTR=37568;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_heightmap.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"d":abort,"b":___assert_fail,"sc":___lock,"D":___setErrNo,"gb":___syscall140,"Xa":___syscall145,"q":___syscall221,"Ca":___syscall5,"ra":___syscall54,"C":___syscall6,"B":___unlock,"be":___wasi_fd_write,"A":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"yd":_emscripten_get_element_css_size,"nd":_emscripten_get_gamepad_status,"cd":_emscripten_get_heap_size,"Tc":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"zc":_emscripten_glActiveTexture,"rc":_emscripten_glAttachShader,"lc":_emscripten_glBeginQueryEXT,"hc":_emscripten_glBindAttribLocation,"cc":_emscripten_glBindBuffer,"Xb":_emscripten_glBindFramebuffer,"Tb":_emscripten_glBindRenderbuffer,"Lb":_emscripten_glBindTexture,"Ab":_emscripten_glBindVertexArrayOES,"tb":_emscripten_glBlendColor,"rb":_emscripten_glBlendEquation,"qb":_emscripten_glBlendEquationSeparate,"pb":_emscripten_glBlendFunc,"ob":_emscripten_glBlendFuncSeparate,"nb":_emscripten_glBufferData,"mb":_emscripten_glBufferSubData,"lb":_emscripten_glCheckFramebufferStatus,"kb":_emscripten_glClear,"jb":_emscripten_glClearColor,"ib":_emscripten_glClearDepthf,"hb":_emscripten_glClearStencil,"fb":_emscripten_glColorMask,"eb":_emscripten_glCompileShader,"db":_emscripten_glCompressedTexImage2D,"cb":_emscripten_glCompressedTexSubImage2D,"bb":_emscripten_glCopyTexImage2D,"ab":_emscripten_glCopyTexSubImage2D,"$a":_emscripten_glCreateProgram,"_a":_emscripten_glCreateShader,"Za":_emscripten_glCullFace,"Ya":_emscripten_glDeleteBuffers,"Wa":_emscripten_glDeleteFramebuffers,"Va":_emscripten_glDeleteProgram,"Ua":_emscripten_glDeleteQueriesEXT,"Ta":_emscripten_glDeleteRenderbuffers,"Sa":_emscripten_glDeleteShader,"Ra":_emscripten_glDeleteTextures,"Qa":_emscripten_glDeleteVertexArraysOES,"Pa":_emscripten_glDepthFunc,"Oa":_emscripten_glDepthMask,"Na":_emscripten_glDepthRangef,"Ma":_emscripten_glDetachShader,"La":_emscripten_glDisable,"Ka":_emscripten_glDisableVertexAttribArray,"Ja":_emscripten_glDrawArrays,"Ia":_emscripten_glDrawArraysInstancedANGLE,"Ha":_emscripten_glDrawBuffersWEBGL,"Ga":_emscripten_glDrawElements,"Fa":_emscripten_glDrawElementsInstancedANGLE,"Ea":_emscripten_glEnable,"Da":_emscripten_glEnableVertexAttribArray,"Ba":_emscripten_glEndQueryEXT,"Aa":_emscripten_glFinish,"za":_emscripten_glFlush,"ya":_emscripten_glFramebufferRenderbuffer,"xa":_emscripten_glFramebufferTexture2D,"wa":_emscripten_glFrontFace,"va":_emscripten_glGenBuffers,"ua":_emscripten_glGenFramebuffers,"ta":_emscripten_glGenQueriesEXT,"sa":_emscripten_glGenRenderbuffers,"qa":_emscripten_glGenTextures,"pa":_emscripten_glGenVertexArraysOES,"oa":_emscripten_glGenerateMipmap,"na":_emscripten_glGetActiveAttrib,"ma":_emscripten_glGetActiveUniform,"la":_emscripten_glGetAttachedShaders,"ka":_emscripten_glGetAttribLocation,"ja":_emscripten_glGetBooleanv,"ia":_emscripten_glGetBufferParameteriv,"ha":_emscripten_glGetError,"ga":_emscripten_glGetFloatv,"fa":_emscripten_glGetFramebufferAttachmentParameteriv,"ea":_emscripten_glGetIntegerv,"da":_emscripten_glGetProgramInfoLog,"ca":_emscripten_glGetProgramiv,"ba":_emscripten_glGetQueryObjecti64vEXT,"aa":_emscripten_glGetQueryObjectivEXT,"$":_emscripten_glGetQueryObjectui64vEXT,"_":_emscripten_glGetQueryObjectuivEXT,"Z":_emscripten_glGetQueryivEXT,"le":_emscripten_glGetRenderbufferParameteriv,"ke":_emscripten_glGetShaderInfoLog,"je":_emscripten_glGetShaderPrecisionFormat,"ie":_emscripten_glGetShaderSource,"he":_emscripten_glGetShaderiv,"ge":_emscripten_glGetString,"fe":_emscripten_glGetTexParameterfv,"ee":_emscripten_glGetTexParameteriv,"de":_emscripten_glGetUniformLocation,"ce":_emscripten_glGetUniformfv,"ae":_emscripten_glGetUniformiv,"$d":_emscripten_glGetVertexAttribPointerv,"_d":_emscripten_glGetVertexAttribfv,"Zd":_emscripten_glGetVertexAttribiv,"Yd":_emscripten_glHint,"Xd":_emscripten_glIsBuffer,"Wd":_emscripten_glIsEnabled,"Vd":_emscripten_glIsFramebuffer,"Ud":_emscripten_glIsProgram,"Td":_emscripten_glIsQueryEXT,"Sd":_emscripten_glIsRenderbuffer,"Rd":_emscripten_glIsShader,"Qd":_emscripten_glIsTexture,"Pd":_emscripten_glIsVertexArrayOES,"Od":_emscripten_glLineWidth,"Nd":_emscripten_glLinkProgram,"Md":_emscripten_glPixelStorei,"Ld":_emscripten_glPolygonOffset,"Kd":_emscripten_glQueryCounterEXT,"Jd":_emscripten_glReadPixels,"Id":_emscripten_glReleaseShaderCompiler,"Hd":_emscripten_glRenderbufferStorage,"Gd":_emscripten_glSampleCoverage,"Fd":_emscripten_glScissor,"Ed":_emscripten_glShaderBinary,"Dd":_emscripten_glShaderSource,"Cd":_emscripten_glStencilFunc,"Bd":_emscripten_glStencilFuncSeparate,"Ad":_emscripten_glStencilMask,"zd":_emscripten_glStencilMaskSeparate,"xd":_emscripten_glStencilOp,"wd":_emscripten_glStencilOpSeparate,"vd":_emscripten_glTexImage2D,"ud":_emscripten_glTexParameterf,"td":_emscripten_glTexParameterfv,"sd":_emscripten_glTexParameteri,"rd":_emscripten_glTexParameteriv,"qd":_emscripten_glTexSubImage2D,"pd":_emscripten_glUniform1f,"od":_emscripten_glUniform1fv,"md":_emscripten_glUniform1i,"ld":_emscripten_glUniform1iv,"kd":_emscripten_glUniform2f,"jd":_emscripten_glUniform2fv,"id":_emscripten_glUniform2i,"hd":_emscripten_glUniform2iv,"gd":_emscripten_glUniform3f,"fd":_emscripten_glUniform3fv,"ed":_emscripten_glUniform3i,"dd":_emscripten_glUniform3iv,"bd":_emscripten_glUniform4f,"ad":_emscripten_glUniform4fv,"$c":_emscripten_glUniform4i,"_c":_emscripten_glUniform4iv,"Zc":_emscripten_glUniformMatrix2fv,"Yc":_emscripten_glUniformMatrix3fv,"Xc":_emscripten_glUniformMatrix4fv,"Wc":_emscripten_glUseProgram,"Vc":_emscripten_glValidateProgram,"Uc":_emscripten_glVertexAttrib1f,"Sc":_emscripten_glVertexAttrib1fv,"Rc":_emscripten_glVertexAttrib2f,"Qc":_emscripten_glVertexAttrib2fv,"Pc":_emscripten_glVertexAttrib3f,"Oc":_emscripten_glVertexAttrib3fv,"Nc":_emscripten_glVertexAttrib4f,"Mc":_emscripten_glVertexAttrib4fv,"Lc":_emscripten_glVertexAttribDivisorANGLE,"Kc":_emscripten_glVertexAttribPointer,"Jc":_emscripten_glViewport,"Ic":_emscripten_memcpy_big,"Hc":_emscripten_request_pointerlock,"Gc":_emscripten_resize_heap,"W":_emscripten_run_script,"Fc":_emscripten_sample_gamepad_data,"Ec":_emscripten_set_click_callback_on_thread,"Dc":_emscripten_set_fullscreenchange_callback_on_thread,"Cc":_emscripten_set_gamepadconnected_callback_on_thread,"Bc":_emscripten_set_gamepaddisconnected_callback_on_thread,"Ac":_emscripten_set_keypress_callback_on_thread,"yc":_emscripten_set_main_loop,"xc":_emscripten_set_touchcancel_callback_on_thread,"wc":_emscripten_set_touchend_callback_on_thread,"vc":_emscripten_set_touchmove_callback_on_thread,"uc":_emscripten_set_touchstart_callback_on_thread,"tc":_exit,"z":_glActiveTexture,"V":_glAttachShader,"n":_glBindAttribLocation,"c":_glBindBuffer,"k":_glBindTexture,"qc":_glBlendFunc,"i":_glBufferData,"y":_glBufferSubData,"U":_glClear,"T":_glClearColor,"pc":_glClearDepthf,"oc":_glCompileShader,"nc":_glCompressedTexImage2D,"mc":_glCreateProgram,"kc":_glCreateShader,"jc":_glCullFace,"p":_glDeleteBuffers,"S":_glDeleteProgram,"R":_glDeleteShader,"Q":_glDeleteTextures,"ic":_glDepthFunc,"P":_glDetachShader,"O":_glDisable,"j":_glDisableVertexAttribArray,"N":_glDrawArrays,"M":_glDrawElements,"x":_glEnable,"f":_glEnableVertexAttribArray,"gc":_glFrontFace,"h":_glGenBuffers,"fc":_glGenTextures,"w":_glGetAttribLocation,"ec":_glGetFloatv,"dc":_glGetProgramInfoLog,"L":_glGetProgramiv,"bc":_glGetShaderInfoLog,"K":_glGetShaderiv,"o":_glGetString,"v":_glGetUniformLocation,"ac":_glLinkProgram,"$b":_glPixelStorei,"_b":_glReadPixels,"Zb":_glShaderSource,"Yb":_glTexImage2D,"m":_glTexParameteri,"J":_glUniform1i,"u":_glUniform4f,"t":_glUniformMatrix4fv,"l":_glUseProgram,"Wb":_glVertexAttrib2f,"Vb":_glVertexAttrib3f,"s":_glVertexAttrib4f,"e":_glVertexAttribPointer,"Ub":_glViewport,"I":_glfwCreateWindow,"Sb":_glfwDefaultWindowHints,"Rb":_glfwDestroyWindow,"Qb":_glfwGetCursorPos,"Pb":_glfwGetKey,"Ob":_glfwGetMouseButton,"H":_glfwGetPrimaryMonitor,"r":_glfwGetTime,"Nb":_glfwGetVideoModes,"Mb":_glfwInit,"Kb":_glfwMakeContextCurrent,"Jb":_glfwSetCharCallback,"Ib":_glfwSetCursorEnterCallback,"Hb":_glfwSetCursorPosCallback,"Gb":_glfwSetDropCallback,"Fb":_glfwSetErrorCallback,"Eb":_glfwSetKeyCallback,"Db":_glfwSetMouseButtonCallback,"Cb":_glfwSetScrollCallback,"Bb":_glfwSetWindowIconifyCallback,"zb":_glfwSetWindowShouldClose,"yb":_glfwSetWindowSizeCallback,"xb":_glfwSwapBuffers,"wb":_glfwSwapInterval,"G":_glfwTerminate,"g":_glfwWindowHint,"F":_llvm_stackrestore,"E":_llvm_stacksave,"vb":_nanosleep,"ub":_time,"sb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["re"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["se"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["Be"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["Ce"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["De"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["we"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["calledRun"]=calledRun;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_heightmap.data";var REMOTE_PACKAGE_BASE="models_heightmap.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_heightmap.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["be"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ce"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"d":___assert_fail,"Q":___sys_fcntl64,"Zd":___sys_ioctl,"_d":___sys_open,"w":_eglGetProcAddress,"aa":_emscripten_exit_pointerlock,"Z":_emscripten_get_element_css_size,"U":_emscripten_get_gamepad_status,"V":_emscripten_get_num_gamepads,"$":_emscripten_get_pointerlock_status,"Bd":_emscripten_glActiveTexture,"Ad":_emscripten_glAttachShader,"Rd":_emscripten_glBeginQueryEXT,"zd":_emscripten_glBindAttribLocation,"yd":_emscripten_glBindBuffer,"xd":_emscripten_glBindFramebuffer,"wd":_emscripten_glBindRenderbuffer,"vd":_emscripten_glBindTexture,"Jd":_emscripten_glBindVertexArrayOES,"ud":_emscripten_glBlendColor,"td":_emscripten_glBlendEquation,"sd":_emscripten_glBlendEquationSeparate,"rd":_emscripten_glBlendFunc,"qd":_emscripten_glBlendFuncSeparate,"pd":_emscripten_glBufferData,"od":_emscripten_glBufferSubData,"nd":_emscripten_glCheckFramebufferStatus,"md":_emscripten_glClear,"ld":_emscripten_glClearColor,"kd":_emscripten_glClearDepthf,"jd":_emscripten_glClearStencil,"id":_emscripten_glColorMask,"hd":_emscripten_glCompileShader,"gd":_emscripten_glCompressedTexImage2D,"fd":_emscripten_glCompressedTexSubImage2D,"ed":_emscripten_glCopyTexImage2D,"dd":_emscripten_glCopyTexSubImage2D,"cd":_emscripten_glCreateProgram,"bd":_emscripten_glCreateShader,"ad":_emscripten_glCullFace,"$c":_emscripten_glDeleteBuffers,"_c":_emscripten_glDeleteFramebuffers,"Zc":_emscripten_glDeleteProgram,"Td":_emscripten_glDeleteQueriesEXT,"Yc":_emscripten_glDeleteRenderbuffers,"Xc":_emscripten_glDeleteShader,"Wc":_emscripten_glDeleteTextures,"Id":_emscripten_glDeleteVertexArraysOES,"Vc":_emscripten_glDepthFunc,"Uc":_emscripten_glDepthMask,"Tc":_emscripten_glDepthRangef,"Sc":_emscripten_glDetachShader,"Rc":_emscripten_glDisable,"Qc":_emscripten_glDisableVertexAttribArray,"Pc":_emscripten_glDrawArrays,"Ed":_emscripten_glDrawArraysInstancedANGLE,"Fd":_emscripten_glDrawBuffersWEBGL,"Oc":_emscripten_glDrawElements,"Dd":_emscripten_glDrawElementsInstancedANGLE,"Mc":_emscripten_glEnable,"Lc":_emscripten_glEnableVertexAttribArray,"Qd":_emscripten_glEndQueryEXT,"Kc":_emscripten_glFinish,"Jc":_emscripten_glFlush,"Ic":_emscripten_glFramebufferRenderbuffer,"Hc":_emscripten_glFramebufferTexture2D,"Gc":_emscripten_glFrontFace,"Fc":_emscripten_glGenBuffers,"Dc":_emscripten_glGenFramebuffers,"Ud":_emscripten_glGenQueriesEXT,"Cc":_emscripten_glGenRenderbuffers,"Bc":_emscripten_glGenTextures,"Hd":_emscripten_glGenVertexArraysOES,"Ec":_emscripten_glGenerateMipmap,"Ac":_emscripten_glGetActiveAttrib,"zc":_emscripten_glGetActiveUniform,"yc":_emscripten_glGetAttachedShaders,"xc":_emscripten_glGetAttribLocation,"wc":_emscripten_glGetBooleanv,"vc":_emscripten_glGetBufferParameteriv,"uc":_emscripten_glGetError,"tc":_emscripten_glGetFloatv,"sc":_emscripten_glGetFramebufferAttachmentParameteriv,"rc":_emscripten_glGetIntegerv,"pc":_emscripten_glGetProgramInfoLog,"qc":_emscripten_glGetProgramiv,"Ld":_emscripten_glGetQueryObjecti64vEXT,"Nd":_emscripten_glGetQueryObjectivEXT,"Kd":_emscripten_glGetQueryObjectui64vEXT,"Md":_emscripten_glGetQueryObjectuivEXT,"Od":_emscripten_glGetQueryivEXT,"oc":_emscripten_glGetRenderbufferParameteriv,"mc":_emscripten_glGetShaderInfoLog,"lc":_emscripten_glGetShaderPrecisionFormat,"kc":_emscripten_glGetShaderSource,"nc":_emscripten_glGetShaderiv,"jc":_emscripten_glGetString,"ic":_emscripten_glGetTexParameterfv,"hc":_emscripten_glGetTexParameteriv,"ec":_emscripten_glGetUniformLocation,"gc":_emscripten_glGetUniformfv,"fc":_emscripten_glGetUniformiv,"bc":_emscripten_glGetVertexAttribPointerv,"dc":_emscripten_glGetVertexAttribfv,"cc":_emscripten_glGetVertexAttribiv,"ac":_emscripten_glHint,"$b":_emscripten_glIsBuffer,"_b":_emscripten_glIsEnabled,"Zb":_emscripten_glIsFramebuffer,"Yb":_emscripten_glIsProgram,"Sd":_emscripten_glIsQueryEXT,"Xb":_emscripten_glIsRenderbuffer,"Wb":_emscripten_glIsShader,"Vb":_emscripten_glIsTexture,"Gd":_emscripten_glIsVertexArrayOES,"Ub":_emscripten_glLineWidth,"Tb":_emscripten_glLinkProgram,"Sb":_emscripten_glPixelStorei,"Rb":_emscripten_glPolygonOffset,"Pd":_emscripten_glQueryCounterEXT,"Pb":_emscripten_glReadPixels,"Ob":_emscripten_glReleaseShaderCompiler,"Nb":_emscripten_glRenderbufferStorage,"Mb":_emscripten_glSampleCoverage,"Lb":_emscripten_glScissor,"Kb":_emscripten_glShaderBinary,"Jb":_emscripten_glShaderSource,"Ib":_emscripten_glStencilFunc,"Hb":_emscripten_glStencilFuncSeparate,"Gb":_emscripten_glStencilMask,"Eb":_emscripten_glStencilMaskSeparate,"Db":_emscripten_glStencilOp,"Cb":_emscripten_glStencilOpSeparate,"Bb":_emscripten_glTexImage2D,"Ab":_emscripten_glTexParameterf,"zb":_emscripten_glTexParameterfv,"yb":_emscripten_glTexParameteri,"xb":_emscripten_glTexParameteriv,"wb":_emscripten_glTexSubImage2D,"vb":_emscripten_glUniform1f,"tb":_emscripten_glUniform1fv,"sb":_emscripten_glUniform1i,"rb":_emscripten_glUniform1iv,"qb":_emscripten_glUniform2f,"pb":_emscripten_glUniform2fv,"ob":_emscripten_glUniform2i,"nb":_emscripten_glUniform2iv,"mb":_emscripten_glUniform3f,"lb":_emscripten_glUniform3fv,"kb":_emscripten_glUniform3i,"ib":_emscripten_glUniform3iv,"hb":_emscripten_glUniform4f,"gb":_emscripten_glUniform4fv,"fb":_emscripten_glUniform4i,"eb":_emscripten_glUniform4iv,"db":_emscripten_glUniformMatrix2fv,"cb":_emscripten_glUniformMatrix3fv,"bb":_emscripten_glUniformMatrix4fv,"ab":_emscripten_glUseProgram,"$a":_emscripten_glValidateProgram,"Za":_emscripten_glVertexAttrib1f,"Ya":_emscripten_glVertexAttrib1fv,"Xa":_emscripten_glVertexAttrib2f,"Wa":_emscripten_glVertexAttrib2fv,"Va":_emscripten_glVertexAttrib3f,"Ua":_emscripten_glVertexAttrib3fv,"Ta":_emscripten_glVertexAttrib4f,"Sa":_emscripten_glVertexAttrib4fv,"Cd":_emscripten_glVertexAttribDivisorANGLE,"Ra":_emscripten_glVertexAttribPointer,"Qa":_emscripten_glViewport,"Vd":_emscripten_memcpy_big,"_":_emscripten_request_pointerlock,"Wd":_emscripten_resize_heap,"y":_emscripten_run_script,"W":_emscripten_sample_gamepad_data,"ya":_emscripten_set_click_callback_on_thread,"Aa":_emscripten_set_fullscreenchange_callback_on_thread,"ta":_emscripten_set_gamepadconnected_callback_on_thread,"sa":_emscripten_set_gamepaddisconnected_callback_on_thread,"za":_emscripten_set_keydown_callback_on_thread,"ae":_emscripten_set_main_loop,"ua":_emscripten_set_touchcancel_callback_on_thread,"wa":_emscripten_set_touchend_callback_on_thread,"va":_emscripten_set_touchmove_callback_on_thread,"xa":_emscripten_set_touchstart_callback_on_thread,"Xd":_emscripten_thread_sleep,"S":_exit,"R":_fd_close,"Yd":_fd_read,"Oa":_fd_seek,"P":_fd_write,"p":_glActiveTexture,"D":_glAttachShader,"k":_glBindAttribLocation,"a":_glBindBuffer,"j":_glBindTexture,"Fb":_glBlendFunc,"e":_glBufferData,"v":_glBufferSubData,"K":_glClear,"L":_glClearColor,"_a":_glClearDepthf,"Fa":_glCompileShader,"La":_glCompressedTexImage2D,"Da":_glCreateProgram,"Ha":_glCreateShader,"ub":_glCullFace,"m":_glDeleteBuffers,"G":_glDeleteProgram,"H":_glDeleteShader,"J":_glDeleteTextures,"Qb":_glDepthFunc,"I":_glDetachShader,"M":_glDisable,"h":_glDisableVertexAttribArray,"O":_glDrawArrays,"N":_glDrawElements,"x":_glEnable,"b":_glEnableVertexAttribArray,"jb":_glFrontFace,"f":_glGenBuffers,"Na":_glGenTextures,"u":_glGetAttribLocation,"Nc":_glGetFloatv,"Ba":_glGetProgramInfoLog,"F":_glGetProgramiv,"Ea":_glGetShaderInfoLog,"E":_glGetShaderiv,"n":_glGetString,"t":_glGetUniformLocation,"Ca":_glLinkProgram,"Pa":_glPixelStorei,"Ia":_glReadPixels,"Ga":_glShaderSource,"Ma":_glTexImage2D,"o":_glTexParameteri,"z":_glUniform1i,"q":_glUniform4f,"r":_glUniformMatrix4fv,"l":_glUseProgram,"Ja":_glVertexAttrib2f,"Ka":_glVertexAttrib3f,"s":_glVertexAttrib4f,"c":_glVertexAttribPointer,"$d":_glViewport,"B":_glfwCreateWindow,"pa":_glfwDefaultWindowHints,"Y":_glfwDestroyWindow,"C":_glfwGetPrimaryMonitor,"i":_glfwGetTime,"oa":_glfwGetVideoModes,"qa":_glfwInit,"da":_glfwMakeContextCurrent,"ia":_glfwSetCharCallback,"ea":_glfwSetCursorEnterCallback,"ga":_glfwSetCursorPosCallback,"ka":_glfwSetDropCallback,"ra":_glfwSetErrorCallback,"ja":_glfwSetKeyCallback,"ha":_glfwSetMouseButtonCallback,"fa":_glfwSetScrollCallback,"la":_glfwSetWindowFocusCallback,"ma":_glfwSetWindowIconifyCallback,"T":_glfwSetWindowShouldClose,"na":_glfwSetWindowSizeCallback,"X":_glfwSwapBuffers,"ca":_glfwSwapInterval,"A":_glfwTerminate,"g":_glfwWindowHint,"ba":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["de"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["ee"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["fe"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ge"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["he"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ie"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["je"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_heightmap.wasm b/examples/web/models/models_heightmap.wasm index 58fb084..32c2412 100644 Binary files a/examples/web/models/models_heightmap.wasm and b/examples/web/models/models_heightmap.wasm differ diff --git a/examples/web/models/models_loading.c b/examples/web/models/models_loading.c index 24dbbd8..d438d1f 100644 --- a/examples/web/models/models_loading.c +++ b/examples/web/models/models_loading.c @@ -76,7 +76,7 @@ int main(void) SetCameraMode(camera, CAMERA_FREE); // Set a free camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_loading.data b/examples/web/models/models_loading.data index fe2e2d6..a38ea69 100644 --- a/examples/web/models/models_loading.data +++ b/examples/web/models/models_loading.data @@ -12919,7349 +12919,1928 @@ f 4537/280/4 4483/280/4 4506/281/4 ‰PNG  - IHDR…y#sRGB®ÎégAMA±� üaPLTE         %) + IHDRHÃÛ±PLTE         %)   # + #"&# *, ##((0843;:  (" # -&)!.(;"2+;3$#"%&(&(%&((*%#(&(+(&,++-/0.0..010�)&1-,8/-0/020.83.98/333568685689854868<95:;;7?@<>@?@<=AB?GH?HHADEHKLQRXXC$B&E(D)H&N I)L,F0 M1 D9V T P,P. [ Z" -_(S3 V8X6 Y8Q6U9X6\;I? A>;c& k+`>s, r-y0x1@?@I@]@LB DA=UJ%]Q(aAdEeHhEhFjHjKpNpPdX,k]0wV n`2wi6~p;BCCCFHEIJIEBHGHMIEJKKFNPLNPFPPMQQNWXNXXQMIPNQVQMRSSTVXUXYZUQXWZ]YTZ[\\^`V``]`aa]X`_dfb\xlD}pFtPbccdfhfhikfahgknicjkkmopnpqrlgxrl}wq„7€o;ƒs=ŠzC‰|S�~C‚|vŽ€L�€V•„H—ˆWž�]�ƒbˆ‚{˜‹d˜Žp�‘iœ“t �L ŽT¢�N¦”W§—g§›u°žh® m­¡x±¡l²¤yŒ‡��Šƒ———¦��¬£‡®¦‘µª‡´¬“»±�»²•§§§¼¶ ···Áµ�·™Å¼£ÈÁ©ÇÇÇ×××èèèüüü§uytRNSÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿS÷% pHYs  ÒÝ~ütEXtSoftwarepaint.net 4.0.19ÔÖ²dûhIDATx^Ôýÿs×}&ŒÊ»‰e’o@F°@ÛyI€Î -#BÃ�ÍE ƒ!†B8—¸Õ@w Üš1@‰"i*¸|a�”„�b¹ä•í0q’*§6ïÊN©X•-X{ )×½?póƒß­Ú\§¶nå×ÔnÕýGîó<ŸO÷tfTrŸîéé/§OŸé™9ÏóùœÏ9ýBn'šÐŸD9�J -~öøaƒŸ¹Ù$üDÁÏüðNøqƒŸh(_�§µXN`8‰jž½à¹·€—ˆð�æð›)x.‚Ÿgð´Â[ xZƒ—zx¬TšyîgB!?ÑwâDþ|‘˜ ‚™°VÛÄR˜Ç†5®–Fë!OÃbÚŽÎÍÏó(1ÿx~)ÂZKA1 ˜ŸV¦JXLÏh]° µZ!Ø~ò dë;�/óµù¹ù¹KZ -WžÖp1\ÎJ dÜVR‚»Ãpsó3mñ òA&a8;Z«3 -—\ˆùÇ8Xú!KŽ¢MÍb‘.yj]7í,b¾>UÚúüs”ɶ­hÓ\òÃÇóùbß¡>fÙu}-:á·øÆ7¾ñë¿þo#üz ø$ü¼ç‚o|ãë�²´(LâÀן­,7÷ŠÛëÀÝ{ë·WÚà�7n¼³‚éÆ �pk}}ÃñðÑ£�›+#+ë�¬¼ö9dPƒf«Ì•õêpeX+ÙaÔB¹�ìpÿÀÀÉ�ÜálÿaLÞš ZŸ°ª tðb˜Ç‹8p’L1<<À”º2˜Bž¨ så,êÜj¥š[¬TË^cu Ýp~Wüº÷šáÇ ßÓÊ)¿í��íŒÓƒƒÑáë]b�ðûyxŒ¸A‡„SŽ~]€PJCÿ)L‚ï;ëï)¼°gèç�žñ¦p2 g'At�¿±–35f?sŒ2~¢PiL~x'¼?Q¸ -æ�^kk«‰i)ç~Áÿ9†…$<{¡ù–%æü³|Ÿà¹~x'œûOkð¿ÅðØÔ”Âs…(k~2“B03��áCåc.J ‚4Šcs50›±_íqío"%q&X”üYšš"u^™™.º2Q“4çÂ9RtmB€×ÓŘ5 üq —Øäåê³£WžÎƒ³q5NGÉççßœ›ãÒsïÜÀŒëS›\Ìž©Õy<ss¼">ßãy€ …Ké�¨äSd•&Z£PAYò7M@£ð‚*¸ssXLNCœ(žø -Ë•|8 -äјt#²�ílðÿsÉÂx)"øíÿ"ÀmN P‰À�++cFû PÜxç¼qíNjðÿ£(n=pp@`!·<’Sí”^ ÀŒ*¾¿!ŽäNéï?9p¸ÿEÓiàæ~0;§Ã‡_|19Ÿ<‰<“'(†‡ûû³YÃG rå\îÀB‚d_ Yì�~œð=;`  ?}dÓ:XºÓLÆÇ -p:Ëyðtv� í"ÆFRS´WÓà`?&Ü+MÚåô8ý§lê�®‘§0õSX–˜ZJgõ=€¿†¦¹‰ÿ›=fOsE€ùOIà¨)š�ÜvÀ™Ñàg -•rcÎ&æ¬?QhÐÿÕr‚ý1ùoKX]^~+šýŸcpÛßáù©û•š½D‚6ƒßLÁs¼¤O+8÷ žÖà¥6,-þÑ¢Ï:ø/âxc²,y�GÀä @ér1@.@ÃŽæ[+2™«m6<Ì”ôÌ5ñ}¸_ÀÜü›,|+³§š°SQò„¬ÏòE%w_FäÀ'p€NNzP^/š<33Áôøøùüøñèxì%—äê'A4šfÖð$\ÂÏ{.ˆ</ø5‰ž¯aÆ‹ëÚ�ÿö׿þŒà·n¾}óúµ]†ëZ&Ø^Ëš=ë·Ö7> }|yÞ]ßøÄ©û`àÁI €Ål•U²@³oîû­<GNªæwþïïOó?R �f@–WÆ‹ ö,/®Vª¹ê>$À=Lœw×mj§<⡽=ŠøàìYÐy»™F<“`æ?=”ÙÓ“ëS/íõƒ§Ä︗¸Y‡_4¦vú§Èj÷S&ôž: ½¡kXJ¡ŸüOÀ)ßqp€&Ã<ÐÑpÜä/1N„4í7³Ÿ¶¿KQ[ c:üLad!ž*Yü¢ã9 /‚ÁOüuÕ�ÿ²ÿx?ÂkÃÃñÜäHºšoYbN�§òð`6ž=ÁoÀN8÷ žÖà‹&,™¨8!N¼|·©Zïòÿ“º¯}ïç„`àÔ)Øÿ§äÐEé†A)JÓ6íÀYgõ=@œeÌåË@?�`¦Xã8üg»¤}’–‰­%œ2 ~¦àlj?¼*@?Qpö…¸jMß÷—ÿ´„Uäð?Žá57ýž?QNß²Ä2 /·ÿŒxö\/©ÁÓ -Îý‚§ux¹ ï.Ù °£ÆÏä`"ˆÀdäxÜÎ šnxØ€w0yíqíq$Œ5E£`ζ;3Àl) <óD €5�f=)9þM%åYÆÂ‘¼N†né`ꔀM±à�F @Tr -çÿ8€¹GM,3³¢±ñÚbrF‹8€“}ÑN¬’p ?ï¹ m@ŠÿµÿÙÀÞà€{í<7›=Ï?ÀëƒWCÏ €j¶:‚ÜX¯¶�NÊp25q?+î8é¶?é_>mæaMHÆ&ˆ ó° À=×÷ãð;N�ÚiäG€Hic.|Gž@ú¿÷ð^Ãü__¿mv¾ÓzrVºm’›‘:#Ú$Œ½¬€”Ïšo_€;o‹ü©œþ³àþAÐ<^ ]#ÙÀ6óÄA-øÿ€<Mü¿Ó ‹³ŽìOI�÷Ýüï²…hÀs'šè5O`ðç~:Ê öÇËmÁlþ4²ýwñ ,Íw-šHÑ9Àðà€ÍÏèH €¥êâ^ï6\_€€t4NÇ1ŠHxÌÊ·µ‹�Fdœö´ŠƒËæQoë �T:‡ËÑ€ü»ó¼iôÞU óoÄ$=Ai2á@¡1j€‚™¶+fÚÀ‚ðŽz Àt" éhé·[: -äѳî€`:ÁÏ{.hÕÐ�jÀö³ -š÷×:/ð°Çtð\kå`€ZžK €×[X = Ì�«–sÃäýrK@Ù=à—ûÁjbû‹ãÿf8y$='Qõðd÷ë0Ö6D-ý.ðí¥�”ߎá�îѰáö?ù?�ÆÂòØÁ¶1âàU6Aùo°|VòRp9öDHx:õ˜™™œo ¶oMÿÿ`°Ë÷Ðú7@,pè™=lçï´pþ� &€1;<Œ0|òœb¼ˆá5Æ~yʪž`Ûµ�€ù? ʧ՟œp€Q€="÷ 5òÐ"ŠÀeÛÄ<«X_¿ÓähåØáð³Íý�©ßíþ n;·Ë ªO®Àø?íð¾¤CÏfÉðBƒîíEˆ¢ñ–òŒSûc)î?MþgG¾Ì€k$ÛÈÿPæó· ÿýö{5æýzZ#æÎÎm; ¾Œà'§ŒàÏ)x ~¢ æ·8‹�ÀÂ�¼ïx‹1 ,VÜö7xþ‚•²Õ2Þ£ø5ŒÿƒÍž‰ÀO#©œû žØàŒ¬ ÏÝ@:šk4L*`/1µšØÓ½º�À<—Ž“z @ªÀ±&]ž%DŽ͖½˜«Ô²ê& n` @Êw‘öh5�ì€KÎüËEÐ!Àh¾=œòhLºÙLjv~a½¾ÖÃK -¸.J� ÿ¸˜Üÿ4Ð ìÛ`øb^í¤á.bç`ýG€Ã'#ï¿&Z}QÀ@¿“ähŽ`‡Áíà·<U¿¸;›Ü àÛ‚Ÿñÿ¹?rÿK¬°UßœýzK®`ÆÂ–ÖøoüìGˆDó¿Ì‡ä@¿byFþ˜ZüO(Pˆbú£€FÀߨØÀ ÍzDü‘ Îê{~bøzø›ˆ–û�hÙ`Ìï -€ÄÖ -Θ?Q¨Àð�ÐÄú xƒŸ)ˆù}!×?·¡Zzým¤°èìàíŠîZcÝK$ø‡3˜,¶Ù3TΞÖàÜ/xbƒ—Û n’ä‡g…çr0@À~cœeIÙ�ç÷@vNz¬ €¬‘ïÛ�À«ëòZ!¸;å@N˜[x˜ý€‚PŒcXð´ Ñ Y¿ÙÖÀïÐàØiùk‰…s ý×åàõššvx  @ -à:™ºíÂa:@ } Àµ–1é^Ï_<“�Ø=à= î#4þ�¤â¹_Ýâ&€Öä{AüÏÃ`>’¼ €»ò$4€ÑÊàg²ù?âÀÌNø¶AÕNñ4ø›V`íg©´iQ€ƒ ~±&§{LÑNZÿ˜`Û÷ž¢ýÏ™´�lÿïÉ î—€…jiOAe¨y!íP <–{+þßW€,9ïêˆ^Î6†4í7àüOût€…Jc$?L úŠÁ‹`ð3k°…5þ;ÜøÄü›"ò':xp›l²9±ž@C+ƒnþvëèRïâEà‡ ‘Ãs9)á(¾±Ï2ê¾b0wðàÚûê è`À΀)yJoìæðæ�K$bæÞT °è DD+òœ äÑnÓ ~ÞsA«&€¯õ´ŠxfÀo]»N/Û["D°D;ÀÍn<Ï7ÀaÕÑ>  ÔOíbä8I€î?‰…œ°@i�þ´€by¤z4y2@à·FŠ� ŠÑîZ_À†ðódþc¦éÿÓŸZó¿ÀoÛè߬þ¦¹DÉܤõ¯UŽ�ý³^"g‡VEñô P#�ÿ( ‚yNõ{ƒÁ¤`O <â{¤#š°�^Î\Ée“À~@LÎj;Æh 7þI[]Æø‰¯Q^Ð$µÿ§¼̽?SH{@ü«jX[Mx Ì@€ÿqLtð°�¼[v×ëIø‡ó»…DKŸò¤Ë›„s¿ài ^pÇ»K -ü° Zx>hyº�¨Õ¢€ÚãZ—1xkxðjްÐ@ežòX€—€ Èñ-{p_‡qÄÝI@4ŠYJz"ßEìÌÙÀL¼ À‹Ã ÌY ÖZÇ ú$ý ®œ Ñ˜X;5|¡+Vò¿Vüðë=_{Ö²8÷]¼ÍEîh°ÓЈˆ<Ï; ‚UJ{†@Ѐ·Èp潚8ÇÀªåÅJN€6) ¤c€¹9ã€ì�_œ¾<‡< `)lÓO¢íÿðÞCj7y�$¶ÿ逽oíýFÿñ -™œ¯Uî¦È2 -p0°Žö’@À6gP7 {Ùÿ/Ú8€àÿ(`Œyÿ÷Ó[pŠ£òÊIÀ‘, ð”®¡i'œÕ÷ã­ÔÜä0Ëß‘ ÿ®{˜ñ¯…ˆ­Œ0~¢ÀÀJŽÓ»—ªý?mþwÎþ\–åþ§àìÆ?‘ ø-üiÜüžÑ@:çmràßÈwwxÐsü°°w»èýÝ´x®>rR8´íÐÕ8NÆÝ�{挈17÷ž±sÕA¼µìÀ’§=q ÀTÛ0âÀcä@F€üQ zðÆ€ó;bœO`3¹Çù/y´Á¬âÙ&ئü¼ç‚ö½ ÚÍ_;˜&€¶ô¯næûïªÀµÖ€¦^_@€Á뤽Á<ˆÒn1Šú; —ñ/Ð-À @€²…¤<J@Q@¢èè8°áù½},`Êà§<´èÿ‡Öø5ÿ›ùÍˬ§ÅßX!s“;¼Á:çwEÞ~oû·öí±Î ”ÿÿð‹Øïhtˆ` -àT¿_/åàH -ˆ> &ü´ðõˆ¹|ÙÀkÆ 19ý§CÚ÷hüKðôV0Ætø‰éј‰ðƒ¢÷:ÁO4�ø}º*׿Ťz´ðx;À.1|ñ–%×±lÀï“–q`vpx`ØsTP‡Fpî<­Á žFuiÉ;œ‘ᚈˆzì1Fû¾cšÆPvÌÛbž¡rÂÜ�€àLÀò©äÐ-z0“D 3³¢E€™ññ|ËqœòÌï«N1@£ ÓÚ‰60‹›ðóž ºí<»¸.ºo‡æƒjh€äÍ€F@Ô à‹û’Š`ÅÔÂ` ŠÐH€GN20Bä �d@²7ò—àÈ΀þ�xä7= q7àÀCc �ðø æý�ÌÿTó¿Ó;ù]œ¯È/�pv�ÄO?€íÃGoö‚p`…:`päÞOþÇ Ú&s[ûä²à‹ÑóÔÉ(@zxŠyŽ}Ûw7ÁY}HpX4wòˆÍŒÖºkpÍÿýxFpfY½yßÌ>†Ÿ(ˆÿÝ @Þg€¹ÜúÌøÞrûß–]zXb•Ú1|Î;FòÇ<À¿¥ç"X -ÃÞ=Äy7?ÁØáy€t4?Ÿ ©€Yùà¶v1µZäÿnê�²£;öHzDÙÜKò~†^ÌÄÕA71óq Àäî1�Y+fÔ ’[ °�Àbη eõû–Î~ �GcÒµq­Áwr• ?ï¹ E/‚mŒðÀÒCÿí– ¢!öíp:�|q1UJ{‚yrQÀn1 ðpÿ‘D?p:ŸÐÁ°k €õØ @+þ‡PoÀ†@N€"@$@þ\4›ÿ1ÿ¯ˆqÁÚ²ú¹ˆWÌևѯ %£@^'{:ƒ6€ø_kÐ@€cì ¡…x�»$”®� &t4y(¨$šà¬¾8‹%—»xœþ[„´jØÇ8~¢Pfÿ%©ŒÐî�Hµx ~¢@â7h$àÕïS@ÜnêÐäˆ:xx§XP+-—vï°š€ -î¸Jò`(`ÓH@Ì ‚§58÷ žÖàå6,)°9PC<ÜŽ¦ ëÑtÒ óìãY$Ò½äÀùþz´�èÔ ”ß! Ñ @%�šLEEKÄä[�~ü28÷%íÂð…uì¶À³{:¶$½©^mb@ùÍ€çÿ,¯ÚÁ+¦®yX'£>Ú-Àƒ®ø$iã�FÀ¾D @£^ãxô‰H¼ Æà‰fzš}.Èÿ4ÿeüï4ÿð5V=¹=±à $<€ÔƒÖØO*æì/zœŸuôÔà4Ýÿœåa ÀÛÖ`Líÿ�ÿ ìü#‘ ÙЈàó€è�Žh‚³ú༕œ;yôßäØAüŽÿs±µ€è2‚Ÿ)ð z*•&ÂOÚÆÓO5èx?Q ¿Â§Š ¶P¤`Æ¿ÀE@“ ©x§ðÒýR‰£õ”à}â$�ú©ŒÚ°Teû?•€n†ö�£¾ýwOŸ>Ý$‰ÎŒ“ýkóâþ-ñÛVýóÏñóϾ½ýô÷wÛ¿¨Íÿ§ÚýÑp{Ú ¾ùÙöÖÖÏŸüýV½6ÖêO‹P··g§&j?Dõú}<زÎésvvVùÖ¶þþÛ8móÉÏ·>«×?«Í×þKm9"ƒÍ§‡ìëOŸnöd³Vÿü¿þ¢^¯mRüò~¡^ûÅææ“§¿üv¡POŸ~q°ùäÉgõM\Ÿçq}! ëO>ÿüéçÛ[ŸoÿýÓmLµ¹z­ž qQ”¼^GÉ·¶žr %ß®CÌמ<½?;:‹"oÕ·ÂÚËþ-t€J¢à¢øúyºµU›«Õ·¶‘Owîïê³µÚnàã_ü¢Žå6>Ú&²Ù|ºMƒ²8~~¦x¨X|‚‚nÿòiýñæç,yk8õ%AÝ]$€Ÿ÷\о€!qà@S˜_¦Œù�ȱµüÿ¯b€&XíÔ-$ z gw1À:âÉ"NæZ{@k­b†2€-[zîh\àT ÀŽ8âuþ§hnþ"¾—�ßXht¶Èà·mm0 -0Šþc Àˆ<Nþ¸Mú÷qm `Ì×èˆÆˆÇŒzìâèÐp?½ðk0òŠ–»Å8ýwÙ ÀÉ߀x­Œ/~¦À¬aü/Œ,ä*f÷ãW�¦ÿÎMà_ƒdÿﯶ3ÿ4‘ý?<¼”ö$ÛÔ¯F“ÍñºÉàŸÎtøŸ7ÿŒõÕÖm•J0}à“†›š*æûˆL&ŸÏÇí÷<„uÁa0ËWX/½úãÙR‰)f¿K2G¢)>/Ÿ �$ î�¾Zº_,N” —J—ðÂÚÓšÃë2Ï)d=k9]Á©££¥©GymÚßJƒ ©ÀÉ[[ÛS£³÷CP6÷ñº8ÝÒñ ù1{PõèŒ`–¾|]èþwYªÙÙÚì«÷ï[ɃDɧ‚ïâ|•<¼4TBЍä¥Â¥bQ+,©¤’#kk‹¥¢6ÃàJŽ,Xò—˜ô)6Žà-óBßd2)*9‹*¨Ì| %g¾@£1±¶mÀ‚|+øyÏÝ÷xæ§Ê@CŸ¯æqý–Yò÷´Ž¸ÙÂБà {“ŠxMU{瀨àÐz<©Úï§ÈUvx v�xÆ^�ähé0oH¬è0€øŸ·—ìÿSœ°Ãþ·IóD Ñ=Vâq,BŸ1Gñþ¤}Ìl pI@pel ´>{Œ¦ñRÀ÷ ¢ Ð=9žCþ·ôŒ1€ÀŸ°“ý gõ=Ày+9ïæ0úoЪ â²Ó>žd­ÿL²0²ƒø#x ~¢àô/þ•å//^nû ôü;"€k€\FwN+®EëI�æsüX~ü7žÕ°C€þÿ¨• `aahh(sÀ¯¡W‡†FÏdÎd^î9ô¡C=G{z{‡^ÊÜ;::z¯ÑÂ$C:&ÎhËRgÎ`‡ã RÚ{ dÎp·'@3zõÕW¹/ƒ|^E’W5 ¡ g2,_ØË âeE·"Ù…­0H­-äcogF …¡WY¼Ì«C¯èaâ(e£à£gT@ ›€ìÏ J�üp‹ìó¬,_æÌ¹æó^zùåÞÞÞ£=‡¾r¨§÷ùNóc­àÄ—y´Á¬âÙ&ø~&$ü¼ç‚ö½~ïˆWóô \»é<ÞU/€v€çú,VZ»Ãj§n`Ž Úi·ï˜ˆ4]p$)­›€g —[1€?À7 |�û×@³€‡!¼ïŸìsÿþ=Ç åÒ¨7·Eô&›ß€úèC'@8ï‹ùåù'ýSÈ<×;hœ.€þ#ræþ±±×ÉÕ²þ¡ÆCvðŒ‘þ ÊÝÍØ» À¸ ßPcÙ•œê,cØÁü²K´õˆ.cø™�Úh€¹ö#ªüDôÏ‚rŽp[* ¥0îÿ¿6L«Ú�!Èå÷.Z³•$t›x·ü%q;ñö¬€´°¡�w›ºÐwR¡Åz ¯Ò¥Âï�ÞgÃâD¦ïXooh%ÓT…ñ]ïcmv¶4T‚Ù K™.ÌèðÇÜ ã› ùöï‡÷aïjó -íOï�þ¾Œhé0t§‚Z' ;kÿ§ù cz×)Œâ�9ÁdG:ZÅ0¦ggu”Îvä=Uš(b¯Ær^å‡ÈL–¾ÒÓ%À¼~̃Úßâ -sµðþÔ«¥ÙšJŽÌ’ËÇ¥¸�ä–\›s(úößÕf§TpùÁ,3gsÀ}\ ÏÇÙ(ÚîÐýÒ+9PãÍ)b*M”‚bëLY,æ{�í+ €,9>ÖÄ﵄ó^@£ ÓšÔÚ ;@¾ü¼ç‚/²ŸàÐJcÒ�Å´‰ýwà9= À«�]Á -ªHh€6¼%bäô‡ýƒ.�¸ §Á€cLòÝÞfvuœÁe}k+ 7k5ª‘p{q�0ü!–ÔÅ™psëéç›5â<¥«Õ?c íÉöögõ§ÛµÒh eDÉë(JŽ|UòÚöçVr�Øz<Ý~²ùÙ“úhéþ§µûWpLŸ…å©ÕæPò-”|K%ÇÙ5\%ÿ´¾µÍ˜‚%P–aÈ8Âóùñ|_>Ï{ʒ߯ýp¢0ÚbrÚky4&]'ûâ�ÿR½ÄüNÿq1¹ÿÙÛÌØO-°+¦�ØÍ@þÿâcTku«¢vƒ@÷ã¸@Öö±‰Ÿ+Q@ÃÀ[ vÆœlŠØ÷³ì“òÛ�€škÄþIùßÑðàÖZû¿Z ø½ëKN`À¨^³·õGMþ¾°]làþÁD cH÷|“$¸vj€´~„Ü0£ík¤jr¿¼fþ±à03—$`B‡<ðí6ô¿€;Œ¯‡¿‰hÙ] XÕÆ ïÊZRž2¿Óÿ~b­õŸ¶ìÈâ7MG:_ X ~¦@úgI©<@n€–üÓ¸ýOÐÁ€ÜYT¿k>q‘„<E` þt°´÷t× ‚ÇxwI\’ÖÚ‰‹/_<ÀWpvt´öß>2ÃqúúŽgÀxqü";ÎÌpè¾™ùÏ7ÃÒ¹`ÛÌ\Ú¸jឥ›6 ·aÏ€zas3(”ä€aîðXéŠÝg\�a³61a–9§',NaZF70M§�,îðþh&üå/>³0~¥r m?ÿùÖã)Hí/—Š—•w8�O¶‰2ø‰qÉYöÚæfm¨DþN–Ü×Â@%�ÊÎÌÕJ…€½ u7`í#a *Ù‰ €»™ÏŸè;Þ×—·®§™s;''½�váøWÖ ‡D€àÍØo,"4t€© PF×€¨ à¹= À«�nÀZjWD€îÆÐ@¿µ�Sp,À„@IZÄÐò—x&€ÎÜÊ»ø:ÜÐF¤}æð€‡þ�iƒá­èù?Ãû+Z�ß8ö¼FÏ€yDû|3kߌ~lSH ¨ààà4‰»¯�½.ÿ?TÀÛ" AòôQOž*R7œ�cl$€Ö -Ài½{8o%ç.<z9Áš‰?BÄÿb'ÑZ ]:üDAg(`¡Ló¹5¬?S0ãŸN ÿs( 7þ‰x @y¼õ_èè°û¦ÂjÉm[I ºS²d/@Nž‰à‡….Ûü/"DC¶Š0�~îu9G3A07ÿdòüñ—(NäÙ Y�€Ã`¦^<l{§ŠNË3࿈D¡ÀÒÆé¢Ñz0:[.‹<Ù�n -Kl3ìg@®w“©káï”OWšÈ«îøý¨C"]þް04ÖÞæy*ª�0ˆ#Ø…‹ÌL‡Áïo•F§žF'�–m|¿I×F€Ó‘óá°†››a&Øâþ8š¯¤p ¸–gÉ­�¡Î -‹£êæÀQ((0O‹‹Åñó˜!ú^:•"¤ ÒpÎÛ òèî ¡ü¼ç‚ö½žC €ÚDòêÀ…† õƒôr ò´ëЭà_"ÀaµTG˜ ÛqG½Ô´D®˜&|@Ãà E ,´„`1þ!é�0@+`ôßä0p×zðÛú)ýîÿ·¯8åKro¾ìMng|î‹òÏ«íü«€Ø1@IFÇä!§EÜ `ÀÛ>P<À©A°»y 1¸C¤n8{Ê:ÑOÂi½{ˆ¹øãh,¼€ßEk-à|iðeÍêÛýÑh¥Šàg -ý£°ö4`@* “€€à@€�<ºWÑ-³u­$�‚74u1­Nž‰AE5ìË0\¡y,àÄΆR)3‚ 6y⥗ŽAô‘�Î�ã�ºñO^œœ,^¼¸U*ݧMkÐ `:˜¿¦°BãØÍèÍ`4¨a/Ø�©Ùj/2%ÀÛf0êka¡ð)t7çÂØðfȽ‘´ -Lãý&†fÁªµMìÔ¶�;@Ï û ¦¡CJô](φnüϬž=¢¡�6×Ã!ê �~ñ ~XœËXKÉ“�¹j€üf¦ 1û Šß¸Ar?pâxßK}ùq�à@þ[…¦É)¯@£1±vhøâFLÆ -Aþ׊àþjËÓÀwÛ¶• ƒ{ZÅ�þ;ÅD€¡‡×Ví!Ðõ8@Ô €–=&‹8ÙßÒÀTñH€RÈ@½ÜÀÏ›öê°Ï'ðëx“yZD쌈À½{êHûÿ¡uÿÛÑú¿¢|="ãÓ̳Û)ßÞ°ð^�JB S=Þdí{ @®�q A†P8eÓðÇ|�ýHõÂ)˜ð¤ÀÙ~{'pÿ·ÿE< úßC/™ÿÔ¢µ[Fð¶hv0 7��fÓ”pEÀI¡-”ˆ�»xx«¢[Æ…¯x¡ˆ˜Í]€ùñ—Ôc=A ûð¤ÿ¥¥j;`´r0(æ¿ÚSìë›Ì}G¿üå£G�RpLÀù<Ÿcã6SìÍ'íÖq’[qrÆXTæ·üô¢u*€ùÚ“©QöÅJ Ä;{ J&�Ï‘N's8¡ V»TxL -�¡AƒïÆÎ4R;ýº-] -‹Å0Øž§ýÏÑ ‰i¿’©ý"êµQ÷çè¬Çõé~à€<Ú§3Ô–Á’Ï? �Ó]º`M}ƒpZ˜Ç1÷îA1Ó{¹Ý”|ß9­�ÀÄN•Äñ}/ñ¾â°Îâqv~HÁ¯È£IfÝ Ûý…¼ë³¨ °À˜üœ¹“¿�€å.1âÿnzü‹5¼ªj €=Ž ^€‰É‚a# ƒD €ÐbVѼrʰ—ÿp†ÿJVÌТ7€ùøeF - òðë¥À­ýÓOdÿ·4ÿͳ ¢'÷‹ðù¦о)0ÿið¿RÈ? ú¥€Û2ôõ£ž.€#Gx¿^¤ †5Æþ´ÿ£€)1´ÇÓ @û(À}ôu�9�uð�–L`vr1ì`~GÊ�æ·Œ/~¢ £z0¦Àöo¢ÿ€ØÀ%Œúÿ±X[û¾ÿЄ&@£€Ýøvz7Ž¥VѽLßè zÀþÔí�VÎý‚§5¨Ü–`ðÃ-àÔr08z¨Ð÷›à©£_ÂèK/… -8öÒK/}‰R€�[ ïPßxß1âÜw »Nœ8?I:�ùßÍcq(Àçî ý �MÙc›œ€<é…Bä�§Í/Ýx¿r%à8CL­…®N ýÒb~žãûM»uϺ8kG--Õ¢¬ d+?¥\šJþtv(�f`#‰):/�ÆÎLŽÇôÎûç+ºSº7àû¯â&âÍñå¾tô%hªÇ•.ÿÕ&t"JÐhÊ´Þ ßOÂ%ü¼ç‚n{ÄÓ¹ý�ñį%¡&PD €ø¿Ã8ÏéY^ ì^Yµ†@×ã¤zpµßcp‚@9×ì §@ä{@ &öà,ÂȈÚó´ôÜ[çä_©¨ €Ïzôè§?5ÿ¿å”Éß<Në -@oäx½aŽžH)À* Ð |2²vEŽl��Ø�ÿ+€ ¯Áî7þÿÞØëö<ÀA>6�€½@r$€³ƒ @¿ÔE+«ïÆa©¹ÉÐïÖ?AsÚç´ð/k'’ü¿w€e^^`/€¶¿Á9üDÁù¥¥ÀÚnË àÆ¿`ÔßðPHì�¸wÑ: €Îu§ ìÀ?þ)à‡‰ýyªz à‡[`$|0ØþÐ ÇŽ¾ðBßÑcþ‚  iaÆëËRê³Ø©ÃG�öå'I¶ñ€BNìbÑÿÛüç¥ÑYR&øŸÝÈ�IÓQ0mDºµ†— -ALÇ8‹=û\°í€òá3ãµh@á°C½X¬=ÙúyƒÉ‘_�ªåú}nQàeÇ„Ú\m€ÂcF~|€|€\óóÿç•!ù.¨Y¨°fƒ_Qªp¦x‚w'º?¸c¸#šqS´vTw‰÷‰`,uÃ…¯ö¦át×äјtmÅÈVˆw~QA€Ý= à ž€¦›¨^Ñ@ô<Cgjfdó¯< ‚ê¬Ö0À^Ç0 À6Æœ´(~€Rzä0þ?Ò"à¤Y9M½º�°Ï”À€Úy¨½š@² -ûî2«lxô§ìàJ"#Š€Õ�ôɿԶCÛ<ÀwN¶n.ÿÆÉ�:€Ìò¦ª^û=QõØÛîh „¤)¶-)qò ŸQ€ì  ÚÝU{ADZ‰egÍ$€s‹`ß½M~€È@rÚG €Ú =ù(€˜þÓ1V‡Ÿ(˜ío€Ž¨÷5ÿ±-cˆ×xÔ�aG/¾¢‡7_x©ÿ|¶ÿ³u ËÔó€UVÃ~<j°n~¸Ê#’g‡qù*�/ƒÓÀgä0(دà5¼;CÇŽžŸóòá>i‚3,@Œš~zù\p -ö¦]´7&'á2ÐÖ‰é �Ûb’Í=°í½ 3a0MÛž¾z¼ã¬‰WKµRq™Ö§/bY,ª`^Y^œ´ †ðJFæ -P/?¼K €Ÿ(8û î°7ÐeFý‘ Ñ  £ÀH_…Õ²%ÿC¨ šÊü_ k, õDþÀÒM4•JȦ Tþ?v”6¬•¬Z,iú“µ8é޼“ÑëÇ¿ôÒ‰q>9ˆmÛÀx1_d›8ÃßIĵÂP¡x; -ãjÔ®ä‚�:~>(f^æÙ–`œÏç/äóçÎáÅ%›Ö'ÇÇ‘~rF�õ”™àoœ•É'âÎ�ŸÇK±÷Ü -½…º²f¶|Gé^8_`œ®Ð.)žä3ÿO‘ÿµB†«”÷€ˆ·s“ û€„ ‚Ø_ X«µ‚±¥ÃϬ€Oà£ö@ö�^4ý5WÝø'Äü4þ2�<­¢mŽ×1%�6è}ȤÊ쇉ýx|$`�àÇ… B¾{öéXß¡úúŽ} „ˆ±Ø”MÎ…:0> -‰™À óØn‘#²€’x y1p“6Àµù£‡Žõa‡NKÀ”ÒÙ¦á7^—F-ç˜hOÓ7Á©X¤Y²îož˜TÞÌ ÀhPòòGŸ€F¹e÷öE¢Å€µ—úŽþf¢ZÃ3 ‚–«QÑÕG‡ >*??)Á _:Úó;ÀS ›ø9X~$ÞÞ¦cÇò8Ôë/§ºö �¦˜uìÓ ~ÞsAû^Ïc€D@Ö�Rcdþ·ñü+x@kx­•‚@×ãÐþg €¨ýðIùù1�¤'6z–‘/p�%;¨gøÇØÖ @˜`Go¾=XMæàø -àÏÿt‡@üï"À@Öî -$e6÷ëZ€\¯Uìxïg 8B‰‹»ö¶‚í�@rÕÓåïÇðFp;v ¿ÈÀ4JÉãƒYÍŽSV¥íÎ\Éå~z$¨?%žÑàǽ@Lÿ]Æ€úÝ `½9ߦXö߇Ðàó˜›À­¢] K¬—­x©Þ'Š%½Äü(<–ž‰À¢:ºô$e Dýü¸°STÌæ}¶ ¦íÑC}0ŸÙ€ª¾D_5Úxœ¤Îï;zè¨mé$,Á�ÇÇ�Ë‹à ÚÀ1å1qºã7¾„ £h,�‹ÉÉj5S¿ðÂ11·1¸¯lM7Rž(2x�ÍñµRf¶VÌ[Á#Xbšå>ñ°Ä�6Ѐƒ_îs=€…›î„¶¾ÿÂ!ÜRþNð³áãƒóuwмKÜÅ5OK€ (=„…wè‹ú°3…S]{€FÓ¦õø~.áç=tß àž¸÷eƒù±äŽk\’ØP@«%l`x>ϨV½Ø¼úJ ò°NFu´[ ¨'îàüâêf­T¡ˆÈ!!ÙŸ ®vÄôƒï÷ Ð -Îþ¾ṵ̀£7@¤ÜðÐǸ§‘ÿò/Íðî -”Á/ÎÈ?¢ÿ� ¿N ˆöò°Ø˜ ÿÓè'ï�Å1¿%6R8"€<v¢Á‡† `_! ðÅ�€ÿ äyÜXð¾ïèUf{�qXjnò˜ío�ÙÜeމüIN<©%D–?Ñ`™W¬€a/1¢~-Ò�Hxâ�)濵¤\;<�[f“½%¡O)üèPK€g"(‘¡½ ¥†XZ4E°Kv‹<Näó½=ß!½z&M‚ª~�ÔÕ„}‡z#ú¢�cüÄdä '@ùFŠ&޳\’CµÎ(ãÛÆlS-°K‚‚ <êë¿ÞäÏšo° ¿üÒK_>jqD�¹æûä„¿kþ5ØÛ¿¦æxÍÈŠC~¼ÙúËGÇÉã G òØKtwÇêKnÇ{Y¹Ä®/¡Ôttôâ}!—FAm´î ÇŽBnஜȳÕA-"J+8Ñuy4&][1²â�_” Ûgˆà·Þf¥zíÚõ·ßV4V´-FgtÀÛ4éWHÿ±€–<€:Ü¡3pB+€!ö`À'´2¬æÚ/¼êŠa€®Ç8ÒèÐÒ…¨žNKÔÅ8-;€ƒòà@«g4{ºx€¿`gLjMx�v‹ÞRê È5yÖR åOÿB€Xå­3‘2ñ{ËÉÝÞèäGiHâ\$ö;p‚fudÀa> «§¹ûuÚü`}Hâuˆ¼š÷ŒÀM–;â®þÈÜwÐäw³?«xA£l°òÛp‹©ËýÇÐ ÐÜ@5Ë_³h­¬ø?QИ�„½€½ÆÈ@'€ `¤hŒ�b€ƒ(³lCS î•ß5\¬±’€}<ŸÀ1èðL•ÕÐAxb!í€õ�ù�èðãB p#± ÿ«=ù"(L†ô—@’€›þò[¾ïP_ô¥†óHœHià5¬ƒõɈѩ ºGåé(g’:“Ýâyo'W2Í!ÚÜÀ GQzû±<$æ×¥™ýÒyFëYØÁx>Ó“)ž@Á)]hccAo;ý -ÈÉøžÚ§ã*à—<&áÂÏ!@ÚMëSpï ähpºlzÒ:Îâá8nƒûAðA¿u´çBtC 8ôr/Ní¥à§:9r,?É ÆóTùqOÙ ÿwéø‚Gü‚zü–Wð $Ûö Aï1ëïŒdY¡«VÚy¢&€çô,V1,ÀÅeÝUØ•TQÒ2ë*˜û´ÓAÖœÁ9X М?Lt ëcÝRç1`(F ‚#Ø €Œ�Ï4]¹~z 18ºÀ®Yέ®òye¹j¹R¶ -5‚½5ðu$$¿ºö½"Ö—@î¬ÙÀÿòO7ÖõÅ ëàä@�Ê |7˜ËßšhÓ³ÕßÀþû§9PÐiû§ ”`ÿKLт羱±·µ„P4À˜úœýÃþ'Û· Ø"óZÌŸÐÿéìiŽÀ¶lgOgEê{AÄ[‰¹É�ŒHГˆ©?­Hý”ûó,”mB& P­û�àDËŸ£+  E €T€þ3Ö`€Åö•4ºe6Ù[ s¿aMHbù<ÁŽ -¹rJ38÷ žXHy| ùü¸ÐRT8Ý3!?^ìcÈ;ìuzè¿ô¡Õ9ÓŸÀtü|2ÁUÙW̸üóЏ72S~Uo’ù—!RhH§ÏÈŸŽÕC=°å[äÿ_¦ºÐù/�˜?Á§¼$ƒN¢láüJOˆçÅÿG!]Há¤y6LðL¼òŒ§©€…~‚j']t¨[Á©ÇùÙm ŸóèE߈•Ðû2Îêííëí; ñÒ P!ãá|0^4 ãpšëò讀oLHøyÏí{4ÇH/€� …1NÀÛïĽÖo­ø°.Ùhrþÿ‚ÇýïÆ‡»C•˜€ˆ€rv5©×T¬Ÿ!è†Dm„úýdÿ0l|€“'éµcî?l¬þêËôçª8Úàˆ‡H&°Å€MàxP?ìdC!¡Œqyz¨- =P·-®^ç§C-•Š­Þåóެ8÷Ø@D€´0ÅØ@@làí•ÐÙ7××?Á‰îHÂȵÀ·h\NË¿%mïecÙ8V¦8}àˆ5 kÿÌ��ý8»°Œê4‡ˆ,†º-Äúâ~Cº7Íø$À£Aÿ ú‡|ðMû ܼywývš  Œõo5cA¤b,ÚŸJÀÃþEÖ¶‡²`p�QûFÜ l$yÛÍÿïÅk\ï¼òéAå'`0upú4ÕÉÁÇà[o@=ë}Þ)¼€3)ÉÌ,Ej­Àßj?Q°¼e#³ã½°Ã�b½”0€-cþ§  µ ê˜ðtŽФs¡{ÇE(¸n•ÀzðN�äÇ�ýx¬ Àü~\h#* bñ}£È±ì‹ $0³ÚÌÁV°Z…üñ¼žL‹à H�¤ £ì!09>3Y¿xÑ Zu¥£�¬uPèѾóìhGV„½�"F�--ißÀ¥z8 ®_Ø 6'ÐǾŠò½4.rî3CÝ�ú~“濚36zOØ\à§Q«Åø8‡`«†¹:Lð à'Š™C82á¸H]*�•*ÃÏçŸøÜq¬õõä/ �8�÷oéblàB© ¬^`¡ÆÇÃ`ò"ã.hr–ë òhƒYųMðLHøyÏí{´ÛŒckJ¾X2ПUéÛ×Þ1J'®�€õQ‰Ó’âôN óðM â&ylú?@  ê‡u ©5êR¬ /È\a 5(º?ÛO7ýÀVöÔ´ê³9ŸÛ…øå`¶`]”OY '!tÖa,1ñ1@<Y`öŒ@RØ”(ÅÚ?¢¹ÿ#àîkH´¤zÐŒo°8y¤¿¾.ûߤRþå#ïí¹rûìºZ~˜ß¶·ØÍ¼ÛÿûÃYuĽ•{�Cpîß{7@ç­äÜä�â3$=M  Èÿ&öåðãå‘ -¨±M @[ æ÷™ãÐö·¹Ù5Ä-|'±vòH,E·/ZÁ”Dá�;–ÃÍ$÷k<ÏEð$À¾<jý·w?.¤¾Ÿä‘j…,¼ç†Bº¤ÁS -<úUqð·ŒÐˆóàÊÉBO~†O·§Ï@Æóx~òâÌ̤‰ˆñq-=½½=Î÷ö1cp"PpNbæò‰ UÀåÞÞ¢ä .`wÛ»�ôôö�˜$OÃP/ȇ�f|‚¦>2£ß¡H€]Žñ -*eq|æ¢K?ñ0Âù°è§ôQûćå? ‚þasˆ>n10ŠŒp<4ÚŽ2Nñ¨nédN“s“Å‹˜œävy4&]'û¢�XeBÂÏ{.èúYäaG ÇGo¢óHŒ�½ýöÛ`xšõP7W@ü##®²qínÌϳñf1¾o.c”±‘•›’Å÷ˆ˜ô1qækQôïàœfÿ£F)/B gTYXËeQs çÊÃåáT�:žA�¨÷͘�é˜äB -ç.§{Ó{a—Ÿ©ÆcdFe‘[PMNÀ$Àvn­ºŠJŠ=ø¡KÒ¶bk8çWR -Àã ¾ -:wcžãÒ@@5 ÀCެGýÿîÉó¿Ãû`ŸØ»%ì(h�6>_à_ úc£~LólÝOR~÷Øqžïè&7§õîáÌ•\vöИ¥HÌ‚¾,zš¾T3J]ˆÔZÁéRðåMàZ(]+úï ô_vîçëû««ü!FhöÄÀ±N1,¨n˜Ý8_ÑÎøéxÇoxÃߺÛsTZwÏ Îý‚§Zõü¸�n£IµËôþ19Y+ô™øÍ£ -üêËäS�½+œëƒÜ‹½…�orøŸ qjLO^,ŠümÜ|ž€7QããBo,ÇUn bîâðÁ Kð}Ðûr”™9q<–¤aQ(`tzî—AqzrüüL¾÷|äÜ&7e†Å!ãz2“,1¯ÅÏÞŸœ�ò¿HtLìàA¤,†8Ň GÙ‘ˆ„ï‰�†Ÿ4À‡Ö(ÁµLo>ÔdàïK~3ÁÇÞX¾1hß9´ Å àò"ò‘9¯µ™ps+ ƒ=yw²¸9??CðY>“|�N8 믋ì©?Ifd:Û¢t(NòÑ8½x‘ ˜ ¦¹¸�/ööf.„Åó‘†@zò¥Ö±°ý \®Päg‚°˜Á9þ�ö­>ŠÁÒ£ì½Epîüã0äGÁëb1¬Ḭ́„=ä”Î"]$±[�.—Q8bÅöC-‘,Bí)/_˜}¹÷\±¦�"ÅÏd`€*…k€>h$nk�·Â=´¤=À`°Ë·zÀ= °³ h�z“þ�ÔoÝ’€ÄÏ(jÂl=ù|­Bç©T둌ýhãî�•,Ê»!¢}ð¼Ñ½V“/Ì´4ÜüwÀÊeÿ—«Á>G¾­À&ÏV–ªr ÐG�7Ô¦¨ŒPƒñ‘¿Ãfú1FI Öfª¬´_•—½ñÝ0 õ€½´jTst3@p°´áá#ý¼B®Zþ¨Ê&€¬ªE§/k'8á-{ܼù¤J@�  ¿Fœt"®5ý+*@_}Gx< Y×ÖÑà <È$® -vâm$8}úÛ–Öƒ Ù‘O�ß<üúEbWËLvÂi½{à“³Ë]b" ÐÂÐø®c`¿ÇV°_ŽÁOü0±�³ñÿèH{Ú -ð~<©û¿ud ƒò §~Š€×vóhtÍÆ�Ó�Ó‹eðÒó–]…6f� ÿ(í=ûаÁ€«KKm@ª[Œö�üß{®–ò™¯ý 0Õù<™-¬Õja©x¹¾ÇæäÅÚß é¹þ`°Ï#Õ�ÊõP¿yð?Ö.‹&í\.NÏz‘êŠlåâ…ñ"ʤU²Ëx],ÎÍÿ¼ö7µz-,žz%“ßë\!ó-œV(^(Ú》ù‹<5“»gòçò¤W–cr2“éíË—°Ê3郀&¸È’O³xA(j½È g)Î,œÏ�Ó°$Ô+, N0ª®„¥^œÝsÇ‘‚w&œãYr~Ú°öù|ýq½NýÄ’X*Ò»ÌÁJŽÕ|^ã:ÚÛ‡<'‚Y^¨`p’۠јX;5�o?ï¹ Û^X?@¯}[˜ýÿÎÊ;7ߟӨ·&˜ÿgIÿìS5<8 ª”±ß¬‹OŸc7iÁ*Î`”wF²c7M ´FÄõZÑkÓŽh]ošˆp`˪„ý��3j“ÊBuì (•M™Ý³ ÃjXeýÅ1@Ò0âÙFI‡S°߇/EV:@’7z0ß?É}˜‘ô8¨ND–• -® {f`ðäIÔy¹r5·º¼´¼Ä! G ºó8Ý;vöX¹yÓã¤ðõh$ÀØpûp7z#òÄ9š ñðžQq;Äýº•@$š´€çïì,cøñûSî~´Hã[cÿ.‘'a“pZïÆa©9Éÿøf»�  éK•é¯×"1ÒÍF–?Q°¼üj‡›ºÿ9Ú -ùþíÅ&5HÀZŽ™ÿôäÀüi@S @ÓGNÞ;–ÛxkŽŠI€4†ùÏ>« 9”5¬‰šUO@¤@³ —íç2¯ô e2C/÷ÂïçСC|>ý˽C/Ûa{ÊF{ -…s™Ì+/ãÈPfˆÇÁyç JÔ€m†pJA«}}8Ç‘?Ç|Îex–-…Þ=_x%Àu´ŽàbØ#ðâ|Ç /g^îý_°Cû ¥~YeîãûË@æ\Ïå S•<“祙, ì²â2qÉyg¸Ä‡,Œž£ÔÎá8Š>Š<Îôô ±Ä,ö+zç9C½¸:înen*îìQîâm*pp’Ûôüsº'¹?†ø†œÏWü=ÿæßxiüú¦RãüÛ_ÿÚ�„Ázíñ6Àh¬ÊþgϾõ[Ô)(Œ‹ÏqŽ9uú¬ܸ©�Éäp2ÊÙÊÍ;­ºóÁGïñl;@úÑ.À T1)Àÿé>®¦^à8{‹ Us9WÍ-äsÃ`fÔ¨0CÀ稲ú+dü~9ù& F -PÜŸÙ+¸+´»¤°­Nþ8JægÜBõÆú�­ YŽ÷˧#Æ0`±L€:ªZaK„ ’v„³=¡€D+€ÅB0Îß¿šý }M\§°�€â€6ÍÿÈ'‰FwÂȺ…ðbq¾5£µåþ:£ˆk¯¿Í‡jÓæ–74¨eåÃ}�üŸ> CÆê{ KÔÕXvöD É°ƒú äÐè5¬/Ý�øÉ$à' -q/€‘5˜é/O@m€¼ÿ’Q/@>ïÕ† êH¼…üéO�phËx«t¿tã¢uLIØ'”nb ýdøã4�äåøMÀ¹_ø�'&vŽ¥É�„¹{@.gL¼g€¥¿ V:ªê9þï9ÚsD c›¤GÂ#Sæ ™s£¤.ROD�PfÜQJ -«!wꕞžobv’ÛßøÚ¯ïltOB‡H¸Ï_ü–5Gü]ÒõàwX=ð6þo·X¹±B_>ÉŸ¸} ü/0xv5�BºúûÇÆzä‚ýùÊ‘St0àæÍõ; ÀÃõ•‘Á±›ë&Œ×çˆÝã¾[o­`þ3йße·ôGÝ"À€üýeØÝl@ý²XFUZ¦{ÕUYfL¿ØÛ:ïƒøY�‘ïAPb®S ÄõÛøŽÔ\£…ÆXŸ£êAeÉ‚¨LµXYe€jkóHìQ¸`G Àí›÷6èˆ=Þ‘ €}²ùS€Ø°SàdÌ<ɵ%Ò^~Áø+ý'Ó_·D»N< 9Ð÷¤ûÓº2Œ©?FRNëÝ#æ°ÆÌ¯:FÛqZx„ô·Jî7ú¯,¶8…¿£~¢§âp@:Ú¢'@{ â•ð&€µU5´õ¸H«,»›ÿþE~�·J÷KeŽÖµÝ€Ý+þ'Œÿç?§KÀ¢“?ñ±'&Ò � - ë¢¶/„…¡W2æÔ·€oÃb©X¼ü)ŽÍýp.œ«×C Ä4¥"Xo4SºR’¯ü -›ÂÃÍííºžÐÏ]a oa9A� åAX§=¸ÀVò |¼U{Þ¯ÜÈ\k[OæÃ™V X8“A’RÌáKÄr²m¡”BÙ.Qº 4æ/\(L — …|±8[G‰pÝúc>/™ÖgP>�tȾ`qŒA1˜‚æ­_lêÑÂl¾@�¸”ÅÑ¿Åêt0½²a –._¾Ö¶ë�™Ù¢è÷k[[(BX PòÒÄ·Xr|ä0ønÉ - XP êÓ€¯ö„˵OÀª³“Üî €”KºmóÅÝ€ŸòÜ·GøÅÅûNÿ€ùZÏפ(×Éîm×n\{çÚÛX1Üûƒ0À䃃¤~ƒ±?Ð# ‡¸Q í�„à�‘ìÈÍ;bp‡ó;_Îú~PëZõWäÐËx?‰gUîP?æW†Ý�à †¹e:€u¸JÏ*Œ‘éÖdÐ:Ìê ‡r'À2sÈ =¥Ï+g‡1«†çɨ6«¹ùØVÀч*åêòêò2+¢*dˆÀ¤�áT É Ãüù½€ÀÙ{¬€îxwýÞþ7ú·3î7Aäq|õÆ é¸i€.pöß!§y9´`§ÔÓ§¡¢}z×J;8­wÜd}í�e*ß¶ÿ)ŠIòi­E ~kMüo$àûž= ¸h¦ÿ]ƒMDÞ!áHÅ óF€Ž¢Üü÷ÒM¼[ºeöî똒ð�H0@€AÜßö1É;“í=€ôÿîRÛ&€$âj…ä·glÎ -Šé .PÀ�ú³�… AæWK—‹C³Wx†Êû˜Ïå�™�‚AÀÅËÁ|0T˜ ŠW‚I°¨2'÷]E/iw|)°ù�»¤3.CÛý0‹£\e´À… ½#�Ãdç¾R…µÂ9®#“Zb ÏB9µ‹Å‹LŽÕB/c.ÁôÌL°ÉG -ãCxÉšP›g -xŸG�  -ŠÐ3ÁEÆ61Íàô·Ç è@¨èŒOÃW -8�ÉÛã* îc1¯g-í;‡CÊ+Üš 'e(ã$·;¾áìšÌî¯ûªãùs¿À €4¾æüŸ*ä×ë@ŠZ‡µßnS¾aÿó�@äÿ›¨ç`ïœþ)€â®vƒ[tP€S6¨F`P’ÁAãÎõ§G/Û§E<Û{âÓº ëþWÝ+R PæãXÀ¾Ù\¥:\YVÁ,;æø˜À¨"@ì4˜þÞõ P~´`4ÈcLˆUšBU>1�›Î^Jªb�œQÉÁüZ4K„€\”�áDŸD%¥ x[ -Àì/€Gxðpý]sx7ÀŒÿ!5Ó¦f‘´ÖÒpߤނ°ñŠÁ½:®TÊ¢á¶"RÇ*›ÿiëÛs„¢ý¯Údæ˜ä , –à´Þ=œ·’sÒ@àæÿÉ“øÒ"ú'…‹M;©ß@ -ÝÅ€3�-?‘àøU#šø…ío1ÝöˆÈŸ*@¦?%]­<|eEþ¯™ §²ànþ-=,pô·Qá¹+å ‚ÏÉl@óLOEð¯Ó@w¼þH!Õ½yö©j…Â}V£€ ÚÔ†Iš·0µQ8÷ŠÈö"xpºÆ0@ð)$bð,·Cj$a„¹;Æd¼Jõ5¬’ë…—‹óŒštÑZŽ‹¿{@4¥ È ªG˜�_ˆñ˜9ûëMb��T(ZÉ!8¦ƒù™é™iPº¸œº€%§(¢Ø3VN.¯ÈU@+\³g§€í Cʏä*‘VÔ‘èãÓ�p[yŒdk–-ÝÇì$ݯÔìnøZÏ`ý¸Jª0_ï‹þà@‰¶Æ¿7WøŒ@=-Xph -ö?ŸÛ"8û. -z¤p¾Ø%ò¼;’¹q«¢ôè•ä÷¦>Ç{¢WD÷Fþi°? P‘Ñ.{©ÌÖüíË옭.–Q߀ŸÕ -Àª•Öj�¨âe5ΗâøéÝ·n€ñO��sK$\ÌUé[0>G]Žê  0õ5ì@e8Ë!˜ûrµ -€úŠUKÀËtF%úOóŸô?†�àöM|#nÁ3p]@Û�<€zMØáHšÿ@·rÖõR{D÷Z´uÁ$û/ÂÌGÑx}3~6’Dú„ïÁg…¡b+(·Ë¦ódë˜ç臔Vv„¹×J -\ØCÀ7ÔÎÞÀ×H·Ò¾ƒcsKô|íkXC¨ä�ˆ”ÁÁ  ˆæÛ-®­\{÷æÍwn^»ã¸MF¿C&àð­g §ÿÈWÅ×(FnŒ228òÎúÆ£¿ÀôÓÄ+ù†Et Úõn{“lý<@/¯Jö„2j ÐÏÇð-£î)£.c_¼Å -kžEð¶š-/ÊX¨@  nS…†¥*$VË°Ìø|{B ŸÐÏ�ÿM`BJ²<*à\Õ¼ÿ°û‘3ß«0R¨!¨Dø0@^€W'0›"”²ã´2¶Rq¢o@ V+¨!ä P@x} À•Ûæ éióŸÞ�˜–³Ùñ q.’l.êQ7CÉÛ‰+4 À^Þ/•�ýãº6IþÝò<¨4§�Ö»‡óVrnò¸ùTâ€&€ïÔ~3œRà7nôß! zÔ¿à'Œ¤ž¬äFP0¡Éüÿ3ï~¦ ú·Ey•–4pK &€äÔÎ1,kƒö+ 8÷ ¹²Ç°/@JxÚ׈î<ö€%>¨Ë^¨ -"�l÷2ƒòΜ#W€¯‚ÿ3ùsrh¼ÁÌö ùñóÅÚ¹L4ŽM@'ºÃzûk5¬ÍM„Á$fN¼ -Ž+£‹™È|ô8¤}@IìBZÔ@Õ¸t!¶ó…ñÈ«�›A0Ê6ýˆíÕ6P(\È"¹Ð2üÝb±^*�¦iésÌË@V–àñl¦NuŒ²‡rF‡y®È _æ;<¯>1Ä’SÐè×!,ý¡ztàQ= -ˆŠa8Ñ;ÄÉInw|#²ö±Ýöàõõ¯ƒˆÉÿ’`⃢ÜÝ€ë|W—ú  �Ð*øŸ/m˜@½ÚÐ?±‚×�„àÖ­{Š`åÚOiÎÙÙŸè�ýpêêeTÝR`�XÜXhߘ~¿ýôÏ|«?å¶$ÀŸG)¢É)ß–I)€u)V5{›Ë¨hÀÕþãlég}Pέ‚za11 < ;¼8’…ýF5€z–Kn8ZDȆOýŸ$ÿÓÀ‰‘8Ÿu|Vãú`ƒÖ=-ÿÊbUn~Öíj@n eT© à2EU´ÂXe³S} ¹ÎF -àÝ È¢Àðl葆K{°*% ¤×Ýëco¾ô_ChD'k�&yJÏ Å74VHíbj*zhèSaˆíé$pMDü/�€•‡�Ö»î20‰eûc*I€«iС€XT`Ï&²(ü£Dió¿Ø¤ð ,f¤ø}ʈ€V1”æÀÒ�·�ÀtÏDü|E+)ØGÔMË•ýÇiø`= °�ÔÞ�بÒgƒ„µÜ/f2¢3zèÐý(Ì$€�|šžÈOLCØÑ5�J̘ÿ?W’ ¥)Âú• ‡Þ�ù3™Ø^ÃîLQ�P£A±8…½X¡Aç©üÒ;0"ç1ôÅÌP!ˆ”�³þXàã–Ê€+ù …âýDɧàîÒù$ûüS�Pl•œƒë02(ùÅbÉB#ñ ŋµâPðéîbC«à^Èç¿u<â„50(@–ñ¯“Üî�’W©À¸X#ÁÊþýâí ä–EÒƒìÿµo@†€ö¹¥7lÐ/À4'ÚãmºÿoøÀ'ßa4ì -?gÓ??g…u½ø?j8Mž Y¹q{å¬yþüÏÁâúŸÅolˆwjû/þâÏþâÏ~ïµÉÙ¿M6P· f�ÝõÌ1~#P†�Åflí¯Epþ0jT9`ïÜj67°€äà ¨ÄÔ~¿€ - õ?ÿG¼H ÐÏ΂^Õ‘Å+¬€¡$ÌÔ¹Šš ×Áµ¬¡¹¢VÏê"PUÄó KvC…�Ç]i–ŒK(€1víkò˜¸ þx�üÚ¯Âa Þ]¿C–�Aó?Éÿl€m9af ¼–`dþÔE„CóÄlïÆüßé±·MlÙÏÇN²Wôpàè!A±=Ï7_<^U - Ž�l}ˆ­²wT«öÂð×Âi½{D¼•˜ÛÆìæØüâx°³@*±?•ÁY0þF*ô°@‹�”w?Qˆíy¬ ÀÚyöØ Àʪ[æS´žo–ý7øW†�aà=þ¾s$ÀÄ�I=åp1×nËËÁ|É@áxßÑßP €†µ·†uR´“86.æ ù <— BPglûGÍè$6aæi˜)Õƒi‹qÝsÙS3DÙ¿Q,¾!ÿ�f‚ÇÎä~ù‰€DB¶4@o!$Õ'Lþ¸íׂýNÉAª¾L·@@Ñ~*Yäÿ (Ѳÿ,-Ì™^aŒŸ{/Ì@„ÁÌäJÌ;†�?�Q•¶Šîzð€þý©¿ß:Þ×÷Ò±¾ãùb ŸV·©ðÊ''¹ÝA>5ê'×’x &Œþ¿H` -„‘/B…ð7‡§68³·Çô·Gû ·aÑ߃)Ï¿êà€ªPÀØ^ÏWaN  ·#§Î¾s“Ϙ§àÞíTÀ+àž?û³¿|ô§öè/+þ›ŸëÜúéŸbõ§ØûS¶úÛ>9˧58XÓ¨révf~ÓµQ•-´¨(X£VÈÒBÏU9 ÞQ�açÀƒTAò¨/@Eùðñ€ ÿM¨€!9ÆâV)ÈbñêU\c - S‡F>2d?€~zX5ÒnAH FÄžæR7ÏàëÊJ -ÆØ,ÀÑó\¨oÄâòD -@,wýÆ�r í==(ñD@;Ñé ÍÎŽõ`r[’ŽišÓR7§a†; ä@ªAÆ”>lü�ù”&Sñ9_=¬›Ê OöOþòUföÛ -$€æ³ƒ/¼¨©{àFóV'—ÝÄìðüA4©:Ò³^•ÅìÞcØÿŸ)”(H ÐÖ@ö�4À²ˆß¦ÔH€©€È’\ý/´Šˆî‹­\O¥�4dù >€i€ƒôïêy€é&€ä�I -€” Wå‚tµØu ›·˜ÉLÉ0ÍÕ<w2Ù'�³ âp43;Çô†À‰¶2>™-ÕgBEØ�Üñ633Ï {#R:Ø•·¶€R1¸|™�õæHOÃÙÝ=qÜ G(êeà0Qœp»;6¿Uìâ$>â Ë@v' ØgAþ$P.q}¸Y+Ll±äܧ l-ˆµ�E;Zæ?4�@ ,¾ÆûÈ�Ž3|HÁÑc}çñ1©[&ƒž{E£9Éíê׿A‡;Íìˆc{Œý}ÓÓ>oØÅHö¿®+£^ oˆpxòg„3{;Ðû¿róú-ÛbTßûë7ø<`S�± -�Måý0}å+/¾øÂ‘ÓcqÀ½›ôP€Ôÿü§ t,ø¢“ÿ/ííϱƒlor`ƒÉ´ÏN0ú7ºonÐ6f¯cRõtÇ%ênÔØ~Ç&€2­t:dÁêôØ`½07¨@æ 8 ¤Ï]솲¹Žå‹ª -ܯùEŠ{¸_Î:"%+ÉÜry ¬~À› qG6|œ`$ª`‰9‚:¬®¶3lý•‘•¾5Iõà—Æw�™<›Ÿ5˜ ¡o�þo Ú•„Ñ¿ÜÿÄ¢Þ� Ù·÷ÇÖ~„´ì´Þx“->S$ù -É®#ƒT¼†¢üd÷«‘?ö´ƒÓz÷°ßLjî@"£M½Ó°ƒú JNÒ?ùjÒX� =Åȶ�ÀAzð[ÅoÔÓ�àÿ\Ê�"67þõª’ù€øßÍ öà…ßœ� -€¬Ê»ù4yʸU˜T`Þ·èöq_ööÍÁÿIƒm¤@ãØèÀ)ý:xÊeã¦n1;4Ä^y૾£=z� `#¸¬i$;µ�F;ú±XÔÎ fØÕÏ‘˜©×Gƒ'ó|f€©C±ª66ƒ˜Ïo¼áÛ¸Àe(è€ÑLI­æ¶�œì1Ü›OŒ“ZƒÞžDW…HE6G‘xFt>SX*Õ Àÿ±öàšoð„[…âŠJåbŸˆŸ4*ùô&ÖPRuØ€m, -C*ùÅà�b£ùAåÌçc �QZqÏjùW¾‰©{)M°¾ñÿ�oD~‡'}Þð«¤{Bì`ÛKFxòg„{Àþ¿Öˆ¸yëöíõ»®¯èI€�æ³ÿ¨•Åÿ”ïPÈÀÞƒò -îçÒV"D[ÑÛ†.¸ŽWLùù§E€o¨2aÏûî–¬»­ uŸ [ Ô0e˜ï¨¸‚wµþW‡QÓaÌ #,*2Aý ~¶¼¨²k^ -T2têÓöÏ]}my‘@gb!P@ÀâÑHUò�<ÀcdˆNó -ùì¿b+$ûFðKúÀCðø˜ü´ÿSdtÒÿ�=ziÅò‚ìç®ÑþÇË)}74)ÂÙÀaüŽdÊsáZÀVÛ‚Ùÿ‡Ùä¤üc·¥_lôb¯À){6‘Ái½{ð{ i5–»Ä�ý±H €]zH$=I «6à'̺Ìn€ •80EÿDÒÎ�Z„³¿¦e ÔX€«ø±Š-‰räþ'èpúoíHÛÔ,* ¯’qÝî`êÓ¸�€ÿ<ÞPÜU¼y.„ŠkèÖ€‚EH>¨moš={SÅÙÌÇø€ñ†Ëý :îå¢ -tÌ×ÙRBŸ³â|P¥øÒÔPÛ.Ô¶jsΛ´¹I£,+:œað&mt¨x±X�ŠŽ�´y�˜ý"A{!`%GR–|†E}ƒ=Kþ Æ1” p)fÂ]@\ÐóP' <‰�¦^èíý&&'¹n Nm0~cÍ"îOúœáK€JÇS?+œÚ;aåæÛ·×µÆzVhL6FoT¨¨‡ûèàérçæ -ègåæ]Sû†Õ-Z6ඪ”lž.–¬»Oö÷søñì*îʰºÝÑ÷^FÕE �&;Þä^P ŸU¿Ü�Wy€ô  Þ§x�+'Éÿ¬ä��•Œ<Öóô(îO ª™C?›!˜žêCƒW`¬‚üÌ«õœéË`>¸‘¿à>PäÈÊí»¸�ä~yìÅ ã4¨rÀ\ý†ÿÚOkžnühŽaŒ�‰À’æ;~<2ëO)¤Ä�’ȹÐ�‹ pæÇDpøEI�Sø)Ú˜ÔZ±=ìèá)8­wÜi}㉹C ™Œ„ºÓÐ �d`î‰ø<Õ^$<¬1¬ùŸ ИøEì5@@¨^ÿ¾b„¤à*xßíÿeü�ûò©”‹Ûÿò4]‹?R¿��ûˆ)Ý0{åÊtþã©6Ï…àŸÒ�ˆ¯)@âÚËI°¸lCr,€T€JïH €f@¹lÜÓBµä- ²ÿAal±6CX{ -yðl°],ð±€t£Ãô�ijO柂Ïù¤@Ð&T< -òähµfRà"Ï'¦È‹@p.ÃM7ÝÉüØÏ&ˆˆ÷qÌרµþhß¡¯ôé�…¶h°©Þ˜26æ:!?Ád½”ñ’3µë¥b[ˆ0÷ˉÒS•œÂBÀKNÀQƒ°‚Œ!˜”7óá=*Ñ0 ã¿Q@W?€lx à¢>)À+‚“\Wp^mFƒþ¿x�0÷©RÛU˜Û!Ú¿ù.;òu› -àîú�1¹“³Q[ª*Ü¢SGNŸ}çÆ-5<\¿ *ȲMYÔa¸CTQgï=b't­lÕZ�{ia�ê�îÓ´o[¾Ïë¥îÖ>™S¯}Ô¯¨V˜~F­%îGÅ< €Zˆ¶?k×J–ϰ*Áª2R4¸@–ÿäÔ|ñ"{à8½2 ik\…x­áÜGäN~ç@@$\a˜õ -ÃË)Œ¹×vøý³þ nvàZ °Â†¹Vnj {~¨Q]˜0ú�üÿ+c7n[«@Œý7D�Ñ|<Ç0öÇ2¹»`OàuKÀÓ¶Ù8Ïv4 �¤t‚Ê�z /Bø!z|*e~©ô¸–ˆ`¬¾à«à×�\&<`°¶12Ð »õ ñ 1Ò Á˜)À£ô%q$@m0 ‰fRŽAúgI9-¯ú“€8¥=‚4~q„DÀkqÌŽ…ê™Ò±š1iáwÐ fÐG4äÊøcâ¡8€ÄÝK–ºÉ�P?XòÔ@ÚPm× UZvzö¤Â3ìùx/€ãQƒ»øT¨-·²·§ -÷éGwâWÔÁ˜®^êá<‰ÓùK¼g„:q/Ÿ˜G§ŠA©Ä&Æð"¤~s“T·½�ñN�%ïLH\¤™s´%ŸÍ\�uÛ÷zg** CíÅZò)Çö¤c–Þ>ÈïÏÈw¡d,®FÏ ã¿0¤Ay•IH‚É7PvÏ�«àKòðÄ7p^8±Ç�€çÕNð”Ïv--L~ô0P­ÿï�0Šo)€7¯ß2)š¸ùáÆ:ìC>æóo;õŸÔš{ zÇÆ8 ý##nRF—ÜãBK›bhÕ¶{#êo�³ˆ–^'w™îÆ×jfT4ÀQP Ð_, ~-gY•Uø?œ•_›²Ï]€úû±Ê•OFîjgxM)Py Ï%Ô6Øð“³Š€ž@ºa¨¬2jiyœüÏŠy�•-^mfÚÿ2üAÿcZ‡;ÿ{,`Ê@·Dÿ†oûÛâ³ÿWV*ïÜæ­�¾²OðM$ø?’djÙþ6Çm;us#á -ð¤ñü}7Ù�ɢؗ Ü™Ø Xöx�æ£Ñ©ÉìJÂÞØjðÔYöS€^hâÿƒöà‹jĬ™@/~éF'„yvÂ=|uð$cRÀ2¯,ŒP‚ž-IÊ Ð1€@(WAÿö,`¬¤< þ¨൤@|ªÂ»ý¿Ã€¿ -®�û-´©õðu¿öÍ�º” � ™c)!:xìmG/ÝyG‡€U^©Nín*ne2³xœüß—Ï�›Q=y±ÄñbáAmº^*pü_ û;�ʼnDI¤:>Þ jóamnÞT€Lçy)®…óQr\ìY"ÿ³Y½04ÅÌp�Iõ׋ÙVÜ�‚�\ v°ïë+~µ'z¯Å@€DLîçštjA= ·py¼(Ta'ƒI,q–š1ÂùŸOLÌχ�çÃ9É –7¹ày(¹šÔj�â³äÅ‹x&ØxÁ�ƒœ6yaä´ßÍ•Ðþ`ö¬fk\EͪÊÕ€4À‘žß>{�çl|òhãÎ Ðhh…ý÷ñ{Šò Š€Ô>S´Ãw›ýmpà0ê9X«­+¬‰¨(¬âFµƒZk„ïÖÀ¢h-)úO*òx ÿ¤bNÒ§—Y¥##ž¡‹4ªB«È¹MÁ@?„€,w^�‘Šj²h3Àî7ßHŽ -�ì°22{>Ù°¨¿ÈúÇÛÝ»ßþ�GÙÿòˆî]ñ�ùm­=ÆÐ$ô­‹¿u4¢ðo‹÷ ß6Íà OÆV2î;­¼tØ ¬”M”W3x½þýòÿ Ïìà·¡/*Z&cð=5<‘Ü’{í�ö{0$€5ÿ�,ä* ü�yŠæ§%I™¿ëFÿ(+–ì`øþj"`)áx+Š4ùéIPpûÍ1¼ˆ~غuvû´ž„}FÜ´«¸7ü|øeã�=pbè/dÀß)¡ºóHìÒ  ) yŸ$öàøqfTÏé)‚¥Ž±³š;Õ§#ÇøÅé 4S -ÀÒäà°ê¤r>‡~o�^ ÌÅ?÷d³€ù775о±çÞ Æî(ú›ü ÿ™¹šu àYbŠì˜-)€BaAøè„IzüÇÕ€þ -yTH�x0ÄÉI®;8±¶…'û‚àm YxºgI½ýl -àF´²Î&˜Žt˜ ›ýmU«”§alÑh@òœ:}vìÚ-Øüë7Æ„þîmcòý¡Lj'»Ý7[ÿvDû°Ð€ü»Íö†Ê›/ªUéjĵ/ëqÔF‹•�œˆƒ°ÂT)ðM©Õ�üЈ‚ä{æ p˜äÌÊ2j2Àµxyö¾Õ0÷UG«*ÄI¬÷²fÅ)]H`LƒW›y˜&? 5h3±à׆åú6ÜYß 0þçâÛßþ�o ‘ý?R¹a á´‰›ÿ0‚ŽçÀ̢쭷$ì±ÇÓ´2ò—¹ªŸ6<9œ`2¾;—kÝ·ØÓ° t$;+ªÏIÀi½{ðëhšqó#àûkÄ$=à‘¥€„vR?AéŸüß¶@ûŽ 8Câ¨wH -�¤B°ó FÿRå*ƒåHy—Êi@Æ­,½Ûÿ-<~ïì¾%Ö½hBdþæà#y_ -€Þ9þˆ¾Ftç¨òóìÒ `±Ü °Š-»E‚ €®@x&S›Õè6}¿Éñê�c]Dj“æ¯çs벞iËã=bZt kþI}ôþf-œÙª…ósð&h?œ{m@ÀìÑÏêÛôÕ¢op)BW -Á{õ“晳0T$Š8Í_©é„^8àqðMò;7¬)„TÆìUðHƒÁ®@Ú`×à3±ÉÃfü§ÀÕÍÙoØaÔo2`Ô¯A€¾¿Ðð,•�ÿ¥ÄÿQ#@K@S €ß;NZøzâãx€©Ü=þü†³” ýt CS @¢¸åe_içÈê»N³aaÄT &IS}ä0ÂYÉÓw>_ ƒÂÖ÷2DNoÚ�–íçõÍí ÔææÂùí'›µ¨ôqmsÞÖÐjŽe^›oÒ"¿2+ý”F¡«´º8`“ -þ‹–î—2ùb�´ËÄ5°´¥bÞXZ‘t&¬ýih� SÓ£�ÙmKÒº0�ƒ x¼ùô -=ÀÖ“º -\›¯Õj�Ur¨(€ÇÌ=ÜäþÙ+¸ÀoÞìD&Yr`žÔ`BÀxžÈŸ×}œ�Ø�`؇é61¯ùâá×O¢Éà ›°×"¯ß¾ÝaŽ‚¸Jþ‡X¿ÇÖã•Ô½‘58«V‚m=|$€\=ô@|°ñ‰žÌ&€w×ïìÔþª[TÃ4@�Úç^/ï -r4-wP¯èœÕ*k™Êð¢†ø¡P}¥ª‹ýý¹“‹¬$€NÀFŠÊQg!2>üâaúÌÑ@�ãaçÓ' ¾�ù.°®3ÉÀ ¼èCPѰàÚnðq€Lp�oÞ'@€ƒ1C¬(°)Òÿ:Í÷˜@FïÞ¸}ó.S6‚0äh–δ>;¸&æ‚æ·§‹E� U’Sgù|^¼…³¥Biû¿üòéöÖv½nu ö„^o¼oÕ@²Á¨Ñè\ýq­µP{²¹¹ ¾ßÚÚúü—¿ü¯¿üå/þëÖO¾rŸLÔê[ ÿK££—ê³%\£ÆcA)T À 5Ðåçjõ€6>¨‡÷ÃzáL¦„"âäÚ•éû¼ )¶ÆÓë|X?χ¼˜æ©³(Üì™ÒÖÓ§¿ýs»¸a~ åÅ„’‡X+@ëÓaødóñ&ÂüÖæfíñææg(úßÿý/ù÷O¹�ëéJ(yéǵíZX*ÎjWJ(º•\Ïþ/) AÀq>´w¥ö´v¿VÛO@+Î�ÚòY°�óíê�à û-£‡û·í~0Òp{}ýáÆÆÝc9y €A]°Ô�ƒöœ&ÿ߂ظsse$Kcô�[Îû�þùbwcøfë[é]4ŒwŸŒ^EÑÃ4ôÒ‡Zµ¢WÑ´»¢Ç $Þ·ú‹ GŸïbðÁöbw~Ž^£'ô³–ÎÛsnÒ± û>qËvq¯mQ ´�dôÓÀ&Ùÿcê@2WàˆZanÜ¢Gf½Ñ?±¾þ˜ÿ±@ -àÝ7Þ½ysãC�þq× 6Ãøj {'[ÎFð§¹f$Œßµ¿AЄ‘½íäšìÅŠÓs?x*18_6@H�žÆö“Ú’?èÙêò˜G8X5¥ÇJÃY}à—Mòj,ÛǤ=Iкp"QQuϽ4 X¦‡ÁÍöPRC[À‰Ÿô�âæØ *€†`‘ÝãF€¨@2@IH³�bì–Eoo¶’ðO‰»ÆÝÀà0‡Æγ’€ì><É^ �ÔF‹ÝxråB˜}u¨¤•s/÷êíËd2ùÑs™Â¹B!_€6à[JÁ諰اؾ¥ÂÄ¥‰ÂÄ^¥âD¡B,€åгS¯î_†¥;Q -¦¹÷KSHn ©<¢PDæç2¼Àèèè™oB]ÄÃ�„½GûF ¥B¦÷è¡C½”/8óÍK…Q®ÈåÀv €gN42P¸o–fu}¤½4�d¥K,9?KŽÕÙÙ¡ÑÙY|”œÉPôFÉé×ÿ.(œç-ͨh(ùè7‘A\ÊÑs,yþî%Ð÷òË/í9tôe/)€’¼úÍ¡o¾º7RtbMÃw{’ýa§ë¢»À“ -ÍÛ]é¾5< -0á¸m1ý|²Ýs*Öƒ0¶"$€8býæÊÙì¸à�gi0íïõ‹3}³ð…ï&{î>‘ZOê�<ŽÓÆíÕ u[ëÙü^Žë+Öá(�UdD¶«^,€ -—ïn àéÖ¸�ȪÙ1Íð@¶0*·(S*A² Í’Ñÿà{=2@- ð 6¿p$€ÀúòüÞ{ýõ¤ -àŸ¸~—Ô§áh-œi}vpÃÞœóñÑ›6®Å -€ùc²CLíI•G¼›[ À zà~vfùcæ¶+ž`%€&ÅnkHiú^ÜÿDD^‰9ñýðëlÄà7DK–/ðHR¤lï‘€¯ÅjÂ�M €¶1Œ[áÓ?‚£»ÅØiyÄÿW¯f—¯«€öº€J0 jè 62Þ/.œù¹Æ�xËä3!¿rX„ƒôXó¿÷hãXìÊ�Ë�œwAa¼¶Ígz:ÚÛ Ê:ç\¾"Ïe2gø:s†\‡å™ÌhÔoÜ'œÃÞsg2àC±")ý\áÒ¥b¡ð{¯œ!'*Gx2gF‡ -ß‚ýf(3šâÎsÈä .IC™3ñ2×PÊ^8Äçz)ÏÔ*š ¿W˜ø=H€K¥¡o"GB&ÈõLt1”œÔ¯u|(|"ÆU3XZ›¸„4—ôáµËOÀ]âUìÈ 0ôMÃù¸K(ó¬Ì¯¼ÜÛÛÓÛÓÃ2÷ô"ÑÐTsãµÎ9É%A¦lÕv(B”ÒÞöĮͩ۞Ý.gíoƒF­´Ýî*!†o -€”àæ:V7B¼;F»ßñÛQµšð|�y>X¿6ºÁ­}N6$z%—¢|‚lŸÚg\zÕ¼+ú‹„iÞƒžåZE­ƒ:Ž;$DÚÒXµ°½rnG¹Ko¦«ÀØ»ÿ$ÉœU€3¸&»K!„¬½™7UEäËîÏö›´â1žÈ÷A­íEÿ‘þ ÀÜ2g7èP+ ÀO!6îÞa+€I€÷ÞûÎëIÀ·o¬¬Ü¸}oöÿÆwß_¿ç^lk)Óúl8ÝØE%ài76 ¤~){#�7À}–„oÔÌy¸@œ.Ë«òЀ´‚)ÁfÁ•$DéÀï(} ^à‘¤hôHBéi; DŒ¦µÿSn`“‡÷°$ê'ÊW³ -ÔX@I@ù-3ÿ¹Hx^ë.Ào&»s\h+û”TòЀO¹Ÿ€ÆÕr%þM½ÚxºŠà(7~'°Yšn~àb__ß·.—'/w8 k+³Á,Ö‘Î<ñxÕî×·j÷¹ßÅîÙ໳X̆u¤gž8Tû¬V«ÿ¢´U«×�ò»µ�ös­¾µ½õôÿU¯ãâS«3о8 Veû~ ÙÓÒ\›{ö»Á,»ø»Ù2óZ�9z(Ïnz¼L^ fkµYvJD‘ï׿Ã:>Ól8û)”î£t³³áýÙà>?VYòðÓíZ¨Ï£�‚B3K~ŸYNóApÿÉf­þ´pŸý+¼7ø<(y}û?o?ÝbÉ?­}j%‡~*±B)”à äÛXѳƒéã(ä¿•Ï\Èkõû¥©©mQ%Ÿ -'¹Œ)ßNÂ�8š7»Gsòö§óH‹CÚ­¾–Bœ‚+m·¹Hg8±·,D¾Ñ ,oßæ¸>êÕ?À~šQ—Ò¶RKpÄ»Zc>¸µÂaÆFø(º}Ãÿx•rƒá“´ï[é]Ý)ZÝâÿaÆå¡ÞÄŸÛêVî°ŠŠ´Lþ¶mT½Ú¶c jÖ7af=[ôaÒb+Ë&Ê¡â_X®–G–+«ÕÊG#(ê>Áõ& ¼È£†ZE%U]ås ñ¡pby¹(�ö€…‚4€ÖìÅZá€À`Å Æøpƒö¿$À{Àw^Oz¾}ãtÁÆÝ�>Øxýý¨à½{¶/¼`¶¿Í޳cߎ$€C$l”îà±¾vJ r¸Â8Iœ”‡,KÌØkx4‰üù,ÂØÀSuyF˜X@©‡súž ï;=7<üEÄ1ØÑÐLþDì %›Ò m LÙÿ˜±å1ôhEè`>R¯ž q€›<Šð€�•Ü�æHô³ÃçÅõÞ4®Ù­Ôߨj&Véûvð4Öé¨8ýÓÐ8#íXNöhãè.€Ú],ß›52é´8ž?1Îò™yPw8=?¿ -`²’'ɘÛ~ÖÉŠli¯Í1òo6¼‚½X™Q‹|øÃÇ`ÎùÍúöçOë³µmì®ÕןÔ7Ùv.�RáGŸ­Mœ ~²0 e²4²¾΂թB�W›û.‡ôËœË/ͳs3á|™\,Qb|”ÇxÕN‘ðßÿ°T€.A‰ÀßÐ(”ÞgVá›,ù½S dÅx¾¶É’ÏáÊoÎÏÕ~ñùv½>%ïS³Ä%Ç›ú(Œ0ê¥L†-ûÿQJ -Eçk›’0ÀÅ´pAc,å‹¥íBñ³zí±_7t’KÀ˜’ð ø�–ð$;�<­Eûš·w Ý�ô^¥J!y¦V´Ù2«]ñn'° `§€ûÝ[_1“Ëæ†mEþ�‡Hz¸22öî­„I¿·Éÿw´ÄíÆô)`öŠv›=Ö¨…â‡÷[]αyÜ*{ŸœŽú–ñ}¨uQs¹]½�†]ÿ¨$bÏ¿€t ˜¡YF²UÔ­XEí^­¬V²ÜÉbbKí§|«Ž öá3ˆ°;*UèÔ¦´zXAvÀ -ÿÍå_á^rØ`À##c7ï>úé#»øŸÓ�þX -à;ôüo¢ÿÿí'?¹ûá‡ë¸ëê%ÈàÞûëwÒÏÄŒF¶œ�¶¹Aö¥$à6@?��˜Ö ؤÀõí —JÉôz—áïya{`ÿÛ‹¿B’¿ò°àwÉÄIòöîÿPéó O,1ü†â/ÿ1ä¢Ý{à+Æ�€ -Iö쨂ÍþgK™ù/9Û@G'"kO$°LyÄýÄ[ø_4EÖ³ðþ·S @"Ì^Šºqë¢ .“ÀG¤bäT˜Ž€† púïäð&b_1±FÁՇ˹¹ÎÙ¿�d4YÌ?Á@vðàûðJf‚†2Q -¦ÀtìD7=;s%˜ƒq²4ÁîõX/M[xýÌ4¦Íù­ÍÒw댊7÷´ °'ÝýâhÁÕoQsâÎ’Qd(>0¨ÈGëåóµÞb½6Cè1çóùIŽ3Ì©ëÞ4/Wµ‹�‰/—J”,­ éÏ0?Biõé°Í•’´�È=ŸÌo~>QÚÖÑ €Ö`Â8¼@P›-)LQýŠEöxã3'`üÔ �#RõÂÄÓ'¼ˆÝ|'¹œ)cøn@¶³<Ñøa�Vô#�&�äÞx­]¢MG,-Ñ”…o †ˆµÅíØ`Ñ·(>z¸þîHÃÀnÚ§8m±„0 ±ÿn­ "ûŒÜ`Èùþ¦¨„X÷8€dû„ 0  �Ãn’u³Gö;ÁáøPïPòèÓ`}÷Qe�°ƒ-Vñú ‰Dr%hhÚ~F­C[døè@¥\Í‚ÔYÐÜuÐûÂÂp¹º*C£J@eö¦\ù:6F�"ˇâ#¬VQåFèki? �ÈúÑGì8¦r À³gWnÒ…£–ýHüäGï½ ðúwDþÀ�~Ü»Ë/îƒõ÷ß_b€øàÞúÆ�f€S#%ù67 `¤n&~:Dr×Þbò6XêFØ ó¥ 8}úÛýæà/Žo =�妓Q–ãcHÿLƒe¶^€{"­ôÜäˆb"€è _rÌG c°f/€yÀ>¢Ñö u @…Áÿfÿ+{6/@J$X®Á£@Ô À=¤ h5 Z|9LÈ»vzp³ü¦IÆØšý"äx»LРXZÜÙ&@ƒƒ³|šf„”@í.†&@½›<‰/*!h”sê{×°{ççækó ­ü (€óÞPÝÃàLÌG¯6ùm*x îMÒÖUÎWœIÕ׎ÔYº�ŒÉÍa¸YÛ‚-¼¥¬üD€¹ñ]`gÄZéÜ„ lq(`èZ�!~—æóùz&øem.ÜÜÄUæB”;_œÔ�„i€s$wÐ¥¿Ô)IPF,˜Îº*)€Mœv+©Ÿ ŸÔêµÑÒ/�JEæÀ‡ÊOE3 ˜¥OƒsçJ”.*#à«`~°ÿù»,h […â/ëµ¹Ï>³›ïØ€‘^¾_Ú3¥'Š�>MˆW›3Ioûi†äžh=zo‚vLj6›ö{Ú™h³œê[ƒÃºà;ÀÈÀ{÷pc$á`ÕzÊ*W±¿7° à=Ÿ(j0Ë&€•õ÷ ÿßÑ–Àˆ?F´‘Øeë¢äÎ�éΑd7‘ùéì7à�·ýpÈíÅ~˜Ã|àZ.Ëz"Q“›`ðÿa=¦ <¸þϮ·€ (//T+ׯ/. ƒÞQ;U¹D倪¤¿Š¹’ƒ™ˆõ…e -€ -¬I«6Û¾rŒ°Q€*ô´ÈúçP?À³Ù‘Ü -ŸÎ¸±ñþ� Läÿu²=$€ÞãŽ?ùÉÝ7>ø`}ý}¶Dí6÷>\_¿ãŸœ ¤Üù’}±0% �`j߸­wãlm‚¨ýˆÒi‹ÀáÓ*P»µ @œ¯=˜‚?ÃÈÀ3OS„ -Çp ÐJ»o5îxbÙ¥ )â^)æ‹?Mí›ôCp¤<¸‚ÂFHN:Î_ó@—g,éˆFnŠ0óŸ0€èÿµ6€\;€ß9.¸LÂ?&Ê�»‡²³ €Ÿ¶~„Ä]íIy C @½*ø ¾&@âF5{:ö|\{ì¶íLP<üx~œCìhìî K™Q�žŒo€ýõ@š4þeFÃV•Fò{ôÖÁ¡a0·9ÿ`›iplÖzåSN \Ár-Ã’„·a8³EÝ6´.65þŸ�kg&jÁ̼FÚ &‹ãùü8X�æ½+³…Q>ZpЧ1¿°Nþ�0šÂY¼Ü@]€eé2EM�Ž|€y€â´O„Ò›X Rë½eË’��WSé -€ô¯ÞR}}}/=š¿P êç -Û3s[‘?ÁIΉ°ú;Ô–*=�#±ÃÑê.|ëçÉm­s#zo‚vïDzç´màTßñßnx°ë-È»7WDüº°¤fa€§Ž0P€[·À¬¿­ô‘‘w�Ãþÿñ訰7 è½…°Wc·×ÏÀ°=¶ ®D½†‡œ¯zF– «`¼©¶Å˜°ÂèÈV`žW`ëXÑX» dQýƒûOBœìÏò  åìš œ a«¨=–±gq9W]¼¾¸œ]Z†­R©\¯PÐa°H�ƒ$‹¡nŠ?kTFØ Àâ,€þ@�ÈQœY¹}ï(€?\ÿ`ýƒ;ëwÄÿ?ù%Àw^ýwÞ{Oö?$ÀưýÅÿïß}_üÿÁ=È·ôã�œ“ �NKÔ+þ�iœLOn÷MAÔ¯…½5Ü÷<oÌ@‡ÇHüʘ{dêÓ³¯‰m± r#ðÌò4’êë ‘ {%àÌ•œ›<îHyH^I3XƒÊ@Áæ0þïàhP)ÓöçËèÊͤI€4Ëé<Ç¢‘¿f®Q°3@Êàö?fX¿q@$Ttwàï·€î—j­èA¸³(yJx’N€ö1öÖª@\\èô†H{Ö➊ØÀw„²l¶ÅãMð0ø VïdD•/òA@|Œ>‰ æ/ÉMs1€ÍM9­gÒ©¸žL¦u­E@+ôonÎÿ]xiª®4²¸¹F¶èþ'JA!S@FÔy=àWÉÔÅÐâè° ëÄÿÁ•¡ÂÖäŒÖ‘ -à|q¼Žsèþ×ÛÜl!ý³TôR ùk@¦Q"÷°è,­6Ô:Àç@º|ŽNXË~ –¯€€Z¹�9Ç…õ‰‚=˜HGòEöS`óù™¾¾¯š 6ZøœcàÆq@'nôc»0§§i‚L`7þõ£S“ë܈WÒ°Ý;д¿SÒv ]Øàê[R.èX_¿Ë6€{·)4Ëô¢PÝJþ?ÕÓ¯®7oáä�OØ  @>�~ŸÀÿÍÿyR»�dŸP€m™üŒ¶X(¯–-šŸ×€ …zõÇreq˜&ƒUÊ‹K• -ì!°óêâòL4œ8²ð}Ô•ÕµêÕ¨2q´¢xVZGú¿ØÏXA:üWQ§äÖPžÕ‘Õë ùÕ…j67²È&þeà-·¼Šê)™0²F‹²€M¬±`†±ºì˜ùìfA»ŸôoþFÿA -`ÄN+ëÿÌýáÆöðÿ@ö>$ `üÿ'˜~òçÿ÷Ù£€{w>|_=b¤1@¿"_ÍFØ d±|´E�湇ô&þNÀ6¾�SxøÛ¦+°‡KóÈþ'ýã§G €NÓÂ<#Œ’U¤¿wþ?ˆypG’ƒ) HÏdèEÈ¿½{ ø¢Vd")Y>NOI¦!X‚KÞ@€¢[ÿÔm<`?e€7pJxÚÅD7� m%à÷ ÀZ…æÿ@v�ã´öì7 îßž >ôÀW›=Ë,¡€«Û=tþj°¿0Oôõ�çl8¢ý$Ÿ0ŒR�‚Éj¥`ôÏ™&¬š…/’„ÍÎPñ(Þ¤æon~^’‹œ€Ñ ¨A�D:å,Z(†Å¡Â²q{�`Q?^ÐRù"R™LVµ\ˆ /‹'íÉFí -Ð+d˜½$KÎçà -fTÏ'*1Á‚[ÉçUò™¹Ú“Í_ÔÎMÜ�“ŒðWÙÁò^ÔYÜ!�Wd›.Lü.Ù?j8Þ÷2´\ Âsç,+ƒ“\K4ÈR¼ ¤·Û“€ï�à{÷†Ä©‰U"±¥Õlç^Ðí9 o;ß ñs°€Ñ?Gºw÷À:€I@c­² àÔi €S§Žô@ÐpË<·ÞÖ“èžQä4ØyV2 â�Ö{lû½ri çã�å£Tð—flóeP:ˆµ0ÝY­22†ûG¸zv!·JKgmuy¹úQ¥ŠZ‘ Ë™ìÏž¤ –<ãøQ—ÂÖÿÅY­~ć­^G©r Ø¢™Ÿƒ$X­æpÕ¤Ëå5È Ôé ॡ PvþpGè ÇŸ[x1(@»À/`C1ï¸þÁ½�;ï5À¿ÿÑ�~bô¯ÅŸÀòÇ}ÿƒõ!îÝY_ÿp}ボ[@Äo³Œ,–o@{DÍ\rvûŸ»užŒx;È÷1jd˜{’5( öè9 Ni¯¥X@)G×À™+97yº‹ {I�ò@-Æ ×] ~ž¼Ÿ ÄmÖ@m= Vƒò0ã_"Àº²ýŸhãÈ&{¸U 6Þ5ÀŒmp‹Mn1Œ]uÏ$é  hçÐc»ÝŬ.®6z¬6@ÒÖÎ�ŽP1±æŒÓ30¤óçÝ(§ƒž®•aKe(-è ¢¦ÕŸŽuâ}Z±x -¨Ï=†pÿ¹ã2‡bË ôB §úf„ ÅüH€‰‰ñ<‹ gëã=€È?z @.€> ¶bh% æÃÂ|é•€º…  D*9 9�R›Ž©Ïo†£|b¥àrijªx9R¸1¥Ú™st`£ñ�èµ€j‰ø_mò„T–'ŠZì$’ÄjëÚðÕ:œ„ï7ø¶éÑ9|÷UCjÛ6"4vimwt›P–~;¼K²N÷ܽ·Á¡€`w¹À °ÁÓ1ýG€³c7×o­¿O°2Æôgø£ág=¡Bvt’�`"À^Éý^C·Cÿ¤Ena/ö+Ê-ä––s`c!F ;�µÃ*ɘòÇ0 ²#•êjþýÕryuü/·£ª Te°�0cÐx P=Ý×?ºÎ¨>œ¸¹@gЇ“–‘ïâ2Ÿ½V­,WÖª¹µ\–»Xúв¶qÛƒ´oMþ�l -PˆßöÐ#Àí>Úxøpãá‡ôÐèwŸ?èÿ'ò'dsüä'pV¿ùýïÝùpý.•€ãC§ÅÖ`#@$Äñ§cA`p2Ç›X^}íÚ­[Œ ûàæŠy( ö‡ÜˆþlqUˆê!j Ù'éÞ$€-}¿×ÑmÀ`}¶˜ªF)W²ÕÊÒÌ—åÅÜù_–LµR]£M^­\Çßþ´@6W½^Í®~T]† xpuy¹ -Sƒdž+/ /�À‘þÁ\¥º0€LÁó¹ÜÚêêÂêBõ”Äõjõû ‹k |ú –×r˨lWW!=W*« ƒÕJ‡±Y…°ê¶=ä´Ø`kôäp•¯³ìaO°±ñèÑ#(ø=Æþ½÷R?ñ'?$\྿OûŸà£gŶ�ùj3œ¡1ñKÄÏçhJ° €ìÏ´ˆV=©]üÎb”™˜Ì@Mð•¿B@—žJx¬ k àÜ•œcŽ�nÝPNŽ@òJ -1 ¤Ae;< �ô�+c@9�[ð˜io @·±?1�µq<ðÀ<¸>ï\ÆkM™ÿ þßO @|Ç›c$¬@c¢ÓwÄDÄ{h­œÕµšŒŒH~ÅóÇûNäÇZçQ€³µsŠ çaó÷A’¿�Ä|꯼ü:€8€"PoB²ë¼ž¥g4†£&˜0½‹ #ZÍûSõÑ`;jƒzkz±˜ÿ]’?VƋŠŒQÈkŒ�LFVõqs@’LYræÍÆ ”.Øš8#éÂf�º ~ÒþçƒÍñ�u+93žp´8:Pð„FaöÛ…Â/üï.Š—¼â(òÇÝ@pÄ •p’kƒ˜MÅ«@3ë¶àP?àð�{CãÌÆZ ß¡#1td'Úé¿åÿ»ÖP ›°�@›æ¸ pÚ'Õ½fŒEàTO¿y8ÐÆ�›cꃎùæ­ýÁþ~€ýûúÄ­7öÄ`a—žÿËÀ@ŽA€0ýQÙª_þŒïÕåJymµ¼ -R.ƒ†‘Mef9l-˜è«$Å:˜|y­¼ CaÌ^ÅÃt`9û�œ<ÜÏ̹�…jyu¹šù#Ö3 uÔ2ðÆx+šþkkKË µ@2<¨.~´ú`m é–aÎu„è_Ö?Á·c~>'^€³ø - îl|B<„x]à½÷¤@ÿõþêgà}‘?æýdý.Ãþ ,@Ã9ûo¼ï¤øL S“ÿñN9ïÍî|õôiu Ð�Øa¬oäÏH¶X €²A¶îü -"$@—Òó?^]ÓçrYì¨üáñ”Ñx$&0yÈþ@Rt�ò@`Ë`1)`aÄc jI­]y®ÚH€(®yÈüRÉ^•½Ç øµ$P(μO¼¦î —‰š@7 kþlÐÔ `±ìüO@Cr5Å,ã©/`[ÀŽöÂ1,Ç6n_4d85'êß—|0¡g‚b¾ï%ï`=ɦgFCòœ¶À‰¿�¤ÞÝP [Æí {·c'è7¬ƒpE²s›³™©0°Ñô 60ˆ%�0KÁ§…Ò6J N.+A¡p¡pÁ“N€ò¿ --g!Šùã Öñ"ÌþL“j¾�€×Eê…s ÎgÑø9èº@ÑYŒ†táЃ€v*ùãì­‡£—�0¥Þ E ~QQÙ³‹%�™Ÿ˜ø]¶ÿcW^ÍT+ôWD †³\;¹rÙžL°MÛ4vµAÛc�ó±noM°1|ïNì8Ö9ykÐ…ñøŽ‰.€» à=æÞÍ> feVU·�u±‰€L§N�ݺµ~k}ã“;7WPƒ~Îî· @3ÎÉ@ùÒ„ï”ïk®y%Ýý¹Ü÷ÙÕ.ó²ÕP>(xy–@nuyíÁâÒ*Ì}Ð7Ãòðúþbu$—]X]«B ¬=Xx›é°ó›¨šµ\5ǰÿlvmµºˆuµ\EÍš[-?XËAI¨]aíóY\[]†ÒXFƬQi`cùÁò*tDgÛFúŽØ@‡�yîÐðè4À£ßI(€ŸýÕ_ÿõøë¿úÙÏÌ þÿч¢ó|@ÀúûКÞoÕ`Ÿp -ŽøŸ0ê6öw�y6 Èðm¼"[¬K &Ëê…„¶¿YÿÄ‘#ê²Ñÿ�{,àðâ®�‡Édx%=åÈ@4¨¬Ëpe# %¤0ô £uf@ײì õs‘ôTãääˆ5¨ðæÀŸ®¼¸š/ºi,v´Ö"@÷�€yó©Z]{bð1²ðô•årÙúþ ÝÐ4UëÐ! êëò4Àj.Š)ÆFÂ�»ê¬³`P˜ô“ô‡!Mð† kgΉïÀqÆ¢„Ñ%¡DƱ¾Gýç>«yPhôÊ(ÏÍn)ÒÇ -Àh'�NÔ¶BבÍNX0½õ²ƒ>��Á3¥L¾TÏŸÿ#O$8qôË$ØI|<äÈß2ò20´ œcï•<.Û KÓò°i>”Üc ¾¯â£þn'¤ò‰WÚb`À?ÓrÊŽÜ ` ?ÀmÌX¹ÇžàŸ|@Ÿ²€³¿ ÀŽ€ŒS/�ë7ù(€gñD³üíô÷l<’}ƒî Ûâ2Úï•tä²ß(g³ ¬¦z·º -ë~uy2 ü0ÖÙˆ_]ÍV F´›«²º¶Pùhõ£ËVËxCu‚T9T¨ÛØ@`8»œ¥]„Ê:5êƒÜ2¬ú2‰½²¶Œ«°îY{°´ Ë‹¦ÿ2öCL•òƒåªŒUµíA’ï~S#ì¸aâuWßyïßÿäg-Ðð' -PD þõ;˜äÀ;°ñ¾¦]º…qpŒ¾p¾¼tþ“ÏÝÖ÷´€ô°ú©"ÐÀxÕˆÿñêHÿ,]4í! Ü. Œ¯2êÐP@ ©«€&€à Ñ8Ñ0ÛÑc 0  ÿ“ƒ1E€y$Ô{P8ÿ.ÌÌÌS§¢ãÿcP @{Knï;<¤�P¡ù?¬~€i{Ó1)@ô0¢j¹²ý&WZõˆHŸ1±H{`ØÕš<¯-–E=-†Á]<Ϩ:XÕ´ÿm -k鸆›õM -ãJ-CØÔ:]ö?ÿ¸O9Z–äÞ­ð 7x„"‚ÇJ¥Ë°…™­c*œ-è¤)šì®?pÀ¢ÿñk� W=ÿŠC…w‘ÿ‰™™âqìù¢Z'PFìy2q†"¢Üëu(O ‘uÅÇEé·4.€J®RÎÔC>Ô˜§ÙÇ$Šo ä—5꟤J)˜=7ªf„ 85°y x#`ÀÂù”=ø]H˜|>ÓwL  -oZN!'ã¿¶plOdð}¢�öÞ OøŽZHíR‡ïj‰ø°¯è„t>ñJ[xuÕƒ`‹»wå`w@> X -@cÁÁ¦�hJ¸è�µÑ{N±¨›Ýß¿i�9»r]™ìü›á5¢\“ÀС €/Ž)ÒýÙòÚÂÞ«ËË0Â×V?§¯}D�üÇ«¯ýÃÇÖ|Ä>ÿ Ü»n~ðC¶²ÊýðàkHÿÑÚÇ‹`kƲ6†8yd` ¼�È.¨­"›½~½ZA½ú ŒúU`­ÌŠv±¼DK ›ÜXC µÆ&ƒ%è‰\•õÁòb\ï·�ó|[ ‰<Æåøÿw~G -à½Ñ 0 -ô/þÿÑ{Üáί§é‚ëw(°Ûò ûv¢`RýÙ¾Ò1M'ÀêO{ø$AˆT»¶ ë¼�óSsË€þÅvã˜Àˆ#)ÖÜ@Su€È‹ -`  �`*\©�rø ¦æÐ�,¹Ê¬2N-8‘­úôP”Šo\õ¿¡zbB,²ùâ<<â5ã¿Äz¾h³ßÛ -žðm¥é&-áéøÖ:½ïo>žØlyfË�Íè·Ê·À½{ë·Ùޝ@Ễ=äà¾1œü…ÈÀ¾€§5à���õ[+ T À­[·÷<Ýòÿßøo‹�¨òlLÀ¤ 0 `Ëxÿøm7 Ð^ª01jŽ…¾ -’Få·š[+?Xüx­üñâêÈGYì¹¾ú}¤[Óp½«kÕÜÂÚGWþa-‡úüÎÁ€è)kL`v„¨²·`.‡êÎ¥µòÒÚ[kWAìßZ{ë­ÅòëTúÖÖ*kPk ~ì¡Y­®-­-CyðSw‚¾‰ÿŸ©èÑ Xø¿ó;6øß_ý‡¿þkðÿ¯~õÿ¦ÀÞûÑ¿÷#ûÒï¨ÙB`}KI§ÄgC -o †P¦ôlswÐößá F=²ÇŒ£ýÔ·¸� Ç�žÈ]±¥Çp·V„È@ãì9`17ã_2@;p\Úzô—rdå0þ/[ ½ÿM½Òë /€;Õj€]="þx-í %͉ÿu|Й�ÂzFv7�gÇ¿çi‡ñÒŠžÇ -¦<ÝÇ X}„ù*^Y’O<ªoæâù ¤ƒaM^ƒµÎfÎL€ÎDÔA°5??cqbE³ö/3 -�J$+®ÄÂ2¦*ŸÌŽ[Ø%¹0„b �Fü_º2«u‰)vMðãÖØ¥º €€)0j±'Ã!€A÷êÿϸDž‚rONb• -`º6:41[b«=K¾¹9ÿP!ý,dt1+9´‹—�Í:„,ëµÑ) }¤”œEŸD¹@óäé¸0�€$*°7pèŽìÏ(ïŸ5×ô`—âA²h’}[ð]mÐ>Mzoœ,^ÙžLÉ[¥÷ýzK$hÚð•’ÇÛ‚ÿ¯¤)œš(în¬›ë?wïš`Ýž:7ÂÁf�û‰A* çÔØØµõ›èý›cìW0Æ…÷<é?Æ:A5AÿAƒ3|‚ö#p/íBmÙfFM:Ð?ÀŽ¿°Á–s•åe:¬|TPkPc€Äײױçlüru­úñõÅ‘Õ5Ô¯ýÃÒ?p$À56*Tñ•…\¹´°H€b�[×?(¿…åÒòÒƒ¥¥·Ö––¯.®-—Y+½µ¼Võ£Š¢O`±º J¨./^][ühù™ÀààY6ÃÜl<Í�Žþ÷Þû�×_ï'?ÿÓð«üÕ?þýWò“?þÑ¿ÿãQ|À €;|ÀêP„ˆiwþý -fh€(Yúm7ÐöOy,àÔ©#_AÌä€bÄe‘ ›ˆðËržñ³»ô€ú|��UyaCJ( È2@OÓ� {5 -,_€Z%ÿ³€ ö°@+Àk.Tôîctû¸ÔpÿŽø�­y03 %ͽÒ1K~ÂŽqV5`@÷1¼‡Ü�`8 ÒNN`Ëß§¹ î»xþx_þ¼= ôJš -‹†ÒYäûD1ÜÎÌ�Jå3§a\gÓ P«Ùc‚gf8v†õ`t§™ÈÀž7D£lJçIbI°èì¨?»��£ -µãã°ý�Uó¾ÕÓß`—Å‹8Ù³/àEóðSÕF3oÀÌñà)ì{W., SP¸@½àäùÚ›îÀn+ùwðJ8 §ðDì#óO²ƒ­Bi*¸_åãŠqÔ¥MC×ò|‹Ã@ä‹ó™ ‡O4ÁõH!i3¹Ã·ßÕmÓ¤ö&R%V;!JÕ&¹vc¿½7¤¶Úœèkš�ù¾y’`Àú:}îÝ½Ç €õþÄ€•ÊŠq¿`1ôx/€[·Þ—€íÏcgÏV®)³=N^WYµY†y�wû -Vãšèƒçù­&TBýÙ�¦ªÇb¹ - ¿J_ÿrùÁòÚƒ×~_ËU¯g·OŸ½œôÕ�PAü`õãŬ•—qÆb… •ÊBv�ÐBu`Q€=—ߺº¼vuù­5XVW×––ÖÞZZÃ/Cs,Bj,CApHa^Õ,jžju©¼¶ø`m)YàVÓÈ.Óà€Æº¹þÉÆ=ƒzú½÷Þw¾ó#’ÿÿéÿéŸþñWý3>àGïýñ�^ÿ¾qþ�õ{j`7¨*ãÇg„ˆÕ¸µ-^|6¼¸:¢áè½+Àêßá` €y,Ÿ®3i¥ç&€òàKýã»�D†f²@R¤bR á0›^L™å&¿Z©´ƒf3_]{¶DMT-<@ìpDüyPü¶N,0W*ZrÛ=µOÊÛ†[e>Œº¨{@Î=ÑG]._MôXÆ•CÚ³Z{vÆ ë>M1¶†=ø$àŸÆÄlDbœ)æûNœ°^€¤2òY­tf”ãÞcš*AlÍÿAܳ?JÇÖMð€òfh`X›ÍOM4<Ù祰^˜°ñ‚�D…)È�S ‘K…8µ7ãiÞ˜œ„/ÂðŸ“(RÔµÒEkS*yý‰:ø[1ÀèßÕ±›�Í3 í¢…Q Gƒ:öcU’A 1x)(ˆÙú„Knó-Qâ7¬ÌÖp¬/_ tfñAªÇ¥ˆP´Ùr‡-;ÀÓíDSv¾&ì–'çÊ•Émg¾{Gê—‰[ÒÖÐX~­ça,ÍÐ â.ŸðÉ£{7�ÿ'‚ukÔpjLA€0ïÜ€ñOÀ>=¬¬Œæøwã_�à�H�@Ø—Ñ~¤X`³AË«žÖIøÓ/²*­r8žUþ‡:åÁòê[‹ÿ°\©\gl_•¦yT½HO?ÀG~P&õãÇF]•-ð ÃYhTà#Hœ…>(/Ãè—€+2YƒX¼º¼D¶§×Ÿ=ª–`¡pXáE‹KË‹¡4¬éÈ(m^fç·¾ÎÜÈÙ‘›Po.,Øï;ï½§4ÿÿû¯þ øGºØð�×qÐøŸ€<€ôÿÌ€$çîο`î˜ó»fk�VÊÇPU0³ç�mĘ)ËßAOÔ t£¡«€”€Ñ%dLB€ñ�)ê@ZÅ«k‹jkø>5Àƒ9ðéIý{ìŒà¥ð6¬'mér™ô讟´nŽÐ Ð9€ÍýŠPŽ\M€jìÀŸ�€¸@ûWæˆnts €JÆ�×Ë’DYR]2‹ÁŽ“ì[?ÛÑáôDæ\éSÛ aþ�èH;?§(@{Dn„¹ú¼ûxR Fgë^‡lcÈcOwfØÐäÍû…Ò§Æ£IL©1€¤s*KzóWj -Í)ói€ç'‘ß =؇̩AÎŒ^ªûƒŠ!f`ËëS¢„$ûé`¶QtŽ[°£äuz>…°’+¡µ5XAKS¸X ©P‹žu��(&ï"Wòùs}½r„ŒØBæ®bþ³ÀX/I³�íx%B´ín>#±·9E›3b$òäjc‹ð=Éçû'wJ׉ƒZmT(íç�ì˜@w9ÐÆ£�„`›ªƒü/ú'ÎŽÁzgÀ:û Ù±ûˆÀŸ^ - ª²L4zTl<€íGHJ€jt~ó ù°Nå#P{²V®,WײUË«¨‚`',±Æ@m‚a5WaO=6øc™«<ÀÎ�>‚xÀP}TkHZE ð$c†ª•2sD]R~€ês ´“~méÁcP¿¬AUp$À·ÖÊ<.?Àr$]@¬-³E鄨OF›‰MgÏæV®Åïí�å_9ýÿã'ÿÿÓ?ýJ�ßÿ¿ç¬Ï€õ�÷é0Ÿ€Sâ3€äÛxk ¸sudùwsV žÝìNñÃñ¢5¢«Úd´Ÿš[ÅÎUâqHà‘ÈÐLô÷èçG@š@4ŠT-cHêq @Ò€§“~z„'Ú“@Ÿ„?q¹R÷,/#¯¤@ŒJ°ðæÀßn§Àoø¼.×›=ºi¼m¸eY”F÷…õŒ$dxëÖ”>€ö€DØ"Q³Óàc+ òØMšcl 3=ꪛ­'†sÛÛ›õ­¿Û®MžèËkµéÚgµp®öxë³Z­ðêèLá0¼_۪ݯoýò¿}þ¤öf8ÿdk{¶2˜lvö‡[Oë? ±nýŸõÍúg››5žQǵ'õOK£×6y±í§ÛÛxÕ° -–œ½ÿ).�ìï×K…Bˆ[ÿy{ëqýq­Vût+¬moÕ¶ÿYͲ‚þöPa>S -obõ3d\›ÏçÇ'ÃÚç8Ÿ¯ííz­”-Ì2ûûµm”¼þ÷ÿíïTòúÖv}n¥…x ëO·j(yÖÿk½¶ù¤Ž’C äuqvtjþÉfíñæ&î�J®Ý!DKøébÎaí?ñqÀÿ”ÀAì©�à·¶0û#øÊçÏŸ8‘ÂûÁD)d*,ˆˆí�pÚKñf´iGR¬ÙX·5¬û{3yè=Fóv̹‘µ#½4óUwìDtÌÞ;¡‰òS3^æH�χiný¬Z£€ß>Ë À[dzÔ0rã6›öü ùÓÄš�Ä.ùï#l<€HØ+&~_g•ÇÿèŽ×2XXcE»Àöý\yuym¶<ê - -ê hìÅeÙ š«^çòÁâGË#¹êÇ–~ð ¼¼úuIu 5� e€Ã0aÅ ,C'd®WaY¼…úç×þð‹àü?\zkm÷ƒe°|yñ­Õe†¬¡Ê…"X\FaøL¢EŽRÒXíqß(ØÈÍ;PÔ¤~N?û+5ÿÃü'ÿÿ³)€Ÿýä=ãÿ÷dÿ¯ßáØþ[�à–ä³ÂÉ|€¹���îΈã?åðq,€ØÅq¿R{9‘ÙÒ=d/¼"€Ç¸ ±ö~B¸ÀhÚêó5þ-yaa‡À�}ø]3Åà0~]{LDNô´ò¼Å�N²³Àt t®þuŠpÅ'àÍÂËÊ{xÓvÆ€½£õT >‹ `å– Üðà>¹hò¨|‚Åà#aV €§âé±P @kÀj.Ò¸úpy€mÜP €�Õ‘+%!Ïu”ÔϾ/s.Ÿ/&ø¾R0uih´P˜½T*\ ,R�ÐUw¸R�Ì¡€µRiê~ø]Ùí³³ØWšÍbï«ÿ×OÁÃýŒ˜šÂn]¢P¸t ÉJ—^�eÅâß,Û‰Bi¢4…·‰KWÁ9¥ÙÙWF' -—ˆPîC_êÍàLTÉ‘ÇTXzõÌè%æ9q %Ÿ(È §«ä~™ÙRá÷Ø1%A`%¿ŒýS³?ÄòÕKVòÙY”| -I+*9ò˜��*�É`_±ÄÞ‰¶àÒ²ÖsŒKº‹…sùL¦¯ï垣/gгµ3£¥KÈ‚ÙN‡N„Ñ»`û…h#yÄ×ã�è�ÐzüÀÎí“;tV#�mj‡¯Ò‡ÒÇÙ'6¢CöÞ 6”_›™•þ=«ö#Ü» þ€¸½òN4Ñ¢rœ>ÅöUÇÙkl=øà“�õ±à�[ ×~—sÂ;ÿböΪËèÛ @Fþ‘ `ÛÃboÖHHáTQSgËË•¹å*ÿ}òÚâÔϪ8xïjEƒôV  ª´¼ö We `ŽÙR�Í1° Kò­V¾?0Â&€·––Ö®®ý!}�W€ö—èç_^zki9·„Ú6·%±\FõÄ @)T¼‹–ìâX„}ß #ƒ¸ýgGpçÞð¿ÿËø?Òÿ—ùÿÏÿôÏ� øÑwÄÿlßú�&À�õЫ#{ €'ŠÖ:ž’B ~£ýŒ@.¢ÿ™5Q8i%縀\æ10©@“ZD¡Ÿ•à‡Å†È€ƒ*‡=ÆÐ° AŸFlß0ŸHŸVCðïÂü ú9Ì @äPàî*€Hxéýi-<˜mшàÔäp`w¥×Íea=' O£€Htð°ÓŸƒ1 Ø{xª”@1m<¸¤•Ã9H®áuµüZ$úÏ�FÓ™ÑÌhæÌ¹3™¡ÞžC/:t´§÷•—‡„W´ÊhåL&“�öÌè™3XÇ"“ÒÞ«C£g2çF3™3gü„(ý«ZŽâ�ä8€$£CßÌ )`©‘¿ª]™¡38}ôÌ«C¯Úµ‡z_éíµò¯`�Y }(ö ‡z°öro¯—Ü0:ô*>¡Òêú¸øÀ*¶¼ä¸<Ò ¥Š„ËŸ³ô\žË`Öåøùpx4óM”/Æ«üÐÉøl™¡oråÇ�=ôÂWzzQèWQ$Ü"]?“16ÄuÑ»ÁÄGâcZš6[œÜ@¼³ùP«Ä1xVã¸mÉKÙq_mÚ¸'µ¯±Õ”²@ô˜ZÏ·×7hò'qWA€7ÖoÄp뀠�Eöï9õÛzðúMzÆp#áÚïr²ÚÓyŸ5ƒ¿ ú/²RèÜþ_Ð?·Å+7Œ -æ#äŠ a‘å`¼YÖP¹ÅkË——ÝW*´Œ*ß_¬~„šôœ½^}ðñòÚ?äh3”ËkÐÈõÚÀÀaš‚å…ìÀB5·ÊAW«åKË4ð—–¯¢J}P^{kyULüÅ·®BTËkì)XYZæÓ…aݰEuquƒû;A«=βàÙœz¨{úÆÿ¿úǤÿôÿOÿü?¨Hþ‡F°¯ýƒ{ 溌p£¹ ¢c»ð/�Ã`nYáQj¼v9)¬þ”Àb{ºò袜¸ðƒ#Ñ'–Q Ù /óäâ€òU¾áçëôåüêº÷Ä ×ÙP†‚erü)�Èhµ­€gù_‰Í 9ö¬Ý–hå€0€ÐÎÀJj� –Ö>*ìbcG eWPJ¶ Z @+{\�Lr¡ c°à‡jëhÝiö`Y@z¸Ÿ±à5€òTä°Úgƒ°XÈõh_&?Å'îE˜Å¥ V,^º44K;x6¼bmßµÙð¾þµ°Æf€Ù°VŸÿîì¥ß«ÏÎÖêHˆ]Ö¼NËYçÌÔþ~ × Í6ÿ ®½³£SØæ8À¡¬ÿ`V¦6ö)Ñýú§S—^�ªÓ?�Rˆ/²1@ð�AIQl޲”ðè¶�™¿U‚¥ý:JÎAˆB>Ž0ø}® µû!ŠðÝi”¼ve¶4ú¯ØS8û]+ùløt[ï³�`Íý³gfQ⢆ ¢¯Â>>´>FÞÿ�Á¥3¥zI΄ËÅ > ·… �3â©ac$@q]ôîhÀª½ûÎRû´áð]1Zí#Úíx�H®'a»y4y¸isÇqîñ•.�#)À8?;²s @L`?`�ío`õ*ëŸã |0ÖðìöGÄß^Õ&ÿ~¨`í‡7�¹YéÄ”ßÔ þ÷Z£ú‡+ÑΠ±¶Àáz—Qs,çèX|ŠÎ1ê…X]ƒÙðàúòP�T–«ÙjuõãµåÖ(@ÿ©~W €Æ¨d86àÂj6w}•–ãÿ Pa…Áÿ …%LªG9> òG«㢠|ñƒµ5~ÌN€fë4�PdÙ _Ýû묃þ©~æíÿÿ$ÿÿ?ÿ�ÿù?ÿÇÿðF=X�¤€¿‹ ýße Àn,ÍãxuLÖÞ`{vC ¨ò»gääÏ7'­äÜäP ÈŠ1´©!N|Ù�^­<$Qy1 @R�b@°I°P!5â¶Ï WÛyøGŠPŽ<œñQ| Š€V(äõZÎ×í=¢¬¨ Àn&vós°0€9N(p -kŸ€e;!í` c¢^~CZĘh 2²D c€rΡëõÍZ8‡WP §Ùc­x!^»OöAá5U*=­…á•Z­¶õùÖfíóùM†ÌÕ7ësµ_>©mrkóIX*@|Zg+ùæßÔHþ? kµúãíÍÚü“_>!×Âû`J°.Öê[¥ÑÙú}6·× %¶¶7Ù€®°Bœ‹SqíOKg~ÌfÿYFÖó)zØêGÙêuœ7?=S›Çv¾ïxÙ†Å"ÛåÉÚ÷k³Èjâ÷J?§vA)¶ž~^Ÿß®1º!D‰Ãù§[�7ëVòàÌìýY”ã1î/ËóççkµÏQ Íÿ¶Þ¿�¼©M®Ô3³úv0:¥•ü?n×?­ÍÕPH1û•Úý`zú>>\m~^})¦K|ÎîíD·è³'[[õÍ�ãÎu &�÷sW -‰�JÃwÆhq.¥�NÑ6ÀõÄF´âï%2ø¡Å¶¯EH¤àj'�øœølóä„ÁFzšZîb†xøhýöÍh2ã߯ 0úg ÏØøäÞú55Q+àÆÿ}�ÓíŽoJ�üYC`Æ’ÿ@BÿFV´F÷„‘$Üþ·ZºʃÃì8{…R"WA ȇòÂR(g——¬¢®XE¥,Ÿ<ì]|PÅ$ø¨‚ŠøØ—[]]äX?×WWPgËà ¶`5;˜cCÁZvduY\ÎØÔ«oq€ò*耜ÿÖ²bÙ€%ätªšŠ‚×p…¨3V;Œp$€ö/�Tuc7ïÙˆ¾·4Öøÿ¿ÿJ ¤ -àõPò¿ €»ïx¯ÁÿX7v‚óæ.Ø�yÌÍ윈…]NŠ�³R€T 3ÁNKÙ -<…YØ[ûþŒLà€XÈ@€Œ îàŒÝ=`»Xð$]¥RáÓ§ð×`’N1<-þñYtÿCзq¨Zõ ˜™ÈŽï"~£:Î ³þr­bXZ~öÀ+ºƒ¸�V>€¥,€|Š=Äø�åp°3ÛKQ/€´ÀCmäp°G€ Cgÿyõqƒ-�Ï;ª§°'›,lpíl81Ôy¼4k½eºú @Á–³†ó[…3¥ÙÒ4£ë¹ -?~\«=ÞD6Øk¿a:Ü.�[>öÞåä1$´¶ú° • MØóO1,}jà÷A°“ö� ºø»,6^$bØá¥K¥ÿ' ù©àŠJ=£NŠ¡ù[ÿ‡­ÒP‰Òûl€à² -3~ßÜœ fxUí'&‘ñ6Ç6š³;ÀN º)èàÙõ SkŒþ¾Å^ßBqvã&6{@†öaÇ~OÝ@r¯Öð½Ž�{ žTo)DÇ’hÚ§ ßáˆ÷Dvd•Ü¡ ÚÜÐÙ³é @ëx÷Þ‡t<Úh4ÒËö7мúm§Ç°ñèÞúMzÿÇäØóÓ€Hʨ ¨XUñ_ˆ7V ú'¢úÓÿÑ|å\DüßN,€ÿ+¹ØT¹a°ïrn¹ÊnxUÔ ‹Ë²à~šX`f -€¥Õ¨Mª•…jî#lœcø_¹}€7Öð �M°GP�,JQ^ãØ?eŽøó‡‹KÊ×P|˜P•å·ÊW!pe67¬Q n“Mð`â¡3Î*p£í+öÜÙø€w•ÃÿòþúWÿøÿQ￘ÿÿçÿüçfO€Ÿ±“ÀŸüägüÖ?Üø�ž®:œ!;£·F0†õ� €ÇIR»Ì½ÓÀ8ï œ:çæ¥ã›1VjŽ[LÈà1²dSÐRÜ `1á¨ìðDà*˜“ôDÈÅPe&@5™Ì‡:UíÀO„28œÖ?'0n®j!«kŒxmòXòjô s -(:?@[oo•aIl±³büÇdaXA)ð1|€–üy®ÒóOÈà ½¬¨Ó‚y쎸ÀN±€–Ž`eÄ=øžXh÷Ð)B�i"Èe“ãÇ_‚]i,@±-øªVÊÌ~fCÝ�ºÊ=&ç3‡ŸpxìÜæÐû´Òµ \œ `&$ãðñLß`—1»:Ô‡[Áh8âÁÔeùü †b©ÍÙ`ë~†O*Ñ…0öNmãE•˜O1†‰Ý€ÆÐ�ýáã©Kƒ�Yq\€¹p†Ï(ÿ«3âÌ7Xr %a:œ/Ââg_Hœ�ë‹ÖyPüÌ<…àÛå`ÉY8¶@\Áá3<“ÅVàW�ã�UƒG4 -@b(àˆ í½‰ýž>BbŸV›`Gˆ¦Í¾[‡Shµ3:ÁÁMÁ·w ý‘4<›–pªo�³9s§Áq Ý�ìÿu5œ:Mç¿D@³à²«Ð°âÍÝCC¯AUs²r€È)~ŸÐÿ‘Cë&€˜ÿÛ €ÊÀ+›ØÈÕ!¹ŸÖ>LzûZù#TÙÅ,ê�ª¦Œ µ�««¹åë¨y?^]]û8Í Zo�.PCWQ­Ñ°šY\ͽµ¸ºöÖ"à -aW=@í Ë%Xÿè*¥Ç ªÏPQr°Í 3héï4üãŒÇ”@ü�~GOø:`ÿ³@ƒÿð+{0àO~ò3 Ž˜ö‰ÛB½+K+ì{Ûê~Ò®™ T f¼;^|ñˆEpO‡¬tªf%ÂïÁY,Zz F$3©>S<~Qd2ü®ˆv€J2 )�úÁW’€j³€?](X¦ÀÏÏb W»ò\õ&È |–eÙÿX\§«Ê=ø9ªiJ`fäþ޽ZÄø]£×Å;7“‘+È‘ÀA\ag €}p÷¸ EÀ9&Ú{`CZ € œ{, ¥`9'SÀÕé@Ù¸‘ö¼öZä ôS¿ÔwBÀÁgfçœä¯œ¤`ðü¦ž²S 9êœ:Lé®G&Àæôf8‘¼a¦@zÆ…Á®dV"Á¦·çÌ ƒ‚�×ów&Æ‹“ó ñIi—¾cÇúÆé €2Ð%uzX/]b‹{ –\¾ `:˜ž{2Ï’Ïm‡p J?(ü öï�Kþxz+¨GŸ‹@AŸòñW¨x§|?Ïep¿mÓ0«’çó™oéQ_¥H fôHÅ1õÅDh+i4Üt4vØZ+$b]‹°ã ´Ü•NiÛ€oï@òPûT�Q[i5Û;Ç�»Û"Pàá˜ß§S ?NŸþíHŒ¹¸së�Å€�ÞqZïöÇYHúX=°BÃÄþ€É8ÂÈßÅ@ƒÿÛ)€2ŸÚW® ^ZÈ•+èÖÊ|.?MpÔ†4ÇaäPA €èÙ‡mqíã -Ÿ&†+€wW…µœLX‹èÎ`í`ùåµÊ">NÔ À@Ò°ØÉ €¤ ŠàM‘ g -€lòIÿ“Åj8/Kõ{ôADMÀd0ÏÑþq„@0_ ÿ`6~a¨þÿØûßฮóÌ•«nY6YCú˜#èË¥Eáf#QáÒÚ¢Ø#¤BS;PÏtƒýG MÓ4•¾v’lsØŒué8±5¥Ý„œ ê&…ðÌ £¹5SŠÏ\'§âHÉL¤{®bebɧnÅNN¾Þ÷ù½ïÚ»wh�R<ö¹§øîîÞÿÖ^{íîÞëyÞg½kmåhÐÍ 8¼àÏöç ÈùDb'‹›IÉçïí%ïzÓ…,*žƒÚˆüÂä/LŽŒØ¿dr._,—£5}m�u9~ÊÚõ—Ò–J`ƺYjÕw¶m»íßw=Þ-$LR†UYذÍÒ{ûKïÒBGþ!6}ö3«>°‚þSŸ_ý¢)«/øtáÂø}†ø|¢X ëÞ ðÒ³Oæ“G3Ö ú]šªàß^ƽ^^§q¯Å•N{ßó·åÿ¬2½Ó„×Óªfþ˪C -9÷•fK·¸Ü˜¶V²íl-KP öµ;Ÿí´«�o˃hÕ;Ê¿Ýj>C·Añ�Úù6-Uy.6€2FS]n‹Ôë­J‡ª^YÖ:YU@Ùv­…‚© -T�¦¹Bã?é@€ju]€ö>sSÁÚÍ(“‰c¾öÄÇ>ö±ßüÚóÞ@ðÿ_ücN^½öÂs€çŸç™Îù7Éž -¹“9„ÆP:¨‰ Ùœ6${†2KÒk�å[8^i@ú¸ ;iÂâvósY–È+2ÿ4Àð–�XHbbÀÿ¼± x�R �Vš²˜èd»*:�h2)H*ŸÒž>H+v˜ß;ÌÏÄ�¶€ |®%:»Eðúø¿%À%€]bô¦ À¾>}¦»•uÍ1ÐY´Óc€ÜžÐWø -œ¸à€ S„l¨ble›À¥p:}m¦ŒRäX›1ð‘ìGÖ°hñ±òcBÓÇ\86{ܬ'ü7(Û,L0x­›)üÚQ6ü£A}q©ûدFKåbn’ÝÚg"}�ÃåÛØÿ ‘e†ËÎXúö Ánq¦×#rì<)0¯äˆ÷Ž­ÊºØ£yžþCLæær<­°kºHÀ‡?|�üýÄó:µå°†R·ë#Xð�#+9ø¿¸ÈPŸ¹ štŒO+¾}Š(m -ÿÛ/ÿ í3Ý Æ¶K¥Ð<H‡‡ïiA×[˜ôçÏ>ðÀììäÝwíß¿ÿ®¢‹ kåÅǼðŽqiP ¶ŒÌ/¨ûz"0€ÿöì®L··jNQªœ*MíJ“è{� Ñì´®¨&VõÃø@<(ˆç6ÚW«ŸC�ãµÕ¹šMP}¢³ÉõYV å -€*j�µYm×Ϋ²jÙðÿ�3íf£¥š§�mWˆîëñùÛ:ëJM4ÀøªHœ†µv�懛°Ã€¯\ºxñ"�úØW¿fC€ÿoüßÓäÀÀŸ\ƒõŧž¾ôëO}Æ�6ÿ}ÿ´$ƒ÷cìiÀïIðŠ�;Qæ4Àª.«!t[jf7&Ž–Å€úþ|âÿXÖ†Kß:áPT—3òÑ—q`¦*u9üt¼' Ÿ ¼gÖ åOÈž@û×Ú�zëjµ%Pm-W¯ÖÚ�  lžWÝY§ÒVÕ0zÏÞѱ±©åÌTõ|U´ ³ÜnTVí•f¥#àÏ -åuŠ• - Žª—äj­ÐÈZi7èP)¨QçqÍÍZ§)ê°«œjã‚Ú àù¯ÑËϺ¼úÚŸ½ñúë†ü0€ï}÷¯ŒüÙ«(pñB_�Ñduµ�ÈÛ`Ó7Ä;¶'°ƒxÅfë¶`�ï~¿/Çoˆ€MáÏvµ�)¹‡-Û-ä:Ôü<þ@D[\˜âÿcò§µn¬ÈÀ£èÇð8Ê´`Lçë+‚ö„�5yZ'š¦\$ 1· 4àÌüqÙg ;ƬØ1þO ÷ƒs½EØ@á}žÄè•V¸�¹Ö8…%3î1~� -@ˆp "pŒ€ ØÕ*[ŸÐð–ß�V¼çqè�V¦€j¢Ð£õÝñùÙ»?|pvöxÜàžïFa"úrF͉?™†.ˆ4 Ã‹>,•¯G¹IùôÅà°#±jº¾ƒz±ÀCóóy¼ß¨8s¹g0 -pîÇO&9Ñ�üÄÜi Y™Ò‹.¿ }Œ>¨U­-®ÝXZ3ðáƒ'O.ž4åBn¾5ˆ>ÌO”¶–ÖN4`´VŽTò¹‰RÏ¡ù¤Š¥)¨¬…˜ºíU’GÄ¢h†k5ÀwÀXì%ˆh®PTÀäÈÈÈùG‹‘‘£bwóeM›äv´`öaT¶�Þ"¸äì½3¾»… ¶Ë®wa!Žoçé…Ϙ¯·ÅžZ}ú‹OY·ðÄþ÷û8þ‡´€ÿ¿¬yòÙ§]¨5pî]Mª¬Æ³(€”`·¿U)Z rÜ€ êÿÂK½uªdÇÆ©“•/7…ãqøé�£¿­Dào7Th¥bhÚ¢„€´@ÖĈTÃ-a÷Œ‡Å°béd‰ìÒânÝÛÃm1Þ +!0`«Ì8Àð¾/> ^"6lSRM ,W`…õœœ8gx€îVn¢¤bZSf -@£fͦè޶CB €E$ -€ÿXÖ €‡¡Œ�ªÔZq €¬ƒÕB±|}] à„+£XϼÜS˜,•£Š½Ì ¥!%½‹’N`qÉÜyÃxkD0lDÙOdtðÏ^ŒJ36´�œÜ…¤zYb âÇ6ŠsÏÙå û`nö�&gÁWÑ„r�§Ž€¿í&/Ÿè„âda©¬oÝ”ÅI�|‰Føê•—r“ë$”CðMùÌt *E‚èJ �'‹PžèљҗÉMÁÓǨԅê0dÀM,àüP³€é³«—Ùá…^xî¹çž¿öêë(¯¿áÀw¿÷}8ø/ =b_ûê¿ù›.¤g…`b2ñãe<�·…$¶8h‚y@ßåþ¾«[¼òгŒWíÅÚc'i¬p$fý];%"›07`« �T©8@ûõgåOë@X¢¶)ÇR¿°å` ‰п ¯ÔP9wVjÐbä¯iñR輤WÎý^ÂÚÝ@P`­veˆÐL) pë1a2`àÏ”V(«¯.VÆÙÏñEÈ ä[d�ÀØ) &Ü|ƒ -€#AÀz *|¯}€§A�>’Íåçæ@Ëâbw³‰|˜Ç -³rA²ºÏi¹(4g~’8ù²0ti‰(zâÚ×¢ÜÞRv{]l0‚ ÈäþOò Ÿrq¦Ø=m{æi4(àÿsjÀÖ­àû4@ �Y˜Ëå½®/RS¹m0Ì›#­ãrX¼¹ÝZJ²4 +¶1>Q²¾›Ý, X>Ô.=ýôN -ÀÓÚõE€§ûæ -€šà`Ü€X àïÊZ¡^ЛSf€êË€é  ÛPÕ @hØŠÿÜ·vo±ê˜|U/±P©7:òÔxîï”üÕºñåèªk�N£M’ÎÕÚ•L§Ýi·²õ–ª�ºêÎV}YUÄáà€e•^ UÏÔÛ+gÚMÕNåÐVÓÎj®úWulжÖá9gG@³aè4tÎ]-àüP³€iz>yñâµk×^xž‡úÀ&|÷{2kp €0@âŸxâ7ˆ$ bnØêi³ØâEKà«Ij»¯ø `O@û¾i//ír#—ø•Z±÷ÎÆ¡ö!Í[·ZÈmˆ¥N¢wøÃ¤M*¡µU÷ßcÈøYÚÏ_U+ýµjµXÐæå! -€þ³©€ÆŠ>ú`H ™3J5"˜™Åè4‰ÀFI3VØ‚ÀÚb€^€€Xäé`A€¦À¿§^¶à16퀠™�A;¬°€¯$ަh‹l[ @[Ný'u]Ö  Q«3PˆpÎÇ *V†¸€}}A�ëÏ�­¯[Ét þ½L�Osù¹\$_»»~ò˜Pê Ûb’-nÌC¼-]~.íÚ¨â‹ÚÆÀ:Kå½Væ!»¹† ¢ç @ðD -FñëC”?®½eD†ÑüŒ�0$#¹¥åAA}È}±4‘ïÍ?h Žû�iÁð?—ωóÝ|~qäóǭsÁÉ“p9ï(þ½G'Š<ÜO ‰ž¶eU¤Ô‹eÿš¨ û-XãåæÌvªØÈ׊“”é:%/Î$m ^r$h€Qu's }@v¢TÇ�þ¢\y%d@î§d·ÈïÖû8ã8ûxÃn§»Õ²|q7Ä?µ•‘ÇÖê´:ÔÈu”yU>͆jëN“0�r«Smu:ígD êôh¶ÚÍåL}Œ^£:-õµjb”°¶¢£Œó£:S ÊÑ4Ì&�+m•8ËÓ€Eš*¾ªzZgÝÕŽê ÞeªŽáÛ·aŒ`¯¾úú«Æ(@éê¿À÷iøË(€ðÄ… `ÿàÁà1m1ÜXš……@- K†æ€?:¿#;ó°Ø7HAØÄQññaŠ_ZÞÉHÚ›”;™% ˲ÁT–…�Äw„ª=mt0vjB†j6ן@ -€þZIPD‡)úíÓ -€>ú ¥Ð2€ƒº‡0Æ>7ÀIÚ~ €6©$A°³Ú__æ -€·$ -€Œ&€ ! -ÀJSçU~\üG¦¦´]û0üjSìþ:€•�&�ÚÖÒ -÷£Áy B2îmwJi9À¦¸€ÁŽ�À†ùÛÀ­­«2À®Œo8(hq ‘¿I/}ß:eÜ €Ó«Äúè§òZÄʈ $J#ý…ÿsBòNFÅ�Ü�›*Œ -»Š ‹ Ýâáhƒ€@Aw’µˆü«À¹¼Ñ+óݹ\¿› XŒ€yÇkMßÐÑ� w£¨0Å©�(kƒ›dÝîd¡k¤�| ]•Πsîx.?'P<±8;rð¸)*õƒ:¿NSÐ1Q¯4S¢l@µŠ€À2§VÉ…üëëåòâZ/?#F �h2N•â.óÈ:Dþ–ïYZ,'J–Væé4é}êrºw8·a_…etœ¢-þ…+w˜€¦r?-»E̽%Kç€Ø¶®ïd·JBe¾³ö;ØÓ«_\¥ xÿÀ�úoÀzÞ€'!—V?1}äH• À#Ó¡ƒÁ-&Óͧۊwe™@€DPÁ}Ç} T#âÇ ÿ?u‰íQ±mʪ‚iYÁ²\&1ùjƒh?ù*ÊÌ}ŠÎÏ16:øˆ¶pqBÿ1jÌàH `6*öOÏÓ�?yÂÐ_.±f ÂéIï7ˆ ÉÇR·lð_Ž×‰ÿª{*×µ®{n{2�TÌA‘‡ò’üpžà©•Bû�[32)€ã½ÒļEZ›„°{Ñäúó¤]ÚŠùîñƒûGf�q¬($ã$ýˆÅ?õh¥`S@šE��7%‰¥ž.ÐbÜ(†Œ/†S¬s�)6^Gžv!Ð0\Yüõp\TšœÛàôÖ”ãÇŽˆ\±ø‹ _äfÈýCìV�ô'l»bþO�ˆìÔ Ð4„7k �‘x €7ô€Õ³G3€Ð‘Ìø»#àÿ VÀÑ‘Y÷f³fŒ ¨ 0€AÿÏȶeØfcSÙe*¯ZuJ˜+O ¥ªzŠ‘y¿ ÐW[®UÅÚr!Ï´íÎ3‚þo·„íÏtšW²WPªÒû@¸Ç€lf¹Òl�{h®Ø³~jY¥jU÷ת¢þL`…‡àYáá0*!�4.ìfiw§‰�€2ÓŸXý -À×Ávùù0€¿²Àï}÷ûßýo!ð/ÿ -Ð'2büw`Ø -z‚& n¶äÀ©—¯Ø")³íz¿©ÿfF¬ ÀóêèËi‹×<±¥÷Y0-ÜÿûG'f[Ùmó;†)èÙ"ƒ©Qþ“ú³Ú_XÓŒß_Ò`§Zk5+SÃýR -€� ¨ñ Zî`(§$ÕiX)#Ò SÂ]àŸ"¦ Ãc õ¹@Îò0`[ @PnàEÒ„ -ie‡ˆŠ0ÆlÝ -@`Àx@ ±Àå& -3‹à{ÖEŽXåpWD’€J¦V•K`?TM%ÐoÙHº -íUb�8C{M@„Ø“ÀGG�rù�¶)ÊC¤äjÓÄM,Ÿ|æùÃ֌ʬE]@_–o@W�¸¶^ÈuF%~ ‚·ßev¬�Á'0]#€-Ø<½ƒmgšt7ŠwµÑöCü!�ä“…ƒëE÷ï?~Ì›h]ààyJ=T"Ø †v³…h©W^ò’ÓQ.Û°>1uQi„€Ñ�¾}Ýv..F( -‹½hRE‹Muü¦Ô‹G`;jJþ¸À¬?ÌÀ  ÷±ÿ}€°°‹ýDÀíÿ. <½úŧåH~1žV-ðß?\ð6€@ 4�9$'t¨ÐO[7j[4€:5˜3îF݆ñ[–Æ¥ [evÄàD-S‡âH…Ò'O¾NÿJ}J¾ÙŠ\…v-&#œ¯µª�v­ýÌ•Zísß¾"0ï´ÛW3çëÍl«®Š£ÕR�A50ªŠ`,3�ÍT, Qõ!0®j©Òlãñ·Ûöø«Vñ­j-—µ?k}Ðþ©àT»vn¡ €‹ÝÞ�C™£Ÿºxé Ÿ¸ÀŸýYPäýÿ{oÿíï#X K<p@ˆ)@€Ö-fH:Ù/ÙÆ°é  õ] -þOžÈçgi@J wÿÎeäþAö³!?5 •ù0Û©À–é’œÿXÀÿ÷€}÷=j@>å -£Ñe¤á�iQ €4HÅԨŬžÕnJnSjƒz6�ÿV]˜Õ:~lÚt<Âêò²|ue>E €w~¦Új›NßVÕB]7µ,ÿ©°Õ¹Zm×EšÍ+ßî\�4ÈóYn5Ûõeå8… “[ÉšÕúyÕò(¨�ÙF'«êµQ³&PÕJ-+ï°Á¸fÖPF}F­ÚZ�qìn‚y8Öз+°zíëÞ𪠴ÐúÿýïŠ|ßÀ_%Ãõ‰ßüêûå‰èLð5�gÈ$SPjl»m3KdËÁ<…À’Ëþ¶ô®-äçyŧ`5˜ç›Ú c•v22!±/Þ±zY/¡ vO&ÓÖOnK´²*ò§Ošµ%2˜!¶ƒ'ÿÃfë�Ž  -ŠP=ßW”8‰°Áh@œ(Â,¬ReH nÃvpU;k)`žjH¬UK&ÓŸ/(•D°”n"}ºж&S¬ @‚þ·À˜3*ïx®ðµmi×L9IKN àtw˜À1*‚H§¯ÀB @u¬ê1ì "î·}C håÓè—ªLÉûGÅP9(ŒÎר¨˜Ge%ì�­ê›î�›4f�„ºø7�(ÉgÉ#S nå´Æ}êŠQ @¸ º-D Ì(À½ëë‹‹ZÓÁh¹œ›ù†0Ò`R†@½2g•x8¹É±ýÑâZ´¸9@œ‚ùÃÄìÍ£ß.=4Wò¦uewÒ37`Þ"0;y÷ÈÈþõ½Ûº~ß,4"À7'#`ttf@84oH:›?6‚�‰h»<Õb©xÅax -ƒyk�MÆ¢è:ãéÍx€Á ²€¹0¯þ„POHÈ"P[\|Äš„¢¶[†P�ê,ˆŠ /æäG«(ÆFNÒ¬/ � Mɰ‡æy‚A\§*í©’üï~ Vv+9ä%Šºå¥ò—ç&‹„/êaôaŽ–‹YdíA1]¤�ò/v»3—“ÔÅÂÃ"q/‡ØJÝð0 ìÄ #",Ú½ø‰*ÿ;¶Ÿ -Ø©ÀÓ«—VEB ì�@ùû -Csü³Ï®ž?ËPÀàÿøô‘0ŒßÍúcmª¯% ù±@¤UŠ`0ü£:xþžÆÿÑ[ÌngÕ(^‰êè–ü½ZÙeºZgýN¶ÒÒZäA´T‡\m¶ª�NëÛM‘€«9ïu¹õÄNéœ*%õ€^Ô •óxÙj»©´ëªÎíÔÎ÷ßÈêç_oÜÕH�3":©6š(¬š¨!P _Ä03˜¯}G½Vþ/<ÿ€)oïû-,~÷»ÿ5€ßˆc€£f©/Rºt:n†EÛëé¶<â=xü»b}:`çæ¥bŠ�%+gÚ|ƒÒ†Žy[L3PÊ`)³'# ¦ëO)fi¡¥D«kÿ ©ÿ¥8!›ˆãŠÆ¥ŠH�¶ -ºªxÙPD!˜Á¸8$ÿÑ èL‰€j�Ùa÷ˆa;�%A€ZN)ì -@®Ð €>±Ðúœ7ô€? `Dv`jжªm1\E0@| -À. Å9”Sß“¾¨~ Œ$ް(€˜èÛKz¢ãJ+úÆû -ß?KâècÕl§‰ÌW'*)�{MÈO­¢¶·å(OÍ>²™6í$Ü ”Ý#Їüyë?·=Ô_À€Èœ}`VøÜwk·6+ö^œìõé¸O…ŸŽûô¥g­•ËÝ\Î"Œ`ŽÒ@Èo�ü±ÅH<¡¸¤íÝnnÓ6-ø“õYòfŠ|¯tЧô‘‰²R¹bØ%çÜ/Ór‘ω|pÿìI!zФW¾ˆÇõOõ6¢¨·—œâ©Ä¢0*¹_A¹ÜëGD9Æ…à ?älËyéߊ®’3† V£ß™yÉöÚóã>މQÈ4Èù‡½88xœ<¡/I,@¹Û6ÜBeþ®,VRæ½YG‹T¾²zx"�~šÀß̶¹ùýÇËj”  2ª gÚGõÈ­lÊ&Î/ü÷Ú*m1}aör�çUåµÕ²‚ñvµ%G o¼Ñ¬6 -¸UkU§ˆô¯¶ZÓÂ}€+ío7Û­«W:T4ÙV½~¾ÞV® -Á RoÕ[*R[ÐO7¯3ív–G«<ò?šÙ¦ê`\~€x@åL£ÑVýpÄ` ´«MOŸ…è‹Þñ�(Œl½žc�xûodßÿþ÷þÛwõþÞ÷èð—¯ûHÏ}õ‰¯z €$ <ŒñrY /ÃÜ–l1n?!6x0PÐ;e{5Ó¢=É7Ù°ƒÙIúç8�µ¯¸ä�J=p`l™ó�_alŒ²Ë£™)!“–üoÈL¦uý–ÀS ;&Y‹ú3² ß[A 0©ˆ]4]ñŸà¿¬Cn ÔužXP¾Äªê^¨g—§‰°A&PòÛÀ €mSYô7•í¤ÐÀ)?¸¯ò(²6ü€�…’æEcº!:Ë. -€§7hM¦Ä_ ¬¯˜ï+ä€X°HCP Yý/U³17Ð:ß�ØÓ˜œyî1c0¢ŸÔL´ß@þkŠÄd²ªªUÍíû¢¼¦J ÷h5Ý3 -°€„ܳGSWÖëýŽ=/¯Äh5³E\éŨ×+ó½ar…™B¯u{kåîÚïm^×!ë›Ýµµu½„ªÝëÝhsýz·xêT±×ëv767´ó•ÍM%Œw£^ןǧå�u­^ß\ëF‚ó¥�Ü+‹‹ÖÃ`£§xlŸ’/©Dqº¤# -EÝÍ� !ïÉbY¹[–ä¥-K/öz€5 àóŠ�ºŠ®ƒ£Ódõ[Ýn¡Pèö––zk:nã}–×6¯__{i­J^^ßX»^ÔnhçÆæzoãÆ@É_ „CW¿Ñ]êuo¨*y´9³•µØEosÓhLI—¡ãÖXd-Ÿ+]Þ°’‹åõr1lDð¯TÝnérïwz—#¦r·m¸…Ê|¸mL€”10F A€ÎÂÀV/= 82=}dœfèwѰ9ú®ϪåA�Bµ²�XMQ­eêÙÚè˜ÅG…:X‚ùÿ;€¬¸‚îqªÒN‰5Èéo-·²-‘á¦UI·ðÉ›"<Ê¿Ó1`þ¶êJ€jë¼’×Åtbl*ù�"ÚY­Ó hWÍ´2Õ¶ñKlEkª‡U•Bèo  ¤T­D „†]ÌÖ.¦&“áiÀA¸ö<�|íµ×ßxãíwœ à¿}ÿm{  Ïzâ7\ø< ÇH¦ è ‹n­}ó#ml€(ÀNÖ?*6êØØ©½$õ†ž·£¿>MqHJ›ŸÂÊÆüŽ;¨ä�zŸj_ fÍÑŒþz ƒ†6ù?’_i þÿôIDATýÏjôÔ¿lªR¯0b´]ž2/Oh=Ðç2Q¤òn›ú—[C³Ž&òO'°\YX– , n¡p/è�›OÄ<¤ ‰`Aí2+™þÝg²•0€@®¿5˜¹Pñ&SV�ÿöWvŽPQ„—F–´À�¬3êb  ØY0‘Ee3 aØmÇTD×;(5¾ -¦[¾BÑô¡©&6P¯Š›´›N ”B5…ùÀàݪ)TP6pr�־ƚ -œ©è¼ÀÝåú4ˆ _Ýò{ŒŒŽæÌòss§ -…¹9×Òñy‰}×Vh1ú§¥û�c\Æ€2à3Ü3å¾0“+iUGàìÏÓ*á9ëØÂ¼2’=ZÈæ,D¾×n¾ryfs£W’�é¥ÈÒhÍæ*O^ç/ÝÙ†Î{à�œÚ•¢R�F÷¹|Á ŸËÍNîÿGûFÈ_6a€`B -®³J-‰E”¬�Âóè´fœ ³�¥Åû(%—�Haƒúµì3›§L8ìE¾ˆÂ+½Ia»²26RºÌÞBQ%çKË©à”|¢DuýF®fsÊ›ï"OÆ\ö@@ÿi¡2f#­®2`߬Í_Æ -�(ô{òÙgŸ¼€wÊÃhŽdnÕû—ánð7‹o:UƒÔ)±ÄkâöÔÛêŽej -U�úTb3¢~ ÿ·3€Š’êÈeÕ¼d¨ÃõìÕÂ-{Z3£ª?^U®ê¼Žª�o7ëWD:µV癃ý¨:§^WIÜPÕ¦ú‚ -U1ö¯ÌÚòú+æX5 æ©Ä ±Bh È£þ©ÕµþYz"îjóà ÀÆø‚¼xb^ àõ?{ý�ï¼ý×€:üÕëI @<€€,Q u Í0°Üa_ߨçxù¶Á¡=Þ†³Ÿ8üšÉû7`ÞÑâóYÊØX÷Ìø ÙÚyL'GË´fÓ€ý̘߹ÀFUû†ü7ï1”Ðßp5à‹8¬öG¬ ùǦ­�@Ȧ=ÓBW³ú´˜g­®¿j¶e�þˆÏþŸ÷œXª‚~Ú ˆù?Šœ„ûÃnKjÌ#Ú&�Dÿa»iØåÅÒ¯?9Œ…§: -ÝW=€‘®¬Ø!ÀÀßþ¬˜!èV­#&v!úA€¶É¿*+’ÎçÀ¼íþÓÙϵ€ïFdÃc€x]›® -×eEY¨Äu¸ŒD£”Π/¹®¢5h—cMN‰å£¯Q!L“®AQQ)ŒˆŽT¼ öÒâØèžQ( -nx(€/Ž -ƒš™ø'Áö}ðƒ3119iG*™½âµí6ïãØ™™ÉôžÐÂÊP¯û'߯ÛŽ�7êÌ9æ‡u’Ê©l39/ù?ù9•úŽPÆJ%X=õ�]•¥½ÿðCZ?õ�•üþ™Ã‡gt^•|Ò^äë%×Ûm[d”Áìð¤ -­2ÏÌLèúUìÃÚ¤œtæp¤å9h”é�ôÝî»kBe{(§o’âaänÛp •ùpÛ®Xà¿ зD°¶ðßF -ÀWž]5€Àpô·llý±ù­Ç'u -÷³1`;ÑTµY•§¬G |Ô{©�+ê´×{×7¢n¤´½µk/)9u£ÙŒD„¨ÌŸ×ñ¢"~243Y§;5Ó-kzA¹€ÿ[Z,¯ñ� (¿oÿþ»gExðoŒÅÚ[–âþ<¦§4SذÓxá5‰0€Ò\ -§Kuy˜-ÒüÌð<þv¶˜D…ÉÓEOÁ<ÁP@ô¥¬Â”_ -Å wÛ†›Cú»2}n pôþ�ýîæ*MŸ 03~dú]€Ñÿ²þfMªêݵ) '�;znƒú5ÍM -þ÷ýð«ÐÎŽUTÿª¡ÍLÉsÂ7ça`Ùz{…QZÛuÔVBµ+MzgµëU¹Bõæ·ß¨wšFl À -�ä -ª>g †¼¢¼D®Täà Î!Ây€f5ÛRÍÃ++Ä-Á1tÁ¡ Ÿ‘ yc»YÀù¡FŒFfðù‹_ýº$ðö3Ç_è�ùò÷ øõ×_·qþÅ®X À…‹bÃë0ó|–vÄÿ´ê¯·2?ÖÞ)©vÆðAãt»$´Üøðᬘ½/ó2Xa˜ßq‡<þÁ‰‡>' -€P (†0š1D X£7›w娇fzKÀ_…‡F’D �Òk#g›3Óð[ûßc–ä›0JÁ??ã!(<�¢®sêo® @ŸBî�”J¦Bpnл&¸“WÜßf -€pŸ®õA€„€fs%À]¢”Pb-…&€V:`@à*WP¯Y@¢èº¸Üׂd¾+¥eh­1:D^„ÊÊ5Ù¸{|éZ·Ä2»¦†ØŒ])&¦J¡ªŠC•ý{t .[‡¨$Üñö+™Ms?’(€RèPFkäG²¯O7µÒªœx*±){ÒM¦ŒîÕF€WÎ2Ñú]À±ƒ#³Ç -˜!sÁ§rO0Œ·kÃè¡ -à‹¼m'JôèO¬À ¼æ…—…€`§ 2†¼Q&½\ÿérµû¾rI'�Å NûHÃ3ð™Ëùx�ûâ†Û,__,æŒò|hdö„ö’LXn=œØÓ‡ÉžËñb"§ -Á�M¥³|sJëC YÁÉà¥Âd´ŠU„gxÑ *€LB8Ÿ\¶G¢ZâÊÇbÁ¾TXÀ†S†ÛàæF�þì©§„#isìç‰@¦pä«"®=¢;þ])º¡À~7Ç~·&7,V­´4†ð¬f3ª“¨dl¸ÓûþÖð+Ðfîòåe*RÕ -ôÖ¢ë�|UR펩þ6r®� - —Þ @ûJ»#ðINó À6ͪu¬>P­`�Ö1u†ìT$¬5VPTÏ («fV�ïC­Ôš+J jVU¸•KõŸ¼z tòò¿´Ë;àüPKÀÛþäÕ$06#ï¼ý]Æpàc(ƒ�2Ñ>ÎújÚl£íÒ´ÕÒø¯)äÕ‘ñ;•=æ9&æͶ$L[œÐ�‰ ÔßÎjÆÊÀ[µ­ÌLO™ðŸÏ 0&ÀÔ=Ö ?_ZÀ jÌâ° dÁ�Äó6æÊ&}ŽéŸ«}NȤ¦ÞuµEŸv¶eÅ4¯¶ßnˆ¬ ŽÿKëŠpŽà»Yjr¢u:ýù¹SÌy'9ˆË ÂÍÀ]ý_u·¡†*FVš_r ã1+îý w,w¢)íR`WA)�Å@ÿnùÙu"cÅ¿¹îÁ* -?_…¸O׬¶Ä¸¹ª]79!€Œ°Í½_‰ —®Fß¡^Üù\’NdF¯�rÄí­èF场¼ŠÎ?ò´†ÿ ¿N¢œµ•—®ÕÐ~”Æø -<@ߟ)©&üÿ{�ì‰8奃Ûô¢‰\wöàݳÇò6�àÔ0ÖqïÖÏÁ gCqq#bü¼Øx‚Dw[Ÿà¦õ›cœ!ÒbI Ô?Ná(¼vÖ8Ø2&°<=7c[Ë–p·",.þêb¯åóѾ#ž=Avp—¸ä×C>*2þ¿ör˜òìuOú�ù6`s¢<ø‡-”< ’$êR˜,½d‰Í,Ÿ˜ŸxɽÔáŒìâ=wø4ÚÅBwñäIšŽŸDi�ÿ¿ôØf‘ð‹ëÝr·m¸@W&ô_}êó«©¡€¿x‰aÝ4?d�”=ûy€/\ø”õ×ç­€�¦Æ¨LˆÓI4€š@»ÙªfkWä¸X9B6ðÊVüoÒJØ7UT< GŠê'£Z©bOãyCÊTÕ)„ê ¹‚¤µSi]…4›Wäÿ×ÎC¬î¤nUÝ J�&žÜÒáµ+gt5"ýhM ìOÖF”lèE“Ýÿ+ ]†íòJUѰ›œjöëL‹’}AÞû«×¾N7Àk¯þÙ¡ àÿã˜0Q€¦<ÑWäø_¼#}\Ýf!‚ŸÅíø¿EË7—<.i9(É!eÚ–¶Yðê·Û–í‚ó„mØzß è}11xéH¬U~QP ¼a¦Œ™ ÊÇ<€Ì\À´n˜ïžªZ¤£x°Â³iÎ|rLu6 Äè|*è“c^Á)oœÑóD¸È"rU¦¥¬�¾ÙìˆTyä$ —]ž^�ÕJ«dEæ>7íIì“!.mäYM„¹#hÕ&ž“cÃT§€gV,@E&еÚ˜©@ZȤcÎø|á ’N·§.H|¢�B§œ " *G›¦7•€»[¥bT>%�©Ÿ§NwpõsÊYPÞj�oUM°ù’9¿˜_Š -Ç•è"ÇTƪ¨ƒ¾ÁfËúØê†ÒÑrÝ�tÆá«¶oÞ¢3"£”–!ÿx¬ˆÃoMÆ‚pϨÁ¿¬Ç`»½h21Z�€P4X‚oÉâbñÖº‹›¥ ¢îƒÚ *Ae—_®eÆÓ‚âKç-„~#7SÅì3ÆKå>“¿oð9­ 8îsp+“á?h^\�3½$°8—�ŠÌ~}­]xKy�R„ül)a.å¨�šg’Qn{¡_ÝÃà¿ëqÉ Å�¹‰0ö?£ÊÂw"˜×°àk²°Ju¼lð¯C”CO1]òÚ�º*P¹8N]§º±už&€g²òùY°¡ú¬Â“Èh q�¦X}®ð‰ÐÚ¬Ó~)³A!è{UõG»óíÿ[§Ñª.˽jeD¬jV' È:­R4›ÙåFe…nת+=˜Á¿‘½K±•ËÖinr>š±&'Á×”–»Öª.p£ýßat±[š,ZKº0´X0@®3­âÂõ<ƒõ1"¿=k/ºP,D¹e§4�@©(*ÿ_k`4[ò‹Äýƒ– ŨW  _8A÷/ÇšýêÒïuOóÌîŸåÜäüháöÖBJŒ½Y‚ çAl•¼Px�˜‹QÑ�bárŽ€G+¹—�”˜ÅŠd _\ tIÅïgJ*y>ÀšØU^úU‘˜ò:]7ÈÝ¶áæ•ú»7‚ö›9ü301< pä(1Þ ÐcP>ukfU­^· Ô]P�Ä~ªJ`øÿËfèjb6“†æë[vyl9›—S¡Z ¦W•ÖO*^­×s…ºWu¤>jÍÊÕ¶|°NçêU*n½U‘Y/@‚¦�0ˆÙ´‰ç-�ñ|Ûâ-êm‹üCö?c}� ¨žõာVU'`5èÊJûñUg»XÀù¡¦ß'c#ʇ¿@Àó"¯½þæÛï0 €ðÿï`?vð×o3@_ @o‘Ú.<ñ‹?;h§ÍàÛ÷ogƒø¯·2óÙ€Ns­úgl¾Ùl+1HöZB`Üs·ÕÄ,�ïpce`ƒ­ÚVæwÞaž¿¿ ûšî1L7Ô`‰¹ãá\ÚÊ€°áf>gÿ^#„6Ð’g £„ÈaÕßN(-�y¹ZY#XnÉGï´å8wZmÝÀ¿0u> üä}£Š‹ÌÒ56+¬“‰0Õfý•‡þ|�öŠ€øÆXF9˜3/,Jp¦öøãŽ÷Ú  6Çêâ*W„œŸvÒ4ѤA�h=Ý5õ¦RèŸ Š6;Sµ–èwgÆ£R0•nÝ^™j‡0t.AµXn]W¥ÛSŒ[ÿÿóˆ†èS)uõºmÑáPáô-�a¶.?]ùAtߙ̡ԺªÏíR6ºkŒTêÙ1Ý´M¥æžî4t½ÂZú„˜øˆýH*|JP5ãÀù~/ýà"{ï�úù^lï耿\þU R २4SèºàOÔ�mÑÐ?a1�FÝÒDA¼×^®¿�¼ÅúóÄ<€KmJ€|þòÌdáQS „©–‰€’O½=wmвŽŒë|N„Ò ô Å�ýªÞÑzo1`ÿÈþ»ƒ§M~GHG/»“%¿|ꔂ…ÞîðÓaQ…XðÓ0�—܈M>è:ô»!,0³ƒdÌOÛ—aÿt2•B Z?É‹KxðøÉÅ¥¥ˆWY/³r·m¸9œ¿+ó&Q€´!ú€F€Ð Q.­~‚�€Þ�àPP�›Vt_ @•¤LµáB\Ó«ª&§ âÕ­\•Gã?Õ”9܉Uä-g§TÑ8À‹ uMÖ¡YA?ã´ ã©éñß©^íT[Ÿk‹àýw J 6bí�Ñ�Yž#ép¤½ -Uµ+°Š•©æŠ�\¡ªn6šrôÛYzRª\¯Ä�·+J=dâ#àüPC8rö€ò>xð£ ü}¢ü Q€ö8@#.èg¤@à3O\øŒÐÿó0€aw2Ð5ì߆ÿ² -°M`†îO›ïÝflݦ³ea¸­ ì f§53 ÷ÅÄ8‚ƒ þQÜó7ßß?M°ð?V@ Ð}›¯±¬9�R–MÀ� -€þ´�诇¸eRw…!€xü¤ÜmƒáB…A��^þ´Rr,ÀÚ= - ;Eh•' õJsE¼‚¡&yÖ_sŒs‘ Öü¬þ†4RuL·ªŠ­ -QWšcœ¶#2°òxçÛ¢:»JFqôÒùƒA8²ú£wt<8 ÿ lÑšš<«>^é@2èäÒnW¸' °QÉuÖºr! -Gß r\”†öq_@ ²tÛÑ�+¸…áëKCïà h ñ«+gÚº¥V'Aìa¬É`œÊ&!®è~\I:òÓPP i >r€Uk@¸Ç{8пaÏ=�9,}¿´X.ßøƒ¥SùâìÝ#³Ç hO× lSÊE!—€K Ž×ú|)š˜àù÷ =¢ù¼<ôÑ÷µÅ„tFôŒÎÏå_œ™ �<±�¤|}NB3:˜ ’b8 -þk67Ó% ¬1Ðkiñ1^.¿ôrñÀ�‘ýDØ™hA7%_ÐÜrQñmä€(~äàb¯{*/àÞ|ÞŸ- )Q)œ˜Ð€a”NÃã z¹t¼C(9}8‰L&»yBlca±[˜9÷F´&€Ù“*¯™Šï änÛp£N׿àÒSFì_ß<pßø‘£` Кn€Áÿ‰Åø¯÷xŸ 2¨yЀ]ó}°lm¹ÕZ¶ þ:}é©%Òú¿WH}ã‘ýÕ̘ê^† Fh¤z¥æ�ƒ¡ú­Ù̶U3‰¨êÔL§F¸¢óv:ß¾ÚéT—ëŸk�¯OS=׫ËËÙ*WK� (�gFc§@€Z¼“…UTÝPå§jXFUÛ�—"ÐÐ(fSu´Î§zNœáqUSñkËÛ6Š`íj"cÓg/^Z]½€®ýÉko0à_ óåýÿý�eNÞ1 !¦XàÅ‹.|æ3O@.~ž(€€ÁÎisßÝ÷ïÀ¶H +áV‡ý˜¯ÙV7ßl6°"c/%pð&qðãÝÂ)ý´Á,�/ºÙa~¤½ýy�ùÿ[ÀDj$Ò -€Þ@‹™+àZHbªõeÔmWh¿J)eBÅ{‘ZïtÄD?ÛÙ1á �ûú/ú&¼$š@7�þµ@¥²P¶Ú¨D:¡uo¯6ôɳ^ËÖ-ýéô÷œsÑOþ’ÜX�Ng¥ÑS¡ mý)¿$âÛ€¬ˆ'¨48üˆƯ+Ôêþb˜Zè)7h}jFy�ö•Z£Ýdg­¾\W·Sézum'*£5 qk•v®Lô]BR´·>¦‹Ò—•sNfræq]T»¹¢ëhÖÓ -@Íš:¢ÍZM(0Ç£ÛbôÐoMÞ QF÷b•Ëkkt]Nðñ»G†E޹Ÿ‹ÿX,ÐÝMÆp:¥ëP¿ÕzÞZÓ½Û]$wÃ….°ÿC&°H3‰d‹xäœ̵-Úf êª(yk½PñçUt]ƒ]¬}À¬äš«äÅ(wÿ\ÏK®Ýz“›J¾X|ÔJ¾¸pÚ!�q:û¦{Åüa ¤èFŽí[çc1|ÿänÛp3(öÔê4€€ü˜Qc÷ùx O¯~â,ã�g§�Ü"¨üç55Œ8@PÅ%°×–óÔV©J™®/ëž—?@Ǫ*ê!OæVÉŒe—+㸮X,rƒ°geÝæa}ª„ýÔ9ÉÈ€­ªü9?�ÎUÚý!!òkDT“©¢~ÍЮÈ�W� ÈÉB NmdW+hYê(½í æg*"�¦2“£¤ràeUEªºíį-oÛý¡¦ú-½úço¼ýŽ7üÝ�ü÷¯'óŽ l1O|,éúæ3‚1$‡RXŸÒæP| -$ó# – iðý±‘ׯÖí -@ÛFÿ0;«˃å÷ÃìHæý‘ ÿ}n -1Bay¬6¶(òˆ™ÂÚ`QqŸÓ¨¯@zÚê[ö¦Ÿ?à -ÁìWôÏæê¯iÿlþ�DñyÕìôò´Ý°áQ-€Ö**�P[Þ2·€þ~xùUÝ £Dà�0ÑA @ü€~3¢ÄÂÿöãM#BV#`3§ätº;€t³šÅ‘iˆ'Ð)Få`/+O“¦nH -1Eð«¼y�ºÓ¶†} -/NRÕÍ…Ð_ïTõEYQ´ }O·’V¹·‘J´R36ª›¨�´! [F€°Á@÷k¢p3% -@-‰Àt>§ii€Éuјj¤~ €õسµ€‡ ™uÁÿõ?z¹Ôë.ÌÞÍH€òÇ»ÝÞu¢+ðÖ¢²ÖÊ×»×�=a_´Ô]ëÎtmt¼G8 ݺÝ5«Í¥Rxl`±È03‡ó½H -üº]+¼v½×[ï‘Ôm)êêuYK¿·¾¦b­olvOçfæu^C]�g¯i_ïzY%Rš~ãÆÈìììñ> x×Õ\Wi—¬ä 溎¹¾"tÈÆ¯<ºI™¢ß¢¥ QV,©L‡�ˆ¤äJñ[¹É¹îeí)¡Ø¼Uò�¨ël©¡ûeŸ¯÷(ùKëk¥S3…ˆ‡û_Ì?v²¼ÖÓW­ò“ä:@î¶ 7ÀüÝZܰúùþË ?6F÷�ùDL(ÃÃoU fð¯»*ÍúÀ @5ª!ŽOö®Õä‡SÉ E3£øO…”XMu§êÃe*ªbùQÄA©Â  Ø[¡ ¾?¥N#?Jp~p¥sUîËù+:ót«EÌ1ê¤ ¾fƒT—3õe€ŒœþN¥ÒV�TiËÙS�z†œ•= -@£CS@£ÑÔZP(*-Á8q´ý¶Wâ×–·m ŽþPó&‚2âóƒÀ_¿ýö�üæOü‹s¡€u¼ðùÿH´8 ;–¦ àtÝÉ|·í·Ä{´1…Ñiüg=Ì‚ùv³�{9ØOäfÙ ý¼n$æÕ·dK  þã¸ïØï,À“ú -€7€n†ùC#?Rm�Ëê -f@~}ó³b-SìR‚ÜŽÜÙfG·@˜h ÿX�'$«,ë?/¯XÛFiT‚T+*9h•^)ú6›cøð,ÖZ�whg &…?fãñÁ¦ÆpÏùG>Þø’€¼r8r½�Z¦“Š,›@ËÙæä/¬B‹WèÆ¡i­º,à¶“ÔéÛ�OÒÔ®èBɿֺ"†¯\€z»çØ«Lu[.ÄÓ0ý©QF,Ê$@\ÝDSV\àëLFä 11¨UåÅ�«ÐúeüwJ)æòÀÇð‹›°e³Ø�LïÞËë/­¿ü -"·ÐßaÔö ¸ßÝøæ ž©¯ ›¶ÖÛœÙèýŽìÓv­b–È­šµ‡}RÕ³D\+™€v­^ŽM¨ž>xŠ($€ ãj‡(Àg:çiüoÖ³òàšç©þTÝ ýGÇ3ãªU]m7%PÅÓª´Ï4Vè|üY�€˜¹Zò³ä¢üç¬B�¡ú×–]�ç,í6á¸9{ñ ‚qW^xáÚkÖ`-?þ»#üXK"(ÿõ�×_c€�1€hƒ·È>ó Ê…OCRJ› , ;w0Oa�ʤ—¡µ`ĶåžLK;àúv³­7Q8›�Õ7øLÆIc 錤¤¶ÃƒÀø6õb„[€Á^ S0càÀÖX`$ý” t6cyÕaêÝ }€gIâ*§´€%¹1Œ&¢cE p–[-qkáç_§x³€è.Ð)µµR÷àQrœE8›µ)ÑãFgfü%JÇê@Úï[Õ+úÛªÀ"7YØt¥ÕÕE5ªæœ«€"*J­6fF\&ìVu÷q {¼nÖ[Õ)»&%t¸Çÿ‰ÔLs Ü÷ -€N“(‚v˜ô -²³+røç§ê+pµ´Àª£>A€q/À=÷ÌnàÆœvîâéÒá‡r#ö8099ù�°åqõOÀÍ�‡s…S…œÖgfr�*�º_ fÏèÅ‚IfÏ˵ýö´^Kê¦ §NÝ?q?Kz+'ž‡7gÅ›;eÉyqD޽BgR»NýÊቂ<ð€Še{yza0‹Ô/öíß÷�pf¥±’ËT¶‡,·ù‚ÎrJ%/„’ -ÿô£JÀŠÊNÁUòI/y(%·Kó-§ -÷ÿ\ù”•œ2'%·cدӨäúZµéTafâÔ©œ -ý€ -v—¾ÚÉÙ¹<wŒ��»mÃͱü½:€œÿÕ/òzÚÑ?2*ø?~ä\°ú‰£(ãÓGŽLòVŒ[sP ß Ç(˜1:.�înê➥™)†ÿA0k7…ûÀ I Çÿc ë -@;(Ú:+ôSQF´¾ÓÞŽ6©»Àn -™Àfm…n­�b ›/´×-Ðz\þ>ã_ÊëgŒŠ•F糟Õq¬Z_¡Ó€Öå;ë ಀ_óvƒó{û˜/S£ô*7¨îE€¸Þª‹è?ÏíÔ�Öþ,mʦ£ûúkìëT2ì‡ ëââPtíFjpÑ)³@¬8 -€J¼«�&Ö € €¾À;P¹~ €á_Ðo>ºçž¸Õ( ÛónÌñ‚åÀòL˜ýàa-�Lës,uÀ“�:v¹ÍæK÷ßYxk©ŽBo–Ä1„{‚ÆS9AaîÔ¯œú¹€~JaGj'[N ¶aÊäÔ©‡~^;Áb–µ–#8O¸/oy˜(½üì?Þ·ÿ®âÄýñ2´²�Ò.[&Qt")«²q�mîÔ|ifâ2qŒgÖ™ØSð‚+9𮥟ˆSNË@ÉS%ÏqR -ßaЙøª¸f}LŽ™ÌüÊÁ¾s³r·m¸Q­¿WÃóêi^O¯ÆcÙpÀtÀî;z¶ß à,�£ËLOgn‰pgÊRÀX&aªÿûÍœºÃu«««Q‹úAJ®í¹ )üÒ:ö›é¯fǨƒˆUÎÔ¬±²UË^5 w'£ü‰ÿ£¢‚£rn·¯4Uuu ¸•5 !@u�Uúc6Tè˜5T¯(³ög!" +"ÍFã °ÝÚì­ëkë­÷TðW¾É@î¶ 7‡ò¸Å -@"Ä -À“" -—žýÊ“è0~ÄšÈïfvgʪ¢÷P½Çû€êÇÿ„È»wÿ_ª<‰¤£³UžOFn‹Ü‡ÿÍ? –ÍŽOU²ãª)é58EeI@5ÛÉVlx”¨êÇåɰ¥íˆíg¾Ô¹*âJ‹¨ë"AVõµ€jvºj­.zP'"º#Ðo6Úgèpfå̙Ǜ+ÙZ»-„Ãìè®fr€TešÉIÙÝ2™C»N¦@b€‘ÿô zþèG?  ÀƒdÚð×o÷�×_í?^ûÚW?ö/žxâ ú›ûooS ZÓf0» Hel†ýE:Ÿ™Ô’È,À–43ô5³õxîæ;ÌVdì…?„œâ³…lãìÃY IšLI\áPfZú -€ûý6% -P¼Aa¹)æ÷ËML 0K -¸ï é€óº£`nqÀ­Ð� -€þ¥þw6@6¨ÊSÖÍc”Öµ±–þUMA£>,D…Ý�?ÞÀí_iŒ1z`óñFóñÇ­wŒJÚ¤ÉßÐÝþº<PkZÿ>Îh…á1ÂeƒUÄ¡)Ê[Lýº¦ó(Ê\PÉR -@5ÄP”� -t3@ù%15ëh -A}@ß�)ü”HF€9#®ØoÎH€¡€v9þ§¬»¶þïþ`}}í%éä�I €f-Ú@CéVü£Ïò—weMੇ'´Œ -3ù%Ñ -bäÏKe!"q–Ëâbtš0¹èr¯8Ó{…C°°«4Ú¨å2ÁúJL¡–µ%*ž¿¼®üy6Ÿ,¿ÀÃté¨-•YýWëkQñäˆ@.×ÎÚ ‚g;i0+³6—Àwí {íõ|Ѧ/s§¢Þõ¸äê+ƒ¥ëž‰Jnó¨Wš¼ì%¿Þ]ÓQ𮂰Ni%gáË…‰BÔ[¢(ô� ;åɓǎ�\x¬ì_øÚ?[ûW6�»mÃÍáûn÷Þ'À§ýÿ¾TÀ¡Dxö ÎN�ñ€³g?uÓÉîL¬’ô0vnøo ¦ÎäÁ¸kÖën°ŠB•Ÿm«Ö§¬zô -‘MÔ†±U*æ‘™úÏ:µH]®L¶£¦-£¢á!C•}­U•èEÿëZû¢¿Î#P[çi�ÀÅ#PÝC¨™mvïÀ+\WÚ�7VÎÐK)»Òxœú­ÂÊT5ЍúUî…T­¦Z1[Ñiœ ±juüPf\8?ì�½w4sô -À¹ < ˆahøÁ_ÿüüëõ#ø -½„ÿæý¯ÒöïñöfÚ€‚¡[Ñ5Þêû™ÂŒ›½´à·pë¶¶Ø{å[öDZý¯WzÅý!­›{Ь¾›VM† X»)£[H©+öã!3 ƶŘÅ1fà™�°“(úÇ¥þ ±Ц V8`@¨,» ë+¬‘…LHHTëPkŒYØ’”þ±t´;‹n� ýcåúצÀü&,/šîµºH �c<įN¿q mÓ­c -€r`ÍÊBëútCé„ÚÕVž"Ø)à -@ëÊtJàVÐ>n`™)I@¢�(ýÝ·‰ ’ß‚ C@ı€Ã~£¡€I|(¡ÀXò€¾­ýó5bîåHώܽ¤‹È�ÑcOðå}óÌJŽ÷[Í£ás…îuËRËÖ÷Žþ„èI·@Ù7 -ÅîR¿xüØììñž¤KƒßÈþÕÚmpssø~�ƃ�Ã$اå_ðO€‡˜@¨À¥¯<{éÂQkøTéwžìÆt;Só»N•ìøxeG wCÐ?]FýéÅô2µ‚œwUZuüKBõ—XEhm54M2¢•©˜²WU¹µi¥ÁÕb²-èC¡Z]×j·mˆþfõÊy€úù–È�„ï0žÉ.gë9rÙv§Ù©4VäÉÑTªéL M@~Ö™3(M“Z >Ø’ÿ¥4­Ù�êºR£ŽÜÕøzw™ô ���O' -¸öþüÍwÞü§Ãÿýà�·…ÿ¯¿þÚ5z³OŠÃmnû»´÷ï?õ6…úÿÈoø/ðGÿÙ¦?þ#Ù6°£…’%¦Ä#&Æðù‡(. *,Åf -@X6Àñ@1æÿËeݦ€ÿ±`�]B €Ý‰ û#‰°»@é·+¬…;fŨ+"BQÂþõ�ü’¼üFÛîA-Q‚�£‡ejӨ뵆-7 -@š1ÅAçnè©g§Æ`) ® [“¥3  zR¯ÔÇımŸîŒDP.FP,@7pEת¢qqA \0QR½Œè~w@%î+ÊU%Š+‰~ €€XÐbØïdÍ~MSìYTF‰ Ÿœ‘mQÈm5ÀHð%p÷/워À,$´µYßm [“ÁuXAXWv!õu0 ½ûݺ"=üoíYâÃÖ_Y­41À -Fg.÷8”Íåó÷¼=€�õàp�_]\8yldÿþÙÙÉÉÓöÐýüÃÈ<æ_¥·'™©„Žå~qÉ­ó`4Ÿ›ÿ91åe¨ƒJå' -¶]@E°Ë^y²~`0öz¬M–ìáAó]v\%;xðÄÉÅ%¾à_ wÛ†›ùOÂÿ6 }0Ɉ`(à§Ÿ €Ç§±~ÇÉnÌ`gB+-oƒ P€6p[·Ê�”O­LW„ÿ(º©­Æˆñÿ#aªTxÀ´j ì²Åp\«YÍ^ÉVZ�v§‚ Ÿ%~ºšU=B�F['KÏ4;Ï\U\i[ó¿áµB?ÀññÌA€ ”¹ÚªeZ�†ò¾Ü­Ï~– Õ¡•Çi5UÅUñ&#ÊYå¯×x˜!žBDrqCLçÛqòíã®LŸÓï!Ç�&!bû àÇ?þ£X€÷ø´Ç8úŸ3à¿ði_ -¨ŸšlÍÀÔÞÁ [ RmÉÒøÌõfß½½?­øÃ?úÏBÁ? -À¢|(¤nV–c‹ÊäÅBpÄS_@/ÿ«ùSY©µ�ê‚ÏX-Ïk…VVULYq]­€®£Z9ÃøiTáTÞýÊy˜Öï`úÚùçÁãGÏ­^”Îàÿ…k¯ý/"Âÿ‰üýß›ðC½ðƒ¼óöÿ ðÄÇž�çÆ0Ô?wñœÏ ŽÞ}3ØÜ†¤nÎ ìÅQ> [}ÿ`Çü[µ÷èàbïß öÿÐþËÌÿÿÏòþ‘nM�%e‘Q4^ÆŽÚQ€ Àñÿ=(B~SÜìß+úólQ°`·AÜ @XgMúSÅ -Œ6!l w@øO¥ûŸŒ„Ø&viûJ§i ¶²rfÅú¦ZIšòú•Ì!UÌU|ìÖ u'qö¥qÀx :- I@‰¹U¶´�îPK+€[TB @=V¸Aô[ö;YÛ¢¨2`´¯ÈöŒ†^p[L µ&èZZÍÎŽ|pD€•“«�P€Øä/†0•Öm€Þ0²@'ú¹ÉÜËë 6."ÐÛ‡Ÿ2>R0šŸD;7 Û¢P5Ú°Æ÷Çø°×cé¯YÄÉüœÐ_è>;{Ü|áÿñãr¬åSç�ùÐû÷�LÞ5É~ã átfZYŒu+9E�K^´.y3¹7¼äVj£%J±À�Âfä8Ïã´Çš5ìâ”j!b,%§¸öQÔUÉ‹×ý’�ÿÙÜñÙÙ»Gî>~rñ1í&ߨ|½¼VîvÈݶáfàý“° `Dbûî=j#ÏnUÒH¿ód÷eßÄÿZoÈ6«YQxšÃí ˜–—@• ü§EvlTõBÓÆÖµÝ“Ýxª@+³Œ—¶,6!È&U[ç­â[4ÚÙ �Ä[[-�8ëT2 Žö¥ÎU:T«’áCÔ?Äàÿ«Žl €,#®W| òJ»ùøÕ·lámõX³rÆj$ºN¡›ê"t¨vÁ -è;°»ÝDW½uofÚZóÏÀÃÿ㟿õÎ;+¼Gø  *À�þú�¾àM(¢Oœ» Ã™]¸ ŸL¼X0˜ßb¾U»ùdÍg¾`›ß‹óo€ÿ§!¿·ü‘·Ð`1'ß•à V4Çÿ˜4qèè¡#GŽì `@p0À#ÄÄ6LØ1€&ZÖಯ Æð›Ç½Ú±`wGP,ÁÊ­ -€y`ú+¬ômH)Œ…Ýü,îN¦ö7æ´"S Ú‡.‡Ïî -€ÇÔª(€¾@0àÀšÀ,­ôÇ�í¢¤bo#E¶)núV þS -€1€X�û¯·~·@¦Æöìñ^PoÐ�¯ñÈV³³û?8 |š ¬S@ꋤ›7ì·À|€>åq“ºpxF"ñ v!Èì±f>�Š3]D‚ C¶†@@¹Ïö©ùZ1WÐa*Œ¸ÉÈÝP€cxÿ³ÇŽ3pü$;ößñ¾‘‘wiÑ€L®7Y»YqÇ“þw0ÎKºBq~fFÞyqQ%×F•ÜR?ÂQVD³“Åîd®bí¶ÉËkÿ\Щäv `�'OP˜¹cÇT´�;¹¸dÄgqѨ‚,€ÜmnŽÞ? -Á€ã¼aİÏbÎò@zSΞÆïúöû²ogjÍ ŒŽÁ¼Ž³šC¸Ù=g£Ïj•e:JÕ¦+À¿ðŸ Tð_‰mð ÙÜg³´LÃZ¬Ôùãö€8P›d( l‡ !©&%æ¾¶ŽA[€„ *zn“VêCbb€&€ñ±äi€|_)@?¥Å¨¢1²? -‡ -·–¶O –=×W({pòƒ#ùYœkì¤ÀÑÆàwG™%Ìžž³ùÀè‡ 6 àdŸZ�‰¨8†æö”=\ì&_´óÅ(jaQ…øg@¢ð!(-Í»KJf@v÷ÁY�u½…«¿tò ðÿûïØ¿ÿÀÒ�0D1èä}.ÀÐ*¹³€ÅHoÏ-.ºCýyö�h‰ÓÆÎlÑÃÅMo8àa t!Zu €®=ú’ËF¸n/Ìlnöî‘�Ìžé!:¯²@î¶ 7 ñqüÝýÀ½GÏÚ¾@P -x'ÈxÛm9`ª›§úë3† `SC hH |öñ_IL¨gT�È´¨«3bšÙªë¦jϨ*TµØTú:MMÍU¿à†hEçix¦sõ“¶t‚º| ª¦L53žæªöXÎ.O‹�Ó -¾?iƒj‰uÆà À í%ÐZygÛŒºf&G¦*úÃePGí:œj�'S.^­é\HÌ(ŸŸ[Ì6ø~f¤êÏôùÞí}AøOÖà -À -ûÿßï^HŠ_‚`ß_"w:ú‹GŽèÍ듘ÀH. +2¼à- -@b™¸ÀÀ @:ÀñßGÑ”�ÄÄM ­ýy¡«Ø»SxÎä`¥Ù®­X d VîN\ÐMè `»‘Y?Ë€€®&@ À€ÐJ€:…ë+¢IúHšR -©b –Žˆ€ÿïÍl«ÀïÉ/+šôÃ@`/½|üýmV 芀ì/¸`(êg  Xx8ÆÿyÆÞ)Øð�l`>êiŠ{ìÈ)ŒL„ÿ…bò�a€hÖ⾤’S¼v=vþÝÖJ¹’ùÑ´ùÏ -è…ÿòð�›=&øŸ=¨�ÇŽåúÞÇþ‘Ù#ò³1JïOà!ó<�(t+ð˜?ÌJ.ô^@k±[Œff".ä� z‚ýˆÁèJ_˜lqqim�*ýcð€ÅÇÖEº¤Q ì„Ç�Mª˜"´D‹å"QKbänÛp3€þI˜;ýýÇÂ!½÷ŽÛ¸3««OÆ Q>¹ëÛïÝ;€ŒŽ - U�î5Úµ–nN%±8!««Ü¬b©Rþ[µÑ´z�;ü�«AS꺣qÌ øòq¦j�,.»)ÊŠóekÍ,Ì£¥ºˆÎkùßnVÛ­úùºøÀùóÕiÓä2Ð@n: f›íJGèÞ�ß“m4ÛzÓý¿²ÒPm ö7*gš"Ù -O`!ú‰ÂKÛ¨VÚª‡w�εQ½2G!D¾~í9€k®üX Àÿß1Ж€'~ÃÐßðùÀf.|Ú¼c{'†`ªX�5à<ëþa öffëïÕÞ·ÿîÈÚþÈð_ ö¦P+N²–¬`}ÀIÀóþ5ùEÃÿ£G -Ã^ŒîÝ»G¯=wî¹sï�{e;Ä$¦?šã?ÀQF–Ä$½ÀrÌcÒ -d1 ¥òOíâqÜ€ß[UÌ‚À=–(lHvV°@œÄˆ'Ç -€a°‘Ž g Êgi' ‰PÆŒ±¾€ª‘(Ê«¯Èt—foŽó»@ßO¢P78ð©¯L�í¹‡^4\'~jf—dbè|p$š @€Q7¹É6‚2z°¬0/X—-êHp´ÍÏä¢%ÁºÀ3@{ ¤é€‚  ‘O0¶�FM0/<]+ÍDk£¢$#r¡Á}Níêÿ‰ãZ8¡MP€ÙÙ“EÇÙƒát”?Æ1+:³yv/­ÃÃÃÅ£¢JÞUa1Û“*ùƒI³A·8YÜ,.òÜÁØ´$Dïñì!a¿µ°PôGfNox""tòC#³yžR,ó/�ÄänÛp3ðþIØø!ùý²�€T!Ê‚ðä³ÿÒƒ-àÈ�?øNÜŠ”¡„ûo\•*Õ  BeÁýI5‚ y¨,TÔ9§,øÿÔ„Ú¡£þWTDožv¬Ö¢€JµRoñ8óà7y( H@K5Eá,ÔSò4ä�uži_­UZu«°ZTáæï‰îÈ=P¦bËW[UÒ7Aå#ªLÏ4•6ƒ4Ç¿R¹yP€XBE§TJªrˆ¦7šg*»Nãc»N㣣ã`nüµkÏ?ÿ5'ïîˆðw>1 Ým€t € -è›ûïq€bè'VÞ'ÌÀ} ¸j -�õ¬¶È1!Ñ{³í½¾õ‡hÀî -@ý1+bb¾�’²Æ -o{±¬×!Ø®ÙöÞ þß¹gÏl][Ò×fã Yú -ÀöCü¸€‡(²Oêo‚ ôÿL¢XúÁ6üÞ'$ˆ @GÀŸÑ? ÙWü~ò#c®hE0°])HeH= 0�›¸§} Y¢XÑR1¦$ €û'hVãfº‡õîÇhÒï½7Û£;k\]t¶Ûb´†§ŠÊþ�:­aø?)8O¤­\>´9ÑsôËó`{Ὲ€¼ê¨8‘Ã�ˆ2ž'ð¿°Pìåï/ñ$ÝA[\,Û`�iÂ5.—¯wr¿Ý3WÛt¿t?yò„ØzâDd­ÌæÿÉ$× ¤ßò4ø×¢9ñóù¥?”ÜŠþSr1�™™ÓkVò¸Èœ—wr•Z¡c7´Ø63/ù?³(J®¢¯E3åuίœÈçõš½[ßí1åDl¡~g‹‹Žq·m3€þI˜kþôSz�xä\¢¬¢Êø@@;Â~ü>Ûn§@¸Ã]½,€Š†;xäµöI„s‘€¸³A‚e±ÿoU‰2Ä9b5öŠŒì·¦T� -­HÀ^­´ÚBüjµ� ïŸïÎH“@&Á´Å´;í«Œ ¤Ú»ù9ycÕÚ4~ŸjŒqØJ¦® ¯´ëÄöµU�6åñgU™ÂÚš­¬4šµ,- Ê;K€.´vF•¤ªi.ß¼'ÕÕV# 7÷ó‡[è€?¹öÜs_{Aà-±ÿÿ¿Ù‘~„ð�7^ýõx ÀßðßÃÿ]°¶qMò�­?h΃<þOmƒ§Å—&%³°@ö½™Ç0ÀúÖ·þçXp €×ÿá®1”)^J­˜% -€Ï‰°7¯#GŽ1€¡¯÷Ý Úïø› øßÐKS*ed¼`ß>»Ed:Ø·„÷ÿe - ­XÀÚB/ý{tPò'7³qì¯þ.€T/6$ -€¶' -Ö WS¸+S -€ -¢]i@‰I£T©}ª|}°UàjUŠ”€éÎåØz€ìŸ´e!AÈ¢x  ß `J àž) i'@H$[è -Ûg'Gößq 8ÑxÊâb{Xž³ÙfI -ňtóÄFóÞTt¡d -ÿ ¡ `‘Þô¥n9ÑÜŠkå.` 5[+Í,¬['òÖÕoäxÞ¿c/ ž½@>ìDabR •ÒJh{{Øz)`qÉç)¹æDäçO‹X»|_ù Jâ ˆÝâÄ|TNƒ¿L%_/—ÿ@¦²ÿª>zÑÅ�Eyÿ(dr’‚àC'ÒqX¹Û6Ü ¼–4ýëCh£ù¾Qz°ïÉgŸýu¹Ä4ÜLø$�Ú§ ë&Œ2 @u`©:C0�ã¡zï"Ôcÿ}ÿ_yTˆÐ�mkÊÒkÅš@y �a(àJ•'�ÖZ"Ê«EŧÓ)±?ÛRîo;¯¦V§ÉãÚ-€*âó8]xxYjÕ™Œ*Ûªhñ}:¥ð¥i -@çÌ™•FíŒ2lÔ¦(¯@…pj;UšŽû¡r´VÉa–u˜fc±paõ ÀµçŸCxíMï@÷?ºˆÐ �øµß´q üûÏÁ߆ÐëÈè&K2À.-Ø¢}X:pÕØ Ú:sö¾G{ßûgK¡@K6 €ÀN -L% ø[Ðß×éÀ -øuÀ€C6¦+bà?À´â  Ïm¸Ðìþ÷‰2˜Ý'²<ºOG�’‹)hÌÇï#g7ž.ÁÓÓ -€yÑ}@Á?Nœï–þ,û§¿wüïǸ�аLí^Õß6À ÙWôW&�—}Àbœ@œƒö½OŠe줸þïb™8 ¥Ø‡)¨-ÿÏ[&ë/4Ž„SBÙîÏ!œÌޱO�«à„ÌŠò$|ãÈïVˆJ‡s‚QàmÁرA3“Üõ^ÐNüè%÷£û•_@oHÐ¥%ÝBéNäg~øýw€ N\I' í¦ärò's<ÝW‹‰0`%üúa�'J¥�ö|Bf/yØ?·gaA%/Nø -û߇N‰¹¨¼7nxüâ¯"²”£™ÐÉ@F@ŽfŠƒÇŽ‹  3@ÜÈݶáfàý“0‡!�>¨¿°ñ ¬~åÙKŸÿÔÑ̡̑éé#Gó»š<êÀ€‹6€îßaµ†i)kÿþ?À>æ_­œX«ÖPµ3‚Ù)Õ˜uyçrhxi§A @ÝÆÖ±6âP­Á`Àµ:ùóXyBuZbkŸk‰Lë ˆ†0½è¥ØiÕåûëÀìJ­�€»Õ¨hå AJÞzŠ›¤OÕ½-’ò÷líŒá~vŠ9Ù³J"öï4ÉDL¸¸jàÚó_{îëøÃþðÇÿ›õ0þÿõÛo¿ñÆŸ½ö*OüØÇ.œ{š‚ÀŸ7n±0-Æ~Ð]Ÿà»à.-þ¨>…-¶�ÌÞ³½oÿHÒ ‰€˜ýÁ7¿ùÍÍn~ eIáÌèþg¤Å®Ízþâ¡ 0ækn¼‰ÿ®ð›°oïhLîï¡Ú¢EMz üþß—â¦5hŠmü>ý=À�Hšô_²¿»Y¥OXõ÷­wVðóc€õD@PìTþ/VB -+W ÊÊ1? OH®§Õ�{ˆ˜@µ°U¡HýßËL@Ð mào -À¨�?(²ÿw²¨ pÿàÿŸ >Ȩ;¾+FJ™vÊ…ŽŸÆ'M°P~ôdÎ,GBì‚¥â脤QaòtÄ�8–›æóÂÌnwM¬`í[댫ãöh®(>An'ó³#ï¿@’ÑŒ*«¨x˜@~ Ä|{Œâ²yNF¹)¾IýgòÍG(]Çe�ôý/æ�¹ÄÍO() )Þì¡# E{Ž‘¼þò�òZ—a~eÑâ81ûÑ÷zlöFö‡â‹¸ô•†r·m¸>ÿ$Ìá_Úøø}öTÀ{÷�Þ{äìgØ÷ä¯ÿË__?â -Àîü#X½€Å8¯z@ ÀEÆ�(“³8€Ú¯ÕšÎ¸oe[ð_0ªÚ�O;̪A#š²tœr˜G——¯Õ`,`†¦BM�šÊÕˆлÝRug–Çd3õq{€E�eÎ_ ¢^±ò8�ÿ�š®Ð†ÐâT“§¼.4Π¢©bd$À©¸rj üð7 -€õ¸@À…?¹öÂóÏAÞx @øïºý€�Løº+ ø3룿Ìy¼d›ÂÌÀÎÁ?¬m±~ª°{§DïÆFòQïw7zz›ýîï²ð»/ëýöâlH9`P”~ å™Ö�¤ÆØ¢Ðød|áýÞ=ÄüßI0 Àà_¯ûîÝkkb÷™¢3€»/½•Û,ÍØ[èàÿ|�°z¬ø -fÁ*Àÿn€3mÞ�î ô®¨„2€Ô) ÒªÄ‰¶)˜ -·UȘþïiúšÀªªH€@?Q4–f€Üà”`Q´pâØÝû?x`–¾ëÂѰÙ[Òc -�' -ÐÛÑ£øÿJ·`n:œ‹º:] }=Àrb!bþþbW³Å²F�ºˆ‡kÞ¥}sÝõôµµÅ™hm‰ÁxTšcÞ‚Z2$ô„ºè2ß39ËÖ€ÞKmk1Ê[CbZs4ÖYe:Ø €­)[º„’û…`§yÆ�Öqêa]­-ÁVÊ�ݸ±îýÖ"`Q§û¥Ù€‘Y•Š>:k(z¹Û6Ü ¼oÅñ7søW�¤j6lüèQkxêÙ_ÿõKÎê:$� @?ÌhUç1û;04€f=k÷àxœUmáÐŽY€’ÑÐ ÁAºá?÷3xoœêš6,Óißäÿ1¯ùOÙª}òäó([ Ï—Ó¤=MÁ²‘�~Ë6Õê­*ælÊW5ƒëd:új«^5Ph¯4²íF[Kgg<`”™ê`Õ°JÁ++" d£ZU—O»„ªÇ]Í Þ¼ýçã{GïŸ>€¯Ó ðÚµ¯ûÃPÌ|+¡ àcûô§…üçýô& Xt?cçÃ, ÀÐ5eae+ÌþìýïKÕ_}óÊ;1ûá�t» ”g°pZæà= Qy7í�|@ àazéc»°wŸà>f¬M(ÈAÐÜ,…ø,êTÌ� �xÿEâEÛ¥ü,ÿdó¡í -€�»¦�`~'€N€(> ›2Mb´d1´0à Æüt €Î9H€_#� -@€èÿÎfþ?ÄŒ�þª€R -ÀÂ.æ -‹º'fgG>ø�…Wò¢=Ž>¦Àfþ¾ã¨> HÛ…gÖ/¾tyfÎzñ‡ já¶tõ¨0Q¤×�µ0`@„oV”3­þùË¢××nD¹¥ÄÕ)͉Yb’H‡á¥›'üõzmóŒèV`%ë͘Ù>º²"úb -;;—ûòu;“•yqÁÆr³|l%*MxÄŸ®BE)ŒñeX‡Êrù÷7 ¯tg¢â¦/óø1š><{?íñªÊ€k¬  -¶ª¾jfUaázA0T_h×¹´¾Ü@×'Æe…¾ ¹ÿt1p·Ë®P¥QÙÏPéB*xÿV%êcŠâïjçûˆ¿e}ÏèXh”yâœ�øü ×^{�~€&XLà‡<(< ðë<øcŒû‡ - Èg1–XtdLM4˜ÃÌyN™+©­aq Ý{¶÷íß¿ÿCzïÿÇöùˆfòl>´ÿÀþÌh&; %åö§Ý´Î5ñò0?­=tèƒb>p§^î±õ�€ˆx €@_÷Š% -1î4ò'6°•Þ6i¯_ËÉŠg¢ ÷Ùý¶&fäÅì}v´¾ƒÀ½¶“P›p`�ØmzXÀV V -€xñö}££ã‡øb-¼¢o–&¥ü´ð_¶UÐgÒ `*€ÍƒÍœ\�i¸¿£¾€–n­é}j£�Üè„Ã"ëþDGM9ù! €Dò°µ‰Ì{7@ˆƒX€ó>ô¡è6{X°¾´¸x=z g9Qr‡v•!òè7•ÕJî}8£ò+a±ØËå¢Þ�OG-,Ø3�m˜RùõÐx1‘WÉiÈ�–BÉÅâïf©-®¯½R.¯}sm&z™ÿE‹K‹6  c þ¢ïA_ ÌÄó wÛ†›£÷Mí©§.éVv4‡ÿXÿõyÄ€ÕgŸ}ö‹(GÈš„õ÷Ûç†ýFD¬f� ý­b££YùDÕËú @‹õÑBµOš ü÷ -#åÿÛm;æÉñíe•ñ©lujyJÜ@t`¬RË´*ò5TŸµ*rÁ™¯Ñ„P Õª"rù•Š'òô>ÕtâžDœe *þÿø˜ê‰jvªvEU ÎP€y2<@<À¬P6šo­yÁ»À*gTi±¨2eDnbçc¼ßö²šuú¬À ðšðÿÚµ×xp¢hþÃÊÿÿÑ€ðÄÇ.~ZàîâEýßàÿœéŸpPK ôÒíê;þ›~º&ŒßBJ¶� ´kd.Çßc *€7î hß#ßÚÿE¼ `› ôþïÛàÓûFí`È€C?͆z[bܵ�Í:ܦ(AJ=Ðöq˜Ä€`f� ¿xˆ÷Q–01rpH‹ °­Àð?V2⨃ -ÎyüæVM)Ú0 hwµfõƒŒ’�êt§&£M*º -•à¿.$¾FÂe÷³l9 óOÂÀ?Qh íb‹<ZÉòÇòœ�eÁ'O·娤��nĈú¥¾¬Ïbñ´Ò”yðõîÒFqæT´±~ýz¹»V¶gäZ4ö �»]ð¾«)7YØÔâRÔ][êöÖØ¬ü¢ðÔýbñztc­÷­Í÷ÇÝÜÆËBe!©Üèc³³<åO¨«OÕãÇ,ÜOS~a±Ü›™·²ZÑÉê1å™*¹ 7 Omµ’ëêT¹íݵn¯ôÐ\´¾±f+]»j},ñ¨‚TÉ{ݹ‰Â†U¤µ¨Ü둎ü‚ç—¢µîÚ+›ÿw•|í[ ±¨’ëL²ÇgÎæóbDž”±r·m¸>ßÜžúBXjÿº¥õÁKKûî;ú‰ D¢\ºpöÈxf|úH&söhõìY½Žò±u~¶Ñˆ€€1€åzدZ%ÅpBꪮê ûؘ@ŸÊÂ2�‹!לѾë~?#ð¡Y@Çø-ÈáVÛX[-AWHh‹ñÒOß‚ûuˆ€¨!sÀp?­¼`™ÁØž=wÀÙ�€$�IB €œõ€Ø[�»Ot€Í‰ÄðÙ7–ý0þïC)ߢ8{1ÌøƒÿÆ~‘]‚|VÄr¼ƒCÚDÂ˃1F@œ—€:—�%ߪQ¬|`*$Í'|u{ M„Nè›·A–‚ùÅúeɰù§cº‰©N¶+½›Øæÿc£ûe!p±�—Ÿ½ïÀˆ@³ôe¤íùRÔ}Q€¸±¹¹¡Y¯[*E¥Ò|¡øh1ºE—O—„‹/m¹AWí›9¥Í @côeæ�v•%¨‚ó‰ùS÷h­&ëøè˦ˆU(sL©¿µ±^VÆÝèTôÒæÆúKBèè¤ òsBxn Çò'Žç¾¾6;{2ÊONñ½pá ºþÃäý÷,`?fsñ¶HÐÇX-… aé§o`þì§WlY×â×§�;x€ÐS@ †Š{ÈoN<íû„àúè-[bö -Þ»oÔú°üs·\ùØiO�ÏMˆé[ô)Û…#,:�@;Ñ+lÄ ÆÁx`^höàZ¸>»®>Ø6R°Í¸"®„Ž |nñð.;Et ‡ ÿ‰™¼SäI bB""á›ÝÉìßþÓôÿÍt#'ãô€ÜMm† ›8°ÿ}àƒ“wMLNNè=3c»Ð$›Ô²-°yæðäa_6#].÷+3¥S9ëh§C,—;üs3¹ÃÊ<å›û–Ë -:”º¿Ä¢¶Mª@#îºëÀ]ؿ´ïŽêçúà¬ìßwàÀ÷Qò‰I<”\GzÙÃYká!Í⢳ÕÒå~åðýÿôTîÔ)–×ÏÍ|ñ¡™Ÿ;œ›‰3ß©äyJ>W(žšPÁçæ”â�ôUNÜ5y—Š}€‹V²BÿÐr·m¸ Æ/ Ë´°úÔêW/œåIò2ÃßÎG<ùû}°ïÞ£¡९ÏŒAˆÁ~‡ùQA@l�ÖÀ€à&§c@±Xýí³ÿ…Ø×c1ƒ:2‰55M_ómÈoÆ6ÛÎG¬ôöÙ€˜í0 -%ڢЎίò÷á_o÷ðY7`_Ô1¨¾˜X¼ »Ï c4ºª„$ßëÎ -W¯oL”Ét“Ñ{õý¦N¯ ´W¡[,ÀòOѼ V¸µÇnÿ Ög…^söØ·ÿÀ]“¹ÙÉÉYà\žnóºPÍRæ -sBo— |Ó‘¾knîÔ)!ŸlÞ¦SZÎ�ú¹™Bá�t?ØL € –AÀ8!¥mÒâ©Biæçgr‘Z�¬íBÑIaû„Ð_%ñeþsýŸ >øvPÉgí\*Μ¡y(>óùûCɹ*+¹suΊ®rÏ«ä€ø©‰‰’J>£’Çh/Ó1“:0AoÏÛK®d³úzŠ©äl ?;óÀä]wÝ¥’ï×WkÀ�š}À,€Ümn}ßaº¸ú â[½ôÖ7�f!•Oû¦ýü×瑳ʂ&€K_±^‡L8;íš¿ ÿ[æÀn£+íÎ 0ThdG…ÇÍúÎ ÀÇ ÙŽÿSÿ[bžw-›=c€¨½êx¢dXÖî¨0šW3uÁ4Ž¿r³('óÙAõ–(3oîlµkÓÕª^Õº*ˆQóÿEêôâW*•Çog›�?nO³ªgÈé*´ýWš $ë`EWÙåÿOyüâ.¶UòßúÚ#0&`#¢ðªÀÛbI€^†ÿï¼#üw†ÿ‘ÿ�úC¬~4PΛ¶*`jm²öKÿ�-áfa‰3§K™^aY ÀH€] -€9§¦,3ѽŒYÓˆ`ÃŽ -@ˆ°›„6z2ÈÔ�c®ûÎ1,‚˜a“ܼ{_ÁˆøKV-cÍÈq@0Ä@3cèÖÀ%2ÄAH›€>ûÂJ ÏZç»°rú©� ÁþM°«O}Û2êÜIß\Z°ÜdÊÖ_¾b ?ü0€QÀÆïlüîMÞÝèQú³GQ”›<022ûË õûv黸H¬Œ+M·4SÈÏ£�W¾õJ¯[ÔaÝÞÆZ—¦ýr·ûr¯×{y£·f‡•Šó‡só½îåM{:p¤¤¡u K“ñsÊÎøh­èOé#ÑæÆ+½âáS…âåßÚ¸ühñQRD8lD]¥p¶X˜�åIÀGþ‡»TäÉÙ»~a…=ŠåyÚðÃg9ÒÙ¢h£tÊ.ÜØüÖz©棨·‰Bß}LC‘ß¼Ñ[[Ó”\¢x>ܱN1?ñ(‘ )ÐÒÝëö®_ï®­—»kk7þõKJ°¤Â—fæ~Ç¢ S%Wy, -tš¹íìRr]‚í*F7.ÏDœ70l*æa³< Àšgd‚xßmpsKcø¶‰æâ‹@ø“—V?>-o^ @ÀÌi@l&ö§Œq -èÒ³< @`8ž9B/“Ðü·Íyô­ б(@Ó#3š©íÂÐ ýcüϤð_è¥ÓnЕ©–=Ólº0m�]¨¢ðäР4PÀç hÉa: - . -P¯Õ[í:£® êOO™�Ù¢œyüñvÆ €)FR -À™DhèãÙÊ”(@Àù¡p~¨�Þ±gtÔš‚ð| o¿åýÌ ÿû -À×!û€|Úž0øß®¤àô½X Ï[§àaipÛpKޱä~Ll¬Ñ5PØ4ú[{yù\þ. . ODÆŽÃ~{é#àÿVÀœã„˜ ØÓ:|@ë¦ -Øõ?˜)³­8üƒ½¨§Ù?İg›úé `>�ÌËGÙ‡´˜/Cb Áý”VYt fû ÿuýfñ°“0~ï¨o[€ødÊ+iÐ,@òOÛbù&�ɘ¹ÄOÞe�Û^ÙF ò>q‹Öñ]�¶àÏÑ-•-À�í0ÁêRy}‘|×x¦�¶t»Å™~–[l�8J[/<½{óEN@èžt\\ì]Ÿ)ÙXA”ÖÕÞF'À~Ù(€YþøñÙãÇŽŸ8ùÀd!:q¢x‚SQ™a°Ù¢–~ ï²€J®B ”¼ÇLìÅJ¾Ø-—r…W”&MÈ,Ä󛩨/áù«è‘ +観l>P´'[É­¼¿”Ï©¨#t8Q°·p›ÜÜ>sa·ÉÀç!Ÿ1 ~§±]ò»ãß§‡Ž„¸�K—žýÊêYÆÈL�gŽVi쯊Lûìh5¬’º 0€•vË)€3€fÍ­‹¤€;̱ÀðßBüþ;üƒ°šxøN«ÕÊŽf”H@­T"™¸ À-¤g:—)òù›Myþ¡  Úúœ�•‚Vª°“�PLRP�‚ppK -!»M£wBŽž[E à9€W_ãM� àðÎÞz;M.\üÌ>í�4ì7ôçíõ{b1|¦A4mö» t|ð$�/è³T¼d“ýÁXêgäÛãâÛ¦X�ýå†ûƒ -€¡­,‰0 ÍÙ²�€$@TãõÚ³h¯ÇuwÐÛjô`f+‡Dêð_[ôöu4ÙÇV@W 3wßПwØeË,lqÁÁþ840Á™5¸ÿüóeì»w¯5kôñ?|«ƒ -€+Þ P¼)ôÔ‘æº ùŠ/@þ©[P` ›Ø aÕ"©8  ²¾uÖá,F Ê€PƯ6:X²ôÆRpt `FË×ËÑ"^÷�èp¡—†Má^j�}àQHJ¯ü|¡›çi}Ú¼ Üн’€PÆðlÆ@~–>�2î�˜A”›‹`ÆË&ÆBÑtu2•¼°F1M¼Ðn+yàÝÅEÆð½®]”¼·4“ÛŒ jfã÷…åy‰ÐŸ!òù¨�Ÿ·’SV}O3ó]£<îœeö˜&|ИËI}» ¶@î¶ 7aüð ÀÚ>iõÂôÙ O -ˇ+}ç߸ó°úëŒô Æ@¨�®NW��>zÖg0_ÕÝÀÝ@LH1\ó CšÊê­¡ À�X §úø¥ó¥vG ÛhtMqŒV“4%H)dè -€Š’ÄØY ¬QtSðÿ³Ìo˜^®Žïp†€ÐÇÐýo \�Js‹1»Û¨<Ò±#G?n -ÀµW¯=+€¿ýá~ÈÛý€ï¼ ¸vík¿ùÑ�}ìâ¹'>#¿ŸØwü�ȼ‚ßÅBÍïC -l6ÆÖ_M#tŠÑ[o} n ¶=,m[ü¯Úœs÷A `îöÛËçÿ‚Aï ŽøëÇO´At•»õHbKá½) £Ö ¸iN3 ˆÀØk (òô͸›ê/ZW‹ T l6þqþÍ÷ãðFÐn!¯©Û»8Ý1Z�ÀsŸ ˆx¡0]�^|#üÞý/`‹ ÂÝÇ0öÕ‰`ÜJ�&)³/$àñOßú -€=0÷&&�Ë/wgïÊ ° -€   °Ü˜›,tyê�\eF¸Æ0ºTrÅ Ìÿ_*G½îL~“#=²+èýæô®çžÏÏ—vjGE{î®JàÉIY,â:“Üq_žÿ쉓ºÄ|q­—ŸŒlpAŒ²PôÔi)ßf~"½ÜíÚcûŽOÛ—¼èKåÅ@BÉ×z¹¹î#áp3åhÔEÅ8IÛ>EÑ'ÃÙã�‹×Kî1gåôû,Dhé¨5ñ»Å Ñ@DðÝ’ˆd­³_m¨�à¿Éÿ†ÿÿô-þu¨ ñË`g�v;VjÖ Ðbú 0 -i5#øVnЇÊÁ°dòí¯ü|µn1(vv½\ ß]e¯ÜŒT¤cT@mû *{öŒÞ›9zÖbþ„§¹wÀýwûÛü­@üª)ú#œû´Ž£à€yý¾ƒ -û–¸W7`¶*ô5D6d6õÓôßa“L a9¤Ž_áÃéC¼®W(PbV–°ì¦5ù‡÷øÇ -X8 X?áXxÀÎ -h`ÐBg´!Œ`/R�èÝÖߦ%°зg7݇6€ç·EÀ‘wôû}Ñ}~WÂKPÞ�KT�xÁ¾Œ¢% - `tïÍcxlˆ -Ég#(„€ûTˆää–µ½âïDóÇ?ãadb'¯7Ÿhï öŠ�'EÎÚ8€†T‰±öÀus…] p~Dà‰cÌv}–µ‘5{ I—Ö»3÷ãsÿß”uyõóæBÛw8ƒà”™²Ù˜?\܈,ÎÎün{8‘^©²àú”O–u¹Érr&,ô‡jxÉ7æ&æ6qï!6Vrö fà»OX4íâz9—(¹²Kø„iVp}jY[DOŒÓ¨äE$eÈšLirùü¬= øC##ùüƒ<Òù0LänÛp ð=Ô`W¿xéóŽ~|õÒ“4ÄÈx@°‹ÔcámðÏRB~ýÙK_øÔ‘ŒÐÿHæˆüÿi{Ëç×§¯°nOÑÇÍŒˆ˜` -€/ d(@’Š 0™¡¿¬�ÿ £ùÿ†ÿz�ÿæø‹4é§½B‹ÀÖ€¤À'뉠­[€–)©€pöju§^g¶(ºŠ�€3!À€[‹Hãý¶ÉªÖ#ÓGàY/$ -ÀwˆpßÿoÍÞé+Þpî‰ ¢ ®0¯×oÅäËÅ6¼�á 6_Õçûîx¿¡sßXñ·!öûm!žxÙ;^ç=¸+,%‹ƒóP ˜¬lUØA©=J‘9N0]å ‰ˆh°ÙN -€Å@ /u0@@8ª™›cž‹Ú‘lq Ÿ@8ŸìT¾ò­C À€   ?Ÿ_0O(à/ý¿@ÍpFAÐõ…£U lØVë¼á¥«Ð•pu7Wd*ö¨Åèû¢ÿäÞÑQy‘`–ä¯a�fýFAš›O€‘³L?à˜Ð - -`ϲ?á�Û`œÐ °ÜÈMä4gø~S„èþh^¼i­Ú"˜ªÕî—gæb$4s->¬›b9I˜> òô±å�k,ñݹÃ9â m»Œ’C¬äº t°¦�¥ÅµîŒ�+l¦,”PW׿–ù@](¹•0!LÑÄßSØ*;žŸÍÑb1²ÿó³0Ûd—År·m¸0ßÙL àÉK«ªŸ”#ÏhÀñ·*æùàe¢èøï:è -À…ì¡ÌHdµÍ4ï³ú´Ÿu´6—½ô@H@%+�X 0€º¥Ü‘€ÿž¡Þà€óÿdU€¶wJ Sâbuë#H@ˆ°&bPâ?»lx €uÚ ÀblÈÁw£ˆ^íf£Ô­™#G�òs_g$@ïè -À�Œ8þÃÞþÎoü—D8§¿Àv³j=šaAÐIW@¯ûm0_6ÔMÌ‘ÖÐݰù}‰ùz²#žk&ã3Þaf+aƒ}¼?l N!ìãýÄ�4órô'Lö—úŽCc˜\ûAÀ‹ˆ%m‡ú8ÆBÀ6 Hh»„ý–ëã¼yýÊÈrÛÃX€Ì¤‡r]™­¦ü~3VÃï‹ý"…úù”ÀèÆ(fñ·¹5 ’«7À9“=  Š-fÀøgbÄRS8?t"•�o ›AðF€“'NĨæõ‚ øÑF -ò'cÑ{Q¶=05¤”Éÿ§ÞÌœûÑïÁ}P§4EB×qÚdgŒ‰º…ŠÝrT†2 Æ'yPî´=ˆâ’çqÅ‹/ó¹âÌ×-²Ï-YxX<¥ UÈDwNÐÌ6yá2å þSr�ø­ä0J€~ÉS@%wüÏçy¤0¤BWÁžžĵ³rÒŠ=7 ài€<ÌÈRÑòâ\é6¸¹øÞň¼téÒ…é š}‘�öì¢îggN°T7À¯\úÂ…#B¨±Ì¡qsúw´×㲘 Ä  b#çkG¬ذ;1P• cýßðÿ™N‡?¶Z¦ÖІÿås÷rŠÇ |®z7@k€5x @_pÀpÃzl‰€Qpº]‹)·�xû;MªcGGU³äGÁÿÄPÞài?€ýo™ÿÿ–+×®=�ðħÏ=±“û/ó -~Àð ìÜ+ˆa••Û-€sßöÇ;âýšë3Öô“Uß–õûxœ_üq3 ¸ÿÜÌqŸ1�2Ð�ˆ{ÜÙWdpg©¹Öú1—BÀd|zab_ØÀ^Ìx€�=M´'¡.-hNƒ\³ -€3˜ði¦«±½Dpq¶"ÔO¶`�šÌð_—ÂÚ7`Û|/Üé|w¦ì½÷>SâSèRíjm -ÿlltÔ<×[0RE‹kQ~.MŽœ¤]íµYèjp% L@Þ²`´…6ü`æU (�ÑkÆÊåh¦pÙ’„ãµ7,˜ÅÏŒ -“ 4µÈžh~&Z³qôíCReâ‰gIâ.'NÊ�^X,çgó/ær×i0phO�¤0pY*LÌ—ìŠôö$ qÉ£Eq�`ºœr7Êå"ºú%ÖgX¡ø`Ì€rJN�‚,*&HÒó'Pd -ü?@ò£pY¹Û6Ü|±‹W Á/ø)Íìy@Þ°M0à§& ð/#Ð�ö+ÊÁ}ÔL@ûL0dµ°bš½p°Ä/ ÀD€€ðß2Ó§á¿«ÿøÿ–V£ @p‹&ü»/>`eØ¢XBùì® Ä´ëÓF–+U±…! -@f0€¬·Ç¼k€/w•w… ÿ81ÖðêkÞ €ðަ·Þyë;o‡€W_½ö¼+ ÿ ÿÜÇÓæø™U½Õöaüü›"¾,Ùÿ¾°5ª5 k>ù̼úÀm�y<³Ä¶wË+dHž–�žFû~aƒÙ¢_O¢¸8îà/äLÇ€vI €kÆ8ÜÌÐ0`ó!ï1g‹< »»/tpDÔ'øO'‹#Ù'ЇZø,luS¡ ò7ØOÐ_ †ä<((i³}BäÀúŸ²> í‚KâÛà A0�|¯ÛbtãN�ôï‰c€‹ÓÛ_fa øgd†ì}?ødXTÞxp6WèNNž¤w½0Kào +"ó@–…t× ¥Ó!\/Àhl‹KÖüŽX®•ÅhI~tX摹†ëauùÈ=HéX‚£ Q‘ÇéŠ�ŸíôËËNZôÚÅ�“³¹üF~¦×]ð«Ø[j7•T‡�ôôÐ)�l±¨è]­ärà× ]ž$Ißû·b„r¨ì!þ_ogQq²´FL�™É!àCûÿÀl1zl±¬)€Ümn¾w6öÅK—.}ÒÀmÝl‹`A€¼øÝ7~äÆžZ½ô//=y� ÀÑñ©á -(ÞÀ¸Ì@™X@·o¥M€ nÔš�  lgòÿqÿ=þŸ¡pÿåîð—!X àã)üo4ê> '‰{ôc´QK S bâq>ç�ï£ `z°%ÀzdcvQÞU €(@Êãß:á\¡È�~œÀçxàkº€þîûCÞzûM‚¯]{Îc>Mä@ úÝäL´ô æ Kei@0K&^¾`мe²¨}$<À–ô‘¬kÅÑßVìåS|ˆÈ @¿­ÚÂû)°GÊÊÄ®'Qð‚1À_–Šˆù±Þžmð¿³`Ðað>�ƒNeŽ& #_0ÓXMè'Ð!ñÇ÷cØ“¶#4²Ês!,aÖ¹A¦®+åä'RÈÂRY7ÀC‡~žéÅE˜pK14x €¾:�ˆ€øT[ÌO øgcrl}�Ÿ›M`õRo1?—/ö&GŠ>\ ›tnÜ1xMü§7}i »Ì<¥ Ô€ŒçìÒ pF�À”L£(ÈÌS{0�¤[û…¤Qi2Â�V½ŒŽíôYp£%¬ûm›…¹žu¾tÔ)ÙüIÁ8ž~·49o¥a»Ÿiž’“³�@†ÀZ4“‹JAèßZr}Ú1gûˆ_ÄlP#òŽ¢IÛ(~E!)`AßÏct¤(—ÈݶáÐ{ˆ9þ¯>uéÒêù¾à¶µ À€¾9KwBkøŠ€jïØøØúú48«ø'—90Ðx7…¸D°\˜&"À6 ¼þ2ÃÿgþñŸÓè¸ö -ãïÇøâ ±)1[{8^;d§bâqÚ °¬€›÷ çx @pô‡šÅŒOÓpôœ€çBÀ›o½…ç à-ÙwÞ¤àëJõÕa -À¹ O8øø°Å*c•1Ó; ªÏ}V’­̸è�µ Üf¾¶$“^ö¨wéã��8Ò‡£Œ2Ør8Ïö€¸œf¶à¸ßWRž¯pˆ?ù( ·W\Á@\6ºwTì÷^¶ ÿÓç�ñ ¹@“? À2³[GŸîAcù²´È�>`¿&þ¿È€/'àÈ÷C-GâB3 Ý’¥oÔûÄ8(‘ˆ*rØ,Îò&’yF€^\¬¾ÀØP¼­ÃÌKÆ—‡ï?ª-v5I¬¡ ÕcÀh¹ïgK„htt»ù„u» Ô|wrä8£Õ¾Ê÷íÔðzk½ÒÄéž ÎGíqÏ×Bà{&Ø#µ”Ê–  ¨€ÑÝè30w ýÎ!¢2±|Êf~¢T&'ñÑuôÍ“ƒþØb¹ ÆÎor½ëaSJ2­MÂÀzÑC<ƒ04Ö£ük™H†µnh¹P™­;à¢)^òxt¢”ékÑ9m€_]º -Æó�µPš EA¿5ýìà­ï|çÍ?ÿÓ×þãµkÏ}õ ‹ð€[@¨Ø·šcz@Ó¤®ca 4`À™éÓbÄöí¶5L|ø‹=aÅgJd ™ðŒúy²`Óv ÿ©·+©g€é±¹�¢ñ�7ß<hˆ#Ïv!ëÞ½!ÿ¾)çp0išàšÁ¿a(æŽ;P.¨O`Xg!TÀ |�3v[Q0ãÚl/í·“îÜ™ôÐã£(úðëÞ¶!¶}tM´‹r «í²üe¥$Á[@Ì”+Lbß>œ>t‘Æâ/@ÌG§f’é8ûÎŒÊpšC¨F�’¼°¸† Pü³1C´[´5a&]š¼köàÁ»g�ØÂ}f F½âD$ê‡-…I+[È bûgwi)*÷.ÏÌ™ŒN¤ÜV*š�͇h}!¿1ÚëK¾ÌôKBúÿ ^HÉó…hn&Zcü1å#x/:Uuñ’ÿŒ.ÀÎãÿSrNJÞÍåà<~i[ŒR -3þeÖ�c¦@f±qòäƒù“'Ž�Û(Þec<²øH¹Û6ÜÔ1CzWÎZàS€wˆ§´úO >P,“KÏ^zú¢ÅÜ0ÇØ,,Ú¬#L® €ì @PËx=Ö ¬ƒÈ�Ö¾ZCØxò—Ï2%d€±©ýGüÊÜéVN¢þ¿a²YÐïšøØ!À²„X#—uÓ^¦( (ï%ÀQ~»ÇW^xþ9†4€€ß/K±àù?D½% K�=˜¯%èê³�$,؃ÍaÆÄ¢^ï 4Àw8¨‡UC|›…y²�)$Ö,>4¼™ –ÑÖlCkPØŠ…?¸¸Õ7Ce�±‡††ûhàï»À )DäÆ=´âx+ëûÆf~CY»ÀæQÃ~Îdøi¦}Äàfn4”BÇÙ‹¶Xºì)³Sê`'KrgCroÛΰ¨"X9RŽ?— §æÛ×@DýíJ‡”�o‘Ý-ã˜ô0…y€âŸ�Ä·hå²°È�é®mÀZ ÞØˆ[;s�è•Òdé¦Þ³¼�7|¡[f€½ˆð¢eb 4/çÞbóúætàApb±�Íažñ)UW,k+­ ì²äb è=L^èðú»Œeì ˜¿œ”ó’ÕÈJιè{P.¯‰”¼Ýc'{0–öeØÉüôåb.�faã$÷%€ã³G\PL¼î—u;àæfP~þï Hw´ð/?CŽÏ°Ç^zöYÀ¡ÌØ£4$––„ÊŸÐÝuß�¬4`뙘€¡ÚÒmm°ðÿìØXý?àþ+!x.»Ý²A÷ßg þ˶öMZÚ÷ø\¬`Þ°» ÒÆ(ÊëcÆÇn2™øô¹�5`1Ö È—×ÿÇÀwÞüSB …¤zMO†a}‹jGVÿÜf¾KI}%¤ºóŽ̸è1tûšã5ŸÁƒ÷Ýa!ýÒG²¤™éËZŸ!ϰ s{�Í„ÓIqdÚnîè @xƒ#x 0§±^¶¾ƒ#Œ'2TΈ¦ø‰â$vÇrfqö§w~€òlÛ–Ón5ƒÎTªÁähØdŸÖæ`C¨«eíGom¨Nü’ù´�MáŠÝ•šÅ_éȺ@ìÓ©ûMÖ×ÜÚV~ŽÂ{ž�|ìlŠ6†—y«“`¶L0[aâÀˆÀì1‹�¥ð��ïeÑ+E‹КÖºC"AéË„ü×}©`ç Å� Ì‘¦ @ï"Ç\cÛÕ�Ÿ(vø´ÊÛ;6�/'ÈÃð£y"¡€žœ -°¼¼¤N -*¹ÖT`F/(<ì—·f��‰´¬Ác´¸‘;eû�§þÉ(lªä©o©XÜ(Ζ(ƒÓ¡?ožY0²ÿÁã*ú#dò½&±r·m¸,ßÝÄ.¸ðtز£ù�ÉSÀöÒ Xõá‘O\`$`Sž\=š¸óÎñÄïgÁmfþ…ôP€ 8´›{N@s¥V=S‘O,x…þ *‰p žb:|Êüÿ/9ÈïÖÇÿ¦�/$Svÿiüo†gô P [cäÿ‡§€‡/#¼‡^ï%'m×iÏžQ#‚q‚MxÁ À›ßùΛòù‘ÿûÿyç­·þâÍ?·^€€�~ôܹO% …þç>~N ™šâªÞ°-,%�•=É^[ˆ?L‡wì´ë#ž|ßÀ”Z´ ÷mÙ’Æ»bÌw!!d þš•dÀ@/íòÿø Švb‚A3;ƒÂ�›Ì$;Qb) @¶çνƒY -.¹£ÂÚ‹qØð]æŸ;öîÆy=>Á_Ö€yNq!Ày.0Þ û¥šq‰²0,\s¸häh²0¤_âÝË øgc Ï­Úb/ê -ÄJÅÉ#³wôn€±°`ÃêÊ` Œï�‹£ªí‘壵µëBRl�µûû3…øèAKtù@’uwß -˜&¢÷ÝÊÝnÈ´DÅHøË˜zÅŵè%"¢¹ðBõ(i* °?²§ö‰»(ûh³{Šùm/¹˜ËúÚ?§üë�’—ÿ —ë+ n‚mm‰åƒyô Šò3S�6 -¹‚éÿ–’,ªô‹ùüñƒ#A°ç,ˆuÙynÞÜVŸÚeÂ4GøLh°mCŒûÒÄ͸�Š€ÕK_yöé (‡ÆîMü~l1ó‰³g?áÈܨµ¼` hÖD "pæ Cí @û”Œ8@ë `G`ÿ�ÿ/üߪÿæà?-øda`+äÕ&[Ã8![5Å1ý À­1­Ô³ŒL/W–+Âþ›õP®»(*Ï­ÅÜ;:~“‰0kS< ­È÷—ÿÿÖ›¦˜ :ð焼ðÜo>ñÑ�}ôܧ=(Q‚üÿñ�ý8ˆÙŸ¼Š÷™,Ù4hlã…äC¨lH­�f‡u_‹›ïc\O<~ûëvPØàs|ÍÞö²“¦Jn -@XásPЫO@>‡.MD»ÅX¦ÏQn€ˆcO -ÉÖqQ†òÁ‘ägŸ6O&$s?›ÍB:;d_ØpÇm™�Óœè 9 1Ï–—8‹fÊÍU|¦Ÿ+±Þš…©h±´’²€ÿn„ÿ™Ù!Vul1û†ú¯xÚ øgc£[�@¨(êv{¿;{—9ÿô®Û°Îþemæ�ÿ]!ç|ôÒæ�ÍÍîä‹ÖÜïÆãsu¤Ðv­»öò¿{å›tcýå›ëZÛ\ÿ£^N°K²^¯—¤ôÂÖBñ4ãí,K‚Ð’°Œ_SVÝòRt:*Lv7i›/o¬u_ÒI¢b·Ø[�ä¡SÜši··7K¹^ocíºŽï½Òû²Ò¨Ø_îv7Ö{J<z}㕯t —¿Ì(½n*�lMŒ¡×]»ñòËøÍ—×ÿÝ�—o¨ä76þàwæ£ÿÑ -¬ »×mX#¬=A&dú¤íA_Œ]zÁÝ©G7z×£…ro­Ü½¾T.ŠJ-–OäóÇFWÚPt+¸,€Ümn}´ßq -$ V¾¸+ˆ½ 1Ú{¯€ýè¹Ï$ -À¥ Óxûãw2:ŽK†ÿgc.ƒÒ5c‰`x,œ,®ªA4€ÀLp—Aú @»üo †û±�¬®-a¼pÖâû*�ÃíËÀÿŠ_ “^¦øÒ¶šú -}t,—¹S Àî½ÞC À˜|üÑ]ß<¡.Ž€J/3�´Ncf?ª*>5ÉÂbŒ£ïÊb��ö‰r[²ýnüÏüÛRœAj²MÚfóPÔ¤ Z´WºìùMÐË� ƒá&7y�`@;ba`ôÀwa'`kÝm2?’ãàáx­ˆSÄ‹!@3Þi³a—úY*›83YêT)sÊ D@ø02£wrö-€Ä �m.³ëâo°‹Ù—Þ7åÄ©) є䛼bÛ øgc½õ[Ÿ„_ÅùÂ|±03™Ÿ=ž?Nou”õ|¡uK§…þ%@ï²!bép¯{ºTŠJQ±4_˜ÃýÕÞ÷môðý×Ö„Ô²%ÁvîÔ|�F€’ÐÑi¹ãù¹B‰CŠ¥î—ÙØc´üè’=P;º¥ÂCZ×"N·òÊçææX‰Še‘ it¢+bÒ� -…ùùb飛:o·X:]êQÜBáò‹Q©KÁ ¤¤@Ñ©Ëì³’?\˜ãT*ˆ®1Uòž!½r?õP¡‡| ’ŸVz¤•’B(ËÒe½m”ØF„#WE~¿U*äfЊÅùE‹|ÈÍÎ>�Ëñ<³ÂÒ‹VòMq³r·m¸­^Úe„ø(ŽŠüú¥ÕÏï€ݼDùŽîű?{öœðßú¢òÇ÷²Ë%€€üÁ8·?)ÐîkÁ%GÇ]ýcà€{îÁè ³™¸ùß;ö ü¶æuÇìj%+DîûÿÍ€ÿÏö8`ö (ƒ14l‰€Ü¬€€x €)÷Ž�ôCæ±€ ð¼¾úÚ�¼ó!¸þno¾ùÆ 1>�|ÔÐÿ& -€Ù. ]––$þŽ·˜[n(íP Xk=í¹ûÖÔVýc=IÓŸ‡)�_“KŸK+2mߪüf1J!Ùkf*øvàgp¬�§v¼� ”¶eãYH‡Râ ¸íJ2³Þ‰�“¥Ì6ömz¼Ñ‡¾y‘B>}¬gÙ/(6­„Cœ:ÝÜ,eÚldDC»†`¾lW·Ó øgc3“·>É&ôž™Ù÷Áýwì;pஓwMÈÏÈÐûðäáÇ''çš¹ßW5‘"1Ò¹qØÌLnæ~e #ïWÞ²Ã3‡9xæ~mÒáZ×^å%;VÊÃ?71£­V`¶Êîºë®öï»ãƒûîÒ—dǒЦr·m¸­®òŒßaošü�¬V­ ÀIÁ0£Ý_Nн{G¾_¸@ÀE€¯Ä -€¸ðP¿oaÄ?}ÔäU·…i±` l®~£q¦†þúCLpG¸€eãæÿ-ð/üÓƒÿoðLËS7ÜÍð_€ âW›Íf?À�Cv*À\mµ‘&dÿÕiÀN -Àî½ÞC À88?ꈿmnŸ±ðÄ9aø „8p à�·EÞü‹¿xë­¿xë/þBøÿÆŸÛÓ€m(à� ô9J3- (¡V�M Ü"„wl­�fÍðÝcüöeÛ¡WØf)lÖûk¾Ê~?Ê_¾ê¹›0ŸGðxÝ>åõ-è¿‚p°‘f†×¤ !–¾NŒ3ùž ðê™Ä 9÷mðŒÁ<3+C,ÄÆ#Rf—KÙâË–õ´¤4Ê.u&+"SÊ”©hÒ ™ìd©“¹iC0Ja[>°µð) Pü³±ù[7ÚȱùBnò€õÈÍâ³æ -3ÅB^^>6'ï¼�—Ó/w›qÙá˜ù+?'§W«ù¼œcùç�âùb:Hþ±í“—\Œpôó…Ò©‰ÞåÒ|1ºLH7Ù+sÙÜ\©�?g¬Ï�Bc(ÝŸÓ¡deÞö|I.=ë0?Ž“˜bÀõh{qæ~T7ùæ”D¾¾JGÉ“¢îŸÐùò§tZJ^re+œ*˜Ë¯CuzV(*‡ÒD·««“ÏUªä)|=§õlE dº†¹ç�ü'v¦ÙÉ‘‘Frºj—íáB!€ÜmnòóŸúöCžFˆcvkúËýwïÿÈ‘O½h y_úÊW.]´ ÀÌ(ì €~Ú„ºÞÐîÔjçëm(@„‚òDÛ€ ¸Ш…X¾Äâæÿg:ÏîǦœðJÅ||Là?5RŸ±ì+†ÿòùu‚Šð_¦í±&�zÛ8Ö °ÞjWㆴn»+Ê 0DÐÕÞR Àè½àý8˜?®×–¹À½÷ -ÿ÷ì;rôÜ'„Ü/Ð`Ý_}íÏÿü á?²¿Ðß üMÀrà£ö·ÍB ¾ƒm«åÍvÞLïm3Ÿúb@pßÅã‰[Âæ-< N›äÀDF¶—&)“žeŸÂ,øþAˆ7ÄLý¥D½d;Ol;‚€QÌ଄Âjíœnɲ¡½™æäa9m5‡êÄ茩¿?亓õ÷mIVï´�𶱓(þÙØ+·n›××zÝîRý{áxþ¤Ç¨m -˜çfJÝî娫Ý›ÿ~ƒfóÞÆïoüþ·nôz7667#í-*Ua#*u7zt¡ë®­­m˜ºm-úëßì•»¨õëëÝòK7º¿SÊ•6ÿø•^¤S¯ÿÁúzo­»Ùë) ÝñigènÐPþÛ=-ù²Î¸Q6: Ð yF›ÐJ4×Íj\ÊkÆ)û[b Àt³¤ùÀÿT\�ÿªÁÿŒ^.º[e%øÿ¦0V°GÆ -€ö Æh½ 2ÐvT27éðîcô£¼âÙ–9‹{ïܳwô^pÛ Às/\{Õ$€7¿óÖwÞ~ë;o½iøOÀŸ¿ñÚk¯2À××ßm+pg-™¼òöÙ0³Ý©4ZŒ× °cÜÖg¼àËÉÞ0�Çkñ‡^[²ðÃôJeéåMJ þ§Šb‹®¤tÛ–ž|Ӯح–óÎgìf#e»Ÿu«á[s6?U|fÊž¶�Ø1œ¢ëÖ1ŽN>üH_OÙàÚ»6ÏÜ2e>üÿl,Šnuf½Â°ÇÞ}ðxÞž±³X.gr oçãä´f]ý—ºkKKtš7[Œz¿;‘ú n…þt¡�=Ú®]�ìáÀÚ³¹¶~#êv 3ò¶óQù¥µî7×,™²Ó%î�ø@ÂãÁt¢Ó3à´J \UÈ›0{›óÁ•ÁõkÝÓ…™®ŽXSŽnK]¤ W(ùÆáÉDE ä× @¤ "J´-*½vÞPÉÅJEî^ß(s�nƒöðà%žz•¬äÅ¢�[è=x¸PìÎØÅÊŽÏŽÜ}÷ËŒÉsòýa  ._(%:v\’dA((üŽ¿@3ßo )”býd¡Dž“eŸœ ûµ®Å›m¿owÛ6ÞÄ8.ìró |’•�–Dž:X5,0³óÿ´-@ñÏÆR“‰Þjô·ÓìØÁ‘ÙcÇOØP{ÝS|`à/÷l6¸?‰fa£Þ¹u‹"½"ýõ †-ŒÁ†îÑ[^ù#š-•ÿõKìüòœ=”'¿¶¸Q^\×,Ö!‹K<€7¯5Íx¢Oð1»Ή…øÈU†do€ëÇê#œš¥ß?�›aDþr/ZPzßj剺”˳-.'gæ7BŠrù±Ç<e÷Ò—ËÌ–Êkëºâ¨W˜È—Šù]JÞ»Ñ/9M¡ƒ #éS%õó—''‹‘ã?#,ä­w X IÍÈݶᶳçÏ›Sž¢íÿ3Ó·�Àÿ‘‹Ÿb ayÿ0~$36¾S@LœtbÀÓ¦„ðò‚!LÁ¦3Y` 1�Ø©ùßà_fú¿åáø_oÉÄ7P‚þŸà¿ ßŒS46€¦m1Œ`1nþ,bÞC/€wÄßÌì u÷Ž;n›ÿomôüÓÿåMQ€·Þ|ë/ˆ àOÿ¯øèÇŽžý¨·Í¬öïOnïÌQ�}tœu–ãwâÀÛJjâÃ?-MqŠÔ<älsmþ{yû¥þÿ±÷÷Ïq\W–( -…;$Q lRâN4‚d[`¢ D -‚Th”QÄa^A* Õ˜Ô�R4øaÀ`È -? ³¯~x²Ô6Ý3×ÓÒ“]„ìq%£éÛì+…º/§î;&c¬¶Þx¢51sçGé¿xk­½OfÖPÔ‡û¬¬ÊÏ“'OfUæZ{Ÿ}N˜M�7‘þéÕv?€êôŒ›“\‹\#õ=oâ[A$L§{œ!²ÔX‡ÑÔ�Ê qÚUy’+?Š�ÖZKP…¤Ú]õÜù±eÌV C’s+À•u¤f-q;.4/~:Q8ÿÓÀù¥�°ÈzSôtÊ0û´¸^ÊÂÅ!ÑSj’¯7ç 0Øi~[Kw€1ö‡E¤x†:Bįùn�âjEÛJ«X…ôÙýc…''' °ÇKÅ"·a#Ç* h” <uWEÓ}cdnr³Vé¸PÊÞ;*éí:3Di}&?Ña¥TÉ9}ªPRïÁ~¬(êUkKRBÌâÌ™6Cµ”¯K”Vqâ(yþ�Ø _(•WQòuªìˆÔ,&wâ–'ô2…¾¾\4‘‡èêÜ9’›˜â6œ™ -8Ém¡9Èõøœ[××L�ýU°2o`ÃV‹‹Îþ àö˜x^¹üÊâì ûÚ»g#`TýÜñçÕ±ßXРgzÈ«äyP§¸? tˆœUWx e'�¸eoÓþM;ÿ“þaá8ÀLRõÿÁýO@"2”K} €y¾m5à~:Ž>»i+EUÈøÓÇø#{Cà©y�šðµï ÿïËÀ:€¿ý‡ÿ ðß ä€  %Èþ‰íooÄwè9� &›"<ãkf[“°e瓪�¸�ÉÃØ¦6ÄÄ_]`sHìÓdÁó6X)¼,`zÌOÁf¸RNúØ`£>t-Ú^>6¶àTkb(ÿÆíþÃlõ§¾Ø -�Mþ4ÏÎðzzØ!^³Ž{€Ýõc'Ë×ÀNÿÍ dß¾wùö{�Ö±ÝB8d€Îã‡�2&´‰)ùIvv[ WdóÅ( w÷â:ð·Ð+‹ØÂá�°j¸ñàTüOs0oŽ¢�É‘ÅÂx¦»«³;3šcw:ÑjùÐX¹ZÕIÀ&mMY_öØ™NøÞ¼8 Wœ*Šæ@»Éœ6þ/”ÇúìM€•ÊõRT�Ò?€ƒDl-LÒªÖN˜�‹Ù¿þþÃâ,²8žbÉ™R^ŒXBª€re},[¾J�’i?f A­`%'ÕGåCYN¹,mCÞVÖ,¯®JY%§h`Éó½c ~ÌUV¯ãdx>•œ€«x,. ÅÂÄ(kä t�tÝ·ªZ¸Þ(¿nJ€Y:ýM°+`nØN - ó´þ)äx™Bœ£`_ÿžžAoCVQ«Á8ûøñÔ¹ÿÏäh«“=xß>RꀻR„JE*+ÖÅü uò?é ±qìÿ'ÇÅÿ ^¾ƒÈñ'ôÿs0‘¡lªc¬à1ÌZÆÏ’ÿ±ð©ZÜn YgSð‘÷îž}ÃÃx²’ÿ¡^ÿHþo?€ €"€1ÿ•ïÿ¿<iðY}0|œ&ÃÐ -˜Ê¾µCLìbl'~7ü1öq* \²Dœ÷‡ùxÖRùÔrAxDÿ¤–4kI~ÚÚì -¤10ÐÓ³{wOO?‹468à ÷ƾûs|9 @ò;?éþ$ݪ„N½R3åB6[Z-‘Ó%A¸‰Þš%WmŽñ¥¿<;nŸAr̤JŽížkÅý@”/<É·”W¡�”3öˆK bâ‘€©Â„<;UÀ _Î-@ 8ŽT‹¿~Љ°ÿÓ/jÞ½4ÿ�þÀåÅÙzzz@¾ ÖœQÿÿÇôxþø·�ÓF—Óz6ò×DÈÙŒtŠºÿÓÕÿ"ZR7ýÿ"éÿ³†ÿÀ�£Ï›{‘×YµàÜÏóæØAêúp€ü€èŸQ¿‹w�ÿã¿á@Côží{íM«ßÿþ÷µüõ¯?ø‡øÇÿ - ð‘ÅZ €B^íµWc À05ßoæ¿S `4æHÈ®1È©4œÕ~"lckº|Ö©ÛFÆâ©Õøb`ÊarТæõÁvÇ*;ž•ÂË< áîNÆçµù‹¯ç‡ÁÒþO>uŠoJÔ_½8IP× Is_Ï=!O€Ýúïsöô óãt–ì>;l²Ø3ðL‘-_ºaÀ]…Ñ2ÞgÔÚTÜ‹Ë+.¬\ÀÜò‹Š¹q Öb˜%W1í½žÈ’a»ür⇢‚´'$x’\Éeñ¤Z—:žé iÈüõ,Rc§åe»B'q®8=®Aá_�•‘à>�áTüO‚ò›e’̦ƒÙÓ -pÑT!G3µ+“ag€…(w(Ë.ð -O™‘mù)Ñ”æ[sŒ-# -Î`¥™Ú\(øË„¹@Ë›ø¾^¬Œ²½l‰—£ÏœÉ+TSiâÅZV<ˆI±xäJùÐá¨<£²ð˜8�K ²;ÆšWTŠ¥P‚`ç|ØŸ'ÈâªÑ*絞;DÑ¡$’ÀØ×É)Ðىыë¶2ÊõæQêI|Çe(¬qÛGï'ĈÂZ@+Š‘yÆÇsÝ]¸²ã¼¬Üb '¹-4L|°dmZ깂 bÑ’¡µ+èÙñc¯™ò$Lû²˜˪H   TF•\ëË’Ž­äÊ›9� <~ÄÎ -Ù»_4Fú§ ˜(E7Tr¼^—H‰j<|¹�C¯¤seg`…r’ÛBs�êY³ouÿUSy8à.\r° ÿ/Ìê·ï‚ñ?òüÁe�èé¡ÝÄÎÿS0 »âKð(ûO�ŸyÞ<2Ð�ªÁ­ÎÄÕÕäeó¨1T@�ûŸìÏ¡ÿËÿàÀ?ÿ×ê{óxFýrèxÌš9š—ˆc^WÇÈPçø"Þ ‚O¸¾áp�<wݳûËûöýaOÏ÷Ìðš<¿V«>ú¯ÿø_ÿë?šàoô7o¼Î~€,€V¬ìÖ}ûÒ€g;„À¾„қͥ94ng8Œé0„̉¼IÜ2Ói¨kYsñǤûhΧ6gÍ8CÞçDËÖ ´ô«K,ûŸeä—ãQbnöÌÜÜ(#Ld*/&j@ìO‡ý@O;2кçn‹ÀïÂ74÷ ž>)£–ðì©S³§Nž>9úÜ�ÂÂ3#õ5ãÆlˆ—ÈïÐëK X®äTH¬l -ÇÒyÞôd{¾€S¶üÅš‹”ȃ{]À*™ý³Ãr& Ï/òm³3tj˜�  -`û^÷@éÑBŽ70óPB”9̿ҋ‹NÆÿ ÿ·.ÈräÒ‚ÞXÃ(€ÌèÄDTÈAÐA?UœzŠIª}®Ù^VÝOâí-¬‹÷‘#gQJ‰®à¦b™¯íÉç£lo.¢�ÁñàÑRÅ@ -Öw/ s”ËCyôäLn‹º•Ž\ÁÛÆÁŽ(*!f®ÌP0Èݯ¢c¬’?UPõíóés¬â°B«ø†ð`.sïÒã…�ÿ£®J>?Ά\)ºF%ñT8ú8†B‘Ê…‡ãÚñBùСB¹½0Ð=:ŽÕê(XG#œä¶Ð²ö—– ëk§ì H‚‘h�F1žù1¹(ÆlÜ -à6cDð�é› î€Æ8±}âUŒüÇÀð�PÿøŸÿA -@€A€Ø»ZùªY�>žëâÈST)ÛY«8J“ik{SÝŒw�4†Ô,º"ñ5âçj�9£m̃s–U\ÊøC„•U0­â€»SÀ`ÜlHûè4of1®~„íìô—2L )øÉÙÓà~ð?]áUÆ?=ù2¼aÝc.܈KKàt#ÏÛÌëMîãL§´jÄ"á¤!äY‹à¡ -ƒÃ¦ûÝß¡ø§Uè¼··ão‡ äÿ³òà�“vCÐ0C@ ԃΧãß9ÞtК�2Ô®�Ë츯³³ó¡L&“{eûÈ�– iá;ST•·ñf¢|oޝîµ\”Îè�@KXÇŠ|.�1`’½ÿó¥~Ó…UÍHÄo@D¶'»*Ï™Jvòº­ÈëHBЦåN¬j½J›óC�.\=ñ¢‚"!Œs%5OúÆ,³Bñ)|¨�øI`'S(ÓæWàáKù|®�›àû€±‚Q–’ Þ±hByM�¬°šÍVŠ…‰Üh&ÓÝ YÅd,9]*‚“Üšc‰~žaƒ>æÉâE×Ç -kêˆþý2»”Å;Ü™*áñH¾O*´@`ÿ;:-”åTÉ=f�üOQÀ’ïÏÀ×8´2ÒÆ: %²ëç'óT˜™Èås“øŽ��å -P%HaÄŽ<¥ðžËDab¢°žÉ”ŠSÝÝ]Ýì_A'ÈíòÈÝwß ò—àcˆ=ÌUÜ©AŸ˜K*)Õ÷p(�ÏÐÈvC]üm#¹Ñ·¾Æía°Oí²¯³=تû‡lšÂCÒEŽWøŒ1?1§Ð:ÿÆößÔ˜ó.ØfÍ=4…!¤øž~ºÃM€OÎR$he�Ýqë€ÿY€;/e§ƒ�åp£¨òÐpAÁr¾¢ -çWä°{Ù(“ÛGæ<µ“|Ÿ]ƒ›y¨¬1 Ç¸@.Òÿ=ÕUt4÷$ü¿8àœü;…S¿P~,Ö| £"}Ïx¦[ óPf$“•öõÙ�fÎ"oŸa{A±—¹¿'(Ê�)Am�gã9Z½|·îØÿ…üPoái±è$é_®ts™'‘æÉÿE¶/ŒÊCù+ì”Ç7(KîÇ•Y= ’Î[´^9ë-\§�ÿ‹3A¥ÐÀÙ(Ú?Æ�Æq[Lur¾òŸˆ”µ µ`PÑ yÒÀÁ¾Æ˜bçÐ!k<7ÒÝÍ>–&L.ÐybQ[ýlÜ€¸ üÛ1=u€ê(Î`’z5…îí@ÿA,ãÎ]™=À†A= �_ £z+¿ŠàÄÿz¢Ÿu4ß«¶»H¬kQ3GŠ! Œý›ò¿ìÿ´Ðéý�é1ýp°ÿ½PZØ’ÁÂýÔ -à,¿€ï0Gp›­n+€ìn4�Qó¯È6´ÿ§<P€ÿÿ¯¿ÿÿØ×1ð5U<ü0»tÙûåžöÝ{ �öˆc�ÿm“4Â*0­ÒÚ ØLÛݰÐc¦×„�}’MÉ o"ÂÇWcÐZs(‹æ`ø‰a…ÒÈgª=s-xH‹zóÁ}{a·[~ �ÿIüó)@ì°¾´éXv—=o@3Ý1jɰìÓ´`É<ôçé~g¶´óãç|ÍE%úÎ{pÐùÿƒä æoêàTA€îÀ…±ü©èÙ€$iÙ`F - ÿŸ@T9±_“Á¨‘Tu@¦+“Éü1@Ô7¤n‘Y‘mé�Þ0¯™J¡I —¢~Q(Ñq�,úÒÈEŸÏöM³w\Ö`qv²ºÒ@øœ¨y Í}J”-ŠÈÂJ”Ø×¦*yüîA£jêCÐ$|³€ØëYZä µs)LÌÈÀY[ƒ5IÉ£èHa‚9÷Ê8J6à*híÁ‘ªxMý‚âÌf†!#€L¦«³ktB¹êD¸}zËÐøÀx~ñ¢*SS|¹›q'ÎÓ�~:4(?±þnã•Sƒý{öôì¨dgu¼&L|Çž{¼Ê¾tY ެR/û“ñC->Ø ëŒ±�ÿÅ¢ø’_TÛÿ gò>$ƒñ?äÅ1ÙÿÏÿ‰å¥ü‚™‘ëC+ VÂú§àmØ -€ç޹ÅÐø+–¥€ÜCþ—à £z¶øõ�ÿæom)à�7^ýµïIPlW‹.îNˆý1`ƒ2v¶ä‚Ϧhó¶`DO{�†»MHô\æ8M†Ú$�jÀàcËI£ ÐØ�Ѝ -vg€ì�1(’Ĩy›Iº�7½]€³e¯‡¯Æ2ÞÜt@lflVûÛ2çâ�[›CÔó¿Ï‡“²™Oåø&)^A€w·{ . èß=Ö@ˆ0 èÞ1€Å8nÃÐ@˜ÀêŒý5S[g¾‘EÂyÇ€ÁÙ�<üƒÐ × (Àª¾éýìÇè<$@«]Â=¿sPë@8�lõ4¹îÎ�l�éËärãÅh([.Àœ½aWó5ÁäG�¡Ö€âŠ ÂhºÉ‡�íf@{æ1Hƹ¡¡#HŸÏ7â&@£\ˆ“ã Ül�CE•¡<(ÚC -€MȸæÇ'�LõÉ<= Èf**燘eÅNžˆ®f¯C€œ¡:¦÷ N -š–œÈî›&ß?Ü •�ÏÚ{JÉàãåC}˜ËeÔ - {T!‡,`¬uœä¶ÐxªÐº×Ó" M¦ì±þ_‚0@ú)¤çBí[ÿi¨ç‘•ùáþ½{öì˜õ§ciÔG@ÊðÜño?v³)nÂ�V/0Í}Œ4_,Îö¿roÎÿ°ÍAû'Àÿfþ?VÇæñ•=ójËÎX%¯ò r-%@ 1¸Ÿ6Àù½Îâ¯ù:%ßu˜Çøð—�ì(Á?ý¿þÚ÷¿ÿ½Wÿ_�À�´\Û÷’ö…ÄÀA¶?dE;°Æçn ‡fÔñ `V|PUGñ\Õ4ì¡©6l*±¾æ­ä¡@y8cÌO4‰° Göç¦C_1æ€�ðV¦NÎnî`UFFÄmä  . ©03Knâx&}‡‡E<êc¬à˜b—yð/©òPÔzηìHèß=ç¡~ÇÀI¿ -Î6�áøàÎLC:Õ -€‘o‡#'ºHƃP?ºàPÒmmL¢Âƒ¬oÏK€ÿU o\o×`:;t©RY2¥ÚÒ0iûYµ;ûô3S™ Øe¯JQdWÿˆÏËvyäÍ.'ÿC!TƆhµs§P†)•\%žUsu„ÄÔ -Œ=13é -Ÿ§Ò4/DÙýQ… �ÚVà[Š—&s“ºòð8ã¹ñò¡^lÎŒŽt�twgFyý”d*H&'¹-4‡Ø^|�ÏE=X|ê€ó¼9Ù -p7*6ĨzN¤Poý/²’`°»=™õÕÏ>+Ÿ\h> òÓIW)H€”x�éôU§@®øÂ ²«¢ÿ�ý7°ÿEÿ zÆÿ);r9s%ûsÙ -ÃEÁ–„Ðí¯ƒæ~ì°w0ð‹}€ó??;Ü(ö¶ƒÿ_ý?Ä÷_{Ý+ªð†½ñÚ÷_ÿþkHúØÃn¿{ïÞÝI1°¯žáÁ�òû -îüOÑËË"ôZ@‡¿_ÿZÅŸTZ›Ù^ê”jÁœ¹þÍüoÅ`UµðáA!Ì`ñÿ—y†ñpÀæ1Á ;ôóñ0þ¾éÇK>õ8"‹„óŽ=à~Õ4‹°f€I €{æÏ‚À]¨-Åè‚HœgOÇý=ÎÍ¿ 4pbÃ&��æÇ2™Î��ue2læ yð0al¢Vk<7_‘ àR>÷¸UŒçóO1*�'“Nh�Fûè +l>†-å&}-ŽÊZ~È€² r{±@/û`’R ÀqÙ(Ÿ¾|D_вCÓ<5S/ßékï`™rVòr´èRÁš#¢äÈ)?ãé%ÛGùÞi#îê’cOM‘‹¦Ú—_¤âÛGX¥ÒÝÙ•�`Õ·•Cؤ“ÜšC†ÅâE݆xª¤¦p×Ë='À @ë,Fxx$û(­ýäèÙ³gOÏàœ¯8vŒ/Î?#@’‡Š__8a\ï -@|X­ÌD××ÙŸƒ³¶Þý§e"ÍÿìÈãÿÌûOþ×ÈG¬âûxvUPÔŸ@úשlæøŒ1d÷@ÿa¾æ‹Áظgß« äxí�àHã�7ø¾@Š„ï<öð†»ñ0oßmÔOÀÀ Û×ÂÙÓêÿoWÔy�ª±²ZwN÷¡~F³¡Ò?¬ÂâF€Dâ0hIgÏó �c’‘K€ê€” ©hÍ€Án1l¼‘@.€�=ÊPÆ4Ä“û9g==©~pŒ²-`³V8Éj€N—'ÇLåÀ™´â¨¦ÿàý³oqgçßœñëPn -öŰ‹{‚þň¹)ö”+È�.Óx­´ªÚyÑ›¤Áh4 Ä>Ê?©>yAs±û]0ÒŒÊù¾<ÍfÊ„DY@0¦.cXÛÀƒ•¢¡Ã Þ'E³<6$ ƒÂ0¾¦³»M•�dA×XÌ[/ —ÕÕ«|ᯑ§€’Âq¡ Bå�¤K}É­ì‘Ú;p‰ã’£TÞs`®�÷³dôf§Š‡zŸÄeÍt?ÔÕÙÙ5’ƒ>)³ÐqÉ�ä¶Ð¸ÿÌз@ŒÂ#{*PÌ�H=š¡ö ®{š÷°ªv× €cÏž€ ¥’nÙ@.;fTÇðS¥Höúzc}�)Ðù_;‰“ßÿ?‚ìþ§ýÏlÜþ?þü·µ�L-ø"p´Æþ¯Nƒ?E+€Öc@ñÁPoúÛãØpWšÿ¡¾O€A"@†À¯Ûû‚^=û˜9:Ò.<áYã¯:~0oæ2¹_1çmÂÿÍÀ?ÓràtÒv??6on�Øÿ¯é&ÓÇ¥ÖØWñdlƒ¨´GÈúuFÚ<@­âöHŠü41º]9úL‹+Ä'�>oö:pCU @U+`vðä1öp¶¹ €óýæéù³Áþ‡¸Hkcû5H{ö8;ñhìœí 4�ƒ�Íë»3¹ÑÑ‘Qðá“}C|�bñH»˜Bð-{tDz·~T¬”ú²Ó´žéćͦ~"pöá7ÕwB�Rý<[ €SØT0¿; öæ¡@åÙ±·¦ò–±PŒf0Å “àu(«bGÖÙ¡HÎ -îÎ׋×JT`r­/–g††Èÿ´à麠@Ùñ ÅÈŸ0ýTáêd¯Â±kX›£ÓA"€üoà©3�"_t¨oüŸÉô)º’Šlw83Sfxà$·…æ ©�¯(ô¦j&t^¯™ŸÐËk<­{¿Bú·*€Ý{ööÌÖH˜ÿÏ;A¤€ÙË6uäßç@ÐÇ^øÉ:Ôp#'bp�éô%w»€� h%Õठø^íEÿÓògïvpv'tŒÑt 4Á�ÿŸð©àjãØ +ô:À*Àçü.cx2½�~ÀÙïžMữ~v>ñºdÀëoüèõ0ð5@ä€àxà�½`¯ö8 ÍLï8§âH¹Ê{úºj4\�¼m§1Ègü¿.‹ÐmÐ(¥`óû F^e€™Mù?í°"jɸ?Ìõf9ˆ�HÿZò°‘'OŸb/¿´î¹ZìÙm.{o�¿ƒw÷n¥ÙÀ [O÷¦}6ò4ŒˆaÚßÊ&(€€ô¼)ÅÀü7€ª6õôô~æù&EèŒ$Ø:˜É fO�Ò+ê W#¤<{vÿÎ\N÷ àt_�™Š½Ù¯8•!ÿ��ýiGCùëz0#ÛU+­•¾¾vmm­TZÅâ T*­U¬Ó3ûȽ Þj�þÊ…l_žÝò–WéÉgœ’ƒAÙª0Úý³ÂIV+…!H —Š@d½ETX�¹²Ž’#íS|ß�v U*‡ÇÖ­/¡#{ä‚"ÿŸkkWfV¯•JÅ™½RÉf§)E,g÷bÆÔXQžÎöŽáfÊ‹žß……Å7h…Jå(ç†ñRf2ÝlȦr^T"æA8Ém¡9–ù,¸¸ ¾¿È>�1ЧKöò_¶|qö€Þ”~R4xLÔƒ�Dɰ‡€pàÀ³PÏÊZ ƒZ1Ãr0€ISaKÊ X@®â«là'ö4åVýëKû_yÈþý³Bà(是²&ÒjÀójøß¶â ÏBm°q+€–cDñâø0ªüãôHÿU ß=ûIr¼k)€×Þxý "áÿWÏ>zÐéŸkõ l�èh“@‹üÔÀ×$»T›ñ?ù ÿBü_—WŒåeÜû¬fŸÆôom7… -€QªÔñ*Ÿ©ôð�|FI�<ó�SþÞ=‚q‚§)€ñ),Sìݾ{û^ÐÝîí»õN~|{ ‹gE�²ûç�-äg©xÞÈþÅÅÖÁ ÀP[Ti˶ó~«A"ªû û#³˜ÿhÍÇ+‘€ôFgd˜Ÿ;£2Ôcñâ…½ P[=õé9ž%’½DWPüß3@þ§ØÛC <6‚yÈzE'è/o½åtßkMP)_[]¯”¯¬]aCÀ\1Ê�dr㹉(Û—-\ýëëï\+W€kà´)°èÚê*Ûä—Ëë -ÿ_‹F¬r§82=U®W´ÌÚ®Ž*3 <0w¹òË íÏ‚fWa¢W®]³ºðDÉÀš�ér¹²Ž¢TÖTM‚µS…ܡ޾l&—ý*»YVh%ý… -J®¢Uœä¶ÐK¤yŽ0!é§¦ìøŸ›ðÀ�` �ÞÍb8¤€‡�³?ø_€Ý»{Ž�ö­†þcÕ -€Ì FdÍ útÚtM£nEîò?Eàÿ„? +§œêÈëâwŸÑÇWH˜@h¡þŸPÙ’âáŠq••ØgœûzT/žòˆèdþÀþ¶zp ¿ -lâyö`ºgïîÝ{vï†ù?ÒüÿsæA�Xd༽{X§n°qLqÐ œé#.¡ƒ"Þ•à{;<ó^œgMÇÎR©ø²Â˜ÿœ°&iðrð÷Yb†Ú¦¤|éÇ©ù9)!R?=®èØ»wwûî}ÃU]¢ÊþÇ!P(˜óîøùÞÚHäƒ FÌ3 c—Ú:”Éäó¸ŸÛÙ¼ ¯|l’nÌ�±+<3ú£K>q Û³‡ÇÆòù±üØaÌ e±`àú1nÆLvl(Ûû@þ°šì±+�±,0„õH4É}³Bž91(€©²=84�Ï>�”‡ÎŽecn2‹ ^r/!Ž‹�,åÓ>8ÍÂÙÚK5 :çŠTÉŸ.?8¤’ãð‡s(�—œGÄ¡ñÁI`Àæ, ýáa™LNZÉ‘gU€Íì�%Ïå'szSÏl¬÷�òÙ> óþ]�‡xÜ�%œä¶ÐAôù>ŒÒ ¼Ïp+ÏÏເd2´ìèä0—Á<ìj=ýýGaô+@ -@|@JPþ¯R Þ#LÄn¤R>1<9áÆ?Æÿ;ÿ3þÏøÿOp`Ï“E"�®þOó¿oÔ= pôØí·h!€÷˜–ge2Š¿â¬ ’>?>® â}^}•�=òÀÁvÚùMEî#+V�\éŒù©àÿ‰& 5K—8«©Ø´¯˜yï´ï^ã{›Òýϵ›‚MþTrŽýXÁÁšk ˆ�Q¿A€ywht„8'új€{`ö÷°KÓ`¯Ý»O¥<Lyò¤3ž=à<·Ñ‰o‰®_$½jžS/K5R« (°7Y^_ÎJ¥ñ‚ €ÁþáÙy‹É”øÔ;§0:a9t¨Å‹Ë+’#)À7Ù•p«  Ø[@ûn«p€C$¨¯ €1¿+À -`¨1@e¤½ìþÞ]íÛ:Úw÷÷öîê@]‡ú,)YvlÿC‡°KC íçŒdNfìýÃýCØ}?÷í뵡³³†íLJÍìÏþáÚQúö#OGòèí}ðÁ÷amïX¥9¦+“„­dVÂCûûpØ^/4Vûz&ê=ÄBªC,ºo³½…Þ?ìeɇ˜óQÑTòýœö£D5%ïÃnÊŠ;0;\î‰}îßõG¼ í»¶Ý½ —T…çñX. Nr[h™üfï‡Qj�OWx:º¤ìeïgó<…ìØáÃCy\�rù¯=l1=Í·Ê�Éf·õá’šÓ¤d• €“ÜšC&•ÑŸ^`AóôÓ* ÍS¤~ µôþ_¦`N)àîï©™ç±ïñfCÀ$¦Ò -@ôlÖº5ÀW¼jÌLxRÂÈŸôÏúîȤ�ð¿EŽ”¡)ÿ?ë3„o´H ¡†·ß - y @6ûVå-u�ÀX£zѾÏ-À‰ñ0ÿÉùÒÁpöìw¿K§?q–ä¯õ�=úðÁƒàcì¯xç{P¢Ï˜Dc&mþ§h F¶ÁÈ¥@ÿ(Çòò…å næ;߇Y ­Ùÿ(nâˆá šó;@è^F'ç¿A~ ¨Sƒ=í»=€u°ýA_ ˜�"Ž€ýïöÏß^4ǹôêk°é<ÔHR–j¤W¿/ιQ�ý¥J{ê?Ë2Y&µ˜ãó–±�»ÓðR€®Ã©Ä0Ȧ�º€h*¤(öìþ¹~¾™Xm„R¹Ö½¶ZŽ&FGG39¶r�¥NúͲV»RY1—ÊåJ©üf>;½~­t¥¼zëA{««•õõµòÌúZem}uíÚ¬ä‡òP(}øN†ªOÍþtmtñ�úS ch€BTø3òôtal(›¹².r,_y™é¹öŠ.Í�OáˆXw¤ü—×VW£ÒÚj©r­R©”V×*(Q¹ŒQTšÁ~XÀ‰­Wä€Â£äøL*ÍM(òU+ùÚµkå™ -Š~­²zíï¯åûò…òt„bOæs¬@É˫ϠÈ” %(äÆÇ *9ä0@ùcC¹¨¼^¾A_p -ý2ž{¬¢ p :·er|A]»¾Z)•,ÃIn Í!“?mô'SnX\^º¸‚;y¶x~‰õ¯i Ж¢ŽþÁÿƒÇúaø '¥pHô“Ý@ƒêˆœ)0’O€ ý› /+YUÀ HF¦…ÒüǧƒIÄÄ‚'#Hüdhò?÷Ápì¨Ñ¿ñ?hW‡àèù*ûöxŒ4ÿûfÂ×l °a+ - ›ÆPéWß¾ú¶ýïÖÈ­}£|ûúãfq~b< -`„9n´™ëõ( �Àøß3¨\8‹r§­Âÿ�Á¿ìÜs :ý¥6 -�U|n!¦MHû8j¥ú_ð“°غÑ€FFý†Ùác‹50\XËÿPô0@5»{ö2€ìIó€ïªcÀ¤)]rá´Þy°†¾ý¸8\Ž×�ù±#ì~Ûõ[2îMÄ©R�`"~íœj¡�bT{¨ii€bþß×ÃMÐ`1FüUôߨÀ¹•�~ö.ú»ôl ,ô¼ -Xãkv‹…\¦»;�›˜`{ö¢î\¶®—µ ‘.½¯s7Š®`À[©|mMïê]ýúÚZ”후᜵×ý ìi÷Ihµ“Dzºß±íjE��íÏÂòŸaïzPÖð›¸àQ¢ü�øFt‰íüUro.@{^ Un`ËÛÆE°ïõüPá:™-7*ƒRi} ÛQòUȉ|/K®ýùÂ8Æ*D.ÇÙPrÊØûX=t(Ïö ®™µc”`£Š‘Lg['Nž’AEµ2ny6‡Lþ´ÑŸL¹�ÜÊ œ_Æ­û.FbùÛÀ�POÿx’ᆗ˜�?Ÿàœ FB�ÙÁwià>Áâ\ø:‚–:8”2€æÿ®ŽŽŽ¶mNÂUôþ—õÏ�ƒöiþgý?é_†9Ë=Íÿž#°'Íÿqø_ýCØý­R1GÍ -…].»x«òv­à)5«M(?8ÿ«Ÿ¯¹XÃ?òÈ#NøŽG6<èV�ü_Û@fÌž6›ð¿OC(ž�,—âF¸ë¯G©Šá‚‘Ê ÐBùÓåN{$Œú ójûf¤©Ñɹ3)€qå©ê€öÀ:Xÿ˜Û³Ûèã�óH�‰@ÜËìÍÇï·Íq®õjP @ª,ÕHVq{S0—ØÿOp#G<ªÅ€@Q, “¶äÀ51Ò v^‡Ø P@¯À%ÙÎ À” 9ÿã ( -=+ý ÿ={v;I�pà|_£�ˆ*Á“ÅQðÿÈhnü?á á±8 ›AÊì�ÿj>[^Ã"ÀÊ3Ò3àÏ[_C"°(–]ñÒò§\Qw…ÜãFˆ|q?ÆÖq [›Ç™„¹œïËN«ÅÚáS¶r†€¬�z9 J.þ·)J¤Þk©(‰ÂS¼^Š®•"ë¨È†ŒLSZ}§„d__ýY©\Îõæ£I‹ Ï/ -Çú ÅûË£áðN @ëì5™3Ò†‰X°c €\¡XFiXF$$œä¶Ð2ùÓF2å=må˜�—í‘¢ÿªy+´Î¹Ðcšý¡Ì³Ò¯§û=5€£`Ç” ã&ñs‰ày(€o$>$#kV+2¹±ùÑ]�ä|;Œ†=‰`¡‰þíScÿ“{q|ñ9ˆ›SGÿ¿çÙøŸœÙ&18R½àˆn²ˆ@ - Ë ×'²o5 -€·3oh™þfýû#ñ¿s>Èÿ;ŒþG¦{ŸxäáGøyäÑGÜê' š(üi„åÀþ˜¤¨´%øŸ¢!,0 4¨q<˜ÑÌÓE½:@¼oäoJ UX™«ùŸÀ’XPë8 v Sç9ÿ³@ˆ` ÀÞÖ°À=â<÷(?õ&ô"�¡³4±ÃsmìÐ:ûT�Ë©u`ø9ú|×Dx*mk°¸Øˆÿ«=(nM €§ -€a*Ð?d]ýj @è p•H�%‘`åß0º»çwР³?á|_ã�4HE¸‹K¥¯M�vwu�Œ‚üé“é¶µÍ2~t£�-³1½ÌhÐ(8”ü¿z|åële‡r«…X¬Uà”�­àx’>vÌ‚dù™žìË–IÕ( 1 öôEvÜG2�ʕɡé2„ˆ8žEgºÒב^TÏc—PmÅF+¸-ÓYq#*ÃÊÇžr0|A%¯”žÁX�ÇzsåtÉ .Ò2±(@XÉ'ùÞ‚ÉÉB> A¨”ëI‡ 4@nbŸ@®s[gn\=#‰'Ýò´ö -œçÄG©Æý«€á³ó¼£ußmlvòOYÿ ¼ßÁÿ|î Ì.¸õO€/]°-ÀÑÁãÇO8þì`èE¯‘x!ލQ´ÓÉæ÷íêØ±ä�‡GG'hØ2ýmäÉù ô_Ëÿø@&Ò7Uÿ¿çÙTü_cþ§ùOÀÑ�;;[oÀÛ¸ð$k¸ôI€áê[ÕX·˜@P¼3¨R_Èr2­~~Ùì/O@@°öAþÆÿ²ü…&*€4S\´o¬êÑh] ÿ 5ÿJFÿU€ø–1 – вÿŸÌo·©æñ ü/W@]cjÕ¨@U+€=ê ¨g”Zœ®‹ï"{vÊe -@‡mè áò«²T#YEû^ -À<ÆìÚαy`Ÿ×Æ4®PΪ6@ 0 /€·Ío»ü†{øôèéwšþâàä/8ß×äW òdñê•Ri"¶Aö7·“­@¬$5ÌCÀ̧‘Žû;cÃL‰Žm‚[J…¡¾|À“¤Ê\Y³ ~²)Íh|ÈŸ`[v¢ËV†åýcôïÓGöxVTV­~�(c®t&¼ÁJDäm¤ç±�ÄͲ÷Î|fTp$gÉ+Q¶ü—´À‘7}3E '.`_¤ëM•\úd’%ÇTž ž‚¶H°âBëñ賨A]%GqåÁà;Éÿ£¥Î»;39–ÉJ­ñ– ,-�§à<'>J-à¡‚‡ìå¥ùÙ�Ùée­aY$©�ŸÅ¥júÇÝ*¹�û´ÖNÏà¬ú61ˆ1ÅÿŒ€íÎ¥� ö5 "¥9�Ì<U -Àzçïè�àNh€Ž®Îm¾Qó› À"v�þ ñ$dçÐøqé,×'æšÿÙŒÀák™ÿòt¢@Ð�÷Œhú.þ«)ØÕ&ÿÎø0$@6ûÖÕj@Zà¶0Ú�¿äÚþ z9ÿ¥RàÑGÕÑ(=€GèˆÑÄpð Ø�yWƒ«ÈšÎôF¡-Ãÿ�@¶g €Å Õþyåš#¤e€ûØPËÀ±¼©c!áÕˆm±C#M2ï<‰.˜ðä~Z³1ÿCT·`?t¨`‹Ùz+)ÆÈ€;+Õ@À94Í#ëè Ò.¥5Û þ³ÕUþ:æ°ÏiÊ +xPEÙÕk(ŸöÆ—çĝоú3rw¾·=¥ÒåUJ¾hÈJŽE_§Ež×¹6 ¾BDWH©¼:UX_¥\šÿs (w¶uŽæXbUÓ-Ðdò§�þdÊ æ8¿p Ïyøø1Ø£¨ -aEŠþÍú„DïÿƒçO-ºõgšè?Çãktímú‰8nö?áqªœ÷Òí¿k§y(vtvlkëôÍâÿP F7þOìÿ?ñnˆþÇV,�ž±lÄTñBÿ©c~÷ìûã«×�÷u6j�Éàoÿ$þøz0`d7`1¹ ®¾ýVM`šÿ«Ýtñ;ïs\ zÚðhìóÿAq½ø2 Å«DŸ· ÿû4kûÙ :‚`I}S� -jþ�Ë–ùÞ Ï¹°€<5Æ'æÅø¡Þ%<ªxóÅ9JÝÕ�š;CþÇç ù_àÌÊþ÷׃`ùJ½àå1aº’ñ|ªß^‚æ8‰T©el‡zþ’UœS €·�Ðvêƒý@?„{, - ÊÙ�ÝQêÍbèûç—!€Ö`7+=Ê/p•HE]HÄà<ý…áý÷«$€~-ìŽL�T,Ì”&rÝÝÝ£ã_ûZñk 'Ò·[²*n]Ì®O�­—�¿ì+¿¶êÑK_ÿ÷ô fû -ì­Ÿ‘~´“&Eœ„½‚�‹“�³i´�ߟ+—ÉÅe°?•Be?À2¬,Pñ’)X]ˆ @û_‡ø÷«_¿B· ~™Û"wåH»6�­¬;õVr±T¾Rª”pD½ð‡eƒ™Ï1Ë™ÏKÃIÉiü³è|KÁP6ªÈsQZ•é�\­€  êcŠTœâU”¬œä¶ÐNÄͰÄÎÄ/3p6t˜~КE_E dlýÓù�aÏnÖ)2àœôpྠZ€ô)¿±xî9³ÿÝÐ@tlëÓü¿/x::º:Û¶aÉÐùOö'ÿ“úÍàììËc–Œ%áëAï*ŠÛ"ÿ@'ØJ“Ž�8{_g*à8ßhèOoî/ z -wSm=W+oq{ª U €Q_&öÈý/öùŸ}ì;šÓ`üÿhìH<�ÇM="I#{lÄqŠ?oöjü›Ø þ1úg,.ù»¬lMƒuW+žsK OÃÊJÎóñu:›»ÚÈNPÚ©SgææH�0¦¿µ˜˜ºgøª@€„gì�a,?ÌžÛ¥ô.@†Â ú£< ‚õŸ0ŸÎƒóó$å:ûT�Ëñ:ÙÿV`;VÇÔ± 6@>€Zp¯ ´ÿ—OŸ¾ð’$I’Ñ%Ä+! �R�¸4VpÊë?6JÊ>˜¬H€óôð+ - EÝoHN _+'F»GŸ˜ýímÀ³²lE¼Å¨T)ÀP׬q)Öæ(•×ÙþØ�Ñ(]þ´œéøg|y{åß$¸U1v\ÈÓ¯éd_ž�¯¬®®•Í�•VK°¥y ½–ŠX…/QB `³e9ÿWö³µµÏJ€™``3œà”ŠËSQi=Ê®®i“ÝŽ!Ç=ý� -œøã(s>÷$Ù%g£ÿ*¦)‚Âôk†¡Ã|·N æ?r†mDÅ„'àø¸ÀŒ²¸&^¶^ÔômŽ‹KzS§Å¨cÀæàVûj×jëÃî�Áþ<Ýæcþ?çÄyTïú@�6ÙÀ%@¢HõÁ àü�q¨èèØvï½àZý±TÛѶ“ HAò÷*€˜ÿŸ;îì_Ïÿ1Ÿ£˜oÌÿ:Cšÿuæ8z¦5À÷È•rŸyœýÉÞœ1»Z¼“Òu’o½ýöUÝŽ4ÿCOú2¹L'ØŸ5îó'ã×h¿Æ ðùÿö<ƒË?†Ø¿ŽD[‡þE aÖ>°*€•âD1SÍŸ)/¬¬\ð¬[€ºP™­øëãƒVß ø+SÜ‚ülÙ¼ügÀþ²þS`ÍÀü<ßøOߊC˜"@ïÖ7°5¿Bü⼆ ÀÙW‘û5\Ÿ Ye b@ûSVXÒæ1 ©Ü‘7® óÃÃ=='_¹|~‘Ï\"UíSœ:uš -@€5jÀžöîÞ¾wß0kæêüýU…ÄY@ y¾xpã½V€ß“O9ÿŠ3«0úÁƒ_/ýlõ™¯Ÿ™š ÍêÕv2ïY•Ž¡\Ég¯Š?IÜŒ­‹!�Š¥éìP™ú�Æ?méÇÙq®u–k/õÅ&Ð(+ÒAý¢|£Âþœˆ|Í^AÄÃQè!#¨äEå‹a+ùTéÆÚ;×þîÖü»wþú�Ÿ)–/Æ Jþ ¦*ùúôP¥á|°#KžH–üJ ‡È÷F«*«÷YH�Ç—ë¹e’%×�hí£Ó…¡1€Å’c5@Äç$@n4un£õ„b Î’Nr[h{Ž6Î_¼xÞ=/*0¶ô7ϵÖOÿÀà�<-Oû»ÀgNùÌ@€ùȺ|™Þ`Úðœ¨^"À€&XdOÛò€ó)bÀyè�çß3ýð?³#ÿ3c£rrø1|8"ú[âYþ6= ÊçÐiŠ-qìÔŸÑÿzgþÿñæÝ™ÔWߺ*€ß2¼Ij=ã™�TÛÕý/%€‡ÿÿ§± �<úè#i@Ó:±d²¿é-ù(�bøŸ¢ðO\áD­°†Ï+ ¦.¬œ÷¼[@PIñ¹Àe4rϘ`G6þ÷ÖÿTÖ @ -àìú_h½ @/z¤(ŒüM0éÉùSâ:±,jšü´ùEw$꘳c ‘a¼˜p¤³Éš8Мé~�¯'Aš¸CÖײÅ#÷g Ó'!ê£0ÁÊåËNƒÙÙ°¯ç4%öt!_ˆŸ+$¯€E¶oß½oøÔi°?£![…üE'ê/ -ï¿þoAT»D£¸…ÁX¥òÛfFan¯•X €›[Ò€ühDI-å³ë3\MîãÖ¤AÂ2c†øÊ#Kòe.kMëÉþ¦äC„Q !vg.…¡üìøwØà M2C‹â/1Éú¤W ¸S”.Ø—%ÿßW¯”¾V*!ÞÑ+J3ÞÂEmøö>¡\Áñƒ2¸—`[Fj—¨�ï3ßû(y!Gá‚¢³ .¹œ”,,9s)d³«8îµʬKÆí,&wS£™‘€Î‰q”ºº'¹-4‡¤Íq^‘¶|à,žÂUÏÚ�„@�õOþï˜;=_ý" §N)€Áo¼pâÇ_0þq{Öè_Ö·Ó¿œ±@VºdÀ‰¶ÎîÎ÷šà>�¸S1�ÛÌ@£;ãU ùÿOèæ—í�ï‰ÿ«@°ÿ) Ró?KÃŒ�…¹o5,Œ@ý”�ý ºk¥r…qÝx&P¶*F6õh0ÒÙ¹“a‡¤ú@ùÞ u€€GZô¤†tî]­F£uþ§¨ÿ‰‹çÎUW\Çã_¸Œí`¤*Rm€¥Zö¼[@ÊCk|ÐY‘}0�Õbª¹Åóhnîôó -h�uÄöâÿ~Ò?îÔø:p¯È %³J½âƒÝ± L -CQEç„çPIÉ‘æˆÅä -�ËuQP_U%ÇÆ<$ÀdN"+Œg¢lþú¿ç‹†íj(�8ÎÄ_²˜Q3Àœ,ÿ¸ä€“ܚÓMq~ॕÅcŒÀƒ`#ÖO÷c•õß38p Ÿ·¬ñ?Ãv9œx>~ÇÞó'þôÿó§ÿë‰o¿` -@üâÓ - å õKtvlëL< W‹àBG×ÎmmîØÑZd€‘?GNþU�rsó?ð¹ÊÂEó¾’æ+ºPËÿñèè¾L5`~spVæ?>�ýÍ�ùëfÐ -ÿxyÒuWßöÞ€-Qµ˜ÆˆU ÿD�ÿ¿+㟋Âˬ ]PãhªÈ‡�9�!%D šh®Uè¯ÑKtFq&U`>áøGÆL•“€ƒ.Þ† €A~:_¶…¤�Œl„À½$£4΀ï%@oøÏþéÙùÓ³ƒû,ÐøŸuŒ$�ò˜§T®1@}8|ušrh sËûÞP°TÔBü†+ @�avîÌ#f1áŒU^x&8:š€æÀùóççûAüÍYþçç‡û{æõÞáåEpÿìÞžáÅCï ˆœÇ =%ÛIÃþV3@yT@ÏGúø Sˆ*ÓÙCÓåŒæI6€1­:ôÉÉÇåpß�ˆ eM¯ö…ýPøðÚ:«âé¹çn£€/9r}r¨¼ZRß*·P€áÿÏ�ÖwÂe­tmÍ*,Rô.‘ŠV™Ï—dÌõøj&Ц¢µ(ßÇŽEŽ‹Iöd(½#åÂscÎÜ�ßJ~òÖ;kj‘™Sb¨p|^ŽŽH°�E5õ8Ém¡9x«n÷,Î@K Æúï줪wóaQÆÀ¼¸ØºÙýÓã/}áÿ}âÛ)ÀJy€:€¹ÄÔôùWyB =àÙ vvv€;:þOÌÿ˜ÿ1ȳ`Ln!‰üŠß[㉗xt€«€Áo€°0¬ ìïÐ=`Õ~ûâOŸÄ[o¿Ý¤À´&}™‰î.ãÿ� ÚWõ¿t`^€à Hø?í¨ªh ²£¦ Æ÷É’�Z‡ý9ê¡`>’ÊúWà ÿe¤š�õì7ƒ‚üUæªS¨~PZ¤á¼”VŠϨÝ! f€ÖÀ£ˆØô?5wòóß° ¨£  D†lŸs^mt±µP|B-¼\€ÒPDÄ{ù@‹Ü”8p‘í`x+0._^Y`¡�©èÏbîÅÝÛïÞ3{úôð@OÏðÂÊÀÞݧ_¹¼È¼a¹»#ĬÿáÁa ýÓÀWMÓ ‚‚¼áX^Í']ƒ3õ„›7é0'€³?á´ã­7úS@sàöK¶`W€l¹Æ®€¢2ؘÔjD -®,sšú w�rÏ„ËY$Z�J�4ƒi*ëî§ �IÞNcÃ@}éÛ~&®ýûkªìOˆÔÏ–Q™Ä iQ¸AAÀ;öèûª{]•eâ¸t•/ -¨�’£é¡¨¢dtÃs#¶©•® 4ùÞ¨ òÒ…åó’OŠÿ©]´–€’ð£C¿TòùµŸ­•ž¢Ñ/`XšÀ0:šÉŒgÚ:Ç»»GG¹—€åÜ-AÏÓ¦p€ª6‰LƒO„˜ýéýŸ;*ÿX=<0Ç�g/¾ß~þÀóÏ¿pâÄ7jÀ±AhF¦|ôgN€ã÷‚Ik<ø$1&H¶# ÝŽŽö®œüS!�ÿc:÷’j¤˜öÿ‹øUüÏO2:z)’Í/€9ôé¨õ„†šPËòžK €'ø¹ê½Ç7zÊÀQ_vA".ÂÀõì7…Ùÿ©s‘�ÿî²A]˜rå`$�Î}ë[ßW;=5Â7æO ƒåð@wXµ¸†LªÀYíN&f¾œé{›¬(�Ž õ¹*HJ„ìÔå‡q¼2L«=Q–±~þŒ; Püùù¥—._^ĉ�ºüÃÅÙ�EНE€s°/Ÿ_dIxv&¨Àÿ{†ÙNÀËœÒ €­y ’3õƒ›·¨‚à]§À‰ßAþÿé•rzÀ�‹»w,;S.ÀD‚ÞhÓö__-!Éõë½¶VY«”ß)—*åh¨¼~¥\ŽfÊW®¬^Y][»QÁâ•õµµ2îýõûÑäal®D…rå'Qôt¡šçH¯“ì×xÌJiíúõ¹V¹ºZ.¿³>YY¿ÎHz”ãõʵëï p8v¥Ä`À(º=�åÕÕµzÇ�J~­\*¯^¿¾vu}ý:_YD°ñ`eýÊÕÕÊ_ÿõ;××Yò|›Q¹ïÒu+ù*†+W×n\]Åò_Vþ²<à WžRɧaÓ赃e¾úÏ.É´—¹¡„%îÆuæ\.][¿tiíÈcœÏµë•™ÒÕ«åÔDnt¤�ÙÖÙ ón¢R¹ZY]­\Q¸ãªsÜ6€?)› ÖÐR àâbÚúï8Àû9¶þ€Ì�Ž÷<ÿü‰ž?A¤@Ü'0$@Z<'òǨcÛ¶{Aú5€`ýX ÀÖ˜àÎ;:Ú¥œü–BìO.Ç×¹<jŸÐà+_i�ÿ«=÷�õö‡…bóŸÀþaB:7è�@7]ÊðÖºõ+€„ÿC+€cŒ`u�ñÕ `Šøã €R U€2¦KQ¿ÖpF«*möÿ¨‡º¢d›‘š -€%Jýkÿ’ `4S±~Þ° Hð~:Ÿ¿Àðÿ]mó áß r6Ò�œ�  Uh¬(Ì @ú²+ £<¡×)æååE¾•ƒ³¢};[ʃäoáyZ -sõLJìNCÄ®k h.\Æ%Üínyz%4ëÐWh†æ9ë.ÿðßýÅ_üpe~xp gxñ‡?\è™e%ÀåùÙ ggWÎÏb=�¬½?Åv~Ø;øäPhäv\Æ�ÿ‘5èŸêCå xé%–•ݔŠr!Î;U1ÿߢ@N€÷ßk¢Äÿ?% §ÀúpôÓÓ¹LgW¸Ïuãj‹bâ¦�ýÄ€ëÓûåÅ×[û.�/¹PÈON3“.=±F1}å´˜13‰§ùÉI¾�—ùñŽöz\¦aÏ¿ÓcY¾DpI -Ok»63ÛõõÿpýÆ�ë7¢¡è'"oÐ5,wî8}Ò÷œäUÐë|Áã8PRò¨ò惗˜'¶pM(¹ÁdåBt¸7 …ÍO³ Ó,1Ê^˜œÄ:$…˜Æ= RX v-òC“…èi¤×j;èBV€è£™l›ºÏLD(º -K8Çmaø­Õ± ÿÌíx` -þ¨²þææÂ3Ôi -ÄûmÆæ×*¾€!Š<–j ðœìÖòßÛÐ�î ñìtÀ66 Äqbþ'•cìT^ÅÿÇ��8~àÄñŒÿIû1jø¿j¤Ê~R>‡NXÿа�ûÇ °:'S‰ åȾ]yÛzˆ‘DpÄVòp”ÉtgÒáU2 ðÿ§ó�þ9&Ä›äI'~Íj®5Ü}÷ÝúçÔƒ­Q`á×udV¿¬Äš@¥¹@#ô +µý›�5Vlç) -P4ûB"óò¨jGÏóô·ŸRÜ|=èÉOE´ÏB±& q0�A�¡'|� ¸m9^€¸÷÷= Ð�&2Ý ½¶Ž -ߘÔ+°‚¡rÚÏ΃¼èç /¿Aoûú!ðñÿß¿xe�þ~bvñÏWNõô ¯¬œæÙœ^™˜½°xn`÷nHW H ë°�íé í¿07ˆãõ÷Kf°ŒŠ=¸üÊe(€ÐÇXœª¿ÐÐð5@C`üÿÖOÅk‡Þß;ÔìÚµmÛ¶ööö]»výÑ®û{ûúðöïïåÌÐЃCCCû÷ï?¼ÿ‡° -èÛÏ퇸öÁ¾ý½Ø¶?Ò e±m/v�©¸”FßáÃCC‡� éèùÃYŒ0~pèAy2§>dˆœ†x„|þ_ä§óÙ쿜ž~´wè0–þÒs—ÃC½*0´¨÷Á>'“€åA>îGFû÷?1d%Gɼ¤Hñàþ>žÉ!$à9>ȳB -bHã,ù~\/_×ÍKŽ£ á ÚÍvDF¸z8u¡¯÷P¦o×¶¶m¸eweÆl×G³Cœã¶°üöi‚ú€ÖÐóbýK€þøÜİ@ò4pS|iðìÑg�=Ëzªgâ…ã‡[ - I €÷b°Z€ ƒßïtöOÛÿägrÀ‹øÿØÑGOР �)þ¯6þ9¢�ÏV(#m~ƒÙþ5­ð• Ÿ„´êÜRÀ€÷`¯ÿ¬åÿذ“aàÿîÌ“óSÔŸhâÿ&€fCÆæ2é^˾FÚ:ÚïþR{c â¯æ€ÄÕ„æR±ê�§5Ê,[_³^v.“ùY `5©ÈXêׄ†MqúT*P -À"geÿË7ΈÇîWÿôIDAT÷XX7ˆÔŒ¹'²a>1; v29µmü°‘BÂ…Zæ I^2" ­¤p`çÊÌ;>5¬}q!n3€E&‡Íÿÿ á~vþÊ<¦ó¯\¸@É¿2¿oðô…WNBñìÞ=|^Ý[ @ ÿa ‘ÿ÷Ùë€ÀÀdî —›Ä±�“OÓþŸ.LN?MGwRÉ£råÍÞ2RO²äÊ—'€žžD�•?Š©’žž¾tx?]“,×4OtìðX~,«R2†ßlfWG;ßþq_²›ÆöìOžÁ@ÏÀe?Œþž¥• .,/¯œž=½øÊûùÝ·ry�ÌjLÄQò(€-…E6û\Pè€Å4ª]Ñ ®¿v!0Äp®þBpë–<Ñü—à¯jÀOÉÿo�ÿkê&a‰®¬®W -£l˜+ðí7¸e¯”W+×n\_¿±~uµüÎj”ʯ_/—×××+ëäþò:ýìåëåk×ËQ9š.WÖ×Ö×Ö®]¿¼sµ²ZY+�å‘âH4 JÅže°~yý:’ƒ�×o\ÿû -vü‰ž•ëoå³È ×o`ü&+^þ3l¯`çõ7‘¢r…)EëÀËëQ¹�ê+à°×Ê8 -‚rq[¥‚büý�µ¿¿¾VY½^™AÉ+7*(ùu+ùË×P`%/±ä(öÚZe=Uòõ!(lÂá~Žc¿ImóÖõÿƒµ -Qåï¯ýýJV®¬²ä땼|¥¼~ƒ‘ (Û¥K¬r(C)ü$ŠŽ -#xþïh»—÷RåR9¢•8ÇmaØ# >› mýãAIú_ sQöÿü±ã(NÀ®Æäù£)@ž pû_o -`´«£­­cGûÆ1ÞÀ½51¬6ÀŠ®.“ÔàÕýoÀÿ(Ô�zìĉcÏ&üß_Ãÿµõ>à]ÿ¤ZH¢`‰¢Ï·ýׄî ðç®òÀÕ·®Úû€\+$ü_`5zð<îôoÌïôßÜ�®h r¥ì}‡ñ¿fÄ�6ªA£um¾ ;\z$ßÉ n9ž;W]½»xvö›Þ±SÍ3Héš@Uº û¼¦µÝ&ËÉ\6';éÀ¾U΂—þÍðÊÙùÓ(ó)‰XÞ -ÞØì.ÌÿÊâ,ÏLçszJ``÷îݧò×jŒqÒƒdôa\$··Ñ�>'â¨,#‰bÒN]@¹ú €<€û b @þëÍ·Þ4þÿéOí¦tT -CÙµ¿_/'F3]¼3¹ £ßqƒ«j�"æê:h´ðžv mœÃ �-¸ÿ§®¨©½jµñ4`t½âôÙ£ÿt6o�ó0ËU?«Xò4Ó`Œ9¢R9œWE½0ù$½ žôɉ¨Ô#ïmkùÒP_ùÖÚ*› - %P6K@úR©r£\ÊßP¾²¬r!O³c ¢ˆžCÎ*8K^îÍãfŶ"[ù‘’Ýð퇡õ@¹œÏ*P�OB<ñ”œÇÁdœÀEíÆ“½­£3c¯Q«°`« - è¶oŠÚ€V%=|«wú·`Îz'Íð-².À¿†€þ|S@Ÿ»R�þ;;GAù ñm ü b¸`Ê�8àÎmÁ@ Ð — ýïLNøÁ�ÿ�çQXÐ?æÅýDÿ׎vÉÈ7Ê—Ío.®³[8 �rð~w€¹¼ -àêÛþFÀ†u¡@·ñ¿ž9b|Iu (Ô €V=Æ�4˜�-µ`ÜÏYµ€/³îhoÀ°2øÉç1.’ìÝ�UÿI,œ3ÀÊEUP ú‘6AÔ‚�'´¡ T¸/{“«îÓg ì‹pê‘�< zôdŒ•Iƒ��²EÆ<³ó@ìP&qºnÞºæñYà˜²ž•¢ ”[Ú—â ÇÚ¶ó¸r¶;QÂþ^D þ·þ;úÿøÃ?¿üçŽñŸÿ�¯ÿº0?Ü38Æ_$Á“âçÏ^¸0¼{{Ϲsó - -p�£³öø?‡êÚ÷`Ÿj$^:-¨Χ^&…â\ýEüo>€¤à@â�ÿÿM̈ÿ«Àt4Ô[ˆÊWW'F»;Õ�ÝŒ9v]¦V‹Qà -À„ìÓw2€eR¡-Yã:’*hôë««…¡C�ئn’|ødxr°ë?½÷‡ Jê-–£lÖÀŒSyPÊáM÷|e{sQ©²ÎlTÐØà`BY?ñ 8ªõˆAZ W@æ?>ã¢}2 þƒå`ÿö© ¯xû-kà7$oà„ÿcÃèt£à¦Œ-ÿñÿ§õãH–F “gïH ¥g¬›^vç[Žg˲ñ©˜ÂøŸck¨ çŒÃé¼0Ö‹’OU®`•¹¿³¯€ÜgØßSxð ùë0óÍ4×f¢Â’kG¹9؃0Æ|·PÔÇÎŒÕrÁJ?ÉPF¾øÈ\SS<‘ÜPT¶pè¨èù+õ¸êÿù6`v€çÛ�]£ÚŒ ç¸-l{’4C] @‹èifýÃüQzÜ1àôÄ1òsÀHùž=ö{ôóìŒ=¤ÿÛîà^óìäý6nÛÖVËÿ~X@üÏ -|S1f%(ž¯á¤å“úã�ê«°V¤}7ÿ1ÎA.øMñ:ÿöîˆÀ p@’2¥B ÏôOÀûDé"‹B@ô»‰  Œðaú‚‹ûj=§Íñècr<ðÀ—î– àKw·Ûß&�<þ4`¥,V£‡*yˆ°ø¬µ—*ÚŸ¸Äœ¡ùŸö@ ÇCŒ�þþÇîÝ=»5#â=9o¥ ¸pzxé_•æ¤ÿù³ ‹gÎ., `N¤!<=Ö�—qVº'qW’éb8C¦¦¥ïÖþ0K6ìD¤úêI@Å`5眠 ÜsîE¯w ·“áyïÓ9@€{kšZ,…'.ÿðòòéYÜøgQÒåyú;N¯¬ÌÓþ�Û9z}‡õH�üY`A€üQ©6w(¾Oƒ•VÀ_W€WAp²þ"àüŸT€þÕ -àç£ÿwß_wZŒ¡Þ(—+Êxútª% nÆq½ ˜€d‹ÑÚ3Îæ†ÐÕÍ ÛÜÇŒŒ§�¼ñfGW -öV@�"h4Oò?‚àåG× ý–ËcÙJ‘žúØ}$:0»Ûx®šÎZÉß™Q)ã�cˆe¬~ ‹åKCôç 8>³%g2ÛÀ©*ƒ%/­E½î(…�ñfž}c|ÂJŽ‚O•Ëù¡27L±Î� ‘tª!÷${Tâsm€à�ÈKUŒWÌm €V 'K3Ôzš¨ï:€ÿm†–MÚú_øÖùA,ŠÏ ìH ‰`—€îP`ßy@öÛ:îýýàÂL`üô¿_eËûA°¼•…äøQΰä,uö¿xŸÔ�X0ňòeó$Q°’±£Rîð ÿÁø'óÆÐ™°ð–«o×EÿWÅàãü/§#Óé¾*9ûƾÆÿÕ€Íé2˜Ì"Ë Œ;&mг�>öhÐ Œh¿ - Æ£ž6 -ÄŸп·_Zí€\ w�ÀGZKà؇Á –\¤¾�©)J�¤*óÄJÍËdçHÞàăôþï;8pP"€F0kÂí�²’•g=¸Ó1V¤3acXÂ:û€½ø¢„0ðOÁtWáD©¢xÝàìaט -#ÝVný¥%¶„˜Ÿe”à¾áå—.¯°?€± l(¯ÇIŠ&Ò>Cÿvoß¾ýž»¶óÚoß­À]A–Ѥ Ä s ß[µ -r2­ÂŠmú"ßðaðÄÕ·pã=)€ŸÃþ§û?áÿ›º%c€FÙh½¤*€ÑUÞÙkk”(:²ºbÕñ~ç;Yò†uþ—ðÕÀµÉðZ`²)4G¹rd: øÑ‹3¬`ßCÖ˜RB=VUírñóôXï%dÕ&r™‰œ €¶ŽîÑ óglyZ–MQÐ*:4–cÓ­}idÌ-.Ì�8Á§TlQOesÀ:{;:L÷mmìÆ¬I»}Ó€Z@M =¸%ñ·i#5‰~H@üoö?='Ø À‰c�, ìÿ:<T˜±€êV¦ÒÀ£p¿Mð¾áýF»ä¸j=ˆÕ Æ)¤?1¸k´Êv�>e–».[ -À”–¦Q�¡ÚÝ¡DU_ìf8ÿÒå Ãûö /\þ·—mSi°Îc�Bàäð>€{(îÁg;ù ö§ôô÷ìñ9@�ÅaègdCÚýðÅuð!àÀ«nÞüÜðóŸ2Püÿ–øÿf•ˆ²}—&s¹Õ• ž8¼Å[Ø‚{Ö<ë˜-†¦¯†%¢\Z]]»*Äíïìèþ‹–Ê×òæ4Ðk8ø$,ã�&¸ØûrE‡³ö -A‚–t¨}W;?Ò*÷ û¶»Ñh_�.€ò ¾É��#S-Èœ® jªpe:$ÎX�Y]ýÙjiäí‰Â@éÿžV e[¢Ð<¬8‚ª%¬çcJž£}�ÿ3Y>4‹##xàí¸³£;G§SéܜⶰôLm†O× -€Ä×mµ Áú×÷[ì`ÜOÎä¬ÊÚtö½àìOˆX�8ȾíÖàÀ½Ÿ¡€à`{‚¶6ÅŠÊSôþ�‹¶Ç%¦ËâøÑc)þÙÌî÷‘U(€=’ô11óEÚ1:B@öõœØñ'–Ò€xË{ -ÀøwsÚÀÀ¤ ~6Ä�vþŒ€˜-9!{’þõ +›âQ’ÿYòx‘<0·õ/rX @¬¨Œ‰êè ¬§ thÕæ.˜ø:�ø¬|^–ìp�18|fžt¹ðƒ0΀#ÎÏÃü?}’iÀÀfÇ÷ìÞ~Èn··íÏZCÙe÷ó{�ÿ…• çÎ�ãÍ× -³Ç«åYgo^üWT¤£1�½Ù¥^¸z©`E‡e*Ï:ÁKÝ4¾çæ¤4˜–οtGáœê̳'°I™ÓlJÀÖ»òÿvþ{¶ï&Ïóƒý(RF&¶ì‚‰:š§È[48]î ÿ§€ ¿²N ðæÏEÿ�ÿoR´pÏe{A¥ -UW3ÞŠ|À*ïÙ§xSÒª®L]ª¤i4b¼¥2ÿ±4¤è—u䌥ÿ»BÂé`OûΛ,ù§¸áŸ:’è 1*Êd{Q`žµ âgçÙq©6Z DÎçQ…üoGFºr44ÍÚ…W¡ é"a»Nñåʾ\¾…×{lФf¡ÌšY@@†(©DfÉþôyT¸¸Ý ¾BU%œâ¶°ìqÒu1­8·Ñ+Ÿiíž²þñ<Äçß«+€c°ÿñátê…ßÛ&ò¶€�<øH,ǹ ‹'ÿ£((—ó? Ͳ³€k´Lþ÷ôš £»ì ´óEù²ùÍ›ÿ�;GGc€`@ÿvÜžzŸ'Qãxâê[W½/@s̹ð·fã~¬Àkp;êÞš–‡Œf>\.× -€Ûðpˆ¡Å˜þm€ƒ�!!U pw;>í_ªö,5òXgöñÃ_X^Œ{ -H¶Æ�ÜÖÑ�ŸI �”˜àTŽì°-yIœ‰¿÷Êe�Í^‚`ƒºênë(¿·gŸ»ÿ-�¶ðÙųdÇÅ…å -°HÀ4..ãTϳ?$Z½ÊìòŠÐÿ–lÿç~YÑù„Úö±#ÝеóÜ©lpî7‡½æ¥<¹4ƒ­Æ:†ôè -Ú;ÆÂ⬻JDäDˆ— ëÓôg€‹Ðÿ ¯¦Ž@½àO›¥sš˜¡Øyë,p_” À@� -àWj ðî»ïþ\=° ðJDÅé!F¼ås< ¶ªÓqGJ— ëÓCÓë)K·*ÃåÉÆP¬+ðÕv “G¯ÃôÆî}ÏÇ6=YRœO¨]]±ð“h,kµã‚ñ5»Úy’½ÃǨb/•žaæbÞ#Qv¡.�ÌEî±èÐyi ¦Œ’ß°‚»Â` „U† ÍTꔬD(ú�éýìõÈ1 “>”Û!f8æ1Pþr9¿ß¶Ùµ²ýt {`NŒtƒîèÈä(pÒâÿ-Ð -ü>jŒOáØf†7lôÖqd_~ 6à -ŽŽbÒTP€×eºwüÞæ¯Oy>E?@b†�`ùgçtt—ýý¢”€å–%>zìÀ³:�ãX§ ý`}Q¿F,HÇ}ò÷×µˆÍÌGéÈ™ù¯?3Gz*˜âåÍœ0À[Wz(Ò=‚ÿét´@yñqÿÿYùjåj%—·ã[ñsÁ¿Nû)"McøàÃäÿÄWXCÀvVøŸI0¾sùâ -iË+à«þ�Ö[ c硬€îoíuá\+./1Ç¡ìɹñÌÚÚ”­A&èð�î$ÿü[±RL²°äݘç:[½¼0LçxŒ`JQ%ˆ“RÀÏ%Á¹s6Y5Ï\»ÄŽ{•%³~I+6@íƒ/uK3ƒ‹TW}M Ä0¡Å¹oͽ8Ò‘j«Ò®ßéùë(9fæŽ VÇ1àrñÜþš f0àððÂ…sç(Møk!úÓÏä¥WV^Ñù(2ÁŽ›Àûó…óÿ‡~ä@NH€_ýêW¬x÷õó·þì-¶ˆùÿWâ~·hæ.¸ -Â?7Â[÷¢+Àæ®LØÑŽq V¢Õ+¥"x”w72"�âöæ�®ô+ëyy‚jȳ^ÜÀ,x§k/"*ž�Z;=É÷X^AïŽf˜7wž*”a{£ä¹ØbGnOñ©ÉT¥0”‡táÓ'UòU½pŠI©¸Ò[1²ò¢ £>Ur+N”GôÊ¿)ˆ�Âá¡Â%Û,ØNFÿc|òDÕh¦{'ó#Ô=Å)ö¥8ÅmaCèk‚Ú€º{®ÛÀÑ=ï�ïëA Up4¼y§¹å3?0ªÅB ´À… úùï ™Ë6;ýîØÿ(©™ÿGœÀ¼‚P¸ ™Fð>©_#›¢ƒv>¢:o Y.q<55:Ú=:.aŒ‘Œ9 -ã¸!tS¤]Wß®¼e¢<­ŒÿS=2 ùá^Å»½Ž˜@6P®ðõ[¼™FGG]´è ÓƒIŒÆŽZá_[ÁU~xGxX n’˜(€/±€^€”`uÕz“ÒÔãHõ˜8|Åæ.úø�è ,rnZqWZœ™cœ^?}/.�žX°ò°¾ d þØ6îô0cÞC3Wóß$õ§¬þz�{oeñTø;� Ì@nº¹P¥+ªolwlz· ’€Q> °<¯öÇv(ÏèÂ… ˬØ`U_¨HõÚ€ƒl ¸Òh`ø4$Ð9/œ€¢@I½"À—¸ž¡`�Ou�³?WÀöwð±óÿ­é Ïÿê—ï¾÷î/~®–?ÿEÂÿ¿úP7-NcUýdaŒ&Gn‚÷b.7Ø�ë(³?=2"v ‡‘JŸZ[-•˜ kx{SàVÇö™™™rÅ*Çc ¾-›Ý@G€V” Ù¬§«Æã¹ÇA˜ÇWÀüØÏøŸ:#¿š}LZ �íÐÐWÅ„ÀŽ€Ê(Ä‹0ÂnXi€F‰U^Èúè#pЉ�`5À{Åø?€Ÿ§øÿiÛÀ.~Ømm.›Ñ« -™Œ¿ À�H5i¬ �Å´òýèf?[å6Ldë¯4=“šŽ6§í¹É¸&¦H`~…"X¶83}x(apí€hŸìo•ðS4Û­“A4Š’OÓ]¨vðr"‹](@å*ºêðYÜÒ;^r±‘þŒìôp€éÞÂOPò@ìù(ÖXƒ’G3H©b"ñýGB:ŽX•gl,›åƒk|bŠÝ,Á2Ä㔨ðmÓÓÎp[ؼӚ¡.`tÜ×±ã>ÙÓ@gW[l\§ÆjX‡» V:’`:Lê€h4íy· ´òØêºYý*1–¨�PR ÃøŸPý¿Ðì€æ?Æ¢zɃÿ¡TÂ},·Q>”@.ÎbµüESòˆücö Ü úG§‚ÜP }ú=™RI+k£ÃB%¦-Ðô@Lÿ�fÂÀÚÊ€3%Gä}Ó�þÃ&MyüAú�J<, ûCÔ í0€×Èàöúé€á%€Îâcî9¿ài£�‡¯QáIþd~€SËÙÀpüáyί\þ7ò¼³ß<T(ëùzÀÀAq�ú >-þwš_†8·Qsþü¹ ªÔ`8uÐìE§cFñÕ³ Z¶¼ªaõÅùÙYkK€+tlvn£[›Îƒ2Mƒ+¹ÝÒ±…«Ééœýj¬ aåÌ… P38Ù……ùo‚þ¿iWa` xpNÜM»Òt>íP^*œÇá¬ýùüOœºà—Œxëç~ññÊ flÌÛêP&÷UÜåä¯ pG@©°4Ê»=šš¢œ7QºîîxdDÞGº)³�aG³�<îfîL–9²}?Cê ¥"‡ê¡P`O€&Õ"3$Àêbi½t €°¢Sa`§� -jÁ+ S%@i LÅanûJ™Båïã’«iŸRZÉg¢R¹Ð+#rcÙ -£Df¤ÌÐý¯ƒ°'@Û?¦ €±,È?›ÉªcåòDTíîêÅÓ”WªlÞg¸-l ÞPMP먻ã`ûƒ[ïé�OïaËбëè¿®Ç�ý³W=k è«kr“-¾æL»bª<Ÿ­€îê÷tuÜÙÁã?üyÖÿ{ÙŽ5ûŸÖÿ±ç©b0“†GÒ,,ŽJSŸ–>L ÁüÇ8S�`43>nìï>ýÍY`wr}ÀºõCaB5ïX�G| XV…#‰x™€ -;Ô0þ7x9�è›A„i WÆ#Í ÿ' -À|Xa.)€öƒìô/@¢ôOL<`6 -€š?âù”çØq=󋛺pd•>)6ÀJ4ö°r“ùE«ç‹ LÐp±ÚÀ*€”@A Áù…ù˜ÿïgÀ‹ËK+Ëñ¹îd%€UŽ3GŸk¦°g@zõO“{ºH(- çÀy¾8�F?ûeÐ e?&pÂ+|I€ø?åø¦yØwà¬{L\8GÀÅkÇ<Î ’„Ç«†óöç -€´ `ÖÈþý÷Þý«_üüç¿øù/Þûå¯bþÿðC»Õ@€¥è0›ëO‚¬u>”9”“GNU|P﬷‡x™½ú�±%øÕbôøXTö8opŽe K}ü\6:øÑ˜Y:_œçÉ´É–²Cj«Ç6ƒ¶ -óOZ0ý˜x½¸>E×n\[]5ãǘ"O{ª\.B:ï �’ÃQކ&QríBo„ÊY\cÇBª€J®* åé¾éŸ„<¬8¹{4¼ä~�(zâ�¤ J‹¯dË<†Q&“•qSÏå¦Ê…‘ [W°ØaËÐ2xC5A+ýÀð–ÅK†í¼óŽvðë��Ý÷¶Ñ¿ÏÉ1À5À19ø=šò‰h™ÓbG†4™cÀÎM=­õö‡ b‘?€”Ç#Rfÿ{ÙXn£ð?FÏ=AúwÛß ãË¡c«ÜøpdshVŸŽû3øÓ2€V¹×}I_º³êƒÞ®¼zp -Àø?y€EXR¨ŽϘ´ rU€Ç]ÐðPgç°Ð„s}CkÙu€›Ï¶Æ6‰K‘òQ˜üâ) €‡«\î8xÐê@M þ†&ÒÿGr¶ÑV¾8"½TÂ6îó,Ls€àQ`Z¥pX»¡Àbø¢¼Òà®0žÄÌø¸ä‰`ßÁt$àé…Ó|]=jzÈÿ+K—ƒü9gÚâ4§1‰éÜh3U ÷¤}å\µg¨ãP’¼Ï`…LqÖ ¼ÚÖ+Ÿ.<ÀE[«—Bå…{$†0aÎnñ¬<ª8‹kÀ> *óø~æÀ - -óHa5ñ|Þ -Àø?íøÈ�œÿñþ»ïþ$À/~ñøŸ�Èÿ‰ ¶ñ˜úëÉýq¦«³7ãX&ë7$oÜÇ1"ñ™ð�@£ÖŸÍ ö§ kk¦‚ E@�QyZwÃû:˜øØÙŠOk  ûL­Å¿%aã?u!ĉI -€’À×ÝP*™ð -=F/Š:‹Æ7%Ekò ä0ä­9`xþ0̰ðàó_"±I -õ`�Èà3…ÂÓvzPÊÚ_§&þŸd™³¬0@971Z(Ou�BW± -cËÐ:ìNkˆÄ`„sô‰ ïmäNò.­ðûhíÒpÇ -Õ3øt—ø³'ŽèwÛú_ X§@ðÆæ Ò;q@ót´!{Ì1ýìììÆ®”“ ­�ñ¬®0Õb½‹ÿIükC€<Gð¬Ý VøÿSÁüß±£³÷þCôPŒ€‰û¯36Ç�s¼Ý 'ãÿ:îÛ¤¯�(_*¯UÖ*º»M,㘘˜ˆŒí€¼o_\AQ¿�ósíAÿ?Ìf�郀ˆÃ0±(€võh€XØ_щ“.€/)"`fzhòM5Þù’§ R€ØŽ&h^7ô¨?`ÞìJf渲Y%ÎÇo Â<ˆ´�àë&D¢gÜ€$Á740Fª= |²HÀhÂVLÆ%?Â’ã(åéÞéŸÙb9²!"çðµ’+¢9EÑáCVrÜ=¸xcY(›É|•+OärÅ+…Ìȸ€y08ÁmaènkyÈ—ä]Uóß‹ÓZæÁö”�ž3à]z:w€I á+y:íc\ë@mÐô c”Oc™‘÷æ=òÈŸ¦€.$ö´Ý{o[[ÿ©Øl -�ð?>ǽ!`-�#/�Ь€­æ¸�(VÕÇ5þèx0LØ¡> â=Xs Q!€üà!¸�xg™NÕ˜ ÈÈ€ò2`™"ü�ÛiÊ¿$z‘>&>æÈèŸ_r½Úu -Àº[¥ôNyþÙ—ƒßºÚÀ—6òøÖ•‹FÏIxžÌ÷â†Q$úø\Ô ,¢¡ Žˆ=dcgàº$å`Ð[ŒaÚ€Oyxiã\€q1GFÜÐ@:(J'ãh|È iú–Iò>ïÀ2Mqãz€L¿Ä5føó팚1ŠïŸxÈþ¤ô*ã- -P1‰ và ¸8IÀ=DSÀçªHäu –7oýêÖ¯~ùË_½÷î{ïàÿ[7o†dÁªvÀhìP n[ÜÞ¹€Å°Y,æwþ•{ p÷Ú}Ž›8ñhU ÜØ�¢qãÊ`} EÑPðÄü? 6M{þ™^û×VËÕîbˆ�ØvuF— H{ŽÐÀ7ר¤2aJî õóG”fJ…¾†»̪„©wêç€'å»°‡Ê€ì€qy®Lສ -Àb /œß¶° ìžj„óKNeŽàeNiŸÓ°ƒ¼KÛµÿ4k) -託\ºvæ4°Ö8zœó„öÓ>€Ì¥“GÀîÌ�’"PÕàçÖ@(ó°×"Éœ*rhkóRÅõÿ,45ÀñZ€¡¯›Ep Íá­01hÖ -U -€mjþÕùµ»¦.àí«omæ0ûßCå3}$UðrùêÕµ$@}ddûË þ§¦/�ôÓ0ƒñ&éŸ_±?‰=Ðÿ£õ -€)låYL¼ ýKÖ -àËí�ô'¼ýƒ8¿ÂÞïüio =©Iø™ ‚Àø~¾KØê 0耓»è¸ ƒyªšÒ ~Ü UPƒùIT˜W €Ê�Ž ~“o n@û¿™àBë1‰@íòò&¯­@‰b-áK„æ9"ÛÃçVr½©ÍbAÁ œ Y;¬ ÁÀ*€sËËg˜öÀøWpD*€gè1+‹Õ\_;«ä0 œ»?“»ˆ5ÀG~졪ñÿÕûï¿û>À{ïýò懿²ºAw[U =}ð8ùä/ÊshÔ=t¤ÃvÀ3æ0µ»Ø=o!…¦=$J£Q‚î†lƒ€)]#(ªOdZåX-=£20`<�­{¢)ï¹`%gÃK©€Äà*Âr´�…•Ü=Øå°9:òO²ûJ6” £Ú”1ó” Ü]ípzÛ¦°®HbU0À½í È;v`.C£YÞú¤ûÎ;±žéØ -€lÛ¹ã¾]ª,¯þ`$]ZÄý�+–°M±ÎJ´Œãx Àæ=~š~DÍHÇ Ú“ï P5öÿ1Öø=ÚϪ€j´ñÃ(’U3Tµ Áo.,¸`”no§Ût³-@\ çƒUjiÀ[±ðv�=r¼›xcM{+ÀàB/îÐ…RüÏ]�÷ˆ!ƒ -°Y€k�Û56p0Q±0 `q€L-€7øgí>â�ôj8F ýìÇ<7�d.&-Ž)9[ˆÿû{úõs6�yLpÙžd@è€*·û_ Ÿ-{ö s0œ>iÍáÓ­¨6ñ0O÷¨YÜmyœ¡�ÿµÂ�µäp{KŠ0p“{ð‰ù?™1 Ð4À=tX À7O?Êë0€+Â$%íf^ -€–<ŸŸp"ÀâE(€¡~É@H€÷1Á:O|¤Û6‰H<Š�¥=eXÛi€L{‹€�U¬^x/ÖxªbܦF&ÜÃ$11‡S TyÖyaÏñc€g< å@BÁ¹[Ä^`Űä|î˜ ÿôìoâ�AVôØA¢hì�Å<É$*Ê1Æ0Àª€+£\M– -c«àv {ª¢Á੸ÌÚæ¥`§Å˜€V6èúÞ8À<;Ø·©2ù‚HÅ 2§¦ÈÁäßû� ³cT±à6bZêûòœ<»aF1ô´™hC9Óü�s@é1w4ÝÂ�ö¶.FúQ|¨ä2þëÞ€E-a̺û Ìjx;àfµ»¦> ôß“âFš 3x<À{ðn2%.•¯¸�¬ -ôðºüG5ü­¯ïßïÔopºwê׿dqVï» -H‰ž\g‚_€ÿ·?ûÿ øÿáƒɈ󋯱`É=ɳf±mÅØ[ ÖVÀ‹ÿæû7V °IŸƒÏÖyR1Þ -@ öÐ~WAøŽ|zÒþOÕÐcxá›I@Àv€Ë›ÇÈíÐØ,ÔÆèÒ5ö€ÅͲOƒÉ´ {i#f¹£Ïr¡5LZßd À>¤cL/X?È…·•€ÏO¤BÿŒò�°Œ5œÞºÉ8€_Ý‚ -xïý_2$ ®øð£�?æM“Žx¨*€ -€÷%¾Q} @qÊZ°=?8ÜÚÌùóÀ=�bòOŠâ•ŒÏ¨ÞúY·£y<—Œî‹=¼ªº°KXy(�¢už|Y+Å@xêš‡åø¸·ˆ}{ø¯è�³gØ+õüâéážÝ|y$_§!ôìÛ»w;ïÏí{¿üå½_Þ»wŸ{œÜ¶Ðü×OCüU‡¶öŽÛ:îø=P-HR*n‚qÍ À{±>i :ì5òåÐ$¥À¨¤ßà@¦Ø•uö4åi=Ç­6í �Gn­ -J•­Úît@t€jŒÿ˜ÓªaWÛ½I)^ÙùÉìÇÅ  @³út|M - óP¦º?Ÿ ± .àí¤7`º -‚(Æ­üE€|ܨÉ1£‰ÀÿÕ½\­TR! :€Zþ/®¯÷õM¹4Spú—@ä¯kd"à®öƒ¢ñÈÿú­öÐÔa’3Ã×{â7¥˜Wðt¶µm A€IO€ /¨é pƒ€Mú Éa„SJ<Lå1 9 úêøßæÒèØq/{?±ÝðûŠ‹°V˜Aa„`þïØ¡û!í`±Àµºîšª )€(…®G‡2£Ý<¡„ÿU€»”5q `¹ü2¬%½ÐàôÿÕü_$ÿ?ˆçÈ Åu`hgKMd$3x¯],þÀc�>büËßðHU%@Êð*€³A�øIÿŒxì,ëÆÍ„v plSÛ -àÜEupC™ fN\¸°Bö7ûp`@?gc¸@§CçpC­ ÕÀ¿½üç|ŒêA -ŠÂ´Y 迪ëH‡Œ�çéTÇ€þ6òÐúoÝbŒ;]¤I”&½8Þ— KÊc#—à#Ž5µªßÃaQ cä¨j€1.ÃAV‹ìS@}?Œ¤hÍðù(ð?Ù<†+_ÃÉG± -€nPþÍ÷ß—¸uëæGPHþªb`oÔÄø>Ž›¼.·¬ÅÀd&áj§„{Z‰à¾È6ĈÃ-µ×ø[$xY¥¬øw9¿b­>�€ÄÀ:€�<¸­Ã�]+Nñ —søÿÊp×]z¡¦°F¿zðà ¶÷î£ èÙ»p{°?²1ÀJ€{ã€àã�„iOI+[-†�qàh¿&$Ò ÀÆdJì{,S¶¤0ðV ïÏ¥t)CˆÀæÄІǥX1¦gy5ÕR/ͽ™níÞŽ;Éÿ(²ì|ž›BP^3ÿ;;qËÌ€Çdâw* -`¢�Ó½U`Q€ªHóv昂èËŒvá|»äȱ·Oá΋¦§�ŒÅà’^ V€â¤ö€®û¿‘ÿŸŽ.Á”!¸vf¦ÂkCÎ$5Þ%ö'Ì`ä�Qøp}@UKh†GÄ>Ø~�ýÖx�ýCO€jzÀþKV‡Pç`žò8ýoPëp~…'×ÑA¡§±´xîœ(^›ä ý:íc�obä@�¸c?yZí¼ ôذ0¯Vª .:hU b..ž'Eµð¹ò?ØžÒ9áKìàÃ[Ðí\õ$AÂÿ}ÜÈP@ÔzÈëSÑ;а~¦Œÿ7�x²A @!ºZP À¸¹®%ÿ«üïú…µ¦_‹+q?Ÿ. Ž^ 1°Q =|¯ÄF -€…y€{î�¹¶w°Š ­�N÷|¹gï–ý{°_ß úk< w´“žÍ°“V{ˆ {�ö5õ5€Ž¶~0¤ñ÷Ë`>ìÜ-§ _ß×€ÝÅ£òØsÆäE«ïظÖrÓbØ - *f?áä„·mcyÿÿs[ˆ�KÂcuñ¬©YTÅú3€CâPh@çŽ�ůñ¾I|ì`4¼0“1qÌ$D�ƒ°»Èž!z=Gq*ºVè˰ufg'³P  ¶—鈎LS�ÿYp•/šõzhÿWÇÿc'çÿ#fÿ?¥•33kke§Å»Íö�°Js8ÿ7 ÀüYSbþÇÈú¬ V8û(ò?IÃ�É‹^�`iñ¢lÆ‹+‹¬ ÿ8i`v/ß.¿±àY°ß?óeˆø &ÀȨ_� .€tL¶Ãó”€8 xT¦ � l=ÖÅ€ú–éߨ�׈û±?Р¤ªH”Ë‚/s�’ºÀ¶Éö&9sVJ Ì*eŠ˜­ Ö`ì°VVÀ 0<À@öŽPÛ Å,­ðmK­µœÄ?@ä´ò)bpSŒп¯5q}?DÀÍ›þò&«>ÂFпó?÷®òTÇànâ=Ž´> n°� Q g‘©’‘©Pë0䨜q-Ó -À=K�Äôôë•΃øçã§ÄŸ×ÀêŸùÁ�ž¬¿°L‰·°xêÔì0o•ÙSs§0êôi-±å p:å ý7ó|c.ö Òp÷îݬîÿƒî)èØGU@ °¯Ç‰m -B¿>@ÖÚàÝò(Ú?xhyÛ[oAº$¿ð.€ØÐ†ý°ÿ¿B•=†í°Èé€ù<Fæôǃ5ÀƒâHŸG?�Ĉš™y#€: à‰‘éYfNû¿ò|=†T+3ûÍàæ?Æ”é3�Úq€õdqÐ…q<Ü�`Àá·Þ¾Z1‹÷4(7;;ºQè;”éæOÀLØPå2$…éé(€²yô& òÿ(+ XØæüoGãAŠ¥&›%GÂx6æÿgííÿ &! €äNV÷0€ƒI@@*WÀÙÇξúê÷^õÔgÁÁ‹F¤|æ/ð1a”fÐ+m°ÍøHµàc‰=ÚÐ< -'ãôŸR±€g)`Üo¨‰HµàÓ´åšÿŠà‰ !`ÔÇÀ.º@n�“ˆýÎ(ç �§¯#/nLò10 F¯öpŒ‘Å`‚ŸÈf±{U €»p-Äè €‡¨à�öXba €@«€ÏªØÄï–{@æÆñ)€µTHrS©ÖüòÖ¯( >ºìÿÁÿÌÃ<œy¨> ©€”ŸŽà;€”p“€'AÿÊ™70¶z‚$€„kj,Y“)ÍòÏÂe@“€Ñ?î(PþÁømggz‡!XÏÃî·Èÿó ”ð?ÿø@ðð¯™òT;bÀ¢<wѰoo-`ô¿w¯óÚZ„~ýÍèßbÈü`»T @h³™ôе˜ÒäÌAäGÐ"=$zì�½váÛ˜!擞­€ªVŸ­6Úãã=Ý -  e@zîHyî@~w “Àÿý_9pÀ¹ŸØF„cA= ”˜%`NW€¤�‰%ÑÒÎÞ뼡«}Œ�@oà+�… Ü0–»ú–ÀtTY§uµ\‚•_úûéýeräÿQ±¿ñ„ýð0ÿð2CU`ýãpÁH!óÿ3(% 2—¢«käÿ'"uÝ:ïs˜ O €�)†x—À±Ð ™žk1yõ{ßûþ÷¾÷½WMH@�1œJøpÀc'õä?ïõ‹K`eP|è�Ša�¡ù¸hÖÀzü·‘q=?›yêúàqÁS¢ezâ€Ð -ÀbŒû ÀøÒXJyëÔ÷EĈÞÉžRU$ÊeÁ—í2“Ç1X¢‚³XË¢ølÈ:@iØ -À^„ïY\�ƒê¡q ®/n«1ŸQˆÿ©ä 9OŠn‚ÚEì\}óÃO˜Àñ#±F¡€Jv¼ùa³~ȧø6Ž(ú»ÜШ@} ¦FòJ–ŽðVîàEä_ËÞ )À5ÔUìzÒ¿t£Ñ?î'Žhéó_•x.ÐÐ?pL ÊpÆ<P\’ ˆ–çqðÿ€€»¹¶À>¶À­‰5=Œ€8á×ym ­¿>‰q�wÛÌô®�Í‚^ƒ ªÀN°ì¡K€!ó QΊp°ëÎήêõ8ĽïLõhýlÚ`Ký0 å¨o€ †;L´Ñ²GAv¡è_ùÊ�þ”ùÿJ÷„wÈs¡|5HèðМåGz_wjµ i 5ïfX7¸~ë*AåÍ©Kz2Lóž/­ÿ}4Ý×וÁùâA#ñPYûËkWaHÐeC`_Å2É܄‡Øk7ñÿ;ÿϬ­•JP!Q¹­¤é¯ð€yð‰+ë“é wÈòçôÿ½×^{ € - øÎÙGñ,‘¸ FzJÄÏ~ÌÈ“¹²8?þï9  eÎxr@-àqe„ÿ¦u €Mý­÷?yßÑØ�îàÏé°wðiºQ @UO@0ÿª[P+�ÿÉ÷|H7Œ°VX+ú¿­‚W ™ñ[ r¸àËš‚ÑeÝ»800’cÐ6n–€YÇ1q -LþOÇœþfì``d•À/š<KÕzV6ö|&ºúÛ“à1ú$Vr°î_ëÅòd{¬þkåÿÃîwþg7ða“~š¶`µù”÷°© À7Ë©ÎÛ[}§ÄÀF‚ú{òßÊÿ.&ýG±Àß*øx–êbòÆü¦6ðœÆß¿0VŠÿ‡gçbíÿaóð£o¡@þoÍ0س‚|{âèù2=ZÓ¿çË\³å¸m´BÿdEï *ÀZ€ùvÊU^p§™Òb€Mèå 9Á ~e>ê 0‰fM«þóè€ô_ß -€;x @›l~•Ûމ“ìbÖ¤ÿ4ÿwðzX €$ҊΓ§®Á„f¿Aæ?W>E:-~­�_ía$ �ºgÉÝøz� ’Ãí¨ö€ô`ÈqœËGÓùÞ]v}î¿¿³ïСlª¤�Íù±Üá±1ãÿ—/™ i°tµñÿ�ìÿ™«•Rù Øÿå’ÌÐ'¨ŸìOHÄ�€øHÔtd>€aÌ‹ì¿ëôO|Ÿà»g¥˜ &2€Õ �˜Ã=ç—^ÿ‹è¹(ÁóI€q@Ó(ð¾Õð“ÀÌ ‰ `/=¥=�c†Ó5âKI+ÅàÑì - ¹à%E�îFû bŒ=ñœ¯ö�Òõè�€%Ä’ôˆñ‚<þ°•?Úlôoé*HMO€€$O�(ª(Ì’û) TçÏ•X&ÿxë¦-¹ýoüÔ¾ € -òžlí€&︭0|^ÊBÉ<€ ðž1¸züŸr‚+Ì:¦ü�ôßÅ];~NÎMW{bÛŸuA4ð`½~dóÈ0çð?GNÿòàCæßÐà18Ú`Ï=¸U°}w»<íÛqsÞ³›Ä/ë“}Nk[h¤«ÍÁ~Ú;î¸äKF¬mÀzú;Û±@ÞÃ¥bˆ;Ó@ pô(£ÈÁ0¿Á”µ1àPìŠ-Tñ»>§~Àÿµ1ÕïtС !!�Ƕ6FÄûß[@þ¯í@ö?•’VÓ ’�Û˜ {Ô|#Œ€)ìÿÁ@Y|åhœü`ï¿xpW; -½­}×®]½}}}T žŠ³H½ŒŒÌ�ÿ»Õ »%ûŸžÙÿ¥2Íÿ»Û¿ÔÖžBÄa¢ÿT@ Àÿïúýõ7~ô:%+Î~—Nn_ )âaÅgŸU�þ¥•å—ð욟ÄCéØàŸn$^ùÏ*g`Ö~Ò:�þÀjƒ?`ó¾¬ÿ -­q̵Ä'íÑoæàbÚ@®b€3Ê9qžàëü¯ ÈáÎò ÔÙ2ÙÞ6™�¸ÌÊ7ûƒÀlM €•Dï £§ûðž€Ø p`˜­ö¥ZÐa [yèh)À¹pJ¿�þ Ï!®¨ö°‚ÿÖ'J �"þ˜–�7?ºùÉGbù«ÿßD6ßf €¿ À=´ˆÁVîàMŒ­ž ¼ ¿ ºÇT>* -MümMð²² ~jþ¤é€K1ó+ TÔ{†çñ‡1ýdäÿ”` 0¿‹¿«7÷,ÌÀÞ¿ë®»aðÇN€íXêÙÇ(ö´å¸m�ó6c䀹[b¼–ò�m÷Ö{øŽ@>GÉÿG¥Ž�2HÁâG÷Ðe.a=ò€¤ü¸‹øœú Ó?Ðè](µ€Â33ÅÐK ƒßÉæ?.†{îEAX•]G¥µ�+ �x´ºsÇT¡È�úb‰7uâ`kÀðn@¿}…B«üÙ­ÆÓÑÌ¥ˆo¾>2=} “¨|}úQÜÿæLy(ó§£Ê›Ó°0Œñx@²KW*W¯NLLäÆc@Sÿ�ý¿VRýù™ò×Aüm|‹ÿ—ü5þ‰À\�6T�0€•ÿ ÿÞ€ €‘؛ы°/,ó]@ÁJp€vìÙõâì ]ýÆÿÈAöR0ÃÝ~ÓZÈ@Ž¿@º€Ø G)µ¯ ûؾ 2¶X$1ønÐ -@I€F ùµ1âM²'.]µ@Ë_Á´"ÚV { –•ˆYˆ-l3ÕƒváØ ‚x�€ð.€Äpp€¯ÀåH¿ �©C @ð€·xRõ§íÎë­Bä/øþq5@¢@îŸX;µ09€/æŠ��?¢óÛÔ8@ðÂ�:T€[Šl -PÐJ+€&ý0®NÉpÃRJx+\!�?†WønüGùÇ1®¬þ¶”rú1Öw1åå³6M~š{ŽÉà1ÃUyfO!uJp× =s±àäÀn(tÖloß®H‹ Os=òàã´¶…Va”µ`W‚öÁoU1´¼ù.ШnÀ€þû�ò=†œhx›C×ÅÀ &r–ù™Àzü\úà¡©Tâ¤7¸ ¼ €àN¨*”ôÜAÊïèü -äDH[GI�"Az0žóE™dö› ‹Z¢—�oË&«&mLØ»©r¸—§�¢x`ý?üßï¼³¾ºº¶~um­R®ÜX_§  MUp©²þ‹éìÿQÎ!ÿ]07²¹B¹½\ˆ*W•¬üìó“ÊÕëìH€øßªÌТýOþÏFV¢�¸»­�€>€fü‡`•Ù! ·4@EþOÑ?ñÆk¯½¦PíͪP#Ø@!€iày¥f€.†çÎ`�€e¤œŸŸ­rœ™=ÓDˆþ­ �Hßæ8»a?±OSÌm�„œ>i®pÚOV�Š`/¿ ÑÿmÇäkqv\Kr¸à«´riQ�bq@v`=WÊQa!?îŽO.ƒ†t+{ ]ì °º€_5ˆn��=·„Ó9»Ní­À8Úá»CÐ` -@¤N¢'ïÛ,Fr| óŸJÀeÅÁG ÿßTkI…�ªc6ìà¶c¬’à­Š­¾SéB¹Ð?”ÿVÎ./áu¥+‹‹­·Aâ÷ãý;ÈUôŸ#å‹÷c°Q+€U0€·Iâ`=iú?�ÿåÆÙÿs˜Y<=°[rœ€í{ÛÍ €Ýê@}mµ¸}ˆô6EðÐâwVõÊ7²Pc] É {xçïƒhvÞ  ú〈ž2"ôh4÷Àw@C|.ý(ߪìÇ•tÐ`^ ¬ñà±è¸' Ð�ÓÇV”K(«‹Ç–Ò™€í©k8°"CÀz9pcÒ±§;¾ÎÀ÷x€ËyØŨTZ[[%y—Ê¥Ä4¾SG뻺šºå2<8›R¼+‡ÂÔ‘(:ÂQaZÎî -r¤€ -` -‰Q´ÖìÿgÌþ/!‡¨ @ðü/®$èÞýc"ƒþª7Ëüý £þ_ÿZ“7^g$€èÿói³@ªá£G í�..Î öôž™Çƒ ôqQUÞ³5öÿ†ŽX �âýàp1àÜOèÁb𤿉ç½(ãæÍ÷ (ìu‹­’ÿS€a™À�Þ@翞ÇļôébdÚq�H®$Àeƒ¯ D´Ü•›XÿOß+•Wb³Ñ¿¥`Aây¼€9óTµ�Z1 ¥‹ 0•w¿ºÅøuÅqÍo5€óû&ð‰ïíÕ¦Èôl(ÿ?wøäN¡¨8Ã@)²†ÿÌÔ¿  q @ ­šôP0%ëÚ~ ÖÈ + -à_Æÿÿ ø%Ùàƒ9ü…Ï/‚ÿ)Hü¤±¿)«hà˜�_H{x�¸@@€*€lª=‹�<<Âl?CþÛX@˜p°åø´0ÊÚ äÀ¶÷¶ß+ã»ÕV;B @Û�;wìÊ@6 €Ú€8Ó;Sý´Ø -€G–Ù0šCQªx+lM<ñ»îˆcXB–‰çˆ/ŽJþ¿£�Úƒ~�¸ާLhü3_) š³Xiâßãˆ*k -HÌ °óKgïgS(–£ÃCQ!‡sÅQÊd¿JSC‡ØJ`ÿ]xÎDÅr¹X 5™)9Z·ÿåÿ—ó�ü<é�’ÞØÖ?€H)m2÷¿Ìÿ_@¼ñšÅ2�éø` í`ψêü3GÀQ'¶ÿc@þo¢ÔÛRÿ�ðEú¶d NþBò'ýƒ…4ŽÀ/Þ{ï—X �´È$�¾œýVX?Îÿ©€%‘_ãvÛ®3ÕCü¶b|¼ó[�@òxú š([b�C¹àñ¥�^+l]M €yÜ@§>=¡¸ŸògcÀ­�?ùø€´n'ó�;¸Úï§@3€à¿è¶wŠˆ€ø?VàðO¬¿?,Ýúè“é *€@A?þø“�>f{À?úÄøÿ#k;ç�ÝÜ@4�°VŸª€Úý ± Õ�/ù_ó+æ ÿÓ©$9ç¿5&®`ÿùØÓÌПŠ˜§ýŸÄ�ü- JøÿR -@³M<‹‹§zøæ«`-8¿]>µ�œÖ¶Ð*ÄW›†¹<R1q+€Në i ÀwÒÀ -÷ô¨Ñ=@b¬�H÷HZæ ³¦{áóè@Gnô6@lˆcÜ€iNJ® ¦a‘îEæ|"’Q…(  ¶Šœ?;0³ßà­¨ëùò‹¨i àqr$w¹ZLEìÓÇž @j3¶–Çú¦_6ö哯=1�Ü^^.A`û8»,d:ZŒÿ'ÿ?Áø?Úÿ3Q‘ÖûÝÛÔ *@ü�5øòx€¢Àú.1þí5˜ÿ?õÿæƒ$,@‘ßEb(€W_}u‘d ¶Ôã"à"ûÃa•ðÜ0¬}zÈ:âÿ*€óc€ùÿY�$ý�<ìVÝÀÒ À¸/?ï½_‘›Œ@LHÜRg1àÐ(ãã�qF8§¤M©V<Öó $@#ˆý�16ˆÂÓl͇¾s|¼Ú’âÐLé16¦sÞxßÀî¦ô,Ùÿ»” Ý -à,Ìÿož>(n—’M?üÐ/‹­ºIöØ÷.Va‚kÉwï·,6“:8HZ -€4Î -@ 4¦°F�!ñ'¶Ù5½#‹‰ÿ_»iø0é€lý9¾ ÓêûȬ±`5€¹ä÷çÝ<ñ÷ÓïÈßZ=?¸ ïƒùâ1>M<ý -4Àü<9ßbÄÿ¦Ø °J c~/dãaÖëu�òÄpZÛB« ­mò.chžÃ®¯i@ês@U+�hƒ  ¦<Ö - 6ÀÈœ;•Ö{+ˆ‹c¸°A?]ò 'ÀcxÄØá°*±:v0ŠŽÝ‰“긗€m)c&ëSðhÿS‰h5ø—κ$tê>€ )€nµœ(E)ÇM-CÌä¤i>ˆ"ù¿<¶:Ê=Ôy -T`0CŠð”™zÓb {N¨ Ó=‘iOÙÿ|x´RÿÏdìˆÄ©ÞÔ'`h¼Gàt[@S”��Uôøžüÿ›ßüö7¿þ f~,À@ÅJ@œ%ÿÓbD3ɲœÃÃçØ)F ýÿUÆÿüW­=ÿ¾(˜Ñïó¶àä/ÌÍÎZð ˆ�¿–06þSƒB"È` ƒ[‰è`Þ’‘‡Ò|ôáM†��ý7ˆ0€LÿÛŠpvæã]œ]r¸Óy� }(œg;@¤C`=–¸‚)˜¸a bèÐãJàjà”?þ–³ñ$®�™üZ“¬§À.zë®yÞåõÇEß  -Àà\ßvÕ? jý¸(&XþæñçÒG·ð‰ð?á;óÓ‚J-5€ŸÙìÏZ;*·[ˆø4ï(TÅ€8YëcWü5 Àeñœ<œÅÿ$îÞ‘¿µñÿùÅÜ@ÿ>ÜJ°í},ÇÚ‹¯bé¨Óz›÷€)õ@M€?Æ�=æ0p�Ý�^À(‹ØŸ b¬Í³øÞŽß#Ñ�Á�5ï`|ܽØXçØA#šoջêº:ÁËÛÚÈÂâG÷P8à‹½v±�Žg­€Xøsé€Mé1z6 8q @Ü -€æ?{Àfµ`1bŠÁ8H��äÁf–#†W€ -@ZÐlGŽ.xÞª`Ü&m2£0ÏGù6÷ÿQ,h®¼º®çA ôŽQ1*GÙÞB”cu~W_îG÷4DÈÂÞϵÊ*ä?ÒÝÝ9‘Ù•Iø%i¡þŸ¦I1"ù‰=µµ·…8‡}¢ÿG;HÀ–Z!œ5þWõ?íà·øB pÍ�Ô"P­¾{ö»¬ xôaU.&À wqein¸`pîEˆ�óàØÿƒ)@àÿfA^ˆö�ù1ÛÜ`|Æ×GLÁU±ø¹Wè¹ï €l€±»´ vedš•·$®ø˜žof�§1ÓäRyøÜnÄýÉŸh½-;â5JjƾÅþk“ØÀL˜�¢=½A§§H:œ“CgÎË!p#6“"ÅœÜZ帕ֳs’x‚ØÄ@8ß×Gãà1c¤€±¼'Õ>6�"Ñm�RbO(9ünœ¹…‚HAMý?Çúàk/ñHµø<Þ ó�"&YS¿9nÚ”c$©Ê*ð¿<üCà‡•Ð�eƒìšþa¼�3{ë=‹ §ö Vy†Sð¿<§Xõ•|°gµ€=x¥q*îp@Ú—€ïHÁim ­\ÚtíS¨[‘€‰Éò ð{>M6úœv©ÞǪVa±zKNÕ�§­Úë÷0Ä&~«¨)F#¸³csäÇ‚ =ó®�êÚŒ�›;»Gø„ˆ"Üíö$›³SÌÛ¦*åì~$•ÎU9zAû`vÉwL@Èÿ™L7�*»2�øãúîÁúÿm°ý9Å€P`à€ -àà#�«ê_nýïÿS�ü?øí¿ý5« þÖ½ñº+€W¿û]¤>ûØ#? ƒAðG‚ €þY -úÎaÿ¦�ÿÁÜþTA*€Hùî0�öÌß“ùÅ$~çÿ*¹I0À‡?@Êà„DsWœb›IœO OM«˜qf¶E„øÑG úÛŒC;ÿk…k±,’�€%•óÁ7X`e‚И«—Œ Q>|é5줂ÀYßQíà…ÁÊjÀ‡Zø„ÄÏó5®ûm -€F -ÀÊÀ‹(èx)PuèwF‘Ôû�Êhgƒ§Âð?5ü篂5ŸÜ”P»?¤ˆíe«�t@ŽnÝÚÀ {ô³Äœ$eøÃë³M,Óà�ð_Â.6}v…¯ä/MGSlÿŸ_¤Ã¿¿_jŒOÿžþa ñÀÿŠb�ïé>`º€tO¯ñ€õOžN>þ¿Ä8.ª²Œ¡SIyxÃn‡hßݾ7ÄX“‡ÓÚZíÕÍq?Ýôô~°2390lz~dôÚ&¤Ùe6; tØëÄ0¡ï¼Sö7ré€ÕÜëL5B×ûFÔu<¤�úÓ9%¡Ò|Gî4ºiƒÓK€ñÎÎŒ—ƒ¹drØÖ6%í`wD8Pf['½(Ñ6¡ÀJ‡2»«#˜çÝ#Ì‘�oN‹ö@°�¥–9o�È@£Nœ¸“u™QS­ù}‰U;Î4»ó�‚+7o @Ï®à8x�sEùS¢_òµO!8©Då^j -€‡ú\°aêžxˆ01ŸxöL¬2PöÿŽŽLç®@›Øÿ©úÙÿX}·Lz`<©�_B•&hü+ à1)€‡ÕôŸ‹ôê‹ÿ­ýyàƒßHZí]°@q�=¦Gž6â(ÑÀEö@ÀÄYº¸Ân�R€˜ÿñðiìH<Z¬öøB"ŒéEÎüq¹ÊÇ�¾Åt|ôƒ¸Ay\6 E K “Õz,� å‚'wÀ”LdàãÜQ�\7~c¦'¸ìð5€ô�~Ìj ›ü£L0v?a8:'pt�™œÕá(ÎǰŽYÁñ Ï»¹@—E ‰/µÐ-÷ðDépHU;Ô{6­œö¼²�‘¾¦<=ýÈôhN é%Èðe,Üúø&$‹ŠÏ$Ü1ä£$(€�,�HáC �jPÐB+€úµx\¿z¬ð£ãC Û€¨Þ]˜ÿ³ÍóáÄ/•çC�@ŸÝ¬ëç¿*í êœ 7øiùŸ:5GúÇ<$ÁÜÉ“ó'çOã‹ñi*”�=:“*À]àz@ûæتøL Gµðc»œûŒî'v‚¥è‚7v@‰Æ€†àIo#ý3–^œÝµ­�Tl™tìílëêÚÙ¹Cø€”²ÚÖÑÅÔHfkX¯Æƒ�Ým -±ÃVåòÅþ�(ˆ-kUgÛ.θTë9äQNÛî�s›ŽÐ½£�AtIOÀ¬çÇf ' rg"€›£(]ÛX®±‚t�°|”8Kd“*d{{]ÈhÒ`¤{gGÛ��#Òýw -v|±Àø?ZóS…h -X-Getdr_Í�Q�ýõx,p¢PzFVìØ‘ËÜŸ�Ê´@¤BZ¬ÿ×㊆?¨;@Î¥Úx@ðèÏçcA˜Æêâ‘#ô¨W\ƒ‡zÈc -|J(µ=Ir3%o"—éfFw1Ó À' Ó[«ÿ'¢"h“N0?lùj}Ö€$€€ ñ¿UPü -à°?†ß0 Ðj¨B§@Tô%`Œ‡Kx¦‰É‚Pß$xŒ-› gÀ@šýÏ4ô°N„­-ÀàüïsÁ@šÑý`‘†Äøãž y -€Æ$ Õ€u\p#9 ³$ P �KÛfB"&,.ñ((†”PÎIJ"dò‘_F‚Oÿ¥%l]ÞºE.ƒEÏb+î'¯6€¢|ÌÐxKÉÜQV2¾ft@žNP{VUHæ6ÜÌ¢á‹Vš0¢Í W˜àö”௔g« ‘ÈHYhÐ%ÒÈ ×¿ýˆ\Ï:~žÐ-\¹8,1¯ÏB0­€‘yBþça|ÊßÒû¹¾ ¿!Û‘ªàÝÂF -`dïí¨ª<zÍ#I_#ÜêO�ñÙÝ3ÌÊû*Àâì1k¸l±�0ú{Ø «4kÀ”{VaSßê@ö[€Ï™ÌH÷Hó‘ÁºÝ£Œ~§Ç”Çø|òG—h„1CÜ�m÷J¤‰�ºMŸ1ÅЕ¹ŸQy1Úv0f$W™öu@Ò¥MÒéQA:ØÓóEaa…’#˜tun“|`ŠûlKˆv"ŸnÐ:vW”Û.º~'k Øk5Bq=e®ø¥ƒvv‘ïQ|&Q<k``ÓÔP©d«|¬�7>·먈29¬'1ÓÈ·¨?= Uà‹G*/€_ÍeÁÿòLS00�ÂSL;^(!Ï©‰ÑnhŸîL®œë+Ìx çÿMëÿõ´Š`úóÃn¬CÌHå áë?B�Ðÿ÷¾ÿzpü'µøà7üö׿¡'à·ª ðÖ¯»`set�—¨!åœ}q‘¯ ”èÇêžÿ›@àŒèIøš5Ã__: Hÿ"ã™ü  Fÿ˜À¥7ã=óù¼·‡?@båDDGšÐZl&a`!©ù‚bB€ŒÍ� Ûr�$,V‚` -;Xµ¸õ Ó«@$9‰ -q™<-€$†¯vàˆt&>3È^Æ[Ɇ<ØÇÿ�gÐAaç‡Eì¦,Y*%gñ¸/ÏÌvÇZ²?öå€P€ôLB:ÆÝ`.€«ˆ˜þU*+ÁU�€â3eø!P*VfàRAÉÜb€£yl³`×À©ó¤9ËìuÊ€]0|,GJ€†1·ý.�6ùúÜyE}@ €ûÀþ±ðж'¹,[jÄõ?qƒa@fzÌ™Ý=ƒ´úëGðv\85Ü¿g`ÂÀÚ¨³ŒÁa¾³=]ôT ¼�ÓØ ÀïO‹�Ùo€êfNk[hàÔQk£ÑÇßÑîÑÑbggY†ã8Ùb&ìò%.w�nß§A=ªU¾#iñ¤ICW®óî¾q¼Õ¡°k€Ù©Ü± ;#øNìê,ä2Éq‰® è¶”�H‡U�H25’¡ß]ÜeÛÈÔ™Žm�#tß›ü0'À}÷#'W"²éΰ  è‘ñÑöL Çe>Ø—¢òe(€Ä@ö®m �™ˆFGÐ�³~=¸‰·¼n{ò¸V`à»à–ðPŸ9rØI¡0p‚{çt°‰ (Œ�ݹ©+Gzó…g°;7±ÿëêÿ…(ú’ªÎÙ?Û0RÞ)°»Ô¹ -àà#Æÿ¯½öºEþøÇò|ð[º~óëßX,€œ|;ÐwΞ5þ?{v�f‚îXZ<3Ø3x@jxN5âÿÆ1â“ ìa#Y@u@²§°�¼Ãi%«\„€ðØ'‘8ðÔ'á‚OÈ‘ ­Gˆ)“* y„³—¤HÃØ¶±F æšé*e-†¶yÐèÇqZdÉ©<~‚Ýœ«ÍnfÁ=/r½�l(zD>V ‰AÎçñ€T88Aí‹,O®7¥¢°�ØÌ¢ñª0¡„(Ÿ«H´æ@JUhÇOí `éY"+V ®&¼(ÜJðuúöSXJÜüHuàeµ±Zr†ÛÉò¶Šç�UvÁ\H^]îÖ à¶ß€;�vûÒÒ¹E -€ PªÐmâj™ -·‹ÅxóÌÄ`„_ *i²~2æ ÀIæ›ö,̱éí0{Ôz0þð Mþ3 ÿ9¶0Àצ-zÒ %¼ -À›Pèm€æÀ¢}œÖ¶Ð*&Z8o|€¡ã¾K§ËLM€ô×�IX·;ÓþP–0ŠÛîä[ýé0€½)d2£�»FlŸL®{['8Ýi>3»`©#à Œlä ¾EF'8ÊíÊL€Â‘ ¤!@RgÎÊÉ1—{h#X2b„3Ýv·D»µãœ¶u*®Qf>€‚S¹pßv¦‚ÀP©FF2(ÁøÄ5ÀHûÈrde€â!P™)› …'ßLû„ê¶}Ù‰™ÜH¦kçŽ�]£¬#00 ±`<ÀÔÔ‘©²z r€¹±ÜÓxjð)�íÞÀx– -��fº:vŽLD•hè0Ìæ¸�ý_]ÿ/û¿XdۈŶ±@èÀj’Þhø?öÈ# ÿ“þÍ`PÿoéÿÇI{@4ÿÁwèÀ“B•‡(.BôÎÂúwÀ†,×óófàð¼‘>À§ -«Hý ŽXù¶ÙðcÄO»#$¡Vã©ÏÇ=¾6‡yñ‹¾$ -�œAëHW�&”Á-Pu¢€˜Ò1³s ¦M ¬À~!5s¸õ‰X›%2v�É�o\ ‘`¡mV2æ†|•…@Ç·§ÄvFû!-V£ìÜÌòñü°Qk,eÊ s–Ì(“_ìö‘=Ž¡jäŸjLtfJln•ßɨ@+z׮Ίf;Š}ÇÇõ½qä’ëQsºøø˜ ‰‘ÆCa<_ HÇÐɧ»Ÿ·x©ÐÃ]!z;:Àæ9ÝùävÝò€19VG("Ø×¿{2}õ=”Ë�*�¢ávÀvîˆì -ʼn‰ñQ6âÈLDëÑþ±H µ\ÿ¯²~í«þ—ã_3\Ä4À€ú¢õN)úü/ÿÿ�ôÁ¯?~ ð~~óÀo<0(µ´N�Î>†)/â!ƒÇ¹Ä@ògG4ó³=ýSÌoCc€p½üÿö%|56ˆñÉñTFüî ´±Êд ø�Ëò�¹µV\Aæj=F¤IP¬o“ ¦åêë±%€@2ØËòPÊûUåQëõzË -Ç š*czp~˜ƒ$NIÀ9Kâh_“À¾ØA—Ëa3‹ù Nâ¾Ø1Ä …SêD¸c­k4Ó�…ÀÃÚ¡cøŽåk>¹%·¿*R´Egj{JèR°¶§Ë³§‚¡’¢b:aG]-^íÆ£8>ûȑ¦—L€ü%\p éY€0ÞwÖ7À+—xqé">4 -CSÀìâBÊÀ"ÌyWÀ8¡€Ð@Ò -`vöô©ªAK!x‚ÐYÔ{B€ªŒùNk[h,rß9Poß!9áA•#ía�tJä&v‘‰®®‡À¤w˜M0p ïÎ]J12‘ÛÕ7®ÜöÙ:WgÊdî%+ã¯X|b¢<ÌBð°fÌ *’a4·Ë˰cltÚÏŒOLpw(šû;•¨;—Ûö˜aI;øú!놨 ûÚ)‰âQ’'¥ˆ´È.Y2ßpèj-RpîÉ+5q¼ÉŪ¼Ã‹}Ùòéuª¡´�ÝúÆû„Œy­#¸¦h(vH€ðôÓ…èH{Šÿb‚o‚ò¹sçH¡t#ÊKà©3½¿åúF,Dä{6¸ûKÆýþûÇ>ò>=ÄYõþÿý×cþÿ[Ñ?ízè0x‹@¤^,0#=d¨ØóßÒâ,›¦czð¤jÙêÒœ@ÇÀ]ªÁÓÖ÷1ØÞÜþ\âZ®‘($1zú‹í8øàç„®np‚¨PJPcª -€<ÃÔÐ$@Ì:ó1¥Ô‰€}Ø$fFÒòEæp‹f¿QõëJ‚mU1`bpXðpWç.yŽ+¸Žì¦Uøê”XJóhW”Î3µsLAÙËÀ/Và,S1, €õd[Œ«bÔðíx¬l‚•2Uv–X†—–!‰ U>ºIÝÊ�Í7íB{ -Ëš8ƒY\ýŠü‘°’ç§ý§cp£¶ú.1äüéÔOú— ÀÀ`€p€y¬Þÿó¼býIŸÛéîç°"«ŸˆÇ§ë=³ì -øôâ²­e+€c ü9ï -�¾è�avè™Ë—FM@,æÓ5„á¿}û]ìЩßà´¶…Vb$q6‚(Ñ1>>1Õ—©°Y‘ Ç"=~@­à6ŒsOîÂzQÐ#–ýÈ¥*°ËhÔ× –)€ÿ¹ÏD!7ê¬y(¡Ï\_Ÿ€j#7*âe‘@Á0’‹|kŽA;ŒÀÂçJé€@¢ÄÐ,óUrÇyÀBÆ!¸±��ýO�Sdô½K…FAve'”ÅH¦�“G>tLLìÊE¸ <r–0T]ºr8ê“ùZ@h PüZ±Ê­&r*ÅNhp.z Ôzð$`µaT(G—ÀÉ�™‡�Í�aàj:ø6@Û jƒo#çIðL£¥¿+Î[ÀZ¹¯·ÕúÑÌ—ô&ºþï¾û÷ðµŽ�j|lùO@þÿŽø?Tÿ³à¿�ù_.úlá·z3@`ï0€þÖb2…�?Âí¤‹Ö~‹1Î�À‚ªÃ ~ÙÊ3qXk@n2R±óß—È*p?=+Í=‹4ú‰d û;= u€ak‹ë�AùƒuºNVC%K»J¸ÿ»À[´¥=¸i·<Ÿ ¤¯ÍAº+dFJ01€‚É{šÕêññûs…gÞ‡ÉÎÖû¬ü–LÀgbÆÉß=vvøb Í|ÙúÆ7’Z‡Y\“öˆ…ùÌO UusÎ<4©¹Zæ$S¸Pý3‰‚‡‘•,šÕ6ì*ê ´½à!-ÊR2‡ºî„�à\-€‚I²/§=â[ýx‡ôŸÄX¦<"“[9±¬œo%V¨—ä� ëMàJ`'÷¸¸�*/œ‚�¾V ¥t|/®u‰+2?Ì}ˆÛyQnÝäU¶"ò„™§íd–üåx,>³6G[æMî1­¼ ÀøÑ0g!þ¬X¢À"¤ææpO�W)æ— è¸ÌþÔ -Àø¿±àüJ�``7!@Lÿ€..s½b†-Àà€ÙÓ©ú*] -i÷? þ—`8öÐ`€½ôl €Ï# 2±�³˜¯˜Ë•a›Z -šÐ™Ü¸ŒpÌÿƒ^z¹>ûUùâYÐf¡ñ¢Ò‰q È'ÓÞÍE»12:�ö:÷á‚_17Þ—�F! ²$WÝØQýヿŠ�! -BJVÜÄ>ÎÂqp|É‚�¿Ê<¿ŠÍ0ßÈ�ýã+‡ž,"ñT;t F…Ëðû&èˆzsEd.ãÚaœeb.}å)“î~Àýî–`âÚÁ0QïÀ=?e>€h-:”»ÆL¥DX† ßÕC€&² X vø2L†‡2 -ÈÐÀ×ÿ[ÀvHŒý£ìÊ`¼XºþröÁ<³¹žï�|Ëž5,Ç&õÿÅgŠ3ÑÃÿAÿ |¥5À¤ÊðcÿBí?»ÿ‰ûÿýÿÿHõÿå¿ÿÖ@5Ì@(€ý‹ÿxüšÎ ` Ï1*€ù¹Áþ=ýý- -¶ ÉK&ðå:º±¥MÆ¿hŸ”�AìOú‰þ«=u1‚è�„‹‡¾¬Â@@d.%UU¾=PÛ†½Ä N#äš* _¾�t„ÔqJ|Aî$y’T* d¥àðõž©( Åç!¥%$M¬8œá¹TÇTyx`ÛUûr3öÄëp<*¬Â¡fG@™¡ÍF¢îxWo¼ €•އsØ‹#Èñ õ–¿•ЍRá× èaeÊÊÒ hØü1 -À_�—�[�ÿy¥ (�†ûŸ‰�ª†ÿ™™i Þ[­´(;?Øm@€Â‚ ˜§ð‹ËKtý»Ôï(ð½Ñ~`Î.Òá/³_c‘?!x¾Ú0€Õ8�­d À1yÀþôðþ“P@ñ`åJ€]›y<ê\ðþnÆlU|6$ô䣆ä ¼°–+¬’wéI7.ƒU-s›,,LäveA´™¯fI»¬ÔWÃy6€Ñ,æ)NT² çѨ¯/"ïbÕS_ãËis�öG3…lŠÃ -˜Ý -ŒOW3e¾ÏvT”¬ƒ«6€êíP`@.‹rdñÉe Ê‹øXP<&ƒÉå*»²mxªù"P^ØÞÀ…ÔWúòQ\ ÀA©ˆJ}PDVrm¥ J¤!XXœJ�@� *G}¹uõÔD °Whœ¥My¨ô< ¸1 -ðÒ¥K‘â‚;DGð@‘@ÕTeSů_9ÿ`v2š¾õf/) ÚþoXÿÌ¿6Qdì¿Uý³7@ÌY{€P €7þ; ë_Þ§¶ýûÜëÿüÏÿù_þŸÿî¬ÿÛÿþÛÿ`†�Isx0 %+â´Ì×�¼8;Ðs`öÅ%ò?žZ‹ó0FzZ¬ ±O’Ï;ùÓÊà">gÉó€x?°¿f¥R€§«cðàç³s亲Eéòp…V“p�@YçÀ±ø–<GHŽi!¯Ø"]À$LÒê€êÀJdìÀ퀵  -aBî r�´G`;9L…¥©ËY_Gb…Rò°Lî»2­úÀÞXGªXÞO>‚¼’`Z�{€DcÀm -dÃ3‰OÂfãâàài *…(^+ÿ &Æjþy¿  å ¾CW­º»@²ÆcÅk¹|oîÒ.ð`ìö þðÚ ¬ ¢Âz#,“°x4Æ®aVl1:1XöÿÏÞ߯Öu�÷¾¨Œ{áÆõ©¨J1l€p¼7d´aUŽÂ(YÜ\᢭šÁ¢¹¤izµÈWZÊ�l} %W:üÅu•¨÷[‚&KTÅíjmr[—:(Áæú”`’hœh×îqvN»#'Š$œÂ±QØíÇûÿýŸ1× IQôžßô̵æË˜cŽ1æXäü=Ï3^f”€pdS»)å¼ Y67Dõj´ò\M¢,¯Ë=RY"g7N<72:R*xž"&.êìTê+('*ƒãiiAÊž%Àdõy*dS¡y#œ›õ =Ur¥·ü_0B�öãDÙUÿÛ4?$1×ï‘‘úÔ«áÀ€­ †àà& É=ÒɤÕ®\Y«§º{ËsûöÕÍU@‹ý¿iû¿¶æÿ`i÷ÿ{¿ø˜€ÄÐ@É¿Á€ æþÇü7ÿôƒýDüÿï?ÿ¹>ñEL‹=-N€¦ÀÀ—>ûY| Ÿý–ø¯‡�ûLˆýzþñ„›8ð$M­Ö?Ë==Áÿ°÷-tü”Nù Ѓßȉ>¹.€ -€p©á0…�ßÄs�ýð@¸WTE4â’Ðô(±RäÑ�IóÂS¿¡¬kà -�M±�}Ùº&?³ÊÖ|C†8(×*°™(ÀvžPã˜0„È'<J0…8Q…ÿ.@T ˜wáÈHeQHò¸@(‚§OSAXüV®--‹©Š³M@©sËäß¼�(-9[Ú4B÷» Ü1)ênÓÍZ¥aC�.âô­ª±Šä)4úW…¶–‹â�€$¿þÝwõ¿½õ»‚Œëää‰S§NÙpú¥É—oäDh“gV™ÿxdÕ‹ûÁÿs¯Ù öÂ=+Þ •/:‘ˆ¿Nž:p¼áþ· ÿÁãÌ8£ŽOœ`Ô[ £Zé¯ÅÔo‘{yN5=ÖÄ<Rèز$¬=�íŠyp_;R¦­“æ"Ô U@¸¹kúeÝânEÜ>ý…Ýæ?£è‡d¼ BïÅâžr÷Qsw0LûçGI† yðR™«”Ã#m�îpÖpÍŠµiÌæ†�DÝ t’)÷P d¤ÞpŸÓ ®6:’Õj*ÈÌ•bõs•îºãcµ�ˆ´CtVúw‹¼�h •:þ†sžÊòô#è©×6)ˆ÷6Yú¾š:p“úŒŽŽñŸ¬LמW€û ]­ì¸t´­Àz¨¸ÆDs0¸Q„8Zïàz‘8<>§`ˆr˜Ö'[›8IÊI]à´Òs\ ñδöVç£Hœ…‹sÀºHòXi°j¢på☊Kq &CÎ9Q@õ]ø¾\˜Ð7h=G (ð3õ@ÞÜP�6=ïRÿÛW\”f‘B8Ö’„ìR0ÂKý¡ÓÍS@'!ñ½ØÎç€D¢¾Ñƒ¸�÷)Å¢G{® ” D{ÔqÊ-•lÙ �q1àÃp'@C8}ÆhEΆàÜ…×Ü`À…×îí¸‡ð䡉ÿÂ?3b<!ÿ€'þAèph[€ÿ[=n"ïàÙ}BÜÇm�7–„µ²]ñ×}Å$¨dÓsB¯þ6%¢•µAA€µ³9«¾šuëâÓÌõ±úôtmè¹Âîν]}2—/Ö§‡^Ùæ®Lg²|?W’Y‰)=:T© e¯?— +�Z}ºV›žË¦êõʨ¢IAvAŠõ+2PÅ©Z¦ø¤£µ‹yA²KRfô¯3s½VŸ™®×æD|&ЯÏ\¿~%ã꿼r%ë­öv—£ ÜȤ6ÐxÁ„†q7›¾^ªÖeM×ÑÀ“ˆƒ#ÙôXýbq†¤ÆjúÖëcZjAmt¬ŽÙ½^”ª»¢¤(ÃvÀˆ´ÝêôL½·\¿"E´F•a8`(Jšç²n&‚éXŸ*<Ýð¨&Nm(ëð ¹ XH:;GÌÿ¿®T‹Õßß×;õ׌$ˆD[Ûÿk›ØÿÙè˜t¥þνwàù“Ùú `jÂÿϺÀ£ÿ£û?þáÿzüÿ<Ë?þÃÛR¬ü¨Mø³ïÑ -ð­¯|åËæÿNi“zBxr?óœ“ d`ü)wl¥?Kz€´Ixü‰c¯b€O1Ð݇œÆX¾Ó« M€¸£�¢¦+Àªv€œ" ?ü1pµ·Þ¶£àj¬8ºb$¤[l“ ²® €+t]Äæ´b»€SÁ‚M¹Ô )Vè�Oѹ†²µ`»€Mz -G<Šè8V| :´£œ4uäè`^yêËi -¥«IÀM2¸�\ôPFÖ” ˜|[ú xÝ¥·%J…�¿ó ‰Ý(Ò®$�,(‚îBÅ�Äqóþ¹ââH·à\�ÿԺʛ\¬ÓùƼ´È=ß°¹ùo9é±ø^âÕ¯¡C8ÁDÁÖNN¾„ Àò]Î�{Űÿd€¹ 4€ÜpH{ßr¸û¬ó ±m1ö[dsÀäÄd»@𗹟š—áÿh¾$¬=�íŠi± )W²rELMúh¥*ˈ(cmZŠÅâ@¹[�•ºßQ%�Òбç±ÎwçÇðU¼JùkÏf—Ðþ½g.èòbQÑ¡R–áý5eÊ{.Ë•ª§¶- xSyµ§^§ç;™ SõŠÎUòH¤TùüL%ÍpƒK¢RV9®{�<ç÷âÀ>á¿X»©/¼„‚¤ó›üoøtu«ïÞt½^¯½~]ÚÍÅéé¹ëÓ¸D—˜€ÔAH€† ]×F=ë)x}ó*]“@2K×P­öWþúÍJµ·÷÷§z{ËÙõÞ'èD­^¥öé5F¿EìËj¶ÿyÓo‹ž‚?ö àÏ|40üßøoðßcÿÿ!áþZ6‘ü‡ÿ=˜°©Ä”ÌÛ…vîüåÀcâTzй³zê‘6ɬd¾ÙÊ~–Í=²þíío4à  F²ó;˜Ä k‘–c›yó—+ÃG/Í..­,ÓFÐâ°Øž¸a[ƒÖl0õ�eÞÐô@ÍÜ�P`}2ÄIbƒþ�«lR�Õj€…]í«*¹ §Du†SΪø¤.Üy÷¿yÇåkz»C¢\€í;¤Æ¸V•ä$‰H- vpZ‚Oä}¨áþÝ+«‹K‹óî°Â`Ä+Û²¤$Q$V q¹#¡àåW/õuL­è܇^¦ êI´ãzåGuÉ#�•6ö(ÌZ/æ”#„„ÖÄ!98—VÙÜ`(ÞS&O½tŠt€4€oœ8}F*AÈKüw¼&«Ÿ Ë+n �pv³Q§O'⯓§áÀIßúuÀ©àq÷ôMÿ4 -à�]6¿©`¹láøL›Ðîhñ$¬=�íJÏ6åàÁÞÞ�RyXH.•?'üÁëÞžžBñ Nî;G{'HÞs°X.v:;yDÀžÎÅ-wË‚|YQ݃…ƒ…žžÎÇ:.®’¡«ùT»«e¥%.‹µŠØÓ�Š¡¼zz‹‡KÃ’²²0×É›EPæ*G‘‹9Q,Vº{]Øbá`R3Šº‘n©EÝ‹ ƒ -ÝŠðßùØct¾ÛÙ±§§Xú·¥ëK´Òý6 ÒËMZG)U»»œ”Ô5ѻɘ‚¾ÍûHŸà�Þú/¯Ït¾>ÿþÌŒ4&èÊ]¹P©`ÒóD@„ÿYýU<ñ"€ðÈø·¥�^¹ Óíÿo¾Yÿ¿þõ…ޫׯUùeóR4Ûÿ/’C«ýÏ^øÿ;v=Ü�Õ¿“ÎB%.€pü?˜`ç§àÿ—¾òÿ‡ÿVüîq=w´ÓÿfíÒ+À�Þ–ÂЦDG@ì‰8‡ž @ü?+‹f’nÓ ‚#˜û°?„&�?4vScˆ¶þøØöD�µ…ËåòÔÕÙÅ…Õ•SO~Na$¼dÉÂw‘�¦Žß$úØ.áÐ$ —V ìÍ&€Pt]Dæ¼b» Þ€.0ríÎÏ€4 -@+E%ØÅ�dWW(vPFSP3Ï1¬èt2…ä -_�¤¨¡Ppåbˆª¨Î!¡óEÈ®víbük»º²¼´¸pma HS¹÷rD”A¾JâR8Äb @7rǪU«�#¤XèF\í4P¸y +~ß$©u¨2¾*~Oúÿ§kÚ…àÍú˜‰[È©S“ÒÃ|@’ÉcLØ�$÷¸ Àƒ8°É(I"þ:iQÀ?rñ6À'éÐÚà·Z÷Ö^¤ ù]7�ʯk[ÞØPÚ< õ%öà Ø¹ó = ôMX{ Û•øëº�T³^;73=÷—ÓÓõ™JïëbTmfFæaÒO+õê‘JUqê‚ØÈÌ £UŠ•Œá…Â`ê >£3…Ê_ÿyv±^Ÿ®Íñ^gæ¹Áç*u7#d3s3cÓ¯gõ±r±\<õ¹iÙu,ëú%�VF¶òQA®ÿåÌôL½\’ÝšÕ_ŸcÎ[%åÈô§@™NÍñš¼g‹¯Î UTâ¬~]'€X½^®ÿM}F‹n‡Œ®ŒÙÆÖ…*j¡T-uõõõWFÊKº¢2ZŸ«Í(Íúp©\¯—Ê•ª’¯Wê33oÎQ�byN¹Më¾!qxÜ×I'¯ *lÚ »µbŸDŠKw7ŠD1«Lç@!)M€-zîÃG#õ©Lü:RG#Ð"Ý`äÈ‘(O‹`oð¿Réýò׫¿?Ü[Ü'å¦WYw÷t£w}­ø5ÕíÿÆ¿û?{þ…çéÿ'û_øïøí0‚Áß8HÒhøÞŸ!\üÓeÿÿ÷¤à- ØÿËØèØ�qüHøo uüò" úO¤—å€ÓÌ | …ü±lÞç>Mý)„%´�\)ð£|kÛV.WêW––WÌ7}Äo÷p“€Y D`}û’œzæû(š„ÞVƒðp‘õˆmN䈅‘H[@ KW”ˆÉiÔGÄòÇÍOš›ôåd¢» -Öi³v©D7o -Y¦�P8"C‚Pt¤/J�¨ N+ú «(,²ÓZQ<Õ;D4L]EkÒ­Ðæ——V¤lpÊÜC¸cK)•+ ÇZB¤pƒÒY’’廡Q„K<쀚÷åAÂ…úU´Ò>jÓZr"(J“jfá–QâÖ—Ä¢XüîRø�oŒ0·Æ¸ƒQN04Ÿá±�×—s@Þ zžyé̽ôGúhñ*í¾ôR"þ:yòü×û½99yÒpã@58îQ‡Dxóÿ¯ -@hM‰’5¤�þõ€–QÒÙcÀÎÇQÚÓã¥Èþô‰ÇÖÈv%xq_‘© Tü—˜•‹k±Ÿ¼ÑŠP‘-I²¬Péïd"@æ -ð4zúkî™k€LDÑÞˆ¡!†¬©Wz™�&)¿xß}úÿcèzÙ©3´–kŸ‚è;X*?+‹œ †Ì•Å\& -2ßÉŠþv½×ÉJ—¸;¿ñ>© ÓH¯•ºËF/—e¾ËÁ²Ë )—ÆÈü9•´·2eÍkd£0’t7öÈE7yXõœeÕ¬Z,VŽ´jQÄhºHl¶øÁ#Gd· -=…¯–xÐÑÐFFªt? ~Yõœ{¢ý_öÿ—Ÿ­þþ×§¦²©jU -—”<¶SG³£Õ–ñÿ²=”½íÖØÿ{™£H*ÀÃAá{HÓðÝÔýÿûâx4üƒ™ßìØÿå{·o¾gàgÿø�ÿˆà'¼"X*@CÈ]_ú,ƒ þ�ŸLœ{Μ;G¯À'·ù.Ûù¹@’¯£UvèyÌS>žÕlÙ�U:„D+×.Wªç¯Î/-ã)Dbú¨ÁAL ÷ Qžú¶†Á¨iô±Ý)F6ûV˜®ºB4¥8…,:“'n*¿Í=qÞÎ+·¯k fŸ¸ÌDîtñÝhÆwb°6 Àö' t.äÀ†ÆÅIi X -G_'Ù£4:­=Ó]E1îÑts¦¨ -w�7€zTk««Ë‹K‹ µÄµŽFWQf™ç»)9D–€˜]nWGâ8ÑøýT@¾úѬ¡9­£ª¬�Á®&Dºœ*H;N™Ø-±| ÿz @qKa,€}/�±À?Â�“çò&€Sáp׿s¯hcÀk3 ø4¼äUÚm(Oø¢�ýNðÆ¿œÿÇ¥œ?”ÏhiíÐphY/©dINÙ°© Eˆ>èé];!?J€> kd»2 Zܱt%­—λ9Êãì`éÙJåY}Cj¥b… ç;»x S ŽVz怑`+‰*#Ú5†j#tÔ3iz+uýõÓ .,Òw "ð¦‚d"5—dÓ. @¹ôìà³mªH½X)Q2ÄV©•ÃÁi«LA44Š“ü¹(Ó öúxÇïÞ¾¡¬Òƒc Æ9RrÈËáÁ’‘ìàðÅØM’ηM ø6ö¨gõ™™¹¹¹™©¬:S©Œ-\œQõJ€G¢Hí‰ûL€† Ý#Ì0•õ<�§=ÿ‰ˆ€u¬äÈíÿâ—«Õßÿý©ìÊÜÜ}}®^Ÿ®×kÓs3"?1óþÿ®(ý*yû¿nfwÇÃöüvBýæò…/Úÿÿ4äüoôø“ü")·nÞ~ïö­÷nùÀ}%~C üÿ[iRþì»ßùηÿø+_úÂïìüÂÎßñâÀg¬ð^ú.MžØ¿ýa€­€ýóÝ\üPÞZ ÓÂÕáòÔåù…¥µF Øêe�@`'†2+›†@TäÌ@!ü5=Š×Ò@D* ñµ0 ª¶7ÀƒÐ”ƒè =±II†Ëí"÷ذÉ(¢™jÖEì ªNiß�iM|€UŽÈ�0ådÀš -w }Ú6œ€âÑØ@©Ø'>—¡ü8HS�¾qQxyueq~~v‰¦Ŷp?!¿\œ{Á9Y"È"µH7®0Šäû¢ÎW)6Á±!”/)“�êŽ@�ÔÍ8UÁš;�¶b7Duøß¨[Iû‰\(§îvUÿåaw%"ÞOèíç&‘\ -À£r€0jþû%Àñ:ü¯�þ›Kû»O“á2€‰è@c€CÝüwüI޳j‘(™…�Œ÷ô´Ì¨ÿÍ ¿¾hç2ýw>ñ8J€ötü¤’€±mH^/õf£ ˜Ékøã”ˆÏeh’+Y¹Ôµ{·°Ç;|¤ˆ<•¬§.ŽA|�œ—* ñÜhàøͦ‹#ø"Ëp. ´ñf˜œØI:€ØŸ{ÐΖöƒÎ½…ÒЇd4šÕ²^Y·ºjÄãu‰)�úiªïëÚÛU(Õ«ÅÑÚhž3[RŒ#Épä5:Ó[®QBnâ"}"ùÖõpBˆ"ñ–¯zm¦~eÀsÕ†@JJ^Xçvÿ4:˜UÆê…§Ÿ.K_- Tì82Â×q%žJ!aÿW{Ÿ}ö÷¿ž�ÍÍAúlìâÌE‘_�¿X«Õ[ÆÿS5ÖÊ\cL#¼›i’ìè�þovbŒ!mù¦†F€ÄìÿyÆÿÿþ�‰ý© Ïÿ­÷Dÿ[·nß|ï½ÐÂð“i±€ñ À—¿ L¾°ÓOˆOíÿ&~(x¶ß Õ�¤Ý�wÜRD�…ËG�žŸ]X\ÁÀ\ÏqzËhwÐ ¶xÌc -òN…6QÒÆ%±�s@ÒâÀ‘ ³: V7Tû2Ô‡¶&ÎÂTÇ$±±J9oÔ霂‰˜÷hzôU‘Ù¨n÷[6¹Ö.Œ¶J%Š -7EY @�ÑN:­¢Éâ'eðh¾G0e$&))$4פP+ÀÂüÕ•ÕåÅ…ùkËÒ(2ŽŸ� i%Qâ^9‹ƒœ}ª[DÅŒVd)Ô¢ôîÃ1}»IAÐÊüOçPظÊg}’Ÿ&‰~LtƒˆJ¬V!oÿ èDè.1 - xx_9yâ¤} ßÿãxÐl^Ÿ�4ó_£ë_xPð$ௗœù±Í?Oá8q‚—q„ÀMO~fÿøñð(œN€ÒdýÛ€ -po€ÊŒæB%“Íqþï>¡ôÛ<¿ñ¨x½´�<ñ„”¯ÖÈv¥ÕÎßjiˆ5ÀX?!Þ$·m)’i=È$Ú”gê…’[YïI{q¬G`(•A‘M<þ 7fÖ«y4üØLqdf4¦ïE¬+4\QÔ‹2™IרÇ=QN# $Då+½Yf@‚³þ£Ô{ëL7`íC‹.—1¤KûýÂc<�ý%) -£õ†0TzF+}ÛD÷0Ó+5cH94¢õ¢s@{?6qG x¨”¤Ôës3£ÒFš>Úrþ£ Ü ÅG#GêÙÓÖ-$™=tÌ»¨JZù/û¿òåߟúºìÿ¹+NDZ‘`²_óf]ÿÿFûg'ö?\¿ nùb™³K À·þ×o3 ì±³¾ÑàW?ÿ•ðÿË÷~uë¶äÖí÷$á° @´Xø>Cÿä+_ñLŸõ"5Øpúܹ—“°^Ò¤MÚ<>þÞ¶ˆûúm¹È][]ºz´rþêÂj¡Û�Ós^r#×OýÆs_¤0îDm3#( @Dg;âÍu0¢³6̤U` -Bû"’„¥-Mâ;W)¶ãAë�·ï値�€ 0¶±+ÑN9eàœ`Æ6íGºË“ _Çõ! -1ìõg'NpDË€'"Žÿw£f¥HQÇÚ]YY^œŸ]X^QrqîKdÛ�(åà|ó:R!´«x8µ(��‚sÖ_§BtŠ¥¦zh.°¶ �âê$ÿMÕ,C«(Ižø/Ñ¿jâávÄ$E¶ph|Â/ÉBtÜËþoôðqL´©<þ™'>óø“Zbû-Z7=Ñ Å#^Â}h"9&&¢€éŸ·x@²üsq±ÒÒðh½Þpr£àq£ß"ó?:>þÀðI%ñý~KSd�—2Ø_( Üê[*ÃØx­]åÙÒL¥0 -óöÊ’îs{J3n”VtiŠÏìû]{÷â¡Ç¡`ƒ3ËfŠíëÀÏøé­�´�b)upAì‚ ¢à `¦T¬ðàg’A³ì`Æ„À>4ŽŽä çýÈ…Â^jгf:í$])= µ‹‰Ù’g+åz±ì&<#ºwòoTІ ¥@)’Ž�ƒ´.¨Þ¤Ù$@ôT‘p ºDjøÚá~d$«3 �’(­óÄ4@¹�Ûÿøÿ3øOwc•\êט0cÙØXÝ:v?Õå­–hÿx€+}ý�¯×¿ó¥|Àà? ë-ºŠÿ9ý-¿º ùs¹%ü7T€½ðÇðƒpàà…Ÿý&ràÉß“-ñGôàw&€ošú-’žíâ®þ8´ß42B È—m4@ßå…ËÕ*€%™©øÌÝõzÑF L6 -YcòXC@ö¢¡d›ÚìT ãÓ@È ±æ…c!ˆ(ÚõÆ€d,ËjÏ=ºØ„‚hŽg;X±�/vvòèη÷ÈGX…HÁ¤‚�îÒÚk`¾yK†ì‘�n+öRß·¤Œx»®ó$ -IûÖ`-¹“ =¨Aw÷CSY[^Y]Y\Xœ_XX¶‚…Sྒrn -÷D!ãÞvò™I¢]‚ÐüÃì°ˆ›VÚHÙ²F@Œp†hApåFšˆ”Ô„tmlsqÜäÿêê»AÃm 󈪞P -À7Ädû;ÌÒÏë/F Àw¬üèû²ÿqæ»@Þà?ÿů~õ«›¿xï=³ÿ}-·o¡X`$.:† -à~€ßû.“y6À/˜ì>㉀˜ôô,Àäøþ·Ý&Ñ¿}€@~“þ­%ÜÓ,¢µN­ó(M.õ< uc­ pDÄfáVðW˜= ‹¶£ }e#û�æ%ù¹ AKp¨c†Ó“Ÿ�Е$DÚ�KbeÄ÷DÖ  P]K])s2‹oxÚ/­­.-ÌÎ/ªŽišWàv„ëù4Äé:ÔµCÎwî¬RƒÔŒŠI‘ÓÚóÍ» \'quùfýk¸]‘ºQº?GÕÀ‘öT_q[Ä$:‹ã$q)¬èS!Š4Ü®œˆF€3çÎLÊ ?ÑP$R<ðOôûµk@¢ý&ò™ÇŸ0þŸÀþ×A|Ÿ<ðâɉc'Ž%þŸ�Ù/%¥ïÀ'Àpÿ’g˘ßçK=ŒN1ŒŒA( 2¯ç4*3@ÖE'�´Ð××Wíê+ÑzP)DBp+BÄ¡Ñçmr ->Jøúá7Ö¸mnÀÕ©‹cÐ+…Éà…úVCþ‹ ¢¬Jµì`Éï0Ä#îh  ]çø°Ý¯êw«�ûëÅ<âˆmâv‰g¯ö×¢!ì· Z}�~©`£•EJÞôD?€A)%J>Ï`½`¤*Þ�dY®VøÉ*¸ÿGò1yÀ¦ýÿuúÿËþÏùO™lý,ƒÿµl,ºk¨RGǤœ�UFK»÷ÿ¹ £ã·íˆ‡ü¼üŸ½”€/}å+(ß³¼q ä¯¸ùó›7uûW²ùsþ#·o£ Høïÿ…á­† ��M~Dxò©ñS'Ͻt–ÆOi§Æ·Ý ïè6€ücè7—Û舷qáêTõÒÕ…%iÂsüžQ†“ÅV±Ia„ÿÝBHÅT¸Ûms�;ÜÕE>¡T -ô€ ‡Î§µ£ÁϤJQ W[Y €; (Z‹À� Âl¢°€[û”} '>W—Ýï�x€ Ük/ÙÒ9çò# -×Ê£ÿˆOš¤ª#%ïØ#¦“!y•9௨hVk+Kó×®-/J O@`r+!�$Î/Ä);—\ ûÀ¹+”U:g(©/õÂ*šv|^×i­ÓQÔM\Gõ[‘ð�r½/f»NHZßTnÄQ?© €Qg0¾ÿP‹@?ÙðxËT@lï×ð$ZŠ��<&½?nxJ -€[$4„ ¡äüÇÐ�Ä~/§Ä7ÿkiõh;9q¨ù.€\xôQ�5zÜ�?%@ßßHX{ ÛѬÝï›3ØNêb�»Ð°:;:â¶v�t¦FKº£ÕêÃÅ™Ã;÷† €&ÿц÷ 6Cé]EÄïÞ×?(ö@€£�úÀ\4ÑËìTzúcÓJ’€  2S,Ê>�‚(wl{Ÿ’¡D’¢‘e‹²�d¤RÏz³‹�+™ðÎâ0lûû0Ö }4èžàfäñ —ë:þÙåNUéÓ®‘¨‡èÑ*èí>€BÐZ0›rt@Š->÷ÈǸ:š3(«„ÿˆ¯ÀzêàšÿYð(jÌ„–Óbÿ»ÿâ¿‹©_�£±h7�~íŽ�Ž �ô3þ_ü¸Ã.€]»:vwt$öþP" fŠ>€(o½õ–íÿ°pó—7…  ÅüÿýÌá_a:Ÿ»š�q„ðE{üœàuÀ§dóð”³àÀSOþž™ß&éùÑ&©ý¿á�Øü7ùÓ²�Qx©—QÎ_½FqЇ9mÝú =žò0!D{Âè 4@po¹¤ ,À$íp�QOF ú*q\ñ ” ftå‰)ë ‰»!ÚiÞâ0äȦÙ (¯¤îüÑwn Mâ.óØ‘Š£Œ-Cé)®²´Cѱk‚¾w�SÊ^yIq §ÉYQu-ŠBTXŸFeeþc-˜f‘z¿Ÿ��ÄÉé“ )F`T´vc¥rqº)ª�(* +.q:¡Áiƒäc'¤dt;.¬BT³èP‘ú@%sŠÛ†‹øN>!ªÿ•oWN� Àé3ç^–íhÎlô3Ðk~pH¢ý&Ò°ýÓŽðõãˆ>Ç™ 8š¡¸€Ð ðÝÃc€ÐØŒ�ð®¨ß&”3Àú>!�³H�ý/Qèo>ð|R vÜOÜ¢Ü�Ã=µé±xù�$'P-›ñÀ1”¦ç¤tÅÛqöK+Y½WÑ$c•¾Îއ: £�6 5µlôA§^›žÉ²òœè“–(@;døRq ^ËðöRÄóÒHíâ æ«]åÁéúÁ¯V¤„ôëHFòˆ_x;Sï=R—�;Vc´¼NLK�Q©KƒƒuŒRfÅš{&�~”5I\R®öª¼µZ`9j¤MÜáÅ¢µ@X'èK½ --ÜdòTŠÅÑ|,€àœ2M€FF”½*ƒŸõÕ¯¥0^#¢ÛÅ�ÚÿÍÿû?úÿÇí±fG_úÐP*><ªƒ‘¡ÁÁÎN™ýwì~5ÀJÀoÿögÿM€çÎcø{ý;^éË_iô”ðºÂÿ_Ðð‹›xüÿð×z{ë¶ܾu+פ„@z€ûîw?'ÆŸú=úœáŧh‡žúÌÆ&€o¤çÇ:iñäbè7—íÍxcuyñêÑ©KBÓ"žiqG+lzwbãAþ®!‹j '½-D]ÈóŸ'¿ €ÑÍžvŽ(�6�Ђ‹Àœ7!âl¸™%6¼9Kzˆc9Ðf„‡ -¡…ÁøÂžåRÎ(-ˆé¤àD"„É”ÅAð_ -…Õ"Ѓ_'%‘´/&iN�2%Ï‘(ŽÊA¦8>tÅv[�J<‡8ƒ˜pa~vqiÉ -7è°¥¤K7%ïE%Š -Ô9µ®»T óAå(?™ëÅ÷ñW}­+V;«B>7A¹‰¡à?*Õîh�êHE§v|r=ÿùú¯|ÛÂ/ó6ŸjõÐ@ÿLÿW^±àáK@Ãöþµó$øÿLxm¹ð”ôZtÃÛ<Ñ�>|©\¹ Lþ‡M=Íw ´÷ÈÎGyЧý�ßÔWÛ„µ²]1Hî+U!eFXªfõj&(U3™½æ @Îf®\¿þæ›WÄSF²Ó]®WÊ=¥gE» -¬+ÈšvÜbud¤>]­ð¢ Î¾Q±iúb=›{óú2y™cµ^î­Ôç.êP§æ”q©tä(SÕ¹ ~Å)÷VNGt,dQ�±™ë×ÿòÍ7_Ïê.ˆ¢�T²RwitŽÒŠ†Õº•jQ§§³‘¬>'-¢.S\±v:“:Ò§‚Ó11è©Ô®0añX63w û^IÏ¡NRA¦²j¹w8«sÌüÕʦÒi‘!^z¼¾…jˆ=eï~54€�cÚg@àŽ…è;:’ºXYr?á¿¡§„ðf‹ýŸ÷ÿÏí:M¢Œ‰ÿ~ۣ…üÿÒúK»w ûï€?Z…±Ÿ¯Ùðe•{x 0¯½=àè Û_Kàßü‡þ` àö­èxûW·i€ÿÑðÖÛ¡|ï»ßþã¯|Ñ -€í†ñÀÙ³R>‘  Õ YïHÏã­emyþòù£õÙ…<†>ìׄhîæ‰žPWÀ ~$ç±,s6@ˆ”A.1f”]ÿáü&ÛÑÛ BRŒ WŠê†�ÂdS+f+_ë�{ÜqiqÝÚ]PľРS†>¶±âI* ;7h3 "E$Š�^—ç0vX †³^q ôõö–³%T!¡ª §€ûåÕµ5Æ.ÒÑRµÞê/ß\¸ã$ŸÈ…#²B kô%׺«9?ëÒ膒Þâ ¥ts…�"º]�Þ¥BepËÑ|AªRáVµ¦ââx:MyÚñïK”Ú*¾ñ\ð‘{“öã8"x­ÿ‚Óxh8ðM)gÒT@¡DÿÿmõhØþÖÑÿ3 €ÐŒ@«“ÌðÔ¡ã'€cǾ!àçó@bC ð¿oCÂø�;±píF -]tü¤/¶¹¯ìëííÝǪ÷àç÷uwmŸÂzÜÓÝ­Ð�ÃåâárùðÀá�bO·Âº{Š_ëù\ÏžŽ�tìÙ³g§¾{ëî>Xì.w‹={Ù±ã‘=ÓËu,ö<¨{ L>ßÍ ƒÒ«{zK)’99êÛÝ­ÒìfÞü˜G_']�bùkÅòáò×\îóÝûŠEåޱ籃ůùe>Ž^<üùÇËûʇ# éî~챞îÇ}çÎG$¹»oRiTB“M¯ÒVMôîû¼¾ºrŸÊ£ËÉR7ájjÚ9žñ”> ÀÞPJÀBq˜¾q,¤˜'@â?sør|$ÿTñø?¿ -x°áÿ[íÿÔÿ_Š…edàKH/h«…ý_ìÜ‹ùߎÿŽßþÿ?�µ+5€CF|V -À·òN€ðû'oE¦û¥Äø?ðÿá|(àÆ äW¿²À\~!ÀM3|ûO¾ò%wôƒcü):ž=ãϧÏ�=åYI6Hz~¬ÿÑ °UÖyÒy Y“5º²`ÀüÒŠ47 -ÐLÍS]yæ€ò�ø0RwïBtNzM�™A1mu”7¤%é -°ÍQ‰�ÜÚ'!]êT(2Aûü¤3ȳ!ÃOçÁò 3?ÐëKiO° Eè×IÐ}®Zaá,_ÚÁµr4ÕƒNØiÀƉ¹°Äµ*@¸â¥ºDWܵiÏå$fŸ õ‰…áÿË ×f—–WWðþ{µ¥„6Ô".Z.ä( ë^ñÍQ+†û èqºCâ„[Ÿ=»;TOQó -µ&Ä�£]I鵯ü&©ê­6iÛgE^|S™‘È#>Nб¹ÈÞŽMÚ�ãˆà=ÿH8MÀ8 -€ ¸G„w„ÿ¯lÙÀäË?Ñ>~‘ݬ?6Žà -À1eî°“ÇOÃÕoëŸoh¦~îðÊÿ¾-" `Ò«6`bòdÛ(€¦À«€·@˃&€ÿ$;šéãÕÛ¬þçsöÝËÊÝWÎÎkçhV®Ê÷ð‰6n÷Kå>¾{ýf½ÎR©³p°PÀº­”ªår¥ÞK ~O率eb—ŸÕ%²�/ɢǗŽ-ø{•˜ú„ r¤’I€èÆ1TyS%l±ÿ÷úüO îþW«±éÜÝ úwÙù*@ìØôO ôíK   àOè}h€å8Äþ_Þþ¥ð?üõ¢¿ìípÌhÀ�›7þÎ?¼M@Þ -h?Mßù“oµ*œ8uʯAã}€§íðп| —ôüh{ìhjÌýǦù�vþ­DÖèÊ�…ËG+—./.ÓÀ£\¡aþ3-‚}ˆ‹2è ©MhÇZ”Àír1ŸÍtÃŰ‚>ìD¸V±%9xæˆVädˆÂ¢èŒ^÷!‘ß]¥Œ»3µIDô¤gB¤ª]6�ÖH.®%”æ~ŠÁ1EñMãÝ剜HE[vÃÀ÷}˜P¨+T_ö•p¤D¨C¶:ïWVæ¥e‰‘Пð-$Æ#ä’rnòs(M+¯;ü*DV°ª�F•’_PaÔ ·fÝG - -É¢ûã‡t½ÛùÅY}ô�“'Ž¢hårèì“øR->89y0ú›ï§]ï6ŽÁòH8™{NM¾ÜÐÚ„—ÿo.†bþÅpÌó;†Ãÿ˜}þxƵc‡Zùí°4<Æþ¯Ù÷¿o‹@ýܧ�� €SmÑ`a øÏ0Ñ_Á<ŸTÜÃ+V[l™®Îë᧯d½ÐÁ©JåY3¨zÈT*R„äúÔážÊ¥¬úì³¥žŽ‚� SãeÙ‘}õ™J©°ë¡»:+~rÜøYe´–Õ_Ÿ« ×É5ËF0BGGëµ±Ñz6EQÜ1¤Ú{ ¼ÊQ® « `/ - «É^U¢Å^),¥B©ðtA0/C¿Þ„êzý|ïL}º£+p/O32FJY½HÏ>.HT1U ý䦩‘™ëåbuL™º_"-ZÚ…I�ž) µù¤tÑ7²µ@ ä*À:@êpÏ™Fi©ŒÄ¥T….g±À“ùR´Vû?øŸ¸ü§¶ýJø¯#Ýf�þôÿ§íߨoõü6Æ?¿h¼S¦¿õk_øòW¾õ¿2Àw¥Ø` /ý»}ó6 ðþ×ïËòÿð׿öšKSÀÀH€˜(†x*À/|�'Ûä‰ñqÆ>�mõðAm’žë„æ¾â|nðkÏ;)h; -ÖþÊâå)^œðO‡k\_³‚G=ÈRx¸+4> @ëD@RxI°4µŽb5ÄÆ?³$@êp�&€'è( Àƒa€ŸXL·Xm±…¼"ü�9xÔ§x*Ø Ó¾<¹Âò…K¥î˜â¾À;ã:¤úÀÙJC£•᥽»vìèèŠÎï2uÇ*nŽ&�Ñ1Q»:SWRä�h§F}ÀÔ²¬žôH~§€(·¢Ë@OFx6°¯ªR|µPPÐBZEiL¦s\_*¨4£ƒ…ÑR?07Á`V¬¦I] •‹8ɤ˜Tzy©q¹R¦Fœ· - vbØô ^ àÐ%�{@‡ðNjH>Þ cTB¥fàÞo*Xñp“Ÿ÷1`càPÁ6³ÿ}k­öCPÂè9µQýrôÿú»sô‡ 5¬·ÓŸµ÷¼k ù*ú¤1€ðÿæÍû_øÇùŸÖR�Ûøü¯~‘€ŸäÓ}ßsþÉ·¾üÅ/Iâ¹ÁCb¢áç<=�à‡G«ÜÇ�šÒ¢øé¼¥Ø½0;u”N€++4È”Öc�~â ù˜Õ<ÔM@ —bĆƒb8.½t,›Ó „è„�ðð)ÃÝ»Šˆ£j -Ù0˜PÖZrø:«%2ö �’‚ïGŠ£ôãJNÐÚ`~q©³u¸%3ÀÈW—�^ô p¨#r%ªÎ¨`Ái•'J£¸sXS9V“Iíå ›ûE³Z[\”–µ¬:¦åe[ -@›à”Ó>? -I×£,©¼ùV§ïàq—@Ý‚£Qå•VÕãh*`L‘(qßÁúJaÐ�ø�F�@yNSƒŠ«ËŒz‹‚©²äEy¾,Þo9ôÆÇ¬üŸÐ𜡠@"´žM­þ¬è ’p¿‰4˜ŸãCÿKaý“`ÀþCüzT€=¹`"“ßÔ÷'ö’áß]y‚Á€í -ÀÈ—x -àäøÍG?õ›ÒÖÈv%A>ž÷÷Þšu¨c3=fJ¥^ïÀ>à2¶b -¼r)“@èW¥ìèèø4ô-ü{bHdgw P¥½»¥ìåÂÌ4íÍ�#³¶^®L ø`(uScP€âhkÏ€6s½1•O†í-‰uáåÊŸô)ŠÊ}otoW²ê¾ìHè !Ù¨´“R_i¨¿¯k/³J£+÷*‰x£Â2va¦³b�rWëv¸2ži[ª¸hH>+Fž#Q5ÓWmhxÚúÐ ->€{y’k€‰ lû3Ü!„p¡¿•ÿ­ökû¿D¿µ¢kƒp ÿGûûv3ÿo`¿õ£›)í7:~‹N€ßKÓüȯL -À/‰À¬óÍÿ��?�¼ÿÑG:g \?‘öð�?ú[ÏÄ\À €DÏŒ¤œ�öиt?>qrâÅýO>5þâÉhÐ' þ6!p?>±Åjˆ=¬Zš¶ôHv>sG`ÂÚٮȲ·UÍê^[Æ…kûæ`6W¤E;Wü67^Ž’§àÕN½Ü ÇdGwì'D:8g€bÔ{ªºªÐ±cǮ΂ôˆ7u@«yôF¥ŒÖQ©<çé%/h—ˆ;&«T3…9]EŠäotBRmÃP.gå}UŠñôÓáð©†�e=dSñ d¯ò‘‘Ý'ŠÊJÇÐÕ_+ˆ¬´]�c.‘ýOMHP²jÉÃ$ø†�^›ˆÿ¡Ðph°T #}TÌÞ¶ɦýÜ�±ª¥æL˜ø¹($«Tu™Tªð�eÌL€~nc£ý¿Žÿú¢Z êqR)ë‡þýîÝ3ð:øƒÿRÂýF± õ¤ à'²âòöÛæÿ/oß²þãúoáÑIbÜzïæÏÞ‘ûýR@%æ>- -Àé?”{Î�ò3ã<;Ú%=?Ú¤éh>`$ ?àïO¢üÖrcmaöÒù«ó‹ÒVVDt‚ftžïñÐ×ÚhãyÏ–þî‚0Ày£Æg�ïŒÈ‘|úra,J$¿†$Dlˆ”Ô�Rì(ká\`×I‘J—…q­³Ú· ®C_çµöíßç À,®ã˜‚~ì»ÏžÎ*P— „ÈfgWgõ•šðÜlÁÎS[EXcê%YÞ¹›w–Ô¡ß[õC&\•*.­,¡¸‚égéö—{-ÌIBI¨QghQ:ÎÓ?•r„஢ÅFµGa¾ÿV¨& -_å^}Š•î2Dµà œ¦~iîâîš4 -‡ÒÍÑñ}[þì%\ã%‹ÿ ñ·½•Øö÷ -y à“óœ¹pî\ê›{ÚÖ:y/ ào�ÜüO€Ï<ÅèÀã/¢0 -`½€F¸ŸØK†Ct¥hß>pò´( ö–��ûÕÀò  à |§X³÷؃wŒÙa®ÍxÁå].3%~rb›»Ì�SîÎdà �»ÞñPÇsŽ™x$ƒC•z·¢ñJù�ÂOe´nìEXËÄ!Ùúo”Ëõ4•ïè Ù(�ÕÇPT64Gd¼ÐOPS1ÊÂý³å þc€§~€åÊùrïLIü/¨="í³e^˜KV•&òl¹TQœRqu—ú ¥þJ×^i…Rý`YŠs£‰T¤¤‚d5Ðø— STÐÿ ™ÛûÑ&ÁÿÐ$L‚¤z¡mßHTLS^€uý< u&öÈ©D7Œ¢~Šð0 à(+…Úý¯OõË[·ÿædü룂YåêÚ½ãáÔúŸÃŸ÷;‚ÿ­<_ö»€òËÛI°Àüÿà×ï�È/ëùÈÀG訷nÞDˆö‰G|çO¾ -�)=Úôè8E×'ËËL´]€_ˆÐðHxØ´hÛ -^•pmq‘÷§§ºÛ³-‡FÏ€Â�Oé0:ŽWøô}ì‹c”²g«X›t ŸM¥k^Ž€ aÄñ^J‚+C= †Uˆí’9^È8�vBtº† û}^éÂ0"è&¢˜b¬öo0 ×è,äh•ˆ4Âr–ž`þ“Žõ!·]€Ó(+gµ!?Ø5`Ñð«,¯®,/¹/û*}·«#!Ü�%Úá•|SÄ~ã_»”ÁS(ùæt•«ÜÅõýú.ðypZd÷ZW°+Ow•"‡HÍñVÉ(šïåÎ]c^·©o ÿ¹o*$‰ù¿`“M:ð7Vî091þÔSã§™ð��‰—Í{„Y)\³‰<ù”—×¶ýwŒ8É?T°ýø¸ÎŒÇÝýî)Š xðßp?>±—òÉÅÆÿzÀ6<¡$¬=�í -³á0!«{mÝ´xgÀõ"­ñ‚Ê3bž­o¤lóŸ}JÝØ¢8h�¡K_·èíþle°ÞS‘~P;û8#ÒTxÛ�ñ. -ÕÊÓBMë“ ïçÉ»öŠkµ±Ñ¬€á]–}ËP» x¯®òWQÊôéËzç(ÇÁƒ¡(ö‹ò%ÞDLY³ -M„¡��“(9ØßWàm@}xúúGzJÒ -|àQ™3FžÉ]Yý°Mn%J…¸ Öé«Ä“ `n.«ôwuº€©xË�/H¢ø‘@{?€|,*’4Ó_â0¿Î�Þ€:ä쑘˜RI†dÿ?»eû?aÄTzõÿråÊÌÜõ7®¼>3w¥^ÙÛÑÙhÈ-ÿ†à ÑìŽSŽr€€ù(@ïD€[·nE À¯™ AV}À„€‰ÿL -póïñ ÑÐÃÓ(=5ôøÒóBVC’—Ï�ÿÌ'ñØÐÊÿDÿ¦ÐbQÞcÁ4]Y¾†àÚÊÒÊ -l²?]T0�VÀ˳ÝxA¢›yGO™ú6 -↮Œ“’0+•¼SsÊPTyøŒQNt«¼ê/ ë^ëŽé#°±|$SU;«øÞuÊ©’=˜^ì;?Š»ªHàN85ÊÍùæ1|Ë”Eò4ÿ:£Ä¥Au"G|r#S(E[Ð(3®:Îòal„j·ÊêÒòÒâÂÂi ìÞ"þo¢�v$l¡Ÿ^ÌéK愺(Ô„•Âü! -�øïÊ”W]2"çТLy]@ -ü4¢PÁ¤N$­tÿ©PÖ�$ö=�[+ÿSfé0ñ>þ¶M÷õ›$5CPNÚßP`<àŸ,ÿ|çÌ=\gN'‹�0ãOÃpâ¸]‡öÆ}ÿÛû¸`ÎÿûyÄÿ† éX?@®0ä7š°ö@¶+FÙ}¥^§-^fomT -€yR -°Øæ•Õ -ÿ᪳rw¥T,~U†÷oÉnÌí\YÖp­Rï•J…Ýí�02*µ‚öj]&ûZˆgÖ™úÀ€ Lò#•D¨ýƒ‹*Hè*R¥Þ›°kœ^Øé‚ FÙª=Õ”�®N÷ ŒÒ¡¤«½¯F­ÝCXøC*"šJ_ï(ÜÝÕ?ÔS̆†JÏ J= y^À´²¿X«�¸ÙÈù�uÁaxú–ÅqÚ3Â`/. „ -:{zte‹lÞ  �ø„o*RÊ\ˆ�’r Ûa`�(I·Ùhÿ' Íþ�v_ ¡ íxxÇCú>¼Ã6Xþù6úü·w U yPþöG¼ -�.¿üeðØ'þÇêú(ð£�>ú àÖí÷nÞüû·ß~;ÆZhó0È™Æ)=ßdBHÎ�âÕd'þúå^}rIÇHпÁÿíL$­,Î^ºtu^Æé²ÀŒ©¨�çÛó6¡@|€„­OÂòA~F‚µ‡À7F¥Nq–…ëR¶AxÎÑ’o·´CXøDơʓ]4•ϼOšˆ±qD2YòÚÐÏMZ#nž‰é*�gzÙOa�Ã/ÓqL®q·I2q¹.# ¥aç±Up…úêI{Ü¡•®q¯G; ÖV!æŠð�ÀD€ú0` ±°±ÀÞ‰rbM-«y< ÿ¿>öð uâ¢æÀv<­À�z2àPÕȶÅÿmˆ O°r©&É*N˜+ 3´O>{É‘J÷³•RQäý´€Nã‚P.áè´�[žCCü´PüÂè ÅR­ÂëüF¤¼ö  (PI¸k~ð[)Æ»ùµC‰rà)¬Zî©–pE:ŸŽyÈÉo¤å½¾Ïù¡Šu ÉÐüÒöîîìêìiôð§ Ï'mJJ )½z9<8œ9n¼é;ìÈI|e6=wåÊõÿr±¢‚í•б¡ÀI[?€è ˜»˜ ñ‰G÷˜{FFF2ævM¨r7ôÿg%Yoÿ«ˆÕ#Ý=•á©úÜÜë3Ù s"Ð^ýsÛ?Ö¼ayè™!ƒxÁ�+8ñpÜ”Yß蘚þ™ãÿƒ�´¸ Àí÷n¯ó 4šâIå'†"zú�>3ù�ÍGÀôöÅ€$éñèo÷¤çñkVg/_¾zm‘9jd$ -2¶ÍK?×Y±ñ»pƒ$FT2Bm& S!ì³ã%—Ø »’�»æA0ïÔ€¨‚Ì«;1™�Ò3Ó*ˆ÷5±}>]Fš¸ÁQØrŠŽï´0plˆ¥4ò"ˆãæ4¡iÍTùâºJ…a¯˜f Tq#SU{Ü)~мžï‚SB¬r¥ùÁÍ ï®IX]u#/\R¥ßϰ²A z�Ü÷]Æ=Ä ~•Ä¥àœËÃ6øf]ô¨j�0þ©`_§}Ý ‰ZÓEܪ²÷%:ÈyïR°¤ã¦ÿaáÒ¥KþûFr‹??jçA²ÿÃpè©§ö�ONNŒóF€hˆm.¤ôH£7ÈSO>¹ÙçPÞ`B´ßE|;Ä{ét”ÅoõÀ¬Üþë$ ÿ$ÊPÌßÄ ê €\xâQ<ïLT{ Û–Ä�û ˜–¯Ò[_’­�¿[*‡Qw»ƒg�»¤ˆ¨f†e(ë)W‡ -»zx7/¹ÍF*ÏH¥(�ŠÿÏ¿0&Ú—J3P µ£–�‰»Ùó²¼ ^ ª—ö±U?N}TŠ’Ê!<îÎJbz $j£ 3Â. ó_”Eï‰unè/eE×�ŽþA8#dû× àѧ>3ÐKjÃZœEM U¨g‘ ƒì"¬Ô¿wï§÷üO| À†~•‘äþ7€¸gÞÍ ÿU£~°"èniødöÿç‡Ë¯¾ZÌôCbÂf-T•’Àô|¦4Ô?xï&whŽdÀ;Ñð½_0�ðÿ¡‡üs ßíŒéïå£� xë½÷nþ €{Zø³Vï: Àéä8srüÉ'¿ágG›¤çG»Ä8À6 ©±â³@ËÊâìÕ˳óž(õ¨áùµ­ ÌHNvÓž]øAã½�-ØÅ$·|cû”f9°#� - *�˜£8¢­0G„” Ù‘&׊ÆtÐãb ¼�nx«cQ³yå"Gñ>±\&íGt"Prg•¤/P¨£ú€¾‘:æŽH6\Æ�uÎÕ5„àhQ5,//-Ià­aåß[h˜ þK’ÐЬàà Ã(IúPÔ0…q;¾/ß‚‹ÌD÷ïb�!¢{kýmWA‹zõ¨š×ݬ­Þ¡dIýhå?÷¯èé°�ÿk2ÿÏ[Ƚü¹´Yò &ò�¼cwßÐ -¦•êJ‚nþJªT®›K#Ì -€À]°å˜æW½Ü“²Cž­”Ÿ�CЮk¯¬(s04):×'„Îì˘ӗ)oFŸ³k¸õ:õíëâ”ÒÁ -¥"FÄš;d`nf3Å×=2R7Ί9 |” o ¢CqÇ$:B¤†àÓÛí`@Üuò44—¸wkúŒ¢è®õªbÿ_Ùnû¥üê”'HªÐbö÷õ¡5lÿ¡þgµâûŒA¼‰|1Zè(l»à?¾sÓ€x]?ûþs H‚ -@3€§t'ÀŸ1€{()€Ö>§õäaÑpúÔ¸»$¯?B ö´pØlà0DgÜ+0_¶ã€÷K×.Ç«Vâ5@ñœ2~¸ó̆˜%‚­eíë2øÈ_ÓOWÁ@sNÒÄoÞBÆ©íËVU*Úó¤ë�F{ -��×sê -pLG¦õý®Ô -‚T -³JÈã|¤ÑÒïÔ£ ÞUZNUWYEÀö…mÊE�ÆM‘„ ¢¤\Mº�ÊÅÍèãTâ{Úç*gïɆnÜ@ÓZYZœGÀú_£+À=ÀÖ€«A ;cw΋y)·ÃPjtc(éãÞœ�0ŽB¸môÃ+aÛ? ê¤º} U+=j•ºÔq“ÿÄ–lÊÌÉ ýiëï»yKK@ÚzóÒK(Ç<õ»¶ =>qæÜ™Óâ=-þ´¼váµ ¯è@öÿi -÷� ¶| ôŸ<™ýeú“ñ6¿{ÂzŽBúQšäO‹Kœ %׿éF€‚mÒ` àñx@’Dµ²mh÷aY`Æq=Sé-eu÷€ãý} o†q##¬yON5›é™©×�­ƒî�³Ý ºÍ¼2X™ëž†úvÓ@Á £×„#%r¥VŸ®üíéœÖ`rT˜Ö–@Ç�è.+¿Ù¼SJ©�ÄDPAŽTêS½s‚q©2¨b”tJ'u¿ÌG)ÌÑ‹0³ï? Èd9*i¥î’Å_/Ög<ûÁù?ʘmëuÞQh¡ Àû@7¯‘V‘ -ÍÊ‚>„ccÊ̤S¯wmêþCØ0ûk­�6¹ jƒZª”iÿŸÛfûÿpùUG-º:;÷võõ'ú·ÚþCƒƒƒ¥¡gGG âM ZâU€vD€_Ä{€„xSÿ_°ÿs ü|8~Æ\€1 KxÒ<M@¸ô97ù�M€SAÿ¦x?Ñ_â°ý:ljØò÷‘ÕµÕå¥kW/_c ‡ 0ùyYB ÅYSA!1Ñ�ö SÀ!àœ1eÁTˆŸ¸‚4‰)ã>�‰‹™ë¥È ×ä‘M™ SÑàÉ`|�÷Á5 -éH=€Ãœ¤< OEÔõ¯VÞ˜W1ÂDç2ƒS)Q&íê”6¡Û %œãND‰µ  P/Z‹²˜ß„pV7!ÎFý8A2ryiô_YY^\X^Z»ÁlÀ+ ô^¢³Ö64äçI–E[Ý!µIS]Qzûj\p­´Æª÷íZ±Š»!ÄwŒÂ¥_@‡ão‘àÑÆõLéUúr¦�ÿ.GIŒKÂÿ¥kùßwƒõ-;ë…w…àÉ'ŸÄ–šìÐç•ÜpáOÏMŽJ¯ËZ''Ú ÿô¸í@`ÒÚŽM0öô£Ð/€× -ë_ÒÐd¿—0ý“„àÔä 뵘ÿúÏžØÄ`â·Ùÿ€O.ÏÝOŽVŽ -`•ê”Ø_X˼©7c”ßVªõ™lnîú_¾93?pAOe½UN™]}=�ŸÞÛ78š�Vd¯é™S2¥®Ž&Ûy†± -Ò9°T©_¬ÍH‰ôõÜ™n ÛÉ�†AAªånª—+2•Ù© -Â3*ÉušøD­ôf@´Ðc€>Y}f*V‡+*wïu×ôÁr6}µBi‰wª3Å*o~¡Î+�p+PªÊppV§«ÙÅzÕï.v} ‹ÿٟוK‹è$ó÷BZü cµ4›à(ýB6ólÑ ¤Ý@¥°h‡eäˆVGtcî 1üIúÿÿ¾~AŸíï+tuú -ýƒýýCƒªÑ¿ßvÿ3Z÷?±î¥„ o`€wþñZn¾wû=wxÿC:Jø—‘ðÁGV¢€÷ßÿˆ™¥üÔs¦F)ßÛÌ0ñRÃpè©ýãv-¶,§ ~ÃüÏu�¼€0ß�IA±lç]Ë‚> -ïZ]ÿí·Ð@ÐÁ¬Á ÁÙ5@‰Î Ç6ç] Gô>•Di¥ƒ„dñ“ÎglÄI…9U�dã4y©»ÎÙD -w¿"«.£ÓÒ®öÍ9òWt ÓJF…�c.ÔiîV;5œ N…c�b(®P\�-Xó­Z‹ LÓÿÏM: Š­"Ùíà3wT£ÊY씦µ¸¼°À<@5ý›É%PŠ %ø¿^ µžòªH(27ÊyÆÕD±‘p’P‡fv”ÏúVÜ¿…ÈÜöݫܤй”ç¹ßZƒÿÚWD%í#Éb‚?Íÿ þãØ\6ª§'­xj¿�ý™'ö�Oœ;üw7ÀWP¬\¸p᥉³¿‰`ïï·ÕßXƒí‚²[ðÈŸ8îŽ\aà¸æù³€%àßä~c ò·ˆþ�¥x‹„pjrâÐgZ€0ÿs EÕȶÅãÒ·\$¬º?·OGî5¢ãžž}½Ÿï-ö<¸¯»···Xìí=ØÛÝëÓŸëîÙó?í|D²'ä±=;÷<Öý¹žžÇö<Â/ùˆŽËò%g¸¯¨4•ÔÁ^´Ë¿MÛ B9$~O�®U9TâÏíylçÎ�˜Øyœ´Ò†¬´UûÜcÅÓ‡?BIEw4à{ê=苸Šu�ja_¤ãá8ɾÞ}ÜCC„n‹´)¡7é’èoÙl4à½û„ض->:@èGt"<Ì`ûûíÿ¼"¿¤/E”F…~ÞhøŒ•€Áþ¡þÄ4‰7Jòà¶ó.?¿yóö¯~eÀû¹Ý_øÿ—ù¸µàcÓq€ô6:þmjhõœfâGŸ†gO�Kˆ°¦„€ç‡ïøa’ A–\=ˆˆ, ([ÈâÊÒÚÊÒüåË×èp’á Nýp Cƒ<€„X7Ó#ð"m‰aHr>`í‹M(¦fhÆ W8‚7iè¿ÈCk´6n/PÊqu´Qƒª|Ú7ª$ÊëÀ0Ȭ¸wì÷Ö¤c]ÂI©Ø\&vúbÛºx“›¤ìOçVÈ_ß|V_bG©”,õDUGœ±JÀ>‰äú‡É(%`umy�×RÉÑ÷âžrù’ÐϧU¸Ñ¢ Ã¨t* Õ@^䯲˜ÿ®+•�RzÜk×OâÀê˜ ÀÎ@Ê}Ã}þKó[àA±OÅ~‚þÇG’à³ù_ø÷Ïâ?ðm -/ö(T€ã“g^J=νÿµ}íÂZ -¡×Ë:Û?Íá{àб“'iüÇP‡úÇ'ÆÝÿ�–€Ü hŠÇY‹”šäOK¾ädlô_|ê?lôœZçØ„ý–Dµ²m {q«£¶*Ã_¥z>òçµÿÚ)Wª¸Ú§æ†{§ŽÖçþ³bÖ¯×u…O—d—*GÊEÙÒ²ûgâÎú•úë38è »wìØ]*••?–Õ_­VE«D¯ìH6=}qzzz&œì£Ñ¿�“"Z©»—X¤VÅ,/ó.]52Eo¼,›«geÌûè´x„dÎyOnV›£„d$óýÿýúØLæ—ýU³Áª -U©LU*¸TègUVwfZŸ+vñ×�¡R=¢«�V+‡{‹ºˆzP�³£®ÕÈT633p¸U µ¨KF†¯5w$ÈҤ–OÔ1ÿ¹“‚\ûZÓ4 % ã$ŸÄþW"ÿ�ÿ¥’*Cý²ûŸ¡Õßšbo”äÈGà à—7oÞzO`w@;þ?´ðñ‡"hàHÀ{ïåmnøÁßJøþw¿óíô2 ñÿe· -ð“á8£ÇÅS¾ÉëOÛ>§Ü¡ÏlO;ñ4ÁØoStÚ1""GéÁ¼…˜L‹ ôˆVé5q'`jÀɾžð°-€ -<ð“ßµ�È‹H†¦g¨5)¹B‡$Ç9¢G¤€‡ç�a�xÂ.ïæQ GRm( ç´ZM±à« \Þ¶Ui¡†ÛwM²¸"< Žwà;±Ùؤ_tã;9ÍuAQ}…¸6³Áê‡ÂI–P%†k¡y-…Òׄâ*šå•‘êuy‰7.Éö— «î)"çåÀ?+ã_Ò¢(u»URùNSö©ÙD‹î)bE‘ÌqÎIâ"÷Îdãs’;Œ»pa'¿„*BI¨Ž’A¹bOÑø²äö«ù¯j_‹6€{Èz/@ðÿþ'÷�ŸÒáK¹àµWÎ]xå€×^¹ðÚä8ûl¶ä�þ¿+øK˜Á�Î}xPNž<‰Ùï>ÇÖ{öçwˆë×/€?_¼âyò;K®´½ `Ç=ÌI¢ÚÙ¶ðÜ¿¿ŒÕªÅ4mŽxg?¸Ð“Û™éMP­ÏÔ.Nψe2&Ãyÿz©P)Äû€ ƒCu¼Ùb@{ºcÇC»:û=(Ÿ‹=Þ>Œã‘‘O<4ÍÄ@œá -v°ŸËRpú+$Á+DåªñÅKêõZ­>]w'‚JIVla¨§\�T)÷*°VZ)×g)ÑPeè™RÖSªPØB”¬î÷0ïO‹¥ÌÍ��ÕËÅ|æZFhü¨&[¿þuê,—Èm°R*îø ©Õž£S@.Ÿ°À†™PÕ´F8Â,tä·`»ýÿ�t÷dU8O õÂŽƒC#*2N‰/k“x£´7Ðð�tÀÛÑàýhøüÃÿ ¿„,ðÿ£ÿ/ÚÞI/ - ÝÏ ?øô <=9~àÀ7õÔ8Õö9e²›íiÐü‚B#"²¤'ó‚=º,àj> -.øí]×s? I …‰‰8ÞEc‡2ì‚ ïaJõF£Ñ i%êÀMìk ‹N3ñÅl'Ü_�÷¸JÁ=­iôWzîd`H¥Ä%2SU� -£^Ñ*Ó�èÐ�ãÂc¨N‹+TVseÐ�9.7樉 Ü Mº 'IDüçk;ÖFòSv�ÓôÀ„¤§XZ¤-}…·ÜK.]¾l –Õ•\Ð=‡`^SÞ¸3k,ÜEp=©rtŸ -ÓÝS"h­¸ÐX…§„î;iŽøª¶|6�¸UâpOÜ*±¸„ª!.–ðÏqÎÿŦýŸð/þë¾þ ߎ¼íý.€§ìOFX7€wè 8yL6•ð˜Üô"v¬Ñøï&ú0�¬ÿq{¬à Ú6úÄìE“ÑÀ€ }¬Œ?îYËo¤¹€4üŒÒ-—ØdÓ_Ën'rŽÐî÷è˜I•:�éFÀiØ&É¡"j–<@.ÝPL’Q¾w÷Ž�L(“²T)d.<â‹F•�¤tÀ&×q¡¾£YO±/ÐOH )•²²¸чT.;Ø•Ø�û!vöí)0'�¯Té§ÔÁãÐ`eÐ -€DéAaè²Û{hˆ;r9(Ésm˜l‘ÑZÖó‹²R3\#tOÐ^yªEFy©±{ �ÝÀ ¢é4•€m÷pR^ -çs€vé�äüöûÿ?7BnýƒiáåÑñ�ᚊç‹Ö‹I¼QBÈG0Ð;~Àí›Lì.–AHì÷–Ùƒÿï¿�€Ào4ÿó>áxÉóð¼hx´9! =QZD$7ÎsƇ$üKØK"^:(e+Ñó{méÚìU^S³Ê»€x`ëI¹L/=ýýøOmü8‹Å“„x"‡9ÀÞVÜ Wq““Ý)sÇ&¶IîR¨#à@”âÃnÿØõ¡5¡3“xÊžY| !ÜÓWª1I�øhpÔ*¢³#ªÝ Ú!L§µRBñ}9 ¥!1K”PGRqP—°ü ãþ¸Ä¤€PÑŸî•ËË+‹ K¼q‘€[xÀÿåÜàu(J—®è)‘°*Æ÷® ¸ 3ÊÇ:´}|ç:£”t‡h#®P‹v´GÑaº¾nõ ˆ“:Ç®GެèX8nØÿ‰ÿHKó¿+2uÜžXø†ìÿÌ<>ñÒ™3á¸À<¯]H}^¹pnr|ÿã�}Ù³¿!”C4O^}¾aÀ‰ã''íÀÿ¯OÐ^üg"7pè@ÓœdÖIóŸô$:€5ùõe¶þm€ölæHT{ Ûâ¾"TÉêÌ-^x1‚0YÆKuÄ2Ã{”A;ƒ²>Ð -@�vÁ=6$ˆéìØ±ãaÂK}ýýYÝcV$�&¡{$£Ã¼vÝ�z¼–·ÒSÄ­?ìú`Ï“ñŠ»Ç"Ö Ï¿ }v©{ -B›-{¶ÎË×ñžIÉ—úë�ŠEÃw™‘íö°ÙÊI9M÷O…dEá9jDGQ!‘y½LK@þq‰Fi@+©pm´&U �lØTؼÀh¥EàZ‹ANô=¢"=˯ Âl¯ÿµ‡|ÒT!ªiECÏmfø#/hyÞ$Þ(Rþ$&üÑߊÛ?yë�wþQ$oàÿýp|üÏÉÿÙD Àï¨(ÿ$€>?ûéOßyû­4à†Q/…ÁÀs�§ˆž|RÒƒ¥Er²ÇF_¶‰þ’xº¤S'_ä·žÝ+K ³—¯¹ À½ P0�mk߯ŸþF¡H£s#ÏuáYA#g‚¶ù®$ §« ât8¡¯­Y<&/ÉA1Eg~]ŽÜÖ�'C+´[õD!àøª€f'=Ñœ8ÄÁu€¢ãê <ÇÄôÇwÂé¸�»ãñUæ4b«/ôÞ] «@ܰ¿©Ø‘£}>ôUéž S6в¶º"`y‰W°È°¿—„@Kü:,¨SèÛPr”>ŧq#²TÍP.ÂYQ&Ê¡³Ü9ÃõãƒÖ†º¦Ø‘n ¤SG«ŠÀ½§À?»:ˆc¶ôp´4íÿDÿhþ÷ßÒÝ7 - -ÀÄ!±ÿ€›Pš}Âàà &ÇÜÃ Ýæ÷¸à ÿmÊŸÀpbâäIæþðÇ�ŸÀ ¥é�öô×�TˆC‡ö·-ôïŠýo»÷òLŒ?ÞÐØÑÙÅúÍøÿ@øÄÂã+�€b`–.Êúµ -Àˆ=I C2ÅD8#¦SIȬem/tT*µ�žB×îή½ð¿_§MZ¸¯óá;ÚÕ…uÞßU(uÊòF°™ÍÕ’Ñ¡xOÐÐÐ3ºÈ)*NO€éö†xÕ]šÛG¨ªWz«2Éz:è^ûLî+dW¡£Óc)‡Î ¾ÊST†´¢»›X7¸§Pé/ô©\²{)Ñ�²Ls ùŠ†Ô«½žì—}n>Þ)L›ˆ€©©¬ñi8RÄg9G± ÿ|6úŒ>Zþå_þ³닎 à½÷þ/iîø_­¤yò>z°¥&€SLwN'@F´~´2Ëùx“?Oþ[ú$ì§�–m ÔzñÚÜì5<x§Í3‘BÔƒ -ñ¨><ñûÒMIö=�Œä+øáPc£M¾ÀIrdÃŽzCöe3 ÒŽ<áš¹ãµi!W±°oµƒKFZ9mÑÌÊ 1×¹ ¤¬µ£’,é*é*ÈÊ„ - X•‹’pR¾ÊW�™NiKlPûJ€K|©cFº¬u{ª1A|yeyQ˜\^Y[IÓÜC®^üáÿe7ðQ&Ê@¢ô©5ߢ«ƒÊTñœ¥…úBåÐ!6r�”"mWWc(…NDGýÊÜ´¢ê×qÇ?†Vè0´"p~Q׊®ñÍKÀâ?3%ñäðßìW�ø~‚6+ãô€þOÖy^qcÀ… /�8 5aSÁ¿¾âæ¸eb‚q€RrÀ8óHÌ‚hhzŒÿ‡ö§„“ìOªySø?Þè˜8uèÉGýŸèÿO7lÚ0Qí�l[L§­‹°S.2¤.5²'K“Áö•ÌM:*?Sªè)9mdzà¯ûðž]:�Ëàç}û;zx×ÞBcî -¥Ç:_°�/äZ{ЇYæÈÙö¹B´‘"0˜õôVŠáËW¸b„”Ê¥Lv1yê[ä”.彃¼Ú¿«£Gdk# ÅÄûoÌI@9ØSÀe°w/ÓsjpPZ‡t$e2šfþAkDRyŽI�%3íMTŸç|kO<¤ÀÚócµÚóÏ�¾ðü èÏg5T€±¬Ö®PéÞié03Óª€o¤Ñ@ZHvÄ/þ+øÿ·aÿüªŽÐLÿgø ”s¿È?B�½ Ü?o5À–?ô�=£xƒàˆyÌúÀÿ[‰ÿá @¸Pþ•¾ÈïG7ÀÛt¸ùÞÏnþ”‘€¹à»ßýö·xx@<9Âpfò›RhEðç$ú&úKüpIâ‡MÎÿí½ @ÏðÅk³W—–Ešeèä';PŒquÑñNÌ`¼JÁ»ºL �½ îÄ=ãÅ%CVØ‘¨$ ÀN‡r Ðr çá}ºÄK|8AnÊã•Ðh"éHÝ€äÌ]Å‚¹²d¹Ö¹8®CILA´Ógµâ68«]%E4+” -nŒ„”+êdtdÅ"ŸSÖT†JJ# ysŠ‚CÉóÁ÷®õÒÒÒÂʲöoqÏNW%ሎÅWºÖüj^nÖÅÐÖUcÊR~|Ô -1Pb�¤ŒŠ²JWW Ѩ8owÐ×JõìˆJ‡ÊBP¢« z']ST–ÖøßjÿS¢üûIÆ„€à€ üðüü·Ý¯¯ùîÂÿëÂE³u¾‰¾7�ÿ'NŸœ¤+ =ߌ™€8jxü: õ%@:@ËÒ>¢ÿÔÍ=RZtö{i‰jdÛ¶–h†¯—¤àòfŒ‚ À]–y*\#‰s2³+K¼êÙUèÜ-œ2�lFƒ²BEÚ¾B×]¡HJ==£`&ÖŠÌá–—”ÄxÈ9L~á:ë ôå�~XÔq…ö+¥ƒÀ|�àÀm-ýƒ÷õ?V`äºÇµõ;Q_“Íþ« RT8”&ÀÑ9JÃ&nNk*@7že‡3üóe*¨,þJ ’J„ `¦œRÓ‡úµ¢®_dàæ;þbÀó²°™’»TI6ïàên÷((÷(xÄó«ÜssÛ°ÿ1þö?cþð»„HExN—ùªdú‹þ£ÏKwÁ0fo�†àÆö[o½ýÓ¼wëÖ­÷­õÛþÈ¿âøðc¿ ðý_åŸòN?»I7@7|ÿûßûη¿•¦æ'zÜùiáŸ;Ãæ±ÙßX&NÅ(€Æ'œ$üoéˆçóV²¶Â 4)ó‹†ÍòÊ -6žÛþ�xâc# -iÔ4à‡_<øbÇ<‰€!m�îèÆ QŠì²NèLØæ §I_Zb?¥Ø4Þ9 ¹ÙrE¾‡¶¢èLˆçQ:æR€ék” åŽuJÑ‚w:gVfâŽ"ÓÙ¥� 0ãO×i ¦;BMâ -JæSÑ�0 -C|œœ£¾$‹+‹~ ¯\Smo.ðßN€pèGAÈ5¬uW�{ûã¡ôüD�ZJ¢P¢Ëh_ªœõŸÒŽ®Ñå\äî °Ü -©Dc‰Ï(™¨º|¢ùö\m9ÿWšönþ7ø�ñŸø¶$yžÚ`k¦Fþô5· œ;™Üóå^ó LØ` s€›ZúH¾ÑÒÿÏKÂ~SüÜð˜ÿIx¼ñ/Šiðçù’¨ö@¶-öðß{i`ïúáÆÞ±oöÈjt_íUý2öêö“�ÖjÙP©Ðß'Óþ·:úx•œ j<ìÌ(fùòŽ9mfÖ×—uöÀnô4­,}O:7h,eÝ|ùÞ'11ã‰ËËÿ¼§‚é -µRè|¨CU:KîÞæ~Gi@–Q K©£§¿ÐÕµ·s÷.]Öå¨J}¨¬”<—šó³‹‡§Hƒ]êA†¸öˆQ™9Ì0^ÈÇðœxåu%ó(úÅÇí"ó:«I/ ö¨éÙ´€sj×T.N{à‘#1pEö?Ý3$÷¶ÿu�f¿mÿA�÷w~¡#i-æ×x"×>/ú»Ð*s–½`o{ÌÿŸü(½ €1€°=ñŸy€ÿ7àÐGBwÆüÀ;Ñ Fæø.=/„~4€³§èª”ÂrÑ!ho~x�èðGüpIbì75? ·_\š�]XZY\]æ©®çõ -½ñzúC6<ÕW–…#ºÌ݉—ù¤ÎŠD¶:9¶·Ùá!F†“Ð -„(%¶Šd·‚®ˆŒô¡!@tSb*¦´Hä¦~aʇb‚=,Þè è‘ "µu 9ØxÛÓ 3qüaûmP¯pߌ‘írS*Šäk� x— ‡CqljRt Q¦µ«ØªIÓrUÕ&õJµ§Jו7‚÷$€«u{6hdä[lh®H—1æ5¢*È9Ât›üˆT�N:uŽªÓÅæŽRS} 7yü$Dsê‚ó‹JÐJÉâþ¡Éc#ÿý/-çìOøß¾£ðü�£€ÌþszîÜ+Éð§znbüÀ7m¾€óMD -Àq-'­üíöéØt H •þZö‚&� M@ßÿħ>åÿZþ;�þÿ‚wzIT{ ÛçÛ�¬6\¬3 -Àˆ±Q q$åjeŸ_p/¢ôÜè´'´ˆñëÇêàe²{QúehËþOŽøX›0¢h¡ÀÀó!Ìv·hmªCBñˆ-^iés=åR�xð#®ßã!Aþ$Ô³Õ•?4ý_ÿ/Ô(i6&måùÚ´Q¼ABÈ_óܼ)s>¼ÿkk~Œð¯¸þ5uøXÊ�=ÿdÀ€Ÿå -€ç’ðEgÚ$ñ¼L Ã÷8ŽÝ²±Òéÿ¿z,Ë׿g––í�0@Ox=é̓D»2Â×p›ƒCˆI‰�è¼,kLz¿ÏsU 2ãu*¢)ØK\sF[†8ð‹î¿G �§�… A3ŸSL•Ïìø¨4*Éá%'.ñ(G.<ÃEîcT ¥¢„é`Iλ|ÉN­¬G úUqcuE±'N‘‰îQ0´¤ €Î•+«KLÏQ»¨êM$)hv\ºæ+¬xP‚Å…Q­¸`¾9àìªA/£ª%Ô>5§Mܼ¾DæX¥äböd4,]€[‡š¼»ê÷.Jè~W¸ºIÓ½P�‚ÿ++Íþ¹ùüW!ù†¼›É€ýèÛè@€Px!�ÄSÓN°©€ôMä¤þÝÄÿ†`b�@[†8ÀÿÔÊ~/‰û ñ?êzÀ±ýO>ÚÐ~#& `çã²üÑø&ª=�mKš®ö>2ýúõìèU¦ý/jÚ2{ÌѪ^îaÞ,›žÑ™¹+ÓÓÓod£¢F¡Ð¡«c/ïlû‡ i¥}Zée¬+b©T,Œ [X·£J¼JÇ„)!]8Œæ†šr­yûP©ò,øÂèÕ‰Pïé)euÑÊ(œæW†ú;îèR -IfH© • -4ëW3«è* Íÿ¼µ ³£³RèïëÚ+ ££Ð�2XãFeÙ3-°n²VW�ÌÍ•/ÍÔ©�l¬žÍ¨F¢BrµØ" -3pöù'y^õ(s½ -` bW�¾�T„–ï´ö�°~&€èp„ ú¨VJôÿ·ÜÓþ×oýþ ~øR6Hÿè¨Ô4•9l^Û(%€w#L‹×K£ ÀüûGRnÒpûV›àŸc"€•HðHÀ6�nþ €€·~ðýô6ऄ€‡…ž~ò%À1&eÐÚ3õ0� ŨÁŽŽÝu<ô�”–G -»É­#x÷+oÈò­×çfeÿ_š¹ò—W®\W�¼q}æ�9ÕÆ\M•2WÿÏn hˆ8?†0Ò_è­×b¼ŸiÊ$1 ×I†6•ËÆ~3Áÿ–6<Gdü�j…`½ýŸzòçö¿Œ¬üg6qü£$ÑQ€éiorú ý±“ˆ¿N¢  Ñ -ï½w;y˜ é�ùÿ¯ÿ*þk%ùHŸh€i’€Qá@8SËÀ—倗'OŽËä9yRú@¾ÒæäÉdÖ§øGþÛ€õ€p*ß{ï1LgççÝ?]öÿrnºñÜöÓ[Üàù�©»´(\¬­,^• Ëy/ìÀÜS4¢ -¬&¹¥ X‹H&ª9ê˜ÓZL"®Îȶ\%ÑïÚsÏu§Æ)>A">±M˜)N„;*dW:/…µ’qg7âX�‰´)Ž‚%ø*”¹Ž0z•îo’ „ºBÈluåÚÕ«‹+d¨zÓ� -èº<¥¢{GGÑG¸GU6U·˜¹$ÀÞüÕåp¾¬ý$’¤\=é¼»^ºvM -)¸ÌJßEAãÀõNÙtKñcPVÕ/÷£»”†æ -ðUq�µ-ï«nb¬…ùïûåYÑ`·¥MÊ@·À8†ÄÿÜüß”ÿÊOõx¿¿¼”<LôÔø¸Ž¥´hpö¥s˜ ø^ -À“¢ùÿ²ÉmÀäÄ7Á»€cÑäïN�ÉÐhÿâ=ÝÚeýt�÷öìGHÿ£­Mvþ‡@«Dµ²mys[Rî>ÝÙáW‰P1Ø^›+öVgj£FT¶æ9Q«Gu¬Õ5}‰¶èÄèèóc¸Õ ×õbK6ô­×ÿ[fЇ�##î`…CÒ´ÿ­f°3äïðwÿ/Dœv†üÆñ'ø1þ…gœ�ß.Màû?z‹QîðÞ­÷þßÀ¿ÄD¢ø¢à‡´Ä«€¿{ëÇ?üá�~ôƒÜ@&ôxYvƒŸ~òÙ@¯'Is…ýváYÒ�x¸„0/pƒÿÛè€@0ZX˜_X\\¦]y¥¡ÈÔ£ßÐä«kË‹‹o®ˆªº`~qe ÓÎÀ„PÚp—#:Á‘Üî/¼º1ÝPæ -8©ÈI˜q–f>ýÓr°¢8H¥“úNh{GÚ C…àø/ òE\­[â"­ql»­>ŠŽ1­üè]§­Ä‚r¢µv¹Ô QXȯ * û ‹èL«k+V8œŠ/‹ ,Ä[/mI–ÿÒâ’�“ºßLÌÿ  ~ÀåËÒì®!1¬•Š*“}M¿ï.2•º’4,”+ï¡ÄÍzH?5â{¢Þ‰ íøE@Ô?¸½Ú0!¢ªç�N*'òW0Ω0KÁÿ«‰þ—ôDMÇ'DÙøóîú�Òl7,�<Ì´ÿ'&Åÿ†Àë ì½,€‰3[ßù×ú±½¿QÄÿ'P±'^ÄDGÐöPÂ> °ÝC¶, ü¹ØÀ¿rȉÉpâØ�{zè`€¾‰jdÛ’LüûHïT/ö¥g#pTf0 ‘é*”¸¹™qµÚœ¾rå?]y£²GF{Wçî];èJ×!ìÂ]YÛ�íb»öú…û�ÜݨK è� E‡»;;ö(:GÎïÞ« <›À#Oï) â]]b|Ýö»è³¯] ‚]](ƒC�=ÒIBI¶бî°®tÕÓììÝËW2p—âÒà‘§ûTFñ߀>uïÙLåó_/×]#U#˜ðLZ akØÙ!G˜ €š{- ¾€EÑêODn” ò†~´$  á D•‘êȈ=•P5}`ioÿÇöO)¶éö-Š®5³êãd‚ÿ¢¿,ÿ”é}ì�ˆ>·ß£ÀmÆ›ÌÿÐ’ð‘t�¸�ð³Ÿ[È=ž0yNÛÀƒC‰Ð5É -@ÿž˜äµ-ŸŸ² á¿�ÿ„[ˆïö:ê;?ma�á}¢�÷5a^9¬d¥Ç¹Ì൵å…k³Khk+Ë‹+‹+ Ί¾â�À+X´£Ç~b¶@l‚?&B ÁGæðÅV†ZZ)Å‘DyØe ±IOZ\`³W —j@l“JèÄ×Z—*¥Rå˜Â:!]/œ×«Ê$hàÐ�¤O„r _¢ëßÒüå« Ëâbî/O!•�2Ó;@{º1û¤5ÑÆ‚û|K UÀ p‰©š“@¹Lj}©*•»õ̵ͦv1Ò/â�žwÕJ'UááˆúКªóµñO!Òóû+~Ý‹Ñnþ¯®H�ÿ[ò_…â£]þ¨“ìï!V<à©ý‡¬ä‘Ï¿¶g'ó©ŸÚ/àÿî†�-~$6é õxYk}Ln°„àÐø~<RBè-m²©@_ÿ?·xNŒz¢U��+aÿ?jGÀÀ'–ê‘í,årqj,¤üA²`µò38�i)Ôþð/¦ÿð/®ŒVºa‰ þ0ƒð÷Ê*ïêïÚS4s }øâ=ïžýðÄÚñðއ%Ò¬0ìø-­SçADVù®Ý’ÁŽÎ��WhÈ Ø�}™öZ‰Ûf½TˆÝœíëúí�;y“5ƒnU@Š+D;íüèoíˆÏ}ûàŽ†*Ë âZ”A‹•ºâîý<Å1þh‡¦¯,Íž¿<¿Œ5)È\ ÛÓ8Y#ú»¼†O|`‡‚¤XÓETãFû3%D9ˆá¬ÍLl[ 8; •0Ë¿™?AK‡ Ú¨¦WŸ² -�ä°ò~äÆÅ«”Ü]ƒÎ}fÒátJRbjé´VVbäT¬�»È\~JíÆâìÔÑÙ…p¦Sܸ‰KŒ�ÎÌ\\\Ša€ËÑ`ƒÜ¹KTK«pùò¥« ÌÔ¤K#MÐua�àFpéZ£Ù‚Ãz�R² ó¡ QFÕ·¤-e'H¨ÜòêT ]ÍFt>t%âÂ~¾+8Ž®ÍÎæøoò¿!$F©|дú‘|¿uAò&wüƱ“Æ>öïOõM^x‚×þíoµüÓg¿qßmÀ?-úŸãUããÇy'€9üŦ@Ö~ŽÿhÀ@h˲™ EZ<­Ãw´ðÿ ¾î ÏÎDµ²mééÞÆòù™êÀŒíÝÑZ½žfƒ•A(CÖ(,ü‹¿˜þ�Wj•žÊà ³ðîÞ© "l©ÐÝWè/|5ú›‹6L8S,Ét§ÇýÃö¹[Äê|bÝà! ®ogçŽÎ�{A3~i|�ø°ò…ø‡Àü®‡Qvïå}^”ÄC·HDÊó»~¨œûÁ ýýCRJÜj€ß¡Ðã‰B*üßöÞ¨×W¦¡ûèhÝ ã®ûâS}$™®ƒÿÜ ]€•Êðð0³*+àyØ/5`”æP ¶I*ÂÆ~<GÐ x0¬4ü-öLŠÔ*”µþ•ÊÑJµªOU•¤"—KÅ�Z6“„üvYß šn1ø÷êC:þ%úçfD>ÀpóöMšRÀ�ˆðÇßúòÝpöôÙ³gEw€Hø¦mþt˜vè[„JÚmS÷Óg[t€åEš–eÜë�/»€Ð¡GÿªPfejY¼|ù°è†qþ°Ë}rO�´èÉ€B¡(ü¥,.߇ÿ}â0^’Ã~I£D¬ûÇèˆ4f´'àåÓç^¹ðÊé ¿ø?ùˇ> ³? øG˜˜4$À-9õ[dý0€†"ÏF -ÀxðÿwEo·´{˜€|Õȶefnfö¾ß+3sø fÀÓ³~tºFw6¡„xð"otì…ÚüÇ+ÓÓÿi4;øª†Jë{áÿàà`aOÀËŒiÌá/ ¿°l@P¼cG‡â~O²ËÝ -;JC�}»eáïîܵ»·?= wívÖ–pìÞÛ¥”¤^�¢t)ÞÐ1ñ¡‡; C¼ÂÇà³0³°½âîMÐE?…B©§,ã7Ê=̨ÈJ66V«]©÷¾ù7åz]¬W�ŒfuîÔ&6•Ñê¸8}qºÞÛ»¯wß¾}{{{v÷ôtww÷6LëøñŒzXÀ†þ.ƒJ…i¶Pý#y'Ð/ëŸ÷Éíþ´ikÿwM!¡�ðIîŸb*'²¯7f6h%}Z�‹ôàöõLœÿƉ÷›ßú\ü<¹×(¸ŸkÛš@0Z^Y¼¶°°ä1€4Uë � ¼Ùzø¯áð�½6¯˜@m� ÃúTÇ¥Löã/F'@@�€¶ytì&€À~cY? �?ÈŸ{Úšü“<ñøNÆꓨö@¶-1Žë¾ß¬|] ² êø�ÿž/AD!µÚôšžž®Ô{¯Fû¹0í÷ê –öTúÜ”`†X :RÁ·_ŸNz��{K{¨ @jð(€¼ À¯pÐðw¡¼õóx&@7$€M‰Ýý'ÿgÙ!é1¨�÷Øù–�„Šw$ñliH› @²•`P®,-2@»ôL}…?Ð|ÈÃ|umiiEøZ˜½zmq‰:Ã=L_E±i©Ç= Ðb BAAÙ¡wáŒÇ£û½‚¿ŒXGàÜþ¦qG%N×çéi =øG’ºŽF|Ý„J©S:™º Rk.\IÙôŧ s Ì–²D„Œ\!»€:KÎj'0Î Ç$KÎë~È�Æ‘ÅÙ«³ó Ë"»{LºTN@Š Âº>U�7V—W—ñããdÑÊÀ_'ª›M4€ó—êç/]ž]XXÔOpƒI„T¬¨ Vªב3¦|ä¯@ëbœ HÜ7ñÑ›|gDÖýt+üÞ%&×À~O¬DpùèZU]Xô—» ç/ÿ¯¶ðßq‘ȧÉÿ@ö¥Å@3Àø©\àVð07Ð…WÎNÐ ÐÀE _?õä “ßì×ÿ˜=̨UXøâÿ‹@žR˜{B-°ÝûMY× 7ý“x KxÚ€¤<ÎL�?a5à�àK¢Ë}äJµ<'´(„WþBS#G;£µé¿¸R›­dªúR©°Wvzg¡�~ûY·h# `f§wúú ⸚á EË -; _Õ.ýó:y{`ilÏÌèÐL±˜üá¼ÜO©0‰M?¯ W 4 Kièùš”‘BO…7õõ)všÕw¨´g¤P’uo|ª¬ž¡ ÖPÀB¿]¨÷^Ø—4€aŠ Ck3Å7ëµ+ÙœÌ}׈*À5Òðþç[É4ÀÅééú•+WÞ�rTÏêõëoÔ3Q6Á?ñT|~KZ@†€æ†q1r õ`&D-\€¬:’¡$湕ÿér$ß?ÈFøcý×ëõW=Ëãy©•#Y½9â ÿ‘‘Òð7“¤ØÖ~" €&€Æ^ùƒàŸ›.€ð„@QnßþÅÍ›¿ÒE´üøï~üÖ�ßúá_Ñ �·¦™_ÖÓ®Áÿ‰x$Êa€õ’Hß"܃(¬][µ6ô)IB¢v—=]ìFñHŽó>tí7V¯Ne—æñË/Hˆë""ÌUšíu…„Vó%¼@|3@ð_bþS ÖêSç§.ûu Jƒ_!ÊoŠ“üŽÙ‹ûˆ±Q« -ãµO/À»ªuj–RBg®C ³ÚÅO„è�x -çEÁ¤ Û /Ý:SK•ÿæ¯^ššÚœÿN£�ÿ¸š–~ìµ/–3ç^š”ð”>Ozf¾@ç¿ðÐà�&φà©{Hjóülr@ÞðßâH -'¤4;äM÷ë�y¹@þFý‹¶)!Ì ¼ó‰ð<þÀð‰%±å>r%+_¬�é™/‚ˆ-ôþÓ¡÷[DÁµ?œ®ÕêÕÞz¥ülEÖ7}Íÿ¡ -õãÈ»Ÿ ù•?0deß-ñƒ’™¢pó9…­Àd42®¯tϲӥòœ§ ¶¤×ôF)”Â3R L2aú/jÏ�Ž=[¡ é¼=ôY¥§>DA"”MÌ$ì9ï]4÷MütÇ®Îg{ŽL•»‡9)î’m&þ÷^×-ÎÉ…ÁÔbƒ]Æ{{… Vþ@*ÀÓÅÓºn¢!_ëýZ/Ÿ�boúóž=<îÐî pëúÿ[<•Q^H˜ÀŸ·ÿ7øŸ®ôÝ»úYoèþ¹ËÑ‘±±ÚtKÑú•®4£Ê`É0^'_n÷üèí·ßÆð¾=ü©I°à_y'°»¸üÇLÀ²ÿñü@ -mée@gOŸ}ùlz\ЃØÏ¾ %Þi—à|«ð@I»ë]m€Ô²¼…ˆFËÌæ¾¸¼´ºl«4‘G�yŒ@Aû+úbæêÄâÕlêê"¦¡ðËÀ›žõЬ ÀŒžüúv´‹â•uæ1+Ð #²6äÈWÀaœf"U -�¨º’nëÖ5d´*6°Ä9GÅWét`Ì·=P”B| ÄÓá/·ÃÂ¥RÞœgÎR¯ ¸»N‹€Â阌ëjQV¸™Oë¾Ëáæ}œ -1^_xè0œeåî"Ë%2½RïžÅkÓåêE$^ˆhkµ9Wˆ²!¨U¨8‘Ü�i=á²\Œþ/·¶³;Øì§O¾.ÄšHhy?€ <ο ðC ØÀÎú Àø›þƪXD 9·†˜þª¹J2úÛäK_ùÖŸ„` àíu)~ü¾@ßð¤&€Ô -ð�øÿË›ôxÏ -€è¯å¯høÞw¿“+“/Ÿž|YäOƒ‡õ@¤÷ŸIéAØ* ô-³¤!ñpi•† -`Ðl-z´¯¬,-˜À¿žÔ&‚Ø/€Y>kãå—¯]¾tm~‰ÆÁŸqí`Øh¤õ˜k¼ D£==(@Z¡"@ásìk‹SƒYäJIG‹äDñ pÒ\ˇ¼³ŠÚú*Ÿ6¸¹˜$ ›ýÙœŽ©í( v•ëbÆÊ‰ˆ¶î¹ÊÊ�B•ªB¤d«ª¦óéÉmöÒÕy*@UÇ =3V{¥i‚j‡Dߥ¢¥i-ÎÏ_›WõÑš¿AtuC +‰*eþò¥êÑ˳â¬ÏÓ¤� Ï]ûèçwç.¸V!9 ®¢2ð�à'à)wÍD‡®g¥ ]€ø�š¶«”:ùQýû¨FÐ?T»+‹«KK‹ ×.Ÿ¯_¾:/þ»[DÊMK?öÚI(1 <XþØý ÿ1`’°s“ãû¿UP‚ÿþh¢Ó¡ŒþÉdõ¯÷èÃì¼ ¨¡Ø€¦õÏ"â{¬Nþ�ÿb¯‘ÜpŒ>¿Ñð$ìçòÄN<L �¨ö@¶- ,÷‘¹¬Þ%�£cÎ;&ûç6 —œ/t18ÖîV°òr ô .í¯µ9Öe«’ UDVüìÒD]åW¯-¬àlX•çI‹jâz’‚Fu”óÿêùó³ ÒŸRý·Š¯I -@®ˆ¼+ —§²óõÙy]æ6ÛŸ 2¸®JæÈ -Ь¹KnÖÎ*Åâ– )a:ÇÔGìrŸ:ÃÊ¥&>õÍnlã®\mÊ@ñè8*]daaöÒԥ˪€à¿+ÛÂ/AJé°!Áø­<§'O‹ø“¢pî€ÿi ¾¯ywRËkV~o¿b*n˱ÿ©â£•Àÿfú?yO¿±<õÀqð̰ç¤U4€Ðl÷7æÓòŸý¯œ´y‰èÿÍcáh�Èßw��¨ö@¶- +"æ=¾–7²Ê›žG¬ÝÄ$BAÔÁïmDxbõLÁFìîd†�¾þRv�y`_©0 Eº.¡Kç"ÀáÃY¥|dêk݇ëõñvz¦r�·è×jofÕëöD£4 -¢� ÂÕØÎ*HýÞÉj•¢ßš+…Á &‚€¿¦ J†R�d K¢  ÀDE»;:»J=ôÙ˪½ûÊõó3ØýõRiz¬–½P›Îþw*@PdÎ�xÇŸ}| e/:‡@è L¥( ®r]äb죴èÑ@'ó¨¾'Àú~dDí‡ ®©¤€‰ÿmðO[èŸ ßØbú#S€ÞW²&y­P*Œÿý•”VÉèo{BÀÛo3@> *À¯ßÿ˜aVà?ðÿñ‡0ðÖÍ›ºBëŸyàßýø­ÿÏ[¥Ô¢Àg€ଞ§x<éÁñò©ö¿M`›ÓbKÆeÒÚ¢Pe1ŒõìO;˜À^Y^¼6{mvqiíÆ2\Ò w²Óy“Èù��Azƒ—óš w19KÞþÄef¥©ácG pP{¾ˆ<ôÅ -¥xÑÃ^;b”VÕ©àç" E’ Îoe tœIè"Ž Û0ö( §ØXïr \èym‰ -Y¸|yVƯ*�!‘¡:­Òh9F¶ÞQ)y_ З®NU†/Í.2ÀêúÅÅ\ËUv�êÚâµóG/]ÆÓZ*‡î”s­· R9Ó»4»ÐêAþVf¤ÂMwöU«(k¸ -àËM Š®;V¢J‰i>ì(>Y逿þf–¥]½4u~Ö}t·ëøOE¬—ô¾µ¼ôGî˜{b Éo À¯ø£Ií0À�ý¿ŽC ˆÅÇÉÞ磕ÀŸ<2úOó<À²òuåcÔ¸ñxîH*BôHMMûŸ>¦~¾4Ñ‚À#ÇÛ<ë€'DÿÇÙIT{ Û–D•Z��g›}-W^­þÑ,ÜÈ(�þÀü÷YÅœ®ŒŽU÷ .#(nèg*ÝJ±†öjÓ¼zŠ~pÅ0!Yñðú›×«½½ålF0ʺëÓàßT«MŽQáNW£ Ñ �ñô±¾Â ;}HTQ9˜ÎŠ dÔ• -óû”+Ñ€à Oaa/£ð”�ãj¹·XqAÊ=*ŒTŸšR¿îr(ÏfA<“60�È(ÔnM—ë«@ü*0IŠ¥dªË8¥ÄWx3ÏÚÚÒÂeqÇ¿ ø.�!âzW‚>è"ZPŸ¨6~Eµ|µZÈ®./ÃÐuBy(ESоҼ±2›UÏóÆæ%æjÐ’`ë¾� -Òõ¾£Ï¸¥Ÿ¹G—Ìqˆ{WÅògrB -†ÓÆM$:r¥ú"âQ%þ[PmêV–fgÏŸ¿4»¤ó.Œ‹$¡¶´¤£V Âo-§ÓL@byŒ0ý£濇Nž“špáÂä1ã~Éí}}´ûÙøs\ -À‹Ì¸%y1úþá8>þ⋇Ñ 0BYI°°®@ÎýÜþßè¡€”uÿK& ] x|ç�>úÀð‰öh‘°Úø�“Wêå×W€Sœ1ˆ0Q%BìõéÚô›°¶Ç éïb´~g¡«Ð×Wì^ÃÆ†¼ÇÒ¥R(œ’�+Gê‡2|ó—þó¥ÏÓ7®·øù™9ð�e3Gip1@[B"g$.ˆA)`zn4ûór±åe¹c¶ØëY±^SÌ¡ç(Š{%²|ÅhvÒz1Ô]*³Ô/MQÞî73Cî/d3ÃSWHÎÍ1r³ ¼9¸ïú² )%€®aˆ70ÒTìp§@»’/ Ø‹À,Áù­‘ÄÆ~¾M­ëB’œÿ‰þ±¡Í½åoú#hx¾´]H“T•Ù3 ÛØÅØRø^£ à'o¿ó÷îøOxþÉ#-Þ‡ï?‰'üµ€Þ¿-ôÿÜüÿÙOöÎOéøÖÏ LðœÖ“ÂN†¡œ=wvÀ'÷HB H®å-$TYsºíXñU_ΙI øÓI!�ùoÓ¼AĆhh ðDñ@{0( ‹74×keŽÄu$È«/Ü2ÓM+búj+Ô )H¥å -LpR€J€ÉàZÚøÀ€0&%3:”§È•ƒt]l%ƒ½KñòÌ=Ä{:û––¥uø Šóºy‘|Yjˆ(½ºL4¥÷NÒ‰´QåÞÐ)%NÏÿåÅÅÙ¬PØÞ÷Ý2EãFtÏé7ÒiBôSNåùH‰ë‘-+ªÑ-ñ£‡¸¸xíj}êí!:í*q=Q~ðMÄŒ¿�0õ? -€ìÿ4€G¸JÛ—OŸ>}Ž×M˜Ð‰Ôù—Mnï룕ØÏÆŸã''^œx1ð>ž<ãÇŽ)äÅñãh4(8I«áhп!ü׿ìÏ÷Z<-ïh°üj3 Qí�l[(‚a¹Ù›ž‘€«Ý�×êëÓõ¬663&Ö* …ËÌ­‹‡å=¢©«³ã¡¼T·ƒYü:éìO3ýtvv¹›]’®BRd"� aÙÔÀ¥…©ò¾r•÷ïb¹_,þù´Š!ýbº^�™æÕº¹\¤ -¨ëz…rB iWût¥8'ð;4«)ªnáz¹·2Zèô¤A* åH³±£�Š«"?¬¢w”©T -{öŠ1Án­^ï½B-(±™JöºA‚ö£cüðMP�Äy EÀrF\OÑPÀgd”¦€‘ÊhÓ€ÿí hÕZZØ´õ°]Ä ÄFÀ¹²øMÿMàß ÿFËß%¶H-ÐÚ© ¬Sö ñìß|à“@ -ÀßâÀ@'€[ÿt+øï‘€ïðá‡7=âôp'À÷’à§âÿO=à‡ôp@Ìè>zRè™ÁÃéÔ$ïÿ�ÿ7j‰jdÛòú•ûŠ¢¼)î -ÎSuY½•#õ™Ü®®V¼¬>wåÏëµúÿ~�fòÊ‘ÊXi§¸jãŸwð<Äý�ìÐþ.fûE)ˆY-Óò3+O=+ÛŠUâ3S—zËç§Ü?}êz]™uޝ¿9#óÿurÌź¼ cY¥š½JAh§ŸysŽ‚ͲKÕ2:Ä«õë×_óoææ¤ÃLgåžBa·ß-ðð០¿Åüi-ITÔ=�ìééé)VKÕlŽ[-:ǹ7¦ß¨Öçêª�‹s¯fÕìb´ HŽT8/ý(…€RÚ8¨£Ñ`€ÊÀ‡^ö2Ú[=/dY+÷[v{{›Ži­ýR€=XëÏ‘«ùŸx=û7…¿é¿¹å�Ònƒ°ýÙÕq´•ü=x²P($è·Ê¿4<i.À[ž - ¥Ýè -ýÿ%hQøíäøYhi€€ïàhа´¯gßiúnX¿Nô+§½ üOîFK‚Ë‚ -€#i/?Ö]à<$” j²ùõè—À›ï„.â¹Y�yDÇ86o‚IF0ÆìtcqÂY›ª� -±È"­¹Ò^x³ßˆ’á¢`®²�´†„ÔwWWôq4�7má3`tYÖVïÓZ¹A[ôr4e­X 1P¥¹À(=. -ÅÖ�ʯ@ë-œ‹2‘ ®¤Œª-Ï›°,€ÑùªEÏ”äÀ$¹0+>X[¾AÛÉÕóG EQsmÕ�.[…L\ -}|1 -ßXœ¯W™ øÚ¢ô4î•z`MyTJTdKU‘ÎÚÝ;¼@)ñXöUùJðÎ�»Üºé®|#�tï”Á~‰wýUáÞ]S]SÒô§²4Ïœ�—2n%*Jeö 8¿{H~+‘mï‰Æ…FLXÀðÚ+çþÔž;G´³R^»§�þs6““Ç'ò>B¼m}í4=6÷¦o`ã?ÈŸ$'S �ÄK‘„ÿx�þUÓ?%€ÍÚ(ŸXoKʇ?_d¬º¾ûöí‹�Þ}=¼)¨{_ïáÞÞmz*°{_wwÏžO="Þo[ÙÓÝÓÛ³oŸ>J¥¸¯·»»ØÛ£ ¥/ú—‹Eet°Ü],÷zýeÎ9GòäúÅìQî„ÔÎA]Úû¹}=ŸW¤Ã¢eïÁâÀÁÞ}½ŸßÙ“^5´Ñ}üÖž={”j¯ªaX÷ªdËûÊåÞÏÓ%À…é¡FjDÒ{økÅ´˜ÊHnOÓië?<>E³z‹' HžìãÿË‘OéÒ5FGÇb^ h¨Ú€,wÿÿáwU¶ï×Ãú+Ú=àŸddhÄØ,y%I†¿$šN6UR@êà&¿ àÖ?ýñàøèƒþ$‰ÿôü…5áÿ§ïüþÿ8ï À.?íô¤ˆ'†Œ”SÌpöô$þ€u’Hß" öÓûÿS;Ó/Þ"zÜ(†v‚,[Ɇ)ïu]ZòÜþæ�rah;oUv£à‰h¯5Óbþ+æè6.@�8�Q©‹[Ð�ƒÊ NŽ .&ÊhÄfþÆBtmMoë'*˜ -¨=âÆ";vQO`Õ¨%N­�Šöu…•Ækóó—°¬Ëñþ ©QO\p/ñ_ýýÄã1 ß€sx^É�¯Î��|Y»[xlôóoåM¾�˜8Î+€u>àÎZßG°><…�°�4<ÑòßÔZ%áÿĉñë<›«‰jdÛrt[R®TeQg33•J™OUÈ)”+åòp%;Z– OÕÏgÙå}3Yé«=øÓ£€×ñIâ�~¸ÖeWÇK{üî^ÍóPǧ{J•z¹\qoý‘¬Èü™Ï–KYe&KîæJõ1iâÝ3BÞH±P( ÅRy pP6=G•’ü–?¥Õ� —¡T.–^fVûJê:W艂àø-^Hy~k¾ - -ÇÛãÕ��¸‰ P(=[©LÕç¦ÄPÝxvéjOµ:ìyò³™zEu£ïù£•aj„·ü]27‘ä�Ä”A•ºÛFÜ‘ @¼ål‹'@æûsÏ©²S€PÚRtM-ù¾Ju䕈nŽ ìäþFŒÿvø‹þ[ß-à���ý61úCô[å‹_ùÊŸ|û;ßit´À.€[Í¡€ïÓØÿQ€ÿÃ�?ÂûÿÁ^½›™i ¿ àG�&Z>ûò¤aß#&&þçoÑpòôËëŸ$˜_'y/@©ü�ÞKZ¶è¹0Ë„>"*�vø’؈û+Ë¢¤� Ë@ŠÁ¬vKžÐðyêu�ø˜bíò -_[óŒt¤fP€·¾1:äjÚõ9ŽH�œÐ¾ -ȳ‡ ‚H¡Ï‚�èlVè–·&èÂ_4  ôLmÛ¾NÔ¤2£”Ð"?—óÆšýEâ`²ç2ŠЕ^4�H!’1¾H¦¤C? -�[¦K€Îq{ŠW­))©'î ê/\® -GgiGIõßg“2̉ld¯-Íž?zùêÕåé71)Ô²A\VRTUÜgu’wÁtœ¹?âße çGe±¯ÅJ Ü»€“¾P§¢î‰�ß�ú^Y˜—05E'ÀH”ìµ£¥Ù\<À½ Íû“ã¿—{ŒýðD?€Üð -Ãî!9ñqüþ´e&`šý/º[ °ä>íO}ì{ò%DiE£©û+ÙÜð)ý«†À�xþ‡H6µ�åp¡�]€1^Áƒt`‹Ý zØÍŽtgY©ØWàEû]�¦üî½¼ž�·ùuîÞ]èìêÚ[Øåæö�èÔ™½}îU^ÂÁ†€·Ú÷u>Ý)üwvöDo>© -Õ…�•âÓ=…â`jõ󪀡o%’0οOçˆ -ÒÑÙ±k÷®Ž]LY¸k½vïÖ«Ý»vtéFJ}ý¼wt„W‰ºª‡‹c=®&>¢ûõ£Fª�aŒ�"ñîDI 5âYì@Hî 0”ŸÓŽt€Vî¹èÃ4:¦¢øvÜ uТŒ‚å#Q„JÐ>ÿæð¯Ö‰1“¸X­ðÏP¤uñúf =([é/IÐo÷ˆN€�QîÀTh àƒ÷?úè£��þ|Dó?;(øóŸýýO=àÿämÀ?ü¡4€£$ÀàûñaÀ˼ pƒõm‚‰¯Í½< Á¼¿ŸÑÅkÐ\QàOóôؾÁK€ ¾Nâæ†�"Àµk ˰ˆOâ¤$V¨õ%Ç9ÃCœ–ŠáQxð½!²RD4vLh* pÊ�ø i4\¸Ûw Ò¹ìŠ‹É�P¥tóò©T¶WÉ„*xl)  ¤„èé:‚\Ú]»#¦£ܹ±ºpõê<~ ‰6¼è‡f|'ê:r”Å�A´H(ŠšËŠ¼Nœ«³bÅ 8 )1‹³"í̬Ô4©1!“…JRq¹D±õ#y�>“¯�¹O#GJŽhwòGMp(%«1(@1ÇiE˜$ù=PiX£Ö,­,,^»tiêüüJäd? ?'Qï%&ü=%igμæq€ûŸ´ lþW°ø“ yPf׋YÏ›|;1ñ¢þ�˜¤Ïpøcƒ½¯Å}`|h>µÎ�ô€‰“§N�җλ[{žhkØÿ€O.-”ßb1Žàx®ØŒÎ'ÐK³èVd¾—½Û­_-ú D×nÙÔ»ÜÅ®ƒ—þj+¥ ÔoíÓkƒ.ºßKº -¥þÁÊÓ°\Qtb/3ò#„®�(áDÈ%ÚñÅp墬>­ƒÎΊ«#¥íWZPJÜ qo—ÎòÖ¿Î]ðž i„³K?@I×Î.ÝÓ-U÷ãë¾Î>´••m;\‡ÃîÎH#`©ìëé�ÿcÀ:àïªÔ¶Îí@Z=Ì ­è\yÝôoL�¿”×YJR'%<šÚÿ¥ƒä¬oà?¡£à½áÏ&¼þì0A¢J³$Ûõ¯IšËž=Áü6ié*€=Œx/Í þC|ã_ìÿµØÿ¡Oݶàçï`ÿÛ`@®ˆÿÍ&}Ãz`ü?3ÄQ»€ùu¢JÚûTwCx§Ï¡ñ“g€¾=¼ ¸ÕpîÂ…üm÷ƒ¿ý+ à¸$§4x€Œÿð`ïƉÄÿD}-¹è— ¼N¶Ì `\v$ü¯ëÀTÀ›k‰jdÛb+ñ¾KvĽÉàŸ}Ü€ûì”™ŸN -€ö¼¨O¶s—ðž^È ŒûŸîdžGÚ#�㽿ªW›®®Á!¡9Æâ%ð íà]G; -F}’îÉ×ñðŽŽ©Ka‹^°k*‡ìx²/(C¤Ðç÷üHÁèìé,õI# qAÐbg·òëê(0šQ"¦ûGÄÙ}2ýMpרGˆüORî‘p°‡^vµ¬>77wý͹™Ld¶P=âHp»Í 4ã ��y® £­†ê�^€�iQùº@¸�€~0?á?BŽøt«¸À>m£ÍŸcVµó*U¦GUƒÕkµÄ}ËK‚~«´)¸~ò¶{2Àûh þËìÇæ×æc)ïKð)÷ÿßù{}S Àðý}ÿ{ß €„ÞÉ<�üè`G“—Om:Ц�}vn¥ÄP¿­D Y’9GCö²,Tñ]x^šn_°Wæ¾(/óì_ΠåùÙÙ b‘Úéù/Øl “>Yœf¸P£C’ -°ˆ@=_E*ÓÃû:cý‹�ónEü\ê¯-.xМ�Z._½6??m‘Fœî\)%…|HÎXòÖ°óÊeaùä/îIÀuɸ‚PÔJŠ+E*ÍÂÕKóøûñЬ©ÖVÞ]]^¤‰^PyPEò6 ÝÍ&€Í%Qí�l[*åí,3°2S�ˆœqÃ%�ò­ÆŸlÞ©h˜Öþ`a/fÿ^àÞ'Ðb‰÷:GG‡y�?‡]{\íäFz?o x¬Pé“uÞµÍ!½ëÙ»÷‘ÄiÙí»vÁ÷Ý,�}´…=¸>­2æ)ET¥ÚÇ›‚õß�Ðÿû+…BmhKVq”½J¢Mzˆµü�ôÑé�®o@5Ý©$«öÔG0âA®äÙ†J4DmIè!Á°¯gßÁLÐÏÀ~5K§¸Ž$ޱÐâ °+Ÿ´ñ(בiG�&ô7¥EePeUõÍ.’?”€þmú· ¹ì›Û ¿–¡R_é«Å¢>Ê÷¿¤ øïùÜÎ{(ßÎ'J€pÐÐàçs%€�*$â° @üÿéÿiþ¿¥dò‰€< -þëÉqê[ÿ‹Ÿh§¢U`ƒ0Ú¯uy”Šû¸ ÀÏ–ÍŶږŒ´«ôOmýCs�Täò##à†Îšö,K‹’ÍfH¼…ˆ�@@û½˜ ø±»á(ˆ0�1o¥À3C�i ÃÑH€H \‚æAwÅ…ù…«—/_c>ç§œg™'ÿ*¯Ë—–"¡4À7@Mwx/@dâò‰‹*¨\b/©¾';´�L`ôPÚRˆÄ>^‰lgˆÕŽÕË+óóL×)ªÃ»ÖÖ½·²´píRµX˜šYÀ{±N¨‡¨ gèúq©Ö–g«G3<KÊ@wNú¾9}¸'z*ªÆ|�ý¾G[÷úй8f~à»öÞ@t�C±!ÖÝð (/ï‘$¥Wúƒçqrµ Jô×"à*/)š]ZÕiλ4J} I¶þf‹Å›ÓL`ÀþCtDÀ ö_ 3`x<À–€@~(Z74€ãÇ�Èúqý·ôÞá¿%ìÿ† )úßõÐ?møF‘osÐ <|„ú€ÿ1<º� ÓÍ\.²œÿ²�µ†ôv‚»GZ5+Öc’X…– -]³¸Êû�®ˆQ*õˆ:C¼_ýb÷¿[÷ÅèÁ¡ƒ…`Ý'ƒ�%[é:94´SÞXÏÅ»]øíR(ì¤eAh')<×¥AíiÕ'Žõ—F ýµÑÑA&%’¸ù†ë÷ºÝ'xò�ÆÜn=Ë®\ì1ls1óã,«h ±xhƒV½Zöíû¼�`‹�$ž°ì=f®dÏU²‘çFFŸ;úØ÷€`‚ƆD…›ÿØÿ9íý )·Š³MÐonÃñ¯Ÿ×ð/~UëÒWwîܹggÇÎ��<²³#a?—�ŸÓ*˜ß&¹àû¹ À -ÀÍ›?¥ €É·õ¿ÿþG¬À?!I¸õÞ{àÿïßù™çJöÿü. )1ϱø¡_ñKusjüJ  ‘ÜR¬TP$ÌW«”º0¤eþ ëbï�ì{ÙܵçS<ëÁ÷�>fàw½¡J¡TÃÞ´ eh´P¨@ð¡ì±‚;ð5üöÑq€v}JÍ0»½*:’Š¡HQ¶#%-–®<¯b •ú[Ë�ì•Æ¢$vïÝ©ÈîI�ý?’ñšƒ×éx¥¾�7îI’ JP×G(¹(#æ.KBi¯¾ÞX�èªçžãuƒ-ž€pŒzaGù*�xî¹££M7€ã5%¹°ÿ›øoõóââ%è›÷#ªïó-ˆþ2ü¿:@é1UGGÇžŽŽŽ�Úìéüܘ/‘éÏž6¸ã×IÃ`àosÀOí¸õÞÿýÐoÈ·axBèø³›?¿ùópÿÿøÇeûÿ~à·¾£ð¦§’ÄügoÞ ž=¤í}lÿoÅÿíL„7}yi‰iæ�¬™= æõtâä‚(&âè‚4ÜX�y�ë2oa–n/(ð@t…‚D}b`¦ê<“-žìä@±èg³•´™»¼,…1tÒÎO=:ÏÛxY),/]®”‡�­ž¿*þ../˰FeÐIëÊ‚ôˆNªàœcïjMÃ{œ\Å+` ˆ^ŽvoPpŵ>¢…ami�YùT0 ~J¨«Kó×–WH_NÖÀ…˜Q««ªâ…ËGŠS8ó74¸ê›™]ž;kK—ÏW˜ pÁc0T$ö]†›žÒ©Rïz¢_~1�f‡[&”N€Ö£#ª…�W�u"´+Ô¾Ï1z@+ãñ­Q6Ý󵫗.½tuÉŠ›rN o%‰ó—69sÁsÓà›“îúÏÊÞÿ RZ<çÎ¥‘ÍDÿ^mü?î!ÇO0àø!èà‘ã¼ Ù@¸O'Ü ÞÛÐ*b~îà*@R �Äÿ–>ÉБßïx|çÎ'Õȶ¥<\þú}¾Ãá±FØ–Í»0€°Ý¥1èp@Ñ`é§�`¾¯ÂK…ëµÑ,K#ÓÌ�Þù’Á!é¥:¸N!¥¡ÚÈÐà È*=»U¤Zô­'øÓ=OJ{d÷—ú” ‰!*ÔÈè�Ð7ú‚Xš®éH‘T†-„¤¤P(öîýc(cåÆêWjÓâmúJ­Ç‘$î`-É[Bè/—êÈ-#•£Ñ90iÒÜÐâ 8b~ðßž<x*Z�TŽ>÷\êÀ©VQê9ÿ“ÁðG ÉqyüÙÒæ¯ŸÝHG_ýj¢,¥>4$U C5¨÷ÿõÿm˜þŸÛÊ`àÏì»™@ü·�¦ -ÒóaÉýèÿ÷-¿ -èiáxë‡oýÕ÷¤…>€(Öâ1a±YÂÎËz�lîXÇÿG1&Bvn9 - 0ÛR0Ey/Í2mè‹BšðzäC¨ ãò2/ Öóß8†kk²ç–Á(ƬX¨§¿‚ ‚Â<�@» H@prhü‚×FŒ¢ éQ<^À³@çiyž½öÿeïŸãºÎ;_T)§lëú éM°jNTÙ¢ ˆU⥅À´›‡ínšB� Ú šØ{\yKŠ1tÕÕ Ê”Ìé*¿‘dœÉ¹/œr² 3´…Þcœè -© °&¶Çù:5•¸j*dÍÔü ÷ûù>k7 Àgò’OwïÞ?Ö^kíM¢?ßçY?v„Á#&×�›�[˜[:ÒEÐó`2¡�ºêÍÛµèZeˆ‰¨† ¤šž®"ÓûKD0‚é°‰,ú ÆkTB«~¨‚uÄ“¹¸”9×¢ä˜nÒ¦îòÚÊl³Rm/ ØÕÿÚaªš/Rß«sí6Þ_^£�Æ¥R‚§öå>FÇ>7P¼¾•ÀëªÏ榟flÚ“/é,w\Sè¯CÈ 79è2i¸Iÿ^ìàb�p¤A7�¦"]ËÊâœÔØ,Md£%%îiwá²m:à&3ùa'ëê�èÿ®?ÄǾñõ·oD'À·¥B\' 3ý½d¬/P޼fôú§}âÞÀÿÛòÿû"îÊÜço÷Ƭõ €Þ(€�Ñl×ßàç>ó,O~ø•­™5_ÙçÓln�ÈL§ñ>o·þJDšÕJ"÷úé�Ã!XäYe†Æíó=ä÷)Æ[Õly[ï "–6µÈŽVíÇÙ�p} LÓýút@Ýs¿5å£(¾ÏÔ³÷_“¡m€‹gê /¬ÓL¡ìõ:6P9|ž‹D1Ð³Ž‡ùµ¦òV§u;L¹e-Ý݇ jiÊÐ M@@QMˆ„$dܰ^$ µX„°ðè€!ˆ G€wo3 DHþ0ó{Fîýð÷·L«ºù°ÿKüëEìßm'Ø9ý{Ђ"It;¯ãóc|�ÿGõp@ô�ðó‰ °ÿÊP-ìJûïnø…Üÿ¿ÿ/â¿@ôø£�"þ•Ø2‡ôc¿;,±¾g’Ó�ŠûüÏFä3ØyÏ+À'ßÝÌõ�k˜tpÏĺü‹„:giY¯½t¦R:H¡� Nwt–I,ÄÀ±ËAt ¥$ óßÄ»TN0~ÉÊ…8£{ë›ë+‹ÓÅâŠ;þ‹¡t]I$ýP0R=Ö–Ù¯ËQýÖ–Vb�™Œ\êàÜÀ˜êž8¥Ri_`/‡hìWR³“-4€ÞhšèH.(Ý¢•…9.^›L \å®.-.#ú1H tHR�Š1s‚@­>Éx�’û½í3UÀrJuÓõONÏ..ëbþçÑ!�­Ãú_>.:ivòX`¶…t÷ä»ÿ€©~d�ÝÉô¥ÝøØí !€vøÐ“%rÿ”w„ÿwW|ëk’b Åd¡KQz�é@€nÎv°‰€¾~óÛ7¯ó0€ã/ž~ãFôû—ëïH@Š¼í®‚I¤¿’‡,¡ßÔ/é¯÷•7<Þ¤®^Ñÿª‰Ÿhþ÷)BÉô‡Úˆ’vép™yü4 €�íÿrþýõìcð+›~ìG÷ùTy6OÏx|¾;­áËå)së#ß¶& -9�Xs¶ò}óÃÁP•™KD¶Í)#nÆ - ¨Ôs‘_ÄAˆüòÔµÔg°’U·ùû¨ - ÊBÚÍ<Ÿ%Ž-3Ø�;�{|A®®>Ê3›×5DšRx•~´#«:Ç¥p�O$jÍðØÿxÚaÏß×)oH�´¥ýÏFwÄ#ôQÄž® бRI -`p�IE~4ÀE­Ds@D¸Ó à‚Œ �$al€t‘÷öY]7¯(Jöþøþüܯ‹þpŸfÿ3¢?7þÇKÿ6ž@)³NãÈ‘£Ÿu;ÀÑ î&>Ÿ"Øð\€¥�“ÿ_eÿ€àå @àÿ¿ë°ç–ÿOüÿñ�~H&ƒ$íñû -À;vÄêc™âþ)€H°ßÍ’“¿—™ª+8Îñ3 Ð7ˆØ“†r«×q£õû¯Døð›««‹Ë+à\ ÍÌð(4qÛ^ƒa•—ÎL]çå3â„j§@6(Ænº¹Æ>=²±º0ÝÈæVÈ‘òÂR®Ö$‰ÐG×W–žwÕí½›ŠÂСóÎõ2»ôä XœAít}JÃ…€¤(ß\_Z\XŠIFç>•µ¹¶L'=—êýTŒ¯¸”É*“.ÏN×&Wµwm}ûë¾ìÁÖ‡jÇúè̶gé¨ p¶v¸¹!âû]úáûBe&ÿ&>¾ü}]YDZ8îx¿*çA~œGÒampô­Š; û|º6ø·ç.¢dôf}ue‘ö˜éÅUNT¶2îÓž–¿·½åÀi:þ–€(ÿíï|Çí û3f½Õ ÈÒ_Ê ì÷VÃ<ÁŸDx¶Êóx§@Úˆ&€”ß§€}éþ§ ä�·,ñÿ�×OF€¹;%Ïð�eµZM”¯ùµû7À¨`´Bž¨¤åyÀEcž ¯6 ƒÆ{� þ$÷Á䚢6óša$œ— ™ä SÆJQ­·Ì'!Ñk­×.M´.éœúPNà‘ðèœñT©Ÿ�]W/2:ª¬„wrR!öÌ•ÅøI W°‘ý@ÉÆUw½=qÕ!ã�§Ÿ¦À™Ãu‚ 8!Ÿ™¹=C UdƒnѽÐ5»ÒpšïŒ)y&âb¢¦ØáÃÌ7“"ödžoˆv†fMÔŠ{.D€ �ëßn~0SQ>¡I–¸¿eI4$ã6?Ò2]Ú8æ5ݘ¨>m\-ŸT¬íÓ %“Ò8*ÕrT/Þ±– ßoß’ø^/�¦úEO$“(#iŠÀøÚ-þÿüïö7ÂÿÏ~c‰HH|MàÐK‡ž;ä_‰-‹ß§ø�ñ«ññOò2VÜ {†ä÷°5ùskÌ뺲ª5Zµé¬N—{¦ „m®é¸‡„ ‚è·¼º.Œ° �Ui*˼dD‚èÃQ�èâl‹ØNŒø¯dƒ_¥²nÛõ±¹•ÁaË�H$Üs:�l2н�Å…9˜wy&Ødô£@z€*“彘ûˆjÀ|¥å¼Ð®„j¬¥RÐÈ k]_^\p@¬J|¨{D'Dåç„Ê qDI* lm}eeuy.«Ö&—Äûu®¡ß(©ßT 1[+úç™mÏIo©Lî´Šäné¢(Lß¾¿Ô¤ë(8¦æ¦2²Æ] ½Î‡á‚t@p’¾UЧæ¨�yÒQ{ÕìûŠ0b?´´¬Ñ,³07=»´®$¨®›¬mÞOˆßÛRàÅ“Ç_<}íÆ·åû» €$@êpëÆ�·o|ý-ö[úk KnÿU>þëŠÚ¾úÆëŽôÃùàÿeíОˆù'‡Ÿ56´©w„ýya|'æ'É^ -÷ox*Yâ¿#Rëú[ þ?ÿHV}Ê¿ çÅû]¿k£µ‚Q‰ý2Ñ"Ü|ño+8p!¿Ð)ªù �ô#ÙD½B_ú§ÿ³†¿¬Èª­9cœ#d–ÔBb²6[3Õ¦|sŒ\&ZÅWZS­ ½²úP¡ð¥/®çÍ|MkSæ|½BÐÿ|V4y´ Yà3ËÆ³VqÉmëä<Ñmd·gþe‹»*¢¼�¢nHº>}æHî6Òè{fæOÅÿ¢ÕšieCºÈ­;‚ºðFýBgcã±cOãÙIôž‚ð‡,>+„†v#¿ Þ_2õe¬PèCFU·¸Ïž´º«qÛÇj@Í/è1˜þZÄZ_]�O1�qž7zäO:`ðh‚~¿IÐ ÷ß½ÿð/D€ÀÏÑÿ_þò~ùR¦?cþëÿÿÍ€_þ\ -àïÿÆà§?ýé_1Àš,ž“H¿Éâ7J -`ûîd Þî¿–±¢”üOG„z9–«t úô1[]üžó»o2­rœ‡3vj¹¾º¼´Bë¹\žŠwŒVƒ>Ø©3ØÉ–€ÍÍomqÈ8UðSÉ 0"ož}ÌÚCÇ9‘f¶Ýžž“HÑk�H…=j*ŽnÒuAéÚ²ôˆ²_[Y≅&5n°r„†úv”¾S<£#èЦŠQQ!ýnB'îëw=¹]ª2…ú+‹ ËÌÊ�vp¿|¸¸¼°ÂÌägç›�÷;²Æ`£ÑàùÜ‘¢«ûp›‡~:aáê„xZ/f2úèñú?5ð)åþ9½Ì½ipýkw˜Jú嫵m`Ÿe- €à¾­Üà{7ãŸà‚®Þ]l !€ÿæ¢Z …ƒÞ©Cÿí– ßoID€ÿô‡TvøÙßüÍùÙ/ú5€ƒÄÿ=:ð—¬iŸüÝ/bÀ_ÿ”aþ(š~g[€ß#-õuÙ`÷À5\~H/ߟ6ýˆ8`%°'ÿÔ°¶NóõÊÊ -pÍpž >ð%ĉ´r÷ˆn³šqlƒžð+pvámsÐÌ‹€Sìƒì¡ìs2ý��öî=aܬR’9]ûøb¯»›-¹¿ÙääôìÜÂÒÒMé‚Ï#¢fËÒ/ËKÝÅٞ˻¹ê!�v”Ï Ÿà“Öu¾‹âR|-T’t*ÖØ%µ¡ŽÑõ§Óµ‹>xºZšVT€ªGûW}wmyáÁ…%æóÅ¦Õ -·i}emiin²ZŸ–tBmm7Ò3×>+æ:ðD€t„TYÜOÕID%™eN4çk…‘2{X¡K¿{]Ð^°ùÀ‘yí¾[ÿ™ Ð}ts$ ˆ/°—(-Ü5]%¢‹g4J—-ÎNÏ.®1¸C•ñ?b”÷HK„ßÇÞò0À�?uùÚ×a¿°ïðú½[ï¼ÿ™ `7–þrÒ_V®]½öz_ :ÆÜ€ཧOÿVO$ ‹@zÅ”�IÄ··“ -¸öÆW/[¤-úƒêwW‰j�íÀcÊö³ÑÑ/ð|>Yõå¾gÓ�<1èÇÞÅfµZ|y´V­5££/W‡Žþ' 8zD~¢ŸÝGúaÙÖ#ü0}•['†F_©Sž>Õ¶ªú jýÓ‡�|VéuÚ Ÿlüìà #ìx‚  �Œ<÷2�ªFUõ«ªFZ©’å°òSVCµ‘ÊHY‘#É•=:H�¶ÿåГ²#‡ÈG%ûÂbQ­Õ”Ïè ÒG/¨x?�c=9QE>ÙÌ™'3ôÄ…1ï0ü‡ý<ÉàØÀ°#»úþýì÷D„é8aj€—õï´q4±¦ùµš_˜ " \R ¾T6’µš ÿcm³ý~+;–Æ2àß1³ßßýÍßÿ"Я×?üRÜwà¿ií¿k]%Ü€-öGÎ)��xéÐvÖ_½vÙ?Qå^ÿvôLäÀ"‚ñ{b °—ðd{šH¹&˜//,ʳ¦éœ^mb‘~Ò�G赩_û%Ƙ~D˜Å7·ƒãµ*…£ÙJ'DÈ串Ÿl ©ƒ~ƒ]�iàk¿CðÙ >Ücߎ«qBy€”‡,.¶³á�ÊX>;˼Kët^dì¢j¾ _ta¶Ýl/®ê„˜'ØUE%I�fPÞªª¶©*QyºÂ*…ÂÅsdUÑa×’J«ªð�ª8Så³�¹Rd—V×W$“è& ’”;÷!âHk«4œO3 - ã9ývÅn3À €ï­,òؽUºR…¨÷‰;Å'½õ­ûد{úÀ;uI¬¥„¬pÌ -x*!géÐõ/q_W¨+àÖéJ½H–--̵§—WIìÙt“¹è=,~³8M'ÀË×¾!p3= ìðõ½"aüý¶ßiQÚu"~úŸán{]òþdzB°Hólc¹%ØCýpÿKþ ý‰ÿ¸œ"Œ ÀüO�ÿøæ¥µDµÇv`³7¼�ME»1ÒÄÍŸÄëm2pCpÖ“§_Ìó¤ül,+:yçe›×�ïæsùö½®uõó´Ž×kCõ©N·33ߙɳWò)|s¢òØ•F«yÑhfrM;Eë}¹ïAœ‹y;Ë;yѼØÌ³áázÌ9Ðh¼ÒhhY«k³V¥á'ñ_̲z£�gݪòê8Ñ”gÞívßã>ªU'+Tù�Ûóª…œwJͯàÿ׳¼^ý\…цÕÊ“C•sãy1S|@A¦ ïí¢SÌæív19Ò(Ú¹Ÿ²ÏÑí`´$"dy7ݸÂó -bŸ@>œú -ÿ(€!ýˆÿùþÓø÷Ñø×UæxöÚ%"ç­dÛà_~ï0k¦¤Eƒy‡¾ô€ÛˆWŸ1QÁØØXâ~Ïôû­7€©ýŸB8 ûyÿh�ÿã¿3?À/ù?þ�1«ã< P -à§Rôÿÿ“²úÞwéMþ•¯çÿõËþÒÆÕxœY¿…Ûð×oȶ>z'Øïf"ä~FLymuQHc2`$À*hÃc@ä=Ã#0p/=3P»×W—9cCÀÿÝüÆ]8¨ð ¾ƒB­B~@¯%ÞöÝa¦¶Sæ´6 î�ØÔä›X³<úåÕÅéêá'ª�œ9ñ—–™`memyIÖ™[\˜››mg“sŒVä‚�5t˜s¥\08Cn¸,{«xþ.µAsºÕõ€*û>û>D4@N.ÁOÒ‘�U¼}dù ùºW«D´ÑSsíVäŽ`¢Ê{c}“©Œ¦'k)•Õ5ɪífØö•$\ñáÚât>½¸²¶â&ò£ª:îDŽ×›í€>A_+²èòƒIØÖ‘HàvÙ: *õ}�Ü¡½IIxßgpÇüÑõëúÖUßÕå…Yýk¬z|A€”å–¿�IРŒØñ·ÿ«ï(‰$À> =ýG –|]—¸`À¾Gñß�"úñúã(ü¿¼[ÄOŸ> ePÎI¸@êXúÿ+‡>ñÌãQ¿ºA†ý­è4jAJ™ g³‹±)FÎwZB¤z7R¼×š*ŠVGäÌΊuOÓ½îlýüùü|6UÔÚßgny&§§VFçi ¸˜U6s›6ní-ò©ù™©y§�²¡jVÿR:ËÒô»:8ÓÑy†¡Ò-Њ º¹W%ujÑrc>CùŠjwžŠŒkw½þÊ9y¸¯Ð¿€�•xæà“•¬U¸%‚klߟ)ºSùʼnlRçLuò‘#8(þ»ºMI¬u{&™ilÀÓ~ÊÍþ28 ·; =½[äûÑæoÓ}¤Ø¦ÁtnE’Ö v¤1`ÂÝ;Ç'¢g€ý -Àú Ë&sIY"2�ÉÛn/ðÓÿåÿ'ð_~öw´ðoWZü·_òÂtðøÿŽüìÇ?úé�~ôC²‘}7 €m} ý—_¿zåʵ«×¿víÈç§cËû'ðÏâ�©ßØk€ ËÞ&^V_Ñ´*¼¸ @?ö@ ŠI¬¬,�>yãP�÷æ:OÄ[ÕOáIÐ8˜©d _‘<À Ñ rA‘ŽÂ¤CÀñVÛåLå:ä GyUÅ/ÌNVΦ—–é°¨ŠË¡–ÐK4^XYÛsK«Ìj¼¶.¡².àR]‹òW¦úR©„Äk�Å8vQ íd¡ZêhTÍo«’Òû]S¥èñß�[¦¹aM;}Ïtg˜ �¤SCt�·€M¨_KúUêB:ÓÍJmrvE·y§‘[†ë¯/Ý‘MÉŸ¶tóná¶r«¹„Ð÷E_±Û{|ºÖÌv¶”DÇ=Mºá~<&@ Õ“5ø‡¡Eà¾#7ô‰dH[ Úˆ&þY¸(É‘Eý«Lëÿ€ç rÞÜ«½,¿ŸEÀÉ�Ÿ¼üæ[ ø6mÿ°ß}Þ¹¹ ào�¾â¥·#¥8-¯ßÜ¿"ç_»À8¦>!€xE tÿƒþ;"_ÝŠ|Œ‰ý÷š€gÿÿŸxV‰j�íÀ`�ÑF‡Ùj²WävÛÏeÉ ºíÑÝ®ÅjÖi–R ÏÏŸxŠGñœñh8¢Y5K”šh±‡³WX‘»iU!p[œš™“ ZkþûVp.:Ü�ç#Õ4À§�ÏÄ{»®¬›ƒSãrVU– ¯ozº›mFäD6,Y�ú´¥ó1x>AûÉʹl"ŸŸQŠ™|jæýùÛî¯@RùHÖa«!åà;¢{Âs’ ­Ä âüè ¾mZׇç ëðþ¿�ßGÿ=Âþ–,Mñ_hVbó]ùõI€ƒˆ€Ð�¹ Úó "ݸ›6]8¼J%Y¢¿,yýýö›Œ@D@à/i ðóŸÿìî 2à¿þò¿ºï_2áÿï~ñw?‹a?ý™›< MÿÆMŽÐ™ÖÿˆèWè_]‰-6i”ܲpôíðK -¸ à€}ñ{íèrhV¤ì4Ëé¶Ÿ?÷ú­öKË´y‡ÿ¯]ÂÞš ¼„Ã-˜ b$Ä ’Š&:wÏZ+ËP7èA0}ÕIn˜ø í<"ïöGžþÒÒl{¬røh=_Xý—âtý£S-.,ÎÎÎ-ë�R‹“ÂrältYP#WF¦"6ôq•]žè)ù¶ÀÁ%¤=ú $ðHòéFðJf°F 2‚ •k•BFÂÊý'‡+Í&ÓOÿ=‹®ò=»G€6«Ôbgí®Uš³V¥™ë7h�ÞÚÐŒveá}º³››÷7 j�ë= ?ÎÑN -“È¡· �ú -ðö1ñÍ]Ò�á²iXeÀt{q Y§DIìc‰ðûXðÓ€=ÖïáÀ×Àõ×kK\ïE wÇÿ™ÿ÷Šþ΂øÚç€dDúÉŸ¶`~à?Þl{µä¿NM õ0ýËvèY½ôþ„¾ÕÛ�ÍCÁöµ¼hT;©Ÿž\îºÐ/ÖÉõÔ¶y%‚plâ¢@(€‰ó•�d@H€¼R‡8%¸›ùy‚|¼;˺ÕfQˆ¹3ó1íÎÌŸÎÌé鱃‚ëH­ˆ±ûXµ^#}Î×Ï‹ÿÀ�zÉåŸ lä‹éÛ�ÉMáìb$WîQ“È -«Ô*ôÎHÀú•úùñ¼5¯ŠÐûo^±`€‰ÌØ;2VXé~ŒéŽè*šªÑjÍ|Åvâ©ZýÒ—È;6l}þ�=ÜîϽìcÿ£=ô–j|¾>2’yXFëÒkŒ­ð]”ðÓƒz¶¯°àî°*�gXw‡«mÊÈ\â'á?ì‘à¥/øîwÿ°7 àï'ÊþÎ3Jü‚'ýþ"úô˜ìÇ-þÿ!ЋüvO°ˆ‰Hù�bçµ+½W/üÏËàãi€Öÿ§#k8¦‹s ž‡ü&§Ì”iû^g” §��1Z¯–’SóâþüŒ>!.lyµæØçÖ+õjU_LAl�Ê=¤ÖÁ"à¼Æ»€¯»óó`ªã÷Y8ãiŸ¬œ;¯ÿd~^F�HPEx›]” Ð0ÕA& «~ºWªw2wPÐG‡+½gJ^ üÆCô÷}ô¤çßò=v‰tÍh:tÂq�ºzb ñÁ-ÛOøöätËÜ1pœh�€À~ŸåËÝncÔ¯ÒvøÒc"€ à@’~–?×ò¿(›þöoÿÖsýÜýÿm?f& fˆÀwÓTÀâÿsú­¹zõŠüŽðöõst•m”âÿëê5ÿlD·!:È"`ü<±~W‹Øòž¶"j­ -›B<~uüÀë%€�Iü>¢Õ+kx·üòßeÚÆ¦X&°ÁœùB¨Iºñ[µÔ&ÌÅÓ7DÁ¯À¨”ÐØhE|ÜpÁ…^æZÛXç 'ʼnڳºº¼Ð®W‡†Çæ\[Oø�qK¿ÀtuU€\]^^ì,È=ç¼ße¢0íÒ,>X@q#ã¨õYrÙvu©¯®HÙÄ%²º¹IË‚òÝX™ó0@®H{‘iîœ3á‚}TüóÀ…¤f'kµÉÅ©®¤¿zfÎnY„âaö½õ¥éf{v�¦ä*Tc»'|ãyÃ_wé·ßƒt¢þùÒ -&™êþ’ÉéáÀ$ K„ÖïZQD·î‹^t”ÐOûwο‡ÿÓ 6]{ÛŠ¸$v..Ê{ç«U�¡7Æ ¶*ö€»»"™¡¶¹!'xniEIH¨}›¢r0ð� ™RH,$Oà%š`:j¿2c/çÜSeô­´øÔìZgæùåŹÉFuøèPsA•$ÏR$[[cJšuaqM)ƒ———g—¢ÙÝyë›±{ Y4CohUFi€áw7À�Žá©²ÎQÙÚGõ]½ø¦D—X%òwmS»î®ó( ‘>’žp†¥w‹^þk+Ò' s³y{vÑO^Øa&dŸÁc¡W‚d}n²Ý^”`UÛ²@%¸F·ùì7®ÿýûè¦ÿAÜ/ŸóÇiB7è$go¯ß«Þ£•hv Êt2ÁÒ?ŠGu]_us3®è9"J¸I{Z~{‹yx�y€î'_ß:»yãm:¦"àá—hÿµôa¹¸Î¬?Ž„‰úW%6Np3@24@4lg¹U¶õ÷/Ë/Ùo\¾üUi€¯º�ü÷ŠèYDž}ø¿eéG}?+FkÑn f† ’@ÇG04?ú��­þ䬟]Å×óy¥–H#¹àÉ倨r’Ï޲¼SËgZSâ.sîÚ žÐ&)Ê*qˆQ0Ni€wÙU„Ç Y‰4‡<„ Wg™¨GeÇ‹Ó ±N^çÏ9'Ëh¨ðêŽ\Âñgî˜\´¸“Î/ÏOlE’ˆ(Ÿ¼%H:th°¦zº¾²4+R2'ì£ÿÞ?�ÇÂõo³:•>‘6óÔƒ.•8W9ïGæ_HôO–nãD@ÄIÜ@Î?xÝ{vGüïÊý!ž3öÓ'z–3D€ŸüuL!€žýâç¿ø[i¡ÿoÿ¶l€ÿØ�~äù—Ä”}ž;ä6È+„´¸â_ý ÿln·«üjÀûw+~Pþú0»Óº ži2 aÛÄ 3q÷RÿÄÁ=‘ocu™G×`ÑÎÒ@D„Š€@\]3OÁ*Î?yB`ÀH^œB€ž¤:Ù))X8�¬8P®.N7͹%4ŠñÕÕ͵ÍMÕ~emUë+<›`Y Z&<À=�ÞÜXsì�9@Ó´—ˆú­K­€/¶cPUŽc,¢Æ\ OEdeenA0¦C€R¬«¤»›< Ãž2Aù¹½D÷G«Ž¨( ­Å¹¹9�bx(Žû,9ìò¯ïm,í¹¹Å]˜ªŸ +FßËÝ @øväß\Gødzô›á÷…ý»<]_¿Ì!�Ä�9%ÇõŠ=Ê„Tð=¾øÇâ¶éî#––æŠö4�„v–*Våêø^„ßÏb*`G¾“ú¤ù±·z€G7ØA·yíúµß¶� ÇDÿ¯\>yüq\¾†€ù,b‰2ß½ `7sàÀˆ¿Õ°í�f¿»&ª=¶[úMßÏ:åS[¼ƒÞ± -E²ì\Þ‹ 4Ý_¬~–§êóœ½çÎÊaU‚jmJéq)Óܲ„øžAÑÌ�ZÚÎüKPÈÀö×DÓ¤=èoWT9uðœÀÕèÍêãÂ�òÀ“�PÄ *²eÆZN+¹Šϳ‘L,íÆ™P/NÄx´€€TË“T ¼�’…”M"áìƒT©¸#´ŠøŽ¨TÚ"’Áÿ*ÏÖ9r¨Zí)€­Ð?iúØ¿‹çϵØz®ZzGÜÿŸ{=qéµK¯…ÄIÝ­ÎÃmÝ—�€t ¤@Z€ÊBË­çA)ùûÝåï[„�0÷QV^ùÍ/|íwB8` þû‰ðŸ·á/ò ÷åü³Ð’$ü‡y@:|75ÿÿëgNCz �ç�\9}J¿+nðoÏvÃég_/‡ˆ*Ú8�`¿›%´ìa«~Ô®¨ ^è\Oˆ[ AŒnîæð£¾E0@¿ûÚ� -àáWIxJ_ttÇ9îüÔëD¥Ä»&GzÁéôXÑ>1J{«è¢38™eò u>!6i Xšk7k•�JSˆu„‚4 äçÀº¤ÌâÒz@žéRèÑ›Ê(Ë5 -W¡lá›òªÈ') •ç*8™úKÐÓ‘»ë«< °NÓÿŠùôôA嵦Úlúñ¸K4=H(WøO骞rPÉݲ…Å%1ê¢Ö¸l³h&ï�ïøÞƒÍ�ÅééYæ–è¡‘%nOÕÂü�®xÚŽ9Dë ÂÿÝûÿ?§({’Ø«¤N‘o:à|oI#à÷kíþ}‡DÅ-)ú·u«�´Öl{viÕ£*�’XÁÞ–¿·Ýãß ð[oHØÉ÷l@)Þÿþ?�Øýëü† Ø pU*üòÉO^¾æ¹ôç§z_‰ù >!€ô2ïwÚÖ³<ßøêå¯Zœ>ùÌLjxÀ�mã¿�Q€úJT{l¶ô£¾Ÿ�þÐϾ¨ÇÎ`8ôKF˜’/YÅzš^€¸ÿ4LW«-ÜIñFÉÆ[Œb7ŸQÞ©6»öþñ¢óמ"-êãNuŒâä®3)`¥Va¯óÓƒ\õmýñV“…ÍX‹Bd#ÙŒ¶2Iê¥êédÄÄ9ž-p¦R9;ðä€@NìÒ”Ôƒ{$»Xœèk�éŽÔÇД” -qC}Xõ³‡¤¨µt‹Oˆfû>úïâù—ôßæúÇ‹’ÿvÍCqô0nIc�Õõ¯ƒ3a²ú+E¤u(À?pߥæÅ»EQÀ^¥ð¸?Àoø{%†þî¿AØþòG?ùÉ_ÿä'i>Àm -àH±__›:�äGý“ýU‰ rùÞ¤Às‡>sè�à/üûH?AâÿIm`ÿût$ö!÷`MïÄú]-Ȳ—ñT7¹ÍKn�£4ãaú‘¢!í&ýÏ™ƒî.cïàp—äj“þº#¼!nÊâV³&aŒs´�u��e‘W›xßœ¥“p±Yq^:¦â¤Of§³ÚðÑáæÜꊟ_(�‚Lñª²×I¢ë -!øÕUZVUp”«‹a•¬T|rüÔØKIúÙ]­r§’B›ëîmÇ6‡¬Lˆvèö,.Ì-/1™�L·‚0ÁúJ<€ÑB!ú¯#`ÖÜÝ� ÅêÊâ2/ÕRÞÿCüh DƒïÞ¿»¾Ü¶XýýwØí2'À›nÊ—1Ü/Dh2ºÏlÀÂ>šÀO¦ÿ '+sø8§Þ­/ÎdA�ÁëÚÒ¿‹Ê¥Œ¶˜›mO/I’8„ľ–¿·½UFN¿ñ–#Dÿ#´�Ýx‹À­›·n}ç›·ñz(mW¿ÖÀ$ÇO�¦'nè·GŒpÞ;Œ¾€½iˆè£>þc*àRl—‰j�íÀ–~Õ÷³îhÍ<êÙ˜±f?S‹/kUÌŠld ‹õúÓŸ<̰÷§!+�v €º=É ¹êçC8x1Ò;mÌe¦õ1ÏbÂn½>¦ª \RX‰ÇÿÖýd€ŒÌ <Úã­Æà–Ëj‹lì$l! £8( µsŸõÖÊï|Mpe&ˆäE³Úð0;ºSDéÅ·È�òò‘†È.þ—ñt&B‰È˜PÀöežWÓ«GZq>Ê9 -ûØG „Ðç왳•3OWŽ<9@§þ.] " eªHÞ9‘Ý&‹ò&¼B€FD"ÊÒ3¹ÈÍêЧëÕN—¹vÆû]ÿ]=•�L5è¹þ^yE‡£ ó?†f¢T^£»Diº¨^ à|�éþéÔ?žMŒOŽü -‘U¢€¬¼Ð-€¥8@ ô—ø×Ú¿ø­$þ œ -诅ÿ¿ü‘À_ýô§b¼@¼Œ~/mÚ¥Ã?%ü¯“’óŸÆ0 5H$¶Kù'OžÔÏŠä€÷í0ùþþ�íYêóqž-r€€œá}lï~eqq�.lx¥+rõ¥ „O™`pÖVÅV­Ñ€g uW–f :*£ãH'7W§UMx}I ˜µàð®ÝÙ‹�W€V -Ö­H@�*KÕXžk�Õ‡�gÓKxÏ4:H“¦°“¯býxz] nš¿EcUO¨¢¾ä¨%�(Z‹@7…QmÛ·W–?DÿÀ>WáÊ+¥Û:´ªÂæ˜qÍ�}‚TbqaY)öSuAŸÚ¡V¹©¬¥˜oAä'ÖB¤b›ñ°þ>Ã57WïÝ][œæqÀ‹Ü` úfÐÎ�ž~f8c<‘��Í €›=yžï í ~�®ôÔA‘ŒˆÞ6I-| -a…Bˆ%(ߘ’FÝÝåUI@ž°ŽRÑ‹žt-Øó•¿·ùqÀ—‰øQ}$À;Lðuúî¡ú"`ŸÁ5½7WËyb íṃ|£¬d"�‰þü‰¦­È|»y4Àõ¾>Žè/Ôü/5€ÿ”mÏ>Küß“%ª=¶[úQßÇ<P°M¤\Œ;:Ï…5Ć¡F>6öŠañJ}`àð�*gÏÕ'�Uõ­SO¨!©ÃØÂI+Ϫ�ÏL×3ŽoÙ|5õ×镳†ëÿÐ[Á³ÌÆzù$,å“gÊ^%U§iŠðlç)/9ë¡ÎH <É=Hk/9»´¼3”ϦuL%!¼®ÖÆÿ&g ¨–—é -¥kX"°ÍV à-.创ëK³“³ ËËÊRwˆÑxˆô¸ûbú}w p¯üy9õ´èlè¨dà�£$  \èä'“zЊ?Dþ!>äæýüƒ…ÿ¯¡‹`HC±²éu†jBн^ ñ{™èî&€“/J¼•"‚}¹¼õ ÑÿÆ×ßö(€G½ðûÛo­™û¥Áú”€×µëÔñã§ŽóúÕÔ2–º -4 þ¿ñFêÀ(óÿ2�³S*€^ðŸg<# `KT{l6ÿªïkyѨõ‡ÔiþO®>~fÝ9°ÍO4râݨWöó€ëgÏŠIçÏe¹øw>;—j*1ÆÙŒg„¹ññvU„¶×oæöµºËD²;UÁ�BUà™Š5˜\S¢Ý´Â»"yspLU šzGÓ|–MåYkºIPzÕ!WŽ! äþŸ=[9vL@Y×’†Î¢œ7ïœH°¶Q…p†¬.µã—§*ªé­œ›�ÆÈg‡ªuž � -Hí™ÏEFa‚â~xþ-z7*Ë‚ø?ýÿËøâ¿’¦ŠÊøW‰ ÕÌQfúÓ9›¿J$À#]Ž-bï79ã¼ã•Ö-xæ‘Ðß&²;ÝJð³Ÿÿ”§þü˜¥ÀÏþêG-ðŸ<ÿ¿ì�Ò<@î�~.€à~šFÿ“'Ÿ?þ¼Ö­üÓg'O\^?à‡þ|ñ0 „mêw·Ä–=L`mMŽéÜbWhZ‚¯8׆:޵�lyÕ® fßön¬È ž%.î,À$Ý@©ø 4an�vè|vA`évè¤èS€Æ� -¡>ÖW–-ŽY¨¼uU̶iMít±y<�®bMÄÕËÂDÕ‹á‹òá)Œ^¨ª°Ž3«}Èe ^Ñ)(� `òCŸ«�î-&J´&ñC�¼uG¸5ÌWÈÐ@_½®U©uXgʨÕ“>YTÕÄqn;w~»™¢[Ö‹¬#ÚÍYGhÖRÏL�ß¾)ïý�P~דûpˆ×öÿÝto9ÑyÚ0gju¹µáˆ@TÐ à<ÐÒ Þ§O(&V ½D*ˆN€Ó‹RQ¾¯½ôÝÛ‚ñ{íû×èpòò5ºÿûã…1 -ð€ðîO²˜ Œè£•«×®œ:þâ)šß|³ûŸtHô× ã;òßfoÞðSGÀ­Àñgˆ¤€ø¿8DàÙ˜¨öØlþ9ßߊÚ(³þôA:¼íby!0»^À<ç΃ÿ:êÑ3/ËfŒ™–ÜoÁÉ�t²ïÔš„<;wb�»¤ÉîTå‹jÀÕMµº÷ê•ìB>;ø®ê!6²¦Z3<ÛWåLtªLW`0Q9å <Ï!Ä)‹/=éà‚ëQVÄÅäùÊó´À³#ŒhÃv¹bS~‚¿@#ŸmÎ~zðOU68·Ì©Ù+±õ®>iBåü’Vë\‹®ùª¡Ïÿw•$^cÀDOª¨®JëËÀyz^:àéþ³ñƒE´áÌlÍ‹19Ô6 äã�¿ô™˜ŸÏ¯ç$¾@ŸøÑOÙ÷³ÿì§Žök�Ðû§ÿùDZ�»ó_ÏÿO& à._ûâç­5%GŸŸ”Sðÿ8,öo3`OÀ }éCÀü×;Á~7{˜2;�i4æÎ.œ2¼��~ÿ‚,�Ü «‹m"Ça§¾‹éÅAÓ-úòªñ ÚÅF$l…û¨ˆK|jö .� ˜ÜqÎÍè ʼnœ+Ä.Ï6ë•á#�6S¢P¡ëà^¯ód¢Õ ‘uqU»¤fѰÎw�Œ,h™§."P Ô„ò¨ •Ô)Œª£Äk$�¹ÎD -è«,±~n W,kmuina…^‘Ö5¾wd¨«qÏDž§´´„Њ¦nà3cû ` ©rÄy€À - -ø¯…˜ÝôÝœ/`CpHM@Þƒð^å"¤‡;ï=:à 6yø8ü�¾üÜ% @rGWÜcô$}¸+’4t¶\˜›œ]Ü�Ö°Œ (ÁÜë•¿·ÅTÀD®ßê�¤5"_— -Ø+pËÜßæÏ—VFâ`8u™vö�D”€@ŸÀø6ò·Û�k:¥©@/€�áþ'àç‰ýÏ ÕÛ��n^xuµø¥O´u -ºô› Þ)dLÓ Ð#ãòâÜÐÀÀ±cÇ*gäû B`(ë�% ÝDþ�ýÃÏ'جµ;µ‹ÈÐE(+¥g¢ Λ‘‡L‘p \'ÞS®Hª›N§`4è¼Z]N·v2§ùLLµÙLŒåz¢#¨ãiH›Vwˆ€—áòÇ"^Zû¼m–VI8ð#HÿÓp÷j ðŸ XøÙ?ØNàAtøâç_‚ÿ¥�`!þ?{œÀé“Ï?lrýõ«á…^|<ž- X¿«ùiy{š~Æ%æèd.À\ô Ü€ŸL{ãfýu†ÖyÜûšüÞè À°éÀe‚%\5Ü¡N7^ESÓSè•› Q­ ¥W탳ÎWì¢×6VàŒ -[Y*ÆjÃLJ2I¡“óU-¥t@ÄV¥b–WT³Å¹Å¥E&8ÐÉ„ ”¬¤¸ŒUíV•ÄltŠõˆTÄú -- -lê ·ŸK ?›œËµ.Ù„ås8äÈ£�úó¯mlJèêf�› $º‘Äýé7Ïp~FP.-.qçú-9É¥AdA›|×§§; H3B*Ü;Âí„îIàÅs"ú ›çüÝ¿·éÆHN:°ÿð�; ¢ôJ*�#‰ýüW)7ð€#:¸ u=‹ Óy{q�ãD8_Çö|%Äïc·ÄÒS/¾x²o"ÀôÂèðö�4À#^ß¶ë¾› êåL€Âÿ•˯Ëõ?uüÅ“W®^‹Þ:pšcåéÛÛ0¾�ümv�JŸzƒŽ€×®‰ÿ)ð¼G`©`Ëxà'Y $ª=¶[qû@¯¼új[mñ–êñçy1ßiáV­Û—:nÀŸ¨5æšBC^d�÷rÔWÎ -ãçÍlá¢×E°53C¼53??C(¼jMw´(Þ¥˜Ö%7,-Ê£èl4oN\• -@¢‚ŠÌL©"Ê®˜*貟åµÁÌè´Î�¢Óe:ÿ÷ççoÏûù~Å»£wBGä—<Ðo*/f”G6q.«G'ÀüII‹\ùQÑx,3 NëE§hg#mn‚ªD,_²§™)“ïßV5ûÍ®´˜­ Vëy§Óér9aÜ <WÕú‰pùç³ú˜áÏb¼Çüþ¿G+¼&`'f{'j†¬Qçt>�&*MœÂ‘?ðwÏH@Ð_›îk�LðG$ àzøL¼´þ7H¤ À÷˜û -àÏQX(i€ŸÿÌIƒ¿úYšûçG[à{(ñ½ï)£ßý]Zb€É~òyÁ_ßÂÿ³Ï?Îb; —_ gQª€F�}M®óÂB›§ì./­J àÎëµ"¿_ìÝx½¼*§ˆ¡”fyiqvŽ&€õÕe%”0R‡û„ÌU‹ qÒ|g ¾éÎÌy~ b#œÅuætó_{ š¯…kä�U+< `QuÆnzÆ4°#x6Í‚Cæ˜/½B©äèjQ ö hª �—¯]0ÄuZ¶u\ئÊQÞ°œlÈ€ ‘@¹ÄÏ,°ôJ¬\77–¦g  ŸÉ®‘.ZKºÏºÉ‹»Äf@z¿Éí¦×ž<ëUÄÖ’/Ü7WÎø}ù…\üz ïõáKîþT€DhèhE`àˤ -Ìûr�t%²G2m@œ_"Ã�‚È랟DµBDLc®=½¤ªH¤øB¨„=í`àæ­ô8.À£ùKþßò,ûD¾™Ø½Ë{+€¯õò•«WN¿€k»GóýêEÄy†üõ½,.ëK&þ¿ÿ߈QOð8þfñÿ©é¿7 Qí±ØÂ—ÛïÕø�F[ª~ñiZo4òv›_ÿ¼+ðçàHlê´EÁFý°¸,ŸÍs: TÎ3HЫÙh»{çNWl³Çœ•¾n³yQP½Ý¹}§;ú/„6±‘††z#k±�n·PéSÊùåvNëƒçø\eXR„ŒŠ. vEÚÅ\>Ù{a´é^ŒZoâ\<ûŸÂ´Þi�t>pE”$"âTÉ,¯ ˜Yöä! å˜)#œöIÑíÞÉ/ -÷�Fó5â&p?�Y¯�NWòB•/_µšØÿdz³³‚ÿÐèdC%ªœ¼Ã ƒ33TÝ®éû{ðƒ¾Ãó7öU¥>i–ñ%Ê9Y&T·^£ }ö y­VkwHþŠ(:8ò¬ÿ Ù G.cÙ+–„U\žNÕ?�®u¼üß‘eæ~Â~’!ˆ”€@RBûŸýð‡?üóÿyhÿ~Μÿ?þ3ùÿHõ—4ûÿ¯0ùÿLô­2 €D|ÑÿÙg>ñ쳟Ñoì0#ß‹ò%è[ ðúŸxrs““Óðs™'éy.€U ·¦Úû…¾Õ&ÛÎÖV6V– -z¦ðv0ž ¾VìFkƒmÑ¿UfÊB_o‘F褯>h•)!™Œ”Bƒ»üöµ•Å6}KHrˆÏ+� ¡;€#A•¾x ‚ó²ôÁz -‘�i)UËN9¢$ô�kå¸}_UБ1{�ãT -ý°²$°¼47=M'E =Á’ŹiúéqË”�D3„Òq‹xbá�–•Å%UvA‚e»%Hö̽úˆ®ß][Vyºt]¬n’»ˆÏ®$@øßAôûÂù“ïÞ"€Ð?ˆ¿kê›þ²ûHw$6`Q ci¦ KùýÊžM²’Ö�‹ÿ¡êC ßÿ¾æ1Ù^^ý‰1Ü•hp½÷²„ø½í­­€À¶/¥� ð虀¾mÖïnŽX\¹råòÕ+×®œ>.±qõÚ•2霢!±ß¯¾@t÷Û2UúÅ/_·x}Ç<ðqXi‰j�íÀ–~í÷±¡~ñ„^ÕƒÕêpU¦Ã~+ÕÐÐ aî…C'Nœ¨Ž yòÉC‡þ—¡¡£ƒ¼˜hxxxdøDupˆ3ªz±ä|åE�=çûÃ*®Z«QT4Ÿ;Ÿ!e/úì‰êpTd(*R”·íjœH¹(ÇÑÁ±QòЮ!ê« Ð…}šóx§L�9rtàèáC‡�PétÍ'ª/ ŽR‘*5t†2_6wdh¤:ø2ç˜.°÷’ç?;[·aºd‘ÔQPtIE ÜÖçÎ|w$ë(KùåDíok½(îä#L-Xç"ˆ¨Oä—ò¬¸}û�u5gêãEÑòeçS�üåª<óeeÓU–< -Õ‘; ­æÅ¢}¢ø PEDP‘d³³·‹Û³D4^Q¥T³â½ù;�Û4a„ëŸáïó][*}*yþ„íµ¾?«ÈÔþÏ-¦A߆p€" 6ZÓ{´¦cÛcç¢C$ôfJ#�!Œî�Záiÿ»EŠâÝn§YJ”Bÿ Ýñ më�[ ¸Ð‹üûí/-?ÿů¥@tˆÙü޽Àÿüψ°ûó?ûá�þLøW -¥äÑ_üÇÿÿ®€»”€ÄvY/( з¾e@>5ý{É79þ¿w ¡e[\Z˜¦Ûíö¬ $nòP ½ìèƒ>Ñ unq‰‡í..(Í*þõÂÂt1‡X€Jì€��oÃMÉ�…ãàøÜbh€$Ø- o|�%+ünúÕ³Åü9š†Æ¦CÀW”zBüV=íaK£¨j1§�WÐ:$ë¸3–©FzÓKOÛ®¬/Á€d ‘°a1 =*huenºÙœãáÃËʟчºþå…Y  -&g\$ÁÃ-—él©D ¶Xâ¡Û €–&"m³úþÝõÅÙIÆ\Ò �¸€y÷溰ía}l…Gï¼_FúYåLD€¿#þoó>܇þ< �ÐNR4L=î2À•ßÃÞûØÍ[_çi€½>}1)˜ ˆÀ£-Ñ~7³Ÿíyü€«1â@ø¿vQPFø~ÝM‰þzõEìêË<âàÆ7®½¡:§€Üÿ¯¦@€õEdÏð0Àgáÿ3�Ÿø+[úeßÏšö7]öóüv£šS—ZìuìY.¥œJ!áO ˆW;^÷ƒï³£æ–�¯ûã�a†^ÔD=œIø75ÕßgnÓ.mÏÙx>*?tÜl×¾è)ˆ�3}oýÌÙl¨!äöÆÓã×Ü&.í¦`l.æyw„ö -÷Ü·÷-/v<ëðtAíÈ 1–Hù¸ˆ{Ö“ž9OØÛQŠNµú®ünmÐc ¹ëS`CYNwö¸Èx·U‹ú—F_mð&>ßl6˜6Àô�Sá¿d„L¥ò£ÁÄ:€DØäB£äÿ';ÏÍhµ.½¦2 ÚT‘Î'RE FÆ2ZõÉOžì&U—]#�M -[OþÅ È?vÜèæx†/nöÿ3¯ü¯î �Œ@ôd À–YüðÏ�2ÆüøG¬ýð‡ú¤42âþÿËÀ¿ùÝßýÚ×¾ðyGJý€`º~ÊþÁ17HÿGG”ŒÉ€Y–Ó_‹ûÝ,¡e“`B·éé¹i­‹Q‚½ÕpòEJ­/kŸà6Ç A׌_G!Èý[T2VõYÇㆄ‚žÀ ðÕÝ�O ¤Ï -À¹BF0Ÿ|x™Q _q³Ù‚î2ô€�;;9V82Ü(ðìUC-89!öe¢êÔ]ž8ÛaBƒe¢ðÔ� 5ÔuA�ïê¦ -¦�ÊRÙè‚~ŠÕ·]~D‰«ÏaQ^7Cwd!o4¦çUìÚ’¨ŽXY’{O‰ÂEªÈt-kœ£›ë6æ[XFt­,0 -³ßÂGÞ2Œ[}s}izrŽ'™�¿}7ümáVþzpnÓ0PîQ�öåEuxaz[`ŸS+ Ü÷4‚:H± K*ˆù‡`¶þ‰W–æŠY7HŒÐ^ñ�x‹À)&èߥÀMÂÿ‘j/ †—^ßÛ#À("òÜŸa& éi€èPJ�]G˜óZ0û¯7Þ¼ñ†„DŠ”ó¼~šN€t� - ß®ÿÂÃ=«?îx(ðãÀ¯lÆÎþ&‚NÐ|›ZEµÚï 1G G÷¢Ú²‹0pl@àLEHõ|ÀÙy±HVœÈÂc×¹>+2*;Щ4¶”黵ÜB)tQ}Ú”i=ªS3<1˜ tˆé°ÌqS·¾täÎð£ÜÛ�@劾`]9")ÎiaüËx0ëdzÙj•“©–�C’EúнÅ`6Ñ*\‘”"¬ñrµþr£ÞøÒÐÐ ÚNŒ  é}bè‡ÝÞãýUáú¹pú!ÿüuãýþŒÅÇÎ#x°§Êó Ê&ð_«eÌ·Ü{e„a¸kXœ¬€ø"ž/Õä[£È4wv À^®¾\­:À0êõ&pêÿ3¨ÿÀgô!ðÒ¿ˆøÝÔ -€�ˆGa(€°À>/ºüa?þû§ÁÐÿOü—øÖ×¾øà#ú¤_ûóxú‰à¢ÿ¢gòûýñPg@+€Äú]-Q~#0·0Ýn¶ÝÀP@á O—öl±VüŸnÏ-.»¼•¥U‰‚éö¬ÅAƒè1FE?áUP¿øÃ"§Y͆á/Y;g·¶ iû«Ë¬ùi08ÜhÜ{é�Ž@eèð@cšnöHç˜u¢ˆLhS·v™›cº % %µ°DQiRpœnªfhœYq~CõR­Bð€Aø¯TìApYvåí½/LŽ�µç–TÜø…)Ý�6ÓõK -pK\¦óOg±�Ç<×&Lp‡ô<p›ÙEî3‚üâ°˜»¶8Û^X¢G�j«mGî ÒCwCÞH�Ö{ÐÍÂ-˜lšò å±WÒAgóä¦@R� f±@.¤&¾û*Ò;ì¢ëZœÓ�µ ĈN¡y€öz%xïm7oÝp hð÷üžˆ9pëæ# Úûó�1

¯Åÿ�ø'ÀÄüË©´Ëø§€ÖØRÀ¨ßÝZö2Q}nzºùj>7-4ÙÁÁx,€XçnÿôyËóé9ưÓm`Y§hmÚO¨“À{õðÃv·—нcó8ÒúÆïŠX]R¾±s@(YÇaW�´SÈ]ï­ó�Ÿ¹f£6D'@š)9(±ÎZ_!ß59Ýt±øA/ÓÓ©NJ@ã…n À)ÔŒÂâµ�eŒaÔ@_ä#�Âq“½j¿´L;ƒ^¤Ö½Ðí’`jOŽÕuCˆŸ¬èfÌv$æÚI‹+xú*�E*Ì"«¢ó � -†grÛ¶Yr’KÃ™× ºz*`=6õ–Î@AävÛY7²a4×6ü.ƒüòÑ�Í»’´ °C»L%ì-‰²$© ,$EÈ_%[†øn-ÎÍÎ.¯BýûÊD‡YîiAï}LÀ€S¯¿E@è7ûC”úÜŒÕݬ¤éø÷Þ¯;@ @¾¿ã¢~D¼J@À¾¶µô"=ôó…Ðz_À³¼¡"`ã�{ëÏÇ_¦¥¾ÕÛ� €ìo�;B¶Ö/õj§®½ �°·R$¢„ÙG=[xêØ@ýcëÏZ˜<8åù3úBVêá»G Àè”Ik4FÌÝ2­t‚k4.š�ªóJCu„÷[f/U¦ó>RŽÞi㊨H;m»M!À™ÊÓÇŽ TÎ*ceˆ¸PEj!0Þ[ì#ê/CèD -ê-LGáh‰ÈM ÷æ‡ôÕp���uÝÆÅ¹Éöâªr¤XT`OKxÞÛ< -€gñ4à^ øï.¶oÀž -°ë+ÈíåóîàFm\»vúÅg�_¾z�‡ìŒ(�-úëUFâé‚^0í°–Ž¼¸#pùô‹Ïð‡�ðlŸø„#ŸxöqàÿŽ�Ø%¼ZÐ,^2ãE­ÚiÔ�(;§&D:¥*Ñ+Ïð„v ;R©àTÃ?ˆ ykXhƒ—¸ž6öjŒKQ¨¸är6F:e - mS¼YùêgëÃ�‹"æ…¨ˆh­�RnU$VU�Ýc½l=£¥#6rÄÄÀÀÓg…s -ørå«åÜÿt3°µ¦Z·JŽN𤺠-‹ زz9¯¿�z8�Ò§ãyw÷�WÚm`û¦Hévo÷ÿ{ÀPÞ¨þy`&xC™©2ô|é*«}@Æø@T˜îÿˆ1z§°´j­bæ½ÿÿù?pçôWöô4­j!›ú˜Èï àó}1™D€ð?µëÿÁ22@àÿž»û‡}ÏÁ7ø‡qb¬}ëkâÿ~“ÀÇ?¢ŸÞ6ƒÐú‘ -À³ÿ"pø­âÄdœû£›ßÞ6'ˆÍζÇ2Ñ|V‚M €mŽö×¹éWÇšÓ³Óâ×ôœ  /X”°np¯áRDõ[míUþ&6š`EÞ¶²u u™“¡ ¶liÍôÕ–1.|Џî@@Ò$b¿xÈYÂòªãòªümžÔÈAlòÖDZ ]yÒeaÙ­KR4uhß"úCG•5+¾†$Jt -íÿ‹ �¹iiŸ¦ÄêX>' ‹øB?wF÷#kTŽ 6¨§Œ¾¬ª–f•vº£Sè|¹o@µl�y­¯Ü�>y V“Ê1x’ê¸ÿ—Þœ—ï¯/àYÆ:'³yžëwi?ˆ$a I­+'·òoø�æÿ»ZøžÄTÀ+½¶ûX‚÷>öŽ;ÔŸ®¿2s`@æ&ß? €•u‚´8ƒ},áyo»õÖ�«¿uòEyÓoõ÷Kiäqc}>ÿ¶× ƒÛï�œ§% ¢DN>{üô•^ …þ# ,úZz»üòüµˆÀu" t€>€e€à þoûg ½|Ÿ}&Qí±Ø Èþ65%Ä3sM@&/ŠFÇ0Lä3óìêL,™˜™ÕÏÈ�®TŽ5V‰®‹AãEk&/²áFG' ¾>)Î1ü¥2DÕÖ3*Ë"í8?[¯É�v•ÝÙ3õ¡,UDÂd¾°q^pÒ+=+ÚÀÍð©# -Í ÷  OÔÒ rìéóãBùÔ ó æy—‰Rï;¢*I.ñL øNs¤­¼/hu<ŸŠÖs[–é<•JC‡*¦åàžó.‰Ó&õyøQeeÌ"Ðïÿ—!‹mÖ`ðT@ŽÓ7åÓ»ˆÝûÐ3Ãû·™�/¡"™¡‚èµ�¹ëÀü¿ûw¥˜Ÿ¯½L@Šìb/¹ ð¯ø�o}KR˜'¾'³ÐfúìÓî ùeôÀëÂ?ügé�D@?žà7ý8ôY�ýñ¢5 ÎŒ¨€OÞÝh²ßÇÄ÷…YyóMF,ÌÑåŸgÖz<€<{}/vÄ8¹þ ò~Ý�]>,‰ÐÀ£j‰€o o„ ˜§ßZ@U)}ðÿég°âåóMç?í–Û¼]–í¼ ŸÒ(³í1‰ò#uF*è»êä%ÊP-UÝÅü~ &(`~À‹Ûe*¯ˆ@åE†åSÔÒ1 Êv‚ìô—5kZ( bÉØÃ@€Mw ”ÐБß~ÕisÓ�"øŸ2—Ï.­’ ‡ˆD ö2S{?{ë­¯Ó/ï4ϰÅÿ2ÀÔ»{YùKß?Þf¾{”«)p9 z^¹zåõ^`¿§Êà§VDˆ0ÐîĽ@ú“ÆúçJT{l¶„©}¬;ßí0m«(þâƒÛ  oŽ�wÛùçÅ|Wøévf:Ýî{10þ¢@ÕdÞ½ºDÀçŽ5òŸ'ÌòzVd�‘FÖéüqᙳ"o^”ït±è¾?Ó¹óVLñØž©â½î«UOóÇ‚�b~¾3ïYý% ºå\VÍÚ⸠^tçuäÎ ñðüÙ˜�õÎÿõÁL»ùB�™ˆón«h™Ë�v‡ŠŒwn3¤_°«Ó³°R©œ=?‘iQä󢿅ÈÌ|×R¡x—Öðîí.³HL·ßû€fý™¼ÚV%˜5 ó¾tÒNË躈‚ÑKvޏÿ9ûýýtNk´¸4à ȷéÿ—]$Ìi:A -€}�²Lÿ2à2¶úTt­üƒì4•AƒÐwûF¨>Z�¦¦Àÿ¿ŸÿwzÙ¤¾ð(@À ¾õ;_Ó«襡bÅË-Ó9P‹­o)�R|ü ^üÙ›âŽ$'ácOìÆA¾÷‰ð�;”–`¿›%´ìaBÑââl.ЖG;·H?"ébàR¿ta¡3Í(@§]œ^]iI¹»súžÌ“Óöµm)àÔGzXkŸVDiµгæÃ:É=çdÂ/ÊÄ÷.Z"hð(€Ig%ÈåRˆ&,2€Þÿ$–�ѹ$¤d—!Ì%-(T{t"rCÕ 3¿O;‚ޏÊÚ¡¼ cp²„Ž%)¥ yAgÝ&óó0t‡f‹ÙÙŽ¶T÷iyE‡iG!Š¢Û<7]´'ÛJ@¸‚ºÝ@x¿ÑÛ_ˆ×bUÒƒ)„™¼ˆGÒŸ8Þ1!鷩γîÃqÿ®TÐ�!w‰ D¨1 l렋чg ³ê”äõ "0 %@Ìô‡pëÈÊÊ‚”�é�À)û[ÂóÞ&àg]¶€þ1Ð;€”F�Mk»à.ßÛ Ì»@iDž¡ €¥ßï%ëúì: -ÀÁ/¬nH�¼qúÅ“) ­¾Ú70«ð;Í: Qí±ØÒÈî}ŒÉóN0…ÞhctTŸ—#L´724¨]¢MUûªÚ]9Qb>F¼=ò¤ìÈ“GaÀº'É«UG^Չɘ>ð}”bdÔV«±ᑑ/ÄÌTa¤>TN¨DCCG«ƒƒ'FNœÐÂQïÑšP©:FEtdèD9[_õåAUZEWÇF«ªiup¤:JE”³ ýìÏ.xèÈ‘�C‡>:<¢ŠŒŽ ;‹^ÐBÉtm##º#ªŠÖtåÜ’—Gº†ŒñTí}a S g^ûÖ’8ÿxá –FnòúÁ³"v�þÿûýž]€×< §p–N þ�Jä"°{?€$À."@B#¤G'Æ/(_wxD ˜þ¤P@Íýñü�¤Wz?÷ÒKÑ - -€&ˆÿ®^=®o·¾ÝV ßbS²�oÂÿ2 ¦xâ#Oz ŸL? Xìè—=Pç>ÂÀÐÞ†? -`ÇD6y²¼{·…Ÿ -ëÚÓFVp �éhãÄÄZ-cúý»(ÛqèíKÃ\ó”VvíÀîaê‚]Ažýq€üE_AèRèÜÜd4Ô&çè´§S 'ÊT¹£r¾•Ù,ιȮ*¦BH§×*ôW‚+Q’• |çÐêê¢ÈG- |ðr KºÖ¼ñj®K%•O& ŽTµ¹1è�éYWc‰ÛÁ¥á÷ þ¾sst˜œ^èZ1<¬’“\Ì„ñç×VižÑ=ÄýO]h´¸Ï"5¬‡ÞÄø‰ø ûÖ›Žï+©;HʇÝÊ“Yyà¬îÒºÏc^PuœÛ½{1Aÿ” k´(XŽŽØÇž÷¶›7o\s€‡û·"ià€ÙÍdþ8󧽈1VaW®\Ñòò‹½Àæ�ÿ耒ù~•£?õ° Àoõf,#—O¶lÞ£}o—?o[¢Úc;°u»KxW=† NÈ·o4˜ÑNîu³Ùhj_½ÑÈ<ý“ï�4ÆÆÆY“©øêGõ®Ô«Ÿm‡�úȉf»)wLîyç½6]Ü„´6Úì¼/š ímÍ,Ÿl´qåµ·Ó™­6b|£®÷ç†Ä¯Wš]“!}T‘ædT‘‚5³IœxeïmTncäUíkŒŽ¨ž@æ9?{@X¬VªÃ‡†„áñ¢ÙÐQpõT$kS�nÁSiP`8ŸŠÓå“Ny5Fšm—&Â3´þýë�nqÚ”7„ÙQ’_+â4]Î�æÈ†ñfv{v+þßïÿó´ŸÔ`{@«�fP±ǶúXTÆÝ§1åÛ3çˆMÐ!ÐI�1%T)´ÐòÐDã‰Çz}œuoÓðÒo–Í_û×°ÛG H”ÖÃ~Ø×8ò¯�üÔxøY°­“K¦ßóÛ€2ðÄ.MNe±àÕ´½e)¿Ý,¡e/¹æ¦'µ¬-ü˳íŠXÂ�ê ÚìýþTœÿ9üÜ®.éXWš`aº©ÿž´º»uàO1?H³±BY�•ZÀÌåJ¦Sí0 ›B>}*ÁœU -�7:Ö&g™ˆˆ^†þ~ãs«ªLÄã&€b�ÂW‘,4b�¹vû©Âª¶T•4¥]G¦6pCb.bÕÍäNµ•óÂt{¬�¡ŽÊÉÉv üÝ}B÷ÊaßUJÔ%ª$•áÁÜô´òJ›J´Ãöm/ñ÷l½·¹º¬]Ðú]0íðB¶ß^eËQ~¿_ð~‰dÆ;‚�ƒb|-â4^úáÁ­Ñ"@1N­q9ûÂ<�T^×?2âpviÕi7=Ð?N€ÀåS'�Gô§öN$c÷nxØó—½Ž ó[ -@ &:~òê5vŸf 3¤SP ‰ý~•j@˜öµÐ - -€2¥ZÊ@šè Ĩþ´ý·Ð^n³DµÇv`»s «6ït:­fvX[ y§]ªwßMìà«ÝižƒTÝ 2ðÔ@¥ò¥ê±&nÒÖÝtÿ€”…¸ÎÓù¦h‡'®_Íîi½Å ônb»AåX–uu\0Vv È50p ˆæÝ扡†d´ÔéñÈ<š<=%±”.9!U�gíö{�®ˆ¼gœkñûÜ¡cõÊy÷P(Ìǘ„"—zfOtGrÝ—äú¾˜eÅls°Ú|O']L/e. -ó̱�Ÿys?€ìϹ -p®~üÃeˆÿ¿{ÿUµ—^+Çà:ÿk´pEñòyIhÓ&p¦RÉ%5vªAL¬€¬À" -"ÀA‹€'žø�ñ‹wDç-h@H¤O)¤´šºôâ2 / w_Î|‡9‡/ÐPÅ„•h—kàm«€�¥_„>3óã͇î^—9à“w7з·áôÏNgµ†þû»[›Èäâ—xß¡qÛ ³àkZt˳Úhk1Ö¨Mæ3L¤­;xtÖI÷1¡ßÉމßCt° ó-p±EÊîC'Çj•£‡�Ör©�í†ý>žÊƒ¦s³æ~tÊs|ž®vª™¡ �~ãú‡~ð1zàÊ®w•ã 4Žc «òçW»d-Å>)}¡÷l‡ç((õÜ\>™—Ý!ÄiF j}•Ew¬£*ÎÍN6›mtk¥µ¶Û\bdi¸Ãà»wWç¦çWÖ×ìý‡£íÀ¿¹Î|Õ£�òÜy408—ˆÃ¸÷|éxo÷ýû´1Ð2ƒhx`G^gkÏæ]í àlÐrñ7ïnèuW:D@Zk6Ÿ^\¥›"ɬö1Ãy?“¸zêÅã/¦cø„EÈzåQæà}jH¾² i×P§_|æøéÓ½}ˆôznñ¿Àá¿ñ¦i�зޗw�lõà/wWKT{l¶•„ø½m¤‘ßÞ¢ƒühûáÍÁ*£ùí9 /ãïf�¼:ÔÎ^qÏpx`@à¬`�U5 O}0ƒWÊ °˜'²Â�öšyµ1Ó*8[“Û)& m’ Ðë\=ëÐ�ï|]Ì‚þŸ:|øð@µÞÌjƒ�¦+Bþ粼˚ÌÛ“Ù˜BHå¨®íÆ !ˆÆè�JMÌ© Óžsîg©Ú£ʟ˜à�9¬Ð}!0šu›Ò'^mH˜ð‘�5Q�¾×„ðϾ2¨®ztg¨h‰~Ùa½Î�9söLâÿøøÅ<›yDû¿VÅÿ² À%UÒo]Ïj'5(™ê¸K `{?™ÎÙMàùk'åq(¬7Çþ=ùÜ~{a @€f€ßüBôØf¦?ß2ÿwJê÷¾mI,Ä)=ûÂ~s+ Š; ŸL+é¡ß swcÌÞÞæÞk4±7šôê“Ç/ÄÒ¾=ÇŒzB™–³…’Lê‰þqô… ðM6ÖÔMI‡¶Z`jñ j -|¿7g¡n4ÈDZQN±(i‹s”Â`Ñás±['²GGç$ªÃGÔš¦'ü•û[ÅÏ2SÑ’0Ì´…2Ÿ­Z†|bMi‘~«lW(ÕVëÊ‹Ô`i…‚d†«©Åâât;›ÌñF�™ÉbqAÿÏ«�±ºþråÝÏ"B>BE –$`Âáï0WÀ$�æ -FRj±Ý#· ®ò¹»¶² |W×W×ÝŸX|†âb´°-\8 ÷ ô雀–¸ûô)ð†}{ºj';hЇ.NËp>Æ DñþºÏ$¿:@`b}óîÚó"3?ÑòšÛ’Y/ìñJx~¤Ù­ïEßI€¼ø¿O@@$ô‡Áù¾]þ.Ÿ|öø)G„}i€€¾€^ ˆì§:”ùÆ©]#Iøo÷7 �¨öØl·ýXÚý¬:;Øìøà"j]?a|W³M *` ¸©{Þž/{×Ù§“8#ÌT³êP£Z¯53zꛓàÑþ¤\ìèÿr£ð`;°Ÿx§ýhöåóõV5;ÒÈÏ3J`àðá�>qx ÒhTU9ØŸjçÑøÍZUE”3ê‘£ðœe>BõµA�:pqq Öb¢¬úäÀÙ3O×Î_°WÍAÔˆ Àòv³9Òîr©ìQnc�F>vb°Y„Úaº˜ åõh+Ïg²ó<器]08Rø×Rð?s†6ø/ÿâ¡öÿÒÆEõÄwÐ ~s*7.ø_•p!þ°3°£À—¸bOÌü�ÿù€ -°¼�™üiÅöï%Ã%/s)‚à¿}û-�<q€çÙ°2Ønå9œý›¿ùƒS9²s~’“°[è³�ˆÑLg†¥Üv³„–=M ƒìíIæö£/�€'ø}%¦''³Fex`@^x£= rçÚcÕ�¡ájµÖ“SÌ `Oßzë<û÷€\TåNÔ = m¦a¬T…Š>9®|,”¡@½6üÉCGkcî¤�Š€Ëå—ʶû­ƒ*ЈåÀð92ï¢:\*—‚O¤‡ï%b VT,ð®ÔdO5äÆÕªnÄsSÅvcàÈÑ�áŠnD£Ik‰JX�ÃïjR{䀪"qÀéM1“X€nôôK í™îxúw7üØ$´¯�€ÄþåÏ›óò“O?4À}ÂüÚÅqŽ21²‚>l; aΗŨ”môo˜mO/­2ÑPªªg -Üëc8?Ò"ªÿ–€Ðçg9�ðÏbKìÙ�Ø� ßo=ú_¹r GÿòÕ«§= -àº$.?ÏÖâÚ”$Øm€ˆßÇyí�Ó/–ÚŠx€þºiçã¯5þ¢wZ¢Úc;°¡ým¤ygx8/Ÿe+P«?Û(‚!bŠÜn8‘çµðñ -¬9n`à©�cO?M”Yþtã³�zµVT2Doò2üsÓkc¼]Íî�½YưùÔMŽ�Š<ŸI=䇎VëGäü”ŸæÃ•lDØMo¹—gùh•~ÆìgË�6ªt¼Ñ�jy¡™Õµ!· À1+•$טù -UÙ/=Yùßt•‚¢�l„KBè4*�M5G:ù`CõŽm-yöÂP›a²ÒÙæå+pÉÆ'.Mt¦&ZÀ²Þ"²é6»`ˆ‡ÿß|Tû?'–À]t-wT]Î.‡ÔD ’Ð@vñb¿ˆ’²‹úwÐúÅ/ôŒv*€‡Ý,Bh€ß´m造¹yîïDÿ°Xý‚aŸ¾?ÿ…Ï>��¢x‰G¦B0óÛÿH8°‹à°Šü÷7ȈD^»ZBË&0=7Ù¨TjlBˆaÈ&VdŸ•ûߨK>|h Þ„ö‹ ͆ÁÀpµÞhæ:¯Ä�’‹wf,®4ZÂ`£2±T¹&3Xçæð°ñ–!gORšÊ¥X̵›õÊÐáCŸ¬Œ‰ë–'.)Ê€3O'\`Þl;Ÿ.”ÁºäÑ�5Š[ ý"]ó8Sµa�ÊÑ&L•Ùr…vþ©µ*')Ò«T†ŽºC"‡çšUýM=j0IèA;9 )@måû[HHgMÚ'¸ËR;lc»1úŽ˜ºh½¹ªl–˜\P…æq„ó à³Ox†ï÷àÿƒrˆ÷w-”D_J‹û?ï´)H(H�* Îq€åëŒÐ?×äôÒ�„TŸ=>&å#¬ô›o]»ü[Ï É¿G/@·¤nNcEÝ7½±«õÆø=d½€œ±^¾þÕË§Ž»€›Ü€y‚z&àóÞf.ŸEÀ_ëxÝ-Dü4ÀÔ ПîãÀ?Šå탼hzo ö¨€5>ÝhËÛ­ÖĶq*ŽÆHQ’Jlyê)ý¸1€¬úÊðP£.PLäp¸"e!ðį=ñÄ@ehp ìFE”Š@þD>U«õ¦øÃÈ%@eó£ÍFV;q[ c*¹Ä*À'ž‡ÿg+gêOT*õóÌzDÝŒ_®Ÿ&²©l¤Ómž™ÔV²<“ÿO@Ä©¹÷ñud”ùøùq- 6OïQy©Ùÿ<‘Ì%Á¹Ýã½ö:3lïÿ¯Úô]Ïw´í@9€j…¬)gÜŠ<ÜË¥J %i™¯‘ÿ"þ·Ú²Kù%ðß²p'€­ €7ÍÿC/9 -`“�û¾3°# €¥¥…|Àäü‹þÂÿ6�@ŠÄïDúEØ2óÞïäü£’±²-Cré3qf?“×O„]`2o3€ôÒ‚uQO@ÜCo  ×'çæ -›« Wjµj#sà 3›`JxÐ*Þx_èÀlBñÙ.šÂ�q•±=]è´1‡Œ9aFÔ//Ñ"áò3>\+:ª Yî"Xä"@O…œP¼û3  ¨W$>K'¹ï�ñª�ÖÐ)Ú‡îÑV—¤Ž^¤ > Eíéötsl¬V¯UÇÚ©íaÉ áZcLrWp' - ¸BÑ:m¡þuîä«Lžäj Øa ·¥Áy!÷zmYºˆ¡ÈÌ=bµ+T–i]i¥Ü�ñü8ü Ûˆw)»”&Å>D8À'Z ÜPÀG›L*ð}€8�ÒPéž X‹õÕFÌ.ò4@'QùÈ€=-Ñò!»nü—€7^?õ"àÛÿÖã�ÿ°ï� Æ^Ûÿ7n˜õ»›;ûñ! »r-J»z]{Ù¾’NGáüGã;ácéϧ_ú«¤@/à÷6KT{l6ÿ”ïk#Y'/ÆÝaÿ"Ïk7>mìÖjuñ.�E¨keÕS[ˆ9_‰&0i†zµ^G0¤,p¦Ì¡˜hŠªç¹±tØ;�OܪÉÎ�7†ŽT+•cÇô‰_8Ô0v•s}ÌMØD«Ñø~dbƒŠaRyã…2ÐRMØ+ñâ%!€³õ3•WSµ™Œ'U„e�ÀY‘ óàÿꈛüéÿ—7O e½Šˆ¯Rñ)iÍñÊx„îµýOð?s&¿à"¯ýÿ^û¿nR¿ÿïkqޤö,—TO�èÿ^i2ÀÂçì× T²$Ðúv‰²˜`›EÀ¥‰K4øûãÖÛ8ôœ€ žÌ®¼/œ{ëY$e™LÉØFH0ÍàV'@L¿Û"úN? ¥1ù/³…Òß�-° ÀÉ·ÜÈ´'kò_Çš“ÍIfõ±€– ³³òœõ#¯t“ÍæXcŒá2“œÃñ„¥Æh�&À7û -Á^( WX_�ksÀ‚R“[„ljצÖ/Ku° - µ†Ñ[ : Ó³ù$ ÖUX)0Q±“�ÕÂbW‹%g?ßåž³7ê¡%騤Ø|–tzHyO· fE¤ÍŸg'Ì…îÃX£îÁAî@‘ Ÿ*éÞYh‰Ò*˜@P·K -@÷<÷­ï·ÄÈ>»+°‚ú�•YOn¸FЂúf5ƒõ¹£Bø&ÜvxÿÃ{îÓ­On=Ôr•#žü% ñ@oGÈLFÀ-J¡Ã¬šì›Ò40ÀÆÆÚ -}¦×9î3�ØÛLÌýŒH¾â&€¾!úÞêxíMºà?êeÔïn0úïÙÕ+§O?yEYJ?ÈQúìbÉõ÷’… -½vêä©7¢reàõr€¾ÔþÓî³DµÇv`ó�ø¾Æ#÷ÄÍAýyƒ¼9öéF~˜ÿxÕxÆâLѬ®¹=_|«Ÿ­„'sk*Êâë�Z“`#?¹žñA†úxýH=×êЕY­ |ò‰Ã‡Ÿ¬5»§j¤š`�l¬+wZsG<í+ûé1‚p°9–5N¸ `†an6]‚V£@v¨2pŒ>€©ªˆSÕCbä�é•fUÞyìÈG†Æðª£ÛÌÀ5r™½�ç!œ§c øöÜÙ³[ø× àÂõ½Íÿ/ÛÿKõÁ½u€^Ð¥Ìß¹£Óu4bäI�Œ‡c;ç Pç–X°d"àžèqåÂ"‘ÌÏ1–ØÕÄX·ôGÿeŸOû0íì±ÎCy“¾gœ÷ùßôÇÿƒÿiئß~ð�ú¤Ÿ„žÅðOaï)wKDFaö6JûØA³ÚÉ‹­Tcͱé\»ä­m|XB…ج˜ê¶™Ëo•‡­d“m‘vr’¸�$€`gÂbÂ'„ï/€âP:‰Ð -g½¦#‚5¼–×ï> «ƒ¸NÆÓ €ÃG†”ät´úSÝ Õ¢=;‘�â¹HGÞÔ€–rS-–Œ|*€tpÅý„ðש´ö¤Z¢´‡î…z7uõ¹nUÑÝÐm�iK·EÖ™ë�EÑÕHµÒm�¤ù`¬ÖÔjÜUF÷›é»eâ´°J×ú͵%e5·²²æ™øÅÑ·¸,w?†ÿÓšoÖåŒã§ƒ¿v|(l+�¸û o" bòAmníuÀ! CqŒ ðß@lnòŒäÕw”ÛDìcàr?#`píÆ·S'À­QDn0ê‹ô»ZBý®�Âÿ5ðÎÌ@*íäå«Êv[ oÀÃæRJüûûÍ7Ný?/§g¾ü¿üÕÓ'cÙe`KT{l¶ÔÈ¿��d·'²‹³ù‰Az,ympìbIgc¬Ü:yõ½)Á“èˆ|r+Pͪƒ‚ï�xÄò3uHÜjÝæ)YÖ©6 -F²“�-d€Ê&êG2|Ò¢1¨œä·~â㕲µ^EVw³F—Ì©g²?¬ÑÈŠ—«Ò/#1§`yH€VÁ.~rÑ!ª�äÉÎ‡Š˜Èdž -HÜn Ž4šYóvó�ZLT„zˆ®ñüàš-›ÖÇõ:þ¬œÿÿ©ÙªíðÿÅÿ‹}Õ§ŠÎ¯×àµ4`¢{çŽraÔcêÈ8ŸJ?†‡cªg¯ …¤ÒLv™ÛÜr’uPÜ–9�LIŒKóE$ ¦xΓl™@ÿAùs6˜¾‹¥ý‘‚óè ïØ©Œc¨%© };S™Þé'!™~1zXêåm[Ìä3K³†Hv�€&¶7†‡ôŸjÄ'ṗYoeâ*À'ÈòÉ<ÎPœRÈõíDJQO8%n�× q;¬þÖ -t•,ð¾õ’à€ä:oš°:}ùtLÐ�­¹b²Q @#SuÚ®—¨OÉ”Òf]sU½-Ì6§WÁ|9 ¨÷•Ζ=s‰ £¦?ƒpW“Jºj¬UÕ˜F]©4“Lð§Oß¤Ê -ô³¯˜&L�Š.xú?ã mèFÑŽR«ê&û|êߥɹï]ñâ¯u%––—ñ»µ-I Lt�଀ž•»x\€6¢W?n;Íï<÷Гwžž}dê%(ü�ˆ É´IÁéô�îB?úƒ ‰×WV—�( š( ¢>{/”ûÚ[o]§UþÔUžÏ(í-GÌØkonùû¿Júk¹ó ýc­?ðâék×®kWD^‡ý1�À€þO,ñùKôS%juêT@ µð,ãß±»8ÿ¶DµÇv`K„ßÇFqg<y«ygvd°™Óñv$�׌ž˜¸=^û@Ôu¬žzêðSæ¿ør–¹ŠNñòEÖ¡ Ü"ßš™)n+ƒ¼Z“ãKV¶ 2 ûl�øH‚T%E¦*OzZÄÃSÀ y,@^/¦ÊŠøÔóð†â…âN1¿T‘˜ Çæ|Ñs�‡Ùò 듈ȧΛÈ¡úݦ*Rt›ƒ£ÚãÙ~¶±ŒÉ�â3fܪ|ž1$«×¿ü>{ö\‰žz@)æÿ®íÿ¥Ùÿ`"§.ºQ9Ó%£hKÉÝ@ÅDØbŸ~_*[ÎÔSl?jCÀt/zE¿E2ú=YÒúï-1O½ð!ìÿ‹ä°ý‹d)ÆÖ¶© "‡(Æ’ƒÒ(4"á#ÈÒOBivöý†ÿF~ìèy•:¢gÉ·ÜÃðdófmx Zc<ŸH%\ ZsÅà'^-Àk©c¢”>y» Íôñp$ ´Wi;Œú -˜)vk’NãZp* /,(g¸­ssr·µæíÚ{6"�Ã[Ü„ôâe³Q>úÉC‡‡kMUF…ň {úJ¤Šæ\ÇÍn6U!ñi«b$!=@§Nô|ÔÉ€šÆâZ�‹>Ó RpNôÉÌñGVÎİÀ›º òÿ æû­»£ú08ƒüºsÜAe*‘ÐÎÇ•*kRWÁLÿa“�Ýž —Dä¡o¬-Nç ‹«««k››ëž @¾¼‰­Zǧù!l - ðXs;<ü´î/A]ªÀ[òí-hÝç ïÝîS¬Ö9IÅhø”�ÿ˜izve]*…Dt´ØØË.÷¶[7®»UþÚ[Ñ`«À­›7Pf,éw³’þ[òÿY�ÿ§wD®Ï_æJŸrÙ+;©€k7®µ_Dàõ2�þ¶õ—Û§ž9ôL| €_Ùá÷±‘†¸›�7³Ùì…F»ZM´“sà…1⢛ºÌK'µ2:8&¸™¬ÈFßkWÌDjSÖRÉõ™4í*=ëM}�Œ^ì[Vd6¬h|¶ñÊ¡#ŸSƯP‘1s ÷š8þøD§Yÿ ŸµUH¦:ÆYÉŠbl²[ŒÅ”Ãî€ ®Oœ?¯ª×Ïže€OIø¬(p{=¦²Â0;óvc°9íj5 Vh”’¨g"-ðO[ÊþüÄÙ/[ ðÈÁ§Ÿ®¥-B8U TÙ}ÛÿóÜüßêà“õžO¦,(#ZMý(öîPíµœ©W’ÐÝW~œí€÷üý¦}fdðs‹¢øg4lë�ZDrS Æ›úi%¶J{(ðÀ|ÿÞìC)�Â÷éÇ!L|Ç?yÿ±ºÕ`·@ùRn¸ëû™ÀÕ¬IíJx[ µ?+rü2�ç¸?^¯ÙÅHIø€1îiià�w/NÀRðÔ·ò’¯u�ÌÔÂ1o=á «¬`œë€sa2“Öœl3`àèá'Ô2CV$æìd‚¸jH/<ñvsŒ~ -¹ÒÈõVu•‘E‚�wq_[Ò4à]G”‚Fi“ÂÏõw%¦˜#WÂe´§pF²‚þ±Òž|Z÷€77Œ‘Ü'jÁ½Ó^nM�j¥Ñà’tQy®}ˆ¨òeööІ¬ërµ––y -ÿÆÚ 'ˆ‡Ñ÷å¿Cp:ÿu­P‚èÞÏt % Tú˜ð�zº°¢m: -p²G9:•^€ln¬­,-/êbÖÄõˆÐ°�3÷³[×ßð�èðçëf_€@Ðw—·oÜ?ô.#L`/ÿêå^À³D€#a§Oõðïx€—.ÆŸTä�kÛ€²@\>3ö"»Ú¡DµÇv`K„ßÇFJNä�‘Ý"�1µ�<Þ°­¼Ú›1¨^O@TSë‚[1Ü-Få¿C±¤Z-m¶ä´Nd“tTªG[>¤l»ÎÚÓCŸ®ç "Ôæ?±w;Û²ÎÅFàlu:Â÷Êä¶äÆH7—p-$2]š€‡ñ©ºgI¶T"®±‹¹G;ÊÆ/ÎN¾0ØŽi äðÇ ¡kDïu–¡…ñ�a&ùËZ—DÞ³gž>+àžÑ/²ù?I7øÿpûßPûÿ‰ÿ© @ëÒkœ7qibžçé*|wS Æ,„Rgøýû÷ pFË�ÅíÛþç—YÙæ‚û ã‹ó±±Rá4¼j§€ùo_žÀ¡‡t–öhW,·"œF¶‡>B™`Ñá·ºeÛ€€OD"ñÁú�Hüg3 †Ùã%^’­200TkàÐ�Ù©‡e8ª†7Ìø¹HXz»ýŸMó| -xrðµªÏ䬇ãù íÀ´) ÓÕ `fÜäUûl%™q´YŸ”öd½6$ðÄ¡�Úe‰Ú’ A -e¤…TÂØ˜ôˆ¾kµ±Œ:²×UV•hØP–:‰jE6:h7ߪÀ—a¡"mÏ;tm©é4„€i­ëÑ•$çFø2uûx§â©w¶=9æiš;hËë5œÿ° lÏ T¼ëïn,J¶0“ñêZn�†oÜ|øÎ&-ÿÚç€}wÜs&C‚"ú‡L€áùþ:(Á Bk]'r¾ tïþ]B i¸»±F€I’™tq‘‰‰Ü=}˜´ÁË}í£Ž÷ €­6€·Ü`ÆÊÞôÀ�]ßBü8ÿ°‰ÿh€+Zã‘§/kͳ¸€«xþ¥pÔËÒ6-ñË7/#>ÊÀü¿\öp ¯TþÂ÷–—VÕÛ��ÇÚíkóÕ1"€#Ï;'<ŽLà�þwr°ëâ‹vy5&õÃÁ¬ÄL€•óEv6keãù|Æìûï) 9¯Ž\Š6v@›‘kÒ„ö‰²³›qúñÎ�‚+•˜_4®µ�šÊŠÜÎê�­þö`e3ªz1ÓjÍü@"f¤Cä]<#ð}1÷¿ÕëgDÀú!Ê;—KÏr«"òbÄ�ÿ”¯®£ˆéÿb»ñp@ -@æ5yýä÷ë¾<õô±#‡�ÊÙ§;Änþÿ.íÿªpðÕâ.€-è¯Ý]7–+7þGk´qØê¿J?€JåБW^yEÿœ2žpp‘y�û�“•ó ÐChí�Ÿ €%¾4ó?"ý^¾,Øoc«—ÎÛøgå³Ãõç©@|÷"&·"ÂŒ|S¿Ä?Z ”a®yÏùYÓÊ6s÷—¼Ø±šäÜ@µVÓÿò±Ihej™`‰fÒ ´Ðö/ÚÑ÷­Ýį…w€¢&ºW>8€q ë.²Ù›v+Ó_zÀ»|\€Ö¿ *.øÄá�ê-vª•†Ä0ßÙH¹0ÆN:@@+—Z³nÁÐnz—ôH¹SqïfK9ð¤>-µá+àm“„̈r̪~ª¬ör_Yaá\$–ÈDërþ]’+å<&õÒ½”^Èj•Z1 ª2" IKÛ«éÓ4]· vK@×µ…¹ÙÅ••õ�Uø/ÐBÚ€»�|š÷A4ƒø�ø÷Ú'W?èO»?G¦×ŠvÞ'DÀ‰°Ÿßy`| sVZð<‘pc�§-éòÀQÓT÷Gša¹Ÿ½µ-ð͈ð(À4 ìxýÑÑ´ø/ÞÑ@¸wàj/pÕïd"¾ÛÒ§´.¼G-®I|õÚ�ôÐgÇ(€¾ð?vèÙôLàÇ€_Ùîüà¯F<Ó.-òb¬“ÆãndZ¨&&ŠLÀë¢K�ñúLpö¼€á¹ïòjÖ(f`T²)¢ÿyã­gãSb*F™òÓV �ü;ÌEpN¬ª×§²6=ñK£/bEfµŽx™ðG,X·n¿/þç­¼ßiŒU;½ÇöȦ²óç*Ï|öóø‘ü‘AGÔOë&²©öÈ”¶TÚ˜œã;/lU¤Ñëг^àÈ‘£²#GË}ôÉÂ÷ÑÁ–~¡%zåÿïlÿÏósý Õ"àêwçû"ž h´ÆLª›hÏ­9H?½8td�ç6ŽTõ©òŠ'ö¥Ê®] Rb ß+òÐEÙÀÿsý€à?üGÒÑðý ÿ“ik+ ¼”ígùô8H=ôM@Kð¿ý“–\}/ÝÀJß7Z`·@)ÆÆ²}^t™oÖ‡�ªÔçWµ)ÿ¹™ËI…‘D·é·¾ú§áZ03јÝámd@ø™›Î¤w»�@8 ¨µ®¥T¢9ËK‡9ZBWïÓŸë÷«Ù¤PÉÔ; >�¯]øŸ?ëŠNN6’“IJx¬‡/Œ¬]¨.É •ÄåR³h¡³ÝÖÐt"ö bÈ‘‹Ta®Žs±ùÖp>EPwלûáú¨rÜÎç"ýMn�î›”VUµ”2ð,D$Sý@·à�N€«Ë bXY_%øîýB³À/þßãY}ú™�pwÞ�öÓ[*@{´—ǦG'ˆã¡” çAg'ð^Õ‡bHAWÉò™÷gT«%šŸp¸S–Å»#²T±E»Ó©¶2wŸ‚T‘>‹€átàÐáCO>)¤<ùäáC‡¥¹s"¶@ªš>äÿ?Üþ¯Úõ LÉs7À.9KMðÂ�çØêð¥Þ|�  ñ(dlˆG<» ~ƒÿ×ß|35Ƈéçú#ip' £>“û“¥=ÚçEÀb‚|)2B’�£´� ðÏÂ'žÇøÉíU«„ºlá?Œ3{–Ðïœø–='s·�xÔ¨ ><0\«[9µdzÁ|ü½—.ö“-ìúĪšŠ6ð‡>Ўɶ®t@—VsSQDUÎÖÊS'òˆ÷çÞéIƒDÑ?êÀñÿ£Ç*cQÄ7i#%'4Ç`ЀÀ«MOÚïÌÈ\§?«^pÞŒ¦ƒÎ& 'uÊü¡¹3ˆT*!®U>¼î†Š`7§Ç7 ­¹…"œÛ$€g `­ªÿ¢¬½ªýª”@6öê«éÓ ÚöL°ׂðÆê"##VW™ x ›Ý"2§ð�sî0‡ê> Ï}ÉåA+€Oþ7¢ÿ€/áå#¾´u_‡£{ Ú¦<‰׆ˆLE¼n°¸0=·¼fök¿Ò£-ö´„ø½M�§[Þåˆù ȶµ\{óúõ»¿ËQáé÷¿YèE @Ì÷+Ì{*@Â÷»Ev´hË; ¾¥†?lI\6üù„xÐWz`à_ºñ×½- KT{l6þ"÷ÿŒÀ\ýíjŸ�)ÞýxÖn{¶ã'áf�Wä _,:c#EGnÃEžß[DÀ±³õó_då€O�Íü2üŸ*n­NÑ.xª®ç÷iŒiMLä‰Áù\·“é�ÞãÐò¼ÛáYƒ*”‰÷õÚìl£XèÍW Ñ}¶£*"Ö]”ThŒZ×¾‹�ïK4x£vq»ûþ|§ùÍšù»®HgJòÃ`ÏëõjƒÆðꓟJ3Sx1«Špù*\ûÞ×Ö‰1màƒ¨*Ýfó�»EA=›J[¨Ð~«ÔÏþØPåsº#GTê4`¸Ôñ’ÿhÿGalñ¿ìÀê|wQÀ -0î^£U·¨Ày•¶[ à¡~¶3<¿ £‹…L?Õ>K—•Œý©^·÷Ÿ úqBò2úÀoSýá3úôÁ¾4c?ö§=Û"©€Ëé�9ˆ%ýHÜø}ýhܸuúÙgŸyöù“ÇOJ$Ø'þÛúù�`q6É ¿#¡|ö´ºþS޹×ëðp  ÿ6áÍ´ICd“:†®�d[ë0Q  CØ8À"šäL‹¥Æ'®4|�Æ&Ù´3G×9—_ðçtºôËh8ôÑ'ž8Za¾= -ãïÛ*$Ô‰Ët<ˆ—Z½Zã©Þʃ’• -ñB•î -R‡ixO�ÔÓG��þëRKŠÖÒ¬GøPɹœvœwÎ’ÌЇ\èOÑË1 ~yÈIÉ%µêµZ¥R# Úþôç¢ÿ½å'1²4ã8:ñm,Ï1£ñúúÚÚæ†ÇòlÞ :Á0íø=½úyËÙâ­´ú 9è÷îº�¹t0pˆXÑRñ¾ïî€Ú Ø@Ü@åêL¦ôL@«+KtMX#¦ ´d+Õ²·ÁÊ}íæM"/ž¾~Ó€­&€þ‰€±½ú÷=ì÷½õJ1€2 ÚÓâpåÚu�ÿðq}¶5$=�: ú•¾”® €ãÏ?ëxœ$þÇ?žFìb‰j�íÀV=�áV_xaÔ® ¶–Ø�¾Nh·+wðèàÑ#Gä¦?ùä‘AÎò¢Ê;?2©*Cm½æï6àzm®¯ÌÎ..-¯l¬o¬À§qrc¸íƽ˜ÿ‰Þñ´ZúÅðpã媧q„¤@J>þô– fðÎØ°‹O#ÄúæºøÏӀ榧—Ö´—œïsæ~&6ïý’ñ0 Àå´!Þb`úÓ•ítüÓ[v�.€±ØùÆÑ×½´ø.%pòø??yÙGˆˆÜA~¾{èïI›ù±ˆ €#T*EÜ€€E9A>þXƒ÷É€DµÇv`“|ëÊû¾Ó“³,÷´Ûé~ÐY¿Ó•ÓË!ùÞSŽÈ›]•GÞ¾(޵u C'€!‘w3x¡4Ùh=—÷ÿƒ;Ew®Utîü ¯ÎÎ(Û¶\_9,™r*è+ø²œã( (Þ�ºÓ]žŸÉ;‹�N§ûrÓ)f:wît?ˆŠ´ŠîT‡Øe4;wªùÿÌg×.îtV:¢*§´íðÏDÛCsTµ,:?誕ԽS­‹suñE¾¡�¡ -ÍçÍ—³½Š¼[KwºóEÞùªH1BEÞ͵úA·ûÁûÝyHY,±£ÏnþôLvæéxÌ€nŠn =áÿ?Üþïý>à€Cù¼;Þ! Tt°I -(›óÌ ÂïØÑ@f 00ðIáâÓ(Ò“B}–ùŸ“¿ÔÒÞ ‹¤ôÑ×þórÖ¿-@àÐsŸ9$æ'Êoyû»õì‹ð(àÏ(gFIð)ðñ'^þÙçß~ûúÕ«×û#‚ÿI)€„ýÔóOëúöê–‘SiöûÓR_é^îaõšS €'�”MC€À5#Z­- N¶±f®MÚ™å¨vLj!är#\?ÉÓ¡'9Ȥ²4PbåäìDfýÇ%7T&87¢ àa]ÐÑá*›Ò:]¤M@nÖ•¯ö×Xމ²†«Lõs1D�šDÜÇP ­QbR”F20Mu¸n‡ •Åãjø´Î­p) �ÈYN>ÖxµY×ù$Œt ×^"*’ë„zC»2ÿéŸ}ñtŠþSë‹ý-c�ç!†ÿo2'±?€ëIp¢ðÿÕx Þâ¿^(øÝ,Qí±ØhŽßßÄÚÎMáŽß|-&ÆÇsÒiD§ù{ßôâÔíj;¿˜]ÔŸ9‹sgh& Ï�¦êV«Û¨‘¥Ù§ï·Å_`mªÈðr›E£)œ{Âyñ‡)™-¨u»Ó™y¯ÖÔ ìR–Y>5SV„Ú}1¯O8üOE@©ó±m ’K=4²Ûœ”JíÔy�@'þ©â¢t#k·«í"u€W=L½b¾h©ÐÛK�¼C¡ä­B§fÞSηSEú¬þgu'Æ'ΞÝaÀAû�üÿ-þû¼K¯EaÜÈî‚€#ˆ€‹tôó€"£/ëÒ~…~ÇŽñÀå§tlgÎÐ*àºô›>’É]øIÈDÖ�l…ƒO–€#‡äó'Æcvüü;m:±?P΄à`ÊÁˆÿ_>ùì‹7$ˆèÈàÙgÚÞêƒÿÙG}¶Ð�¦6=Ò¢jåè‡õÄ—U9Ùf=à2¾d�úØ«‚}p‹¾" pGåPÓ†Qª èÞYô4‰JH—÷H�Nà\-Ø% -#4ØÀá'­@Z—×L�r–‡ŽúÚžr€_ ô’tQºQ èˆè¸±±F 8m�U¢(Çù÷°>_·W˜€[¿×7€5À[oÝx; €¥Ï›¢ï#Þ»+€à¿VtäZðŸ€ÿ•SÐ+ŸRñÓW¹zÚÏüüˆ¿vDR.ý€�ÀKÈßn‰j�íÀÏûßÏægþdæNÖ(xì ,Љ©ÖÔTðÇ;Àôým"o½2ðIOAÎu<Ö>o½Ÿ5@»{æë»98©Í”�ýaùh£ƒ$(³SÞBEækYá~îâ?61%U‘*RŽyË‹!ªjSE8´5Œm^ØoIÌ7ò•çLdµO«Rr„ùùÿŸ¤û¢ÎÉx¬ gÄ“1�Ñ¿Ô ùÓ™?¹Ýi(OFTDYK ¥Ôز„~›¨=ÓšhAð¨?—®4ôÿu’€ÿ ¸„Ð{¾ëQ[ãb ãȈòìå£vÆî€:6pDÿ|~�f,Ô—Ï)�¿Ó-{C²r<�Cí}b -ÿàxâ¿#î Ч£=à¯à¿M[ý€Þ³RÖžøÈ·¯K<ÿNDþwýh¸ À}Ð7n˜ô)ðïX@o+™Ù˜Œ›¾¥ xö0`T>úëRC29¨Â(Cd…uÐj„EZöзBIвëJÚ“ë-{§y(Ô{LŽÂC9½©v “Ê‚øT “Sû"w—J®ý§‡ý×õïƒÿ,e§Ý4¨û|œiç%ôSášþ*:Lvs,òR{Çžê¸Û£@¯TJ_jï]ZêÛ×3¦K÷igPÖÜjBm´_*@g¼ªÛÂPDúã -*ª�ÿ>‡+–Uí¡!OÇÒ§šYš0̼o,áj/®®­Ù}gŸ›Ýqáõ}÷ÃÍûžþ?,BŒ …ÀA}{þÊscC_›<ÒŸ€€‰oÁ*½Ewé»û¬! 6•cTˆr¸'Ú+“µõõÕ••ÅÙÙöÜA NW1ž)`ÏWBü#,cýEä_�€ðßk¸Éñø£Å�ßÃvã¿ÉïUÑ1£>úô"¯ót`Ã;0xÜ×Îø¾œú$ö;@ØY€¸–ðÿÕÓ< 0þCHì¢ÕÛ�íOdcù÷Ç' -OÙ‡\6˜ur�ÜçaÔ+�¬mLáo%0rfÆõ¸ÛÝñ|ª{OÙ-¡\ MLp`h«"òQ„ÿh¤À¾?C¯ÿ¢õÁX®Š¨hGªƒY+Iÿ7Õûð€§.F²N6ÎÌÿaùÄ‚ÈÖèÌŒçEùücä¤x¦~ÏäïÛÎ�=;?ÿ§’3­?i•2Jv‘ùæÿ£�úÏ(ŸÔ�ŸïVð Л €€në—³¬óèÀÎ~) -âÇ9?3:k§Ã}€?Ñíö¦~xôã‚ó€˜ ¨´ÄÿÝ#=K;J{8€Hì?„8uí�[W%è Ÿ¥w¾sõ´~öÊ€4¿xà¾lþ�w_ @æß—žm‹è¢÷1b•�ÃOHÑ-« ËCåÙ€Bˆ†Ü¦“°%¦br±µñ!‰†•€d¢vEÃÐ -:Z3ˆ×Ús!©câJå�…0Ö dô„øI^”$}24à°‰ê8D@ü”QŸjµ®šU²jÎÆðÀÑáajD¥¹ ŠVÝ\'2nT)÷Ü¢tÕ‚o6¡6Õòih –ª™Ê¢ïwéZ¥ÚT¥®òjºVî�sâ(õó«V‡«º­0ÿè‘£CZÕMW]éP.?pÛ÷2RïÑâom…$­¬â¾k/ž¸˜ëDñEÔ䣘 Àq@C¸Å_+wW7Ö¤!äÊk šúuПûˆ„ï>@8î¯oŒŽ†Ä8Ï -‚ǯ­®,/3—âÒ:)tú†; *é^/1Þ-绿“Ý|Ë€7,Ò(€0¼mßÛ<‡¿×¯½}íú›-·+Ã?­°àÈ•ÔÑÏ}Ng*@€øoxûd[øßzŸ†ùé­¯k4Ø8Ï39ð1[âÿ–z¦|%ª=¶[�ì öƒ,¿û.³ˆ ìqÎ'Ü&€‰"Og„öû„ñ†€œÇŸã¨ -UEcŒžénøî6^Èç[Ê-ÑÀ…ø�FÑÌ.^´`’ZäþeæOßo´ÞŸ)pÝE×ð޳@Boù W)r̶Ía3ñÁmÚ ZÅ_4ò–gÒeÃCY!ž?/øLe@5JÒå|ÖȫͶ•ˆ/Qðl‰P=fÞïT‹hÐÕ#I‘¨È6 úŸûSáßüŸùÊ{$ó9€]g+�ƒøÿ=€OÀ×Äpï.ÝjÀãb&€ø2 -à ýÄ(¦)<–èÿ�°3•/m‹¤?Ò~ÛšSäúõ7¯áмÔHø'pè¹Ï0`‹ö)À··bgض>©€È?}…ùÓWß¹uíòóÏžÜÑà™gxþyW(yü,�þØ Ó³1=ÿð6Ò’.¬û˜ 4Ä,;„Ž yGÐʵ Ëmk £ÅU¥ÐŠø×seÙ‚M=ƒÑôÕ&,Žmè¦Ë•rgÝ…r’ Hº&"¦ê÷Q_Òá�á�av¨xÑ�Q�TÖ¾ŽHÇPaÈ”�jåR¯¬"F»LU,–>–6‘ }5å\ökW Ðs)d Öµ™*Ë}áã:u>‰6×A·c•…ð>¿øög8ñ¶4Ó݈¾»¾4;½°¸¼¶N<¢ð".ðéØ}? 0ˆ�±â°€ƒþ’öâôÚêòò -y¬­¬¬%ZG9Žàîê7ÑUÍ Ð_{”ˆ&€»rÿuúÆÚæêÆÊÒÒÜôt±´J‡+„•ØËéÔûZ„Þºy“‡�¼vãÛÿö÷¶ÏàG¤¿Ød’‚îŽåµ7úû ÿ´Â""�øç/2þŠpÈßàþ!þ{Î_¿ýõ¹\NL@œz9ú`Áþz{øGÄ'Qí±ØÞïä%ìμ×hþÇÛ~p?6Ü -×Ó=ØÀÙ8MÆaعú(zÆÓàœ«3c + ù¿¸ÿSÅØ`ÞÉsfÄÆ²ú˜ˆ-Po4kL dæøøß¾~úùãÂÿ³Ï ¶GÊN€©€7¯ÇïÆÖ§´ˆÄïKiÛ" ò{ØÐðÐÐÀ9Øb“ch{¤0 z‰W�(q–·öiÆNöó% vqƒÜìfeH |HÞ0 4›�ƒÏÒz°’£ùR––C•¡#ôÄþ©4ÊÀ€ë­jë¨|}­S‡!‘]0pôð‘£R ®œ¯Bj€¼)��þòÇT�ÍíRÝ8)UªéÜ­]q�>ß7HWäú“J_”£"S -)¯ŽM%çÎ=‚ÐEÍüâÛŸ -|í{ÑžvÅÖÕå…Ù…¥åµµUyà2â÷RÉÏ—õ€ŽÐA@›¸ì î#-­÷Êh}uqvn™a|+ sË„ e?G€Bà›h¾Q¾Á3 ¿1ŽÜ½»qws�.€Ë ‹³y{ieÃèWJO\°÷ þ—#õv}Ë¢àñ-Œÿ² à­·¶ÀÕ+t¸Až7™`ÇR€‡ø‰ý†¿W~»\•¡/_¾òú•Ó'i yâÿëb|ió_oSŸ¸Ezaþ‡qž)xòü9: ¿ÕíáÿÒÿøÕ­õ•ƒ¼nÏ­™±ìû·î€'þà -Ú€°�ïbÊÀ°ˆ“(B§À�F=¿ƒò™|�„V'ÑÀÙcÇF±�¦w¥þ-*Â×L5‡»TÄ\=û*ŠÊêW":B�Ã9w^—¦ò¼ÃS i^dƒ8÷YŽ ÜìûTð–›Ê�Søä¯á­™b¤èº(Ý rF¹wB)z&îÃ":ï_rzk -JËèƒà•øÿƒÚìã¿è‚Ë.(Ûò ü}”›²sÀ -`ß~~ÂB |šÖÿcOé·§zq€ô7ºÍ¶"ÉRþðõ›7¿ó�ßÿ·ßAÿÒŽ\9ùìóߨÖqðüI†’ƒIp?5ÿ—à‰ò»ÏÂÛè-ýßa_;jÿúII+lH/¸$0Ñ.€Û ¤´bM´[ÞßF#‹¤ŒÓ+ÿ{�q:o -ðCÞåœ@ß¿Ag­ÐgŽÚ”dÊQk›ë¢ŠºóÂÀÑ£: =2ÚÔø:�8ΫòCÔNUPõ£‚iY¢X»9L¢ $N•RmØË�Taòà¨ÖyÙøã³9Ù;\7ÝãÀÿ“ºËÚPM)k»ð>ƒí4ÜýpS XX\Y…ÿôÁ»w—'‰õ÷=e�¹ÅßÍ»@¸òaòýû8çR�{cuea²½°ºqo}iº½°B0ÁGïÃmJÄ�¥Ñô€çwïßW‰!èH`c}cC•Y\š›žœ^\£²ÚŒxÁž¯`åîïëZòÿ= €“×n|ç÷ˆü3¦à�Ž¿&Ø.{S¨o¾-ÍþЖƒy' ð۱¿ä÷›ÿ¶“<~8ú€v•RíÄ¿gLïø°ˆU×�i8ý|tdºOL - §ž-Àã>¿º ËyµZ·;�ìbhrwý ~À%p‚>VäV÷sWNäÀ'ŽUκ#¹hÿ³‰n½ª4ÂW§lŠäÌÃçôr@ËN€�±¬Z�œ´„ÝØÔÔÉ;Õw%ìgƒZ¼I©,]á¸Õyw«":ÜLê@©…p? UŒ6”‰ÎêJˆÐC¡E ö%ü{ª÷ØX6Ò$A³G>Aù=›i�8À àMw)Ü�Ñ�""˜8W7MµÝªd¾¿ÿÿ·µ0 YŸº8°5À¸g¨©RÔŠ@vt¯@êp®ž£ØÒh}=}ìðS’=�âü}>dÛ#Râ?݈¼“"¥)Õ×uÈ=’úM¿\ ZA4`ÊK¿rJ¢åðÍo~çÿý�o_=}òø3DN=8}5:z€èðæõk׃þáñ—_¥KÛàþvôðáCO<ñQÁU -àˆÜçDXàiP -|Ú4Õô_LÕ1àÊwPÖi� ¬õ)`dj'(%%ǵDQ(3r s®hÊi:œ ŸrÕÊÑ£eà‰_Ý=8µ'd‘J5wC©ífG�|H�ÇlwŠ×Nê©Uí¡*®D�€*q–…H:BÕÈ��BìÒ…ÚHäGIË–!N\­'ÓMVý�l›mn7:ï Ì"ë]F,.ÃBvÐqÅ­èë/dK Èa¸ Ñ_/ûõ¸½¶4'°~ïîÚÒl{qÅ# -à¿Ò=ºU¤e}ú¼éC(þ+?½ P3úl¬®­,Ì͵g—V­ (Äq€½Mÿ•MúÝÞòÜ èëæõ×O?eàø_@°4ã_{3,¾·-oúû ¯xÉËÏÄN_¾r%¦ä0}Ì}A¾4š¶ÁŸw¯@2¯ð‡Æy–ž °üãûÝ�¨öØl€d-[3�ì?ŠÿvGíQL«Z÷.@ô¾“?/p˜a€gΞ=[÷lwÊ)ï6Ù„üÿ&þ1“žµ¿Íòj£ 'Gôó)�ò›WEf¾2Scô�*BÁ¨€8#U„jÈU¯¶SýÆÆ$*.ާF%|Ã$ðí'îdƒM*ך!ŸÌ!€˜¿àD -jXC´ -ùï´$‰tÄH>¯ŠøÊ €YM!Û­èñFªJõF”÷±ÿGöóÿË€¨Œ^Ó1ß]¶"ä;‘Æôòû²^GHýôB¼ÉÜ{Sÿv•cÇ>)êóÚzŸÙ5°-À¶#<˜ìëÂù7z©8ª•Z†½…Dˆ¹ÊúÌôç§ -ðÍo~ó÷ÿ÷RàÙgRàŇúp'rxS?šoõ2Áÿw‰¤¯�@ˆEòL?úį?ñk‡€Ó§€SÒ8Ì•�Ú0×j8¾Ú¡"ÇøàÐJ }N´G kíÚƒM“•³È4¢Wµ'„€eƒ²Ð¦KsÝì„«*ª—¯G–ð)œöK€°ÃÒÈi|”ЏB³Ë‘QQŽ�µvÑ�`è7�ª°'ÞA}uÀbÆ!K•‹Ú¥W¡œ|àëÃJJÉÒ€;þ/Ó-ŽÛ»ÓŒý-ƒýù‡w×,VV××y¿hKD?!õÁ}:ï`ÌœºYð( ·&àµ‹Ù«Ë Ë«w?ÜXY�žp�;ÿ!îñü NeÓ£Ø÷Sì ÀY››ëëk+K<ÃyyuC‰pý‰Ð@±—ñÿ¹îßñ.íftîðuGèêì~ýV6ìˆàù p�€`yXö¯ÃÖ�B×OÿA(¼`Pø9ãRè4×àd îÑoR9Vž(®¿�ß,®–€äfcd£Ïððoа`ÆrŒCÔŠBëö�}žV�¸~ØG ï�Óð¡ùx‰&@Qê#G†t *©¡| .8zÁ©4�à+Ò ì{CùZ:D DH+Ô¥sWÐoç¥”Š—¶HÊÝ`Ë…Ejê«ê¹ @*ë(WàÛL¨ÝnÁyÁxsci°=ðyíÅÙ‡Ú÷iægrñ>4ƒvŠÆáÄÛPôÛ—1’œK l¬n®oDFn(Pr»þ2¢ÊÏ- ŒtÎ.\�¿¶®Ü–‹¹¥5Kƒàÿ¾–½ëÛÇdoݼyMà”þb D€’±ÿêuXç=âµE|Ó¿·bYÀ;E„ù+Ú8}¼œ ˜øïã¿%üüySÓ‡Í5ÃÒ¹ÛG`‰ý;,Qí±ØÌ÷ý �7Ëïî mRv½2ž·¦Ò0@)€FÖ¨ëÏQÞ£øд&Z¯‰~�1G:CY›œ�Cñʪá•zŒ¨×ÇÍNÂ#½Žè»Óà‰~A΄Q,*¢MUD€Š�™4…€4="L1ÓÒkæöû †,LƒY[yP•ׯÏK$�æÀéŽèi¥Eè[àýÂé^w2%Úa)°åÿ÷ø_šj:ÞÝÓÿ´«ÞÇwH´�._²(Ç\  S&Γ@vd�À9$@½þeÖë¾úsçˆÐ°­ ý…î°¾�½­½¾që €¯;@ФʨàCšømæØÑ€QR�™ÈóßÅý—à~Dÿ½‚¯fº<Òð÷¦'>ŠØ5ðCŸ34KÔÓ±ZbT „…$ÐTQœnŸX'+çDŠ'Yê`Ù„®5ööG"óáÝ8U D¦I8pD_‰Ò8ôÔó ”í2ø0lÆÝ°l¡~®‡\­ÔiÀçrÞçÈÆ®›tlI+�ƒR:u§d%´pà×\ÿ¸½;,!²gú§ŽyÝÛX™�”Ëî‰7tRÇdý&· n»ëŸ |?< ”ïƒ"þÝ úß]§k ¡üµõ�5ºšÛ>DøFÿôIDATI*hÅ1¿9-²Ó†VÜúp÷à «€Íõ•ÕååÅvgy�Ö%tŒ`?óè}ì-qþò©~ª?v³¯ "=Þ?ôê#þ¶•X÷,a(€kWO¿xüäei " ß˜Oð÷—Í -ÀUÝi„]7 º¾~yk€ô׺-гDµÇv`3Iö7q÷ƒfÞe^>›¼Ô^`BjmhL <8¹Þ8W9[ù¤þ"õ—¶‚»“ )õ�r½u -]ÙbäVö«wÆÆfRaãpßÁšÛ[­ùF×á€t0U$ê¡3šÚ9•��ú•a]yÎy³‰DhJ†\š™¡3ßWfFG”¼3#]“© �/ø£ÆT¨à"âZ©Q�K­N­ È}ŒZÑSEúlb‚@_üßbf‹ÿ!zòNUªåÑþÜ €4 €€«_vˆ@êHÓ?ø§`_ ;²G Ë•yýÜù T„i£~Î -``G7€-‘¾Í¶Eˆì1âH4¿ùè€�úmÿÀ­o~ó;ôpà€í}b&Àgž9ùüóÏŸtYoê7E?,éäaóïK²-÷ß~©müÇØÕh8rè‰_{â×áÓá£G>Õâ—Y Ëk}ñ‰á~±WLuY°ãOà\pt^ ¤„N�áñoè«¶"wQVdh¨ãPƒòÞ €'>J �ÀSQs=Xj×?MwÔ%¤€^–€ÝeXúŸ³ÇÏ…‹&€´ÍsuŸS•¨(Õôù.MÙdžNQޱ[ç(ë�aÕ½—Îoð�>‘=yè£nØ%Xû_„îÝùîî½ÕåéöÂ"ð~ˆ†öôжDƒë |Ó…Ÿà>è¶ï¾¶Ê þÊO[ÈŠµµ ’ˆ 7\þR -�yZó.$qòLBž´²´0;½$ALB'(#Woã¯B¢y×wi)ðmñŸY€RàÛú‹ëÀÕ ~ðÐ2Á~×7 }žÇÿÒàÊ5©ðè`à'üo‘¿5U¶ß$Iâ¯Uç^þj°þïT‰j�íÀPØÏ„ÎÖLÖ¼ƒóœ# Îw4€gÙ$‘û�ò�ÃROÓ‘Lä2ý¾ÒúAãDµùžÛ„Q²gfæ‹÷ƒ±a�±\¥Í˸ú©—½CïªH­ Ÿ·Ab×C_$AøÑCª ûǨÈüm¯3N_»§èÊ/›oŒÔE]Fp=L5 !2c�W?$ŸÔom=kuGóB.¸Îãºû*2U#]U$î]]ì}Ȉlçÿ–ÿ/©ô -ßí¼Ê<Š�òÿ[€(Ÿ˜ç—&üÌæm[3èŒÈ*{ÄHH €Ö¡¿ÖÜ+"À' ô$À;7Þö_èë‹Ðºw-yø)°{~¶¶~¸ÞÚŠ”Þ?öpà÷o¥Qô¸uëê•“;û€ÿÇSTè͘pKp,Í - ­%ü' Ðl7štWHN|}[ššpÈ(hpÒN:ÈÓ¶ÕááÏ鿟¹4µ@HÓ( ¶²¡�øÊú Ú´B`S‡£œH©ª>üÑ4 -à×hp:Õ[)lQׇ"0Vo2¤.á‹+o`¯5×és*JE–}H¦:¡JTÕˆ³Dõ$kt.Ÿ2p Yà >¦û¢[¤«a…M½¸Î €ø'úÐÀΖ¹exÖ æß¼»¶4·0çÇ»C¾©mÞz¸=ÿ »�»»Ñ÷¤À"<ÿúëë„6ÖÝ—ðÞ]åÿ…tè®÷ƒÄzŸà5JPRÿµ…&Ñ)œ¹¾¾¶¾²,0»²N± -ÎÚÏüóˆwùǀ㧮Fü'zñÊéRx½ì@¸ciÎﲌU-ˆÉ€µçô‹ÇO•œ>}ªT= à¯RD%¶ó”ð>ñ �›"âÿã&€L»p3Fþ>¡kñ -wb ™¢@L•Û>Áô=ØÄT13q†©€„ÿ3õü|æÞw_™ù �'á¿]jºõ½ÿƒÒ‘näóY}b&ÿ Ï�ѪLS¶y«UÔxBS=<�5BÄ'üiˆõ–ä…GË»ŽÌÔüïüE£1’e"2µ5?C'€³•§UoQo¢È»užNìÆ%M¢Š\ ä/¹PÕ I¡&–D”ôÐlÀJÿÿ¾öoYøöE»:”•³ -bä§s“ÿ_ó¾àšÀ0ëóù…îü™þº!�©”Qy•Ýb)Yÿ9—çnn   §Äór6ñ~ë‹è/XßV_×âo¿MGÀ‡#YŠÈb€î˜L}€ß>ý|Œp€ÝfŒyT$ÙèM¤I�6£1{;"[fØl™PtDüÿuœk™@_˜ ‹Úàðs¦¾^¦i0.X:t tïà¦Îrà<Ï1XDIî=¿ArP kI¯u¤‚’$É5ÜŠÐp´/@éñeÀF@±½WVp™¼·Ehð¾m¥´:†–ñ%¹Ùƺ%Bo%mÕ›X3þ{}t‡µG»wXÂ~ŸÁ]7ï.ζ—–V×V×<•? tá;~¹Q�0ýÂî�¯ÝF¹¸Mï}wÞßÜ\í. -Ús´%819éKùH <¢ßÛˆ‚(1¢]wïn¬ñ0àõÕµ? Py9ìàR\øÆŸÅžÆÛ^À}úšsKŠžëÏâQoý9�ü‡—|Óè/Ïì&€¾>Á�Ð;Eý±XÑ;U¢ß(‹uÄ úX`;|ÿCz±LT{l6OV»Ÿ 'LáËü;ðŽÇÿL•Lö1¨�çß91VÈÿÎÞ³­ŒN $¯Wë�üÏÌÏ‹gÿb¨c>»oDƵ6|Ä­™–üê;yþ>9cÑÏž¥WEF;B:Û ´T!U$ùÕÍæ95³½‹VLXHP g�¼ñ?�ÿýÑö ÍÑE ×¥Zvxõ[vL?]ôTlufíIVF�=­¢úÈŠl—SùŽøÿ–ÿIõDóŽo¥m»ÿ?:¶°Z±^¹¤ŠÐ Pþÿ<€Æ–àúcÀh�Ç.È"� ï°Ûßb&ƒ0qY€!B8ï˜Õçá(ÀŽ€ /úFÀ€Ý#}VF$Òüwþ[€ÿý–€ð/{T™üÿ“߈,8ßkþ yȱ’ÿå–‘¿‹r0�ôˆÐ½wé`¤é[†7 ñ‰�8qÒ,åc†j7’@,Wí±ÿ¬,H‰�zÔY'�ÜpœoXÌ^�‰N NSUþ¨ª'ã‰Gb@Šð ˜>à™Psª¤*dWK¼à£ˆ@‡éÅHU‡*rò©(U#9ï^`ˆÎŽ›¡Ì”ØÕ×¥§ô”•K}ˆÐ†ÁΖþiz&ÒŠªøà›ë‹s³ ËLD^†Ç÷ÍíΛ΂uù€ßÐ ¦³yá\¾ûÜôìâš{ö) R(+eD¨À§Âr$�v<û~ì#HˆnØX]Û\[]__Yf€åÕè�@GA²�ù¿ñ>æÀI €H1-ü§•Ù¡y ûÝ–�ú‡—úf–@yú6{ùÚ}úä?÷³üh`¬ïY ~^åúëÛ©So¨úñ÷þUΓ8}r+` °¥<À³Ÿ`Àcð+›ˆºßkêR>Ó�ëf¿ÿÞy�÷gæ»­N§3Ó):ÝbæÎÂ5Œí´G�ÿ#ïüE÷vçýîÅDå˜èF ™)îÜù¿»¿?_Œ6^lv‰«KK|ÿ}yÑÅ�¢ êšZæEçû3·g>(ÚÚWwºEÑéÄóx;:ö^§3?Öyþ/Tvѹs»ÛÕað{{¾èüàœ"Ÿ¹›©"]Uä½™Î�ù¿xÿ½ÎÌm&Úét~0÷/þ¿óóÂwj´Ý‘Ò¸H£5?ÿ}-g²â|½ú¥J^ùܱ3Bl1óAó] -.ît¤$üÜ`]y^¼w[itçç?Ò Ý×ýèÜ.T±ùÜùA¿ÝùÁþ÷ùãÉò‹ïÕ‘¢ã90Ñ¿Ïÿo”Qz›@<ÀCòyñŸqûc!ÐbÜãj5É«¤Ìy)€‡bÊ´NÅÆc‚em§&¯E+À1€P‡Åæ�ú™è·¾€Ž˜ïîýˆØe2y'}ïzd@?7�êp™@9€#Ò#Ô•Š™÷™ÙØgv7Ø2cGÐô4DbÀ–€—¸Ç]€ÞTsXêu ,Úw¶GMšPDB8ôMh<£”òãH+wG8_ë.×ÀÆø÷ú„év«À§¶"®¾ªâê‘V%ùb(ѪCeë"·�ð…«–Ž�ž‹â\}q¹Ê>®M“X�ÂQRÒ¸ ö:ãŸÛ,c¶¥Oí> - ý«ôLtÆÿÙ7ח榻§^ï`.TNx÷d¾`‚ß»"¯žÓBL¬¯.µ§V7=yºA¨Ïßçè|vpì.R‚ؾs óxÖÏÞ`.ÀÅÅé¼½´Æ0@Ñßî¿OÙÃüw±—Ý|«?ð{< £ à�wâïŠ ÂÜån÷÷^€«W®\¹vÅ}xÉäøŸ|æ¤Àežxúô)ޤ~‚hcŸ�E€w=d!⇅mñÿá@ÏÒ@¾Ïø«[cô@¯Fc¬íaó26XêSóS?$e¦ÏÆ`Q4r7ª7ǪÕϦ9ôÈ‘áJµV÷ó=y¼Î¿h4rOYª³³¦óc Ñ>—Ñ®V_®Žò`ºòØe»‘Íž ÛžŸpμÁ~¤xY*[}y¤:úB§ÝhÏ*Y³Ù`‚áT¿š;ÜMò´ò¬=:ûrGå¨Ð*Þ0S™Wõ[%gIu–TaLBûÄèhu”ç•ÈjQ‘(¬Y¼PÐàÁ£Ü<„­¡¢¸U»Øîþ¿4OZÓz¾PÉo§‰�þü7�õeÀƒÂ(™øßUå¿ôP ƨ”4 ÀÇw‰€ye‡¥°DÐß%~¹?ÿŸz¨óHÑ›;$@_€G|›ð¢/NÇ�GG¶Ùö@h€Ý"Ñàñßú”€óDþk�ðoH²Þ8ÀÄF[@߉%�2ýbÛOÜôL{j·€«vàµ-3Þ’0ÐQ»ÍÑ@8ÄÝò‹¦`,ÂGgPF´—¬PŒ¼go’±e¼e£s8PöàRà¡@ô°*¡*Ô SÎræÇ†>‡×žúX¶pTIŸˆ wT5Ÿ£ÅV*'5ä{ÀKY r†ŽZï°g`è7B ” -`A¶´´¶ŠC~÷Gz&ào·õÍuð ðW§§ç–××^!Øñ}Üiü¾Ð �³ïž¢¸ÿ]ÙI_t¯76äþÓ¦°±<C÷ ù4ÉÇ<›�J¼ïÈÿ‡wïãý“‡s3æiK  €€¹v{qMu%ë"û˜ÿCïaüQ•}®Küž�zð7{ã-·µÇÕufìÔ_Ƶ×ù«í_Ó¨O^ÿ’×ë_MÓã< H*ÜOº~í -ü×ÎSb|ô€þýèOëÛ‹ý€swDüך"öü‰<«å3�Ÿð+[ÕçØÿ%¸5ð5ó|2oŽÈË"ܲ¦­tcJúª¸[e" ŽZ©“€N‚ôÑ“ûFçü1ï.Žeõº® Í<~Œ%1~¤M/=É”fÑžFG¸"Ià¢çí¼YT›m2ÚqKú,†@ìðÿ/BÚÞ�È»Õ!�Kdk‡ÿ/þ[@cZëá´àVi‡nwÞ€PÞ­œ1@<ÀT—¡vÄdt MGÕ‹bz -@Ç­@|]Ž:Aý›h€~ °-c¸uã»Gh�ìï(ÛH€Ýû8°K€¾yn–ŒŠí0·Œß›Ô°¯à7™9—ká%â¦ñs�;h×ðCàf$–¾®án¼‰¬þà†w€¤iô@xùf¯Ñø9!ò[!Ì^ƒÉÄ%ÔCÐê¶QщþÀ}”—MÎZ’–ÒØmàÃQ1"ª65rÁJ©™HÈé\œ³e1tŒœ©Öœ7tŒ›&ãQ ÈS ][Zœ[\\”X\[‹@¾ÁJ�0ÿ[ô=öø§Ð?ÏêâìôÜÊÚúêºv³üËð…ë¯DöÑùR�:ÃÿnD 6À÷Ý»tÙg g®­..­2þ_ ïê~-žæÇö¦p¯/Ü|åp—€$ÐÒåz © F®,ζ§—˜ -˜JR›ô¿æÑ¯ø»ØÃéç€püηˇ2ð;~°þ²DVÇÄ® -÷0_®¢~|õÖ÷ˆÈË¿ü:- =H~íú€øoÿ_„?åý§ÝI0!ûû”’l�îoèdZÞ¸|œ™ùsÜ¥€Øÿ,=G~u+ŠÙ¼Šw;í<ÿà/ÞïvïÌw'«Ý.!ù¢Sä„ÜUÛßE»›±ï…R]dLÝÙ³õ¨Ñ|Ï4þáÓZÝb~ÆÁýÛ�™âÒÌíB¢`ªèÎwf:ïÍwš£<]Ÿ”ó"ÙT^4µ©"dïæÍÎt»ïßYè4ßWI²ÎT{**R¼;K¥T‹²"�æXçýn§øã¢ø€ø´ûvçÎØU¤[LóÚl·…fšó[xàõìüDV?[/Šl$Sv:Gù1Ñ¿®T¦ÂÉÍîÌÿûªt­ygF •j]äí�–÷ñ¿ßÿÏÇšÇ[�Ñíñ˜à`§ÿŸÿ“0ÿ'ü ¡þ’gx/"µ80z�À…2°K @â'kY„QV¿ ¥À™�§=ðmûâº>áÃó׊m�pÜsýîØÑ`÷Q!È_yîèàgÜÚc€›)@'@g¶»6†ýŠq†±]rçÖW1¿œ~íEs…‰fX³Gˆ1CŒÈ$6Kï×î;\x´(ÑÚ"�¶í#2\ÕÁ -m‹¿>ѹ™±ÆêöQO”€²¶€�Û"F0�V|°O2'þ:¤:©Rª ê„>Q,RÀŒfl”´9./½¥AyúÚ#–„ÿÅň™eN§ ýÝo fêK^{±°¸ºº¾¶zwݨu1ÊŸð¼¬\¸`‰U,eM+þ¦œõ…©éý[/K ÄwW?ÐnW„S9Á™zðÿ&v:}\"×QƘVpÉSÇ„‚Ä&ìcþ½—¡«o½uã�S'O_¿õí¾€>ûÿ³÷¿m]Y¾/š6vªâsíFeGy9)ÇU­Ä²«Uí6Ô�K,Ñí -oT cFì´ïA½ÊRÚj5pò $võrpõݨ{ßTÑ–Q(@‡9M0ÍÇ@Ò›ßò'Øû¯¸ßÏwÌE.R$e;ÙuÎÁõX‹kÍ5×üµ(-~¿cÌ1çÔë°:·š‘bµ�7Øï…u! À<Òý¿¶¶j @bóо;7=ëõ€í@O¿@Þ§±ÿzx›Ë[œ•Q¶ÿaàê�òöÂÙ3¢.¼´<·”–‹§o¨â訠•аR„£zg>Lÿ$ôX­èXª.2 -`!ìË7t»Z½ö� À@Ü�ð(Œ0œüèÎWÕke»îÙ�� -FI•À„ÂQ5¤TòT¼á¡ŸK©¶ÞºUýPj» -þß=7 ˜J…V¬Ò…oª,-ð‘"Ô0 {7u×Üç],‹|¸+–àÖ©ø¨¡T¤cB5Äã w e–Þr )'å„þo‡;f(Žô*e鲬¶ˆ êÿÕ@¸ DÇBBµôzj“«õ?È�  , -À”ÌJ¦’)^ɇ@š€^TVñLƒÿÛl!þmé‰ïÛðÅÖöh @È( ”Á $úEöð(€>ýy¶3 Ù ÿù>zôyåÜgÂuÆ óãE¿ÈRa#Þ'h~ÂöDüó-!*º‹µ=ñô! €AÆÇß -øÃ```EÛªè <¶�TI¬ß³‡-žh¤`„€6൞òIKmï> ÔvÑ�üÉyÞ\ˆGöwðäÛ'‚DDh˜À›§çžà'8]=Õ7êïd´`?Y¥QBÕ—? ®F õ­¶ö÷öp°(9ß±ÊGóö…¤ 8˜­K‚*U^§n·Õ¨“›Î€Ã#&J…wš& -ÇGEº€xFäOã`ÎØªïïÖöb365CN¿'Äï–»®¬n2€èx 2Îí�¹ÙUzéx)ðÛPØøßÓúûGÎ=ø·¬ml2Àª×Æ`~~nŽCÈÚç„ùù�¢º( -S÷-’WuòkPTBµ—òÌ‚jwº,—–ß/‡‘»\Ý]¾öH@jE´Š–JE—v”ÿ°úûr±º0õ#€0€›7Ð\E„X·«)»=ú%Â_S @§Ý¥*ËåD©™ÆÌjAá0ï«ÛJµ„^Ž‹›ÚÃÚ:™úÑ -»Ë» oS­Q¶äÎîî5û#}Ô°Ÿg‘* âA„uo]_¼u§R¸ó{’pÓD¨Œ+Ãûï+ @˜"€î~Cú2Zÿ{R{ÌvÊ¥™Š¿=ÐÛžéÿ»`gâ‹Ô‰Öêa< @€ ð‹‹ý>ýi¨�>€¥%eù ÿ=ŠK}0`à 6߃H’að÷ñ­xF ûz=�í°€°|*°þAmÞ^îÒ׸½õà³/¶¾ØŽNýí­ûPD %ô¯MNFXòø¯èÁyÆûÄ<Û™¥y @þŒ¤ŸÝq:€!�ÌÐë0ì{CËõuHfð-A"é-ŠÓáµÑ9° Œ'ÀÈ16¤Ð‡ ec0C´¨Ãðâ©ðSð†€ŒôPT²h€.3 g±Ä*|öãã§~®è[ÏÄ ÿä)I$zîõ$S#',ã‡-{É�ëpA’ø‹äÅèo'€Nã`¿Î4’ôUú;Å•_M)Q…ð}èp[hö&î÷BB(ð‡mÖòƒô?¶ß9ìšø©@•¥\ÊN@Áø‹©H4| -Ž"$‡]Y¯ìíí¹?k7p’øÿx’°à¯À:€¾@LÞ7ЛÊÞ³ÅÞ ëhò¨ÍМ÷U½zësW®ÌoüKš PøÂ sþ¨sþ³*F0H”Yû|rìõhõUAþ…³ç/œ½8£·=¡ÚKyf‰.êÓ„‰ýðߓܪ~S*ØP-Œ¬z @·ogVéËÕG+,üæ[‹BŽ›Å7”âöî5´þÛJ¡ €WXcàa×üWÌî£÷ªžPsiH¦WÿX*2Ã�g Êl�’ÊHiȇå¯wª»¾LðϾÝÝ‚ÀÍ—;�°7Š‹‚ºÅ·Š7íÞPöRù©t‰xˆ¿“dO¯6 -åß+s4D¯ðIÕÿÿaWh)½wm�ï/I_ÿßUUÎDë2 €à;“Ä,×.¦>€ô…šx.@‘ jNËÅ·ò6€¢Y¼ €þ4·ÿ‘Ù™xŒA@J3€7ÏY×-mÜ÷@{«þŸ�ùD~æ™·>s?ÀŠäyÀÔ´ëçh”øŸÝÙþÍÿûw7™h}cóáöüô…�‡ôõºõp}uýÁCú¶ö,x5þGO”°IÊF|6€Ã£Îa»+P2/á hðíãXk•ÐÀÀ Vâ$¶!‹x:R¹ˆDKŒ'ºE‰˜T½ÒxEÛ(Z. œÇYÎ2W!êþˆQ#|´Ñó° µÞ-¡RÒ£Ç\`­zŸÐ$õô˜ð~îÇO!¤CL¾}ªÓSü|s} €Î€ žEé/Å_@w„@D®"»È 00·[u¯ |B`UDËT�Ó™ -ÕíÄ»ÑtÙ@ø–�:¦DwUF—ž±‘„cS¨�›à|üe¢ûŸºêS)Ø8`‹yÔjÔökûÍV—¶Ó0U³˜´ùÅ/Áœ·?Ý\•¾¹�|ÂMØ\³À(œ-ö^X >ßÇL˜ `7�3ðæÆü•wèØÈ,¾ÁÁ'΃ǹ_lsúŒ´Ì^ø�ÿu{€œQ�.á?"pá¥à¹EÀö ‚É»Äìþ%Áýn©�ô]éºà„=£ˆ®Èÿm§pkáG?zsaaQÈÁH³[·nï^­HW"¡‘ÐF��¼ÊЩ«À�ÿø þE¡0€Ä¹nˆˆ*ô£¥÷þ¬QŽiHÊ&»!ñ'5+5 q¥»ÿåþ t?¨©Ø½%R¨ unîâõ…·n”¿Ú- .V�bžá #Õò×…ÊWƒ A³ÚŒÿªÍB2ô7ôOúúQ¯ÉBe·üá®µË Éžþ¿[ºÙ÷ÔÉ­ÍæT�ž`!opGK¹ú�€½ - -S@OŠ 9À !zòÕî£Güæ¿þû¿ÿûŸX÷™ofˆ¤^€m4x!ûñ›%Ýú<2|üCÒ­bS€Uýlù¿Ñâ{Ÿàqðùoþîw¿Ûœ_ÝØþíÖìêö¿þëoÿ?[«·±ñðóÙéÍÿ¯~ù>߯ÜЯS¹ü#’w䟟HÀ³�ÐïrÏ�A`Iœ¯�7VëÑ}Kú0é%ö1YÀÈ ÿ­O@e5¥0jä -y!dÊv¥K-‘ u?yâ§’œC¿?-TKD,˜ÉÆ9Aaì–€rº44òXRë•˜æ¨ pšÊ•- *Å©…"6©)ƒ€ððòL€•Ì`ñ•K8<(Õ�÷£oÉ»×h6›înWVþp¶¸*? ¢šU”|¡úsº�@Wþ²J/�¿Ñj«ìv“niû -u�¾Á`Ò¹|}ø#øÏD3Ì%LgôéPPßă֡î*›¢ãûš$é?y²ˆ|ÿ”Þ;÷úõïÇI¦õ�À9Cu××77Vg= -ÀwÁ1€»'ÀçÐßüÆï†…!Y ú’~Dú‚@OÀýØü“ó¬€.ûzé‡ZF@›5z`.D1›o�·úP¦­w+ZiWu&JLÕ¤1 ÙÉ›Ý -V »Ö»iš`˜4Qúx(Û\)ŽÌÜu!Rö¥““l€½[Â}[h‹žIÙ](•YëO—"X¢¼hÉ�ÔïYœ¨ïàh¥ Vs€•�áQ~XIú“ ÷ÁðnKä¡Iß½ŠÂ¨À7 •Qª \&ÂO= ü?¶9žÊ�D(çÛ£o»Ýf³�AðÍŸÛè~ØmƒðA²GqùþK¨ðÃ#%„`4è1`·Ýl5DKj»õðh< ÀpФã‰Ãç’=ž -h›n»O·6ÖEeÖŽ–œÖ?,}phçtäŸ 'ÀÕuc{Œ@”"R¥óËô¯s ð €^Dö°`xÅ\ÁŸª½”gêg!C üc«î|„ÑxÅÒ|˜@¹šÀ› ˜Dt €ÀüB  ¤–Zl L}ú|´ ÀqO¢ -þ€vðû`¼ n·´dTÕ'5Ä ’R±MLÿèÑ{eôi* UŸªv¯±Ä�)€R¹]¶£X·ˆà­ë7«� -�ÂJ Qað°Câû(=ºV‰†Ü*ëaŠ8CŽ�qúÿ¿Wwff.^œ¹vé⥋–mHèÿ0žÈ -ëD[c%@= .̰ �,Y@°¬*€÷–ÞS… ñ3ˆ$ÀÅ7¤ ^|ã'TÊ$jÊÌ8€1H äµ…|ÌÀOàÕ—{�€�õѯ}z¾¶ô¡´÷„íyšÛþn #À63žÞßþÝÖÆ…¹û¿ûÏÛ9S$ 'ñ#2(ÆþLŒýxÅÐ2^ $€ÓèQ„À�€>!ÅÅ1ïœuˆ\ó1;± ÀL€(�¬q+tq‰Õn!)m0�ÑÝC?¦z.é ÄÙÖ~g…Ëô°†ÊîÖ(qX(Ò ¸­4öH% üM\`fņOX¢%îï[¼¨�0ó„PÓ ðç�¨äv€. Ír@¾5t%Q]ÌðÇ× ‡9ä’VY]gퟣ:{<ÊQ§ÕnëºÛnµºj´Zlúgôg×#òªJÊñýÝôKÄ?ÚmƶÛífóà`§Voã\øCÜð ’þ§…~ÿþ]«³"¿ýí¿f€û¸ÀŠ7V¯ô-ñ"�|ýLj_m��÷1€õ°„n??� %òià˜@?/W¦¦š5,vÓíãÿ™3z;{Iª½”gÐà™eY°[,í–¯.‚E�i£RBKIµ¼ûU©P½þæ�¦Þº¾¸yƒ‘m»×Ê¿¿%<®MáþÏäÿ±"_õ›Ò#!ªñR°ì‚3ìM‡b©¸\-,�)aXà“ºŽ‡¾+¨~ôhi™n|`ÓÝÙ-|ôGž@ûI¢vóvq‘õÅ¢tû?ý£p�[JIÿI„þjÈ7…’¹„Ë’>)þ¾��þÿ?ýûÎÿryÆk`:_€ÿ7YHÉ(ð?ÍÀBéi< À/´‰ X>Ðwëè»ONñm -Éß² @R(,”Jï^¼v­ÀdIKÅ÷g&0€ÅE^ÎQbd•F/ï÷„õq€t‘n܃Z¹]>Ãaï9à?2"nÎßݾϚƒ››«Ó“nŒ’øÉ$ÌŠà~’€ýÎégwœè'ß]»GÝn«Ëø2)…à¡ õÝ» öV)9ë@'¨é[À N™Å€r(âDqÎ žP �J&¥aWßR3¢l[L¾}&z*¸Êr.Šöý> ¯Rš[òßh…X‰=NUÐJmî¾·€«§ÇXhÅéf"ˆê€¸ççÒW9è@©p!1`Üj<ª­TkM!&ãó‡Ä-Ï‹Þ`¯?P»}°ß¨·»mq1kÜ::M0þˆ -° ÌU!V3:þ¸.\vˆ¾úmÛx±þòP=®øCäGå×S¢†0@@Ôz}:�N£ÑØÛÙk6;(ÿb�wI8YÒÿq¾]ûr‚`mÞ>ÙL€ŸC>ßúôóÏ7Ef×eÖŽ@~¢Ø}\]‡ÌcØd5ྤâ§ÓÀ1�~_®\™†˜¤_ë =ÏÌ™9>ƒçÚÚª½”gÃÁ3 ÓÝ•wß»&DÅü� ±ö®ä›]acDÊK¿/¾‰à:#Xõ«By׊p`!H†õ?Ìÿt Üúºô˜j'�4 œ–âGï-íŠ:(‰bëÇnÈí?b¸¿Ê_í–ÊbÆ?ðÓ…`õ—ÕG‡¬xAØ• -鯿µX¼!ðõG©½†Äˆ: ñrÃ�<[–ß"8J¸ÇíAýç™þ«M�¾þ#³ˆéÌôÇéÿå…b±¿@„ýß.øº ü݀ĸ)*u;�°À_S˜bq€ ¸ýèëâÌÅkÅR•Ù—ô'Ϙp|¾äÙ`;æ@>‹a�Ÿù˜L )ÃQÊ ýbÌÎÎ^™½2·zoVzÁôqfvC¿,ºáŸ”U‘•¤¶õìþ ÉË@€$(À3Z "’£N[û2¿ú &  AKA›ÔZЇ#ÌqJÊ´ÀN€`¬ð…(a‰ €îP½Â= ¸K|ºep¥L W4Ay±�„F¢�' €³*š�€ƒ} D$@]Â]TvÚK Y$¤<¶€ëž ŽÃ6=+mtq 0J²ÓGy -é.j¸  >l7ÕÒò>nóÌÊ7$~è!«­÷RÜš-a®�×iÁd -æ‰QÀÁg……ö¢G ±MB -8´ÁAé±C´¹xÜ•Ú/½Ÿ$�u»k–äó¡–„ίæ›Dv3…8Ãa§Õ®ìì7:ݦ2îųO�xM$ò§Cðõñ*]¿ýW[ˆÜßÞ¶`scŽ…ûÁ~<ýpòsgJ�õ�»ãh7º³±¯¢úÏ]™c`Xf1<�@ïlX&+9i0þcÀ0'g_€ç£Á3¨%)•Þ/U WqT‹Uæ�;a ·„ÿBðª5éåݯ*Kß,¾ùÖ[R¥ÁÏÛ·w®–YY‡ ÕêmÁ— -‚ÿ -éeì–¾ù*cà’tÇGTo¡óÒ¿�R©!Æ<ß*³N$/í~U¬<¢$á6¦ %»-\½V}„÷!ãÝÐóæ­Û‚ÿ›7m·(Ww—þ“ôP¿ÇCÒ¨Hœv®•þhFdÊA5#Åé…ÂJ”Ãÿ�™ÔÕ¯6ßñÔŒÃÓ—±ËÂ7Ë‹ 7Ë7 -ä�uRs„ÿ, Qd€ë……`9ëÀ€q$ú–’ 3`Í_xKôl·zu¦/á^ùý½x޲l1àxà×Ö²žÎ’!gâ‘ð÷K«}ð[ÁÛ�¾�×êG -%05çÕù+oƒòüºÜÛøä³‡›³.Lo>Ü6¹çÂ)1IHbÐï‹~UÜןIÀ~/xˆÆ?îH3Ñcz�õK äsŽI±0ÌøðvÒ€î R޲š<îY\WXå¥"€+¸T¹¥`"ͤ…¶�–²”tŸÐ(ØyÁNÁ¿´÷Vcoeiy¿Í:INIÀT)ÝLäÓÐ_H¨mg; †dÌ!J -PóðDGsŒþÇÝvçHùôPºÃs/Â1΄bF{†€Àü¸wÄ|ßeØ€ðï‚ ‡ê?¦^߇´º%h¨jðŸl’x˜­H³ÀÜn.–A€»«sw{>Â~n}úéçŸn­Ï_±¯�^±��»Þbï…9ð��s »±¼ç°¾±)Õ=ÞißuªS-Wá?£¢ea¸·úqf`Ë@XêÛ—„j/å™z61Ū¥k=ºóÅ´¾Â …„•üÓW(°Ò\?¬–¿þZ0\ÄÂ|½xè‘í.••à÷_IA®Þaâ<æöï0Q ÔßÝß?úãîN‰Eû”$ÛZ%–T¢)øÞ½'=™ ¨_âU¿úú›¯îüÞúá‡åÿú¨´ãu�û:ë³ûo"LDø•çï¹}§ªÖê–ñO |Ë.ïÂãÊÒîï=aŒÅípC¢)•˺!•k¥¯c^£¬!#…ÜôAýÿ²ð_˜O6ââé°,.ˆ@•~AÐøŸùþߚų,$ @¯@àŸ, (*åé{‚À[a ¹Y¬–¯Î,)yò¶|ÿýñ àAß?‰dxŸ£=Icñý»µ1?ýö´ßú¿öû?­ Á´ f}ÒϯÊÛ—{‚óÕ-ì“k*/Ì|ø›ÿüðÁï~Óo𢏹ý™Ã& ‡ö{òÊôâߗ1rê(CàÐi5;è�@aÒâ€V®Áv eÚp’¾À)I›,€EF¢¨¨‰›ý.Ýà{;·´»ÝÍ,ˆJѽÌ@Y®ž�€ÏOŸ’˜¼€¸ë¥3‚VâÉŸ³pWm€èÒWÙ(€ñ1?3ízbý;‰U“J¢‚ʇG�v³¹·RXÞmAc ƒâ–ç% ^ûãCüíÄÑ;‚n•HbºÐÖi%( ¡¡2=6 3‚ƒË‡‡�f[Áîa»Ým{9aûvpûT½G‡ T•Dnð_!êILÂÅR+¥Qvˆ.N�áè›J«Ã©ÒG}I� ŠÀ½Õ¹Õ­íßþ+«Bèpº� Ñm½ ~7ÃmÇÞ;)äñ>ƒ€îìa˜ŸçÈ|ôgPO*�¼å’ÀþÙw®\Ñ ¾-J7{á þ'0dxIž[Üß|ªç?Ü­àž^ÞÙ) -åK þMukw÷ëo¾ùúkÐ\*ý²RéV¥4S,/,ÜÔü‚ûr™…s -;B,Öë+W¿~Yq¨–?zôõu*²xQŒò +Zp•އe<áJæösC*;Õ÷®)ªXÙQ†Ý]Aqu÷Ñ¿ÿojy¨LM+Wv+…Ru¯Z}ôµ¢ÔfVPýôbìŠ#Œ•þÎ.óú—‹p�Ý;å0—)o¥p±ºû{P¶lØ/‹U¾5²ò! Av*¥kª­Te%d*6I%jÒpÿÿNØÿÍv„èÁXl"!ž� \~#gÿc! ¥|}€ @¡ðº @ê (ÝN“.-™v¨ ,ú[èP\€èaw‹jF|ý–Òxàñýÿû +Ò·Ýöx«À�¯ËÌO0 ÿŠóoKööÏþµÞýÀ}]ûÑDÞž~[»“Òôìú¡"°ÈŸjt¹–Ab2x£wϸߗ1£³Ó©]è‰`͡Хm\1€€1# @ÆIhƒ:° †¡›ãægF`T&½îq3,�uWXnt˜ŽG2 QgA.¥$ §º¸Êt-*K7°hâq‚ˆDVWª€Ž:‹®ô,j‡« -2"±€túP²ï©²lO’F(`@K\YÜçq~ÌFJE¹?@©‰¦`/Μ -¸;�æÁ^¥¸´×¢AíA‘Z=$jvúëxþD@(R XÛèö‚Âj°O�5�ú´Ûžwè¨So4Ûa¿ˆ¼ Ýiv•Kl€^ÚJQf”ˆŽ©B_Hòdä&9ÉܪKjµýF“»*ç™ÿÄžd;�û�€lÃð@yþnÌ>€`~…ðtŸ0®Ÿ-ö^xµïê?AúÈŽ`C€åmЫªè, Iœ4 ½ßèïó;:ç-ú¡X[]Ëæ€d±ö—€ï,3—Ÿe»víZ¡ ƒdéâµK—fff.ã·~yæâÅË—/ã9Ž( ¨Ë×.^Sü»gß=ûú¹³¯¿®ÝŽíˆ3ºë+�f.:ïe•Nñ3TPÐvé"‰œìÚU]“��ûº ¹xM•«Nš€Û¼Â®äÚUʾzY4Dw}™êRÆk3j³žébášï�ÂåëxU™/¾Î,ijµïPrÕ9)Ky¤�Há2 q;âHé -ŒØÆëÿ˜pO`&œûnÝ~$°ðÖ›o‰Š‹¯ ³cÍÞòMpÿ#z("Æü Àõ Y€-Ú±¼·´t­|ûƒpfÏ9Ü,.¼9unj -oDzÀ‡»i°!RËôÛêÛð…6ý˜|n"¸‚ÿ`lžÄ…UôôííÊ8$åÒm}¦´“^Œ^é!P~æ>^»—ïðÏÃIIŽ… )ô°Â(�º~ƒ -„¿ÂoH_^Å��}&º&ÊÑ JÆ hñíÑq§Ñêð;n0 ’8 Ò¬ü ¸…j¨ÉÖèaha°î ³¡4;'Ù�`nÄ–ÈP^��N© Àåé;·°Xк•Gà”,&(} Y͇8' Qõ -ªØ¬ À ­:r7Ê]èìºêûÞSŒŠxÂÓ–ñ(Jù{ <#�ï€á]¥³T.¨l>Ø[Y*íÕ ¢Dˆtë¡ e]¼6íÔÌრ-ï*CwŒºJD?€’ú†;ðÐ÷ø-�¨ø‡ÝæÁ~½öwñä;î4ëÍ6‹Q(þäÕ·¡  -òßË�þ¸kÀBú¨V†ŒBšõƒƒ½Z­Á ÂÇzŠVcO‘ øu4اnÿžpñ`{k½o%xðàSñÔë]›ðçÓ=ý&Š1Þð¾.°:;{w=³Ìæ,�§8ùý³ó|Rß½d†obLÈ</-ßYrð4aÌý�ÑîÚµ÷~rMÐzñ’�N<à’ñP°OÛå«×Çe ý@Ó”`8ÜêK3—¯’OY„§W•ÛRP±‰%‘…³A1._äþ{‘æÚµŸˆ'¸HßâÀnN  &ré'4$ê¾|zbK¹zQu]ÐiC*ć«3 Œs«ßPÔOÄ!”Qb&r™–¨ù³äÂÔ8µ„o„g�ÓDNl3'ûÿ“þo�~á¿¢ñ…TðÖ_ - ß|«úÆë…rùœYè1á¬ôžà„€Éo` €ÀŒˆ‡{þÞT�¿¹øÖ¹s?š Åxãâ­Ý÷‹zKi øŒ™ÿ¿àG‡dÀÿè0ÏOÚzÂ…X‚öÔc“G’�ÙzG¥ ÆË'÷bø ølû[67V¥�Œ"¯¼N€Ã 'üˆOàT?þ­&s£BêGZgkßÜÖYpêIrA[zô�Tß�×ôÔ£ñ*kâæ¦N \›¨T)ùØ ’€B)“’i»ødPöœ€”= ùâã£ÏH£|ëéÓÿVy Ò‡’©“VÃ"±Õ}û=(ÀÃ;‹+ .HŒ‡¼ÂLÚÊãðˆJÁ£¸DžC+Ôdä]ce©¸ß@Ã&jP �y¡K�§ wê{5¹´uÁ,Û·lt _­„ð§û–\¤ß{àãnso¯Þ"9®,çwPg,àã#ðŸ¿ÏB&•åoLE€û4.è:ð‡2ë­f½¶W­ÕUÏCåþ³M–€û„ùôgþéú„@ÇH;ÎzŒ¶ÛäÕún 4¿»¾qc~vv^ïß�€D:`¿Ìð–ΟggWÍÝýƒÿ !² ÃÉO$Ã2I¨öRžY¬ Ÿ*‚¹ÐÑm0pKIW^áÝ%.{ \^{W xñÝŸý˜YÀW¥Qj7X+DwÔA Èj €!Ü œ†k(˜)ÞX.¹rBÉnH†ÿ¹hÁµË1´^*$eõ¸ ©É,�ÿ¶"¨ -•À€w1EÓÁø„U¥dÍÀ�ð_hæ%œÛÅ -SŒÓÿŸ` í#PwqêÜ_¡Þx½X^H€äxçÎ?P\ - 4I ÀÆA†ÀåÒín3 ”‡üÇ¿œz“õšŠ§Jwb¾æ$¥Ñ …ÖÆdnÞ“A@à ; šã6¾F,„‰@×÷ûàÎZf÷·Üߺ?Gxïû Ï8f îT˜,ÑÛà€…“Õ+ÓÚ,#¿,!£8À«§ývx‡�pý%�t�¬¨ßé·;;Þ⺻’#:0’ZÍÎâAÒÀâ žº°•_×='@å&Þ·”Ð8«�ÉEÎ@HäÄ= €�7ªs@ç^€$©ê@ü€À�ž€–kÑ•Žj'ÇP!×ï[Q‡̈?ŠäèÒ±v�Îàôn¿¾K?Œ0·Ãäyû+Åå�&X)’øês"=ÝÏrÜ=j7ööö›ô0„0´stîàÆl¯:¤Lþ›Ò¤ Àv‹)Žš�}†ìbͧA�F½Iî#`Á‹T_1;ÿ¤ÕÐ�#hw:­N§YßßßYÙa1 €�I©é$½,åÁ¶þïm`&ÀŒÀÆõ¾mÌÿµ�¡ÖÖÏG‹ñû4 4·`óîì•ùÌ€ nê"Ìç@üœ\™»2{OMêY2€édȼì S‚þ�„j/å™å2xvª$Üó~ùW‚»Ë‚3a ¸+4¼ -ðe¸«CÖö‡@Ðè4@,S!« -@U§|•€‚€2è®K¿jÅ�Ö¥ïÿØ•ü]ÚoÛ.I¯ÏÚa Àå¿*ÐL罬Ò ŸâRX 6Ûk')€™×1^0=Ž¢ ñ™‰8¨ÖSÌR¢—i±jŽî«D.FlWgnÝš¨ÿ[£¯Þ¹ƒy_\@Ÿ›š*þìâë…rÑ«* -…�Œ€Hþǯ±À/ -j13e}à¿»$U€rùÖ¹^~ÉÍë”ÿ#ŠÅ©7ŠU<O±0“/ùsä�®¿Øâc èHZEØTÐÃyŸM„ý_( Œ@ "¬šã¬û9a>�ž¤¸LRlO<×ÐÖ–ÄìçìD€%Á½$~gð镉¿Èü^c.̵[t/+dÔ  ÔÀŠ^Ï%ÆñoÃçÎ0Á}�dž= Ù¬Á)Pƒ)J œ™Ä”ǨôÊLÉ 0—”&LV ‘¶ø&l¡±I™Y\1¶ P¡n&€É¥ÞYÀŒ¯tpŽô-P?qªFŒ€p<»-!Ѷ¸K‹ƒ~覿(ÚÃ…q|ÂJ¼)½ üFÅö*K¥½–Ü<(´e@@]a¯Ðù°{°·»ßluƒæ -x·„z/DÅètZñVLB^ú¤ãc8{ñìë?,‰bÁs,î H]”!{ÐP¸ö·/ w)ÔÜCèÑWÞ¸bÅ[↨$7Ä%²ÙàÝ¿³^/ÆÒ³ü-€ËÒÚ)ख[Þ¥ àòÅŸ\,¸Ý f=€.Õ`.âù¥-â4dwWÍH˜?¸]š˜ÿç„þ¯ó?xF¯„T@ŸXœ™z½pk±`@InÛÀ À¯¿..þÓ»A’àßÂð&€êÒ{3Ë�’@šàVù憿œ‚”g.–«Õ7Xµ9“ÒðE,áôû�®?ðýÅgÛ÷·}mãÀ– /�è�þÃHòÅýÏî+Ç[÷±!|žì�úÉÀ…hPz*½%Æ$x¿‡³r�(ô±‡þ}üñǾ‹(¬+߉q¿'`|ìsÒ»6`Œ“n×?ÉúÙf@³Í�½µ>c€(0M›@Z!©½R{Â; -<˜©°Z™·jL1$Vö \ZUN*?Ð��Ú¸›vTê¬ß\ šbUI¼‰ƒ-åÂ)¢Y‰(•Z¦ m#dBŒDǧGv×'—NÍR¥_õøa} -™bèC!� _ˆÈÄS"Z3‚R( FxZéÆ+d¦S�‘ó+ÅÒ~Ãèï¯>/é�ÒÐûø1óøvÛõZí>&ò'3�KK„Ø<l€ÈoÃÔ"à*b�#/>x„« P²>Ývã Á4þÇÝnGèMqdÂ]®±œ´zØÏñP4„9 Ûõv³¾_Û«›Sèš6PÈdIÿÇÅ€ùÕM,_2Eæ,±�7KxÂ=,÷@Ý1L�ÝBòÁ€¹é9&ð»<›�~ÿàsîøk²æIÁ*Ä${ãí WÚ£ÌôZÂFZ¨½”g¡{BÌI›à.õ\{O*ñ%â0xmÜuO{Xf2 =oèš]™f.‹A€¡Ñ˯äV¨m¸„’MX8öán(ÞÀsÎ@cðò*­ð–‰KjàëÍ€w,ªGO Ϙ™ù[•uÉ€N«”JgRŠ–dºþÊ !Í̵pFPeŠw+uM[ðP”-ªnxb›¹4Yÿ·JçÎsç#!.>?šZ¸>õúëÅja1#P€¼ÃHaøú�ÅÂu = àßlPZÀ7K×Ji�E08À�…©¿ø‹sç~ô#qŒòSº˜h@‹+Ÿ¾ýÙçŸ?øôÓ/„ëf>î�ø¶$`ù,TÿíÏ?Å€�âþ&Sõ7öŒ“ðÞÐ/1ög÷rQ–þLlFÿ¼Æm?ØüÔ‹´<¸Ë¿áÀ—Rø#X6²é¨§ßKD� K$µ°BxùT÷Œš|„’Bc�©. ­¾ Œ:"à¸w öA¬.œ@À˱ï1!AßêR‘4�4™ šK{%¾§\¦*Ž%AôuDJ®i'MJì��kЃ’J·a ‘�ݸ�|M¦4†O?‚bt!x”v»­ƒ�Òò^Ëàu@hïÀ&lŽáùÇG탽Ú~½Ù¢ ‹;ó‹h$Èžá¿"GÈ…Uv@`¦ï¡­òU;Ó ˜·™š¸›8ìvÂ|uÀ™ß…ѳÀ_í1“Á.:H»MhX ¸Õ88¨Õöìa ¼¦T?Qüšœ"¶H�ÎY¶?} R`smξv^(?X“Goq°8tw}ckcž)¹èÿ³a€!Ù9/dÅÒ0gƒƒè€‚Ÿl}²™zýÿ4@à?o*ïl€—€ï*B¶„˜“6Á\H'@+Þö•�l½RìðWaÀ Z-:›( P €6ä-ƒ£.§Q\ÞN`ùå€À ôf-‘&�žo €SÀ("§- -c iJ"΢ÜÙ(Ó–\@8(Ry§vä}D2TP†÷'¶‹W'ëÿL À|âÂß "‰—þ¾§YRza²òýãí¯èÀðŸÞ}}Æ ëøCêÐáÎ×"^Á12{Š�ÛåÅ7ÏýÇ¿üË©M½Y…ÕËÕjñæDÀÖö61÷ûë,XO.GL?ŠËŸ°Ý‹Ò#ð…‚BüûŸÝÿì eÁ4é!÷q/„A$±Gа¤YÓ•d ;–Ä)Œû=é«ú'C:�îÀÐ/aQ—ÅÝp×¼!àã´ Ý|¨ÅÖoA=4}à‘S@i ¸ž +Î… X{¸HyÀE@Ý¥¨PËá9éû(Ÿ‚Äd•Σè {¨ÎÍuÒñu÷ÝŸØ€ „5tº à]œð…¢ô8›G¨ølN€ôÓ+‡9o:ëGøô,^›"¢v-ð(˜ -Í£O 2Š è™z@Ûi8Ú€@"Ñ�4 -€4PÈ�Ð3ЄK×.^u‰9ÔïoôyLÔÿH+óß,^_˜úѹ©7ËÅ…‹o”«€"³Ýf$à�¯<  Z}D@qÁ€‹6�Ì”–Kåo¾ù·?„€'zT˜)TË€8€EœUY¹¸¸°8õÖ›SSÅ/«{Õâ$€ô÷œB˜Ç?Ý�ŒÏ�,Ÿ}~ûs”ÿá¹…sÞ)п¦œ‰’¤§H&½_–À|�ûèoI¿ºcE?ùül¶ZM:Š�EFºYO(” -|Àžb $¹` e�Š®kA! )àCoÏÒé2hÁSmEÀ1è¢:ƒÓ`&÷L"sP‹½òz„›ËRdÏ  ¥ó®Mê?¸LÃT¢Êöä.„&$FàÇÕAjj‘ÃHÈîvr#6'ß)Oq<3U�‘XÚÍÄdS^¾g7¥Fcvoî×–+B]�5ýúhŠÒ„¹þ°ÛØß§ {¨-†ñu¹Í^ƒ¾Ü�þ€þ³‚Ê(øÀü!# öA|Åâ ^|€¹qêS„j;2üûßÀg—JS:0ÊÓ©Ëš�¶G5ÔvvšŒKà_ô'ídIÿÇ“Ä>wçÖ¼À—±Pø|`�Tt¬Îýõ츽à#·úwc=àé¹Õ�N€¤ä‡�Š=…NE ýÿá€qϺâ½Ô›Ê;ûÒðýˆÀêTÁ ëñ¾öN€D -jzŠ·12á®`öâß]~wȾ’,Y.^M2)—ð_҆¯ÐßwÝ´4 -@À¸k«»¤ rðF´ÎÍá2 �SÄ–æ€�À€T>½—’ÀµûÍ”D§^£c`´$�ˆâ)&¾�ä º•]�äà˜M{ÂÿÑúÿðÿúê«?|ýõ. I_¼~»¸°pñýê#OŒ¤»_ýÛ¿ÿë&Ýù÷o¾úê«?þñëRqÁ=A.^+-cøƒJyôh÷«ß?ÚýºR¸öËReWµíþáÑ£¯‰6üé��ݺ)è_8·8555óÆa˜ä€Þþùg½aÿÑÁŸ¶ð ôÎïJ_øžž~©UÞý ‰ü¸�”Ô£Ï'2#¥8˜d -DOX - —Ö¸ßÿ²d`Ÿ“^T`Ë t:j³¤ pÁï¼QMØ%ü´‰‰¨=?7]§3Øç¤t¡YYÆûÞiœÑARKï¦ãßeiÇa4uBD Ô'�\œèmèćn.Êñ4,ÒL§f§µøöëiÈ:'Z£öy4#eΔL†zGû&œA1zÇñm¸lÐ>XŽ.Éâ|"j‰ÓòMÒvE›Íˆ5 l‹·>zs»u°'Ѐƒ±CbxÌ u“�¥{šLÜEýgÐn¼�\ú32·¯.Ô<þ~ÚÔšèi�†ßÅÒ¯2öjÍ®þÚà<€f£ÝvÀÝ?j|[é¸Mk"?ð~]ñÿA¼žD™p¬×vjûÎ%N£;ñmM”ôî;½é´ê·3œò&€j/å9DØxš¤.÷¤Þ_ -•(\…ÍJÃz6âß•m€³1€Eª²-@w¨Ö—×úðH>زQ‚se±…@š·±·?ÍQèÄ(€KUX§ZF6xãõ/cÀ”¡¬¤ñIõ�ôP¡’4 -À…ù ¡ö`ÿÆÀû›v÷Dýÿÿµ+üÿ“½yîÓLÍË3¯ï”JÅRi©pµP,WÊɘ/�¾Z­(m±À Àÿá�ßÜå‹Ë%&AdÎäêî#æ,-_»ô^¡TªxVÇÈÆ¬†Åå_LM�;Çt@S3m¨N°0‡ù¾t÷èÞßîmŸóÑ. -�8Àh•œ7<{Ïq‰ôëd¹ŸF J>a–ò¾°0©]þÜÝOOŽ€ú'ë'ü™Ä/KûLÒµOüdO�ø½––ÙjÑ;lô6ÀFàQ`†ÛœBÆs‚/¡k'PPwH.à‹áqÆ÷qòµp×I„>®Õù…ÈÜH¢âÐçI$u¡Nß± Õíº\:Ib±A ì;/¹¨BÍÑÑ}ä´™;È1Å¥G”eÌ€(“¨� ;‚Š´þŸ¤´ª‰a„äŠÂ‹qøš'Cõ}¡w:‚à½ÊJ½Á÷Ls%þ"9Iˆ+l?ì40ßK•ï°rOW˜ðï$ä¤NŠñA Êb -�. -þa·SÇaè'Vå¶êu•yÔî6˜ÒΊÀ¼óR¨9AüCpTº ! �`&À½ýZÍ„ÆÀO“ôêãݺV76×pðï  Q°Ïâ4a�Vx×GG½ìþ‰°{�=|b€ uaèY„ü=I˜öRžC.'Àœ´a0æJ˜ Ì|Bñ!�ëºTk)Þ™€�€ „Aëä!` €0“œ@ÙICÇ ? -€.ò‘Ÿ›YCT ` îº! -…)"m€wÿÎuªÁð ²Ç(xÇÕž€²ÝB}z>ïz໽.º'è2P« ’Ô>1 -àªïÚ�Ø.^½tšþ端ý¡\™yãœpç‡gÏâB9££ -¡¤pÕ³ªEWʼnffÙÐÛ¹þÛ°:7=‡`Mï©€Az„$)9éãÔóCÈ Ú¿©ÿ=!?ø¿úqÌÈ‹ -Ð; 8±p´—òp9q I¨ÁL€i€�_hè®÷”Xz¶§úÉY€°Ø”LéÞ½6s5Y©4 -@pš÷°I£�K¶üà¥1î‹ÐF™—è‘À@›¼‘çò»Bg ®vf£ÄQ…>< -%õ-='@š™˜ˆÒªìðÈ`U` ÀŒ‚TŸCýþæ©OÕÿý±\¡çÎþ?Î�S3f¦f¤ÙKŠÚ–v/^¬,•"B×…%溪4S3]—–––0,³Â2:ÿFÉ{¬—*;¥÷J -}ñZñ�s?|åõטdÀ‡ |ûö¦L h ÿâ‹í4-€ðÿ¾çôbKšë÷Ê´äÊ4&G vCLƒ‰ _l–�sÁg̘d\ ã$€?ðÐ�.²8@d‚øG] �E׿í²Í˜j´Ã;O× /¨êWAÙ�¹ˆ!¬,R [ºH¨ø8f棧ÖÂ(ÑJ¶N¶Ô�ªÓ.íú©§-÷áèö´ˆ²t—(2ã  8Ý‚w@Ò2¸´N;2ˆ 8‘÷0Mð�’­”NS©I׊6‹€)™‰©up|P{Áf•ËL9­V}o¥Ro[SN�¾€ùÈ£vÓMßÜß`&;t@ÚŽiDàu­&JàbŽºën‡.€ÃVý`¿é?óáQ[¹ÛͦЦ·Z-r–µ … ^Ô‘º\¤…E ºÝn‹n‰úþ^­¶ßòðoÏ éÿx’Ø`m~mkûˈ·­‡J6nk& ðê°ÚßÛ±Ö£· È æÂw[æÃÀ0Àgñˆæ ‰~X¬Ü£À>™ÿϰ0  oH˜öRžC„À§ˆP0óìh�´ÐÁ6ÅôptüžJ,‰oã.Å‘�òsLëû®»ì…´®œF�· -ßï€o 0àš A3*»2ê)LÝ 2�€Pb±d>vüÉÅ)$&'Ô£=oð˜lÐ~ñO§èÿþ«FÏÐû³……÷…À7ŠþT+‚ï‹ åÊn¸êŒ[_©\X˜YøOçξ¾P,Wvlá_©>z´»ËK,BÄjJ¥eмZ»*UTÒru§R(Ì«Åsbù:3g�r�ÒoÅßÒÐÍ -B¾ø<º�÷J‰öK"!fD@ -`S:�«{te3V*$Q”P˜ Áuò1îR%p Ф0¥§<]I“wN@„ŽBs%Q=Ì‚ÃÚ|ǘ|S Ž_œÊ„\DÛŽÑâi{ÔC×¾ãbUë8˜Q -à_—Šƒ €ü1Úß_D<}#ÊDý|EjŠr*JÎç°{ÔiÖw—W]wJ�y@@ÝØ[�ý݃z½åÅü$*ŒÛº©dVÿÁ_ª# ^;Ía»í�‡ÝÖþnú  ²ŠÔ=±`§)ï�‰v©7NÑaÔJ“ˆqt:úoi4šÍæ^-F¨"*dÒÂÓÄjþ¤Mb ÀÜ:€‡_~É@}ÌX¬ÇÀ²±š˜÷°ÀȺ� Ý›q=YîÎM30N€ƒIäpÎtZµÅnhç�·`u�=r€Œ¼´|o"hÝÿâ¾4}�¯?Ÿ±Òÿ14gouÈ'ÉŠ?ÐÿO?å—Û…îré7@?¿ÆN _¥¾¿õ�ž7@¼"Í€<HП¤‡öã$ d¼¨Œ]  œ¸ôë˜ghôe"|c -À�T -†ßœÓ¤£¹� -(�Uƒ7°>p -œ«Bƒ�4ìÎì‚ÝMo£€AX7úíÖ -ã•_pø;ÉA`üäȬBñªÀƉîPü�¦#¶蚤€¾cuRe6îS�a>:Ô²ðmÐÃ@…¨<¨�¢ Ø©ÛQ„¢Ž�hQ€N}¯¼óÈN€ÆæÉ"8Ö_È>ÍÆ^moÿ ÑéÆ%yéø–1b9úªíÆO½úc²p¿ \x­ûGm†6=Ž £?xWtÀ"8€ZõW�¶V¨Í”O+U�IÕ=d £Fš*p·¶WÇÀ`=epȉ’þ�'ʃ"«ëž -Ø]|ÿ)‹öI±Fù'ÝÆøè Çpwcs]ÏäÀ/ÁоI?1p²$ü?+€ À?$aÚKyàO‘Px“ÄL€Â2#¡BF6�»*7¿œ@bh%Wf¸dpSÅ+×(€�4 -€Â/¡ÂgÃb)¢!áŒÐÃ4y]ÑVh‚"0å“1,¯Ò�¼eè¼O�f&@w(�š à+¥Âô ù¨ne�GÊðþÄvñ꥙�Óúÿ«Âÿ™……ë?ƒ˜X„Õ‹?¹V(ïŠ 0io&Õ²Ò(í_1`9eÉ­4Öÿ¶à\WRæö£ÒµŸüj�›€J©Z¼øa�Œ³ðSñ\b@¼ï!õ– ÆëGRT´?ûâ‹mýf=`��ß<|øð·¨ú·ß%ë§ßšXJxu.Vž½2'N .â’žAò'ø÷ä/_=…¸ËW?Ê� ¦Ÿqýî ?Ñnn��¦ƒæÀJ#²軺…â�vnMZw¸‹.�¶ž‚–ºáÑzÜá¦D©#ôœ�#ÕòÄx¥O¾ÎêD!”‹­ÁçTþþz›ê‰Kú>ué~¸2¸ÅLô]Œ)€Ô9T¯šC#Ȥ4<‚Ó¹6q532òÝ(7_IÈîïO±Ær©æÒ½[õ½�¯È7BÒߤ/xýyòÍúëî¶›tÚ£ÿë/Çíiµ–€Ä¼ˆƒ®1Öƒû ÙGã?j×÷÷›ÍŽgýáV§U?hBÚž™Áp} вåÖù6•véTh‰>Ô{ÕÚ~³Ûþuß-:ErºþèM‚àÞ¼ = €nÀÃÅ„ÖN¸ñkúàÆÈ½p“%ˆ€¶¾@P^ ½ÄS9­ó¤Óê†{üwÀßÇUœ|’ô,g³å€_Z^P.gˆ9i»&Ôü�¼i&@뻺ú^óRJ,BVÅ' &€P°X÷çp EüXìÀZá4g£€èdH ±@¥9 -@·© @à6<Zc€¬�œÜ¤Ü(€“k7B20 -ÀO6Æ€€Êš¤ÿÿ±\6þ_¦‡àúÂ0_.—Þý‰à>¬ÿ–D Šåâ›Âîþ`J,áýÒÍRU_À-“áÿm1�Ry·RºX¨04  Åë…sç^ùá¹ÿ4Ù¸=IÅ3Î�wú“-R˜ÚCñ ØXH›ax x¸- ðŸûŸ'ùíÇ¿Y�ã§ÆÃ„Tâ=ý’\YÝÆMà@þ$þîùÉ!Ø2VÐÿu||Œ ~�C T<²æn·Å˜ó%€+èaâìæÆC!_ô•ƒ‚:&°µ?ió¢J|r/î?U~œž².ÄD7;Á8)e4Å6ˆtÌ… -xB³´}ò¨xÁpÁ ŠM¸¡æG4�M)´„&)DUXò]ÝqÀõ†D.?;µIùvR]Ç·EñÎ!í\ŠþŒÍ½q°¿²Ãô{£(€á1/‚oEê†0ü`o§vÀT€°Üi»Lû‹rN5�‹½;ðÁþ O¡vKì®ÓjìïÕjÅqW„?þú�ÇÍ!´J�TW-¢c‚ A:Ú‡LÐn·-F¨Y™o"L…†M–pó› J>[Ûÿ À§vdÍ@½9~¡,I׿¦§ßÖæÃp`:0{üžP�Í€õù+¬tw~Õøï;‰8è«©øOKòG~Ø=ÚÇ g`ÞÎdÀ YÂ�0í¥<�€–“·�ð.fì ô€ÎáQÀlZ  o½�œ: ¸g.‚ÕW)ƒLÊvýžÀ>Qh@ödÈä ‘¤†±\E;€Q4”Hø†rÅ(iíýQn©ôéùx-€4€«þ§Q<¦$Yòkœîpªÿÿ5ëÿÂ}VéC -ÅŸ ÅRqæ'K•]ïåeqaQL`¡ø£©W^yýÂõr)§º÷ÄTÃ󕪀Àn¹RÁ°X4° `fŒ €_Šï(Ÿðs# äO{ÄÊgŸÞ?¹R°„~ÿ�õ —Á r¢Ë­ímwK¤m²$äOÒOôá–~Æq 0js)°üÙæŸ¡g: í˜Q x‚Àã#ã¨Ò‰E•ܧ¯?ʰf¦ Œç¾C.\ ªâ]]ðŸßÄ×F±nàW¯ÝÊ„Î܉b‰æYü0qd.`Êd -ßRë°(¤Jðp”娲’ qœƒNÅóë¤/LéCƒ!È!C ÈR¹;ÍFm§VoªÉ€éÐ6,Ä™‘6ë+;ûõV“Iû,€ ³ø‹«Q" -Öæ¿"–�®ÀšQ€Ý–p^È]?¨ÕõgVÉâ̓fÛ€ Ö‚Cfõ—€ý†ÚÄ™ ÷ï)‡Hó0ð ¶³sÐ5 ±û\À$á'mˆ»lðrÀ"î‡ €v€OH¹:÷¶ñ>ƒý�ÀÛA·'‹� €Àúü;"vH]ÈÜ €�¿ôކÀ4@1Ï÷ €�?ä¥à…mx²œ…¿ ¸K3 -G�À®/¨Í[8J�Då²äF ­¸Š7Øiô À˜QÊõ3•‚Ð2GbÍÀûào…þ>< -%õGôæPA’Þ(0^Õø(iØDh�Ühádý¿23cýÿúÂT²,, -á‹%€™Ê×LŒAàïÿ>õ”‹‹‹‹ ×Eνòzá+£µ½’à6™f`  Z©Ê{»»¥riïý -mKî˜d°Ž?IøÉ�èiÞ tE‚Oô~‡ *�Ég÷Á~i*ÚAù!ù’^�$P‚l{ø›¾G ÃOë HÈŸ‰�~€ ‰~˜' Ú¾]Ô<ú#8¢(PS€kë9x' ´R³ú\aty öB ·V¯ý[¯²sŒê|?>ò{@>–|ƒ9޳>ðA˜Ë‚/pW¤¦5Zµ'ƒ»(”œÄ¨óðµÞL@÷uŽÑjeE°:€[Û“§z${ ªÅbIû×'™@| %¡ïë–#0AI¥ºmŠðL ¤¤�ÂfkÔÒÃ1ˆtÕl,C›ôòA…ã¨Ö­½�Zí Îš�Ö¶‘c _7ù£16'$樖»—€´Âú^€G­ƒƒÚ~ƒN|@\Þh4üÇ€¨FbîçŸÌ7õÐ.ŽÈHW*£ç{hµ›­fã`B£¶þ¢%™“âIÿÈ%†®m=xø¯¿5Ø~pŸ:>õ‹þÇ {÷×ÂyI%YÀ �öÈ=�Îç�ÿv˜_g…á¹ÙÙù9¨A0ãºrÈáÌ`Ô €$~˜ðããXÌ+oø�Â[„úýí%xÜ& €d(ôfÌæd üO¸#ý‡ç°èô `l=1 - ùkÃ÷Ž| wé�ˆdV¼£ :€À€9p͆À%†,:ïeøD\àòÅ4€ `ã0´€Êô<ÑF“êQ5y ÀàZ“áý‰ €™ÉãÿñÿGÿ_xsêÍ ÅâÏ3ð¿V–– -AnÞ¼Y¨…þ" â ¯¼2Uô‚?‚þ@Ïdô¿u›5p `0�dww·ü~y·Ry¿R¼>dé�Ðõ†ýÛÓ“PìW›ƒ>};€hÂ} ÿ÷aC’�ñG -¼AÌa`‚!I‚üIB±HXŸIv�Úqê0@Ð:�ÿô <ÿ�iÀY(è#´¡tþY'xd±>3ßáÆô€UB$P 1@£NX<€xcÍ™² ž\ê£4Ožˆ2(Uª�M;·I :sCG8AD/ˆu Çj"‰i)Õ%Tb4—ålªp=žiXôÀ�æÂ¹#¡ò |\*•Ñf}YåÊ�aAgEƒ�-,ùR» øÃ’²/�3”}em×wVpT c݇ð.„Ædš¿‘ÚÀßñ¨ÓÀnßj²¥ö7j{ –’´»ŒlÖéQhcè02PyM¡üo@2º¶1P¦ÉÀ!dÁóK굕Ås—ªÝ®IÒ×õGoˆ^¥Í{ók›ÛÁwÜw@Η”kóçßž¾Üëà=;æÇHÀ>`œÛ€ñ³WæÖÖ×Ó³ ÿÓ0Bô;�ðÅÀ¿Ÿ|²ñ±}ðÌ[`= @Rþ“$H{)Ï#IÍŸ$ ˜-¿ôL€RsÑš‡Gxp]¶@f@•6¾‚³i-ÏÀ|5t0ì#æ0îf£p÷¿ÌZ&"n‹»Þ)ZeæOŒ¸|)VÊG(ÅÐ<Q’ €Zl-îM”À ‰ÒlÐ3ض�ñ>jáDýßþÿ‚÷˜$ü/©ÒJì/ì`ü/ -¹ÿ o½9uî•׋»vý»™´ÜÿÿVýYHÇ"]å2 T.•߯Tʶd~cÇx(þ„mû¡´p{ïçÕžáúƒ&ùŒÄ™4y ÀýPÿAòç–|–1&€` ù39¡ü‘}~Ä'lúÝñc5@�À!¸»Œ�r =ýõò§ºgÝ84Ƴ=£�€’%{*P!A»ŸJ`¬‚iù¨Ÿ¼:ó´.–¢ü( -91±L!1® jv»s›;(€¦’Ÿk«X“�ÇÇ€æAµÖèxä^ÂÃIÒ=ôßDúwk¿VÛÛo¶ R·Ö ¾Ð¶­r”HKÐÿq€ÂnÜ~éêØö[µ½ze½ÛmÛ÷ßã -;" �z×½äöC0àŠ… Ú vY¨ía€�fƒ± Õ•ýÜýÿ¯ƒÓ$ý;O”íôï¯n>ø/@[ÄB™lÒ)·µŠ€ðÿ|fõ×Þ �O?bG|‚ ølnÌ_yg~m�È9|­êGÀ(éY,égÁ? ^Ö7ŸÁQÉ ×6ºR7ÀK À Jæ„ …·w1 â„„9Å['ö(Ö˜œ|%™-ÊÛ·¸üœx�y\MÙãnBåÑ�£DfpFà)@ýȈàR²ÐlÚn›PèÙ ÒˆÚ¨f%¥Ä“>nÇi£´_ž™¨ÿÛÿŸ}jêÍ©ŸA–~^ü9³ù¨•âÂbáKÅ‚Ýo`¸á.€…·”þÜß(JÕ7¨öL÷ª¨jÕŸ°>= Àž@Xó6€Ñó€ñ§‹;ãÄ€ØCâý޽oQÚ¼à~Ÿ^<£ÐqÌAyNR€@m ø“0@’À>'½¨ éÇm(î:¡ÂÑ—'8âìýÆ�Ž`‚tú“Äx(b°ôaç1Bkø˜U‚lë¾9(ot†4ÐèÙØåò¿:Ó‡½påÆ TŽšTjÜC¹—¨.…ï€btpÝ� -Ú­„âî‚PÚ{ùà7v]x„Síj±ÁœUJ4UL©è4Y³yHÕ„=@߆òéËîà‡·Â¸y] SJȾn�c©øíF½¶»_o4›¢iBuë³É›¿4} Np›?¨‚¸óI©Ç\ï¿ms¿¶s UŸõ„™S˜ÅüÂ;�5tÆ.Ü«Í�� Xø1!!‰à¿«FÐÐhìïTDDF‚"ôû'ÆKú�ž öùÛº7¿ºqßÙ@”@ð*ùdcS„`}.ü>è�Ç[zÀ›Ä>ÿ²q—õ€q˜››M–d 0ô'Ð�Ý,Lþ3Ѐ@fìðÒàÅ$ƒÌ±›Àóòß�w`oš Ðú®n‚¾ýQÖ³‡Öÿûkˆäf4¶*¯Ð ÀÐZæib @x¯�º€8Gܲþ(±�Ï0i-áQkDƒigò0É@혨ÿÛÿŸ}êgɰXüy2Ì|X( -ý …Ìû_"½¸xÀ[ç~8EÁåò-ã‘°âlÈð¿g à}q�²-l£m†ÔI>yc,ÀzаøýNïzX’0Í@f¸x^ÿ}2e8Iz’�?“Øßß3ŒßSúy×O;fbýÄß…{`Ÿ Ì#ò;£]  »pSéb8IdÔ#1·ÁÊ|B¾u�S äŸêÀ¥òq?ŠLeD( ¨%¨Ü:ašwr5’Û@º0›®.I¡�‚lz% N5OÏ¡ º¨À¦#tzwH¨`âé,Ö£ÅF@Ѥ žàiñý SR‹Ž8!˜kpKWú²™@÷`gÏÀŠö c…)z¥¼K‹?Øõ €&Ú÷!*qÐ_˜¾÷¶Ó¡?'&导ߕŠßj5›b ­zmG:«m“ýáa³ÁZ�£N«ÞhµZ”!ü¶  2S&l@劊µÀ €'C§%ÐjÕ›*±²³ßÕPCÔ&§8EÒ?ò$aØÿÖ½¹ÕÍ­mwx*`ä -©-î+X�Ë?§ù÷"æÇ ,À]úÈ]ºXw�{ŒÐ}wŒcé‡ ·GŒ}°š[  ‡ÿ™ vKB´—ò\‚~¢ 9÷FÄL€B[�8oÅÛ™p7Óñ‡çFêpéÄZ*dô<îZñfÄŸq÷ÚR¸#†@ðã á‚ eÜLáàü ŠÈ,´Í-Ô§ç @‹{]tO¤Qº ‰ˆ<ßZL©3Qÿü‡`澊%ÃôÏú‘›7ÿ‹‹ o‰,üå§A<òÏè�Ü’"_³@Æ}@²ü?’ €ù^ùá9¯ 0< õTm8ÿÏbО£Ï$ÆÿÔu \hüc$&#-ýëWO] Ôh5š Á+ -;„dž×€® È -îØDÐtŽ>9>zúä c•Øq 2!t|Á«”`ᤀ€U±º¥¼Œp‰ž € -´ªºGüt…±éšŠ©�lNÍQyíGà"t¢ùĉ¡ åG%´ÌåR(ν°ìÃ^|¢<Ì ìvA€˜ý×.NÔÿ“`áM,þg€ŸKÿÇ`/ÀLo(Ù[oU§Î.|s»ª àÞ½�÷·`·?ÃaˆA¥²» '¡XÂàõQcR'l#-gΜ?{æÌíçÏh;{þÂùlÞŽLòIßàE, þÝžïfH1Ù ýzO�Óa·¾»p °-=Üþ[76ÚÑYþTº-�fXäp—P ¿# ¸¿³L!}Ÿ”Ĥhð±S„oú£( š ŽähÿHgð=R  ·.‘ ×%0àŠc˜l0àŠ -(Â@ñøðŒé {%í?åúôDÉ! J¢RSc•†P.¹Õ€fÑà¡øµ:�*ª5, ûG  -é»�ý��½ýz³i7@ú°ÊsÁ{[à äêJõǹCÉÀùnK™0Ú×÷jÁ4J& ^À/6Ñj5X -’¢èôôUýþP(ê=Í�B´¼”ÀþÞÊJy¿ÅpCæèvÄN‘ô�c$Ï‹¨ÀÍõ»WÞ¬GN†yÜFKÂûþs)ì'.€dÈÖÐûÚ³ü ? €=ÚKy>9Õ`…×xWèÍâ�Æ6¡³Q7p÷¤€t,¹™ã•#7¦õüZ1 - P•û=œ6#‰v„Æp™*$eäí®˜FÐÂQ„CÇh´0ð²ç0þ{¢Êp8oxε®MÔÿSÀ=ñá€Æø?Süy¡¸ð‹úã¸(ø¾þÖ[o•§Î¾õõGŽßßWå¿ÒKy¨¦i%fÂ|`JA†¨Ð¼@ZhÀ¨>‹ X„û˜¨+±mÚ3ÂÞ—¾@Ôáþg® -M>O9žQ ÿ|œ÷™ @('Y€ñßÑ`Í$y|Ômî-—v„(¬^ƒÆˆŠéd³–ÍÀ§OŽŒx!V±�C}¬S;Npª³hBŒ Z*0‚’œ{ aî|@g"°ø¦� ¨åˆ"NB™¶¸,”t2ŒÖɧQÁ¶À¾ ¬Bléô´�‹’§"¥ÅãGÍNÆóSqºVæ(†nç°ÁßU“€V9€¹_i˜›¯Ë0À½½f»«8¦>MœHføàŠÔwI«ÕF ÆvÇW�Kûö Ÿ™ÙAX¬;\Ë[FxE¯w÷ôõè¾Ól4›`¶gõ…¸:Œ -ut¢K@mÖÎAm˜ð� ãí&N„{{µ -lb� :EÒ?ò¹¿%½‰àÓ‡¿}øÛ Ã 'À�ÕÙó$°}ÄnñÙ×iÀ¿0 pv~Ý3„ L³�÷'DÍað„a¬÷í±€÷î% @¼©9oK€öRžO.dŽß¬ð&@Ì( Gk 0£ÖÀðè@›› ؆^ P�˜ ánR¼É€¼ö¸d Ü@·±UÐaÊݖвx 3^ê[ Î �0r-]ª”�yô ¶œæ ¯çôþíÌ�Y–’`¦°´è3 oÚ°øæ¹Ÿ}}ûŽŠ-ßþèήÔvt},Õ(ÿ¥ö» fþWÊ×UIØÆ­ ÷áxÔvÒÞ'ì?{^!�Ï_ÐÖ›¼3“Hnù|ë‹ï`0üë€ó d|À)_ê×%‚œé“Ь®V˜F?þ¸¶„ù†C ÍWˆÀîi`|óý¹ $ ÑäÄÈ+ÈdªtrJÓFZÄŠùS8jSª„›XâÂ(JÆá‹LE‘]¬$X ì>¢ÝëF ‘·Pª(JpncVAaOãóàðr‘Êâ È€Ýq:à -�5!ˆ�N�Ž\6ÅbCÑýciä(Íû{Í.‹ï£¯ŠA4/ÒðéñGÍo¬¬ììb²—2ïÞvvh€@·c¨f–þ£Î±mpEÅ}\¢̓Zí I¾°š™|Z ¦Ä /A¾;” û?:½}ˆÏC¢ ¥ê@+{+ÕÊÊ^ƒ1º ¼À&€­µ9º¼ ý1`’-†ÞÏ_žJ™Îíéüê™WÏd(?^Àxï1Àê•óWæ×ÖE=fûÙ`¤¤– Øÿ‰Í -~üqÞ ³˜„fqÞÇ3/-/&Þ6�¥á‰™…eBžâmŒtRpûÚ»ùQ 4´’Kg)Þ‚]‘ôpÊÐi¤@w­x»îf}*‡R]&¦ˆpFÈðM^Wa è‡ÈÈÏÈ}X„[I½ ?�Nó�j£6ºPm“ˆÈó­pñÚDýÿmè¹ü|©¸°4hð €ëo½U,¾yög»·“ z§|ó¦)€û< ü¿].½oç[v߇ ¼_1ò÷ý~ØŸ(³¼€@ï#¼°ÿ¬p_ïçYOšú €u�ã±{=’i/|^oûsˆÛ› -% ø39iˆ ŽYÍŸ$ÇGõÚÂBe_H�bÜ1€Zœ�RA�ì1n|¬�#dËöªA\~æ< ¡±2@Ò ØUè1™”…^‰)ˆ2}Àø@„]1ˆ¡•k%›»àV·h$qîiÕœjûÃÝÜÍQ ¢jÚ:ùï -\�Æ´á8ç×)¡½î[¯wMl‘ȱÇT£§Ô)bE6ž@ž|�®|ø-.BH€Guâ3÷��}Áì.€ -Þ<Ø©ììaX·„ÓŠVy(þRâ=7üM"¨æžÙ�Ñ[@ïEº­½ÚÊACðïv…ÿtüЀg�ñŸ -•MÅGfe‡gèŠ~€nW¸�à -ZÌ$¼··�âÏЀv&pš¤äñ‚ g`o¨ïWð_`Öÿÿc$Ð?A|n_õý$ŽºËâžÌp~�|Ì&ûŒ�{÷°Xlè[سü@¿'ç­ýÃÎ'@{)Ï)¨á“Ä -¯€”N3Zß<…ˆýQXÞéÕÿ™âóóƒºú3~à?ÀèµÐ°xiÉ3¬ð“€Ü(UêQ™!)8¹‘Éàu©À#×àBMHŒè9ÖÀóàâÄþÿÄÿ1 c–²€úðè[„ÿ‹dxóÜî�],*ú£ª  „sX<�>€÷+åJÌÔ·œ˜€_ëùã·a @@»UþÄ9/^kÄB‰ßì€Þ\˜_ßþ³  à9 ÀhIÕHð[^= - ,œ¾ðñÑa}§°PÙk¶;¶Kc8²à“Ç1%€ýæXg÷I,ˆúáç,œ3þ£ùr€´_X>Šl¯u默 @ ܹÊ4h¤ÃÌ¢$, ¤ ÷³Ny€—š¿}ê>* ½cžR=Kme¿�¸é»Ròá2J`à¢[õw!$U,t‚“Š×}5 Ê‘Upr�å8²kß -¢Wå1özä�”ð®8ÁI�²/B\ôÿöQ§ÛÄ`×]ÌÜdü¾­ÿ‡­vûÈD@Ú¿0œ]pÌ\žæe¿ÙlÖ鳯ïï챚€.o¶ö‰g]X�ˆõ錀4~—až�e€+lXú›êu1Š*]5ÆlÅ-Ÿ$éy’x`fØ ÀvÌ” Ñů¯$¬) ßOðŸ(Ï1,ó³oOÏy Q?N³sc»ÂðŸÛÙl0ø‡Œ°èµõrÀ¡Rp|Ùð‚b|™ ΄w1 Š0jµàl3D&ÜÈ ®  t 'Šv¬£\† -=@šF�ß¾w™â�@€mjˆA–:ÜŽX Y¢Ú“?F(¦? -Àí¢}z>ïÚÀ<Ü—ÿÓ(=/õ§†<ÇZ$¼f }Rÿ¿öa@êŸür€©€oÝX,¾)•þÎ.ø_·(–ÿþf1ùÞþ@‘Á>°`æ`2�,aÀ -pr>€€øg�ž@p¯WS -z=³"<çÂ;y1àÍfa~Ë™w ¶Ìbø^@�$èïɰ  œ: ¾dõê‚@]¢ú´[Â,aš}ß À¡ÏÆà>6c(¨ üÚÚníðU” Ö"”55pþ@Lî)«3:ä.ÅwÙ¢ôûš” -(‰9DÊ蛎£“žÖ¡‹cµ<Úæ$$wE®D—^â?5™x»Ø}€2ˆS%ô\VŒiDI)u_D‰N?\C.àžúÖ[Íæ¾fÏÝwB’Þß)é”êîa«±ÏL€‚]æïežÄ@ÏìÀá¨gØW-¶`­P°á)Ù�Ú^m¿AVårÀ�ØHxó·èîÞ1¨¸#%„�t=Ñot æ·<ƒ[£þhogçWU=Py”L“%ý'om=³}úàSmxð%=ÛŸ> ØXCéïO(žpŠ ¡¿>…ü9ø�ÈùÕ»ë«1Àôô\Î �ñ€AøM¹GÉ¢Aü.Yô+“ûqIxöRžW’¦?N¬ð& À{ž Ð�kààöG g 1òÌð -Œ’§7 aÍڻРÀ €3d£„ØÚ,ýyú£„ôƒFÀ<âÉZæg™1òàQ(©? -à{_ àªø>È„þÆd€Ü€™baq©7p0€Ñp]Ƚ8%øOØÓ�ùXn•³q·ð(Á »ž  Ì8€œ ÖÈÙnÜûÚþ¨mРW2T«ýôÑõDàÿSq€wÒeüن^[‚„à|Ÿ¿ƒÄ�fÂ}Ë+úü{(àpv–$p'‡GGm,+¨†LP'˜' G£N*n¨õdÐψÎcÉ'U\rÞ“ÀiÉr„©\ÈéÙÿR/;ĉ™ä=¹4;¤� 8Î'U€À÷`DÒ­ Gÿ€â)ãqÌÜ-H±Ê¤ ?G圴EwTI"&Y,ü¸’8FjéþzÌÔl=¥m�_7|¢Ï€/ÈWQÒ÷*ª%„¬3¯ýì†LÇ'- ù!zu·Å$>{ûû�†ðZ˜Ý>lÙ6/Ø=Dcøg8 5¬uCHŒù_ú}»!]ÒÐØ_ÙÙ«Û°Ó¢cà vP¯7Û�zý L -Vóõ�YíéKhušf Ð�Ä(*u¯¶RÙ©Õ“["f3—‰²õù§![,�5jÛþtëÓû[«s«›9 ÀÖ½U[ýû¢‹Õg´ðפكíÚ|TÔ:÷#ÁúÆÆ:>…"ºwÕø0?Á`ÿð&ØWQ«ss««Ðûˆô}¼P_Ãx9 ð…%�æ¸M`ÙóÈfÌæ0¶ SR)îCkJAHDgÑÝÅ 8«ðÊ•³PSøõmy§A]kðÙ<ø`ÀwiHæŒ\³ÑéÝ_Øä…oäFˆK„I¹ïDƒkô†ÿcˆ"õpA8Yžg-%¼†úÿÑ„þí},™ü_À[”Á Ѱk Àm•}=?ÀÞ8f`úŸ^@åýÊûŒ@X†çÈÜêN•dˆWr”L¿óÓi©ü?Õ6 ¿ßlyͱüË&]Óú9ùÞ,Áùû¢hUÉÑ›a0�àe¼Õw–*{ a ˜„®zt¦��†9àјɪ>@îõö­#ÎØiÀËÈSðÑæ]ç6­Ò‘Ì(,‰bˆ–x>b9XŸ6¸gˆLÞ§�Y¯Ïàª+âØµ…]ÞìCUm±[÷�—BÈE‚^@E˜b`ý‡šÐ…T…GòDè@•äWJˆÎ nqǼIiö¤à,ôÇŸ‚H}·‚øvó`�éx!^‡ƒ[t¶hj,>l7™roo¿Îz@ôÛ ™1è~«+LÓ= -¿”°œŒbÚÁÿ}|ÿêû++b*ZÐ&z'<Å�ªÃ#À=ÿØÐê±@x¨Í�î/òA—Bü¯ïïíìTÊ+"JwåP25o²l3Y6²=fÃVªþº6fd í-–ßË3¿~ ‹ýÝÕžÓQgGͯÞ�¿{w}scss}nzzöîúÆZ¼-³sF 1KX„ÿb= w1,’Þ0@á¾YD ÁÙKy^1dŽß¬ð&绘 PÈ‹Ö<< - ùä×À�ð5p¶?à5ÔoÊ |,ƒów³QÈ¥Þ<–gX Àv�ç�0À¥KCóDI&l¨¿#×°É"çðÌk\C˜±Š>¡ÿ_{Ï ßòG@0€¬@®ã (ôÏ€ðÿ#á¿ç€„ÿ -ËÅ’BaHãÃ0 0<@€{^ß?¹å-�õ'ä§Þ™Ög¤ðbë… €7,x|�>!C €~S$é~ ~ˆ$l8Ÿ$�U€ýf‡Q€À›Ð ø³l†>±ƒ³áºÛ\î…w*1`¡#ÁTìŠ5„wƒiJDñÚAVb°Æk‚ÉOR@™$¡Y¼Gâæ¸Š&8Huro½bhºj§ãŸt$¡ÿ^ç§6ÄÀ€'Œ4ÄðA^·C·€q ÏœµŸ`4…;…Ô"2B‰øž<‹Â≀‹¦óÑÆ7êµ½z»ã5—AÚþfð¡4kî ^�ýÊ23±‚¯ XñRÏuÄæµ ¯§'´–²®Xzÿ�m©úûx2 ñë )µh6öj\¶D+l"p‰*F…A„ø‡”Õ¢t»¶„ïÍf£Ýh‰3¨Mbåårí@ìBwÉJu§ˆÀ<$‡ù›dëÁƒM,÷À)pun}ëó! ÀÜ•¼öêØ ¤·ØgÁt„$¹»º¶¡—vcmvúíY[ì�z0R”cp—ñÃ0wevîcµÒN€¼�^×°à ð�1gÏŸ=“àì¥<·ØÒ?^À9ã]!Í(@æo 6p7Óñ-à+ÉÒ<9 eåç ’“kàï—¸åÄL€vFèáÿÐZ—Ýãàç°@hÜ@ÛÀm¸K4Ú32€Ó|kÐWp™þ˨þÛ˜ ,ùY -FçA @®¿e €»Üð‘@Õ@b @™ù�$:z  è`=;$ä_0€ Ì� þÄ€„÷yù©öw.¼sá§CŠOÜûŸYôžÿ÷|¯>ãþ€¨NÓmþõ~Wé3Šç¤íè¸[ßYZZI@HeVÆ íá …¤ ¼°Œ)s;¢AIó�cÔm²²»D ˆŠ-H¤ñ ëÅBsz ä9†jìuTy.0õЄ'j�ê£brÚžà]k$'EFÿ½î;�9 -YœÖÝJ¨Ò¨å(ªbÔ¢o£ûÓ•›µ„h’+4â¹ÈK©N¥/†v+xd«‚#‰åëÔ7Íð<€ÆÞþAø÷—= Í´»0€N³±_­ììîvÛíøMA‹Q{@/ó¢®{Èo·@æ âÔ÷êÍN«¾·Ra=E�ÓÍF}O”B‰›û ;ø�ñßþ�Åêß?Õ(æ¨7›*vge¥TÙ;h5[](I§m ÁdÉý8Ùútss-Ö`l©Aúso¬^Éáý‰ ¤O$ ‚éhRà¨y€¯ÏO_˜›_g* w˜Ī£ä“�­� ð à¯çVÀp†·R? P€œÀ8¯@B³—òÜbˆ/¹Ìð˘ Ðú®€ôí�P˜.€üL€òk\´€Ìñi&Àþ<…ž€ùE`þЛÀd( è €Û¡ «ÁÐL€ýQÌxêZtŒ\ @× -ö}žu-€Ì0±ÿ_à¿gÈÆÌ€Òý9,ºZ\¼ã.€¬à#›ÊEã?6€ð(ßÂìW˜ p×s2@Ø®÷˜@~>€ø9ÉtýÑ[ߨç÷éŸúxüç�ŸJèçŽÿÉ€Ú}æ'&óÓÉðÚ }"útáç#'vÀ�ns¦ä¬x®¸Œ•ã£fm©°²§ßþ.}ZÀ8KÈH¯ƒuiƒ£€íß0`ÚÙ�³ �åüT+€!šax`¢ -T>–Ë„±è;9é"=H‹ Å£»+Õqà¿•jîÒ*2Á�gŸ‰8Rn¹ݧ14IEP@Ôy)(Rfv#ì¾"�)‡j§ #<¢�*šŽ -Ò1’‘3u*†H=´Jrÿ�nú%úZ¤áãY/µyOh©¸“^€BîAAÁ—±ÅV*•ÚþÁ�À×Ó6ái«ìÚž'A·!¾‹ ]ö÷ ¼Ò×…×B|Fð)s£~pP«ís»Yßoˆ P™>©üW!TÏ 9""Ì„ Ž¢ »µÚriyv¡Än©[0ñ³ÀøÓE @@ÿÓü> °îÏõOßš‡À –¼¼z&F žûÂôy�¯\4žŸQ |Õ¢B¾Ì‰XÆ Á -“(/ê�p`¼Ñíßnî +ûú —ZŠO€PNG°Ò[Rš}´òË'ø�E'ÖéCÏ'AÄH„…Øôq›gZœ°¦Û¯3©\<°¨Rm�'@ -•©HXW%’žq0ò»ÂÍH—tþGÉÔDN·Öi Ö.ˆJ\D3„k -†@Ùj·h…G:šôDKØ?gQÛ¨È߀šba9Šq%ñ½AóÝjk·{Œ·µðÏÉ.á1XŠ×k++;;µà#¾n¡õ¶«@«¾)€n -«ÑÿQÛa MA}S¾Ê(ï1䳿p þ^v±KÏ€D9lÍw¦÷,ˆ -ÀT0S+«á8à•JåZ8&(¯“�&é…› Òùîkó^øË/·ïã/°17w7$ >óW€Óq²¾¾ŽÓÿšÿì÷ç`:Š˜þ²`c~öÂì<�àûjX&¬|O¨¿Ñ?zZÀ°Ü›Ÿ½rE f«g@ýg8{F¸œ÷l@:½´| Ô·�s^Pú=!⤵¤[͈-=6%Sºþ<ä·ö®¢± ú8C6 -x;À˜QöÐmR` ’gQÍù™yÚà Z’0r-5†&˜³HðPÒ°‰`äWúê÷7¾›K3“Æÿ{ïò³ÿ 1 @’Þ,@ (bÿ§ À}wªáPf `ØÂð}E[ÿ̈@%ôŠé3üŒ‡ˆ~PúÚþ¨-³L¿Ã¿Þ.ôîÁúAÇ?ñ�¼€¶Ùòꫯ�yíüÐZÊÃ;gû�Ò8uk‹±Ü'Š”lp‚!`BèUì�¯|"„:Vü£ÃojKK•ZÝkÊ€ˆ`4@,³_€ýä¸îÒ€¾'R¸HÊ»q7C=@¸$» ð7½íºÏ|¤Ó8Ÿ®©Æfy>Š¥BÏ( pÑÚŸ¨½º !>ØbáÔªJmm�䔩¾zX\(OD½4%ˆ@\²Ë‹jÍ" ðTJÜcìæ‰%D'¿ˆÚ=c'+‰É Ø©‰DGp˜d 8j·öEµ°»œìtDh‰NÞm±ˆàJ¹RÛß’ m´ÂþÀq]DJQ,öBýè uè -ë‚mfñ«;{t4¤ôÛPÛ£hµ$ºOI ¦’&¾ÞTASõ@ب7ööjÕÊò²§‘v“hÔ© ?Y°¶ùàáoõf>Ðþ` €0¿'ºX››N³þŽà¨gër›vPþîüúÝ5ðs}þÊô•¹ùõ^ÇüŸä�šq/@&a¸·zez¶×à÷W’,Â`À3gÏcxéøĨ9nçÞe3‚¸@§±M�˜¥Ôap&@8€!ÑYŠ·`WX-�|�€¼[Ãɵ´Q²$)Þ1 - • Aˆ†�ËÊøåŸH=ç~øôG(½ÊÍFP:‰H‰å › 'ÀŸ\,À $&Ô£jò€çX @Láê¥úì™ ï üÿy1õ, “ ÿ€ Ò/º…ý6ô,˜z¦tØa~š `w`&€þšÏ��™|–~T&ËÄçC’|tuD¥pðÌkV/2IµäD÷Ï3gÀ…éw¦Ioàþ&qÀ( Lç%®(ʼn|ðætüyQtŽ^¸¼ÈÊ‘�qg‚H-­×ŠKXp8:de{�&ÀP&JA3¡Ø·‡ž*ÀóØ{ú„ƒ�7Ò|ës)ÑFEBMá[ºÔ½€Q%¶Á‡BÀU LNäü†P`ÖX¬Œ°›&T£€š€‡ˆ¯v¹À(Ú�æJ³Ù‘$î;±Øˆ+PWí4[‹CH÷Ÿ£Š5HEC%È Š¢˜Ý‡¯Â$Ð)ÈOƒãdЦp¸�~|°Ð�R+ø JȾ0C_«õ'pµQ«®¬ììØ`º‘(‡ 0”_ÈÛé6Ó!1zl%�ª~Po6ÛµJE*?ü”Þ8¨ÕjLK¤Ûû1à &lA*èKà ho«x$�Nžè`¯V[)—J»°‡¡Ñb|À)ÒóHƒ†…·ñÁÖæ¦xóÁ—^ Xq[sº¶àŸÀÙOD6WçޞIJa 쇶°Ü…(ôÏ1ðìÛ¬°±¾~w~ߺÆ� =èW LƒwLÛëßo¶Þa LU¬˜`\¿/�¿ƒ‰ÇŠÞdˆ™¥8£5�={p&ÀlA§ù™�mò P�˜ án(Þh΀üDÚvX¸­†œ R¸-‰–™@À3._þ[¡ÿÀ<4.À©k(B¥ô}†F`Sèa~~åÐ)ôÿGcúÿµ÷-¹1̸Tȹ -ÿoÿh @¿ àvõ#;”En¡ÿ øþÛ�fðz°�rBþŒ°‚=æõý“›-¿1˜Oæ�FOO€;2¹�ªéIêåC¢»Oo~’µ¥løîÎG—7ªK|?Äæ|éf’ä¨<Ô+Éêè‡Op|Ü(ìì·Ó\²¨«��XÞ­Ø *Ä$Þ‚ºdókÒ†BH€pF€Ø¸À¨Âº„‘‚]nêƒõ*`mÜçÈ…× &�Á\g¨Y+q -·ÆÔ$ôuxwkð÷·ŸÚAl¥¡<"¾O Ø$T—“æû3_!Oè) u•p爇 ÜCzÛÕ]P À“àt 8ÉÉßt‡i÷Òª Ék^ðôÖnÔv„Þ5–j2*üA¤ÌëJ% ž,üÆ7@qôÔë8ùÕ÷÷*+;xKöª IØÛS±ìÛïAÆ´[ŒŒf´‚¨:,¸R)Uj´F)šj˜›3QÐèc-¶¿Ì|°| QÐacnÎ~¡õ–Dxý¶€þ̘ý À]ÖôïÞÅìOÀ• RÜïBâ®düD€nŒ‘?õ aXûõìt¿ ï D¯µ-g3` - xixq©~tçN ÍIðˆ™q°P¼H¸{b&@ Ø4r& @Ìh -0Ò ‡»(Þè°Ä<1 -€:£!'F ö®Š;Ò…€føS†.©7k´‚îP5—o@)ñ*p1‰ˆ<ÏZ×.–1|õÕsöÿþ{¿î…à @6 P\úù’}ógZ¼ø]fUíPÌÆܾ�­äq7*Ñ ÉÏðó¤ÿ_D‹p0ý¶ŒÁû€ÿŸwK:ç;$cö’Àå$\GtNÒAàï¿ „ûø/¡Ó1¤{ªÀ¬Aq“IþüŸj8<:ìÖ«¥"£ºh¥v\³Êoü -€ì¤ÅfXÆô³Ò{ ªäÇOc’^»€Ýîl.â[Ti%çŽn-ÉLÖÌÀt»Švb`WZÅ’*²y¨>ÉÝÿ _ 7úÃJ”œÎ -*UP&A0­wK(<ÐÞð­UÛJá3­IqnWx?¢Ç»¬ú¾Á£:¡}úRŽ„¯^L—Q<°²c¨à>ÄB_’ù�*GGݶg士þÖ0¸�ùƒR"Û;¯¾_[Y®Ôj^7n{ž¾�¼ îsb•?�¶¡š|Ž·‘à`� šõ=,uáÓUC.FÁ(ÁƒGîÿ¥ÅS‚B*®Í¢¢ÄØù lÌĜƵ�êÊòòr8Ð\5ît€AÿKmÛNnzñÏݵ€"°0±Î�€k8sŠ`}u­o¸÷/XÖç)0LkºÌÏyOâFð1ø ö-© `þ¯Mú£Òë,€51ºì õ_’Àì¥<·Üþß¹S­†Æ?$Öœ{óÄL€ÖwO!b–wÁ¬!>?€ñÉ,@7hJåU¹Xì0z-`7f„+˜.¤9‰U8ÍQèÄ(€Ë‡² HH -Nnä°€J’ôG(ZÁ¾À3¯W?¨î~õ‡Gcúÿµ»àD@±¸°ô z’ °øÖuAö"=© ÆLål€;ÿCò3x. ¼ó#ŒC" Ôž×ù7,=¸#Y·ÿˆÉâ½N’�Ù‚>OÈ­ì‹î§Ð�Zß—ðÊ’YÒ�$\†ù jáaŒ@àü$i7VJKÕƒv·‹†ÏTyè­‚7´lm3 -`ì=¶·Zç^ œzÀj¯ÒqÄ l;‡‰_" Ø#TwÉË0ƒÐ ”jç÷=¬CWé*ßð -8 þ¥Awi(kß�¯ŠŒYz£dý ‹½Š¹“ñÞÍ´‚Fá^zëv(=y̆Æu!ºw=€ÊÀñíq·¹_«í3¥>~�ñþÎ L<Ôñ!ø/|W“Y€‡þsØ“ÉË €­‚f­]‡úþN©´¼³¿Ï�¾ƒ:`Œ)»=bX„ùvÓÃÇW_Ñèú�ƒ&+ -/ïÔ„ÒìtìUwö\úÞ>&wò ÆÉ„§AÌ ¤bthRšâ¡MÁýà`¯VÛ©,++8``©áùIbÂ=A¾ °n €n�÷ïÍÍ­÷|pÙSpõJ{É�ö¯ýT€µÕu<û€Íy�õÛAÖç×ç=!PoÀ0  €À¾þH"s³W®Ìœ,ñ#`Á à8€40¡ÙKyn¹�@ Ío}Ï`ÜÅtZñ6D:©àrÄL€Jr‚Ö1 - ,Q†´æ‘óD¡¹µLúÂ(*O 1ÈÐÑhð^º9´Ay/Û@þ4 -àRÎàv‘JŸžÀ»1 ç êÜZª‚ú“à×ôþÞ*ï¾.ë[Õÿ¯ýMü ³P÷ÌLáçÅ¥´PÏà1’E]ûsN1€R©J,·²™$Ä¥™lÀ @¸�æݸwRŒˆ`aú}% ܇÷¼úÙ0ú'äOµXN´ñ8/yÅ>âDòÀë~jù€¤»™ØúQH·-ñ´±ë#MyâvtÜ=Ø)Vö™õ,5öö B|]}8(5¡æþA³+`èÁ<”ic¨.ž*Ò~ 6�»¾â õäÚqŽ#ØZoM\Ú¶ÐÙT. Ýz¹+á¾…ÎÆ� W ¬0ÒÙÉÐ ø¨pO@`ƒ<±¨û<­Š`w3Ð Šp‹'Izç&ÈÃ/à ðÛ‡¿e‘ìa€µu{~çr`XİL�µu,bwWW…øaxûü…+ŒãUÄü]”ÿ°d’'tõ�”�­OîÙ�0gÈD€…ÆÝ€ `š àå(€TFÉG·«±RÍ퀶<4 ¢G�@ÏVúüL€ìÀ®hF¤™�l'æPxÄZNÚ›ÀldÔZ‚Z7ـ˗~B)HjYo€�ßóô}xJê�À päZBy7A×™€*›ˆIÉ  T\àµTË·÷ -_W?,�ìÿw@ÎЛ`±Xø9ë ZÈv]úŒÌu¤™Ê °àv~&€RÉ+z&€Ý˜ éýÃ`Ù°0aiNïïoÛ§ïCØï]‡þt€ÿ#û]£²_sWl�w¾ì!Fý,6cƒÂ/†Ú™ È[²\ÙN3=§Èa£Z(ìÔ[¢B*LÖÆ;«Ä@™tSÁ™‘Æpü¸Û¢Û6o} ¥àæm@¶n€º‚Ø' <Ñ•P§Lr9V¨ -1ìà sÿ“è­ÜeCÅ·P”à²Ý9<›xLqG­RJµ4Õ ½öèøÔNf³ ›xBg;l=ª, Võõ‘LÅüýeQ—r¯óM ö³õf'y[ h= à*J¹Ðw§´TÞÙÙ³ àkS€À|�¾R‘H©X(€Xü…ÆÂcêÍýýýƒÊX^†à rq°¿»RÝÛ®ì…of�&”"H£0 ¸h£<ÌEˆ±&R«í¬TôžïˆŠ"ˆBD§HBù òСm¸…`mnö]ëèÛa¸;7�Þ¼¼ô §DØ/=ý.:¿‡NŸ9eîî†êÄóï0Ÿðþ„À æær>~ãm¶ uØ€“ñ™—󼨠2ö-Õê­ÛÕÊÅ -�Å–«y€l&Àlcœbz¸ë^þœ ›À"tŒ»Xg{¹r �!¾-ïÆéÞL€‰ˆ0 - À6Î@u´„1¶€Ë¤P!)c°£‚Fè0¸]žÀøC©‡ ÂÉ0z-€´üžÔí¢ðÿïÓ…¤z«¼»ôõ‡ôÈ'Ðïkÿlî° fp}3^h!çgå -äϺzã°dë”{3|P.½ÿ¾CJ,À ¥W*`Ò˜7BâF é+¯¦Ÿ˜¼_`¨_o€l×@H,À£Oº¸ò$©J ï:8ŸI\Z@}]§«ôË€¸‘q)ΘíJ¥�ßcHö¼.ãôQÒDP­ã™†F-`Æ¢yž¼£#iݱoqe³ç8(0WjÖ Æéžaw‚M4)Þ`°•{Ï ÝH*ôGŒ°˜ÎuB£`sߪ¼¨@ 7)èì³H‹êï‰*Ð'ÁÈ@Œ¨ð$OÅjÓ>Uî§p .+Vàš„<�ŽŒ ¤¨ö<ù?UK{6ßõ¡Û«â®`u�ùyô͸‚œ¢*ÆB*ôêD§Å1õFó�5ûb�ý¼¬rÀx{áª2íW‹¥åáÿþóö -qÔ ²Õ~6ê¹"�Z� ô£‘«6füê×vWTÄʾ -±Û¿\Ìe¿Þ”ï¡Ø+;å)«¶„ü.϶� ÞTb�€ÚŠØ�‡�û .Pý§Jzë&È—_z1@†þö_øàÁöÖZÏÀã6Ãpæü�÷óŒÁI4 �üþ¥Ô¯®®‹Ä(€óç§¥ÜÿË?ßð£íZDXÿ?äÊÆÖ'Ï…À`Z¯zzÇõ#à~º„üÞÏ2%@³—ò|`ä,:Ü®~xQÁÚ±½ed>À°|û.VgfªBZ)—Œ3s|˜—srëCÁÝNßúLêêGåÛÕkåÝJY\#W:0¥(ôXn˜ŠT«¥kὦ §Û·?P’üÇêJ¹¢D·v %Å‹±�Ç &•hò‚ƒ{Èíjù›kýê$< Ù%¿ëF0–óPž¯w÷# -Üåp«ºTØu -åã$}Z!Ê©^,þ=PÌÈ{¾P=�;áÿ¾ˆy³/Õru÷—ÈÐÏ'…bb€ ?_Z,Œþ= @æh @ôäœôU„7ÀèH¢Àû¶!õRÅ‹øÞ�”HjDŒ4yõÿ á¿à�áz: í!VýáÓ�þ³óμ!F÷$}¸kÀQ“i{ìý4ä”E!nu´{Ø çæÀ9Iz̆¸wy‚K{…%©°`úáñ!.u ?hgDwÂ,!A»#œ;djøÃH§$ Ùqà'=ÜH‘…éŽçŽ£„’BlôoÝâJ¡F— Yaúˆqlôæ[”“é »pôw(€[A’µP “þµK¥1鮃®‚½nÐc/= &ãÙ‹ô|n³®I]Üuz} žÇ÷úNÜ"—*®‘5—*ðXàøð°ÑªK±¦ãB_ä�„‚œ—A.ðÛjî­,/•í¸‡#ˆмh€  Â(<`»�B®»8û©ý©ï×k+ÅBy¥¶¿/ØÛad¡À|W:|ô+(9Ëcä‡�¨ò¶>*^Å@$àÔN‰µ��€«¥•Ó‡ƒx EL–„ò øêæö—LŒÛà|è¬ïùÌM îüÚÀ~þÌ�ϼf -ÀD@cONv¸›,ëë³Óx®²Ðì•y;Œ] 0Yþç¡Í€�çfßîwè M¯³ÞïdðL@Ξ½ÀùÌËQ/$F«žÌÓ%€Rù†Cø.@ª¼ý7D¦ªÅâ�ºsKñÂ<[›¡ y{7XøÕ{yÜuUå[€[BYÓ ôQ•ñ<£äÕC˜ -¯.g^"Qöí* ¯w–ÊÞ '0q‹!*·W±ÚÿÍÌpCúk;‚äAÀó–͈øFnïRs�|¨–ªr¥÷“ëû —¸ÆÅ…÷noð=DC¹!¼ø÷jнñ-ʾ[øúVÆÊü';@L` €ð¿ïøó¥âÏsƒ£Æp]DáF1ƒ59?€×v/Ä#=üíb©œ€ „F€Úô>õ1o@R¼OÚ,ºN?5©û_’™ûóbÕ?»s�›CônøûèÏ ¦'`—P -N7”÷Û�ÆßZ©lxðx`G‘3�Ë8æwšµ¥âN'@[¦m -ÇF~…ÀÑÇG¯vµ[� u ©!N‰Á8�1“[ñ04꾕sS$˜‹+ê²ôùy�—|‚$©Bk‡Ðñ%jdÄž -„­�s4ükO0íéz­ˆKÙ§8JV,L�:‚7¤ø#`ÚžŠ�=ƒñ®Ü‰¢ÝÉΠêè´[ú.ôÕèËèvº¶ö‹Ô(�S±+%V]Ò�Ρ€š 0 �; @26ýFCÚ»4í•ÚÎ>ª»5zîÒ7^ø+å]S>�Ìh}’ïïí‚øµÊҒкV‡ ¨­¬”YX`Ž£�ÛT“‚•yMÕOQ-?pƒö)p_ø’©€aŸnàð©ýíð À4Ú~~·œOSuÆ�éüw…úœW×èØWÜÆ½a=à3°¾Ê€Ñá?–ŒTÿ%øÌ]aeá�­­ž€_bð?,?ˆq€Ù\À Ñ^ÊóˆÑ*³|‚šÌ*¬ÎÈn•oFº®nf€›7*L2°”úæn@O0¸ûÞNèÌ!Jš ÞËGHû-kÞ¹[¡Ö„@˜øE]‚zQaµjî[>r4Xí&¿�Úݯ7,=ÜU -åî[ü�ˆ€BzÚqG µ ¢ê{= @4„´˜LVî÷«SÍ·õ�Xô•�¾˜àQ™`Xú_30Öw¤¤†þ`†ÿ°äð†I€< `ŸÜÀ°èiY@’ïЗôÑGXôç`&JbTÖÀ<>¡Iî y£$’räУ !BöiÁüO§uÒ!¿c`Î$(À…w¢Ï‘‹ÌOàBä�à>îÇD[rÎñ³‘IèûÞ‘€xØ´Ç3&p™ ‡Í�âR­Îbðºà ÿlͶ%^ç=á�~á[í0oK Ö‘¨ÓÒÕÑþ•Òà¯h)ÐÑ©]:¼î~�«$Š›=ˆ×}:ç‰p£(tg»Ð×â#BO·éøÐ…ˆ�� °ÕU¯Fn À�d=m¢(êÅr 6ÿ˜m@MÀô`d'Edéý”*‡ªâã//>©ÿø(ýñ‘‚�ʧ -Å2Ÿ�.”P ÕI�®§Ó¥³%üþ¨�º1¼ÙÜ߯,‹ìÔöPÞ…Ù ;ö~a²R`çþÀð:þz‚k@¼^WÔ^M8/ÔÞY^XXZ^©Šìj¨ˆSÔë{û*w¿~ l§í€JÂ�𵊦ÕÊú?¢ ÚE!vT@uEÍZZ©Ñ̬ŧJ€üùòáöƒÍ�Õ9ÀC|81 -À€AÉÀÿÇ:ØŸ,þëwmˆÙ~Ví÷�S ¾=;7Ï€@87ÇâtŒ`jàêÜ•·M2€x�ykÃÀtaÌÚ¤½”磅A5,ˆ.mÈ|ÈÑŸªÌ˜ª.ܸ!e0ÃpC¤!y„ܾýÕh�‰« -ð¡ÐÞ` ->‚ÿhÞƒ]/_«ÚŽoF€Øp%\ nÝYzÿÃ’tq,"·?´š ´Båß*ÿï3={½„†è²oˆ6b`O€/cÐÏ ¾‡ÀÙt¨\,”¯ƒõ7o~@%�`ÐW}î|~>!N|;(@æH0fü_Ê–°�åú[E¯’cž @ü ý¤:ƒšaÍ/ðþêz·"ö„¤xŸ@S3€\ZÑo¼r{‡~€_ÿ€LO'Í?ÞéœÄKî·=$ÎÉ(®�I/�Ú—ÚÙ¢LhO²ä@Jí#Oœú—Ç ºh�a€õNåõ��ÈÓ8TÜñóÌÛ  ´¶˜É1tj¾�èŠ\u&ˆc(Í•Šu7?`ÉGY(Cå ŠÝc�¬Qýì`mK àø°M{ˆq›tÿЉ¢@g�pö4xšKØÅ€”¤;RUp šŒMx×A-6y¢xp\™£�ÎJÿQ»k#ˆ‡Gdr¥RRÅêòWyh埯öè¨d·»‡Ý£¶XÌ�Bó"u;NÒáWŠ Ø“ €3Pìr®7ßõ}Ê¢«¦ï«®ƒºRïT+µÝý½�ÒÂÕ¥’hÄ»¤¼´\Ù‘þ¿§Mé•rÏÄá,ùtöÃèе-8 @D (¦\Ñ{½\³é�¹�hêi(?I¾ÜÞÏÏ­m=ø’©€?g€uûý’»ú@Þ>óZÞüÿ°O£ýDñ €5}f&@w\`oÎ?§àÚšJZƒüµÀ'¶ð.óÎê�Wà ¬ˆú^ídK˜öRž]Œ>’d@çï2 €° “V|Ò ¸ËYŒwîˆ@f¨ì¾·£ãÚ©ÃP9i@÷ €¢VhÏ|tá“êrgÿ‡†â[»¿c(�º}æ¡âñb*µ€ÒB;lØ¥™',[üõèS}ã‚ÿbñƒ›7ÍÔŒÌÐÿJ$X -=€°„Øðæ€ ÿ{=C€è0i°ÀÀßëèÏà&0€öÛäПWÉç€5éˆòNH/©NÚÿý:¦¯L¿Ã”½Ó?²3³Ÿ®"`¤7æÛ�c®ÀQï�+0;‰Þkƒw„“øN&ÙUJ8x!„§•!ýPdó.ØçiFÁ¿-{ÂÐòÇJ÷ð¸Û¨•J;"tb¨ÃŒtÅuNXmÙAB’*-ø'Ì KRǰ¦x -±ænÜå*>)$T•®ouÜÆ×duöHMX%ˆs~sæK¥f4‚ ï„î1Øܲ‹VÐññ s¨†#£AzÔÉ´‡Û¡-eÒÂlzÈ`¾AReþQâýEùÉ!F|#bJj¬„²‘Ìý(]÷ЫÑþ"‡Ä ŸC»•ïƒZy ìÆ|/ Æt�Ò߀ ô¤nàÛÏ©a~�@}§RY®ÕjÕÒÕ«…be¹"Õ¿ZÙYY.Ì)öæbLíÇxA«ÿt Ô©,Q .Íîƒ& µÚ“WJï©D²1,À÷¬åO’„ò .ë›z*`Åmõ¢à^@oÿ�s»HAäûâå3‰(àŸ‘*s}S¸ 8?ÍZÞBåÙÕù˜ pŒ$Ä?!jájÖ�àØ–gàK Àw#2ÊP.�á�§ â� P‘8IrxàYÿg„ý˜·x À[‹¢7b@¯ œ`IÂÿYÔ}-¨ùll# · 8O�HèÛ> Y^y‡<ü@ztå€N#D€ù€ÿIõSÞé’½ìè3É®tN $'\#Y0•¾(L¶”9n™ ¤'AÒS:ŠC—ñrØmÖ–‹;Ñ3�k�  -dpƒß -rÁ=¡¬ÐM÷qäsJèIøm°j¼OPŸu¦8—¼ -HÝ�L¥1”ÆY¹ƒnt¹p^A9Kúº!j‰ð©%Üoï­¬ì)pÌšwváw -Ò{ê`µÀ C¥ÐŪºïº dRáGÆ@ˆ­-̸"@)´^¢º¥Ôã2¡{0&,j˜GûEx&± FšÇúÆè4a±>;b+8! ì�˜0QOMÚ{a¹RRÓ¸ò‹�µ�,þB∄(³èB­²\Z©ì­,/\]XZ^./W*¿Z^^.-,¨È½=:öv�n4|�9€O¥Bkh# €Øÿ°S³¡¸‰€.xÇ:pŠÈO’/Eîa—gào…ÿŒ°@êØXÈ2YðÛ‚|!~oÿ±Mÿ¾Ð'0I Ÿ:ïà?+oذ67}á<‹xJ3 _€ÓºFÈ*+¬ÎM¿ýö•Ì ÷•×Qo*øN€øœ=/€­âåL€Ï/†¤g‚ -ïžÅ°8` ^rÂðÁî{;9¸ïÆù ZþQ­Ð>Ê€ªŸY–&ZÈbQñy‰r÷|T´ñš’Ô -7„vL°Ü†vüCÏ>7NúK#,C>9©ö\„ÿÙ€ý@,öÔIô,`3`!€l@¾ OI¯Èrð ø3¤õw>t�Ã3BœÔØãºÎĽûÂtŽ(ýuðSÛìøÁŸâ0€øˆ=B@ç¼®‡âBbÑ€¼¤¤Ï „'픥¶;:C�•®ãdãòxît5óúo€` ´Ð ŒOÐ}.léF£•,ÅxCSZšh<)Áœ€�}ëP/ µ)]÷@Hg%¡NºqŒ³^`ïLÒl�.QAúÓÛõzGÍhí//´Õ6¢UÓ�Â`5ê:X}dG~·ÌUP9'·9 n®»%|ÏO¬ä8 ‘JÑÁÐ}?Çøü1¢éf~‘#ñsæ'"¡2*ÀØ -ðŸåyÔö)J1(Àù dšü£•ÒÌÕ…Òreg§¶+õ ¤hïÜÂ1_ǃú×à6¶€¯u®Õ*¥¥‚@ze¹ n¾\Y®¨ ŠXAqaayEeíè" -‚üG`8] �F€ü*×ôà@‰ óµ½Ýá?ƒ–––<²@w`6PL–„òãåˇÛÛ›kóó«" `@òHø¿zOê:.{Âùó¹Ýú¿N?Ö;ôc[Ü'ù']§� ó€ÿL„`^¸íÉ…)é…¼ÀíPœÛ›,ýa€·Êÿu’@d€’³Œô¢xúrÕµûÞI€¼„ @n€‚Â'-t0 Àbæ€õß]½q&®Ü8f4Ó¡·óÑÛtª@Šõmo0€¡´Ùª=½ƒ>¯:ÌÈ; û1¸ƒ`° `PŒã*- Ž�9U:”Ròk‘Z—“`±§Ÿ¸L>e�xõ•€§ Ûáa³V*ÖìšÆd€Âvk±`6Öok²G�Ž4WôØ#¯ÛeØ;s -ë à6u“ 6ä -Ì•üx>•úÌørÀqÐ` -`à ¼þ i��;”g²%´Ç÷Nlåña»Q«5˜™ Ûnwà$ˆa]|„6yU*P¤Š<5ßEí“0'a\™ ¹²€.Y`X‡‡�š¹˜ÑW¯o¦ëÞ“C5¨åõ`1}CÔ%Š ò¼p�¾à&�êm† Ò]0(�†6´x -¥´0µ°\ùUG@4vÆî¹\’‘¬¶ �cÅÞ« eúúWôÓ²¼RÙ©TÞUQ€åå -eí‰VÔjû»âÂ}º>˜ŽZŸÊ¦°}›0Ø‹@$¢´ r¡hÅc ß)’`~‚0àštïµ­-¯àyb&@c,ÓíÞÛØ¼·:'¨~MˆßÛm8ÿc�ø$Ô¿»þOé#èÏ> Ö0¿zw} À&>Þž–ú¯ÒpÐÍñ À -ÿ É,çmp£xýjãÀ ¬_ðß‹Ÿ}9 -à9Åp’,R½_Ð`¼w{Þwàú.ó€¯h»Æ»ðÜŽ±¼7Éà�EÅç}¯ÜãF ZFŽPƒnžô� û(ê¤`¤@Nìž ðßK§y€C< ÌP\¼3Ô�› @¢Ú�b€Y3`Ëb0ªM²ä’§í¤@ `¤è%?M �‘€Á€ºŠAô\€(d;¯·�!´íŒÐZGêDâFO—�8œÅ¥öæ%gÐé’¤Œý#Šé$éw{Ë¥�F¿"0 ¾ÒM0Û¶~Ôjî´ÚÐ…N«ÕhÕÛ�o3H&|”ò.ptJγëc ÑìŸbIê­ŸƒÐ@ºµk¥^�D OH�Ñ>)é4D”DAO¡¬ð´ÉЯf™œÐNY@—Qi#�‹xjH?nS7–æà«7›�öã£6]UÂ/ÒOïVÛ¦¢êÛc‚~S­0 ˆ@{p°Û/´¯ W Kåå©òI]ßß„þô -¡aRøuÆ @˜ vcÔßÙ)®^]®Öömmµ�[ð�p ”¬ªR…íÊfK>Äë€U÷,0Z@<¡v ÄÊ,!PX`h¡J #A·O§ å'ÈÃíû›œ·yÿˇÁÿ¶îAÂ@ {oÓìÞFQÏ[¢ g8E°ÌßÅà‰€Öm˜ÆpÆ‹Ø pœ$Ä’5üéèŒ×T¯5ï|òx ügÃà¥à9ÅX“d¤ 7 -@0e úÇÛwˆ ÀõF Lp»<8€ñ;,Ïå0Þ0è@]9 @øþ§óô|ÈàY-‰Ë ùÄ<-Ê<Þ /á˜ðß õd>€7ùü} (‘Må›± uìí|ô6ç“,Κí¤r–iÏ_Àá?œþuáýŸÄ‹w_˜Îüu2öŸyÕ{Ÿ \¼úªâµ�j[Nâ×!30AáTÔ«¯¾–íîH{ä I¥ ñ]eÇgØnî-/{*`a”àTpx,ð²©ÿñ·G‡­½�•ƒ¦’´M«…,hÓn ‰;!XÉBÃ: -3¶ E�è5×µb°«s¶a Ývfn‹:@! œz::�MS”Ñ Ã…î0¨®ÛÅÌ +^�ÒXn•]@d‚±ªb=E±¶ïŠ1Ò$ã - i9@qh€ÛÕ?—À=ÃGÕ�@^šl €Aآ⿹\ÍYÞ©qÜ(€A ÀHÓŒ>’ÛÏbï�“þ,Òý‡,7¯³ —Îͨ&sv~1¢�˜ (KÐÎãZÄœîÉ{™9Œ°x>€1b/€ ?ý©Ý$Òÿßù›ÙÙØ%¼Òz›y¹�z@ì¶5?vÝtŠƒä�èºæç’Áÿ€ØšÐ·Àd$=VDÅ1¬ËcE -k§^[®ÔX¢F[·+Tsç6à%¤æêè°Yß©*ÉñQ§Åp{­Ž ·Ól*¹4fÀÔ¤=¤T Ö�§(¿\�½æÆÜ(_-ˆµ›ÐJ9„•~ÔZYç6 ]¿ÝuÀz¿0‚¥éŒ�‚¿æÔñèé#=‘O`r�%DÜ€ZYA˜ÊÜ8&pÈ�Ð RèË€”À�uû­îÑ·Ý6sâîí·ø¢˜•Ï3%ÆrdC¶Ãoù¥öwXK¯¥G µÃ‚Î= ùG -ÔöªËWgpàcî;íé.�?€6%dn€† Úp `†_s­R*¼1µ´,Õßà}¨Ié×FÁplÕÀ)½ë³™¿ò‰Ž(L.³…3ˆŽ”ЦPbíÜ:mK0?Az)€Õyá'³>xpë�§OØÜÜZ[½rÅß^t ¥{íü™ ÿ±èòµÓ§ÞX§ÿß‹êbcs=Yð8þÂìüÝS,jKûcË€˜ ÞLöDû§7UàÂù³™®‘€í¥<“%2eè��Jl ð‹‘£†f¼UþNóô|Æ�èû¯'Y|hvß ß0Â0rLh”@`ºo¼�@O2ü_ZȰØà°ér3Ü”ú߃2Ò{¤=Nz›Nó .}ôΑl¤`\//kzC± `ÄèŸòXŒÿ¼×ìéÐCþ,2”vP;¢Äñºãé&–ô«‘„G�Âx‡ãÙ{Btz\‡¸ŒáR§¹·\\©·…P€ªàËhôé€þzxˆ÷úA«£¬2#-Ö�ðÊ«'¡C¹|¥Óþ)¶ub­›~yN\ë#BÓëQ‹‚Ô†¦.ªp,5ݙȭÂ)’£ðTL¤Qï -Yqº“ÒÜîv;, üøð°#ÅZ˜fø ©(ÝÞŠ�Ê@õT­ -eº'v<õd݃ùÂT„P|=4I¼©Ý´&Ô¦ç½^Çàq»ÅIA(h"ä‰�9Š¿ë6ý'm/|r* P}@¤û»g]X¼¼„iùWRÔWv„á�àØDÇ€kÌ2î Øú¥ú+�ÝûVJ…©©™b©¢  .lW6ÁüîŠ(Eiyy¹,•^à¬b©,iû†zJöÔCÄLöƒÚίªËx– - 3 Åe”Ú® -ØÝ«Ò;0Qª ëcK§“›äðs.÷ïC¢ @»j ÀüìÛÀ¾Ô~kþÂ|ÛÿÏ3�þ€ó“À»«óëë,Œ¸2}ám½‚Xèˆ/&'„yr±øÇ'½çXDôSBïÿYL/}žG 1=éY„x»gñ´$ÍõØp € -Œk§~%cèù§1zÓÚ24 ñöíÊèy^p `Ü<JAŽ €Ó|2 ðób‘…z€À†„`Bþÿ`dÖ·ôÑÍ›à/N€aG°÷bŒ�YÌ(‰Y¾À óDr¿ 20¼yõÌ…é3p;$á�Ήtú|(ÀÜ$@`îsä“påÈþ�Hž$ÇÔ¤œ ˆï'“ôXÇäa>NDíÆþr©vЕ›Â)Á•7  £ÏºÓN3ØÒ�Ýl2J-lÁ3Þ !•¤%¨ ƒ+æ•¢]ˆ -¢»DëÀfk÷ ?¤¡ °ÝÈOУÅ& ¤ÂÛ:K«Fµ¨Óî2¿Úp|ͬdäÆk/ªRù¯Šä¶6¨Ø"¸c`WÁž'È´€û4PGá¾ãh•RaÇ×¼‚|Iâ>úöDÿŽ>Èô•ùùuV'4æ¤ÜK€·§ç~M™¶ð2&üÿCÿó$åâ¥àyÄÓ“ž`äZ<ÉÀ(€Q¦�éy"/â0< -ÀÇZú>X†æè¾ -ÇÐoeç|²ßÍàF(ó³ød``@ßÀ` @Â�?ºÂ @ßIøêA™qf�“^'à:º­»Ü„Ô˜ôO`æ�sçÎ]-ËÄÀ!ûª 8sî•WÎ�›*”*ÕÕë]P¥{;Ì!¨ƒ¿‘_Õ¥¼;Ì#PZZ(ÌÌ,”*XöU§‚½&‹ >€ÿÓ ñ3�>’û«¸ÞÓ€-wd>€øÜƒHSÏzX �ók„p?pN„ÿv„¬on®{fPi¼&@`ýHqkNȽ{XþÚ3 Þ €T ¿®~•±Ár€Xðxéð‚ä1€‰ó|H‹Šöµ-#G(ÅÍqó˜#¨ßÑ ,…þ?`XX|kñ-Uˆ`d€x&ãÍ1’ÖE0°Í7P†­ -ûsRHã¤)`ü÷˘ä$¡þ d3ÿÎϾóS3÷\P(¡´�ƒîÇž,œ4 0Ò“12#¾ÿ�8Ûû’c6x$ €ŸC�‘�ô\ÇPôÇŠÿ°¹W.í0A­ðÿ˜¡ì†Â¤¢£ÇIgÅ&Ï…Ò°¿B (Ȧ”‚R¦Ü3|’—œhÙ¤Qª°!ÔØŠJÄÀ;Üý$M_ ç@8 ³Û@�}{Ô¨¯ìÔѼ»í&Cº­fC�cMã�Cr‚*�ҥɋlìé–"šÈäB~Z`ÚÕ�¡8[,ÄJbì _ í¶ˆp%¤çùù»öýƒ~èdÄ×�' øwñP§Cf`áå6ÞC[‚Ö¾ÔóµÝiú;Ë¥™©……%–†òYYæa:íR›.�5>ÂôFL�}å?\-*éŠÊ¬T™ ¼¯,M½òÊxåÜÔL±=ù& ?¾~æ*ÛÄÎî.%¯Äð?:–õr/L‰å/¯ÔvM+” cãÅ0ðsêm‚y>_ê.€�µùU~²<Øz°µ~Ò0åüy©ü±Ÿ?ÿ‡¼ÄP¿I²æ€õ»wY^€Õçí�,³óó¸"Œãý ¡wB¨¯r®Ì}¼ù €.~uþûwä•×¼°Ä‡„m/åÄÑ—žÑåà(4dR ŒeP†¡Õmèá«a÷E|Æ[&®Ðc*œQéJBÙºü>G|_ó ‰€ÿç ú“ˆ¸àúBq1ð߀tî1€¤þóÚ8àS:³Ç) q¢@Ê'^A3€1iý&žúè8ãøÿÓ³gDþfØîŸ ¸� Þ¡l“æïÛ0Ã{@¡9Qùx]%± 1= €>ø~öL‘×A÷.OœK{õýùh·F#ú¿ÎÂ7Ýò Ý[JÔi3OÀ&úo€h³ |å�_!È€NÀ%‚tÓàJ©Rʦ ʉ¿£�ÔîEr�`(=ºµ/ ZXÝît„£ª¿Õî?î6k;�&­GW-Ê(dÑc£¸D4(žºt¢›_ AÔÆÝʧXÚg„XB±mBí=ä.£$­ýó=Ù˜û;#a¥b%ÖS¨DH,É̉ó¡ðŸu—»‡�ƒŸª°y`cÈ^U8-$¯§¦® -%!/è_Ý)¯¬üj¥ÂÄ@�¼À6}µý�]°O]é®z 3SRó—Ûe÷ÝK.I!ÅëÎjüÊÅÑû¿SUI;µŠxf†!ؽÏøUùWËz› …«3SS…e*‚­p/×þÑ›ð\J€>dÀ6€ ù™@rߣ’À§Ÿ~ú gXOàÞ½Í5,îú·â�Þÿš·ì”P~Œ0÷�ûÖ×¼€ÀÜ• oÛÀ0É 0XÂà -óÌÿÓ– @zUã5€WéIÄÛK€gCKNÆø<û(€ÀÏr©8b€ -Œë@Íÿ>>#ç艊ÿæ²n§K‰rçQÃ>’ïe€!ùyš g(¦•€ßº±¸¸(õßèoäO]vT ,ëƒY÷‰(ccsBz™ú¹Á -•|È�á9pÓ=OÀòÎ;tè� £@ˆ_ê¾dʾ0ƒ?¸®ã€œïA}¹�t‹ˆ$À~üt¨Ý9ID 'ñ\Ǥé�•ÎQû€‰€ê-ª@Œ®l´t™ ;Ì]¶o�½×ÚíN»k#·’ é…¡Á;Ð5È>¾ @Q¦dÕ0,$’MéB÷FÝ�Á^6PÛ$B 8¡q«~VàZi¥0U@*ü?n×wvêí£o™™�bÚS_öÁ­@‘"Ô$Ýõ¿îÀp? †kê¦F®É ;Ð# ù Dúbº]}Øò1’(ÎHß3R~‡mÃ}Äÿ6ˆ0ð¡*OþøšttÌò;µêraê üíJžÊ�eü„Ö+ ëG§W -¡sýÐ߉wtE²T\˜zý�©‚pi©°T¸zõê’%]â03S(¨XXòÝéà’kUÇpª�¬T—Ë -¯T<ÐRiáêÂÕ©üDt[èOçÄä Ð7ìÿòS"ûFþtØÚd|þꦀn>øôÓ­û8&'ÀU€M€+çAjöœ! w:Õ@À=kf" ùééóW¦ß¾@vûLê0ÞŸ�˜ŸÃ0¿¶¹½Ž^b[ÜÀJçí *�Àí¥œ*Æ•¼Œ²œ²À( €”ùQ£2˜`{€±>ÃçkÈÏpb&Àà«ðšÝ÷x¡QþFF͘îßÙ $Í’z Òÿ‹XNt`0tõ±L�ͧì‚]¯pž �˜aÉRÆÉ¸?Á0¢§Sv‹"Þ™�ÿÁ+gèå´óV'·{Ÿ@oºàåW0‹L8ï3wú‘qR\ª~bþ ÉÄ�ì�•„çc‹�OVò'J»µ»¼¼[ou„¥‚2ØtlüÒe·-ÈâÅF÷µgúºÁ<€ÇÝ£v¨d‚uW:ü…ž^…7ÐøÕ]”m[Â30´jÀ<@Ÿº‚;HóG÷&1l.‹–I•êñc)ÚÊLctëqç`¥ÌºÕJ�Ñ"žàõÑðÝ£'VìI¥ì*ž5ü•�©•Î S*ÝîUˆH�ô…ò�õ-4¥ÍóPúFší.M3‹úöÈÌG ´@�&ˆã €BÊç5�ò’ÉØ¤O Ž+€ïòÂÔS K‚«îBàʇªÒÕ8ð�Ðì ôC‹·^.Žð«26!ýÕ« ‚léìo¼.ØWp¡ �ÄÏ} ÊŽý€Ž…`µš8…Kî3Vp‡µ�I(U¼¢DRO  &™•LØ’À§_>Hf#~N¸`€Ôò� ÜÚÚz°% �Gû_‹‘v} @¢ð–Nóã„‘™à.æ<öæ¯0 €ñ Àê XèX·`vnÕ€iÞT½Œ~¡õz{.ŘЊÆK€g–À•œô,ϾÀH€a €GüYæ8Í€Q#æxñQ#|$'Öø®>!9€ðÿðÏ À"#¾¥Ïnß6ŠñŠ€béàOo÷‰�àü{´Œ x>��>óg_í-ŒCÏ€€öq¶@<Ÿ˜œ myѵ£ú±Äd’­ð{âÇr·BÒsEŒ�Æøñ"¼¢ `¹Vou;¸ª1�ÍÕFKÜÂÌ.ÌŠn)²­ƒƒ¡Ÿôá®Íh @$Á\¼÷¼ƒÁF[»F¬�ä(ÊÒº…í$´©ÔÌÀ” ùÑi ÈEõV«HG)RõÝó âéŽ|Ô8(UöÛâ-Æq¥@+H©Ê‚³áC½Š^GÃ`JIq˜÷Ý„÷uEC1fè ©Ç6èû ²ýAÅáÝ×ÑWÇWŠÃ–ÕߢϬý°«¯‹>€c¾·!†N:ù…½V­ƒŠKÒÚK¥r¥\Z.c ”¹¯ô»>+°·Çè?ŒÛ€òry©0%è¿:#ôŸšzýܹ7ÞxÍÿþ¡eÖ¥ÀuÐc 0åWñî£ ÿje¥lÞÁ €+ŒÐ[½´pufjf¡¤63ø•oN”•¤ÿ?ÀºÏfÄO�¸Â`Uš·-_nßß¾/ -°)µt…„À£îöÞ)€~¬úXt×І`6YÄ.¼˜€©€¡ˆàÄ¥¿€Þf½ÚÙ(p?ëxixVI¨’“Q€SÖã�tï$/âðâk(Ñd @º’P¶.¿ÏQÿ�|BøK°€þ \,z%@£¿‘?ëØÍÀ+}x÷½³Þ§S}"qdàœl�nÿ ’œ“¥-=¨÷')û -� ^QÜ"Kì‰!{Šæv&aH­‹Ÿ‘žÄå†gí=oçÇŠ4èvý`¹´wài}Áw¡X¨a0Vv…i€ƒðh­ÆÁ^<:l)½ð:yN+J³nº@ôk¥°­]Êõãã§t–#$Ï`X°{Ä\>Ì/Œ-Š jÁY�”TAL¦*Ú�wë{+åýÝö7 Tý ”b¬Go×F߃[A£Ã2À“êÑ=NÁÉÕ¥¢ šêçQÀP®¯¡Kí¢Aö? w»ÓƒúVÚ?ã%üÚ•š'2wÁ®Ò=êv[ívGiF€= BKôû*ýø S禮º;mi+€{ðu„¬,cz'­”pº L´ Ä ÖÒØ ŒØŸZ@ÿ›˜º:sUðµ°´´Dy`;œÁ¼U_¨Î˜�¨`y¨橸´\\.¨´,ËP}Ênï©Æûc ¤úþêüÚ†XÂö6úÿ3êà]ç¹vô(€¹ ìÓþcæè_æÇ‰uþ°ÿ‡,Êþö;sº—À~”ïOÈÇ|VUÎùÙ!'@¿Ð¼àt¼òêyá>ëú˜àí¥œ& Tr’,R½_Ð`¼#KOÝôÐwÿLkŒš °/*þ{] À4cÌ<æjÆ÷æ`É,î`@²ýÝX�?Áÿn@X z½÷CÙ7�¬YÌ 1>fIc?Å0aJ@ +¼ÃÈÆÿe<$$Ãq†õ°0O ãÿÙò’*~&ñCÒ9&î!Šv¤C¾/Ü™$ôE×÷˜ °%½V|@qîû—XáÖ‡!÷tmÁnàø°Uoµ±Â3îа™)Ô:pX�ac>— -ê@/8ŽHÙ'©€®Î‡v¡3ÖK�›…ÝÂPš$v ‰è…¤díýJe¿)–BQªÉèÜ‚j¥vï<¥r"·ñ°Oxh(ɹ¯vFÀ ÍBØ�<ìÿ1¾ ôm”8E:t#Ì(1ˆ2Ðs‚ƒàaÒàDÉ £/ s®VåJ± ¤�q^*––ìÁW*ÄfxsLðBqæ PX<€(Aù²�¹´T¸º0£�tvÉ”°JèUê¡è"¾E&Ü‘ï"t!øÇ× ²¼ò«åå_Á:Ê¿*Ñÿ/Qk¦Þ/Y*þ˜QèI8ŸC~«þ½�îo_WW7é!¸ÿÁý­­û1pã.V[¼–ú±b #î0Àà©×76°¼Í(S€Ù¹µlÌ]±ÁjXx-~ÒTÀ¯¼ò&D)ÿ>½´<£$HÉËH ÀäµF[ò`'ùs® ¼ždø3¬ðýÏ�ÿ„1:ðH oé1€€±@³eŽè‡zz›€óéÄŒ�¸áݰ9Ù0n(À�Ä‚À|Èâ÷: ÞŸ¼ÝŸè,2©úÏ ÿ’ø!ÉIh2žýñq‚@Aè±;×JhÖÆë°¼åm àJPº}ÆÅÎ×Lè2( Ð&ôDyEA¢mhâARX„�‚ÛûË•Gž†ÏeÄÔ‚.†æ 4]ä'MdWóü¤TPŒkÓ�{.ˆh§ÒÓÏÃ"Õ,áxÇSÿ<>êu0ŽÀ§º-'¢F¾>•Ï7§J‰ ¥Õj뫆 : LÓg^YYºú:¾ú…¥ÂÒBIˆÍ(|‰4ñŠÂ ¯A¬£ƒÚ ?y)ˆÄKiìôû‹ðÒûµ° ø_üã¨JÊÚ?ùôQIU�>� ®U (íK85õúëWK4Rwñ F2Q¾ÄöK0,ºÂ0?·¶ùàË/­þc0ºþÓÆº €`ɽPúµ‹¢Œô£{?P€5ã¿»®ÐpÁøáÊü [(çüì¯ï†íüä,¸{.`Ñ€—>Ï( Qò2ÆàÙG/Z P%ýùÖ89àà<—ûóH”û;�øsÍГ ÿ¹€ë‚ÿÅEšiô7òG˜ÖC¯ü~ò‚�à|¼À™’¦€ñ?psœá%-ý3BR¿Ú }ÿ€<ú?/¼®rb2ø‡Š<Ÿ¸éì~4=Åà“ø¦Ÿ”'”ú ›½ÓØ«,ï5°Ÿ³ Ü­[Á†ƒsž½V°Ä�iíÃf«­Ê­°t'Ø—ðà (”Î.èÅð.h‰ƒ#:@˜(PZbâ�b’)Á;Áj:Nð’w|j¬,³:�+|§ÔÃ'vDL…(”çöá‡å¦žQ'§vãy23M£ÿÜš#\× ‡4®+¦}ÏH¨ïˆ¥8}(þWyakëkk±~pWy‡¶„�}SC/Þ8÷ÆÌÌ‚[J{XíKâï—+¿Â‡¯RFA'1 -»ô~¼Ô\EÄ’ÛŸN*H‡0(À( Þ:WVª ÿ2£ ™PEHõ�æ”Jåâ’Š*EaSoL‰—,,-—!¦î'˜,¡äûc à€E`k}~n~uu‹¡ŸnÝ¿¿µ¹µó{ @—ksX2ïÿ3½9½Kõ’À?;ß½»º&‰;›ó³tœ÷¬ß8ñ™Œ[˜öœ”»«|l˜[Ë|â•åG@¯~æèQF© áÛK9E¢äe”àÖ8±àŸ{-€SfLW*�²uù}ŽøÞ×8!ýaqqñFÂ~¤gÅ»Œl¹} !½MÏâÐÛ�š§Y°Ð9—Üsâ ¼¶à€¤=#æ~>ZÕO«%€pÐ'å}>á!xŽÞQŸtK7ýSãgõ3ž: -@ºh»Q[®ìÕÛ¾ðQY��@Žmîß¶À<@èvèem2gwÁH”nŸ�ÓPø# ¦¢fÊq²‹ž‡à,g¸a…š¡¢DcP}j•1�>Ôq:&t§}P^9hz•\À“´LQ4Â¥ø©l& |� ö´â3{¦ÝgZ$JSmj˜HßÁÖ ¶ÐkÂ÷¥;]a:�ƒ!‘ò¢B)˜Nkÿ‡mÁ~£ÕÚbzch^°µKý^Y.— -3çΞ›r¯½€@[x^„8‘-tYD€iì 1&ùÊò{*ŠÑùXfD áKÅâ’îêv-,õFé_)“W ¦S ˜q,1ÿ|«$ü Î�›)=*�úÅ"ø©™(I×}¸O[|ÚZÇ`}“ÈØL`ë   ,ýÿ˜(,:².°@@ý�è÷�)Œÿºêw`8æÂºØ�’üa¡àÞܬXÄ\\��Ö�”_U€ñ?YÒd€L5’ðí¥L–„&Ò³ñ„wßÁ`Ä(×�š/à c,Ï<À÷½€ª5À3�x‹ñ?�XßH+úÐ;¹»Ò©·Ÿ¼ åDCd/iì§[N€„èÝEÀz$¥·¤¨ÿ >p Ї}Ø0�û™E-g÷8ìOO‚¤[ÜIà2N˜‘¦¹·Rñ0@«óXôÁfÂ9!|§Õ:<êÒÛòéà |è¼P*P*�ÏÆR#¦®�W •D º‚é`2IIB…ÆYÃ0pxMBéäQƒ ,ý«:ÔLšÜ2pá€=Wøí˜‡A\WÊDœv - ¤‡s¸|\L¬Ý*Hš˜|£}à8 ȤJ;|ʪï‹�¾,¬$Ð]fHÂ,àJ篬{|Ømµ;­¶‡H’á¿/X×Dp -þ²èîÂÔÙÿxnj -äpW€pXq�ð -f[Û‡èÄDVîb©(ì§ õ@#ˆq)LÓ­Tâq(@….ÿŠbD„üÅ÷”@%©ê¥«âWSðú¹s¯O-Ô{JÔª÷&o¡çO’›àîê=|„ÿPÁ?Ó® ú×L­wç¦{øÏ'±�t=h0Ü÷ÅáM�¼pXÖ×ÿ%ÀÛ¶¼vþ�šh] `•I -§gçÖ>é[ô:òàW?f”.pVªÅ^ZžM˜ HÏðÝÖ8±àŸs-FüŸ»@ÌðßÉÀ=†ÿ·®/..z@Â�ƒ`Þ'‚ì|ô6ç Ò{Râ†wãé‰ažñ:žÐvÃÀ¬hôHJ› ïvþ“³@ z·¼iOÙžS< €ž�ÄÎ'1ŠgMÏ#ÌÆ -}½Sñ0Àè¦Z%€½Xòþ¨Ýj -ò„rŒըcóF± �‘:‚|¡Õã"æFTД ¨„0‚A:4nA:GŠ Y¨Ô„ÙFð€Ñpø£zE -ŒÍ˜»øñqë`yy¯!òâê4t» * Š(Ú1ÔÍÓëú¸å°h÷Ÿˆ†(@#i©¹´ÃçyT$=!�nÛ�«¯Cð¯ -éVG_³¾ÂN»Õn²ˆ]/ öû‚‹ÿÀ†º�K Wÿòì™±�Qw…«¼÷­¾—(üVªøˆ70@_@ýÞ’.¸öÜ? }A8ÀÌ”H€@¡öS IØ•VYlí—¼gÍ'U@"KØTÐÔUð_­ºªB$&-TxŠ$”+Rú7±¬®m±0ÐöýûX6°¬ÿ÷¤¶Ûð±@†ÿ}èïŸÕûп±nåŸÏ?§ÈÕUúù×Öĸ±qwö -ƒ.`Bø€µ¹+oOcH«úE•ð�³ü½€¢À½”‰’ dP’@*í Zˆ— ­ˆ¾û¡µz–w¥Pîï4 -`Ì<Ï4 -à…|B`6Ð�Yò]�ã »zûÐG>BÂïß çæF=�ßÂË+ÍG@4hçÐÿ#&¸¿)�Áÿ…ñŸöÛîÏD#r QPÄ Ýò~*�{8h[¿¨ ÒÀAQ`LPÛî4Э™õ^¸?zµMfÂýý°Î DCÙje�X©ëJs›!y¤#,�%¥)©a[\œ%†[t©˜ ©jŠ€ÊW£eü¶ÖÜÞ¯,ï‡û�Á]ˆúbÅ·û`M瀲)G¥fÞaåfØ�2y} -%7í¤Y„h Gî=Œë‘!©ÏÄíR¤ÊäûKäÀîÿ4Rk)²xaÛ«*ûÀ“€øoè-L�{å/½/`@. -°Tp×¾pQ+=}^‚Æ.„W"”~üþ§0"à¨ì¢K0ð{áê ¡bÊ�á�3—X þªÌu«4;¾~î‡çÞ˜a,¡ŠSê÷HuŠ„Á¶ý`K¸»:o> øg. @Wf^3ØØfìÓžérÐ 0q$‚)BL |oEÒ) .W¥öÀJ FyÀ"``§-¤]˜bð?òÿñ?¨Y¯{•�¸íÀdá' -óÌÏÍÏ1 =a�@ÖLþIØ+åzŽA{c%`þ¤ôÕÿõ»ÿy»Š½ñLƒDN·Äìù㆚ַÐÈdð«jÍ@›kÓ¿Ð'!ÜK™$ E†¤gø¿íZ£f^ `Ä<ßëZaP -rL°|$ÍpÃã¿�îÿ¯xI²Çxqˆ’ЄõF9G�k,à>öD7”¶ÀN®ÿžÒ«”æG�®0«ÕñnRŠxIpð•#{—®À©^y%™—ÇI÷°ÓnÔ––*µ–´|)«,°Ët©¸Œ 0Z -…¸â Ù·GíV�Õo0Ë „ xÀ­©°'ÀLá"ðn<[`Ì V ´ä4¶½…üÜ ?À�µ(ÜGÇðJU+PÄÓ €û¥Ò^ K@OÇy1ÕÙ¸tby…èà>‰©€ i~ä6àà âö8|ŒÉ£…)ÄÃ#;:K„û�V þ¤/T_ÕÐB6A»ÑªÔm7Í£m#~~3 1¹àÿÿµ¿.à©üAbÒ8‰Äú5:8PŽÞ'ü‡.˜3Ø�P\@¼ÈÀ›Ê�=ÀÐmô›ƒÏ^1'Ÿ)Ei]„ò¢ÿŸ=ûúoóèæ¤gÀ�Ér•‘þ“eû_VççæŸpëA"Bÿ(-û“­�µù+Ó6p}¬ÿ¥ücÀü÷.Ï.˜,§€û}«ýùã?­Ùàŀë'æHœB^ZžMˆ ÉHëæà©TbÕ©£”aÔ(€„®WuŠÀ‹® ¼>Í�®$”­ËïsÀŸÇÑoËâBš˜füß ÈÊPÍ�bŽ’x¥èŒ7â[±Jü3KTlN¢æ³ÇYâ`ºèE¾ˆðØ�¦±¿”q¯ä4IrH’@¦÷ôïŽx°wÿÕ¾pt&À®¨ø…oHþžp@ø°çNà�®Ìÿ'é�³8 -$‹ˆò(‰B`¾ýeD÷ìÿOÄð/±*¥æ‡töõ•ùC„¼!qäÈŽp˜~®ç…áÕóÝõzmncWÀ%°‘Ïj\£ß?=× î¹NÿwðXÀ�[@†,@œ - ¤3ŽÿOìb°Ü÷p£ÛĶ5Lœ�Ù,AqNñ§NYYREìuñ)P& è/|e}ºÕhl=A�„ÓŸÆ…@p²£ÈÎiUÀ®Dî«OgF.—€³Y çWjX%Ý#Ï,€#ÀÅ}·ûl÷| -BTv”ðlEþïüA%¾ôlg÷é3ÐÏÀA{…OíhÜâÖž{M¨ÛQ$ࢶ2½ Àª7„—¾ö‡["HBþ�{�Ø‹HH”OHN'AÓ°_;ΔÈ/aþ?üÿ4J¸kBŠ>XщÂì>§.i&ÀÒÀ<@áXýï¬,/,,ÜYZY[YX8ùöeÕÛÉøà - ô d"�!8Àé ¿\8º'-? påò `eytÐ=Ž~=÷~n»I‚¸Wrš$9$ùq€ò-€ÒöNò¯ý-€SæøWøÀ¿ü<¥TÞ{ÇóþÝÀÓ€€YlA7×!ñ•G‘òÿbâǪ[Û^%Ó1—ÀQÏ™ï%\¹KÑÎÕxÛ‘§_ŠHàr’|ûíwßBšÅÎÓçß2-@4[ÿÁ�htýöù3AÔ@–«�/€P‘¸¶�2�²ÑÕ9ƒŸ~BàÖˆôy|îÚs.v¤$ô?�ØfÊ�ÁlÔ'A YX/]<ôO §²­ �ö�O·kµõ]ÏdàBËÂUå?›3¨ë¤"T"Nz�6þ«ÎŪdí@o*Öyå -%”ÝÜù�;´ç;w�&)™öXùÑ_BéÑî�vYàFá€ÂüçÏwwŸ€˜¸?0åŽR±ùŸxVÔjOE\*Û ·ë£2W1eP\æ¡*tüÝpêGVí•AA’:?gÐCâ2¾ûöÙSê×-``$Qö’ �9X;®Âçô§{ö|—ΓϟýñÛ?<‹›ß#Fك¸ÿ,~Lí3çèЧaP ÐÔ#È7 $6dã@”/ÒbIû* ú€rv;›!<Ö8°BLÂÖ¿ë2é £äõ×é–€@#蛨*:]O‘„ò§S�MN.­Þ§  œxUÀÃÿV–ÄøÀÒ8ëÑý¨q^Оv�€˜PâQD1€bðÿ2ÒÏã˜d=A¬‹™IÚ—áÒð€µÒ áíàN€ñ ô‡$ˆ{%§HÂ�Ãrœà| à ØIþ5¿À(€ÿ{  G*²ÿ»j­JýˆðqœµŒ¨ÓÄ©RX‡®Áë ¢$.¸Lü½ÄØ�¤Üi“¤,ÐÄîEWpT¢\礒SвšòÇ–ÆåÓDص“×js[´a{ŠzŒ}  ‡6ðÿ‡gÏvŸxÒÁ¾àžöø?>Ž?¶@ÇA¹%8jžs„ánt7OàèÓ´¸³ž‚#ÿ™®ad3ÁwÐqRÙ/ðÇ?ÙãnLM[íÿð‰Ÿl5êë» ±ñÐ'£6”¼ByD4ˆ2—ÀA!}T2…Q�êrB%‚ ½#¨&.Š2¿cjdšD¾{PJeÿîéӧϱöÿ@÷~J„UÄ@q#íxöô .€çJvD@ãƒ"ä`Êæ~ËM÷<Ó¶ïõþ×�Áá‰W2 káoaå ×VˆdËlçé�…Ü2ãUÕ�UÛ$&�üŠ+�~%�@Ìt XŸ(Ož& åO‘äXÀð™Ó‚®Kw–d®ãXXb½; 2ö“Åd/p@Œ÷!ߘ\˜¤õyeqQ»»ËËtß{ãüù÷R£ŒøV­ÃV°0z™Nc‹+k++ñ-€xVõ~0ÞsÛ"”$aÜ+9E~–Ž@ˆ'¼ûá}º-öüÿ×·^vÀŸÝ@"ûߟFZF°^)1®”ÃÇIx„Ž—SNõH*7@;¡¶sjÃþåJ)EE”»P;Ó-¨Qß«†2±÷A‡‹pÄÅ�mx—Of§ÛY¯WšÛ¦)E†Æì?âë·vw!¸ûñr (~ºË¨AOr÷V?(*ÔäëÀ†lÚ€`›Ø†Wp”ˆJr˜ƒðXØJã ”eìÄXøÎRb· -å •kO]B ¬*y¶=ÝØxú\'©•ÿY{J'ÆEiƒÜÑ•~‰à¿3P˜ŠqÙ®-ÉO�&Üþ’gôö÷ľ:+¤IÂ!¢´Ïž™QŽv:§ëaR2šPžíïî<õ\ÀG)@ÂÇôÓésŸ?¯…©wÎö¿~¦ÜM"Ø5 `�G lzåÖÖg…ÿ*Ç÷,8‚=Xì°‹@ŒAí2HÅØú‡D8Qxúû0ÿüŸyÍ=$$ŠrO]Ò`¿“åˇ÷ýþràÚýÒà.€KKž'øÎêê�…€ü~zýb�p --¯üªÓÀ0@!+Â{>(9ÿÆy€SØ?^&2˜¦^[¥xåø_" >KÇðç} àÈ×ÿu¿pêL€ÿ -ßx‰QÊü¿¢€Ä€hÐCáþûéáN@¿ò\’8dk<$ݤ¿ûÖÓ -3•Þ°ÇT@‚llj%<R%‹- Xð=Œl�ú7è+=ÄBBSý?«:ÊÑ*#µ0-1iþÈÄ;à­¬±±í¾yÖZá -|e¥ä¶&:¤Q�ª!®nA¹Ž1C@o§¤Š(ÉjºÍCf<óúy>dî•©ÑS¾— øP  -• -A¡[Ř4@kww'>ø<ýº’`´+t2¼Óß×r–®÷LÁÓm (Å Ô ì±ê)!$•ƒôõŸëæ@Håºð $cÞ<¡_·˜À¿-¢g‚&^^’™Š0 -ÀêƒïûSáö§Q€’;x„ô'K‰ö¿òJ§?~2üeè/¯*J"g Ä–©M.™„`ìø%¡ý!q€ÑA1€‘±Oî­éRÜ@O¤_]S…Ƭ’„q¯äIèqX’@&íô/9ô5@ìÝÿ }  £ˆR(÷Ÿ5 -à„yþ¥¿Ð#xÜÏÄ=?an—¢8#£Ÿ/P°+:Ã,ˆŽd;­�2eèî¾�ûOö”ÅE¸<÷òõD®2‹K÷îHeŠÏ6ŒË%@­ÚÜÞyú­e© -f7`R Üž=†}Ëg�xÏ¿}²ýä9Iø®=èï?ý�Ñþyšè‡Zù˜� -&&‚ƒ¥‚ -h¡,£§¶Fs›àĸy�ÌòXzåÖV*}÷t£Á÷ u ~—ŽS*E‘ ¿ö”f…ö¬8¬›ï?©U+*9^‹Ê�F"2ÜjÿŽù�¹ßé&Ñ)ò[øÉ·p%#ÜK립hÀs _9··ww¥üóçOKÂÇ®w­²ÿÒJduÓ8{¦¿�nýý¯÷¿Þ—0#ÛÞý@mHB" -}J¦ 2“?�¶;Sf~&„AíI£ºúΜ{½ÏõKk‚ˆ ô�é3«He�* åO‘‡tÆ‹a€°–|ì�ÿxpàûÉ(ëȱ{^p/X€ €ù�û‚ép,ª¬ÔüOgÀ_-O^¼2xùÊ¥ó—G@¤õ{”:^ÆÆ.Ûðéêý5šx$%ñzÜóìâ(áÿxIàqX:D‡G`!“ê…£Nø`_ »?¤ÀÉ€ƒ}g}�ñüßä[=’:Äñ爞¼jý¸OýÓÅcI¤²Äs(2Hi xõ6ø˜‡ÔÛ åvêKY½S9!ɶ»wÍ/””6r <ÖéÀëAï ½Œ¸i?âµTJ¸WrŠ$ì8,'ôxùQ�Ÿ½-€žJú×êpÜL€]Qñÿ -ß�üË  Gÿgðúab¨ExžÒ^?æÔ*½?VÒ£ˆ”ê½ßeÐÓgÄž ®Xeu*Låi‰’J)Kô�Q§ -¹½ô(LÆXbÓ#=Ñeáné?Y¾rmÏUkÓëÌðÝ3Å`[ Ë@-лÿ©{¸3ž�D•½»Í¸÷?lÚJ€M£&¹M“SÀ-'0©au‹>qŽ�”Á`L&285E „‘ÚÃêÀbA>pËY…ÉO62€o¥ŽÀ×ilý«®ïT¡{ Xý¼s�üžã¤w4‘Ð…@wª$ôµ>œÕØ øýI‘Ž“Šf€Òýxò„6/ìs¡3Åwß)ÑîÖ.Ý-™ø°ô½vd±·_fö1 @âgÏ0ŸÖs‚sìù¿v÷½öºÐ¸ï/dë+Æðؽ¯sè¯%¯i_½_†¾@_ÔCôC!©Q#©r@# ©Š9÷ºöçtpÊšÌü“å·pŸyc @òXŒÚx–J¬Ô?´éೋP6þËà—¤HfVÄè¨ç¾Äý�ó'ŠÁþ8Yúåè%7ÜYûlmyôÊyHI<¼¡¸k¯À÷”‡å8Àø€,Þd{'ù×ü€ðú4À¿Â·b€ÀtŸø—ì i­x~¨t9@WNÆüãÎù‘Œ>U w]Ñ3Ú‘€ÓcE%ôâ€/�<ù�I¨œ6e(?I:ɤR€ÔÚ:¹ÙuË_#›(üGgž�.Ïn^«4·vK}VOuË\uÂ.ÁX|ÂV ¦èg:Á¼vOŸìì>tÒm/f¹ƒ €²†Kìå8p„OIl!<�J|bàC ¸ýŸ´{¼•µ®TÍT:Ô¬UØ.Î%Ð9iùvwãÃÆÆ®gáCe ~8‡Æn…£IG]ídr""ÉYT~Xý¬œ×æ[áø3¾ðÿì©]#h¢Û(RÐ!�k@+ä÷ÿÝpã-ž=zXl‹÷,qî`Kû1.x:+<GŽ×âX§¢Ñ ¥îÊÙ¾Nò×è“päÙ¨[–½ìú2/'NA»¶çÄ1úN[ûÏ`⟺|ù`íÎääØèÂJL¸–úÙ{øßÀû;¡x¢¶ÿôIDAT«+wŒ÷' À~¢0*�(°¸¼Ê.1< ë�ëtœ,��\¾<(°D€ %½ „ûopÃ^€ï) :‹ñ‹¶  ,å!AT}*lWƒÐÝ@g2ááìÇ΀wH„sù~µ™ÐÎ)Tƒ‹‰fž Êg?"NµÌÈêÆþ·`žÉ’"�‰’H¨›ŠðVlª ¡¾2T9XŸ®@›Yâ¤a;à7•¤­ -Ñ`›3±íâ"Ÿv) s_(�g@ê8[¸#ˆF–Ð#œ/ ‚PPýÑ-Ù“£ÿy¸¶ä&€ðø;;’U{ô[Zú%mwÖ^DKhâ‰û®ˆ,¤³ÚG€Ñ‘Á«bW^ì ÃÿqÂ<@ƒƒ—GÆ×ÖF;_L�²@<À¯<ßOZ­¿?nµ­ÖãÍÍÍV1_´=h¾~Ëö+ÐLt!àÅì˜U†sÚ¶…ÇYþHp©s¥)-ˆ¨j%›¤Zk·Ø@¦Nµ‹½Öcáv{Ϧµ }eR¸Ø|ìQmÅß·[­¯7Û�ZEÞ.n¶K€®«¦6*~EÖÙb~o½šµ³|F:ùf{³hmê<µæ³Máx±c,C�f1#E¼Ò±ÕÞlçíÆD³Ý–zQ’fvb¢‚¸Ræw¤]E¾ßlè’BÝ�Ö¬j*mnâ™™ÏÛÙp6£;25;5“ºY-ndðÁ=wH€ÿ¹8ʹݾ!‰itE tPˆ™?²´>zŸ€ƒå?tïŸÝ�ý©£ßñP<]R—°×jì©•xª£ÂžjÀÌâÃXŠâSA!åyïÉ“$Žz…s©HŸÕ/¡Ë‰òôÙîö\ex\t á÷4~û-Ýüé ð„æàsíh|ÇQðdgG@À ¹ß£ÊøV¡F|r:‚¡¾U(o; ™Ì là/ì‚Äϱ É@‚qÌt¥Tý.» Xw—úõZm}û)–¶p7‘åþÓ·"ˆ§À~€PràrwJÔž/ùˆÂ˜X�wž]‘ÎQ ’ë¦zB'@zˆ™<ÛÅðü»gOž câ0:+~BW Ý<š¶7¶¶vvŸ=H}ÿ»b í�qþZÎÉ‚ª§‹Ù‚R½f¸ö -Ûª�ˆ$GJ"“!=˜À9³ŽF»¿ÃR*òC£“ÄžˆJ.%ÂÁPnÏ�ÿ©³ßIòåƒÕ « ôl—ðß}hHP|¼0X`rqq1Mæ8ß‘•À{1€èPò€Ñ±ÑÁ‘«Âï+/Ñ@Y{h€Zµ¢c#—.‹Œ-¬­NŠNœO�­g½¥ü5@=ŸñÖ²$Œ{%§H!t?fm_·»¹ ŒjÏ]k¬ç{û:œß{¼ù5n{ÙÆ2Ý—²i³÷«Í[�zMü@0– àáÚœ¦ý½)°®ƒXÏ&nÖ›�ºp¶ÝÞlèT=Ï›�k�Lµ´÷r¥¼­ˆf£1­)ÒÞßp“"_5«�¢Ø—"Eñß•^,*ÑtM$¸¹¾Ny‚tfYÛóâ·T ŠL‡"_|Õ.¶ò滵†ªÉ÷8Ç`…†24&>TY�ööšYs=2T„Ï´ï‰�¨XªoiLèâÑí )²÷¨Ðe‹ýd·ÑÖ3¼®Âë•Ê�)hÚÀmP$ÊÌòuI¹fcâf#o4t{”õ@ Á÷£÷q†ýKî¯ðØð,yMØ_bñApð(Ðó ¤S!‡±ÔräôAQb×XV“š@áB=<¤ŸbÿúSZ ]äüÐÐE¯éü†¯I†'�q¥y×åpBÉ® U¯)Áл×TM•$)ŠÊkïNÔøø¶ÆÇÇ¥ÈøÄ5%TÁ*ŸäÒsüÚµñkþ`¶4)kþ`Hå„( =&ÞU,gC�ñqéà ª&ETмKÁJ€ÃJAÜðÄC7ù$x•üÃãÜŠBËŽ"©¾!Êâ6„\œèãÆ ºö8§ê”%ÐmX·ûšR_ÓÕ“à‡Ëµ!Á8Pþƒˆž$ ä´Xø´¤ãI>~g -é –�§wŠŽ·Ù¡‹NÇSëðaºÑK1à±µR •–4M!IÊÝ•>/¡u²¤«#}”Ò+./Š,%Y—' >€í¬:ÐØþ?x�l®B<Þó§2UE �OÀéÃÍìpÇ7�oÝ @šÒ0ðlw½V›Û~* MTAF§ArU$íÞêÖã -ÐN‡$Ð1ÎóÔvõTkÍ#&Du‰3Ñ)RUÓ'Á½¿®‹@žÑˆÂ­ãn>7xέ~²³»µ¾±óô™îó³ô芼ÿ\Ùþo€@ó‚™]n º=¸›Ë/A|WÀz¯e†’UØ—á”2+Îë)e$ƒÅgϼÂ÷4÷Y8�<+ °aöÓ `aaL¦ýÊÚ�; Š�—ÀØ«~Á‚`õ º9å‰É1¦¼J?Àyza¿—,��Ðpydauytð8€oÙ�üPÇš0"�ã¥øfs<Ëí8Çønæ{;í/¾(ŠGßìW2�›Xë2·óFVoÔµÊâ­Õó¬^¯Ï(z®)‹»6ÑP""SwÓö³Ì_Ù¿yã]¬üf³:±#óž¢dïQÑ¢TçÍæÞž,tŸ&ó†¶Íboïÿ‰ ýÍž,}Ùé:-»=Ÿ¶:JÚl~0‘­çuÜ -ŠY—í³*Ÿ2“"[¥"7¯¡H>w³Ú.TŠRäÅÞ×_h‹"_äEE&šû{{�­ T€ªj£›ÊÛû§­ Æó1C§³ºõoeº1†UI£ž­£#)>ÐÍ“BMÁiQä é™5³›YS7K7ö‡JÖŒ_9/(×ïíq˜‰;( 2v°4Å?n]ä?”DyyXy: ¦ˆƒ]HEHÏtœÖÙT@W|ÒÒI\þ’�/Sž ÅÎÿXT#$åAŸÎ¦«›#buš�qÿòSD0µ� W¦7¶vŸz €1KV²,WÀ{òdçÉS�üÓÝoŸ=Þ>—�»³½½û›Ü\ -$ ¹ 6Hj4:ÝNЩ2 —Q{ÉèäÂfÛܶ²£ à;`]€¯Ê(S€®Rpµ£f·Ns‚o=Ófg½ZÍ·ŸÈÖ†–) >Åó“6Š4à«4g¦rh€B@Œ»@™ŒÇBÙg 1Aý€d³•lÓ_©hPô3‘ ì¨èžu˜ÖëÕúÜîSRH)WÎÔE*Žò¥‘4Äõ€§Ë¡ •�&b\‰Ži=pµðØ�Ò14?Åó?<ûV7�Û lßÝy"�WA�‚™õDz¢_JÒ� GAÐq†§t,qùL÷ýˆðy�s¯ÿ…lLÚ⪪©½]AcwBrxD„C ¾ÅÉÀödGPåôŠ6¶îSèD'*DÅJE‘�_,S. ä��üòáƒÕ…ðÜ¥ øÐZz–~9©³Š×îÄõ—“KÆûØö¬ÚL.Ú QDð˜�’0pq² “UëZÿ±_ƒ>\¾ô“…µÅÁÑ‘¿*i;p¼vx~Á¿B˜0aÜ+9EjµÚÍcÖ¢Õf1 NWmAum³lâšaU–«�®‚Ô«Õ¾÷�¨Q†fõšðšl¥˜M¨°¼ùnc=kd €è<Ÿ5 ðî<6ój£hd�žüŠc7]–ؾV•eaå¦õFv냡FLh5 ²Íªj›î*Âe©"…6²!Ùý�Fm8woAU¡ØP„¾v.~}"Ó!;à Ha}¦Ëy÷†êÌd4­bøO2t¡šqk’Ìêl><]� ò…¸Vœ"ÒßÊ^2 ø+’¸þ—�.{–Là°ð°ÅsÇûªÃâD!Ú—©-�óÚr!ó�ˆ=^LbD�7¼ Þ”¿Ÿ,‡ -”7ÒèK´‰£8�„-'É¥ÍJezn‡^l ¹G¶ ? ]Â<ð.¼Û0Z¯Í bÀD ù ,x.è�fòÚ) œ…·*Xhêó¶Âi« 9KçªeŒŸ‡° �ªFpØHª2a'FTjyöDÀúìéîz½Ð9U\+€Ùnw¡±ô{¦³öPH_§ŸPZÜÌÞ ÍIÁ…OQÎ-ý9Ö)Õ«U·JéÖÑn"Þ‚W€þ¸}4£ ›©Åó§öˆ¦(€š;Ûs"â»Éðï‘ðükêžö¿¼ pÞÐ6xZ]ÀÙ4Žÿ ƒ–Èaõ£q¡ÏѼNJk‰ª)Èa—׿�•/ˆðXe€ðÈjÅòg  ]KbGP¿³–Òü½k9@°ëXœ\öÌ�Š¥`pä{L&¹36x9<+áðóèç7=Îé¹�÷Œ~¯ú¼„ˆ'ÅW`;Ör�·˜Þ§^Œ·'êƒ×Ýw®^Èݨ÷ey½ò~‚;%fkà qîTž ‹8oL4í¡&=ýÈ�tc­W³Ç¶ä�H¯à-¿/PÜleíGi–•v«ÑȳkÃëÅ4º‰ý­E­:¯£R!twEqƒªÍ[ÓÓ"�G®¹ÁTÃö˜þÜ·›{ódVDäJ”$¤XoR¤•&ú ɪ­‹77ªÿ]=*`‚Qÿ'í|/á4E•ÍkÓº=xþ½—æ�;aºÿ0¤ý蜿d¯€©�: ì�Ÿ6¿œx;cpŒþ$"uçYd•”|B’‚~n]–ÅF ' -u©þbl_ì9f“â%¤îJšÝ éÓ#ü�ÿñ‡4ê‰c+Ø9Mžî>Û)ÃãÓë[néL|�`Pš€_(ŒPäwOŸîlmíâ ìÜ)¯·Û ¨X¡/æ¾±8 ~¡·!_¥ 5m¾À�é†ÊpR¸ŠÐ9@Ï„{( cj¥]º<ƒÃ<{ºÝ¬7Ö·½”¨¬TkËÞ -òȦª¨î¦ óÓ(‘„Ú„òŠ„^ ;jª,<#J�—_†üŽêþüéÎ6ó'¢‡Lû�mlŸÐVŘ{04@êÓìÿ”i€¶Ö7¶v ]O’ ¦GΜcþ>Yþ¯õ�•YÿÚ_š/’€ð±`–0Ù#š5ÂiSJ‰ë‘Å'Õÿš{ò9g0€¨ógO€.À™¬Q©Zl#äQ'-ú=øòÁÊ¢xlÒwÿ _ûrÂÿèxgeeUDÀ€~ì–ßRç ÷DÌþc�G@T F0õ?F¯ŽžÎ¢~÷`µÛ`e Àùx4ýŒÇÓ¬ƒôšAJ÷JN™ÍõcÖ¯qZ€ÆlDHUŸf¤¿ÂÙ7Õ¡¬HÀ[¿^~_Ön£Y¯T+UàN€ø(¯N¡;¥£,Jühc½ÙÊè'?dC›ÿ”E‚Y¬nzÔÏ|Qm~M%"÷ÑlöÊ HƒÙ³üöÄú7ò½C¡¨ˆÅ»Ãy³^¯Õª€®Iù«žãwJJ9ŠjÀÞF=ÛʇšzÓÕ† €´1èsíVÄîŠõkù¬ƒHœi<Ÿ/R’gÕ¢=<žÑ`œ¤=µf­o\7dxàíÊõÀzÏ”œ�7¾"Ÿc¸FJSP÷œ~ž`eeéŽ�ï‡K‚ÆÒmOTDHôÄ!>•ž²ÃRžð#ÉÇÝ�…âJÈO”Cø}TH ÊàiÒÑ(4a�D¤¡ß?Þ)ùŽZ4&tâåO&§_o ˆIOž‡²™%†»Ým[°bO±½¡Ûʶ�þÆ< ”ÁòÏ”Wùlåÿëš¶~šëÂ_û× »ô ÿ9挀ø¥¥ž¤g+š -í]¾I -xÊ<.€Áï\£6·óüÆ‹¯"¸æáªäö%=­�§S�Ð…D -|áðo)5p -¸vgÂ%B›ƒ#¶ÅšL -vw·¶Ÿ<…™è*!M*K°/å¥.Wñt÷é“í­¹9€Ðþ€<ï{ý\ÿ9£m »¯�3"Ÿ,åIö v¹E v0¡r€üQ—ï$Fl#q¿ÎôE&ÚŽd=^”<�Ø'¢çPEŸõ(€Þ£ßkì9ý`ual,f\5². Yï»E–îåxV çFúc¶B{ÖN ØÃ*y¿¼¤€aš"t’äÓ–Àè§_¡daÒ3Ž,,xH!�»ÓŽHô,w_2–„q¯ä‘µÄÿ¯uß�Ö p’)`*àNVlÖ.C%êÖë•ze¨¯šá PPð7%S˜9póƸ-øRʧéŸ×˜€ µmycâ“Àf7À¨úò¢:íù‡„ÿ:Éû8H¸>›�òÆ�Ýý!·³w‡@S©‚޵ù|£V˜É¤œ¥"u1åb7‡÷ÂåOíJQ*B+H^ óµBò…"ÆlÎRœÍ&ÚE^SÍé©êFß0½#¤ -qf#b"�Mޤ–§˜+ðUñà)ÈÏY0Ýd`Ó› €A•‚]FÒÑïžÒeQƒ ÂWÁ°ôÙ˜«Tç¶¥…V³À&=ÀK �ÊV�ŠþŽžùRÄ>}¬|(�ViJ©ª“+WDÃêS5>ƒ°`Òç>¸Bžïìîh�rÏŸì´w¤Œ*yF‰²á]�Æh¤­ö þÎööú\!ðÔ7û�ì k ýýýç<ˆù")§€-Fñ„èlÙq@ Ñħ�ú‘FÙýÙ¿è€þ›“Ä™.L§©‹`©HÍ’"Î%ØÇÜïÄ�¡¿ÃVKÀ¯±ÿËF€^€`úÎÊêÇÈIÛ GÖ…4öŸ"Ë>‹4 0k€›$€SI€Áþ°XYf½|yt”>z2m�”¢§û€$Œ{%§Hxü�ˆq×Ö¯$aàfÃ5›Èd-g²à›Õ¯¿?Ü÷þ­Šìý°“…;2Ø‹ ÞfsH–zc8€YJcô€À™Ùû˜§]ml‘z&ð:ºêäÙ°Ò!EÖÓ‡~ñÿ7°ÿMC²¿+át¦ÕhìG¾`É‚—î [ÞÚ ÓAŠ8E¤j‰pä̃DôlÚÅ”…úE€¢1ÞVŽêðt‘…K àž´8Š -u;ôŠÓøì‹„D.²,ø ô<Ƈ`ÿd+ÿ8T—$¸w‘À¿¶´8Êû´ Àç}¾§Múù¨ŒÓ·ôŸ,O„åëõ�ájsc›/Õ ái¶~&cÔß[[ûÝ'Ov¶cœÚ76ÖÅàÊ"„àiþDY…ðÊo€QUˆ(Pž -Q…¼Ñ @6½P’S@¨Á¤B“˜¦¨à_fµPTð¦+î‰4ËGåÝ�i¾gÀd†(Íp@ìáõSÁ6,_>°¬³Š°±¯ô¶/€§6TRœÏ˜@ `&Lû£0î~‘Qñ"©#Úi3‘Ò3Q‚p“à?xJ�AÅéöîínoÍå¢N"b‡do—ñ÷üo&p®?ÙÓ'JŒîjØ›X?p6B„¤g�e‰Ï9©¾æI ²û\àK‰ó*±ö�ú.1¢9€k$¤ïý±‹�÷ìp€û«k‰àHÐnÀØÂÂʽû"' ¿¿ ü³eì¿�÷År&@Ï4¹ˆ@›„ñ“ŒF8IÌJ¤VHr@˜€6:ŽŽz]}¼ºï$aÜ+9Edƒ'4þws&£ý\`™P,o´…zõ¡›>¬gõá¾JÃö?@xw£>…Ç|f3«þž™öfó)Gè¼�¦_óZµ1==Ä €ù=,o<ý o˃”lÿ¦˜°.#œlJÀXç´�AF®)X¯W…ÿ5hˆÓ©úÙv6½G›?¸S@êG0�/"{W™k…à½eEÄA¤µðži•¬˜XG>+`ôVïÓɧÅè² Ú“_䯇£säÛÃ?í8#tù~#gÎ L¥«H÷@ãÝÆ4£ù~Ð/‹'eeel4,è,u²ø£å.`"`p×Nv!H�` -�q/�Kú)%;¤'Cù ;˜ðùEâdNØÝ„³�—C*�D! -ú QÅ€ò.¼ƒöIûDDÂ�"¦ö\mx & xßÝVè²dAEÐN8·!Ì’¡�€Ö�]Y²[²yeÊ -€•ÚPÒBKÃ) dî+Þh/TV¢?á*p7ÊËÆ«Nhƒû^çtÞ©h@wO-L§ãn‰»Òa[°+…wŸ>Ù˜¯LoˆÏ( ‰=Z–Ä“ ŠmŸëÀêávp•��D²s5:a"CÍÐDÔB·A÷WíôœÔ]Ð�aŽ�wÓ¾³C{ OOwÅdñ+ÛÎîÖFÓTKl*Pÿ€œé7`Ú p¶Oø‹÷ýtÁ€•]‚lÂÙÞ2Ò;¶ xŸ@¨2ås ªÞŸ$Ž%± œäH)) Gƒ8H§’áôïýÅÎïJÀÂêÝ_ÿXNãÿðŒ-L*æ3¾x¢îíø/Û"Ìv1&Äð_І`�¾"¬„£ø!NôüÊï0Â~í + ô ¸tipdtð€ÄÏs) ã^É)róxž¦�©=íÃÞ�)<�ÿL±Uªê8¯ÿußûÙû•ª)@ïÔ ã®Àãy!)°[ÚÀ!�i•ñn¶Þ¬æóÑà>ë~ùÂ]™á››¶Ä‹j£ÐÙÈ�„é-.¡Â”°9tÏ|Ñ·"íæÐ5C©@ O„mì)ð|¯ÙØ ‚a½¼4Éôôtqs‚2Š<ì~+bü—"…»&Ÿ -R(nEyG|CDZ²aŸkgCCõÆ-%ªÞ¢ 2ÌÊ qB•Ù®ÅÇÚg³ºI�â(§>-q³™{Jƒ°ÄÃ"Mï�ï+€¦A±óõ]J€ï£K±ï»ÔwþÒ•@q Ÿ>ƒ¦¯ðØ©�ê�ô©ˆý“ðè–•w6é™îÝ¥Œ¼Ìæ7Åu0_¿N�£€õèóa!˜¢I§xtŠ`‡n4.Ö¦‹ A’‡Ôwà¹à <¶ås[»š_aßúts]@&LSœ ¬ýƒà20[p þÚ¢&B'»l¡ÂÇð«Klö ##=1lÉ…:ú޲µJ'L~I [0,•¼>Ù]o gëRN‰p¯?¥WKÁ`±ÊSZ $�ôô%äJ9G£Áóo€ùoŸ?!6PœŸR0_‚Ôw¡}±#’[7Möüö–H´@ -ï¾óZÿ'xBs¥_Ÿã¾ ÿ}çË„§ÿ\ÿ9»ÿc@éÓÅøZ.… sÊð{P��&œõŽ‹‚ð?£žàHæã$eM‹ ŽEöLõSñ®Ža€£“ «k÷Á~ËH ü'ᄄÀêʃõÇ‹á>Yý±F˜�&W΋ö³‰1¿RÐ àdü÷<–^`0ŠõÏd‚|Q(<z;yÌKI÷JNæ·;F„€M’dív ïì‹ñúf6ÓÌò¢ñîµõv~aX&w¥^y¯Z}¿Z©ð ÷³EVÝ–d“òK7Y¾SÝxÜn¬óѰWð VËom>ÞÙój­Ð¾Txv ŽÕü‘ŽSÓ|¾Þª®·³¿®þ#53‘h²î6ë›V$5#tÄ# -Û׊ýbŸˆùЈQR„)„³|¸Ñ{GŠÙ4øE>Òéæµ€òüvõ/kE»þ—²æñC@ìˆn�3³­¢‘‰¹g!:2]È·†ŠÜÿaK<+È�ѱ±ô|_a"!áw æ}Wíç¬$‰÷6öK`'el:ù#%haµ—@ë.Èl1J‘@GTJ'ºbðŽqÖ7è ¥õZˆÄŹx9”ZXbµøÃÐô¥ø\Äü¿° @²Ý¬\¬67¶v¶t$|ÇàÝ5 îžílo¬Ï5 �–Ñ?·®ÝöÎÖÖÖÜôô\¾½%à£÷[4( æsÀ¦-fað·4ÂwÀ‚ híå€g[ö„)´Å‚'L@óÀÈyŽmÛýÛëÒacK »³EÄ\u` 1'õír§>)CÆoé  B¥1üˆv‡ôU˜ÖéMm^©¬¡yÇœ“È ßÙØ˜+¤ÇÖÆÜ:¬ÉL`#_ßÚãÛ‚w)±³…‰O1ÂO7幕zÀű€]°’wAå¹þ~m�ɧHàlXè„ý רêêœ8$d%20:’À¥Äk¯{&^O§Ù¸ÇÁ±âŒQ–öeÓ¿cRÝ©ºõôˆP ˆ‡ÀØäòêƒ w…¬x< PbçþÂÒ‹€áþÀBê�o À®ÿépè~IjP½+“2þÿýàÈ¿¼tyd¬ôèyLïƒ?Ïå/aÜ+9Eà–´C€Õl1Ñø‚}Ö,ò‰kÍ!·v»Õ]ûÄ ¼‚çê *üÏ3!â�‚ò"¯}Õnð}]{þ ìn™Ýüdnc‡ÀüüwŸä€Zys¸,°h7Öÿš™tê‚RmkÕª(@£ô;lf�oLðFTd:kÙ\[@ À>IR¤Ý’(Â÷zcvWZ™G;"[ÙP£1„ô�4¨„7Â2»Ùhúލ+’¸RÏóýÆ�˜øq‘è™[á [Ñÿÿ÷ƒvç�áøéÏ}dØëq (6NsÉpÊï# ‡â!Ö¾û$w¤›ª§î‰+ƒŠçA’�Tvs_Q (rjï"ìBå‰8“�å$ÙmÔ.^¨4æ¶ -Yµ2Ui]7¢Ãžl×›YCп±¾ÎfC@·½1—7§›sÀ°Lð ©ÞaV ý · ÔÊê<¾­ aŒ^â ŠU6§´é,S]çÀcw©nŸ»ªÛ(¶Š­uíóuÉF±^ìîlÍU/\¨å‚^¥" M�ÚÓ1 *;Ø¥Ìoá|âÅ '´Ú[.ç7[Q:·íSUF;¾š–6(%’ÔÔÍ)À 5¶±üŸ¹:Ýå�¶2îïŠbm4§ë`? Gd׳ÿàè;Û—:;_,à26»A$÷ÊϨ›"¡w¤å´B‘#¥…‡¤‹^Ð#0N¼HRÕI Ž¢�سœ-Aß` ÷_µ-=Ë«÷E «ËÉ äžÄþ/¬®¬ùEr’î“Õk„ÙNª4»þÍÌ‚ÀˆAÜ ðd@hÖ¥–µU�t€‡ЏÀ!€[üºK¸WrŠ$À?,¬ë4j—à«mÁÄ·–<ßküe£Ƚ €ù€ªàÀ;•ÍçÕè|ÂL=eq|\¯ÝØ/ lWZ­‚áw3T�ÌßÉ»j”ŠˆÃO3R¿¨yža�ø½.t­zÜ �šõ^E˜¿ Ú3t5E«hMìåÚ%%lüÓ1±åM]jJß cnKñ +‚÷?_¾VäRBR}/€4²"’v£¹Ù«HÚjëÚç«{?LÒ“‚,‹è�®¬ÄÛã{‰¬æKòìŸ7’ Ým¾‡ØÿÏ«_©u©ÓôGœá‘ôhú‰ éEqÂúÅZ:)JŒöÎ'-©è¤5âãn¡nò$q06NÌëB[x—°q Â!"EÇÑ™3 ZN”ÝÝöÜôð@­1'LÛïŽÏèÒâ ¼dèNO7×7D„·¤ÒWöÜ6¸âÚxá2šŒ½3´rl÷¹-p!©K$ òü·…×Ý5²§×<Ùiïw¢o¿¥™Ð‚Wé!Œ•ª:ŽpJdµ��úÜ3óÀahSPFxÅP%°ˆ” Š¹'è©Ï�©€›?ȈÆÔì$q¸+üg -ä�í�|n£Ö¯‹¬ ôqàYß.¶æææø°¢^·ÒÖ?¼÷­Ô}Ëæ -Ý÷§qûKB“¹x^8` :øj{]à›ÕёȘ|H+!!¥&Dî¾se {´p¤8Aᵋ@:ðŽ�UäøË�ó†ûòË;VaèèØÂòš=¸ÕÃ�šº¾|â"ˆ6Ô§ k„Ù.Ú�ý:L `òW±“ÿKð3�îýMÞ…“ðKÆ?ª®¬®­.ùc€ŒÔàç4žäŽðîè. ã^É)b¸?*yDË…’t™3ö[ ˜ï?¼„wÕ¶Pî½z]ëu€–ÚTÝõe'� ñ�ͯ6g‹MÁÝ?åÍü?æþ–¯�î^pWð&ª+þÓ´6ž¡poˆƒ[uÁþí¼=D|Ð_\Aè[¡ »1e¬ÞÌjmò•3XòÍÍbVøßÚÜÏÚùD»K$"³³ª�\y1á)Œ­ˆ -ˆ;’f&’&:O“*ÉzÕ³þ÷Ãø#’jRdföë™îH/˜žÎòv1?Kí_?®µ�Ä£"Ñs‡à§ã{‰aN¨Oó|ØûzìÃ{@ë%p^áC�øÈ•¾˜ê׸J€ÜZ5ø—8ÝÁëâØt*)†öv$Å–’bËWBäFzr‘Êç‹cÙè<«Ó¥L’nt”pæXOs¯Ïš�ú´¬ù­AàI—5ÃßÓ�=Pw�“8þµþmoíìlb œk -÷v” L¨/ÔŒ®„4�cJ1‰¥¾ -=Á§ƒËÊ&û\gÈç̵vL=¶èDO#„޶ÚlhXQ– ¾ÅˆL¸-ÊêN�ÚGµ¬aõ‹\È´‡”¨øçžàׄø²VØù¿q˜HÀœ†Õévÿ-݃º#$=6rÈÒΓJ¤79œMwrcc®Y›¦Ý`çø&€ÝðÿŸíû v/Ñ s’@¤Ð7ܦ�aû¸‚ŒüŠN©:xí ªph•:yOe$¥QBGéðì™IþIôòÙÄòåÃð0 -píá}ƒªÁ˜÷1áÙ,‰èôɰméÀ:�¸DpÑî~@¸ý;<À€ÅŸÅQ�(FuH9뇊q°Êô„1€‘ÁKƒ|]˜?zòK,�€ôK÷JN‘Ôéï°ö yB»ÙÂýó@+ÌÌîW›m&óÑq;— Ÿ×¯W„ý–­ï•Òó^d]Ã;ÿHAÁÝ<Õßlå­Ç�÷>h6ø®¡?ÙÝLÈ+@/„üíjƒªÁeå‡0>ÏJ<¹¸-ìY1#&’ ïÍKô�*ÕÒÂ.µÇÔµ¡‘}”·Š=+òõãv£Qm÷º"DOi—M³ÀÃ=fužÊ¥Òž™ùˆÂh (Ö}™ (ÕØ¢‡@Ü3ö$U ù7µé¶ûC ·CÕ¶¹§ënµ~ÿx§ùCÄL)Ëw˜t“Pz…¼¬€y?ú±ÀÝ·€;¬ùÉ èe„Ĥ l�g�ÇТc{ -JøC¾�Óãê]¹¦Ó*}Œº„Y¾-¦'ìSï„ÄÈtTJð>^"§½sÚRÑqôÂ>;Û»[;²^›sBy�Ù®pP–«` fm+Éö†0_‰A5ÌTû¯! Ov7æ¦ësëšñ;›ß‚ ÀA‰ãÁeŸŸ0-®aŸh'…CÐóÔÆñ—0-ÙÞÊ©ÔzokDi~G³ímÜXãXÝxvq¸Bñ ¡8ƒ×èt3׃ûIL”=V‰ P9$ÆàÊÁrü$O˜ ±Ðî;¥ÀÆtC¿MØ”v„ßÒ²1רצ•Í™Ž“¾³xdÔ9;Ð{‚Ð*ï„iëÎvÂì³¥Õ˜N1ÄôŠO9I'è>Æ"½ƒ‡$éŽJ§Ôݰvhûå1ökù¯Á,i‡èÌêò$ŸÐY^ ë²MvÛÿö,,ÙÐcðYRwÄ,€ÅÀ`’qÿ°ÃÿAü÷®ãpãÀäÏ´+‹e^håπ屑+eÀàO&»}þý ¿BbI÷JN‘dñ–¼xÔ~Ôþúq«Ý~ôø«Üä‹}þ,`ÑÎÛ{Õæž�?/Švö�r¼¾õì .ó¬=?3û¸h¿gŠ<ÙØÊ žE‘=.ŠÍÍÿñõïo~½¿÷u£ÑPY{{bíöæææãö^|"¯Ð~§ê¯äo>þº]h···Ÿ«P�žÏ[ó¨4ÑÜ+ò EY!¶Ðä3}ª¬Èç2+’3öO>ú¦QSí {‘Ï´TZ>»‡"¿ÿúëöæ×ÚT×'¶Úí½Ç�U›yÔþJçI-…6÷ó‰Æ(²÷õ&_ôßÛߣNNóQ¿œ{°ï[¤ƒ"¯6Íg¤³ÿ[‘G|èð±îÝ~£ñ�²ÌGöGÐ�½y]÷×_ÿŸ››û¿ûÇy®ø{JzL,4Ÿ…@â䥅'ê̸ñqê QíÐ/‘^‹¯ÐüŸ"ôÓ&á:gûÜ.—ð4$Áù!‰Ø„÷%ìé@H2ãM8,Ô@'KŒò« ÅC¥C‚±S éœ7À“!]DHÝ9c$:E„U Ó¶ýéb¹£Fkºvmaª(À6´€¾€©p”NìOmÍZµ¹ž˜0 lîšu(}òX€w nåWÑÆz°Z4@ȪÅ9Ãú{jAx²#Œßš££d€nvÒ·€j†‚…¯ù6#ìAïè `@gÐ]À<ù¨À ¯ª@�°ê±VÊ¡ÔÊ,è¦1�ú-Š}ª+†IcÝ -…Ñ�v뢪w6ÃÃõ9±SîRÐñƒõ­õ�<«WªM<8 Ž‘¶�òìëÆ]!¯Ñó%ĸé•¿$)¾8l¿».íž ÑwõœMzøÜéÎ+]Bþ(Ò|„B•?Pø/±ÿÁIþ€„ü‰0À(à¡;b[c¬ô,/­ -l{ÿÐbÈ>$@? @š€ÿ´°µ@ØßÓPzlñ+U0~½¾¼&Û?ökk÷b€QWí(á¡EÏ€x‘è—0"'ÕÓôj˳F­žÏåE“voæPÜVѼvSs£z7Ö‹‰z!˜ âИV°¦\¥.㲆§ÉÙhç|˜¶÷¹|³�á 7?k4ým]IS!­™ŽdK�æÄž¿‰O½‘ ßµW*¢ÌC -ÕêU4©®oUçÚhY•AÀ ú:KH3«V·œO9w¤Ñ´Ô âÍÍðûñáÍw§o3TÇßßœG‘¦ÉšÓù»Ôˆzº¾Æº�[‡*KW&Eþ!oèüÍÆMôhÔ¶›·Ö �æ–TªROwB—ȇ:7­œY³­ËR`Z·6M“àsß{‰‡¤#Ë+¥`eŘõò ð&ˆÇî�F~j�‰�»  $€sß%úÓƒ�`©U(ÞƒØÝ žÏéõÀúií‰ -$7½0Ñp³C:õ"éI÷£ó?zÃZlÄÆB¬µñ=V6ñ])Ïûè êSð:®BW¡¬@ÏÈ/ìjÛü7˜)‚Anô²Û†?bË{gg}ºRÉš¢` ÁòÉ�·ÿ[ߦ»ð’S¦Â{Û -øÈ ÀmÐ8­( XÅâsØÝÚØÀKaCÛ™e”Óun[< ­Ë¡ €.÷Ð*|N�*„„»û&n–`Ú#]©Ò’ì¹B0 Ý¬ÕTM\ù•šÛ€¥¯*vbß6J¦OºkÛÍÆÀ@5ßp*ÕhÓ_ét_=h`N�|%c(ÅÎ}�.[g™€�{®èU0�né(O—©zÄHM´P]!°]Y/ø‡JÀÌDºOÆV¢½ñ}¼ó±€]˜\6òó ðÇ�B�þ4$ÀÃr½2€h½-–í�õ?¹°¼pç�¥O’Àûý�ýEP=ð?¶!�y–'{&BtäмÎb¡Õ5Oèa€ô[8ì`£×CïÇÚ¿„q¯ä>F®]»61Q­~P�¸Y}÷?ÞÚß¼ùAõ¦ð¬¦°¤ª˜é‰ ‚7«ÿ±Zó(@á0 ¦„É0­N¿«ˆ¼V•³v³úÁ7o'§ƒ4>˜˜ø`NتÛ Po¶ßuuU•R½6Œ" -6&®‘@«2Q“ -îé_½Ùª~P»Yû ŠÏŸOK=òXÐB%4ÿò&êëXE¨« -À뛪õäˆR6Äsš -ÖÕZ­ÑܽP.01wÄ—ô³[¾~UEŠ ©pmÙø@% ï¹@8�Ô£7Æ—¡›ð®”Mw5|S«7oNO—z¸æûÉü‡Ó�Žþ¤d+�Z/¿¼=ÿh¶·ÉŸ †D CœñÚ€+ ©§¡eEQÞIx˜¯‡µÜø8(@â©ÖK¤à±N Rµ‰> :Acù-Ú§3Q‘i‹¶^Cs¶½ Åxu˜ÆòSdG¨/�§wÝØ‹-1ìU(¸…‡`{[°„ƒ�è€ Þ� §ß˜›®ÕšØåf¶Î±ù±¥AyÂA ;!«ÊV:Hº�½~8\€Ò¾B^`çÓÙ~½¹¾±�:þa§ûô6Þ t¡“¢h EÑ@åfn± ¿í@êæ2©ãžÏûp¾¥¡zDR—B]·rH�¶ªÜØ*tõsëÛ\–ÊÚºçsÍf}¼2=·Ám£0 7iën¯¯O×*ÕÆºàŸË9^€Ì×ûϼ.ä}íå< 20+¼ ôåÐ}�Ê0(gñIC5µù� _%ð)÷p)Gò%W¡CìË#“G¿%á,pè϶d)¦ì »`qyíÁƒÕ•_é•Á›)=ú--» à  >I\àϦ÷C @ÐßÛ Pg~Fòä#0'aíà¿ßmkžàÓŒ\ýåädô8ìУí_, ã^É)²·÷äÈ*)n7׋õfþoâãnûÅ^{]ûvûq»¥ðÞ7û�æV»]|‘UìÍçy{¯Õ"i«øY±ÙmüïÅ^õÉFXõùž2ãÏ÷÷ö÷÷(³½¿ß.þ¡½ÞhÌíýÇxÖ¿h*·±÷M{s«ØßËוMæ?&yãæŽ5Ù+ž¹Êúê1Í�Û{ÿØ®fЧ:é%M÷ÚR¢xD¢|.»}ÛŠLìåÍÛYSZI‘ö“b=ÿEh”Ølÿ¿¤O{§y³Y_íK�e÷÷¯åJ°-ÝT¸ Ë¿ÈóÛ4Ú¡Èü~�"ºpÝ•½ß·'Tii%Е´Q*/²–;9 ëí½æŽösúO¶Ú�÷Šü‹âɾQžç(²ù}E�-sG–WîtÚ$ ‰_FôºùÑ�±òéé²4ÃIYŽË¨„ªô°€2üóÃi€ùDH‚{ö<²ì"ì(ÕÁR/GNéq ú¸N <ˆy œ·#¥…U‘=¯ „K÷š~¾„Žør|E±9ó"’moíΡFx[ýHí~m:X/=U2^m´o¯ë°6-idBA<BIðœ È¿iÄÎN ±7k’€UŽa®ƒ„º>ë”K‡1]žMkàZšM‹�K•ÆÜ–ôƒ6<ÝÞY_—nÓ:Å A´"]Áaá6ØN)€µ9 -ð¯4¾Rñ:ç¾ûœ÷Õ˜6XE%"·.EwFl‰¡‘ Ý€|Cytn#7Ÿ·�oŽ›h�ùÑaÐ4`§`÷/B]Ÿ7¸Ûðô°€3QçÑ#¦ 8€pÅ¿öãþ£Ê„p�œá‹pþTâ]xÍÐ)ìgáóü& ñKì§M Ü~yß_œ\¹o²£ðþbKwìç758~¥Ú“üwë?<€cýµ/”ïÈAü—$ï¿Ej­|º¼ò)À/2ëªÀØà%>¤ßàØÂÒ¤l =�~ÅÄ#ìǘŽ]^ƽ’S„æû“¥h2'àmFÇgLd+im>.6U|“5„kÀkV¯¿_¿!leúÜÌÝóCfç'n3I9FÞB‚ÂV{SÈ)øý¦Ù`D€{×å³y{ú]¦ìS6rÝrÉV£‰"ÔFùLÔÃt�­¯6[›ÕFt4T¼¬îl¶…|´GBç»[ÙÇEgœ>âi~ÜE@R´I )ò�� •¤ˆª™-Úµ‰}�NÓˆ]Ö,ªë_DV~ ~ý�J]×ñèñfk­œ67²LEuzûé×Ìš3EþA®=Q͸�¥Ìç­Ç|U¾ŸèÉ –œDÏiO/“‹áÍ}ÀpxŒ¡ÆRXA1N#Ôeež@°“bJy ��H‚ú´7¬—ØŽ`ßÄ]¶<<¢‹ÿ¤€©xñaÚwÄyz(ðïå¯þêJß¼'~ÌKB���kàÁ÷ÐßH�V‡ß§ÊVBm40º}k»À<áóok¿½Þœ®�\¼Øß?0]0aðîÖzm ¿¿ÿâx¥:ÝÌ¡ g>÷Ú.z�€ø�ª`0] ÙÝ=ÜóÂIAp1°%ÌÎÇ ·¡4_oÖ«ãûsª€ÝÝÙj6Æ/ ×͹õ-à˜1v†n›ø4j¸!žªƱ@ÉOh7�"Q‘â]�ø�43Pôšã€ÐÆô`·½!F4—ÕÆ.è~ÜÌE~tUsuÝ�‹ãUF#„n€>¾~ðÈßÚ(Öu'«Ós4œÄÚ;Xãvá»í$=QŒÇ·ÔeQq��KðÇ]1F—6ºðÿ;u" |‚) RâSDç‘(0.!ò�€bý ýZ�¬ÿ¯Éì×Ü��äþò¾÷4 pÕ¶µ@ôðoaáŽ"ðfÿõ)Ý“ÍÍb³áÙ ˆöW³©†N•‰FЬ®§04Àüéö [É>�ïÍ––ðôR1€˜ äÓ•—ýD0ïšýÈÆvjþg‰Í $jƒ-€Ù—Šz‹_{€¹4üÆ>ÂÝ�V°mO5Z­�â”!#tÃiBO(k° e·Ú6þþ£Bô¢0þ¿¡­ÄZ—?ëïW/⃈ñþÌ €Ìþõ�m\ü¹½ü[ëØ¸À•`KÈÇH¿¬QuûûÎô×Ö·ÁÒí¹j?ÓÖ ÔÍõ-Á›ÏÍÞÊô‚©l’@@]Çg�0U‰—Žó¥ƒ¹¬ëŒÊ¤aBP**Ò¨H“¾þZ“¦ åØÙÙhŠŒ\®Lgž¨�, Û …žJ��ñ(�Cñ×–š ÿÛâŠ�j9Ç…Éí¶)±µ±>ݨU.âï¯ðEQ“¹Ê…3}0¢Út¾^ØÞw·E…¶b®ÂmÚ(š�ÚxeZyNl`ˆáëçúϪì×zßO!.æ7�›v�>Fvï8(ô>°�SÀ*O™«²HÆÑ ö¿%ʈr´SÀ^tD°-ü‡L -£ÕÿKƒ=Áÿú°Ë8¾»Â÷øc&@�ü¯°ç—[«×`éν0Ö0!NZ]ñ!éÁòÀîe&ÿçØw/¿—Æ{,Ú}[ÀêÂèeæ€ މñàðãZúìÐVЫg“0" �Ž•[YÞøà›,ñÃfóy¡®ä¿m>Îòßç­vkà}ÏØËxÁ™dzc»ÏæÌÔ'ðœö°<‹í^úÈïÑÿ®U´¾RùLœÍÍæEQ{7g”\”1]:neÿÐhÌg·¿@¨Ë†ßü{ðó›µü±jv‡û$SYK¸;å0¶ølΗzia'»9ÈmOúGŸ?ᮨH«øf:E>’"_LL˜‡x¤LÄ¢ÝúDÖΔ�C•^y§ÿ­ëS¿�››­›E{&7+2ý˜ššU°¼{:Ùœ˜·ýïéôØ™{EZÅǨò½DøÏ œñÐ öô¶pÎÐuúbÔŒ×âx(è[)8ï¥cüí‹�þݲ@@©„³ ò1b$/A¿Üøgæ¡ÅU � -)=e -êv°žãô¡‚RtÞk)@?‹áà-Á*&àk/oC\��‰3º{ÆO¡Ùºàh}£I›¾°‹&�‚‰v¶ÛÂKдØ¨×*Ã2pñ½ïÛësµŠŽ*ãÕ³9´zïmïÐm€U0kðä ù»{œßñ GàɃ™KZ€ȧ,Á¹lkË0úéê85×›Œ»Xj™« U+µ†g+Ú‘uMA˜Ý¡eêצM£_õ_õ ’Û©KÑ|ü@!³ Bp §'³D\in®Ù¨Žˆñ%ÚP6²ÚO†Ç«µŒy7é)à ¨¸s®ÏeõññFÆxE¼-'ˆàSØOG@:Åí�SÈMðë�Þ:Là D:Ã|ÙÐA˜‡(„›Îœ;WÎø"MH‘�ÿÌÁªÀš�úÉ–·à¸þ'Œÿ‰”Ø_†¿|ðpuÅÈ»|ÿÁƒÔÊ¿LÀÊ -ÐoÀäÒ�%Ϻ›üG·++@7 ÝøÊ_'èÖ�?þK.€ø£IÀb MŽ—åOíø4>ˆ&€Ñø`x–'ËN€¿á_⎎ü¦Ðš0"B·Ã+KH#Ÿ¾¹‡¥Š ËgÂñ¾ù¸ÛÏò?Ùt72 À�úTiz[fšíkyúŽ ⵑ5L;•I¬…!»‘}1‘3 ²OÝP�•Êõ©ÙÖߣÌfµØßä~0 ’˜Ç-¾÷7uã.ôγ™"Ÿ(‚ X¸]y¼©2�*ßC—¯oÌåÓÓU毞ö|Àb ÛÐ-”Ü}²çmÐÚ'IÐ\¤d¡.OvåqR'@\mømE:°ÝÝ.PDJTñ³ÏÌJ¬Ê‰kHEц�Ò.JE;_üŒãÚêb0:¹%à×%R»‚ªR|¢á¶¬víœE‘[ -ñ Cž“�ÓfˆuäâM“j�>sô¤ÀÀ‡p÷R�Is7¦T§ñ¼è¦�(¯Û»}N–Õ»k‚À»÷ÖVïê±éyªì¿¿º<6xuòjß�E-ÿêjB±åÉ_ñ!Ü€¸å¡ªÊXûŒžëƒc‹«¿üß®­LŽ.¬þæ·¿ýß¿|¸¶¶º²„¯Û ‡D+øèèU-““Wŧ¯ŒNÞ}°z—oó}vM‹ÔZQ:1ƒ-Vû’=ÚÐð¡!¼÷½¦�wɰB'@�< -K i°ˆ+�ßm}½åþÐV5ÇÒÅÿ±îa €ÄÝ`£»“6¥ÿO"éžÛ ‘þË+ºa c—造Ç/™Ä*¬w4@k¸WrŠ€n‡VĶr=ËÕ¶àK`É|w¶î×ø6Ù?¥¦{Lmá\Lþ')½³·¯¹  q«Q•…áé�Üü.™y\ˆä­|sºQÌÎÂ-dÿO4‰c8³TÁ�î‰wµ¿Ù`&‘,ŸWÆÍÖ/~Ñ–>­GÕìñìL˜û0€Êuæ%´ˆ°­ç�¡ü¶Ùª¨€Û©€‰€ù¼hŇzgfqDL@ áhH‹i(Àtƒ&�[Wˆm/Š1%2"èÖ:‘oÆ I¢s¾7ºu´+Ì0“a5µ›Xšî¢è9$�U†Ž¾—@Üi辨$:èõØ•vçE�ú~ô£7„¡öžƒã0<=1Z ÐÉ•£€é‡Å¨`Õ†­CªVEºªÓOeC齄DåœL]ô·tº -ùÙ&ô÷¦¯;VH¯‰n€R÷ø%!*öÐ&ýÁN_ˆ¾5'ˆÐQVa·J?ÆÊèÍà:Ýh4ý/…X/¶fâ Ìnc¬Ô·xîqmÐŒÖ�¡– äœå\B]ýÚ|WGÇ2¤·È¢®‚^þÁÅV¤Miц�ÈL°;àõ£XåU«‚c¡L!HÑŠ$ÅÑ"”­dŸÇôߥ•ž€9 Àcƒ¦rè"Éh¡9Ñ!¾R´Å…ÜCÝÝP´¢ç€Ö«ã•_Ø Õå$)ø.°‡Úž>*<)«÷î­Ü áP }HGäWõï£ÿ©Á`8§´ãq\_Y¹·¶Fǵ‘‘…{÷+Èÿdlppdaeí·¿ýÏÿù¡ðåŽ.~rgaqQ+cæeÙ—À8:zåÒyñ…Ùêð•…µí®‡ÝwðÓ-"ÂÄzVýìãüwðÁjêpŸQº0vÍý@|“KKöÐ>À·‚$‡·«]@wéñu%¶ÿí`“š˜Þà`=^ŒøÚ°–ᮀY€GDSÊÒ À(@ÍXƽ’SDˆˆôn‘à�f£*¸¢ µrYëô»kýÐj7²ßCtæ†Ð߀«¤=4 fÐu¸^èï`6\<Þ -å�ïóß4áÈ7›ïæ_o湿¿§7!öÛî–4«7 ðÎηýBÀƲÈ@%kÍ&¿ðÿú{X×»sŠdÙ°‹2ÁiÜÂ#/žÁ»z&£×½ƒ�nfxýgu��‰üwRd3¨ˆÉP(¢+ôœ€ÊÓ -ÿ/”ÎrPãHolÕŸ"þ¢ŽpUøŸ Áøà�±kc{Ã¹Óæ@foÚƒ{ÓzÔ;�\—¬³ž$Ø@” -F ö 9�ÓÞ¥)Ì‘¡¬JÖ^X¨H€Wâ^‡Å)g�wÚ;4J`4óž¹üCéa]riü!V7D†š¸p6º•Ý)F£+�)™šÄ3¨Âü#êRÕ\=—¿‹ñ.�ƒ¨zÎl)2Õ/6" '" AA®p‹Y u]‚y•Eáuq–-'5Ý;“•S„�ø"ý' ¿€à÷ÚòÉ'ñètdqìòˆ Àù+b†±’~/2’³œQk&KcBñ{þöáÚ§“ƒ—…è"¿}@`ûÉÊ'ËzzCT’(8réÒy%_•­^tØ+=‚[Uþÿ40�>¿\,Þ�&€ðXaìt, -P¬vKKËtÔ¢¦‡¶*C¿D/˜î"Ž€þ >ðâ'ÀÎóüOŽry\å‰ T;$ÉÀL@£ º© úöKüw0A¸WrŠ€E'ŠÐr"Ýt�oáê6æ¶ZE{:ÛrÍÌÌ|§˜�´•™]b`žOäóÆO€wÞ‹xK!a¼ûºQËaù~>”oªhÁ±S4<•�ER­NlࣕÕÀ«ŠqEJþuá~¥òÎÛ•·MPÇm"ÍüFÝ -�ñ¨F³8"tIó" .TÝlJ‘�EwBr•ŠH®5išër±þa3ÚçÅüpÞžw–¸S7Rý¦-33">EófÜOÄ$+€\‘9Däã®?àe$¦ð° ‹ÿFüÞ™:rçE½�m:Ð&Ë?Œëp€¥îÐñÌWÍh†¿¤Ú¾d€ô±?°I�pÅÔëÒužæ Zx¬@é*Ò#bl…üö°FÊÂWXB¿UŽ C!%òÇ6Ž0”O®) ¶„ PA1!�¾µ-K™Ùi ¼:•Ñð¡¨S^E‹� nk„ÈX!'3¨Êjôt®ƒí ÑÀi€*[†b°Ùó ;“ìð]•é•Lftž7ùîŽð?®@ÄDh*è�u[LzçVaQ&UòµçœªÚÝ)8§ŠÛè‚èJ �ýŽÔ"§"ȧuWu©Q¨&œP�fsÚÍ'Ú‰;áLqVITºiÏwƒòé])jMn3Ô+?i8Ûü»;Ÿÿ¦Iôl¬®ømü÷z•~PdÉ›è_jPölà°?lú…1ýdÿ�Ùÿ<"á¸ÐÑZéXY(gâö ÕùÚý%Z z€0pu5<î`´ÔQjXfKÐO;¿,pH£?¹« EÙcÁ‹#jg»Œ€{ -Ú®÷‡=0/è Ü7ôcýëp1Úðž8ÅÉÀ‘ä°`ead€ûèq ü7îK‚ÚÇ£ýм„ŠN�é¬hTç>/pZ`%îz¡ôætöOóBaÐîF=|Ý7¦¦²|‡-_ÖŸ�­~Ö+nP1 ¢KƒJHŠßM3•ðl¾Ÿ a”ü¨]¶½ëMI^­Eo‰­tjVmà\`jJ†ÿ{aüXDDaÆ`ðwoD‚‚ÒT")RÔ¢•¡Ý¢3Àü/¾îôFèê‘åY1ã’%ìéŸsÝq€�àEˆÎ‚ú´:y82Ì­ÙíÛJ¦ûz[ÙŠV;ùÂCk€ŒŽ.Àâ?0@¯tîÈÂ³ÄÆ€-ÐõÎ(j•qöPH镟½Š0ŠR$ÏãÉ3zS®åÆ?§£ €j¼RM7’`¿ôPwìCb @™½·@xôº(ÇÄôÅIåras@|kÒï�sðN`ö¡ŒS¡SÙ¯°uqeƒ–a©*íÜÈK[�(�0ÿq`�Q\;¡5X+°6ÝŽ;£Xpª¥-øÕX:Ö˜ ¾*’¹ˆL)8g;ܧ6D - ð«!EÀ(Œ.C‚ÿBN¸<Ùð¾ãŒ'§ò‡ŽTb¥N³Ñ‘âèüˆŠªÙ¿jÓåø‹R­¯UQ×\SLà7üëÎ)bn}Kç¹ôÑ�ñ¥™¡ˆeéÎÕªã* ”–ê§IÎüÃ=y*þ2ÚÃø_»·ªí*àÓ¥—ñ7}JÏ¡íh%°0&ƒµã(=J€…åOz€Ê‹ñ}ƒ—Üpš€ŠéüÇq40€—ÿú0ö^ƒ<øòa9 -`íaxD¡‹¡¶Uïzü;²]�~ìƒx�8BºCþ®`Ñ“ü‡ ^âò€ÿ“@´6ßËË—._[àÝ&…K€x@òÄû&‰ì¿"/!GÇ­ß�¬ÁvBfmùÓë/<ÞYö8µxOÕoØØÍ</Ì_ó… o\è:Wù)�oÕë•÷„ÀB=†ßkýýtcO©ÛÍ!úÄ‹üQªýî¥á]oWk 9%³n2˜Íêg0žSŒD|‡ßÀÀ[ý’· ðñýJq!93û¢Hú‹¢(×ܺ¿/üÇ'?_|ÝmÐç3?ôåŸn4Enû£­Ã½€xÝ“‰¢èä�ÜÀ%ý0þ{j¤Gym= Hd:b‰” U„“¾�bpßKI¼8ÌzfxäÒ¡ÞZôHrbwÀ€{€QÏùÓ;!½�Å -—1¶¿…ÎWðèà¸>%(”ÀqÄ ^nÒ xEªÈ8~Iõ�„G;Äš˜%”+2} „ÐÖÖÂÿ¿*=%þ#I_éÎê_HQHìèO! p*«×±fán}‚8[þ4bþ±c9'ü¥Õ Ï;Îàn+ÆÄÑv!Ð4*,TI0|¶Ò!*Ô�ÙÏÞ) åéPØIS»Bán Z¶­“þ‰¸ ´€€Ÿ…J…p†rD[ ñÁ:f¸ò‹xl«F‘ P?ÎZI²¢—# •^ -˜ ˆÓàÙߦÉCŠr 4è4×Ññ-±nŶ›E8 Û 9š›k4•á ÇëÚ;Û‰²¾~¦ßó¸w½%ÀZà�Ὶ°_[€ŒãÀ{ÇôÀÇ9� ízî$À—×,›z?!Kò$`¤À¿;Ù g»`ã@€¹„öÿåZzÄ:ìX^½¯Rñÿñ¤.h¾ÄL@§ €1{ÊŽ"ÒY‘ -ôøƒÀ'=*ЀKƒŠà*GÇþú‘TMˆ(G,¦f൥‘U驵»ÑÓ«Ÿ_̤m¸WrЏÁŸÍÁm@T=Ÿ¾ù N~I VÇk�iß*ÚÍ\éîí W-‚Äæù5ឣ«þ:@‘ߨ¼õžAø&n„Íͯ›xò¶`W`.�ÏD ¤d×ÈoN?Š( 餆,l°7Vèz²üß2üŸõhj�åúTýbýýœ-�[ !5Åäb)³�hØÜ|´w³ùh&kåCªÜŠD'…Ì]‚4èZöª¹¨O s´@OßFš%ª¿Ó ñäŠ)íÿë¢DákPeE³ -þsƒƒÜ´ÛÊá;›ç›�þÞwäeE¸‚à@#€ïˆt$éå'tôägêÇxÜ1ô§ÌûC( ÔˆkP&�Ä idK("¡¨E@[´¤ƒÐ x<¨]èüçW¦s}ª#܆l/=’<Ý,±3qf+ªPÙÀ4€yÂ@?_v\¼ï›t3Ê_H'”ðä$5çòiÙÿ’iœÓF5?‚ÚzYÏp(�ÛÀ9ÍyRwÎ,%œ‡ÜÔ€è¹90ßM ±Œm%ï)Ðé×›Á@@ÓˆÓ�‰„[ùµKxºˆÁ8©ÅmðöB޹-Œr¡°�^‚è”ð½[Þ#F™¬ %P­Ò:ö(Y†¼¶Tªƒ&,ÄZ@†ˆÐO5ûâux#¬vÜ-Ý:™Õ�þ‹•ƇM:¼@æ<¯ãÐã°&“À}@¿—èܧˇ=4EëÐæçqL�ãq€O&ËN€<²ÿ{ÛÂÁ}”ü°@h}Ô๗&—Áú/Åbï�Ã| -à�™Àµþ//¥™ý‰^€]ä=´Üe ì‹îÂ*¥Ðõéß”h`—Ù0¤ÐA:‰ ‹&�ïÜúÎ0'K™‘ ÆœV¤`§ñ”p0’˜€¸ÚÆ�b0½ ¨pcb3%¢NJ»çÖÑRºÐjAK†Ä—£]Ðg -ÛQ½9ÀLÍ4”•âÅ8á[‚o Üu¥6|ÒÑÂ@³<¨¯¬øòÝüQ²�õ\*РÓÖ‘«¦|ÒqL]›ÓÓ5: ×s©áàT9g@¸jÿ²ý}ã~gk°²tt@Ù@ÿR©@éà�<âð(šÆþ=y`!?·íƒ‹'÷Púÿaü‹,º@~ìØ¤C7§KcY¤÷ÂÒ‚ìs•jøJJ¼?¼èŒ©ÇqØm?€M~÷ûg&¯! (³½ë8ÿ�ë š!S£—™ -plauidtraôJzKóŸOH`¼#´{åx�zš¸»ázÖÈZí¼Qä32“s X|ÙíihîÏÏÚ:ø_¿áùK÷ølþî4¯Oe³E+«¿W~»RÏê9£þ-ÿÔ¼ùA^ÔÆÿœ¶ôÍÍÇ›û.Àê4¤ -]I`¡÷=[Áëõ×ë7dÿÿeò¿óNE¨¯ îÿD -Þ®\¯^ú[�¿n÷R \BÿB•6&j¹ˆM öèK‘¯7¿‰dˆÔžmíÝLSý i�: ÂÇ™�”8²42B©ZH@–͉²î†2ü#„¡ÓŢŋ//aq 0÷.@�  ëÿG”llá— ¿4ÞuDO’·Ñ@`Ši-ø§ÓŸÞuÁé�;wþ“~*FÌ_ëåË£ A>üÏ_~.ãf�—žÅo­ãûÄCB Ë|¨tå@ÄØt<© !áy(‹.cE[Èëüi`ÿf=€xmÔ}íi�˜$¤ã´K`r’dú¥îéãµútÃڄq‚6¸ §Óë4€cF5ÎEB·Çc‚ƒw‚D 1ˆ: pX -0¨sM P\/R"TŸË›ÓĨˆ„¸Öø{ð ‹ÒÄ$’ -ÓÓ†6�º´µš†î€a8‰ -À; CëÌ€N(!1�P‰á=\¡”´!é·Þtb¸²Q PÇZjñ±£œR|�H�3Q ó$ø_õ£j£!æbÿå©ÒépWFµ¬–0úµö.ú_\¸sÄ0zz€“< 'xd…ÇÓè#}Ž UÂ^@Z½[˜”Á¬ˆx g„èu!ü7èx‚½¨¾SdÌ,B&¿-þðþ—úxcÙɀŒù p\¤T€&€ÈpþÛ �@À¥Ë—Fðè¦.º €Gמ‰ŸYyGþµ&Œ{%§Èt UêH -ƒrú=Λ€¾ ÃØÚ Åôü×t ÄÊ]Çîÿe=h–u<ÆÉ,™˜U’÷‹ß q¿ŽÄAŠÒ.ž‘“…ýÚ4hª×Ü»�ÝóÌ�*S[°S} ´xhpBÁ=LdŽ…{v8žÞoö 4…º:I›½aàWš.‡Ê)QâtlõcU*U+ôV©øWåEKÖœvduµ:Ð\: Üâ4hê3ˆyî[ø -ŒÄ©]µ)©öÚ+­s£»ŠÃ’W.H¾€Ð=¼œ”x´@Ö¨W‡!ãbZ ¾É}ê"a"€sgþÀt,‚{c~w«•òeþýHÇ ÿ¨cúXz=å(=Ç÷X>Ð@ШÀ¨LåS<pïÔ ÌZÌÞwDÀ_Êê²qwÑóHÛåÅŽ`‘~€.zayÙ5ž( ¾‘>:‚æÞ°H`(îðoÀgà˜â@¢ˆ®`rôjÄnäQÑ ›½tùŠoá¨XVéô/[DôdüÙ&Œ{%§ØN/´RR8F¥µÚEs�éñŠ»>næ_{ -¡p &gL{gÐ6dðѱ>˘=`³5;Kd*bcÿç׿o|øî‡Lô� ì„‚`ûÙ…½Œ�ÿxv?/öT¯c~}ÕeP©_ïz½¿Ry¨¯ÐÝú‘ ¸þNÿÙst ¸ö¿N igµRº 8×%0¯áæãß?¾¹þn£‰ë¡«H««HžU(êëÆþc]òÔ{oãÉЩövÌfõÙ|œî ¨0S!M鮈ÂÛÐ/Ì0 ·z¤{«{àQ*[[{¨’?YLÞMK �JÂ8ߌ^ƬIè/ÓæáL�L‰_Þ縋Ð*UÅì:XYñÓ)ŒN»Øw7�X¥ Ϧ¯Ï€ÍÂNoÏ_z ?ƒgÓ 8Ø7ô—øGI”Çi—pþDùP?º§×ÆÇ+²Lm¨‚‡˜¬:øÄædû -ç ÍÆ\6=gBK@Àj`p®„FJ¥äXÂʹõL™ApE‚ºT"û?’)…+S^@43å0þ’É€êtñSI†ž¡øÊ)Ê"­2ܧ€ ÁDqÀtzêÂ×?ä¼ÂR˜‹%-]R!3 -çuwуH¯57�QLTkžäŸ´b|·Ô=iª8^烵éZ�^/<÷©¯Eÿ¤ú…ÉÈŸ¶ú‰!/ÈH? /èpš`äxÀ'1–7€ -4ŽºÀQMë½w$øw‡€£.· wŒ¼=2<}QÂího?EÂú·€…p(Žzýù€Ÿ8€÷?[,=è‘ÉÛ|P’àҥ˗ +cc ˽€Ä|ÌÄo^ ã^É)zõJŒpBím¶‹ö7íf^|1ßjó¹Úýy¾ƒ+Àò÷x¿ÞÚûúñWßüþ›¯¡³2éóv{�è´”™/ -íæDc¯ø‡o~·7ÏÇq…ëSÙL³9Cá_oþãÞæã½½v1ÝhVó½bÝCòÚ�¿.æ[bŒ>Ä á9ƒ7¯×Fq[ T×fŒÐÅ*ShY¨_¯ëDû«Í½âQ{ÿ‹|¶Ží¯DïÕú”c¯Ud³_ó5ci)Lnæ{û{û›û�Qds½Ñüðƒõ¶ëT¥_í·òGm]ïfûC¸ �ÿG¶®ëÏgð<âfˆÀ&´¶«ûíÇíßïïííû›>*…ïÏΈ&QÑÞÖNûɬ½×þÓcõ?Ú�÷¿Ššÿ}ÿ÷_ýÞŠ¼”ðÂY9ÝpÐ3‹m³x �ùÿ›_ÿFøÿpiiy‘NP‹îÈèOÆðè‘ üG¾|¸¶Ììg ¿œ¤€Ïx/ݹ³ #çŽö%ÐûqåÞ�@ê@õ.øóÜJ°ì£³A`ø‰}”&E¸ÛbWÒù€iøß™€˜/Ã{,@}�ÄAœ`c”?Eêµ3ûð‘½ñj­ÞÀ`¿@0ƒ@TOð'€›þPÿ�ÚÙ¬”™° Q0n0TÿÀF ZVº�Ýø Lv28¡j`¯h¦Sx¾¿(ÄæŸ›Ê0ö9@+�W!!d¬•ê:EÁXöN€ûJĨU¥(œA¥(÷܇:+º£k$csýC¥�ZDº¹fƒ¹‚0Q¡µFW­º E˜þX™¸†éF�Ù´ÌyO¥<Ž ÿ‚¨VM‡/#¯­¹ßŸmÿdÿ³9¸èTOÑÂÁæ³{‡gü^ªÀ -žƒãæX$ øèpd€€aºÛÌý»dîÿ—Ä’`yí>1댠ËþâÂä˜Ê^^ŽªNZŒöT^"?~BŠÓ!ÀM¡x�´„G�ÄÏ‘.àˆøFݰ1<—I¹Ôë ¸Ÿ\fö¦ö˜ - ã^É)rM2Á&Épì&&ªÕjm¢Q}·:A¸¦C’è Ú¸6Ñh4j7kÕñaËxÚ_ëìªÙ¬é HQµêD$¾¨]­V¿Ù¨Þ¬xóæÍõ† -U�¤‹zƇ'†'X]ÙDcXÇú�WÇÇLJ� .ôéÁýõþ÷\ÔÑ…‹ÃÊ/‹@2®lãÃ.(Aßë}¯¿þ?®\¸0@íã•áñjEÅ£_m"tã½qóÃkÍ꺮êµZaíÐ -�C¥n )Äu\T}CÃRdø¢t!¦ú— ŠãÆ•XŠ]rfDûkï®3¿yõf­qS…¹ÉMÕ‡7ÝqüÅ¢—ŒÞ9½€.<wÄλ�z;3)™_#Šäi?$÷sÿ×÷µ[{¸°ðÉ'zE¤\’^ÀÊÚQÀ—x>™T”ä—÷±%°tîÈú@¿xãÓ ì%¶ælÀµƒ8‰ê”*Á~ÏL€½»ú7 -oI¢%ö: œ�½wx’O:¼j7]­U†+•ZU @Ö*ØÈ¨@p/ð¬! 9àÌ´ �@ýC7exv 05ŸÓƒ¸D1�œ±«¬Ôލ -s ˆM§´~q6N�Šå¼bƒ­?lJ E `o¢¸ðVjJ“†Ò¹^òÈúŸúPQ0‡,Ṡì�,.[¹\›’¡ŠhQœtÅÌCj( eÐoB;oT%éÖ”Y1J~S{†éi¯W+"z ˆjé ö¢©ðGÛiðkÛ ø§ÔO—–Ëæ¯RNŸàè(€±Ò06xù€8@ÉâU¤ÝèêyŽÀ0×3~À¸þã00ì–ûÑÀ¼Á�ý†Xòg –µ[ô|„“ 2 ôJè ý1‹ªîôÐ>y¬Šüþ6HÚÿJãþ‰ð¯d¾•¥ô\¹,R´²¶Àǀ 'Uˆ¯@I`~Ix“0"2Œ“ÑoÑ«À"Y¶u+×Ó›eEÁ'»s¡sâé¹4Ë—»)¾]LäÙÔ�[´Æ1Ù^­¦$2/ô‚IǵO™ÍfÕEçÙ­z}x rK&uQ|�·÷rYäíGØÁ²„×±ˆ�ÇöŽgùVu]öš`}çõÊð°Öa¾Î÷Ã뙿XÈR·=�ó!c 0I={àŽ×߯T*ïOW=þ.c^žKOêYÿ@Öº)æ( U¬Ï«¨ÛLcÀù¶Éóõ‰‚×-ë·ò =ª•êð€.H—Ÿº¦½b}¯ºŽÚYó–‡jÕ«-'§DÅmq¶Y|Ðäc„¾À$EÑü™îÊ‹e¦¼Üë8n@w&�ì1e`z_õ|¦%<Ÿ¯ÝÈD!á8€ü¥Øà·Z"–µE<z NŠDÜ»9 ýº“ -bç΄–ˆ³ðb €7èÿA"ÚÀ§“…o/AÑAK ?ØïUðôÇ&�ЋC’€=(@ ñDu„ g;Gþ„Ï©‹àIè$²9^‘e*@3#˜V¼Ð­Úa¾r>»ãÙ´"…x‚iŽ@»€#V²„-ŸÈ1¬*›ÐVé(10;‹j#а2·^j~¢ª]»­¢¸T^Ø¡/Š'‰åD]@lÏÛ« ÜW?éq.úY¤/Z)[S7`ºñ¡®Š„±Ñ¯ñ¡ ÇèPÕR AòV™æíƒs…`½ˆt­R×óýÚÚùíôºx±ýkö‡ÐIQü?Šûÿ²+�™õ?õ2ót<¿ÄpL�¯E H�ëàÀá>áðÏn€#€± Fð~0R3…¡^:ä¢"ð¨¢Å0OÝÉêÀ–ÈEÚñ¸1 + -�ºéŸËüGßäÃb0£W×–¢`ù€ú Þûø»’0"´#±Íö|gk6Ïn3«ŸàŠqëy{�»U´ÚÙpL€›Ñ×��Û+è0ÍÚ.¾ØËªy»EëÁüìÔ›ý•,úpsïŸZ…ª˜oµ‹Í¢hoz¨ym¶m�ʪà&m e|jß?ãþeÕ¿Ùß_ÉZ�ùtOÑh쉔ÒIÙÓd·oÝ¢“pÿÀ@e Bs}^g _¾>›·„ŸÏ3ûN»ñ;j�Ïóùö#)aE6q仑^÷âQ{³hïeðëGDõ=F4TÄC*uÕ¦èö|Þš/ª·~ךåsƒ³î"ЌϠ”³%=wt h'Qé{�[¹¨�~×øÿéO/\õ°ò\$ø—òã5ôœTxlÁ€cš~sÿ7k¿±`íTÀêOFG~2zù -fM`?}<à™&€&W[»·°"Õîˆ,ï#kòü§Ä"Òµ°§gŸGÝöíök³ïÈ%÷pð� ¹J�¦,@xJÐgÇK$öDÅK%ÄgâWÏt Êc—Jµ*0ª×ÆÇ†+ã•ZU€VdÙŽ �áÄÂ’þ5¢å@«Mc>4MD‚Grm€¬V êjã¯öù<�+ü®f EUqœ TÕÆÙüÓ‘Öšª¨ßì`¼²€ÜR@*Ù¥–×ÈKr´D-Hƒ4W‘�TµÓ�‹Ä1ÈëÇJ)އ68ˆ†$ÃÔçâQ™=åà!Ó5é$+ZÑÓ_‘¤�L3¤X…ŠÝëu�/ô¿~æµþ‹ºëb[/#þÿãØß�ý8(ý.þÐê‰=&âá§Ž8ÎÀ(Àô«¤² à¸o€Ë`ª€!ØôŒÝ .äîB¯@/ ý’ÀÓ»L=~®ñDÚwú€úìc1/Hö×ÿ_ -Ÿ\>0 /áˆ`ºhYí]¸«á»³¶¶06v'Fèqä§�}ÆýŽ$Œ{%§HëajÛb"{Ôb~£9 økZh6“5g…»Ã9#Þ¢3<âwA -g|@¼ ÏÜÑ_2[ûì™�÷”¿(ªß©çÝ“ÐÓ ëÈ[:ëÍŠPøH¶ø„Œkè…ªAxŠþm?Cþûû™[˜É‰Šz]@:£œÊ?ÃàzË­êÛJÄÔ€Ì TW*©_çÛÅnÀ—j" ¿Ó†ÚfˆŠýÈlŠÓ¯9~jârgêïU~Zyý ëYtxäÆL4ŠÙ46 ^¿Þ¹/:…kãvvš´Y]W=Ð&×+5æçåµýý¯_$zNÜÀ+Ço6½Ï#D'€ž™zN+èq¿Œ 8Ø€`íׂ~Ù(¿y¸¶|ª`M cŒa€+÷�ÿÈ—W±zÄ/TÒ}åëõt[Pè¯ô -X¸8µÖÓ ‡$„7ºcõ? -@ycAØ&4 úžâùqÈQéCº‡)T«œ¶¸©HÛª˜á…ø =ñ"«‚.,Z™¯¢‚0Ç@�õ›�P`&F*°µñ@/ô¼éYµô‰AXá¥BŽŽ�Kå¤)³L7(A‰�á:¨7ÌUt -¼•šáÀ}¦8J’’Î(à-“Ñ ° Ë¥´W æVÅ*¸ÒÔ8Ï(ƒ‘œ|©L²(…+‰ :»* -תD´ðëö锊‡cñáàñaÞ´ó�9ÓATk\·ý%;ÿ×ù@~‡â°Üjõÿã!@OýKÓÀÒ!Gß < ‡ZÏ«0Z�cæÐ`@o€püG­'»î¯.�¼“‹«÷ïßå èGsl¾FÐc»ø2€ø•€´Œqä1€ËñéßåŸy79ù3-pƒÉÑÁË¡7@»¿9²L2Û€�/äþšnüåK—F w&õB±À�£ŸL!¿ñÿ H÷JN�Ïñ"8j w…w ¼JÑ3™Õ³élÎG"õáü†§äæ{õ[�‚ýäiG˜íŽoþX¦®œ=7PøŠê>`;/ØþH(;?«J»Àk1U€ÿêþÁòg˜¿ÉÆí¼¸YÛtÂlíÓXéÃÔ•ÊõJ…]½bqƒïøÌÎò‰¾ÙÙb~¢3ÚQz‘dEDE$Ü‘ù|óv°N¹h¢¢*o TxæÌþ+ÉÇë­þÇ0È$ºiœEÞf–åé�{,…¥ø¢F¿ÁÓå¯ ãd¼:$2³�` ^ÇpÐ�ÑÉÉ1�ôâ‘6äþoÀ<ŸœêX¹b³&П>öŒþR*é«÷Ü¢,=®tHóH`:úOB$"_K -w4^ ÚùõPÔ@_Ù ¹ÿK`/ÑKÄ[ïü2é¾U:RF—2.³þ䥂çŸE.\¤'ªðVkà Û€2N±3~œt‚Zƒ$=)Cƒ…t� -‡×¡<�ÙÉWIF²–Ô¨ºÁÖYH¢“ÒQfuR{hC:§PYš�ðqÎå¸mØq‰\- -R ‰gÁrEH çjT)i4'•ojr‰è@½æJÄúœQœ.6ºµÃÃbú“ôÿ›�E¨¸‹þÿŒó†ûöSD¹Õ�q²‡</êpŠ`ìØQî‰ÒÅÅc¿.ëWu¾’ì+*¹Nô|ù`uɼAàaÙ pAÆ?߯‚üSäÂòêÝÓ€ª¦ý_±ÀWàVˆÜ Ы¤3P�e“€Á+î˜.óoßÉC¢puaäʥ˃“wÖ>“u :Ðñ°ót@<¿ÆýŽ$Œ{%§ˆÁþ8É?nµ«ù#¦ÂÈÍÒeؤÆÓ�ïÕ‡Ã2K×p§Mé`ú •‘'óX˜øÎ[gÎ \Ïö{Õ­Âö¿Ð}Ƴ è+0ÔFjð­Üùö·ÓÿV Ë?oö`Hª¡^ÞnÔðÌ3r�Ìž‘H‚®ÂiUL«ÁÛyõ}©ËdBà¿´£²b¢- ¯G| HUsP*’îHëñzµµé9ˆ%ºJàŸÏðâqœD÷¤=ÞhMùËH1@èÁ¬FMÐߟÿͲ¯{¹�Ñ Ô.n¦6˜“åÒ%€pr¹ã°ô µDÏ÷¨Hy::Ð €^$‚çOãÝÒ#Ÿýú×nø�ŒùÓ=#xx«u=®~ÑŠpï¾ìœ¥;+ÀrFð¿ÇÐÃ÷¹ êó¥X ädÀ }z=Þ„ý$ ï >%– >Ð�SH¿�NÈ6tùŸÎU°~YtH"åT†ññÌ`:«CÙ¿N9έŒIœ�äqà’#ƒþwõ =T˜cŒ»*ȇÐi'‰ì.“ºUYœ e-èˆò˜æ -F¾H£,(š8‹¯ªKPÙÜ¡²8Òz$%EÀ=*¬› -ýÆD¯úû™×O¯ƒt§_(1íïä/ƒå"ñö¿®€=Çôð(<‰ -2°R"}þÝËõH°ÏO|à´N©àbÏ0ÀÅ…Å¥%ÕÏŒøØKõ`�„ôîµÄ¡áÿWŠvcÿ¢�¢Ñ*P~ �ÔeúCâ›|D S£—/]�@Ÿìðƒš¸:.A~/Ð[ �Ü+9YÛŽÚå«ÍÇéÓ|S“iOS]êÞCÃvm8Ÿ’¡[zºAF-·´˜Ê÷˜ø½œ&€YfíxëÌY@^<š¸Íˆi€_N>¼¿zOOê/:X€á>e…t=)áRRÐ À?< "Æ?ØÉÔ¿BO�x€mðýþ¦}þ”(+o�}ÇøÐQ¼TN!ÍË=T/öã\zÃ2€NXf˜¢+ˆy«U$Üw:o…ÑN…°‹"£1PJ¡BWJ�€Ò�ÂJ £Î€R2¢KÚIÍaAx×çÖØùÌn¨ŒÃa%ŠXð•Êߺ¾”VeX ŠÀâH¸NŒ’°åJ\täŒ�©„†•öU°¤ÚÆ+†{~u“õ'9w.0LÜ.�÷%Ð{ï0‡ÉVÿ‚G=«§÷8õ[ß³€¸Ã‹ûÿc(€6”‘àþ°|ùàîÒäèÈè˜ -õ0À¥Ä<0þq¨Háÿâò‹<§ 5Ù›Q¤�~ªÝ€ŸIÍ«#£É Óß @rõÊÁ¯j{õÀ2z5Z0 -º?n‚G˜Bq'–ÓÇ€ô žàÐ+@›r¯äd1¶#‚¤Ö¾íÝdHK�Mƒh06‚°Æ0SüS±�™xÊý"¹Á7{Ô€ˆ)0iÏšTÁ£ªˆA|_PkëXˆ?ÛÁI¦ŒÛ5A¦LxÏóÏ\¿ý?­`ùO›ŽÈºžnÖ-fç/Mÿ$(‰wa¦þÞÀ›ÙÅJv½n|æììG®‹/ùJTŸa~`¨Grà£@/Š*Sý�O¹ÿÎØ-Áþç¶Xõ­‰º®•âUËuü�,¾!ˆd·ÛÕB5QœIÒ*ò‰ó' -ÓaðºÐ£áwNÇЃÔ{ô\¦ÃCÂ\€*â°üú7¿ø�^S§{Ö< -`laåþg&Ï8‚@VÎÚ}¥ÒëðÓr ä8äpd—Q2•Ð%<é ˆôz°ÿïeĉ‹à¿ô\é3ääKÐÈ'ØXº¡Røÿ;EªFz©ö÷_¸pq|`@à%¸ºyÀP:º‚z†EâŽN›{¿ÄQÀDðRÌ»ä0ÄÁRΡM£8bˆ ªH]Ö SçIŠü¨<Â'È¡€ÁX)­kQfguŠÑ%èA"ˆä0.G‡ø"-ÊPº/ͧ‰V`xØ$I•8�㨓Š�>’“F÷yà¢ðÿ"³û÷™h½œê—ÈŸ@?HŠâŸðð瀿ÿ<e€O< -à}QÆ—ì@åFþDðç—€XR€;þʃñÐ�v… _o˜FTwÌÂ0@c}ìí´ˆ�öá•�Í »¤3ÓÍÐý®^v@0xÌÁ…�ß>ÁžŸÀ}�¸D¿Hî…nÞÕÔ ž_í÷c§çß®ÂWm/–@ž£Â$µßT Á"Øe8Kø’¶ó¹hÀp6u�7Žõdî2(Ð÷ -˜¡¡ ÊdþS×e†÷Ÿ9k�·'²²íWA¸Üi˜Wýóó:….:кY–§ê'Û=á?3ÿ lãÓî5U/ªµ<«_¯\ÏyÅÏÒÐi(tªþÞÛ•ëý´ËKbZBP~~}"k»n+B·ACÚ>A'þvµÍg îØþ˜ýnb¨ªºä¨×7Ç|'�¯˜(1wQ7M%R7µE‹p8ð½E| bëUœ"k—R€‘Ò €C3èÓ눨$ä¤ÀŠ,PµGè»÷ëû_ưÖ�<ž`aŒ>köˆ·¯@Q>ýõsÆÀÃÿ!€/%…{ôŠ÷_H„õ€ öÝ 4úyÂì�坸H Àï@?ð>ÀßÇq"x@G ¥)yÂBï ðQþc" ·Õ1!œÁ=…Ù‚™ÆMA]À°ÄýØ(š+]iÑ�ímNÀìð ػª4Z}‚Ìu6Ç“˜¢�áX‚¿BA“€pÄ£Ý:Y[.Á™or`Ðwm¦¶üuˆ!)‹D*XE‡U9t6RêîÚÜÇÐßw†?u£ókä ôÞû(:Q++‹‡Xµä‡öøôxÀÁ>z^¦’c¾ ÿû£óõùÓ*Yöýã#@ÝeuattdT…ÞpW¯ µê½!óß]ɬØû÷yÄNXVõN1þÇÞamÇb8€$†.O^ g�üL‘—Ò<Ð…è0yµ»Œþ üdiõN/üCt˜ -xPtŠ÷‚ˆ™Žx<Pðï£r¯äd1•V+Ïf‹ª¿ø�¿4ªùKiâëõ!Ìÿøö�›×‘DÊO´Šz•�å Ÿß~ó¬À{Bç–,{šE b3�Âmð6¸÷k›³³îR'@õ¼ÿ1±÷KÈ«UÜüo½Õÿ&_Tå’8Ÿç�TLøDÞKÀ�`UU_«˜ø¸xßUÄiARpd"ßäùG$‘  ex¤¿uIÍ{uë+Éð,¸Ã„)hÉEjò Rñ\y>¿Y¼  `mõÒåKW.aièÙXîípðe¥‡ðÀL‡æXö\@ -/ÆË¥á¿=ð"ÀŠGüråþç&–µe†N~ö@E�O¯Cwèàxt£{=\{_ÚÄ['`¿¿Y%z+`ó ÜÓ(€3â0úÛúgkô×¢Õo 'Äð÷q`}7t¼FN[dÅ&I õH€è�–hÁ·Û„u€bQ �–xï½ÇÆ‚ÁD:�á—ç£r”HKq&¹f­¤¤D¤TÇ{1v‰²Õ¨XÐM§…ä‰Wáɺ¯ ¤rø¥òÍ -X'’[#z28#EC tHi0 ÕØ£@K¿’º(‹Žu‚b”QaŽÿ7áø¸îõÀÅþ×p¶�;íF�­o€ù2‡)’ÿdG>Üí ©cúXz=îðåõ¥ïÛà `õ3÷Àèïâ?�J€å¿tþààèÈØâŠ^¯‡˜ÿGÀ€p,øòàÁýSÄjb­{f;€½¶xú!c1àß’:èÔà•ÔÀB?ÝÁƒ"ü_ZMo²X»¯+g*`ÝÑ €=ñÜ"¥óÿ•àû -wTìñÎö' ´Ècˆ'¸-1Õ"Ã;+ª‚:Z»ƒXWx<Ë7ñ}_�Úׂ:wè?sæ­Ê”жíoëbð‚ª†°íVw¸€B:Õ¾ù{m§nܘº.ÁØá¿ë±Ð-Aõµ«ÕÖõ·ý¡Ï3ý?ì[¡,ùcºJê•ïô ܨð¡’ªÈ./Ü`Ç¡HG�èˆ(}fg÷j�[Ò7¥™ªÿ¾€œË¦šéà�b¸Qȴו×ë[©Oéꦑ¢-.ñQ4lÍǰ šHT¯¯¼ÈkÉÒ?Aô.H.·Ä»CrØ`áE‘‚ª¥è`™¡z' ü·rº`å à?ùù—Ÿ­}ÂKo…ܼæV>Y ÀÒ/z9ÞKÄ‘!\H©iÒáý—‚ÀÿJà¿_±Äë0è÷�€NmüÒ0HèàïcÎŽ×JG -Ú…%'ÿz=ÿ6@À¢�.¶"Xì�·aýËNöÞ[ ÏØÝû‹€C�lè§4eÖÁa@„õ3šv �.Šña<Ú¦lQ$§„ÛI礈no¥™/(?Š2D›Rì”°ÀI#õq' 5(â_é�@¤)‰|HMVÑÑÚs§¹ÍéhyæÜ™þþ£ððÀO^¼ñ¸ïÝÇ&`‹Ÿêðýç(g|©>€"0zÜ·ôí�ð¿‡L.ðeðƒûäþÊ‚vÒ�_ª/­Èüçk@¸¼¬ÊîGuÇ ÌÃV¿­ÿ6¤'€äWRspÄPß+x: íTHWÇóïñÿqõò�º|Éo! WÓL€ž@øKþÝYˆ¿Q¹Wr²wŽ!ŸÐh¯¶-«Ý˜Ø‘€È¬“4šÕ¡á?5ðªÎàþ“¹^¿ñwY6ÿ(«£ušÎ�9gÀ|Qmn¶ -¾ˆ“Í~$lÁ/üõ±”ø¹UÁ@¯í3°^xzý=ºò3ì~& ñ¤ã…‹j¥¨¼å‡³oT8‰²�,ߣ/�“UêõþïÑ `FLä�p6À Ä]EÜ¢¼#y­ýãÞ¹`íò[\6ó)Ь7‡«mÕ¬Ûá>€7TLÜ5ð?Q‘¬€ýû:5;“KW�Ú¤—á)"¼[M�΀r&áAÔÃzüLè\þÓÐõè xª`!õøüáoL$«‹“#²t>ÃÊá=·°ø©44Ô—]Tšeý‹@è“p¥šÖ¥ôôŠŽ#ÁŽ Ì?Рôý½é̘Þ@Oˆ] üײôCð#ŸüÐÎÂ(€ž&À‰�PÕ½‚†o·Á;A�T·ÅM£@:éä¦ $#’œå)…Êr"»qÜXê ü4D £’„@x” Z -C±žÎO,ÝùK†Q*&!Xmm)�äÑb@)0�(×ê:U¤“p+”×POa�¾ô >…ÚÀݾxÁ€×âN¿�ÿåEkšàò—ÁAÿdþÿï‘þ-€;/ÓËh¤À¡Q~Žé�Ʀ>xVïÞM˜@Ö–'Ç®º J�I ¼ñ1ÀÉú‹Nw' -5ªêÀïNØ‘bƒŒ^í΀p0:z…�:“gärÿF‡ia³¼‚rÉ�Þ€…±ÁpŠð¾¸—Hi<œ½€ô -€$�{%'KB–CÒúºØûªÈ«EkÏ߬à Bó/´„MæÃiæ:Êòêð­"›Ö€9ŸÖ®µÿ˜yÁݼ™}³Yoì þønÏÛçν}c¶µ¹_4nõhóñïÚ�Tå£Vñµ`–9ø˜  ØÜ,6ç‹Ç­½Í/²›Š9§h¨¼S©Ü°[]z¤ÚàÍ¡áìÆ[o�9«¡¼’0ÁpëÑ?íµ©0…UÂÞÔ@e¶þž¨L;ƒJØc¦¡¢Ø{,:²™kó{¾ý£ð¿h·7Ûó_µ‹ßµ‹fõÑf_ÀÇø|mO -äÙº"'j_³Ü³bÙíÜ ÅæÿP¡Èí¼ø&¯æû-ÕÀˆ­öÏ«ëô:8aáÑ\ÓƒÀ0€ƒ3à8êè™ @ÒsNÁ…É_ó9šº}ß§zšÓõ0 €'=WÔgeGè]B€•Ô òÙ C»ÒÛ_H -ƒî%ô÷�€•²@ïGø\çôQ€–¿"D€hÐÌ7Hèàïã¼H ó%ÜÙËŒü%.ï(Á êbƒ� zs‰3|*„ýMr¢´$§ì‰4@‚˜þ�ü˜Û2±�Tu™‘ÝÉ}BE‘[{ƒ:Ú‡U9¯:…Ùä¤`�W9I©c,*Ùé\J( ¢˜ÿ8")ž >+ -!¥¥Ùß*^‹@Í$ƒóq_w=ã2¨Z•epb÷²ðÝÆÐÿú™þ>ßiÁûÛ/ZSÀõ½a#Ò++Ÿ.}Ïy¾÷(€#}Ù_ö[Ñ÷߀x wõÜÝÕ’€¿”»+ÆÛÑ…å»îó¦°€¹€ìˆV€É…UmAðD†¿­þÀú„ø=B'‚ðê-‰Ð1 ëà:ÅŸÒTÞy#ÍôÚH €€n•®Ÿ¦€Ÿ,àXgí‹>| ÀûŽ ½, ä^ÉÉ"¸:N˜ ,k¼Û°á<�M éØßÄÕîáYîýt£Q�âÍâ‰Á„wœ˜=j37OÞÐ3˼_YVn`$ç•ÏÛá®q͉uÏÅ/ܼ-W€4�l}O0‰L&UªÃJ-[Zom~:˜ÿ xÀy0?ö„Øþ>æ\¹ž, çÞw›º¡`g  2`4…„œŠ@S@)€êß:¤T‰J¬p™ ØÕš�Êá¨LJvÅQ0"TW�¤K‡¡S„™ÐÂzši�ÂŽ‚îpyÂ#¡0b ÷exC|\]$`ïúÉQ÷HDO…Ák¡j!Ê‹Bq%¼—„Àʱ`ýÿo8Z.^ìépñ§ºçþœ²¾]B¼~%Üðãç-þÇÿüyÊQŸþy}ü,ÛÀ«w¸TÎÚÊ]e¸' Iè/§`xôv�Á HÖK#)-Y”bâ0' -uJC45ðQDXŸÉ_™?LŽŽt @W®B ~¦¤,.÷�üJx¿$ýVîÐ«ÞØW.�ŒéÔʲ¸ÓÂ`Ù žÈä°úCȽ’“Å�ç1rSËÄЄ�Œ£¸V­v¾ÎW­Ý¼ySí†>à£x‡ôžöÇñ†‡'ª)•yE ÿe•ï 91<Ð÷ºþ`¯_,Kj¼{SÑôsmTˆ^–¢2ª|ÀOð@¿¿ê×QäfãfhXíRú.–ù?Ð2qm¢ú—|‘oˆÏF!’q¾;èÂCºbRS^R¤Ö¸©+/£kÕ¡wõòÓ¡ÞPܘ‰agÖë(¾CHºšø�KæS�|)�¯’? -þÞ}—µQÜÍš¢âb&¤&INø ÂõfZ[»t9Æðhø©DŽõà+LA?H]Ñ‘^%Ç| gÀýS=é©í•ö³ÏÂàQŠú�¨€TU²……O ÷½c?”àÎ�„ç—¡�+LÚX�ªÅ`@Iâü}öõÙZ@¿@g€¿2ÀüØúøû8¬¥ô;�LXR¸{, êé€g»¶Þ Xé b{´aò#Øá„ÁEí¢ÉÜ‘s§Òêw•É Ë€3D…�²¡'ˆ9ЀúJ7Bêo(ØSQ­ò·˜êº.%à¤+7oèNu@YÎd•tuŒýQÏŽ �“ ‰T€6¸Ç*£REÊt‡c@ôÀO�˜ü‡Ö�••»÷pt¯ÈÈö;@·RyNpÜ<wå*|¸tóéé¿D/û¨ýC†`ís<z,’àˇŸó/,[ÿ•ž|²þS$ÓÞöŽÀ1§ÿm=à�Á]@¬ÞX¸Ë ÍýU¾wt÷î}wê“Õ�ƒa„ÉvS×+ÝUä2S/“Tv Ç‹RHÍîSû?kð•„üjyrðjÄt…Q"A¸êa^ý#R7Ò®ÿ´aå^.�Ù0¶¤[ þO^e€b?‘á8Œÿ¯À‹eïwÇ.í¢½¹Ñ˜hÅy±_y{óñ¾¿c#Yo?ûæ›vQ¬?jï5'm>Ás›�znÙ„–U«_Æ=]põZ Û¿–5÷ -™õ•þ3ýo׳V‘¯7óõø ØÉ›ëû*cË¥çù~ûñæþÆüG¹K.Šfu<Ìó<«TêïÍ´é5€¬ï}óÍ7LáÓ*ŠúÅÊ�ÊÛïxŽÀ·0½þm¥z«˜–±Î7÷¾ © 1�ƒA¯‘�z¥Š7"»ÍÇŠT4ß>Üi¬ͬØo±—© o?~´ŸñQ¾÷ûÍöív^Uœö2ÿõ“veæ½ýýý‚^Rdx}o�S·ë:ËÌ@MÞäëŠÒD¹·ü5T&9_/öÖÝÔ YçHnV9Iô4ÜÑ[ÀÞ~#õº �¥ð BÓOé@€_4¿¾ÿùÚÃ5÷P¡d;ÆÀcÉüÜôXûõÃÏÊ�«ËcƒŠþ#*aeQ - -êÿS×pÏ�ØD¤…K(•$s`y€{Çë´ì‡÷£ïR™úÁÚÃÏ -øÃ ø/ñ_ï‹Î«ãX@Ný ¤\z�µv†‚N¥3v±ÇîC¾Álý Š© U…¶d*ul&y r ¿>å(L9‘×€p˜²$`1ž²Ñé@Z…ÊQTjçŠ{€kdŠ"8ƒv -‡Àï_ 3Adô�K3¾Ç}¡(å¥ À§¤h¤£#…uÌÇ@¹§ºÅ1 - Û þ§¬?Ÿ¿¯©ÿ$áªB>ÀîW¼£%BÉ®Oª·c“Wõu©ËùlðžCPÙYø'\Y‚ ¯®})^¼<Æ·lï­})šük€Odr—- ¢ÑÕ0(„L ÞÒÿ6XYšT�ØWEÝæįEÝ»»vWúß…8Ü%›ý÷ï./PøØä¯VÅ”éÀT@KÉ€Ú‹ ôoU½' jàc\,ÇÿÅÖÄÐÓ¢øÉ²ò7Þ3À;Êb& žýº;­ºò;ô‹¼¾.69Ú—ž[?�`Ç @ûL¬¯À‹„>FèýöuÑx$H¢WÔ$tˆ›™™ñ·q$óL]7‘åþÎ.O+.ï)¾÷[/Gè㸯ç_0>ý÷èsz…V„›!ù¸Û+MÑ�¹ófÙT6Ûj=n4Z==�ÿ@å†â¤‘ÇÔK :Ö?ª\¨óÑŸRÎù€ú#Jù¬Y�ˆ†…·/èÜOËÉw)¸–>jH#DH‘·>rO}:7´ZÅ~æáSªz–Î{à6Å�†4mÑ^c\1*š·W•iø.‚G @Žšùí,ÿ úEºd>™À·••­è ²²ü©àsõÞÚ•èhéÇR‚àˆ à�uý.;,J6ÆÓ¼¸²\bfGîÿúóe€…Þò=–¼1èå´&ðà€à�À}ÞsôX°­ßõÄ4€æÌ˜Ä—‘ÂIË 3+|2<Ü¢>×=[Æ­ÝþKôJüíokø÷(€ÿÁüØúøû8¬§‰°=,~~Fý€NÀÅŽÀЖ€< �€KldÀ–Ét9b#IópXþ"à€.„Ti,FW¢ÅG�Îe4í!1 -uûXEÉ©h®w� ˆþ·Ö”ÆIÅ êu®–f"m -€ÿ¨åQA[¤žY…RDÉ„\5Ž"(ÙI}âbHEDÜz­ðýú”ø~¯ èpUO–6,ü›Ã$2�?�ÿmSŸ´wo½z¥ëÐÿ™€–ý¯'ÓÿéúG¤½`L Ï7²ðŒ.¬|Ît™æ°þwvêY¤[½ä*= !xâð5¥Ûò¢ u¨»_ªÖu‡�L�»º.<‰¬ÝÅ '‚>#tÐ]}p÷ÀÎ<̳Àñ0(ž²x²Øñ/Mó¥±lÁoë%ð+{¸1‡e0yÈÂé ¨pºÕq·cåM³46¢[2âŽO\òä`š =ª]€�¿¤ ä^ÉÉ8tTòÖÇ›YcL¢ üì<0(¸-èïQq°�ùüñ8h'˜Ór½37oˆ@OÛ¬:äæñzCÌ@6Æ¿í?söì[tÒGòüÚíÔ/¾á¶ð[ùlÑΧø¡{Û¤jë2ÖÁÿë×ßxë­Êõl¾hÍ[/zñeõwÞy»rýõúÀ[|õŸ åM¿ƒ/ˆúæ7¯åÓ2¼ýy`Ó”Ô &4Êòæ°¸.H¶—ó¬ØÌ§D0Œÿ³bEUªqVQó¢BÊ5/Àh‚Ù�á$Š/²ñ¦;ÿKa¿¿\ ÝèaÉ«y6m†Dl"ÁˆÄj<7Б_´á¯®Ý[c@êðýfèžæÉZžü¥Çô hȯïþùgÑ+ŒJ9‰ -Ð;‰·ˆ+I€Ïþæ7~ÏéA–b³€þp¿g“(;´´Ñ]⿲õRëDDBÑ�4� ÛûŒJÐ{b‰&×ßþvlÌ}üÂ8ø+·ìÄ¥èãå  Beå(€® �VÂ?D8@1 lUcg”�”ƒ+}hà¤wJgº@2"m’—‹yD*ÇÙ�b -vPHO‡�ŠW]¢ªp2ã¦åe‰DÂùC}â”7Au¬-¥“UÉáQœ4%p qMhAÐÜ#òP„)Eð<‘Ò…Ž¿£»}.à  àå<?¶…O#’ˆða¼Å;¦ÿ]þ!—ïðQKÙžöL®0­pÆ@(]—ÜÀ×/xPõïdXdô�[Ëô\<øòËx0–0bO—€˜¹ripdrõAü;{ŠnkÊ×{\‘×â�vs�ݦ ×q—K¹ww•/JfÞ�\Ö“�¡³ -¶]àâäè¥óç!' ÊJ?¸Š©J˜s±`ytôH>p…‹óuN^�ÔŠFìb" B¼™¯ºˆ…ðLÒ=€Æ‹±ä(Óÿ™*¼ëx5À‹Å sT„9³E³†@øcÓ_1ó­à‚ßj_sÏþ:#ìuU¾êÎo‚ü©ú�F½š×D8Äè?{æÌ›•©@ý|}8}'S¸ÎúU¸gãUMxf³¢VãƒÃ8ÞyëÍ·Þ©K!I£óoTÞ:×ÿfåõë~éÖõë¿Ðÿf|*˜þAîpØh´kÃÂÝ[½/”Lï)ªs ¸øá,Bj1ŽVá1 � Õí)ªMf32Ð !À·%Ò¢€RÙDá)€ ?²“$Uãÿ´ytc§ZuJˆ5ê·�7AÒ¤ åÈ/ãQÐéG7@F 0žKÉq€SgÀŠð\@`¨$Úéþ÷kð?úmI•è5â†M½¤Ц3 -àáoî»��W�^‰‰Üq·ÀdÑ‹ø"’•…J¼ú�$€:­2âøÐi„CÙXÒFï·À€Ë�z {ïÞKìâ}ÂþEb,ÑÆÛrÑñú�—£Nð ¶nkú÷êbc×|fPèî÷ˆÒN À)¡Äô/»Á?�·UÑ  -,5Ê¢%ð{ú�p¼§’h%@îÚ¸çˆQ.’:•H¿r'«lRZšáЂ–ÊyUé{=ƒP/:e@AíâNû»à¹þ‹/ãàOæÿ°—™Û‹‹ LeýÉ‚ðËS<2ª‡faò*¸ùŸWOÓ˜­y -Ðâž…É;«¾d¾ûèßR`U�CÊÂbøÃ['<d -�±‘Ë—.èüKôìuð_?ðÛ¬yo–îÞ[½GR{Äèp—©t&GG™¡ÿîg÷)'Q+±¼¸ˆ`dð�7ÎŽqî1ì³rÕð4×6µð5`U tG<Œ¸*^âîþÚà +¼­°1ÝÉKWDMˆáâK@ù¸v=Æà_¿W€K ÖQÜ}•W ²ÐG�oG8V¿ñ¿˜·ñ­Ãýj!ìç}ïÛÔ}_O¶ €Á÷²ÆƒBLô{«â¡ôùíÛíkô…�™ôíGyþˆv�Üý˜Ù¬W�TÁ¿Lý·*×QL–FÙìÔõ·ûÏ�ë8ô#iª`ÛùgΞ9ÛoÅêõ¼q-CþB§ÊV€©ô¡£æðŒÌEð…Ÿ¶ìùÍyéŽü¾Šc³ ïgfã“Âdž}¤€ÙѬȃ«ýëïó’#ÂÐç“ðœ[Ec¢Íìňô™9qúñMÄ™üö‘ßm øO t­~é™~°Õ|H�““¿œ\YìEP›Ÿ?øü3ð¨ä”ü�¨&%_ÑkJ¡k 8½!ù:€x;¹Ñàiî¸{uxà]Àré�„2`ûAtç­ÊyŒ$�÷®cÿ¯­Þ_»¯÷ìCÝ�ÿÇ.˰åEÁ0Ÿ‚åDkD¦3§I/ò—áÿÿõzôHàŠƒe - -… ·~GF”}çANVCC€]íôà�­”ÃQ™LŽ<Ú BÔÞ9,Á×§Ì@ŠÎ(FÕ\VÝÀÉ(çψ“*8ö’C£<ÀÑQ/ðÈüÿéÀK€eƒ´ÌÍ¥…E?dbËËBÉI:Ð\¼"¡ÑL3 =ü— -yPÀ*-hcƒ˜ý"¤+²`õ\Œx,a1sý#ƒÖÂñð¹‹7\W^¾ÿ`íþÝ;ÆePyÆR‰7Qä•ç^€“+2Õ�ðެ,/º¯A)Æpã¿vé %•ˆt¸@€麼z¯ -)aMìX^T­çÿ�ªÅt8A𘭠wx-à\yÙ€€#„�î(_ª÷¦Ì@_ -/%æ÷®ºnîä%È�ž’±ðtb¡½ð``yÕðbÜ:" ÿgÛÓm™À… @ œ@SØÛÚ”uÀМšº^©\לé!eWoÜjÜÊ7 q"Ž“èô@ÿ¹3çJ�eí‰õhüž/æU È.•H ‚³³ÍVª�ŒúÛïTÞ»>E—;”˜ºþÎ;ïèg¼k Ÿ ‚:ÂËa€ï±J|“—p›ºÂ›Jó•Ál*Ï®ñé ‰gú™$EðLA… º­‰F!ÝìŸ@pýŒÂÙl«ÐñÇ?W†¼Ú05Q5*]Þå{p¾Ù˜Ø�!EÇ€òF”BÓÈáŸðiÃ_@9 �^À1.=›é°w"‰-Ø=ÒñÜ/G'Ô£l+c#—Ç€]7<øüágôQx°º0¶ð©àzaá“䀄 I×°´•¥’Ê»àŸD¸¯óts²¤NÄ À”Z/Yi£ëëâÿ¥Ë—õª1´ë¥Q¢|èìX{7]‰D±$@@�1ÅûRà8€ŽMÀ�pÍhb% ¢†:'ŒPµú现€œQ]ÄGÀµ ûnÒ*æ9¤DTK_Ç¡(9…×”ï4 -¹ðãFü-Þ 4Àu3ŽB ¾¢¸/¨¤¼(iY¨B¤;8 - fü~£ÂüÿéË·tLm:Þ°±ó'GG—èˆÀtû fxÃùÆL2Uöäè‹ [Áµú/Å‹í ˆP[Óˆñÿ<` ƒwÌ3áè) *çRâ%’EFĆ]:XýI»>‡ïߥß `ayõÁÚÝÀÚÿã-@?@÷pµ˜ã×@i]¥·lì»(ý€nE|öï�Œ\êzb€€ÿª¿pUû«Ú3ðòàºl£õ‚ˆ«@W÷z2ÅL’üèx±€¤Ç˜×Ê&¾ l¦“º°9ŸÚµ6ÿ¾õ¨õñüŒ"ŠÖì“jSàü^å½÷Ý÷¿[„w ¡¡Ú&13úH„½| àMÑ—Ü,&ÜöMùÔÉX:÷þÃÙíê3yµB?!ýÀõz`¯Òþ|¦‚ëÿÍþ·Þz[çê}z_¼c«ÞòS=ó!ô8sîÌ™ŸåÑÒ€o¼ÍŒÀÆjI–O0HQ€[ØP@`"­ùyU÷sZýEÜ °^ŸáŽX¸[:ùs¥�Aá,«æþR0ÜÂ>ݘøŸå7'¾@ºn�´?VÀE^)ŸâYL�ôìåç9¾€Õ�÷ˆª™\¹+®¬’ô®0òSØ"%áxCZêÁ9Q( -„"�VS{~¥[ÃÁùC'Óÿéþ]õÈ?8€c$WÃ?«´ —Mqùá Ñ.èGx^5¼„€_LjLÙÙÖtu?·0Íhl³[Æÿ榀zS˜æ€êºû”Ît¦×«Õ~NŠT§êi€ÏâÈ·€OAÖ'’á=øSC82ígf…«MÍVÆsÕñ¶ÌüëS��ì¡ú¹þ·úßÀöﯗ.A¯ª©ˆïGw€þ×<=ð{÷ýå`F#¼ý&-×LK²b_»eGîç—AIˆQÅ�=úþKòhðŸýy«õ 7´ÏOe7f?Êãm·MÐ'²^¹î®Ð!eÒ}P`:¯Vo»ÿ?ÓŠ02pÆ–>Ÿ8F0ÞY…�w<PÙ éu@k=¯ôäÍáoCôü›¨Œ€X÷¢7À’DÃp H‹bp&(×ò؈X¹³ãøüs‘ˆE{h„øå²ð^¯Ãðä'@lJü_þÄð÷‚¿Á]¿H`ŽP&‰Dž(R1ð�÷€Kc#8/ ð~oèW‚½ƒ�}H'pœ”6B¡t ›ãFZ x%À DÄ�m ª ÞŠ‰”ƒ+N£'½R#ÒÉ�¦±ü-èÜ-ÇÙ±§AggÔ=~@oŸ< -ÀRöà¤Ï“ªcm)�ÌœFÁ@_»8+Z4M"»•uUì�C£ðT¸Ûé[ç^Ð Ìþõ_fY2>vÅ¥}Ê&èNC{ð‹ gõܸ%üŠ[þï -|mÁN -�}BùÇTBàÿÕÑAa Ìáÿ¥ó?>š!Ž?ÒuÆ“ á!�™û úÿz þ þ½_»»"|GÜpŸËK.R›ÅE)y9<'Kùõë#Ìù�à( Ò~e–½¯€î–ûþ+³·:<þ=ŠàHéÐ�ü‡ôH¹Wr²èŽ -pW@°‚ñp+êç³óÂEПqÂ¥¿cÒ_ÙÍõë•÷dKÇ@ð®Ä±ø<^cÈÓÞÔùfïõª¬ô7é™@òafçɲ®HÇÏ?þX, ›¯P‡Œö·*ð;å[³7Þ>w欞þ7ôï\¯^"Uh�¸^ù©�<+Û›t<3P -ˆÎÒ €–Ùþ‹ Ki1‹ç˜Íâ�Od�µ«Ý$ ±&°$>—H1­ÆDÛ—­[a_ˆ¨QTZJc½1QÚûæÜÎ(õ€£ #øÓú© /šºOÄI�ôT�¤ K! ,c¼¨zAVðÿ›û>úÿÚƒ…ÂØOY’à ÔNÏ%€%™å«¥ FŒ­¬•€{«Ÿ®D@‚|{ä¨Ãôþ’D%I™�õ’@, Ž{Ää%q�ð,õv¼–r£_÷ðTÑ¿ ïðÒ è| àÔQ@&Žq¢À;m�Ü:ãCá¡ÓðÃýQÚ)Gà}$4@‚”þ±øÓÀ¹�ã‡G8©ÑU¢ZtÚ¼ § {F8‰Sqd¶B²ãF¤oPuyRp/Þ"¥¥À¯%¢HI\©Sw=CmÔ‹ (C$v61 - �÷€¿xÀêï¬üuôw!ôö²@å%÷¶× fz«%ÂiŒ]BiB@1€ t ”í ƒ‚ñ+££ÎKçÅ�ä:ét!F~ ½ -½vE¥*ýUºÓýŠ¢:µÀ>Qø ðªÍݵèH]&Z]a à¯úÑ–è©îˆ¨ûüÇâ -¸)qo¢%°¼,¾s¬`r:T^üäßÀ—DÒÂÕ_Ñ«å ü³Šð'E'@®1<=�)¸ÿÊðC$Ðí¨àŠFuv&püÏç?–½‹…Nœ0Ä*&öÔ+Uƒi°€F‚wwu«)D¤–šðù-Áq·Àü0ÞoX€ýL- ,¬OeSuaëßóAÀ©�DÞã#Býo¾ÃZæ¥F}àÜÙso¾%ü—å_0Àòÿ={xÿØ'ðóœ;Óÿöð°jÂs¼©|t\àC†Ò¦F�™,/>F‘y>HHÌÔ^Ñ�ù|~"+tõ°Ý‘ÙÙ�ff?þù|>˰_¢¶·«ª…{à{ÁÐEƒ¼(C ó#t³ª ãpל}ĆŽå¢;èYX^»·ê^€/;À˜,rúÑöö ÖÏÿÁ�­=øõ¯>üÍÃß„`E0êHÒž§R‰W&GÜ à-=´vêA]{øåg+ #¿\° �0âŸÐ Ô§pÆýË�çñßžŒU»ºiœ®“R¯7ú#>”yÓ%—„ÿö˜t= í{7¬iÓ+œ-—3 硃!½°@7šÿG% ScwÌ(€ïñ--æeR09òhƒ -Q{ç0tŠðÁyHá™Uæ¸;8� -¤p‡Êy:Ò@u\FYÎ -(KŒpä)£P(NªŒØK�U‰;Þ@Àñ€²õŸƒá�@² 5°`Õ+Bê\\ÿ8€½ Éu†Œˆ(‚`KF·ý<¡e½[jý ÿJ$»"`¼ôÆy�ô!ØÛØI �܇×Ið>P¿ç·v7ÀU{î®Ò™^Bzera{8è‘tCBB뎸=É`5KÀý“ZCt;Ý%P‰ãc€Á›û‘K‘ßkx˜èòè¢BÑp°@à€~¯$�{%'Ë/ŽãüfV•­/>€­˜´‚µól¢>#+÷=ÙÜ�ýëbü€ 0ƒÐÀCýˆoõÌ0SL0ïǪa^&wÎô>Q‡H‹�eW†gTÝúß¡#bžÿ¼õqköÆ;ožë øO–üð…Jý½zå}ÕPeDBGht8×?0<„ç}ZÀ 8ÛÿÖÛ: m™ú»õ¬ =ÐÅâ Ìé§z| õº¨Éß[—¢Ê´ÂºlÑ"øÁ m G€$ôÞ¬ŠHL¹gÁõ÷êzUþ-P/a²@²vub/†þÝò©|†ÛœÍ¸µå¨èA-±;†¸à%žvâü”"<Ñ¥ ÖÕ•‘Ñ?æã.’Kt@þ1anÄbIÿÆ èmT34Ïùzòê¡LN†€ÇÝ?|ø™gd*ŽEÛ'—ï)ßîùy*`Çt�KH'eHDÆ4€��ÞDÑ|A ?O¸¸œ< >cd¤X¾kW®�àË{Ú_zC>ê~ à¥FpÎikHÎé0L~D(˜ÀÒɘ ¡)épB�Ï%H–ê¦ áw” •8AÌ�>¤(Ý6¾-+c9€#ÐÈ•ÃTˆ¢ˆÖ&Ô‹,`¿9�k“z0Ÿ×!“=I¤7$J"V­>?î°=�Qý'Íà¿„Ao Ú_Fìi/­~ú§á£�ýþ÷ -€Ö0€ð v؈‡Ýo··ý�K]fàR#¹‘¹„C�¾lç©åÒù7.9­ ògà/AßÝñ«^€~¬�ŸD¨<‚`ù.ω§ÓQ†øŠ_l�ÙÐhÌ? VüDñe+Ý#ÊkëèÜñ¤>ìÄ›ÒÕëò/]¹¢ÀAø÷«§ãXâ{HHôèŠÁß ƒcM ÷JNšô�‘ «>µ˜¥Vö0(ñx@AŸÏ)'„ð‚a® ´R¯1¯.SøâÙž‰^€C_=ºÆ ™úÏœx°›à7oç3EkSº<—îô¸!$²¯Ç+™püš¦ÜëŽy€¦®¿ƒ/¿~½~ýFå‚‹§ L¯¼—Ã6˜=¯=+wT°dÚ€~s�@Ý-€G9þµ„"Sh� @ e¢ð”½R‘ž"'v0žEnÃ|µ8<Þ ØgÞb Áv­s%�?·Ò4ËDàˆÜáË¡å0€•ô9€Sf€¤F±çQ·Éû˜“JÀ!¸ý5 è¬Ýç“%b3! -$;=<(´öPf7ëÚòØùK# «ŸùùÊÂèS“ZÂúù�€y€Bî­°X¬½gPII2í;B�æåa�ýŸ¶’xèVÿ“àòèHà¸xe^€¹?^ç�øÀüÞ#­/÷-ƒv ��ªB8ýFí-ÿìo¨’¬[\�…¢QÇUtú�V¡0ÏݪTgpÚ«Ø4 ¬&•Cí>n€•Eƒè< 3\»kðÅ}¡(å¥ @I]lJºC£˜ 0ú¼h@Çü·`xÀÿh/! yï‚t¯\I`/¼rΟïrIɃ&€l3y“þÊ_©¤«WÎÿèü•«1$|O%9 s{_RJðýøÒ_)ŸùCg0È©b‡í¡8²-» ˜ti@ò€W`°Ìó/qÖ…N€„×QŒd²g¡þ“¤ôîòàƒˆ³¹ÏîÄ^â>Wù¦‚oàÏþ0þ»¿1€?`…FöðëÆÁÌ:’@,óÇŠ›ú‹Œ>t‰Ÿ&EÆ^í=w¯ñ*oNäù}À;‹° 8œ‘E+¸h'Ü•“ßy»ÿì™·*™áu&ÿ¦šg¹llÁ=“éS[€½Y%QÕ²�+•Œ!ï T<À‘Âÿ�·dÿâBü¼r!›IÀ:$³Þ^G9™d"ÃD -’|TàmæHMSö¨zé¡ËšE#}Vß$b�UÙŸh~SLÒÛj}4õw7�ȼo‹ Pµõ¨¼Ÿå40Å�„^y£ÑŽÄ!Q$¿,ûè#•y@ô¨Þ‘e¼_·ÌV³Ùs-@‰àE3ϽÌöŒtªúÇDp3 œô,8ÚøÉ¹}$·³Ïfö +^ÃL´ ̃ÖFWg‚t¯…a7œe45”:¸ˆÏÒWkù~t"Y²PÚÍðüâ±È5;GéuIßY¿±ØÁš/�°à“´ðoŸ”…S1é ‹hñˆ cô� ô›1�Ì,÷˜úÚàY¢Óã\�äÌu ö…ûrsÏœ† ÿÍÛ:ê䘠OÐNµÿB0ý{½znxxPT@é¯^9§Ó•ÁUÍÿ ÙòŸ¬åXÄ£FWüôÆo3öCB ÀpÁUÙÒ¯m2ôhÀ†ø1£Ãéõsæ«k >}þ¶ @0 1n/Юàýƒýý5 ðåæt“^^â&(òV‚ß2>|®G àH-@¹íx CѱæÓæAëQýOÍôÉA³Ñ@4šÍfÒ|Ö:<øæðYK™>«L”0!^C_-’´™Ö~Qm¶¨Ñ׎¤5’~kÜLZô’W¼té/Î߬"+´­Ã‰g©àµÕzrØh¤új®C­…Eœæ4Ñž¤\MäÈWË3ÂÃÆáÁÁ“fmö¯n–å¾—®š×’JU'ªVS±Ž¤:_ýp±Q›ÕqˆÝ/ýeUY§¿KŸQ -Š:¬u 9ýzBEú0e”¿FãÉíÓń¨8‹­æ³f«9}ø'•O鞈´šz2:^KuizøMZ«&ÍäÆH9i¥ü¿Z®PöV³Eª¦îs‘ìZ�*Ïþë“$}”¦u¥MZºÿÃC]/ ˜7áä�{ë¡!€f›{{Ÿ1 `ßžD g -Àº 3P€Àøè—´,G¹ƒ�¶Ï÷ö¿ØÛ§1@Pì•çì®ÏÕW€Œ0ºnlŽ1··Æ_¥ÏÓ‡_Š„Á;T®÷únßû,tdN@.dJ7@º¯*kJ“yö™ik›´Ÿ~ÖÛ ÝÓÆçÔd -˜ï6Fáÿúº_é»>Ì:kÏ3ƒ½Ñ>›:{˜�h,ý Ž-Û(iTÎÑfp}‰±ŒÎnáÓ¹ûPTiBþY‘0­äc\0we.ÊG;ue_NëíV2Ï8ª£¸x¡VÜ -ÀÆŠ„³l\FásØ«ŒuY²T¦¬ú ™†žyæÏ ïþ£\|ü—ÿ`é ->¾‘Š�¥"XY®—�:æÁ˜aBïã¬�ÕÿÖÙ+oÀ -”)ÙD—?3+ØáߎS�N+!Ô‚“ÞxC§Éa ëy �ü™E@ˆ(€ËÛÛtFH€  €­GÀãÿ»�??Æ(˜s"n16•–íG+AÕþgOËOãÕÒƒÿz™Ñ܈VZå57¹>~U´cà¿?*/oÓýM°UÅ».j¥B+þJ™¨5šú“¢B¨ÿ|½~­R.‰Ÿ�èg9¢÷„¨=mhRO77¼§*×’J©\™éŸ.� \8G?%rR6ɵ¯“z]yÏëÎÒ>z`¼}Þ5ïTËÕ7èæ·X,ëÒ岎#áŸâG¯_ý¯¡r¥ô¯u-l¹R9Ú–KÂs§Î_)M—çæ(µçñÍlÊáZZ¡Ù‚üvÝܼNW)æu˺&w!ïý÷oÑk!M÷)î Åñé¬Ïë±UꥑirW9&üº**Ÿ´ÕbÈC‚þ¦ç*õwß­» =ÕªërÕº(†›Ï[yK~½ð?Cmáš!¿]€˜Ÿ„íL@Oï~@©NØÞÚö¹ -@?%çÁ)ñ4”?ý¦›ùÞ€Üßw§{!Y–žoXèEÀš€¡Ñ;ÂãÏîÑipVT�áE¶»ñ?Äþ&>§û˜Òd  _ @ØÅA�ïõƒ8Õ¾Û¬wwÛÐüùx‘ÍžkFͺçÙÞ€½ �pÓ³@ Ùa©Y�”Æe€cBÿë.|™ þùÈÿüº×8Ñ»LWÑá ðwbHèV¤'?ÿ+Ç*+¸ê¡ - ¬ú�ÀÏñرÈÂW!uGÈrà¨>*S  !1οuhpÌX!�v¶?Fž“¡íÂÜÏ8é—µ#þ›t›ǟ#P‹#œ~U¸¯„îÂò7<*e'×¶Ù…ÍþñΞsæ:AûÏ _}ãªÎñ‰0€@ŽôãÌà_“9Àö'ˆà»ÎExð©iÜ~¥�3 è`4´Ìá?«á«k?磧¦ÌˆXèjÜ~Ù¿ÒîŸA”zòêUƒ~û½¦7 �0º>ŸÒ -�ÁTvbÄZô§ÉÿHO¿zêUý€T^ÞJ}'�ReìG²§ÃnçJo¾¸³11!‡çÚˆ¬8"ð­Tþ­ Îè¦û½0§Dz1”*×FþÕù¿Ô_ìüHI0;1!À›O꺖¦òœ\šÇÜý¦äucQU�</P^Pø¿ð—ø]sùðÞðŠVK•’¸É<{´ ðuÅ&JÓõ‰wÅEDEx?èµ£™C=�”ˆì¦'s*ˆ¶Ù\»ßÁ2iPLU@ݘ²(Mˆ€°GÏ€ç4A‰ä -jªNLTëuN©ÖE(Ä,”1w1Qš«¿YÑÓÑÓ†þT*<Ûn›=:,஀:= æE3þkiÿ_¶±Å�½1 d€‡¿¤À®4 -ÀCÖI°¾Ë´G¿JpšÎé -8§ìm�Ÿ*ŒoÝÿ»}¥ë®œ °ýïc+€ÏÌ(…_¿ãûÓ7âyÇ"¸û¶"Wɼ¶: -@ Ó à Óü_Ÿãû|ü�–[ícK÷º„½ú¼( ‚²¸WôÏ -F²ƒoŸVa�Ós -ÿ�`h0`W AjÀVè�órR09œ£EWoo†2…õ\ ,Z+ -œ«7ƒé”�²Là k4Õa§¾ÞAY)“~Ù�¨x.¼&hº,dCçBÂAå–²>­Âh€Ç�ÐãþRxžÔ¬ÔGGýÜ`{B`—õz�6¨Cs€`範úÌQ€³Â'˜äìÕ³§•Y‡œ~Õ'ŠˆˆO¼áªò@�B3dô>–CÿŒ -P�)ò¢Ýp’†µÚ1:|Ú -€%i �µðíÂûøñ´$À¼2šŽ¡ ^àͲ—ümúÊÀŸe`¸8yð÷›†zL -6®á]7)B�W¨þðßÃ"ÈýhÇÛAk¥�Vëàéa«ùìÛÃCî$iýÞÕÕÈÔÕ‰‘4Áϧ»Z-Ï”ß+k%©.|=£Z©êXRm==h$i­¦si;÷^’V+?¯–/¾~þõb5ù}«ž´É5N’ô@9%iSgµZÍfë0©k3i(—¤Vý0i”§.•�¦Ê•¶ÐÙKE2)Þ,œ»@½>î~5ù ù€Áô\�$-Mx'ƒ 'T/\,–« u9äóõ´•”/]š*ÏT«©ÊëëÞTÎD‡ÒT—j¶þë|ú¬¥¢¤­Ã4}òá³§ÏšióéSŠ‘¤¨ûº˜ACW,N”ªÕGne˜4ÈŠGã.޾â�è~Ÿ¶ž<ÑÉÏþ>ù]ROêéÿYª·ôtõ¬›\E©zŒ1H]µ¯Ÿ�¿¡Aü¼T³¡Ð�ôaJ»µ5NÿòæåJ›}:1î¨Kø"*Ôß;¤°ÇsWèÔ­=+2‘‚!€½Ž°ÕV@~2h+Y;À;w]ü;±p.F®DÑ|SŽè:²=*ûÃ}bšMý|.ƒÀ›¶ß'¼‚ù>Ï 0Fûl÷xM¼Ïò -€q-[Ï@Ðé¿:Ú -ÀH †}ZùXœÏ�XvÊÌ ©Z÷Ö @›†eè�Ì'�5b@¸ 9„¤:’� E»@®4Èk*un,úâðÝ)óyñ~á&dZ8+Ч�X|JÁjT¢©<<'ñ^�¨T¤ ­ô͵è À üçðg ì{NfDê ‘À|P: ?K€ÁsY €þ[€#y°¼ ™hÍj¾a\'G^ŒÊaWö�§”@ÿ©Ógt ŸÔ¦Ä -ÐÏ"ä·Ñ?L1@Óèæ–6>e £Ð!¡ÞŒÈbtø”¿ÂŒ8�lU_?™^ D€"Mö?êcéÞv�aýjÖÀÛÚƒÀMôÏÖ®Øåè©�×O àŒÛ•Ž’®äcNÓ)@ ]µä~´ã D?Æè™/io�&qó3B2BÝu°TªWÞ“3ŒK,píØìïFbˆ»ãéBD_u�^r*ÍéÒ, ðäCg„–$ÄkQQ`“p;]ìƒJ«Fí›~—§Š¯_œšÕuHžEñ_,Þ,^л…šNŸœÏZO}Eµ$·[—-.Ð,ojê’8Ã%'KZsIZyÀ"Ê?WBBð8FÈžcöUúf¥¾X«…Šy"º#úrÁ¸ïâT©L •ky$6ƒÔݲï÷=ïX¨<‚ߨÜÄRx”á,‡$�øš°…úûõúû¢ u=�.Kî=…¡! -|ÜûlÏA§õƒ;=8”ˆ ø¯ÄÛ[w·9ÝË2ü¤�[ÀÓÚVÜ 0œBâÌ´¾á_(…O{4@ч @Ƈ‡Æ·îï?ÜråC¯ðY>àž -JYy)ñ\.è9Û6#‰2ÿŸÍLÐzè(ë`O¸ßÕ@¡r7ý‘OX¾ØÀà‡y@™¸Çk/ìÀAÇ7ºmFÕ°Ð>0Òhçµ~,RzEæ‚1iÙ‰ ­ÖÜ@(©`Úût0ók½Ý -@ÆÕ´Þ·ê%8I+6”4dë‚’®§@QOúÆóÆèqÿµiV@uú‰,‹Ò?wå,`X€Vr -€ÿ4BšŽ ¤Îd9 ¬È {1m°£ -À9ÒŸ:õêÙ3§^E°jðÆâbcCî zózŠðß¶Oô«AЛ  o@n4t £0“×¾1Y@¶¯iƒïz{••£×‹ß«Í]€ ¯£à=Ùz®# †n;þ^²6è· Ÿh¡#²0Pa}s{kÄd|ø¬‰Ñxv²€—7‚îú™ ªP/n ¦f\K¾%é\))»M½¶fÃ8@ay¦’¼•„–ïð€_ÔfÝMÎ,‡g’é‘Áî+Œº -"Ø~AVÙ^]h—<­9_»fËø?ÿº©Q?OX?]Üœ¹0RÖûDWv†ëÊ(IR)j ƒþS SS¯¿®‚r<�«?©–Οrw€”>ë·ìçª.HÒ*9z‘G@ÛÀ&—)PB•¢Xü+.ÅùUºýgÕ`V“¶Še`_5õÉÍ_2˜²6•Çb:QOûïW~á«s¹¼e -@»€‡08«Ÿ4š0hý¦œ_ûÕN¿·}Gàç*oÎÃBi…‡ìˆþ™Ñðs€v>Ê3*Û[¡@P -!àaPöÄOÚmý]­îm‰�gà"÷”1¹«< W67Œëü ‹ãd�¸ ×€‡´¼¾>¿÷Óõ}Žc"úô»¶^À d°Ï{<mÀ:›Ù7¬x 3^k[Yy�óƒ %Ù¼öYFÓ°J*xë=ZË÷ dÎ’Câ¬°Ê 0Î�ÀA › Ûc0 çÈŒÞ?d+?j>ÇŒŽj³ý û ž'3S¨ÐìœýØ€6º€9Fr›Rô*WÞ8{ÖU1 ˆ¶éìþ#ý4ˆàÀá¿XƒðŸÅ„1ਅ6fŸj�¹pgAnáªÐý“O©p×›±€ߤ~ƒ£Ã*þ•Ñq½Qè^˜¹W:«\! ûã¯æVÀwbÄSŒùokíý½~Õ#‡nèü7*‘`ƒ¡+@ÍÚ“^ŸÞUɨÈóÐ"ø-(¹ß¨²ž&ÿÿGॠlëcŽà— ™“æ“”f€Æ§`‚æR©z±“ ÝåbãõQ+ã8Þà¿,4Îo”컿rþbQ‡YŒ^pÁ`UÀŸÔZårh6P»�ûO›½óS5{â †U1÷äW¾0R2ýs-6Ø*åjRž€pLH=U~gꃠù'­éJš”/½v~àâ-uFÖŒÏð×LÎá'âÎ�èaldnNo¦›¦ä@œ2åpF!7®\.&Ó&µðL|º„2¢Þa¢î4Zl†Ù1ëçwp‘ïe€@s{kphðô`$ôZj»@.p{¯£ð[b!/˜� -€¥|A§Ô®ôûT`$fx®`>Ýg¢Ëɶ3€*‘À}ÀP¨8àÑÛ -À¿×c:·‡±ÊUÀÿ£@¯"r,@}pþ#ðw)ÂÆ6É€Þ6¼ŠF Æø#Ÿ0Å—J\ö38 Ö:{Bx:–o`hÀ¢ÉÚz¸± LÕ†Á[{BJ™ÁʽñÒÉãN'7š†‰|t ËǧãOk†áÆsÑPóî2yEÆJ.ÀÛÇŒ֩׈ �Dì` ªÃ�;'Ç2én§3.Š„³l\Qçrº ëK±ÀzZÐ@ˆ¸` {,€>µÿa5‚ç ,"’Ì -€q�eNfëAÿ1Bš¶@²x¢¬­ -ßE²€s]Uý�8c`¡÷@†ÛŸ€ý¦þ†Åö§Ÿ¸ - 0ã½òƒgg“Ù™bñ’�V/˜‹¯¿þ:uñ„è‡:ò@ïÜs‘¤š4*ÓMJÒ%ðÍ"ƒú\¼9¥4¡*ºÀêìµ?€=üßÌÊ¿«ÜÐÜ^øÍ›ôä¦ÿz—(U:'w\®Œ‹b3.e<‘놎T�’ð™þã )ò³ UgÈËéÒ@ñf­:A÷ƒ%3zB¬ÎÎ̈Šå…ÊÚ$ -¦‡YKÅw´*Ž1Q‚¬¡Í‘_)oøþQˆ#ˆê¶ÖÏN"¿aƒE€ß‰�VwÆ €ðÖ2ü®þ³-Ž´ WÞ�€žv€:�ƈ¬ªQˆýäªb À�vO€‘t).däÎúf£(ôÿ,@{·ùºq½c”•Ä|{j„ùù6£~JôŒ0ª×ÇÑ�¿aö\ÓQ?®e“vœ¨€à,úìZaŒƒ”í}†O¯Ðf—:)à}Hh€)ýe>ÒœmT‰X÷']eºŠà ÄR )•ãÚ×9‘$ú°Â5p%{ÎXÎ#;H )*YŒT$,€L•¡¾Ü©Sw€°Ç×æÒºX  !ñ�ðÜýˆ…ÿÝcð÷àpü¸ö_œ@«èËšPèGS—ê5Fò`„§„€ŒTd»â¿^. S€~³×K° ÐûôÛí×Ü«^ñ·„¼¹éã›V6„þ!TÅLôka�AOQø p˜ [Ð×7|²µ«ÍAw€·³f€ÿ­ü,Äx›1€”H7‚å€ðrêftH7á=¦°cü¨‚µ-~T^Î"Ð5A­Åpc², _Ê’éñìÖÀyQ¡Þ;³øþo5ÊÔÅk¯¾ï,医!þ¥Ù� ¯ 4oÊoúA-@Új=y§ØÛétåP(¬kÍÎÎVÓ¸Ú¡ Œä#S> ïìOJU½8Ø�ÿÂï’®«2(}Ò`@ �®? TBy!`è${Œ.ù…ÏuÏKu÷Í£ªMQ�¡r0…¸T®L(³ÝÞQ�áL•Óò#‚Uðwf•AÐôe_k‚N�Bî ­Dzð¹éžœDˆ#·?Ûš<=¨_(ä<g¨•‘€ö³Þ6ºòëb%(Þqâ3Ûßw ƒ‘�¾²¢bí.´¡ŒoÝVAÉuI¥_VšU—zi…óuÖuNU©¸­BA¯÷¡3*«ðçòàeßÊé3~¡ssƒCccƒc««”ÓEÕ�¬hë–žÅʪ²^Õ\³ ô«ýg‚Dœ9™µk§å¯ƒøm­tÅð¯"¤i+¡ - ³®€ @,ˆ©1ÎVÆ/ßð‘ÄrÿsÅ„ÿŽ|¢óO˜?ka¢7À¨ŒSÃFk:ð9À? -ùaLŽ«`WF'‰üï2AXÑ|™Î³µ¶€Ð „ÄÝ“£WÜ/²O€´€¶pe�—  czÏ8pÈc…*€@¨ #´r?Úñ°çˆEŒ’‘ÅÂhu 0­´*¥Tð6Ï~@Žj€j™ ·juÄ -|°w„«µFKÎ2½|áüÀùó§t`¶Ê˜‚‹‹@ª®A?ø±+|]+­TZšr؇¾D‡}"¥pôâù¿8ÿÚë¡ö¾FìÝô´3£ ¯VÞgÌ=J…O^žºé^�UŠ×ŠÕtŽàCÈÄÍKS°% Q ™Q�¤"¡úSõTüôX­ND¨‚0(/”ê¸<*(—tÿDU³—bêö”*y’s£Ñ$>BëI«ô¨Éc û4eŒ£úk’ï/SÂˆŽ¾“ïÍðb|s -@¬ 0>{voûÞxax}ÓÐ) Úý&}ù…¤N¶ÙÕùÞÇ��›Ì Ò±* €?ûЯRlàÁýûQØT.*#U›¢%îåÙ»÷ßÎh€(1wÖ©mPî(dyÔ|¸/7ÈÌ5ˆ ð?߀¾� -££÷¿ð«»çãï ,À¼øÏ¯…e;Fý¹­ìÛ™gÍsû¸ cÎVÖ„žB=£­ H ˆ^oÞ{FÍËOhŽ  -×5 f‡ú‚ßHœ·‘°Uu(ÀàК€XÆŠ €®³l¶ ô^) ^W :º;‹•ÛZg×`aG—ÐqÒ.­|d¬&…6]j W[2€‡ˆ!@††\êÁ˺±ÃüsˆÒ@D!|.™’ŸJ²¼ô‘VÄ<ÇVßC…Îê"xžÌÎ æ5ÙëJ{ lköÜ€c€¸"×'¦ÌÌu�ÎÅÄVFÿ0ËL€Û×¶>Ùb0yýÂýlú„@Á2^ú&ݲiü [Gû(ØØt3À�  [øAŸ�öŽa­9“O€ú¨¼-W_Ç`\ðŠÒЭ!”€Ñ”lP€`Â;(ú�w&ýêÇ¡ˆ…Q÷h©J¾+àþÌâŸ#Z¹íx3²õ3`ÄÁ üÊ ÖjíP®¾`Î=ÛjE€h ­ùæGæ Ÿø½ð.Y,…¼.Ï¿&Œ4—¨jO]¸ÌÎ5è(‚!W¸Z9 Ð�€�Kv¹!:µHðÑ{„$×ÊòŸd‘�LÆW‘æ«€÷èé_§)pJ>û©WŠ3‡Ó .&3¨ 7§tL¥×Ù9Àͦ¥÷[*~d7€Qž*1*Çëç_£uAZJŠ*SuÆø›0+*§0QFÓÀ†N¯%ŒµÐГù@Ov"t.l Wÿ—QûŸÅÐJ.¢°}ïÓt�%TÔOdÓ× -R…ÔŒÎç-~M‘T³¼Îùø  ‹ðpï7¢BçÍM]5Ð÷Fû7©½”b¨p§­|±·Ÿ€³Ô ì?Ì$‰€öA1ÄqA?ê�)ô��Ù&sÝ•Šr”˜-ÄÝ™Ð`=ްù±€Ø @W½=õ‹¾  ½úLÌô®gú*Gª�´­�ýQ0*v›Ñí£¥[€v!€B ÂÌX@FP†º@TÀÞ!Ø |ƒårÙnçmpÝþ¿]8*:Š @P&v—¢°šW‚ŒŒü‚f&ƒgTj9�—}+y �Æ RûYpñ.[•åÝ}ô Õ/U€ço— ££`Љÿ5BšŽÀñ¶å%ëÄt3€~ -€N ýÀ¼A3*,¸ Ÿm~ê°¿0‹þÿ¦{-\-0$ñö¶: ˜MÔœíŒtÄBKB:"‹0�^¾ZÐuróg@}Öç_?Îð¶Pá€év²µ¶ûß® `}ÜÃ*:¢ÈUë£WyRшÆàOÁüQx9‹@Ó׋‹&Õ_wQßki�9V[”Òê¼€M{ºöäŒWË×ÊE~!ÿ�a~„š7Ë—ªGD¨Ë÷áÀ1ô%K¢à°:÷ý'•yzv �À¥�‹Sæ !_/q¢3‡#p9€!(É|¥œ”JÞ#êÎÎ.Ôfåï¿~~`êæ{Ïæêi{F }‰±² -,DD’t.=HS‚ÿ;¶P.^t…%+^ºT,^ºX,Ï~Sªÿ\n^ÌÈLD…ÿùÍbñënÀÝ6ˆlþ±I{À“ -@Òr;KÙ"±–™Ú-pïΦ܃zT Ú×l] -]¸þ ÙÏPn¨gfO;$eSÛC½Üð›ôdüï(™Q€pp?Ã4|øpÿ>þ÷ÖzAd}}û!ÍMîµcTØnÀÙÈøUß¡;rÖ)tüÛøŽùÂ}ˆA\>ãl®oXp @§ €#D -££ŸßðÛ»ëã/–-�±óBx€¿{�Å‹b‚ gïßοg áQ[Y¢?ò .èáK ¯ËSåáÅgÔ<ÓQLD†¯¯(Sj*³l+ˤ…È‚§ €S£äú6•À� Ç¿­¬ä)õíHL4tR¬ðmAB@P. ü ÿáöÎ\v@GÐÝ ê]’ t5«üAâÀâ"ÀyR;KŸOÆÂÐ/àGx�àZåÑ£  $'Ë -ÑŽ�èRòv,ÐOD? O4ûä“íÍO5gFÏ?B\!õøä'ÛŸêW"G¿Óª5ݳКÀÞÉ3*ˆ> ‚›´Kð?4 ^Wº2¨5˜€+ûÃnb®h-(�~@ÿl-ú(qBôv #@ù1îWT…Í+<: ßk?*/gOú[«ÕüæàÛƒ4I~—¦OÜT]³º;ª9¨Ôu_ÉhŠ˜4‡[¨$¡4täãÛ­WÒoÓoté“VÚúæOO[:„¾€Ø‘$¥X3¡ÓÒ¤R†ÿ‰÷×.²LUb1‘ž¥õ÷-:¤ô²tpÐL›tÿÿ¨þî£Giú;ú:ÔU~À9ËÇÜ^êç €ø~ÙÝ1²,nO¿!уÑ!NŽÄÚ¿*W¦‘BÛù*ÇÜyI·¡«©ç“ôE d V)™#âà€=q´‰ÁÑÉ-ú,LÞáLâÚpŸ18€wÈ¢@ìBÈ;R‘^ó]D´�þ`Y@À -€€#mÖ »�ñ¾ /Ýì–/¶ˆú€¾×ò[lxU–o ¤÷ÌqDÔaZûÙÊš0í#Ag¥ í05ù€¨ü{àÿ¨€ªo Ž -€äŽ -€.ÒxzwbHÛQn¯,ÝêQºb,¬Œ�…ˆÈ,Äàò (í¿Óus"”K'U2³�)C ;銟hŽ£Nè‹uÐ_ó¶€¾BšŽ d'a9 ¬ ý1ƒhý« ]1Ý&û xÿŸ†+²Ø pšFþÛî8o€* í”ÆCà_ÏäYzÈGdWÉ€}‘@$2àmϽ-¸â18@¦èagFa»8€&bI€-‡+ŒwþOü¿â—€—37Òécîöwº411ñÖ[oi~C«Á86ñÖµxlbbdäÚÀȵŸ\»vMk×F&þõ[±Üt°«L¦Ý7î�‘‰‰k#¬(‡‰×Fè2wBsíˆ62òÖˆRMTÞz‹ôØO.Їï+ç”ï[o��ó5wê{îü¹ ×.hëß:™Nã{#vÁ«ýJzmâ­÷QLY¨˜Õûøü_ž¿p­Tz³47G¡F”—öü䂊¯´tkì¬t¦n­ô×oòü,2ÓM\øK][©TXåÌ 7Šoýë‘ .\û û¼Wù]ÓS¹paäÚ›:ë­n;ôô[Žy)·7õ|ØÏºgÝ&´å—Ö·í|[8­ŸÄ -À=a§4SÚ€:v�4€ß’À_Ÿð»Ê -²J3ûÍo~ó0*Vò»÷1%q)ò -À}z|xÿ‹ým•lhx}koktx’°�ÀaÀû=ÐßQ€A [Pè€ �ÓñòÛ -+N¼µwŸm’t’Ù~ãN>ŽQÈÚŒZ˜\¦üÿâïüöÎü ³çZ€yð>®å¶ô%²ÔöÜVZ#ÈžZ€ãáœû(@©Aï#|i¡lŸ€Ž€;Tf_¤ð9ª,�ý4ᮀHÈB�o+±Ô& :¬ƒr^Ttz» -àH €_躹^@9 -â)ÉGÇ™(ÀÊjüÛ03p_óÅsa½É€ F É[= -°Ô8]°þ1®ÈbrÞ?v€œ·VŽ˜€?š†Y6ÀðpatróSë]¶¾±Ä[FGÌïšî( -¸O4�Vþµª5»õ9þW¯„qÿb—®­)hü÷`ɽo ß@œÓƒ�‰É(® -À¸vt)þx�Þ±r?Úñö¨¿%Éïë•wå[ç¯ÎËï&ÒŽ®oõý`n¢¢µôÐÒ5¾w[CORÔ9*‡¼Ö8�+^Ky¤r§«Õ¯«õúIÚhÕ'ìÒ·Z�*óõ¯[ʵ\u—ø8Ò:÷/ _úìÿWÅò{ót;T©Ì…ã¡9_¹Ta$�ôï)‡Nkµ”\OJ‡ÒÑÿN-}R«VG.è­L¼Â|=­'(Qu~à/c@É꺿4ý Z ÃóT*:ÜH“G¨�R=‘GõŸéÆ’ÊtqDoóŠûRE¥ÔT¯Ôßš¦“ä�¤Z¯ýýß'íp‚$¡Ç�Ÿ6éÁ�î»2§ŒÒG:5uyŸ¦­¿©$­Vëÿ²ãß64Äo·þO ÐK ÀÙáq€�;Ùh=14«C ò—séÞ›ð?ã? -•p 1‹¡XThÀa;ñm@€�v’‰^*ãVä‹ßßß(P…P0¾õðá¦{ho†*�$øÏ×8GY(ÿˆ eÛTiz ÝF'Eåš^iSo~¹ÿpkÃm´èm°N�è_@ö¿â�áGö /޵(û°–ÛbÇ bb€Cþl€áq€ÄÄ*€p4ðE1`(*J”«°°¢ƒV,ä#J`V²V=1.5IdЖ¨(�HrUÝ1¼Î}s/ÐkV¬ ر?w‚¹ð?'Ä7Ú‚ýFh€Ð?:ðÔ<ûÑ i: -i|ÖVzúë:ÖOЉ=1=&0G�X~æ¹µþBM¼õÉÍ­O7{Ù:øNsûAÆ0ôæ�w‡àë›)W Þb!ü·Ç¶‡>ÿèÈB€¨•ØÅdT®ëÞy¹/Wj£¿×ô‹ßp ­ô -ŽwÅü�ÿ-Fþhä~´ã-M¯´ž|›Ì={´(ઃ~€rBmuš6¿­OL|ýí³o´zpxpÐt¼r‹IÃzxC[ ©ûôààéÓƒ§É(¬\‹‡5Öo¦ÉtÚx‚@¯S=‡$ïÓû#m6[�Åšð_ûg#ÕòBàUzßÁǺYžU¦¥{£uØlêbt¦ßTÄ—®{ÓCö -ûuŒRþñà°qxó'åâÍ"=¤­ÅÖ7­fs±Y¾@Øþϵ·^­¼WH³×¸¯O›dÖLZ­oþT©&©;"ßq]@«FcÁ'­ÒµÒáA#™­-6 ñstC퉵êÌÊÿ¢î¿yðçú/OÿËŸŸþ¹^9l¶ô�[Ïžˆµ´š­Ö?'PÚìþ÷Qr1>¿cß)à ;ü½&(@˜þõÅé·øDÌ>Pš @ýüû9`£gŠ{¬À~>Ð|ÿ[m@vÕáþ^£!@l`Z0ê¥�<ÈŸlé·œÑ_ÖôB/PIPÏ•»Gˆ¿]ÿÓúƒE�ûÑŽ7Bñú˜€3­O½ ç_Î0Þ½Àl'^ýÛéwKZ]”CÛlþr‘®ö±ªþ[XRû°ÑøUó�Í?ˆÐa>ù„Ô>)�Ô¦Ê#ÅŸ·9K†€!ÎB¶Z¥õþ“R]”E… _!ú¸9EüãÌl5½V*%3tyPk¼F@à^‰Ð&¡Ž\°yðÿñ?þ—§õŠcÿa" mÿšO‡Õú?§Íìâ™ ñùõ+ˆþ¿!R69¬·åÐøÆöö½��ó -€×b*/ˆ NÀbsã®8À]­ÉQŽ µ÷®0>‚¨ -ÀCBê9¨V"ØäÜ hƒl{k|xL@'[ø"§ìÅ @2YÇãç„ÌÚ -€÷n¬;@egƒO^è üƒÐpT+œ‚Y'm÷¶6>Жp`éj0þ;`ÿ«/yoä?'å9ÔÏüþΖVú)` ¬»1Ïõþ±£1Kc—C @GЛÏàL[ˆUÇ)}cÆ'‹Èr -Àq1�jÀZ¬ø<£øõŸj¿J”)¹Víc¢îíû(™­®ž•?Ï$tÁ -þã÷³-ˆk s[@µ÷?Ž�¦£œ,¸k[?Ày?'€({ü½0?~Ìóh0¹õé'ŸôQ„¬£Ž¶Ú÷›ðr -€<ø¬À[€:þÊ‹qþb;@€÷R ¤ÅU2ä�•”÷”Ls¯é÷B‡õu!`arü* )š›¹a�‘?Z¹íx‡ú˜ 8­—„çæÐÍÞ¼½ÊÛ~óÑDºð -Ñ�Ú‚»¼~:bÏð€žÿpP¾Pž* 4/Ñ~¾L<~µQ-QoP}�¤Bë²²7h›ÔR¸€òœ¢}µ8 î½t|êüùKîÍÎ.V¯UJ-pvAdCÁèQ`Q M>˜.¦‚üª)ü?(Ž0$ -‹³º¡{£ùÞHmVïê×ðY3*ÈBõ„ç+«Zí*Ü£R=©VÀ|Š%›š)^‚ ¤T -TËS3³³µFãoÃÅ͉4Ÿ�裌 Dÿøç??«TàRº‚x–x&RpØ ]f.lìÎæ6üú‚~…uaèFÀX|Th0(3}¦Àh6>0 ÀD@™9å=Ô§ë`îý¿yðpÿ¾p•³HœtjˆKØì(ÂqbL‚0¾yoc|”^G``ë"(z}óTDül»ƒÿѬ<à �eðϽím}¼'°½½.ÌòVÒZˆ_×û§€¯öÿîïôÊÈ>Ù,Ûó< 00?€~ÜÖ:Ã÷�ˆUÅâô_� Ï·£1†R!gðü¡€®~º€�‰±Êð‶�µÐéí*€#1ñÏpDPŽz -”ä¹1]¦Óï;‹×ù¢¹áå_�”!pûõ§X}Žà“Ñ=­¼b�!&¶½8à¨v[vMü€þ^ñìÓÍOé 0*4h+rÿTÓÓßø¨�¶�ùÝ“ ´îÀWÀàŸùý™@k?�t0 �!�ñ²a¿óÑ[ůfVxýLŽ¢\)Lf -£t�À‡mÍT^Î"Ðô±¤:ýH°_.W*`XÙ¼@ðŸ|;ý¨2-C&‚þíÂì;@Ÿà-—ä“ç­ƒP€YœfÌ-î¡å‰”!z¹P«q›M î Xœ¹Qa§6å|¿~êÔk¯_¼TœÒ5¾¹ö¨T¢a¡º�á?p½€òÎ.ˆàûoU�_ýQQ1DN�(Ó.@Ö¬ÞH2 Ò™õü¯Èj‰ ø�0Áݨ|7§¦Ê� U€™Ùq =Î0öÓÃ0ŒG'»¡Fã�ÿ±ùÇÿxШÌ'UÚOè!†bÈ*ÓÏP9ºÍp™7[§Â®°Ž°þ¯ 8éŒëü|†h?6Eâ?&Pû=(L�ß#„e j@¸úpo»ƒüÙ*<ÄÒ«ô2”u,—::b<àûâ(*ÈÞÖÞf—`èÆÆ–8HVê˜æn,K´Ž‡¢{ÙÁƒvâ/ö¿ØØßÛ�ÿßÛ`½0:€ý¯¾Ü�/Žö'l¾Ðúøý^ [#«F–op´ - «Ã¿c-Sná*›dA€}b: -@F^: S”È ×Às€cúèŠè´О@(ƒ @¾À÷ê ¿qÑ%ðÝà ú˜¹þsJæã÷ ü½DúÇñQ €)§Ìr -€’µc\�б~ -€NìÄÄÜÚƒ ¼Àq×÷�6ücí5÷ÈqÀÖ§ÚŠý¦Ç™e„@¾öq -ùp\ÿàþkp[Z`oOþÌB‚!_9³Oˆÿ¶Ö¯ªà Bt’î=ö‘ÛÏe< s½g”_ˆð[¥B{r£ê±ùÉù“Çÿ À‹-Í[¨§x×ÕùùJy¶â(@Zé ¨ž&¥ªÏ¾Oå·1>t0cìôª -î6~ùG*üª×Ê7oÞBÊ„ÒIuÛÂðüÜ,…�:¹áj…ò”pöb±\ª¨ •J¥üNÙ�½~éÒÔÔl­U*·*ešê$Jöa äH…Ùˆ™È?üê—�oªeFddÁ×tzð¼›ó×èZøb &ÝøûNµf0¦Û-UÓ÷"@˜šš) þg®éP%�=ÌV“E1¨Ìl™:M8¿V£ -àÿØücóÐ -@M ¡’Á–ÌOè.{Í?·¼cŽ· vó;œ i'…¡ëY+À£ZòK¡±õQzë‹¶yWþ»¸~oƒj…;w¨XÏ`÷ bÜíù v*˜ÝEûïܳðÙÖ˜€ñááÂøæýõÍq^6½ -€{ÿ¹ÓVØZ¿ -³©b:ë<Æ;â?3òÈbXt’Ù¾ørïî–Àƒí;�Èý@T -ãAø -૬!@ööh/žoà}~c~{-0€“�ðüØ¿¶µÌ GàØ­Ř¼œÀv¯ÀE�é$@ ß -à§#‹  - o ÀÑV/àÿ£%<|a|¯?› [C,@Tìök€_ˆŽzŸS &@¹Íî?, GèÄ }çí1}MX.‡ÿjï7*xþÑûgI×€ f �f€tdü&Žà*¯ö~}�ÿö÷}0Ÿ, l²°wfW³®Ù�6À€fo°ã*›`~×Èï1€5Žж€ñ«ýbà?*/g‚Ý~“ð.­Ì=’“ê -aX"3à·Jÿ÷aZyJ�1”íš Z?k˜7(¿CDÀ‡�æÁ¯~Ù¬VGäìû Q€ü �U¹¦¬©Z ‚½ZYXH€›E¨�—Ã^,ëÿI$�ÍòÅ�WΟñ}¶Y->kV+N_«þ:âž…Û��@ ïUòZydÑÀkÊTÅiH+#U+Åò hOŒÆÍQn!™ 3„Ht§Ü¬ì Xm=+‰ÇÌÎøÚbz$2ú1”¡`ÖKþ±Ùü¦U©¦ÔMP ‘Ðû� -Ò¬OU Œm3þ™Èë"Ëòì¶ÃvçÎFÆtXmG}}”šâ~"•°„¯M‹[Ôéß»»4¢f -À~G */¬…S­Üïܹç*€H¶× ÃׇǷT¨BácdHá@0­Üe;#›trLë2ÍŽ@{f¾ª-à»:ûü‹ý/÷÷6×·Qî­� ¯† -!°Ó à?Ñ‚_}ùwû~m„Ÿ°VŸcçõoӳ歎àó…–o (â Ã{côÚËÀÉ€¾1]­t8NÒÚ:¾À-ðùÅ1=­èH bÀsúø> -€®'*¢Ó„ïBøÌÓ?n.l÷„ ‘iVÓÜô¥Ô"TÑ'‹"øçoY _&àÏüw”ö��K�ÒÜ„øÇ¼�wšÁ„ßò× #¬5+ÕÑ‚ÊDЛ‚¼>Wà³U�fš&å‘êÏÉòüÍâÔ,7“,6ë#‰2¸¤2¿ËïS±´»A´%_S�z`"â&Œù3;[kU’ƒÚ³Rüw]v6Ἢ³c ­—+UÑ•ãþéÒTÅ^¨C)B'ƒ(iµ´HÖÎ¥m°]¾aî 7Ñíµ¶>Ê0?ZUB=?p*ôõh@˜Nµÿ�–{4Eؤ‹!ᨵ|Ù�©·÷¹ @È$cAƒðïR¶U–QÔƒ.`xhxx\übsüލFtÛþkýßùy€˜€6oÉ+V"2s&m@y•°“Xß[_ßÛÿþno|tp¸0:ЋI¹O†@ìÿ�¦øÊõçÄ–¡}€ûÜš·F`”ì~N+€€«'°¨(5ÀX -”êܼЩøÁc²~Æ\pŒ‘ˆ -€Žg -Ib©Ûýø*Y+N� -@Ÿ€€ÿß/@‰l* ˜)45š÷Ÿë“�·à_ƒè¤ÉÇÑ^rêQ\c ù(€Ä12—»oÈïþ^¡¦¸ˆ“ðßJº¬ÐÝ  ¶-Æ€öÝ_fú°×<(Ö , mGðØÿ®ò׆žÇÙ+ ¿�nûŒjÚ™ã¥ô˜€Ðe€€¤Txúü#*{¹Xý¹ë.Ýd8B1€Fr#-ÏÃ)f,XÇç—‰çïP“ê³Ò×鵌ˆ¹n¿Ú*‹Y$i©žºØd°×zdÀj‹¿l>ýU£yPñ -TèT$⥄~œ°mÁ{ÍŒX>w hÛ\. í{œnÛVLbÕ¾Àto{s|h˜‚ïÈ]¿#ku`ƒJ„¨Ü‰ -@@Óû_d -@†¸0¯Úÿש0­lw)´$`¸0|]÷ÆzAeÙz ÓÖÝfsm aul©°¹±î¿]ÞsP ¯}ÛŒ¬rA[b‚Ïìù`o#(V -±€\€ÂAP"Y|‡t¬ý~Žœ7òÇ)¯ä‚û÷pã†pÏ0h}¾å[„aø‘€N`Tx¹�ñ‘@o€*€ï`À¦mwd”2€×Fu‡! ƒý1©@±pßr?°™¤€h@ª„ô¡# á7pú!�hãêð‡vS¬ö\¯—#Ÿ�I¹Q™�·€«�?µð—`ËO1Nä~´ã-MKæçÒdn—Wˆ‡ -žÔš­ÏÒFz˜TšOµž çtÂBÓ�q*.Ë­ðpà¡Èà> ÚM¦I«ò{3€…ž!Å…¨N§ Iy^�1gzsç %ÜŒ8¹.X#˜¯­¯^øçî&±õ åÖ�ñ¡Â¸ÓëÌ ©¡„´rÑMìVg -Àî‹£lF €{÷î‰TØÉï€õ!ý^ÇÅ/6ï€è¡ÿþ`°ˆ0ÐÝ.p'»¡Nä€ûù(Ž@Y™|¦�>„í¹_÷µ… §cÀè?:*°%Ïatܽ!ÿÿÎ/�œ…�®]GMÿ?9ï?[f{F:Uýc‚úªzåùÖŽ°/ èÙ— ->§'ÀRxN?!°DV±^Ô@[È‚uz ?àXm#A@ãÿG ¸Ðû¬¦þs/â$4ó##wì:ÎÎ(PX@� #Y @ÎûÇž ¬„"Hžg<連Œù9À³íO>ÝÚ´eô�ë pt<¯0Bo¬½ÏãŒh+û3&@[@e|µ@Ý>©þßòí©ì�=ºå?'_9{&4€¸ºË+üú»á_`¼0,‚x…žEkŽ*2�½¿Ç"ÈýhÇ›±©Ÿ%É_—ÞOês×JŒû7Ÿ$ò£›×ZMù«I¥E;¶ŒDÌâòf}ß ƒÐH›©àó­ô½v“ÿ… $•ÃF#´0’9aðÁHfÜ` X¾QJ’zéßÞÁÿ—û^œJf/<ÄÖÒwÊÏpú3æ° kÒ…öDÜð6g“éÉÏ•åűˆ�‹®�ï^+ß͘"²? U%ùÉ'f•ˆ¨ oBˆwIžU'Éâb³Rmª Úåý3”äbD3! RæÛn‰Ê}�˜åa‹`]e¢ùB, Éd.ËA!A(jè¹@×ö�`÷÷D°·¹®÷FTF hk|’§¨rýѲ÷Gü„õY·÷Q?îaÖ¯@4ýû­®ÜÁÆP€žÁíGGûЫ/àÿ÷�øÎýÜÊ+ýbÜ -À¦=& ïX2ßÜwSt�6ø³ '¼güýþs/ÂüQPÖhKÕ{µÙQзKeà´`}bNØ Õ¸ƒ®Ü~ ÔMÄ™ñ¾›hžu¤�¿a¦ß̧“(éÃCW'Ãø5ο,£Ú(_aý3ÐûJ6oºÀ -€q]©F¯ê1ÑôOWƒÀ�À£Ãz¤!øïV² ¼c:ŸM½À‚ ¯¢£tõè?Cxz], ‚Ü�v¼E éc ýÕVë•k¥z+má¶·Ò‰ä@`ÚxšTžÊíÕ>¹¯ösgg |—³ ‚Ȳ5¿q&] -¢­îˆä€½aJª¬3@ ƒ XK›€­�iûï„Åð%z%€@ø7; ö?ìò¡`= -Àè�€Àè(µ'  T-líç$¿wÃ'¾L^déóS—ð¼£  | ˆÇÚÑ~úÄè­gðôÐ3@¾€t,÷ØVò­~€~¸Ð�-$=nž-‚¡ý{!Äͦ`î$ØÎ@— lÏv)lǼPЉ§NeQÿpŸ=°Y@ ¯}úÉäøð•!Áû'›Ÿ€¢2ÚŽwÂG¨/¸ïà~{Â6¸†ÑÞf:8AXpÅÿÕAü±b~p»?Ø‘é€�jYþQl}Þ¼eü�L†‡¬È�A ï¢œž™ÿqíGà<õ³zµU)½_®T*Éï?xs®Rgp܉”n÷$õ?¬CM«Mã]èÌî -ñª ‹�F´½`@f'¶˜Ì=i|¸(”üEu^˜Ü�_€óx -“ÊoM×U”†AÿôIDAT�rùâ_è¯:0ð¿”GFÄtní°Zýï¸ÏÊZ'dTɳϤc�A¬ÀZ|yD—š¢ÀkçEÊ‚b€dö’ÛˆnP’�H=œv²riªïW7QIÊ•råëzýÚœ˜@=�¨¦‹Âé¤v8Ÿˆ‰¸ 6èm ,dÛOÐÊ×ç*Œ£Ìãc®= bơՋ.ù™¼ -ãaFó/EhžW€£Æÿí­åH¨5Âÿèuó#±Ò¡N¿x 0ï«`®þw;ú ÓAÈA‡þ‡ -*–~¬m€%ì"lÀ ¬[ðH+Ë£»ÁÞéX¾¸‡¨•F*¸/ß@W˜*^8ÿÊ_¼viFÉÒd¢V.^ºt“ÊÿY×p”C]Ȫ$’ßMTëóÕGéï½;‘¨@óI©EÍ?÷YI\KÊ¡Óã*}Òõ¬Æ6š­êÂa‰Ž€¢…"'­z%õ¸…]ÆK±c�}ømÈo×Ì¡ÿÁî܃ X õôgýðÝôgkŸÛ -ÀÇòÜCÕ�~d@9€aÔhʸþ�€# -£ ��vßS>= -À¶à¿K�¹8d‘ãAÉps -bSæfk6bH·}î9EÓùí’º¨¹T2úÿÖþ—ûÊu|ôŠ€Ññ= Fõð·-¾B:–±cm´Ëœ÷ÏÚqý”Š»»Æ&£ P&e_Ë·ÈbŽöp¤'ÀÀ^.@`ü=bN2@wO€‚~­FÐg,^êÜÜË)Ê¿þÑù¿«[ºuëVDÉŠÿñp;bv—p’€Ø©@fýmÅ,†wÈÌL‚=È)÷¬`´0¾uŸãcë[÷sþ¿,¼1ÚÖµqœõq - ßµu\ Àò®ì±±)@•Àí _ù/¿ÇÚ -ÀKÆDð}€N?}€�‰±Êðâ~Ž�è7@Àÿ—ë@;m�øÇû¿uk\NäËY'}ÀÞÃ^¶€W¢Ðm}c‚ÿ�ž�+wˆÐN¬íøw€v_Pñã|s’Ñ€'Áþá+š}ÉìÿÛ,´»ÞÜüY83Σ=Gu¸úo[ÐÕ®:P€ÝWG‡¯œ=sV«|è6q~þm -ÀL×ô …ú_gs�þ ûÅøñ±×kž"ÈýhÇ[«¿%iëðÑïÓÊ[•¯ÉK–¿Úü0�ÿúiÚH“fóðÏó‡ÍfÚÔFKn«ÀºÖhµj�ä@k¤M†öM’´Ñ”¿/'»¥„‹ €‡Þj¥­?UJõ§Í'é�¤­ôÙ3R„ ¥iCøéúqa|±X^(µ•FêIù=ÿ¯Ÿ¿Tž*ßHÂúZ£ñ§ÖHÂJÆî×¥”ýÓCe¨k©x­Ýÿ$U -­ò´*¥o”µý‹ç_y½\SI+7*)ýùН,4j‡´ZH«.ˆJÂ7Ìy"ßÎýç¤ôÖ�ê‡-RHªõ¯-†Óõ¹4©Ë’jeº¥R¥ÂÂåŠ R‰çç‘FªÚQ™Ô:•$õÊDe鿬TóœS×+Øüt‰ÿRñF©HÀ@qb®òèoææFþò5#¥râ΄Õ!œ¾Z—³]*Wë. 2&ïe‘²YUžï•F¦•ç ¹ùÅKçÏ_*ê„ù¹k%.¢�5]š.W¡ ®âN« e²*OW¨¢Ð�T&Jýˆ¬5«'ÊýQÉ7É•êiÝmûçÓ軚Ö)uºJ¢„¾‰¦¨¿«ÇZ™¯T[‡š zHs¾ -ùw ØïØp¬$†+¿‘)6¯† @4z�½­õ« pçži�ÐY ý`.ZSðÅ}~‘Ðr0Ý1w6Áå¸><\X§.¹.WÞ=ˆBXµï¯‹Æþ�(G02e|œLÜÁó�A<gíDA˜´ \õÞþGÇQö¿|˜)úƒ…7ÇËÿ„†z£~\Ë&íè£�…§ËP€Ç»Æ§YY‹€ø �›·¨(Mô¥C €Ò=¿'@S€¢Àsú`P¸µ¨èæ2àH @ïh€œ€b,vdèjþõÝ1ü‚ÿCC ÷É>8ÙÃ8OÙ<ÛÀ¦Wˆ™ô*�‚óQ}bt -�@è‹ìó£ÇN·MÈý3|yºþ½ªÍ«;ö>°4o¸òžV:læ@@XwÀäfpßÛSÜd=˜pž¬èã�¡ÿ�ú&%Qÿgé ˆS…^@æǶÿÏDaG‡¯Ð -`R/�Í;zéØÃIä-²'?ÄxèÇ ÀX¥ò×ý¦ùG•‰¹¹zeznnúÝÒ\ezpǦ+o–J•9í¬ÌiÇÄ„<ìÚµ�kaMvc¢4!6ðæ¼ŽO¼¥�°]ÑId2ÇmϽYñ¶¿¬NL�g‰�BÏz£^¸6"ž›.�œ×õü¹ ?Ñ+VV,ÿëÒÄÈÄôœÊ¦st™ÒÄ´.21ÁщlÛ”ÑôôµŠv_sùn\�cö—Êjä†N.�ŒÈQ¸pÁ¶•n„b:;Sæ+´®§*™¨O„º¤KªT•ËíèÍéæô8¸piDOEïþ{á'#¡Ú'ÜŸÓ)M¼Å)Íi—¨N|¶Ú™³Ë"òGs3{ò›‚mýÜ ÝcÛ6:bÀúÖÆ½õ Üóí­õÂ9¾‚ÎÍ{Âë�»ÀÿÇÄBìü v/PÁô! -ÀçÇÄð3t|�[Èz€áaƒ~²ðã:Èñˆ `ƒ‰ -€vlº,Ñ:=üWIµ]Ñ};IÏQ¶÷¿ÜßÞȵ@xðw¢BãŽø2@°ð®èXx÷¼]z¬ã÷çÖŠ ·žÇ�� _!§DÓ³ þq°«N`(ù}¦ƒÖ•¯ÓôIš4Ó4}–´´õ(ù=šÿô#­!‹ÿ‡ÃÃGõj2_–ËOþó:áü-ûä©%ýß�´¾þûÖ#Tƒä?(Q«Õ:x"?ýƒ$}öäëGiZ¯¶”?ù)çäÙê`«•(‡FR�™)ŒpÑÆb2S|ýü¥�¢›êË’d�_'>jµå}'r²ÿÓnv%•+]=tA”k+yôè­´õ(UañØËEFºX.RîÖ!–GŠi­š€¨‚$é¡ -Â=>KU˜oZió›´2ßú°•~HUÀ´õ{òU¢¯¿~‹‚´ñ0=¬ÎÏ'åùªî@OdÚÂÄ!j‰æÔ#<ª¤‡ië}ž�>ï§Hï¶„ÿç!ײÂÐ1$¿ÎT˜DÛ ‚žŽý? gø)õÏÖ„õz€íõÑ!ZÁ ƒšÄ´öîIû€Ï6PèÜ)X__ßÞëÂÿ落Â÷êaéf€ld -€1@ŠZØÝ5Vè‚Çáa7³>1@©þ õ˜õ0öýÇP t•£1b3Gb"ž(€bap€ÿ2ÝÇòRôþ¯Ëä;ÓÛ}þáG?g](+~¾…â�Pˆ+! 'ëž·� BCº,ÛÖ»€ö†Úî™Î�ÒX øwBþÇXýŸ`q?8ýæ tØ¢·^¥˜ü™¥viþ³°�ý@¼�Stÿý G ûo_½r†æý 1€Øð îóŠñŸPÀþ -€Èÿ'w™yÚ¢ƒÉñ Àè8â#/84?°A?,Úà,‚Ü�v¼5ûÛ?þ9©dõÙ„«9Ên¼M=*>j{ˆ½Ì ?§èa¯Xœ.—ËïUÞcä~:ö«V¯QK€"N ¼¶“FJ;¸ØFOÀ^y–6,�#©Óe5ˆ *Oˆ–¨D\Z™èÎÍCâ�aÒø&"4¹F9£._ø‡×í_ÂÇ!Ö>“6„æ �ŸÁ ß¢–(÷D 7>¾³. -¾Š O+€N @`/ 0>Ðé@;uðø€“�€�ÀÜ7÷b€L�~å¾±?†þÝ2üËûçs=ÂÌe”O�¾K._Ë)D  V"DëU2ð;×v ÚÓ•6Àò$ŸèŸ,hþ)Rȯÿ30<¨â†UÈßeå�±Zœ=´Á?fpõÊàé3ƒ± -àÊ•¾ -@D}¦»�¿n: -¯,€î€Žõþv#ÈýhÇ[ü#öß“Šá°v$|@<ÁÖ£’‹Å¿Ô•ÜŒ.Xå=Ðw$&%²k4è ÷ ø¥Iå ÙtË¿œé€æ 103;#P­R�êÔ¥óqž^ûÝm¿øÁˆ’1Ä€-¿V¼  yP™§ óŒ>¬$ïé´rùæ¥��WÎ ôfñâT±ØÐ�¶G°qQ}){£ùžÓ ø‰„}.³0¿–Ô¯=óZ˜…ëcÿ‰h˜§éý -c È P rK©žˆc ¸XjÜo[Œ - ý6î úÝ{w©g¿³þq¦ÿcÁ§wøo`�ñy‡Öq”ƒpWÞù=ýŽ„â$æ&Pu�€�”þòŶ÷úS�Arÿ•‹€8(Ä -ÿżÀ¯ô*@DPÛ.{¶4€àc™\lÆr`¡€ÍÐtboë3mCdŸïý†žs¡Œ��¹€«öî,‹Ü‘ðb`^ß«Ðp ºµ¼ÚEŽÆ@(ëC -°k+˜A�VÇô ð/Ù€M%úÿóX¬Dôï�ÿ1å;4hì×S¸~}� X0û¸u"üìÙ?ßÂÃgÍçëß -@D@+1ï=g=1ÎúEæÉ%ÿ={6u—‰ �7?ÝD@}ƒ¿Ì)�Üg†¼\þhfÊâ�õ9´Ç)⿳’s?8¬U�`Ädžõè 8Èz.q—éuü½ -‚€aý‡Œº -`Ó#£�hÿný�-‚Ü�v¼¹µùQk=­Î.‚P‚E¯ ѵ´4Ÿ&Éû�@ËÅ©"�ëʘ ÅžU+×bŒžá.gœ Ü%•§lr’E¤jÆà‚3åâììOÍé¢ -05ðÊ©×^¸@µ2·éDÁ¥VŠÐ�r­Ð��ÓÒ…Ï{Z£{^ùü¯�?i¶Öh¢L]ºT-–U*nRGÉÐÔB%”éöuùƒfIÅ¥ P¢ÜQª‘®m]o†Ëü¼T¼É“á‘̨|#ÕÊ„ÈF¦áYزhÂVWPÆ<°ß1÷þ ʳv|€m[pD ££p/(ÃC gT67î­ß»#  gÒ�ÅÂUƒ¬PÛû|;Œ hƒ·|tÈ� -Àö*»Ñ%>VQb €iäÂ[hÿq_0—üw Ädƒ2s@§@É•FëÊQCüƼEÆF_~ùpo}SDàË=ú!`T 0T�u€û'P21ö‹¨Ÿóû;[lxUö“ Ë‚~�£·ÚÀ±±"àEÀ®®ö IoƵõ‘R‰èàÒõLÀs4<ã“Ó@©L˜§¯œÿÂ� öºs^Z,¬�±¾+ËBjeiÕe8.Œ_Ù媤ês¡(·tÐð­­|’�õeyÞ�—•vUû̺ - ^ÓvÌF”»®Ò8[Í!'ùè^·`.s&ö Ïå¡å[ƒckkAŠ¥ŽÏÀ�àÏc àŸ‹ü÷cÞ¿àùVDÏ›ÿþFžc.Ÿ’Gö€£„•,ày -ù¾À¸&W -“{tä‚uÛ÷÷Šù0ÍÒ@/èR|®f9à~ŽáèËñ{’�þ®àúÍýA´GOÊï?gYðÿ'^áÃÛf\y‡VáýfÀèEAîG;Þ²6ç=#þº×?+À[À椺ðM©’Òú_på]»©›àÒ|fÑOK¤y �_\¥`ðÛ©Þ'ãôQõðÿá‰0ÖYÉqo8ƒòÔÔÔ@1­Ñ¼¿:uéü+çEìX—gk‹#vóE<u2.ì�yog“$×µ7ŒÌ335Uxí•×!ˆ3ÅK—fŠ%Òñ0°‘–*{š–š<=‹n°�¦o1°�÷q=�®ù_¡�Ü,êa E̳lU©Ðã¨.ðDÈ0š.D¾­ÊßTæÛßžVƒŒ½{Ï=ðÇNÿ€MlÓ+mN0ÙQ„š£Ó•yÀ?':ªHb°4À¹»Ž@†ÝJ¸¹…÷O;€pïNN  ÀðÆÇpeZG¨wm}X5èi@ñÙø\þhþCÑTŽ@öö>SvÜT€ÿÏ¿ cA»\ÿ­‡_}µ·õñ¤°/ë`@àúÖƒÿ -@nK_·]Á~"×€YóÁ¤áȰKæF�‚8>0@zyygmMà–€¦%³A)8Ûl^Ö¿Èå¡|ÞëcT\Xº­S–w–P„Êl€ÇBú°Ôо…ÁÁ�ƒ¬öÖ]㸖Ë;�+Nàòê$Ê …•%ð~Y¼êw$œ[ÕeÄbÅ -€Y´D4`m‰•Z…h JÀ *ð€Ž›;s}gi¨`N¢âúʺJ°Ê'#Ž"¢ÛûGü×s0þWo-ÜOd\YóL*áQ o @w?G€þûúÏ3þÞùKæØDDjY›`¡'+Wµ…|uÀŸ¾zœ -à4ÍÛ'{©Äâ¬Æ€þ; /!½rÐobpuxP`ÐkÂÿcÃ>o¯l"¬�¢\) \¨,n؇Äÿž`fä~´ã lë35Ò÷«-¯/DÔÉõO*ó©³  -þª(%�ß;®/OO—«õÒ×NTs`í€R±`åà?ürñï3 @Žwå=ƒ/8ª\oÞ(C” |ñ•S¯ Ì/éJ‚ÚFZª.*, JïœÇŠe¯ª,åÒt9©�0h‘Ué`øâ믜¿4›4éÎh¡xi`¦XlþªQ[ ¿]« [@éçþu¹ÿdÀ–>�pФ#yÀ%·Á!.‚uà_–Ì—þ³‹ëÇž”ˆˆÇ´!Và*€¿Žß~@�㦠´Õæzø3AÖ¾¨0RÏž¨öͨ| æs¶1]ëw…¦†YMó½Ïá :ÈϱÞˆr±��Ð -À,ÃgX Â!SHíS¶¬ê³*‹ÀŸ…�ÝY×ã?~½1Þ&ühÂÿ­Ïàè{ûû_}ù�á¾€ÐzHÀ­Æ7÷¨0€&<ì˜ß9‹¨ó\‹ø}þ0϶ØcÀðU €z€ØÀ@ÇŽÄ´)€`Š€­,C–Vni¾¼ -,Ó¢^Îðr¡[ÐÛUÿ!"—My"@ׇ¬¿ rÏ�»cCckºÄªp˜Ì-ö+ç ãËɺý皃°ÀBRPrT|~ê4§Þ4V —µãÖ`aêÀ9l›@"–)õš '/eÝ)¡(‡ Àõ!*.ÀlQjÚ!§N�ÚÛ¸Ÿ€Cø�­®êcèÇ"úç¼ÿöc0üëù¿Œà‡zúÕLN¦äoÜÞ?ÖV:ý¼¨'Àÿå‰.б®€ÌšÿL¸¿Ú‚ç ¿ðOM=–k!ŸeÌ@sCüóMð€á«tõ3øÍX}ãJß ÀÌ÷g¶y— -€Êe`Cø¿I#€þ -@üwÉý€#ÈýhÇ(ÔÏšÕj3ôk¯ñM³Ñ|¢Í'Óó­ÃB°vI>Cà+MW“éd!IDt"ýÿ ?õ�aiM¬ úßšO d%,§ÊžUF’‰Wü¤ÜŒ -ÀÀë§^y½8;5ãÄÍt‚Àˆú9‹d Ân¹^¿æsä˜WgfxàõW^+κ$i£|q@~úA£áz}ÎôÙäNß~t+(â“–R@x µ›O“'Mq¥äi:BQŽ Ôà�0˜?Wv€ §�éò£jé)£T¡ý@ [)ÅÐWë™q?˜8€a¿c…É;([n�ÓB~P6>f=«¸Ç €ÔûuxØð)¸Þؼ»!ð1Ò¿K“AiÌ`N @Ø�SHjùŸ€Ð@¯@+@šèOÑWYØÑb€�2D@»ƒÐÁÿö‡É§°M-S§ÈïïõÕ¡üÖÞW_ÑÀ¸ÝúÀCáôþ±øªx) 0Þǵü–näØù—ãi`…o¤Ã�´c\�ÅFW'XY]�¬ÞÞ][“k½ü‘Àà°�w¥£œ>%Àö£?åKãó -û "î…µÔ÷#Ô óug/Tw°·Z?´€k ¹Ë]€«@‚Ȉò¡'ñK·t*eV±È‰,¡/K+·a;+®X1ǪÂu7,€X\€ žÁW÷ ØýÏÇ ©D� •! ÉøÑ¿×ûo‹ÿú#@V"„¾ØÀÿ¸ú| � ;NèÄô"_.àD×$×þ _ &ðþdò“O?¸Â€ÀèöúÁ~`Z[oÃ_µìëË"®+äƒ|_  -À à VùøgN…Á®˜i ÄX8þ7z,<öE�ûÑŽ7ƒÛQ#2ÿ¡]k¼éÁA ôn6Z¥ÐùN´w ±BÕ`ò°íWPæ«ïZìv`?ö9+2‘×+À;<|Týÿþñ�Ú3“eø;‘˜0_(3ön£V-œÿ‹×nÎÎê -³µæbãhkœ–Uʬ©°lÀ1:rÏ<#.ó{Ž˜šºtñ<1tØ÷Krž�-–›�¿­5� ¢@Wáë `~#�8HM‰ü@’Fó�M•!i¶ž$ v$óºOAT‚ -‡®¨c2­' *ꡈÄ' HÅ®x"­Ãoç]û?‚{Ûãúî}&ðà”9ÀøßÈÀ¦o oðïå¯o!PpO?¦¾¸ÿhúL=3˜ïí; Êqy`KW„„ž{bèpC#*Ñë½Øö¿[pdw  È=5m@áœ�ŸìøšXpðó½Ï÷÷¿´Î¿õà˯öö6iþGÀøØèøÖý/¿t_À(]ßm‹ïá¸Õßr¨Ÿùý�-­@ÀB™¡ÀhŽˆäb:*"NtÐðú—ÖÖ–Ö–v½²ð¢œ~.­d1”–€Ëg‡.]F Àõ-Pÿ/"`÷_Êÿl>L¯jO€}¡%ž?;qü2yÎk;«·DVíi›Pc06æ­QgÞ‹¬¢DŒÉïWZHŒ´à¸€•åÛâ-Zw¸};#œ §ŸÙe¢:âºÁàiŠ<4DEm ¾½S z\^v,£hÇš²!D‘BúâÇzÿ™ø>¡AOb€,ÕûÏù²óŽð¢(@È)Îðd–»dÇú*m[ÿTÐI½ôHO½,ì¤[ <3x5B¿?ÙL®·ftà8ó`Fö8ƒE<€øÐ©W €ú½2…�&¹ý&†þð±#!pehx”7—»è¯dÖùùF�ûÑŽ7ƒÙQk|[¯ü™•˜Ê€úÄîÝ�f©š'º)¨Ñ®ˆÛ}w¬Z/áC/$u<å`À^#ý•ò’çû¤5ØÔ:—‰¹‹LoN](6€ÜÚìÔ%ñ¿dçºFÌþH@‚ÿÞá$Á.eål)8›yòIª×ÒÄ0[�™¢Àëç_/�êÚ³7‹Õbù€àGçíý¬Tº~z8Ñhr5Z4Ò.€‘õDš�®ÕÛàÏL$C'Â4ñŽ(@¥\™¨¼Ÿ”�;ÂTŠÁù›y™gØ Þd�é,Zö=9ò[Y à�Ûâù6ÂÞXê@t }{Kþ:§ÿ…Î�kYô»mòæû÷¸‚ÛO€ÜpXFjƒfa,€.€~‡?ÞP¹‚ Saâ -¾cý?=þö*Úaÿ“"gæFúP|Ã>¦Í° p²Ï÷ì=x°/Ï� ²v€í*€-=Юɭßð°=ÅWÅKY€ù€ùôãž°vãÆ~°Ì -@˜-¯héo¾" MòcˆÜÀØ8õë+kkk+k·Wð -Pqĸ×ã‹Î@ž3ÿ$!Àâÿu!¦ P¨‰Ÿ „// ‡ÇÈHe“W¿#÷]«Žàâ«;Â`ìÒÊ-mqÂØŠø‚øÕK1Ò9µ¾H :UÕ>Àªèʘ2Êû6t{\W… ­–Ä 8ÁFh¢òP‚U•ÔY¸|æ²°‹wwfhùúå1Ó·cØ…µP ž×ÎN„ÿ^ï?DAdðÏŸã%ê^Ò"cǵðŠ€~=ÿµzRë‹ÿÇ)ÖðÆóƒ ¸²Þø?Ì éþÌ »¶É9þýÙÔâßq²>í‰õø ZÐ -u6öø"  £PjC¼æ·�À_% +šãõ��Éûa•*N@×X9ã1j -AîG;Þ"±g•Š�Ê€ -:×px�ÿIZ*½oTôhÛ&<žyÇÎn‰Ž}Ûè�ô]zß1o¼0j?ÈÙ }!@vXyj9@— �§ ©QŠ*ØTÆ—.MËÍZíC×dñsˆë*öÁq \×O$øèv®é)”«ez@žÑµôa„$î X-{O¹<«ƒÊ³2*œ9ù Žèþ³&ÿÛ¦7"½`fßáIA4 -À'm@®öÝM!®VC @0°ß†G�`oÝ¡'€Ñ—^ ¼I€qV`¾wß1âá²í¶`ý?ÄD  +†(�€�œ�¡ºÃ"òæâÊî�p·ÿmçßà;7ÐM ã, ðåW_îS#þ¢0náÿËý½½ ÷Йâ{£m~¼Àúøý^ [#7€Ôq€¡_‡d_�V‡hWÜV#ˆJLh¾)€@ï–\wÎJ ÍPÚ@DÐеSÀØG˜]¨o€#ð+Ë%ùéÚ"ŠP´^«8ðZÑ%ôŸ²r{U®¼¶¸¥P0†•åëƒÊ,6@ý7$ ¿——n¯|´RÒÚŠØ…„–z4a$pAVD vàvä cÃ]*°$.@Û€Á˺‘¨øE~Y;ÇÄyn…ØlD÷¢ûY[^&;êýcìÓmùËÁ`s‹8{¼u¥hÃ1ñø¸øÁr -À©,à9=jw½ÈœÎÁÿa¢‹`¦ã3€Ð -€qúu#¾€ŒÑúY|u0Çå·Û/ô7 ŽPP¯O˜†ß®g_!¼f|tHY† ÀˆÿT¼¡€ýp:ˆD{fg#è½uòŸœÔ†ñ¿_`çwþs˜"ÈýhÇ[¢£v0_ÆUÅ yÔRËé«'J4î§ÿ�êDŠflÊwµD@¸¿€Ç+\uNÆ»0o4ZóxÒZ§OÛBmÁØýó²²” €1¯œ:ÿúÔÌÂ,H]K*#%ªb> ¢³¬‚C CÝR�$JîA†]P[lÔÊE€¢Àßþ­ 9³d�Êú…àÛ'Ébk"Mc'@fD*øð¿‘VG*ĘkÀ1PD¬ÿ룯ƒ”O³j@�D¬†|¹åžˆîò0†ÿ…*€ùAÆÁ2ô†1·¶ÿ½@�¨Ðß$Þ?(Úb‘Ø€ôm:çÙ‰ ‚Ï턵1€ -}¦^À¨oØî`7©Iž�ÐnÃÿÃ=+*�l^‘™²Ê8D È*(‚€ D¸€ˆ$À;³R°©¢ÿ³´ö~ó`ÿ«?|ùp{cã¡1(ã£ð€­}€ýí­ññ-÷øðKâøÆ—ÆKY_¿¿Ã©òÝ—–Æ|HÀC(@ö=JÚ±m -  TBßÕ¥UìÊÚòÚòl@X;6x}Œˆ¾±ëC—”æ,g�ÈNÿ/‘-ÿnÁ]‚ WÇ.”%ò9þ».° XYº�×¾º#]Ù]ºé°¬ÄºÔ,A®Ã<&‘MlBg�QOx!…]¾¥ôc»´¸­C;ÜßÒ.` f¡s`šhœ¨Œ‘'®�`hˆ8Ý /q¨Í™Ë°‚1•1BIuºr×õÅV–uAô‘㽞6¤ËßÕ•þ€Nô¾—u+}cï�€žËÅ€¸u —Õ0úkñÿ¹Ýø -Ã…Ÿ®À¬ùÿñÿµ.Ï}”û©0äاº&iÀÕíûM˜—ÿBs|ühÐpÚÃêá0÷]ä-úýöýÿ,P6øúŸÍU û˜*Ã~g%‚Ü�v¼¥ý­uPÿ›ÃƒƒÖA£ÕJZé³§ÏÔÍæÁŸ«¥9 ,:ÈJ“&ëlƒhžäöÿ.i=9Hç’§OŸ¤_6c0M›iëYK>ÚjéÌæ?×+­|ʰwͤÉðziëIJß8ÊŠú3åÙ© ÅVª¤iZ½øúù‹³Œ<ü·�Åæ7¿(—¦X'+Ù®5-ê8ëúP®u˜”’?µ´‹!w«³SÎ_ªVÝšimª˜ŒkˆúOZO’'Ây�¤Ì<ªaš0¼¾$ #aÈÄâ}]ô�Ž�)¬"E¸0p©WÅ‹VVמãýó¥ †¾p“åås} Ðk’Nj HÆù·õ‰8¾'À¸ub#_Åó%ôüú´€õßázÞΞ¾rUÀÚëká`SóHðÞë’Ý_æ^ ÛË){ÏOŸ¢+ÀqõH,dˆ´àÆaC/‚e“lP¢Éq1•ø[ ' ýí��=�»ÀdF -“[û_YX‡|[b}ûx>üS°^³6[#À¨@P0@ ð7¶è§ìæûXY¾.”¨²þÑÚÊ.~¼ŽÉ—Fšç36tÙ8ipù²àS´ûÿ‘Èg¦ÝǺÈêÒàÒ®<{ò$¯ögeI®úÎòøàÐÒí5•qume‰*ô|× Öi—¨ˆÐ— -þ¥¥57XÔ¯íŒ .=&*ßMõWWvE–oß¾½kz±r{™8>á?´F´ƒ’ ÐÆÄVèຠ~Æ@‡H±'˜@'3ƒMy미 - ‹@´Ï™c¢¤ŸËôø ó%¢‰s°¥ïääÛ„ó‡O�ý;F�ºo£>­ ¼*ô1p @$ÿö"¬¹3ëÅÿ \¹îŸ;;h§?šGÿ½J+± ­pư«ºmá߀ÞZêçΫ€—Ÿ^®8žðË ?oE�ûÑŽ7ãÛQ›˜ ƒàasvFº+iü|w®RŸx«ÂÀ{Âh‘�‘Ÿ\ûIðÆ#ý1¼ƒâ•êo -¥a ßʼÀÓ�:W™ž«”æ*o½ ´ô;£ë‘m`pdäü… #Å2çO‡Ñ/üddàÆ +ÃëU*×&SOg¼Ë‰ÐK飰Êꆒկ1²Ÿ.þß08ÿ¯Še§¹ñ“óþò� aÓÓdÀ‰2þÓM¿[©¼ù7ñ‰èx²JI<‡±ütø¯¯ñ$¸:³P|Íy,EÑ‚i=ÒÙo) ‘îH9U+A6]VFŒ‡øÃ,v â+L�s¹ñ‚Àްµ¾¹! ÿcÆú‹àßQ€V˜)ôРŸÚÆ]·È)  ­ø7‰X¿Ñî ð^.àú0#d -@8^a2�øÃ^ÌeÅ´b°ÄÖ†€hÊME5­Pâ €µH -&8<ÂL¹Î‚7¨ÝźҭkÇÖ––Wwåˆï�ïRîhš¢°ogíÖÐPhÀ=¬Þ2˜Sɯ,„õî -Xàû‘y¦ìÉø[TýôðP�$™¨|ÍN='ă÷ª‹•÷´F¯ÀÕoõ¹/*)Z“þ÷Ö³gOŸ¤O¿ýgMßþóA3]Ô‘Ãgÿ!ÕÕ-ê¹òhY û??³ÁÂä½í{´¦�×|wgûãœЩè¾"nHB(==¾•ÛÎ7 -Àý=c·9R#ŒÙwD€§ KÐ`V‘=R}›Bàü·c\Vߌ#îæ;èÀ¿¿á·ÄVbÆ"û|Opþ¥€õm­nß[ÍGÅ¢@µÀƃ‡(î H³~y䌷Çóá¿Ð?¿¶2¹ËÑ 9Žð@*…Ol�QšS…®�­Â,™ÀS ýØQ�kŽƒw[}ôp€}¥0€SEO64T €1Ü`Jc€å4!çš`yM~úÎÚXA¥Û¹½²ÃE�«:$w~ymgyp¨°²DQ©2_5Î.ƒòc+«ô!pËaˆ”†¼½{[T°öë±`™µqû×JµX¾}[¾¦Âà pé�ó!îa9“€Í4¼†4K· -gÆÖÄ–—éQÙñÑó[Z[ZÚ�¶,Ãöñþá2¾ -¾Ò�íç|YØzöûÕ<¢¹ ÙôA»z´�¬€# -€á_à®O2Qéß©iÈY@ýl -Ö¡Y3@ Ô·pu¸€pVÀö5cù³°Ú°°Ÿ}µ?0æd)ê# oW°7‹¸"×_võÊUžAÿÏœ±+‚ìÏýýÐg8 +¡À¸òŠ¿ÅnËð?Òør?ÚñðþˆÕç[MÚ¦Óþ>y²˜<}ä×fešjú`ÈõE„n¬Ruÿº5W¼_Ÿ ÷üFÚX¤æ„óÙX´*�¾I�&�p13Yy>öÅG~Š3³µÅ':»Z¼tþ•�)4{›,$–ÊTRtÛ|… j�&mü(ÈB­~íkÚ&ÉBR�e8À×^9_,{×âL¹X¼@Û?Âók Ys¾›:øœD‹t‚h�´™|¨'B™=zpH“Š´G¾7S¦ãžK¹\,Wk¿Òƒ$“…jZ-¥‹ò(ô`ˆÀbI-ÒÖ\üD+ ëíØ¶ÁaZŠàl+�|£±ÿ2A'Q€î -èÞ�O‚@;PßIµonÝ5Y`Ø{x?øÜ&ø½kðwWÀG€!1 ¦7È×t™ #à®Rn¸·ø÷\…RÊHF!©@0üëóðÁÃûòûÿðbðò÷î­ãýcAíC@ÄÿðåEÑeáÕáÕã¬ãý›Ä-;²Âµn - ˆ~m ¹¥lEH -À*®xÖ; ŽóŽ wMx*÷ûöí¥_úKÑϲ¼ò1ï¢) `Fn3ásÂA€;¿Ó?Œa–J|‚–i>÷˜šú¹Ñ«Bé]€uy�uVô`÷–`œž! ú,-ßÒ‰Ä Ž)‘.¬Âþµµ•_[¤¸½»¢=*,:p›ŽWרð¿ CX±é(Pe‡A2žahGKw 2pFåå) 2œ‘c¸³3×uúØã }¨$ÊKìBÙéRBªöwVE[¬ý÷ñþ35&{Öd?ïûÝ,€9¡ym;&àhO€1ýÉ­¯ÿ¯œíœE�S\À¥ž…cµj `8v|Œé -Ð{%›¼#~‡é ðÊà ˆF» {Û [€„¯žø>Lþè‚®¸'ÀÍ,Ð}5÷·ø Ö"‚Ü÷·¡¸üŸÏˆÍëc•jsñCºÿ«Én4~ùôà€0~ÐŽ>lÒJ¥ES‹÷ÂÏ¢G¤àY¡í>šÜ ÷àp½öº T�{Ÿ0z¤eûü˜r‘Ûì. §fk¿:€Š_;ÿú¬àÛý:îa±T£ëUç)J¥R­ÌW‚!º¾FÖÂÈ�aƒöù—hx)Æ”‹Ï••1Mª5gÞ6RèÔm‹Â}Ñ–¦ØLóé�‚¶�¿ãNÙrý¿gÂzH„f@DÈE‰E‰Ú(,ÛO„Æ’ÉM:VðäÙà UîO‡v|Äll…þÿ]ûÖrŒ$ŠÀà.À¶€‚àßIýK‹€17S²Ððn€Ôè W6(ÄdÉ Ù�V€! G[P–:¨ÏðÏé€~Ì1f¦ðŽÙ„ÿ({ã[B²Ž€FÇ×7÷¿úò¾{ÚØ£+@ÃÿþÃý}:ò«ã¹üý60Š�]s³»£*ÀØrV`÷_ØŸk�£CJØ}ŒÒ.ðX9¬ Á; Nþ.4ÍÝ¿Ž®8èV§OÓ}ð/7zÐb: ÊdÃÿ‡¬®­‰¬þVÞôêo?þíîã•Õ��íŠ -áwwäJPtM¸Ôeõý˜’Œö*ÆÚ¯…ø·—Wo íÅI~ -[ÙÅX[ùh—º†!¶ò½}Ûõ Kâƒï�¡EIJ¤˜ËJMC@:ˆ½êÖÎ 1¶àZapliw¹P¸µ»³»»ó˜!ÿÑ3Tj‘¤ÝUÑšñþy†]ð/;÷G¿LßÁs™s!ƒ. ®D Û^ÿó$£Û öá£oDÿ ÿ]ŸåŠ€·íôãõÇ*­�¢Òg 8þíU[¼H�ýs¸oDÇXQfo‹¡ ·í~Ãÿ臥‡àÔ1À „{Èxe/>ÙÚüdcÓ}Fïho(Èq -oôOø«@—Òo+nýÏeŽí?j•jJç4|j yðǦ «ÒÅN’NÏÅŽu€<ùÿÅòÏK?n–˵ڇ´mC¿WÚ kúmŒ .·7 z;¬Té[�Ð_lB92–Žl¦ È�?¢¿&­!W3h@F‚§J,€ Ï@d@, ½–§YE›TµË±ÞÙ¡qž ÓuõB_ôËôì·B=Ímnx�6ó&¡iÁÍæWƒÿ¿¦\…ö»�dž–Ã*ª˜Ÿz‡dË·Ö”à-z¢kê ØYÝY[^[[»5T¸5&èýh  âýZ.¿Š¤Ю±A4ô�Ý5)¬Úû&ZP…ÿµNã 5Zð­ÈõgÍõ ÿîãÌ™¡pW2ÝRal·p©€UJ©Yxš+tj¨œvðÿó}þ‡vÿ¾²Óa~Æ;;ŸóÇ1ÁôK`N$_ÜìR²~úõè´/eôµ€�² ô{MPêC–ýßvà0 À„`ôÊàiÚÛw ?®iÎJ¼H4ó€Ü7­F‡‘: -ÀTÀ‡\íÜþÎ6Þ+¼Zâwss[¯ù“£…¡+Ãã±cÙsZ˜Ä_p¹ïg`¤ÿ²€èñ÷Z¥òDîiã tÿÓl>ù¥UlÁ�¥ýtÎÃüÙÊåŸ{x>è«Öjµ€vBÀZýF=¥5}èÊG0¿häcŒ!öþÓ•À¢Ôþ€®s” -T/ �oC ¤1séõ×.^ššµ`ü ¾;ÝVÞ¡wpì­(ìäŒ_“£’ʀ׊å_à‚WgnÌœ+Ò¾p¶:ëaüÊ4(¼Âج›¶ ðÇ4 žÈ¯šÎ¿� Ld#$8FE’1ðݶ À‡õRÊÃðÑ£Ò¡¤Öx$ÿGü ø¡|MBà–[ÿߕ˿E @¬È+¹(@Ág”öîÄ €#=�'#Ns -èß@€Ã6c?tðŸV*D'ÀF`¿‹-ô±¹¤(Jë^: -@-Œò¤lB›ðåH¶>øùÞçP€/ÿðåþÞæòÆöCêûG ã“Q `�–ãëÛJ†ûï¾þƯŒœé5ô\ðÇ¢О–å›ÿì§úºù�1§AÀ¥y Ð'5<é�4ä‚?ÀÞ^Y½½¶ŠúÄûE%äúŸZÕNÚÌ ùOY,—û 7t†`ºÿ4½ùØÙ¥$Bß�Õ1¹Ê"(QˆÉœx%��´)¸_[û-´`‡~}ä΋ XÔ·w í[{|{Ç-ûÐúw CË� ü_¡á"@Lcmõ×<èÃòиˆÁã%Z$(Ûß -Ư�AL8¬ëºÔ2ý“Ó«ÌæŒþ qT¸u^À-‚ò6xÞåÛaGÎûј<ð.øßÙµ{ß ùÝßLxã%§€ëÎ… z€N @OO€¾ÖËØñÀÑ~º‰€PÜ£¡ýãôãõÛ ÿ(g®hë°€Ìþu¼JÛ€ý6ôGƒM 3%‘À3Ùíº`Û÷ìäÇØødë“uªˆ‚ÕÚÆ‹c¼$ ‚Ü÷2°¿ ÿaù? ˆuͽV™÷Ø·º_ᣠÀ"šÚäx—ÒP +—Š7ŠÅ’pYZ�èÙ+(,&8è±B€ÀLÅ!¯=-U”µÁ¸å -äB¿³_àÂÀTy6ô»[žzý•×nÎ̼ã�”\é&*m&õw:'ÄÀSJòŽ’&Õ‘G!¬¢xq€®€/͘…, œ»ús\g-Ë•ÊÆ -€Jž6ÿÁŒH¥þ0R"?] >j!E\ýo›µ&Â¥«Õ´ÂpÀÊ5$ÖÚb"A†´RŠëц WC-À(,Àà³¥9Þ(LÞê§8 0Ð@ èí €I^8Þ5éæ1  Îö‡ÀÍl,€¼0$Ja6ÑßFŽ‘ô˜//»£\)öi\y˜Ó´Ï ìÏÈ�*¡uðïî`ocòΞÜü ÀFÇ7¶öÿ°ÿð>14pb:ú®�ûÌùd€0°_“`IÈš«0 ¡ ÃËÀ~-ä[ghåT†¨ ¬¬üïŽÏ[Y»ý‘À î2ð.îs@9^?£×ïMÍ%Ð猜aûÊ\qõ–ÎYÛcØúkA·@>& v"ÖãW3~Õ%y,î±*àÖ)c»t;ÄPÁc· -K«ckk¿A‘ó¾{›j šÞÞ},7þñÎ…ݽ-Ú"Ò"&°£ãð‡µÕ[ƒ·v !2êVEEDO¨Òy«ÔŒ˜QD Ý™ìô™!x À�ÈO·�•'Í¥Î{ÿb<>?m.˜ÁÿîÎîÕ玤?þK|��ïK}ç/Šp+€|@Húröb cÝŸß �ÜM/误J<|ÕÈÐßóˆÉ›áß³(|Xp@» -Àu>ÿ¯bN§í3yïkã~ƶ¶½².7h�.Œ=à8 -Àsb:Aî{X†ùm - �fg†.ÆÿB66ö?†v¤OúN•jºØXü» -Œn¤òÓåÓÛ1nU"îÒ†ÏADúrû•¬ÃB%,OüGÀГs¦"ÕRJ§A®ŒÐ™¦ Iàz"�z)¤ËL°À°(/ù6 Ÿ€¨Ï:àY„ÿ0€`˜:$+üÆH -œ» >ø¬­Àò`t}‡ır -€Ê -¥|CRŸ«2ß‹ B®. ­ì�úŸjþéƒ=æž¶7ÇyKQl€X -“ •Œy€lÿ�Ððøºè€;Ÿ\°ð‡ý=íÛð1ûþqНж½ØÿïV 2¶ˆÿ® -�z)Àòm¼ÖVô±�§2$€ÝÝ_ï®­C'ऋœ)ˆ PÿOaôÞ$Ý mdöåå�Óþ_¼CäC,"”䀹Ñü´ÈƒS�kXN +;ˆþBí@H whpŒŽ‰–„ÿ�oŸøXÀOÅÄŽ -º;.ðxggmgW¥^^rý"ÊeemíñêêЭÿý·k»D¬ˆ:¬Œ]—÷NÕˆ|w0ÿ, ._ž—-€…�`¢TðÓM€µ - ß§bZR6á€Ýæ’¥?éÎsÅûGÚXzŠ„8úþߨÆÎà%?:àˆ�ï «'@®ô²F'}@z¿×Þ=!ù£dÆ-ôáo~ÐßâEzm¸«,Â}e¤ƒXÐð‚|d�K +ê6^HyCÐBtE 0¹kŽUz,‚Üw6·À*#nPÛö/&ð.¾¼7H{Öß*ú³Ãý7Ø ÿ5êܦ•éÞÑÐM¡�àVkŒº;[®È�N'�†ÄUOßèòj}®B“>íðqÙB5¡ï^ú^…˜­^˜™]pA’ÙKÿÏS¯‹xˆ=á´¦êa)2‘èö¨21&�®£JHÂh€2Ó•��×_‹ -@­6{óÒÀ¹‹å)1€ÚBðÿgã}R\§iµ&’Ö/ F.Ä š9‘-�ˆ -MBeÁÅ2¤ z8ïTZu+™¹ZÄ—°Õ’*1‚9«ü€A¹ÂôÏtÚÙïVÖïök(ÄtZ:àhOvès -ÀÞÃû_uQôm;àVB@`hX%É›…2¼[ñüÈ1.¾¾.è×E|êª~_?";¿üÂäæöÖäÕ³$çL»ö_´"0¥|@#Àý/¿úê«}ªA¶Ä¬è]±>ÎX"÷no `Fx@|U¼”eqÿù^d+ÔP€*í…�s -a•ÃñlÀ•Û\=*ÀÎî®°s ðxui @I® êp—…”ÉS¡Q€Ë4¡¤’°¼ä¦øÍà¥6ü&!ROî¹üöëËBJ�(�ê¸�>€ZЕ` HòèìÑtazû¿%×}éñã_S¦µÇ·wרžXUÙ½5´º»¶JC€Ç¿Þý-:¿’¯.¯Š¬Éó_a¿@@äÕ‹-ýTùÿÔ—EpÜ @þ•�ÿ6þswzíê‘òX—ÆT -+*,¥×ªr,øaÞ‚®P cám‡Žt5ëÿÅ´°º�ë'ý\~a?¤Êõ¾¬!Tô³Ð -Àaqæo{]6êð>øýQ•à¶hAHê93}Ã'^åù¦ìˆÐÝB,D µLG¨Ÿ3Þ*y£2-Öé ˜àÅNà¿„Ðþü3–¶˜ú�…_ŸL`g'îüá,Öù÷Út™(·'�EÜ^GíeµØ¶ÖÜth€�snXDŠ‚¹Ú)T ¡qíÊ‚#ªA/X¥¨Õ9j8m‚×JHî³33å fkr¹åÎÏ^zí•W.MMe@ÞöaW€,à…}šg©Z`<à2# 9àÒ”ð…™bñâ¹Kh³µšàú�w=ѹ¢#žÓúÈ/ž6]ÿ�}¨½z(íG '2YŽ/IECé¯ôXªt/öšØ4+´Ÿl?‘šŠÐ~ µš.㵎ø‘b €c©�þã¼`W^³£AÔ t‚ºzÀÿ�À -€ Õ -ÀC.êë°‘ŽÚƒ#1÷ˆtýT‚©ÌŒC`³óßV¸ø6¾>_™ü~VY|ºý`/(›ÛŸL^=ç1WtвÿƒSþݶïË}ݸöÇ€eðß­þ°¿÷P…X· É1ƒúÆWEÛ@ž‰!îÀ1î˜ÁÆfà4Y¡ÈaÅW:S½ûÿA@_»%oEž5€@?þlÞ=–iÃøïဇ._6!,^ÿ/‚ð‚@•<Ø’Ê ­@"X[ñ ?îÝ_s}\vÒ!ÉCX„ýô:€¡»~}é§c·ïþz }â#ÍèõGžýÎw»|ûñ¯M�ýig °¼3Xº_*ø'ÿH—¡gß±ŸþTç]1üúU‰øwÿNÔ¦0¤¹«B(îŠñßu*6;ý»Ÿgþwwvø³ˆðÇ}57J}à�ÐGìc =þã:/oÇál€y`;ÛÌ1Ï£2ÀM?}üЄÛgÏ 4è&“oÇ‹5Š“ÉŽÿàÙ0òP€{‚ êÈÝò +÷Û¦wŒçš'ÿUÀÀpoŸ?À¶Ô7SdüçÆÚ·¾V€bf&;cñÈeˆz­›£j¥Âk܇sÓí :í*^¼)G¾ÉL‡DÚ`‡‘Ý -ƒv‚Õéj‹¡ ~`FQã¿üp¹ÏÎß,Ë—ÿp±V›ºtþ•ó—Šw«”«ùæ÷²Ð�Ü¢œø@5)_swæ*.U¯]*» ÕòÔÅ�s7á³tPnשð@²083òP•á�Ý”‘b#�82HëMzRþ–"ÈBTœ-ßœ*² ‚ˆ$Iyâ÷$hc {�D±r~«õ÷]Spÿ£ ܜ촳ßV‚Fà_@/û÷À¯Œ(¼(T­Ü×N×�³ ØØëUÒ0Ùñ%©g8íDíõ1Á¿µþJòÀkT¨œÐ�½Oï ˆlN^ ý¥…ÓÛ1.©)Àƒýû_~õ‡/ÿ béùì=|¸E?z]@hÿðÁƒm† -üç,¾*rfÔy.p€»¼Y¹8€³ -PÀ¯5.q8˜� }Ç;*€À?/´!K?wúÌU&CbP ˜c`Oú/Èÿ ÀeM9·Dî;ŸAFÏéÈW+ÁǷïòúE4ð£éòÇa†\Y_Ÿ«/Ó�aŒ�}J_�«>8t]'覗VW>[ -5ëáÃuŒÌx•ziõîÎÊêÍø–A^=×Þ“ñ²ÎÕ -·è(>‘�PîËthÀý€ñm!ÊqHéõL+ô u æÖBÎÜ×qðÿë5­íìx_d@V×OøÑ À›ìØ€Lɾ‹s*�ý¶gqëãŠ?"På/lv-½z¦‚ßÖúä('Q[Ð9y4^äxó­“%RÂzÔ–ž‰wÒ¢ŸN—ï¶;wüû]OÙ&ÄÈþbŒèðùtÖ˜u)¡õ�’@Š»³O?Cû\™÷CõŸNâpý/-^³ÇâÁh&»c?° -ð~½ßTŸ.ðÞ9h´k~5xT{@~ Îõݱ]Û”àZtÐ“Ð¯Ž na�Fs T i•*´â_Xd8ÿÔ˜*ðå<#¸\òâù�âÔL�ÊúZYà5€›¢Î_I’¬ - šá·¢ê£U“Ê5ñqïž*^;þÒÔ 7V�¹yé⹟ӻ@`¶Q#!Ü-+àr2ÿ¦J4­èApY=ùzä˜HY„FŒ�xÈŠ[Á*Õd:«*hWÐñ…µ�çÝ™þÄÿ�šð¯4˜)4ü½;*ÁóÿøyA kÿž”_{<0•v€Ý -@À9©¯pÿ‹ëÃ*Þøé:µÎý¬CèúÇ`÷äïs1»ývç© °û¯i¯­l[`Ð5þ“\,XE +(Âÿý/¿üêKe¼½EüàÖ¨À2ø/°õðË}¥"’@ÜàAÎâ«¢m'RFVVhП^úr `Œ0aÈí:.'^L ¾Á?'¶?ÖÏ\6¬]¤^ÜUãá5R(#‹‚ñêüëUã7it]Œ°½€�kBo€C * �ÿ1.ÀÊGlÊt :  Úî{@LA‡¨ µÖ”¡€|•îÛy¼¬”vǹ’›Èb4âêꪮ®É¸ÛIðµtØÊB$-º F„x‡²Ó~ãŠ(T‚U�Å•–Í’(ۘΠÅÖ´°÷ùF@õ—ø0cÑOˆ+!aÖ€S¾›‘?pÓ¶¿3½m_˜)ÇÞ% 6Ð ,À•ú�]Êš„,øé¡° vl@¤<,tO:G7|†.œ9€O;À+ƒ�´í(Ýü`›wüqO€[4¼:èËÿp€Ÿ¿'³~zþ„Õ£ -Àå ðï듨ãÑÿ𙳧—Ã9¤ÔoBÿ¿âÇúUt€Ìâű¸§cQع»»“ü¶Øè3¥¿+͹›;@‰¯á.gi¥ãxËá52A¶—&ãä­éz™ÖùaÄ›6d&I$]¤Å¾v¥`>øj€áÀã?¿pAÈLAøü+ç_¿X¼Tá0…gÕ'á ]°äj¡üãZ’)-­Î_,ÎTki£Z8�§.ô×an:!¢Ðë+N«#õ&= dD3d–¤o%)Ž9×አ›¨TIu¢Nœ‚,ž³©R˜¤õ‰ôw]Sçð×|Ô S”=G8†–é À�nwPµ°¯Ëÿ»&}îö‹P�>¶+[7ìQÌ "Øø…ÿÿÛ{˜EËb6EÜcZ2-¾`eÃ1©ðÿÁþþðÕWº7f|ø�€òý ]ß9xQ�}qï7¿yÀôùÞoöâ«"gF�çR£‹½sky -�Ÿé§0ý|=@H5Lzíˆ è"‚ ¼µŸKÿ»zkIÃëÇr]ÎqPdᵊ -$ -3@ŽÀ˜w MÿAr6šù›YNÈú ׬'@pñ»LÇ›`[î{~Ò¶ [;¡�êþe^ÿQ¸zå £Š0Øù—ÏïÓÂìy -Ðï/-(�ýõk5JŠîô ä@d z(Ç)‘ܹ£·„ØÇûÉUüWŒãàϯ1ëQ膚ߦùkø‘Š�‹\îVäÙËÿÃÇØQø7¸+pWLûñÒR,ç÷6ºú?:}S©<æ£Mw;á¡!Ñþv’NOw8�!•ú¢ö\ýL‡Ò‘ -£Þ„íJù=�¼Æ8ú¢Ê7­ÔM3Rå!'ßWÊ3�ta@ êӪ勮¸ÈÅ”û;DÕ=ëUt™Î�ÈeiÔw-–ƒ^‹‹Å‹çÏŸ¿Tm¤­FR›¸@Ë3\’»å®ƒäAñ¸Õ¿Ÿ¨6Á|±…K„x~=‘‘NH (‘Í‹)ØÊ;¡5"ÌI`^e¢,új—îš>†¹}]i"¶ÃÌì?ü—u€NCÀ.À®|^èÐ û÷@~òË�ËÂH3€ý/î?`è 0�Û¦[Ê:­îd °±®Ã±J!â¼²³b϶{°ÿ@WòB³¶ÀœéÁö¦Ü÷«A°ûßQ\K+ßBoCáúçöC€¯tCÔÈݽå€ý½=Ñq…½‡:Ã]<Ü;BN¢_°ŒD`ð±ûÐ'M‡—Ü ª9À¤@°)€6N�-»ê<¨†2½Iä\èM LÛgN þ/‹è5#K—~Šz0$—ÛPk9ä«ë«t÷# ¦Çšö¹xÌ4_[éX&ôÀÀ -PÙT�±¥�´O/0|ðˆâÔP¨ðˆ.õÝ öç@ÓÖ8·#PBö�à§Ìˆ™àý©Âih!Þõ‡àîô4Èk ñ_Å\¥‰ƒJæ{ÐRæµ#ðß¶]°÷…fˆ2ª¿ÄG_¯„Žzò 1‚>_Âÿ¿ße’Eí1 —>ýr“ÐY@¾¼Q•žÿ4ãô„âƒ9íê(ÁŠWìÿ“‰(J�YË«“Çé<-Ù –J¢Ìt‡AxC…uyµ¢çˆ‰µ»�ýG - ×ˆÀÆææä0€‚;‰ ÿ�r/oÀ¼Þ¿8>Þ3}{€P`à5ªÜ‡*ý.¦Š”¼ž«<ϲ*€»ÿÛò.5t±¨ßÓÒþV©àï -�‰�™Þ-З>UJ@wØ)($Ó q{VÈÖª 鄿õ.ˆâU²£�þ(§WR;Ûº”P‡l -0U\¼00sÓN¹ÀÀùó¯ c{'j•”§CâYÈ�3„¶¥×¢èŸG€îó¯gåP�)^,_ÀOŸá^ ðß·­ûwõ¼ ½–N$�8àMÍi§À£¨%^$é[Õ|£ßm >¡lCQeµÚ“úD ïŸîŠIRVfI#m†Æ�z¥gßþ×ÿöß:ŸzV(\-\% ðjˆ @ !@лþ(Gë„©ÛV„±½=˜è<Ðz3 Çç[ôSôãTQh -b”0�¹رPùo¬—áö-!ÀžúöÞ+ã(od -€@[¸ê—(À¾OàW_Q¶-er?(ëë±Àƒ?¸ -àá¾;Àöüæ;Åa‚@=€Ídkûÿ¬t:Õ*@»k “yçÖÂqºüÑæNaðºgÒï#½Xzʦ§Þ3(¼›ýúê=#ü”#Ž»”}e*´¦ :–Çv¸Ýþ"ŸsY%öR[«ãCCËkk+ãZa>%Ók«À¬h…AÀ|�ƒ^!ã*òí——ÖÄYÈEëðŸ`K·Æhý¨L´G<�nüôp¢A\ü–¤ - vqo1ÚiÞ®…Â``*«h‡J«Kë|]Ûeð3î�ÿ¶óo#㨠¢¿ŒMŸSÂJ¾'Àáa·�ûßã5 [ؼë‹÷�³bŸ>*ZꘖB7� ‹w]yC?:�ŸEŽL° ¨ï7�üòþcÛD~­HÃoÄŽÿè ´ˆÀýtÙ™|€W7ô¢3pèL˜d8àç( -Aî¥-ƒú6ðçטõ*í*ýûò#<bDƒÿY¿Ë“)ý,«ØÙ]}þÛci¿—Ũÿ^dÒc-.9�‡_nx e­¹Š—ÂAíÿå>·šŽåÓ×GêIÔº‰ 1Ýø/° Ô¬¤Er+hÐ'Ž�D¶AO@ÕŸ8ŠÞû¦.A.ojWÄÔ÷ë¥÷ ÖÊÃ÷Åž5•ü¦ìÚ®-Ö§¯%ˆ˜^UÜ…âÀ+¯ÝC_²P¾Y¸P›š¡w�²öý­o9ëŸ <€äp¢Å‚‚ø��/7ö%ï'ŒHØ&ï9ñé¢PüÔ'ÓnX©Öá =•Ežˆ á8,Å?@Û< þT,€ xÁ-’{Pîß¹{Tp€þÝpoOm ÀØ$€L8& ô¤o[¸ðÿsbõ{ý Âÿ¦cöÃéÁùg2Ëàk@3æ|ÍL >�­&'�(z‰À^¢ÃÃöÒð+Jµ½·õðážñ@9Œo úéhßðÃØc�_9ëq;ûš1&3S€cTûÿ¡a`GÀWÕaá¦~Ä‘˜À bã T`‰vüƒCtØS�?Î{hPïèXŒÌxwbxá=ãW�«Cø±¥5ð[À=Foþ««ò÷WWvÆ¢¯UùÐ+«·ÆÅ¸¬vî¬ììÜ* )ÝÎ*(ë"ë+ ãVY!<y@·' ÌšÈauel˜ µ®7>÷«,ùæåiÎn�–?ÕÝ£\$\¥ÁÓgEiŽþ%Ns× ƒT*�§ãyPÐû¾Ç3á¹ûô°¼íâ[жñ^ …ñÞuüÎS¹bWôèÝŽŸŸ'û¯ê†ÐSé;Ñ} c‡F�¹€P¬hz -0€(^@ø+·?§OGü�Àú亠г=q9ã„Uÿ¯¶E¼;‘â@¾þݘûÓÞÇÿ` «`íLˆèQð¾¯p÷îo—ÿ7ýÒnÅ‹íþ{-yÔJ“¦|Óôð|fà4m¤­Öá³4™/UUÓ„ÑýhÕ†¶/¾Ðú§V# ¨…ñ~“ê£ò[¥¯�Êä°õí³§:¹Ñh=;h6ÿìwŸ¥õ¯AÍ$=l>i¦ÏþéÙ·~v8d·²LGÊ‚ìNòaR<~`J•W8h-Ö+suA¿ -Rÿ�r¤×áG:røìO�æÓ¦NWy(HZº6í® ßo¥‡-e05ðúEÆ |Ö¢‚rñ'‰H…Ê�În´þüç?ûôŸšÊñwŒüÛÔ�?+)Ÿ†.Ûh=U†u]ãYk±ÉhÂ-ÆKž›xH«*wl;h5º -rH~Ii¢ž™¶ž=ûöIëYºØO§ëˆ²Õ¾éébéçç.\Qæ²#çO�:þÂ�‘¢+µ -8Q3+%™(©Œì/ãîÏ…h»*)殽[*½õÖ[¾)9ü΋L”+óJ¦ŒþrD>y¹tC“®]*«4TÔSŽ„,æ“7çæÂÑœ éæ²'¢‘7ã g…áØ`$4€\xA¦dZ¾Á"þgAÃC lßž”À8 -o[ø"0€øc`¿Y@¯ðp¯ ì'G² -™É¨è(›Ñýå)K;ÿ&T0 ÚxèøÍõú¤@P¨\Ô›ëêÊ¥ìÞ -À$ -€Ä&ƒq‘½‡:´·÷¹9€gáeѱ^Ù¹Ÿ3]f -ÐOàgnÀD $ÎÌ „˜±wÀ Ðﯰ ǰ\]£ó~ÞÿóB§XŒ`~sBxÓ�@ìŸ^T,{Ȇí�uæòÂñ” ÃgdJbžv® ™ˆÀêòØõ啱]Aµ÷Évvé7Àý ѱ@{´SëöéI¶³³¬—ÝÒ­[zIiO�Ö�È«cÊv|uihiõ¶h ýü)°O©YÐ -à´\Q±°ž¿ �½l¹Àº‚H‰JM4£‰‹¬þ û™Á…ôú Oì¹óï¤èão{­Kp–!ú?àhoþ;|�5Ð?¨þîéìç£ íœÔÂ1òî í>*"@žÚP‘ô&?›ý–ôáTgÅ÷,¿¼~“HZáw©[õ´n8˜ƒÍ­lç^H6xƒè½ZÄ*•ä¤ -@žœ˜â5á™ûã�0Ó÷¸ó%×£ˆ1±Ôà‡‰@p €~[¼¾g,@¬óï59±±¹8%»– -«I«U[u��:(ÈÒU&J¡J›Qp„Î%¡'@\š+�ýâŒåúN¤�æu„'9Ë�ªõkæ¾쀺q‡ãÍÿ×b‘ðy]°8 ø¿p®:RÔ¡4u HÌB9Íq…d¢®”U®€W¦ËUx ®/£›þâÈÅ çÿ—¿Té�Ý"ýºü¯:R­ë>Án·Y0îW*< -žeÃhNÈÅ]ì´¥#<‘°×ÿ{¿Ñ7Èá�‘³¡¿ÌèÝk¦ÇÄÄ yHœYL‘õ  ÙØ2ŠÀXá^ùò*át®?ˆ­Ž‹¥È,þÎ\v€Þ5zÁ+'p¼¥< - køºäêjh/¿æ•]¹óÁß§0‚-tPo‚ñëÔ„êuí5Ø¡Î@lÁÝ -(¥5wã;¦0îR‹¬ñ‚»å~ù¡8KKZ_^Ú¡¾Aè]¦hQ0 �ë¥hÓ‹”ªPà(€Þ?Æi€¡3gè -™W"%o«*ÌŽÿ8ï_%üóê[’[~ú ¢üsæ(ØÆÚ—úÄYØêŠˆ+Y2üîïªø -ƒÊãÈÔ‰ºßÖo‡^}Àp\yŽÄø2äúPȘÿþ—倬€Ð1®þk©ºbõå¿:ù8 ®ºc@q#¹]yÃæ(}üMŠ+›!#·@ ƒgO“…Ïs^ÖâÆ¨|Gª”+>³s -ƒ]çB"Up+ÊA[þê_¹{ -°ß± ·A - -ÀÒ c~'pÀ¯,NÌÂ?$ŸÎ³“¶ÐL¿É¬€~É?P @GЯ\`eè»”õýÓ3y ( -òW®–�È »‹n¹ÏÞÙjñÆû³r–cÔ|]Ù{Æ;YRÛHžV”±÷É”ŒFï§ÉïÀïEo f|^›’ * Õ(ÿä‚[p*˜ê<)YjåÙD…X=•$ì&… =>d¬Óp ¹@/„ô[ ø§ ruƃñ�O,¿Êºþ10#rÆ„–HdÒ.äÕê -ÄV’kÕ™šOÄÙhÍÙR¿À5XèPõïUäøDúR€jUàO€ügÉPÌî¹Ý?N?4 â~N ±ÿц_hƒ¸íþì - ê}IÄ5²)/iýÿu€R ?óøÎÖ—²�SÈTØŽÀ=â{g‘Õäç±z¤# ÜÿœÀ$§h -퇟nN›¬ËÿÕÞLØ#PAfù¿¯¾>ýe»»½�˜)À1*Ÿn@.4>²ur(€\l¹ÞšÉuö�|mlwWiÇBO8¢m<óË! Ð/%`thH„qlͱàä² yIž9}ô3N?<`Gn< ¾26nü\K—×Ön Íw¨X_¾u}mE”€ ZƒF ´]£‡ßëÄÿ Ko߆F(k`^·á»Uv*3¤ä×)Äje•a|–W‚¿4¶Ý msÑ -8ÿÿYñ£q§zT©ê‰@lt\E%RéDbôz ð¡ô ÿ4ŒpÔ¥þÌYœýcçZ¢hŸ{©0ÿ�qK¦;h+v‰­@ZM\ñæ¿Ã÷X0,´N;.»Öz øñáÝP@@;íõ[PA4± `8ƒÿ£Æµ ?|iÈ€Vt—ÃŽàv)odnÈs ½!mä�S€ýŽÑ -ü� -À¨wÂd¾#x1à'fžû“ícçIZ„q9õÏôC÷p÷îooe1·–¢ ðø»µ -\ìo�_ E#¨ ¶çMÞ_ˆ¨Ž,2< Ö ô�Úá™gZ­¼g4XêMôÓÊ×nDPž½ f �x^ ÿgg ÿ ŒÛ/pîç�Щ°ÝûPÜSYÿsižH}퀽#¨PEÏŠØŠÎ/Þ¼t±À;¦f³å$ÑýÎ΀æ*Ê ZÁ}CpDܪ 2€p„ãÑÛñHÕ}é6ØË-‡¢ÌWÞƒX²øÅ/(bJœÏ‘¶�í×e®(\˱N@ˆˆ -@ì×c#&ó¿ê�ÿY=‘á<ê;¸¤3ôÆäõ¬ÿ>ý§�É¥|�S<Ó ¢lò3Úg®?“¶²z�îy;€f€ù:€~ -ÀöÖ§¼+>ùT˜ätêÔä:ãPа÷à>=ü÷޾1/2*š ßG-0€£*À -ø�j=?l›SSPv€f€•Àzõ–|FÀÑk%Àb,Df§óÀP à$y;:G�ªæï¤ð³7X^ù8¤ŽÖK`ûÊš#ãp›EÓßDÈìžò¦7§¹Œ?²¿‘\¿½4$'H%u ÆÉÊïˆâBæëò$pó…œÂñÕÛc;w•Xع¤rêÀ˜+d;åµ& \á·×¬_¸êR«øKD Š gj ¹càºAδ�䬪´üÅÒë"–pÿÅ{Ì,PþO t¸,°³Fó1 ×V ÿw¼í5ü+µ»E@~Py—Ξ¥’ÿÌ«róqÒúÌOÝ?ˆE ß@€Xk/´Ÿì@?3ðG·ß*€·B[ÀÐ -àêäÃ>~Õ -yñ+¢€ P޵õõ»àÓ©Þºë†õlϹV�óõ7LPØ;c& k+`>s, r-y0x1@?@I@]@LB DA=UJ%]Q(aAdEeHhEhFjHjKpNpPdX,k]0wV n`2wi6~p;BCCCFHEIJIEBHGHMIEJKKFNPLNPFPPMQQNWXNXXQMIPNQVQMRSSTVXUXYZUQXWZ]YTZ[\\^`V``]`aa]X`_dfb\xlD}pFtPbccdfhfhikfahgknicjkkmopnpqrlgxrl}wq„7€o;ƒs=ŠzC‰|S�~C‚|vŽ€L�€V•„H—ˆWž�]�ƒbˆ‚{˜‹d˜Žp�‘iœ“t �L ŽT¢�N¦”W§—g§›u°žh® m­¡x±¡l²¤yŒ‡��Šƒ———¦��¬£‡®¦‘µª‡´¬“»±�»²•§§§¼¶ ···Áµ�·™Å¼£ÈÁ©ÇÇÇ×××èèèüüü§uyÃðIDATxÚÔýop×}ç ®WshÅÕP ìž0=Æ£ÓgBf0¡Æì¶~ã†rš{ÏNw #AäÜ~¸í iV7�¼’)ĺÞ*ª7áܹ*Ö“¢»—Y¿Ø½Ü®¦%4 €q„Ù­Ð +cô`=°ÿK­K—¶¶^}5 õ|>/M½ó…®ëºŽ´¼®ëzI7tC7’Gs9m||Ü0 ãkÐ5Ã0 CËåE>÷vPë3ÆXLÁù��/ØW°ååeÆ|ß÷}¯¸p €¢ªÕ[ &€ã:O ñi@íÅÚÔ”IÈ~ + ]@P‹uJë;‹·À~ +À’�›ÏÏÔ: + ÞU5b’±)€_RÉ. î½5Î5W{?Å Ø϶^º}Ü1XJæ¸r\I�ÇKQ¥ÇWy¸o$hÅ6¿Þ£Z­V«µu©ÕÚÚzu+¼æóÉé�t]ÓäQ^ë1ã~`èºñµ¯­®jùH`ä4EQôC*tô*€ýÿœ1ÆX©XDÅâPÄ +À÷`ÅóðØ^@{ÿW<–Øÿ/ܸ÷ŽÃ»«Íæ¹Õfï§¡h~vÜ{€:~\9~||<&€¢(¡¨ª²§Z­V¸ÑX� Ð#ÿ·Â0  iúñù®ëz|ðëÉc1z@:@‡=ÈIÜf  l™-wƒ€½.€àâð%ÎùRÏù?,È‚¯A0̸0[–¿±¨Õ!A€!p…OIðÛŽ¬ö‹| +`‘Þ® 1ÿ¹Mm{Ñ®’Ó‰x¬Çø;çÿ/Ÿãð.@_à\óÜP ù™]€[!@ÅÜÁh�Ï(12Š`ŒÀ¡@«õt'Ðê!@,ÿ/½ºµÛ#±ô¼Ž:Ç~^×óz>_Òu½dÉùo躦©ãéñ´n½@É)Ú øLX^î&ø@à Pâli‰£½1€n`y9ðý ðƒÃí 2„TuXà`p› výà@D‡gö äÐÅÛQWm{O FN÷ÄÔÿC]€;>« +€/ÜÇš«Íæ¹'’O¿Tp TÌ´WdÒãJ¬Ž+ s °Õ%@Øqz4€t¶^}õÕ0¶ÿ†®k:Šã~º.〚®çõ¼ ý%£Ô@.§¥ÇÇÓ‰ý¯æ5MSM ÷ ë ÜŽ ÀY‰ó%„ŠÚ@ ? è}h0€ÓŒ»iÀååeÆÒЇ€óT<:ôjÿñ��z}ö4©Ý¥t÷Íï½yýÆ_�þðyºµßØý£?i×£´]Ÿ�èn;¢@)PXX 4ú“ëÑνю¢¨ýF}ç�£ö�7vÚÖŽêôû•hçÚ÷Û;×o¼±¸s­]�®^¯Óö›7®¿ù'ׯGí6mGíöîî�v]¯ÓèÆÂÝÝ�(Р@iݦÿi7ŠvÛí�z;Ú­_ý^ýê÷Ú½Q·«³ö�$’›÷¬cÇŽýò\€CÇŽ=ÑXÝ'°ú À¾P1wPâ@FÁÃP<œØjõ# 7°¾àÕWùßh4‰ÅKhù|B¤— ]/•:ú_7¤ �6 Ý0V�ÕnpÊgÀòA`ûÆ–8cK¨¸�XfI€ßç¬ôÇœîk†Å*¢¡QÀý‚€n€¥éC¯/MÏÌÜsç�Gî)ffÊår¹2]ž™žžžž.ÏLÏ”ËeùèL¹?<=====3=].—Ë…Ât¹ü¥/•Ë3ò‡33…r¹\ž. +…Âôôt¹P.— …ÂLY®™Êty¦0===].O'ÊÍË=›Ï|©\.ÏL +åòôt¹<“üìž{Ž™›˜ž‘{tÖ±_ödn €fOà‰æêù¡Y€Õ_� pö‰(éqeüøñãÇÇ%ƒŽ0>>~»1¼ÕÚºÔê „=Ã�ÖÆ¥­~ûo4´>—?‰ä‘.@IO€®ëjNI��ëºñeÃX]ýÚ*ÒöÀÈ)Š¢è½yýÓ`¸ Àe—p‰#Ô{Àü=u@+ò?�èê @\Ù§Àá�õü!×wç*íëöÔ”y†X4ºv-z³ý}Z¾ÑnÿÁw�¾Ai{·Ñöíko\»Ñ¾ö ¸úüÂóß�èóÑwé›ׯÑöïG»ÿûÙöîõݨý|ÔnïÒ(m?Oé7èó™Ù¹±S¯ËÇvw£ëo܈ʻív;Ú¦´}½ѨÝn_»vãÚmë»ÏÓ(Šž>Šv¯ïÒv;ÚÝ=ûÝÝÝ6mSµÛ@ 9=›5iDŸ�æ:ø(Û€_XàÞÛ‰kv£Oô¤~y +`ìPÒãʸ¢(ʸ¢(Œ��gºiÀâ!²ãFcëÒ¥­=n€Œ„áFkcëÕW_mõÚK×Q^G:’~¿ÞIh%Y¤ºÔ†žÓ´Lz¥¶]ƒÝò BlZ§@m¹9˲æ{6§´Ü›°€œ!§gMónSþ3YÇŽû¥º·£bã?÷D³¹Ú\m6ÿ;:0žWÆÇ¥P°À\ Ý«Ð-ÆãF£qéÒV—}a¸Ñº´õêV+ /vrŸ[-™ˆIN0�t½¤†^2tC/%€¢dÆÓãÒª¿öµ¯É À TíÐA€Ûwâ€B@ÎY !´o!` €À÷o© ¿x™1¤ !„p{À¹y¸5‘­ÂäèäÝÙ©©)sÖ4MÓ>"mkö´Y­Sj€@4¿°l uZ§¶ QÅ»Fç Q=!À4¡×m¨Vj5›R ]n€m•›×$ê€ÈÍk6­™=}Ú$Gˆiš$kš¦if³ÙìÔÝ“wÏ’ÙÓ¦Yˆ×±[àŽ_TàŽC*€s½•€{\€Õ_¬ 0·Ž(E,p)Q=Ðnˆc£Ñh\Úêq6zªÃõ�K—¶~¯Õ{üomµòzÌ'.@^×òº.íÞ0º…€š¦eâ`7˜K�ËuÐG€Ïäà=YqP!àR‰Ñ~Y@¶ÌX\ |xàN;@\ +¨©EU-Ouƒ€2p×!Öèdj25™J¥R##©ÉÔèÈèèèd*+ÿO�4m»VI€z½n-Pkž¨ÑZ�ÒšM)­ÈãÞ’g·eA�Ê“Ÿ(¹öG6€Qjì¨Éó{qç*µíxóÅz½þè‹À<À£”R2™J�ŽŒ¦FR#©Ôdj¤ç¿æäääää?9"×±aø…ºP¦†õô ù‹V{pP ",0Nb™=•€ûd:¿¯Ôxê©~7 G„­ÖÖïuÍ¿ÑjmmµZ2ä/ó€=µÀzÉ�Ÿºi@EÓ2ããšÔ÷O¬®®± @Tµœ’ëón; ØÖã~0cKœí«[^^^–1ç1€Ž Ð(ÞÄ8Ÿ¼õºk2u×H*5’I�ŽŒŽŽL¥îI�ŒŽŒŒL2K!Ä$„T¡R9M*¦išæiÓ$ñ:Mî!±bxȦë9-g†®«²4(—Ó4M¦ ~aàûq¯ ° `™±eøAø=HZDL€}€dlB¶.ÞÞ€ÝÒü§Ì 3;™J¥FþÑdç±;§²Ùlöî©l¶:•Íf³Ù»'ïºëîlöèd¶kˆ£1#F'ïJMNŽŽŽŽŽ¤FÿQ*•¹ûîÑ)B�{hv4•I�ü£‘4šIM¦F''G''³“£³wuir×]wwEÉä]“wg³Ùlvò®¬y§ü*›�œ<2999yWvôî©©©£GÍl6›Íî€_Jàxbuuõ‰æ¹'έ®®®®ž{â‰'4ŒR©TêÀm)€—ûÄ228>>žWÆHͤÓéñã=.Àþ½xÐþ¥èu666Ö×eðÒ¥­o‡�'å:*aÐöcÀ(u½ÃÐ MÕ2™LZÓ ãË««_ëçrÊøx:3žQ%—Óº é:BHÓ>‹ Åû¡ Ëøð-@àû¾ß«Vв`h_€ÔâaðÔ0p~úË$GÈÑÉ‘Tjr2›Í=šÍf³§'¤¤Ÿš2«³§gÍl6›ý'ÙìÔ”y�3brrrr2›ÍNÞuw6›�ÈöžÑ¿–�ÌNNNÍÍÞ�½Óœœ�íþؼ3;y×]wß�½;kNMMM¨stª¥»³ÙìÝÙ©) ¨Él6›•O»'{$›½ë®Ôäl}ö´ X;„¸ã•8„ Ðè_†aO4›a¸±–Ä¿>ç–�@*fÞF3\D©ªªŒ«êqEIW2™ññÌø¸â ¸,x\QEU”ãʸª¨HEjQW1ç,„ã ù½qï~ât4@76.mm…�§�ð¥h+ß±ù>I`dEQ2š&;¤ð„aF£ïÓ4MQEÕ4 åÒu¤Ý6p¿èFÃ]€n30cø ø_ßã aO<Ùl†aXŠS\O>ùä“ÍæZøl«uiëéÃ`é@¨XÄÜáó%„p«HEª¢ªª¢*ʸªªŠ¢(ã*FŠ¢?®(ÊñôqEWEEªŠ—*ªÇQ‘ŽÃ‡ÃN©T2J]7@*üÖÆÆúzØ’2àÒÖÖÅF£±ñRoÅÐP ÔÅ×óš¢(9MÓòº1| >žWzˆò©0´`Ÿ `R ̦:­lyyÙÿzàwc+=1€ ¸x0ˆQq¸8” ¿qª/˜&ÒH³Yih§g«öéYBfgg«võ !³„ȰŸifMÓœ5§¦’âla*;õÈy@›ñ‡\G¦Ì)rçT�»ašG§¦È1Móô,1‰]��í¦#O“¬ifgÍÓ¦i�Ÿ2kšp„$Ï8 +G³Ùlvrdò7Í*…EBȾø¥d€'“Õ�Ÿ ã‰'O4×Â*uºÞçÏ?ùäùÕæÚs­VëÒÖ†Ñxn_«ÿÖ·¾õ­o}kkkkK8ÎÒaD*ÜYâ‚#\dLŪ<×UUQUU‹ŠüSU‹ªª(ª¢*ò‡*R0^¸¨fŠx)ðŽÓ7)§ ÞÕ[’—6:Y€��­­ó�Fc£·fxkòZNÉ)¹\^7VWeÚÏ8ÄZú¬ÛÀò~�áµ}{�J¥R©„{ÀÞ^ æ_¾~H LB²#¤¢Û@Ò(ÿÉݼsЊ Äœ”:Û<ý!p¾Ñ]j¨îÔmjUÛ®B©L¨R%gª&R…j­jš‘#bš¤JÌ‚IL“˜¦yš²&�#™¦IL3¡ !gŽDp•�3Ô®BµJ©9•BÎrÈ +„<²pD&!ª2I`š¿™�Ì‚i’«´R©üRÀž^€{oO&h¬®6šÍµ°�Ò4MK ðä“ç›ás­Vkkk½Ñ‡Ú}ß[ŽãHܪÂãØaK˜«ḚÊPaŒ�´øb#©ªª"Uúª¢ª**ª!sŽ**;/x Ñ›ÛãÄhÆ£?6d!@¬Î7ç{[¶.µ†GûÛ‚åß=èŸÐó'e¼ ¯çóù\.§(š¦å`@Ä|¸ À9.jû5²e¶ì~ô`0Ø�>ìc #MÕ €§\1¸pàš(LI¥îÙl6chªªªºnh¹\&ßxòÉóáúF«µµ–øÓCÿ­­o}ë[[¿÷­­­oI°´äÜZ¨Šª. Ìâ€S1âcŽQ!¤*ªE¤ªj!ŒÔ"*ʯ‹*Â!Ça•"¾+ÇÃ�Ø~Ç hn´Z[2°ÑÚØXouг.mmèû,Cïäû‡|Æ—W Ãøòê׌ÕD膬$NÜýdÌ ]ÿÌèNœ{€÷¸x_gý ð}¯‚ï@€œ€‹ªZ–+++++/î> �N1''³„�G"ú Ú¦Ô"„TÊ–ð(ÀÎõEJ" Ð&ä!BèîÕ祔F×hD)™! T–Ì™• +Ð6�‡":}ÏCòH…,< +ж)�l •J¥R©BjÑ÷ê”D”H�ìœ!Äz„^¿J�~ƒF»jý& ¿cB©˜fÖÌÑÂôô=Ãð?ô˜ÿwÜñ…;î?v»öìþ;º¹WbäÞûn½ËÀ<�ÕÕÕÕf³Ù ׆&»×r¹\.—Ëå�'ϯ…1JO'&ÿ­­oÉó_`kkkë÷¾Õ :± +¸ŠŒ9Çcc9FqÉ9ÆáŽPU¤‹ETD±"*2†1w–R•"æŽïñƒÐHþl47¶¶Z-Ù¸!=€ÖùFã©�Žõ·Z­��§{ýýAäû�{}9NP×óHË£|>?8\P?<Э\q0â~ íÓ Ô ô(€•XÁÅ€\€e†5U-öµJô €8ö_•çcÀ4Í +!„T ©BNB Éê^Bèô£ä ©"ëv9s†B BˆÙ­ "„ü6©B©,H³­THç§ò·R­Õk5»ä Ð�ª „„�ø!Ux(Ù\ºfv2kò,ì§ÿ÷Þ{'î¸ãŽ;mó?vìþûº¹Wº‡Q{�;×@NÉd2™\.—Ë)™LF3žl†áz€ouŒ?1ü­ouG—äÇÁ"€« +*"Ì8w0œ1Æ1fx‰#Œ1à sŽqQU•㊢¨r5æŒaÌ1^r0ÆE¥ˆ°çÄnðžß‘¾a” $ p±µÕÚØÃP¹´µÕjô`cccch 7'Ø9ËûŸ‘×õ|^Óâ1ù¼†4]Óu¤iy9\HËçóz^»]ô(1à€R c\ÂÝy`H *¶ìÁׇ÷(€½AÀ ®Ã]ù¿ ª0ô=š©L3›p•ó49%+öª„@4M« _EÈ™*!„T« €Ì™• +é[eùÐC¤òP÷‡æo“ŠE΀mw1tµ@ € �3„<„ræ€sÖ$„�Ó1!@çöÀ½wÜ1qß½÷Ý{ß}÷ÞqïwÜwÿ§Àý÷Þwï½÷Þ{ß÷Þ{ß}÷ÝwgÚfp,pÜ(€¦ªšš“ 3–ÓóÆjJ„ß~õÛßþö·¿ýíW·¶¶¾ýê«[[[[¯~ûÕ­oÿ/¯vÐ5ÿ%Çqz‡É÷½3¤¨*Æs†X03�–±"Æ ã¢ªŽ� €Šˆ Áư`s‡aŒ„ñcbItdq/dŒF7 çy?ÕÀúúÆÆÖÖ¥VØÀ–,Øhµ”L²rñR’X`¾{øËr a1]Ïçõ¼–Ï瑦éùžŒb^Ëkèv+€/-ñÖºI±w" øÁaÐQ¸w"ÞS t°xj`€3CÞ©!G''³æQó!yâ�387öĽ7 +mùH H€Ô€“*!P†Ã?Ýù -À…RyÊý`ÆWpTžM̧€5ed à Qiï§“(+cóo^êT Üd, €·€w£³Ï´@öý€…÷ \À|„Y[¨W‚€€ôýù÷\+bfþ'Õ¯+i Ïcô�Åä‚`ccE/{½|…×üB‚ù¿2HP¬ŸÄ„(+—‰œÖ_[èÄPW+ /jã­—^c«²gÏýòƒç-·ßƒÿeSÛ^Õ{i<ë -8âNp+f½H¯Êÿw¨âææ'Êú€øv ßS¯:¿‡„5Ä"Øö|ÊsÌ>æ (˰ -c�@+šn…ƒ™ù¸Ð -W}TÅñä®îè—/|5c:æÇ�ü_TBF½d`nÊuhO[ÞÿÊÊ.€�¤¿*ø±`œÞ±ß~Œ$0†ï¢–ön@ÿXai…¿6HUØ•¿+q{—‘„ô:KçáÖ� -´sewmgIüE×±¡ÍS­¬-Aôîü•¥¸Ãm%5ù_Ooʱë"–;tcñ;Ö&ú—Ô3B Ô¢4®Ø 3€Ìû‡dð½ˆ&ïLïgþ•ä¦õ� Àx°?„¡túi1³VïË~5?Öìð¿9€?!¢OûhÜ7ÇD �'¢Fصï�c&ž ÖüÑö'ÓbP��„b¾+øÁf -€Éµ€~—M¶›³�É8€€+¡ -pbीÁ»=1óܟγ·p?=­ô›üþ1w»Z´~ìñ^Nhð{  ÐQpw3¸{ž�¡Ý{ýã¿a±ða„¿œÀ"( e€v XiÅóVÆJ¡‚ýç’ÐôIê=¡˜ÎÐUQÐJ�@€€Ù¤z#(1§§eÝ1ÜFŸ=�_Ð~wÏ›™`úþöæøðàðäæÞ§‘Àx "ú½‚CE æ[Ÿ|²½ÍËb{àJ¦„7ŒÞ¾è¯¾zÿþ}àŸÜC €çÍ Óó^ê5Tæï¦èИF9Cô—Ÿk»kkÂ\×§¯,­ÑÔW?l�#àhÉt›î@¯þðúû飿ØøÑÐ`Á?PÀyõ:ùòΘ }µ°¶º* \Z2¯í¬¦«·…ý;�W—o‹\ ðY+îÂO¿²*z°³òX¸‚ñé)èÚÎ. í -vÇ8¬#s*¦r¨Ç—VÄhV– ËrÝ©—à‘ð\ø×Ó¿  €øŒ@¼Çœ POë¹Áå%\ú*"_•zW”™4 þ¯w¼ÿ€ÿ+Ëà¼Øä}´zt®éHˆúw´¶ ÿ[¡¾¼�ä|á°/³ä{œèAû&2ÍE ˜³­™ Ÿ -3€xsåÈ1&tïÀ|ö�{æ²ý,CÌC–½}þ@ôDLà?µöב;9›¤Ãñ­O6ˆ¸rv¨0€—¨8JžÃŒøí‰™çþx#Ìô=A+€Ø@W+~øßKc¬¶cò -Àò­±±þ±—j¿Çw¿J3`ñ»(­wy@'Rãm6ÐGàRØQ€ÌÊ7 <ÇHÀ�úÊ6*OKó)ü…22eˆJ À± -€C¦Ê0I&€wW¸((ÊæÃ¿í¯è¡„:€p„ÔAXp Œ(@aPïU|èE  Mˆ~Ò[ÞØcð_[?ýi &¢üÚø_|©qTª”:SÄ.3 TtÇÈìÀo/µŸ­Í½­íÏö¶¶ö¶Ý÷ý ð�0Ÿ™öù`Û´ëá6 -À`ar €~\ À&„ýzÇ€ÿÛŸlB—E››Ÿ>øt«G8}J§q~8ýl¼DÀ/‰—µÝhö" -À2lî6þLn 7@7<ÁáW–o?~,ïœ5!ìG<ëµåúëG`n ?÷°þB=ÀOÿCCcà H«+ Pï΀–våæï®ì¬ -i ðX¨¯5¸‚�ô±êµå¡Õ9T!è„Í—wõ_·z{yWïA¿«ö¡*Ê—R¯d´fGåÕ΢ -YÜÕÍ€É9(­„áf|y3º–´pýÌé vô'´ôý-ï,/=v@‚J½6&ÏwiU”&˜}~{ÿ¼,;Þ?‚ €WÑù!=sýçýYü@–�°ÜîJ«€äD°òK}Â?‹@~\“iUÈ©y¨p¼@&O¿íòwOY@{áß{2S.ÿ’À² €¶n‡*ãÿ÷Q®Ëë -@ðÓË~5p¤€^ÑzI˘³®e\„�¬ ÿqñ�}Ïùt™ws83ÂloŒ_]ßzð0(€ß/‘ð~¹ú†€ñÿÓL  -ÀeÐ[%¼dN¿új‡A0–`œŽ¾F|Ò àw[³R€¾*@¦ná‡Ô1ðœ&–=V˜Ë%JA/+ý‘÷ uþ¸.Ð÷»Eôami(bº‚^«ËKk« °:&/Ÿ·‰Œþ—ëžtí[Ë+ã D[Á¥!a«rZ–�½²º¶öxLp»»ëøåÏNðªâÐjtÙÛ·•Fÿ®rÉWVn­*9ý -ÝEˆ¸µ¶|K¼cL3nQ¸LQUÞUªô©!Õ¦€ý'ýûÄ{ÌV4ˆ‡Ü~þ*ÈšnnGÔdylíÖ-ÿl)zÿZ#yÀŠ»²bÀb¿ƒòs¼;üÿfÀR€P<¹i€¾Æsïaæõ-½ˆÿþGLˆŽ¯Ÿ a-€þI;u¿§œ þMSŽNòÙm9¨ïoÊ%Üo„ÿø° ÿ!™ÐýŽŽÛ&é¢< 0|åÌ`�ùÿºÅÁïAŽaáe €‡‰™çþ´÷ñ*í¯ô @d2(øÁbÄ¿!µýbôCºî ƒxS/0D·ˆú9cTž_5~E�?øß¥ä[’bØ“€•,Õ=¥ï׳|H­´%”vP]Í}²AûÅQÑWæ�­-� Ž„……þj ”jçç"MmäìÁ•/ªÄ/Wˆ "*±DÇü‘®ßÏëÙ¨¯8A¡@ãŸF?q�|5žkmpzÂr웎vl±øU¤ÛÀµ€ê%keÜ#[—"ŽÒ’äœúç;‹«Lh„k_rˆöOë�öh«ýÿgè§´…WüzåÂíÞöA…ÚNZþ½Û«WÝ:AüÏc à×9báÿÚÑÍO‘˜~øßþ‰²Á•o"zržéþ&u( êŸý½ÛÔ¡ÉGÄRq@ @Q ÙÕ3IEøºà›×%ÐUVïæ—£ººèŸö¾Éðl €g‡'(8ŸŸ»ì³í\î¾þ@æù.@÷sj@7= ~9»uàÅ®_]ì[Ò�¤wþ5Ü~¼½û¢§¨9G,{Dÿüõ#ϱ(þo·ÄÐŒA¤-¥"ç¬^pk׫±€¿“ ­gß:J7ã òîÖøz¾|?CŒCv@/G¶ 5Tîe æì'£ B€x+UoÄ™óå¿:  ,“¸yñ÷óÂt�r´÷Àã)�‘RT8¥…Ži¢åLCÆ�öÏOž�˜ `ÉUìÍäAy³xõ§dÕíÓ‚‘@«Öz/‘ŒØ÷ -üç�ÐÀ<Ðî¡9¾xlêÿ—,_x�/ÃJÌI‘°B7R°Ž@ÛýÃß›Ãuо@*”÷¤{H� ûõÖà* �< W÷÷Kõo‡²@Woœ Àù €gJv”Õs¶Ÿ»ì³å¤vüŸñ@›ð‡ @ ÀÿâãÖX&e¡ò‘!]ôWE€ÀP£A‘ZþúŸÿçÿW`MtÛ_ ìíuåå"~i€„ôØ`&m?±¿o‹Û·ÊýuˆúÅ9Í@Nûo¤±P¢',6–rÅÝnÀã·dfo­TÁÖº@Û}õ'«ùÿ‚ö�$±ïgóõÈ…„ÇË Ì§£¾#¸Vš¦ìVî'ëåj:œÍ6k‡4Ö#ã¬b  ë -¹¼Dž#÷âÕ+¿{,Àˬ�CA]?\‡Îx¬ýw@×4=ð¯ÃÖ!H©ÃÆÙ¿cÏîô;0´\ÔoX®A ®ÐûøN¸x¹{‚‚ÿ_´óÒ-¯ý²¯i|‹`ŸH„Úk‚:Ï*�š ÇÀ-õkn�‡ð7ÂýÁàÕðMoßpdöΨ¡þ>5ÜRúÉê9ÛÏ]öÙrRÞ8žñ@æpçkVúÃæ´•§®8ØŸààÚ°,ݳۊw„¢ü‡Ê -Ðo‹ÅðŸþçÿggØ{ À!€çY\wû€ÇsÀ¼¯Yê�¦Âús�¡2ùÑñ§OÒ7>îüüió±¢]4Tç`ܹœZ6ô¥ôe)ú ßÖøovo4îÁç/Îøÿ‡¨+†Þ­ðï J1¼´gpÀ£·"ø#�ýˆ# ÉN5\£’—ce?ç¹á1ê÷§¨8Ï€Àp>Ÿ¢øÃçÒ—ïÉdL{t�@t{rõg£UDÖ³¼–‡@Îßæ+¤šåf6ÞLÖH %ƒ8s!§{Z m�Nôä¨Äó—ËP!9@®# ÕP�é.8¨ýôg·@Åw4”~œåŽŸ�¶DÈjÈiÊߺ/g€¿Ð< -uÓîõh¾±ô?>&XNÀýŠù$þo-±Å’ó ê&Ô@À²ÜÄ:ÀÕ½¿û/[öÈ”b(о9 Ϥ§™€Sà¯Ð,4 @¶;ü¿x·>x5Ôß§ƒ�êÙaçST?wÙgÛ¹Ü}Û[´Úß;àÁ: -߈ W©•ð! ûòdO‘¹ø@&<¶D9–wû€šà$¾» 'ô•9ÛŸ@zúX -½}ªGƒ¹îTœÝæx+¤³ò$—3òת·]ã~¨×?·†è4¼Ò°?ø?=˜Ѐ88macP6ÀÝYj€d�š.±gøoµXB¢Ä°�`€ÿ«5rÿUþ�X2`ûÀ1 ­¸³�ðÌuöz¿vþê•#ÿªö{› k÷w� ÿ"a: ÀÍí§n! -®8B'¡‹ þüù`À£·”öÆükxØ U„¯ô.ébæW¬ ò¿hH»]Ÿ/}+UÝ÷L’» ¼�ç«)· ÿ~‡`WSn7ÍÀfosºd�Šò0_߇çè=ØÓ¢ ôÂ(D°sçæÅ�Ç*žê@Ì€ŸèÒH θôÍÂ¥³äYÈõ€®—.:ÔŸ¨°hp˜L棥ÉÏWÃátJ:³õôr4Z!H’ê0mÔõ ¡¸¿° €ôŠÖ,Wb¼ �tÔOÂu¸õ‡Új¿IN÷³Ážü‰Í7E|ÝNpGCñº­¨¿cïŽëp•#V6Ü&¹ -«lñ’�,�Â3À -þG()  ÿ�’œÉ¸L/ÛVž~]“ks-íýÙŸ?Û Ø7@ð�à€;*?uBÕ~ÁàÖQ–Ì˽WÃ7§=?fXøÿ¢9RCý}j@XTýdõœíç.ûl�ŸžOXÞ@ ÷y<| €‡ï�˜ÐVüê€-µBî“z¯Ð/hª[ y àÈ`‹«âY®<²j^a¤ }e¾_²(Ë_ü|îí˜èÅp5 & S¬:®P€øî,ÞÈSo#×SôÔÀù¿ÿoœpü-€'×xô-€�àÈ·,Þ ç8ýoßP@½°gpÀ÷)J E”ñùsž°P{±P�Ï›°íòâYç'Ày†õïtÔÿq±Ëà?úÞ(ð'¤“în¯>ÜÝê†2pK±f¾=wÀ�~8+å[ïz»ÞÅ^'‘!çx§‹jÿ§^ø2u�.Â|Å -p x¬Sa+Tß ‚} }‹Mu9†rà”tyäçôwAîøTUïH@nuž~{—ºµçýá¹½Ùð5EÏ,7T?\ñENÈ‘ÞÅû.ë¢!áoØbUöœ­çË,´^¥ÉŽè’'—¼m[f�ÆæâjÀÿ)øÿ³ @pêÊÈQ©Qø‚[­1iìkÿÁ}¶:â Øs÷ÅþÚøk$Â7;§T›þÝûrjWÏÅñÚÒ€;·Š=$ìž{¬@Û˜Áÿ=Å}G[üïì;) s€ÇçoIŠ`—R€_d�îÊó%ŠQ¥³(ìÿ:ÄW L­ -pHb~þíç[d@@xwqþÒç¶�þ5(”Z;´ùmî²Ï¶s¹ûú[eø+| àÁJ€�ßÐpv(< -õüsÝC­£{°—5�8½þ`0ADº Wñá²»òcžBC 7Aï�Â(«£`—BÀWæ±ÍÐæè»µ„y’­áˆìaÌ5¹K?êåÇO¾d(êÛ:Žãµ «,OϰB,©‘ãøÿ Àû*´e xß¶q‘c; ÀvÀÙþ[ -ßbàp÷K†ö¹ÿôËGÜ¿Üòù ö…ü¿üäóÏi¶O7œø#¢ÁnÀë^7@OewFgv÷ñîÖ -EWø‡�Ÿ?Þ¼ëŒå; âG„èàÿÈBû±ž¤`x ]Øù½V€ÖrûnMÕï÷çóy$ �Õïçhå~ ¥’£ü“bRÍ3ê£]ÏÃä $¢çG(Å˽ ?\ju€¿È ‚iéÒãÅl>ì 'ðâàjº~;*\Ï–Duf5±ž-Ö›ÕhµÐ"�Ø�g— Ä`ƒûÐ~ˆ\bëαE‰ ˆñ”2µâ= W´MËbâcg’…Ó]”~å:Ë(ÙIvÚC~ë¾|óÆ -ㆂNš€3[nZ±¼|ë¾9i°m@@�0ÐD‚r£ì ½Âýá9'¶ôÃí)Úç¨)Ž<1"~@½ -8C`rÏWÍ·rÜÿËL*è(¥Ö²÷ Ý‘’.É;?~iª üšðÑý�Ú È97ùÆ×ÕðÍÉžÀ÷*_F ô¨�!ÔúÉê9ÛÏ]öÙrRÞ8žñ@Úðƒ·ò ü~ À¤›p`hëh ¿�t½O­¤Eà½üW?¶tópØ›øîwu yÿ›Ñ�) -á”ï{€ê\¬ä™±ßŒ5�DlöÌ9µÀá·L“ÔÛ�_YD~¡o{ÎX¤&àã¹,@OZP“¹p @»·öVÔð{bÀv»°Ô™ý˜Ý"µ–{�æƒ\ 'Ýú¿ŽÖ“ÑÜ>WS+4~z@þ; €…ùÊ[É0döÏœ Ë_´P{Ï�€{ëYŽW'Ÿ‚õ¿Üg¿Û'×äUûW*îãú|÷ËÝçO pÇvwuq>¼øpûùîÇÎ`×a·Rz÷.·ŸÓUÜ}üçÏ7oö-¯¾KdÈø&á,$ÿß6@@S$Í/[¢ù—òX§i#š®M! †J÷Ùô=~h6^/76hÐ -©cµæÜp¨G[$iÿ٣ϗ`êû©â�3Mpìky³ "6@±'ÆÇH\:Uo²&eEƒÒ©ñW&µµ#KË4"ãˆÂ-—TÈjCò`óxñ÷~ã�W•V|õÄ?¯†å_q ë³h«¾Dýô€9Û Ç˘$èVU­2-5ô/N½ðwë|[KxŠòE`[î稜ȟ: €@éñžì»=¡Ëww®À° —m«’?¢øŸ_í¶-…ço ^ÑÊàŒëJ¨‚l=8´ºyLþ»~ø®¶ÿê»|õÏw‘¬ãv�ÊÿÊÇP¡àñý-Å_ä¯_,YÝ£¾¬@ À»wǦÃ|…êïSƒÃ?ÈpðMøÑ[4Ûßgj€´òc+Ö[t,R++´ý—Ü—š`—ÑXô ½Fš`øØ àÇÇòH»�`_› T°›ð?59SÎ&Oqì,ö ðÑ€Q€±2Ž#ý[€ÄÙ³ôŽ[¤í·`@Ž-OÌ(þd€ƒ�¡h) ¹ÙR¼NÍMæ?­ÿͱO;¨ 7Ëûh¿h]=Âÿ­òİÿÀñ-açØ:û€oœïûϪô¢ýÇÏBýG_þèëë¼ï>û„øÅ%€rN„›š Àv¿é+Ð[à}éݹßÔ -�®âîãg€žêÆNØŽ¤«r’û¦¢£§@瀖 Â; -ð?e8ŽXTem¤ÂšMU>�ÛÒ׿¼£Þqæ¬b‡½Ù¡¥OÚzZe@:GÁ~J+q= qÿÑäR0 FúÞÁ2ÆtK·  -õÑö °DàYÊ¢¾ñ`�tà³å,Úñ`Çõp6#ùN -®ûybSèÈÖ,)§ $÷ûç¶]þ¾@«i%|HgtCðæ›¾h׈KV¨³ýta“£©m ô/ße ë äTÀ¢mkþÖ}v´WÕuû£€:ÛËwwîÉ.\Û £C ôÛ!?Ÿ­ÿ™öÏã·ú ©Q‚„O”��/ùzi+<$�¾°þ!Eïï,* @�¤í5÷åüP?>Ðп±ÜÖÀy›puáç ^l€êïSÄ®Ÿ¬ž³ýÜeŸ-'µãÿŒ·"ÄÒ÷•&ý�ëÐQø,MÇ$´7 { €þþˆ°{¹ÉŽá†âIáX'À­d¯`˜õ:¿j�8Kù@±—¬°ÿ-€$l²�ƒlžœP^ÉNtK%èûÀà-ẅ? ão|á[Aîê÷ÜÛïɈª� ÝÄZMó) €ß`›o[ÜØ=”vÃÿÙÎxhhY~Û€X<ÂüQ UùÜ9Ûÿæß–à÷É)ÿ:@ø6ùÍÿÚKŸ¼ €s>o_¬®¤‘ý=Ûù»|jè €_>|ø¹ÐN¨N -åÝ?}Ó7Y€ùHW ý½V€Õ=PÜEZ„¸J£¦�ÒP ÑÙS øßõ3±Ø*ù¹WtO3£‹O]{Hûî! ˺̬…Òwy¶-ßÓ®44¡Ô¡^,_Æ·f d´] —S¹¶‰Ò-‘P¬v5�}†< -iûiÿÅg¿w>LŸdë=‹õô€V DŒ&øía„á"gÂw€ž-›?+±|—Ëù×$€Öx«ýþž}ÑÖ°§Ðs¾¿×qäüÐ�«_ MI¥û�£ü‹éoqhÿ×à‡úâWXðþÔž£<+yzŽm[ü加½0o¼\ÉÀ]7é/hg£Û’:ÿUð¿9j!¿ -âwÁðÍ$Àoš»ÓPŸ -muyrܺŸ»ì³í\î¾í-€?n@:„§ß ã@‰¥úowøê„3žÄ<Š»988b82 ,¦~ëø•uD¼Ý€Ý$ÀÿX¬ÔÎÂí`€<˜k³„×Êò± ëësŠÊv¡¯Ìø¿pGGC°ÿ{Ó -›û€êÎÌQƽ;óùúßFëéÖ@!à¶í�—ðÿK€ý9ïßÿþ·XŽÎø¦u:ï{4ÿ�Ÿv_üã$‡ö‡¼¾#PŽþ«ÿóD¯!_ã+Mâ:Ü”Ü;�Ò™” -¾PiÇÚŒdìÜOªÃXÄ{|{›âü—ãÇ7Êö‡€‹wo^?ç9}D õ÷)øßõ“Õs¶Ÿ»ì³mýìJ�[Þøk~ `»ñ³çt4¯1Æð-D zaOždë¨àsR²ö÷ðå9úm-êÖÒ¿ÿ�—ÚuŽ/̈W2ÄÇNÅœ¡ñ}Ö©³ÈïWæ¤Ôû�X¾?bÍ#¬ö-ÀÈ<‹ÀßÝá€#o¤0”îÖ°½”«ÒÔ@í=o@;ì{êÚÂzG{Î'(o ¯´ìÏzCôg®e‚Z£ñúèÀÏwwŸµl‘ý@0~$ÝeÊSzñGDÐ.À¯ðB+€'êâB×M›f;]émÈ“±‹éLPF(Àw>D‰ÏTúeâ-ˆ°åZt#eûÕÃE'£Þ€È®‡ÃÉ�~�Æ5sÁ]—åA"0�fkîkP‰ )<Îæýź¾^,W")Äå%€<ú€Sã/×q œL�#ÂõÈ/ó œ(ì…¡ù¥$€-–8Ž P¨t`iø²GëåéQqÉÓüß¿¨R.VICÒÃâLåÒÂàr�œ’Òø�¬n×ëGÚ¿ÞAµ'7à)�9m÷ škÓê È›*ßm�O,çºÚéîRšÿò��èÿeß÷3€-s¼°g€^·Ïø«ýC±¯åÙý­ŠL•e籡üÃ-ïþù€j7ñ°³(Y4Ñb‹ø5ð§Ç£øWü5ýOLJ?Þ¸Ä×ÍÏ®ÎOý ¤à›æ„ìïÑvÀìÄñú¹Ë>[Njg ýú[mÀ‹¿@Üæz@»9_]€þþ `2DÓ�üƒxî9á‚lZD¸í€Îà{ÜÐë ×ý¶ˆ -@êWçä­¹ÿðÂÔc¢Þ`S –Ä[óµœzÈB1”�+Æ�½¸ ™8±‹x§OséuŽP_ Àƒ·ŽÌ0Mï&z¿"]¤²ï,Ö²õœæ³gØü›s´„>¶ä`¶†ÿ³+ Àñ9_µè|š`:̵P›Ï›Ðûžq5P •àÏwŸïoêc@ö6ÛAà_ň_³@Y ðóç�Wç]�ºA¿³0~椇£¯kÁ^Deð/ †‚èÓ¿ÀK¬PX�åÒ6+”ŠÝi7~SGôtl››qÂãmgÚæTi Oò¶‰�ÕÚlï�ç3hîŠ<ƒáTc��[Æ ?ûBéâzq½^lÌQ�}5/ü.1 ÚÉ�P…Š£FËWýr©È5¬Õoô&ädÚËÊ€ãÙ†öCÄ„HùÒuôå@ †½kM¤pUå¯�N-z¤_¢“Ž%ò= %¸¦¶•ˆåoÒD«õþ‰Ð´®¬ViCOeÍJð‘†ìî¥îíngØió‡j}íŸ?e8N>ÙmÎûï¤M™°´ÌP@¿ž�‚ïŒ.º7èÕé .ñ¿=dÝ$ÀÂ~iïãZÝ�îhrùáj’_„Ä€®p‹pã€wÝ€��ïÅÔ`�ª³ü*¡R)™æq{¯Sµ“ÇH§OÇY=1BuMˆþ“G[ÍŠ`Η?BD8kδ?à @)-�Öèˆ8ïTù½}Û¶×ÚÆ?rÁ¾¿�þøµû‹öíÿ¶6$�,%ôá&ʹäȇ£FÇJàoàØÌ|z„÷ƒ Øwùdmÿ[1› M¨²Ë�¤.*�#€+±_R@ø�uÀÿ»/µäšß4üÖ!€PÃý-Ù>ƒèF ÷¡“�+žƒÞàÌY7Ȭv›'Á Ƹb‰K?L—z†€«  ¾*Bð¨G~¹Þ”ØR‚0þ7øÇc_ûG0ÙlZ#:JçàÖ^cÞ_âÞ§­àP›ßž––Ÿ€ç‡€ò,&Ÿ$ñ¾~mk~PØYò<ìS^ Ð8ÆÓ¡�Á2mf™àt¸ñ§ªº“"ÓQØèO�5‡‡QŸÇäƒù1((¸ �öí�sj%À«‹w¿Ç5àoÔ:Ëç‘jXï$UúÔô·Ãŵ[pj@ªóþéÉ9!\áÊçR•�oÓ¶OõŽêùvÞÊíô€2àÁ:O¾p|Àhè{@öè…ú þ¹â? —s¢]?| à sô€v;ˆ'ù̧è�pvæ tZ þµö<4"�úg·+‡ÙPÞ`9eѬ"Ú+˜²—õ¦e–ÄN_\"•о�:Îý{L'}WW¯AÂ)ùÅ®~vZ À·”ädg€?Ù#Ag0y3:´dÀS?ÇÒÁÿ/Íø}ë �X~Ï:�=q}‹ ë\\ÝÜýË}›`?â>¿ü¿ñc€·ùߺà§O¿~"|ë_PGpnu“$P]Zö: _×-ü…ÿÊ…‡R ]#À ¬+tVMìøÅ¬ Xûc¢hsÇo8Ÿp °]o”@ÒËšS©«¦K3QÊã^•nAÛ -‘pð�…�!‡Ë ù9ñ_Ⱥ›iæõÍibx,®— |Ì‚°èì„ð•;ž±¤È/ˆ×ðï5Ü«õ¨?çË,0�k\ë%Àb×+ç(DÌæ›ùÜ‚ätY¢?4žÚ-ÒÛDl–õ"`šUþŠž‡X<8ˆÚàŒª“;ÒõIúúÀúw¤¶¾¤ýo `âS?UØ¢Ž‰-=Û}°£ÁF‡ï´ùíþáöЗâìo_�:áxŸR lþ^¿v½žx+ïQžŒ^Í“UP. ÞE^í@^*àØù·+º¹à3wª! ‘)vL¸ºDï¿üÀþêG¥€� -WN¼l³Æhq¾�ö‡òì<‡Ú»¶ºœs£ží?pVû »PtB„=EûO×ßëOÕRûdÏ�káÓëó =ÜHš §y*)CeèÖ #~É{\6A_Àˆ�Ä©ÇoðP>÷-€ô=VAíƒ�QŸHP=uWØß$¨=)�*Y¶ìÚ™€«˜"_ô‹™q ~`ÊNEܪ»±é,FîK( y¬’„k-0)Ÿ±(Þy³•Ï: @ïäÀ $à�[[ÀSotAü˜@¡r0 êJ‡sßpþ‘*ÃP -csˆó)l-ü¹ñ¿s@\‡žåj¸þ|ºßY>\½îà_¥¤�¦Í7·Zÿïnnï|ÐIƒÕChíÔ™ÞIøgkS²;nøJïrÿnQ,CBúW¬Ñú÷Ã’³Ì³kãÚ«!ºôtÛÄ<Ë„fËåd¬à§r«©Y©jƒøOóW� �·ùÿ“y¦ó9Ä0Gþœ F«9¨9&ÉMüD ˜Ï—jÓø #,~I}±f’±:ŸLzÃín¾p|Bù®¯3r@Àµ/ ‚­å -·ôV H.hæ«IoDÆÊ1H‘m"+¨øÀò4úÊ-�bÐÑÀ_ýGû§$!9RfrÙzB€Åò!>Üd`eYðO1iÿТááñßNøƒè¡`»¯­s'ÔÁygØÛ¾fè„€‚ýι=ÇËÕ,õXl01(kø5 Tùö=& Q N «�ôÚ³~‡øY—swºG@þ仫“Kޏÿ|øßÞ, @­è,Àßg€øCÕU>ƒèþEyÁ† 8/ ~xÑŒÏN„òþ9g Í`Úóu5žR€Ûˆé÷7°ƒtì±ûhÊœ? Öxò-€c€œM3‡à_¸fxPw�x8`kp „ö/ÌØˆÍ¿ýSg¨!€ØÖãÍ¢2«' y<1÷ÇD©š`BaÜp(Œ«-Ó�åâqÂQ²*\Ÿž"ø(LrŸWÍ’@,‹CµÚ­ûü+ôHÜ']rRH.±P�dlÍVf€/ÎpAxìCíž¶e€¿îÓ†‚ÿÕÁÑ��;¦ùî�ðŸ¿/ñó§«‹NE0R=Dôhþ÷ðhÀW°?à/èïœ[ �þ5+Àž�ã5wqñ^çb¶ZǘN¬qóádŒª tšÉ†0¿¸1<{õNUt�Mæ^*‚Úy g5Æ×ähóÉtê €)­v*gi߇Ӕ�–š?"�,(Rão±D‹w† Ñòò`8ášP«´ @ùÆ=.)(9Óm1‰`³Ö`dä‡õ_æ -5#G4YªËð«™ eˆeõP8Éðˆ€>—]h¬‰aåàÔFr^"Œ(„)˜Nè'´êq±pVüS2¦nÿ0¢ÁîÍPÛ¾®¿s—kwîIçî¶'%€ˆµ[çÁqKNÇ‹-î`¿1¹° -øû¤ì~œå:B¥ök°¤ºüô?û’”üw�V³´³=º¼ý�~-Zb¸»ût¯`Ø{3¼ø1³ï@¨áÿ FÄ­Sw6Mö\ ÿ^¦—=CÝr‚ðtħýsžÖaîNp:Å/0ñXÉ·Kõ§àìñå�àÛÖ 7vs|ÒDŒN¤Ä©ÇoX¯g[ NÛ¾@¾YjÀzŒ·ØÐ(ú–Ô»e­vÍéàæà$˜®ÂêT5Tº  ¯ùæjíÄø(‹ÈfŠ""é0�HIúÿC €p €­âŠîà>Š7ðÈPUŒ"“̬%n�€¬Ýçˆ _„¡XƒÇ@Y¬Ô¯¼@«lDR´IeŽÇé6wsl%OÎÐðŒ99?ô,W¡ú `ˆp{÷YÀ~EŠòz{.ú¿{óö6#w?ûÝ��±Ü\¼®Us: Àžnbÿ“]TBÒWe€‚~wM -`€)j"À3­î×#Ëóå„°ùêÞl®â�ÇÕØš“Îìz³Z€�»!€T-�±“ñhçÞLnX ±Š"êÙ¨Ê4?íôK`ÓOGW†Ô’gó@éh2œ]/׋k`\yÌÎ~w€¾Êæ^\kÓçª|£qäzƒæý0EWX¯7ð¯ÀàV=9¥ÁÇL¡“æ&Ãé‹l¶}Ÿ¾”‘=÷À¢“C„+�“¬Z0š DüÅò}É6p£CzBû½{û4ýáÀ� ¶ro÷q<>?´4�/M»ž�î9éŽPš=%Kû�[(®_ž�N8J ò˜‚ûu¬Sá^€'Í]¥¾µù?m¸úpùa¢`‚Ã)€nþìG>ï‘®.Þh¸) àš�>þÔC i²K¿Jg+î#ˆ J± -S€�^øœçR¥ ö‚˜XÎo:E*ßÛ„ýÎprä]ÀÝ€¯¿pd k5>ŠäÒ·Îøâñ=Ê #bˆªÄdg05l CpuUE¸–¨ÅËö¢<ÿ­€*°¼ùCxîa…„g+õެXà N‰K SÂi®ek¡"¼°³L5€ð¦›*¾ý¹ÈxøÓï� €¨J$ãE`CJÛZêç Þ›`½ Ã{€ŸÖÿ6Þû@:ÁÝî,€€Áäþé-€ÃuÈRN!ùnèpŒ”´¶ñƒÛ¦ÌóÇ|  y–«Áú³©Þˆ ëØ‰Ð¥t¨Öxsþ±ìÿ®x»³Tó§?©�X2À>S�h�wK�©p‹ÿ͹“: -ð³6 åmD/^.Ð,nÈÙ¹XéKm(þs„v�kIÂ9n¾0ž�|—еni‘vFJÀÕ¹ž¶åûÿy5î"€¨ÊܹÑr¢Þ |–°PI^Á‚}ˆë8Á߬æ šÖ@þrIçÓiï§8ž -çAùA¶[æ¨ú\×@Ê1ÿûUc?<í�k.#:<íB VHIÛç®iá>ÞÊÍŽVòNž †C<4d6ÎRFH5VÏl²àaú ¿åuŠ„Ãq•/hÿ’ ãwàŽëijE9NDn%ž¹W>j&Ÿô·øÏ#VrB;Û£XÄ}-l¸þ| þº·+èõ..þÿî9EÒË?ƒw–Àg®ò×Ý\ ý¼VaºYÚ0Ê?ýdæóÑGæÝ)¥€ Š*þýþÜ0ÑÖètw[ë±mù}‡É‡é?öh8�¯¦óé -=ü§•€b4]³ªùx0_£š«ƒÃ < -ßÄ“%&nçS¢¥щŸ^7Š-숹FŸ‚ˆaÀ”#a9ŸŒím”ÄVcF0Ê5Uÿð-k1gMåA—¬õjYVíÍ›ÛÛðÿîög—þx�póîMõ‰üÓn`:¸@?Ú�&€„Ú§gô,ëuÃü�Àh{‰€ë¢ïL¬Ú�\y¯)I"¯®×¿Œº— µ_�hÃÞ+€3”W¶Íjº>Ù4ÿKnØÌ¦B£�‡ÉÔÿÀóhª0_+7þdêáWY`9š+R"f‚žÚÿµ¡/'0i¶"éj5#¬)|Éÿ b š¶ë:û>âÁZ|¥(¨öx.ÕÉ}§p…xáÁ’€¦‹Ì0¢ˆ±OÀ¢‹ðÄØÊP5ŠZ-M'k�Ðì×7ö–Ïøi6»ìSí\ƒ�#Ï`½§ÀÆ£G3íǺ֓§ü»Zåè@ >ŸOV@5 mpG<Áv©ö×5àttòNI|Bÿ¯’O®óÕÜ�ç‡ –<ܨ•±)aÂVRòWh€´ƒÝáQ•qG>uRO+@sSHõQb�™ëƒJUÇHî“Bc¶H-0?x @GÎêZQ5¨žz¯ ["} ™‡Nðž2ÈGÇzc!é ãõøE½P(€€CwÃ|yT8@æïeÛÃñ9Öªå¢>Vt!ÿ÷ùY+v¿©.wäÜn€"Èh4¥»â–­èðæ¾Õ�Á×õÛ€Õ9˜žôl¨Lm7 õ 3Š=¡G�*4R˜�Gë�cŸŠ�äMv�%�s~Ê”¦ù}*ç O¨§g®ðì9ÛCçY®“†ëϦ�àã€ô%‡úB¥tÿ;§Ò=ø-€ Q^—f²WŠæ_ýáëÇßx†œäD€Ú„›NÊ€SOXÕŒ»FÆ"ðQ´,—®ÖÏ3N«¹6º3ð: O¹ÓgTh ŽÜp[™ ‡gœGOàGzè&h "%b?]�vóþa‚LçË ˜EßÝj¼T™OF‹k˜Ù·B°4ÁÚLÛC‰w º€1—“Íâ2„ë¹C³^NFp¼Þ=[nVÔè‡ÌK$_š³b,ìІiÏéaѾT€ jš »ï¾;q�‹›îx®éŸŒ—ãÕÆq€É‘e½–늿e‚ë¼T�ýê¡ö/ÍfÛóÿþº€¸¨õµ|þ̀ó î‹ó¤…è"¹ÄåÂîØ–‚|‘÷ÂÿÈÜI©íß›sŸ„ü«I¡ÿ¥»w£à×OŸn?\ž÷Qno‘®.ÞõZ”ßK<4>8Ïú·GL«2ÍTµ( –n™þ1Va H<Öü;ô½Sõ}€,êº ŸªÓЩtZØ!³i)' ç•5 À©³Û£ÞÐ¥¯'óá´çCãóMGŒ,ÐÎÆÃŸÖˆøš‘cœ…“íˆW€¼öçØûïSs˜b¶ÂBB€ˆTɬÊÔðÌ -˜`g` 78ßýD�öÂÿÁ[ÖU¼k׿ø°o)þޝÐÙhठ-ñÜ:¦ŠÕX ½à xïÑ;´«²…À/(Pïf7C�wÿ&q<²DÀ›C‰ -œ:ó‘©oÉæ!d&Ó"Õ3;àÝq˜u8_Ó�޵á ÁíeØ·œõNË8ÔÈ¥]ìÚtî4€÷ãÙÀ÷œfï¾ïô^ Âj<¡6¤͇ŒëÎ@Þ1ïÓ!q­€n€ü?=àYß(G;Ïr½úüBê€XÒSÙ›ô4ßKêÿµð¹•ü€“Þp.²qÙ¿¡þ{Ðq¬ú*q7ä;àß�ˆ¨Á)@£à¨@ ôJ7ŠïߣQ™F=_ý NÏ–èÒ“Å|›”a!ÿ„ûÜOņšìªhì³Mc£wX:À„–­(à¾ÑhµœÌçs2ŠI^ýxéÃ|9ÞÀcúr3Ö¶D‚µs¤”Q&}_•,®—HÖ½fßaLùŽkÿ¹E.�ûÔï¯jØ©ò{û¶m¯µ�ÿž <Ÿ´t8ß~ž»5y·Dg§ÆæÀöT@m?äsvd�pœ²¥’ Bg_©3û½'�ìä�Ž.œö?äàîïnoïï?}úõ—»?_Ï/QòiÀ«‡ŸûþfЦ&¸}ýßPP@ÙÙ§¾ï/.ŽÅžÃ a�°<’CPcØû 2A¯?§�ÓÕÎè—£„n©ÿ*ÀO—ê¯ÞÒ óìè¤ï�1yÏ{€‡ƒg—ôæ<1yz§µE¤sß‘p`o€X´ÿîý¤°r"œŒ\Ôj“€}³äº{ýØQ“„³ê¨z§†ñ4 5 #Þ­“ -/$��ç>s ý…KT(¹¦Çó’lÊ:(Vg†iPH!ÓdHÒGƒx¨Êþ”@ÑA`åb\=;¢ÈŒî·8ƒ]€µçË�ýe.îÝd´B3›U~Àó €¥<´œ�Tß[;­?Z‘QœF“ñr4þ^ãîèýü½Æ!<ɃS î-÷Û¦—�–SÅß§ç[hCÏ›Ðûžå:i¸þlªI€n?Þk¨^ˆ^e«Ù€ÿéß:SX €�ÃÍÇÛz  Œ„vCôté„쇊´ýK µOG:¦‡$¤” °Ãý� Ðy¦À—æ5ë¯7³Íú%€ôz1¥`æÄ^‚ncObÎ6Á,Èç;C»Gˆ&ëíâþÚÌh<æ -‡£ñr>ZÑVPì§“Õ|Š˜Ù»\!�’ðoz&HÊ+'. ˆ.½\\ÏþÕ¥—«µX¯)À·Æ} ¾Wáúz »Î]€ùaß™”1Ëð �ú az"Ö~ àr¾ž­øÏ}Öy°y>�Ÿ€à<æé¨žfÈcãƒF»ñ!Cà "ѱ"SŒÿy�BºÞÐä§±\/~C–ów\SÇG´Ë íáýÃß›7½/¡ÝËé�] ðI  ýºC9«ÑÛäkàK@ª)…úâç}Ðò°?E¦æáp×Ê´£æS“„IeØÎg6¿½Ë ›sŸ„ýúñöïîîïùõó/÷÷á /øqà?JH·ýLJ_*nÒ¡F -ˆ X8-è¿è¨.NŽŒh¿SÐ*ÜŒyHyyHµÓ«rµ.X¢‘ó+A4 ÀIïT @Ð`Gó‰9öÆ}‚âÓ?Ïyò„õŒ~¹�¬X‰Ì -‚ÐÁ€‘à¶Oª·0ÓlŽr˜RRs$ŒÞ;þ�l@àô@âÈ–èšÄ�tQ‡o(,íu_íVHñÖ·¥R/ ‹ðbVžÓãÁŒ©ÁvðÆmðÀ.õ—Jà.�ß»V¾­ök·¬ÿãsb¨?7,y¯X� ?a‘ ôÌ 'xí­Ó”Ã-ÑŽÙýŒzð¼ê�œÏUäPÍýiù0žQ0:ÅšÀ­•ƒ3_B±qÏéRm5´ézW»’ê €�Î-Ñ7Ïh‡Ïr}£àêöþW'Úi¤'êD€LôCgoî>ò×pûñÓ?!´!€Xè÷ŒœÞ ¢ |í›Î$ôh€gO¸òPè¶z ™Nx - D-›ñµ3ïbØ,–£ž­¢ÎåÉ%½¹&NÞX£<Ÿòœws|¸hŒiÍÞ)�“£ù4”ùÚ�O£2k=\ÃJ<ø ޝýJOÖ±7xº°Þh ŒFÁ÷]:Twµé �Ïq>¨]ÏæHlØm?ü�™ y_q½g b¾\ÿe�þ²¦{S/o6S„ØÏhʈ³“©–«áx²šP;*šh=€´œLTÿ_"ŒÇSžŽT'Ëùl}©@®avIe­—±;Pµ§àßIoßý»wïŽþ3Rþ öØÎÿpóJ·wÛ÷Õ¸ßn�Çqê࿎´ü˜ùùûøÜhùoê¹>às <^¡àCñð9y´Ô Rø ¨Ó�pï®’¯ýþgNnsîSƒý=º½¹½ÿôËç_¹¿ûp9Tøt{{óáêÝ4 �öóHM×~�Îäãyú]‡Î“vÊ_|œÓˆé Àļwîè©æÓ3uÑš˜ßÇŒ½G¨j»·Dçƒ0½þ̸j³Ú�íÔAu“Œs­¡z.¶ÀÚÔö#èw8€,ÜýD<8Èü¶Pr΂þl‚ø ÀɹÙð�’ЙÆn¡ƒð5ù[R]!î«-wÚ³ÉñÌÈÈ’?‹®ÃüwÄ…ð.þRŠÈ)€²x†œÅÝî‘ :⬠OY(”èoávs VÑBÉDG' EÒ…aôw`š;˧ï\þÅâ¡à>T�Š�õбèÁÕ›ÆÎÓ›ãR -˜¡˜ç¾æö8ËAva£Z€­Bì*³*(M`gÀ‡8 èÈ€ßù-€—[>º`Íhв3hþwðW@9Àyÿé z{:¿:!O$U•!\ õBò†�1Í -ÐP+ø�°Cèˆ æl�j�àÌ„ÿÎUŽî¬ólg�¶:B�¿tÞP¿Ãÿîg“ï9  äë³à+z!Ÿ‰ýŒ™¡}àÞíÁ܈A|�» -*Õ¿ü“îà -û§5ÔߣÛÛfp øß™þ�/.Ò>‹¢úBv©±W µé4EG„y}ÿ“óþÉ«©¨›qæc×î�*ÆQ ‘ÎPpfkÈ€ rwtÖG<¶Ó_º¤`ˆäH²¯@ÀCåB€" ˆ”)¶EhüÍ`R‡s€Ç-‰hpƒàÏ�R -N·øéf”‚<åL°‹xÖØýxb”� -Tuøuuð^´¡-â.òhæüAÆÞHËì)t †_‰ãIÀò7ø>›(Ÿ�‚¿…Z˜”s¤ù‘ €± Zy«‘ñ¶ô𼨡þÝ:àóç_ýçû?_^\þx¯€Çüª�ó4‰tR“ <^&()]ºB´½/ÅO£á0GÕr:>D§K7 êŠr'gM)qýSÀõ•šÈ8ê笿Ì胇¾9~6�Ï8�n&ÀuÔsÞ9žM �`°tô,_Ù¤‡† -N -ƒúSc5 XñÈà¸Cý´tÝøëŠ$`q$ŸIºq'�IñÀD± ‚ÀÈ” ýßn?Ô0ž¶áQLÝ}   Ù†¶äyþì­©ò…*7öJ!(ôí$‘¡ŠrU vû~ð=Eþ¾Ï -î[ÜYšü¡§,•.Ü©`FJæ•BŽê0$id!�z+»M]Þ±·ÜE¨qùh€¦¡àšN² ûƒÑÍf¸œh˜�´ÌÞ›¦ö Z0j¸¡Éz%¶†}Ñ ù3›ÀðY+’Îÿæœ+|®· sû°ÖãÅ€ðñ>"׸½ûts•å"H]g ‚Ôà¿÷M0/" ]F€²ÔÖ¬m ÃœàÏ+€&}/q®1œuà:ß@�òÔͪ”gÃOæ>y;>]¯mTØÌ�†z}‡òa0í†Ö‚¤ˆ à4zçËÍ׈‘[‘_ÈgµÙà ;«ùÌ·\aw±žãË@iÔøÅÐY~pM¹àÚÅ‹7?ÀõbìÒ© ˆ Ë�ãî¾À@1-”€¹ð8ÚeÒ)M–Ó)˜?›kÐX¢MÕ�Pl®tuÑ1x íò¾z¥Æ_óõÂ5}qÂÏ9™¯ø�œš×Î7¤žþ•¢Ø/¾]QdÝ5ø; êþƒ¿»?ú=ÀÞqH§ñ6W´*O7\™ç×Ö¹êÂuË^2Ô{ðc+…_éÖ_¹¥?) t“Dò< õTìY -»Ÿ$›[À>(ßÐ>m°íÛOÿ¡,‘0�¼ÖœôáÃßòÛ§ÎpÿËýŸ¯†—ûÿü‹Ïº€«ô^ÿçÜ,+îüüݹ"ã^F_&jìíë 0â™í—æ©€ªÐóÔùýp4 ­ÒÛ­:ô:쿲Lýxl¿N›ˆ=1Ýt%À`q -ªxܾ Àˆ¡^Å‹¨?ï/eƒNyÊSÃóî«›±ú¡€Ú©�(Àžàp I=¿ýøìip¤‘Üõz�â·0Ëi—È6d ~ì-àÔkÝÎg<ö(þ•ú %s³*…§øZ½gµ¤1Ql•¥¤²C€k‘¸æ.ÐÜ~{À# ÂneôT#‰×ùGðr2‡ZþÃf€ŽÍ»6ãžr?JQ ”êÀpÚ;³ �Õ-�Ö~š�ã<³±®�óI8ú¾óh°T˜µ5 ϶+먚 -tþwÈ&gO[ŽÎˆð¿÷[—WwÎ(€NKð·w‹€��â=Jÿ=äÝÃýÇ»«‹f -=_â–@ @€}ä7[!bY™#t@í"h't"dp!q=Ÿ!¸¯­Íl|½Øl~V¯×Yqo¯ææs4÷Ø´¯‰´Z-G3ÛH/äJ@Þ­Ü鬠*�Ëw†PþQ�}÷x¼ƒË—$7ŸÍ6N)t �˜Õ—3u{íê 2j9®j½^^k–¸F@á€Hã' -B\-‰äz6ÞÀ5ed�›8^¯ÑìÉgíK…›ݤ¨ -ëÉRi4ýŽ4$ëÚ;@œ!¸NFœÞ™½‡]ÀÀa3ߢq=¹žPÇ8�4æ.@°Z¬6¾0SóõCdoDê}ýwðß½Äßÿã÷ïÞ¾A‚ÜaÚïþípêNr<8 = -»çgv�‡ -àƒýõ‹›Àçæ4ËþáäTœßIÅ�äü"þÄ-KíùY?ÜìwµEЃ¤t§©vd€ÇT ¿/DøõÓ¯¿þr÷weøÅ1€ÛÛ•ÀûÓÞ¹_ e}ã™Ô³ xsuaGí& ÔöðØ6åÒÖD{ý1}£=.€§Jó+:úØ‘}ƒßR•žtéÏÕþ…e[þp¤J#¤]¯нë-€š h5 à¬?A Eö9™ ì ôý®¯…Ú€¸ !7„懀csvCþf$ŒŽ -L…½"�Ã+>™œ¡7r] s’ìKÕãÕñ›Þp€WL•Õp3j[�4àn§Ù——Õ@ý}?Êì¿¢ Èe4^ã˜R„‚m!ž1 rW»`úZ&P[ã7™;ÍÆ§ŠãbJ´ °TÊ�ήº¿XÈ;@…ŒV5ÐOË‘ÒäÒe¼›ôÈÈÞep; QšJ¯G;ÍLU'½…ÎØ8nàOòþè€ß½Àç�¿¼ä‡p À§Ãoø¯þŽŽ:S?:9ø#ªÁÏe 8´l»ºà?äp(É{ à™-F`e�´é€ÝÎð'‰vV€õwL›åb,’¢ekÃΕò¼&ºV¡.“˜»Â{Î]B:lÌX³tÜro© Œ;¥]Qc>Ž∀˜·NW¿qëB´©jö!/Læšé]3ÀY¦`­³î¸FèÑx8Ë‘D`Bë¿ævn€Ù_6+²ñ%ÃÉZEÜI€ì·�‹ J®”F“²ñy -#Å@†dÀ3Û#}%O@š’û´W|¹JDƒU… 1‡»®'cEHŒ×ß�<íhþÛknûÿø¡uÿÁ€tœ×¾÷þi¨´ÿ=Úžnûê 4ójßjþ�ÿ¸Óì›)À¿xŸ9ú!ôq[̦M5Ï£Ôa¼ûüñhç¹ÔNÅ~ö-¤³k®!.6× ùe€8nnÿáŸ>Ýÿúëçû²ÜýòÏyÌoo~üóÕå;€7çïò�`þ -Àð®×ù�‚ÿ±\\Ø¿WÇXŽGÇr€i—¢=-ÖV¬ÛoÒ˸ìÈÏÒ¾ÁšíàÜX½¡Ÿž§¹bìël…A<´A˜Hªî…$ÕÞ¨a]ƒ’Þ¤ßéãk>Áàa¾G&æ1µg–ÄG©€'¥b› žôò!«¼ÒŸ�eTí¶Uc@Øþ(Ý@‡º^8XO­Ïmíø¼ÕÙ³Úéùà®Å»EåŠi›'U#›ð§ §{å,s-B©0nI  ßì¥*¿Wò©­¢†¬ô6@9às"#ú'¡!ùH%�¢ìà„-o+Äý@èâ^ØwÑ—Â ‘øï�–Ÿ Àú�’!ÀïøQ ‰ê?˜�‡Ëï“qì�—Pòj‰ DÔÙL-Jš]zÙ)�½!È£¸$¯ÈŸ�,*g¿s@wºïY®W¿¼ˆ>ÖÀå‡;WöÛÎhº�oÆÎßžŸ£ûßÝÿÃG-(š®®Úb¡~�$‘kTr‹þ™ ðM€L°ÖJ¾PF€�P{¶C àÐ - …³þ×õ¿n~Ž–ëÍ_³Íl�rîwõV“édÎ Þ—ý]£V/�dn47+.dÝú8l4=ÄÒ9¦“¼p:›Œ+4cסž¯/ƒ¶î|Òik$òJFDØôo çx?Ö.á´~@½¸vÀ5€ã“‡R‡å‰çxçÃÁ\\®æ¥P£&ïý�(¢å÷ÐöEþͲk²©Õƃ”¶CQi“éó4ä±)ÎÒëÅ}ãÚ”Ú5D—ñ{*ØÒü/KÑÞmÿßü´líwÿ2j¿g¯Ón·sׯ¿yÔIÛme‚:ì£??6[ºB€0•?M<žÝAS06`j7/À¤Þ_"A)P¿�¥æ,—/’âÄ0{¤ßcò)sÀÿÏŸïÚ—þ¾¹¹¹¾9í�ýJWW±¨7~•hZo^¿}ýæÊ•…yhòI�ãáQ0oibèÏ.÷F ¤àoáMµÈùpôþ‚ñíˆ}YÜïj-‹ ƒ:ô=8ËÐ"Áë-€n€ïúcút_ôá„z½ñðìL @Æÿ¿7mÀ aÅGw0 §Þ³áøù©¢Z>ÍÛbw®b�ÅåGpV @-5òžðÚì¤coH9«kEÛ»æ±]ÉÑS„šÒ¼EX~`BáÖ”GŠ'/Eˆ2ˆ¡ú~µ˜®kèj(ù`þ÷cçÔë€; @þ99nðn™2ä‰e/óZ½À—¥:F5]Õiï¾–E ÖžªaÏ®û°n€€•Áˆ1ð ÝèMç\ã�p3s0È•’]r ç!a…3ïfuœ„ÓP•öFNȈ³½9_°Ðäž7 燞åzÑJ€™î«àòÏ·<ý�€î,¯ï¥tà¹*ÛÇóï~z 3 }ŠkžÚõ5ªŽ°DSùf  ¨…¿¦Æ -P[ôÏžc“Y2÷}œ÷ë2u>ÓÕ–ëûí7°).÷œÛw® ¤ÑÔ¬'Èc€£r~ëT­Y𦷗[ÆŽŽ ^ÍçHÚ ì¢^Gnä,üÑháAã€eT~›&�”$NK‚‚´)‚L�£þ;€þï,�Ío¿ý¶žL\�"ÛáÚgn,ÌÏV䊖|9QöíÅ -M<´µ,tftZ#„êD³i…¤µ�ÎÃ�€ë[ï/I ¹6¢ ì”Z’úlÿÀ?$ÚGáßûÇïÝÛ^,…h¿ût¿K›-Úâ8Ž}T¯­ó(ŠßÖgωð¥»gkPÏ®kç9èA¸=Ïí¡°†ß Ä¿`0�¡wa·§gße° ¡ê§-\kÇj¨¿G7àÿ?úì{€ë[; @^8?é�¿Á;à✻vˆ+ÇéÃ)²ƒ€±\²¶úz¨s<<Ú›óK˵}ªˆû°ÙÍsN·/Ø·¶!€þ«ŒÐ £Ç ûôì´Nuú<£Ú`�·®Úo\1(X,Z¤‡‘Å—»í§}ù+’®þ ÏzƒPÏ“ aY>DO'{s|¶�΀ÁB -{žGˆ(ô4&a)C°”ÂQçFvßS¥†²÷:蜺;| LwÔ?Cÿwΰ‡p@º?h#ûG°_#@^Šþ& @$f€�oR´›T8…t-M¥ )Í9(Õî˜[®eC®ç3'àÆcø/À ÿ?\_ÇŽäd’½ÿ[w0ç?ä— jûÀÄÿ²´=;[·ÿlu, @ྶ×58V�CSêe2U­ÚŽCà>¶¥½Y)RÂWùšW.™A;ü7µÇx_)<¤î ;j€_é~œÄ€(€œ àxï•xÉy�À-0ó5ú,÷zÍpq~‘ük;œï#F/m—�ò6¦?K‚€ >ŠÊ t­úÐÁÚŸô—¡�F°Μ¿zöÑ¿`&!’|D RžœÑ3 xª�)C·&$(û`Wò!“ì-<¼ÇçÀÚÛKØ�œ“4g~Ãhè§ÿµÓ‘µ(e#Liû°ã¡p }ÜJ²§/ÐÞqP§yè+olÓØÎð°Mà ¸úKz©øìÄ`ƒä"•iU�Ê`5FH�×ôHôÜFèû*¹ìgzÊÀÝQÞMGòjÁtŽ|ƒøÌp„sIÜ6�jòÎJp -"d™=»= ÀÄ‚µ!_÷ ÀÈJÚµ -×ßÓ*àÐqêKäLJ¡ÈçèôH’çi¬Êuén HA`²¦Q’N2¢xøoV<:Ïr}÷.χû@Þ¼Ü$©§Ý}ü_ø_ôm¿"°[ €&¤K$EˆÌ•~ü-€gP $@€]x®7"tÀî˜`;@ðöD#qz;5,DÒ\…üÔxðÎû-8ûåÜñ{TiãeÑG_¬.÷UM2± †ß›Îx–G¼ˆs†¤©€ƒ@9QÔp& i -ÿ¤­ŠÎEþÁâÙ’V³ôc»2íçŠÌžà»qíƒd†üm.ðr]?#)Bt#òÈ$é£ù22¥iy)†‚” -®yÚ åW~ª[HÉbÚ>Àóõ 1¬«i쪦5YZ~xöËY£0þ�àÿ‡ÅõõõúÝ»,&½÷÷À�Ãgx—)êœÐQ¯4ÿ¦ÿ÷ÞØ¾mê;üüËÃC=¥ô×yéê­%ù‹€«Ç¶„jÿÎ%å, 5·9ÄK+ø>=<5Ôߣ›ÛÛ_>ýúëýM,ŸE¾oÀ‡Ësçvø/!¼jFç§éÇ+ôÿ×oc@n lW¾HÑÍ¢‚e¹ê;{Á“žuÔ×}àèõéNmÆ´®àžœú=?æÒÇUóÐÄû ;�à‡IÑíZÄ EDžƒù=žg�xD:CW}™ PsÁ8̓Ž<ÌDöçZ”8"PÐ'æ¤ B>ÄÎÞÄW|ŸÁX}ÃûúÚg€Ú½›·á²Ë©K ïu Dú3ªVÀʣäNskeàÈ€iÍh€t\ˆ!ɰC%€¤Ã̓î=ZƒANlÊIÊcÏŒÔGää6X â·Øªžž0UÒøßÕ€t~`°G pk8·Ã. èþã�Ë@]+4}Ì«XìÿèëL€$À}zK’ð âôï‰ðsUÐW3žâ=M~Ò“U4r„ -1Z‹™ø‰ÙjÌИœM�WØÈiO�n¹öSÁY¨°pÕ6"Ï-¡ -Ö¿ü_i9Ù€Ö«Ñ|2wñTÊ@D§�èèýä½\Ó’mi>/R:† -MÒÌ@±$‹–aœÔÇ+"× \SÝÒ"ï&‹ø�ö/ü/oiG¨û»¿‚hm÷ÍGÍÿÎÈëê4í¡?›ù1R¨(ÏL�É¡†ÕîŠbÿ·aÙZ�#t�@Yâ&îŸCy Þho€ô÷¿üúë¿hp)àÛÎàlß/éÒb¸ºþ›ð'‘å ¿ˆþêÿ¯óòÀpx!ä~�ì[£¹sÔÄ -¡Ž½ÊÃŽ:`eOo·móåÐyØk¢:�D¼eFèÝôØ*Z_&äÙ J¨¸0Zˆa"‘�!Ó¥÷F"$¦ÛŸÂýBã#©¸L"IÎGŒŽ^åÞt'S´O&\{¥þh”T¯¸úTPbMŽ€E $jJªû�üÐ)em8Š�"d -G>Eh¸°®Ë¸™A|O Š%Ê7ŠæÍ9UQõ̉µ'«rsL8©lì5”P¨™,›_ýã÷⥋(Î5—R=© 3B*P²Äî—´"È'QÈB{â¯Õ˜W‘ÚO²´ -&áͲ(Óx“ ÏÆÍäþyO5¦[»I6÷XN}§„ Ëá8iЗ/KÈ¢c$˜ O$4wRiR€ÞTËR¾ã–^�½êP£Bæ¦ì3¢š`ÖÍ’{Ì�ž ·gÜÖt¼™M=œ(2!‚ ´QXƒ‘Sòµ✠íÉÇÜñ“Ó$ó|ª·ûŸO~üâòæþóÇ»½•Ký‰þþÊ€ @·pÿéþ“ë¼®N'QJØY~Š õB -�4*Üe‚Ë™ Xsàßÿ� * ¹à æ+ë诂¤âWÇKñ¹¢]Lò±“s…Wþ!Ï–E×J#± Òà¼6k±q4?çþMIî}TåsßúçXÌÊB£Ìlæ�»ù$òÊ ±Ïe!‘4^U\€\®×u¦ÈÐÀÕ=\Oæýþ„¹^’Aüë`óEóIM”5ªf-6#ã” Îßœ®† ÀRú([ðdDÝ�’F#_‹ ò7àuA%|Ìr€+…Ú‡ÿ­ö/•Êðo#±õÚî�"?Ð À,÷w³z�àK„üxnyô´¨ZTûèö 2`…äP'ÏŽl> €þtÿwWÃKïÎPCCÐ?–€wo€ŸW§{xÿàwué׆OÑéÞ¾1âùðÝðOÏxÎbàq³C/"èvÏb­ŽÀr+ÐIŠŽ\½B¿Nƒæ¸-x‡ Y;�&NOM‡/d«&'a¼Ictª&çl/ºëB¹@ÊšÈͨïpÕAa`ÁZz„Àˆž - Ž Ó�s.j”ƒbOã†a„Ÿp>Hmb¦Þ£¶››grjR¸`ynÔS„GÀX®¸ ‘5Ó8#–i†R2mÒ�>$fz\Àê5 ¨w º\Ž“épB=ÑúcŠA}õ3 ”lúñÒÙöú}gcïY•úÙÔpýÙôñöC üòÀxÓOïÏ(@Y>}º¿½¹z]zޝ;5ÀµNL¢&v»ôWΛ›”;Œù¥¢@r‰Övr -`º `Î&¢æÈÕ!Àh®—k߀Ûåj-×ò™&áG…8s‡$2[©†«¡kðÂÂo,F0ÂC§ùMóŽÒÐCé\�Y´´Š(Ñ$)^M“œ�ÖÓ)I’1R…Óf«zõP>Ø׆¥Ò­ï=øßÓþ¥èúoþàB7À›Ýí¾é¨þ¯ùÿ @Ä…ŒßO[9âÀ°xD%7* , ÿÛòDW<lì^J-Ê3c6Ôß#-NDø³€ûídý} Àe$->JGÿW—ÀÿÕß™ôá}õîêitˆÐàsôE²{çA³'öÓ³Ú Ú)‚tóÎÆ©n‘N50Ò9�°ï�²×Æ™]¬×Ž´H/*6SL4¶�4Àf×à ˜AkmÀ*ÈIðLÙÒ–ÍsÃó¯uFK&xN€éXHJEOê€i@=p¥¸¡ÃŒ¡³süÑЙJ#]&cZgõñxq+�ÒÄ'©Fܯò°[ \8ÉDò˜®“!àÔcï§o¬Á] -néHͨÕK ­¨N‰+û.†Õ•XþõȽÑK�É\#û y;\©å\›9—´ÎØ)E9l -w”ÇLr¦ôÊ[L2•>îd¢©$UknÅhÝ@%'4*ÑEä¦ÑÄ $`ÄïiŠj¹Ï¦ÉÁÄáa0©¦¬€5“Ó3«‘ÛFs’sëU3DJ�dN‘Åp—†N¾Š„²m�&9˜›â%MѼH’ÛDÏIÔ||ÓU{ƒÒI¬FÄ—Gj*™ÕûBúüËÇlŸq2ÿP €s[Î饋¢þCoînÅÿ�Îè �Úü«,üï,Ù½þV @É�„Áøáç4€¯Z–cWÕ]¸ˆÞx¼X¹æ¿zù¥³ð’{ˆV‰Àµtõüš5è>›f™nDzœ¶K-™‘ç’Q"êèýlƃ>šÎ]ÛOp4Q-ð«†ÿ‹ÉØoèI•#´ŽY¶£l/…Rø28M"pM1ëë�¨¾Z;v1™;!02E—ŠbõÄ•øÀh„—XŠïHýÔY…´M@ò‰Ý‚,Å¡óâaˆAS §lJ±„ùц”œP˜O.dâ+„~ÉI€³UŠ•´q($séþ güï½P§üÞÕ€-<~ëñ¼äÔ­à| :í²çg+цch³óáuKqwünË„y6+ÿgÒñ·@ÿÏM¸9°ü À�Ý{p¨âI“õ[ toÑÿß]�;@¬ê¤ž&zxqZÐؿⲳw)@G´ÈÅöû -°ûòš�(ñè„Gô¾"€ -ã@tÉ»‡†ò�® Áöpcê< „·°à„íÖïC°âp‚È%Žòèˆædêt2U['!2– -÷uä4ßÛ ‹enûçàS˜T¼$Òѵ8Àé¼�S” \åA…E€�k¡çp.h‹Õ0«æmD¼³’ϹaNèþ‰œ¨ÆyѤìÿêÿV ³* àˆ‰•/·dY Z2óÅe_�C}›€ËØÈÈ",e‘›’JÌ‘T(�µ�`šC*¡ËC+*÷ƒÚR}o|Pá%·+b 7$�0˜šõ”�heW°Âª -`’›¡ÍØÊAÞÎ}&ÈQ¾Út87G‹Å�xÍWifë<>È©L -upMÕxC DX>áVÉ‘¶o›¸Í˜V:Qf�U V£m8ÅHuæÓË’l µ:¤E°]Tý‘a!Õ…1Aó£m|ÇmªÚó¾ÙÃöÏSpË6 Bø³Æº�µ&{ˆ|´wFƒj¤/¡2ì?Ÿüè¹$�XÀ×P&í´E@¿‹ä-€�H®øîÑ@Ãà¿C~ߺÀß.ê[ú{2€º�cØŠ[üÏßh‹H�.P¡5“g~IÌ'C LÄ„¢|¹}2žÏQà§£‰ŸÃ Õ(ŽÊÇÜ#ߌ+àýŒXËÉð|€Ê¿Ú¬üún@Z­y�¦LNNÉO6šî羡�V.Iþí9[ÁîrQûÙb…8±v>ÀR®"hšiÃôb6Y  ôG€ï -'0\_þ7§ ºû|´¢q…ËXôW‹÷Ä¡|pXhi݇Þ~…6›W &SÀ�RNMÉr©è„`³²þôvêâråpE-ØÖš ûGð¿ÙlÀã/ZØv}ç|îùù2ª­´½ à�‘Ž‹YÑÿàw@�Ho>âÚsíC[gøßß^}ö7R ྵ„鍯ºÌõ(Ÿ¯Q�þ>�ôŸ‚ÿ¿ÞýùrxÕ,5 ðæf€Ó¯..Ûò;PüëŸ9ÿ—¦ -ü³¹ -ÀÅÕ»óáù=Ä+zûê'‰çÍ^Ó ;e¼í wíwÏN¾KWO“=¡ðæ„@¾&G@á>ÈfÓ&܈iêíùlfƒºn2v¼<„Ñ–ÜéÒé–Õ:•4¾;ùË`jŠ$K'sòlÖ¥{÷Ø€j±òö/;– -/Æ †MÙü“�æârô΢;B(– ‰‡eÈœ<”s’¶  aÞ(ÍÖwâÊ^ÜTaR¦Œ8¯7;‹.“¯ŒF£Ry-jÒá`¶•aí6Dvóþœ»àÌÜ7q1ñ½%:”ꨛ.6à=7m”¥•és‡—cNSûäB°—¤ªY„­âÀ ôÄ£*†òÔ]04Ø[åH&ÂKØŠŽ©R¡º»¨€. ž½¥h‡íd� ÈÞ“ü¥"L7ª}8ñ&Ý[‰¥šP´-_…Ð ‰†ˆEy…�• -Uß’Ë‹¨æö?Ÿ>Z gôúÛOü¥Î@Ç€@ÌÛ›«·oÈ@:$¥�×Y;Íå€�&Òó¼�Ì€�ÊzGâw$€š °[ °¿¬ ÷¢Ñ}ܵý…R×ý¯Lsª’;™ümã?¥Á�‘¸¤‰[[»Sá\ ˜Û ¹F®íGƒ�#Ý££¨*\â?�®7›•p ZÏ'óér�è%¹ˆ#œrÐÈ¿!�~ØÚ¥àý:_ †ë~¼Ð)ãÙZÛ»|ò’Κ?û”Ïô,ˆ1x5;oðýx⇀à3|€Õø*ŸT´œ:9Ó‘T)iÔ®z=™N¦S€$HX²Z9Èà7•¨Åù -Id5–k?@¼vâp½šÓþ�ÿÍF]ŒÞý3PñÒI5‡­ÝI·Ûs>q䓚æÿBþ²üÀS€d½ûå�þÐVˆOqNâ: €ýq*èo„cèÃô�2"!žG²9 ˜' ; 8ŽQ0ÿ€Êàk€û€ØÎøq; YÄ{XÙûŸÀCïÍÕeF®4ºÿ[ À¹MLÒÖŽˆÍ/È €stÈ}/^ôÌg¾ ÑR³l?¯N�G#¦�U�UP°Ã7ºøD( "N®i5 �R˜Ów7 Å‹B§÷×Ó§CËBdõS€³Ò -H'ÌŠRùÛ­'ÅBÌ€€d±ÂÉ©X[iR €–Œ!ð!2iˆŽ øù0)svyVÁs¹ ‘š�±ã,ÒéÙ×Ì-™&žnáŸk¥dÇÉQþ4ž�Œg§%"QŽœ›,»\51c\²š“©�E•éLÔ5É’ +•ß&s=¥Ä„T«ä‘9Réô @�7Ê‹Õ3¤š4Úó„�*¤b‘9¹™5Móhö®£äaPÙ÷ß{ǽwÜ{ǽ÷ßÿ}÷Ýwß§²ÿc÷ßÿ}÷ÞŸÜâþûî»ïpq„Á.€UÙ|1ÜhÈ –ËårZ.“ÉŒe2½nlm]Dz¸õ­­oýÛoýÛßÛÚÚúÖ¿ýö«[[[ßú½ûê·^Mƒ8àôа÷¢ª(*FKXpÌÂÜá˜sÄÔ"Ø1ƘÕx:ðqqcÆ9ËÂes�0B +B˜3&¸ %ôÿŽF£a$à%CG¥Ré|k+ ¾±¾¾ÑjµÂóF£q~£Õ’‰À����Ö³­–®— Yüßï$� ]ÉŒg2½¾J¦ƒ�ñL&£èº–”þÅÆ¯iù¼†òš–N§oÓ`à 8ïÀ@+ç˜c„PÌ5LöHb_÷_ôº²`?íÀžJ ýàwÆ'«l`š$ + >Ó«P%¤B*`Û@ FªÐ._£²­‡Ú`™âö�²EH•ÄÞ‰¿˜5Í#]¿ JªR3˜„XÔŽŒIÐÊ.­AÀ¶m¨Ù@,8c!‹òðo¹çÑlv2K0ý׿¸�íÞwß}÷Ý7qÿý÷Þ/×§€\!‡Üf�ýË�Ãç²RE‹Ï½ÌØØØX:ÿd¸±µÕ,éaWõ'Äÿ‹ÀÒ€ à8BÅaï2�‡—0X`†8ÇEŽ."Ž‹ aŒ0Gêxz\O§ÇU„p3!˜p—=Ææœa¬Ž«EÌ, �õ¾Ë +‡$X*!T*5·.m<½.ïY_oµÎŸo2=ÐjIûoµžm={€Ð9ôµ\&“Éd¥+bóÏd2™\2O<ŸÏkzŒ‚¸.ðöc½èx;LÚ«ÔÄXZb £ý[^^^>'CÂu]wÙ[ñV<ÜU¼‰Ð€e¶Ì°vÈno¿:€Œ ]Ë’ „�‡I€b `S°zd@½òfÝ®Ù6ض]³Á®œ±€!§bÛ¨BUúñ„˜ÙÉ;å¶��yñæUK¶øw}€Å¹ul +¶-ƒì:ò0±*¨J¬ÌšæT Rùâ¿x ãMðipoŒ€{Í‘‹ý«Ùl>%°~¾¤ëy åd2cccù'×6¶.5ut^Jå�Ö¥K­K[[—.ÉïZ—dô¬%œ¥^`ÉYZrœ}Æ�©Ça†1ccŒ9¼ˆ¤ïkÍ¢:žÎ¨J*%À0[fB0ÑÑ¡š¢ª˜ ,#‡ET,âž÷F£Qj�F‚CG¥æVkã9 €õ�õóçÏ7�†q±[$Üj=׉Ão=9À¼Oüï$B‚2 �S2ãéñxމ¬BHËßf!�@Ðt†*µÛ +À1.v‚ +€%u½èÍŠ> ¡` «¨ˆúÚ±,Mp‡੃ãóC),bNf³æC„T-*m”@ͺjÓGjÀ²¡vµÑEJm 6µmj×ã!žóðTæH5 + Ïú‡ !³föŸ˜¦I8À–®P›Æ!ù^Ÿ«Óú"µ!™S +„XÄ‚ybÁœ�Œ æÑìäQÄ: >µ8vÿýÇ>Å6Í0ì{o6Ÿ /6Ãf¸Þl MGZ^‹§Ûe2™±Ì‰ÕføRë|©dô]©µw9{]ÇqTU|WTUWP‘cŒŒa†1ã3„K ©˜aÄpQUŽ«H=>®GEµÈã˜1ÌpòO©aŒ‹òäSÕb±÷Ýh¼a48��†�JÍ­—6Ö×Ã0\_×ë¤ì|2.¶ZOKôIV¿3H6 ÷†ÿ¥¯ŸÏë†aä“ `^Ϧ¤ð™Àåô)YÅ=YÀ½1æ¾ïKv0ºiÀ~@Eª¦"Ü%@¬†ÀÙãÈ a] ×3‘e‘œ5Íß–ñ< r|�Õ›ÚÉ!m½VÞ¡»tñ1›>V·é¢M Ô(Xg, ¬DÌTã0!³¤RX0MB€ZV|Ò[RðÓv�R +4€½S‰èµz}Ѷë�QZ·iDj2°@X uÅi3{WÖBö‰ôï±O¿úUDÿ^÷ï €fß{³yþb³Ù¼¸ötx^×t„ÒòZ>ŸË)™ÌX&·Ú ·ZOê�RØ:p±`I~R‡,Eɨªº„–A=ÌŠ#¾„—ÆsŒ1VUc„TE‘�Ò»-"†Bj#U‰«†PQ-¢b±¼ap^âFÃà%‰½tq«µ®¯¯‡axò·~ëäÉ“�o4.¶ž c1Ó%€çü ]7d?Iæ{†ëz^×´\:Ñýù|>¯kš†ò�&]7 MË£R·pÏDÀ= +@ J%V¸[+€8…°¼¼Ì–—ã2€XxÞŠWLÒ€¢Ý:€Þ™@Ë 3¤‹ˆõà@ЀàœsgØ�:€J¹½Íš„J£ˆR  Ô²þÓ�ÝvD)¥×ènDË”Òv´H¯íÔwvßüþ÷¿·Û¦��vd•Ï.mS ‹4ÓJ+…(Ú�j”DQgóº`Ýø“?Ú�(¥tW~T¥ôÚÕ:Ýݹº³»û'ß¿q}—+ЬJåQk¡MÀ¢„�ÓæQ“Ð(Š* k³÷f *€ûoË�¸¶Ö MGZiù| €L&¿Ú [O7Pƒ¯hÿœ± £ö@UµÈŽÀÂEŒ1Z’Q&Ä0VUᢆ”ñŒ¢(Šª*a¤ªÅ.E’â`¥S6Ü] Ã0d¯S©Ñ0ŒRÉÐKk[­Öúúúúzø ÀÉÆSç›­ÖFدZ]ÀHÚ€òyÝÈ÷xz^Gº–×õ¼.“§JFÉå”\^ÏËjJMë@\9Pܶàœs§ÈchˆÀÒØ£z€ÎùA¢\_ úÀØ{?0ƨXD‡€Óëˆá +€á¹ÁU)W*åÂ�“G +§Ê•JÙš.ä ß™r¡2—Œì�9U.œ*”O�%•/VÊåJ¥\®T*•J9"\(L—˧Ê33…Âôôôô=ÓÓw¦î¬TʕʩSf¥R®|e®R±~½|êT¡P8U.— •³•ry¦Pž) +åSår¥E”RÚ^¤Ñn´Ø~lñ{×+7híî¥Ô®Q +V�FÀ�, Àz„d'³ä:i_¥”Ò~kÝ×v-üþø«û÷Úü PrRŽ;vì©þvÐÚ +å?ß|œ è ¤7ŒµgXò4ÌÈ¥ .„ŽÇ�>ETD¨ˆ±ŠT„Ô$Ñ„ŠE•ÏÆKˆ9K^rÇGNiÉq„œ—Áìp!–0Þ£apιÑ�º¥RÉXµõl†aø¯.\xð·Nž0¶¼Ì�_ÿz€•n @šê-»šz;xj¨`±”`}Í€WÀ®‘¬IH•¨AÈ!dÇ 5JI¾¤6Ýùã³mùmÇ,­J…VÉ\… ssss¤BææL“¢±’ê?¨ØÉ—™¤2gbš„@áè]Y“TI’H˜� +!Ú¶�ô(­A�.R»½S޶™'RND§(È/çæ¤0³“Ye +@†˜eŸ+?�Ø´‡®øU½Þ« †½âÖh†e2ðb¸Þju�ÏIè͵gZkFé``%À`³%¶ÄÙ’‹‡;Ü‹ÿyóÄ}ÇñÙ’'dk�’Q—äøÎ×ýî`OøžÃ±Àž/8wä Çñ<6d0�7J7Fƒ†ŽJ�ç¶.µžÛ/\¸|ùòË—_yåò+¯\¾†ñ˜ÐçÖŸmµZ­çú­2? :N@�.@ìFléù®È†žÓózéÛ‰°Þ€#:…û+Ö©`)€e ¿' p0:‡Ë2 "tHà‹8¦ƽu6�£S³UR%Q!ðUû«P‹…{lú '÷Óò£1È#!¤BH`ž�9R!„˜s„òPÖœ³¬‚™=JìêÔ,€ 6Ý�bYP“÷zÇúŸÚ6¥@ëu +5Z~4A’4ÿ9r½Ò­2®˜¤Ò€0€®t¿ÿØpìký÷ß?`èdž¾ä€×ÇkP+‡áÅ0l6›a¸Þj�—×ÉkZ>¯år¹ÜDFo6Ÿm5K%£Ô\Ûõq†ØÿÒ€ð?ªª‚1w��ù¾Ï|Çñ„ÃqçœxŽ·éøKã̸Êðó°ïø‚û¾³)ü@ø�»éû¾¿)Ä`­Q©Ä 9Ä(ñO¿ôÒK—Z.\¸ðòåW®¼~åò+¯\¾ür>·¾Þjm„á³Ï>ûì3©[®Z_X n +Hwéz>oº6–N§Ó™œ@ê6 pK À1Ç%&ë´øA\ +Ì—½ÏÃ�@ì `@,3ÌŠEí–`±ÎS +À®ðrßùo9zÔœ%@tŠ�]°ã‹})°$jt1² =M¥4�©ø +!@çv&„b‘9Ó¬!æd¶B,“˜³g(™Ì’ªMií +‰€ît7Ÿ—›Û6�(´OQ© ¬ù¸�D§v !ó„X䡊iÂ\ùw¿E¥N*pHl`è7Çú4à Žõ¸{‚ªÖwT–Âp- ›Í‹áFØz©©ë¡¼\ZN™ÈÍæ³­¦~ Èrüý5ÀÀùŒT´Ä¸³äsÇcþfÀ|gÉçN‰û¸¿¹É^ð¹ƒ9ª¢.=î`ß÷6�{�ëù¾çñÀq˜xÞô/„ôF륗^zé¥ßºpáÂ…ËÛÛÛ¯½òÊ+—_~ùr†a«ÊH@ê«ç×õ¤×?`ϳ #= —yù鸭@Vâ%,ë†À•Ö{Îÿú×û€d >ª€bô¹HÕbqûñ�.@¿œs§½ +`¹Ç ¨Qj“£GMR­V¡¶P ‰ì7(]¬Sy)Ð¥õŤnÞ,l‘NÐÌ�››;ä TÁ®NM�©€ýÝ!VDÿh‘Ò:¥”>ÚÝÜlh—iüK,BææY8„X„< „Ì‘Š9{ÚÌNfçh™Ôjµýkõ†Dû�䆸=®ÄÑ`’17‘o¶Â0lÊ&Ù—.–J¥R)€–ËMè«k϶šºn”ÎèÈ"|™ Ø+ŠýXb˜;Žplz›þ¦p|Ó?‡¹_â›ÜÿÝ?Ç>w|Î9VŽ«9ØÁw–™O0—yŽð<á æynð;ää�Ë¿õå ._Ù¾ysûµ+—_~ùÂËO?ýt(ÓOßÊö ×ØØØÞ}º-¯V C€í¯–xR Ø€x$›Ë–ã `à÷à�âRàååe†WÕböu|éY¸¬€¡ +@•@]Ø”ž™š:CT«°03O�ÝzݶcS´(D”Ê  ×Ê»”R +U°ˆE±*ò,‹éº?D*ó&)�*�š @ª6DÓ Ö<��ú¢M»›ÓEJi (€Ý.G”RjW T‰T §â„‰›�N›ÙÉlåù2$8Öw‚Uú{*º’ì-%êÔô`ïËUµoêmë­—BÎy£‘OV.7a¬6ÃV³T*éÄXÜ‚ƒ‡G—$S•%Ž…àæ>÷ƒMá`äsŸ;ιR€_üó?gžÃ|&–˜ª¨9ØA<xÞ¦xÂóÄJÀ„`žð°#‚øAÁJ¥RIC%Ùõsùò…/_¸²ý�›7o~çµË/ÿ«—_~öÙa¦%R{0ôáø‡= + 7vH0ì`ûçœaŒ5¤ Àòòò²*ƒ€xž‡z\€~ ky/¤àjQ +¼²²ò"œsoY*Ïužê@G{€Êf˸ˆh¬Âm°)ÉNÍ@À*ÀxáB†Ï>Û +Ãðé§×uþï €á¦Ý¯nX˜õ€-w ¸8@”J¥ÆX+¢%ÙG1Æ–Uäûþ^ð€LÌ*„0F\6`õ@ @w8¼Ø{Ú£`Å">uêÔ©S3…©‘;ïœ]ž™žž™–õÇåSåBaºPžŽ÷žþRafFþ½ +¿>=}äÈ‘#w¦&¦ _*ÌÌÌ +ý†ØÌ8ç~½%=ûàØžâ þbÁá债®#ÔyGèbG¬o´ZçÏŸ?>>ÿ5-—Ëékk­g›¥Ré@ð±°'Àý^€‘lþò<ozB`sßÿº#¸@΋öæ8cUQZÂò™wÙÝ <Æ…Xv�Àó\ÇÌqüo`ín¶ž~úéØþßúË·ß~ûïÞ~ëÊË.\ÃðÙgZÃÀ€oŸÞé[@ËOì@ì 0c¼W,÷(±W,Å`�~ä À`%Έ!1€Ø�%ÛñŽLÆPñpð=.žê€pgð+1k·ÛíºC£ši>dQ +”ÒùéôÑhw7ª·ëívtm§]¿f-ÐvÔþ}XøFÔ¾]»ö<¥ Ñï¶­…çw£(ºÞ¦`�Fô»3] @- +Ú»Q-’5)%4E�~å�(mï¾Y�Þ ;íúîN»~ v¯¶#Z�ÞŒvvãÍ£6ÌÓvE׿»Ha}¾ö|9ª©�iš„¾±Û¦”Ò�“xXþoðØžÄa¯‘ß?$‹Ð§ŽT #áø]/é]¬‡­­‹/^¼˜(€\.7¡‡akcµT2ôóÿ¯}ÖE^Š ÐMàû—í|I Yq «œsîcá;Èó…ÏîÁ¦ðýÐÒf€}Ÿó9cÊq!Œä ˆ@¬lº>Þ + <áz®,D°¸ —úÞ*•š­0\»|ùò•›7oþåÛûþûïÿÝÛÛW.¿r9 ÃÖsO‡áÓ·À-À>k00œ½@]°|h „g*Ƙs¼$',WE±¼¼¼¬bÿë�ï €¿�À<þ ö»Úá\€àqîô QE©(b†m¹`öî¬iÊœ^TxCç\µí]´)­X@m @a®!Ö#²Š‡R +�ÈøX » fEN�µm¨AÕœÌÆ¹�y¸zvWnÙv­6µ)µ,ˆÓŠt¡ +K¶ Û �Ä ,b€G£ ¦yª��4 ¡²˜`ˆï;î{wöFŽÝ?¤¨Wð»Eð�…@¸7°±uñâÅ‹a2½¦€ó%ÃÐÍ}V§_Œ1†KC4÷Õ>p•cc&ãÆBø2Ÿ÷¢ïqìØs/1¬**F;H`WˆMá"Xö0÷„DZãx�+Þ“Л­0|ðÂåW¶oÞ¼ùöß¾ÿþûïÿÝÛ7·¯\¾|% Ÿ}zŸ àPŒ26؆Ld2™±¡{¦÷¸¨«àýàõ*€.x2»c_‘ø�€Ã—=oEÅ=.€x? nÎŽ ©ˆÉ1ÄÝB¸ýÀ ðò 1ÃØ¶)¥u›dã‰`gàútù«Û`S;¢‹íÊBÜŒ/+t©ÕI!P¡ìN9^x–@ݶm{önª³rÈ@û+ñæÕz lj×i=ªwú[ó2Ù»¹@’Íé 1 …ìdvê;6íàØý{ú†Ù_`7>0̦÷v ø‡º°tñ¹0 Ãp-\76¶ÖÖÖÖšò–[MËçr9}-lm<…J%´//ɺS†1C�t`'þÇ}UUÕ^@õ^âœû˜ù˜¾Çãþæ&ÿóÀßä�‡æœs0/*ã +Rñ’ƒÆlº~à &<á1Ïež /qá Ú¿ØÔQ³†|ùµ›7ßzû¿¾/ðÖÍ×/_ym-|:Àú aÊÒ�ÖØXzlìà àÁ�¤"ìëUÎ2Çó½À +€/±Xôºq@Gtà‰eoÅSûšè(€¬8€Xð••™œ{\¸B¯ßpî€u@éµúŽmÏf§NŸ–µÀíBRL�Öi­^�* ó0O–ÕÂÒˆ«S +À"Ö#`™99`î”iÎÍÍRm×ëöìÝ&!ÿXnNÁ®S¸Z�æl ó!„< 0O~˜P›.Ԁ˂ùy9–<Šé’�ÌØÙéiÚÑ{ÿžÏ�NÀc½=�·° ½ä|ÿz*Üè(€ç6.]¼xñbj'ºÃÖFã t¯�d˜a†Ãr€wïù¯ª=g2F¡%ÁÆØc\7à"à^8/ú>_z1@;ç;Œa%£ç +d€yÞŠð„'V˜`Ïqæœ oÐØS ðÊË—·oÞüË·ß—øÛ·on_yåòÚZ>-½ ¡HwÅzœ´K§ÓÒöS©±ÔX¯ �Þ«!Ò¶Ä¿§Å<À wÀØAP|ˆè–Y€®�x 8\`„†+†úÀ…+ö V\îºç\œó¥ðö(a¼üCEÌ0€Zý=“�:=Ki×àßêµxô¯œýU§Q`™#Ä’) lÙ+8O,BâÞÀÝiOö·*§ +»M²¦LâS°£ÂbR{Ô¶mº³X¯<²¯àay'BÀ¶gÁ ë°aq!`šÙ߬TÌJí«°¿í(܇›ýýÇöÓCò‚û¼æ€ŠþõõØÐò9-§åóÒØØh ã à c&ÿc2Œc$öß3»ŸŒ—0ç  _pO8/ /x‘¿¸~!À>s¾`¦f2 +B˜;è&\æØó!„+<æ ìyB Î…ëÞ +š^ +[áë¯_yíæÍ›o¿ýþûïÿøïßÿÛ¿}ûæÍíW.¼Ü”XO\€®ÅÆÕûé$]ŸK§ä™ß³âúþ´|~zPÿßJDt\€Îå©**b¤"†Eb_°²W0Ž9‹^R¥µ@¢„×W¼C)„º +`™aÆq±8¨zàö*Ö@ˆÀúÀ–‹!\, ™›£»Q5ûé»Ó‘l³!CDi}§^¯´�<<–œð ™§”Îw:÷¬ùy€ïN·"'‹šf¥R�ˆdÍ*T«UBÀnOG²€X¤õúÎN½nQxx~>)ø·H Ja¡3 PþZ ™%f6[™›“7 }ÚY?·5¨~ÀÁ» ôñn¬÷ sGv>nê@7×�Bh)¹¿:Ö ËŠ ØþQßÝ #Æ9ÃsŽ™ï3Çñ<ì®·éoú|3À>f^°äEEˆ;ò…0×®ç × DÀqÀ<� ÌæzÁÀ°®ëFØZÛÞÞ–€¿ÿý¿ÿñû÷wûöÍíW.\hvTÐß?ݘÇÖÞ=ÔÓcãO @ûºæAÀR¥ˆ™ðq€¹ËÜÍe`á +W!\æz®ÀÜîæ (•xÅ.ÀkÛ7ßzû�¿ÿñ�ô£ýøýÿú·oßܾòo^^ë vôÇÕÞ9Ý{ãéô†?Hõ¾.}€ ÐsoB±ˆ^BN§Å +3Î8wð’È; sá`ÎUî Œ1CHF9S±/J—P<5s9?½Ë˸Žè@¢Ä°À^@€H ^dr +g8q®2G¸B°§„ÃŽp–°àKc„FEŒUUQЏ(美�GQûÌ,Ô€¶é‚Ñr›¶ë;×£èúε�:½J¯Eg¡]�®ß¸¥Ðݨ}="ÕÝv›î^¿¾Ñb;‚G�~%Ú�ÚQD"øn{ž˜“æ.»M¾YÑb;ŠnDõëWßh×éÕúîUËÚ‰®·ß”›h;j¿‘êõëЦíë×(�v`håùÝàœ&@£…v»w&ூH¦bå49Õ&—Ëan5K%]GúPÀ“‡¨W †±p„*:öït’ôêfœ1Áß÷yà +û{¾`›Þæfà¿ÀÏa'p¬*EåÌ÷yÀ\O¬BÌó…+„'<áyž`ÜñÜÍ[¦Q£€w~ôá‡1þöí·þâÊ…—×Âgb ÝÕð½æÞ£ýÓ�hàðcÀÐÓq† =6&ßdžå RéTª§[J" ¾ä aßö½„K#„K \â‚ _ÅOúô¸Šç*rœîoİè@ºÂ- +Æ0V±‡QNçj°¸H-ªa,\©T$ǹsŒ0ÇRï Ž1óV˜Ç]Ι`‚s,„£r !B`Ƹ#Ì1C#Ä©HQŠªªÈ;$”J¥üÅéééé;ï¼§P©”+ÓÓ3Ó_:{¶\˜™™™™™Iêqg¦÷¬™™r¡\(— …™/Í:iº0]˜)LÏLŸªTÊå/NñÎ;ïœ.*_ùJ¥<=3=ó•¯|¥0ó¥™ryfúKYw×wv˜žž.”e©ðÌÌ— +…žNO*§ŽÜ91ý•¯œ-Oï?üóêtßÖ€áöïu »">/0œaŽcÈÙt'©ÓåÊ9„Ç{Nà0Opùs_xþÈvÇÁª¢¨*.ùž, Ox�+BøB¸Ìs…ç:žÀœ;bå¥À%M+…­ðæöööÛo¿óÁ‡øá�üã¿ÿ·o¿uóµ ÿf-|¦Oô­±±î§=ßûu¯×?–Ëd:Tè¼8— Æ{ (Ç¥X,"#Ĥ3Ì8cÇK#ŒTÌ1æc¤"\Jf�É +}• !„œ¤Œ0ÂŒ«E! G§qá“ +àëN¢º^Ò 02:×@'€YâÇ3&d‡ïÊãL0!8F¨ˆ1v…@‚±x2¨¼ë s¼„*ª*b¨XD¡Lɱïe§iq%�ñLøìVXÒµÒЀ¢z]x%@x��_F˜;‰ý;q•ŽP—0g æÜaž`>ö|îæ;›~ð¢÷Øñ‹Š‚ð’ï{bÙ®Ô¦�ˆ]×ó„ÀB8bsp À³k7¿óúöÍwþÛ‡~üñ'üá‡?ú»·ßÞ¾ráB¯ 06 z�é•ûnAzh,`OüoXsAUQ•ã1ÔDľ|§�ªX,ñžÃ�¹p„À;BÂsÇñ�¸ïûÈ‘ ¾ƒ±Ã…ã9ªßÅɃ ð‚Àó�ïqÁƒáyÂw7%\©|.– +@`΄'ŒÕÀ>ßäŽø/ü®÷¹; ÇÁžÇŽKŽãp8rè·›››"POxÞæ¦Ø ®Ïù’·ÄƒÀß �Ã…'î Îf;*æœ Æ…à�»¹yç"ðÄãBž¼àýËM?ðá îcØ+ú‚s‡!îxA MWxn .ÿ³;›˜s,<Ç÷œ;Œ;˜;˜;œqæÁJGõ=.Äfàn¢X‹ªª¨ETDjQU2± �_¬×ëõú÷h9ÊN%=8‘Öc]°€Àg#EE%gÓ÷ö„`�(®0—qáb3áyÂA\p7Xé[{cªÖx6\ÛÞ~mû­w?øøã�?ù‡Ÿ}üñǾÿöÛ7¯†á…‹kϬ­€L,b¤Ò©aH÷ 5Hƒý ß ´<‡9|É~à8ÿÒc !6ÏTÇÂãÂwgXpæ(Žà\``Ï]ñ\Ïs°+„xÜìq×xsÅÞ¦lú>Ì‚ GvrÆ8gÜÜáª#øŠëqîî !Ħd·/‡»3Gp¡â YÅ$wƒáIˆMwsEˆ`sS¨šŠåmÏ EE±è¸Òþë;fÁÑ)v2"ì19¤(]�y"o‹<2 eË¢¶ ”Úu +@mZ³ìú"¥»s`Wè"­ÛõºmÛ׎Üe°)µ +õxÖ(�æa¬ùyKzXĀʜEm +”R¹y�ÖâÍÛqMàÔìb½^ÿÕÀúsÉÀ@Ù n… ]Ãúù½K¨Š¢*Ž`BœB8œIQÚ?ï@“®ÂåÌ\,0w„Üã~lúÜw˜ŽsŒTECÜyÑ÷^ñ{ÜÅ. °ðó\湎ãa!¸‚Í ØLÞ6‡ÅžlIü—}ðáÇ?ûä>é@ºkk.®­5›c6z+�:cƒÙÃý]UUŽïN뀃±ã0Ïq:ðø¿|Ügœ !6…çûª\ø‚ ._bsE΂s/žrZ÷ãžÏ<×sWV\WÂ}ü_ �»ØõásŒ9wÇœqG_pGÂÙ <Î8w^ð!^@ñŽx‰s,œ" �#08šºªª&ˆ]J)}Œ¶wßøÞ‚¼|‘ÖiEÒŽhÔ¦”î\ßýé‘[Ö‚E)¥Ô"ÖB{÷ùr%9Ìit­ÝÞ¥ôQ í?ºQzÖŠ(J£zÝþjýZt­pWµM¡F£zôûѺÕëmJit£½ …y˜·¬…xsøînT©<’lNÛíö.¥ ô�7ÛË¢”1«õ¨N£7¯]»ö«¥Â.’ `†[a¡ÒPUQTU@tÀÂqDüO‚;˜;Ž`œKp�#Î0ÂŒÂe áqŸûn°éon:¾‡OpŒ‘‚0/:�`®Ë–WV„Ë<&„Ë\WÆ»±Ã—E0X ,E• +àõí·~ôß>þø“O~öÉÇŸ|üáûÿõíí+ÆX»ÐÜ[Òçõ%Ò±H©ì�çÿñãÊñ㊺ŠÅbQÅX*€%§G<þ¸+áù¾&Žà.œsư£Î1ÃÂálÅóä�{�»s]áºÿrÓå+�ën +.sDÀ…À 3Op&¸‚{ÂqTW±és̘Øô~Wø›(¾òÏ—=ˆX5ÇXˆ$ +à —.Ä7ƒÀü‚uêÈ�•S•J¥R™›«T’Kƒ+gç*•J¥R±¾4?7W©œ=;W™#ä¬U9Uùg¿nYÖÙ³•ÊY˲¬³•ÊÙ9ëìW*såJ¹\©ÌU™«ò!æÄ=ÓV¥R©œ�³¬Jeβæ*•J¥\9+7?»0 dn®röìÙJeî¬eÍ•+ÖoÌ[ÖÙ¹J¥"7?{vn®r¶\)W*§*呱æeùñ¯Â��|>Ÿ—!€šVBOíYBÄPq„àŒ Çqœ¥ç\pÄÿ¥PU™½ÃE”LË€ã0ÇYN�p’)üŒaÀ•÷ôº®¾ë +oÓó˜`îãîÊŠËÏ}<BxX0![-±Çç‚qÎ<îpUlr†9ž÷‚ço"GW€/qΈ½îf „ØÜªªu€*ªŠ¢*IPSUUé^øï¯í@öµˆÒš¬J¿Aëu…o[¤ÝŽ¢h‘F4¢Ô¦ß ´]¾q5ŠÚ4¢QT§õh'ªG‘5�ZP£uj/ÒúbýÛ�l¶Ò&gä]ÀTöùQºX_ €Fp¶ÝŽ¢¨¾Ñ«ÉÁ_¸q5ººÉÍãÍ­6€5¨ž®>¶³íììììüŠ@.™Ô: +àÙ††Jzcˆè @@HÄG½sNpÎKBpYÏžÜáÇ�LV 옉 `ù²cÜówsÓyÁYrÎ9\€ ßóž`+�¯¸v…Ëó|GìpÆ6näy­ï )Š®­ÞÜ~mû‡?úè£�?ùä>ùä“O>üQ €0¼°–\|²§hàR€t:ÕÀ>ý½“pãûrýà?øÁŸýàíɃ �¥Ò©Têx/¤ €.â}0¨üq_úX›Â—ð<ÁÝøÆžËáI®ë +W0Ïuÿµër!„+„ð†à‚{®pŠŒ3îÅÂMÁ™p.ö VÜᜠQŒ ºð¬tPìQ½(*¤ªj÷zà��:%G'(!$ɽÅY8›BͰ,"]÷$—@4ݦ”.Ú”‚]§õ:]¤´ÏS95€€]­V«¶ýÏk§'Í£¦IÔjvϬj6@ `~îj�RJ{6§Ó»¶ìˆ»)}Œ.ȃYsêŒ]§v½þ« +€0—O†‚anµ*¡ý UQЬC€1!ËA‡s&æ1ÆBŒñ<ðC¬„1Cœ c?`ØÃ‚{žÇ…ð<ïw7Eà;çÁ0ÖT qçEá»Ìó\÷_º®`Bæ2ábÏs¸@œq¶ÇÐúR”R6····ßùàƒŸ|"ÀÇþèý·ßºòà…µµµµfsµÙl6W›ÝŒÝ íw] €}üGüéþ³ÿüƒ?ûÁÚwí;k,v%R©üñ> x 8sœý ÅP{°éI0oSÞÊr „ž#ŸVÄgÇIøV05ŒqÏ{Á‹ŽnG`!Ä^à *MŽˆUUŠªJídÑzD�˜wBªÉ8®yZ‹[|l›R°È\åÚNÝÛ®ÙÔ¶k`-dµØ6ìÖë�Õëõ ´Ä4Ms¶Z���%gìÙìhöÓ4IÜÕÿŽy°lJ�XVew§nÛ5»V“ÑD˜ŽjµE +¶]«µe¼�F6!欙�µëÔ¦õz=ú•€¦åä½<9¸:æ¦*ŠŠ÷øÉGòÿðÉ'Ÿ|üß~ôþÛoÅ.@su­y¡¹¶ºz°ÿõ>øþŸýÙŸýç€TzL6æOêù|¬ŽwÚ:.Þ«–œ%GøŽ J<%œ®pœX €Ø">ó»`ò1¦úœ ÁæŒuà +Ñãô@죆@Uch*í®:Ý Sw’YBHª_û™·ì<2 yWœš€G¢ÂŽ<Ék5»þ?ÕëuZ§õ 63›ÍN™³æ”yÚ¬f'G'�˜YSü�š€eÍÏØ_…y ¢2µ¡_µãªC Ó×㋃Á^Œëõ:¥‹r”!•£w™5Jí:ý•Kv ÅÈa¾ÔjhÃ*»ö橊RÄ’ž¯rWÄ`ÒþçLvHÀG˜qÄæ y¹GQ0‡{\xüœ¿¹ù”ãp'àsMÕÐÒÒ‹Ž'ÜÀu]Wy-ˆÂþ'„À|YðÍ[@+­­­no_yí‡|üÉ'ŸüÃ?üÃÏ>ùøƒ.Öäñßl6»¼ývþ�öþáøÓ[ ÝÍ3¤ÆÆR)=Ÿ—·ç5-§d2ãét:“é(€®ý‹‰Xr:âˆ[( Ïs¹îþ^7Q‚3Ìz bð^�ñÏ^½P;8ŽÔÅØu°N›wÒYBˆ¬²,©µ‰uÀ¶ˆÍWm;ñ äQ¾[�­À°tq§^¯SZ�¨ UbÊ£³³³³³gÌìÝæ0MiÿRdÌ‹Xdyä»P‰l¹» @ˆ +×oÁ¦;‹‹u›Öë_}Ô¨V 1ï2¡fÛ‹ôW®8Yy-¯å»Y€V¡ÒAž¢ªÜó˜ðâ©Ä @Òþ9cœ³âEŽÏ!Œ9Œù‚ž‡}ìKXx‚›�ð}ßw8FXSUÄñ‹ÜÂó\×õ˜»ìºL¸\Ì‚;²*hy` ÜFª)¹ÒÚÚêök¯¼öÃ>úè“O~ö³Ÿýì“�?úÑ;1škÍÕ¯5¿¶Öl6û²}é~‹•!¿Ôê@üéÿõŸ�X~·2p,•J�¥Rù“ù“º®z^Ór¹L&“I§Ç2™±L&#óc™Lf"—Ëår™LF*€ý  áuÀ> œDW1\ô áüüðK÷)€ñ"í]¶Yf6eš$ìðÈ<éæ’y æ+²6PŽó²À¦ÓQ'\°íÔi½^_¨Ùdj2K P€šäÌ4œ!ÀêlNÈüü<”ë4±©hÔM öµz½^_¤õ:» +U ³fÖ +6Û¶5 åâ7ÅX íKC›ñ!ŸhÆ9ž` !á +!ûŒ ƹ�-cK#\ä—CéeÐu=O±¹¹x¾8#ŒT ìs!„·â¹îæ²»,Ü¢:ã Á9–ý$ý qšV·_{åµ·>øÉGŸüôgŸüì“O>úèGï¼}ó•/¬­5¥øZ?úî“á}ùÇ­°�(€?ý³?ûÏ?øÓ?ëU{ïí@Ïëºq2Ÿ—O§ÇÒ™±Lf,À„"›4&2J.ŸÏçNäóùü‰ä"7-ŸÏçµ®pœn.¼aàq\§W0ïÏ÷ýp;æÿóŸÿüçEŒ’}ŸJìôÛ?Øäè˜IÎÀÃRÈòß¹¹ +‘3úa*‹ÔNìŸ$ú(0O뵿_¯×ëõßjCÕÍYW7Ìă>“ ™«Ì˲æ`Ê‘mÔìžÍ§)]0õˆÚß«G‹õ:Zrú7'M±høÀ‰¼–Sô‹axéÒy¤ÀfEELNûg ñ/<áöØ?Çc.;Á0ø(ŠÜaÂcnàaY“˜B›Aà8¾ïpŒ¤ª£ÁD°âî¦p™+°œàyB,0gƒ`C\€æÚê_¼~åõ·ÞûÉG?•I€�>þà�·¿óʃškÍæZ³ùµæ×šÍfz,=ÖíK§‡éöƒiï¶wwwÿðwÿð�7Þx£mï)(è�Ð#ŸÏçr™ÌXf<�Éô “Éår'r¹\FÉ�H ׉¼–;‘Ïçs9-ŸdqåNär¹|>Ÿ?„¸DG†y?Ü?¿ý% vPë[ôŒy§ôÑm`Þ’ãø !�€6x~NÒIÿž @§ëòÊ`BH´SÿŸ¯Õwèb�Ú`Nf‰ @ €Òvl j6Ør¾—œ# +òJ�ÿµr•Ú6@-n-°èô"Ôlj×j@ˆEõún½ѺmÛUr:{·Ij±Kò+€õ�á +@Ëeôfnµš:Ú[ +¼¹Ù¯<¬È Ÿ`Œqñ”ÂEHå±ýÇ-c -á%Ì‹Üá\ø®ïÊ,€�S>‚Mßó|ì Ž0VU q´éø"`+îŠO¸‚ á ±ây‚ ÌO.Ðî.UÓ4MÕ´äO%§7ÃÕ›Û¯½þÖ»?ùè§Ÿ|òÉOúÓ�?þQ € I G¤{nýî ÙŽ““““ÿdrr2{×Ý““““£`,ÀÉ“y]×õ“F¬ÆÆÇÒ™±ô&r¹œ¦d2¹'NœÈõ(€¼–“†¯�èÀ‰|. Ÿ×u#oäuÃ0 CÏçõ¼¡çóyÝå•X +€ !7S2™ññññL.RÏ'ásÎùÒÏþ©Ыj ”Bíô�@‰»zìR€…XXJ£úÕE8»{µ¾QÑ:�(¥´p�.F‹m›.€Lïï|ÿßG»uJmb°ª„œ&„�Z½Ly”>ÖÙ\îO£(Šæ®íÄ›/ÖäæÑô.­/Ò6¥²`žF7þ?Ñ΢,³SÄ–¿"1€gÃý0at€¼Ñ0ºîæf�H¼ÏÃKA „$€t‘ÊYlÿ*vcž@ˆ©#ÄTGp× <—rxÜ,ÌÇá�Ã1檊0Æ�ð\�=΄ë.¯0Á¹àB¸žïyòèÇ{€ªõ½gT}umõæöëÛo½óA€�>úà�·¶_yðÂê…f쬮6ÇâQÿc©tz,=,rwHt À0èz>vò20žÎŒe2ƒ + —ËMľÀ‰\Wäåѯ�ˆ@"NäNH4äu=ò¤aœ4 Ã0NæO꺑?hår¹\f"“´?g&d"@z\Éå�“½/ø´öÿóŸÿuPÙ»ÊåéɱÂ=…éB¹R)—ËåBåT¹\®ÌÌ”Ëår¹R©ü³òÙ¹Ê\¥Ü³*¿^)”+•ÎcËš³¾²`UÊ…Böž#GŽLÜyçÄ�©;ï¼sòÈ�…{¦§;Ï®”Ë3•¯” år¹R®T*ÿìKgÏVzö®”Ë_ÜœXsÖYËš+Ÿ*LßsÏä‘r¹lUÊårùó€µµµ0 a®­…kk=•@Z. õR!5ŒF£ûaÙ…¿t €¹çr˜ cL8BÄç?ÆHÅN D°)äÀ@„¹*"<�Ì•‰"îùŽ÷—b †.<—¹ØuŲ‹9ãB0Á<×ußcûC]€´¢¯®­~g{{û?¾óÞO>úägŸ|òÓ�>úèGkkÍ8 °ºº:0÷c¿qß·µFR#ÉÉHÑ! +@×ózÞÈwb™ý (q0 «NäsÚ‰>$‚®ÈçOæ #ò¤qÒÈçOæó†®wr2ÎBœÔã=s¹ÜDf"“€L €øwÄ*„ÿüS/é(Hýƒ?x‹~ghåHö!º5Qˆ(¥@¬yzãFdÑöNÕ£v{w‡Ò…ùJûùdQ_D  ;Öü<¥×oÀYøæóqŒÏ4 sÖœúÇYÓüM“Ðç�R© (ÐË¢×ÿñæ4j·ß”›ï>ß–›/D x>²¬ùº» xžX¤Bˆ™%ÏïFQD\€µµ0 KkáZØl6›}д\No†aë÷BéšÑè´-Çòt €…ðrz ¯€•~¿ŠsSl +,Ƙ!,á ±¸®@œ æ +Á…ð¸ïqÁ¹ðgŒk*B ùŽpöxÑuÝe )˜û/\OpÁørߥc¼'˜Šðúö[ï¼'}€O~šàÁæé  ÝοÁ,ÀÈH*1ð½–ßùcddd¤G¤ƒ€qѲ¡' +`<³_ @É(¹¹^ËÎçó1bË— +àD>¢çiºaœ”ÀÐ%NÆÖŸ×õ$ ™ïu&† ×Uù|�r"ÿéðsEQUUA0tÕ GÍY"]úZͦ6­Y@éb€Ú”Ö¯ÑúN½N£xR7|,°`ž$iûêÈ«Â!„cûW €‹¡ ƒÇå°Zg$˜†ak+ÔÒŒFƒ7JF‰óoBáŠÍ 6_Ʊç!$bYõ/ãc;›››�ëºØó1 a® +‹åÀ•·ûȆá ß‚sásÎç½À<€{xHpsûÊöÍwþæƒ�>úéOúÉÇ}ô£wÞúÎ+>¸vák«Íæêêjsµ¹ÚiéÜ5Ô²cŒŒŒté˜üAž@zàÎñ”~RºéI “ɤÇö*€¹9%“É�Èår'´ž@=AÀ'òù\Në o2pRÏŸÌ]' «òz>Ÿÿ�} iù‰Lf<#ÐCŒü‰ügÀÏUU•3ÕÁUÛ¶¿gs–ôÜÊiÓ9«^¯S€Ú6]Z§uºH#’X¨Ý‰å=Bæã¾}ÇøãË>Éi³Z%;D^@e�¨M ©Guj×€R›.Ú”Ò:]¤í¹¯vcŒP‹˲(,yyÀìiÓ<:i v­VûÜ`­Åð²XËå&ôµ0lý^XByÍh Ã0 Ã0=À—!|„Ÿ¢�œ ŒÀ*ö¤ý  Ï 0CX¨ÂA‚mÆC=˜ßã;<cl>�WPcmõ/¶_Û¾ùλ|ôÓŸ~ôÑG}ôÁß¼óÖöål6¿¶úµæª\cÃ}¦ÒéTj¬§Fh$¶ûÎJ�H¥?ÒK�D$€”'ó2 ЫÒéñ~LLœÈår98q¢ÿÀîSy™èQúÉüÉ8`Æ€  ÷à¤Tõ¹\nbb =žW&ä_6vNä?~®ªjuïá_%¶Erzö4©BUŽà·©]©PÙÖS³mJ唿Eûs1ìs¤SÞ»`ÉÛ|©&÷üü6@D ­%¿™Ôêö\RVP³)¥5Û¶)µå„ÕdÌ[¤»9�£¶NÅ4'MBˆýy¬X۳§C¶Â°WÄç&ô0 [¿b¤i†aFÃ(%Ã00Š ‚Í`3ð=�¹À +Ž=�CÂU¼ùÂæfàA Ï \×u{€+.¤ :P�÷à€öÀ�.@€Ÿüä'?é`µ»úo�Gû§ÆÆ/ êþÈh¿m�t¿í:##£##ïNÒ€± `ôÄÒé½1€q @ÓúêòZ.Ÿ?‘?!í?/m>ׯò'õ“'uéäó]tŠõØ!ˆ%ÅD.“Û-/Õɸ’Ó�$ pâĉÏèüüç?W`€îR¨š&!p¦#èÜBçKjƒlè\ nwÊy(�y€y£¯JÛ7 �3Ķ ©\¥]YoP*;ym9ô§»yåÑXô U�Æ·ŽHÌbf'ã:ƒÏc`àjϵ0 [a)l…áÚÚZ׈+�súZ¶¶ÂÒ´¾ X¶÷WˆM©°®P°½c¤âÍÍbûÈs×uO@� Àï*‡3Æ8ïú + ƒŒæ±ýÚöÍ·ßýà£�>úɼ÷Þ�þæ�›Û—|põk««««OÈÕ�ûßÛ­ßág*5:’þÈhìݧb éqâ÷ÑÑQ)F†äz`ô*€L&=žÌd2'r9­Wäã:€ñ£¹ŽcÞ4:Q€“ùn @Ïçe@_Oì_º¹!A@­›Ð‘.ÀÏþóÚWí= ìE{ +�5 ©&wpk!é ²j¶mÛv�RjÉ›{ãY�™#dž@�X°@© RT�r¦ +öc�™Äjw�aÍÏ……y T–È9„`/ÒÊBÏæóóÖ!±sA’©£„tP«=öyìØ‰Ðl6›�{ôf3l½ôtIËhò„B麮Ëq¯BWp76=!ÇѸX§K\ÄXÅ›››ñÜ^�„¬x®àÂu]‹å qö(ÆgüÀ½@3V�íí+¯o¿õÎ{|ð“~ò“÷Þû›wßúÎöå\mvíÿ‰Á`Ï-�= ý£££Ò˜GGFFR©Ñ‘Ôh" zä@üçèȨ|Éè$Y€Lg)½‡v.—Ëô4Éjà'rÚ‰'r9Yú#€±W�Ëåò9E¢"¯i¹|.—ÏHvd&$X21E2™ÌD&—ÏŸ8¡É´Á‰¹œ&™1‘Ëå&2½�nG¼iÞ0:à‘G…–Ëå>#ìá Ì)s6©Õ³ä€Oy˜ED”Ú”ÚÑbýù¹ùø¦^èÜç9O¤cO­9j¶ôä,akŽÚÌ“¸Ø"PƒybA›R›Úv´X—.@ÿæ$©(˦5¨’3³¶Mí¯~õsH°ÞG-—Ëå”\.§7×Âpk£„4yñÒBm +c@xAà Œ9ãÂuñSBˆs10z@Ý|¡kÿXpæ%ö/„l³ëÄCÁb ]ˆÒ^€ßZhûàõ+¯m¿õλï½÷Þüä'ï½—`õk««F €ƒ“øŒHզ߭îýfddD +„Ôèˆ|âÈ‚ƒTJZû‰8ø:‘ü9‘ÉL$£ˆ2™Lï�±Aæ”Lf,—?Ñym²öÉ<É>DðO•¸þæÝwß{ï'ïýÍ;?üÎë—|pU†dx|ÿÙ]iÀÑ)ê;IÀn: 5’ˆ„TâŒJ¹ÐÙ9Ý€tjÀú&2™Œ’‹�àÞ«åxbùœÄl{ìwB’ ×y¤ÿ¦òžËOÓéôXÇÐ;™�eÆÒÃËž:ƒ�ãŠäÜ/\†¯éBybrâÈ‘Â=ÓÓåò©òÌÌL¡R.— …øN¾B9.,—gÊ3_*—Ëå/•ËY(X(ÌÌ +ÓӅ—Ê3å©òÌt¡P. +…r¹\( +å/Åå|²®pff¦\ž)Ïfâ«ãjÄÊ©Êtwó™™™SåòL¡P(̦ Ó…™iùw�ž¾çÈdj¢pª\. +…ÂçO<Ý÷¶®÷Äz0‘É)ºÞh†áš€Òs9°Ø ‚@ø–×N +áºËl™±eƸ+/ï••½ÅÍ®ÿϹ,ðCÅí�'ç^7Ø£¤ýs¾¿ p�PÔàõ×®¼¶ýÖ[ïüÍ�Þ{÷¯ß{ï¯ß}ç­›Û¯<ø ±j««1]ô?:Ç ‡ÑÎRH7!~zI¡ÁXœè_içƒ%‰ÉËy9qlßñYÞ;Þ`,“Étæœ÷_g’´Bîáà`%tz"£Lô¬Ï€ÃÖõ�h±½X#gÀ¾Nç"ÚŽ®ïFÑîî÷Û»»×#:·°»°[¯G;»Q´ER§Ñîµè�haáí7þÓµ�ëmºCiQø_ÛÑ7¢]xþÿ{£½]»ÖÞ½q=Šh»}£EÑ÷£³ mÚþýÿãzí¶o¼q­}=¢–զɿí(ºQ>ÚmGí(šÿÁìþÉ÷®E×ß ;"JáùöâóßhÏ“7w)9 +íöµ?¹Þþ\^ Òê{Ûðµ¶]ן\k6×ÖÂVËÐtµÔ7  —Œ1×]^Žçñ¹"B¼ÐcÿBæyŒ!$¯Ÿd^àÉÏà,ŽÞ~ —SEÉõ|¤39Ã0^¿råÊöÍ·Þù›¿yソþë¿~÷�wÞúÎö+>Ø[áhì+ÒvÐùVº±#ЉÊ(áèÈÈèhÏ4‘NAp €ä·v.=DíñXïÅÒMè5Ûôž‚Æîí…É9ß7-½ßäÂC®Ïš¶äÝ|Sæ,øw§l»^›RZ£q“>TÚ6¥ñH@ì(²íú”ÎY@ìúµ:ØÔ^ŒGüÕ(Ð +µer 6µ)­SJéW€Öiœù§ñl¡ònͦõÇä\‚š]ßµíú5J-gìz»6µ©¬°¡„<_ „˜Y’ Ã>ߨXßðuqt]××Öµµµµ°Õj ]ÕûG�ÁæSN æ.ÇŒ¹n<ò—‰~=þÀCÈó}�[ ¼Øü=O·Sä !ÀúÀac9ep¥Çs†a\¹råÊöö[?|÷Ý÷Þ{÷¯ÿúݾusûµË_~°1�ýŠí_FFzk|FFó}q `$5é±T*ÕíàÍgÒéññÌøøx¦ŸFc±fŸÈ)2Š/g·îÛΣÅY…¸w@ÉŒ�Kÿ]éªvMÓ´œÖ½ "NÿÊ0`·j,#S€II¡ž×r™œ¦ëFïðå_j5Jí3SY“Ôì�S‘MÁ¶)µm[Žÿ£– ¸Û5Û¶íšM©mïØsÄ"íët×¶m›ÌÛÔ¦Ô¦6ÀÙ:•ÓDe¥�¼p¤^oÏEujÛ”R;²e°¢Š ¶½h× N4F¶]·¬9Ëj_§;2 äÎP°«ÄÌš²^àóX >¶:À¡®ëz3\ ×ÖÖ.†/½Ô@yµôDg !„Ø áaÏóc®Œ-K àÆó€D'ü'ç±ýû¾ï¶²x\ðÄþ…ÛÀÙíg2ã{âYé´’7ô+¯¼re{û?þð¯Þ}÷Ýwÿú¯ß}ë¦@\oœ4Œ“)€žë}:žýèHßKI�¤ú@§h ÕS`Ü€±±T*µ¶¶¥R£ÑxrU¶%4›²BÉÐóã©T*�ÎhyCÖò–J†a<Ñxâ‰'VWWW›«««Í¸°3¾ä,\ [Ï>»öŒŽt]×;å�FœýmÊ(q.(þºÙ”Û¬®®†aèz^N'Keò†a¬®®=Ó\]}â‰ÕæÚ3ϼ$/’}¶õlw}6û�¢½)€š 6µk$›5OWmzŠR°j¶Më¶Ñİ© q¥ô*¨€EP›Öâ?]¤”Úðht6¢4nî�Ëj5›Òz%ªËC©œ$lPb×âÍãû?)ÝÄ"óäa¨ÿZ[^?V¥»zf*Àçóvàõž·��$ °±>H€µp-\ ךÍf¸õR!µ´úÄ9ùÎãéA œM„}áû¾ìÿeËËËËL¸B¸îSIϰlÛ‹íã`Åå¬sþ !# +`é@`?0> ™|>ÿÊ+—_ÙÞþÎ[?ü«¿ú«wß}÷�·ÞzkûŠ@>Ÿ×O†¡ë=õ¾ƒr¸c#=Å@©ÞhŸüªSÔ©ˆ �ê^3eL—ÚêüùæùØF“A…««†¡�¥ÒéñññL&£h¥' £±ÚxòÉÕæ¹8m{ñb†ë�ë�庴µµµµÕºtiK~ýR«ÕjÉÛ7ÖCŽo„’¶®5W�RI7šk« ‰=Ÿ×rc¹¼a¬6›a>÷l«Õj]ºtikkK~~©»ÂÏ€o~ó›Ã:�(­Õf³Ù¬9[…BdÛöWÁ°¯Àb\¼oפ%ÏË +>;°*äB©·;“Ä#JkÔ¦‘Õ©-' €%sD©]^”Öäæuª „ÚvŒ‰y`ƒm×,‹€u†�ú›òÑ3g`‘ÚPƒ3Ñ©ˆ™�M +’íÏ9Zëa¶Î—Âõõ=m‚1.^ ·^jhšZZ}²¹údsõÉUžÀ –6ó=áû¾Ç„®ŒŠÄ èÚ¿t�ïû¾/0ö„ç2áy+žL&/è*Yp� ð/ncZ>ÿÊåËW¶··ÿãù«¿ú«ÿë¯þËßzë?¾þÚË_þr>ŸÏåãZ|½3ì–®ðhרS½ÅÁ©Ñ¤x$•M�¤FFGGF{@º÷^�±±±ÔX*q¯â:>§×ÖÖVW #/Ãûy]7ŒÕÕÕF|ò7›kkáÓëÏ…ëan„áús—¶¶¶¶.m%xî¹.6ÂçâÛ_öf‚/6› CG%Ãà†±®Iéaèz^Ëe2™\^bµ¹†Ï¬‡ë­�V¶$g¶¶¶šÃõÏfÿßüæÐ€m›ÙìѬIÈ4°kvìÖµkÖ¢ _í)лFç*`U&„ÀbòƒÅÅElû:Ô©Mëð0@íÑ€¬)*ƒ-K†dI�mÛ•EÛîÛl +`YPµæ­¹9¨w1E ºkÚÕÙ©£’‚„ÏcÀs���ÖF†­Fã¹á/^ ›a¸õRCCš‘” rÎ:à¢K×�#�½à‚÷Ú¿#°ç¹�ÏùëØ8è‹ô)€Cf2ãã™Á·t:ÓÀöÿê‡?üáÿÃö|ë?¼~åå+3!kçc¤“ ý˜å�“:?öíS�*ŸQYÿßÅB¢F÷kŒŽA|-@suÕ0ò†®«O¬Jéß\•ŸéØt €­­ØúŸÀúðk¡[a³Ù(éz©TÚF€õ­V«ÍæÅp]ÿŒøæwéÀDPø0³Ùìož&´·úÙô1i£P‹v:ôä%!ð(< +P2Oæ�¨3Ë»Nm»fGVD;÷ŒÆe½–e­Èº_Jéb-¶t:õTÿÛ2ÜGÁªX²Æ¨ÿ܈NÑ3§§²³6Ôl ŸËÀz¸±Æ žjíý‡!Í? Ã0ÜÚjhšÖH c‚ÉB>þB‚ y-®+ât€ë +!Ü 8çöï9ŽbÇ¿Çþc0Ì“�LÎû¸Í,@f�ù�§¥ p9ÀÍ·þÏÿó­íííííÿðÚk/ùŸŽ��˜È%è½Í·ÐXçv°t:=6—�öf;@#©Ôˆ´y MOu�ô^è ò}hö`cC@ïô·® °Þ +; + dÍ!ø§F€p8šúg³ÿo~ó›{*�c˜&¡•vR´kÓäTžë=›=V…@H?L©]³¿Z‹æ#{‘R[öùÔ€Ì?hå÷í¸¢ß¦`ËÐA¹³¹Ý³9!T�´;¿Ü¨V£Stvv*{šÚ@mºðyTëáÆFøŒüØhm„áF«ñÔsCNyú‡a^ÚzJÓ´F2B€ Æäár‡#Ä�/tÝŽˆÏŠeŒ1/¶Ï“öÏ7ûìßMú0KÀY‰óÛÌd2{ƒ€—üÅÍ›Ûr½öÚ•—¿|rl,¯(qW¼ž–ŠñD£Ñh4V�'žh4 ]™�ù{EQ”=.ÀsC]€½ +à™= @c¸  O¬6K¥’QÒõ¼¦å2ùÆ“ç:KhŸ}XŒhÍ&Ù©Ó³„@ù:µmZ³íkÿó›×ê×ê´^o[=ù‚d�*–MwêÔ®�@iMÚ|�î@€Ö€RXÜ¥²v€R›žÝ­SQ›îìüûk‹oÖëí +íIFÄ›×hT™«-¶ëT2!ñ©MÉ)BL3k�€¶?�íÀÏ„Ï=Óz. Ÿ{. Ÿ{î¹õp½uŸo…{@÷øß’Hˆ€9ç\¸ !„püs¾�"Ö¾p…ËÌýÛ¿çy"®L�牠7 ­ÞIcli‰ñÛËŒg2™Þ4À¸´ÿ ɺ|ùÊ•+W®¼öú믿þÚ+—/¿|áäoüÆoüÆo$èŒH�õ¥oeÿ­ð™V«›”*`dH ð@=À .Æx²»žÉä4%§jª¢*«ÍÕÕÕó�F£Ù”-œq÷âÅæù¦<âû-3þ3 ã¨ÎÅ8wØ(é¥xä“ yûkã|×°[­°y¾Ù<þüù'Ï7¥RÉ0t]Ó´ÜDÞ�X€OA€?øƒ>XÝ,sòH6{Ê´~ݲæ-KÞØaÍÍ‘€ç¿bYgç,ë¬U®X–e��›«ÌÍUÊÓÖ¼E€T*åÊœe�=kYs‹XVÙúJåìÙ¹³•ùŠEaaÞ²,«R±æ¿´0°yT¶¬¹92oN¬¹¹¹J¥R)Ÿ�kžT*•¹ŠeÍbÍYdn®R™ûb¥P¸g2[©Xës9ü¹õçž{î¹õuùñÜz¸ÞjâfkŸB¤ùoµšzˆÅà\0×uß÷}„D‡ž+„+/ëb}Ç¿<ÿÝÀ®`<ŸÏç;‰þ[Ý8ðÔs-I�—Zqíoœjÿ©±ž(c|ÓP€5 €§Î@™Èi™\NË©ZCÀh4šÍµµp­yqC»p±Ù /þÿ¹ûßà8ŽüÎl†žÁÁ© 5…¸ÝEPx h‰¡` ÔDÁ݃„jX6²™M¥ Z^JŠh¡é®iÄá(¢I–ñHÁÏã[*„)f[æs0°Â�î¨ñê¶£Q™aPʹ—z´c \kXçÀˆñÄPóò^dVu7j4¾{A]’ÿ…†Èß'¿¿ÿö‰÷³,ËÈ[öœ=gç$f"Ì͵`&—L$I©ús3…ü> +À|úÈ‘Z Д(ãS®Þ­‰Þ{# 1Æ.v_Å“ YŒ—ñ«ØÅ“мþN�cìb¼‚³Ä !þœÆø$7¾çºîäi�,ž„fÝ´ !4qCcÓÅÙ,Æˇ_?ý²›Åx›c]÷ƒã/`ìâ,€¤ ˆ Fz¤OŽàe×È0²€t:}@1.pi~Þ±-™˜ß"–æï‹ƒGC &ŽOOOŸ=ûÚôôô´ Àþ`pðìtD€³g_?ûú™wæß�i¾þ£ûÿìÙ³gþø�ÿø�×ÅÐðþöÿ û—A€¯—H¯®†Ã ¾Õ,ÿ¿ÕqðàÁÙÑÙÙÑ£££³³?~ë­·ÞzkvttôÄpßp_<>Ü×× €X“Fÿ¸té¼€ã8.DCÂìÐT iKì²ÿÜ�˜ñÑÿô‘þþ7óVÞ’ + hÛEk®4¿öÜ.ó´íHÌ D + …ÝÈ7 ™êæ™ÞŽþäL!ß*$zŸþç …ft0ÂØ„ZO*¥ë!˜ÁØÄal £ 26ßG¦ùû7Ó“ ÄJŸ—€6ì8ž>=eÂLXÒ‡0q14ñÂØ4M›!Œ¦ibŒ°MŒ ›ë›ËËÆ$@Œ Иb@‚çpFöÈic1å”’Çö¼c YÎnù?ßbþvr°cÐ*•J¥ÒùÁÁÁéãÓg§�ÿƒéééHü`ðìÙé³Ó?hVbMöÿÆo¼ö†èŠì_Ljèÿ§wÙÿ™3ÇÏüš,@¹ìºn:�^ý«™ l8ßúÖÁƒ³£££‘81<ü 'ÄyþùçŸnœgžiûõUí»„Ò%§$ìÿ’3???áÂÅPì€æðB+æv Ð¤Žôöö9òô›y+Ÿ·$ŠÅ¢5_eM˜³æöºè­°í¹&`? +‘ÈC".ðŒT»]çüÓý¿¹°ºº›�y c3ÓÓ“Òu…‰zŒ†®‰ B&ž2—Mó÷M3-gýˆ€& “iÙò3…Dx +—GÜÌFaüûæÔ”išS¢<c£ Æî2%æ²i./›ãòá°åá““pÒÝE(1„`B‡)pÀ)ü˜@„pK%ñæ8ö¼3w|/lÛŽÌ¿˜Hô÷*–J¥Réì™ÁÁÁ3ÇÏœ}íl"! ðÆþð?øÁàÙé³!Þ8ûúÙ§”N¥í€Òbÿrލ°G¡qÿ?ýÚû?~æÌñ®}]9—Ë®›n&@&“ÉÀ¦€ÙÑÙÑ?™àÄpßðóÏ¿ð /<ÿüððp3†Ÿ9øˆÀ=(Øí)…׿c_õÕö»Ø”Ü/ |€0 87777gYsÒ{/¬7s¹ÜÌL¡ÅxºÿÈÓo¾™·ò–%]»X´æ÷Ĭ¯ËnV¿‘ ðLo‡ŒìòŠsöüœmÛÿ<´ Qz7…n¢ž=#Öí!„MŒ3goâH˜æ²‰ÓB0 Eò†ã'Áú$€ã¦iº×Ë™eá)„ðúF!ˆ1ºišæò_þÛß7¦L !ÆË&Fâá<�á‹0)vB'ס�ONMM™æ2\ÆP×H¹±ÄAü8–ï€bÂr„ý·Ö†æŸì?2˜°Ξ<~üìñ3Ó‰é„ðÞˆ4À´L¼¡(‡•NEiëTbBÿ¿öÚkÒéö?-îÿ3bÝ™†ý¿ÖèèìêìRUUU +@ƒ/ºø×€¾—þ«fd „ 88;::Û£'úBœh1þááááX£·ö7Q—œó¶H�]rZ\©‹ÎWŒ“a†ÂöfÎì9ë� +V¡P8—;wn¦p.—ËåÞÌ uÄ{ûŸJ&“¹7sb?“0?Ûžß«öÀœÝ €9˲íæ€mï€s!ÿÃG3…™7sÉÄÐ�vôçff¬½§(>ÁohÿÕju¢:  B¯ Ô˜ŽÐ«¢sgÊ41B&,‹–=a£.ÂãÂI("xb‘8 �IcÙ]¾™Á//cŒ¾9b"”A0ƒZ^^þË›±l"„2_5ʘx#„#`lÀ „¼Œñq0). +9¹lš73!C8RS1Q&óxv:»Î|É™;n]Ú?(Ípph0'ÊΞ={vzpppðøñ3g¦^ýõ×¥ôŸžé@åIEéT:¥MQcŠòƒ¼ñÆoˆP_xÿOŸ=;}vº)é?(ìÿlÃþ�Ÿ9süø™ãŠÒÙ©ªªª*Šúï^?®iš¦‰`$ý½†  iGgGGGüõ0Ü:ùûÑx”pé’mÛs 5õl0 ª7M:¶m[…B.—+ä +¹Ü¹Bá\n¦PÈYç†::z{ûûû‡††äz¶BîÍ˲ælYŸ%”ÍDsÖœ%/zKüÄžÛËš;—Ëår‰„]œ³d�€mÏÉLáâÅd¢·7¿h…Ƚ™Kærajð™™=×$ææ~Sx{ [3á rS=2M1&Xôþ›Æ: +[î°‰M§³‚I4D†gFËif0†H¬Áë#.F0Ê ÿûõWÐòÍ›ËæÔÆS¦¨t‘ 8`ÏÅny½|óÖ,/»ëå[æÍ²y³|«\þOeÓÄ|¯¼|óf¹ì–ß7—o½·^vËe—¯/ÿ§¿^¿é.—Ý…ëîÔòòõ›ï]wË®éþ—¬‹1.cèb芇߼Y^¿uë¦k®/üµY.›åòûeó=é)xHíÒËååëËËËÿòq'ÀW@˜ÿàqaþv¡P(œ}ã�³oœ}㯽`zú^ÿÃüàÊ¡C!ž15¦tvªšªˆ¿þº°ÿ³ÓQ� Øãs|ðwöØ€N¥³áDÐÂú,€‘t:½þWr8SèŒu«]]=Úèèh£à× v°¥Nç௷ÿù&ÌÛó uÞ¾è8Na €Âý#1)ã s…ÜL“ÿ.+þ¬doo¯€¸þgffò2 nñùÒ®™Íž +ö\ÃàççK¶e +¹\"šâ,þÙŸý‡ÿðŠCýýý¶ÓŸtr¹¼•³‡Ž$íÂÌÌLD€¡þÞŽ¡‚UL &r{¾ä,.þ°Q~ì8Îo +BªÕš °rãÆ QtòäÑ��ÇÅ>|t```àØÑ�‘ïŒ;vläèÑ£ÇFŽ}çØ±cÇFFÄÏèœ99>bœ4Ò'�´ø€��‘‘cÆïeÓÿ&{ôäïýž|øÀÀ±£ß9MýÎÈ€xÚ±c###ß8zìØ±‘ï=vôhËÃOŽ'O¦O#ÇŽŠù¤#GÓéôÀs‡Å�'O¦Óéo2ìÁÁÁAqûÛv¡8W(Ξ}ã�³¯½qöµ�Çÿàþ ‘HL¿þú믿þƒ˜¢z²Y(M + MQÔÈþ§£[þøñÁé³gÎü�X1ÚÿñŠÚÕ©ìvÆB Q@ú0€¦i¿1¢û þD{ãR©‘°K»«�ܹsû ½á´ËÖ ¦.ÌÆ‚–più›V²_t&I €B!78”�ª}hpp°ßvæí¯<ó2\šŸ¿4oÛ–577gÛv©Tr‹Vrè™ÞþÞþþg’ÉþÅ‹ÎÐüÅ‹ò9»ØÛëgr¹™Ð`YÖy»h +¹\2‘ìïü ‚(!”T«T7C¬ÜX½qC¥Ó××a�\¡[þ`}}ù¯ñȺ»¾¾³ëßzßu³å›7ßÿàƒ¿.—]ŸÎºîz6»~ g×o•ñŸ—ÝòjÚ-»”WÜ+¸Œ×Ýòu1:|ÝM¸ë.Æxb\¾ù·7o•oM�”Ëë·Öaö–|øúÍ›ë|ð×åòº�q»å,\ý`X~ÿ&v—Ýr9íºîå2^ÀØ…Žñi¨)1 –Ýïýÿ"ó/Î +ëìñ³¯�9{ö̯½öÚk¯ $‰Äô™×_=¥Ä:w)€¶&ð¤¢t«ê¿1=Fÿ"ûíøÿòÚôkgÅ’ †ûüÌ¥KU”V@€H¸étú½÷Zƒ´#'à׺�q�Œô=ñD{¼á{Þžk1Ç9wî\â»�F,hoß[ZhçæÂšÝ|C$“Éd.÷fnFôÈ„£0í’=Wh,o“×z.—+HW¿ÑqâܹœŒÌ—~ø¿ýßþìÏþlñßÿÙ¿_\¼˜L\¼8“Ë%­Ù‹GúÏçs"þ—”Ÿ‘ #dØÁm%á°¡R©ô›Ù?¥BxÕÍÊêêêê•••Õ7n„EøGñ{z�ªia3ȹ!FF„2f6±i.‡Û=^~LS8ñiã)£íá$A|—M6úc„2x}äá$À"4…3žFÈĦ¹ŒÃÎ"£åá#eˆä‚@ O¤Ðº;c*€��ÃPÈGæoÿ¨`��>{üìÙ³o¼ÑL€éD"1==­()e�hkUݪڭì¹ÿ_{ãøôY!ÿ[âÇÏœéìT»:[]€€.v>…>@s%@³ ¯¯Â2àGÌíëë‹?"Þä”@“O|ÑqœÂ¹s…i{ß,@Øk Étûûûû�éïJXòï)ÿÌ3Ï$“ɼUœ�½páÂÅ‹ÎÅ‹N8–Ï‘»mÏYç"F�L$¦ ùŸ� "¦“Ë,qñ—JŽ°Ù¦¿uaÆv!gÏ:’½CŽ•Ï½™Ëå’2 ›� +¶mÍÙö¼h-ž/ÍÏÛóöœLJü¦ „BªT+•µÕÕÕÕÕ7nTªÒZ�×UÕn Q ÑÍ7Ülj]ш§0€Ø”ã~rÓâ 6¢¾@Q`ˆ Ìî_‡sýÄo¹#e¡1„؃~06±iÊÝÂãb¡l=Bwg2'¤&R=�TxBÃ0¾ÑÈ ß¿Xœ³‹Åb¡0=}öìñãÓÓ¯½ñÆM8þð(�)å�òU1EéQÕn%k¹ÿ_{íµãÓg_{mzzú�Á†ÿ/ ¨]ªÒšš¦iÒ ãX#ìŠjcÝjW�¦i@ˆ1n² €=8(Íþ‘˜íëëk�ÇÛÛ£"€F·Ý>@a:±7ØÞ y·‡J$çlgqñÏþlqÑ.æs¡é&sCÑàþg††ÉœÈÊår¹7e÷p!—ËE³?sÓ¹\24þdBLMÚ2N Šæšê>÷ñJ‹ÉgŠÿë|“CR,óo&;:::¾u°cpp°¿¿¿ðé¦ý+ƒQ.ú›)Æh$ª•ÊÚ�ÕÕ7V+U"ÀÀ$€šªiè²'בbÏ\¾ŽåÌŒMÓt�¬ØÛýÒ$„#ÑÞ‹±hêÃNÊcÓĈ0p—1Ôu˜­Æ™ë’.pjyy*zø”išYCl…“<-‡‰cŒG‡r;ø˜ÖÕÖ“AO>†íÀ¿UÞþŹbÑ.N‹1ÝgÏž=Ó ÀkÇ�?~\yR9Ц|U @ K Í_ØÿÙé×ÎLŸ={f°¥þçøñ㊢vª�ŠÒìŒ�áÖÇ= +@f7�‚cœ5Œ“' ¢¡Ý÷Àèèìè艾¾¾x<o�@”ˆ"€óvä$ÇÞ±p @Y”Kä,˲eDíO£ÐšÕß?”£y‹vѶ/\¸p±1�à|ɶK%Çi èçß/Ê�?”/q¾©Pf­B¡ tüœU(æl±)^Æ!‹¹D"!ÖÂö÷÷‹a+GŽttôç,Ûž+†åc¥’ãÈ8`©T*9¿‘ý7à{ÕJeåÆêÊj¥JˆHf°¡©@®Ì@ÑúȺTð¦èø•ÍÀ¦›2_Xºè Î`({#³ÆK“°ŒLlb„ñ±²1‰Ër„'tùF—bŒ% Ƥü‡‡ÆÐ=Ö²0TÓ4½G= !Œñ7ZŠ)ª¢LŸŠ]¬þ;3}æÌÙ3»  t)Êÿ‹í§Úö(U‰ÅºÔ®¥HûãµãÓÓgΜ9>=}æøô™3Ç›Щ<ÕµËèJ��±æZ wäèÖ´€ã,4Œ“']·\þjDãzw`øÄ‰£££'NôõõµÇÚca $Eø|K%…#€Ä´ã8ç÷i +ƒ€ÑôÁsçÎ�;w.—LäæÿTÚý¢sñ¼Ø›>@2Ÿÿ¾tþ/´´n”šfõ9NËÏ›OéRS²`ß›®‘D,Z–eŸ·mÛ¾xñây[N N%ŸIÃÌǼsyqñ²³è8N©‘xøÍÀ(¥”Büš·±¶ººQ©â3QŒ;âNŽ«ªÐu9%h¤ŒÅÎSË&B™ ÌÀ ÄxÊ5Ds¾‘�ærg †°i¯ï‹/À@×M$zŠŽ]‡“påÐoñpŸÎ`Œ!\žÂáæpŒM3›…ø4 ç}"Œ1‚fŸÃÍHk`"Õ­Œ!ŒÊ�ã@�Ýh@ãŸÃaåÉX›ª(­ó9ŽOÿàŒ˜Ø €ÒÖÙ¥(ñØu°;Ð-@W�¢ªÇ�¿öÆoDö?}æø±fHàŒÒ©(Šªtvv6\%“›ˆòïa¯ЬD ΆqòäÂ{e@*¥iû u·`tô…^xáÄè‰ÑÙÑ£}}}íOÄÚãñ`Þj-º$çÂÅÂÞ:€ðÙ‘ �JäJ‹ºè, +K¾h燞~&™L&“áVw[4 –Î_¼ä8íÒ|©ä8óv“å—J­ÙÊ\!—K$r­V/<ø(‚7?/3™�rfç²s1À÷óßO&%J2òY¸Ü]üúàœ1ÆX@)e„’Z¥²¶¶V!„ø,ü]UÕ¾;À<†1ÂäBý–‰1BÃ ÂØt ,L†ø·!Ì@@¸éZß4M„ÐÔˆ ‚ˆæÆgPÁ¿51Fa¹ÑT8`¹C£ DPºBÒ©tZ.Nu§Bnö›€Èú•§”XLQ•œ=;}&ð+  t*Š@LýZ1µEyíµ³Ç§ÃÙ_Çϼ�@¥SéìT;Ei¸]0“JMŒEQ€‰f¬ÿUc‚£@OO(04Œ“'Oþè½²R©”¦iªªª{ƒ€¡4oàyqñ¿ð 'Â@b<þD{<.þŸ´­Öû?tœ –µ�8Ø`A ¹ÒâŸ-:ú�Ìçó…y^r.9Îy €’½ëê/•J%»Ôðdï7Ô™wJóóó¶]šŸ©!G Ø£õö¬RࢀÓP¿q-ç’œRʘïû•Í� �PŸ1Ú@÷€6žêðE8 4âŠ?‚ð›¢Ëá©©)Õƒ» A$&¦axqÆÁ$šÂ,›!s¤ Û½B€qcošØD”�0ƒ1ž‚§!„ðEE- Âðe!�À€ñôx:­�r{ü&@Q”Ø¡˜ò¤¢Æ4åС§:;ŸRÄUQ:[4Ààô™3MP)Jg[›Ò¥(Ê�]¿A @@‰IûÿƒééãÓgŽOŸi(€ã�йJä}fRccaG€`¤I´@„²ÙÐMPu¼»¨ef_l8ùüð‰Ñˆ'FG…ˆ··7pIÀÞÏpË*ìUc­iÀðg‹ÎŸ^v[€H6p>4Og�“þ¥’m[s»ÿ…H¯Ï;ó%gþR©$&Ķàb€Ù|~7æ÷€ýuÎ9£!(­ù•JÅ#„1ÆX€T÷€6>h‚™¿6±)†ùJÀ“§$„¾$€ñÿ3€a°± §%¦p&“�ðôþ€!  ãã¿›Nk u}L û8 •óŠ8±'å�¢Æ4åÉ'ŸRºT%kS¥SQÅ\ß³ÓÓÓg� {Põ�¢t*Š"€òõcÝ]ÿJQUE錵ÅÂûúÌô9äÌ™3gÎôt*  3ràÑç`&¥M4jp#ðW«{%B¼W •êŽìgjŠ45ëÄb'NŒžxþùçO<àĉ££³£'úú†Ÿh�Çãà ”šà8ÅýŸöo î)Š&´<ØÞ;Ø(-þ¯‹Î¢ã,¶*¹¼ÐÚ¥và‡—€–fÏù¦_ÎKñ/@iþ + X,óß?!ö¨5`ÏÿóÀ˜ €ü‘RJ|¿âù>¿Õ €t·EÈPýnÀ!Db³  TŽsÞq¾Ž˜B?Z@!~.åòñq ÀõÔ‹ÿò1€�X,RO>¥tvJ SQ•ãgÄ·é3ÇÏœ  *ªòÔ“MØW|e @Q:c±X,Úÿñ&ó?SvgpD€1MÓ 1 q“ Ç!! +Rbp€ ¼H¥žÕ´îÈþ1^?ÖD™ +èë §†œx¾EŒŽŽŠDÀð°m[÷à’ã\rÎ�;—L:ÎDz,kppŸ^€æq {À�G(€ï7+g/÷¸v¹ ÐÀ¥Rɱ¿B|?ŸO&‡žiV¶½/¾—–/~dŒSF©ù„qÊXp €© |QبTÂøúx 0¾¸è8KŽsñë(©°€aÀ9ÑxuK[ÅÄ‘ouô÷öööö+ö­Þgzû{ÝÇS4 4�Ø €Î'=ÕÙ¥´5 Hœ=sæø¡´NUQ5vHéA@åÀ�¯èè.€X›7}|:,ý—§Sà·ºÔF7 ¢¨�X % Ѐ‘tÓ\0ˆ°Ö£ª=B¸¡øÑÍ›:H¥RÏj꿊ì­d1„ ‹JÀX,�÷õõ�•cƒN4Â'þdtôĉú†_~þĨe]Øí\rœK—Î�;7�pç¢cYÖààЊ�ð'»c—÷()òE«Y\Ü€0ã·ó{&-ÏÏ7+g¯p.:ÖlþûÉä3Cÿ¿cœM(ãŒ0J¥œ1pÎlRÒÈ쀗"À…&à8Îâ¢H“”ì¦0 { +V1yä[b¯rG¬£÷™ÞþÞþÇÔþÿå^óW”X,.\€ÎCO>¥t)Ê�ÐP”˜lÙ9~æø™ãǧÏ(=š¢*ªòTìÉ0¨(Šúëcjä4+€m1åP«ýRcÝ�Š¢(Jg« ÐõJH€10¦iÚdS Ù€CMíT5m ˆ½�Ò¸yS×S)íY­Åþ_ÆžBxê¦{ðàÁv1%4Þ××7zâ…£!„0zbvtôÄè‰ÑÙÙÑ£³³–ìº`þ’ã\²#À¶¬þÁDbhW3Pû®nàVÐp~M à‚sa7­vE˜—˜ŸŸ¿T*ÍÛ—š`·¸Ñ´ð¦,À£`ÿú +@Æ9‹Àcœ0Îa”2ÎÎYÀùˆ ÷Ù¯Txðp:\pá‚# PrœÒü|³èïïìω§âE;ן´mÛ*ærÉ™Ñ •·,ËzBÖ°°“GJ|+ö­Þßîíïíïý—�/”]'và€À“O>¥t*mO6@› Àñ3¿#Ûóz„8|è�Ò©´É@×׊ìrÈ{”ãgÎ<þ;¿ó;¿ó;¿£HÈ,@S/€‚pD€ h +€UfË.~ÏtÍì³@ÕR]fÇ ãäI·|³ @*¥=ÛÝbÿ¯B6ßsÓßkâ‰'š Ã/'àÄ /œ81:;::;{õí«oÍŽŽÎÎÎÚÅâEljí¥KŽcŸ;—H&ç‚c­ÁþD"‘Ø] +ÔÞ´o8ÖZPZü÷‹ÎŸîUC{cöàÑ +`ÏÜÇl‘”A±4¢¡ �ÿ~>Ÿ� ƒ€ÿ<pJ)圱:cŒÎgŒË7F9•öOk�´(€¯Àd+ \\\tì‹NÉqg^¬HŽ@ÿ`ÿn­b.—,$ÅÞv Úû Ñ!ðÛߊuô>ÓûÛ½¿ýø@Ùs¢@ç¡COuªŠ¢4@[L„ꎟù�3ªªv† +@=ôdP´uþú@Owäh;‹h; Rºåø °ÿ'•CjL + «©PQÔS½2imL—×]wd$ Œ´<‡•CÊ·žKFzÜãÆÉ“?rË7ep_û7¿÷=·½=ÞþD<þ•NÀ‰£'N<ÿü°tN¼ðÂè‰ÙÙ_½*ÆŠÏÎÎŽŽ‹ç›©¥KŽ3/ïÿ‹ŽmI í¶ÿƒ_¡þôëÆ~Ì?Ž=_’õü—„]ì«f‹Åï_ä[0¿(¥”~eú�R¡ô%N™þ”SNxÀöð.À.8—//..:ÎÅ‹ŽsyÑqæíRÉž·ç…XuÍû ™Hæòrò~(}ë`{GGäüvoï3�-”}p Ö¤º”¶&à@,;~üÌñãÓqµ[m(€§žT”ζߤ@Y€b}¦r@éQ”C‡Äõÿ¤rH�õt*Š¢tvªJ4 ³K“×" 0¦i7]WTf/d³§³Ù¬›�„ª¢jà˜Íf³â…¹å÷tðhûOÏuãñ'Ú›4€@3N̾uõÚ;KKKï^{ûêì艣³šÊòJóŽ3ŸLÇqì¢58(êó[\€(¸ƒ­Ø§ Ø¬.þ& +àQ.ÀyÛ +À¾4_rl{¾´¯(‹ùÙ|þûB`(#4:�¶AÊ8¯3Îx(‚€‡.ç„0Æãçû*€G»ÆKM°mû²�þ—� DàÂü¼í\(• @xÿ?Â(D.€ ÀÜ~ +`è`ì €P½�± ð<Å:•¨@U”¶±”.U}òP¥”hû:uÝjws0ŒPžTz”'c‡”.5¦ÄŸTž cª¢v5&uª0#º;Â\@( 6oº®išã,Î@¼l,EéÖ€!ÌàÓ§qö4Æ&†úHiÚ~öÿjú{®‰Qì éü‹x¼¯oøÄ‰Ñ£Ï?ÿü 'NŒŠ ƒ[b·Ø[£³³³³—ì¢U”ù³y§t©ÐŸ°œ‹ŽØ£ úsv×´ËŠ£= +€B ¡„xž·áQ£Œ3FéÞ€}©%çk@Ö† +À–5€¥ùÒ¼m_Ø €(˜Ïï@Ôë”rJ#UOõÒæ³Çüƒ@€×…ÀëŒs^çŒqZ8 ê¼ÔÆ8aŒÎÎ9ãû)€¯áȾ§ËÎegqñ²ã\p�RI~¹¥’À`xž~¤Èå’9aþy€°©"@,v°££££7~P ÷€C1E‰²ªÒöd«hPZ@¬É8ð5êº÷ÆÄú ¡bO*]jLQžlÄZº‹¯ /`"šˆ3.6å*!ÏE9»H`û7Ói×ÄS¨ý‰ö'žˆ=Ñ�" %À £³W¯½»´µµu{kkié�ko_ýñèìì[¶•�Ò€Î|©0˜°DZ­œ@.×L€¨üo/¡”Q¶œQÆõ:�âæ»°‹�v©J—ìùùRɾdÛó» ]Æ£Œõ€œÖëõzÀy½^¯SÊ™@…RJ[° œ ‹– „q^—’€a<°ÎÎ9§œÈßàŒ³ß …° +–m[öœm;¡pÞYtQí ¦€ÁÁÁþÁÁþÁþþ§s¶],ZVñ|1ןh‰Ì$s3¿íBô~ãðäÿÔ¤º:•&Äb±¶�]ªzèPW³8|HQ:Û¥óëÕt¶dD0Ö& (]jìÉC‡”'£€¨�.€â"[¼ €T¸2ºëx +‹­¬ÈMC ªMÈà „H©UÓ0Î ¼Ïý�ŽµÇŸˆÅžh&Àè‰á�Âþ—¶¶¶îlýdkiiéÚµ«³?þñ[³Ïç‹Ñ€Í’SLÌ9¥ûϵN’^@+‰®ÿ½`ŒsA êfgQ�QZ¤ú£ëv5)¼4?_š·Kóö¼gœ×ƒ àœ w�7 `¬^¯3Êyl7hKéO !„ÕEÊO|UuÆgupÂ#á;3Æ£¿A`ÂD¡P°ÃqÈÎåËÎâ¢ã\”ŒŒ† >38øÌààÐàÓÉ¢P¶� +Àó×fff’¹|>ÿf>ÿfþQˆµwtÄãñƒ±Žø7ß-µGíêõ=ŠzX¨ðXì@¬­MQåP¬SUU¥S‹=+°¡(J¬³SQÚ(ª¢¨jLQ”Nhjgg—¢Ä¥ëÐSŠ¢¨š¢(]��]J§¢Ä”NuLíT¥-Ú›¡(]ªª(J—Ò¥¨Š¢(�š*º:»Ô®®®ÎÎÎÎή.ÃE0Óꨊ:‘A±¶U¾AŒÊ.Īú¬è: 3bl„ŽôT�ª¨`�ý‹û#„âñö'bíOÈH`__߉ÑÑ£ÃÏ?ÿ 'FgߺzíÝ¥¥¥­­­Û··¶„¸úÖìè‰çG-Kv”œR¡?g;—ì\bp0´ÿG ¬(PB(a2¾Çh€p¡CPÆBË¢\6ÙqÎ9ßÍ +@„ÞÅ»uJck€ó ¥´¡XP¯­ +`/BD5êŒÂçŒ3B'œó à�üJ©4~Aú5³,•J¥D¡P°ÃéÎÃÎèK!ÂïG–]Lö'/ØE« Ó€9¡ÞÌç­7£!Ìû #ÞÛñØ g¿¥3 ¸wuʼ¢(J[,SèéìR�¢v)J§ÓÔ��Š* +ºzzzz©�Jg§ÒÙÕÕ¥ª�ŠÒ©ÆºD4OéêêìêR»T5Þ-$ƒÒÖ&¶èµ)1UQºD¾¯§G“OV»Õή–“þ׆‹Z¼¨©mªß1™Lcœ…ètÙÍ6 Æ=AL¤kÝj�f¸c¼Ïý�no�ÅÚŸˆ·?`Xj€'Fgߺúv€­�¤ðoÍž=Ù–(]°s‰¡Èþ[p°Éˆ<‹�;G‹lG`¡U°& ]€¨”6€P΢¼ž2΃ �\`œRÆ«³€< ¢ 7`»À(eç¼IPN)ã,¬Ú +€JÐ= +€îÚÒùÓtêŒó:‚€RÆ 8!AÎÎy�SJÊ(åAÀ¿NÀ.•ΗJ¥Râ�æì9û‚Ó€è …gpðHÂ’ + ˜|:a‹V!—LÎäffff’É™hÍâ£p¤··#ÖÑñx`l¬g,ýçwÇ~wìwS)¤‚µ[UUµ§§[UUUM©ÂõnkkëìììîV{Äï€ö‰5<ð°ªu«ªÚÝ“J¥R‡¡&>VÕÄ»h‡ÂwÔTµ[ëéé9,žªª��Šr ;ÐùíCšªªjw·–J¥ÆR�Ïh|q\A€† á1Ué�â6ÀÑŽø,<]v°úì³b�ÊÀL&á)„t­³'sÚx¶ØãþGø‰öö'žh�’q€Ð xaø…Èþò“­­­Ûwî|ôÑí­­¥¥¥kW¯þÉ쉳³¢ äÌŸë?gÛ¶�Œìbá8à˜ˆBˆ�EcMî?gŒ6+€V€ÑÝ + €,²“àœ³: h�”QJ)Ú»YH*ð@J0.oް@úBð¯VâSK´¸uÆiäñ‹ €xÙA¡àApÎ]@7œohÛ¶í¹ÒåË‹Žã\þ +t$¬¢Pv²?aÏó…\2@žÖnˆ @G¬ý1W/¦^|1•J½øb*õb*<º–’£vÆ´9wïÙn™WUh==PíéÑ&éš®vw «ÖTMÓz4=•JMè©ÃùÁò = ®=«u?; ic@Ó@*¥iO¥º»5u@Ó\bŠªëÖ4 ¤&R©‰KÉ�Ñ ­?ÆŠÔ¡pJíT5ˆÂØŸ ‚§O» X©q��§3§Og2@]ŸèéÒ0w!ÂûÝÿãWŸh�K7 $À 'FOœ81úÖ[W¯½óîÒÒÒÖíÛ·ïÜùè£�>úhkKÞ�µm˲ÏK\°sCƒ‘ýïrbíáLQD(c”1J¡Œ1º‘ Pg2Ðä0Ê‚}@w€I4)€:çQNÃàÍà”7bŒ1.D.k¸ÕG€ÉÔ^«âŸ×çŒÕÂyÀÎIÀaöâ½FöÏyðY˲ +¶=??Þ)•J‰D¡`Û–5׀ˎãÌÏ_ºti? ן´‹–UÈMç +9áäåÙOXíGz;¶?æAÀ±ÔXÓö?‘Ñ&ävcmLK¥´Tê%4MÓ$R©±1¬öŒÁé”"Ëccš–Jéc)  0&#��”66Ë!~c¤4 O04MH¤©ªª(Šªi‡uMƒ@Ÿ©”®06R©1MÓ´TÓÑÁK+M^B@У*Šq5â v°úìd †§OC¡®ëz�’2]Ã…È=ºßý�ñTûO´Ë# ºÿäêÛ×Þywiiëonß¹sçÎGw>úèÎ�;B¼{íêÕ�ŽŽŽZù¼eÏÛ¹þœ}ɶs‰þýÐ~0Ú?.Ç"Í^*�ý\ÊEP@(€º0©ú.4»œïQ¬Î*|úº°´D(€ ©h&‹@÷@Ãè#ˆ@C 0Àƒº¸û)'œ…±Î€Õ¥„Š/F~Ü#²Ò$çl{~þ¼s>$€mÛ–œ]äüÐY¼Ø€ÒÐà�ø~äÈ‘D8 ÉÎõ'mË +@Æò»@¸€± GzÃ’ÀÇ�­GGáve ÆR@Òcš¦*]j·ªi:‡'@JÏ6€”6‘N�t +Lè:HéPC:ÐŒhèGAzì»b4¯�ãè9”Êh©T +¥4Uý-EQ5í(Z*¥ëúD +@èê@ Æ4°û„€„Æ ´nUQuŒš€!Äî�ð³Ï> À¸Ý=æ�¾ƒñ­£«ûÝÿáøñ'ÚÛÛÛãñx¨^}ë­«o¿óÎÒÒÒÖíÿzçÎÏîÞ �Œ^»võdz££}}VѶí\nÞ±+ñôàþh�6„µ‹‘`¡ñ¨Ìx/ïçHÀš@¨@Æd�…Ť ð€ˆü@$à…:ˆ\;Ø­B°€ X½pNyK àQ + Qñ/-»Î9g<Ōף k|Åœñ€Qñ§òþÿ?‚€3¾_ Rås¶mÏ ' Q�ušÎåÅÅË—�:—›€34444tDœ\(ZV€Ü×@¬½£CT>þØ} idô� :À´˜rª(�ªšJéÝŒCx:tˆL$@¡a  €èzJGi¤7�ð(@Ó¾kŠß2Ñ+(�v@ +èzô¨j—¢ŽÁç`ø!@ä À„x!�ÓB€Lá© @:cª¢ë„€§ñÔÔÀ³ =0†øôéÓ¨ë:P3æòÂÂÉòÑ…}ïëíñöx{¼½ý‰x¤^ýñÕ·ßyçÝ¥¥Ÿlݹ{÷gÿ³¿ÿûŸýìÎÏ~vçg².ðD_ßó–]´Ï ææÛ™· 9x¨½]”0ÆšÂÍ`´Õ -.@«v)ºl�6€‰,oU\ .�œ<ã-Y€*û +´¸uéÎëB,h–#œ¢D@¼¦(uþ„ïvšö©æl{þüy§T*$…Kö\TÒpù‡b–¡œ€64NžNØE+_H†Èíã40׋Åb;â½½±ÙOö¸@ß{`FFÑ œÐ��ˆ!NuuªÝš2ßO/0ñ¢®#]cš×Ũ%]×õ ÓËHþN@L0 3Ò>6Írú_�`B×Q�Ö­ª�Á4‚ê@×á„(ë¤ë�*áw[5ÂCAô¨{p:sÚ�zvh!ÂÙ¥›7?À #†‹!Dh×ý�_EzJ�Çâíñx,ÖÞþÄO<�ÿöðèìÕkפýÿì3qþáþágÿð³øÙ�;wd$à�kWgŸî+íÂ`nÞ±K‹öà#;¸â^ÝlÆ­4 têòÝå»À)cÂç�\&4bÒØ_0àB0€€ +ÀyÀiÀD€ó:±zÂÈ>‡5¶$@�sÆ9åŒspJE€Õçg<àu)=1Áz”å¼ÙÀ-Û s¶=o—.—J…D¡dÏÙÅó_y€dq¶E$óoгl[ ···#vðHoGGGGÇ7IÈyª0‹10Æé´áB )ÊaUÓR:ð{¤5íw5mr<�i'ÝïÃ0²iÆ€®xŠ Æã ¾1„@c<�!<!L8ý\èš6 ªO)ŠàÀøwi`·,,y#Ýx�Zª™xjÙ5o¹×—oé ¥©{Äî”6Òã8À$„º®÷˜ù_àÈï�·Ü,Äø¦™N»¦êŒôT—ÒÞk�?ko�=Ñâ‰øð‰Ù·®½óλKK[·ïÜù‡ø¬ùüý?üìÎ ¼ööÕÑâ¿·¬¹ÁœíÌÏ;öÐà¹}kY€ƒ¶·‹a”PY$=Æ*ÆÂZŧŒSB(§B×Y¤š\¾/Z]4²-.€°©0 ÈDˆ«K .€  ŸšRFjÞF…Y½×r¤‚ kèêõ€Ñð5s&#™Bè¡Ý‡±À0jð¼9�ØP{•Ûóv©T²V)*j¼|yQ t.]j@²(¶±ÙÅd¶,k&'¢ÿ¹\.ù¦ü›Œæ'7);R±ƒ½½ñÞxïc«àÞƒ1,¯/»ð=l–§ „Ð=�….Δ§ Ø�Ò&Ðaþùu×ÄØ…ð”‹0^ŸzÏ5 ŒÜeìB° {.ÿõ² \üÞÔi ³bA ^Ç8]†ß‚»Æß–ËËeŒ§ÄhŒ¥2ÏAŒÖËÐ.€® Ë”Ëéu¼\ÆøtãöhZƒG�;62r4�ÆË:š®·@lu‘!œÍ4`ÞüŽü›ß9–9zôèH:�]‹Œ_Åzª«MQ‰ò¼0úÖÕwÞ}wié'[[Mö¿½½½½½ýÙg?»sçö–$ÀÕ·NÄãñ‚eIÌ'öSÛÛådàhþp¬Ñä…Ð xe³F(!"Æé$3Êë­.•¨‹@ ]ÞâÈ_7+F)«ó:‹pkéÝ·¯ŽÇã…Báéœ=oÏ;öÐW iòø>yóÊËW*¾¨ ñ?F9Wa�SÂy <.Ë}xé^€… +€ @ØŸ@XĤ_N„¯K„³»88«õð>ç„Fˆ·Y#”ïˆ*XC\Fö!�|©BZð@¼ˆ:g kƒxPu¢_˜B2ûÙ¿ €m;vNà’ã8‹—¸øÃËŽS:ßtŽô +ô9’(òù¼•/OçlËÊçs‰\a¦03Ó +€9Ñ (2�…B¡)€xoÇÁŽŽŽÞxï7 +ãÂôÆ]83P‡À·74\ ¨=Z*à„M¡4ѨœA"|!�ÏpÇ!Ž€„gàPrýÚˆ‰QF×D:˜H¥R=jÊÃÙõÁ‹FܦKBÅ|¯ïÊw@°»ŽÒ™em�pkBÀLæ´ +«ë7?€ð÷þÍÂ:ƛ˦Øï„÷¿ÚÖÖ¦üV|¸O~‹ÇãñáÑ?¹zMÜÿ·ïÜù‡Ï>ûì³ÿñóŸoÿãÏïßÿüÞ½ííÏ~&K‚¶––®]î+ +ýý_€æÕûhæJöJ¥ê3Êcœry)×)ç¬Î˜¨ÿ岌–‹8}]X¦pD쀷Äx=hÊ0áìê¡9FSû#QoçuΩxzX§çû•ÍʾiÀ°¨@ü(üˆF¬2ú ⽃ÈûYCÞHà"Â`YûÀ>Þ±§- €ËŽãˆÿ”šOs  X(XyË*Z‰þ¤]̇(äf’ÉœœË:77 Šˆ,@¬=ïíí�éøÆÅÄ] q&̨Bœ�vªª¦¥€Ž„AO§¢A!„\A¨0i@ŒI& wC¹oN DXN3+#„ Ì@8@*¥u«L㌮ ¶«M 02¥G³Ü!„¦z" Ð�¹ë( —õ °Ç8�5 „1ÄéIè7?€ÙìïáuŒÂK›&ïÿÌDW§Àðððp____<Þ~ô-ÑÿûÑG·ïüì>ûì³Ï~þóÿqïþý��û÷ïÝ»·ýYÜZzçêìóÃù\î霸rr¿“;'Ok@¬½i&ØAQ Ør8óðÂ&¡”2FÎxPYõ]Æ‘–x(äeae¬^vÙ¬·(&\€@€qúçœ +ß^ú@Âh)cLÀ†<¨K·„1F ­®y”úH€±F]RPgã²P9t|¤²8«sÎFçõ é+‹‚‚<ò–õØö¼Ópçòeǹ¼OyúÈ‘§{Ÿî}:Qœ™É[V¾h%ús¶•Ï[Räfr9¹ }Xv±7æ;z{ãí�/ö‰LB `™PGð= !œ2°ÚÕÝ366¡»0!èÖ&€¦iú+SÈ4á­�¸ë»WÜ´xFA ¤ÀÑ^'s¤ !B}Lè@ëîÖ&Òh׫/�¸ò…È£ƒT‹’ d–õ‰T+²8ƒÅ>i|:“Ô?€Ùìï-ÜÄ!ˆÂO™bÅÛ”9•ÝmJ[[›¢üV__<ïë‹÷õõÅã/Œ^}û�¥ŸlmmÝþH€íû÷ïßßÙÙÙÙ¹ÿù½ííÏþAVl-½ûöìpŸPÅóöü¼“ëTpöªfRY¸²AeŒ„ò=ꋹ:—Eû¡a0&“éuÎ xÀ(gœŠ2;Q7(À…`�èÄ•=Eœ2áì3á 1¹³))Ç„…ò€ °00Î!ŒøŸú¨@Ä� tî)§a¿¤óI¨ðë"ÂP—_es†PÈ&YÉØþ˜³ÏÏ;V¢àœ·ÅP�ElÀÓGŽ<}¤÷é#ýGúÅ™‚•Ïç-+ÑŸ+æóy+—Ìf +‘Lær‰s-@GGÇ‘#G¾y�¥´'Í©)$~e–Å~4XîêTµÐ…O�)*Ò!„ÈD™e¼Ž3(´ñŒ•qÓ„1†™ëæ†pÂý®ªAˆ3•GÜ©)œ�€àÄÄDJëéÑaÚD(„Î@¡1²nf2Ò˜1ÆXRˆš¢q‘�@Ë:-AaFx*iÿë ûGalâLal"}BUÚº”ÎNEù­�÷Åûâñ¾øo÷Å_½zíÝ¥ŸlmmmÝùÙgÿc{{{ûþý���vv>¿ïÞç?ÿìg¡Xº6;Ü×gYÖ`Î.Ùö¼“|úk`oÞŒn^q+„ˆé¢‡rÆB«ɳº¼;EN]zÏœ²Ð®&¢ê²¶—ŒqFX@ÅF¤GO‰0hJDð�2&Ýþ€ÕY�Fa70VŸ+89B� ¬Fk›žÏßÇþw©� `2ZÆ=9ç,8 ('œTð…�¾ñÚ›Ò +¡V✄�ñ_ Ÿ³,{~Þ±†Î‰ÕÍŽã\vöQOé}ºÿÈ‘þþþ–UL æ‹ù|ÞšÉ  ºÿ#X� ` :âñÞŽŽöol\0°Ï962ò�£ß8vôØÈÉ´qòdúèÑ£é�åÐáÇûh:}r<}8v蹣ϥŸùN:=žN§Ÿ;ztddàØÀ±£#Ï�=zt``äèHú{†1>>0ð�céÃÊ·Óé�£éïœz¤ÓéñçŽ=62002ò�‘��£#écÏ Œ„gè‚Ýš(+‡�pYŸh‘YOKd28!„zVØ?BèB(ƒdGĦ‰ô‰nEiëT”ÎNå·~»¯¯¯¯¯ox¸o¸/þÂìÕ·ßYÚÚúèöGw~öÙöÏ·~ÿþÎ΃/Ü¿ÿçŸÝ¹Þzaxxnnnðœ]²íùK‰G ôý©˜_yyÅódo'Ò>8ãuð:cuÆë�HœË‚zpiÖ‘šæT–ײ(ÍP—ù5^g"RÀH]Ñh§�øÐzX!P—î8ã"C/]wÙ®+§ú²Y9ÌÖSou˜HôsÆÄ§`,` 8Vgœr™‚”!ÍHàpµ5ÜÎ9'¤Xœ³æ¬bqNöꉩI¶=?ïX‰œS²í¹ {æ$Dˆ6œ'Š…ÂŒ•Ï[Vb0oåC`&tM˜³,��BÁ²çšÐï8Øñ­öÇOMízækº7GÊøÆYáËxÁ= ñK@QT è:ø´ µ�Bèºc„߃îÆ#wÊÍ`lºSËÙ•hƒ²(+pG\žÕÀäÆ8›uG\ _‚b ©*pE'/Â.ÂxÊ\6Ý[é)hÈ…>Ùl6›…ú‹º €ÚÝÖ»4@‹Èb©0ÎdÂ? í"„2a”Á!lšS6)wv*¿%¶„ô‰HÀ‰Ù·Þ¾¶´µõÑGw~öÙö?JùÿàÁ/<nÀýûÛw¶Dжí\Á¾$pnß@{c.¸xÛsGRYX©ø>%”ÎÅ6\Ôí°:Wµh—åAÀ819QJS¯SQ(¬O˜/§Œ„Nt�ð¨,0¨Ë`œ,ò Xsf>Uxâ!u.óôŒsQ  ¬3`œ3Ÿy›žO÷@½Þòk*óüýO ëZ �·f,+1dYù¼eE#Ár¹D"™L$Í.À~ˆwôÆ;~«ýàcë „1Þõfb<55!„“†!Œ B 4EyJÕ~ð„°;¦¤Ä>„ BÆr!!d"ˆÍ)ŒñzB,Ÿ„ÆŸi­;̓��ö‹©ž®.M”q „�‰�iNa¼œF0 �a€ÅÉf¡®ë)MQTUÕÄýo44N£e½%€ L*¨CwÝÿ‰Ó™&S;å*"E©¾æóÂìÕkï,mmmݾó³Ï¶·ÿñç÷wvüâÁƒ<üâ‹_Þß¹û³;ݾ½µõwK×Þ:1<,ªDæmû’“è/„gÚˆí`••U¯ê3Ê(‰*a眆ף¬$<�¥µ¡sÍd­\=ˆoŒ×y�² .ì*LéE~¹È)ªò&ÚD¿�àå$ôÁiÀ)cœ±:•a:&+ñ+¥lw ¨ïG"+Š^½*ö„ŸDM‰œ +ÿDümqÿ !¤RÙ3óP’à¼c æJNɶç¥ü¿ü(„ +`ffƲƒÂ«˜iÌÜv+Dô?Þñxg06Í©–7lšxj +OÄñ&!€@ø’a`�VÛV»5€îB¨* +Ó˜~#‰’Zü*šBhÊDS&v]Ý“ÆKxÀи24M/Bñ4 "´Tª»Ks èÈ„™›È41ž„Ã0Âp¿�jÊEãþwkØJ€—!LŒñé Êd Ðõ†ýËû!á”�zW›"�?•Ú€³Wß‘!€Ï¶··ÿñþÎÎ/¾xðàÁƒ‡~!C�ÛwïÈÀ['†‡çç%ì û Ö͌ɾÀ}‚€µ•Õ�ªÏ£œ +§_ ÌâõºTáŒÉ¦9ÙÍ/ô:‹²táMÊêœ×£l^8†#±Å  �ÌÖYÀÅ”/)üe�Tš¢ü¼‘þÝœ±zÀ¥Õj¥êêïúR‚pƯ“@ˆÊÀ…Ð.uN‚°�ò€q°(þIÂeípÃý'„T*•†ÉG?ˆÙ©Na(7¿èÌÛó" \€ôï@a&o ‰àBä¥ì–B átyÌÓ€æÞãš»(íV6&!€4`ú»ê“Šªj)-€{jTˆ¦pb„_5ñ¸‹ Ä!l^7M„LÓÅ" ²xÙ�qMS5!4€3#BŒt0Æz:{ô´&BèsÙ¼î"ÓÌŒ‹u®FT§Œq6 ³ªªª><›Ððš�ÁPTd3!Ð3ûÙ?ÆÐ0 j,‹Å@*%0<Ü7Ü×7Ü7<<Ü7|böê;KK[··nßùlûÿñç÷w¾øâÁƒ!œ2:¥§ÆÀXO§jBh"$jsä Ñ'Ã�Îa6»® ¡¡)‡ã!š4N£rK§‘¨%ÎìçÿKûÏ5Œ,Tå�’J… yg¸ÀGݹûÙööý¼ÿÅÎÎ/~ñÅ¿üåÎÎý{ÿM¦®½õÂðp©4?'G�Oþ: ÀÞ$ñn¬zU¡2ä/rç\,ÓKuD=`Ë”-‘5ä´ÆëRG3ND³}ÀÑ÷€A@#<¨‹‹—oôÞñºA�‰VÎ댬Π“ÕÁ²q‡ŸT+ùu�}, uYŒ*D€�² ôI‚ bÐç�ì&”±€·ÊÿJ¥RY‘õ¹vôãœûY²­sŽí8—C °è4; ýƒýá÷d±P˜™±f,k(aås3V>—Ìår¹™F €Ý€b1¸££ãÈ‘ùøº{ް‡Ѹ3 'ebЀhJ§Ú“J6&´]:šÂ´üÊe„ į WL„2B ÂeÉ@Äux¤¤€B8 &ú 4MM¥zRBÑ¿5›^3°<Ò(F +Gú LaŒ@÷Sÿ—}5,·”9((!Ðaÿß1~4a‚Nµ§Gëé©Hé ÕQ´õÑ�;w··ïÝ¿¿óÅ΃Òøå_|ñË�ûŸßû´Ž=gYó¶m—r�@l7ü݇�êÚ†G|±(�5ffð@4à‰Ü@=¬Ùòºôá©ØºÇYkæíÄ0QÈ d@¿‘&‘½pÎ`T³Ç¸ÐCE/.‹²â³” )O¨ïU}BÙW@\áœ×Ãܾtc‚¨Æ/*ä��%¢2˜2NXdÿ¬!ÿ+••••9Q¡;׺¡T*s‰œ]r./Êûÿ‡‹vsµ@¿ >Ø?(²33–•Ìågr3V!V7@¤笹0`#ÐÞÑñ˜‡öÌ dޏQU�°¡¬ !xVUµ”¦0Q†8ÕÖ¥g„ 울eL„�iŠ¥ÜÈ�ùø—0„„!tÐT @Q�A<…D h)=ƒ ‰`œ°ÐrZ<$šñˆñ«MM ˜f÷Sûi”n-Œ Ô›êZîÿ`·ªic)aý© }B±bÀGwþ~{{ûþýû;¾xøðÿ|ðàáÇùË/¾ØùåÎçÛŸÞ¹óÑÖR¤BÌç£f›K�#þ¸7@ª«žO©¬¢LøÊâš *�8àu^§œSÜ Dd­0Ð:ê„1Îi /RÆg”É2~ÊDñŸÐ×< ‘Å %îéa²A|JF«3*4ªx%¾W£>ñ[s¾Oü@" j?ÅE/Ý"#‘aÆSôá831)…ó€7ÉÿÈþWhtýϵ 08Øÿtn~Þq#Õgž;w®Ð@"Q,ÌÌX33ùËšÉçf¬™\")J€ö(€¹9K ,,«¹à±À©ÝB˜Åãˆá$„Ùòú­Êg!΀1µ{�Ƨ×] tQ* àšÙ2Æ®t¦!ĺ† `ÐÅë·–1Æ�@S¸œ�YXÁe×€¦ª—³»ˆ Æ“bœ½ž�pNf±[ž‚á©)d"üŠišfƒ­ y.˜ÈÊÅýõ?Ä¡±M›HMLèº>¡ë/"„v`iikë¶À?ÞßyðàÁÃ/<øe€ûŸorWLx§€ó¶mÏ'‡¢,MKšÀ#àÓê� ß—“¸yj—Ù²º úq `áÅð@NÙF&nú DÍPúñ$4ÌÃ`¡h$d 'Ÿ1ÎHÀh ?™œ …QK�(8d„PB+^…¿õö¿AˆO|¿Að  \¦"£} ²Ì¯^gœq"‹eú? Œ‹ûŸË2¯RÙ¨TVVVeö¾ç|©084ØŸ³Ï;΢sÙ¹ì\víD²éHëO&‰dÑš±¬\.ŸËçòùÜŒ5“LH °+Pœ››³æ"„iÀöoöÜÿf�cYl@Œ¡‘Åx}äåu oaŒ1€àtZMc ßÃX‹uìâe3b|zùúrc „Ô> +10²ƒIŒÆ®ábˆ1š–ؼ…!Äå÷ÊS⬠Æ'4UÐ-»Ë.Æ/C˜…8{2�¡!~…qù¤8a ÀD&BS¦išæWiÙ,í@aÿ¡T*•KSú‹ú‹²òxÞYZ!@á|øðÁÃ����ÏïÝÛ‰À¥wÞ:1<|Þ —ñ]*$ìPÄbQ÷{{{{ûÁp(P,{T  F|J匰ºÃp*˃Ð�ç¡ô·w -L404÷…�Â!à4,¨óº°-!—iEˆ"~"ÙÂiX®! +"õpÊ)õýšÏ#»pÃ'„ *Š( ›•Ö&Î)#²@¬¢¬©ê�É%‚bˆÀ.û§�’çk(1ÔŸ;_ +@ Ñr’É\2—Èå’ÉdÑ*­™\>W0”ܘ››³íb3¬#C ýtêÄi`ˆº€ „šBÍ�µ{ @€  Æôhj!1f !¨Á}f fAšÚ©LhÚ¡>t�Ò8 µ ¨ëH~^aÖ0 1ÄBè.à…¼6š!ü +ššzE0ìÑ7q«�Á™L¸ßýR)011¡ë:º,gB½ú*zÅÜíüÝÖÖÖ�¿ßÞþüþÎÎÎÃ|ùå—_~ùðáƒ/|±³óO÷þûööÝ;·Ã4 pæææ¬¹9knnN$ýˆö‚ì¯(ñÖ¼©ùŒSP"õ>gŒPJXÀ8•Õúáhmq‡3þãQÃ�¼¢ë\r@nþv(çm‹qB¢×˜¢ê0Ê-Š, •†L®ñ 8e«ŒQÂ)¡´Zõ)mU««+7n¬ø>!> ‚€ÖITÑ$œÉÈ&ã, Ò•a¤Ö1³Håðp„§”âGöOe”}ý¹ó¥‹‹áÞÄ_Ê5»¹¦S´ +¶P3ù™¯À\«°ú…¶ëhooÿ*€ tÓ€Â2Äâ!D¡›hz§Úݣɉá=J§˜>¡ë:Ô¡®ë@‡`B‡p €q u¨0€@:ÒTEý¶>‘Ó2:ÔåìqMÓMU»ÇÐe¾Á ÄØØ…0 Ëg1Î"„Q!hša™¶|ÅœBx¯À­Èd2îgÿÂúÅëÁ§äÝÿÊ+¯¼òŠ9µ ?ÙÚº}çîö½Ïw¤xððÁƒ_ ðéÝ»··¶–Þž=1<ìØ¶ØGeÏÏ$¢Æ´ƒ±ƒcÒøð©·Vñ ¥Œ‰þZáo3ê"¦ùsÙÿ®ÖŒºjXx·ÖÃ�Ý<„4Âë]¼_ £á€°›�q0Z—Åxrêˆ,ÙUÿ‚%AÀH��Ö|ß'„’V¬º7VVV|Ÿø¢¦˜’0ÊÈ~ Ù,A�Šì"åuáìs„³Ë)i±ÿÊÊÊÊJMŽ@}” ` O æÎ—D àÇùS'7ÝtfšN1Ÿ/Z3rðW¹sss¶%v +Ëj?(\€ö޹è±Úç˜i¹Ic³Ç0DCdšPSc1±µGÓRš6¦ic¨¥Rê:Ô'ä`]ŸÐ@è@×!`< Eð2J)Š6'ô1u èz +hbæ¿v8Õ£*m�ZJ:!ˆ]lLJ†Æºd�(àÅ&ÂÌW^}Õ4÷ÄvE3o†ý‘ý ëq„CŒuÓüýWÑ«¯ óÕW§ÌW–÷oß¾óÙö½Ïïï|ñ‹üŸ_þêá—_þêáƒ�¿Øù§�ûKï¾=ûüð°cÛVѲ/Øö|.aYEÑ£ö€øþjÅ'5J %Œ2”GõýZSêŸE�²�¨ôeuÆh�ÕiÀêŒsÂêa‘‘h¼& +x0^gœ†ƒÀ© Š�\ ‹ƒ€K °€3æù>¡Äç�=%\¨ßóñ[*�WWWWÝ•••„Ÿr“½M«#¯&¨sÑ'Ìd_ åuÈqe2üç7ÛXbøh0˜;_E?t.;‹Nî™èô÷7ÙÞÊçm€ÜL³HîSÔ@®`%;Ú1€øc=hŸvàÉIcÄ0 ÀYÃ0ŒìÑì¸1iÀSPÓž;‹RE9|øp´¤KiMÓÒš6�~n@�W:xNK§�¦=§=§ hšD)Ñá���õ°ª ¨ßVUõ©C=ŠÒ‹)ª:�NŸÿ\(é|ùðÁƒ;Ÿß¿ïÓOîÞ½½µ´tuöùáá’=o­¢mÛ—r «h͋Ź_€½1ß_óª„úrþ†¬Ô÷óolPíeáPQÜÜöÇÅ`O&ûnÂÖ!1ãS˜#<ˆ²ð²yXRÊ8Îa<]76¼¶ºI£&1¯”1B!~­æ·¦®¬¬Ü¸±FuŒ1*Ì=ÚÈDÏ GŠºœ0F‰¬@£Î|ß÷½JåJhÿTvc%‰¡&8΢“kªþkÀŒ•·l+—Ë[¹ÜÌLn&ŸË%’3‰½˜³ç,Ë:—Û€#GŽôéx| �Ö÷ž…‘òúú7?X_w—Ý÷]Œñ­÷ÿËû7ˇ5µ'ÖÖÙ¥têÝÊ³šªªŠ¦©=©1 B0¡Ž¥5¨ �ÔŒˆMŒ!º®O@ ¼¤—MSÐ SSš¦˜ÒTUªªUSÕ.åÀ%¦i„™ü>v× £ü×7?¸yëýe×t×ÿ*´ä©©©)Œ]cÓ41jf€‰[5@9 +âÓ”�zhÿHÚ +è/‚¦„B€MÓ\6Msyyy¹¼üË»³[[·ïnoß»ÿùÎÎÎÇ<üòW¿úÕ¯~õðá/îÜÿüó{ÛÒ¸:û|_ß¼=?'—…çrEÙ¦VܱG*Ÿ�Z¥âÕX-êæ”’šçsRñª�¹hYX�‰faÆ¥�.†õ²¶Ž³€×I4˜(ê«C¹˜ÔÃ�Ö …­²zÇ÷7kŒTj”ø"ùÀ„°§”�jÕ÷½f@j€+Wnܸ±á"¶ Ê©eœuæ3åÒ11PDë¢ÍAdý‚zÀ9aœR«zâú÷öÏ:ÅèØçÏ;Vbhh¨P*9—/‹Rà ‹N¡Qû3Ø +€7­¢5“Ë[3¹™™\>ŸKE `5 æär…B¢½�óPàý02‚1^6ÍW1Â&‚˜Áæ_Üüßß?¬õtÅÚ”.US´o«r#`W§¢tvuvªŠzXvÑu«Ý=Ú³@íI¥´žž¹`´»»g,5ñm±J¸­«KQEÕ´nUÓºµžîžî®Î¶˜rhLÕNá©òw ñB0BØlÌíÀøÕ),Z1Æ#Œ›Ф Û€hÀ�þ?!ЛŒ_Œ)B"!BËËËå¿XÆã=¸}ûΧÛ÷îÿ“(þòË_ýêW_~ùåÇ¿|°sÿÞ½m¡š`YŹ9ÛÎåì°A]$ÿÛÛÛÆÚ›Wí«j¾Oj•ŠGñ¥ œ3Z½²É#¢E€SN8²�×icÓ–Ì2Fh¨Ýë4ˆ–…È�?4ÌR ˆ*AÆëŒÊ¾A9e õ€sâSʽ…5¦ó(«»)!^•�ZÓ„nÀ•+7n¬zÄ'ŒQÆ)åDÔÕ™ŒR¹ Œó‡.gaœˆÚF.†�ø•͵ÈþÃ9Æœ1»(Ú€°Ï;ÖÐÐÐàL)lºì\¸|¹08Ø@@dýߟ)Zù¢•™À¦@H€¬†:Úc±XL”wôyŒ‡ï7¤<Ž16ÝWBH4Ð#sù/ÿ˜€©.µGK�£št€‰‰ Mmÿj(±X,và@Û¥MQcñn¥KQ»Ô®N¥MQå€ÒÖÖÕÕ;pà@L9 v�+¢Ëx�ÒµUUºE:ôªif]1rM!Uñ,c|:‹1ÎNpÒ€#ü +~Elòi ¡BˆFÜ|ÿgZ�_×áËYÑy<>š*#öQw¶EpçþêW¿úÕ—_þêWعÿó{ÛÛwï~üáí¥¥·gŸïë°,Û.æfdjÑn%@³ˆ=¤J*‘…€ŒsÂ8#5¼+4 Ò.™†cë²fPîÚ�‹AX˜4§w!úÃLå\“eÁŒrFx8p�Ézãh¥7¡œy +ž_©…YÂ9'ŒPêWª„6‡ê‚Œ­®ºWn¬U©O£< ¢0t+äÊAJêõ .·Ñ ¬wªT4ARJ a¤æm®,4Û?ö/$Àn؉Á¡þÜùóÎâ¢`°éÌ|¦X,-K Ÿ1±<7”˜ §…uû ½€xG<ŒcûôÞ4LœAˆñ’÷.2ßtGàK)µ«;•Ò€&£ýBu8&&ÊÔ:jb “pe ÔEÓ¿i¢—2„PÏ ]äG ¤4UQŽB`Qù–YÆ.†BlN5F…^¿þo—ß¿îºÂ@GF¾72222‚ð+¯ ôJÄ€H4O�Mñ¿†ÏÿéÓY×u]Œ¦L3²~4 ÁlÝÙ¾·³³óÅÎ΃¾”øòWìÜÿùöö§w?þðÃÛ²@`βm;gEѨ}@€} +�|Ïó}B¥œrN¹O¡õÚ��*!~µJX#†Î‚:mó"9Ç^ç‘]"’òœóz],$ÃBy”z>%µ�•MŸø5BåFÊ çÄ'ÄÛÜØlr8¯×ëuN)åþ�ì�U¯Z£ÑLÀ:‚ *`\½J„‡ƒÇ‚F¡0#œQJ8óªÞÆ•›^˜ÿ ¢©åû 7˜èÏ�—…€‹Žc;‹öPc)øPÑ*­–�k 7õ$“‘ý'¿RË*†˜Ù£ßÕ€û`Ýp1†"ÓDŒ!D›ÿvƒ`LéTÇR � „ãbRœ’4‡Ù£bd¦×Mþ-Îd2bs*ƒ0‚aó÷ÿf]ˆÅÌ·lb(F A]‡hª¢ œÎKCŒ�»`še±mbÓDPV�B(ƒMÓ41ɽWCŒ h¸§išf€¥øÏ „>?„¡ñgݹ®›É „¦0Ê@aýè`W7àÖÖí;wïÝû§��_ìì|ùå—RloooßýøÃÿfkéÚ[/ô _º`[–UÚ?ªÙ€F3àÁýƒø5Ï#DŽÔ§Ñ@hßåì?À§~Å'>!rãįñêê&ñ !œ2B‰¬Üa\ô KgžÉZŸ ˆ¶ðÕYØQË£œÈ!„sÂD .ã¼Î(#Œ×ëœËj]*ƒna+c”JõˆïoxÔ÷ÅÀrF('„êûµ+é+~Xàûò1õ:ç¬reas£êBÅæÉ%9Ù”í@wî¾½ýé§ŸÜýP t,˶ìùG %°_)°ïyÕš/2~„qÆhÕç¤âù„Ôj²OXì÷£uÎh8Å�5­ä$ú})(¡ŒPâ�êûbñ ãŒû\ö‰mÃ< œb�0—½ºAPB9£Ÿ0J¼õ=�Æ8¡„PNˆï{UW[ØôkòÈØ"å,à�wåÊšç hÈß Ì. +/†ˆV#J¸˜üEe…€ôDê“ø¾·yca�‡¥Åþ÷#ÀyÇøa¤.·À*‹–ôç%fBÌä’‰¤Ø Ô°ZP(šê¾A^Þ{²ðe\†„ŽC¾l Wð1ü]Uý¶‹Åbm”.%¦(ŠÒÖÖ;ðp !NC¼4�Ë�5ÒàE�ÑÒNÓÒ0�ÐÀ¤A¦³Š Ã1Ey2S”X[[—ÒÖv S5U{ º Ùlve ›Å¸ !„/Oއ�¦dHßE0®òËdà© :u +¿:2222r"Œ `I€ –[ÿP—³§3‘ñg÷¿ÞT(ûöLÚº}÷®hÚÙÙÙyøðáƒ_>øâ‹/¾ØÙ¹¿½ýé'Ÿˆ,Àµ÷õ]¸pÁ’NÀ¯À£\Ÿ��!Ä 0Ƙ_#„ú>eÌߨˆÜ{4œ‡ŠîZ) r‚–,¤2wG£„úÄ÷½šïû51VG¬ Ç pÂN£bð/ ç€Ê­$”°€ˆ:@J ©ø\ùb„âSR¹¡]ñ¼( _eœ3oáÊÚšW­…¡K‰$1r”ÔBåâ:!œó€È8F8)ˆÊb#ŸøÞÊÂ&åb€9û5(]ËÁ/;Žc;?\,4�bÞ´ +b X.)cÉD2×€d2™,ÎçöÀÁh,ðc€…½BˆÀ€€I h@x~W©ž¶¶®.UUºTô¨j—ªvu©Z�¦i)¨j=ªÚ­vu©ªªjjg—®@Q:UUUEÕTU�¿Ú­©cZ§Ò©ªŠÚ­ªªÒÕ×@Jç³ÛD€p2 ÙÀx +G­Ê0 +üe2§Ne:…›d@c (�…r·€�þ¨Åøu]×uu‘) _êáÝXÚº}Wv‰8À_üò‹_ì<øÅÎýûÛŸ}òÉ'ŸÜýðöÖÒµ÷Ù¶mÙE˲­9»ø5PÝ}üjÕójDŠlŸQîW|N}ŸV[«PV£DÈsG§â®§rÓ6ç„TØs¸SƒøµjÕój¾ïSZ¹±±¹Qõ©Ï8!L8rMWÔO,­_ €ˆe<Œ‘ÕMŸJ|^Ûô¡ŒÂ!¤Füª·’^¨U£�@<Ê6Öi%»°êÕj¢hHÚnc(¸,5buÔ m,;ŠºY�1F(õ‰ïUÖ^^%�uÅ_ €yÇ’…@޳¸xyѹd_Z\l yÿEËzÓ*œÛ€dRˆ�Èþ“V8 +d¾¡ó ,Gæ�!ba3PëTº»{zTMÓ�žÒºµžnUëÖ4-•ÚØX�ÚÓ£ªªªv«ªªvvv*]]]Š¢¨ªª<¥tª@UUm,5–Ji©m j:ÐTUëéîëéQÕ®®C@×DNBˆ28ƒ¡XL®ËÅÇžC� 1iô4lTfB0sêå(€±@€@¶qN7•·^ýéï¦ÁDhûÚáÇǛӀwî~º}oggç¿éÀ/¾øÅÎÎÎÎýííÏî~òÉÇÞÞÚZº6;Ü7\,ÚÖì÷-«hÍ5Íž ×�w´ÇÚÛã» °� à{^­V%TØ­Õ˜X»ã¯mRBh8z‹3NF9 s‡)=é#bÒ.!~­ºycåå Â8¡›ÐÈ®¬U™KH4—Z¶\ î߀ø‘#ñ#ß$„Ã÷ĸ? Ã0 !ÐM võŒ‰‘¹&BˆN>0–0‘J��ékZ·èÒzÄ]¯jªªMÓRˆÞa xE×e7 ¦u÷¨]q=!‚xa|ó–+Q& + ét:�N�=zô(D§$„?€1ÄðT�B `ü]€1BÙÓ‘ù£Ý7?„:Ôµ±tzì»i ªŠ¢(‡ÕÇþׇŽ7öŒ^}û�w>Ù¾÷ùÿ[J€û;;÷¶··ïÞýðßnmýäÝ«³Ã}}¶-ÝÉp�¼eY–ÕÑÞ.¾·ÇöÚ¬¶çø¾çU}�RJ¸Ocµ +¡"‰æ­U(ó}âsJiXþ#"…”PÖýs™9g”ßÛ¬ÔüÍÊÚeŒøµ7n¬Uj¾_Õ¹”S&„¢ÌˆQq¯sF9÷¥»@)aþš¨PôYmÓc•ƒ@½êжÐHF«Ž)cÜ[pW7Ū#ð€²PŒù‘ë BÂUg,»d}£”‘!Þšˆ¾›t?؉¡¡¼ã\^¼|yÑqœK.9‹vï�¤š\<“ËY  e@Òš³¢$@¡F9ÀÞøã«²{O„‘0»— ÓBˆ€ÚÕ­¥&&t—30ÕØ(®CB]?…tÂô˜¦õhš¦MГ’F0 +{C„–á+40¦�MëîîV”AeÌe—¯…M/D&íA*ú¤IBImm“pV£„U×*"Š@˜ÈRzž·òÜË ý˜ ¨õ@N%óVVÖª¾h"dT68ñ€ñ€pB‰D´Î£—) ™¾ä”0!�Ön,¬‰¨eË1ñÊ+èUÒÐ4MK=•`€ïŽ!Ô¡>¡ë¡SA_A ƒ1&€¦öô¨ +B™ „xyyÙt�bh@ ÄBQ”Sb±±˜Ò©v)Rf¨ªxttLÓÍ��QÇ8Š¢F7@&“�QÜ}B6}ûè·¿}ôèÑo» ?~ûÝ¥¥¥­­�î~¶½}ïÞ½{÷î}~ÿþý��ÚÙ¹ïÞ§ŸÜ½{÷Ã�?¼½µµõÎÕÑáá¾ýîËêèh�w´wtì“ÜÕJmëú5Rc”QÊ(õ6<¡”Ô6+”ø5B¥5‰Î]ˆ#"zG8¥bt>õ) ©UÖ®lT*µ*ñ %Uâ“Zu³F«› œ3Ÿ2&*…#Œˆ_ŒÊ‚dJõ©ï¯mú>c„P³B©x?F õ)ñ++ã ÕZS+ ¥Tnû𮬬y5ß/+ Ø´LN +¬‹±gœcŒ9>Œ1F(!Ô¯U6W6h8Àô×ÀvЉÁAK´8—ç‚-à„È äCÈU‘h´Zv«íߌ©À'Ožo}7ƳYŒoºË—]Œq6‹1þ7å[eŒ'TUÕÆÂ8�Íë/Ãlº§Åø®W—1v1Æè:iMˆ4¾ ³îDö%èÂìú-7›…Bœ1]׿ï_G²PÓ´nõði³lblºf¹ �él»e·ŒÝ2v]!ìîéQ”¶¶¶6EÕnñ¦7ÿ«¯¾úê«fó¤S…؈ D‘ùÏ@˜É�!Äøhxv+€¿ûÉÖí;wÿÛß*ðùÎÎçÿ´³³sïÞögŸ}v÷ÎÇÞÞúÉR3òV>ß €xG<Þ!¼ÿöööø×n®U=ⓚ ÞW+õ}J(­­mRê×Da<å„rN¡Œ&¦uR™ß“Y@F}B*k Ïixec³Vó=osmsu%»FhÕ¯B)ó)gÜ'LºýœâËÒJŸÅ÷}î¯UeŒPZ[«T}ʉ@¡Ì¯U®h ^D±¦]§,¨¬\ñ|B“�’¾zX{$;ƒ—�̧¢=Xâ‚”ù”0Ró6V6cÛS?¹¬äà µxY–ì€ã8–õ}K¼Y–eÉE€¹ÐÈå’ÉÖÅ I‘´íp?ø9Q xP”Åãñxü1vÜ=çŠkd]˜Íf'¡‘50¾éâIoaý&Æ¢�Np”Ë7—!ÎB˜u!ÀÐÍbì¾ïBO/`œÍÂç /Æ8ÀpñihàuèÞ*gÝòú{ã²k»~s¹Œ!~ žÐÒ‡´ŒëÞr1ΖÊ+ a6›5²4 v]×AFW|VU»ŸÓÔfëÆoš­sŽ1|!(K„Z!�AbQús +‰~£L8Jprˆ àÒÖí;wïÞýä“÷>¿'Æn&Z�þnéÝ·g‡û†C“ÏåóV>ê5�·wÄãííRìöª{ °±Q©ú¾ïù”F ñ*!B)©­nRR#„"âo„F}&âk”_\ÞLVòŸâUV_Vž»²¶YñªžW©TÖV×^¾áy^­Z«QêÓhªc\¬ø¥”JaT$ú”T)«®oб_¤²V©â3Ji�ÔjÄ÷½Êíå +ñä‰Z�§Ü»rcë*2 +�ì1–{DSr�É}ebµQ J’©ˆPJ(£”¿RY}y“î“Ø·ȱƒCs‹Âþ/;÷ X”‰€b±hY33ù™¤ À›¹& ‘H$’–ºÍ8ØPñx¼£÷µŸ,Cø’  ÑòÂޏc¬«jÏX +]4Öˆv��§¡‹1Z†&2ÿ#‚BœMl"¤ÃìT£°šAôœ‰ #<Æ@jLSM ›È\žzÿzB„Ý‘²ÜO á,«Ýꘈ/jª¦ªÏ5YÿþÆ@gL!]‡Q�` 2At +žÂžu‚0ƒ Ì@Ã0ŒÝøñÕwÞYZÚÚºsçÎÝ»ŸÜýt{ûÞö½{Ÿ.¼�O?ûlû¿ÝýøãÛ·—––ÞÈçó–eY¹?Ì[V><ñööx¼=ÞÞñõ@Õ¯¬­y¢¨Îg„pZÛô(ñk>%ÞÚ&%>¡>‘ãø}!Ñ™¨`¾ÈÍF™O)%>õ‰ïm¬Œž\­z¾Oˆ0ÑÍÍ�ÊæÚ¦O(!Œøâ�1F|¡÷å82J%„2ÆH­FYuu³F©ùÄ[­TÅü¯(o±qå9ØTë"„ðê•+›>!5B �v²•�ÑÐÔyÀxðz  @äÈ @²Í÷ýZåÆÂ†¨sv�G(€¡â¢#0¿W‹2P,Zù™aôùd2ŸËçEFp— Žz—!€Ü¹ÂÌP{ìàÁÐ8räÈ‘ÇY!Ì6Þ²YˆÆ± ¸“¦èÄ�Xt©=cà„À€ á{ØÄ7—±¹lʼqaûicB„L$GûAEá2#æïgD`Œ0Ö£š@æMÓ¼¹¼Œ!Är=4PÎÿZ·¦iZOÃú÷3~ÓÅ€‘,†P¬ÒáËMÅÂÍȈ)ƒèÌ Æ7×Ožùô“O>ùäÓí{÷îý÷ÿ¾ýé'ŸÝ½{÷îÝoo---]»:;�çóù7óù|>™Ï[VþMqòía|¸=Ö߀=u@µª·¶QÖêSB(©mz„V}â“�Õ�šïב­5Ô÷}F%ħ”1Ê|_þ«RJ|BI­FÖ^N;[ñˆ_#¾_­zž¿¹¶VÙ\Ù¨ Êø>%Œ2Â!Œù>­ŸÊ_ñ3Bj^•x«›%UϯUÖ*âuZ£>©ÕªÞæ ¼âU÷€qÊk//¬Vª„Ša áÍ/Æ|Ð:£�˜qN +�–„œ1ÂÆó‰_«n®,¬‰PÇîE„ûÆ’ƒCö¢³¸è8—§tá‚í,:—§%`“ˇH$BìÉD'@îÜPGìàÁ°øÈ‘#½�1öI“8L¹A¥íŽ˜0“�)EíI¥&&—‘t ÄÃ26Ñò²ib4æEÐn@Ò€a~!„0‚™c¦‰ ú‹:H�Ò´ChyÙ\6M×!ÄÇÂb@‘iš¦9 Ä�ŽMÓ´¯ºùÅì0`Œ@œ�¦Ž6Ð3Q¥Ð^w!x*ê€ðÖúúºa'O}Òüû†Gg¯^{giéï¶îܹ#œ€O>ùä“O?ÝÞÞþïŸ~úÉ'wïܹsûÃÛ[[·´tííÙá¾¾™\îÍü›oæ’É7#ûóÍöŽx‡ˆ|-Pó¼µµM¯êת>ñ(¡~Íój¾ï‘šï­U|RókD¸ì”âS¿æ×˜˜ÂÇDý0ñ ©ù~�2âûž·±0®f+>!5ßó©zµêZµZÙÜð}âûħ(õÅhoŸÂ|Ÿz„ø~•VVEú°F*„x>%¾O|ß÷«ÞæêƆW­†.@x/SÆyÝ¿²²V!”Sæ()W< —�Ñ ±ß”ÈÙæ"=Àä +BŸPB¼�µ… J¢àç¯qìäà´½î9Á¶�Åæ#´¿(”Hæro Yo† +`f¦ÉH4` Î冯¶·G #~䛀p¥0 €CÂËXëêêÑR@×aZšTF´ ãrvyÙ4ÍW�Ü¿qkB�Ö´´ì»ÀìŸ7–�`ŒñÈ2‚H×'ÖÀD*¥¥!sÙ4Í)l"!<},|!bMˆ,ëéx¤€î1~(®þñ+c$‹3 œA§ÒûCgpøGî|ÿý÷× Ãèëîîî}ëêÛ×–––¶>ºóÑí&lúéÿô“OîÞ½ýѽ}{kikiéÝkoÏÇão&“É\îÍd"™Ì¿]ííñx¼££ýk=os}­âUªµZÕ¯Õñ«¯V«T ñ7olß«ù„ÞÝ>!5Ÿø„xò7)!¾ˆBj5Ï[Ããêä†Wõ=Ï÷<߯ժâmVüZ•øÄ'>!´FåLOJ %>¡ñ|¿æSñÇ~•øÞê†Gh­FHeµâ“šÏh•ø¾O¼Zecu³R©l†ˆ¯]¹²QÇA ·”2wÁ¡<`uÊÆ±5ˆŠ¡>%µjeíÊåŒó=›ˆ€„½èHÝþÂ…_є̿™0ˆNCÌYs–UÈ +ç†6)€Ç¼p?Œ¯‡$0¤ס°EMéêÑRè#Šòz1ÎOMa9À€Ø€/ i€Â—Ä>á°ÀP®ACÁH¥Æ´C™£hÂÀ±ëáf`C€a¤ÿgP†(c¶¦úDÓ�‰1žšZÀâ“#Y !Dæ«!„t‘èËà Π—‘ÜD,úþûï¯7ýøêÛ×ÞYZÚÚÚº}û£ÿú±€8wïÞýøöí­­­­¥%éôÅŶ‰dr(™Ì7tc<ÞÑoïx„¨ì>žWY]]«xžçUkU¿êûµÍ*©U*U߯¬¬UkµšïSBªµõ}BI�ú´Jª„øÄ'Ô¯ùT0À'„ø5â×Ö^W'W+^Õ÷k~Í'„xâmnVkÕŠð­}J©U}Z#>¡Ä'>ñ|âס5ñ¬šG¼Õ ¿ê{•­®mÖ(©‘šO|Ÿ¯êmnlT*^eSÞ䵕•ͪïû>£ŒÕ9ã$ ´.Æ�‹:à œRçŒËrÑÌ@dg3!”Ô¼jeu¥"& |M$ÏG^ÿ%Û¾°ß/­¢Õäffò‰þ¼@A”ÜÛ*Hä†Äê7±<ÞÑû +Ær¯,¶…/á1 ÃД.5•Búú„ sj*³1‚�!bð–èñ«Àu ˜„ÙIÃBlb„ÓBÔu€–Òº…Õýf2  © +¤ÇÇå‘€±ÎÂBcqñO-`BÝÅ'G FÂuÀ�â]‡œ9Ñéý!�‰öÁðá}}ñx<Þ×�Ÿ˜}ëík’[·o|÷¡î~üñ‡üñÇÿõÎÖßýÝ’8o¿5:Ü×—L&‡’ÉäPÿP2ý³j�74ÀÞJÀ=جlÜXÝܬTªµjÍ«y~Í[óüZ¥R«U*îZÍ÷«µj­ê߯‰»Þ'¾'ñ¼ÍÕ—×Hðu@11˜tš0¿ N>?Óè œ™ÉÏärÑÌÌ4Oj —³[ º�tôvÄ{¿QYCÌò€–M¡ˆÁ„î€Ú­éº ¸ZÑ+ØD"Œn�F#”Aà †ðe‹ì>@&B0#ÀbCà"lšN�C„t!„ Æ4­ûÐÌ„Áâ‘è…Ü”ãýàøø80àŠû?ãFdüJãÇ Côqdÿ½ú*ÂÍ¥¿ACt:³#œÉÊYAY�xß°¬Ýaö­«o_cÁ¶¶nßþðã?þøã»wÿ_Ÿ|üá‡~|ûöí-iþKï\}kt8OŠYSýýýCÉ¡hEG{{¼£#Rí¿•ÊêÂ���ÍJÕ÷+^µZõ6×¼ZµR©Vª+ÕÚ¦çû~�Ôü©¿Z­ùboͯUkUß«x>®¹Wõjžç¯Mj‡'ת5¿Jj¢'È[Ýô½+«ž_“µ;žW­‘ªW#¾¨®xÕZ­æ×j~­êûµšïW¼êæÊšWó½Z•l^Y­Tk^UH¯¶¹±zãF¥²} Q….£Œ{+«¿&J4ˆ¬Îkÿ.o¬;‘�H,häü©TÖ6|*F~�@îr€ {Às¹dã»@.Ÿìƒ�ö`®€Äœeår…BA ½£½½#þØ7í-6ŒÑl³�…¸Œ³» ð;®a` TUÌч ·ÖÉ»ÙÓåë××/›Íž†À0pyf ca‚´¦A á:ÆY¼pãåÉ““ü‘k@·Œ§0,�|p C ` Ðá!³8k“®»Ž16ŽÁ,„†a¸YX6Ýl6›ÍŽ»îÊÊÑ�—±È Bø’!­c,—�Ál“ý£WL„Ñ©ñññqI8… }­@!1µ(Eó  + �ÇO̾u5"Àí­ŸþôÃ?üðÃï~|7´ÿŸ,½#ε«?>Ñ�‹…3½½Gzû™þÞðDþa{,ßS ¼ºû¬UÖðÊ�µµŠW­Ö<¿Võ6×66¼ ¯Rñ6®¬Õ¼ŠçùUßó|߯Õ|¯V¹ƒZÕó}¿æ{Õ*ñkUß«Ô|¿âû¾·:9ðmc³R« +ë®Öü�µµjeuu³âÕ¼ZÕ¯y¾çW«žç‘jÍ'¾_õª¾W«‘ZµZ«z~­æ{^¥²zeµâU¼ŠçU®¬nÖ¼ZÕ÷¼Zµâmnl®®ÜXóÖ*òˆ,�Ü_䯬Vk5Ñ%Hµ¤"íÇ êrGXó“å?�ìbŒœ2ʨO¼Êê• "} `%‡r‹áf`Ƕí Λ’—�ÝÈK$óù|40—ØÛNZ¶À3ííb&èã<p?Pžr]×…8{ë–ëBŒ± á†FcM‡i&_r´ŒËÇ †.žr×Ýè®ëšn—GÞ+—ÍÓ¦ëºÍ€e×Äg×q6‹_6 ëºîÍ‘2Îf]·Œ]œÆÀÅbì^7!pM×Ååï-à[ëëØ-›®ëâ¬{ìƒ[eWLöZ¹~=›} âì{·®c!\À ØÄÂøu1}4ƒ]|r$‹O‰€ã«&Â��ËÍâêÀBñ)”É@Ø ÷Geˆ1v××Q˜îëëë‹÷Åûúâ/ÌþøêUøÉÖO––~úÓÿüŸÿ³€Àßܾý7K?ÙZZzç�wßyç�k׮Ξè‹Ç{{{{{ãaÖ/<�vàƒí{›Ööœ�Wn¬­mnT*ÕjµRÙÜX¹QÙ\]ÝÜô*7ä%ëU<¯æUýJ­âyU¿âÕªÕªèö¯V«5¿æÕj"Zà{••É盕ªçU|ß÷*ÕÍÊÚF¥rccÓÛ¬z•JÕóüªWõª¾çUk5¿&ïv¯V­ÕjµšW­zÕÍ�ʪqe­RÝ\Ûð6n¬nnz^µâÕªµêFecsíÆêÚÆfˆš�eAíÊ Ï'5Ñ]ö‹Æ¿@Ž"ˆêëœqÂë Óar@„5ªî&á¢øñk 1ØP%Û¶m§õÈöß\2—KÎägòùÜL.—OIæóùÜ›�J Æ@Ùæe'û-Û*ä +…™gÚc±ØÁööÆXàošÂbœ./›a¡à 1j7ZJó€�Éi»X âDcø£1N@´¥RL‰$œ¬°Ë@|GÁ@œAN€ �ëé£) ÓXÄüÅeŒðQäN!ùâ¾ càØÀÀÈÀÑ��Pù]—CpÆ ãêÈ|E¼²ññ“ãÒ ˜aŽ3ÊddÐéLöDc”Àxz|ü$Æfa_ß¿ˆÇÿEßo÷õŇGgßzëêÕ·¯--½óîÒÒÒOúÓŸþôoþæ§?ýéßüT*ÿwß¹öÎ;×®]{ûêìp<� s?¸+*ÜÞÑÞÑÑÞÑÑ~0¾ÇØ €Õµ+Y|em³²¹¹áU6+•ÍøÊêÚêêæÚÚê••µµÍM¯R­zžWó<¯Z­yÕªçUüª·Q©y^Í«Ö<¯ây^Õ¯yžWõ*7Œer­âU¼j­Rõ'0ófn×D «`Éý¯€ƒQ%PoGGïcìì³#Œ§\ˆNƒ2F&61Žâƒ)µ€1±ÀÃWªl˜É`€ –È@„2 ¥a"›rn èïÍÀ ñBßKiÝj +c„qfC(ÂòS#„ FSxjjjj +Ï00rÝ?/ãÓå…01(‡|ë:ÄÊû_¤ýúÿp÷Ï�[Yº(H‡"mÎ!kJWpDŸãR²me© ©U¦Ùt![l"K•£b³€Än§£_)Ñ%qõÀÌ´¬ƒˆ~éN£ÛÕ7æDTGŸ€…NUöÁ…º0È;�Á‰¨nÌÞûm¿áO î_1à/)ӮYg'Sʤ$*Uåõío}k­o}ògJ½ž2³—DQì2ŸaàO� ¯þʆW/^Ø“IïaïáÇ{¼_ûƒ÷>¨Õþ ö^íƒ� +øå/ùËøûø‡ÿþÿý¿ü÷ÿò_þËù‡¿ÿûøû_þò—¿üåßþò—¿üÛ¿ù›¿þáµJ¥Z­V*åJ™Q¹Ml­V­Vªµ™7èâ nœÐ‘5Ç÷Ã0 +ý0¢Èý‰ê¸Žë:Ž)kŽëøaÅI%(‰ã8N"ÖÖ‡a”°€N‚(Ž“4¢(ŽWnmH~EI’DIFaà{Q`¹A…AÅaÆ~G)+ä'IäÇqGq„’(Œã( ý‰å¨=Ùõ<ßt\S6}?Ã$Š¢0ˆ‚ tLËsƒ @±y�Rš8^%š±¿Åª‘kB¦Ù5ÎòŠ`F(3dmÌÛ„f„c‚â8òMçsÈßçÆÞžñÕ"ŒÇO–>£³CÃáppgh âx± +p6�Œ±±E +ð{ +ðH·•>„][Š¢ë:“¡¢ˆÜ;@Äâ¡A—]ßL +Ðuõ#Ûl€B]Wăû¢$)Š¢ëŸè + Š¢ðG( ¯è€¡ËQ„wEéPyxɶ‘À#] +„<Aáø_Xƒ*‡¬ùpîðXˆp¨(ú'Š!Tz½ÞÃþO‹,ˆ¢x uÉŸBøSõ™ªa_>þßž?øðáÃÞÃÞûµÚ¼_«ýA­Vûà£~öÙ—_þÍß|ù7óË_þò—ÿ÷¿üÛ¿ÿû¿ÿû¿ÿ‡¿ÿÛ<îóóå_öÃj•Jeå%P­U«•ê­pSðYµ\7ð¼ ü0ô=Ór-Çó=×4]Ç1?ŒÃ8NYkE¬Ë?Œ‚�%AÌrõ Šã ôYØ}?ã(Ž“0ÃÀBßtC? +¢0ŽÃ(ˆÃ(ŠüØ�¢ ‰¢8Š‚ Š‚¼ªE‘kBDZLÏ÷'žë9–ë»AG~�gZ�ïÏ~ˆù:B)²œ(AŒiF(f™À4wÿ¡Eó/Íf^fפØŒI†3¶â§ix0`>¨ßŸìî3 ài¾¨ée `8O +0œ¬Ô Ã�Gg#c<Ø]€Ò ¶^oð–Å@WWº®Û¿�تýW>×ádreOìGP�@(r›¢p &Ð{|$=ºº|ñ|r¤CûªkÛW/&Ï'¶í+ –ô+/.¯&¶ U8±'¿5ïIê:„ÒD’&¶ áØÏíK>— ýW/^|}u¥ëö¯^Ø—]Úöoæe¶Ú—�#3·QT`%þE×óì¡×ë)J± €qA˜³€¾¢ôóÉá£ÿÆRöÖÎôÃ~öÙ—ýÙg_Îbýoÿöoþæogqÿå—_~ù7_þõ_öÃ�>¨•J¥[€…}­V©Ôn€›€ïÊÀr]ß÷üÀ÷}×ôßüÀ÷Cß÷C§Ü ¢0Œâ0ˆ¢(ˆ¢$ +£ £(Šâ +à ŒÂÈ÷ã0ˆ¢ÀwU¡Þs]?ŒÂ0 +ƒ ×Ó ã +£( +Ã8"öEaÅqÆ�FaEqÅQ:ô‚0 £(ðCß÷<Ës/ ÂÐ ‚Àw-ͺòæP„%%S’%Ž%ˆ`Ì6Š2ã_š±­?4Ãù¶àëÙ‚À¢H³ g3o LQ¾é1G´oQxjìî�fðøV8aúß s’On[û†1†'�ÁÉ2œ�F£ñÈÿEƒíExÍ«WÁÕ꣫ *AUU¥&%¡$I²¤Ú�ã8®%~¿ÛwLTø+ ªUUcC h¦ +í‰#Dé‚À¦ù$@Iú±$©šnC©'é'’üp$ Ú�$ Jb·[mIU!€öäª T¡*©ª +Ô¶)I’$‰ Ï,‚ >È-‡Äl“¡³ÿàPQôØëõzJÿp‰‚П§8¹�H?šüÇ|þüŸ—Þ|³T*UÞ|óÍ7k|ðÑøYqX´ÿÍ—_~ùå—_þõ—ÿéË/?ûO_~ùן}öÙgÿ©€ÊË`F¾ ßêÉÐq]Ï÷Cß›¸Žë9–fzžú–嘒æxAà‡QÄAQEaùA…A…~äE¾…¡ï‡Qà®% õžë‡~D�F�ç9^èY–çy¾ïG~ú�~à‡AäG~è‡a„‘D^Æ^t¸ªf™öÄóBËr-Ëó‚0ð‚0=ß÷Õô|×uò3»˜iFIìºQ‚Ù$1ëìÅ”R2�2Bf]ζR|�]gÙtzM²i>!L3Ê,ÏP‡.ô1Ín€ÛÀÓáîîè«gÏ.žå`Ü€KNNNNæÐÙêÌ`5`+�Áï%D/nœ6‹  vmDü•Ô5?–8`®ž]I›L(zð$]PJŸ M$( +÷?Õ94UDñ”Õnq×B̦*=„²>¢ ÔQì+ÚO[š:,º%©èTòý½^Šâ!8à�xxøàþ}E�ýGK÷?8ûágŸý§ÏÎ?ûì³ü£}È:ür(•Ê¥¨Uæ À*¸7Ž{’i9žëù®çû®giR‹«KŽš]¾Û“MÏó|Ïó}?ÃÐ÷ÃÐ÷C?ô? <Ÿé�ïz�ïù^è{–تõß÷¼À|?<ßq}ϲ<ßu=7 ‚+�eïAø># ~øù“~๎)w¹MÙõ“Ûlu%Õõ|oâ{¾ïy¾g9–f9žãZù™QL�ç'¬(wú£¥×l±Ï5�Î|A¯I6ó;žNsÏ�)½fŽ FizfÀ† +¾¡ +0�?=ÞÝ3 àâÙÅùxœ/n]d�…áÃáðØ †�;û#ãdp<ž :ƒ“Î’-xnÐÙ1?�ÁÝr©\)W* ¾à¿G~vûEËff ?–Šüö ø€÷® â÷Å^“©ƒPWt€ ˜lú¬¤/�Z—«×K¥:hÚ¢(‚C ìö�xȦ%IUÅž á‡}Ö3ôÖŸpö (} pÔ†’. xÏE‘Íþô‹v}E9Òû@ˆ÷~ª(°ÿH]¾ÿYÀ@�½‡½^å„G°�G +в0PCóÍZíý>üðÃ?þè#†}ôÃÎBžýõ£?þã?þè£�>øàý¼Å·R)WÊ¥Ryj¬IävpV�åhÝžfZ®ë¹¾ëº®kj² ð¢k»š ô$ÍrÏ÷Ü ð/p=ß ‚À÷¯®¼ p}Ç÷ýÀó]/p}×]ÇuÍWïÚŽçy¾ïù�ç»®e9´ÇõÇs}–n¸žïû Y<ßó}ßõCß‚ ð]ÇTe‘—-ÇU[­– ãù®ïº¾ç9×15Õt\×*Üæ S<ÍÇ�bD²ŒPVò£Î[Wžå;þ(Í—�\³m(y?À4÷ +"” „pÊDÀŒÞìZŠþÑx4?Ÿìî�ÿî+Fœ-ÀpñÃáph Ç'»û‹eÀ…iÀ±Á<ÇFgÿÌ(@¹`•×n©¶'v‚G*�dQìõX½ \*�} +’(6•#ØBEW°%—Jî­%‚>߸z‰«©bWº´`Å'Â{bφGùÕ{x +5N8„óq<»aÛÀ Š]ñP<‹¥~‡‡‡ŠˆâÁýû÷¡ÂâÞÿ“wý*Š®’û��‡{Š€r“>zaNúK5ÑR¥T)•Þ¬ðþ‡~X`Àðá‡Íχþqþ±?þðƒÞ¯½™#À*°&àj­V½M(Ý0jw,µÕ•ehºŽç¹®ãX–e©Ô ejPÕ4Ót<×õ<ßõ\Ï÷<×õ\×Í×ó=×q\×w<�ÝÏ®§õ6ë-Ór]×ó×ó=Û6M×R5Ëu]×q\×õ=× <ßõ]Ïó\Ïó\×™°×ô<Ï÷]˱,S5-K35Í´4Ër-ËqËq-×4-UVMDZŠþ²…NÀŒ&Ž%ÌÆ¬è÷¥”^¹>Û?D¦Ó,›flyXF³){–Òܯ˜Œã4öÍ�¿Yx<ìî�¿Êý.ÎÇ#c5È£~~Ž�Á`8ÜÝ }ûsÈ Àøl06ŒÓOÙ0ÐïM +pø8;’j÷äÙ +mÂ_)Š" +Üw8NÐ|¾4L�º­€‰”‡ÝB÷¾ÔB½DQìI¨\IP™åÛø±$Ùl¯àá¡¢ +B�Š×8@³)�¯ïIZXæ{x€(ЇýþáÁýƒû÷ïë‹ñ¯.Äÿ¡¢èú' +T®^@øSV ¿Êî ‚ Bá#!�× @–J¥‹ä7+•Z­öÁ >üàý÷ßÿ`ù¼ÿþ~øÑøá¼_«”*¥7ß|³´’Tª•ZµR«V«¹Xì,—Ëår©t£7Ó´ÔVWVMͱvU›Žeš¦ US3MU³LÓšx–k{®ç8ž;q<×sËs=ײ\×µ,×rMÇu=ËvÇQ…ÍZKµDz×r]Ç15ÓÒdÕ²Çq×q×u=×q]Ûõ\ÇóÇt¬‰ëڮ븎gY¦å8–ij¦¦AË´,Ór˲,Û´ÇÒLY�MÍ6µÈ(!YbyqŒS̼‡I6Í®ó­%Ób ó/ÏÝB[Šž]ç�Ô¹Ÿ Œâг¢Â§ð5€ñÉîþã¿Ë�ž>η6½ŒãA'€c'ƒA§3è :�An 66ÆÆh' +Ígkkkkë÷ +tÐ@bæ bO?êE½Ò¨ uŽ{ç¾(ð«îÛ¸£+ú%¦¤ÏzjŠ…ÀþþÇ‚(YÅCÐïOD¨zÅ ¯ÙöPú +è+‡ŠxÀÎ@ähGJjIs{¡ÃQŃÃwß}wB¥Ëý *Ï_@ØWz½^‚%`ýÂ}A¸/å@*š,f à£ÞgN|ðþ¼ÿþû P«½É ãÍR¥\.ÍWÅTòQ€êJ +PÀMRfJ/kš¬AÓ4-Ë4-Ç2MËÒLÓÔ4Ó4MËq,×±-Çr×±4Ó²,Ç1-Ç´,Íd³e9Že[–¦™"¿YâdÓr,˲,ǵLS6-³'k¦eZ–ei–eY–íX–mYŽë8–e:®ë8®i:¦åX¦eºŽ¦i&ÔLÓr,Í2×2-‹ý 5Í”»’ªÍâ˜� ¹n%¨XE\ÜüY±Œ$�s2[F³ŒU ¦Eb�¶$tM3û’oîŸlï?.R€Ç ÎÆãÑüÁü[æ9Àñð¸Ó9îî ãø˜í +\JŠ:ÂÙþÀ85NŸžöÊ¥ReVÜj4¯o'àÕÍÓÕ�àäŠÍኢ(*@[‡@à8N°ôþs ýJQ¨C]ù`K̺·àDQ„MQÈ¢Ø@_‹3uñÚú¥':„?UúŠrø'â}¡Æ Jyk€` (¶Íþ!¹Å�xpp Š»ïrß}§Þ4a¿Ëý�¢ü™?�ðꄊÒïõæ–_·q¡öñÇ6„@}ô.xÏã¿öf)× +ø Î/ö‡þ€i•R‰@97Š®Ô*•J­R«ÔjK T.³ý€òêQ5qƒïIòOd ª¦iYªÉB_55 BÈ’lÓ´lÇ1-S3MÓ„¦iš6´-Ë‚¦f²˜Ö4Ë45h2_/q²-ÓÒLh:ÐÒ$Ê¢ UMÕ,Ó2väá -ÛTUË2MÛÒTÓÔ,Ó´LÓÔLhšªfZ–¦AšÔ,Í´ ©BM•I²¬Ê9�bSI†IìxQŒ1Ëó3<ÍØêÏk:ÍwR’ÑŒ`fÊV†±ÍÌA㌙�!yšŸo$û­À§Ûû�ÿ®Ø 8cþ¸©:Çýí¡aó*#ƒNg0`{dža쟧ÆéàôÓOï¾½¬ñë÷ +®à#NdÚ6¨6„P�@Û‡÷9áÐuhw<ÑuûÒ¶mÝ6mû…dÛWöµuhç3ùPÐîõhCv§êöo%ݶ¡bÛÀ¾ü?¿¼¼R'6ó _û¸¼´/õç,þìöªÀœ˜GÐ>š‹›››µÚ[¥·êõ�¦ ÁmüÌøê„€^¯¡ÀƒUð§C€� ¾Ýn·yžŸIÆè¬RÜã•7WàýUXf¥7+¥7+o¾YÄv¹Z­Þ½›W« uÀe�n¡Îµz=UUUMÕ4¨š¦©²¦©ªªjšªªš4SS¡¥Ÿ¤AS3MË„¦fšš4ÓÔ4Y…ª¦Êr�«•6% ª&ÔTMS5Meµ×•TYÕTMƒªMÕ45KÓ ©©ª¦©Ô ªBUÕ ¦š¦¦š?QeUU¢ýš²—1¡¦©ª²,õ„ž¤J²(I¢$J⼉gr½0MP†1ÉÉ0£þÙ”m +v#Lh¾tš1›�i–Ñ çNå!„âÀ Îè·+žnwžþݳ‹‹‹ó‹‹|£ß20XܳÇÐ(`ûx4<†¬E`¿“/ ïœÍVƒæðé`p·Ì¤ßß  {ó´ÛÝ{¬¾Ûmw»í�6Ïw¶Ûív›ë­Úßju[íf³ÛëvÛíîN»Ýnïì´Ûíö½v·Ûm·ÛlsO·½Ã^¯Ûí¶wvvÚ÷Úí�vûa»ÝîvJ>l·{½v»Íó€ç777Þzk£Ýn¶»»í�v·×k·Üm·»í‡Å¿«Ýn·Û››››Â»Ü;ëïLlàOo�µ�tø ¼zþâE¢¢ÈË�s€û‚ Š‚pMà‚[øÂîñZåÍZ­6‹ÿœ, søðƒ?¨½ÉÒ†R©´ýù‰ñUgÜilmßÝcq_[ še¥r¹TêÝ8b«^o =Q–dYVU ɲ$K’ªÊ² +4Y–eU–dU•Õù•«Yš&«²ª©@SeY²ªÉª*Ë’P¯—6»ROÒdUSUU”¥ž,ÉBO’$M–U¨2ÐTIV5Mû‰¬j²*U•UIÕÔŸ°o ˲,É@’UI–"ʪ¬ª²¤ª@–eI{Ý–Ð{½Ãæ~ ”’ÄuÃa¶á/ofôz:ÍWa‚qF¯‹�¤¤X–ï>¢”¦‘çi± å›DÀ§ƒÝÁÅß=»¸8¿˜€1šŸñÈ/3;v�Ñðø„�Îs€AÇ8+VîÆ©q: >ePYXüú€~óؓߪ6„Péë—6å{ôµùèêŽñ*P¿êé:šW²ÅÀV!<‚ý><ºÔ'—=BÁÑĶuûØ;PUUá„ж/m{"}­CÀ¤ €x_à8A2»6d59Û¾¼  �à#x™ÿC „póàààààà°ÏÖˆ*/�ÿœ(ðêêÅ åQ¯×ƒ}~$ÞÎÞáêœ(Š÷ï 3¾‘[DþÏ¥R©òf¥2c j‹9@ñ‡jµ“K¥½ÝχÆWƒq§±µ½}÷qÑX4–æ9ÀíÐk­Õ9žï‰r¯'‰’,‰½^OE©'I²(ŠRO–Åž$Ë@–$I~(É’,Ë’$K²$õdYfêÉ’$÷zb¯'ü_×J5¡'özb¯'K=Iêu{R�$‘…«Ì¾^–UUîI@–EI–D†;²,Y–Ù÷Åž$I=Q”dI–Åž,I¢Øë ÝžÀµz=Aèv»½n¯Û›wRš!Ïõœï:žRš±•ASšM§tJ1Å„ÄvŠæÆ SŠ3̪}x:eæäˆ¤qä˜&·õßÒðøxûäâïò> ñØ0æ[€f‹�–àx8tr˜Û‚2›§Î 38+–‚œÎŒSà Ÿn—K¥reiúëµ€_ß<——Ïa߆yÇŽUÐ6óÈ9N¸/Š—Š/%¥”sÕM@²¥>H^^^^JWШ@¿<‚€>ÌG€ K±/u]—môû°©Š¢ põwEО°©!åòùååå¤o+€>€ð¨ÏÎÁÁÁÁÁó_ÿúòÿYÌòÝÿRú' +„ðyý^ï¡ÒàG@¼�Ü8Žã¾ûÝïrÂý|L`îø6�߬½Y«}pÜ’|øÁûµRéÍR©²>ÜÛþ|8cÛãqÞ¸Ú�@kõW/Õ7ùVK„žÐëõ„žÐ„^·×„žØz½^·×Å^¯ÛëŠbOìv{Ýn¯×ëu…û`¯+t{½^·Û„W/•JÇ -¡+tAèv[­^‹ãZ-¡+bOìu{Ý^Oèuu{]±ÛòÙ ö„^WhµzìÛv{]öݺ]Ah -®Îñ‚ ´Z-¡%´º` œ¥óÇÑ,#SÖ÷òV!J“0Â8JØ�ÏZ‚ ÍÝHFs�3¸VÀ`eõŒF£ñâc<~üt°m<ûE¡Œç~¾ÅãŒù¸/ÀÉ`0vîЙÀ€m*V?Œ Ã8=°€­|ªV«µêVõ56ýÍÍóç¿þ•ú5dÕpöAÑ)'rÜ}Q| +ŠbKJ_9’!Ô²U €~tyùüòòáot¶—2uÚ¹ÃWž\­C]Òûêí#Eœ€ P×ÿü¿]>·m*ùkýy~ýë_?~©_æf@·Æº!ôž¿˜‰Š¢€�ÉMÐEAxç�w¹úwêõïÂýK0gÆx|~ñÅÅøÉ“�>úã÷kÔ^žÔj•g�íF£S@ÁÆãQeù,wóÔK¥úÇqÏ·ZB‹kµZB«Å·„–Ðj ­VKöt«%´„ÿÐjµxAà[¼ÐZ/´¾%Bë?ðB‹ç8®¾^*•ê››Çq|‹ãxžÛäøÖÆ¿Éq<ßâ[¼Às-�çøV‹O«Õx¾%´x¡%B‹oñ-žoñœÐjñ<ßjµZ-¾%p-¡ÅóÇmÔߪs›Ü Åæ+»ÍbÏ‹b„Ela–Q›0 ‚Q¤y(µ<ÌVe,ËÏp–‘)F„R‚ NQ컚OØæÒ•ckûƆ16fðÕ/òàñ˜€Ñèóñì1€Ÿl£Ã�mÛÞ1S°Û\< +ÆØÆ€@¹\©,ƒÿ^¥º>:0Ÿà…}¡=AE]ઠÅVu]/ª~R^ÐuýèH·»—:€ +TȆûz{!¹V./u¨?„}åªy©è@üS�ã8A”ÛGôáQ‘Žè¬×ôçí9¿þõ¯ýü’MæÅÕøo]@ŸèНž /˜ÐïõzJü¬ › Aî¿[ÿn½À€`œ�Ç�/¾8?yòôéÓ§Ëùål´Ô0 cüäé_þ?žu¶�[À(G€Ú·€Í�z©T«ollnnrœÀ³mq­V‹ã9¾Å·øÇþ,-^hµžçxžÁÇ -Nà…V‹ç[s@)•ŠÌŸÚä6769Žç8�¡ ×jñ\‹çyNø<Ï -.Ç^àyžã8޽\Khñ'´„ÇsùÓ››õz½þ?-ü…6O1ͲÄõ£”…q–e×S’Ñ)ÅLÿ›RŒ)NQì…yaŠ1¥„í¢4£xšQ’±ñŒqyVˆ(ÉØòƒå`AÜcà㜠àÔXb +Æp8Íw„VÀÃ]'3�“€³ysœ|zw)h¼Ö}·�ë—@Wú +dÄ>‚HÂw¸âá¡á‹.èC Ã?ו¼´©PŽô#EÑ퇿�}P¼Ú‹ ­ÛvÏ“&T” �ãQjÛ�Š(ê¶�³ˆ…þ|øë_ÿú×—º®_ê°Ïúo�ÿ¼¨(ðꊀ¢ô{½ž¢€�U8âaÞj ¼óÝïÔ·Àø‹/>¿¾X€³'O¿ú_r`,0€½½'ã9¬ö”JåR ãUج—Jõà~ÐâZ-Žkµ8žç[<Ï Åñ-�çZBKhñÏ�Àó‚Àµn€z›·Yßä676p­V«Ås­Ï·øÇ ­¸– ´Zßjq-¾õÆ ZÇñ_@+€7iÉÏl3`F)EŽ#ŒØú?2[9<¥e{¾IÇ8�f§ !¸X +H³ŒÅ>ÛuŽ1NãÐ 1!‹F Ç�w°a`KŸbäÇ,í?îî�Œ˜7 –Tƒ1€Bø}¨ÜŠþ[Ö¡«(ôû@�2�dIŽÐuýßP>¹Ôs#my"â‘@]Òa±tW�¨àhJ’$‚çPíC \Ú—þ‚¦ €òÉŽ«¿+JÝ  ¯@ö•O&W°ØÛ9ëÏWòûÿRg Ev—ã–0 ðy ßë=„ 6–>Pò>á�ïÖ¿S¯§^¿ ìùvpñ—ÿKÎŒp÷îÓñx4ß¾Ô \.3À/¢Àf½^*­Ï€çžoµ8^8žk NàZB«Å BKàyvI·Z-®%´ø—»£ëë¥R©¶±±Émò/ŽoµxNàyŽþÏó-Æ8¡Õjñǵ¸Ö8Ž{‡ç—€/àßÕ7 KLp†×�LXO?[5Î6Sš1…§˜¢¶‹dše׬ÿ7£„‹1ÁiN„IF ¾©,r€Ñh<~üx°=üêÏÎÀ`‹Š‡‘ïf›Ü c8œtCcwŸ@ga`°´h0†1ü~MþôÆQ”#ê*P�} @ø¨€)©(¶ÂqÜýû\êþ[4P þç¿�é¹xù[u¤ê½KB¨ôû@�G@w €@®+° ¼¼¼œHm`³¥?—¢ pœ @‘ úŠ”#ý7zn;68‹%ï)v¬Ä?8ÿÍÕC B èÏváE¿TmhO.¯ =�¿š<¿z~©O.'“É×—ö?g)þð¯ºE§T¥¦4ÒÿLÿÂçÏA^Èr£Ö Tú ÅCpx(ŠW¯×¿S2?ßž|¾£o€ý¥`ûîÓñ™agãocJ)ÆëKÐúÏåÀq¼Àÿ€1€×bjKràZ7Oøy +P«3p+  Åó<¿¨P0žçFJ~“çxžû<Ï bLiÿ3€)Ʊå¦)Êý€)›òÉHÎó ¥(Acä˜fŠ3Bh†3<%4›²v@L1fËA}B0¥ø›R€§ãÇ�Û£¯~ñìâüâââÉø±183ŒÑÙxlŒŒüí28aíÿ�¡±·kŒŽ�;ƒýÎI³¡ñØ0Œ“›PkÔ^_ à–F ®$A5ÕVAÞáv»’¤Jª$ru^èv{�múS�,É’ �ªNlIª­=|(u»=é'lÅÈ_ôºe ©ª¤Ê@RU_ŒsçèÙb‰ñxüÅÅ7¥g/gwŸ>Ÿ�ã³ñ JåÅûÿ6ÀÉP:Íß绲óÉe®¯¯)!”– 01Ÿ»‘”ê9h­/ä’>yžÏ²lJ®³¬ødSz=�N¯iF ™Ò|¥7€lò1½ù�ƒ³Œ$ž#&ïçÎàÓŒf3o„Óa‚ãaLQœ¤„°fÀ¼ €àŒPÄúž Š¿�-øãáÞŒ<�÷…%ÐhÄÞ®@‘îGû»†q<ì¯À SüZI*•j¥R®6¶jÕêë 7OŽ’ÞJ¡­1eo"r°mfØ­èGP�êº~4�¹“»¯EÀs‘|ÿ )}x]A¡¡rdwuýˆíeëÁÞ']>(&%QÀî× ¯À+0¿ÿ±âàCBYüÛs`ƒÞsAhÊ,Pú½‡(àG?@d >¶®)P‡`:À’]ü žËˆÂb{è™aÆðäôääd¹oôllœ±ø?3nž3Ã0Æã‹‹ÎøâÄ Î�ÿüt<žÁÅ,üAÊ¥ÒJ*‹)¹æ)€¬`×Ùõu–±«õšf3`»4È”À”NY—íôšä‹·¥”\Ó®¯ ¥lkw–Q:%×S y(Í®i™Ò%˜§šÅ‹0–§„�,öýaæ +JH–!L³)Ê(�bŒ(ƈfG1N£”â %,“ ì߃I†IFŠqŒâÐ3}DñM ðVì�~ñwÏ....ž>»ƒñ¼“/ï>Y<³ž¿Ñpo826°Äæî€�ƒ½JQ,Uó]P¯ïj°—Ybõ÷>`°ß‡¶ßáî â!6èÿ4ß ®(º>�GGàÅÎiº E؃J.᳞"'2Šõîs¨@ØæÀþ¡( ûI¿”ü@’»GÅþ¿¹MÏüþÿç¿â%I.Ø ´Á!‡‡ ð€ÞÕÀþ£^äÿLñ]Є®ôýv·ÛùEŒ—nõ±qj†qzrzz:8===]Prsù3ã�ÇãñW£ãÏ?�¶¿Zþ¯ñ&¸¥Ç)Bl‹&β•à:wÌ SJs „PŠd×××y�2ÍhlζðÛfAsMétJ¦$Ë®¯ÅÈ—ñLÉõ”!P6�¥™fSJ Í`:Í(Á˜ Ð“ÜxÎËð QšxaÂlÁ)Å”bL1%35cĔ§i‚1F1¡˜d˜’ šLà¥Iì™A‚1&8[=̈ý.À~�Çcc{06FãÙàïÐ0†ÇKg&ø�†»Cc8èìí¿vw«P�@í÷ + @’ºv±öH@‡}lõÅ;ïÞ�bæ» ³Ýƒ:´_Ì{ÛÅ'=] +ëW ]ªŠÒ} (v{r¤( �¢ö•Ã÷öl¦Æ h??Rà²Q×üþÿg³)AêGGGú´íÃÃEÀ6<¿º/l4e9€>€ Šï¾+ˆ¢ÝêÂ>7áo`uaÄ +`äñØÈ×Ä VÝeÇlcTçÎþþ``<5¶¿ƧÌPvww¶¬¼¨ÜH¡G É÷ãe”f„’ëŒ^Sš@s d:cK²¥€1€lJ§˜@ç³t×E +�± + £/šÑéÓ™m×”ŠQ:]Ïmzf÷2ÁÓØ÷"”²þJh–a’åa˜”Ä4�ÓSŒ’#š±K³éAB !%'¾ÇŠ…/�~úôÉÓ¹¸?.R€ñØØ5Æ£ñh0 > ƒÁ§§ƒÛNg0 ÷ŽGÃAg¿“ï X€ÝÝÝ»»»ƒñø,€j±¤T­½æ à @[U�ÙªöÕ‹+¨YU¡$ +ÀŸŠ"P� m\Ù6°Áäù$wïµ!´m( H*T�j>”€ +  à䟮lÛªªäÀ+u¢¶¡} ­KÀKˆ'ªMB`Û’(I<‚ªªªm Ùª­ÂE×¢Ùýoò´¡¡~¤ô�(¼ 6ó>`…-+òžÿiw£Ù”_¼€Š•~¯?:îA°y¶]ZB€ñøÉxüäÉ“ùò˜¥ø�ÇÆ)‹æ?ÚÝÛßßßÛÛÝÝÝÞ¾sçÎ�;Û»{û»ûûû§ ~S9œ0ÎÀ^ö–  \*•JhåPš‘ !8›cÒlšeÓ) ½žNó¹,£”\Ók6SC¦9˜^_çu¡9\3`)Àô– c)@FrbŸÍS€)³ë.VvÓܵ‡dÓŒdÙ5F”bÇNÏÁq?ûi0¦”¤/HSŒ1ň`Lh†)Ág4Ã$K“§ž�HJPâÇÇ)A˜fk"$¥”‚Qœ Ø÷¬€PDo¶“YñoF.† ŸŸ?þ|lìc†á¯>�Î`d0Øë, ƒÝÙY€b7`åõ€�›§Ým·Ûí?ÜÙ¹×¼Ç7yžoîìì´š;íæ÷7þ/µ� ®Ùäùf»Ý¼·ÃóüN³Ýí¶ZívûÏ7y¾ÕÞáù�V›4›Í&ßäwxž½öòÍf“oñív›ßi¶îµ›<Ï7ùf“ç77666ù?lïð|»ÝÞáwøvñ÷š;Í&¿xúËñßW ®+ˆßáÞ�àAPQàóçB/*ýþC(ñ€ƒúwNÜì|x¸‚O˜°ÿô ‚9ÕòEþ×'OçáÓE¶`Œ_" §§Æxüäl00öOŸ>�ñÿWÐÉ,¡(Š %„ÙáÐi±1gZŒØç×ï”iÌC—2˜@s 3�å `:KÈ<`þ{³o6%Å Ÿá)óíaCztšQ’]çô:Í!#»¢‰0¹‘JI;nœÄŠr7¿¢Ž‡¡8Â8tÃ!Œ“ ¤$Æ“Œæë?+�bÇI”ø®`ŒÑ-àÖÝ€9\ŒÇcã�ŒñhltÏË`´×™3€Î|hŸíßÛÝ=½ ÕR¥úºã´»Ýv»ýþ½�{Í&ßä[<¿³³ÓâÛíæ÷7jµ��&Ïó|³Ý¾ÇóüßæÛÝv«ÕîöšMžoò­îN³É·Š´›Ífs§Ù¼×Ìà}­v»ÍïÜcÐd°±±±Ñ俟ÏßãÛín»Ý~¿ÉßkîðKÐZ�B]‡@¬×¹láð( +ü*^]ÝÿÓ��fS– è퀟æÉÎýzý]NäÄCq¾xòÅ“'_|ñÅìÍ\ÌñàÉOÆ_Œ?gú-á~: f;5 cÌúÉ +(—WÊ€Ë÷J¡8 +Ùä %„Ð,›^S¶=‡�ÀôšNY.��Õ²b�N¯™£«Õç–:Ù4Ë®ég¤º ”EûuF¯³ë锩~ٔчŒdÙuF¯§Ù5eúá5Å4£×, ¡YF1F$M<ÑEóÀŸ3B�-/LbT´RL1ÎÅ”’Œâ$A$õÂ!„b/¢$ElR�L Aˆ`‚ Á(�Qû–�Šé·Q/ŒÎ迸¸8?¿?v�ñh|º¿x^ +ûûÜ]Àb°ÇÀŸ�Æ`ðé`¯Z*•Jå߸�tÛív“ßÙiîìð|‹oîìð3¨ml2VÐæ›<ßÜÙÉ Ým6ùžoµW€¿×¼×¼Ç^ûûØióü‡ `'€f›çùv·Íï4s$j6ù{Í��epo%þ¨­ñ;߸ x )„WÏ»ÝE€ýmä“Âõïr›@y°‚+;£Ÿ>yúø‹'ãñøéÓ§OÆOfœàÉ“ñÅã‹‹ñ“‹'ãñè¬ÈÎïÿÓO?=ýt0|zz:Ãö‘ð�Q’Æ&L0ÏØ½›;eN™cɲi–‘,›N§4_«� YvM§$_¬1Ëè§tŠ))R€ižL³i6¥Ì›‡f�’ì:ËȬè�oîc{º óå¹Î¦”­î&Y†ét:Í(¡8�]ÙMnÔæY¹~”$(§Œ(¦¬Ÿ—à$Npêc„c?B(AçÅABË10F¡8ò]3@cŠ¿˜Àãñx°?�ǃW@Þò70F{ûÆÉ ³_„^\8¬œ0|:Ø«”ÊåR¹R­–Ë�F­Ñ¨ý~@;€{ÍæN“oí0°S0¾Ùäù{ív«Éïìð|3€Þ=~‡¥÷î-?cüò÷šM¾Õl·Û<¿S0€æ"àY +ÐäyöÍfó^óÞr +к·ÿGº~©+¢ð]›PP•K]�“+Qèn4»M^/~¥( ! +d>çïpÇE\F€'Ë +à“âÒÿbåù'ã'Ÿ?½¸¸ñéyÂ_Èggg·Ô¤f}@åe `õ¿cŒ „IÎɯsýJqVé˜ßîu6%s‹Ýk¶Kç:gñÓbœ./°éÛ)¡xZLÚÑ,Ëð5ɲŒݘ»ùi–M¯Ùê.VŠœiÈ5�N3æà}M§×aJ0Š=ÙKçâßB=#ûAš¢§¬Ñ™„)ó +”";^JÂq%ˆ„¦Ì¢aŒQÇ�oºŒJ|0bÀ:;ûãÑx|²·»;¼D4Fû{£“Ag¯¸þ (`Þ0ÎÆ†‘»WJ¥rÁj�Fí5f7 gÞßçwØÅÛâù�¾ÅïìäÀ5yžßi·[Mžoò;|»×nµÚÝî,ØÙÙiµsY€�÷w5€�›)@s–Ìr‘[RþÞjüÿÇË_ñ�z�ãÁ†$JÝîlîXìnllv›;2P¡ +'6�ïuY—¡*‰2Wç8®É¸„�Ÿ<}òEqå?}úôéÓ‹§_</ÔðÇc㌕Ÿ0’ðùç Å‚áɧ§§§ƒOOY¡ðÖðŸÀB'`éÈ(Ei#“E¦�Qz}�eô:»fnYa¡�eôzJ3J¯Ù~ÝkÊ–ëÍÔ– L³ ³¼<Ÿ'Ùtz=sé¦ÉÈ5¥!Y†§Y^€¼.vö’Œ9óå6ÓŒ¶È›bJ1E(veÏã~¡{~„0ÆlÚ/Å”`J(Å„JŽ/Aˆ�Ä‹ +ŒqЦ”`ŠÂ‚0N p-S¶iø[s8??:�¶*`wöØ»ú¹ùïhtÒéìwVÀbÙgdŸ>ýôÓ½J)ßY®6¯9Ü�rð‡;;;Í{E +°¨ðìJ÷̇»Ýn{ó­�›ðäÉÓ'OŸ>ýb<~rñÅÅÅS>gÝKµ¾ÁþîöööÞîîî^g`Œ—ÚÇOž>yòd…¼ +^ÂÅ„Àl9^–'ßÓ¼(�/˸f•?f³ÁæçM§4_¹YlÝ+”Ã|ï�N ÁÙF(ažü„0DÈ¿5%¹yoþ¥„²„¼1�é!ˆ 4ñe/�ßË Æ$r=?fLëb3¾cŒbDR×ONQÆ…iB0ÁSŠHÑXŒPœÄq:fÀáŒVÎx|1Úýâ«gç�Çã ß!wo÷ä þhϰÀÆgãüa#Ã8ù”@é÷vnÀ‚X¤ü,¨mlæU€V“ßiîì4hw›Í¼ +°ª,0€Å*ïÛ)@s–ìÌ4€æ½æNk…ìܸÿyNø'"T»Mñ(ß,Šº±¡˜;‹A8� '¨BUêoÕWàÉøó'Ÿ?Íóý§O>ÿü‹§O/...ž^ä)€1šµù°�vñì+æ27è öÆøó/.ÆEÊpñäÛ@é¶2 !„Ä)&4÷Ô¦8#Sš ú ñ˜ Ó™\ŸïÛš²r�›ê΂,ˉCî»u�+ UrM�¹vgÓŒ¹ò³¯§Ó`¦× ¦Ói–‘ ç"`‚|ÓG (6GDphºaˆpþ Š1&¬Ÿ¥%)ŠÝ0IPŠ?ÄiaŒ1Á¬€0"ˆ`Œp’D¾ïA7%ˆù|3tÆ¿øêÙùùÅãñÈ£ñxüÛ‹g÷þŸÀpÐÙ¿óiâ3c|fœž®0€­Æï[ +°Óþh¦ÌR€ÛªEL¶Û¬ +p¯Éï,V^‘4Ûí6¿³Ó~U ™3–´VÀÎ-ñ/pœ ¢Äï‹�¹ûˆ¢ÞáÞâÀLJb±ÿ—õ0©MHPÂýziÎV�qš£|žÚŸ§g†qvv6/.—|rqqñÕW¿øÅþÏ¿øj0 N�ÓOOO»_¼"þË¥oB)¡IcJ¢$£”Lge=ÖtÍÒñi†¯)Í+Õ_ç” ¯°¿g$£…?ËH–M)¡Ùuþj4+: -Φö"UÉYÖ1¯3’3 «Á\È�”âçD“§çmƒAõÔQ5NÈ€»lº ¿9´Ï¶S$‡†’Œ<´YÅ‹I°pIE!Ë2ãan:DN‚¶¡ñÜŸ�ŒÄmÄ6‹lËDùwÒ”ÃEòHÖáß»šQ©jZr¥>ÅEtÚ -õÖ8²�Élˆ;甀’ù^´¬?—>ûIŸóóËTú›Xb³[ß’1€ÐÇ{´ÿw?ß~$êýGb–Èþ«Š4 Àk�®€l` —°U4·Ój dÉ\€n]€&ÿ�IÇž «ÑÊÕW «P:wè}9™ü´r8]û<Ú-Ðæó‰ï¿�¦5{ì¨þp4¡)¤^½u>˜ - žÂ”iï¾­9š�Ö›ÕüW ÷û¹ËL¢�@œ �ÿV“e}s@Ÿü+Pº‚å5˜ÎËâZ¯ñhži~&Äß²Ã(“%=øµÁÙYc!@¬'¤ŸFŽédä’0 Ä‹¥å*Î)í–fïT›wå ‡B–“áhJ -ÄsPÁŒ¹4ƒ}²' ÿb¹qId¸ž+kÂ?R4›· ·¿ñ£y¢¨»rµ“çž«ÿƒöZØZÞ]Ø|ÿdÆ{?¸HÃoªÿvL =ø&MúõìÐ+@•¯kGËG¡{çï\œ—²zzqqŽ 0‡¬&oªÇ}*Ðß'�¾Fæ4 €sÞœ_8°ßͨ/äïÿPøßˆÿ5ÀµÀÞ:lðîÝp8´[°„2õ%¢¯î¾�E ݼ(bix3Ïš>Üó$(j‹T ½§FiºqbÇ` ¤¯œ‘ -º={zˆ¼3’Ò|`×Þzn]L�ÁBrÛÓÉL�±Â‹jú©ß¦»¯+•1Á=šsbÉ�H`!ÉÆÐdQIjÆ�üÉpêH’¯ø �¢l vÉqýÕb™ŽSìtä‚UAš-/k~ówRD¦F˜¬UÂM•¥&TQH“}+�BX’q!µÙ³ª3óee(7k�ñNXYÞEËë¡uSj±šJD `˜°"%ÊÏ~뫌˜nï˜øQ/ÜÉ?|x‡­Âz;~kԬʇP¸È‹—D1¼ 3�ŽåÓüQ€ 0 ‘”c2#®Rk‹6A*•£7Ôtl…ØEÅ—8f*óNz0¥ò¶(TR£J@„S^ ‹fQÓ…-|h_@<¹/¡úàÕÍý§ûÛíJ€àk¿—ÒÕH™(m-~ ¨º¹ô8vvÕûEˆ0>@vz)uX/xJ{3ËÛ¹Ðá\€R÷뺮|í—v�R�4ñ -IMc>‰Ý8ˆž/óù[Z棑‹�ski¥¡ÁPĶՋuª\O]Gó) ½ò´¥¸Z;HŽÓuDlq[¸†Ôy~¿ÁÈZ Àbµ¼ÞøõÿÙ@V�ÑÆµ£ïr›�¹çEÇ0FƒñŠƒs Âõa0“A˜™ô†ãéxÎc±®Aehd›„�¢lu–’†‰4™!úLÑð•5(ŒƒŠK-d@Aœ’øS¸Ör±YÎÂõr /È]{ð_èüù¸¹ o¤ÙxéuòÌój›´Ò‡0±ð7Ó#0`Ö;’ý´4ð�$ uÇÔã ²{2@÷ß$ÑØ™õWW7L+ÿôIDATq6r•þÓ7(ìoÎíd S‡†©ÞÑß§²”ðÈÐÍp`~y   e�Ýß9½ón -à?Ä=®w†ï†ç'í��/KÀBôe@Áé~vÛº=#§ÖwBÙÙS_}ǾyV#¶ÿö0xòœ|G¼,Ûãu£ÇÞìˆ!°@'Ì©Á„A.�µIyA�"¼�`@ ÞvÙ“CûtØ‹A )šMãÄŽ‹eΕƒïÕy•]<¨ ˜ ‡™B"¨sЈՔ#x�×&P‡Ó£pi‚£q1ZŰø8^i/ðQ¾²^„ÕT6eæ<õª“pc�ÄuÅ/Ç\ -�ULë%ú[%B½ùqIJš*ØÃW¾ú�­U6ò -nX�=)@:¢?÷3!ÞúÓåÎ�ì¼g8b¸ñ†�dî’G��€¯‘IÏ‘+“g“ -é¼{g¸B�Áè+2H±m}Ê”$ �´è0½ñÔ²™j@òFÐ6 MíéÍߢÚHãOšÎµjü ùz�²Á�â…bE‡1³‘ÓÔ…´hHrϧϨé/øÝÕRÀ·w÷î^|íüÝÿ›¶QC†ÿxóóíýÇOŸîò5@i:¾î(Z8uÀi�ÊßjB‚›R–<0HÇçd €¸Ä_ŽP|Q¤›Ùh´X­�4š\N&+8C. 0E?&@õùØáv -±À(Óq3†gÕ9 p¼Œ¨ã "ëh5ù  ú¹à>Ÿ¯6—Î_XÍW‰×Ž�„ îû¥_!UkÄ

ù.ÇëÜ»Ea5™ÐëñlãÊÂZJNñÝ@®ý£VK¦ €þ„&æ’üiuqÄ—3§À~‡+B.–÷ è܇./.¥ìAØýLÏÅÕÍÝM¢€_îs¼¾hûÞ"h}@'�ç}é�ðùÑ%€z `€oÐÓŠùÑûã<¹þÉîªìC"¼Peä¡ú©Ú‘Ó¿¦ 8Ðbéâ­o±TøÈ‘Jv¹t{Ê3¿ yÁEÿD�<»†3Âw¯ÐpqÕZ:xÛÅkÒãI”?È�~Û®Úܹ.·]´8Ð,R‚M ŽM»v^Á!'ÉØ’H°‘p&gˆ<-lb:½AäƒÂÎPANîS~Aô´w^€H¶Ö—od†h¤T79uJM‚ø¤eÞÄŠ]¢Ú’ kÝPTó%†J÷Ø O" -òSs±QD~Äß…%iYCÙ÷öY‰ÊQ¹-�ÅMñ'Y Þ;áNXå¡ðê_ ˜2ë#Ö`†mà‰¦.kæ7¶’=ŸòÉþÐÝÍÅùŇÛ;¿ üV§�ˆ ‘}iÈ/6 ÀÏä À¿k†Nâ¨ö;ÐXüJêëßö ЊóD탩€Šû#sj `‰BúP,Ý œ�ëLÀ3òp-ŠÍÑ÷�;`m’!€L—[ε8º0™ ¼ãÕHœ62pÈ\­µ¼Y•FÜ·é|º\oÖŽÓ �0½ZƒÑd·Böˆ °X.óÁaÔæ•X:#€««ñ º´¯û!¨8õo¤�N ׈-F`>®ÔòIÓDR ‹§Îî=¸¾\�|&“é©F¡Öæ+já½C5hÑ€S #G0lü¶Äþ‰Ê"  ²Gv±¦ç.£Ϥ°¯(âjÔ÷¾ä+Ä‹Íâñe4™ošþß¡ÿÆûdeŽXTÿ3ð.‚´�Ú7ÑÿÝÔ@qwr©µá?”hš-÷"šp^¨ÿ•Üšêß�çSÃû‡ò_\EP `›ðs¡áÿÅ;úš7ý’zoì%Æ=j°¿£= ÀÑ9f Îô—pzbGR2GÏ! „ÿׯ5¸ ÀŸ| ½ÿ“$2T�jgž�ÐöÝx´9æàk€ -œ@1ËÒ]ë¤+'‰mðn—Ô³oŽØ¢¦Ú“$dÿ,%÷“þ©°*j•„RH -z&Ø�§�7šÂ†ü{¶Ì>s$ð�8R¶Ä3™6G:~‘Ç$õRmJšbˆÓàz‰Ìá~ÓÓš19Å0ˆŒq`¯Í¿(¿V¼Î4¢Ä7”'È1HÞ´ ·Héñ#-Æ7ìps,+мŽ*s•ÍJ䊗9ÈPÝÝú£,j½ùLB—*¸ßh°.ò …R“´~sÉ -êŸ*“‘žžJ>‡¾bbò²f�qkØiâP,ˆŽ­ù ‹³MÁMyG.±›¥bËu¸vj!\Ð×"Ȇ¸Ó¡ #‚,f›Uróò|²^p6ûmܤ|xgìÞ÷ú­* -àØIÿ4vÅá|î$cÛ�CŸzªO ýÎ͗䄤r�—(xœ8Y­×Mã‚×jBåkü þÿ’¨(„Ší¿°ßßÛ·~MÂf»ÕhÌÏ<ßA}U ÁO¯šð{�¢¹öiÇDcåUÁÎrˆå¿ �þϧø�¨YáË«üñd¾»÷€+”õL€š9 êî÷HéÁÿLÜ›àó~—¬‹nñˆT�uH)ØzBø‚9Î{²Rs÷Þhßhdzœè5«Nšž¶9ìs�ó¯Ñ_ÂO§©¥¿å¼ë›¹B'ÈàŠ8Cˆü4ÿ³Â E© *@ð†?x+`™¡ƒàý;düºBˆ&’¬=-W;í¨eOHä<¹•[ 4ÙÆCVú~â$(0Ôí5Ù“G"ž\ýÄ0�I dÞ;”ZæM”3´J’N›IXäŒÎœg—`Ȥ €¯i—Ú,ZIbü¶v’,ðK²g^uVä‰+êuµÖ~ˆgŽWhJáÄ›Grä­1BcoA ªbOˆ;¥W=“ÉRxM“L6R¥>D]0·DÉ–oª¼×øºžá„px[·‘Ù›šè.wD’sš€E`óT<�œá•bDŽSYEÖQ¹L0 9'1 Z­Ö‚¬Â6òÀ°²z>�ìaû³~ðÌút×ÚàKûoˆþén>"ܹ@{ 0 -‡ÿéýLBÕ?ï|› €@Y„ÿ½i!½çEԈыGèÕ ¿¥¿XŒ×UòÕ|5W@}—F ?€ÛŽÕü¾5ø§•\-yäJŒ>�[Àõ�Ix숡2U`2]þeã«~‰" žä€B�,¢™Üéòk�üÐã'«±Ø¼çÈ×hÿªú‹åõj4wZÝõõf9¯SP’€U W©eÛ÷ ]Ž—%Y‰ø[Ú,Vd½÷ûïóe¿ùœšY^ÿ�ñ€Ðbä'S_¹À�t‘n#ÓsÄ:MF��h>ûi6§Þ¦ìœ1¹¯(Þf>¤*c³°H×Ôõx¶ZÀ4ðߦþÁXÕ#Éü1€hÝ/Ïû[ €Æ€PïÌ—¶û‚ýêm€_%=¾šàœ\¡[Ä~€ÿû>øß¿üpÄ?i _DŽ7Š(¦‰¨Qsàübè*‚uGé�QõcÕivõÌž.’ú¶>�xy41Ž-¾ù›@Ü I$æzúîv-w”;„ŠoA\ÑWœÐ _r5pÒªw%{}»Ó=– nêõ«‹:³II§œ­ÜðH üU¶É˜_¸Ò[ô<ªçí1ßÇsã�³QêÑ]]ˆÇ¨33ùR‹‚õx¼DÙßóN]aÈI€S’Zi¸ç -(¹šn¦ }`~‰ ­VÉ� «@ŽW×뼟0[/–½€kg -¤‹ñî‰5_‡FDç‡c¤…ùO ûo–h5vÐ]k$Ã†Ó 5kŒò „õf‰ôC=�Ä~áOiB‹žöyäš¼ŸÂ“q:Ú·&çë­¶XæJ0p?º!]Škí;øG�R”€%åŽÉS€7>$/y«7Ô' ÔªÒêvÛ«öDrk;<ìl+ØÖ�=‡ìšçõä£O…2%½’”`ô@rö‚¹SE Ö…¯,ãçŽ}yUÆñJrá±…�â 9ËÅb£@³’h'˜×Ý*¦8 H úà·!,”‘`K¸‹‹žÄÖËic²]$N02ξ JÕ…$˜kA_æ’«©w#æw‡«•6¼$|E‚,L«¿œ·èüBwWêrŽD6¾>©˜x4Š??7ùPüƒ°ÞG3Q0k:¾’…ÜLÀ}9%]ùók[ñPÙu¬HÒ«®Ô¥Dão�}ý›W— s*_»#^ -r™ìž»©Ôß½äŸ7î>ñ¼ï[Zo×Þ@kÛZ~Öðàöêêm7àO¯ ÿëmèœÿÚ‘¾Ý Š¡¿ß— 2d."€F jšN~âD=õzáÿ½Z]‚øóùh,â#(ŒáwQ?Ù|�'ó¼¿Áp=†W®=@-o0ô5{ðÿ½Ÿ˜L¦Ã~_Yâ_öÕàG™OGk0^½|�t‘·$­c?ÑãwÞ/P¿Á߉–ˆÕRˆØAy؋ҽ¾^‹¡”fœÙÄ ÀŸRqœÀµ©gH$�º®’¾öµ¼õo“þh¶dÛäý„Ñh£iÊr!àÑ\Pý_!¾ø"`?F€þ”l�‰ÈˆÛÔ'3¹‡ð;ÆnAfsmJ²6[_#¯¨ý4[bLž´8à[l;°à×pXÞ�~»@²Çˆ‡»µPˆŽ`ï¡�7j޽ÀÏ"ñ5¿ùÕ†aW,Hßý‹n~Dåö…ÀX¬…óá;ð¿ßçþÙ)pHˆ #Óø—_?ýúë?#4 €pÏó Ày�Ý­â¿×: ’ÃíÍ?ýÓ?iÈ@áÿU ¼åÑwá�ZNœ(¹GíF>¤êÇì!Õ5ÚÑ£Ìuuɱ¶êÍyEªÈ!¡Ï‹²B×u"”« _®1ˆ E†Ê»rçŠ2�´*9I­­9¥Š–…»J/Q¸Øâ´ƒdÊ�Ó`7w¡¦¡çb‘¾†Ó¿Ð¿Œ);7NãþY@5AZF ž“$UþE­>šo¥¿ °ÅqRØò´ãn��ÎO7p§?¯A›vr@œ–`dR¨ñœýpæßeÒêÓœøã¬J)J‚-­Ü²ÜBÏË·¨¢’SÏä,i¥”¸œô[&×£®ä×6së -Vá²…ü¸Dªú±o^5T‡ŠR¶³)i�ÍÀÊ^ByjŸÿG@@¿¹»ÿthn—¾VŸZ{+ú‹ÿ[ ÀÏûo„”š ÷úM&Dø¦uĪ¢­ЦJ»yRù ÔN!©‚Dì¼À¦Y°;ÏAl›‚ÕóÙ´�4ßÎöØ”ô¹¢¢3`~Ñ™¤ÇƒQßY~¾Aè|AÐr4D˜)l.�á¼0:à�îŒ("j:e`</Þûá¼Á€ýïQÄMs8A‰í¾È/öЏ×8² -µ g—EŠ&“õ|·¡ œ/(î+ðp^­†—“Õ„üçëÍj2¸\�õ7Ÿ LÀó³!Ì# €þe†S'1º©ŒÀA àzö~ñ^±ÇìRÃε¬¸&4GÀ>,Õ’ þ!›ÒC ¢ÀëoNN`Þ¤€þÌXÞôjsNO�Žä?‡H¨¹öɶéÓ_¿¢êô墨�¢=ç×éB¼—®:å_£?î­-¥úÇ?Ü\ß\þ k(ßZ†®½ßÓð­<°Ÿëjà/Z à_øÏZnï?ßÿs³Ü^\Ðæ´¨ïkˆÀ²Gø§X95 þ+ ù»|Ì\Ð9<°¤7Œê¿]µ¦¬o…X½,“þ+ƒç¼¢™ÞVè¼¾¶¿oKö?ó÷áâüêöîÓ]^ÂÅoq»è­}µò=¡C7?ßíã? q\iÀ…egÈI¡¿�)¥J^H?nÔDõþ&ÌŸøFÀ"°ÉpõÀ0q7`ŠÊÍ]øò»ÐðANš©l¥ -6oF¯Öâ„D… -³ÙF#Ð~Lg(O‡Šþ 'èhÆ!Y|ïüx±øá C`49Ž…ùNÎ'ªüð{®ÕÅýT„\#½„²8`ßPo¼ÍÀ·½ ¨¨r„ZóÜ£mïsàüF -È7ÅÏ À¿�ýY =?¿üs,7žk¾¡uHNÈ@Ÿ`_Õß]‡ÿû&'Þüú)/þz þß:8¨Â�Žpûáò¼7¼üp{¯ Âïþ‚&?toÿåþŸîIðM/ëÖ2@dë+okÀ‹áPëg+aGí^> ¼Û•ê$íãâ1l¥ -ÔUx‹bÿ×"W�h¿›3s3ܾ+—âò1OŒmZÕKó×-8à™@1WÀDMtC5dð4auŇGÃ'N�wر½^Å,ñ%'R…¬èExnSj¹%½•�3˜Ï=J” -ÝÒö¬]©4“n9;ÆZ¶FѧËL*ÀªâY‹äxWÂ:º}þuk¹×0¿¢ïÕBˆp¹j:uè.²ß^é(žÁÏŽA�Óq…\N&úÚǃ±.…P>ü#/&‹‰½ –N¨mÖ1çvž<*᎑J"[¹ã,ßÝ5]� ¤NZ$Áá¬ãàÙt§Zÿ’ÿ�ëÛOº´4Àv) ·™X%iö—>:H‹ÁÞ:…ÿû%­¾Pðm+Š*¢zQD€ÈePõÌyG�q |ÞÙ8ïÃ,Æ €8è+Nª¨J`Þƒç< Èq¹&Žf¬/'kˆ¹@°/ ´è#M ÁÞGðjÉ -©Ê™_å—` ¾^ü°€­ÈfŠX@5æp=†ë6_¿÷¤Ý¥&×dˆKÎcÒ�ØAJD^Æ+ ü^ï§—S?V´2r%0�ý¸áðÜ7ˆ£÷ódØ ²¤ ¹3‰ g…ÈÀø=ÌâÎ=€±T’—Í]�#\#¿PJÄ,Ù²ú÷à¹O÷-ùqâÒ‘/%_?ß‚(CU‡sšàO§Ç‡ò¿™Zó< Ÿözäñlò5ÿ©³d­ÝýJŸ‹ö9àæ¨ ½ÐtÿîPPÿ�“Ê🽋à—û¾ÿ�÷ÿá²ß€¢{u¤Ðáž1 üÓý¿ "˜Ûv -€™ñô¿m«h8yÔ ´»yHøv�c@ÍÝ%â)½d1œÓòÊ™AËÕ(Î -ÌßcyÆÿγòñJKެsÒÎï»~.$X")Æ»" &‰å…æ•(îêL§»ºÔöRì¼™Tc.d² Ýû/ U忇«à ÉnÚƒüˆ5^cï–“Æ÷Þ�"0™­9’שŸJºê±Êf˜½Ÿ[ùuW_½¢J·"@²’*99mžâÑXÍyK¹¨y´únuêVǨá)Ïw”Ú•.ï–v‘ð3h—>{¥²m1¤dFà0¢·ÚnÆ·Ž­`-ZÂJÝ@qÇs/¤BéçÓ­‹{ùDYDs»Ž¢@—Bçÿ«ÁííÇÛOé®®þ‹6€Æóuh%¤�X"øK•¼� -dD¸¢ �€ð¾¥�PÞœƒøKu9î AÆBÅHôËëi8úÐ7¸(¼�¶2ãñ8ïgHõ2ÐÉ™]X™ òGYFP)×Ñ%ÄŸDLjHmþl‰Îa1…J¯ÿ‘”'Î6ÁVÍô}%‚”Ku½øž˜ÁåZ)Æ au¶P‰Ý=¹ Gšä…n0¼˜‹�Ãa¿íY>ð/ö×È}µCM67ËÍß´…ü’I¬ÍÅèûïËëEf>ÈSÝ)Å"\O,¢Â¡ñô¿^Ný¢~Ûòç'í^L6¯£s"¬ÎÐÀ¥4å?†Zó|‚Úãÿíˆ?òkœ~˜Œõ¹½½Í:èðW7wW; €¤FÎ-v5þíлjW÷€šAxû©Æ¶€{‡ü#¨Ù#¸H€ûCÄŒ‹ÉÕå�øß,Ô±SbðK@¯¹Áõ%@-'¯Yv]ç–Ê·õŠÝ^Çwjiû 6Ý:é39±¤KAïF¸íê&ÕåøUH¯‡Š�¡7Ƨ"Ú�ДN¾ëW/^¹î‚‘§ÇxH;,ì†o '\b›[ÚÕJ(Î}ªèEå±·çPüÑc�õ^õÏ�Sr…\L.'ü+tP¬œÙãŽÏö°½â©ñZUZ;GJexñLÚ’~Ù “_NÚ>þ�}ÿ仚†P ä"¿®æâé=Íù6©ºZg&STÁù7f” ¹ï(Ö9k.OÌy…/ji'¡:â£{Û´ZcNB[ªëмž+ p5¾F°>+fÎü³3z"$�nÒíi;~uë÷ -ÖŸO·7nî³ ÀnÀý·øÿÖ…€@…[¤€OŸ>ÞÓk¼ÍB@OXDÿø¦9¾É'j}Á -°X¸0îÁGf³ÍµŸÿ™ùÂZß` - ÉNÞól<›ŽÑYIuݨï€ö\M樃ŒÈ€å­:ƒã³�Ÿë׌¹%NƒzªèÈdOÐâ?@½¸þÁF®¯¯ã;C»¹Ç³Íz¶F½¶`r­`®#ï hgú©mïæÚE°�“%¯V~f€"交¨Àùx<—ë”U{ÀV°tüËjÀ1‘¤*Êö Nž -¸|û†àáÿq±¨:®•oRÁà4©æ$ð‡âx« ÝïçÒiO[ÌC @Ôü ÿ� ¯6 €cR/ùÙpS¯±ñ×¢ãúÿ# ¿‹«Z@àG�øê¢³ø@ß2sSÛ¿D÷z(È_¤øp Àþõ./ù_ÿigelÿüwÎaè÷.&Wvw®@r§¾t(§ÍÐ{ëÀwˆ)èÿCàÿð€P\Q:ñƒ]÷ U·ø�³òŸaà fÕõÒu�*°ç×Y±êB²‘ô÷zÐÏKøT¿Oeè6*¤ -D&ØÖ•=[RJʉTÇ -�Ðñ4(˜Pö24H€#ÑB7»¶çP€²³$Uvjï?µî’Ÿ1s!—=x¡¼Ý‡qã[ IgGÂçá§Q»žò5îâ×�G÷IS?ÏØùÉFÝ)‰äbQr)Ò·¢ÕicÏ­#ý©¶0°ÿëxË˃';·C @Ž2¸^  ¯;7ŽfWõbþ(Á#¹”9|^J8wæìERh¾•K‹}`ø.Ÿ­’Õîïá‹î~oX¸þ\ºÿXózî"t_âùªV‘æ¤ÿ�w7He10‚…üZü.)iDø& €ËͬÀ*C"¨‘æL&Ù,~X^p9Î%4퀒黎I.¨§Ë¯-3r/$ª(»ú¿¸å¹,¾V8V -þä Ùï)*ˆÄõ'júh< î!$�c¦ö~ŠK5iÄóÈVÈÕ…` oÙüðƒ– -2ë-ç®ÕÀI ÂC$‰I›ùO^É_ë?™' Š6>×T‘‚³@?;ÇAˆ2› ȬCüN+Ôv‘W œã�E¬\ñ€43¡p8™¹$€ù»" 1a?³F‹ÑB‰j¶Ù,·4¶Ìú¾ý÷ -J”TÃþ¥jO ’\_@àmë¡ ãT‡€Ã9ç´Æ}tÎï¸Кç_‹¶Cý¨^”´ÙZj -€$žß7Ý¿¡Cý‡ŇãcW7·wm€Cûõ1€t ªûìÿÎ1€šè$À¿ÃË ÿt…ìeu‰ÿŽNø)`¨·~¹èbˆ@B—B_ùˆê–V_šCúÈxÓ�ÑC²oý¢ýtÂ%¨AļŠê�kI¡ísLÊ-t¼âŽÃS"&n<ÝôŒd¶JÀ£éT¸ �a§"BéÞ9oiT ÷íÌ­Ü#)vW§ .Ê;ŠráÁž -ðÇsìWp¬¬\¨ë-XÂë~"¸ã³=l¯x*;‹ÓD¨àâÙîféQ[õÛmñ6fÛÅ�¸ìºàx$4é¶¼[´òŽc›—\ųK˃ˆŠ[¨ç—|&Xzö% @—þ¿m6€„Î0ÀM\·7W[ €�_ÀÖÀóÿ:_à÷Ms|þI@ @ÌÛÒVJë÷~N9ëãKX”mPRP4ã㦣ž)£ögÞݸ, ›Xç’Ÿb"Ÿ¨0;5Žpš Æ«aA);Çã Ö.±È�¹æýl¼ž‘-\ïWËp=ö{À‘… øJxéÐH{4¼ùõë,õ@æ¸N ¤ðü¿ÃØ=Û0¢ƒxÖöß$̾€Ôö�ý-¾úqùcû`áÿÍÅÐ\Áö¼à´¼Ã9>?× ‹€#W÷Vøüz5¼Bøç²ÜÞû9ÀXè þüç²Ü\ž÷úþ¯G.ÎÏ_�’“ü™ÚB‡Ûw¯PÄ µCO?êiç%¥{tOÏöØ�H̓C…2¼xÑRHbE:ëÔàÉ­ÎsAÿ�ž^�W1� öÆÉâÕwOYìZ¢öóFÔ™¬’º‡`{lWuÕ9ÿÆIડ -rÎ ï,�°=@¸Ñ´»´e*¿pQ%®”=ƳÜE^±lá§yUÉ eE-M~•~òõHØœ±ûšÀ}v•PõTÏ:“‹PÁ)ÍÍ}÷Ëiʼn/ƒ¹=¶H*OÃ7··&{¶Tõ"P~�¸÷-ì8 ƒ\$j«ä0¥§[€œïÏØ;¶³�kç|ŃÖï¡Ññ0‹èÏø þŸ\�Ó hP�Gq�™6oX×@{ À׉‡òquõ®^͉ÒO,€&Bd)ÁlþR%/$Ð?F€¯YB{Ã@é¢Ù×±N„©P 0©¹š£ñÀ—¿'m'ìƒWQ{¡c¿–wrvŠ8í$º©3èò~>ñ ²nPŠ4¡'^GÑØ†€ö|ì -ýfçQU±üÉd´-6kθ¸ÈW·\[*¹æˆ¸v DÅ‹ÓÙ°ou(iȵ×,G‡Æ«*4ÁZ$V@¯‘:ˆ½µ!€±Ð¯þ+ 8pÖO³Ó`\(i4×n€ÎOu/G³b‹€±ó,ÉáE®«X^"u-Ãõ#ø$4 ³$ÈgS`ø˜@€¶þ‡EQ-¨¤äðÌ?2ÈCV½Ðš}ãä¯EOXöæe¯´ü¸µü9“·€wÃw~@æw‡ �¼n°}`¿»ÿôùs¾ f�PSþnËàk7 JÀ¼ðæÜ—Ùné8Þ Ô@§\�·ußä€ó!ýÊq d’N„Î0Ýf6ûBŽôi¸tû®¶Ýf(½\QsJ°t­œuýjís4DB¶¨ºs=§-�òﮄ‡©¿àÚLNÒß<[øxµcw^Ü·S·DƒÝ¤›®ŠÍ™\=óŸèE¹ô`_Åïæì,»`üs>÷1éÚç°»bȰ´âÄ�Ô�¥„Jö‰RWº½×+ýnÛù'º€¶!‘4ûT Îî˜ u¨ »¼L¦(ÁÓl:vDQÅ_ ß8œéõ @Ž&šë¹Tv» PåYWtà¥YÕ­‹Vÿ¤‡ëÏÎèeð4C¼¬z©Ý1nöuúò-ý¾Zý³~îÐÿÑyãÂ~�o¿î›>soàÝ�+ƒÝÝý|{ó³oÚï\½y�ò6¥ß¸ù€Ï{!“¬Œî·w·¾H…þîA@ë +€8TsŠ›ÍÒ�Ô;  oCvЏ©ˆ„âÛ 7žÖàÿ0€_ô›ŽVˆZ&ý““S¤é~ìïÏ�ñ—wûj|`´.£�éŠým’6�Ùh:ç*¹‰Î(ßéÆ§Ì Œ?€–r»˜ø™ÞP:»Vpêbüå"ƒ ß«yÇòï—Éω|€÷d¾ã£°'+?<è×…æ¿!xáH6À2œ�×c—ÿ'b–*°HÈêÿŠCÚ!…4#¥!%&%‹õòýìúz9/ Ä–Åfqnuh\ƒÿ‡ð!îȶ¡Œø2 @Á¸sÎÐü/òm-Eûsô M…¾v õ\ÅÚI¬Úº}kž-â�ýv·Œ ›à{||ËÃZp@³DðØkø2Ñ�ðc^¨Dˆ\ŽÐÍ øÚ;wù¡F?’ÄÖ+»sà†Ã5Œ’œ_`ˆà €,xJv”ðv³gˆË޲:K[cõ…ô•.ÿpW›ÛSC¡Ã (‰%B]'¸ûŠUôOv^«ë�D�ê÷É"öêî -}®3ÌÎ\x¾H¯¶g—Nœ„o]Žü]øy‚K ´q„Sÿœ$1*¾2Ž¿)h£ìÂxkØõÏ#´–í•»8†ʰ-8”"WÒ^(ïÝE#ÅsWµ� É9Á›o^ ǃÑ÷N3þÞ™Dƒþè{6\ýQÿû½®®¼Æ\/i�úãÑo+úÕþh>_;Vù~<– «ÀÌw8©o~nå¨lÜbV Ý]$tÕ�å±>âúò€¶ßH‘Ùš°­&W<àæÉ�l@ä¨O1ø” “WØÇ€êewqÕYy´Ýv;러á9·?Xý,º¿ÿô)S,t|<ÀPn‰ À5?ÞòSè¿ûøóíÙ½�!€üj€ ôw2€¥ìÈ¿SE_¡6ЦxG­ÐÖ ïrñ— «[té¸ÔûÞèë ât<î÷F~¥‹Î;%‘_ÀÄ¡ 5 åðϲ¸4ð(ùЈw¬\kA ¦¨ÒÏùu—!ÌAòr.å¬ù6‡ÊPT«g �ä:;±NöïÛñú‡M]áR`u2 W¸ÛÆ42€ ipPðöºÖoÕøÉÄ�mû¡í¼ì� Fæ{€›÷X €MA»0f“a yާæùÙd “»sð� f³�z¿oŒ¸^_s%€*r^_ÃõÒA€åz®-€|“|�Æ@ñ|<�'1õu¹%óÈÎpíߥãkDËK0?×?žOÖOç‘Kj(äõõ‚ O@X.–Ëp½FX"ly7&2>® 4™Ù* -už‚çQ¬R~fŽ˜-¸5=,ûs^Šÿ�Dý Û·æùW# ^�ÿáïÐpuóc,™à$ߨZj@4HMœPL‰KoN껽!j‘?ð8µ¢ÿ]{[ƒêÌZ�Ô·ÎŽ�ûs;‘^¿æé†íÓ7ˆe¸ ëôaWÃá;_èúŇT���e�ØQVgYd“¤c|¶ ðB—Ws�(§º±.»‹Ú¡×êzóá(TÚWGík€-°Ý/ÏÌÙ© ½½Î8BÁüu‡¨ƒYWÌgßùéû k$-ÂÿYž -Nk²&.̾¯ékêì·€áV8�O‘.›%’)ÓŒ+dµx’‡rlòBç‘VUõwß}?úžÎ!� ½Š‹ˆ+ œl\€ÚR'4 ÀX�_êMÆ¿ý=ÝVYF3ºæ Ûxla¥ÂÉÐÁíiWê .Šr¡Jzð«ÖÑ®àáÍ´.¨_¯äzQKfë™CíZ~Í®¥*ms*f<àŽYÕ‹J³á8͈‹Dí*Y¦ôôJÝ\oCžwÛþ?[w<é�Ÿ!j�X -'Cç<�TþýZ ˆ; à#€_°Ç¹»ÓöxÕ¾¨@±Aª·\ °�¶\ÚůJú"�ƒþ%”¤=&8@ðW�^®7t�󺳀“ù*#ÿþ€÷åx>ÔP ÿ/G¶9ñnŽÒ;Ÿr¥ræÄ¸žØï'ËV Í{¥äêX�Z:Le¬�¨xFawPÝy“¹r.�Ž{z-Æ“ëb��ñÿ0ÎiäùÝdꢞùš0P €Ö€iõT¾SÈ/JŽ1ÌW0F†KØÊG{7³Ír=ŸM3��T´Ì§«9\Ëc <¯þÿ5@Ãê!B¬'äf¨�ñ|m-�I~  �kùžâúùа�M¸ž×Ü -Of ïÖ>)U«j¤q=*öó-rãG-_™€jKvÆ~ u³3+@i qóW£ã&€½9Z2 ð‚1øÿclö7Í`ùúQÿ!ŸÂS 9²ux®zßÑùŸÒ×âÿŸN�ýÃÍÉó�Çw¯p7)Jϼ»™õ˜RŸéO�(”TH_ €#oß¹ -@�P¥2¡®3ÈѼÜҦό+(y`0t`©�¬¶Wn�†Hȸâì\†¨<â_—rV~ ÂÖŠ9ú/ ÀY¯ôz(]±OQœÅ}sH"!…|J#b±„Z´¸Kø.bAã·³"IšÈ¡ âr¹tÛvÒq'™P•”D-cUN* ]I†‰.ZqR‘¶c€þQå#ì[è7Ë“ÿW,fëÑB Û$<™Uq“e¼u„¥¸¶Oý[ùR3½Zë#ÁPà+€m‹øU‚©Ê®;ÏÞ|p‡tàÕáy­þI/#ÔŸ�¾‰�S?UÄQÞ=tG®vîýÍ.¼Þ,çìbúKhgˆà|0àööæ£Ú?=ÍφVxý:!æ7üÏ–®¡ð¿~¹¶#ëcÿ®%`CàoV€/ŠÁK…ôO?ª$ů„ªTt¹š AL¢“J7àl:š+íuŠ"íg�—s?‡Ë™Cy ÇõblùÊÈýçk۴ܨ"›æíÜ��ÎþóÓ�³ùbí>%‹ÅR ÜøYB¿ý7~3Å×ðÖ‚¡~Àp¶\®@8°LrM ' àA¾~F8ƌȣú¬°;™¬( -Ú?JùÄO"â¥ÉNE.…ìÍpXÆå >µŽd`$á>a5ž"~PÀ \Ì�dFﯭY×Yœs/ò9àe¸æõWM€“å"™l)÷f>O³x@][øú�ÀÑfµ<ñ-ý: @Ù«Öˆè`S}Áf,Ñ¿ÙN_8iñ( ÿø·³¸ÿàB@WWû ¹àþ[ÞÐ5Ñïú$@S"Tzd€¡¦�|_èê]{õ—R¿Ž8Y…; ÀΠ—¦ådET:öúmV&‡ó¡ºq+ÝâRA\v”­7íötoϵd§¿»x7JO¼êœ‚H^«ëœ Rý>©—O#zã K¤µw;âÚâ—àU€ŠYz‹@ÿÎygH¤¤Áf}µh¢;ÁŨ¤†• : ”|¼N·O/çbv c¢Ê7…’RäÔ‰ÎÔKUA;‚Uñ¬ÊmDô“ïÐèC‚ÿéH�[ØÐ÷Ѥ¶»N-ÃñC €ê¶é¸Ë%ÙI·‡½Wê ¦‹ôìJºÿ ïUø”Þ`n�-+}hëY±ËáÖ€m�¤íµ0¹â÷ €WðK€–R7 |êy|Ë®w:Ô0È€X¨óìϦX$ûIç;I»NÖÊèxwsû‘NƒÞÂÂ&R‰N4`Ÿ>³ý¼V¿ÚY ÖOjê) -tü#èÒǦöPhh© m~âã×ÞÀå:9 š3ýIAàŸ÷{h¹ã©í×ñû)Mo‰V=wÀx>é!ÙK®óï;ÁIsµÌFs`—4!UýÙd¾Féö[zSgýû}Ò•=çÅæz³a—9×”gãÛŠ¨ñ\Zȵ¶ÿÙbÇ5»tè lþ“Ñj6G@ŒA1׎QáVãÉÊÉ”~ÎE n… GsùýFï|²™ oÇ$áãZƒv)Oe^¢5ñÏ)¬GˆLJZû'£ál�ÒÓe4o&CÄ–�È/ÇõßÃÒ!%Èvõ€h õLõwb³Ì@ã=²ŸŽXöÖˆ�Æù¼��$ò§Çpú×~ àÉ¥·sÔØ…òZ ÖþñÁ:´ÜBÿM¯µ8@�ü †ÞCLÓ½D`jÍê0ÀOß9!ÀjT…ï�úñ¥±r$ˆO¥JŽ(œj#È);ªÙÅAý°« IáO_9i=¦G;·ô‡ö™­kT[ô°"är—3ºÁ„ÖEëÌ>Ç„7t\-~¹ Aää’´¼¤§> Rÿ -±O…Îgôñeý÷[óRöÁkÂbôË Q‚ØŠ3‚ƒàãcÇÅ„OXM÷[§Cå7ì‘¢n?úc‚ ábÞJymél8tU�N’(ÖõÀ©ª»ÝZIM³ö9Ä/Wñ% €]q?–|»F%€ç[€üˆ ýé¡ Ô-ÓI˜È •‘ÆküâKåµ¥xZ2 ȵBÔ*º§u?ˆaùÙyö À6j -]—:`/(�*Ÿº¢Or�w­þ©Ï8’u²ðÏy"ä× $þn{èᎦ Àö-¤:ö¼Åó5ùkz€²ìðÿml«!z˜šsÌáç8} @æþ—À¾3“Ú/ÝiJ°ÒûöoÜcr(Ú¢¿ûøØl["Œg‹ëë\‹FEÕ÷&€—fÀ>z«è �•}šb&€OC¼œãN¯Ÿ¯€sÔz-.€„à$@­Ã±¶tR‰­}ä‹r¤@sÔeåÖÉf­0Œ–ã%¸¼DOƒ‹¢ÿZÌ®7?\ÿðƒÌ Ü6r�R½7®�ââ?"½²‹ -?â@_]Ú9ùŽ[ë“å -©%“ò-Ô`²^Í׫Ùj£ìák|МMç“5’¶‹süÇšà|J)–�¨Ÿ§é!EÎÆkK¦ ðžÃåË÷ë%¢Ò{ñ±x� BncÅ€E]Nú~ƒ¶‹IÝ;ÉâþçýÔ}êZÂ3~6©Œ'==(Â]ðßÑþ5ù’žC¶T¾ù—Ÿú¿ênkž5â�üv€¬ àòÇŸæ\ž·9üƒð6aßœ|€Ÿi¹~—�OžHùÒõÁû¿©w 9\]8Ý�Ã9O‚è˜GPÇ£LÐd.‰š%Ì–Lš”_¿CØ"|a²#ðW@Üê,Ó=º§‹{ÉceïF‰P—lLì+V]Ð?䵺ÎI1� öÆ]G½ÛìŒ�:`À·N3®Ç¼¸\qùÈžß>¶¥ÐísLÊZßì›Ë‰^þuIÏø@Í£BìSƒÝ¤!µHJ©_½ro×õ[ŠŠÌ¾Yìý:²þâ¹HZ¸K¡×Ïë�S“@·›ž@¼¿ÑÌ?¼�ýÙà HîùNÉÉ_òÉ>) ;Û­!%4Ùª×T€žü tÜ€='[Iv¢å…ŽohãWR€~ºÎèÿêþ¸J -á”8›¬}kÊ€žuŸÈ¨ÙðØºø7nê¶…Å]¡ù‹¢þÒ:ðú,!¬Ë¯ÏP\óoÀx($»]P¨ò¬+:ðjx¾�VÿÔgF¨?;}Ëàÿà-ÎÛ±;ìÎü6]†¶Ö³“ÛÛŸ¿¶�ü~ÞÏÃÞ@éÿÒžàçBÿ&ü¼o0Rð?cvèJÛß¡`¸&°{’ÁÞŠiÛ©GE`Ê7ÞëkôÎù\mÙ™jÁÞÅbå༆ãé¼ß›¢Ã�¦Ó2_�«³É k§ãËa¾€ ðÓÆ @�&3‘߯îécÿ§ñz¡7ˆÃ9.ú?àGzËÑ|¼t"þæ[\Ï®�ýÀ_oœ÷/`FX.6Ðùj»Þ€væš%ü)tÀâ°?Ÿ++Ï|f@òÙd5—ëF›Õr9Fê!{Š'ÞÏWy�0%ˆ†”Â-›Ïkz ÊK}#[h0�ëùæß‹ñõ2DP�©ÅûTêû1B -�·iyÀuV^öΉþ[øœïDZGk6†¯‘ËKm¼Vã;²ÛÁ€¢šP³Åÿ–�Žçñš ~õ×cˆÎøÛYÜš žEõúXÐü�ÐÁ¿€8}s’ºA§§J•¤•Ó¥ÿ`µz?õÊ~žî¢¬ãÛË«�ÊyE°M­Ð& ·V_6$\’t@€ä-ÒAø)5á)â¢�A¹ìª³,²[¤c|d ,W;'nCa/r+J ºž˜]¬ìö‚µ_¼ì†9*eT¿_¼øë¬_Ñj¼p Ù'sîãdô±Ž^W{χh FÌĨ^®]¹½r|ßé‡ræßhñ+cŽ3-Áƒ³á€›aÄ +pUxhØ·¥9u¢3õ¢«ˆ#‘âY5\”¤:’’ì–•ØiÜÇÏ!” ¿  €~% -hUu-Õ -7› Œ†Š¶^8&»OB³Ùewp{ØëYg0]” –ͪé~9­Kqâ•jõ-[2<ÇöO2nMØÖˆm„ “+poÅ@%ˆ¤kÎ^$jypÕ@‰½“WÌé,ß¿On'}$AþZzÃÝ»s -¦yÿ˛ȟýþÔw»;{†fÌÀ>¡{hHE‡XÆUàìõëØbp>ñ%ˆU±»oGm3àgÃû›Po˜¥yôB ÎŒæ3Só™=ý(¡°^ÏÖ4¯1‰¤²¿žÏhÀ#^4Cö ÓzrRŸ�|†¨M*3Ø+@lî3a7¦xã˜Úx>@õïæ³¿ß,H•f=™gëÍ:¾œqü·Í›õid¾Íp];K  ³e¸Ø÷Áo®ùýšãx ç$ްšÍ3ô`F19è\ÎÆ+ Z°å2RôJ[ø¿ÒV1N¦óõ’,çˆ#ãXäÕG7¢¹eóùíkf¤=QȼDˆèþËfö,R�óáøD)‡–ïg¾ð´Ÿ;¦@¢;®ÇKJ®±ÅºJTâù€2la´û=lOPtJ4Șg¿�9ïÚ²KÛ{¦€î¿' (¡Ö<ÿztQxÿ€vsP¹}Ù.€šxõá&sÊ`Ãm"@ö”Ý1¸2õC5J_Ô -…p ¿ºúÈSÍÉÏ!íOÏjÙ8ƒ àU+”‘À0]õ@¦NÏá-9Ïýj}â“”ËéìªW¤w³Ïl]£ýâ“}Òcò·kn)´}ŽIÙÐ-j�Çe#šKÒò’žñ�š‡t…Óå¯EñD¸ï¦äðêì´Ô¿ŠÆ?Ñè;JР˜±¡v9Ê]Þ¯œg`ù‹ÃÄ Àï"tG?]Úžœ©Ö¾rx¢ò¯ôØ›ÈC"IËX•“ ôäOèã€ïè>ìBjçL@çÿ�ûš)Ñòãí¤?M¨Â¾`ïdª&1ô††ôÃþd8ôµ)z Ü£º¡2Žê  GãF¾;Šg -Z Q«üÙ@Ôå ¯¯Yº¿<$¿ºÔ€Ý9ÿ¤N�\1¬žJnzwÑêŸúŒ#YËüõ¨6ãïÀ�Ý‘ ÕŸ›ž9¾x¾{ €ŠVþó‹_ÜJû—Ž[ìFCéj:úèh€ë¤¼¥Ml-éZj¹7w¸ã³£„,ªÚ:F™[¶³´!€މ‹™Ÿ¥ñS5kšp‰f<”®Ñ²}ûn¢ùZ¼Ê-:úrÜï¹PK†½š}†Ÿ<�4¢%— ¥tÏ+pë1š8:òtŠÀàj{#Ü@ìr3r~›úl¾žƒÂ«Õ\›9lÿo™­—êçÀå ýVç³÷׳k¿®‡. ~ZÚp�¼°º¾ž-×ãåoó„'ÒÒ€èAGSmÀ°ƒÁ#�Èq� àlH²Ñ`�ŒW˜Y�Œ=rf€…öÙùŠÃhÒ9¥ˆÕ VLH�Ò,�òoA¨B"ˆÜ°X\“%’O†àz½˜Q<²Ž°µZ,—×ëÅõrûIÁÿ9}U=ÚÃþ ¨Û¾ž!”@3ÆÓs -ù› øßædàëijéù7ëçQgwxSû¿þ@L[Í¿ûZ®ö-5à8¦Åªÿwð_.mð"ÂÉÒ:E´°.V.ó³X¬–$=rRÂ\o ï�~ïÈDëî©ëÅz³¹Æw‚Ä€|Pð�öOõz³ -QPk&Oÿh.´” —Úåñ9¥n>¶+ç¬èŸþT¨þ¥½Qñ�Zóü+Ò1Àñu¶€ÝnáåÅ€Œ[ä�K=VA¬(ébå¾à‹Î…pó#b†©^èç—WœW(X ›ØÔõl§/ï=ô']C-“§ûH¾G¥@—ê,ŠH JôF#µÐCÎ�(™Jus`B>p¤<µu”pÍrµò¥Œòî¡þøy|Ö€Š]·&´ѯr‰[ò€[± ÎIK¸Æï¹€Ý:7Éþ˜§Ï>É:»o8 0ÚÇíÏwOnÇ,ö€wuоX¿Bÿ­ oø>TK"o-‰ß‰êuH„ ¥²ŽÒZÌMGd2N‘ fSŽ–  (G¾ šÏW0ç^Í<Ö·éh>™Ž'C~†ÑÐ~½ÙÐÏpÃ@©wˆF ²oVKßσë÷¾- Î¾8…RøÖV l‹ÖÉA0víâÕ|³²<Ó¹“3ÙÉ€‚ÂÕrîÀœª³Š(Ï|²ÜŒÆ›åX®�”#Äóˆúú`"2h:6Óž/ðPü”Ê"øðÂ3�ïxéÊEspdüþ_×?m¹%ÿõÆ‘P2*0&»Òþ“5lcxHMxŠ”wÎÒ–Ž®€L T AÛoÄpüÛ «yÒJ;=øi*©á!½{w!;‚Ÿ…\Ÿ• -ôÖ’%]7G˜F®à•/‘ÚÙ1jˆ@»9€n·@ÖãRhsŽJSdîkyDà¿á5G˜øˆæûã% úxüW»§§?îcw¸úP -o¨-Ê`  ßÒ‚tg¡oXîôxOS.ÂbºÍléí3[×øÈ`húH���:Ó'W¿Zû“rÅÒWgç2D¢—]Ò3>P9Bö®ö„ëºäpWÍ.á3•ž×:w¦Ã7WöþÍ£mß•™_¾Â) µV:ÎK Çû}‹Gê©&‰ÚW§˜cUéÌ¿Z¡[ê­¼îÍ2Ü­Ì™…[Q?r¾#“<àc€ÞÙÉtÃ^Mé<èpPMí,„þ‘3«4ô]¢e†‡��üRõã`C€É®6sÐÅ?,ÅkKa1Gg e[ßÜ‹‹o«K�\î(9I•D‹šÒ×¥NØ J Ê§®èÀ“ÜãÝE«w'té�ËüõH„ò/Ö+ÙÇ[D会pJ5¼@7 ÀÉÉž¾ÿxËÇýC{“÷,ÛŽ6]M‡ÿéxö,Ѭؾs%û™]% ì~éù¶ºR*ë(�õû"@gØ7ìDg¶vðØÄõÓ -r1[¨Ð0³-Ñî}ô|É C€’.»Ú,}Ã:·æ|@ V-r�@tt®©¤}"¡:´ešEýèÔ¢+ ;è€DàO¾¬øÖ ‹".pÂör¼@DYe _@”\(Lq-D“‹·´q×3A}2Dæþ×ëßjž?QÇ«¥8jQí.¹Fºh‰{6™¢�“O¨T�pQ&Û\zNÝ�ä�-õ ìˆdÚ&db†ø²Öâ«ÃaÇu&U£?@Ýiÿ=iMâ!Ñ(žÚN{; €vùØçi@G礱Xvs ãu Ç© ø4•áà‘ÐæÔ¨Âÿ—¸ÿùqìºö|AÏdd>¨Gí7yH2Ÿ;¸Å`À·€¨g4  ´Ýò@PÍH&(#2œ -EŸ.oúV¦3a?¡ý<è¿ Ã53<ÔCƒ ×ý§úóù®}HFdDþ�l¿Eòœ}öÙ?Ö9Üg×Z{í}$ªïÁZ\éDÀããå -9ßçlìŠ*öª†ë>Ä7 ¿ôÙYvëþ—Àùñá0wæÊÏYü -æÜ2_ t·½)6² ÌZ,O´¯ÿ½xòôâìèðäÜ·ƒžÛÐþ`¨€rÇ RÇÉ‘ÿ£SG b:PHqòÍÎÔç�?JÖÜö—ùrÆÎ²Bv”»>5}!­òM}ŠRXQµæìre³—¬}e7Ì^)Ãà‹Tàât<…€z|øUΖß~œÈŠò¤½JWZö©¿ÅVLm“È߉€¯LkeqÈÆÄü¢îÝé¡ûôçÉàs - -Öì]ClÜw? Mѻ”½7¡Âªäé9œkX]ˆO{oéCß \/là|¿²D»@ã�ÖAߣ£úÈ,ÄÚ³�ãÅd¼¢;¶› ÿXZÁU²îT¿÷÷°mœûí¨à´n×ö“ÃÊ“ Q&SP¸l�*-”螘 øõ†P]+Õ¨V—a„á+ŽÂ 'ó—TöÔÂÏ3�Ä`M×¼  ¾tÖYQŠç¹@÷wÀÖ`pP>pó\Ðß@d�ËúÞFé¯ × Ãùˆ-bÀ9a{½\mëPÍ @ò똹|:eÄO‘É Ü«ëI#ö V€�`+Д’Âk‡»�ó%²fðPDиîsˆîk$šqÚ¦:>ßád2E�u(èœOF@G&X ®n»éƒÄ#Øa \Y‹B©+žuìtzIhþ ~æ -œ/º‚Dø–kß°׫‰«÷¢ÊGß–m9ÍîÏLÖ¡hôdùB5,—«ù9ÜZœ# 1‡Žän-Žì�“r!<“Ú sЋѶ¥è2ž ¯#µÀu‰¶•Ðm³OzS&”`2…­…ø:edb Jr-‘ËNØ^6©ÓÛ&Öø±Ç%6�$©pð SùRQ•“ì d Ÿt•À$áŽÃ9BÄwNà«@oöœ«Ü¦0èM2>ßí/ÅÖÍIfK&“;u’_Ç=ú`|�ì–ò”Ó—Ð鍨'Òé éçpÿÀa€²@ô@¾„L«€o“Ä~‚Îb^}ÆöË�mø _Ù" KÚRxæšòƒv6u/ÜhoGòzäy €×oÃ2«¤PÕm“BÞKbBˆjx¾ÍV¿ÜϺ’ÈØj~.ÍØûÒU×¢­Ð�;·ûÛngÜÙΠÓï,·n;ÔÍWøßZxà¿¿º¾ñíšÍ#þâ^Øú-i0ö¦Q®¾ À®Úñ´5ý츛$À'³±^C˜ÍþùªÐYö�„$N¢µFýuÊp̦î±Ãû44Ñ©p�6E;´h�1oÇ]Tô¬‘ÈXwn û 6Y‚%\%t *�‡�vŽàeÉTø¢ -[€–ï¡núà=Jób©|â+y ˆ �à(Ò�kuh„�píI½è†÷ |ž#Qí´¶Šì¸/Š Î jçæ¥6¹�¶ud�táÒÆ‘f ŸL. ù1­|õB”‰¦ -: ðDsaÖ-Âû�ïx<‰våàù ®#ò³Ùè¾RXÝ‹þýƳ`¿¸¿…ÿNÓ¿‰.[Lz½‡‚5álD7NC—,…ˆ s¯ý4§‚bcG[ø™¢ê5º¥ü’;gÉa éžc„ ¿«EP¸÷v®¶´*»zjt5óÓëì“êH}ünûáÝ?÷Σ¿Á -°gˆ@3š-† + „vµcRDB××ø¢À›`©@Í›Å1™™ñ¢ªÍXñú6· aš¨jÃAÉ4ßAC=ÉUAŽò2Z/–'†ãÙ„Jgˬ -($Ã`¸…�\OYÁ«‚X™ÌÌ)ô.fÅõš3|ÍB2ÇaàUq"5ATIÌ/V«ÄwàE)ìtè?E„¾¸>„±ô†tÒ6—ˆ@^Ã(ïà¶z,ǹC^Ÿ@¿—`Þ{ݸ¶âÙ®ïÏ>0•9¡&¸!üØž -ûKPÐ.½k—> -‹—,ÆØ|^°DJÕˆ ÈBAX}zâ?ß=�­ûæO¹´÷ÈRSx}Rýß»&Fa;àžÄé:Ú™:ùpìª{UÐ Ô0�š¶Q¢@ì4@Ú<ˆ¾Ïÿ¼ƒ}¾wváà¿§Pܬù6 ¤@…àé³gOy®�Ï?¥[pL@ €3 2ÞpjÊ‹óÓCº›¡ÃÇg§g�‘‡±Q(N8<<¡¨ ÈIºt}åµd×�.³¾éí3[×ø¢@N'˜˜ô˜üìš[ m›}Jn©�©ã„LaFkñtNiL’äà:ò�‘GPävTÈVŽEå¼}| RNÂé�Ùç”±wR¾×JŠV€Ô¥N:1J¾IjÛ!øœÛ©¼ÇÀ£€Ý,€8v>Üè� ×²ùÒaÔ6«ˆ~d¨ôh€þ"ø¯úÔ(9êÛ}|á12Ôá>ùßVokD(íg°à¥éF+@38ß})*êC -*Îî£{B¥«À"5Dx°¬3Õlr?eˆ�hºÜ,ôW!¬p;ÞpÜ9[^ŒA~ï¼>í4Þè�‚ 8ìLã8qÚ�R@Ê¢2¥x›Ï|±ÏB)`â”ýBCrŒ~©`¶¸oYz -¶º(ŒÈÈ.¤+L‚<Ž]mp‘‚<î|²âƒ››µX9H1)ˆÏ©†þí2}u¼; ;‚dSAæI<Í©  Â’Q‘-äB™&\×∠ɤâ„»ÌÕ>�ãÈ õ�yÕü -ûÛ·¨,; Ñ{ZãM>À ðšÆÚatQ|bPM3-"LTiú×þø$p™ôàÛà?¡Òøî.å>ÇgˆFfY}~Õnrý<"@_�ZQ—~R�>R@÷¹lÈ:ûo<½¬ÿ—PÛ šè Y$+Ãz`Ê‹pÂc­.ðäÙ³'çÇÓ³'O« rÓû‡§<ÿ'§\tº‚“ÓS\8†«pzz�(qz”—*¸@›ˆpqŽG>¿ê8«7Ì–NìõW¬ž¶JHaEëÐän+W�0>ä¹:ÏA1ð2²Ó¶‡MR|‚JéJðŒ”¨É† Hºå:YÝT×ïi6®HYãÎk‹ CJdIðÖ�; mÖôJñ–PØV1ùÞ@]up EÙ—ýŸn¯¾;BÜX¡N &1úkIÕ�˜ :Ì«ú¤ J/$RéÈ=ŠÄx0§ÒJIßïêëh8´�zƒæéÈ~p§ßã‚oucè¡9G9ƒw”H:&zà,y}#íÅQìƒ[ÄEX"EGVï^J‘Э5¦ô(Ü�àTA„šì*é0�‡qAX>à�̤æFß¹¿‰Hß -‡– -C -äÀÑ ìpSnõHÌuh`!äI«N¹•„Ë÷Qõ)B @Ⱦ¬`ØCû× pÿ]°’tÔs ~ï}Er·>䵿dÐLߺàn@õ5{ m²²˜9€ï~w«kID¤ºL¯Â€Ÿ‹67[Ê ~O¬ãþ§”@�P7s€g®“éjôÎøŸ—è²"È©ÜT—0MãUáoO^I´Ñ[¹©iÀδꈣÑa—4N€E�r­=4�]ü ×ËèðU7œºPÀl6÷=X.`$\æºÔê½ Ò¿sÿƒ "âD1ª²Ç3˜%D�à<‹Æ›_·@ž9N ò|ïωœº0FÊQˆCÚœÏÀ­;J“^� ?W®Ò@‘£Ñ|šH¤)G1fÜ3¸¾ï(·Ñ¯,ŽÑÿ¹Í÷]‘!ë*äR¼dÙçÂöG÷/€˜ŽZ¯…þÊGr)M‰¿£›£k}¾¯ ýR³¡š`.ÈjÊßvgÛ´ ¢Ò_û¹÷}¥Š»Í ûˆäõ«¯¤@˜TÛíÙüo ÂŒÎs°²o-ÇÇJ¸æç÷À ëì| -øéøÈ&—p5p?ŠáŽ,::~Eàñ-ç±<¹ c8{ü$€þ݃£%ÿ“Xú‡'Ô®ïÁE&Dš�9½�OÎ;îpëƒEy毧·-F‰W‚`C®—Zø™¨ÓÐZ Ý6û”lÊ–µŽ2E²W|�221/¥ê_ ÐÓ¦ò–%Eu¹«,÷¦Î&§’€+( €ñ]Ê}J†Ü¨ø'Ié�ˆ´¬ÎØoP”ãaÎÉTX–fÉÔdm|yT»îW7“uKÂ7Ñ{» -z’ö=È¡1½Þ -Ís@_@/3ö‡}_èœa˜%pØŠ·ìBGN8"Úÿ¦§¯é© ^Cd‰q{Ô3±ÅуQ-X©k ·W ì§fÑÝ •&i -bw‹Þ޳„#TÃ;ýaT¶9ë° >ò4a5Ë¥P™ý%à.!p%›9¼™šã‰°¸ª8®!ÜqDh‹î5*Ôýl‡^z`…ÕÊtÙÀÓ[ÚöÊ /™`‡îuôÚYR�˜}!À3Àž@z[5$¨áÿ÷[òí!ž,yŒÓÁªð§Itßö¶—)õ@f¿žÀœ€ÆË|$S€I“M½øÆIsB”гa—sWã”6ËBü¦�²çÀ:pŸvàúÀb¥èØï‡ùºmÜTöü/ÄšÞµûþð¡r>!lM¦G.¹£Ÿßxéê;ÎÔGH5Ñö•ìþV³q]Ü! Ë q2í¥©uK¹b‡¥{/¸&RûÈ6ðPkæóÚUÖ'sØ‚«9±F;VŸdú�L›Ø¢ƒ@YàÒ¶4Î͘ÎgSYÎýT”¡6s$f“ƒáÆrÁa-wTZÞÜ®ÉDò:ݨT�¿ƒÿ»â²¦¦«ÐzûîΠ)\ëº5ä/øoÔ|2’üï,¶Wâ¶hÿâ'Ê¿€åî( ßá´P]¨·L~ߧÃ쒖MXVKöÈÃû—ö~£NGè>; €Û¬н P€üyד׮Äü;µïä,^Ae8Ahyòô±€Ú}çðQ,'gO.Nކ±\ œž?y|Ž42ä>Ty\N/ž}rqzT÷,ÆÑ¥îýu”5ÅøÙ™ŠMW-•ª…=4Um¶”Š’(‡†’±N»ÙKÖ>‰øv§®!zÖ¶µÞB\+O¶Ä\SB²…ÈÕ ±$3i -HÐm·i �‹ ÿFݪ—¥êäaƒ†:P›$RS²gÉÖÊ1˜ïMT÷Âr”möŠß¹bÿ�²Ú ý© eÿÒs c™Ú€¶(Â¥»ƒ{„cn¹Õブô=jÔš/´?*)»Ý72d MW¤<‹CƒÞä¿­HQ€wQ€ZÃZÀø¢r+)ì[ÔûÑóÏN@ž iYÔ驃œZÒ54dü]ñ@äµÛ´@ ŽÂ_#©zä÷ûGFX`,?Yj€œS,@ðæ”À9çd£è›‹â‰àÎrºªi”µò¨!žÈ[mÒû.€½Yæì÷âÂó©ûûð_±Ä�Ÿ>“nºIýŽÔ^xP=ãz´öâð*%]n Ð }…@?ÂêØë%À#Íì`0%ð� ]ÎÊO—è«NøW�å4 D‰†4ßá|:U8@eW²u»ó·ù|îi¶þKƒÑÁ´Í ­O¦�\à°ýçøeBz0,òŽäÕxµ˜ñ�Àý�ëæ-„J¯ª’…æŠ-„Ò(ÝÍ@ˆ¢)^VJ>ÎHh†®Ó˜Él¾\��Žx‡Gò‚àÂ#;Çtî‚=en†.MŽŸ-ÝÖÂ�bÑ|®.#¨Ê+-QÿFçãI‚€ 3᚟¢�szµ¬‹kî¥åÊâPCýüigyÕîåOá?:,migH ôÚ+fв4Š­fçÖRʰõ¿üI�êÿ—¨aç>�yÿ•YEÐ-€Å÷èÉ�œ%Ñ=?-ûÕ}QCý-E]‘½­ U^:> ÖßD^¿×JåqýßRJKyöЀg'‡GçÏb`sl—}p0|XMþg µ@çOžœ?<†áFG‡GZ?<:é0nS—ùŸŒô l‰úÇ€;¢È ëñd±ôu€Ú�EÂzÆäk=ßqMüÄ5tЫ#¶¬ï�äš`:’AIœöuèá}k�ŽÔÖ'YÑP¨¶ÚÕdåRE½ÐïO·ƒw†ÓÙì>ÒO�ö -�œpÛŸÑ8Õÿyi¼ãÙpäúÂrEy%-qo8\SÉz6—ë¥sþ¹«ÿ‡9®j1X; Àn€Ón%À {Ó‡;Åu gy¡Ö�¢jŸò²¸�ø®ðôÙ“³££³'O{7ú*üÀÓ‹“ãfP ÓÅÓb¢´úøÙ'OÈë¢ÜçÞíïÒÉêù ®Ûj°7°OHÏ îd|x= »dÎ&Ñ�’¡N‘ÜmåªƇì±ì­‡8Dœ•ÖΔÕ©›ÈÛR‰»„ÙßúÎuøßQo" Ò{–`â(@08F€`��'î¹WÏW½¦Ž×$s@BJ¾$ì[Btw1ÿ-êBj¼‘Ê€ý¦€nðosgˆêM¡ o®¨, -¨çpEX #÷œŠÜqÐ „âp�€êS¼I.ù(ÀÞmd‘ÊY—ÖÓv¯XGŒÒù/h.ú#íï[|‡Ÿ�¦”ܽÎàðÞÝÈnæÈ£Ls1œIi=�ù—)õ¼ÜP"@3Üh ˜¥ö†“,pÇ{UR€ç¾»öþf©²l™ã‰Ì|L¼‡=­åÀ ­v:žróÀ�&Ø®uX-òOõO‘|<Í”2lèlm¢àd³`3‹e{¾-],w¥á¾2IÐБ �€+XúWãå-z2!Ýj¾¼?º¿YÏ\¤P‘€JÔÉøþÌ7çJzÜrW†A�¼h׿´¼ š³ƒG”zk—àÚ¹ecÅÿáÒ¦Ï5ÛkôFóÕ@†bÀçv‰är1žÏœÐhù}¯Á%Š]™8W4A6ÈU!l€¨®c¶è„ƒý×þ;·OHo¸ß}@ñœvx€¶B¢UE&¥-_ã @ôù+s‚ÀÂHPý¥‚QÕA°ÀðŠˆâ(v°ãuHºÞ;öªÖ} À�; åD{ V € š »}Tw -e ›¤qÉ À›»I £*}o¡þo-zߥH®'ÙàÏ#nXó8²¸”ç&VŒp§ôÑß àûŠàöM®T·H€ u¶u”ȲµP“qýkl'âÿyŒ¾Þ?dßüG7‹‰T ]M£zô2PO°_ÚJò¿}÷•€¢üÁ׸ `4ïD€¬`(4_l@Ý•/ÃW -˜‘Æh6Ë 0;^l–“)�(†Î}ç/à4ÒÁ ðän©QëÈfÉ­ã¦ùרìC·‡cÞDm°UB(å 1(œÍ'G+íý›¼/:»¯Ññ׫Õj¾X®Æ3_ù'¬Îä>ÌÉ`¬Ùe6Y‘œý‰aµ}7\°ðë‚Wî#¸\À.e,׫Ñęʾ6˜¢ú:Åá@ËàÍÝôç¸ïì~/Äyüx‚Ç<¯4’´^Dƒ•« Þ2‹ÏN)„ýR&fcJ_+ip3½Lä° Îr±^ŒG÷ý›ôlP2(è—¬: z™€ø«€ƒïÓꂼ; €V©›}L¾„çû>\`"Lܽƒï§œæç²÷áåõ•€˜ôyÊ1Þƒ+ Ç ûŽd9 îíân"�Z! >; €_ÜX´Ä�†/AZÜoÛ­ ±ᤠ;–«“že§tJ±¢@OžK02ð?ÎÔá®'³çèþ^$òÃí_ø¿¾?Zn¼Ñ§%�ï[‘Ú-3âÈ'®ük -™ tUà¥ãÊ‚ò[7s:MÇ ' ‡Šu"î¶E[9íÉf4^;ZÁ½¢zC.äÞ�ÚßMžóÇ(ÂŒ•´l,Ñÿ׋Ù;‹Íšû¬û€¬4 À›?º*蘗¯Ÿý‰â¥xsÜùЬcš-²¿d¨Y{ë$kZ�[Ky™àûßç<øo­; -6_&PtëPcgÇ!0Š@KX&xü ¹\û‰yÀùtÂ~GMu‡(À7çfj*}K-OÅ€MŽÝ= ^åùΠm�­Å[ÜhÐ’þòô—OÎŽO/ž"¥Ç -B@ì� :RuP@bȦ¤p†Tqúô“ß:|0¼§@ó Heá}/Ú vaá§A�¸j[4Èïª ÉDØŠNþê€×¤â†â†²­òö~l«2Cm›kLÖ$—bG�Ñ\zÑwnõŠõüZ):ÿKnSwHGº¸Ñ…j�!e¨râ¥Ô•ïVVä'-ìfõ{11‚ÏZ4tJZ”`«ý _Ëÿ®^‹È=¼íYl¼ÁÐõØüRµ€¨÷Ͱï @¤ÎìYº!€k|†ÆPÃ%7¦ó -ÉV€É¸q±ô&<9aVŒkTuI0DB¹Ø<�ð2 @€=‹Õ…�ÛüﯠÆU À± Ð}‰ôt°O @ƒeE]UšÄ;Áƒï—Ájù´|¿^¬@zÕ= @+ -Jß½£tà­'~…@*@�8tÅ -æMÖ™_7Y®gN¨;Ù8AÞ€ÙÔ¥@él:#³¼ ÐG!výšÇ\Ñ@|t�}þ0¥Iþ'¡sBË`ÇdË1]„W|ߨ4ñ#Tè °ßØj`á[ùçë5ÌÁc~&e·˜…k4hß¾ŒÂ5’鸜Õf1Z€ÂŽÁ;0qÙ -®�bù•@×%¡9ÂÇbF¯Æèäº佄°œ«…q§*Èãû\ÏŒfU€ƒcÅa›/ÍÅÁDP€!�#ÞpN çó•/X¢4¹Vx!Õfµ¹×\µ6Å…ÔWð�tÝ#Z™Sý]ònö‚ۨ߶mpÏÐ{¹Gø2žßä äG¶XjÀaŸî~ß"|ºßÁ]]ø÷?®ë#ÞëÝ�¹?”%³Ë / ˜�¤KŠþJ_KÝØ€è¼ý\¶ì­8wT!áº}k7<¼W€­@èÒІž>}蟺 ôôâ,ãý3æ¿Î€z^n¸}Ù /èrŠä‘_¶‘; . ×[ög4€ò&ð–6êîf8ª é‘p/Z¸%/Ú4þÕ·YøEír1@ú º½ïû¹ÛàÿTëf‘«Ÿå_¬jð¯øÐ:Zí ‰*Òá+�:ù21#àÔ‰×ÎÙËÍf  ®'®¦ v‚üd²&óÕd¶BI]Œ×ëù| -M§�ÐŒ(hÌöˆF£;0ãf9£–�9ãÞ¤qT°ê²[ÉâþÒW9| j ÝóÙFŒŒÄ©PºB§÷¼B‰<Ž}0¢Ëì9\s -B �f4§ÏÖ •X*"—™c; ZŠLx|¡1'äÄÎ(qäuþdC°pöMJ€*ïs}¬( €“n]±XBÐÓö•Î#Œçz8r¿ëš\Äl±˜L¦Ï)}Ê�µn„©Ùιh½[6‘Ì�H¼!PàŸĬ†¯E®]mÂÉ€.ÕÇGýn Ò#WÒh"“~ƒw¤0EŽÒBýy¦,&|Q¸›7û5>v´Eþî©ø×@“\53cNt¯á‚©²@?0¢Å_Ù·b]S§£nÈžì­àå†Äûn»GhÔ{Å´¦´|5ÜÓ ñŸüë“g§GÃ㋈Ožœ9ÞO1½ƒXÿŸœò$=D8?=?ò´ÖÐöŸ.E‘âüâ“ß>þ0Þ†äæ¾iðž¿‚:4W£Õ&ôâ,€ S³ä�dêªÄràén›½)*¥¡W›Ô±ƒ$öÛð˨ÒYq•!Ud˜p[¼µØVÙ6PQ^D‚µ‘ÌÖ‚!�¾%ÊÛa€S|sí>»ö÷�—¢o‰~¯|-¥ü*œr,Ù®ðe4µ£Œ.‘Ñÿé,• -8 ?Á°[sÑàÃΫ �W°‚Wø¤~�}-‚j‚Âk �Sök}vN€ˆJjΔª€šÜ/ùy¥kf4¹ô BŒ¬qKÂÝÎÀó¯²ð »gà·õ¸ü.®áºYÔDAt÷×ÙþR7{]oð_Ènðà`ÏÀ@¡í4@³”@«IçºgH„�¯Ñßnø5,…¢›#AMì”.YT¢7¿^¯Wà�TñD{u|ZDžÏÖ³Ñb9‰7�ît�4w�‘S×ÌA—\I°ÑdÚø�ظÝÒWÎ&Ž$6Ò­m2] øãÅúÁr�0B‡11Ÿãµsú8ëyÐq”×ãêˆ.m.”}Ò-7¿Þ<_-gŵ"À\ýÚTb¹v‹¸Ûïa3�j©7<Œ霿pøaÁ¡Ÿªâ»&‘*>Ê÷!ˆKTZ¬×³œváAÎÕ=NtÜ¡%Ýy«‡°^S_ �b�!ÖÜkØ�*^, ôãµV/nÅ×ËÙPS×MkáÄÿË­,ë¨÷G "ê|³Ä@@S)ßR“Üäà@Z)áfþß¼€�”¸àåðÑÚ'Nj€ ~õÝ!>Ák‡.Ïðñˆ Fü·ø¾'´ク'MŽÊ°>; €Ûí:Áø|*TÄÞ`;tÀ»`¹¡V`3'×Zòµèè#cœ×ˆÀÓóã£aÕpäûj8×pxüpkp€K€“£“§Ï>¹x¨0, @ @¤®W�p*c+¾`($ë‚„ƒÃÙï&Ñ� Ö¡ÉÝV®:a|ÈsuÞ¯¢”%›)h[s׎êSÇf)r_ñ -Þ[l…j_” ³®Ž)â¾ó�;Þ–œïò5! v‰ª<žJ¨¢ºRn"“˜%[÷âîKåA[)Hk'é ©àŸŸN`%È¢ŠiÚê º(·Õ÷R¢Ë%›èýWó`·g0I³¼Ê@#ˆÚ,Æ�=,X |àî�ÁîÔXœYâಀX¯£ÊàpN—äÒ:òÑ|öfp‡÷ÖàÆ½h8àrPö‰Gß!¾gÇöŽü|°·ux5]`á_Y@g·`ëVÿv­}k?®´ýíêHj(òõ$fî‰ûF€�€ðh ”¢sÎV(µ+ IS»'ĵîår²\Œ–«åh…&+þ7$EyüPgæŒÜOgc=WhšQ€È ÿ• ø?h1hÁÅé„*©v½™ ‡Ga/ìrk -×"ÏÑJëül!˜»P�,QrÉx=ÛüúƒOø1Ú9�®9Aƈ-³Õrµ=x°GÑH” ×÷á{ጿþX7ä‘…ºŸ‚F¶“Ùx_Ž�Òp€€@4\#/L,g÷7¾a€öÊ3Ë-í Î|`nÝôǃát¹˜¯´sPg œ¹úÍfñœ‹™ôG“•/3V4Ñï6­‡ÿe9Ú,VºÊ,;--IŠ÷)†ý­À{ñxk¸´@Yl?¯= `o€HiuiæP,zêôwϘ=ê}?M?Yå¦vÔ©Ý&è|š Ä�€L¸ËS‡ÿD‰óf�ô¨€Ê‘[DÖ8Ûiðb·Ô  ÷K@ØT¡eL€Ø¦0Jó­à ¾›§ç‡'gñxúTs¿õŽj-`_ ÀÁðXÕÉÁ•IóãÀ'ÏŸ”  ÞØîìË©ƒ!‚¾+¡kf˜¬YŒ ö›0@\%Ô6{S$cËZÇ ™‚Ì©%eyª…^N&K6© †êDí-« vñûßœÙBDzÔŽ (üøéÈTLjÍaå�™ð‘_åwW¿* ‘¯A&´Ž8¾„D$¾t–ô¤ý‘ó�abôༀøJ“Ti ˜´97íwx …äu| -åö,Qï›l÷dàü¦°ðxÉ ¶>{cÞ"ãk®@N 8“Çêþt¬QÕ5Àõ€›f8ªRÀŽœ±7 €ò›À[u0\g ¢ËSžtþøÃXµD™üÛÛº‰útp÷L×càßßÙ)=ÁéþJ€É·gÈJ€Þ ÛÒ-{ùtñÑÂB$“ò7_K‹û= X|aFç—ëÿã×jÒëÙp þ‰›±@HFõGãÕr9wb| _èÌï�G÷— - «ø`Y·Î«þ†#þ/ à_P3ç;šj8X/|°Y£ä#é�‚” -ÁHAßYð®õ³ž�€d1ÙAqHô¤¦Õú׿^üáz= ÐʶnQ`;bËýõE;ª¿6x¹w�ƒñr9�Œãå"e»`ψ èÿ6 D R¯F}€ºo‹õ‚¨w>~�d -H„Z.¼Üß! É1Ä;ƒá|<ðFZ¢¶\pØøõ´Ÿ,§ý)÷QýÖ´ö§bnóh¶r±À WþGMû÷ØÆ´%šÃÖÙP˜Ú·(…ÒTÊ`s|™D¸Yíù$_Z©D˜(³%»d³Ü£X*g°¿Hh.8OˆÍ¾ß|¶€¬Ð ÀÞ€€Ÿw˜ÅØm9Úß—Œn -{)Ù—Öð’Ü·ýø7êÞ;x;ÈbâI"%£²Ÿ¢ÿ¡'hýÃ#}.žøbWós& �þä"°uÛ,€� ÛÜYâ  ì¹Æ×^ ßÿŸˆCÔÙúìfl× Ò[þr|ÙÀ áInª#­Zx˜u´¿ÑÊÊ3+r@H¿£‚ú4=èó: @׫ҾÜÙ—«µuô]»^©Ûwé_ê€Î´ß@Fq)ÑZÕñlýëÍ tíÉбj±v¬��Ujôçå °t¼\¬³¤£Ùøþx6|g<LæÓxÙÍ@® ÿÿS7ùao�i€ÃáØ—÷?p*Þ J?Ø,דLੌœü'qÞÀ¸D°\‘Ú!òñd±qÒßx¹ú5ŠòŽûृp½�U¤ðR‘a1¸ºg(-¯a)náÀ`5C@XPx$“ÅzùÁ~œ8_M´d}À>7kœÑ�û‹5RÂB @¿îCæ¹ ´´Èç':¸ ûŸ£%\xÄ­ár¶ù–‰íÏ〠AÉKç8Èêl¾X �zêòÇp`ÓØ\*AkNm-µ ŽëPˆKSá×Y\7ð€W|á]%}–° ↚R2nG:8ö•¯"@BMïÏ'!(h~ÉP e•€$° …š*Æ÷4¨?¬wìíÛÏ�H íùµâ¬È:<äçgx�M}Z<�ÞÁðÞ=æýù –Ñ,G)LE^õz,À£Þ»ÀÓg¾ XqB@ ÝxOÜá1݆ø¯ ¦î$‚Ož=»8µªæðÚ€Œ@e(°xù,~&Ò@&�¸Jè ̈ü -sŒ©ã„L‘ìßN½ª?X¾YÎæhñ›9 /›ÚÞM�lQ&*ü½0 ÀO³`á÷* @B v!S˜ÑZRÖR+X4ï‚!öVWQ–½=‘ZÛ‰Ó•�O¾] ¡–¢Ñ� a?v›²†sü èW¿ûÕ¯~õÇ?&¯$o�lvI¬ý(©1òÆÜô‡¾·´ÿ¿ê:¤¥0¥ÎìY^æ@÷’@œ¥-mÀU @ªº$xþ -(`GÞº2 àv,θÎÐèòDÀ_ø× p7 °€ß¡YT¤¢S=€Žª.œ¨ÿó¨ïû¤Wõï7üöÛ½K@| -ÒÓßEåó7•”¿úZcµ4_€HÒ#¢;#Xî¬~½Vï]¹¤ÎlŽz.þsvÍN™ h8Ÿ¯]¼ž8güOFGfýá¸ß'¡å9¢°­ï;‘…û¤àO=\…±uPzEÄröàÁƒû€mßé{S@/u­�Bkm°¶FöX‘|�@'Üdõ_X ˆLýìÞ+È‹ÝéÖðªwëut@Y®óð[€ò¸: €2-àz @@íª@Ùÿ}ö· ÑK¢—¥o¶“l] Š½™2}›ø¿oФjG]²€+¦]´O:x_Èž!_ð®~IË ²ø~¹è¸�€`U)—³Ÿ›`…ê½Øüz3^ìà8˜¥Ê¬S`M¶C´GË�«®Aµ…h®(ئɓ‘´¨žn4\—ìèÐø€¸�6sÈFñÛÀÚz±Ü4—×°¸!£hnPYÌÕÊÒ´Ø>ýyÆê¨«f_¤T¡P!_ù†¿K€F7Y¶>]R•ñˆ нKEtÔ䀌G@tu�4 -;? -89=”ói»Ý§¾ÛOYxî¸KMiÂu„€ ¿ÏµÓ� ÿu8:n‚Яž lB�D…»×óèf E»³ìûl‡ÌriÀµ€Ü•ÁàÒ²¾<òÍ�YöŽ<€±(l-bÿYLÿôl1Ó]¦�U§ª¥s½ìø–èrtÁšJ‹¨ð - €v,.[Žæqtw¨|9™ÏW›Û<_>_¯&ÃÙfÞp*Kê¯\‰ÆAi }€z D­ç£õb®Ç4Žv>ó¥þC0ôRÅO €û¬m©þï9°?êû®!˜›É|¸é\‡2<™£§ƒy³•NËçºÀ–šÜUÜW.ë»YmœÔ—«ù—›[ÿzµÙÌGC~®³Â2’ÂÆ×ðÁõd9¿³AyŸ?XÏUܹü r_¡¶–„Ãøx¾/½ØlнóV�¥€åœ„3¤ÙFÈ„½Åð=s‰@A;ƒcnÇŠV–±Ú“K̹a+®Æ›½žé‰(4Yÿúƒ�Ñ£þz»Ê_+§¬GT;ãÏf÷Gÿ¼Ys‘ ¸f¯2•ð/þÏf uû@Mï§ULƒÆï5+FP(¥ýð°_±åf´+.Ô|Rt𿓘ÊVKù >®hRÑW¡ä/êÀ¾)ûî»ëb"$” `gnÊÔTþNß϶¾í7<¸;Œa§Û•X?e€øG(Uàèøü±G�;€^g8¥§ nX‡ôÎ8žä.h0ëÙÉÑñãß>;oþ’²´ûZ@šÅæ×µdc¼›D7J†:Er·•«N_T~+ê 9[7è"[%û‘ÛT»H7­ sö(g’¬%q#m£wQ߈Þ{ïw�àF  %ý[‘P¿�@³ˆq/õC¯õ žWY.ùì,)µ€ò¸: RÀ_ã]ñ@ÔájËàÊ,2ðÀÞ`8°nè_Pý×þ·�À&+®©í9‹ýSñ ÿŸ><&¼·€=ªøßù ¶ÕUd·ÍW�ÂÁyÀÓ¿¤�ƺ þ+,PÛ3ìßl£Hhžs1wõk‘pµ^Ù?—TôAÁJ&ù‚§ ΗkTìdÚdzÅè�ñzþ;ýhÆ <0·™ ×ãwDt~p¯?ZŒòÒýÙ0½ÝøÁbóÏ`ëd8˜QùjX#Ì7ÚV(ä õàõB&9'¬‚·ˆóÕ|õëõs!v£ØBV=úÁR”깆]àÚS”1Yo–ó¹k/¬ï�p“I|�0¤ß,G¿^ol6^±oܾ¾GX,Ø Œß_ÌH³X8÷é N¹ÁãÙh‰à%§…ܟ͉pÀrI­£)Õ Á*Ú å#t­ã 0!h‰DC•1uŒGëßXÿjåB†.Y4@¦ý•Uî/·øß‰–!Ñ y Z·›Š¥í[4ã_; <“µD€í»ïhïq'Hûôgy‚âNŒv+¥Ä‘¿¾–Aá`r÷ñ ½Ü€@Òñ»Æ G€V\�HÁÙ�>:{ÓÝ…ðηì¶Áí·Nôâ þkHôUÿ#ð‰à4€È�]ìßµ€•raZPù«¿àzz\ÊÿÙi,ÝB@Ú¸Þó‹‡GÇOž!pJ.òôF“kP ð÷Šuèè: €"€§»möf¨Œ•µŽ2E²çÀߎ®±;¼¦ì.Š}‚ûI o™Þ?шËJüöÔ~øÛÑ»ï¿_Àn�Zº¿!iسüýߢ)µ³PÃ%€¨ÞÂñM€ðL‰ -Vî8"ô* ÀM>ûë\�ð - @¼!äŽJýwNÏñ÷ÿJ±DØvÓ ¾¾Ç<äÀÿ™rŠÅÛir¥ÌC´Xw/y¢ ùßÖåËŽø-d€·^>  D ý5ªîV‚¤�&Ó Úí|�>­'°H$-ÑK¥ÍlÒ®6³û±™¸ñXHÖ…ÞWùÝ¿?žº€EOhKÙóå§ãáf9ÔãoìB¹:îõ}9žC÷]ˆ´öáÄ¥´á@!ôw»šL×®þ¿ž­uËÛ¨§ð‚Z¾.³dµVŠ5¥ÃõDY@ÆIÅI- @û�Ý : tlÖúÚ ©‚ø¥ëðŒ�$˜9‹Ùüß&£ß|º\lHÇ=Ia0éÄå,}CÀf1R\•)‘'ÄYsÄ u{Þ×Iýi'R|»�¾ÿzñO)H·ÿ5rÙH…¬3�Ãæz³As¢X fÚ-dA®×K -ÔnQtÿ>rA0·>­iA‰¯ö,m+ÍÀãk}ÈlÁìK€¾·@`ÀßÂh¤ÄɃ9vC`´•j›¸WþoW©°?7¯òu`nñ¤7‹[å_ø·vçÄê�ý]¬/œ¯@€¿·ßí ªU玶ò"LD¬hø¯ð§'xòäéùÉáÖp¤öïï°fÐaœÓ-gÀÙ‰ïl@Š¡Àó§Ï¸ôó§�ÏÊàË›àí×þ@é9ìL¯³€uœí‚„Mez7�Œn”D94Ôájn…Dÿ5èšrº(+lÁË´­<ûÝ+¼ îSxß�H ]“úMègï½ÿ^ ÿÿø§ RG-ÑߘDÂf\EÌWú|ëw¼Êàê»/"S?û†÷MíVi¿jà¨âà’ðúïHI`‚J^œ@™pÃ,€ ÿÁ i èvþ» £‚ºàß¹é0p|òÐïñÙ‰�LJû 4Hö)àò€ÆÿÌŒVúnðÿ%MÜêDwúºÕ@@‰Ü)þ¬C~]±g8Dù� ý:ÚÐ-V@«š¿à¹Y£B#Œ–€ŠÓ ÚÆÂ�-QñÇBóhŠþëéx¶µ&¾gO™`ÒÇqpD‘kíú‹O'Ó_ÏÇè´‘÷O3%iÁ:³9Œ¯—Ÿ´¨Sa3\*Ï5®�‚kGòŸ»Z�/ Ð`ú9ê»\/©Ä×¢JƒÔâ82Ä"Z8ïq1ÿt6Þüµ)B¬(©a4C‚¡%\¯]øß(o>^/׋³Q$Oi-YøÄDŠFï‡18ä|žBÚ�-•Ôdâx0˜p‰+ ±ØG¸i\sOµÇX)\gJäHSÌ}È ]6 …:=¿á¿Gößpi%@c®÷ø¾nf -`Ï  6$k5P…Ôë-Bt¯w—¯kçFžè¾ILlC?Ò/÷¨Y¡ýu*æðx7pKÝ9N5{€HZ˜ÍïX|o8_� n¿u‚],�TÈßÊÚþ?vàßy€Ñ o-å�þâìäˆÿj €Áų‹³’N´�óÙ''ÇOž<¤t%n¢€ºç¯IŠ—|^ï]ÿÌø6ÔU¸Wñ%rpWWؽ)ÙÓ»ï½×Yô@ØÚZŠ¿Ù/¾¡€ø(@öí¦Õ…×§(ò×úìÎîù� ³ö}8"qÎ_µìÏ0Ñ·z@ƒ[ xþêw\oÈmyÁpöÑùG” ø­Ê \Ûuùx×7ÓßC=óßê,>j…ÿW-⿦[ö1Ø©Ó×˯'Àðª0ïVl€Êå¸÷}ö"vjNŽ3娾é(¼„¯€«ÑüAVûA©/ÁüQ�„}@xæÌ5àv3›80ïÊñ–ù—Œ×™P?VÝÕ¦ÿiýéf¼^¡Y¸àfREEH{ÿþìþâ¸=W$ º‡kslÉAv¯ýµÔ²>ŽEÝ]Ú¥Œõ«yýùxŒ -³»¨º™¬fÿsèÍröÞ`±Y9T°Xn~³Ù _|:\}ºF*x Œ0ãÑŠMˆ ¤]Øi$<üä£.F�[M‹rHÄÆ8з¼XæÒ•J´�p£—p½™�~­àr1�ëõj4×÷ùI0W8 -BA�V[Y‚; bhgH£ÆÑ&_ô(„6"›†ÿÍ ŠvÀÖÝ(ò„Õ\ñ8DiWòÄ®k¨C�š¯J>Œ¼Æ "AêŠ[  ÃùœÝ&�®xx -¸î,µ4_Ãù -ø[pû­ý= @j/ýÅa[@œ�Q@}ßïïZ¾™ À]$€^k@±GË,€.H‹x|rttrñÉo)àìüœrå:Ó{üi<ïö¯ñ‹¾�.ä& èÇÙöÐTv5»M¢%C�"¹ÛÊU'ŒOøÿBj,uSµ ]à ¸àv ~1Ù›ÓÏÞÿ'-¡à?€F€vúïD´ÜΠùŸ®éoÿ.€W­ ˆDm7AäÒÔK(xɵX5¹½yb½Ž\51e¸Ñ@>^õ.€k-5ÁFA£x|t~A¿Gg›>’¾–®·Çæm»Î�ëúµ»ÈRÀLJ(Xirv§ö©>Kî• .Y2ËËqÈ­à»M@È¿}-iÅ¿Fh«w÷.aãð¼®ý¸V]”2¨‹(€^?^ÿfñ¬ž�–ëùäÈWÿ�f ' ep¾ñjî$¾ 7±î}D³'nZë?¿Íhó)š4Pºzuq�ýW8ÏnpŸíâþ8« pÆ‘bbQ—k¡>\çÈ)³þm¹& -pü}¼ùÍL#ýr²Ìè˜À?ì3  åMFrà•sWJ´àTüïfKG*Ö›ß Ÿÿ&îù~¼]©“òÈpÁÑÞI:YNÿ³É|Z€Eì‚ïò´7-EÝ‘†Òû¦YZ.¯ð.€{ _ËZͳšhY2 `7à8½š{Öü#Ü¢÷©C> ¡_ê‰áþ,�D!UûÊÎ>lˆ¨Ä{äá¾@°}xÏ ØšÀA6‡¿+ï×6G÷:å *¢E -á?42@ÍÈ8€ Ÿ?þ8Æ€z@¿W*¿+‡�¶k� àCú�§èQ"À9€«…äþä¿�Ç-‡±ý?¶ÈüÍjSÑÍ_6 G -ü¾�€'ÿ.d­-x íNµÐMi_RÆ7§ÿ×Ï~ö~,”€ÀÛé¿�x�/Ý Hü÷yuD¸nc®€Å½`(€š ¯nø¥*XJÔ+}¾Ý»®³XwÈî©#m}�bð1õAµ¯õÜ™²p}O³(Ð €½j�ÐÍò¸û`5ª'߇›M“Œ~éC§Âø¢ЭX¨*n e£¯þº` X -@A"ê@eÔ÷×ϧèÒ°å¹^ÍT@ëSRt]þ‡º“ÑnèFKTúõl¾™�fŸnV(êÐsÒq‰!>| ƒN̼ù‰€²ŠÓè²(ŽQ“3äD¤b½~òM½\‚Þ|,+€õdúHçzø_ÍçàjMNß4¢×ïË5'cj±ÝŒF‹˜-ŸsŸëR• Y�Î%Ú\½d¯Ù’ÈkÐ /C -9›­�)€m|v\SÔxñér««q¸ŽW¦è/üO¦£Q0n‹s÷|[L$€43ƒZs÷-´Ê›| 7ä/øï(>Uô%€ÖÆÍ–êv䃊–ÕàýÚI¹ˆ7óPˆ @"¶'íëþÿ®K!×nÈ&¼ßü݈ñn³ÙnÛw{‚jµPw‰jåJªìl”è}@á?_—DƒWx†.ÐëÅ ð�'uŸÇ¢­@½G{p ®èÀ2-P—Ì�€Ö 45ÿ¦ŸÝ„"€{z±ù¯·€Û„+W�0>qzU5í¼ŒUèfâ¶üÕéÇ?û§÷ùîÏ(àï+„¢kÁæà©8h% Ù%'äÁnÐÝo¥§¦#¯¾\´c£Ý R&ÓmRhœsÈ·zw·´4ðôwZ‘VD·àìi„€jEYc9ª9ß ¹Œ�&Gý™‰øb!|—Ð>ð‚ŒÔæ*½Dbr*Å'‹¯�šÞ2ÆZâÀ¥„—Ž€˜nõGKˆà�ˆ½[ÿ”§[· ú‹âð‘ö<;F¾>†t¶å Ш³hp5@û¼»½´Òt¨||ŒÒÃúÕ¾ßEŒè9¢�=cñ€òw_K ¼Öû«"Šn­è‘请¿Ã³Éü�l\Ïo6ŒÊß~2ê“h4ÚÌu¹›Ï§À÷\|Ó³�o4ÚöåßáÖÛlÞIãÐLÂ?W0u�ŸÑt>t•Êšèvˆ*RP¡Ne_ñh¼ZÌÆ*çc§ùåCp59ˆ£¼‚Íth¤>ƒ"|¶|Aˆt|ÀÓmFg€@¹x3–©ŒÜ±BïBÌõ8+†90ÎMq=fÒR’·Ð�ÿ�PÖòÎ(À…+n³øU™n°œ*Þ; c[ @¼µÉž¯„~¾ßåQþù§œX€ÞËž:Aþª ºXþ &RŠ•µâe˜„ÆÌ–¾£(¯÷!–ÄÅ\o\Zo²àh…¬¢ûŸ‹É¼Öçë‘3ìfÈ\°v‹µ.z"ûh"lñ:<Ùïϲpåζ÷† -Ù€/3šÎµŒ(tä¿F¢;·{"™ÀO½þ@<Ù‡ó£ÑDï ¥xËåדñÙÊ×eEf'Ž�2•`•«Ö‘’›×0$ÅÛ^ " ªúýï·cZ˜M¥ùt}Äêº5p«À%ÒÆP.gÏM8vÝZ0.磙ká ‹ç÷ÓœÄóüÞ¶N&9¼3zgüŽoÈ÷ƒ¢AIÔG¢ˆ$ õg�bX¢¶¼!€:‰~áiA4LÀ¨Yïô‘ÅÎ!Êsø\¹¦±xω&J(Ó­Âuªš-2úñcä@XŽ8ÇWág<^|°xðÁƒ– EœE¤�JM²à<¿æ ÑŸ" Æþ Íù –P0)(¨å�|+PD³(Ep‹)7\÷�Д…ŠŽ#‘Œ¦ Æm1ÒÛoƒÖ41ÛŒÇZLËG¿©ÙŠÿf- §HJtJª1gŸê­úÝ”¦�úLÜ(ˆ~è˜w°ûZ›ƒÙE/X"l}š@,ô[)J·ß§m̶܎ê„J5×&¼ïÀ¾íÜÛòk$û»wAâØ ¶C±(4 àĵ€>*CÀ‰³2pêðÝ+·ÿøxØ»{à<�³óz‹Ð™CM89öÿý­"Aº ÿ_î0wº§‚à°ïÉ/ì£úwIü§Uë_œÜn€‰ý±¼Ü ¡–¿B¦ø»éÿ²ð*êR„Ù—QNoÓ¼ºàWÑ?þ?òÓŸ¼û³÷w³ö|þôçÏþôYKø·§²€�顎ͥ4ð¡ær*°c#Zóÿ« -ƒ�vïlœÁ$¼þ±Áy3)(€‡w@}RÜaOVJæ|te1ýÚÝn j>•ˆ»]ZöÖ)H;R¡P‚bN{Ò°O‡Ç¦9¢o¥¤áAúX'î…}brN‹úÃÛÃÛHÜ”E…·ÃQÒɶ|ËŸRˆUÝÉY¢Œ†ômÔ—ÑYˆÓÁ-Å’&‰)Šv€<À>ù®ÿ••ƒå�`gØŸpzrªyïð ™g·ša+@AžÎ»H5ŽGí?zX,$ôÛþðkùO—¬Â]YÎ�¥æ `ã=TO”VÕVpMÃûd8Yq «<y³i^ªÏce¥ŠP•5;GR¢ÅZ°ž’trHÅD‹òý‚£ñ¥ ·SaL%] DFP]®¥rEwˆÀÇRî�ÇK´÷ÅÎÅc/‚¢Ö2t¹�T°&V#=59æ>©`@™#RÝGøè/À�­²CRË�&ˆØ¼ƒCänEeW4ðòŒˆ¸JsRÎ ¯ã9WóÉHíE §ùÍh¬¡"ãñŠ •-3^@ZXT¸°6¸¿¯°"üF@#°Œ›x@»$€€qéãÑîœ)R#´¢4ž -ðÌn»ªPŠ0w €FL1…@”)¨ÚNc q,nw$’�ægú±ß@ 4×ú´!À¯Ž;TW¼ ½YR–ÚdÀÄÅ âß t;ð¿à]ÚB|‹¬3u¸�”|}| —+þç¦w"@ð_ÓþùˆnG@‡÷ž>9;j@âÒpzrvvrtx·?¬—Æ àPüñO#œtö€àþ«Ëç/Ì&š~‚—÷nê¸" Ó‡ýí}ª¤¿]ªéÚjù: ]køæWòÃþø§?ùñ{ÿô³ëfhøÓgþsKû·¦ô ¨ õUg:&}Kc N7ÝM;€]WŽ ¸`§®Ž¯ä@"E¡ZüDm"…ÔPVÓÑš.œòÑ_EE>~…µCXP sä$EÃ'!)¹ %3DíNÉ#p@F¸Ð}kÒ€`�Àm½ÉàK<{w�†å„|³ÏQUªtZH©áÄñ‡zäd“ ³P­ܯ[·¨oÎ}ñ¦ÜáK -oKIDl|Ú»¯Oüc7±¨¾g¶ŽÃõ—fø4·ozŒSúë÷5¾â%PÊ–2`†Ï|Ö÷äj±r:¢é)Ü çµz +‡ÔnzŠ»OXáéF–õÊJØÿ‹.˜Câ²ü*x$ 'Ê^•Ê,TØ®\|7–öåíâGü «ÂGn�5�û”é:‹#ô˜¢‹‘/yÂ}Qb0Wø*«‹!ßz ¢c�IdtÕăÿ!pDãI³²É¤*’"yßu<[ªÝ~¾Ú¹Ž>;ÒöˆQˆ@šžƒ½LRW^áú½áÉùyäÜë(HÝÀÙ ß`€D¹ -À~A*û{G»-;ªÕ…÷Ä'¢"k“ß^dYÞŽÀ=*Ê|ÿX ““Óó³Ç@9?‘?v€Ð÷c88:¡»8={ÈUõï’] €—©íÐ[AŸ(ĸ þóп¥bñMÈÿÿe+æ°,ßt€ñ - /§–¾+|S–Ëñ7¥z]ú!À¾ {À¾àó/þ>"@4a´¢G.@¿=‚ËwPÊ(^Àõ_šï¨hô£× Š�\Ä!”†l~°Ñ|…´®§ç ~èÌÀ,‡$ÐÄî.Õ9ìà!)ÀÝ(Übprõo nQCˆì� åB¨�!E€ir+�'‘졸8B@¼cVDÉŸº8ÞÖ*Ow�P>�`²µüªÄ²¢²H∻rS› —óGè´®ýï„x0h6ÙLœ‘>/Gs⡤XÅ1øþ}�LݹÛà“·+¤€æAã:™T¶'£3«ê×"37™ñ…ê[B1ÜÑ‘r€šøx¼È«uÄ}Á„ô®QÔáT}°tJ?9µ¸ï\·šŠ²LE@8 xŠAp¨ýSÐR·d%O�J�°ÂÉMYæZ($£M²…"P"Àër:Ï×# ‹é4š#!ù 0Jÿ(‰Ë^ÂàÊ«·òÜÂ.E[„«zǯp¯À@OD£»w#XÒ‚Z;„´L¤ÉXi{X[aÖÒ<²B/‚Ci|h4©“Øíh Ƈz¹Ý(þ'�ª®úœ>~�u¢õÿ¢é¿ÙжBÃöF;°ß�¯Øí9_ýµµx�)FÀšBq?ýù4ü�U�má1êøøÂ…N�µ ².�.±ä²œÿÿì·ÏΛ ò]n½@¤¸oB×XÀ;ZE$Ü,…úÙ$º‘Á:4¹ÛÊU'<ü{Ñ«êjܼKU±üÿQ,ïýì½ëfhøà‹ÿÖ2ü-ÉNjƒô § ©<@o-HŠ„ƒ‡*,ÚîÁºBlÏgxM·4^~ø5À€ªJ+Ü)Pc@±Ö°âS8/»IcºÜy‚üiPˆf.‡–ܱB$,ǵZÖ5ˆ*Ë@Ú4H/«ò'Øœå…À-`V3ü@Ô[•Vó†i­¯*·zQßl²Ág ¿"5ÜêO†\4¬xú)P—zoé¾ý�þ  öí.v#ôöVºÖ@ÚjI�@!B´¯2"ÄÐð×›¾ýã×�è1›ý¼é´—­@ˆ(œ¾˜oèëh•ÄP×\-}m}�¨ÓQO4R“œP£àÂwÍÉl4¸&èb¢äéø÷+H[à‡œ€n ÀÅlÚ�wÀ(µ¨ÆøýÔÝÉ1Ô `¶-–‘PVà+¶1ë^®æ”Ç}C´"³"’uXünà þG -gHÈ`Ëû@ÍÔ¤U@áÁ—êX^\aTG‘Ä£ˆU±µBêð6¬²ä‹%$r™>ñ¦@Ç€_“·l-š#ôi OF€Èµ(”Uo£ÄB]®–¾‘�vx‚X܉¼/|­¯Ufþ«€/Yà^—["Å%Ðï3Rù þ\@¿0ÝmQ"¶Ïø+J¨×ùpêFDˆ `µe8Õ�Î`kH§ðäâ\ŸúÆÛG$�PîëRIÄá¹€”V—uz�€ìÓD ÎÀDl/v [þÆÀÎúé8ßmDvÊ/³@êþß|%Àñw¢«•åørd; -³/£ks}3úÞ÷Àÿ²ÿ7ù|þÅç_|ùç/Z¦¿ ùƒ!H©êÌ”g§…|8TÙq9Ó”{á·Pl‘<péÓ=×7 -AÛà¼X -tØ ›eCYïôîÜF(8ý õWSÖAR¿î"”`¬Œð­\±ÜFMåSÄU™T»”ŸÔêGVEü³ æe–¢Çú@¬Id˳ü"näR] ã-±r˜è–w/€ðO•¹#äF<ðŠl÷�›€ÛŽèôºþO w,<>Ý@gÈ3å¿-ùl Š W[­�¾>Mu¾Š €8«5ØÐ8G~4Œµ`¹Ü¥³EY2`$ÜiBŠÀ%¡Y `žŽ¸û`Ô@Ãz|ÿ½Õ÷Óðÿ$÷p²MÁøÔ;[& 5¨û‚Þâ¸@+ 'v¯ÁQ*7N¶�{sÏç¾h˜wñ¬"°G¦@D?Gó…•Qx¡)W‚îœr(¦Î'<½óUê�yÍ ¾¹v×H. ï$X�Ä}yÈ€öƒ¹Ž"ôÜ-WâU¸ .ÿÖ`¾œO•–(C/öÜÃÉdªÌÔW -™;dAôr…°ò%\$I½×̶å/ˆâ?‡“ITM°ã< JŠ%€ÿ;06ìú~šS3Ø‹&âI¾@wéLÃe ‹‰!M™æ§ AÖ $ª� .Î>,‘÷…ïÉ©Mâë}òhY{÷6ÀtxP0GXz‘þìW¨¼ÿ÷RåÒu=û ±­ ›¶Š;ç�Ë?r €zºü¿d8q0ÿì1¿ÂÿNxŠZp¨àåx_ΜóÏ0<ò=@‘š nGúä=€ÝÍåš½é½]�óºo¶Ç-ÜEäkø }ŠŒn”D94”ŒuºNüéRu×Ö�ÈÝ™›ùûëYþQý¿Y~öþ ï¸døòÏ_þùoë (b†œòÇŽ>8ø*Š% -å€ETë�q .¶nÀT½C¦ü â"¥ óÀ�7¨–‡ª­#~›Ï,-©ýZדÂÎà»§9E6s&7ç]H»Aôz*Uˆ`UD¨øC›Ý+±‰-ò¢r!s�üPßI”-ô4HA& cî3·+€cqH.­T6HIcnLÝáßh‡C:ªG9ßX"öï;6è×  #ÕžöMh÷æ�-t+tž[ -Ð~@A1#tÒ@^1(]g¸tÔ-ý_ D€Ålítö N - '}Ÿ…ßèÂ~çK'Ô‰BÁ£-þ«ÏƒUüe(ûã©«ü 2ò]÷‰Èüs´8ÁQÙŸe,5"X8ÊøÑA€0/�¸¬ÀjÆÃa|ÿÊÈïÛ‚|cÐl×¾½˜b¸ �«­Bd7…óu©ËEˆÑˆâ©¢ÅdÊs!Ê…BíæG>€=¢êZÉ®ˆaYlHìºGµÜ†ÿA®ÎkäÚi?¦øe%Ö g÷%)™‰�.ç˼^`½ˆ˜�jae«äî(QW|!½[“±ï扠n ® í)$6µàŽ4_Cªÿ/ñ­ ¥l³k�=¢YK§¶ÑªtáÈwƒñEUÊÉñC‰ó‡‡G}ËÍC¼–(°Ê„^´¥µˆ�-¥Ž ]µíç“f€}™ºôuGº}Sé÷©EìŬÃ*%(…�ÜÃXTÛƒÔÎê�@F?ÐuþÇ@ÑYÕ÷ROÔ ÿE´×ÿÓ`¢Ëî8}CÃóúVøêq¾ÛˆìÜ þß8 €_ ô¼ên¤ÚfŸô•ÚØÊ_¡Äýýè5ªkI¼”—&¿|î5 -¾‰¾÷¿ü£"@³8 ðºu¶€/¿øóßÒ¬êH>º`GÏuãS壿½[Ã[SA[W}»€<ØkÖ¾ë¢Ò8íŸ\È(ÍByàUǾ^ÀôØ¹Ž®Î@9¤‚%Û4”œ!‚ì4°—â¢ßÃŒ3WzÃáTÕ_»»ÒA~�•›1f�îH½Ó"9ˆ”âé„öynW>®`àUX\„Qæ0ÆŒHIó9oÊírp .-„õ¹´àÅGyâËÐ$ž¹t“ ÷Ö - èo¿â?}^›Øá¿ÎU‘ òÕ‡¢ÞVžÑÐ-Ÿ2h¸ê`+n?³“v’€"'ðÉ�/ï�LMæ“![Tðø¿Ò5ÀUv]|´RqLÕœìÂbA£þuâcï±m¨™|�‡¤ vò§‘޲ÛÀ,Úµ_Å€q`µQ“%PÌ â‰—CÔãèä2ƒ‚. —r.7Ú-Hš,Ì…};Št0)­½ÌùN}/䀒}Ð|6ˆ ¢ý¡ØÊ€¤À˜X÷‘Fä)5º¥¸öí~œð,9¹´È -Šª´¦’5â3@Ê2—D"î7 ¹j¾\–µaÅEsgqìA®½ÑÆz©\²·ƒLS€Àÿxx `Óš --*prê+§Š\l¢,Ø!àLÕö\ß;¨wIÚJ.µ¸³‡'§G$>ÆËÄ @)€ã¶Î‰ÓÓÓ‡®p�¶Ï›8À?<:zúiصúË߈BŸ56`køhëj ® [À˜nô_ªÒ~,”lÂú>¼7ê‚Aûý3 ÝE7¯—i?I�ÍÀ×.NŸ(F5…Þÿæ1¿�„vÕ‚CЛø …Èæû{ãxÿIggG±pKŽŽÏ.~{½ÀWÎÛ´¿¾zlxa¨N¼Ñ:Ù$ºQ2Ô)’»­\þ:TÍ™›Gãyòñ“�µ¢ AÚÂ}išžŒ&Õ·¬×AG¥µ3×P;k‚”�£蚨WÐ÷þñ‡ÿˆÐYÞu! ëghø² _ü·/[þ¿6¡ì7¨ôýêÿvLF sâe�®§ý² ÜFW0¹†ÿA ¹G€2’%X @[”tHy~!+RkvżhÝNµ7¡%³3ûA�©-È�åÕX¹åh¼ˆpÔ¸;§Ùô±ð›Ô"ß+˜8kˆ˜B›7Þ -M”ó9°òàçÅÝ©Bû”•úÓ | Ê‹Á“#"D¢zrCç®ä哾ç‚‹ÝNÜëàg€Üò‹ ­°“š(à“û¶Ù}zÑþ+h¡íÙ†H\y÷È£î瀳ÿˆ!TÑz>Y‰¼óÙ£ÑàÿÁk‰–¼š qz°ºÈØM�¢Qùµéiï¨Òt2qN87¡UçNEÖ E\µáLôh³~8š€‹S~ËVAa5 ÀjŽçš*̳r’¬›�ã¹c°X—ƒà"ʮԓͼZ¸׊ ¡ø0Ä=¹d†Ü–Z™åme²Mú–"‘Zr#BÚí¹òñx„0UoçdY -øåªifzêsœ²B\Jœ4Ä3¡ø·ïµ*?ÿÀR›E—)\'ìªËñQ]TÌ�ÓMBt�;ø5Îañü¡À©Oø¾ €!(>iÎ*iHØnðMÓLŠ)¥ ®:c­›n ŠêHà€ >Ô�Õ½e $çÅ“'çGG²…‹Ë¨¿ÿÝböË}ºYb¡ß¤€šD©÷gÀ‘G?ãÝ èÁt;Çݶ¨ÛqÔ"è€ù¬Àµ#@í,‚ÔNß³/ð¥ ÙœˆfÀ•ÅáÈi€ö7 @õ"î¼<Ë¡°³f°`û‰²4 ÝŠ+¨l¡ýãô:&Œæ��ôíÛÞ‚}°sç°gP(|Ü¢¤ý%—±ÉÑ…þ -¤¬Tôä -qw|w«u[gíºƒ„‹ºN´;ï‰ìö�¶ñ &9´+èÍè{¢¿Ô|ÞÿÚw\±|ñÅW_ñmeü5)@ÖHX®˜¤%j™{€àÎ=?ŒÍ½ïäûx»’jÿZü5ÿ+´”nT©…NpÀ¾5¼ƒÊOü­;#hàogCr®O©1î»�¶Ôõ-iÈÙ“³,¥swПÙÿ1”ƒo†–”�pïöï(( pæ8àRA{ß{L��ä‡AZJdEºÕWy +á�³MŠ*ò¹Ý~³úGY"° yæ|PC(݄ݡ]l=Û; @µÓï$³ùoë÷Sê~u¾ÊóÌÁÖpµÕzÜ~ Ìn`±ØøÒ\!s=›< -d�r~5s°»`DZö ý”|g¾'–h¢@4qZ©¨4uªð/^Úfôßv"”Þ[ò¨M ¾Þ¶\�X °ÚÒuÖƒA6úùÌCÔûš; ;‹A 8 spž™~&7lî±™…øl|óh�º]hê’�.7„ Ðw-þÙÎÆ™(P%è@h5ŒÁxdn‹fGMÊ w ²š‚�Ã\$—Ùëi °|Iñ„�6îéh>�|ÁÏùV×.g8^zI­aÇ·‘w'–èFxÐð<éðÿüÃ&8¯Dò´ÀšÏòÒi—ñ)O>ˆ[1ÐtOO»ž·´bƒÅ%–Ò‰9�Uèa@R há”(„•¤�¹ìfÉ‘9Ž#|æn S±üçú„\3 €ôf1RÊ®… ¬×l)G Õ/¡;Þî·Ÿú¯@ÓÞí¼÷†(*ø__îJžj—.È à¾üðϱrÚÙÉ!݇V×àüñ¡ÖW-0t®ðÑùö€…�?Öèåµ»(pÅïâ»ô'ªúV;ç/‹ö]L-Hžìþ*ë$yÛµãoM¶6››íYÐúä‚�¤¥÷âÀ«o�Ÿç GEµŠj×%Vøuè[^ƒà�°³üìÝkßÐYþ›>З_~õåWÿ) •ó×¢†PE"ÈG¯TÐØ¬ö½b¢¯¾à@\n©~¢b�†w"�¢ÀóŽ l†Ò®o÷œnw§pUˆ4Z$w$]×£,�Làî½ñ"'ø”uÑS*(;@CðÛÅ "í[Öj½ù!#ƒe/•Y»™„jƒ¡ÔØvØKoA½}M]Ný¾+˜j“ݯS!+½Õd¡0Cꪉº«©úº¢¼ (Ýån@ŒuÑÙ÷fd`¿±ÎÒgd€ío'�VÃ%cróè`«Pøï9%ï˯!�º@ÃÕ-‰&Êqš“H1G �õ—óGkàÍwѵ“º§»(ÝZ85§¿8ž‚fÑfA%§Äg�ú`¥ƒܨA¿Æ�Tª‡¢-Ïן3Þ)á S©¡•-**Œ'ºó» -ïjö|®æ °4�±ËûOV“>ûuÌþËÂÏ\£+“ -Q�q=TK ¶ìà78–£àsÕ†zûÃà„ò’IQH%MP¾Šs+Fcm PŸxÚ¨–€ròSµÏÄ,d`>éOç±7()ayáZùB®ËSS–¹Jq^¨xYÌÿµ{L$€¨ÞmGº´iòã €–€8ë¯C”¼_@ø±éBAüÊx&þÛO¶i—ô{HÀ’G Fi5qkÓN`ƪÓ,™þÞ,–xò• à¤áôË} à÷×ðŠ®øþ—Öß—Y`G Ô/}»ÝÞa÷ëb.YºYePknKeûÈ‹Á?ʽ`û}wðîm³¹2¢¤ÜÏ¥=Ì4@R˧ -?…�?ùío[ïH¹0î’Zn7x^ ¤gÛ¢¶ÇÝ&Ÿ¶iÁmo‘>èÜùÐÑÅð f|kJãSX:¿øXë£hOwß¾Œÿäj µN4£¢ö¨0ÇÇC9U”‹ja©ŠØôô=‡ÿkj>»Y/ñøâ˯¾øú믾úò˯¿úº•öW ¡jKÁª ŸãÜ ¨Y÷]×3ün ý‹�ÿ>_"k¦ è‹A¦¤L”‹€¬•;c÷âlæú9ü_¸ëF ëÿ�Ós$lÀï ø­pJª PR–­ )<}EÖÎV€Ž�À±dŠL@ð0•t[½¼’¬ã'C™ hñ"9”Š=_Gò“³Ö§�ã-bŒPL {ÇEˆ'·:<;>Z¯Ëì Í×ýÿ±d!à“Z Øgû @&ð ˆßÐ_Íÿ6%–þUú—ú¡�€! L_ÿ “‹ÚOæ¾åfÔÑxŽ‚�ö Þ8ÙÏ%é•€Ò¥cÕj«N[”H0�Χ€!”W‘Wdå#4£ˆ“êË!r«S0›ùüh~ =>€x¹\ˆˆñóŸ3•ÎÃm§£ “a´š ÇÑ’¡µ/,–- ”«X׫âø:LcPB˜M–ÚÆË¹ø/¼{7̆t’ -æqÔCˆàî(è�³ÙL4B¬Fó¾¦�Q|ú- ößÏ<"œ±âÌ óû'ÈqV!=qi�û˜ +9�‘Z¹Ü6u®ó¯P¿NÈi™} §çt”çO@éGM8ÕߎV•æ( w˜­œ €\AàJ¬úYíx•#ô\³–À$¶t¾vÉç“£²XšoË“t)±ž�Ÿž³©§Àƒ–({òá‡ýuŸúÊ�ø¯à²t½@¥Oœ`ïa�ë´þ�H�ˆœ5n‡ê/|oÚû½;ä¶ÅppÏ·8þS ÛŒÔ…l»„�èØ�Æ @¯®ÌY¹(z ×àROIçÍ& -AH ÿ rY,üOu‘0ßYâPÀ^š~·TH¢»ã¸ZHÎÕ©쥋(;øND�iL¢Ý(‰ê<¡dlqß–¸ Û4 €ðŸÍÅ“ˆG7Z ¶‚¶C‰ØøWÒ®Œ7$`_í?迵ü‡WÎpàÿàë/¿üË_�þJƒ…i[ -Ôq±Ü9¶=dô[Ä�ðH¢cг¶ô$wÃιóŽëÛT²†¥ø!@Û¬Ò[Ñý[ö¦J~v–—hšz6_AŽˆrœ,“e¥RÛ àÝQJØW‰ ÔZaÀ¨0s»I³!Y©Hž»4ò‘Ú¹$£|; -¥çH3ˆóWîâY!aK>Ê•"f'ši€Ž” -o§±Gé&Nv€š£½k»%tøß{[�_¥ß™‘ô–Hs�à ’¦ëý Nù×µn–Ôtwté¸çÍÇ#�¨ŠØƒ]"ª«¯�  ™Ih×{ÓÑR\šºX*­˜¯ç¦p7šúÚÇ5%©ÃZAaÇÎÑ€‡¾/’ƒ&òªSÄs¤A¤¾Ÿ`¹œlfkä¤U|‡ÎµÄ‹Þ“¹(¾ØX€ŒûòÜYò.å|QÃ:Ýg‡¸2éÃ+ùœc@ª¡«ïjã÷ʸ)Cµu‰‘Àìw€#®ûÈ>\!× QÃUz¼¼Éd§�žžƒ²nù£)Æí[¾¯Wg€¤ÌË{“PJ#!Q¶Y±?'½›nh>ܦɞoŠ©`ÅuA«$XìÜá“8YI†Ì ¸¥ _ìî½O“B)Å]ÊÚm"Çúó ÊϹ¤KÆ:†]¶ML ZÑ1¢Š$0TÙrÈ'&ŽŽìòÚ'½%í·Y¢šƒÐ>u`v ¿ˆ§9€d×§~ã*mÞøÊä�¡’Üþ ûh‘x–K �ß4€ŽrëÚO Þú')øSF1^­ƒüžBvªÿ\:ð«'þÆU÷¹WW³ÁD�Z<ËSâÇct:Œ‡+¡Ý�ôÉl Ô ûCg¬Û?9ˆ®©\�œì€;ù–ÛùjÚÍÕ¥�R %aƒÁq¨í6Ÿ‹¨Á0½p L8�?ôMÁeÌÛ½$/S�Ì šªÞ«Xû#³7‰¾0ÀÀ‰ŒX - n)"ÄÆo9.DPú|¾Ô PÉ �ïW��$.Z§¿+d¢™«-QÀFa ƹOý‘ÌÓŒú†e¹ž¬– /@±¡ÅKBüA€™{ó•»´qô5ÔÈõdžÞ1C¤Ñ3~øáÙ¹ÀÌ!Oµý^Ûì(8>9<ÓÉûáê �…€}ï/~a ç'G1ÔhþVpÁ`v5âôïöy žüàøÃ'2õ"•`àÇ|B^| bã ê¯P½pÿ´�Þëܽ¼M öwÝ'¶‹gÛÛÎh©³ƒ” ~òPçúsr7tbÈXw°7<<;ÿ²0�c0ÞðÊÁmU@Óp|®   :ôêåx‹ÎE@ßûFíÏwwlˆ}•Í6þ¶CQº¶.HØÞЮ.=^6‰nd°Mî¶:™oK4–�izüøº±ÑEHë~ò”æÄ£÷³¯Ë§6n»ã¢Ë>v©ßáSôj—€íÕ¼ÁeÅôð÷·µ¼z@ù|ýåW� è¿¿¹  hz;M1txج}%�ÏM~G\f…ê×]uB‰3�r‚'+_å�ꦷ}‘¤ˆUûúeÛÊÈQ’¹Op—) WŒ§EåðÒ>Ý%%½Á:”’£ÎTÙ–Ñd ÛZŠrº…¥ph%Œ¼õV)![¢"¢Ô§óú´ž3³´”¯ÐÍÖ)ü�Ô…ê[{ží{¾âKni®‘Š"ëwN½ýy€%Œiï–ÈÔ±¸£º°ì!?xhž^©QÍ¢‘Y-~I™#nªþ‡ãÙT9È{�q —]†©Õj½Ìp \/�óØ(Þ‡@>ŸþxµBìÒ{ Ý#_;ÈóGnØ6÷=É6 ºúΟT(OŠÿ'G`(­PðR§¤ó‹Aúé…ÜœŸ€?G?§¸󣩺ÿ)÷ø8¾u;ëNã ðä¡>ÛÙˆ—©{ -Æ_´Ÿ[€f€à�€±;€ï‚Wb60GíýnÃj϶‹ÕþWA6x”ch$î·=÷5ªz9DJ9°®ÀB•1FÊýÑÐó]‰Â}Û}u8ÁI¿}ö˜¿®$Îd >±ëïýìò—O°)ð�P6{»�o°@ËÚŽ¿-¥¹ü�Ø þ_@¨XÊ<û°�â…ý!;‰]ϧ°ç�Llö,Ýè]žÛÿïñ +Zh Ù-Rænu$Çí÷V^Û¿À$ƒBeTeÐ}HL6ËàÄf²å@FGÑ…ê ¨.½T•V}W‡'1بE{´RÍ:ÇÁU€Ý"è'.®DGðrJ& éKÍ q¨s -!5Ãèda¡Ô_ M?GDØ o«¼/—ëµXÍ.L.7³•+ Ë’BÉl¬D ó<\#Éè F¹n×åUƒåÀçJ4Ö»±Æ¨?€c�>¬e^Eá ŒM€í:FhÝ/e?ß‚þ66ÐjEÀCÀün�_ÿ._û -'P{¶],-ÈÉðý€.]J’Êü/–륀ñ”ÎOẏGÇôÎ"øj@„œ¼ Èè= ÀÙÙÓÿó·Ï\- •[žø[úˆäãצ¯a¿ìŽEû½lrŽèH]‡Q` {HGççÆx7‰n” uŠänÓÑ|;Òøµ¿¶Úö,4?ÚácîÏÖÐê.Ö‹“â%Ô0½"<Ø.±þ€*þ Ðßbö»u^ö.€Ï÷-Àý¾ è¿_•ø÷¶MžCÿ„·´¿žð$‚6Å�ÍH‰`GzêÅtí„� 7¯»XÖ‰ ° -rwîÐ8k -Ý…ïÞØ¯‹Á¢noÀ°ùTŒÑí9©â'À§C‚i�*“ñ޵ÊÎ%V¨�Ⱦ’¸|Ë T×âp€¤ó^Ö‚C3Pwê±î‘vN !K'Q~õ 0[�\çV˜È -û·n] Xôþ½šé¯_Ýn}ÿnw>v>©—ÆúçK�X[þÎÎ`ÛPC1¨û§�öñ9æ¯ÖP6€$ݵ~Ÿ†¶iqA$ýù@‘ˆ@f³†{Góõ|= -T�r�`쨳’µt6TEE÷ø‰õ½~¹Ò pêø¶>û�ëãŒFïŒûºÁ9à¡ÓåF©¼€?è¶ÄÏ'“©2EVt@,ò²º\'ϵŽS'l6®Idb#§ çkRÅK?B‚.l …tÕÉ^^<—ùÅšj7ã>Ь¢# Àðf²\|ð`½ f“9Á0ŲÎ5v`bö|t0ZϧôÚ‡õ²hâ�úÃG“¡*ÿH�ÅÚÇÓ7|>A˜:›‘RÒàÂr#””|F ¸FF¡B®‰shüœ›µzÎÝâRÿ¿dëÏ��?BIïÜú!}c2®›Àôø+€�/ÀýHJZˆýEºà'$‘®Üù:äS·d[±6…Ó‡‘N �éxqîRÀð¥Ìð -ºo°¼–@(G‰¹ÝùÐMæ=ôùž n�RËA÷Ú«ùW¬¿ -Þí÷áJ ´—&½êBþÚóƒ;©8–âÿŸ�[�Ë0Ó.•&2pÒ䇼 H%ŽØ‹gŸ|òì±£)–�ø�`·hèý¶îáê±>�{'¶›–7@z °sç@7Ç‘Ýæ›ø|;аËÿîóqÒô²ù˜4§Ü²ÿõÝ…ókÔ ]>¿[‘×XZpŸöŠz5ÕðDþ:€÷ßÿ/ñèœ_ôØR«¡£ïÞ¾[/Ø.*Y&�ò<Íævï®í0&ÛäaÜÔCô¾½¬ Ÿ¥µËÒ°�¥Ô»=bà¢:$ªqu¡ÐË´;Gq{#çÝ9áŽ|B±Áߤ›pŠO çRšš5ÀQ‘�¬À7)’†�\BˆœºCY=ß$'˜Gš –H§SÕÜê¾¾e\�èÛj'u&Ôqã#E;¹Ðº†ÎûïxQ2EP Q=·'™8t‰!ŠF0Ũ§§ˆÁ%[4›ÌïÊ5óÛ¢?�¸ |¶>Ap—@ìÞÙêÿÛâºçK~Õ.Åw%€­µŸ#oa±8ð_ÀÊÞµ¥î‰°Ì&€¾åûßDKk:¿G‚ùõ|íkuDÖŒq×jû€OÓÇ—Cñ´VÚ·ˆ1h$Ö -‘ãÙ¨?XFÁ÷ý@¾øo0zü÷ï>�%èZÂÑ�5—SD´ M¼?Z¯€amê÷ˆ«®¯¿ßp¾*M¼\‚¦+ä‘¥>ËÉh�/ÆÃ´a¦(*LÊ5WY\Íåºw‚eφ ³îyÈ\À¼\g�øú( -þK4³Î  €Ÿ>gúWÅ@7 €àùÿŽ0€p @j8©)Y`gShkÒZtŠ�q€ãá!’€<4œ¿LÁβ0þMר7;¿ÿ-Õ”€îÄ2înw£ù=ORž¨U�owÐ߯()ôÐÞõBÏ€× Õ]ÈÖM©êzøe�ë:?AŠik ièÝ®uLõ�+=m7ãèìüñ³ß>»pb@•[CÔ:˵å—e0~m·Ýdç¶‹ü‰6Øl�õy邈) @‘Ñ�’(‡†ºŒßŠbó�åÿcCÙÒ¡š`0?:Ö»0ÜOÝݧv;^ªG¬c{R¸­¨Ë€ëÀ?ôúWU‹ÿEýïö; ÀÏœxÓ,€Ï] ›pÅ è¿·::BØZ b•ær¯ ȆÍpÈCGK0‹FY„ UUD£’M÷œuÅGh)ý#ßÈèóE&Ã!g]묧wÜ ¼Š â_à–_J'‰‘.,v -�€óȰäT½HîËaÙ·cSYàA+Õ•Ô‡ÃÁæ8/¢p!ˆ:ª£°NŸòBœf õ|Ÿ;U×`ëÀÅ‚�zNiÅG®ÌörªJã]Ç�MR#lp©‚ϼï�]¾>ï[R<}9½[\ŽÜ¯ƒW#»Ûî×Yâ¨ßv% ÑInuÿ¢,Ó®µM¶}ß°ûhÒ#›Ó‚ߺ}µÍzÌÏ]c -nu!眣Y¯Q/Ažç€ @¦y@€Ô'.ºîd¶Þ¬×C_Á#<k�(4L@㜻ö|)ð9‡}l±}q;ù³ü·² ’è8OÉ·vPÑ×ù<øò~ÿáù\½ŸJùÃS5®“ç«Ys œ¬IUño<Ù°.׳À.7˜Ñ‹\º¨á`å A;;KĈ1}üéŠëtŒ€Xj^,,dPÃ[Õg£°3[¼_s)i”Þ‘VÒÿܵ€ê0„™Éò‡?n•}F³èø0:Þ'ZÖ‡~µ[€ k8ÿP¡µ�Oº‡PÊxÃÿ㸜œ>Ô -Nå((vYöI¬k0Êî>؃…J‰�Dÿ=;@’¸Ù¦.ªƒ :@¿ ÊgÌO\~n¥ÀûøðûüíBÉZ=Ÿ}tŽÆë³ÍÞI™PËô­ˆŠö/êÓÜ>Ž4ðñEFvD(E§q²ýt›¢-Ú·0i› @¿t3®5@¯{Mmñ¿-öwûfø§—¬ð­-�U^¸}·GcÙYÓéKô^û}Õ' MGý¹R€‹Š—pzNÕôÑ�o ë£þ´ïëΧÃéÀî{:šöI1�†ýƒÑ0ZéÜ€Š$¼ ËP­+z›ü5ØÉî€LYØO‘AûB•ÔÈ…U�‰<�ƒþ¤ßŸ8Ï<6P¾š§élU#‡G5¹,Š/`ÀeôNˆ4|pM -/aÄSÑNÁøþ€t½¼ÄÞ,1™ Æßj ôsÇútÑp+tã‘è|×Ū¤ôîǾ®,%tz¹Tx÷ ý¡B~»ÑöÉkÆ›`ÛxÝ€ï1t†;žZ‰ÞÈ�&%^±\"°zK?C¸®ÅJd�çÙl´™<ÒíR€ÃHèÇ@áj  -Hj¥›åj54=¹Ë‡Îù:¤QÜ©ÕL~„ò'õ>€±7ÖÉòÜOõ“")EeWVD6]â�BÿÛ \ÀM^3øj9GØ(—è¿àaÔýçú¬gz4^£€¯–e²P÷—O€Ùzíìý”oºÑf‰ á’Á`)W5œ<_+²Xg”óÅøÁƒµþz5¾…P¿qYhŸ-(n2; -TÓœ§«ùx8ÏÇÓ¨dóUöN€Pí}àáSX‚ ç¢öO6È ÈJÈ6¥/X8† *جÆZ[䛸Ålòé‘còHqÀi‚Ã1R�·“Î1dâù#Íà¯2iQg¸÷¢àè²ÀÇ`?ÈŸiexòäËOjI–æp�àž€�VíàVM0Ц]h8~M €£Ý/øŽÍàÊÛÙ$E]]m}J&ØYÜÓ§|SÒ `hýÝM�;§eÈ̾i8  ëVoüèõ®«ÿËCÛYeÿ/[^êÐ*ÙÒwï¾}ðƒ´°PãÔpgèž& â ß)€ó¬é�§.B:÷•-@­ý.ØN˜ø/ZT»Õ”æ¬r^c¹ý(p éˆ 8ªÓ¬?8Ró -±öÀª ë Ú”Èw8úh€¿öÝ·¡ZçhVhð�Äú|2EM¥LxR¤‰šš:É­ Bzj&ÿ`„Æž¥Œ¬»*Séçj…z�ÊÔÅ ÷Åyêb!÷pIÈÓ)•0¤� -tP@¥oº¥êvcØ:ngÿ}æ4ìÈÎÒž²:M»Ó8– Zù‘;c<Ëyl)+3ùè�m -­•HWZo jKü<žå+­ý@AÀuõ`E]æff•Ýåd¼˜­|%®Vx@i¾”4¦ûUIÁÝùlVZ˜L�¢j4 Hãñ̛ν|ç¾Ò”¸8‚ˆ Í–NP®²xG–�&ÃÀ^‰„SBQΣ–µð¸\Î�ÊWxèë 5â/4Xlà|ƒÀ×áL;¼Ã"l¡Büjät:|ôêÕ¥#ˆ7stÿሠ-àjf á{õàÁâ�‰8¶P@¿5„8ÇA{½^Œ�&£ß”�I�ãÑTðã·#€L¬ð¼E¾´h3^ŠâãGVýW¨�ë¹žŽ«åf¡ãeÌþ-KšŒIx»Wë8®¸�Üíxt€Gi‰ç—-¾à}™žBÚZ²€«ôtº^-çZþ÷X솑Á�‹,pÕÀ®,%UذËðP @ª!xhY®}•ÝU ¥œ}Ľ¿I2Þkê?gÿ]ÎBÄ$À&A –—~ßíZ¸íÝòk;©v2… !–ÛèR@–¿Gµþ³ÍTÿ=âÐ+SÄ! ²ÑñÑ�«Ž8ÀEžêx|8ÌúB|NžýŸÏòa˵‡èMbÎÓD›7) ‹'TvŽêÄ6`Þ:C/B÷ zî|ÞÜðí(n&mÙ?7gÛöécdƒóãï·~.õ×®X‘­Ž›íæ>/™V —†v³<ðW¶[ü/j·a€ëßÐYnœð¢pƒ€vX€«ÄÛƒÿ‡™ˆ¨Ùœ®BàS±¡³/EvbÀsSd¸z<2ÀmúîƒQo|0œ û$)ûvgƒ¡b4�¶U”Áúa�C¹�4 M èŠ~8<…÷Š)CŒb7 2J¦'E dÝ(Eûë|­åt’e[ôÈâ*âj.!íðÔÄ€¨ó©½lÿ:„)àXâË5Áž²‚BŠb—šÌ(ø.|ÔL�úét°žËÚ�þ@@ÞïÝ’€ö‹@ÚPÈ¢=_/×9ð@ˆX`<@T©”¢š LŽô£ˆ¯AZTàBá%8(îÍ&kÐShäïŒ)ƒæ%Ð9jâ­FÐòO"-÷MO�ØÖÑ~¡IÖ¼^‘/œÙ®€< ^¬SþBCÑG)Ë‘³V›Íf�ú;[oV � ­‡ˆ$ÕV ÂuÏY/IðÜɋŵ›ªOwÝ ¹&¹†—±Q;bè¿XŽ—¹xs€£¢Éñ3´´¥ëx!ã™B5—>Ôøà€2‚ò�窯`\‚Ì -í}²Dò¢Q-ázC%«•~—EÔ ?ÀjýoULÄ•ÇÇüL×ýÑr�I -Ýâ@+tóèü²àÜF7qïZ ÀQgÈ⫨_`üÎÀ¹­À+,…ÿ”« |œxñ>… 7ú„®S©@)D‰h”ƒ­/ÀîTD„xìÀ=ÀÞm²Ï¶B]p¯?hÈ•ï“7„|³ÌwÌR“NyÒ�`WñàáG秇ýÞwâøÐ-½¸ Þ‹ãóÇÏ>yöìY,kÔ›i€±Ð§üÚazâó-°ßålÛx2 œ�§ j€=3@¢¬C“»ýVÙ²Øv ôË'ÿZ&Wâw~|ðÆÞjЉŒV‚jÀÍôÊ+ëôþ}ìÏ~kø§×žp�@«fGŠžyЊŸà�s øåa -‰ÊÒÔakGúuÔ¶ v€_šú.DÙ×ê®ÿ=°‹¢KìÜ�NÛ…�’nPª+4<¸ƒŸ£Ú;: îíá�ç€ÞßIhÙ1þ 핆“Äižç¬HïH<¬À­é½ápH†yúhûl:R dª™n6 -W.ÃË‹ ¢`’õç’¬%u�á"Íh‚œà E² úod £ãát(8I -~ɰjê?d§+þ+”ýŸ_'ÐÆ@fž²øë5øÏ€&»`º6»MÒ t�ÈM[­»=¼>én|´›o`…«C¶ßÖ†ƒP]4ž|ºz¾^ÿø?ûÔ©«Íêù-ú7+€Å5ÿ€7w±“+¬«ß‡¾fWõ@„Ò.! ¥:ÑñgP“÷õ ºJ‹CœÒ«_ã¿sàV �'³GëI_\]u -·‘ó% ¼å—hñýø¹ŽŸÂùòùs@t³öf³ÍzTÚBɈ-Ú2~°YøÁâZÓ†[®k±ïzß'®¶›¯Cȱ/ní$�e¸!ã91”ºá�êk˜w%nÔÁÐa#6z R$ h–I�®šÖ™�=ÄGcÇ&6¤¤]!�)h8đۀL"×N:Ìú\—³góG³GžElqÀ i+nöœjþÎP¸dW@%-?8Bèht{>â},‘^Ë  ³Î÷g¼Â Mù¡c†N…4j¹^Û 7út³LcÅIÑfp&û«T²ÀV"š3êS_,NˆÕ£ñ»£˜ê› €ª=üç/9>ãʸá!퇠ÙíÞ0ÞgÙ¢¸Ô @YâÈg†DáÿÁÝšü¦Chý�݃‘‘ ¢û{TFU×Qѵ%o×í,üÔýÛ,€`ªpÙ¶Ùx[×bÌ·#-LlaÙî¡ÿÌo; - @,2Ñ8uüÝŠ2¶uŸÝ�'÷:Ö]‚—X^)\^üÏ­PYÚÛ¾�@«gGÀÈ5€}z¡í¤Z‹í¨ÃBGÕǃ¬Wb=�J(ÛèòÎbÖ@Íœ†î¸TÀû`:îMÓ“Ù«ËLû= -¡3WÁs$¿ìý¦ôG.ÚAsíÿß;lrNŒ‰6•ñËSàPü×зžéQŠè{·HN«^¹� -ºzcS²|�¤0 f‹íÊQé­5Š;‘i¤ý€}ð>5iˆH`nô¸�/µ-ÛÈx0þ HÆãO=”�hä³ ‰ÿ—-%` -ÎÀtÞ¨�¯=eH šAÖ·àAä?®†‹¾{pý­·„÷-QL©ÿZ.™ª‘\GH‘(�7�qTé Øâ¬æÏQ«—(ù‚T¼é´’ƒ²Ž¢Ofñ–û†^­ùŸÌâ¿óÓ""€EóÉp²âÿ˜Ï™4°än·ú&šŽ@Fòð§�yc$âƒ×úÌŸ[jÌn—“‘~èõ`åj9Twæ,BÀlñ\Ͼ5bÌ’Ï–k-*Ô¤p’éä::åz¾Ð67œø—y¸æjú“çÓ˜ VåÚ8›e N´Å+» -/ø\™P>4á�@©àYì´/·®Ñ–)X ÁY¾!È—Þ¾‘€û= @Ás€Wâ71Y RÉo˜ÏNk@³t Ë¿5 @nã¾@\ågë@O_¸7Ï”\Æ'Ðc REôÏ@yºA¡]û>A -Bªù{¬ˆì�VzöÅwÀéöZ€VÛ À9éSêðræ"·Ë1=w…>ò9™Qþ!þç&¶°çZàšÄ½åFužƒ¸LI*ñp Æj;P—¦†5:6ØÍÒ¬†“çs x´Üüf³^ýù&sN€­¼Hf¹oüë¶?Ý kò¾Ú{߈¸9Ó±ŽzSWOÒ�†ºô�°Ù„|ªnÛÃGK4$×K+±8G&`LéŠXç<ʉ’„˜o]ë…{Žáz4y¾ü—9Œ!:Ôß:Ë€";ºƒ,7̸ì@ï«)À¹Ípþä5gX¨_Zµ)ö-oà�ýáž@8|Ñ@e¿œš…¿NìS·`¶&Ò~–QýÚÝpðbÐÐPí@|ãx•Â`Ìû ¾€/ù) ?{o�e@Îp%àÛ·ßê–Êâ€; À‘€Ç�€�+ðÝËTγžaÁt|¢Zˆò‚y¢"”= GD«êggDeàS¹2 -b÷Ú>•ü›S¤ÊÂùk(ÑÁý_*iÐПzÚÌl?;vÒ}v@³ÍÞt­‡mÇ7SJ»†vzÃüð×ù¼÷~¦@(øÙðr€ 7ù|×g�ç9& ÁvH `x¨ -&µ¡r-6½ÿ�DÃi>¿CÜt€ž;ì½3(Èì)Ä÷}0kàütà\»Ý`9Ø ”º/|w%rJ1GäÝ©ÁYe¤²˜K @q§„ñ`„h¡·Î¾G/G÷éLÇKº;wÙ€+× =.I.0E+_PWjU©�BIÎ'aJ�ÔPiÔðb'íý�ôîƒÑd€ºÜ�#)…ò…êá-*üß³hà9s@€<�<|vepsÊF&ŸÊWDN# à‹�&R˜ÛHí[$Ûnk¿Ü½}@ÖjñV“ö5ç¥b©ää¶]£7˨ñhó©Ö�¥sÉÍýºJÖG {΂X¥ˆ•ìü†#°Ó­ Lzþ7´Ü`™H;ÑÞç¿õý>…( Æ‹À1‚B˜<Ãhø…w§ÚÁ5íX |Ç'ÖCi p=PµÞlæËç;\¯ž¹‘.–ƒQ0Qƒú—ˆB`¼l‚‡L`s=Ûh²XƒòBvqÍ¥;ˆ�ܤ)ÖhY`ºbpP°�ú²]ÄÞ,Z.¨ß,5 ÀØnß<  óÎà,-ßÀ B@g¸Ù`·Ànìß ¶#þµLehx¾Eöë^ úæ~êjnäp'dJ ¤öÅŸ¿Á>¡2œzEÞï�‡½Þ­·z÷Pö“¬,¾­QÄ?={ü¯OŸê˜{íˆÿ¾ÐŒï ½©útþŸ®&–GÍ„ #Ô+ ósÊoNt~�àµf¤{ùf´Uÿù¾øéÈy€¿ÜMÈ«|ÊP$¬ß`È·"ºÓ­•\![0 -«ÀV@µw½–½6mîcßXD…¯=·pU�§ p@;yÀ×ò¨¤â(ª`Ÿh LÖ-Î -�ÙÊ‘(8t \ÔGX:~nÝ*¸äG àoðÞ*`ñ¯(Dð§)•ýZ\¶¯Ç¥E,ÊBý2&€ +¯ù_'×äÙÀÝrµë®ÐÙ0¸œç3þy›4³€¼g¦/{ÑHßm -Ü/ò#%,r#‘ ×ò\Ãü$÷Jfî`{¸r6q�ã)Ï–NŨָºçÊ4k áj7Ëõs„ !¹Ï]ºX›‰RÓF3Nª&¤§Ü:* @V¼bpàZ Àåu:€½uœhçûš€æxrz À›®�=´µœ>Þ®‘ Có+ëì«úE-&‚AõëÝ~´Î»—¾¹ý^ïJÀ{C^ôŽÚ¼ ˆù§‘òšßÒð•óÃ}‘B�€ïl-gÇ`=]x^2àB€ ÿ³ÇÏ;†Â�aË¿§Ñ^ÁnìÉé` òÆèîû„²«˜mD*QÀ´ èØm-éŒj“èFë°²|3Òù¯&ü]Kœ0ÅS'üòÉ¿þ²b/û„µâØÝ%†Zš˜ø=˜7á¶�}üK)î*5”¿�~ôÃÿèG?þé?½ûî»ï¿‹ð»÷ÿ«ßÿøÿß>þÿÏÿ¤æÿç/þü•_}‰ðõW_~õÕ_þ¦Q«jŸ¾ûöuë@> -µo,Ûq2UóÖmà>ðÝ—>cKM(º¾©†Ôew"hQ®všÛ½£°p‘ü/hèœ) Kî3÷AϽ��ÃdjT�Mx!BR–­Áû—Ûå=WÂôßq”e8tèG8Ld¡}šHš÷Úÿ5¸ ŒÍÓmSñ'ÎŒàÁ§µ#†Àõxéüÿ²gÈuÚ‡�8çß�\å(W@[r1Òê%(”Ò¬€6dMaʹ*¯)ÿ¶m„�·Æ†ÄEõò4(7Èu²ØZl_|úý*Å<$Ì%Gœ‚“ÉlØ(}¥²H\Ž/xã¹ã.©Ì…"蔀6ñÆÃ¸Ó+Škt_»,[2ëÅš‘û6™”à…YÁHpðò,€æ Þw>ÛuÊ@óÀ.=íõ}"ì|Þl÷„„Q©ž.âÐ,‚¡ß¤ª�îƒø¤kÖ€íÖ]ù¶ Âx·m+þÕwïl¶,úfÀ¥1€!µv‰¹¹p|²µ´@æþ¿�ö€Xr‘§néZYÈeO�ÿ'Ïž[×PC½¬�>¥úŸþ¦ù—iðmŽK?Æ')grÂ8ÓšŒSÉ¥¡@R÷- À·¡ò-A¯§})\ý©óé¿þò—ŸüÒaéãóã»ösé(ÃB8«ˆщÿr @ºØ—ªÿE×\è÷¾÷½xÉGàG?þÉO~úÓ÷~öÞüÝt øÏ @ÀgŸÿÿ ð‰²ÞñÅ×_ ÿÿeK­®}ºÉ@€½â£wkŸní¤@V¸±›Bøí[ó>ýÓ;ôMŒ{‚\ßu‚ŸêÂ#ýZPÛUðǥܸGl°odg§o÷NN6ê@ö“žoø›#ÂÚ�R¯+ ’„J¶½1ÌE¶pÎa?/Œ¥û[¢Ã9«Þ´´¿� ªÃ„/×™³ƒ¶OLç»G.ß›�lÀ«½ñDaÈ JÏ,ÜkÝ|ªãVñ§GŒï{Çš@v‚h°¹’ÐVÿ/ ÀGçYÿ»ùD;oO(O¤½Š$òÛ°uƒ¶€4jî|*»‘>îÛoY': d¤ÔZI£z:Š4ö­ [ °s©ÏhÙq‡!3€:éäg�RO*E!í.Á.ï<"·^íÙ¯ÿ¥·FÛŽpVr/=‘‚ÃZez}Z¨÷žmÐÛ¿ ¾+K€/ÁNoNoš`ìÀ5ó=vHƒXDƒŠr]9å:ÿ'eÐÖ­Ùæ¯bÅ>®ùŸk·Mù¥!»Éž×>9´ã²§(Áƒ”@sƒ/ØG‚S€‰Æãé”f¤]A.½�^4{k÷vç^C\©ÈÞBÊßz¨†qšr˜ödD:t~úÚ>à×ö]—×h³.è¢ñ‹òx�Yžø)½óxÃu²ï¶ëHd~õ:m]RÍÁöø„ÛÖEÿwßÝÙÄG0òàðäØõ:ÊÐ� ÿÙ¥¶û?% [  É0@¾Q0–‘eâð�×U)Îö-Ç':èü× €sHä·ÐÛ÷,�î_{Ñë ˜¤‹«m}CeHÊî½|; @™ŠŒnÔº–„¾!¡"ÏŸ|üT˜×¾ù÷ñãÿŸ~òÉ'à¿ÀÓ�Ÿ"î–/–‰ÆWZé’àOš¨Âø=ïê\Cõ°¯C)pŸ^�ÿÿð?üá�ü“Ÿò}⦅¾÷þû¿ÿýï~÷‡æøÙŸø~þÙgŸþ9ðÿùWˆ_}ùÅ_}…  £k-@{k=RãOâÙÎ}t¯‡¤ƒ´œ�j®útª†Üºº -”ÿyé¨{ܧSÑ�|ó�Pw;˜i�¥«Ÿø.^»(aíª·½| ?¿D° yBÄmAû¾²˜°• 8™j– ù=ëº)ô“" -pÛïÙ-ë2.øƒü¾.Õ‰Ö¹5ÅáäÈ:Ý¡z¤µx”BÜ’­Ü+öÇâ×fÕ®I( XrÃjl&³ÑðþdöŽ£ºýþ;$!#[Yí¨=»jrÀÖ 0‚wän$nþ�Lâ{ì/] ]©ßXö6WR·Üi×,”[›íÀ¢ÖJ:²ñ›™]€¡Ø‚øÂ¹ -¦¯Ë›èèç‹íôE+€$nupqÅ_ŸxH Ýæ -¸@´~OAu¡ þ]ï~þc€Q¿w@lÀŒ“þyÂ`A©³Hki§.L ò€Ø=_Nú#4ü¼XOüàÿdÛD­V+ X®# .˜•lòÉu´cˆ¨ t/Ìêá¨&–šˆ\TŸtqØû#\%‘²Äyv4¸X" )\0D9f&©¹h¡Þ¥?ZÌ–ó­^QÌ»+£Ö=^,H.©¸‘7nŠR37¸?ÔÕ@9®Éí5ø/)Í'@ô£³|®›ÐÖØÎh>WÖØú¼Ô�ö¡Â�»½YßÀàè°YûdxÅ:-:Dبλ@΃êèE}ünŸo³ñW`÷Ý�M¼éÍâ«x -÷-Z_3pÏa�õt< üwПm8}ˆ¬ßIèÀ¡~JKe°ÈÃãÓ‹§O?áZ2E߃ú-ßUP· (�ÞÃÄÙßD¹÷LÛU‚œ5fk0àÃŽÄ„»£Y:Tm[dD~éW¾5[S!|BõÝÛÇ�=úÿ³ìžÆð: @˜ ƒ)^âþd韤p˜Ÿ;@bÓ™¾Ž ÒïÑ÷¾÷�ÿð½|Éüÿá�òãŸüÓ»ïÆð¿üþ¿ ¨þÿá�ú¼F>‹ûÿWz|ý%øÿ… ü7õjµíÿÛõM>wÈ”w#l%€ê’i¡d›€ÞÿªÄS‘Ð(ºµZ9òœ](Àð™K·9ÕgáU˜u¿Ìþóº -•@¬‹EÃ'Ðm?!7]!p[¾¾*@P&Ì~b|×Cà¾x3ÏÔªZè}`‡G¯MQÁè]GNÛWÐR�ŠÏ¥€àvºÔ&ùù¡ŽÈlÂ;ªFr oHMðEù‚~"Œ ü®¹ðÍ2¯ äè‰d\ŽzC!ø¾¯Ôm0©:äá„«4k5ø•“Ô÷¹=io=þ) -³¢ë ÷ð?"6RhJÂ(Õ“Ylû}&Âæ¼¸–8ä»XÊõ:«»BA`òEÀœF:jĸ�¼Ð]–ÉÖË"ëÊœ£IÜJ)€#OÃÇÊP®–³àœˆ×–%ÙóX‰Ó´U’Žûˆ^®ÍÒš 5@ «9M,3Ips±›;IÑÊ–r=æ>�mïK*5…k¯€¬ÅVêi¼Ì¦ÈHãÉu>ÂÔkøÐÿÖ:ÛYÍðÊ•mÔ±ki¸< àÍ}º)õH ãõ>ÛuŽÚÔÿ—SÞîKÈïà Ï×g�¨"ê°ûòKdN{Øvܪ²ðs.þú*»IxGL¨{ÑLÝ¢FIue{z†Ë³äÑ•€µ"<{RKS²[- 5]C€½�]gÀ‚r¾ªôF”Š ~Ÿ§Kí7I¼Ë @`)æ°¡»i€f(dMt#ƒ9¬¾å�I\¶gߎÑíwÛ§O~ùÉ'ŸÐä>ùÄ÷WÌGöøÔf_UçÙ“Öy»R’º«Ø$è:Ù× *³Ñ÷þáù¾ìó�?úÑ�¡Ÿ¼ûŸ_I¿ûÃïþ+àÿ§?þáOúì³Ïþ„òƒÿ_|ñç¯ã %à `¿Æÿ¡/[uûtÃ:ÐmÀÒN�ª™æ{p�®G¢�NTŽ!‡èÞèyQgƒ©súÀd Äü¥xÉwv[:õ)‰I8UjàœX –j·§Ë"½KäA"ÛÚþØ$˜4*Oª×ZC~O‹¥jîâ?ÚT1ªˆ’þt¢°œ�–ã9j¹Àa7¬À–ïL™Á |àt25�ƒ¦D4´’ªÐtÃjqËwï¶"O»fIv•"Ô¶­ -‹â¶èáŽÎÏ+8°³øôe+öë¡AïÜψ¦ð�~˜ç>+æ1K¶Ê�¸+>Yè®Ë5u^€�Z+‘®<œxDªÅ/�OŸMVÃÞhí¢6?/x)åÒ-ù–X‚Ib©žuõg—²G½ØÝ]¢‘ûíMjwY;Àx†x'²òóÿ¢H¶úòøDȼʇƒ ¿ð¦[þ´û>l¸,p¦°§~jý°¢`³&’XŠ _fÍA#®áÔi‹Š°° ÊoR÷"Zмæ0”D^әǸäãf�ÓÀjÑr]¥H>)‘?'¾K‰7qà"R�?ï¿´? ~®s‚‹yŸÅouùü-\9ì ñã…ëûrRp?b¤`Wb‹¤)%€‹Eå!‰éf9ÑຕoxÀÅÞ,ºáÿsic¯ó.Ú5ð¯À¥YßÀ€�%6pì|„ORðSîH�˜+'Øø[Ì¿BöˆìE"ý¥ˆK”³-rßÁ]¤ð·ë¸Y\ ‰ -Âû‘#üÜ£f —üò*Õb�žu@ @½ X:>RM‹ãã‹ÇÏž>}ü‹øñ¥Òøˆÿêï Ô{?ª¢¹ða€^A¤¯Ôe�t†€ú~(DH7•ÎbÏ �.©m³7E’%õ›’ÃK…î-жݮE³eÇàç'çú8:°µø+6Š„ù]·gÚ6ìÂuR” ù ¼6í]ë÷Ðþÿ=_Sÿ [òãŸBï½ÿÞ¯Þÿ�®ðû?þþü›?}öùgþÓ?ûìúÿüµ“¿üâÏšôè¨Uw‰nò3Þ¾ë3¨€ßÀÿn}ì”v˜T¡'BÒ ø -€aî ?à �¸Lò¦ 4ð\–óxvÙY?è¿#ø‹„…–<,¡n“;ûN”0«éj½ €¨ƒ¨•õKJQ×9tŒŽ‹ž½¬}š=Ýd6qÞ¡#/ƒhT.÷­‹U†|ÆÓùtšÉfÓ¤qHÁ^œb]¢Ž¸lA§@¸LúËA.IqAîê6Ph›®èm€G™ÞR)>ÿ; €@{ÚÚÃç¨[/q”B(Áÿž“qm¥i™…ÿÊ>g.´ý*ßåyþ)Ñ¢µVÒ(­¼ýV.ÑÏ]™œaÎ­ìæŽÇ²îvµ>ê�\tÄ3j¼$ IÕÊhÞû±Hëë)*`ôëÔŽ0à ÞVî;Å97äÒ lª¦ò§x÷ɪ=¸Æ_ÔŽU‚¡ªnlÜ@ u­g}ß/…°¾˜;jA`iìsÊþ €Ø¸æoV^gKD†û\d_¢å˜ZXí�ÖË൤DB|�–ð‚á%X@ÔgyC¤è .Ë&üNÉꌌÍÂÆ¶OpÚÓn”�¨w>‡ëAf:*çÀR’yKªt¸EkDÕÌ} ³‚ç9Í?‘…Œ,Ü^') åŸ×/½¾àÅw¤ûíÞ€òÿš€€ž§(úVëJ‘¥öq2\ó6@Á¿âš  Q‰ 톟ýâ·!MÎÖ¹j@aï‚©°1ë� »:ðî Ï~¦ÞºýVï`+ä�0¥œ— ùx‘¹‚8(ÙÕ«ú -1DÝòÝ™¤�úH�ã’ ŒŽ€.$½Í%€lÝÈ`ëWÞ˜jð¿ƒ~w mA¿wÛ§Oô@øä“_Æ9Pôépt'ŠùíR‡“Ä¥o‚Ѝü" ýmÔt Jãªþ*Òf)ÄïeǯíÄK!3iÉ¥%‚]œ8Ñʇ§Áð@ƒ³ZÙe•é"AîápQÏÏÞ¡7&èÏ=“î‘ ‹¡5cZæ®<¯ØÌ§®8™N�c ܰÓýM1 ñU÷ÆŸÆé�ˆ°%¨Ý ¯ÈeUo'ñ 7ÀÅÅÞ@Yòÿè rûÒ!º=9=#«€€½�:ÿjH9ÀHƒHý9c9;JÑ­h­¤£4ó -:g_�HŠu€E=ŽLŽhkÏsÄwµQNªæ/tÿÐ<,€H®d P…ÊܹÞqÜ«Èr¶šÜÓñ}` ÀJSê”(…€ÐÒ‡cÜ� RLÆ&‹ÅJÑc<_Àp¢ûvÌ븩1€ÄZEР”’µZˆ§”¢ € aB4m¹/À/i…x+UJ‰×.k@l'x±^ÁbI΀rÇ5D[±=ºÚ‘éV“Õ´ŸiÊ:41/@Du06øç¥74—Ä}+‹ ×\‡ëV…µÂò#¸Î¸^Þ/á' 2J0ýçný!€ÅÑk±éZúÝ­Èß,å€pð&>|Ъõ­}Sä%Ash€Šéú‹bÈN›@~Õ%~s:<:Õà3�¾¶YôFŒ@‚í¦áÃíÖPú¿~|0ëíO”C·¶À É30t4aØ,ˆzê[¸³ÜÊkB ìæ%¨ÉWPxOš@z Â|<—´÷Èé!ž Òaÿ±üõgИވHþË_~òÉÓŸo-Û·ÊEõp�è$÷X¢§$ÎîRú§ä!دzÝŠªËƒ²ð_wP´;Ò¸þ­¾‡Zz>Ô<{à¿zaÖï )å4žŠõa-¹ �xpèۀߺ}PC‰::èG®è,Oï|(™¡ß>"=°mPR@úE팧ÚÙk’%”ü•˜��Ú,vFí�6ÁÖ¯¼]Ćïš>¯÷ÙYNµ(ì|ênºà¤=LWYÛhÿ¦4XsÌ‘So@)ø{ÿ½ÿ™ÝÿÌþº­€ýýÿÝwßûÙ{šÞÿÝ~ÿ‡ßÿñ¿þàOŸýÙ9Nt 6`?"ÀW_|ñ—¯ø4ºf@Ô|ñ?>%´§ãã€K£´HšhI¢y„B"¢´›@ßKÿ\ˆ©úgç(ÓA w[¼öÓÝj¦=�) ÎɬLÑW/L‘!äGP(éZ>Ø*NPŸPã©Ó©áÙEŒèà,[œçõ*&g/j⫌¸ /‹�Š~<ÞWë(ý$ñÈeWGhpœ£]:Là µ|ê‡Fô:é¦$AÕ*IʸA î½`2µ/i#Ô��´»¢Euë -”¸ N#wT=€trrv�@¦-5íMR&°ùî>Èü%@Pr÷ך‰´}*èZ2Ê¢lS[k^<� -NX¯æGƒáâ7ü…+ᤴhq&PºÄÄÕÅß§—¦¤¤©l´ ;€ÓþˆÐ¬³ÝHá_'mÄ[!(�€í­.ùq)~%®/7ËŒ¦ç¤Œª¨ç»iWËÙÑ ¿ø¬u ~`Sô×[Äkœmäz$ú#·É)–†³œ­t{¤ ?�âïbÄà¦W6²’Éä9@ZÅ!³©¡kà˜Œ7ŽÜ“‚6×Äà‡îŸª}+ ¸>›?ŸöiI¶Ó6êT�_ Nõû3„-Z´z½¥sû"aLâ�®gëŸAÐá>�¨Œ›Ä×NݴΤ[Rf®[ÍŸVÜmþPç@^õ¸< €NW€ýu2 °d_nh°×&*|k‚ˆÒííÏàG�[ €ê½³ÉA%Êñ–®âù#8 >Öt·B5}îðߪƒkäÓØ’í¿Ø£b-øáÁ­­À>Ý„Hh‘%jÀãÎ �›ÁN § ¢ÞºëlƒåAuÎT°Û%„ºŸ}Å´M'@góZ€7¤ÒþÞˆôܳ<9?þ__°ÈOà=!ûP:Òt¥µa›H,¡oBþ‹ðjÒðÓ¿ûÓwß× à½ßý—ßýràgüìO¢ÿçÁÑÿË?ÇðÅW|¾þâëÿá\íu!—)@VÈÊñ¿:ÞêÝu]ªNûï„hIð—JK!g¸¥7×Ç*óhÜ ”R.Ó¢½þ$Ò0À¦�ÞÁÙàˆ`�Ðß:ž°‰¾5Ÿ¬\]™ªý°Óy.ð>éÉ…$r[àæ[ßV(²ö‰õ‹VÚ� /B'Âa®€nS݈ú‰å²¯ßd=Ÿ>ZMç«ç|\Euî»ã€@D€çóõr½œû& -È5€N‘ H¡i`…80E«LiªxêhãádðÜ%X#Æ4Jÿ:q - ¿òØYÀfÝrÚ%Ù„\üãXs_¼‹£í§e6 ™+n�º‚Øñ¼v&?+i­¤QžŽ -:  €ëŸÏ�6€g½ž«;fb…Èþ…Íæ‘º4øœ€Åà 5ÿ§åQœ1¢I/Ѽ%2àŠ»6£=¬À©à¿ÿGÚ -‡Àž~P’MI,7˜›)€JA;³<‹DD£]‰÷7.„ÿ›É`¼YºH>€§)À¯`îÂÐU®Íy¢ùë‚ð¤¤øÑd¡¶ 8“•žcS‰²VGhéq+ˆá€²dÀ!õùd±ø`CfAØ„\År²ÈHA^×zX¡™¸)‚æ�`C9óçZ\RxÌsP~'i˜úµˆÓ„(4c¢å‹³vïкQÑ2@|:Çv\ºjúA”õoºUP*ç‰+…ë\ՍЭà^ޤ†ÿRX¯ 5SàøÐ€·nš@²/¸KeôÛ¤øèé3ÕàË>õËD/T -Å~´wT /9Ò³¯a�¤®ow Ë|Øònc_àu+¯Oby´úl_ïú…€“ã²<ùWîEóàÖ²M ÝgGé>; €4jýû1[à �·¼¿’þàÇ?y÷g?ÿß{ÿý_ýî÷¿ûÃïþ ð'è�Ÿ¦R€Ê¿2€ƒÿ_ùÅ×_ùÕ_²*Ð “‚ÿÕžl\¶ÀŽl"�x‚vÂ6زÿÉV,‹“�Q4s¶óþD”ŸÅ$ˆA8´q¡Q=Ñ?Ã~QˆéߣÓÆ£á¿�ôjŽŒPž•ì±èµ¯I0èí¬íœ9KOo~¾�µAï(åk(©m‰#í$ ¾Ã UåØN›m24î»nv8=ÑG6lA>zæµûi!áóßøn¢G£GÊ)G#ß‹@7Žæ¶‚ýÑÈ“c%‚Ét:K2ÀV¹øÕÑð(Ýu(Êèìüq‰{ï(ÒRßãIíÈ´>® 2’"ˆŠf*jeܾ€J¦�t.†KÄ'�-#¯ 4D~]Q´üÓ²)­Ù:ÀÁÉj8eÒ²©°ÕG´@m÷=× -—£ÑT#¿ô ¤Ebauãû¢‚=Ÿ¨ut5+Ë(¥øÒFoH!D€ÿåŒTM¸äÒ¼ø.€²´wÄ 9ö³‚`¶i„ñÏ`ø�}�Ò߉�û³ ØÉh<¾ê_Gǵ0à\¸ç^ùo¼=:jžuá¿7õÿÐaû/[m ÌÀ‡v îõôµ¿}pdŠÒOAk‚—æJ€�Ÿ>9;3 ™"Óo5 €O>ÛèîÚ>”^!û.~{úr†íA—ìv³Øï4pÝuAFä÷&¤ý¨ýM-¿øÏ&çÏ>ù¤­pP€0g ˜ â'"D -³ßÍÜÿ@üe €×@ïšðÐÿý5é{?Ì:€ï¾÷ÓŸ½û«÷ÿ#Àï~ÿûÿâb€ÿõ�ú<ëé à+7|ñµ£_ù—¿üåü�¿ðiW²O%üû47>y%{òSªô9 -ü#ž7jjªý²¨*š§+b+˜j‹§—䃎N÷ÝW0y©å$'gÔóØ¡ƒ¸6‹Ò)GØîÓÿ�}q×®�^ŠÎ 줟SA¢"‡âWÿ2Û¾tíöœèVe °Ç¡˜#¦‰QÀtâ¡# ®1 ‘9αS˜§ÛðC ›O€ð©úÿv†á‰y¾šn­æŸ>#«¬¸ù mØ? ø£ùhµÞ<ʰAöÍI -�=ðÑ”k¤£>Z ]«ØêŽøÖ3.iï, ÀÖ@k]àYe}Gþƒ¡Óžü_3z,·]ÆÐ€ÛoS€‘­„ZE—œ~Z‚+dæ!ÕOþ`FÕW ?DØbÍ�ãÒíÈì(z´ÒJ<7[�? —s‡Á‘î´=#¨¸+Ò4ü']=ÁÿV9`±ö4{•dšwSÏ7õôå -©1P*¢‰g¦õƒp Ôðõ|öé¬?[ÉJ.‹oJNqà(9À°¿F 2ùÐòG ¤_—’ƃâZ$à_'»÷^,È#H2H7K0Ùÿ€Ù‹µ‘<2‚UpMB2w‘#„ßm”K±� bpm‘J6sôtGž"VÚþ½56Ú­©ßG˜*\çž�=~'5ï¯ÑI‡�kê/&“%O‰Õ’GÇ;•ù‚ü¯»Ïn €cz‹@ÈU À+Þ€xðڀȴeÿ÷Vü†>„JãyM€¸tÂv^@Û£ÃÝ|ãoçþ¾Ýë•;„…swŠ÷ÆÔÞdÔÐ=z¿ Z’ƒÞ­[·´h”Ðõ�rŸ”uvöô±c/Z¨ÃŒˆo5êW�JÑ.t™nŠ¿áDË>€f^ÝÖNºÒ½’ÄíN÷ÿ–€Ý¢Åa-[¿/XDÿhü¦b³µ¤O�Äð†äàÿë||à�ãðî{?ûÕ¯~õ¾¿ûýþ ÀgNüü‹Ïÿü…nì„4þ¯¾tÀ_¾úåpíJÀ�Àö®šR˜¿CýãÉ6,DvG¶¬}´GÍv¾hªdàè»~ù@ªx/èó� Åöðü& /ýšP •�€B„Êõj�±w;ù¹kö‹.M?%Z;+ï7ëù&*KŒùÑí³C5´T‚‚~ºN;½ìôI£·‹ �žTn zieË´NŠ£)ú¾x`ÀÊ£ùàÑü2u®´úN?ÝŒECà]uÂÝ 0:ìÕsèÓO׫O}µ¼Æ_¹F# GN �›¡Õ <ÐÕu$úC; @ðßñyp:óöåi‡èì=k mÚŒM0n÷è…Z�,[ü·žÖL¤+�¨[$P¨¥*™Ü|€<ãn¥M0 „�Àñr¡t¼X#p/]mA÷ÀNàOòþ#›ÐÙ/ÿ-ìý£AB‘R‹•Î×ãæê±“¬å‘Ä““^¬—6Q÷I9~ÎÞs|[–l4`p;´Òê`¼ãõ¦,£‘gÀƒ¨ûb¹8kœE¦\½ €-Út†ÙIPmHA’ÔHs„¥%â+Æýq|Rœ× ú;€¤<ãÞ$®zÚÀFHš%Â¦ÙæÞõ_ ¼©b&·ØQñýÅèøpô` G³uÉC<¢}ãZƒ‡ñüËš‰Œv=Ù ã�nâ­­à†wdÀ“î]oà þ ÿW,€Ùù7óp_C×øºõÿ ²M£­G@v ¤ªc9ø&[¸Ñð¶ø<Ê% è@"’Q�6¶ì¤·ÐÞQÒTè@»à[·"X$?¾| ��ÏÅÿ 6LJ�‹�3»}Ôë�ÿ›QgP¨î§ë„ŒÈï5‰  U�æè Ö_›t|v~rt® @æ�·»8Ùh;Íœ(*Øï,ÊF�$éLÉQõ±o@ÍÂÿjÿôã—  àùý¯þð‡ÿê4ÀÏœò7€ËêðÅW¾ø‹/ÿòõWYøë¿\ó.@‰CkP'¡ú—hY¿v&€`4¤qßþ'ÎyhÚêi -m콇\€HàZÿq駯R8HF·v\ôam~†Ö­0 ÖÆyÀttl£ùêÑp‰Ê f>B‡=G#tµX*4 ×ß»J�9Þ¬Ö3«SÙý)'ˆú*K¨B%<_­‘&�ê½qóÑz… ¦„ºL§6–m>'´h ‘Œžÿ8Y\`:DºW�VóåæÓ±£`þüÑÑÈÑor“D+ùdýhõhóÜóæ§Žü‹sަhþðù|tä AðŸ_òFà??}·�OÏ*ß+€ê*��Ì�æÍ?¨°mÊ;ü/iÕV^Ÿ+K� ?@É–*_Q.%¤^ŒÖZ_¸ûn@�Õ£i,�f³Ÿ‹[ =š±p Ä#4 YÑJ]<˜ºoX wG‹9Q|Êÿ´opT@ûÿ 6Y®š°µÕä¶Ð¶!Ì”)9W€oÉá<—³ÖcnñÀ¬‹È"³É¢‹90¬ð�e¡Ê§d1qèDÅ_dCÀÑ�e\5÷ÌÖ²Àb‰Â¯@n@‘$6°?¦Åƒº%Œ­z{RäjT›ñ´ ¶³˜&úýñRÚ…£Ny‡é„Ù?²”†§Å¹È úèñ€Š�÷ªuðÎÜ$Dè🭘¡ùŒ/¾ @G€‹Î°õxå,jqS€ãîm€ßf@bòd —W}‚’?0j{uÝ‹€šúï61!�ôü¾Ù7?¸§¾C…ÿ\x�¿ÛKY(ã�Ãtë®9åXŒÄáÑ=_1t[ %ˆànÍä¦2ÐÿìâÉc€234ÀÖ¥Ð?øõsí÷%§®ýîï£ügÓHÄl´ëV^I¶šÅÿÕOG®ë_Ÿ.\±9ÙÅðMæ§OŽŽø¤Þp×Å -ZgØ-¼oóKˆÀ‰€e°[MÂÞŒö”ü—~|Àõüé»ï¿«ýße~ÿû?øB�jÀçŸù -çúZ`×úË×ùêÔ뿼n! ÛyÀG4…€&Z†”èyÀØå»g  Ã 5ˆµ›7ZüÖ M=�ì}s¹š½Îù‘ôQ`tÏœ ¶'ò71ÁÉ÷ãÕPgжé{Fª‰€¨J›•Ù‰kIT¢€ûi§‡£;žŠüÃþ|¬;áÐFE#z„, -OþeýüºRÀp2 ¬É†ôGöËC{Z¨@¶ŽÖŽ€®Éýh:4™ôçÓÉø‘b…жš?×>°Bð@@PŠðMµZž?"ÿI X¹š®FSÊÑÕmYbõhî›ê ’ª#]žéºu”š°žõÙ÷ú¡�äßì,4L[3�”ä-·íxï9„Zÿòþï7ªk]÷ó•Ž6lÜ"­N‡Kl¾l[ŠäU. ŽäÓ¨ÁÍFb+ˆÜU—+˜8`œUaU X1ù.EZBÊÑ9} ±îGBôÊ]”‹u´ÿ©~>ÏûŽ9g•ËvÈÖ9ê·fÍß?Çc<ÏxÆ;Æ, À×ÈhRŒXî„q�€�!AËEРPB€‡€õ©¨�ê*€Um¨•r-$íS# -€ŽÑ+³ ¸1¢äiV×;©˜XèŠÐÐEam`~GDŽÄYÁëk  -Àú­›M@t ˆëà}žOGêÑ­èt¨‹ã3lf\𱡌XBQ\yæ¤t˜�ë¬Sûı&ú1 -1à–[. oòHºÜ˜ÐÅSB×-_�j�n¸®[ίÝáR¦1íî·à¾…ƒn÷Î`YäA—SÍ=ˆ ý!9wD(ZwV´íøOlÛŸUpÑg2Iذ -€«"*û0ÖT­#äop[€I -@Óü1�M­',¶ðUÀm€N*zAVTjwlQ´çú_päW° -² -€@‚9­@½ˆÀUìx»^]å¢=ªˆ|«9•äc&àþz™þTè&@kERX[kù#D8\X:ôFjš‚(Áк�Û � -ÀàŽÃý/¸§/\Ï?¢ÌîStÓ‡1å à Ð1àVø-€­­ûÔÓ ?o -@£€p4²ï3P3¶?= $Ím‚щ>zžÒ/* `Ÿ`ìÖ°,Ë'˜z¬Q K*ÚÏ+™âQŸN€8ÌG=æ{òXÉÛYuÐVå.Ú‰çÔùNñ9À0+""Z·¹ý5¹É×÷xmÚWDCÉ}vÖøOCNö FòÌJ¦—�ejœÝĈœ©Xæ)GÊ¿ ÕŸ¿ŒîümÕºÆÆ´\SV>ðo… ü¿ÿ5>d„Î #KÔ�yh(QڧܯuþÚ�uñ ìTàX–ø~¤ ÿ/ÿ«ÐÿÚ5ÚÜ0ÀàÙ/Ï^>ñêÅk�?à͛߄ÿ¿þúú¿kúûoÿøõþ - °Å“ŒØÌy"Ð& ÀvÛýÏ’Øð&Sz† ÀXáUW(ãÁ£½Õ¥—>c†·’òvå$-e[ʨµÇàÉ®*ÂYä'GçûýyN2Ç·³ææhö3€hå"~+š -=‡Oº*^cyc®·G…¿ÊYd~Îí´e]ô@Å6e�Ðê×»V—…¶­eÚus­¶Jê«ËÑôתÉ`¸:lé¼( uP±œÓ¸®~õfC6+`ïkG]© +¢²–v#ÓÔÍ=Yk? …u*Îë„OW„£=X»£3i=ES±ŽÖ¤M“ÂÞÚê|{Ù -ßs­LŸ¦bù nà -z�š@¥øÃáv¤ -`’àuuâÓÇWdB3§]ÇÈh2ÁüFlkâ(Ú1 øÀ<©(ºÑI -€O'¢­0ñè4}j -±^»àF¢»‚xÝ‘€õ¢¼µVõ°rAˆ5â \Ûÿ-€hpû¾@ÝÀßp¼VŽþ+=Ô>oÛ@l#‘ì÷ÀýN×ÄÀþ@V6kÎ#3ÍícokË_ÞV:…TUB7€¸ýömå½qëqÿΚã.elc|¢üVÀ Ô »Âí6xÛüu­ÛÒMètƒÎ¿ÚûioøïÊ�•ƒ³³nGzJè*j¯ª�-ƒ°èHÝá�믚ïöTÞ´t\¬¬’Š~Ú’}»Üêí{‡ûçîÀmå’b8úu—TÊS©+U6­ÕCe˜{Cåàwº«Ñ”±×�0è -´qº}#�iµ=@Y Ÿúv{µµÚZNõßæ/}Ù¨¸çoÔ -€Ò“ÑƽSæÈ »}{SE¤•Ö9åÂE >ü? ‰pä­#ÉÿÎÿiÀ3Ú - vfðߨoØè±QŠ  (Ahw=§‡âG€a'ªF}BÔ/M©èÖ¤èŽÜ - `�*½E É>zað˜I -€îð@]÷h€¦Ð. -@í�|b‚p¤À¸@Û|úÝðHÀwý>˜[øa¬2à(þé?ñ[Ù€Ô€c(lѯ٠-à]}4(‘Xp9Z·ïërá á°´l�ÿÏÞÀlb~¬xoÆÕS(ø¯ðléá­˜•3øVY¾îpQØL_>a !x¢ó¬­ªØ9gØî­ú”ïE ´,0Ó1€cO·òÎqGwÚ[lÍëöÛÃöò°«Ü] ¦£<œªq€nU�Òíu–çÄŒwÚbTC´;Ëݦ ×¡ìQyféH Éýêgæ^LdA„Aï‰C6æg•}.U -ÇEBöÔÑ×ÑS,Ðñ(þ ÿà?u“€Œ>R2`ª(”ˆÁ�$Vîh›ªˆ†°PjšŠ½“€@˜*€C·è1>©Œù<ÁàÖÁ -€«(J¯�úpŽîì¸0Á V`ÑkŒ*>›�K�û¬òÀú´÷)R( -Ó¢ø‘¸Â[û` (/ Cš -@ú€÷Å`;ûØB   -@´`jÖGVD?×ïÉ€Ðs¼]6AT+++^€ãf1?̳±<ýض²)€&YBæƒø>ÀHœÄûqKɲ ?Ö°9öb#Í -OÔUÚbG20ËØcü?ø[”ÿQ`S¶à¤ñ�‹¦ ´ðŽ>”Å iG¿¨«V>,æÚ4þY=`Âñ -¤O=Ö(.d@é9 „Ê,ÀEèÿû£ü·ÒØ àÔ¨ âÀ<�®ln}½-ö°õõ½Ü„ÊóJîP€Ón@.™„‡ø•y�Ê|Ìx>WŽÍë_Íz­þÀ1r¦´È[&[]ø÷¨Øã‘êÿØðHÓ‚²sÅPì°³»ûøDÕŸv¦–£ø1?ª�cß¹eß8+#(L€”ÿ…ÿÑà‹—Bÿt�ýã×7¿Ñ àï¿ÿOq�´êñüt؉Ó€†ÙÀþ¹± Év4ªåW6¿ÊÀ÷PNñUùŽŠqš·—ŸÐm‰JÖZÆ�:s€¢ßgNiS °lÓOÊ ß:jU×4ÀU³BÈ®°_9²5öî`}�.Ù´¤ŒpOÅz�v°ÞªàÿÓ_U˜·äÜU ½GÍ¿rÊÅîÞ@™ò€ÊýÖàÉ�öÞ õÓp(Î0øö¯Oö†{ß*k]} »{ƒ'ƒ½oß˺¬»úxQàšk‰ã¬­RJuµgןn[\øƒ´‡Ot_½Þ�;]=·îÿÞ†:‘JäAÄaµ+B$ä‡X?�tÐRÈÉÜ�zš—o¤ Ø4Û`¿€j ×x{iNÙgø8Îú0]:ÊŒ•f€>T€€àOds*ÓS¥�*�!IÆ|TVš>48fÀ»øè¯‹ê@+€¸Wd+›µcí`jå~ n0Ö€è@;¦Œû(XÆ€õ1 OGOWû|(Þ;BNã`'@3Ò÷ï S¦@yyr?ãßÈV;öÐÚãõ 0æ஀ßÁ@ƒNŽEõ�©€…j­­L뙀ó‹UÓŒ+Ó• J�ÿ1¡µ€«r?íXî,m1ƒÀ††±št?BP\›°roûë»›÷¾FB�aÑØ@'|×�M÷b5ÓæÄ3 “ç½K±·~n˜'ÖÈ3xî{Uæ*ûl«Qø¯ÊñY¦¯–r»ÿ,icY)‹ÿÙ…Àý@ ”±NP¬õËØ`c‰í²(íkêj�TØ3fŽÅRà?Ò>¹äï_½zíúõÏ…ÿŸÿân€èàÅsˆ~d/ÝÀï¿þþúÍo¿‹Ð p -µ [õC}ðÁ¹%"“ûÅ áÈ8 0øcÿý~Û½âöÛBpÁT€îuU¶Aã¦C±þ¢òú;mr[˜·*ÜÔóºt0N³8Á¦ò>-*Ã^ki…?²%•ÜÉÚfùrJW²€~¯?$?ßët\³¯¢æ ÿ¤³Öâ#ôÿ×Þ:P=TŽ.L8aזּq@ ùßœ�Z«{ìÝ ÚU.¯’™ÎÜG6èé`e£óÁ·OD%¾ý÷Ÿ¾<ùioïÎðߟ€o]¾@íõÀœÏàJù®ûSS®üs0øÉù-· t´—âz‚5eý*Û ³'Cn�otÛs~�rY¤ÅÕÿ6Êña·…þ›à¿ 1KÉø§ ~®¡ä{r7JÞ(KVô#¦9=æÔѸa:¼A%¨(–Ñd‚øc›ô8 €,û( -@+HäÑ Uïâ ó¦¿L ôk§k�õ ¨‘­ØûX -g]÷ø>º�†ÀWÄ3m¥†lLø_É@&¼qÉSèÈ£1ø^_VçÀb€=×ßÓnOKe;“(€ùc"|‚xLcEYò”¹²kbm®«6il€® €Öl‡ A1Gùê P¦[JjhO—«E8Ž%¾mŸ\¼xøÇ € -Úû_¸/À—/ÿþú5ß /QþxŠüJ'q›TDO€®xç~¦h€Ñ - (c>©x·#Zìëàh󤢵ÖþlP)ÇF+€Q0Y8žÀûè Íx†ŒøYö @söÐFše“»Oñ-“ -r#Î?Ú ™S2f‚ùÀ|ÏÅÔsš�m ¡”V2ëí¾h´38W/Téè�Éc`ßK1  �a ßfGïÉ® }Ø=A­¤Ñb œw~ff>t[¡ i…òú¯·Uú·ßd×…J /h�sÕ*F¹!FeÆ›b)Ö{×z“§Þ’¥}Ã?< @ÙwÎ_* ù(1;FšxH<¯–b‘QµTVzÖs1Ñ9K+ˆ6©ÈlmT¾Ç½ÈÈC™„±G©ëwöª‰÷ÑcN0•eWÿGÚÅK´¸"ô¿vãÚ�n<}ñüÙ‹—P€gôL@Lè/ðk|�h €3ö;�§;ÏÁOunaeóö¦"Å–‘f„@\@Ϳƕ%L »”/ n!ª Pö¤b¿Ö»‹û-Ü´»rÛ>Å.åh«&ÊöL4U™/€€²5+¿7p±zІÜÒ>C¾ 㽕çé`•é C\•qŠ> ܹR€r8üÿETÄ*’ Ú?‰Mô{æ½îO|¬ÿ;åïwž †Oî|«ûøéIwï¯w~ú÷Ÿ†ßÞ;ÐYu/Û!wtûZ%€ @n èêAö„ñw(züùÖ€= è)•ks€ÕNwàO´8ÝÕe­ëªäŸÃf–ÿ‹àV£ -€~ç¢<öôsz—é €Ö¹¦àé¨IJÔLFcoÔæÄþb†þ°ˆ&i±{‰þ²Z(U€¢dŸ@Õ -`Ÿ ¸«ñ�‰Z8V?‡*& @ñOå܃ú�µ.r`+ 3˜Ö@«&*A ¸D.mýƒ|¾xo>º;CŽ €ÁÉø�pà·¬hÛ1¾Èð¥¿(>üþZ0ñI îXíP•­Ñ¢ë¿…Xå1Îúºe2ÅXW3ÔG‚ëEL+õYPy}~�QCXZùÏqk”Ùr†[·ùEx¬5ó³£UÂxŸqéöݯ·ïmnnßC€p;�·@`u™Ä´Ì�o4G±–¡Ìäúz>fËàðŸÐoPÀÃïjÀÂ�rƒy‚xLcEYò”¹²kbm®«6i¼OÈodîVÿŒêÅô8Î2E ì³ìƒ’Ó¦�„`:Ëòý‘öÉÅKŸ^º|åj´xJ;À§Ï^<ûûs>H=€�/€_½Böéø÷ß4ã1üˆ ¶“§ÐŒ· …ÀÿÖHéYúG/@‘„–ÿ+`5ýðh·Ÿ,SþUYŒr°p3 ÈÑÖ* ìZÛŽ£(§΃´øû"ÑœàÎ~`‘}ºÙ@Å¢¢Ð§ß2 -À`ðÇÿ;"OP~úvxGh¢ûQ9Tå.€;ƒ;¨ÿúÕ V’¤°Z€6_‰éZèìSø,P¥¬ôFjf”Aâù¼ X¦8#\'@š*ǘõ/ ¿WÌ"EÆáŠ£ñþ#ž‡@4ûm±V¢L±D0UJÄ`H€1Á—€$•@×=Rð.>*úê^ŽnàUöP¬x‹~€ÒTF|8‡€vL8Ê€‡QÊé¢À1}ÆzœäP)ïê o.´(KŽû€÷Å€o¸d€*€­cøþ#fïkðn>š­V  !;\`¥Ö4h€lÅMW.gsßÝt¡s³‘,I…ä0T×ÒŽö[ÈÒXlÕîvòO°0?C# žËûÌC-|®lpO¥ Òþ | Ò?9D�oObó‘s4G¹9æsŸXUÏÇN1Nø·þ[�%þËB(eÿÀp,á[‰çÕR,2ª–ÊJÏz.'÷€è(™s¸È�îÆø*Û#çe ýÙ¥”ôcÂ>Ù w›Îß�¶KbW._½výßÄ@ÿ_ž† JM_¿xE‡€¿¾æÿúW>¤Òÿ›ß„ÿUù~âqÏ™l£ÐÞ\X“ø¯´œU¡%AœŠd S# -€¬ªPöÔ±Ðtuµ¥Ì½¡D@Q´åÀ`‚@Àú@ë ÏçS¸S+B}�¶V†¡ôQ² - R¾}²ú-_ö£ -àÎOÿþ×oévˆ³âP+\¨¡(ŸÐ/U(í;B€?ƒ¦Ð €¢Q„{tT¬¡�Ûñ�f€‰ÿéÝY ×CÃÀnM•/;#jzF³ωÄŸ¡2×0„I*s”)Æ}l0Ò@øz Š­þŒ Ün\8žX{°€f×E5lî Pñn¼@Qn¿'*&oÝÀX+z´Ðèã±téãù´ý-ªRt¢1€÷ð-€Ú.¨T<®,MúŒ€ò´Øž¾@QÌ.Þ[O€9Œùˆô�몶ÿ²Bbìâ{îïß‘CŽª½Ë²ž1úõ¶otމ¯'ó=æ­mºéæMœ x¯ø -'æMÜ/…ý•M:T.Ï×99×8çOŠ�WyDŒÊ ¿gôóR=òPæc³§¹²¬Ë]ø°ŸøßTDÄ ‰½'¦'ˆÇ4V”%O™+K±&ÖæºÆÄ -Àò²¿øHQ'À@Cg†1‰ÙF@(âÎMÝPϲE냘Õ&&ÓY*üGZ|ð²Àg×n\¿qƒž€Äž¹+`¾(ðêåKÊÿoìøÛ¯ÿ ø‡%€$µÀ½ÚNÎàë-EŒ{  Xw¢?–©HV�Ó /®€oÛ”ïX }¥„€«(÷ émgć*®˜¤à`Ð;Lhu')«:EVˆq |F€îÚrøØ×ïh@·2¢t› -@§¡,¯-w—EUîø7¢l‰  ÎlmÔ -À¹ -ÿÂÿàîØ (?ôÁÍ•E€P£K2äp¤>¯UTpt(=æý Ûñ¿aŽ>‰þ2`ªVC’Œù((G€Æ·JÀ»ùPpT+¯±Àý¡4[¼…€‚e\Pän*yìD€ÃûØßàD?’®òÎ>2#uSPIa¤@úd?Âÿ»| èþôßPFÌ‚ñhO€:¦>¤iʪ2·b.¦žÓ|l‹aÌÀ�¯Éú~¶z¶býL¸9wÔ�£jï²Ì• NդÀe¤yM5WÔî ç6´ëÍÀ¬ÐvÃí?öç�-ÎÂ+´°ùµJ8{%СÊ$ÒÀØí,¢ÌŒŒËšæüä•1�9ù0Àß°_@“<üwÀ‚æ1Æì¿¯Šßÿ£÷½ÊK^»ÆRÙæuž°$Þ©¢? -€}´.šF®æüP?›—¼š-z �]ÓÜ8¦°c®ˆ=¦²,ßOa—>ýÔüÿpãúS×üòì)ޝ^QøÇàÅëW¯_¾Â €úÿß}ó;ß°qAžÈOO…àþæC¸—è/K ÌÈ©H¨W­PΩRC€ðhwj ¢â$@Å·÷ ¸à� -W÷h(ðe�VzOPDÿö7�=àÐUºû€} -€}R÷p@C üß±–¥lcsKcT¥Ù†øSw§¤‹' ²¿#ýPn¯ÌŸ#+0 >“Á”4Éw?]fG€ÉUa>›§Æ~›ùðVûúد5µýÝúÐE ‡øp¡ŠôUÀc­€‹³€6Ó@pû瀠³¿íR -I›ŒÓû}ÄŠÀ7¡lMÿ-ˆA*u+€÷ä°¼<ê @í ×W–K†Ý÷dºP(hVšÖ¢"ÄÁá�/ä½U›æõ*ÿŒä÷Ê>(sœM`ûžÝ½Y[ âçÏãèì¡•Ic¡Þ˜KÍù°²2fË8¡ßfÙ?äÿ �ý?Æä;ºç 4÷øA7ßÿ óQ¬õú²–…²Oé! vò:O´š-î`#šúk€‘½9ó‚&˜ÞR|ò€±%Å€xHg‹~Ú?FÀ ðòåkô€ÀÓ§¿<N_€Ïܰ;Pùÿ5¾þ @€*ýöÛxŒxÄê¡N+(A}}�þfï)V¦ÄLz,Sfü/ -@+}†‚Ò (´˜ „€Jà @çx'€¬H@›ÞFp+€Áà‰reGŠ?ê¿KDŬ¬@'=LÐS÷Ðu¿ÿ#>ËkÅ€£G€Û4Ð;J@1,ÊèôÔ›Ø@¯È  :*µ(3'ù’@¬g ‘�sT -À¹làž2ž„•XcKô—½Û·Ò «ÞÑ@=T €×„`*€àÓôP·x«~Ì“Š �Ü Ž} € ­tÖPtÊ÷ï Wø@¶°˜ú[ŠÐ ãÿø×ßÙ` €Tø \Sæò¾ÖiZ}ý—•Æ\r õÜ!Cc’³eI—[ÈV.‡§€©<Ÿ_ìX—„qsÅ @÷£,˜øO}€•SÌ‚3úk€ÊèùUçD8>ó(�Õ1ÖÈwÕœä\sÔ˜/lty´ü?þ&�ü2s1c{<ÿz>~em®YY/Ä˹X¼ÿhçûðx¬ ž••6:W$_ô"°¯9ÌXY)«ØÃ' �;ù‘Ù:�eñþH£€O/}z™f?\ÿüÆÓž>öìÙÓgTÿ¿zõŠ*:xóŠ>�A{•üÿñ;Ÿ¤gÀ0.X=b<ý¤pOÑâë» ÿc -€ § ý Uc -@à @À?­€¦o©(ë+>Ó+û}à Ê)ï(÷²™ìþ¼ûèÁ㺩 fDh*ÅàN*öÈV#>©4}Tœ£@jMs¨غ}{iajIY @£Äkã¶ÞÃïssy~vNy -€c¶c¨ÌÇŸ¦ˆODˆè sÎS™6»«a®âX’6‚ÿ€R( -Aöõ0é[Ñ -àÏÂNE¦wõ8Lйó&&žú°Ód@wø>Z5±Àÿnß(¦ 7Î#аÿ[È�~Ž÷5@÷ »xŸ=2@[°KÊÐ.ek(ë*«YÂû5](ªðé- -Àß &`„‡A|³µi�ñ^{³_²»ö³·M{ÍÏê̬Ó!¡Ð -€ëÈÎÍ*/±@ñÇØþç�eù‘*ìAtÑ�1.@c¬¬õš²ZÓ&ä—iµ“GÄB7$“g�;üs08fÎHa>3<=GÉ/cýx8—÷•»’=†pËþ‘vñâ§—ÝÐõûA$€®ž þñxùRÃk¡¿hÀ+ºÒ�>~ýõ÷ß~}óÛïþ4€¾ç¸õ´§M¶¾ÞüZ‰�t(†nK@O€’QüBH €²°ŠXNå0M+€}* [,à×T:?+~$þ‹(r iÂRe`tú€÷Å`;ûØÊž‘¢€)| œØ ¡öpO€:¦>¤iäT±Åy–§™{å¶Àǃ|š`Ÿ^² -Xß—¹ã>'ËZƒ¸·€} à?ã Ÿ¿0oàŸ]Ë�ê)TÈw_€VhU„À -¥ü­Ì/Xøƒlÿe5øó'»bœ”—ùø•µ¹žÑ×^ðH³¹²ÞëkØf,*Ö}¿û}V|ÏÊÚ ‚GOÈ9-Éyþež‹§Ó p\�ü£�F—høÙ�ϯý›ß|úô¹Kþ/_Qðʽ¾ÁðÍë_ßPüÇ ÛÊòÙ ÐßÂнº R��Ò1ñ‰Ñò’ò£J(­hY €ôÐnÂ;í~€À»(µ@(Ê;Eýjò 0 -LðçŸÅ–-´CøùÇ݊ภ-mÅP–…7€;¡Ð - øŒô0É ·ß`¹áp‡Ï,ö¬|©LNåžèÞ—ÏV+Îà]kS¹g§Wý+›+hJÞc -€#¦¢¦£±€C À¬ÛêÌSúÒ -àÈo„@O€TâG€cùøc@GôàY€¢".«ÞÆÑ3¨m<Ìàèo˜ðXûÀQ>Zèöþ¨oŒ™3 ÅÖ£¿°]ùL÷-N:¢¼—ž–•ýq�D{ŠÓ#>tÿWу¬ HΡž;dhLr¶±¤ … ¾MZ– Ö”äaAþX¦‚ ysiœ�=ðþó{× @;Íg€ÈÍæ=êÿ7Ý èo€äTÆñŸŒÔ$ ™À¨ -ÀÇ;�¨ 2®]Ï3ÕÿÑÎ}-äúØè5±?æ•ü½+¼ - - Éî¿á(j:Q�i¤Ù$VØVm‘ñx…x·"x¯i,á} -ãc@—¯þ›;ȾùÀ‹Ï^ªäÿêÅkÀ«7o^þ¯ßüúø]ÿJøÍ7íÛÌgª|ÜÔìé°HÁ”&õO+©G#KE¨úñ®¡Ìÿ¡>"M@™ãÔ -@_À<|ð#üCvºÎ3ÚK[[ßíþ¼û˜èæKcÎ#åk[[B²ƒ|”Y§°zP+€q€nw¹KÅ -mVÝëI +_ªü¿Á'~5 -@â?� -€±ú¶ -ÿ”Sê….Ï�(Ž£…šrìá -@8੆$ó®Mô¨[¼‹€JǺ—£|¼ è– -€ÍÚ±VüD“€ºÀX?¢Sø(XÆ€±ž9�cßÂ`B+�5Κ -€I×x/>µýÕ}À·F¾¨�ïú-÷øî>Q`ˆçœ²BF‰ß«]ôOð× -ÝUB÷øÜ!Cc’³eI—[(ýÐ -°à?å}!¿'® -àÖÊ½ÕæµÞŸ¬Á1Ïé¹g]ÀU8ÞSéÀ#]r \dÁªàbûÊÿ¦þ1’%ð°Ë -кÀ¹çÍëò}˜×—•i`þ¾•XÀ¿b](÷�Râ7Zæ= -ðkµ3WrÇÀÿƦ#-þ#íâ'/]¾|Íø7z|êÏã@€+\ôõßýÒÐïÿøG£# žcÆæžé šf€¢â e¤e â$M¥ëHHŽTî ( -ä¡”*•·í°hà€÷Ó - ?¼CÀ1|zóËËŠ›&VÄô´¦[þ¹v,æ8K†‰- ,4ÀH+€ûXÞF}ø. }dÎîÈø4˜ƒ¡ll~i �Ü À -h­lCpMñH¯sDplu C‡ZÐq‚vG„4Ÿ§2!?ä‚ïÿ`eþ˜ùàVúP€°�­ô^©xýÁÚC|¸³2;Òà[ô@ÁY×}gΦ­ÿ›øTöWŒ câ·\'� -í§ôpéƒt€ð´Xù Eh]ô«–÷wþ/ PMh•Õs‡XîÄdôHþº¸œÀÿ e?Ý�~®Ô÷*î¬aÞ§0„�þ þ €½Š`QVèÀUt=øÇ**Ñ� _á¿Fû}4жÂg!tàxSÒ�Q™†�Šþż[nŠíÛ¡l àãõh‚àQÎjÁ¦W”›’èyÀ‚öÞ-çGŠW‡Zï�´O.]¼téò3€ŸÝøá÷ð\$ïÿ¿ëÿâÕkþƒ¼yÅ÷€¨  €ß¢'`¾è‡ñís·šµp÷k¼©Ø¹ŽŸ Ç胠ô pú‰d¤!€~ÝðX?ÓúÃß�P¤R UG*ðù9=V€wþ1$ãÿìPàqåà¸êèªI…ÿ¶ -€®˜ -À¸@€nt4âÐ…„°ñ¥s<ý ›*ælлï—KóŽl‰þ8 ¯�ÙÆí•Mèê‚/Ejƒ5dÜÔ ÆÙ¾ÏÒ0@\$¢ –1ól€?önßpù:=º -à|ÂTÑ€W¤€bÅñûh¶xßÐC�FŸî�úÀâ�ø/;à[(| À=nïÜ=î·Ü1Éx+“‡Œ‰8¶0SÏi>¶ÅÀ÷D—þeÀ­/*ËU²´—µŒb¨ç“œ­—(ŠG€� Þ‚j]oÁ·)ÔÙ=ï¬aÜp…ùvð<§ îÀ}»+Ew²À>Ñ4 tÄóþ›Pþw>êqd©û}bctÇ”¹ÄsÏ{!V{!æê•¹¡Ì(Ö}Wùd?ÿç¸àQþ€}Læ‡Á -ØÛ(iqæÇ6j‰ïG>¸ˆ\¿qýúÓ„ýOŸ>}á~_>{ñÜü£Èÿû¯¿#þÿö�_ý•Œ'ñÍç#i)œ•Hï!lÓF$@QH2%”LAÕèH`º~”G½�V¥à‘ -ÀÎÎÃݼ{wn~H'{�Qtïîà ¸ë(15"«–F €Í -@å� -À!ßpG@£>xØÀ! -u²Û¡l„ dJu!fà§Ü@•=¹Ò@¯P媙hØh@úÎ9;4Œó4̘Ìf< «Ó¬VJ (Ùç0é[TdO€zù‚øPÞ¢€UÊÔÇñ8¬x¬p‘c¶ÐÆÃ|´ª©T=@H>ñ>SõðÖ>„ç�–ð�ý-þ�Ó€SC(+_V -À{i �‹“v¶óøÏ¹eI9Ä£í-ÍjÇŽÍ24&9[–ôŒ©ì‡)‘ ÃÍ y/`:ª.ä½…�ÂÛeQþ¯S4XZr=?k ;÷t¤»4ÛPæï  - 3ƒ÷jûËÿ‰ÿÎO�¡Nô`è­q w…ñ1�õõJÏî[YsS4x¸»³™'¯C/2aŽB>‚ª71Œ½w++¼qK…ÿHs3À+WÿW¯_»~ãÆçŸ?sG@Ïùà‹ç/h øRÅÿWoÞüþ+_PÉ-ÀËÅòaüÜ­X�«üÅ”ƒà 4gù_àOs§ŸHFŒ¬YÝÀPY؈P|Žì`šVúT -@ô¸vH+€µå^D À® |®’ö)Ü%¯PÜØÝ}¸»käÏ1Vã øVKí0¹€€¦@gµ[|”Ï‘ÕËQÈûnßÞÔÛ( -€ @túÿÅXû}ÉÞ¨›Ëó§¢ -€¨HTõa79 &‘CŠ•i“ŒÓ¥þk‚%úË€©¢P"C’ìë Z$H·È*€wñÐ_=LiP÷HÄ |›ª¶¤0âÀ9ºÇö€ÍŒ*>›�Kÿ¯ñ-€Yí§×’K“,±?miyß·Ü -@T€´#r0½ñAÌÉ¡éð^úPÞæ´�‰©`º9Îb£´‡;îoÝ-¸mdµÕs‡Xî”§åUô¢éôDBŽÂ;ø¯4©§×>õè@–Ÿ*–Át,@û4‹:‡ËöT †*ëŸ - `eEÈ¿²òÿ‚,ÿÝйù?¨à¤ò?ìü5�ì `ô–5 =‘<Æ1”•±“±•¹¡Ìè½>Üýnkye[ou´'@�¢‡åÏÊ?Û þMˇÄ\ÒòN%›�Òß�4€O/_¹ríòõk×>£' zxþìéß_ðE`Z¾z%î �Ê´€×�þ2D÷íç -;qzIx±õ5B�ÍÞ€J`Ñ'0åO�Ð2$ -ÇMQúÃQüï öhö8±€_~ÚCÁûÝ»ŠþcÀ�;_ù!7¶hA©?÷·EŒ=„`ÍV‡| À -@Ó@ð/ä³…y _nlÞ ’‚¢Œ ;õù@ë´Ûv¤ˆÔTpaq$&Šš?hޝÎÌ(Ë©ºþñ-º�e<™`Æ~èsh+ØÁ߈VBMWŒù\{<Nê-ï ×Äû½ÕYEA¦KÊŠ&zÙ­¹Syo؉§Nœ’ÍÌžš�››�e˜›k‰M,.Î΂Œp Å´ŽËÔº¦Æš(¶Zëë7AJ]Ö{ùÀ» Q÷¥Ë )àk*lwy˜þâÌbGЫ?\E»­ïõ‡Š Ü½â� Ô’½è².Àsòw1´[¤'š šdh'ƒ.×LÁ)t-ÑbRIw­PâqžS+0á™pƒ°ÅŹÙE=ÿ ‡‚av–P¡$P2�fggZkðw?.µº¿uZ'ú[ÛÔkAø+«ZŒô@ù@+§oÀz2!ôÈ?ÀÀ˜ÿÍÎ7ž†Á¸7å*„ �vD6|k6¦1ÏÍ<øŸ“˜-s±ã�uz¡ðàçñ Д€Ô½«F…0µh1BFêP t®¨0·Ð1®Ð�µÚK9Á©™sâäïÛ&ã¿B–qà?óÆûÚBx Ê8žÈ]a¼§åPVzÖ;7Vzߨ�3X¥|o€ø€A±Œb‘‚ŠÝ!Õ66åƒvÞ‹Š‚cY -üGŸ¼|õ_¯Ä×€ðxúô‡gO-Øà%.øÿ¿y#&ðëë߀ü7| ÈswìGñýc4TêÛùðgl3øòË»0`È5@c$ j -€ …å  ×šÖàhàèoÔ=NP2=‡)V)Yÿ(¯$€ŸwCØÝùм"€"+Q”£˜Q¶vþß×/‚¯Vt+£>M`ä["ËÜ« ר R=Ÿi^Y:‚+®6�âÿ9íJš lÞ^š›AQ0áUÂÅFàsiìî„ãçY¶‡E43GžD™ÀáÐV‡  Ñ U•€Ï¸ö•N(ò É: -”š¬uO%X78ÈXmøà”2·SgggÏ‚~ú‹ÈææØ@;@Šúb€PX+à€h¨ítnvn6€žWÛuoýÁúÚÍ&8[€e€áúÞ-¾W=\ÿ‹îÝ@»Á-º¢}Š¿":» ÀP@Pn@(ê ×P7kZlÝÏßS\Pªm™[ëq׎®Ž: «ç2Òïl€FXÍž=»(@€+Rú*HJsë·L¨×8Œ$ìW¦ç­e,ød?Ûø¸ ËbSô sí–Â{÷0àïì|£?³ÅœÚwÀ¡PÚç�ª ñ{á ±1‰51_–B],È,\8¯Äwb†ê\ûD†0>OAb[`›Ö‚øi´”ù4óp(ÓJù³óó|ä>€ÿ%K~�…ó@ÀAåyiŽðPñ+2ÝèÖ? ;‘<—Ò¼2÷ÕÌ}oŒ=YÝØÄXQR`Ô`‚Pá¼²ÎH%þ µ}�´®›iÊF� ê5SZÂû‘ö1Íé��ˆøC@xd%€ À+Q> xýÚß´`k>Y˜5„Î#7”T’ÝÚÆ'`S0—5Š5Šü‘ŠÊH  œ{û€éú düî -ÀA=‘ë$mSüà7%’x<Ò°òÈqDÈ & - ‚�lç°~TÖ÷ü |Vo“Ù)ÀCý÷`Q Rˆm™Åy1÷´•Û:67–Ï5ÕJ˜IÀØŸÕý4ûCö÷l2žL0c¿�Z�[ù-€Pè �*Ð, _+û=�QXk¢0“ö†ë·ÄÖzM€é€pöÔ쩳*OR ÛµÀ­U@×íPÅï½t‰›°×5*DQñ@B#@T`¶&zãëëý½¾î<€uÊÒ:·ž†3OT ùµ��Ð_\)Ú—{Ò%{©¬õ+` -�¡è¹Ïž8ÁÔÀL(u`i -dC7 -€À:ÓT -@Â~1%G=ð ö ñ¸¯ùé}€’BCxO=ë1áS°éîŒFaš³°¼lì¾5ŠùX8hœ;Õ3ÕJ/áZ˜ -@Ô„ uJ{'‘¢aŸ÷íê_pñ_ƒ–ÅÒG ,È…}ˆn ìd™?Žãs‚Vt½Ù(�÷lõû͸ÐO–ºÏàa*¢\*ÌSKϾQâç­Êâ>?-xe)ù{ˆ•±¯ÏâMÞ( `ûûTj�˜’6"…°ÀT3Î>½Ú¿àiÎh1ÏÃRá?ÒøàåO¯\¹víÚg×ðüá—gÏøð3> -üüÍÄ^¼~ýÊÍ©À+ð×ß~¯zv?~~q»¡ý �U† $ þÿJ{fð€úGj×µƒ6ø«ü¢¡×þø~Æ{TžJ€á>X,#9W €Xñð!u /$€JXùj'Àcœ8„cÒLò¼MÓµÀþûÊÞ4w××;ð[û|(·o+¯Ëì.g”É)ßÛÀY(¦Ñù´¿àqn�4Œñ¢üØ\š; Ð~T\éµg¼Ôñà}ñ5#c*ÿg]€ûÆ2VO²ì]¿ÐÏž©°€ìÏú5·Nù_öÕúŸ› -À­µîLCÐT¡ÙžXpêìÙÙ¹J ¾�ÐYW¸ÉJèpªQÐÒÙÖ÷nýE7=¦¸ -@<×@g¯@(¡ù× -€îL§l*MPj€`’à§�›«€Yñ!€*@8UU¬¦À=†°×; q¿ðT²§lQõ@+RO(Þ6Å·àÄʉÆ|Üà;ùÎË”º¿ÐÜ·E ¥OVÌñÆY8hœ;Õ3ÕÊX� -U‘�á= zA)>¶"Z€\h*籆 y]@»âé?;``eÀ‡œƒí+9ÿÞ»H¸Ÿd‰ÿválKPÂ\–àí±þ±Ð´\é ձƋ±"g¶ù - -ÀŽ^k*çCð?Òà—4¢UšIï>V“§:7ÆfNž. -À1ƒ1 øG›û¸z�~nüpãÆø>Gx!"ð‚�_ñ5@MDðöSP»NòØÜ¼'`ô×È -€HÀöð €$(Ûç€ABk@ɪ~ÞS+€QÀˆ_ð?@Ó”®^?ÿ¸«E+î`ƒFî 8bгÄÇû€¤TèrqÈîÃÝ|²@å r+€Y�‡JøÀMû*@ h^“Ìk €ƒã·±y»é@dÍØæ©Žµ0fÊ#\ù_×Éx2ÁŒý¶Z˜Ð -`¤€ª@Cˆ~Ü DWÿu@ „Uá_‹Süÿs(ðêÙ† ‘Àâä*€·Sn~±~sDÀ9±› -€}þ|�ÐO°,vzkD¨|\`2Qp‘¿ö`¡»_ÀiA.Tªnšÿ6€ÅÙ¹³„€Ö ªT¸VG´¬(˜BHÜOü-0^«}„ú• üŸ¾€ã4"{¼¿žèmß úGe¥x`(ð¿RP}s�àq£ž9h¾,—™j>–*€Ô6 _X°+5:£>¥|!ù>¬�yävÖú1•9k€#DΊ^ÌÏjž6îú€Šï7sBWUQÂ9Äû3CûDcK…ÿd¬„sÓBx ìVC w€7• ÍCL;Ä\Åš\ü¾®xü`Ÿ@~©ƒq½¤yž‹eŒÏ6€¬8¶ðÑtö¡[\¾|ù -ŸºþÃ�>ü?{Æ_¸?Àôˆ/À«—¯>Œ*�”Ïeƒî…þi†2We¹±eø‡Ð€&$¤qË*€I -À´ßxOý¤À½;3f¡,;`PËÚ àîCaýî�´Ø�V]ˆ<®€Š¦Pð÷yŠ/³ Pd. -ÀH+€Ê@·X¼÷+*öˆ|ùåÊŠ}(›´+Õ -É+@>Éï¶«üAð튀/©ÅRœ³ÀÔ³ )8¯@^�9RO©4}Tø§àÞPÿÀ-�{£€B„¢¿Êÿ¥þí+JÛTŒ(¥ -@¬ž ¨°{ö¬�Àð÷6>2.qS·• -Ï«{Ò°Ï áHëÄ|&*µ@S`Q§WÄaUÒÀ -ÀÙ§R(UÎîÂΞ�)>¢¡„€Âp˜@Z–ýÿuBûlg?[Ù€?,ô78Ê@q"lü/ý”žÉ“ò€QÌæ{.¦žû5v†PL‰ ¹Ê ÒºÁ(LsEX^�oÿ õÎØ›óõ¶œ)+s¶(à¿5ÕñÂxR'™ô‰“ZRY=Ø×Ÿ–Š‹ùT�ùñö�Ĭ‰~Ö¨€˜x?ýq¤ ã×Qv0þ;3e øóÛG*@ásÀŸ^¾zùÚÕëׯÑð/ÏžÿbàÅ ×¼xn -ð÷HÈÿ¯_åw~û=ì~>?^ܬ Àm1€D1ý7 þ+åÙ&*ËËEP)\yD¥ü‡ôÐô '@�ØæD\ã¿–yÓµU^s1€B¬@B€m‰¹+®ýo*ŠÄ»Ò£åáÃZÈV•€È­n+CûòöŠ -ý›·õ/3ä€}¨ˆè¥è& 6þÛ�×–øÏÞî -¸(ÄØ+= -@Â|±Yšþ3Ï6࿊Փ,Ñ_vd+€C¿P÷ˆ“¤¬ÕÒ¢ëþÿ}—þeRñ°_œQ¢ -à­€Q€)€Ú ðær»w„€âï -a  -€~VXQ€|F€tÌ`´®òè•VvÆ#€þ°~%MhÂ�†TìX€ÊàÈV‘÷@ •ðN­tY£|±o¾÷”iÍ$ : 7ÐÎÓ?ÿ5¦ØÈ:FÕLNr–‡…X€Ö‹,,0ôÏz|—ò…ô´ûןÀaŽCmq¦À|[4 Ö ‡i_úž 'Àÿ’åX†€Y¥sWDñžÌÀ®Ìo’™üÁÿŠŒùÐ À4q‹xàm8�…æ�!&�b®Œb�··£ -ÀÍ=LP=M�Œqù@f¢ÎOy7.ZÅ:ÙÛ*)ðmŸ\ºxYàÚÕkׯݸvƒ¾€…þî ðî¿@xùúõ«×/_¿z…€8ÀïAd~œx°¸ÛNž^YÜS¦¤xÏ@ÅH -Ÿ˜{Ðd¢°¼ý‚{Ío´ÒàÈ~ÞÉ j0Øë�¿Å2"Ø `yn~#áÿÏ?† þï>~ü8 ÈÕt² ë¸ø$ &Ð*ÀMòÐdYà¶29£>õþn©£ü.|Vnëed+€P”¾eJ´0öëg`)^y‰©…èXò˜b®øG`\ܸÐ>�ñF–è/U„Wc -H€íoP@ôX¬ÅjWý«˜íÒ?Z@S¸¥Cš -€¦“|²Àæ aŸÀˆ Îv =ÚÐ €µÎÑ>£­ J@d¨R‚Dþf›=[UŒ*·PõHä à70ü‹Î3±@¶°@(øLÕ@(&c­ÞÆ`ã«q°7E±P™Óï -^ JoKö°«f¢¡2]7fÕ‘Þ£($9%>« $NÅe^ÑŒý]’×3ó×QF~F†øý˜`d €;óì§ãuBq‚â ð_´2œ¸îüÂûUŒñ›Â6Áß;ζq€ïjð¾ì‘Þõ#;†€¬(‹1�ôá߈@vÊFÌËi -¼æ^Ó[Âûvéâ§—®\¾zõê5Á¿À”þŸÚðå‹¿ üQÿ£àu~�fî0�‡Šc„¥À×ض­#JvJ~âæî-Ëõ_cæUVú¢M€vOåÛJ8ô[𾻀/cÃ2!šcѯ¿˜¢ØîÏ‚û¹ùî–å~|ÿ›@(�q¨‹Qi)¾ÎÎ]®¥2‘x÷q¥Øš­š>�Þ2øOX+‡[ñ‡€â'FH œÕŒà§eÌ“`Î(�OÞÆ¶OF’ŒUQÍd€8gü7ä—ŸùÄìéìc¨‹ÀK*s¤É¸“è/;²€@ |* @¶Ðæõ?S/F-€Šþ6Ä—=Ž`Ó 8ºD¼Þéö'+ïÐ -`Ÿ€66ZLVN€îÍÃ}´ 䪼 Ý'·hú ŒútPôÜg³€RP™8Aå°Z÷ð—T+üaþ=*ð�­­e?oç`’…“A­¼M+Ò‡À(Ø ûõÿ61¯:Ð`¹½¼A¡<-f¢°]¦£ëÆlt¥ž´RÀÿ…… !ÏenmÇXü§÷_öçÿüËHÎVα=¥pª*æ›Ìžœ=w~aþ}*À;Ð~€`ÔOüg�pnšËLö0þ¿Gðà‘ÞýÎw @” s¶Härþ)ëŒ�ùl¹1†XÁ¸(e·i-ÑýH»x'ÀO¯^ùì*ŸüìÆèÿ¿ð=€¯è@ ÿâÅkÀÍ¿~õš�ª^&*Q€?®  *”ºèƒš.‚ûñ_ŒP„â€ÿˆ~Š€ -Òä"µeJ. -@,çCïPDε6DŠðU´l(ÄÓ‡Á&®£lÍÓ¸’U†1€RÄ·PÖFþ&ÚuûKPâÅ+ Õ -ÀíJPd ܦ--þµëæíÛ©r[â%�Ày¤?„ÿøSû¯3†Í†8@†tP±'Ñ_ön߈V)ÿ§µ–|„ -þ œt}ý8* -@q<º€�¿RÞÉà "c -ÀÁ>î` -ÍiQœiyqnÕà`à@€º€J¨ò|¬ð -uã•@‚>Ü ¡ßô—*@¿Â™(€ò·À î`Šo8R»(b"\û»€»_‘¬ cÅýo¼ZPš�ÒRtºåî– Þ–ñÝ -¯WS�›ëÊ(gª#5‚¾Ï+]Ò ô™ý‚Nœˆ?Ð�ß¿&Ð#ÍÄùe{Æž!Û½MÁHO@§èå#‚ÔM/ˆh'§v]ö}¶X?̸8Ê€Îéâ}¼S™k'š굎´ˆ$»ñùOŸþð2Àóg/^>�Þi 芀ç/^óuÀWoÞ¼ôÇÓêG+w+°²µyoûë�øíloS°}Ï -@1¡¼"±‚­,gO€Ê#*`ê~Tˆ×V­Vk©E]FÃ"!»Jž%ËkSSé~cyÖ €ÿF3@¥ð7кZx`©ðà '@‹ÿVòJŽÄ´ðL˜7Lü€P›|@ïÛ2…> ¬ã€ÿ·Ás² —àÿ‰†*20ÄÇ€é3@‡-Ù`éÜ9+zßÛ’?„€,Â?ÔåHZÌq¥wopä·è@QaŒ´9GÏmzn@@Ó`¤'@�þ€VoåP9¢¼»€Aס·Ö9Ú ®€µØ* êÀ>#NsÑ d£R Ðw} @B?àÏ0T2vBnÚÍN§¡àp ({¼½Ìã+3€q Úìܧ)à7^á‰3‰} -gl//mÜ¿o¨ÆbFXÜ˜Ž®³æJûÌÖ -)ÙÈ}zVkÉ«?ø¿)´_|žØƒÅ$«¨Ëÿc”@,pµJ8·�>b^©�fé(zëÞààãõ?È ¶kl�9ä�>Û[_ÞÖ9߇¡è¬µÐì ÆÏúgÍ4¶‘u²ÀZ2Õ`mZáÕ¹>xÂ1, øGøO#Ú¢üpãÙçú?ö,Ààñâï¨|ðõ«Wÿßׯñ|õÛoYð†GŠGó³ÊNþŸtT+_+)† ä©|dtåýý? ¡4}¦îà�¿ ô_jÍ�kNɲ\Œå|JÒ¶ÞþÖF+€æ­@ dÙ -°n ýÿ°  i†¸¤¦å:ŽÄ�G/Ûß €ìf• d{Zø}^à.rzR¥ùóJóìÝŽVËEp|E,�?…ÿHýõC  MT(¨ñ_ûh‰þ2�CÃ@…ÿ1€ †0ñ[Å€þ´VKeÿÒ ½î¹ - éÐT„À‡´Hà;ùhãA­*€FO€ïà > Ä’ÂdÌà¨V�„†@¥dG@™ÈD´àud¥Pp˜@b?fäøßWüïõÜ�âÚVõ-€�ûÛÊÚ§ô à�þ� pJÒÜ}€³3çÅúÑü5[€šÃ+Àœz -ÀöÝ-¯ßÙxÐÓ&ò¡õ<�{ Гx‰ÆH¢øz– 5þ�˜?Ï)\ðØ�I2¯¥¦ Væq.Š>„Pffhð}ß3#€¿w%œmølêÝû…¼'S®ìVVŒõèVæôH$’ÄùØf‹²}Þ/Lm ïGí…ÿb×n\¿îÏßxÊøßð÷P\À‡ ¯_½¡;€°x �y$ ->[Ep£�í{Ûè.ˆÒ6!¼“!±ÿÛ×`û?¢• (ü[P²œÄ›ë‚¹MqNiZ`F\þGÀþÇŸþÿ„°äoNR à*˜TÌ"-ÛT×qÖ9 -€×‡�ø´»ø2ŠôÖ²€ -*´/,ˆðU ×0+ø·NP+˜iWÓÀN÷Ë�lÀ Zð7þT€%úËm0ÒÀ¤oèÍVfìk·uˆKÿ…"M€)€wi0ÉàXý¼êt‡Þ­¦ðØß -@aÓ+‘‚I>¬á®ðHì—û)Pü…ÿ~禒­´€LÙ -À ôWÔ>~O€¤;$gQ�ŠìS\ë_Û7¦€®nBZ ðýÎ?¨ -€Ó¥SµFBhÐ)¶ó–fÂóŸ`)È_¬( ó’;õûëTèýYP+4û9©+¾¿o)tKÉþàVþà?ûÎMs™I«k@„'’wþÑ`+ @*ZaBZÿ�Œ™ç‘œT4ý  Þ(ÏœóÕ’¹²7{ÆÒÔ–ð~¤]„\¢à—ÿ?çc|À_|ù,À Q€î€doÞà -�æ‘1�yœéøŸb  S’,ø/šmÀÓÉ¿å�ò‹ZhMÛ@û�ú0ü/-ÀZ­�eP8-ÓrÔ^ȧ´8ÙR<ð_Qðˆ*bÇî÷ù1€ˆ§f…Œð>y•ˆÔ*ÿ× -€OTYÓ ¡~²…ª¯Q8‚ÿ*³Ÿ^Xøá;ïÐâ"i(s³­¢h[KÝfÕ>¨þåg!pÚ‚ÂbÇ’‰à�)Ão(ª1àÐoüÃÀþ0¡0 ACsChCh~ œ ”oüGú4z|> -X͉{p'ÇmÐðéVy\Zöè«4½€|üe@p•þ9 ¸_YÿÓ¶ã[*û‡Àýhu¥(z÷HÖ”Œåþe¾á«tgÈqº�ìðíÎ7*õ?ìP¯w$öΦ¥W²éÜÓ%~•ùáèP€S³‚kÙíëp±i⿬ùò›æÍ¾D¥üàŸþ„ÉfgOÏúÂçi(ðzçAAÂjd¦…°3áÜ´XÑðл_š÷+y/VÀßF¾@z¨àŸrÖÈ9½52Dç§¶\,ÆþÔ -Œ¯?Âß�´�?9sùÓO?½rùÚµë7®Qþÿáé7>ÿáÙ/tàΟÑ5Ð àÅó—/ÞÐ+°û| Àòcb«€G�v¾ßù~ûû„€úk€™ Í}'›(€€òˆ¦>Gõ lò­üh¨hµ”,'3€,«Íùþ‰JØ;[ó§–6îì]°K+•,’ ¸èŸ -d€o‚NThx× -» ¡xue÷ï×>‰ô˜áß@ß©P’]¸ ÌMd’Ñ -ü�>¬þ´¢Ô?ºÿgÀ(þËrÿ<ùKô—Õ>Çþ€¡c„°5¬ÝªJÿpÒH?#ßxÿ­&ùhã‘­*'À÷ãàV�Éý(úd4€ >c -U“Ô†¦À‡ù$ø7Úþ‹ìƒÿFñ?Í­vîã[åó˜ àèžIÒX¤u_€Æ2�Ï’î4tE´¡9�*V–Gû(>`?Tý‹´æM–Z ­ÖF£ sCp²¶‰ÖßY‡£´ãª&ÙýÒYG!µàÓc¯ÝÝTT 9dþM¬¨œ`ÈVvqúÜ¿,,¤t…‘S’‰~¹’­–ƒ1˜¬jhà(ýYþô›D €‡)€·üÀÄ9&‹h*h‹Ð p\x»o¼� `Ê~Æz|wî¡ôp¼V�„ƒû HËžCmH€{Ôšƒ|ýCþÏ*€xÏ�üað¦ºøo© > `šoD¤Vn¤¼¨Ù -@“I>NmJ¹aš7ä(Éä Mü® H3Œ¤ Y�ÍܽûÍ{`çsÑ -ÀqRãü…•  ÛJ¥J‹Ðpiáø/ò&ÿ…ý6 ÿ\6ê—™”%¶+ùê?_úNEk +ç9·’û‰÷Ø kN4aÞ#2T gÛ!>z„¿”w3JrÛþ¢ -€{  -@ù\AÆÈQGÎ `ˆŸèÎ’—›Æ>~�dzìèïH;sñÒEº¾zMFG@×o¸ ÀÓ§Ï?§+€gÌ¡¼xñüÙK€gÏÝ3ð‹|(­<›ÏæV÷î�ôF¨[XH›š3ÒO6¶(¿¨>†;U?oÛ -@ùD{i~Qõ?9@k9¾ÿgËÔ…õ} -Àƒ•>D¬®X^jo(­+¸{×¢û»ü€rt~%6’¬’ç‚Zü`�*Òõ?ËôTöO*ÿÛ�˜Â |˜Á^¥‚QˆªüÁrÓ™¨G¶�é>Þa€8}óM<Ð~€à­¼”Õ ÍoM«Ç€™Ó¼©w³hP€‡�vmC -(2`¹R0¬Ë<~Î}ŠfF WÈåi-Ë÷GÚ'g.]ùôÓËW®\½*ü�΀cøEÀÿô© *ÀË—øGÃ@Íeù_Æ•çôCÙ@Ééþ×ß§)´cØT¨¢È„ïJkFúÃl¤€Þ”ýLÓ -`¿€®Ö†,›¨ì� 0/ -°Q·Ì´œP-€Vw,P<€|µ<7#¸·à. - n` ›OÄ�ò㌕ù -•À^ŽÇ:¾ôàCÃ|KÞNLþ« …ý‰ƒÞ�ýK¾¨4@õ=)Õ‘Ô}˜`™S2) -@TxOå/�ÿ̸/`YŒe”ÿ•íþ&2vƒ=h‰þ2—íS&‚W# -ÀÄoÖ«,/?&R€Vû+Á%nûûx»o¼M+—˜î[q"’µüßé`_+€ì �WX)‡ú$üWò?ÅoäÛ_üw8¬‘‘¿6±íœ“)©‘Èî'R�¦Óv™6‚$ÆQSÒ4��ÿ?êçdœÐp3ªŒ€½(¥ÿ¦,çå„õy*`©])ß|S!ù[þ€r:‘9+§ î„' -`°PÊüàÄy€ µàÚ€q›Í~däŽ:€V K¡ÿk\#@QŽ _£&Ötü7Îf†~Þ/¿} VŒû({:ïåííÑc"Ï£ª -À+·V¨J%5�(œ0`ÁÈ<½-ŸQŸr¦Z몖ÞBøhJ;sñÒ§—.]¾ÄÇ€® -ÿ?»Á÷€žÞ ;€gÔðÞçè9~��F‚4Äü€ÕC¸G3ÀG�‚|M/€[ } -À” `T€?¤¡½€¥¥ö’;Õ@@Xˆm™š '*³"*í“ËüüßþùÁÝ�ÖÆÖƒ$# -€Œ®€æ'(Z‹`¹†#0ëGlöJ›oț☈Ѹßíû!ÁÀ´£Ü¹óûɓʊ@–0üçg[EÐn€tÇ8Naä¯H¾FÊ2NϨì�S ëØ]{æÉ'X¢¿ìm¾°¸¨×oôÇ@†É ÀŽTŒøü/ú-€Ê ð½ød+ýõ¨G÷p€€€CúÈž¹VÝ -Àßp+€}>�þ‚—ýù+yk½q?Mà?¡øÿÅYϘ_Ìp�À�)‡&ÍdôØåÔ(¦PzŒšöKÀ ~öIâ ì"ÛçîGm¿¦šÜí 0E}€h°T|dïÊ€òTH�†a’hùÈÀ̉sÒ-@ÕúF�›Vpß -óÚÉ|ú¤ô(°p!HfêQûàêþv?ðÿz -Èn;ÈÀo‘qìJ8—×�ù­í÷À[™ù.6¦|‡U þ̃æL\³oPH€²Þƒ€?² -ÀO/_½òÙ5>xýÆçÆýÏíø9ßxf-À^ÏŸ¾ø…Ͻ¤k€Êüˆñ�LnßÛèg @| è¾þ[VRÈ6GÙÒrC˜¶€·ðˆ«… ÿ¼Uš¸?€Ú “rÁêQ`gçËŸØQöbð_é PD'ûUQÆ'(¶¸Œ3Ž"< @±9”ùnbkØò²½ö£ ‰ƒ E?ª”dÉN¨àa h>1sîÂÒ9€N?ÞPšv�Ÿ]2pÌt¤TRgÂÌ锂Èì€g€ÉÌfÂ@$™l‰þ2åü ¬U ²º@”ÃrýM2æÒ€Y«½ö•\"}÷oüá>ï÷[ -Xî�¥º - (ºÌ¡­ “ú(øïËž}­à -À>€Äÿ&ü{} Øäâÿ:ë8�ÁªüŸ¤ÖTîþì¯u†�#ÓSP¡tÇÑœe² d;îîkö[€Ëi!Àçå„õyаÔZÎV(÷·²ÖÚßî¢Û@øO2 °°¹E7�+ °]+ƪ–ŽøÉ -À”ý»€^WªS€Öü”>+?€H͹ PLqNÈNd•÷&Úíîþ×ÿN?tòµ>€M@)bÏA -€ --úûf°œ@¿4ßL¿¨ÁÃ]ÃyÒ!¦@/@"z þf÷ ®Âç¢÷Ês +AígfüýÂôdóË•À‰ôp„sÁ¾B~“ã>EÚ£(©qFí88´À„~€&` 2ðA–K2ã? tYGLÿßâ[3À·è Z¿€™q€ì €oöð­á®Ç|ðoñ_a†%òÛTú+þón×…ÿ_D@ùmÀµ”f<- -@iMfàáßHM†r�#R˜o#e*aM¡8E5$DzÀ¼×kª%Õ8§ÁÀ¥ %•¶î‡pwë¾1ømÿ º@@>î1CbÕ˜& à<ü@¸BWaú©û/–é88%3�ÓžÕ:�]*íñ¯SêLÿ/° -þ+õs²‰ oós0F‹J¿%¿¼˜Œ™7Æ^±+áÜ4¿5­Þ§hxg?€Gz³øŽ*¥íúk€$ -¥Œ€OyN*6 <ͪF�ž: ¹\ÏÓòþ4FO€à?¼rõÚ¿]»AÑÿÆÓ?\‡èÿìÙ³_~xvC”-¯jp Løþ<Ñ?žÓæf€°JÿÓ²€¬XRõe$�IÒ…††ð‡ô@Ê—-w¡m®( - àŠ÷Pü¬È›°D¡¢Ê2¬lm´æñøûQ9ËC0ÀÖnt–ûëtQç9@Ðõ¸¢öq~ �@ða™çd©Â?ÿe(G=üÝÞÜÚ\Y9­Èwú<4àôÂ<ïrfaÅŸ•ü§-·Zzk©D¤¬Éèôy:„ù3@Æv„ëd‰þ²ã}  ˜)@Ö’ç™ µþ*Ða= d+!ÿ;)2]cÊ~Æz|/ß0ÄÒÀ[ àð~²'@_¥¡ˆLðHü7ükXÝ_ü§ð?¹øÿ…~$€0'Œ:对LRQB -�8 8=º0oØ(æô,±à -ÀÀŽ -ñZó à¼)ËVÒà.YŒqö-ÿ@:ý�Ü*ü7PR×Öó ”}gæWL0ñ†0‘ΠQQþ!ñšÐ§>½¦\!õ~•÷ùþ°ÏRýN àZHþvÆ» �ÿ¼§°‰•± ï‘Ñ~+&ùè ßÍÀßy´ûh W/­ØZYp>ð˜ Ãðïµ™ 2õ€Ì7�#röX–>~GÚÇBàÿÒ•+Wþ�âÿ ¡ÿ]ÿüú¾� ¤,ðìD-Óx †|FN€÷6·¾¾/ìÌ97€ZÀTšDÚö3àË@Çêàx=ú-Éu©î’Šû-óQ€9û¨Tß -?Ù©`ÆEÃÅvîohÇ-\AG´h|  6•M1C}“4(€ /€Á¨ÀÿªßxÏýtè`¿Àߨßà¸ÀÄ~”æöûü»ì¯Á7$ ä·õ�ÿ±:M�¿'èÿ €S@Ó × 6©B𪂲PœÊ9ØÉc,|ýT û}èôO˜åÙÊR0Õç± «¬N¥²�TîÃÞÖ„ÏJq€)ÎI{Áœ^1'_$ípºRÄì;à1ƒm'?ú¹€†<ˆzæ0€D{W+DsB:Òª“ø²¯«ÂJ™þ8?^À7”1?h*“M=ÄHcÂ9Þ^˜ßÚdK¿ó·´‡EØØúîo»ß÷ÝΣ�íŽ1Á1 ?ðŸ)F"!dâ?ÐtÜÛŸ}ô -sI–Gi.ÞOatð) €�\»* - òÿ�§ŸßÀàºxMYCAbþTî€ÏŸýòìé/ñã)Ësú¡ŠàÖvV|°YP¨§ ¢¤†,åhT`KËUO€Óõ0M+€â°¼àoóå¸j‹z÷ °¨Õ…õ ÙM¡"”A¶6”�…ÖBj-îîò1 ÷¤2GºëŸûë.ÈŸÐV1€­­o|_ƒüBGÂâøÈVœ£d>7�e1ÿ`£ñøÿýÊ9¿±”›N/±xn¢Â͸`3¬SÝh Íò ™õ„Jf^ôD’É–è/SþßðPáLÈ2"{5@-`ž˜ hÅ -’BP„Àÿ«| `¬'À÷ô-€ì @QŽjI˜ÔÀ„VÕ瀛 -À¤oþSñoø/o¶6Q¥1ùŸ}qþ§þÿ/ë™Û+ Ô>s¤¶Xz ü%!  £ -€R[&h�«8AÞÿ†Ò?G‚ÿZW¾XòNXŸg’€ Á»1°ù´P¸˜› -šÍÄ(÷£Ó¯¬œ?¿pFòËth ÿ$ès€¿áßJ€Òp(\‚òó©hñ¿äÖHýNÙ  VÆ m*#À5jî#̸Ÿ#álË(+&ûð¸~9oghþÛ;»� »»ß=ö×CˆQ%Œ`éñ¼LøT6H>2ç�eYŤ�9ƒ@W@W®B®ßPiÿ†YÀu¾ ðôs!¾×àpCË?|þôÙÏ¢u#ýê§d„¡l‰|øÿèÑ×÷··õßú€â§%Á»`Åx5…)ßAxïý„ ·HT#‰újøä,Ùü‡à °¬²=ISI: -ëçH×2E±�-•¾Ñ�¨ì'›¡ -`c¹%� -€S¿÷¶�™O€rÒ0­m*úX?|*ø�üÄÙÜßy!|è@Àí­�¿·ãßÌi^�^àI7˜YY"³�ùÃĬ�Ä­P¼(@À~:€JP”]jBáŸDá=|  Ù€áÜПƒþf4àxšÚ€ ðZAÉ^»q h¯ò>N©%À þÂ-ÊÕ#ý&0í�à7‰Úñw•x%aÕ0f»ÎMó[Óêý -€˜¯ó­m;z~üHà  ²YH$4û—öXåû£íÌ'ù-¾HW€×ü1\þ_·ð¯¼>üÛ7àó§Oøåù3ªl�§ÌÑÉsV¨  -À¶µ­4ñõ–‚@¤¿~]Á -,à ß’ØAY°À”ýLÓ -Ã[ÿ‚âLIŽø¸.`Ù¾€¡´VLHâ.™cåÀˆs÷·6–7á¼if¢+64E€Š 8¤%¸¦hÛÇè R÷t‘³m²®¶h)î¶FaÜ,ð¯ÁÅ8€€(@kvPLº4­»â¦UÎgUí¶ ¥:5Ó¦È-ÔíßÔDZ³m_¸tD•ëÚÎWû×z‹³mŠë”л�–Ð~](*°6Ø»µPªy- úº®"ù¢Åß@‰@;ð@ -D7¦;}Z]\Ô5´ØÖx�îYMW¹×;ºë[Zê´× ãòÿÜÜ)ªŒÿ³gÏÿ3_ÃΊ ò N…‰ÂF—Õ]¯÷o*¬û{¾ë�^À:ðþC -LF0ÞkÚaÅÿ¿ (ã'dBȹþ\¯÷+$Gí�ðl�²œ°<� ÀÞç� -€€ßèkeybNXŸ§(¸•~îê¨wcéåøâ¶ç]5G -üà䌶jYåt>¼ BC(vZeãYÜþÄ´(�wú•Yð�¡zíZåÌœà"‚Á« úñ¬zß<¸ÿ`š~â–É>+&ùDÁeaÁ¯çml·VvÞ}ì›W"a0Åô|^¯©çyà:ˆ -äs@ÎÏß�´3g.]ôç¯]»võúU”ÿŸ}îÚæéøé M>C°‡€Öóo<{ê–‚¶‘§ä!QnoÅ·l -·–ШRô Ä:ȪÍ"Çé 3�`üGP�Ÿèæw_Ev»jýtØpq~n‰Úýq¸l+éZ¦(vÿîòòÝ-§ng3&TÜW–ãÕ6ïíO¸lRÃý¨€³-¼—ƒ<~ à8Œ(í<îAÿu»-çJY]°-þýÂþof ›/¬¸¨>JPô¾\�ˆÚ*¤G8êšø¯Ô�cîÀ$€K&Z¢¿ìÐVÅ â` 2C"@R�_ @eáÁÞ^Ð -”D{«BZµ;BiÊނݶÊÀ§"Zc(@e`F³s‹0¡¨ pu™J®BðoD -'cÁ™Du&NS·Pî¡ÌÐt|C|I¥3bç]ÆMpF Ì×Ì¿XÿaMËPø;Z€Kÿ&óQ@‡�³|søTv/à1ü¯å]e¸½ççÀJ €ðæÕ x#»ð*ýB çx{a9ö)î¯Ô9×ù÷êüŸÎÂ… €ß[´ =€Œ1È’ Xà×û9˜Å®o£¤�ßÑv€+I®}v @¿Ï>ûÜûÔØEà3Áu¶á*H·o+‡´“§—V„.�Vf²øo0ñp˜ ùsF¿÷Ý€ÑÒ>ÿAHÙl¬ˆPЂ›»@$€*€ØaDˆCœ¶ïß]±'¨ p‡üøàî -U©Ø"»ñ$f -ÀˆÁ4дùÅ#h…sª²½éº`úÏ/-eY²‘cÑ -pçѦ=ƒO@N®,i¤ÜBQraÅH}²A–õÒø2 Ý‡C fšÌÊ”3“®)ÿäÊ<Àÿ -þÍl°DÙßЫ-vŒP3€f{`Ã"@P€Á ?`ƒ(†€H ßCXÚ ÷úQáŸp²-ˆ¯D1Z·L¨§ °ê±fE-A_$ÊÒº# -×mtíN§µ„[ªg‘çQ阻âi{†º-àO«njÇŽ ÞÈëë¶Æ~oQDa­;Ô­ß”òl"H�¼ëEJò‚s]D—‡üjÄu´®-z£�ø««zÎNWÄ¥Ç#kgîË×§&C<Á¡j#(¤ÑæAO»8 þçÎâ!n”ù›íì쩼kÎ,r¤‡Š‘C[ꃵٶ^퀰þ[üçù±|©2_ú€â6@È” ‹l~@åý�Õš*|3ªü -€6>2V9çtÊÎè<€Ö­› @ '¬ÏSŠ •pŸO€…‘¤ÞÂÄtD§„yZÀ'q²ÒiP\@HýÁó+¸íe@¥þ§YíWò¥O§ã43ö.hïÿ`) -x@ä|+ ÀX7åŸ�"øœýÞ‡š±?Àß{ζä±b’€«ü\õ-ì{(@*ÛÝqËîP ò{Šñ�ÌÆó`>"ç�gYÀ?ÒÎ\¼ôÉ%\/_¾ŒàõkŸÓñDÜ«øo`F×®ý ÍŸ'9�q—1øieV6·êo8”°m…º ÿ0€i:ª¶Ã–•WNÙÀ­(àøÓ�)€“~dº½jóRh­Ö²y¾Ót೬P™¢ -€ÛˆìÒmï�ÿõç_‘¶ñ ÌjÇŸCû·à|'|Üë_ø½þs¼2+5þ+'hà?¥ÿùåöQ -,à¶XI€™½º™¥s'>Pqò¾´¤k0öóû -ñÖiÝ1NóöPÎR Jþ”<èWÔåX2Ñýeµ0¡€û1àc”Œ«D€R°&°6¼5è û)=k -€A¦’ƒâ:§ðîlDl™ü×pÖÀ"À¢@{~¶¥Ö9Ê€OÀºmU¦Ù›Êõ]ñ ¤!8¥cªùµy¶Õ^3Õ`x]·AÉÛd ßŸc+~x: ÛÂ5BS”‘þÞ@gÉ»�ÑöÍ@Ú"JZµ¸ª$°ÎM(Pµ«îJ�¥;ÐÆöœøÇºÎ×v!®ê×ýá -È]ë|º+ zJmúS0€E=ú Àÿ¬ÂF4¦hy®�¶ š±Þ™7ºGmËP´e84mYWjÅ›Á¥ÿÄÿx¡NÔÿºøÏh-“‚SCxÃx6;³’Ù>@ÉQ›��¶*9?| ”øqh+'©ý -ÀŽk¼®çö­Öç± t»$߸o �¸ßåîãþ‰aõ.ÛžþB ÏJ~*±k­’þ¹†0fÀ<íþCúwÚ­(@rWûÌœ=Q -8¥ êÒtH\ ^蟓)þfS @?…7¯N//&cæÍ~)~• �æ·fZ7¦œsf(bÍ’ý´¿Ç�9£Ês¡è -öȯê�rÈ%òýÁwÈ‘–"ÝGØ÷~pˆ¥�ß‘væÌ'ÑðÓË üuzô_Èã³ëŸáÀ·/_½rùò§Wà×þíÚ•«W?/0U�Åã0;� ôÚŽŽ€¿ÿñ߿Ҁ5ƒ -~‡Øˆ°²Òš¶€ÎQý€øþȧàzLcQTúBXÚ¸K ’·W Àئ8w_‰9 R•û¿Â Pd`ŸÀ(N¨”¯¬`”È”g1b£°†E>Rb¸b½ŸÂúÏ»ùBtù{€ùÐÐÎ#»œ;wR/MŒõÄÉyÍžœY𨀠@Á?cm¡¨Ê”’êâ?#˜ØoÈŽ€!D4™d‰þ2AÃ@…ÿ1@»ô&Ò !~Çi&‹*mމB(Àº@o@é_+Õ°íDr]I4SàEQØ%ßÚ�Ì�².=¸ðëêðEAãœðn±3&uŒVøHÝv{`õÜU"7ûC—‹QT$öÜjkFqš»+ýñøc¢Sh¦‡À2,A÷WÎÓ±ÀTt϶ ‹Â}§�¿±Lí­¶õœ]1žÅ2ƒNK €‡Jøó÷uŽŽITYè®uUíÎ"P�8ëõT‹ÓØ0{âÔY|NÍâ¡P‰ .LkZ&J „‡žl]ìGŒEá-æÒ›m÷† -íuÞ�Å‘þ'ü7Ûþû–â¿Ð_ã5ãw¤…è/ä¬ÖŒÜ7¦Ò íŽ�Ÿ =€ [•š ZÊø|‘x«ƒè øèh€«Ñ ÀÆ ëóT -€r™Ú ðþvÅvèDã¸?#1É @)P‰ -ày›? C_ùˆ‘ZeŠÝTÜ«(€˜¼·Ï‹ä[ ¬'eözLK|?Ò\ péâ¥ËØ•ëýxêù¯©üOïÀ*ú_v%� – * Ñå«ÿj-ÀæGôÀóa4ÜܼWW>6·úI3�í.Ûø«¶»ÍÀòJñx×~{zü)ÖÒŠ ¤z¢ß}1€P¼QÀêðšt-«r ¢Ÿ8 ;9uïPZßÝýï??Ôi6¶M¼Á%Y­˜è\LkãV¸ÈÄ÷dhö`Y±æÒrQ–¥ÜÛK„ðAV€��]×þŸ>§ˆFß¡'fNG!)]fwA¿±dbË©8b6í[ˆt ç\ï¨l„‚Y�2¦°“# -@Iþ�(‡´ V›7H‘ˆŒP€DÒ?úˆ:Ù Ý"Êà¨Ö¬{¯N4¨ë Û}Å–nK±Š²tMH½E ƒD˜›Ÿ#ZiFxßÓÞ‘ ©¿EÑ»Ó�kuÝ °Ãèu}º ž<�A$h¬;j§õ›:\P¯;mÏ*>«¨¬ãº½Öœ‚E ©mýµ=ݯ«»î‰証ÞP €j{í.îÛB8ЊÕv‡Nx2¨ßžkõºë{†é>ÞŠlGе}׋¢‚aQ�N‹‡‚¸ÑC«%@àÝ8— £�à)=2¡‰S„îzm}Ø_ë(­ö÷öÃ^oVìD�0„ØM‚ÿÃjÿõ³ •%1�„ÑžÃ4E|Œd¶_€”“Ž0¥4'hßÉÀè•?¯ÓQ�3qšªmŒÒ€Î€u"ÿ¾ÙÉds;·°²pÚíÍ„�jdgJ_ó€ +Pñ @ÏŒH´Pvú0æs˜�Ú€ Úß>xüÃ8´&Ä:„?]˜È@Ò>†eÀ âÕdìÀ›Ô˜7S@¼~,bÆD€zêFÞf|T±ÞÁ“MþN‘�N*é;èÂà˜<ÀõûÓØ'v¸D5ÀµkWükW¯C®ýÛg‚ùËWÙ|I4@?шŒAL!Œ‡‰¡ØÉÓK·Ý@ +~V7Ä™b2e9Æ5Í¡�u&±¼`ʺ )%„b”&�é#r3*1Ƈšë‡")"#B0AlS !á4JPìù1Æ(�½8EQ„R„š L0ŠÓ$ŽCß3=„0ºåÜüßüœÀãóÏ� c42ÎÆãý;wîlo-wn׆£Îî«Àgg§ŸžÞ’4~Ï4ƼùÅ€oíÌ`³Éóü½�–ª·Š€ )Àν…*À·7R€Å*¿Th¯0€æ-ñ/pœ ˆ¢Ä«@ì‰?Ìà瀫o\æk‹€¢(¬“ªÀ–¤�� Üä«ñ?�ýñøéŒÒßx<�?¿`>sùyöÕW_}õÕÅ_þå_þå_~õ—,-XÍ*/c« AE1!˜ ¹Š—gì’Φ¸ðÕeåþkÖ*tMé4£ìâ/4;:¥Ó묨ª�f4»žµ€ëì:Ï r@³‚\dÓì:ïš% 4£„Md„¥%žÞ&b„1ŽM+ˆâ¥9# ˜Éú'¥(HplyIŒPú~Š¢(Á "#‚ ! 1ŠQE‘§ù)"ão£Î諯.Ÿ>~<ÊI\çNcûÎ�Æö�í;�;w¶WB¿Sˆ€ƒÝ“aóÝ Ã0ÔÞOOOO *•ßSØYªÍÛªí{üNó†°³³ó2po1˜1€o®Ü`ÍñŸ€(J¯ŠbW(‰ ïÔ7ì|ß(›JP¨¶$}¬ + pñÅò¹øê//r6~R4ý°žÀBßûüü|n?Kõƒ'7üÀ^Â0¥…1F˜f„PVï#Åý�Y3›•'4£4›N3ÖO a(1�f³è¥y«øh!²"“ Ͳì³ÖáiFhF¯ó/.ì9‹b2½fV]ìiŠ)+Ö%�,4¥³ƒ B�åa’¦§8eQ�søaG1-/e?J“0N”bBR„ا ”¢8IÓ8\ÕEã}³øøbÜ1žýââñùyàãñþ�mv÷ß¹³½3ÿ¯Áð³ãÝÁp1òç0o=;===°2`y6 T{­àßßÔ>ê�€·Tj¬ +Ð,ªüb€¥<¿Ój·o-æÀÊ€ÍWS€Í…*À½¥*ÀªÀ߸ÿï \<ÿh¢xÿ]®Î)Ìc@ÌÇr°?þX ðjxr <~~~ñù篊þó/–`‘¬œ³iÄ F„âboæt&fY6�â)žÒ<�¿¦×”Ò)�N³)Í®¯sÀ¼Û�$š=AŒ#L‹Ê?Ó‹ÎAšé4/$LivM§!yÁ�¡Å4»Æ¬)˜¹{S‚qâ[Þµ<ûqR”"[NÄq’"”`#ŒNqŠS„qŠÂ0N#ÓMã¡Øâ8ˆcDRœ¤$Ác”¤iÇiù®æ¦I£äÛ0€æKÆãý­í;ìqgëÎ�;³ÎžÎ :ƒ�1êì†l-øÞ2œ�ÍæC0Pb  öºk7TÀºïß[®ì¬h U€öŒ,‰€Ý[R€æb +м%ø¶U€öÍû?'¢Äó"ŠÝb—¨ ¼Ë Š¢È @gƒÅªcK’ +X¨¼ªµjµQ­ÖØ”w£ÑXb¯€ó‹/¾ ÜÊp(›Aœ·Ê²Ñ»ì:+nbJ¯³œ†Óë)¥”]÷ r_1.œKÙuž °u[yAŸuÓlŠ™3%Ók¶º“R¶¿3× ¸ÎÇ’¦ÙtJX#aVlîB˜PŠ“À SLoD%FáÀ4}? +“¥I£Å!”Æq®ý…®Eqœ†aŒ¢0œ}%JQ‚Ò8M’4M’$Œ|GuÓ4M¯ž[S㫯.Ÿ_<.ÀØÛZ:ƒeÈߟu¶;lx…,€qj§Ÿž²*@ÎjµZ­Vû=¾Ýþñ�F ~!¸Q˜kü7U¾¿Øp¯ýª*@ó•U€ö�û_¸?Ëøî€ÃÃAx÷�(Š¢èâÒÌ£ªÚ¶$}¬Þÿ“ðÅK Ú¨ÖªÕ­jµÊx]£Ñh4r£àWÀùÅùÅç_\,Wnø�ïVãŸø‚±=Y³¼;»¦×¹"Çú€ÉŠ"»É)!×YFX ׿ò½.Ôz�å•<†%¬�0#×Å @–g¤˜Êè´ø¶s—®,›NYÇâ4ËØv’ơ볉Œ1Ƴ¨LÓ$F¡iú~%(Nc„’8e$>N„Rù1Š,/ˆP”F^'AŒp’$(IPŠJ”¦i”&q…ž£:Q’$ir㬆ÿçç,0c¯¼t·"€1lu†ƒýNg°Êš>óžï¨Ô¶jµ­êÖ¿ÿ÷¿?*À,Vv~°ÈîåU€Y+ðBàÞ=þ%)@Ql.—R€ï/5½´ +Ðl¯Üÿ÷á³ €þ„]ÿ‡‡÷…ƒwl[Q”#p¸Ž-} îß?A˜ë/€F£±µµÕhÌ®ÿÆöööööx<.W*¥R©1ÜÛÛÝÝÞ®–¾é,Àê$ÐM?„}Aõ¢S&E€¼ðG²ëœ·Sz=3ñÈÈìÎ.Þä]ÿÙuQê›f׳‚Âu.éÑŒdÓÙÔ!½Î2r]” +sÑa6†ÌTœMIáL–Š)F(t2oÏ�@”Ä1 +LËóƒ Š“$‰ã8Åi§ Š£ ŠÇ�“8ŽÏ‹#?J’8Iâ4Å1Pœ¤Q†a01âDI'ñ­p¾p?>uŒgÏ.?{|2ßËÁÏàx0üìx{ÈìAV€1c§cc085– ¿*~ÿàû+U€•Y€Y Ðªy'àm�@³NÀ�•2àïVh5Û7îÿ €ïözbOÅÃÂýƒN·EÑõÃE�Ô\8È çÊË ú* ÿ»ïmßÍŸ)W +ííínoo•Jß*³:`yFnMˆßSD0Å8Ëoâ,ËÈ5�•ï§„íÔËh6-Êû,KŸ²¸Îýv3š‘iFXàÓë)¦³DbÊ.óœõÏ;(Φë¼Î¦¬Û—ΊL#d¨Âï˜Ò)Î×ðä B³,¯þMi¡æ]g4ÃlY»ñ§YF§ô:Oýi–OðQ<Í +¡cŠIŠÇ#óiÀ°8qGIMÇâ4NPÄ:úâ4‰Ó8F%‘çú‰¯¹AÅQàxiìqÇqš$q‚â(FiÇI†~軚äDQ„’à†° +�GãÙWŸ_ûã±14 clì.ÀñM8 �Ñp{8dîŸ+ÀØ8ggg§§†±ÿGƒ³Ó½j¹àa«1 ŽbÂÂùzšM§Ù4»fŠ`Þ½_èvÓ,·ñ"ùôP.`B1ÁlóN–Ñi6-Z™E«ì³�ܸ¿è)`Œ!˦Y†Ã D$w šæs¹§Q¥Él`v-ûqÅ®¦Z^à~…Q‡QÅqGq‡a9~諦ïû¡ïšnä{~ÄQ�KˆiÇa…Qä{¾gj²DQäáê¹8??6?ccŸÀ`Æ[Ûß §ÃÑpoko8ÝÝŒçUÖ øš€2€GE£ÜOø "E�Â,4ó°{d›¬•N9RÚ6€ìÓûê6sìn3[på§ð bK¹Ÿ7û*•}‹6ëÇU €6è÷Ù�€º~!„ýž�·ìæûš?™É×ááa±6Ø¿R3 +ÀÍ W€X€­Û¶¢èpðo@©TÊÿ³i4¶wù£ÁB¿ñÞÝ»{3ð%§\)é¥R.�`U\lºu…=3NƘ™ð1-?&!‘\ÅŸ^Óë,cÕøé,‹Ç¬J?üÏM�Ù +.F&¥„ftÊ 2B1Î{}¦¹÷XÆŒþò¡VdB4CID0ÁiJétšoûdþÝ(ˆÑ|Fw!þƒ(°{ªåú®ç~†QèA†aaèûžãyVO2-×r5`ú®åaFQàûQAäù�ﻮ빖¦Šª¡~3¸:£g¿¸8¿0öGFUÆÒ p)ø��‡ƒA§3ž{ÕíÎp{µðt™l3� VË•Z£ñzW”9¨,0PÅdp¨æõ/ý(WÏm3Þ£~Ûl퇢¨ëBE™€uGG D¶1@í~QŒƒ6[ÓÑï èìEúmfÙúGð1'Šâ¡¢(ý%ø_öÂ}áþ}.žçy±+ꄃƒ=O”£#pú  ”³õÊË ¿ÒK�í»ï5Û¬p·Q«V«�F£±]­æ´ ˆö[!`ñT+…CÈø>Æ8Ô°­}¬˜âŒR‚ÒÄ�L:f€ø�k ]Õ´×ñ<ß÷|ßCßó|ß÷üÀw,Yó4A��úYdÇtÏs=×|ßñ|×÷ßs]×q,SÓ€ :®çº¾·zn€ÎèÙ/Î `œÆ~õíêÛo3xûí·ßfA_œáñ°ÓaU€ýÆöv£º½`¼ +c°}‡¥ùf r¥V«ý�·0€>ùÖ°Èð28ìÿYÎÌ€V€¢(Šç5±· 0°ç�‡ôËEè³`¿ìãs;Ñxïnã½»yÚßhlße°½Ýhlo7–®üòìý<ògô²² T*%VX2.ßf JV„RD(ÍpF¦ÓÄ�(‰“$Æ$F´hð�N Í.vödS:�õô“Â"lNR#[&qBharÍT@Æþ‹±áél)Q.!2£P‚ü˜’$M0BQŠB(‡~´` >)Žçû®« +‚ +MÇq,ÏwßóüÀw]ß÷<ßõ,µ\ ÍT5¨Êªã˜–e;žãû®ë¸®çù�ë¹®ë9–©©’ ZŽë8î·aƒÎ8¯ŒrÝ~ëí­·ßÞzûíjuë{ßûÞ÷Ž���vü³ã!û5Œö¶îl½ýövçø› Êª<[Õr¥Z«Ö^ãÕ`Ê·©¼·0€þË ¯Ì€øj�Ó€<»l–0àðÌÓí\°¿Ù�ÏBrnؽPœWîÞm¼×h¼w·Q©VòG¥R)Wª•JuAæ_¨ü-…z Dþ�o›Œ0Aù!G¦‡pà¹>¢˜²Ñÿ²çÖ_Y1Ï“M™Õwáð›e$ßᙡ8Íf•|f)Nض_6ÙSô^€yš@s•1qCŠ}Ç� ò#Bòæ@‚1IqìÇ$�¥³kÙõ<×Ò„®$«–e»î,¦}Ï <×umMæz–ãXŽe9ŽcYžc™ªé¹žë{®cY®åÙž3±,ËÒ4YîµdÇ4-Ǿqnh€F§c\<;¿ø|°72ŒÓ“Sãtÿíïm½ý½­·¿WÝÚúÞ÷¾÷½›"`ç8€ííê÷¶W Sc°{gžTjÕr¥VmÔ�êëÿߎä€ò/aúÑQ¾Þ7_û·óèÛ¤JÆn€ÿuEap�Àƒû÷r PÏE€CPš_ÿ¥[@^»gz~þÜjð½»�F£qw½½½JµR®”ËÕJµÂØ›r¹\~»\<“S€ê¢ø_ɇ^ …²#¶J›f”Œ?B$ý³…Û„²dÊzy§Ùlã'™æý»”ddJ§LÄ#”f(H)Á¥IJQ‚è4›flùÈõ\,œ­"›fäº0$žÒi† ž‚˜àÀ÷cJ£˜0Ó@L &˜ (ˆž•�⸮ã8² H?Q5Û²,DzMÇu=×÷=×µ,×±$Ž—,DZ,DzlGÓ$h–åL\Ïq,Óq<Ïs\DZ,ë'²Üëò¢m͆æÊ�Ë�@Fg߸xv~þùÉ~{Õê÷Þ®nUß®V·ªo¿}S Ž;Ãáh´ßØmT«¯€Ñ`÷Î`lÌ[�Ëåj£Q{mE@åwù_¡èðh‰¨ËÀË€¢,jÊ71EQžçÿDœõß¿/ˆ¹8ëX¼þK·j9”—Vv¬tò•JåFµT]ªT«ì cúåJ¥ˆüE`XTKùbÐUpc-@ › &ÑŒ-Ó%8A„P‚Î(Á$ÃÌ*ˆæŽ„0=ŽPæó•¯ù!S2ëÈŽU�à8IÒ(&ØŽ(%”äˆr5paè7›ùƒÑk:�²åù?'J¢˜`‚ f5F.PE +Á¬â˜–e™@Djšiš¦eA˲\×q\Û´,Ç4åÖf½eZŽfš¦ëˆõR½«Z–å8®c™.t\×µ,š¦iÊR¯ËK¦i›¦¥­žg�ÏÏÏÏ/د‹ c¿c\<;?pzºWݪV·¾·UÝzû{[Õê­0ÃÑ~c»QÝjt†�—Ž�Ûw:cc¯R*—˜%Xy«Ñ¨5^W àw€™øþ¯Ò½¢ +p,h߆(ŠÂ ½Ù(°ðî»â�^¤¶¢è Ù©üPº 8ÀöÝ»w;wÕRãîBf_©T«å"ÐËT– ÈÊ˰88P¾Åù²ÃñsÙÆ)Ê2‚0NpJ(š™og”’M)�ÒŒàiF2Ö•ÇŒA¦SœÑ)«âO3Š‘š¤E I­c‚§Ås÷�™á8™bB¦l"(ßÂÍZ�1"¨ðö¥“Œbœ{ Á(ŒQšü6ÿ5Ûìlš–eª\«+«šfj?QMË4MÇr,×¶,ͶLSù:'˲ܓdUîÕ뜠jªé8¦cY–éX–iZ¦ij*�Ån‹ëš–M ®ž‹gÌ‹áüüüââÙų‹<xüx'{Õ··ªyðíÛÀp09l½N +(Ï<óýàµ×9þ¿�0Oþ 4€ø-S€ßE˜å…p_¸ÿn¡²V Ûå…®»—TnÀL¨åv@w÷Ê7@þ9åU0ëÎU�™¸�Œ¼"ÙŽPJ[N ŽSš!DŠ®bDp‚IÑÁ�™]HF§„N)›Øcn„fôg$£Á˜fLiŠ F„$šƒóx§tšM§SZx ±ÆÌÖ�Q2Íg‡(ÅNq†¢‘ …)¡g¡³]F( cφ€fÄ\3-hÊ×%YÕTU…šfj–išše9¦iYæOd±Åµ�Û世 ´QT5Í4-‹}šiš¦5SÕdI[›]M³4•ñ‰…£=»¸x–~ŒÎÀ¸¸�ÇFÇ8=Í`k«ºUÝÚªV«óVàù1ƒáÀ£Îövcë•pj ¶ïì��½ò¬ +Pª6j�×Uø—@ÿß‚¨íGß2ø³›}ßÀEéõXÀ}A88È�mÛÖ•ò,½/•W°¤V«ÕÆÝÆÝZ­VÝªÖæUþ"âËÏ/(ÂbPÉ« 7àö½ù²§c’¯ßÄ1¢%˜àÈ 0Ûœ=s Î(e»ü²|v˜y0u3’O(Í&¡˜‚ õ5á)Óï²Âøƒ-$Ó)ë>Àù”0ͽ0E)&8J%qœf8Aùx0Åã4�⛾YXªšM™ãº½ž,ɪ,«ª*›¦¦išišš ¡4¹ËsÇmlr|Kèö$YS5S3MÍÔdhšš©Êªª©²$v~³«©šªÞÈ´™ö7{gt: FƒbOãþÖVuk«ºõ½­jõf+°± +wö_†1ØÞÚE@µZ.m5jµÆë©(Ê¿,øh3ðwª,0€¿P”ëx÷ݼ ‡€<¶Ë˰ÊÊ/€Æ�³ýÁ|ðÁ¥™ú¿ +쯷�—gÍ¿ P.ßlNQœ±¦?J &8J1Agy¦)¡dJpž·‚§8#ã¼…�d”’ g¤ðþÇY–aÌªŠ˜RL3ËL˜×)¾ŠŸ³¥Y¾`œPJ)"ǘ $fáŽQŠY €b‚1Fi§()Ú™ÔâÈ@SµÞ'ôz’(K’$©2P5MÖTMS¡¦©ª*K½®ÐAZ-A”%QÕ4MÕLMUUMU�jª²,I¢$v[ÜFKÕTY’äÕ³0”¿7:û£gçãñxd?žNN�ý­ê÷¶ªÅ,À÷–À0†Cc8žÃᨳ½Ûت¾J0ŒÎöÖ_Œ�½jnT-—ªµ­­×”üNP”ÿeU€™˜k;ýo•üK4€" 8<áþLÔm½<§þ¯`å—ÀÜ]<¬­·:»ñ+3¨V^þcƒ3pÃ¥(��!DØEL(ŠSL˜Æ~T$ßùå;�VÖ•[¬úb»³2BhF!8ÄŠ¦¥Y ¼”5þç.#”BqF a2`¾»“ÒÜrS‚3”`ÂVw“„AÍ2æü�Ò8 ¢¥ÅO1KIÖ@·^ç[BO’º¢,J’$©ªüUV�ª>”{]A�ou»]±×{?QUU•eIVeȲ(÷Ä^·'p\�eI•e¬œ¸`ï‡�ÎèÙÅùx4ÆÉéàôÔØ¯V·¶ªoç<`Iü¹1�“ÁÉÉp84h¼’ìooíFn V­UË¥jõu5U~7ð£“NÀß­ +°¤(ßž(ŠÂ2€ûâ�mÏïÿYà¿‚¼fI@£Öh4j9¥ŸuöÏ@u•—{MÁE R ÔŠ¯MНT+bÛ�1ÆQ%˜¤ %1ÆŠ1E8Ë(ÍÕøÙŠ’QBY�ž’|¢c‚)Â4ÇDi$;ˆÎö‚J É(%Œ`B¬טf˜J² SBÂ#D0EIŒqŠó%Ÿ(Mb”Da”¦¨`Ew†(ɲ,µjuŽç»]¡Û%Qsdè‰bO’¥^·+t…® p|¯×E±×ëu{=vÇ‹²$É’Øëõz‚ W¯s½^OºåÜè8vãgŸ�GÆÈ8Í`‹Å~ukk«¨3‡ƒÎðÄ8Ç»Û[[ßû¸³µŸ3€µjíµ¬üŽ ÿ›VýŽUñwcŠ¢ +÷ïˆvž”sÿòB#зg¥R©Z­Uk¹®S­Vªøs˜1€j¥ú*w°J%ÏHV`e MÙŒ”"ÖX‡q§§S!AIÊÆ”PLò‘JóÎŒqÑ„ AL1f„‚Œ1a@H–‡<ãó÷ØœaL)¥˜d³/£§1Æ1£±ý¼”bŠQ‚’4ŽÂ8Jg^€½âR¯×mÕk'-¡+½®(‰’$K½ž(ŠROì1“÷/]Aè +Ý^Wè2£G¹×“eYêvAèò-ž«×ߨºBof??ÏVÏù°3=»�G†qz:<œFgë6C�Å Ó9T·ö^ [�€R¹R©UË¥j­V­m5~ÿ@ü?µ +ð»iyc pÿ@Ôó`±ÇwÞ +ð;2€Wž"éŸxµRyõ¬˜†½ °/›~’bŒ)¡aœF Áa’a?bbê@F¦8w +ØMš‚Y{-L1&8_¨�H©N‚)¦9S ”bB)Æ4cÓGQ–Ú³žCÌ^ǘâ$F˜ (Á8Æ”`ŒR6˜F~§qñCñßí +]¡ÅÕK¥ú&Çq×jñ‚ B—}´×ëu»­ßâ9^hµx¾ÅŽ t…®ÐêõÄn¯Ûëu…V‹kq·Q_/ÕY­àÆyv£ØØß7.>Ïàädð3c<Ø^>+àpxÜé ‡�¡1ÜÛnÜ##ä0š1€j¯£%˜ò»À¿ª +0‹*@ÿw¬<ø]ª3¸ÿ@ÔY +0»öË+1W)øKùt^…Ùx”J¿CìÓ½ ¶^sqï)@¹¼´´hAZÕp «^£|›6ÆIã4MRD‘#¶W—¹qbJ1!Í!sŸ±•šc6CŒqŠ&˜m椡l¥„d!L Æ3áŸPœQL(aš!³`®¿˜bœ¤ F"„  "8NØ7AÇ¥A¥é,‘iÍßjq›¥R­¾QßÜØØä¸V‹oq­– ´º]AZB‹o1là¸MŽã[-�o ­–Ðj±(ï +‚Àµ8žã¸ÍúZ©Tã8Nà[ß +:£‹ñx<§§§§Ç?3ŒÓíÝ¥_«U€áñ`0†Æpo»ºõöÖÞñ*8��FÆh42Œý;ÛûÆY•ju–6þàߢðw¯ˆ¿;Páþ�¨Û¶­ë3±mnÕ5ÕÊâ^Žñ™@ñÊåo 7 à«@ꋪÇ "!‚0ŠÃ%iŒ1ÅQŠÓg4çäÓŒ"’QB2v‰SÂÒƒ\ðc0A‹­½ŒÆaÏL&EÔÌÒJ2š!ŒÂD fì�ŠiNü“£$ "Œ¢$Ï(R” 8�ý(If `ææÄqÏÕJ¥Ò¿«×ëõúæ&·¹Éñ›Çs­V‹çVþã8®¾¹±¹Q¯or›|Ç·¡Õâ8n“ÛܬoÔëõúz©¾Áq<Çm®ž)À…ÑÙŸ�GcÃ0NN†? N cwwooþ{w®ùïÁ`8‡ûÛoWo€Ùb ã�îÜY€òÿ °�ühßrà_£(Š¢ˆ¶®ÛviÞÄ»`ص°�ûöð¼)Û¿:þgP^àó¯B€¥`«îÖÈëiA”¤±ùú8òc‚ãG1B)ÊïrŠ &„RÖ2@0Æ„`Œ(¢˜dˆb–,d#„qÌ‚ $3Á3Ê€X­S‚0&aÔƒi˜PÂ* +„Å(�RŒqÆ$�ÓbõFEQÌû€â�âlnp›¹ûêo½U¯olÔ7ê›››Üæ&ÇsÏmnnpÜæˆz}cƒÛÜà8ŽÛdHÀqÜæf½ž‡ÿúZ©Tߨo°¿.�—ÀãÑxd''Cc0§»{{{ ¿—ïÿŸÿÜÃáq·j#ÆÿG†±·}‡UfPù…Hÿ§Vü®U¢mÛ¶>ëâ_y_þ69>ëÛý&`UÀâÕGŠ^û¥òªqx« n�/� B%œ$iF8NÁ8ñ„“„¹{2±SÌ–ˆPÌ”©Y‘A  QŒ0N‹¥Ü$Á(VŒ Ź›B8C„ÒF Qr/BŒÛ@i˜¤( +Jã0Á8ELHqŠÓ$*öù°³š9¬—J¥Ùs 6⸶¾ð%›ÜÆF�Û¬or³Ï)­××K¥R©^«ßvn€ÑùçŸ�ó>àÁ``œî-Ÿ™ú??ކÃaçxøóáðçÃÎöÖÖVuoØéì/œ%po{{ÿlÜ©2I¨Z-•Ê•ÿAÀ�~Of–‹�¶nÛ•WŸê̤³„Óœ5 ”`‚B�d¥yÛ!ÓñP!ÿ“ü9B&L5Ì©EŠÓ0&(ŒR„’8A(MS„HŠRœà4I"/ˆã¨ø)Âú­·Ö—þçx«ôVí�…~cý�õû”·Þ*½U*  –ÿ®×KµÒúz½TŸ½Îzi­¾V«¿µü¸é0Üß�>f)ÀIûKççsþ?þÜøùpØ GÃáhØÙÝÞfð²*Àñî�íýñx¿Â�*ÿ#¥ò¿¢ +p£ðÿ¯³‹Ç¶Ë¯<³Þ¢Swq\wnå=oÖ¹5¦vü,0€—|òìûÞüx^\±¶Œc¿§úQœ&q§qŠPÆiGÇ¡¦8‰1Êõ<ÆÙUO({Ÿ+óá„}B)F8Å$Æ Â)BØÿ‰'¬0@1Ê‹�c„0Nq‚ÆaV†L[ã�HEI†I‚â8!q”b„S„PÇ8Ž}/ˆ’¸ðç+¢ûß­××oüo®ñüùúúÚâÇÞ(•Jë¥õÒz©´¾^z£¾^*Õ×n…áú¥Úâ£~q£ xÚÙ3>ÏÛ€ƒ“Á`pj,Çÿþ�Vàaçxh �GÃÎÞööö+Ë€'»w¶÷ÇÆ^%ÿ�â÷ ®Á#dž™J_Ñ"(Šû u^¨l¬BІ}å§Ìb B]?RìÜ (G:Š% (P×uøÓ™)(„;ù'ÛVÀÇÌT‡êöìü5”?ÓA€Mp_8<—úå¥Ò@*J2„P�z~ŽôÛÎ'�j­öÊßµF­V­-Lõ.íì¾yË¿(nh¥U¿¯å=¥Å>ÀÒ¼-p%ˆ"§%y~EIŒJÓ$ö£4�âÅ�¥(MSŒPŠò8G£Çq’¦I‚’¡ácŒã$Å)N˜U7JJPŠQDZÛÕb”âÇ£¡¼Jcþ¡yè')NqŠ’EQœ (‰QùQ’†N’(Ž'Iú–ùñB +°¾¾þF©ôÆúÚ-ׯëy¸¯­¯D÷Zi½´Vª¿µV_[_¿$ÖsPX_[/•Ös˜¹Ùt²¿oŒGÆg†aœ°½Æè/þbñ1·üc9Àg€Ï†�ÎöÝí;·1€ápöçP~} Ù¼W<ºíöN»½Ón·wšÍv«Ùåù&¿ÓÜØØÜl6›ÍM¶ ”íi5ï5›Ív“oîðÍ�v·Ýæ›<Ï÷Ú½¿ÓâÛí{;|“o·»­�žßiîìðí·Ù6±ö½öÎN»Ýn5›|³Ûæ›í.¿Ã·Û­6ßäù�v³×íî´[íöÛ8Öló|¾8¨¹Ykò<ßâ›Ívs§ÝâyþÞN“ï.o »yšµo¦‹“¹¥Åì :òË >qaÖë_™cÇ¢Ä87(åÛÁØ©ÕjùàÐM|ÈÁ`ÕÝ:vyÙ Ã8Nbœ Œâ(PìGI’†®Ÿ¢8b�#œâ#§) ÅK“$E “ç1NS”¤1ŠQœ&Iš¦q‚pE±×…Aœ¦q’"‚S”¢4Á ŠB(Î�}“§$A¥¥)ŠQG~E~§(òƒ$Š¢(Nã8‰bQèÛŽÏœ€ëëõõz©öÖËd”µõµRi}½´^Z+­¿qãc92¬Õ××^ªÄ¬¯¯­­—Jkkkkëëkëk¥•FàgÏÎOö;ÆxdŒŒ¡qZÀþþ`áÑét¹ïç g�+wööv·÷:7`häo»w¶÷Æ»w«Ö—Kår¥Z®T^?�Ä^ñ˜@ *°!EñcÐz@D~_¢($fé !„šÚ…PmÚvöö÷n€"þ�Óí;Û{ÆîÝêÜ6o ý 7?… 7@<b«m Qº5(¢(Š ßSYö­€>�a[’š¶~ €GP‡˜Àü`OÀ×’$ÁSÙJ.»[dæPàǪ܃ºÊ„<â¯DûJñ¯±¥æ°¦î.AEÚ ²-¿} ©²ôj @=ý& R­ÖjµFcöWv7<`îèÁfúk+0çõ‹‰@¥2û]YZV›Û‚TÊ Âi±=yE}“—� â8FI”$QèGqä…q–Ÿ$aÅJ1BI’&£4I1NâÅ(�ŠQœÄi’"œ $ÅIÅQ'iœÄQFQ…®¤…(I“#%Q'qš„(E)Jâ8A(F(Žã4ŽS„P³ò^ø‰ïa”øN�ÄaqQ'QºšáLÉx«¨þÝ¢”Öw/1¦¿ô)ë9¬—J¥µµµÒÚÚZ½t;äïÖÖÖY1cþÏž�Ÿ?{öìâ|°ÏD@ãÄ8 NN;�“Ñ 3X|t–ÞŽŒápЇƒáðxÐétönÀÐ0ØØc»ƒí»ÕÙæ§êkÛ Ø{Ø+/òe9ù öD’¢ Ô€ ˆ¢x(*’ f¾Þ"�€Ô„ºû@�l9×ísçohÃ&c÷€ÔDÀ!8êåK…¢»Òë#BŽ Jò6J( +€à(°m÷%^8�P÷€Ã #Dpï4@Ã0fWùâµ>óð«Tj�F­ZeM<•ê�Ã.ìÙ=_®ÜÒLP®V—îö—Ô—Ò…E(/À*ðM®kù‘ÅqÅQ…ŽçnDZo¹QäQ( Ò(‰ÒÅqœ 4IŠÓ„‘þ8M’8ŒS” 8‰£(L¢(Žâ8 +ü ƒÐê©AÇa‚PGIÂzxQ’Ä)ÛÈ™ÆI¾–3Mã(ŽÓ(ŠãÐõbßõÃ0ðÝIQÅ%aF±wåj–ÅOqU«^+Õs5oEå/­—Ø5Ÿ«yËŸÄîûõüOëkëµ—¥È¿úÙ°÷ p2œœvög'Ëg0˜ccÇ�ápØvØ’€•Å@‹"àh°}g{ûÎö^uA4z]`ajä{³­  Š5IAÅ�>øgÀ|·¶,ª]¹ ᄊÂhÿ ÷Â|‹˜ `¨ìHbWè‰"Š2‘¡¢Q?@Á=г¡®C*Š®CÚ@Ðö8òt% À‹‚À ¢€’­˜—DI’TðŠ_†aûåo8¥R¹R«Uk�Z­V«6ªÕZ­Æ¦¸ †7Nc«Z��ÜôöˆŸ¯*Ï`$®TË¥%±`Þ¸"¾Åõl�-Ò�’(]h¹¾ë…Aàɦïù^Fq%q’&qÂ~ÇŠ£$Žã8ã$.ˆ§aEaàû�ïM<Ïó½À䀸aÆiÇq’ÄqEqš$I…QÇñoÓ8ŽÂ0Žã8ŒÂ8 +â(°-Ïsm?\Ëõ}ß�â8Žâ ßwMÙ\?¨×ë/ÍÖg$>�ýµÒR +�_íŒ&¬¿q“F,�µ5V)(={öìü<�þó:£Ï Ã0NòÀ��1Z>Ë0úyÎ:ÃBØ»E4 ÃŽFƒííÝí­í½j©üÚ@w~X“ìç  uÙö=ò¢ tÿTD¼PPXpKì>—lBEQ ÔŸÛ ¨ÜPêN¾$‘­é@™ˆPYàÛ¶!*ð^NàÙ?Ķ?îôxô‡¶(I]Aàñðôué¹2«JŠ2lþo¯8̨m¿úŠ“ïn¬mUó`gÃ[5fþרÖ V)¨Õ ZAuq×Gµ0ž_ïsÀJ¹”'Õ<‡`/ ´’”oaW�µ)h¶ç�ïGa¸&Иƒž«©ªe9ŽDq¡8Ž“˜ÝíQFQGQ'Q…QFq”ÄQÊqÇ�çX¶mZÐ4mÛÓ6zÛ®GQÆQ…~ÅQ‡qEqR0ù(‰Ã8Ž¢( }G³S³l×±TÓu,7pƒ0Œ#ß Bß³dÓ_ØÖã×ëõzí@)Oß×—ó„µµõ¼ +�‹€ëkoÜ^+,­HÏXð_œÏ8À †'Ãag0tc弜t†�a§³·’äáoÆx´g{wûÎî(r¿×[tŠI(±ë_èvÙÍË\@·'/¤ “ët¨÷°%X(…,Ýg‹D›¶D t»‡€¯Eý¬§È¶Ûl¡ „º®€>€¬AXy› ÝV€ o‹¢ØA"@ºœå*@œèGW¯8L�ÙÛ3^Þ’[e±]­V·Uö[µZ­‘#@­Q­U«ó…¿3—ÿB(ž¨Íø@e±mˆ�LµZYšùË7‰-Î'¿Bô=K’-Çò?Œâ(¼òÍrËõ\ϲ,ÏQMÏ�¢(Ž£0¢0¢8Š‚(£0Š?Â0ŽÂ(Œ¢0Š£8ŠÂ(=×r\Ïq\DZ\Ï5Ë ‚8 +Ã0ƒ(rÐà ˆc¶“7 £(Œ¢0 ~EQè{l;§ãyžk¹ž%«^àù~à{¡ï{–Ö3=Ï›ÿõúúÿîå©{þÇ‚¬-–ÖÉÀÚí½kkkëkëëëk³šÁùùùyüì�çƒ½ÎøsÃ0†ÃNVâ?ëeè,ù€íu:þ¨3« GFgk{wwko¯2“† +sè×Î,�g|Jw$0±¡(ˆ¢(Š=ápÒPò‘~©ëÏœ€®Cl0‘úBÐW@~‹C ‚~>HbOv¯Ÿ‹w?Õ¯.áo&Ò$€¯!€¶m CÀU¿@?€Ë6EQò 7Q� ðR‡úóW”†30^ÕÅÏîüj­Öh°eî�Fî÷Q­n5Ê•rµZÝjÔj[,Î+ó»åÅúaµšWØr�›.` M‚ß +\ÏqMËñB?ðÃÀó]×uƒÀ÷ý( +ý ´zª“_ßaFa»ˆ#?d\? £(b¿ƒ( £0\Íñ? ÂÀ÷ÂÐ÷Ë ‚( +¢(ý ŠB?Œ£0Š£ Š"†qù‘W{aèù~†^„~x¾Å‹Žïû¡ïyžç:TÏóæ‹º&këo¬•ngïkk¥Òzi�•×V´ý7Jëù_«××ÞÈÓýÛÊ€d¬­—އ�óó/ÏÏŸý5ƒ�g 矆aÏ`%˜Çù 3è‡�ãNçøx:uŽ;Ç�ã\d,`|¶g{{÷Î"ä™ßkÈ~<;]IP5[’ ½#u{’j¶m±ÛíJ¢(‰¢$H’” |:„êG*„ª(A þˆÐ2�$`K’$ö¤®£©+й–º@’$Ȳ/mÿê¡ Mh«P…¦ +€|OP%ø5�$ @xO’z’ä~l±+ôº’$I’ݶ�$©P’eU·uhמἂÔjùåŸÇ93zyØ×ªóM?3ßÿÂ#lë6¹ îííÇÕeò…i#gùxŽçZšf9l�Và»®cš¦åú~èiš¥õTÇ÷C?ðƒ ŒÂ0ƒB<Â(ò? +ƒ üˆ­ßŽÂÀ÷<Ç4]ËtÂ(ôC×Ô,Ótý ŠÂ Ì÷tz~†‘ïyQaú~²²^†A臞븖cifúž¦ijK¶\×÷}×u݉cÊ‚ä:îâOR*Õß*­­¿_`ƒ“—0€Åf Ng8\ ÿ<øh8ìt:ÇÆ0'†aìÝÙÞÞÝþ‹NåFqèõ€«« xت­þß¡=yqeN&Ïõ««êĆö¼ÒmÛ¶á#¯BhÛ¾xqeO^Lþ«)Ù/&“¿²_H¿½´¯Ì+BøÚÛ¶íç¶=ùߺöÚW“݆A» ©ðj˜uõ¶'W¶÷ÐþÕdr5y±óbb¿€¶­ýüñ͝^@êðùÕDµ¡=™Øm݆šWÔ í<·ÿ*x1±'±=¹|Épº·g†ñ°R«Õ¶jl…cÔªÕ¢¤_Y +祅?µ5jµùê€âj¹Î�o{¯ÑhÔ–.Ú‚ÏÊÖʱ×ÖLËq=ÏóÜÀóL¹ÅmÖe7ôM®¾)È�Ip¾ïl�v†Aø¡†¡ùžøAàû��ïû�ï{.T»\]r}ßóÔÇKšã¡çûžAàûaø¡ï»žæ_…¡ï~^àûžoYZ�Û¨?t½@ãê\KÔ\ßw]Ïs}Çul¹%[ž»°¬wÂZoÄîBsp1´øIëëkkk, X[[ƒÖ^žG”J{�Îà¤s2ì<;ÿòüË<8???ÿœ¥#cxb ;ƒÎ`pš[ù¼ +އËÍËÀñp84Ž��ãáÈØÛÚÞÞÞtªóÂoµ\y»úöëX�{È2@–ì\Æ×/Ÿ_þ“ x €\qƒÌqõcáouýë–uØWú°iC€$ A ö!E¿üs» Eñ�¨ˆ"€Í™LЇ^ê_-MŽu¯`¿øPÛîÀÁwôËËË>@EÐ?<}€¢š¹ØûÂ+û¥çd�k3CFnG€R©¼U­5ªsØjäPÛÚjÔj…}ÀTæMC•jµÆ¸C£Ö¨åOnU�Æ\ï«Õ¬Ñ ñÞ{ï½×¨U*Õjåíê|°¼8!\*­ì·pLǵ4 Ú–kY®øžD�ã$Çs5�ºÀr-÷Ês=/زí <ß÷êìu>?7 cxbƒÁ`Ð95FÆÈÎÆÞÞÞÞþÞþÞ> óaçxxÜÉE€–UÀŸ ‡?3†CchŒŒ½;Ûw¶wf+U4…T«¯#@fYHò€@^^þùå 8� +Äyá¯?�yo P!„—¶®_Ê*Êe{2ó›HLFTtý¹~Ù»T€ø€-éÅCÈ3[�Gàx�mëºdC~Ý´u�KŒ´ÿŠõ‡º~yi_*ñc<8 +€}XT „>É€®ëƒÁ ÏÎ +0NoƹT©U«µjµQ›íýe°U«V�ê-PYÐÿóç˜jИƒÓó/(HÅ{�÷�F£V)W+åJuV\\IeL Zš,«–í:Žãzžë8š*«² $Ušf:¶ÃVk³Èô=oÂVmæ°ë±«Ù÷˜pç9žëZ–*˪¦BÕTUM³LËa«z=ÏuŸ |–Ã{žë¹žçºÞÄq]×÷Ïõ]ײ4Y’$YS%IÖ4Óq&.ÛééXš&¶$Ëv–°Ì®¯Ä­aœgggs%Ý8ÞÞ«VÛ{�ÎphÃÁ``gcc÷ì«‹O·w�¯þòbd ŸŽ���Y°ïmmÎ�Ñh<�eú““aÿççϾ|öìÙùh�€1281F£Ÿ/MôïíåóÁÅ ß™¥ÃáñÞÞ*ü?€íýíA§Z.—0°üÀÇ’Ä’$ I6èC _^ê®ÿù肇¢À&Ù«¡Îá#piCø[ BåòÞoà$o @}ŠþçðH×�ˆ¢(ÂS€ ÀÇ}!ìO.uÚPÑ%x õY ¡mÿLW]‡ú'Œ�<è‹(@õ á„ðR?z‰0¸Ãá )` +í¯€Z­Z­6ªÕ[À|x¸Ze àkŒÌÑ¡h˜@­Ö¨5Þk4Þ{¯VfÂâK=‡V´LSSMU’5hZ–c¹ÎijKÓ4Mþ PUÍ4ÇtËq]ÏwÏu]×qÌ|·ãº–ãZ®;ñ\×õ,×q'¾ç¹ŽãX0ß´5“íÚsYZïz®ë¿|Ûs�‰ëº®c{žã°¹®åZ®e™ª¦Êª¦ª²išŽã86[ïå@Sîñ=S3Í¥ÿ[¬7JkëE«¿1Ÿ�åp<¨c°ß c0Øggccÿ�œ}õÕÅØ >eUüýý½Ng¯º=8Í`?Г““a'/ä2àx°×ùì|42†ƒ¡1tƒÃ�澞£ØÏ/þ¼˜I�Û«°€#cïÎ�]ƒ1VìaÿáTʯ%X:ÒB]‡}xy ŽŠôÁƒ>€�€( œ€(¨ëºþO] ¼hêðk Ê{¬R +àPQZððþýû‚Àqœpp ˆ"à�(J¢È ¨ëºÝ³” <ú�2«¶må(‡‡ŠÎÚ AÿPÅC2 =>RìÉ+îÿ9œÀ¸ ˜^_¨ÿµÔ¶j/IŠUŸ³çy–¿°0o)È5ÖSô^•r…•Ë¥•¥`¥ÛR jš,ʪ©i–iÚŽíX¦iZš¦BS35Ó²˱-×r,Ûe+tmÇ´Ó4]×±LËrÓ¶˲lË1-˵‹­Ù³LSU5Ó´LÓ±,ÓrLǵ,ײLË™˜–i;®e9ŽcÙŽe9¦e9®SÀ�iZ¦å˜¦fªZ¾æ×µ,SsLGƒ¦¦IÂF ˜« »Ìz®à,ôÏÎÎÎÎFÆpp“0,Àéöž1€OƒÁÝ`ƒÎÉI'/.Àè|42ŽÃ§+"à~g?Ï:�½œä*ÀñpØÙÞîìíí}x+Œ�Ý;wöÇ»û{•üþ¯”+åJµZ~Í;¢üÛ>� Ô�¨O Þ…t¯äÀ¢ØEûÁw¡®_þ¦ `SWý’)"”ó1~x(þð@à¸ïÖëoÔ¹wA7tEQ”$(°¯Øöå׿E¿Ô!��»— ˆ@�ú?A >‡¢(°>cõ�d 67tùõÛÀXÈŒ- T*—*l+dÁãµF[/gyKßü¹"i˜‹ÿµ)@­¶3ãá[\Cnì¸S5¹Û“TM55Í4M¶"SÕT5jlß®©™–m™–ÉÙ2-ÇÔ˲LË´LÓ4ËÔ4ÓÔ í²à×LÓ4US•¡ MSÓLͲ-ËÒ Ó,Ç‚–eZ¦fjš©i–f™¦c3ä0-S3US³ ©jÔTUƒ&C�}L•…:/É7j³Læ3ÎÆgg£9'«°¿»g_]üìÿ¶W0Fr¸�œt:�Îà¸3“ž={vþYg¿3:Æ`0<9vƒÁðÕU€Î°óÿ£îo#Gò স±ãŽ�Àu{ƒÁ›�\žGßì too�î‘Á@^€÷ö{{ÿH{{ooÞ¼‘º^®â~C÷Þìíí ê+õ›7{oèÞÞ`o�îíí½¡{{{{d‡öoÞÐ7{o¨tÞ¼¡o*•1Øìí Þ¼‘ë;ß Þ¼Ù£ƒ7ƒ½½Á›Ý äŽßÁÞ›zyß΀ø�õ–˺žõü ²üedQù(€ÃC'uœÃÑùò©ƒ€Yšf‡£‘“¦Nvg€¼£L†þdÎÿ½€0-íÔ–k%dÛˆì$ûþ`É1#——ÑìÝâßÑ[zѰßöŒ<#»Ä'dr]†ý>!ýËèòòÿùOý×W„Òè2º )!”^þ껥t·ÿìYßw··×Ý�×ݪ.È_ÿÁúºûÈ÷ý�Ò($„ÐÙ¯//ÿéù�„PÑK†„Ð?\FÁ[ÚÿÔ%ä!¡OgQ†!!ýg8‚%³h&»�/£ËËoožÿ˜_ÀŠÈrÇÉò²>gg¿=-Ót$Ÿ�¯«@†(ŸN§_OÏSÃIùë2=:<ùì³Ï>yÔéx�çy[[Þfç³Vgkkkkë'o¼ÞóÀ ¼­­-¯×ë7Ÿ`½*›®^�*¤N¾ €³²L¿-KÁr _iÊó2=:L�ŽŽŽò<Ï_-9üš.û´;‚€•X¸õôðåå ‹B ?�ßó:›noÇ—Ûóªy�¿;;ÁÞ`'‚�¿ÞÙììì�ìì ;Á_Ëu¹$ ;;½`‡ìüõN°3æ+:ë…|ÕÍß vvv;dì;ƒÁN°CA°ì;~@‚ v2ØÙÙ þzGîâí;ƒ Ø ‚`°3ìø½ øÁNà÷|ÏÝ|ôß­»Õ’ÏÕóúõë¢(^ äyúåµ  s; + »W:‡Î¡³ €ZçY–�³Ã4?L»NVÞ©§ëŒ$æ.€aÞ,si‰$”FcQBþ=À’`žÍ®¶èþl’/dÏÞÕ»("û„J¾ „B)%Wÿ@h4›…¹töî]4£ÑlvõÍl6›QzùÍÕ (¥¿$�ﺭG­u7šE³àjE4¢„|·ZÏõ®h]íîGßßÍöéÕåìrvÍöéìêjön‹ÒÙŒøžKÜG.%³+ºïýÇ�Rò¬JýÍfôjÌfW³wÑ›Ùì?þÿ�ÿãÚ-MóäY^ùÕ?»Ëøío[–å*Ц_)/_—éáazôw5þ®z+ÏÓ4Ï›U¢É=ú’ÐêàÂÜX²´¦¸À5{ñ<×sµ:žëözž×“ër{^ÏóýÀï;ÁNà½Àßñ'žûÕž½^à÷z~ôz¾ç÷dWVÏùÙn¯×ó{½ÞŽ¿ã{½ çõz½_~žï=ÇëõÜ^Ïë½^àû=/èõ‚�À‚žßÛñ½ž'Wtö‚^Ïßï¹=·×ó=¯çnºî£õÆzgÓ»y^¿~]’  À� +_WÙMP,)€ôÐI�ë>@áØNq–åùaš¦£QÚMG÷ Šü¹ã8þçέY€y%ÑYntT:GKøþV.ÇÌéþVU´èè¡>õý~¿OüÀ¯G”²ýg-BgßE4Ú ÷Ãý:Ñ¡Ä÷}×u[­V«åòŬGe‡ !ÄÜrÝO]Ÿø~? wwÃÙV5MˆîG”†”FÑþ¥7 û>ñ]×w?vý€ø„lF}¿ïoûó"J=ºÊaDÿpuý€Ô©Pû9^ 8iºL€éMt»ú<-_—££t®ò£¿{]½•Ên²²,K}nÿÍæ-h.e–,]øç¸6Öl³ãn¶Ö×[­ÍÍMwÓÝt½ÍM×sÝÍ^¯×ÛtýMÏs=o³çº®çzÞ¦çnVÞ^ÏÛt{=Ïõ6%Iz=×í¹ž×Û¬6lõ6]×óÜÍj¯çº›®Ûó\ÏõzÕ®žÛ‘ òªÝ~=Ïó<¹´³·)·{ºž×ÛÜt{›ùÈZ­V«µÞh´Z­Íçõë¢X6ÿׯ_çÙup(S�é*º¶SœY6Jå×߯lÛqœÌ±gä8#§Àаª::Ís»ï,ھ爼·´ ðy�èÑ*èûŸ“]™…Ÿ²Ýj´ýæ J÷åDaº†ûtŸ†W”ú¾¿ívZë-Ï÷}²Cg½PÆîdÿ^ø¬õ1u·åèa:ÛšUqLjþ2¤4Š¢èoBú¾O|×ó刲¨ï÷ŸUƒÉ$3<9;,¤”Þ€3wæèÚË£3'Í+×ïô´<»Et1DyYÇœ³×y*�ß@ÕZ–EY”s /g´y}�ÀBþ7”ÛŽ´VϦÛé´­?ú¤åºnÇÝܬö`nºn¯çÎU¶7— ›Þæ\Yoü ù¨uËyýº¸é>D|yStïPΡã¤U-P] Tà8ÏFi–¥©#°°»N×î:Žcw%F™ƒ¤ÿŸ9™¥ PoqYFPä…TvQGfÝä1Ÿ§}¯ƒ€4¤Þ%�7ÙJ dû™œÃÿy@é“]ê_‘¾ûQ£Eè¡”Ê�@!¡û—4 w£YØÿù¶ûi«ÕrýBv‚�Y�È€ð ²CÂÝþÓÖvkÛ÷Ÿ²îo]QJ ¡! Ýß§!%Ô“ üÀ÷}�¾ïû›a¿ïû®O(  )%ÑÖŒ„á. )}s½€4­pXò£å<@–;i>Z +Ü@¹ ^ž½.ÒÃÃ/�þ®GG«(ËR ,‹²XöVb•¨7Õ» +߀N«Õj=Zÿä“–´ýÍ…oàõ\Ïõ*Kõz›®çy››ž'?Í“èÉÏÚ¬°éI[vçŠÂÝ”æíy››››nÏu7[^õ‘9\<¯×s½^%36½ú�t6+mnv<×ÝÜÜÜì´Z­O~¸Þh®Ò’Û¾–nŸE±êEžgQ‡ïQ§+u‡Žs˜:Ù’˜æ]»›ŸåK + ÍÏÏVμÖßvìJdFÕùëdŽn;Žm/! (Š<—8˰‹"?4+m÷½À’اd+ +wCZÏü"„Ä“…¼r/à[ÒFfÁ·á3÷ãÆÇ}zEé. I('‚D4¤¹ú'Ò¶í¶Ö[•ÏøWÞö�uŸ†$ ”îâ>n¹ÛRÎ϶.wå‚êòO#ö¢Ýjð­¾wЙíöŸùn—B.)!ärëmXókö_”`îÔÈó|i:ZÀoËò,¿ÿö«Ó/�´<+óôËüðèè(Ï_W1Àü&ʲ,_—¥|Çë¥"�ª@*€Æ{Ði­¼t:­Vk}ý“OZ›î¦4]×õ¼M €ž+íÙÝôzÕzÝZÊ{nÏ«?G +üÊj{®ënn.®òr3¯ëɯóz®ëv¤j¨>Ås7kô*ùáyÕ²ÞŽ[‹·€ÛiuZŸüp½±¾þɧ­NçÚ­(^¯ºÅë<}ù€,ÀÑÃc2 è:Yq² @ÖEÝâ<ËGéá¡#ÇÜL.ЭðçU ÐÖ«vÀ +2¶�U{�ó¼(SØEžgfõ;Uæ#�¾‡1€%£ùöÝÌ‹f %ÿðt6 ”þñ>'»$$”R½�"Bô¿£äé§?ø4¼œ}ñÍÛ«Y}K/gûÑìòr]zI‰ÿØuŸQ:PJ(tž}üg�uŸ|C£¾ºœQJú®ïo“+Jé»­Ùìmty9#³Ù,Š®.÷¯þãÌ»Œè¯ª¡¿„RBß�­?„!!þ”ÒËw——”Ò?zßíÓÙÕålvEßì/Ÿ|‡µêÇËQÀ<åÝQíHp©Àï¦ÓÔHOÏÊ"=Ì¥Õ¿Î_ÿÝß] eYµ”Ì‹|þ¯9d% ®ë�k¸eᘼèÏÿtZsÔêßõ¼…èÕVú—‹÷Wf{¤«_`³ãnº• ð<éx=×Ýìx®Œ4,)¯çz½žüî›^Ï•þÂfå ÔÔØÜÜì´6kð³[Àu xH ¿þzúêá1€ +éaZž”¯‹I�ܶ»Åyžfrh:êÊ®àÅq§kKÏÂqÇ9v*@ÃùsÛ®T€mÛ¶}œæy!ç¤t‹üèШÀÒL°ïõD Ïó>{Þó¼Àó¶¶¶<¯÷Ü{þü³Nç“O>é|Öéx[žçm~Öñ~ò“-o«õÃÆ·¶ó<¯çmy[[Õ}x?îÉwmnmmnõ¼-¯÷Y§Óé|öɣΖü†�omýxË{þ‹-ùŽ_,½ä׃µÈæ ;Ê—]€k + —8�þnzžéo§¯Ë<}Uàèèè(¿áÌ�çE^EQey&ß7oÚØhÜeY,iÿVgsáT®öÜß÷znÏ•×uÏõþrÓõ<Ͻḕ P]§ç¿Yé ¯Ž+,\·#}‚?ÉèÔ� +à~ö:Ïó¢,ʼ(ê‹<;œ×Û]Sºi;éáÑQš:iž—eÞEÅïÎ3h¿þÝô7yþåÂVm»€üäNêt�tTU‚¤iúºÌó¢8)Ë“ó³Ì¶»ÇgE&õš¦©a7`w»¶ít»ó,€±€.cÛÒC°íl>¤( w‹ü0µ«Qokµø>ºK…€aôm0£¡ŒåïîîGQͶè_¹®ëûýÏ}‡â{4HðW­�-B¥oÕämºGwI?Œ‚虿í¶Ü0¢$¤Qèû®_-„k¹®ëJ[”ø�Z?“~ÉþOêAb³èm}G)!„†!%¤¿K÷)}·I|ßuýj"¡äÿ c•*+�–g€ä¯_ëÀ¹Èó•v€,O�Ѽä쫲,óô ôº<=—8Ÿžåùa.­þuþwGGGG¯o 2ÿò8_�*•gåtš~ýuSoê�Æ@gÅý—.@ØÜ¬=o)°Y+€Êöç.€·¢$*¼MoÉèÜp6kàÞî¸×\€ÍeÀ«b›­O~¸þƒÛð³N^©n9 _ÑFYšçÙáQ~˜ÛNfkšaw�lt˜¦iz”eÞEùô<…Ýüwçe~XY×±mÛtººáœWÎÓÃÔIÓÃ4Ͳ,;̲Ã×eyR'eqRœå¶mgçEVMMShð&ìn·ëØõä�,›Çü�]Ìy ›w¹t§È$�FCàû_ +†³%!�h¸¿†ûQ´E?!O}ß÷=ß“3�¼ÞŽï¸­õÆG}BÈ›z p´OÂ0쇤Gým÷ñG�Ã( iDŸ}¼în·Z~k}ý£õõõFË'ÁU§ªp}Ÿø„vd¼�Ì"B£�„t6 „„4$aØïËÅ…[Ä÷}ÿ/]×÷? „Hù~@%d°L²|ôº|HÀI�ÚlóÛ¯Êò,ÿrùÃy™¨(O§Ó¯¦©‘žNå Ùü(Ï�ªÀ=Àë"å´œfé×_Ý…p¥íÿúrà[‚€ `IÌãõ•q×&ÙëÝtz7PÙõæj|ì²{5 dŸÌè% Iøë�„Ä‹|·õØ}¶EÄ÷·Ÿ~üQËm}úXz°ëÿ§u×Ý$��Àk­¯·ä¾Ú!>‘CAÃ0ŒBº?#»¤O"BÂ(” =âÿ¥ï»®×óeÃ`�’ª©P*�ùKžçY^ð¶ Àò÷,O�´¶ÒÓ¯¤xµ €"7ì¢<=¯�w+å¯�ŽêtÀ—iºêe9'BYžÉwO§sàÆÊÂÀ¥q · #ÿêÜÈl.À{¸ 0 K.@ç† ï¯ãÉ·nº›• Pló† àÞéü¬ÓúÙmöŸ¦i:JSÇqRdgŽcëºítǶíî(ËòC[wŠ¢ Ðáy™ËÅ]v·kÛ¶¡k¶ƒ@·È²¬(Š"O�Ry_£Ñh”ŽFiQ'EQÅIq’Ù¶��ŸäÙüz€‘eùÒmžß«àd޾p€]»¦c›¦igù(ÏGy>ÊŠ¼ Œ4OWP�€ý^ghÉIÀa´Eûͯvé,ôˆïþ•¬óI@|¿Gü^àûîÇ��|9ö“„QEt·OÃ0 w=òôqk»†Q´»þƒ�>þô±ïº-×uÝŸµZ­ÖGë�ÆÏ>Ûñ}ßmµÜ§}ß÷É È,¢³($d?ŒB”ø»4 Ã(ú›($aD<Ù–èzµÉ?ÿLß­A»»:úy^~:ýê|Õey™Ý¢(ϧ§§_ÎtšwóüUšåGG2°¬VÿâÅYY–eq~6�f_ýu· mÜ�—ý)Ë¥?«Q€Îr`Åp7ç"À›Çæ.@ï�.ÀÍ,€{ݸ5 à½? à]O^@ëÓÎö?o¿1lDZMM7LÛ¶mÓ¶'ÍØyfÃ)²Ìqºv×¶MÃ4 ¬éŽ Ð|�¯ö¿€ãã¢(Ž‹¢8Ù¶���eY5û{ä@`¬îŸgø+dΪpÛ4S mÛÌW0ÊÓT–×øP HÙGCB¢èoö£KRBÈl‹l?}êù¾ë“€�ßHàïøÛn«ÑzF¡Á$ú›_…d“l·>rÃ(Š¢g?ø³õ�Z�=ßu]wÛw]×u[5­Ïˆ,ânW#B|" £(¢!%4Ü%Q†QDHèû~´Eäf·®T (!Ä¥áîÒ$r’åy–¿*_è¤Îõ @n£å4@7­ðÛóéô7ež.• +gy‘Ý2/ϧ§ÓÔè–Ó¼›ù—÷`%PÎ@YžŸM³¯¿þº ÛîΗ…Î (·g¸¦®‰ò… ð¾,Àm.@gÙèy•iËÀu`ž| À£eü¬ÓúY«ÓÉnžQºV7 Û¶uMÓ Ã´ Ã�—aŽchF5™ß¶ Ã0 ]š¢Û†j,wï:ÕÄy[JñIpVdõþŸÌ� ®À™+� +¶óqÇÖŸ8ŽýıMÛ¶u]×Á2€£|áÌ­ÿ{ €_/N]zaÒË(Ú�"†„„tk×ê{¾ïûrŸï˛ے1€Ù€üêrŸîG„ø4Š~EÜݧ­õÇaD£èÙGë­ÇO·;îS×w} ·õñZŸ‘€îúú§î¶ßF:U / + ñ£¿�¢Ù†4 +wÃ0”/;¤ïûO{n½w„xïB|BvébE!DÎw}U¼.¨Û$Ê<Ï dååR!@íœýv:�–åÒ@ŠÊè–y9�žž§À.§¹�åù—GGGGG¯_ß­®ygeQåùtše_ÝíBhw»]eièý¨9pK`) Øû/s>$ à­d¼;³n €Uàg­ÖÏZ�VzËqiÐò˜¦¡)JÝDi˜¦i;º¦;Ž®èOÇ4¥íëhš¦44SW€£›ŽóDFðVú޳,“"@ ??©²ŽTÕèÏk +`€Çpê� Œ˜ŽiêºÀ5Ø.)€ï7–’çQ4ó(¥á~FQÊâ¼-ºýTöï÷Éî.%þà•;ƒ?ý³�IHvÿHiÑ}JÃ]â‡!�B—<~Üê‡aöÜj¹Û¾[ ñCßßvÝÖºûÈ'„øŸ¶Z�ýg¾O:$Š( #JCrÒËhF©ô'Âè—?ï÷ !W[¡Ü @Ù )%$¸ªzhHCòË:�qx”çYžåE¹H³L E£"›+€ΦÓiYæùb2ÌH (Ëéô|š®¡bšã4ϯàèà†Kpvv>÷ìn·›. U”Æmè¬ÔÞ–ð\×Ûü¯˜p¯mÞ]4×}Y€Îõ,ÀÏ:Ÿ:·ÛÐu½©äxŵF£žÁ¢ëº®›@ÑtSkh¦©7u°¼¡UÑ5EÑ5Ý47 ]7l{uy_–gYq,Pœ—Y:’ñþCdž3Êî€i;Žs\¹vå8¦ãØóryV /2P^,bвØøýÀr·)¥[„� $ð{½^à“Ágþ¦ü­“ÙŒø�çÔ z=¯Õl|äù½ýý A@ü^@zžëýÜßô[®ïû½À]o¬¯⺾çU¥©>¡¾Ûi­¯7yþóÀkµZ›®ëúŸUÁŸì¾ïôd‡ôz=¯çKÑI�Àó67ÝMŸ\ÍHô‚_ ‚ ô¼€� èÕs&òãj4ã�J€2ϳb„ÒÅ܉ÔIó¢¾PO§e™åé\TAÀ¼<=ŸžNSÍȧ9J‹ìH`Ù8\@Q–ùÍÀÙ4•@€EöOiÜ€Õ"à +`µè_Hàg­ÖÏZ­NëSûÖcêz5:©ÙÔ�¦­5ªz5bY×E××mcc£.³^Sª«º¦4´FsC]1�¥B]Û¶¥]gÅIfÛ(?+d@šf£l‘0m»¾™æ’ à8¶ýçŽ-K�]â*U O@Y‘¦©ñ/!ðvq®¢«o¯¾{÷nöŽþ#¥W3Ò¡3B(yö9%ä÷›�‘o£Yø.$ŸÏòéºK¯è›+:›‘�]]¾\]F3J¨ÿ8º¼š‘Kïã�]¿éß'{{„PJ=ŸPŸ†¾ÛrÉ`¶3£�·Ÿ‘€Î(½"ôjövvµóÝÕìjöÍwß;};£” (‰¨ëBHD(¡„üž�Ùýö›«ÙÿòƒÁÿkðnvu)×Ìf³Ù,¯V<¼*^�:y8Ìó"Ï_¹1*ë-ΕX@ž/vÄ�Fy™#»(ËóéW_å°À¼h€Wiz˜çÙª˜‡Îdb`:�¦K@š¦K¨R�÷fZwdÜ?9 àÝ›�½ï/ú€,@}ùoµ>혷Ã0Œ¥ê× ¯À¼€æšÀ†®ë†nÆ’Ûv–W ÈO²®mŒŠRÀI3Ç1t2ÇU2Àqæ_'#�¶ã86XÔÛ±mÓ6–@–Ëåyj”åNšsûÿ—Œèe½ä+!3Ï!Û¾ÿÌ÷ƒŸBfä—ý>éû>í¸ë��ŸBéî.Ù¥d—îÎHÒ�øÛ­õmJ)ñÝÖÇ­§�|·NÕù²­×ßÞÝþØõ yþ�¿¾Þr}WV!J©GiíÓKÒý�ø®+W ¹¾/wû.¡„F»OI(Çï.„S €,U¼.€–ʉÒéQµ$+¥ȪJÀt^®s~Y–9²‹¢œN¿ú*Gå¡@í¼Îó4M�®àu~38M—=€4ÅK¸õ,‡[­ÎæmYï¿aÀ“s÷ö,Àu sg!Ð\Ô—ÿVëgÆmGšxµ™µ@£!®`Co‚kÐÐuÃÐ s ǵ¸?ÎN2Û6²â$sœÔqg”:Ð�ìð0K�Ñh4¥éBýÛ¦mÚ¶“9¶.’OÇOjtгy i‘ÀÎò…X›/‚\û~�Û§¡4¤��]Ò—Ø%ÛþÏ}ÿç¤#m˜ôé3÷©ßúôã–ëÓˆ†d7¤t—õÂ0ì÷Ÿ¶ZŸnÓýÐw[­ÖcòÙ_¹u¶Žøñ‰ÿÔÝv[Ÿº>y>뻟ºî3Ù†»„Rïj?’„�þîö§-×m=%®ëùý>!Ï|ßÝÝ“óI£p—’�"J •C(¥‡ùáažgyþ*/s 9y‘×Èò<ÏŠC”YÝ,‡AJL¿:[@¥n 8ürÒ‘xu]dK(Ê¢—©:B~Þ¯Üõu}ýSBHH÷ Ù•ŸMfÁ¯Bâûî§.!d—úëë·\¿ã÷üùÌÑ€úÄïûO··××[äùŒRÿñ¶ß¯–��R¯óGCÿ±O¶××?Z_oí¤ý¾ïÎäg’0šJ®ÞÐ}JgQT2%%lÍž šûzt„ÒRFø²‘@özIdi5Ù%“Þ ;/Ëéôì4GFvžÛi~”•Ë.@š¦£<ÏE€+˜ë‹4]öxjŸ¾G´Vò€7*W +�ðüÄâÅÆœ „†5Ú „,Ì”à‚1Á$ãœaŒ1à€1ÁØ †ù2°qÆ0¶0Æ!¯@0†æ‚3QŸ8®@«óiç.Èej@kjè@®[½ÃXÄÖ®)SŸ‹€%ÿâäD†Ž‹â$³McTœdÕ¸Ÿ4Ùè®T†mضaÛ¶mš¦iÛ²p ¶ýÄ1@Èò,�F£,Ï»:èæyš¦fåÈyÒßPJ÷EHH(�‘�Ð+�„ʬŸO>#„„¿ õëˆõ}×}ì~êÿaàº>!}Bü¿rïÒ(º¼œE”\Ño"9JhYeù(Ïs[CÒ>když£n!¯ÿ£JTÁÓß®`¾ &/Êóéù4G =ÏQš}yttTæ«8ÌóLÚ¿Tüe¶è(ª@úõ×EåHpzú0¼¿/�D¼¨€Á +Ü ÁæXR†·àcØÂèJ£Ðm¨ ð³V«ÕùYG.P¸qk6µj¬j³ ®+€1€¦v—¨Î +²,;9>ɲL §(²ùúßÌ »² Ð0lÃ4 Ó”¯l» +ý?©b¦cš¦m€ú,ò¹ @7Ï�Ô1» ë<À÷½°·µõ“ŸlmÊ™ [Ÿmmýd«óYç“Ï:Ÿuþû­Ng³#ÿ:[oÓÛúlÓ“Ÿ»ÕùIg+øÉV§Óy´Þhv~ÒÙê<úacýÑ£Îÿ(;þ¼N§ÓùIg«Óét67[�ÖøÈûñsÏëüð‡�}ÖélUŸöãú‘l}öÃGrÖ–û“ΣÏähÒÏ>yÔùñÖO¶¶¼^Ï—]ˆõMž,«Œ;ËóÜVŒÑ26�£n‘e£QžeÙò$¯²üíyY棴*8ªö¼Vøª°a:Í�´È+äù¢ àè:ò�íÿárß'ä¯üA@èlFgôêòr6£oÿ¼›IåpEè7ž÷–†——QHÃ�’]:£³·ÿéÛú§àrvuõÍÕÕÕ?ïÍfu ŒðˈŒ¡i>ºE¼Ê³Ñ([åWžž�Ÿ–ù«y–�ò¼ìÚùQq>=ýª´azž£Q™§GGùGsŒ–<€òuY¨€ðÛé4�~]T€�¦ijŸžžNß§–pk/€ç]3ÿk +Êg ªª*P u'ðƒ@Á–?BkraÂêMUú¯Ùl65M� `΃€w*€Ï£€Y‘Ù†áäÇ 8¶VVýŽ�a¦-`Û¶mJTs@L`Ú¶mšº4y› O ©ÇTê2€ï1–cdâï�BCýxk? /£°ÿÌï‡Ä'„„aôëÿðöÑöS÷±ï÷ÃÈ£þç„�jT’g¾ï’ ˆï~¼þØõû$¸ê“_EQî9äk—„¿¾|ëúŸ¶ÖÝ�FÑça«õT®yîþ2¢aøK²ëÑÀ÷]×ÝvÝíYÇõŸõ£¿ «e#D®!ù§ïJwÃÙ~}Dd€‘ü=äyŽlPà°R2¬7¯ôKÓ£¬.Ù;ýíùiYäY팲,ËË®�çùùô«¯JvOGvVæ‹b¡££ü(•§iz˜å£×K8›ëг²,‹ò|Z~9]ñltzúõôß.jïl¾·ã»°¬Ô‡*v?–þÀÓе՛ÜÊÒ ÙljMíº¸%  ß¡–b +¦Q¿ldÇÙq&ÿ*2Ó0œ¼Èª´^æ8ŽV«† Ã4L™¦iHÔŸbÛöǶmW + Àü‰çvó|äT.À÷Ë]4ƒàŠìøÁ!aÑÿôü‹]]†}ÿY¿2½ðo/£ÝÏ|ÿéÓ>!!íø>!”�0$„ød·ßßv?õ?w××o÷¯üàÙ%Q†! CBú> £ÿ·ð}·µ¾îGÑŽßút»ß¯B´K!Ô›ÉÁÂÛþvÿ3øý>�Â]⓾Ü)]þ‡ÿð. !¥³(ŠèY@–e™þŸ:ÀÉÓk¨V„޲Qž¥éQžJ|uv~^–Y–ËÁNù«,ËòâÈÎ_ç§Ó¯¾*»F÷4[àõ\¥•�(äh¡zÈr ð«i™OÏ»Úv×¶Ó4í¢ÓÓ¯§_¯®ÿÐ^ŒoÀÆüÅB|¸ Àùª ßPµ p- Ðx?cŒkÚM4­9߬ò~@¿=0·~ ëK)Æ*x|||\8¦±�¥}ÀΜúÅq*U €íÈ ÇÖŒ'2PÙ¿–Uµ#£¬kÐͳ9ªZ/y¾ß ;[©¼CúîŸßt7¤$ê?{æûÒôÂèí7¤C‰ÈnHégDîê%„�¾Ò÷ÝVôœ�Àw×?r·©W„„»D®õ!„ø}þúræ“§­u·FûÚjU•Æ„�Ù/eu¯·5� Åûaðö;J ûô—ä羿ퟄá¯ÿÓÛÙ%»—”FÑÌ#u¦Á‘­•ž+Èò<Ï»(Ïó£Q&]€¬@Q–çgÓßy €W£ÑH ”0Œn–fu#ÁßÕÈæû‹²,ËóÕRàªÎp:-Óé4í„À×_O§Ó[�Ö €Æì� +|� ÀÅ{€tú@ÀØ‹/Ó4°zdDOŸ@ˆ pk Pñ¨_ #ËŽ�³ã,ËŽ� ǘ+€j¬Ÿ­k«‹ Ö°MÛ4Mélý+·µÞh‘pöÖÝÞv«jA*ëÙ¢ÄûÅU†4 +Ã+ZÍ*þÿŒ†ûÑe4 ê^ «�¨ÎV¿·nqTUó¥u0­fý£¹‹Ÿ¥i6Êòªøü«éo +9›*¯j‰òâè(/æ�¾\šöêÕÑÑ«££k¸9 €s>ÍS €üUjçRLwŸ{{„B<ðà,ú€,@uõgqóëùÿꕦƒÅ;ïwn jJC®g®ïÅXuêsâÌ7ýU +,5:Îh¹'Ñ0LÃtŽíȺMwLÓ4õ9Žë�™cè ›g£î +ª@Ï÷_Á?þ8 të2ŠÞ"JwCâ÷/we¹mHé[²ß!»! )¥ûÏ£ýð—;~@H({rû¾Ûò{~àÿY£õî„$ ÉC²K­ú‹wCFo‰ïûO[5“}J»Û¾ë™—!²Eƒ`ðY0˜‘ýˆ¾£4 !»á>yÖ'$¤t?zKß_PºK)¥oƒˆV½€„Ђ°»(è¿^+€Ñá¡lÿ΋²(Êòìtò·YÖ +À€£‘œ’åe)0Ÿbsm&`Qäy^¾^®ÊÓé4w ÝíÚvY:Ýüôëéô}.Àݽ&m‹Ý�7³Êƒ,@]€n©¸ÕÕ?ŽãWüà@Èy_!ÐM°‚ ºaèºaèºî8žU·,sŒ®a;Ç‹Ý¿Ž €sìK?Áù‹ìz™²ùÄ1�éÈ ÛÔtÓ4 S¨Àñqžå5–€R}ÿþ+€Að¿Ï‚ç{W¸ºŒh—ò²î’>!$$4 ÷Éþ•Á·ýèùå¯ö)¥•îÒw[ÔŸÑfcÝ%Ÿ„a—^†!!aíÓ°Î5„—Ï‚Á³§îÇæ†ûƒð±»MˆR†»„�­ßÿ~+øÇ«w³·QFtFwå÷'Ïú$”ûÃÈe@)¥ô›hÿÊ�¨ÜL¶_¹”¨2»PNšey–):Ìó£ÃQµâÕ(«ÏO¯)€<ÏË9 f£¬T… Ž^½:’u_æuíßo–—ÌǃœMót:=r êvíîéiŠsiÿÓ÷¹·öp1™H …¿%ˆþ¸×Ò€uª«¿4 á�•€2X½ñž,À�€t'@`X¹çÚ¹?vœìØ12dg'N5m̱'säàLº²?É4 Ó0 £vL ˜¦aš†´ iÇyv|œçYž;†»Y6rºærà_BpçÞ oè€2›=§ƒéíø=ßó¼€ìø„’2ëÁÎÕ»ˆî ¶v¡$ ƒ� z~àmºnË}þæyç‡ë­Žø„3Bˆï( H�Yø�×s7}wý1¡Ï½VËýKÏ÷ý�ßÛñw‚!;ƒ­oJÞÌ¡{ƒ!;=BIà{n@H@ Èày°CÞ½£tl‘�ª¸€QeGY* Ò¼Lá¨È�ŽFyz8ÊÒ4½Êä,ù³ÓéW·(€¬ÈOOO¿2 4JW†¿zu”¿ª* Ól©ø·ÈË¢¨ç�TåA•0ì®mw§çKh<s0�. „ ò{ø/ʈ»À]yõ�ã8Ž0–¥iÍ›·¦v7nsVÐЫûÑ*«Ôum±À«ÊzOO§ÅYže£e£QV¹¥ÜeójÙX VU —ââô|úu™–_ç)²»]”KœO’\éàœHTXVC†1ç,N{™`&0ÂB¦UU…(" !„FŒ]€3ÎcÎ9˜s Çql³ýcÛ8αãË +)DÃ0 Ý4MÍpž˜¶i˜¦®¬é¦©›z%1@žåÇyžçyšÙ´³tuIð÷]ü¥„†Ñå7ÑeäÍêËz¿ï»}9Õ“x2ñFi´ý:ŠfWï~…á\H=nÿ`ýq¿†4Ø!ù9!„†Äß ñw|ŸÌ!dûikÝ £(|JüºN�|Bèlë’Ò]F—Ñþååg²€�ô éo»þÏûAø_x‹‡½E³oþzggggg§²­[)€ÑèËtî–4Š¢8<�Ò4Ϫ1K +à¸@åHäÎ�²²ÿyžçY±$Ê9ò²üÍÙÙôërT~]¤v×î¢ük©ÎÏÏÏÏß\*æ¼[€sι˜«€:#0Äø@àX$â3�"UQ  -˲,,ÝçŒc̹`Œs±àX`laÆ9ÀücŒaÆb&Œã  Žù#>æ1d`�1B +„°-CJbpÀ0æ 3&_1Ëââ@Ä·zü7 xaÈàþJÀµÛCU{Ñ< °€ZئišU°.<Ît½žQ&Gºn›šn›¦i¦®hºiè²HÓ€–gyv||œçY溓g©Ó5Vlÿûº#‡ñÒËÙå,Ú�9zßw}—ô}ß÷IèÍè.¥$ iÑ(Š®Þ^F²~?Ü%¾¿íúnHéöÖ·wÃ0 ¼YZ¼ö}BBòsGê|â?u[ë�Ãh×Ývÿ‘rcW®ÜßšÑ}†Ñå7—Ѭ3 ;>ñIŸøÛ¾ï÷ý�À'—¥»”*¥Á¿ +‚à_€ºEqtt˜¦Ùèðp”¦Ù¨@Q¬}€ˆ9oÞr¿ø®¢ôª(èª!ÿ¶c›†mÛ¶]… ÿ¢r¤˜ËÙLÓ4U_‰TI€<Ï2Ùj˜9NW_Jãûž ”2øeHhl=ßêA@ªu\=ß‚€<§”È ìBÈ`ç³ÙŒR¾çy�V‡Pꮯ·\ŸÁ/¼Í !ÁÎN;ÁN°CA4 z^§Õh„ú­N‡„¿$$È Ø ‚€�JTƃ{[AÐ#;¾ïy¾ëy~ Èo6[z dgËÛÚÚúó-]7 hè +]€Q¥ó +à°, X–²,MóQ%V k‹£Ã£Ãüôôé¨ê1Ì‹BÖ-B¯² +§§²ÑÃqŒj­§øeƒÕRàj¦˜nèU%‘aÎ`˜¦¡¬é¦®›`Ìòì8ËŽ‹,s C–êK¿[Y ô=À»Å™ÑË·oß½£³Áw³««wï‚73J)ñ>!3úÝ%ï¾ñÞ}÷íÕì»ÿüÇ?^ÑÙì¥ÿôîíÉÕ¥ôŠúäYØ"WÿùùxÝõ) ¯®ès:£”Ò¡”Ò?¾‹èlvE¿{÷-�]×§³«+ÿÑåfïÞ^]ÑÙ›«Ùà �ýbvùÝÞ}Ggä�WWï¾{·õ{JdðùþçÄFÞ]Qz5ûëwWß}óÍÿøÇ¾ÜŸ½û ÞìÓ7oÞ¼©4pŠ2?JÓW£ôËQ–¦r¿l% (Óu Õ>ÀôtyÐh”•5 c$;¾å§æuÎ'¯ÖŽd£¢\iÌó¢Ì«j€ßœO7çE*+�¿ž–éèüüüü|z¾|�¸Û@#!„œ3Æ8çœH?@"@ˆÉÅ„%b,’‹áKÆ^ „9cPi(P YÂ#ÌùD\À æIó8Ib'0Á,Ž�9çq Xœ$‚‰dÂb–L`’  6œ$LˆÌ™`c4Æ!¬"( 4Ô„_€s&b.xóxÌëÈÿ’ù‹‰þ!çþJÀ;¿J¿5 Çqäb?Û¬bËX*%®TÀè¶mÊ +@EY€’Usf³<ˤw³Ì¹ø~¯'¸üUt9›Eß¾Ý%„~Aƒ+BH໾ïú>‘®þæLn¯Îì‹( +C߯æ…úþnk;|KÃ�>îoû>!dß'„ì¾Ôû‘œ;J(!ýíÖJýV³ßï÷Ãjv0¥$Üší_Ò«Yô­œÿ÷›3B|?ð}ÿ©ï†3J ¡[4Z<"³Q!Ã0 „@·(ó=MGçÓóéùùÙ=˜÷` aŒ1BpÁ9gLº•P©>™–ŒyÌL0Œ°@PUE° ‘Š eaŒ0OøE|…@œ Îã˜c̳ƒXÄ‚Çq’$ð N’— {)/0I’0|‹¡/°œÉÝ¢»rdÇþ>¥!�Ñþ¼ Ü%>mm‡——ý�>~ìûψßÌ32@|òÅŒìÊ  Rê·š~_Æù)!tŸîζ¢èò×rOAòÅ%$ ¾ï»¾ïö÷ !dæ}A«þ¤}JC:¨BÈ0j¤i:J¿�FË8,Jk ƒyžÉ Àô4_H€<ÏFË.À¨^]‹ž'''åÉÉÉIѵí*ú_y^H0=ÿÝï¦yz^¦ÈqºÝüß•å(=_�(·O’öÎ…$€…Eí`\EùÁܘ$Éäå“g! TiÀv» Æ3„ ÂÌBóDÄŠã²æ�sŽ-haŒ1Ç0ŽñÅK!.&Lˆd'±H^þ=NÇq‹XpYðSüSÛAÕj¹‰ + F˜Á˜ãªœ�‹ÆÄÂüÇã$ß ùéwÀ¸«ð¾ã×ðäÉâoûIµü£€î<©½ƒ'«¨§ Ùº¶!÷Ž™ºl<6µy¹Â\H87Àƒ m?X +È¨ÌøOQ½·—ßìÿ*Ú¯{÷+ໞïûý�ŸÌ¶ªp}HåDà€Òpi?÷3ÿQÿ2Šúýàñ¶ïû~ð. Ë�¯f„|.³„Ògn³ßï‡ýŸ÷ õw)¥tÖùömEѼ9¸S=ÿ/]Ù5ä“Ëê�„aRJÃ]HS ÈóôËÕ&ø…p¸¨�5^ÏP+€s#�'Š¢¨«€óyâ8OÓ”@Ó0mÓ65Ý‘Àî@Õ º©¯54C>yÇqœÃC'Ëó,³�áŒþ@p `B`É ‹¦*m ´’cŒ¯›?Æh£„Ð/ª�4¼ +Ù'$ CâÒ'}·µîSý£ÇO·}ß'´@ §zû¾ï“` KZë�ŸÑðÙãæ¶O|Ù.RúcéÚGTÓÎŒøÒ‘¨L°˜Ö,ª`6B –5ªD€¬0`Y.ò\F‹år3�TÖh”åU °È›NÊ¢,NŠ¢,Š““““94MZ³È‹¢<+Ï~÷»¯_åùyiÛ<ívóß�•e~~vvvvvv„Ãáp8¬T@ÕíƒP­º W•Aœs !8ÃYJAÞ˜@hYÈbCŒ0F˜q.˜ˆc<L$<3.†É &8³,ƘÅdаŠ=Ê)àc„»˜ $ßú)\€¢B„!ǘ .—5„KWÿÉdr4ýlÜ|paýbÛ¦óäÉ<XÍûPuÇ~bÞ 6L°¦›¦„”ÚÐt]ßX€ãfy–eÈEâ +x; uÖ2nôjüêâ‚}h à»p7 Ã�Tv׫|u×÷û}Y@:ƒÀ÷ýàs^~3 ÃÙ $3?¬šx ñýÖ6 C}ý±ëúÄÿùw5üj¨‡ï2|ßs[Ÿ®?Ž®h¿õÈ÷Ÿõ}94���’­Ë�„ò‘�]B¨TÛ¾O~î“ÙV iBÂËÙ~Ò:•���n [@QÐ(–‚rhY–åô4ÏçcAG£LfOOO�*�åy‘yžå¯^½Ê‹ò¬,Nв¨nEѵíÂÑ*hº¡ëeyvþ»ß}=ÊóiÙívÓn7ÿÝ´œ–gçeYž•÷@ˆáp(–€,«"€à¼Ëºµ€¹àœ Æ‘…1´—ì_òòÿSŒØ1ÌD3ÁcÌ9æLpÎ1ç‚wa"¤±",„ÀŒqƱàœ1�B\È€$Ü#ÌâÚþ!„@iÏ Ð€„1—wÀØŠø—çfÕ¯¦oÜa¾ó÷_ €m>1Ÿ˜OlÇ´Í'f Ó6 Ã4MC@–ú›¶­¯¤'u ëºajkºiº®oÔ.€^=rµÞ00ʳQ€ku2Ês¿ýß hYMÕTµ€u?Æãñä‚1þA UP½jï9¥t—×÷¯h5ÐWÚbäSºE”Ìf!!ô’îG é?#®Oh¸½þѧOý>!dð¹l¹ ) CBö{tG–üÀ�"ê»�¶ýg~ô7!�ö) CJ·B¹§¨êøbKÞÇç�ÿ-ñû$¤Dî1&4ˆö÷/#†ïêâ­Qàõë©ö}?yâTC× ÝÔ5ñ«¢Ó6íõ/7–ꦦêÿê¶œ/(ò,C†íd7 7@ÿè.Àû0wåÃÀÄðÁíÀß~{5‹fÑ,Ыè-½¼Š¢ÙìjöEïí%½"UÂý fWWûï®è¥Ü'¸;óèì—W”Rþá*ì‡3zE[þ£�†tîÏf—Ñì �‘·ÑŒÎ":£„ÒA@ftæ»�®ö©ßs}ŸÌz3r9Û�fÑ»wøî»+:û=½z>£3zE¯®öiÑ«Ùgÿ< #Bél¶7 ³ÁçW³wôÝzI”T#ÁBJB¨|€Ã4M3é|9Zn€ó“§ižUi€ééù< PŒ 2µ­œž¦u@VÏ )–'þe¹¨hÖЗåEYv»]§kgùTf [þf€Æ=¸éà%?@:\òqŒF¶ÕQTUm„3ˆ™˜p,DÌ>‰ñ˜óXsÁ�1 &b.„ ÁqÂñP® å˜ ŒgŒsÆÎÅ��»L° €PÖÖÏvUËB¼ºkÎÅÂü1f ¯iʵÛê–`ÞOãZÏ4Í'æÓ|b;¶í˜NU×kèºaºfÚO¤D°MÓ¶ç}ÍfS:ÐMMÕMS×›Rhº¦ßÀqžeH7œ‘cß­n!„ðC\€‡+üì/NÑ0¤”„ìRJiîÓ�ìöÝ/ö) +7? „þ’„tVÍé[ÿ G‡Òï÷ûdw—ø-ÿ‘ï“Ý0$²«—~Ð ål?ø„Ûm="¤ï»O}ÿ¡Dº»aH£KJCJ‰GÉ® JR2#»»Ÿ=‹dp€„„ìÈ•ô™Q²z�=ÀÑÜ� þO]9 Ëó¬„@WF/P%zò<Ïó×E]\ ˜ßª@\(€ã<ËÏ3£ÛM»ØÎ¦UÉà5pCL&w @`¼äÎ1ër!bÁXÌCP–åÎ=UþÐ3 ‹±ÀLÄq,.b$8ã±Hxœ1æð3.¸àc‘Ä �™à˜‹8œÇä,ŽÆ8®—ƒA�¢.¾k£ Th!,˜àñ˜‹„ÏÍŸÉ0‚àŠ¦h+·M© ¦n. þ¾åE+Í|Õ|oSJ}[Žõ4 ]7M]×6ÌåÀJh覶¦›’9M¥¡€Û�΃€ö½øÑ‡àzðƒw, º€}úÅux»%up0 „†úö)Ý%Äß�à™@î’P.ÿvŸûDv=êßw·å~‘eD4¤á5„»Ÿ=Û_ JvCz5£¤OÂ%˜•x�燕 `AØÊV¡[e«ë­PU¥NæyQ'óöß“ÅYÉÌÀI~’åef¨ŠÒhdÙ´š~ö›ò^�LîD@U„¿P ‘p!DŒ!G¨êrDàXˆ‰‚�yœpüeÌãê>b!b$æŒ &„˜0΄ó8‚‹„¡1ç\Œ…àœÅs<–-Bˆ¡¢.‚€ EU!Â\0!¸`c!âñx<Ž1ÃUƒˆTMÕ4U]Ü4UyÀ©`†aêÆ=g5 h?‘æÿÄ4Ÿ8¦cÚºm¦i®H„ù¹Ö¥ 1 U>JSo* EÓ5]«ܹ��{„oÀðÃ\€÷+€W+àø!@*€/Bv÷oÀ.!äóeüœ�P*€_‘T +@®¡á.¡ÿû=p}¿O(¡„„Ë +`¿\@E"†áå £@‘O.Œa Bõ~@AÛB#„1²*(+PEf‹²<;™àäìD¦ôʲè§t´µµ5MÓ›M]ßÐMsã¸8Ί2Ó+ûPÖÖÖNëÕ¡÷Ä&É=`Õ�šœ_$œóä†1F‹`CQÔ¶ + „ÂL0ãX ³˜ÅX$c...Æœ³É…Hบ(21gLÄLp&.Á…‰qœÈŸœ GÆ[c„ðÜü‡BeMUuMÞTE]Ӕؿ¢¬)Fº3LÃÔõùôÿÅŸ.€išËnþHÔUæ¹1ß$jê·¸š®)štššÒP´f³YOüoTæßuò,Ë ÛŽcÛ ñ@ø¡.Àûc×] ÚðFa±%÷hÔ Šjîß¡® ¬b ô1€Zìúÿ¾Ûsº»þjI�U z€x5^`r!Ø ©À{]怷»ÒG=;999)˳Úñ?;«ßSæ¶1’д¦®ëº©ëÆqq|œg™^@ÆšZSÓîÀpø~Xã.˜HÄDp&&ü`ŒÀröiñ[„|O01‹9Ã3Æç˜A̘�e„†sÎX|sÆ’dÂIÌ!"ãXÄ(ü‚ñcŽ„BUU—B�†åó“CŒ¹�ÿ±ó«ÿp(„PM[[SÖemMÑÖE›ÿ7ß ÅÐMC¯&õæêÓ˜÷ðßÀ +4Ô)Ù7$몕 ú­ÓE4E“» t }ñës¤Э€t´ÆÃá»� +à, ZЂÐBûûÑþ2è5ð«»Pgæ@#$£Ãb² «Y0ÆbY‡!0Ú"˲�µ¢n�ìÎH¸ûY?ZR·`üê:†ÿUÀÒÓ¯<)ÏÎÊòää¬<+Ïʳ¢<;9;«@v&c@×õ ÝÔ7r €%@ÆVp[px †·8sžŒÇ<Éd<±&�k hU`-!4Ƙ!Æ9f¢š.ÂçœÉg˜.aÆÙ8™°ñp2_ IÂã F! ¡®,:†!h«« M*D²D >_:Z_ý‡C!S5mMS×´µµ5U[SM}�P ÝÔ7tÃÔuiÆalèÕkÃ0uC~pyÏX É€� +ºY}RUƒ4oþ½™|PjÈld£±¦iÍùÜ­Ž“åEæ`??z8>8 p‹ P?Ûö/`Yaec‹3CÎ0‹ÂYæ`Œït +aY->¶ “ås k°, þü�Y€ep« 0¾ €ï�XQ󧟪œž�œž�œžž–§åiyRžœžžž–åIYfÝZ4›5Šâ¤8β“³®”oÎÐlÞ_ðpÌ1„Y‹$a Æ¸Ú Xû2¬< Ì1Æ]Æ8cœ£D&1gBð ಄c¡!"c†9û7]Ž‘œ^?a$@{9Øh(³˜aÎѸZ²tõ +Æ¿>úK}P@Y3tS×—`ꆮW¯ yaŸ_ÛW°±±a𿯯†©éúFåÓƒÕ"Ä ýÚD²5US4]k]Öh�FcMkjÊR @ž9pÇ6Á�¿ÚU¼ÿ²¨‹'þÂþ- B ÞÀÁ*a„ñí.À< GÎ~ °,˲îÉ „,„á¼É ÄY<Á1g\n X`| ÞŸ°>D¨ªr~rvrz^–EyZžžŸ�œŸžœ�•g'çefY•�uª¦ažœEže'綶ȬÉ:’{� ŠÁ8gV“º9cíU €ê`ÌX÷q.¸( Åp(–Eûb ç].{3Œ±Å…à˜ Ž1>ÀË$B á &„ˆE¼4˨ºúc‚'ñõëìÀ +ôÛ ß@åll躱aêfÝIÔÔš«£ä‚òylrM©tJSS4½©ih®5�5¹·¤RNåŒNò,­p�¼[&ü\€Ž0 ÔåçüÜþ-ygs°;P¯Û@Dñwqô©€¥À« +àVXw(ËBÖO° €58ãUc+®ðê6¼x¯ `-²ï�¨ªª”ç''ggggeý?;—y€ò,ëÙé Ý0‹"/Š,?9w4¹ ´@So.pK yù0È¢]6†¸ÚíË9\ÈqEQU ÆaÌ1‹»q c!C!D"†±¼L !8&"±,B0Îå]sÌæBpÇØœ`!!€ÀÍ‹v@EQ c‰¼ë!¨¢ b<žˆD`!ÃËÑ`„ h×#A‹a\­L˜@Ép8¹�¨Næ/®�ÓÖj©u÷ßj €eý_À¸€ÕnþJ˜•G Có±$Òø�ô¦Þljk  ¨kkÊÚÚš¦)š>ßXÖP´µy°!C€Ò(2ØïQK¸mœi»]½1ç�—r· FÂ`Éæaû}Y€À+XЂ®@Hp ò»bŒð-Y€($«4²0ÆÂa Œ,„1ÂH”?¶ Qߪ,À’À¸€ul Žï@h¿÷*€e(gwœóÌ6³sY (¯%†¡çÇÇÇÇY~2u´F£¡hŠ|25›Mí=.@’$/ïBÀpŽ€d(„`LL€Ƙc!’äB$Cެú¡ZÈ_E,¸À1gÖ�às‘$b,Ä ‡]’$’=’$Ɉ¡à‰¡N†É„w%v aÜXöµU™Cœ1Ž_$‚Å"#Qßõªù�“‹ëãkWïø{)0¿öË›Q½i‹ÐÀý-BKkõ¦¦ëMÙù£­ikò¦iŠVo'Pä‡Öä•m ©“¦ÜI»N–ÀàÖÓm¨@ØmІ–… „*B " ÄxÉæÛ ­¾' °¬p÷[ó ¼Õ¸®jÁ¡¶UE@mksƒPEQ�e!„,˲F°’ûHŠ~h! aŒ-€- !KT`K†¨* ­ª¶m@[…ÖÖ� +Cë¼'€¦”ÀÎ~[U6›ú†®›úññññqöúL`­©T.€ì4¹{$`#y™$/_&Éð~$6¬üö±óñE’$Iª8„"9³˜sÎâ˜ãXÄc!„àq �„N†C‘$‰à‚Áâq’LØp˜1b,øãñÅd2¹˜pÀ‡fîÀ¹€¦ÕI€ ÃÐOм€Òh¬5—Ðlê÷÷¼|y¯ +…&“‰N^Ÿü½˜%Ò-À)j[QU‰| †9?�›Äã ñJˆ¡à"‰™@2 À‡IÂÅ8L$Ãar1™ ‡ÉD6¹ +Ì'É‹Ép2á<‰' lÌ9æ CŒ$ÚŠ¢* O˜Bp‘.ïš ‘ ‡œ-›ÿ9Þ\�ì7›Õ ‘f­©7µÊÈï€R¹m�µêC é(˨Qe™Ûð�h4ÚjûæQU /Ù‚¨r¢;B +‚1D#T Wæ`|p0fIŒ0ÄÃ�1Ã@òzoaËB!ë/°�p c˘YŒc±…å·“GQ +@S$¨"ynUmù0,Œ�@„ …«©³È´� +ðœh¯¶A[… �%–yH „ã æ1�yÌ™<è¼§ð¿º�1€fU`èY‘g¹Œ(�ÆZs­ÚwÛÔµ%4îè¨UÀðVŒE"’Éd2ÿz(Ÿ$\Îù˜$CŽ0TTEUT´0‚2Œ'¸À8æ '‰H&I2Ãq"Š—L6 +.Æòd,†“Ir!ÄÅ¿€�'Lð‰¸N’ñóx|DZ`3Î1ÄØBÁ¶œ ® +ÁÅDÄ1É8|(&L6‚ñeóÅ >(8_(“/MM× èš¶VÕ".'þníJZÓÖUd @c Ü©pv–w¡“gŽ xë"lU™3ŒÚ*°0Âв4„“ÊúˆÂisÔOmóø€aŒc„¡@†Ôi`ËÂR@µ*Ä´,„!BZR @DЂH–W+Kh«70'@ÛBРd!h!TwÜÈ¿åµéã´¥|œÖ + Ý®% +ÄZÈ‚@€1ã<ÆIŒÇqÇqlUãù¼)Œ{!&¬„16æB {b …ÑRð¡ +`) *çwœ Ùùù" ¸¡ë¦y\ÅI–×.@u͑ɧ{+'ãñdò2I^JÜŠ€ñ0^\üOCñ¯_ +À'<á,I’D�1VUé@ha XÌ‹Ç8Æ<Žã.ŸˆñDˆaœŒEÂùP Å0I&Bˆ$N �ÇÃáÅÅd(†CÅx‡b<^$“Dt'ãIÌcÎä¸0ÈÆÈB©@QTUQ‘ì޹Hℳ¡“XL„‰X˜¿â@ãOŠ<4Øl6õ¦®Ëaºœ@ üJÝ Uß׉TüJ½¯ôÈ3:*OÏËÔHË"sôÀºõÈEÎC9o­­¶- !°r€ #Kà6ªœçjãâ3†0f0†OfVÊí°c«Š ¨Â:æUX˜¨…Dµ™B€ª8�²pÀ-Pª«*¨, X¢¹ÉÃ*ëh±ŸZl£è­*P)€Sjý€%e?ÃÇœsΡU¹@©}Æ{c9ÖÊ‚°�� +�À3lU~‡Qàò÷`ZÍhÊAVfQE‘å'¿ÉôF£±Öl6k Ý—`8�'“ʸb,†“‹äb8¹ø×11Éäåp’\$œcTUUUhɧç ó±À‚á8fxœŒÇIœ$"󱬘Œ“I2ž _¾Dq2br!.†/'ÿz ÄÅp˜$“Éäb|1ᜋÉEÇ\$²±#„�Úª¢ªŠÊeh!q“˜‰¡“ÉË‹$™$“eó²ÿa¥ ¯ù`ÈzÿªèߨßÖå{o鸶‚To6›Zc �µµyÜM[Óª]ž (вXB.¥¿r Ò¼<=?ÏQzVæ™ýÀ¾]@T'Ð,Ì`[m[A õB„0d bù4^€œiÆ Ã3‹An laK…L!0Æó°-ï€znLB @ha  ¢º,BUuEh·@­†­…À¶ª2‡Ê–Zå!”—~ °ª *€ªÊŒ¨¼DCp^�äpÊ9ÚªÄ�a,^�ÈÇ[–� +`]ÏTÿ7Y^p'ʹ�‹i7tݬPž9õ>[½©5ïÀc6O&™xù2^G@2b2I..†/Ç'‰�y’LÆ!bY`Yc cÌ8ç1f1Nbóx2Ž'Ir1áb,1“‹ÉE2¹H† O&Ãád8¼¸^ €‡‰�Å$™L.&If,98C‘° c„–Ž™Ox<ñE,â8‹±¸˜Œÿo/'“DLjëCƘišóS° PÙ¹©ëº±±°÷ ™ ˜O[Þ9T]÷µ*+¯çs ¬.&o,›~õ�ëhÜ€ÓCôåWe‘§Ž ÔªoIUnû½y»°0²�…€eAlµ�Ú¶ DBx`Y�Y[Y–¥B ‚öBÆ8NÂÃ3†1”1Bv€ðR  -m³ @´5´% @«6}µ"PWp«¨5е‘Í çqGhY¶aûN  ªj[m×}L@ÛÀ‚",0®žØpI¨2Öm%X`–`K$x[ Œ€ +!Ä a»Ýn[×ð�JÀ÷*€n!@S—i@Ã(OÊò$+Š“ +Í*êÜ|„ ãÉx2™¼L’äe%–pÁ'ãIÂ.^‡I Ä�ãÉx’$Éd<‰åf�j70Âð€a£W<Áx<ŽeΧf)Bñ8‰¹,ðÁ £‹‹d<ž$òÊqÁâx<¹˜L&cŒ±…„Uñä! ‚R@ˆ¶ªÒ„Ä8‰9“k X=ÇhÈb æÃ ×WÿkÃÿV.ûËoƒzþ‚Ìû75M +ziëkk�¹m_@CþUÛ{ýÑ[À—_~™¦ùoÊiyˆ¾<-Ë<;ìÍplÓ¶MpÛÏt½iK/,þ€vÛY–…! mµÛjÛ’Ñ@! â¶ÅÚЂª¨,@^*±…cùL†â§*B2©ðBÔõ‡‹:D9á ÔÒTñse2 p 9v¨° AЇ€6@„^ÀZr nQ´Uµ]-¶ªÒx*"¹Á +A‹1('^× +b˲–@?å +Œ³0†¨ˆ1bÌ‚ívZ¢V‚€Êéíç<3ºÅÔÑdp€““,/ÊZÔÐ4½yo7 Ã!Ƭм|™\W˜31™ˆñË‹äþûT{;cqÌÄPm4ŠÒ†²Þ‹óø€ócÌQÕ©+0Œ !ýEŽ1BLp¹Çƒ%“D\ /’¿ÿ{d—Œ �-Î8O�e1ÆB–Å1ǨZÖh¨Ð@XXœcVM.Â3„™`Œ½X2ÿáp¸ (p›ÕEÞX2zãºÝW,�©¿&ÐÖ¤w¯kU-OeùkkõæîU̧ø.¥hÖ”ÆÚZ£¡Ì ÿvpv~ú%JOË2Ï2ǦcÛ¶må–4Ÿ¦oØ6RÛ7>ª}S¢6�›�´ThYK� TÁ5`ADf" ,†™Õ6²ä+1€vU\1CÈ‚#i”VEÔv[S€¢\WÚíPUµªdTÛÒ?Y°b̶’Dfýt¼æ¬* €ª@RUU,h!•§Q@E…alµ‘%,˶,lY!Z@†Mƪ*€ø°€;³È)ê,€¬;5Íâ¤(‹¬(KG—M¤UPÆ£ß?˜16–±€¤® +¨Àg\`�1 A�œ üB0†V•FCQ!´,ë§ A1baÎ9fŒO°àŒ3Á0ç±à8±΄cœ ,d‘D˜1Æ¡ !8ãb(b„0cB`Ƴ d³ª4 ÌØÄŒ ö‚aÌ!p‚ã±07ÿ—sC—/¦inè€a˜æC×½ ô&k•�¯ikU*_«.èJC‘ƾÖXS·›‹}k‹5ŽÊm8�žM3”ž—ežg©ì× �:ZSß°m„n¢Tª jSUT¹! (Ô†[m(sÛ7€@`†,hAÔcf¥ -ù�€”Ö!h‘… B#ˆ«H=í¶´òk¸KT?ƒ¼j·�ª¶µ +QmX˜cl1„̲~úSëj ªm9nBQ«v((““òÊ]à ­ª²^`€¡eaˆ¡Å,`YPm£6€BˆfmE…7ð +àî4` ­©7uÃ4e àä4ÐïŸWý3 ãd H–>bÈ!b&0ÆLðƒØ<ÆqÌèJCm·!ÆØ’3ü!ÄX0!æ\ˆ ‚W€!êiãÕ]�…àŒc̘bŒ‘°a"†œ‹q#ŒC�9FF  !jCQÆ\$ˆ½`LîeCžÈ†ãdXõŠápøòåp¸aêò¥.¬ ëî?†±hí{t ëúòÕ]þ4­Ñ�îüÜ£¯þÛ6µ6”ÆZµÃõ6H¥é—_J œþ¶@–�°Çv¬]·ÿ4Õõ�¦m#[» Ò·`Âv[QÛ@P +ªeAÕ²TÛÒú¡ +€ªT ¶,�Š ÄXÖù«Âb†mEXXN…@ÈÂB@í:Ù‡€, �…4‡ˆc  Ê‡¨µ­�jÕdåÈØÀõÇ_]¶U ‚6h«mPE¶,‹Y [ÌÂÆC,£@“Ž„–¼w—Š#Õv…h%éX•°€–Ú ¨*Â@ ¬6¶ eµ- c܆¶lC Bk+*´ ”Mí²è‰cŒ,da˲8dH圭¶O,Ÿ»b¹Ý-OdP*€���¢(Š“¼,Oœ¦l"]«€®ß[Pwç‰á3é,Õ‡"áBL‹yÂØ‚q&¬DcÎÇ@QªÚ–ͼ ½À CÇ3Áå„oYE,1®6€$B‘ .X’°1O8cX$‚sÁÑ8¬ê<Š! ³a"cˆYªÉåc,>`B0‘ˆ1ç‚a!ïúåp¸dþÃáF­66Ì ]yŸõ7†a¦i<@,Cbs™¿ÐúÕlÏúv¯¹s`:�V + @×±m ¨ÚòK7ut ëMÓ6�r›¶!€@µTUª@Um¨@ !°-ÃqR~AZЂ²�ÀÂUg!Fⶪ(*l[b a[ÖÀC€ªŒ±C´xÆcˆ,¨ ¡ +€¬'²Ð@UUc !² BÐBÈÇ'Z%ùU0@È0€d„ÈÂвõ¡tO1´0‚*P¡T9UAþ„pþÅm Ja[~ü)lK•dˆ ×TCØn#`©lC ÄÐj·!Tá ´Õ6h·e P ° ÂõÖ½ª@UEÆUˆ«äE¶å�„¥îQÛ2;Ò†° ÛØ‚@mµ†'¥QaŒ+oCµÚmÛ@«-U%Ý-·;Beft‹³…0ÍÇ'gef(�† Ê<)ý`8_ÿ#„ŒÈŒ€lÖO†“!Nª~‚³Xp,ã1ã˜Ç¨@�ZŒ%òr,0ŒÇL°Xð‰b‚!9êŸó¿ç”Œ_'b˜Œyל .X"¸ˆ…5fL$\01N8ŒÄãd Ác Ä P� +?ˆÇHž$‚ó±|Â'(I’d"†“ñPšÿäââBð%˜ú<"×h(·½6—`› +EY[kÌÀòäÄ[ )`Û¶m;ŽmTC?l Ãh`É£¿ÍH°GÕ—Ì`è ë¤i +šMÓFHfNVŽ"ýgµÝn«¶e}åüÙ¨Ê ¿ACîcŠªh@ò©T™=¯Ëi!€Àj+Š"í¯]E×e†OUÛŠªªª&¿Z]ôæ(Ò �´Õ†¢Î Q~!rDI[~gµ­¨õP�ªÊÐD¥ªrI�,õ—‚¶ªUQ jdíºb_ºªt€€ +Ui¨j»  äe¾ÝõLZ¦¶Û ´¥Xm¥Ý†`µ­ªm hŠÒ–2@ίThC¨²’@U…R)´!”¥ß9¢®¼ý™á'޶¶Ö @qR'ÇåYáèÕ4 µ5eMMMk¾o(hÝô{]$/“„%C!†c6BÄyÌ™ ÆEÌcÂj«P�À’«x^0!qr s>cq�‡ãa’$b"b‘ŒÅØJ’±ŠDðÉp2ÆãDðq1"O!¸˜ >� ŒÅ‹Dp&†Â‚6Pá�q[<‰l 1ó1C!†ÃDð‹áp8™\\\p�q ]×uSUî­4MÓ4kÀ|x.@×çyýF%úåÅí®ú¼•ÓíÚ¶ãdŽ�e™ãd™ 4 C`¾>àNÐív+ iªªjjYºî8i +@s£i×h¬>צ¤´�Z… UEU‰Š¶ªÂvUwY¶¢*J[m·ÛU¬^ÖîhÒ”ÚJCQTTcTµ­´UÔª_DU•v-¯e¸­­@ £ +PŠª©mh©PÕ¤nÐV«P[¾¢©jC©Â…mYfŒ¥çß* ­(í¶ŠæRÛ2ɧ*j[N}€ª”Ê·jÊÿ ¨Êt©¢*�†ªÖím “j[UÚ*TÛm¤¶å  *í6*hCU•áCÐÖ@[í¶ªÈQ™R:) BªªÖe•µ Ñ�ÏÄòî4àY)PgÍ¢8)N²â¤À¢¨©-¯–¸m,xU3÷o®«€Éd’$"IÆâ"²‹DÄ1â\œ$1Š�f˜a4 @h!Žã‚1!ˆþ¯ÎOD"œ$bœÈ¾¢q".P"†"I’q,&/ö÷‰1Žy,p2H>Ž…B\Œã |ÁXœŒ_ +Ár¨ c� +Ø[BðøU,ÆqœŒã 4–w�ˆáËÉäâ₠̰XÀ}Ý@�†´ú…xx.`k•e|R¬”ò¬œîÒ±»ŽãtS'sìã,�œÌÈК€À‚5NË š>Ws`CÕï‰lÜæÜk÷«.@€®Ý•#¿� P­ƒU+˜NóQ^–y^æ]ЭvJ†ÓͲßþÆ0èvS½Ù4mÝ€zµVÔrè’´­ÔR@�?Ók’(K�_®ÖF!ëäkuÑüÔ˜ ƒ + »–»&ÕöÊÃUçV_gT—Û¨æšdB�¥º+ùÈ,–¾¶ÒÒ?ªY÷K÷:¯GTé—Ô²qÌ¿F­mLUVm»’s ±P sU ¬~¿y¾FYm¥VKFµzYŸ£gé~TUY�®rmêÿ›ù?µŒX[+ÿkrF^ä«»TW¾UC~]õJ©œ0EQ¤w¥6ÚÊ�…@Å'³‹õÎióuQœœäeq& gÌKëo‚ûž™ãÉ5 ãJñr2L(ªÁýq,;€2ô‡ùæLüÿˆûŸÞ¸‘tÿÍÅÅ0‡d] P^ Áñ� +`Â>@œëEÁµ™|¦†{Oú F™Ë¢Ó'œÍÃJ©œpºNßú +¨‹y þí `x#xqè¾çMÝE™™RJ–]Õ3TÚ–m)eYŠ¿Ï÷ù‡<`!óÍYÄúñ© +…R„nB= £< ¢û +©mË’8)*•Ë/*$î&ÿ€›ŽV‘ß ¬@iæV„÷ÅãAÀ2@R +KEÊò<ö«|ÿQ]Wûu-OD’ ¨d±ÌfË_:Ñ,»¦iš‚õì iº:áÕ¬îyÅ…¬*Å×·#€¾Üy}lÏ ¸ÛSƒ‚ÞRk„ð§cëÈ®•y¸l>éZ Š%Ü €ð# +`kâBø m¨÷5‚ËàmˆKÀ§‚ÁjX¿.¸à»=€Ÿºn6“QàKýÓëiz}6›Íêz6k<üh©Éäc•€m{D¥&"*Wm[^–%¹Ñ¨ +Q±©ˆz +ZM�‡nÄ“B ¨– ‹¾"hŽ„®~ˆÊ²4nËÑêAK†÷‘B¦A¸f$´­±Z¡RÊ ¶@׼ǂ€ƒs�ˆ´¢Ú•!­ Q™yšùã¯ÔzVÏEˆÙe +`r‘`Q4‰&“èòHëJ +@Êý*ßßðò5¤,äU]×µLd]K)ë$rÕCûc¹”R&AEU%Ñ$žä¹Q°íN|.†`PÁ›pòv/ÜPµëÐy/ý`/Øë°½phõ xè³æ÷ï¶„<Ûãë„EŒœoçÖèr� ÙTYüç™Ê¸à¬àZ)º¯v„Áå‚�*€õŸ.Ièsg8ôþbÿìa„!\ðÝQ@w<À—_Og³Ç�׳Ç�Œƒ‘Cå1™L&ñ0lfG`mÛÚ-”„ôï„ô`U–Tò²t]: +”BÅ4€n£òÐIgœ +ÕrSTˆQ£@jÑmþY•¥Qß·†J2åƒUY’Éʲ$BC¨4r� ‘4 šÖR«µJ·\ ·$P0××ÉI‘ÂiY’z Ñ(2fU–´Ê\»qüÕÆŠÐ8¼`þ‹w ½4ð£?&QôÉç ÷óýGu-¥ D’°˜Åqœ»s�DIá +d<™L‚è¿Åqœ&Qy›"¢8šLÆ£(—UU%l§©HEøOÀp7æîºFA°p�€²{{á^°8íìímÀ¥ï˜@0`Ó{ùÜÃyœUn®„Âç\e~l5Sÿ.¸V0�"ªß%è3g‹­zཾm„ÀxaâÀw`6 ІRàG�êzö¸–I0õÀبÞ2µ=°m­mÛV�Uè–x§DdP(˜*6E4è)8øqÊ)P”F¥è ©D@*­ÚÒÐý²üžK³2%îv • +€ˆ[TH`Ñ¢PÖ´¶%PõªŸ*. @‘Â?—DxßPy_+mV¦¤–SI† º"ÜØºÓž÷ <â3uù†0>3ÔwxD~Èo@!«ý\Ö=x"’Ä ›H)+Y$Ks‘ç¹”ñ$ŽÇ“4�ã4�‚(võJAÅQ<‰‚(Éó@_0éÐÔM]×õc÷C¥F~d�:Ž¢ñŽ>sRªu—ÚVD¾'* w»=§ZjS­ @@e§,dŒðLE  צô[¤Ìk4¢!³Z•ËÕƒïË’¨\QÿÔ„ +‰8j­ +D´º%"޶¥•&…¨[ЭÐJ¹õ ‚³ äÔj�úûïï¸ÿàAiJRåŠHNd •ÔÍ×Óøw`¹Q¾—)€³{=ú½Þnøï r¹¿V K’œÅ,Žg“\V•”iøÀ/MÓ2N¤Ls™³0Jdž&y…îˆB‡º`¥…ØôÿY %lý}Ÿ ßÐþð¸2཭€Ú¿ XŽ‚`/dCH¼·Ç}AaŸJ~½PŒ‚`XŒ"�χ~QWÀË6ˈ”ž"NQ†£«†ÁG<€‹ÀàëÿŒ0p „\ð0ì2L†f Y]×u]7MßìLÀ¡ŒÜ/¢ÎÉ—þÛ-”¥2­"Mœ •¥%R ¦J3­§-¡RÂOOã )4\ P +¡ÎŒEK ´Y•Ô> Z­Ê’JeVD9šÒ”†ˆ5×Dˆè¶‰)´†  Z­u˧nÆ\gãÊ*mV¥ÒÕƒ¶$2ʬ ’j¿/XkÎ?¬wrf%Wß¶w›•€aœxŒw'zwaôùyÀÞp¨d-sÆ“>Oâ4MS‘Œ·b4•¹”2ÏëZJ)“ˆ¥Ræ©ÌY”È\JG,bnsTšó$ý0Ĺ}’Œí 4Á&½MÏ{@†Á^àv¾º§Bž‰aFhÐWøíÀZ@¿X)7«²,ã‚óŒ»ñ’LJc9õéª�‡áÇB€ÏV½°}ÿgLpæBÁÂf6;ÿ8 €º¿dGÆ‹&ëM4ÁùÕ`„ä'�´f@@ù ½O-j¡”miµШ›ºié +q +€c~ꔀºå¦Z)S4€ÀAk²š¬ý/2Ö ­ˆèÁE+"$¡Zó€Zc5ZÍ5’š¢R„H@Öjc�Z…¶åúÐŒ‡A˜!Ú)jú«"ƒJ•Hª,µd9Zó 4Æ"iÍjs=è¹»øh|&ØèHÃ8‰“Ø úÚ]ðyY€Mœ÷ræ À˜%Ià÷¼DqœÄI’äRÊúq.›ÇRJ)"–×RæR:°–IìŠâT¦qx~ôÈ?)è�In}WëJ:¶Y#¸žðÅúZ¹aì1±·ÇÂá„+€~»8@ÁÝÊ7îŸç�q!8˜Œ£RÚà5ƒ�d.÷‚ @Ð+€MDaȸÈ|, .À8šLb7ê²®9 Ó>è³qoH€³ß ˆ=Ú¶µt¹*[C†P™vµj-©©Ò µÐz*¦0UF«©à\0E"AJYËj­•ÕQ ™[ŸäJr¡\chE¥- ³Zµ†ˆP£&aŒ†)jÐÙç+Xµˆ0mµn[Š�@ƒ‚¹i+N A-i­ÍýÒZC­0fµj‰´;þ0Îj¼“3@²­z pY!аާßÍè'Žƒ«Ày®X&“!bÇq’äyšËº®›ÇU1›í»„A¾/eQË„®•0Iò<Ï“DÊœíp=~oŒÎ·mÔëRøpÝà^u:€9HùýÈ›„™póòF^ =)7 @d +2äà{À™Nè0 H¿Š ^-ø°}ÿ�¢=Æ{ , £GÍló±€ÈO»þÈ Yñ˜L☭ãß³hq@€F¹\œ¡VÓCkÝsÓÛ25�N¦Ú"X£µv‹Ü.(@änY£3•„RB)… D¦ˆ4šreµ% äžZ_¬QhÔ-¢µÚZˆˆ¨Ð=õ0Iš…aÈ2€L�R dHi$ZµÖ¢ýSgÜÍpWtîŽÝ?ØlW®0Ž’³×ð¬yß;œJ™²TÊ<—R&Ñu™:�Î)‹�«°öpͧ0�‹b‘$Išç¹,dÓ4³ã:ofµlêœ%y]UÕ¬J’"/Š<ÏëÇ2agðÏ 6À„ÁhÝúnή3h}=¬?}Öo�1²Þþß ·"ãÜ)P�MQ)P¾)¡ÉfäŸÚ�&¿Oׯ÷ÝÃîÞažÿ$ÛY€qº}­ à†4Ir)ó(•ò†”Ræq.ež§I’H™çÛï¼ )÷÷‹Úyu±ÈÅñQ�£8Ž“ °92bñ$rOŸçy!eÕ ¯�g3€Gõ~ÕU"‘³z¿k¤�…”²(fK€ÑöZ²ð÷ v`´î�Ýü@ÁF7¡+îë[’}%pȇÂ^Ƹ«;„Æ� È…<ã f<À­;Ùc,ä! ³=± Œ\nœ³0û}§k¸dY +ᇤz¸I¨}й€qV­¯f6„®}ãÑÈ%ýÇãIÔw¹] :§¨ÔÄ5ùuÛšˆÈLA¹æZåþ³¸@@(üüæL©©1�ÀQÓŠKRÎñÓHdˆH»§FC¤‰î—-"**‘”˜B!¦S1%B˵BdL§„À9‚8cAÈ•Ðn5+(®�rŸ •åƒ)ºuH´–Œmïùºùf%àà'ûÉœå�<Rùÿð�7R‰þÇ 6ê×u•lM‡�“8v⿟Ò¸‚Т>žÍ|P×Õ±@ÝÍ*Ç )/ëêVœì^ŸÈ‘�Ýëà@Ư€Ä ,°V‘Û¿�qîv˜î‹\Ô… Û +8ãkÔ³YÓôðßÈk¤> ŒÆQ|(ýÃ6Z"½ÖøSJFSi¦Z‘vç…@F„!癑œs¿Õ�uA´"DE–°µÚ¨ÒQK¤m¦ =ŒUÔ"¡q½F…@¥XÔh5q "ÂM#ÂmTgaÀV®Q�‰�ˆkÔJ“1hM«î·HÊ·7®»�¢u7ÿØ®X Šâôzš ËÆ/@�³¼–RÖµ”‰ì%€ô¯m�<_°Ÿ$<áþÁy’äÎý—~€@%ë٬뺮¨Žg³Ù¾H’¼®ª®J’j…”³e-D’Ä¡ÛÿE¿Îz aýˆ�Q€p³¹ŸÉºÎèû¦{gŽÖ È£sP ‚�3þ9cœg"ã‚AÆ�ãÙÞ^æ‡aî:ÿœ¹èõ<¶sàçÀÝ(ÑmÀà b~ßø†`*²0ò!ß8ãk4�@´þN^ 錣+)P¤×@j b˵F"0šÈØÒ�BM +•R€� 5…©ÐÁÖ ‚p»CßOr wÑY?ãÇwŸ³17>úÙ•:n�d(€ˆ±|@¶&@Dã(Š'.¸¿¿¿¿éôI}߸º3 -ž¯cØÚ"±ªà�0á¯�hÎæ™\»²Òž®€Ã}¢äéò=ǧS€Ì -X¡c ùÖ\!NêÆhYÑ dŠ€bó ¢<€líî(;иxþ™8êr¶ûãU²hh «BЕˆÐÄunÐú·æù:]´ ò�þßÞÚÝÔ›;yú4ÐOÉþœb­» -ÉÔ�îw�†8@Ä%Jj®à?U}æ%1¡0¢uQ`È3rPÆ™“HÃýeQ¢U_U¡€Õ.ÓO¢~Íi&‹{µ - €neӶιnñý[Z½Úž¥Œ¬Ë¸,ÞQiJÖ-Lÿ-@Z­ -@§·ÞiU­åÐÙñŸÐ -Ju/\Ft?œTõt*ª+îj=@hÍS¢ü¯ëítsmý ô‚[…™@·G°áiOw½:€ J¸-tUâ†[ÕïõZ‹Ô9p$=˜ë(t—0Ží‡½ÕP‚Í_›ÿÝöüœÖv;CŠ>dzþ„->( g©@ ‹³�Z\$@ Û>BœMgÔKEgÁƒ±´]èöŒýcøüû«m~w{YüÇýÿ/¬%Õ•*Ìù¼p? ?r}Ù$€Z`ez•šµÓq[ÆWýDáU¿XïU2NXŸ§(´;®}¸ÕŠÜÏ”s ›_X9ž}B¬<\ñ’'¨úwÖiûé¥Ûíà4†ÂÏ�¸Ïh¶¢ï²tDZ~�‘“£,o¢ìòm€ -€ƒ -Ó¢_ °oçˆÉ惙þ§÷øäÌ%¾஀]ÉïñgQ€ÛŸ~—é,˜�^bßø|àeÁ7„m~Dz2[ølßû:?øývDýP èYªt¹^#ÈÀ¾¿}bF4ÁkµÂ>GöpX+€–0RI‰?kÿË88@´ 4°“´½F6×PŒØa™¬1Å:À}2Áüîc˜ÀÏ?îlˆÜ¬K!Hgó ¼€ànÀ:7à{ei^$.×óæ¢ô/øÐÓ¡'b›…l=üz–/†ˆ«ž<½àÊ0ÅHñù $ ™_V�ÏŽ*Ug#šÅ @ÀþÜ¿p$> .JèN€®˜R8 € äVÁs½ä‘z3€& À Ì(BOŠ5½ö€ÊA‰€HEéµnë”ÐShÙøv�wD ’ÿøž¥úߦ¢±"–€[÷é ˆ¶9›¹×ˆ¶»ë]Ý€ýû»m#®ÀžBºi(£€ŽT.àû_Àþp}ýfW(ÝA/PôîôV[¢·t·°€½u¼fW]–Þ[Ó"««Á(ÕëÂÂ^]‚Æmþ\@×ÕS‰-¬Ò -@!¬=z�½>þ…¢p‡voHë„¶]×BÄDþ¤`AÀŠàv‘²x‡²³ -ŠÎÜŒh‘�¼mÚÐ*}¢W(Íî ÿ׺³t�Ä];šÑw�Á@Œÿ^æÇ»ÿ)ýÿÅœa�ÔÈí‹�ÿ?†°×„VlÖ"g U±SNeÓ*NR|ÊÏ«eÌFÊm|ìè´´>vü/dBø{¼ßù¥ ç‹`ø?qÒ�óéç#�üܾù}šoøÒnCp‘Xg±™hM,¥…FÀî:©®}ðYìfÆ)c€ë+Nd´hLû)œÂ -ô‹e^�lb ë)»ÎMó[Óê1€" -Ùº¥ À[h”ö¬,oìü�.à?ˆVÊHAU˜@*Zëlœ 8°<Ç›;Ž¥Â¤�9C?Ÿ~zåSë¯àéwõÊõ«ÿzàêu÷tùÓ‹& /}ò �.~bBpñ’Û `�±&z|ú-Ф=ÔÝp×î‚H)ÉLÈÄa±µÈÐ.� ² @q<1÷§ -À¢5ó¨Öj{ €WЯ÷…ùÃ^wV¯v]w­Ëîõy¹Yþþ÷Éÿÿ¿ˆ -Q¯^'éç,Þ¨ï|Þ°?¢P@‡­)´û4­Þò[ÚŒýcú?Æ ëó€¢Gé 0[p�ˆêÊâÇù ÈΛfŸ<� -/ø ñéÝÐ&?sniE;Ì,¬¨Ìné?„: -Ã(þ� -ôÑ -°Ù§G6¯T „áñ,Bcó ýµŸ@ÄûÕ“CŒðçÑõs(5æ%a¼[~í'±bR?ñ4 ¿låÂRœfúŸ(€Þ«²óM h÷ñˆà€$ï `bRF&jˆúëFHéÍý� -ÀÇBóO\¤Ç³�¿«._ÕäÚ\¹vùʧ¨ÿ|4À_¾råòå«×ÿ-~Üe <–=Þ«Z<ÂWò{ýÜ€P„$c8º0ÿÚT�´¨ Ý•�¶ ÀQ>)ó-1>ü¥ê¿¬Àæ|@.O -�Ÿ- -É»Æi'ëÈ=Q’°¨ÉÏ?îìè¤_m(bxõCÎ!Ó²§•íW`º}2@*ð‹¯ÿ£ôO_…Tÿ3°Ö7>Ù - ¸½¹óý -E~w¨÷m”K\8Æ«àeøçÒ ””x¦4îø¦9ç0§OŸãs@ʘ >Ö?ûy¿1'ˆ‡ü±Zi l¨á?Àá"ø/xN -€Á™(ókÃ=¥õE+¨]WùÔš£ ëâ}·ÛThñ&£ø?{6$c\ë”FPnAgÐ�ZN�Í*Ú8ê*OÖUúçšñ»ê!8&RÅÏéU¿Åy×:‹"Ü8ôµUqY�T¸Ù˜ªô¾:Ûí Öbz|Eza¨® ŒSAÐ[D){‚[€J؃î@w¨ ò¹¬ÕžŽm÷;ë{!³Ž^@8 Øo­@´…0_ëˆ�ð@ëhp€¹b?(åSh%:I>ubvv‘õo·f{mû×ô×sRë" ›ôö 9ºÑ,ÿë*‡ÿSðêõ‚ÿ‘¹í+È?Ú@‰S›:8MXâ´H…ÒùQ -`¢€{t¡¿˜¹§­ÏÄiªV| À>–ŒÿN·cˆšÞ.„ €€ñãĉy×ù“ÄqÿS<¿¢e�+€T*ƒPË?‚øIß–`v†N2Nœò¡2q .¾í€LØŽÕä°?ÁgܧàOø ÐHag{¿ýØkR·Ÿ> KK+KUÑ~ºŸòõG;;ß7€�G# -€ŸÌO5ç·B(EN:ÉØügöà½&Ú‡SÚÇ8€ÿW®\½ìúþkÿJ¡^l@óú«×Ü \þ?û·ÏixãéOo<Õ(ÍÏCUøT]W¶µ¹A[rÿŒòÆ–€–}¶–«b^ÿ)ú˜ø-€ŽÊñBɳàÚ]Uý‡Q/�$@q�ìÀn €–^¯bTÀÀ… -gÉRµsv@ Ùþ矵ÃR{ã«�r¤ þk/�RQ£›ÁÐ< ÀåÜò´:â¾b·Šÿ�ÿ.û þÉCÐÿ5xµQ~²ñD·¿ØzDAà$m‚yq KéÏý =‡Ùè~%ôI3DN¢¤æ2†×Cˆ‘­Bÿ"È` -¾˜Í‘¼�ýeB"!œryʇæÀPÿ§¦‹bû°½=´çþZ{@74€ËºJÜB£ö)×”w»îéÆÐv -G€ý>Â6sÙ¼€â“«dxÞkÆ5éÔÇET˜äÞŒúÿ�`[Qu ÐE™éuæDn„Þ ¼†½Ž@RÅòÎÍõõ[ð’Ž…�uÁp¯Óê n¡²]”VYzUñ|°·EhQa‘€5’€ÂPÜ¢Õéicüï ;ƒ6;¬¶W•pº«í¹6Åí( -„ÀõEz¸„DáYAÊh#sÈõÈAì¨`�ÎU¡¤¥TÚ‹íEñ(žÖwÝ*mö Ã�p],`5‚{·Qüoà¿á¿*þ»úßë5�,¿(• ÷ú�ë3sx?J|üÁpOd$9–Ê ¦PŒó• ˆWæüäp஀û8˜út¾»w3EMk¢ß~'C8qòÜÊkNi“}÷Uö?­ÍçW.ÿ£\¦©(¿S+6ªþ‡QG0Äëu§$À…IÞ¾$û5ľ¦qo“ÿ¤8Ffšsfz¸ñÎüRˆ2ÂÙ– VLò¨Q€ KÄ8ÅÔ?€;�vw·ãsÀß§ßV繜.)Tó§Ø/|WÙ\ù¯Œ¡lEžìå˜LaYÀ?ÒÜ ?t�fW¯Òæ/”ÿ«Wp ¸ÁןòÀçOŸ={Î^<þìå‹/_ü>€"à°AC€=õÜðH#(ô`æà<£Rîêöò9Z ¿0ó›C:t–¥ñ¦ÀŸÿ›I À11ñÿ|:#ŒiQˆÁ51eJðJHJNäQ )ÐÏ9Š9€ó”¼–Ì‘&Ò„çýe£ -€ €�@‰·¢*웸ó�c·Ýî X„4 -ø»3ÿU\¬…g é¨›5˜�©€@ÐU"*æ"¾C¸uqœñÅeÄ.´á[³À›�{{îÊÀZßðŠÀa>ÃÎM -ùkk·†ëtXà®þt„˜n¿¯Ûü‹ÃˆÐè””¥Í¨@èÑÉ¥žˆí«Té‹k, -Ãï8TÌîPI<µÇœÒ H´>œºëõu¥Ëµ¹ >º°ÂŠJÞk{LþOø§íhÿnú'ÿ«€Š�>�Õ˜@$RR‚çE -ý¶é•Øð»øé^M®ásÂúþXí@+åø´Ð7þ$4)@2€šèAƒ=!ååCq§WÉ×­úJ‰¬Ä/.Ξåm¬ÔêÙ³¢‚>þu„BœzñöªàÒ·¨?ü“›RçÞCó¦çÛµþ¡°JðÔ=è–÷öTt_ö×[Ý;¾ oТJÀÃ[·n­ÝÚ»¹¾Ö£ K¯²¯R�¿%: » ‰à܆žÚ1è®âu@ ø¢Bw=öÐíê@R‰h !C“À¾˜±nT³ðˆ´ŽÑ� -$=ˆøÁZ·áR‚BþÇ‘ŸÀ_S¸ÒFrÑÿY:r@•³( -øKÌÑñ"íö`\zYs³-:PÒùqd@#©0þk·0ûkè�EÁí?ñßð_ð_gîFþ¶Êø&ÑLPvk\ÇÜô -À>Z¡¿3‹0BÞj}8ŽÏ°ölà¾�ÿV8Å€-'�©þ@F$2`C�¢/ ­™ñç?˜QZwR5þÓ’×ô!l¤éÊX<•�áÔ£]Oé%k‰“ÌRÀ ÐP§Kó1`LjÕ±ƒ¹ý”òó§C 4yK[l%:DŒÈ(ÁÛ ‹ˆ±Op1E·}þ5K*ü ,­ìÐ{Í4ÿÇ| X3ßÓ°€ïvü-€…}­øïy—êáhz_ûÑÝa¢@g–ÿ@ àÌÅ‹—®XÀï>Íÿ/}òéõ§Bÿ—/…þo^kxýëïo~ó›Ð_KadºMÀ·³½½uÿîMúç=ZB ¸lôo¢>3¨mzÉw—ææçü™?'sý•™ÿ‚ir‚­¯6¾R±\±n—® é±ï!^€*¹ó í^~ü1³ ™ë%`¿ñTPFØ èÏ€\�÷¿ï"þ/-Ý^Ù<àçðÔ‹¸M·€+¼»™ø(�‹ -”ÿÿªàûÝoCCðÔq# +ÀÓT�«P@©_&M R×óˆ³Å|¢¿l´€ MÝ r `Œ¬‰àvÞ_ëxBº&ÊPÞJ)ûg¶N!ðŸåÓt߆4aÚ¶Ì=ÍõÚsv °l{]™Ú×ˆÍ zËô;(¡ˆ©gÒuôCH¸*äwUn_ë-**‹Î®¯µ÷ÖÝÏ? -@�Ž€†CY=¤b¼¿0t§z{ýv?ª DAÂua®}S×ÑÞk]¢ Œü‹”ô�µÞêÚ@xÛi¯ ÛOÄNLT¬Pê÷Ÿ¾h$¨°¦¢@tÄ�j‘p§Ç…¨O‰dLÔ¾é9ºMœk¡%è‘èþ÷‰ÈN¹ëE¡ïšàkÖþþÁÿ -þÿòEl ü¯k2·W&Ùü¨v€€7‘NIz6ðGÆ9Y8B¸ €›®YÂ/–(Æ ëó(ÁW>Eü+{�¤ F å-ƒÁ4ò  q(kzÞžy3çpÔ¤(�w*þd�“嬌Âÿ©™“r…öÕþ:éIÎÝ€�깦ýB˜ÖPÿPßè•úÍxIG™ -ð÷Þ„³-9@¬˜äàû6þË8ÀŠöÂcû¨ÿ÷ÚÏ]ÿY  ˜Öè&šýx?ø˜¼$�Jþ™4`Ä8NïÀoôÅYVñiÑ·~Á>²ÿ•ÒåÏ¥K?9sñÚ�ç/^¼|õJ¥ÿ—¯Þ¼yùæ·W¿þ**ð+J@±xDéNœ[º�P5¬l{+@ÅcOa&N›‹eE,,÷÷дVRïÞݺ»}ÄÿQøÄ¯pÓýý�µ`…“åò²8~k~nvicËÅo§æ8#àL伻ѽ»µc�}“´!V©ø/€Çñ-ÿ"[kÛ¯äOƉt ÄÂûZPñŸÁ¥ÿ¼s—ýÛú/·Z_ÒÙßÄ_ø0Ú¦Ç+ €ŒýßiAÖP4��f¨X$žYˆøI^“†à pšž@ -¨MGq%ŒH#cœC¢¿¬V’G­ƒ€D°½jKôÇÿe fÐííᨓâ5?^Gš!Š€ûµ9U#¾@ýÌYÛ©S3 j� wqvQ×Ð"8gŸ@ZÊã)ïÊ>ÜÒ¥‰ŽÝešõ÷@XzÁT¾M=4—íõo!þ÷÷øæ¿0Pñ¸=³¼öÓP·×ëöVuŽÁÞ΃ºelm`ìlwis§+림 !¬Z"Í(Lúý6ÏÍ] Ú]>Á+z€ÍµupG7Ë- ™™ÑýÏÏuW{®¿ÐÙt~“õE=-Õ%³g -¨* � ýµOÌŸ8qvf®%ÂÕéé™|ßÝÑ]r±r×Ôÿó–1½U£?Å+Ùò¿‚ÿ -ÿ•Þœ¹c†tO…ØG¶À)äðß Ëèö®ß0�y]1#YãLœ¦Ù - €`B¾¢ÈÈî½Óü•,Kr�°(«ójf”ÒOÑe‡ö9)ܵ•tg]¦o˜Î$ޝ�ýu2Ö£rODC+Œ ^¥SÄ�¸Š†Le%3´�ÈÐrvÀ«“Mî z‹1ª£DšßšVï÷0u9ŸuKP”Ï­è‚ôðwØ.ñ�XöÝîw[]7#ë=UüËO8>2ï×C8‘£F¦Z™�tS -m1[`:•eùþH£/àø€á_$€…K´ü¿tæã�Ï\yúLåÿW¯_¼~ýJ àµÊÿ¿ýfÔG HãYrHS¬ZÙTïo°½)ü¡4 †—!¦e¹šzó±XVäÂêa>#­ § 5 -Àöý»Ñ - ‡@=çÈoX[+´Q†^0·¼!àv’VœUîn¬„ôk…¨¡"œbáÑ΀½<þ‘hž%ÆÇ”*›7›ø¯4 +i*"ÏЮ• øÿ]‘!úbׯ¢Ü½[#þØÏ†pû¶ÞyʼnÓ!̸7¯ -ÿkÀÀŠBbI9…#§"d!6'Ã??Í ü“+”lÅSç&\IV" p›ó‰þ²Ú r}™‹ÿðÏÀjüŸ†@Z‚ašÃ¯®êD*›«Ü½Ž®ŽÂ®ø¢R)pÆÙfue>LÉKÐvü¬…a]c"@æ‚í"ðkëXÈuÛË*Fí®¬B' +€µ›�ö2ÒÇOqoïIG0¨)ÔVl¶K…zpq^Ýu¯ížÝÀP÷®hîžv(¢wé�`Q|Àõ袾ŠÈ…XG÷@o¸:x2x¢ÐéDƒ@{öS0áÂ`6B)_·ª�[°ƒž+ªDhÈÌYzn·5 ÷™Í÷˜vböTíá ÜNùðO;ìõ�ŸævîªÔ/ð·ï­Œ(F|Ûˆ@Uæ‡ hT-Û*9ÏÞuV{¤e??GÚGeO@Âd€O/]VÉÿâ'—ô?óñ‡g®~þâÅ+�?øÿ†z\Þ¼~ ­<¢ŸËÆÇ€¶6·îÝOد-ûÈAVæ+˜iLË\.Ô+bº1e?$ºÄTÕß½»}w;[ üœmç«&€6Ï!,µ…ÿóË_ݯÒ$©Ðý -À %bFD;€½+†zsM£ºŸƒ9m˜k( h«Jü>ÄÎT&ApFqX4øSúø¿{·‰ù#?›&_ÂNóÎNÒnèßv+!�$d•`øçßP”Ô@ !¥Ál* ˜8WHc·ŒÚ˜.)Ó”†DYÕ -`Ä€ÿ$Ç’˜]ž ÜDìàPʬ%ÈÛí©js§`Ù 53Ú“Æ`ß c!d@—証ï‹pv�×�h™2?Kí–0––ö‰y=šÙáŒ/&0þ×UÌïëÝY×ñû8ß¿•Aa_ŠmÀ+¨™ïôâzÆ?A ÖÖ©}ðMt´r îôÚývwµ+NµJ¿~�ý­–°˜[ë·[|ôׂ¶ø‚ìé'#|b À_B×(h2àlQU’ Z™âZ;Èw­{Ö]hŸÓ^$lèA¦×˜Å—þMÿjøoâdî�ýÅÌUB ìˆt‰§Y|G1ˆpæ 6’n}&NÓl ´oàþ]e-‚½†@® ì@P}äOC]ò¦Ô¨ÀW!×3bèæß3TÔ!ßã z‡Û_X"|&ìä@¿?ò«iÓÈ5Pþâ$^£Uü|lÜÅØ�Ì·àjS¯î€wÈ ªiD‰|ýXÄŽ -"€‹-.ò„°°²°²²¤(@48ìÏï;çá߾ǀת%úˆ·@XÄÈ–�£˜î*‡“‚k á9�•ܶQКƲ€¤�qOAŠàNÿÎ|ræ#€Ë7¨xõ:†¯^ýúJ à•Àÿ·ºÀÏCÚ‰sK+÷6Æ ûµmo q (Ös¨æÓzeüËŠÜiec½ [`ê–ÞûŽÀ}×�»Às¦BÏq €d©è ˜o-ßÝyøØÉ\ÿT²—>‘øP´ÄëßÙy¬çK¬³`/€ÇÑö¯)äD7&ãÃÀiÆÿo´L®!ô�\ƒ;вf ¨ÿ*;؇A äçv[ÎF¶š˜?ò³¡ll*šÓ @1Mù�?šø/×íÁ1.¯,T>ä UÄt®a' Yp¥+™ÆMàì%€/ëQÄæýe•0fFˆ€&¦‚þ©)øo(ÕT|çx¶Ä¹Ànmɲ,5× wØ0PN z¾Á`Fè—Ò¿"Rœ¿Ó^¤;MAu_�ÆE�vTŠWa›GñGph]‡Ru`Oí -û¶T^k/'þs׿”ѽo~­�°_C¿O‰üOm—¤MžT¨UÀç ƒÛhQA¤ýô_æ´à=•ëݶýtßve`›öj·Å˜ë"]hÙ·IwÀÂÂÀ®~² ¡ÚPg«ÄŸRì„Ëé¶uô€�p½=èûBí›7ƒ é -þm®û�¯þ†%øcdöåç̽6»à eI  ”ù „x08 Lø@)¦{§wú€pË(&óˆ©�Öç) -ÀH+ £ -YÍ]a"€uÄ�~ûK +L”2­(Y:í2cp2zﵑP=3Ê,ú+�Ÿ¤_*𿳡/ÔæUºYCÜŦЌŒPÁäD?@ù)€éúð8^¥Œp¶%ˆ“|ÀÿÒ -'ZxXù^/éÑ¡ÿÇüÁÿ½T+*ۅྦ@×X!9Vâßg„ 9kZÉj§°¨á?Ú><ó1^€/ý¿/]æ ?ÈÿtûûÉ'gΜùèÃ�/ßx.à�VÑæï×7¯_ªô/{•5¯¹Íò˜aŠT›þPÂ>¾’a�PŒ)M(oÌåbîT 9ŠÅ²Óʆr´€Ò - ¯‹ªˆw·¾aLÉ^j‡74Ú#Å�W¯­ù9ZÜ�:£ø_zé½Û]ùjK9›mb©JÜ»;í`öˆXN$³ÈÈRj@sâlyðàGûì>N`ââ -ÄÿR øßÚjbþÈÏåãÿí••wX¡T,ÁUH¨€s*ó+ ÓÌ–”_D&›`J ü÷!%A¥²FÙ€§'O!/q,‘‘H1Ã�è/£Î:3ýQ3p2«0ðb”4(@ ¿ Œ º�9>ÐÏŒ�t¸¶®u€�й³­§ææÆŠÿ²¸eþný$èü_œU±xQdêÑÛ=ºÐ/üB5ÀXå‰t#k*kwh¤‡ÇݺðÆZ�è´ñ²·›½n¨Õ¦}¹ëv×wMàG�3Ô#à7 Ö 6ÿIôIûÆÓ.MÛ(‹óºI@Ÿæ}<,lÄ7ÙÃ]qØ]ï"`}-oÂhŸÏî]݈¨��ÖÂýO@O€dÕvb¶U|(N=‘ÊùÜ“ïZWßÓl» ýÿôúÜÉA8ÿ úQÿÙO–Ðo#Ÿ/¿Ìíñ4äÛJ#Õ�^Aƒƒ8€¡œ4\YáÓ*Α&øX3Õ8§Á`´€¿°Oàî9w¤£#¬´éQ^ìÄvRÉ @I4¾ä2{±õ8H,=R©Ó(@žôW-ipòmPíOZhzú8®è¶?NL4^ŠT-BŽ_ 6 ”±Äl’±‘]e”¨ÍoM«÷û¸$ª-.Ô> Li崹̯̹j s3@ç# yJ¡?F©Œ+ÿ•ùà˜+obZËþ‘ö_†|j×?{ÿÁ„ÿŸùðôÇ—¯?¥À‹W/i @]€~¿¾ü¿~I=€­~ºøݨ˜¬Ð€Á;Äå -˽ÖseEcÈQ5‰õúèýð"¸jS²s¯BP¤&Y€_[,µæç—6Pôu¥b’£?à£b:1.óÇã�Ç#ÀÃÊ @øÒÀˆYˆò¿9€Î ½@QZ¹…IgQ~  ¸ -wíGA0üïú)+ÄûCXrs ¢š;á>ç+ÿœÂcL€¬´è/Y„ñ_Ãù€ÿý…Y`GÌ±ÄæC†‘(Ñ_¶¶vg@ùp¿ౡªÂÿЏ[¹°„ ˜†‚O¦CDZ8‰Ž•é®|ÛOûâ2àŽuè»_HÚöÓ½õ®ýõýaí¦ð“ÍÂQ«�v`îÀãËÚ:—fÖð6th;˜Ö:4Ô-é´F÷ ú  �L,ÂIþ$ü‡̉É D%¨L #À+¦AER»Om~øŸnØcBýË|ôŸúŠÿŸœùð± €;ø/ÝÀ—oðÈ*÷édj;yš¯ÞÛÚÞÞþzçkþ;1<ò÷€Ãë‘~ÕPê5rTæs«ðè´y ,¡ñ¾Àý»ßPi‹�íT”¦J}ýÅÌQp°ÔãH -6Ö# -@ÄÃïW'IÑ@z¤y_Y-@,é:®Е”k(·ˆŸ÷ÝÔm ÿíÁèòÖý‹‰¦Uˆ?ö+¦9—è+p^øºÒÿe”ùk‹f€ä$Ž¶Šœ1NÞ4üz’y ù†öu,q”‰È±‡y£þˆ9·ßgÆ~PKcàj¿  ü—s�v:Ô:< ­9a\­x©‘�æ¨P‰v±5'´£„ë[l˜Òâ©5Péß%üá‹.ä‚’ œ�Ô`Š<Ï�Êõ"‰ÿP=¡@Ü×€*(©"¸à7æ ÝîÜ\œ$í±JyÃ7œ¡/RÈÅuM7Ô) ?© Í_¢Ï)õïóè¾2ýnÞ©ö'PéZ ú÷Ï:«®íý£ -€þ -gùÁ’ATÙ‰¹NW;ÎÎjžV:ÖôEwMx‹ÀèNDÖD¡Ê]»‡#Y”ýUúŸXüÈìž_UÜ#�Ä�ßMXÊOPȺµÕ©V§)¦ô&SQñ�¾ýèk1Ÿ÷ @eŽZ âo\ K h,p¤ ßãAâ¥I ‚j–•ÖaúJ¾Ót/±ÛF‚ÖȈS�Nž˜ôîDœ;…ÇM|AgÓ…%¡o  ©x GÖÒƒo¼×¡‘�WÇálK+&ù¸ - [,\¨[า2U-€nü{·h*„Nü<ØÌ@|Ó˜ŒûFpÛ&ï4Ù>þø£©†3ÿ?¡-åS‚�þùãËן?ù’¾Åžÿ׈ ø—åÿÒ`РÉ0°Ð‡u[­µ!_À“èðFP(Ü¶Í -«@Z`nQå×¼Õ0ä|ÿ 4‰c ½Pxýe.5 VÑí¹ Ljß5¥m]% €ž­�R�®m´�Ó£èÞû¡Žçá~ܼkz÷á9tÆO¦GX{éi³ë :J ƒá�]ïCnt�["EºÓÞàO-"„€@Mà$ëýŽÐVs€~g�ºö BC{}Í’_ -üÿôL7(#£Aès+�Eº «Š×aJÌ¢P -½Šÿ·ÒõoBñ?V”ìÞ¿:·7àÇ4‹ÿÎÿI—€æ×ÃHn2`ä]}ʼ3Aà´õ™8� -ýÑ - Å·PBد¸Kߟ‘ø£Çßx.l¦)­R@r;é”Ii>Ø 4,Ò3‰;RwœÔæuÞ ƒœz1W®¨#sîPã…` þ‚|fj À[sÇ÷ڀПl«(Kxÿ‹¤@Æ—/ë0ãó»»�²+à]zlôFKÍ9ãd ÉöGº7EíÌNÇ`®àŸÂ>:ó1n€2Šþg.iAÔ@OøÑ¥ûåùË/^ˆ<{ù\°o €šÍˆ Øtoñ˜e -UÛãöh[¼‹.jG]¿j( õ 9*ó¹5×(÷X'lGÐ_8{—&þÀ?Õ¡¸M uÿI6\°Q€"& -`ÈýàÁÝ•îW5�~¬(8&à0ÑÀø_{ÀøÉ}t&ÚTß� Àö·­›öÓ ΈÿVù'üŠY87S>8³ \ÁŸô¬ÌÐoK“f"'™Ã˜@ob†ÿ4\’ÓB�yÏŒ'Š/žs&±'AÔªLÄ€=Õ Ì"Þò¯¦´šßÇ º8·Ø]Ð&­s§ÇgûTžUîŸmµûkó‹ZŒ×PÐ=…â}bF¥»Ã͵ÚÒŒPÌíÙÌÚ`u‘— ÒéŸ�vÀE"!³ïdhЃY_ö÷ú¼öukà#dÿô «­9m…˜œCÿgQ˜~O÷¢[Ð ¬)À9Ä/ÿ;t)¨mkƒÞ^��þ:c•î‚CXЩu›º6µA>$v�X[œ³� 2°(þ3'ü÷`I$ßgm§æÌ!Ú-…¡k8/çô]Ç%׺ýB[º�u×ÿߺ¥WþJÿÿGkôs3äô‡ø_ø€�䀕úaÉ´ônßx�Èåu¶<1'¬ÏS%àJøæîýmíïøs2†pæ3x2¼+ ™ÐÔ&@RWÁŸ”®-ö YVÀÉCô¯Hâ1µižeワÎçŠX…�^ú@#‡thÖáï'oüÿc¿�÷—cïL87-VLð }.ÐpD8šú ÿ üÏkëÎå¿Haµ)gûBù)Ì©#Õz>Ž?H8Ì j± ÛÞ�gæ„õyŠ€ëQwû®¾¨¤oàcàÎmœDgã„N;“$¨“UiÕs¶PßN˜êkÎU‰úú3 #]ÜW†…å>Xˆy¹PŒUX㺚‚ƒð'4«7�Ïý€iÌM¥xÞcìJ8Û’ÄŠC}°(ùG+€TŽbß»Tö0}(ßé[ÂÀ¯„ÁBOáJ¥úfh6Œ¬•Ãã�øux:�ܧ±�ü= 3—û4ÿ§  ?ü˜ |(ðôE‚š†óŸÝM0?eüÓhHQëký¶·ï�€‘žrÎÐRцz�†•ùÜZ­Ùh* -úHhGnú£É7”£+ 5�®.ìwßa󭕯ÒPæÔ ÐØyŃ�®ò€1€à~/G�Qs)Ÿ¨ü‡9!P u Ê1RðžIP¬þë¼�óà„Ý]õ?ܨ€ ¬ÒíeØXT�ff•‹˜µÚ0s e"*SäQü!XeƒD^3ÒA(ѵÎZ>0~Æ/¡?­™ý×”0Œ‚¤7`Í* -@Ÿ;Þß ßëÌ-¶û‚B£_ªÑæ~»½×ëðÕ<¾^‡Ò=þ-7`$ÒÃ�RLêæðB3�Oð-ëÑ÷^»g?=]°Ó݃ì Öo©Ä DëáøÜÅ_|ö)!÷õÃALîÞÑó‰p×­9´NÝF³­Óu}?w­à x½.(®ïé(w�ßBh¯õ¾îQág§D>t;�T‰H('(èÈ�ÜR(G@ì(½èí韡d;5·èPÐmµÛ³ˆýκ.G݆.Îíwÿ¬I�æ^ܵ‚à‹õ/€ÿ}ÅÿX–­�×d -s -©çjà  | ÐÿHZAØ»~ ~‘Uär‹Æ™8 -€2\�6t‡$å}_ Óíû¾|‡÷3�÷/A©²¡4µU¤ŸTHÿ ÜϪý8‘&+3|Ù¼=̧.0å5ÕÕŒ|G�Á Á"@³èÏ#†`é@[c¿ê€ÓF34Ë©›æ·¦Õc -¥²½Ò -À�W­œéÉò…hºs�¶6¾„ì⸭ŒÕ¯BOIØišùžƒÈaEM*ûÇ+É}e%ЫP?ÊÞ§0*>¾xF¥1kVð¸tí©ñÿÙK�] ðüïÈ/_¾zýüiZŠ7BÌDÔ£,À»wi¡(¸Ò¹^ ÿJ ­¥n6 fFjTÊdVëè¨)Ð?$« 5´Ê1�uË­ Mân··Äû£øŸ•ÿ66UÀ„, t%jÿµ¥.þ;€|àNõ¿4‡!>Å/Ÿ0R  °^Z A1‘<'éG®¡C>}è_w%ÆÎØÕWÃHü*[¯ðœL ®0”L4h ôSëö‚€1`^OENqaµ±‘óì'‡;ÌÝ– -»ùx 0·O�…Óûܬî²EûûÄA\ýÞéôUHæÆV·ºâPôc€BèõÏí´Ö*ü×éUì_Wá˜þzµªßi¯÷{Bh�QHÉÓ —5  -ˆjð BþN8-X¤¿Óõ]Ëð( º ½Ð›0Äå+|z(‡|K(M»tä: i¸Î‘ºItU3½U.ÌM¸9b_€Âr=8½ú@Ü�EŠ $ÛY¾IàÊ<'Ü_[ï ‘Câ]qõÞÐ7GXSỾõÅþó ýX,Ê4»žù|þJS_á¿à_S/jN©ò›I -›�du,œÌP¡…<�þG*‘dS0Žéçu6PLÆ ëó(õ7€Ê€ìŇ3pç.pîÉ£’vƲHœ~ ‰7 Ó>âîJÄšgZReelô—ÅY=@Æ–‚Iyê@³X™«°‘ËN´ï ¥C3߀ÃîÏS:ôóŪˆHáQ‰µÅŠ >Yâö‹ÿ£­Âò�M¶Gœ±jÀW‚ôZë~€.^Jüƒâ[îš2z¯½¨ ûëé¾ëîÚùkk@)Da} gú¡`”¦ŽBMáÿz¯=7¯Ä´J·ƒoBo8ä ½~/•1 ]G÷®û÷’Ð2úœ#P8Ö@öEº*œ�G8Kg@„K’íúˆëAÖu»4^ÔyìsAKLî\¶®µºyœ%ƒµ?ÿ�ÿ¼s›—lšÅÉ×¹|þ¢Xmô7¤3«²ÿÑ -�I±Nµ™¶œr˜GV¹¼2�sûVëó Ô߀ÈÌ{# -ø rN_,Ãy¢Árv4Á)µ‘VsóŒ«ó°D˜4¥Ä›*…ò3þ—Ä»ÕÂÀ:ͱj*‹�ä…`(O!X°ŸÑS…Ý![µWœ¨€xýXÄŒ -"e­„€Fµ€!'_Ù${Œ=ß�oX  -€PóP‚/La¯…U%Ø¡Ÿ»Æ òŽ%€�¶žÎ>8ý¡;¶þñ¢¿ -@'€Á >üàô¥Ïž>ÿûóÏž… Í´pãúõëŸÿpãZOèŒdÙ€»FØql -öÍM�Þ°øÍ¯ÊB½FCŽÊ|n­Ö`Êt…ü"ŠAæÇ¢÷ïŠÊÛ¡Wº¦g=e×@T`cKÄS(Š:9ê¯2ºu›^Š2V�I­}øÏý2Ê;�éçÉmڤÕTˆY…=Œ(+[Àâ¿ÇGÙ¨ßøa:ý+Àý‡€ÿ`v1‡m±T´ 1RG‰�™`œ¨ßo^Wyz׈&$ŠÌNrþƒÚ£ `ºz#kŒ ¿�V¡A‚–Õî2ûô¢Ð¯ÙžJ뀫p B€£<%h�ážv*Í-v„}�±ÞºUþçÓ·§ðÿ£Hßh î&Â2Ý<—¡M=ú ïÅD`ü!ƒþPø§"¿�¼ßowûx¿ é·oMð'XÔQ=*ƹqÌS< ú"3¢.==®À]�Á]kŽ»n!ºkO>r|k}�ïF ­÷u¶Ù¹öðÎ�ÁÞp ì§ñ!п§»ë¯Ñ�6ØÏU{k}çé -"]Ý„yMÏß„ð°‹ø?X  [ŒÔœ8‹,Bhø¾Úë¢AýuÝðÀ ÜÔ�Uhuç¹k;Cu»â'Å/Ø4¯Á}ý+é‹’̸ i&IzßLRØI–T‹¥eÚé¿` n(™(9a}%ü¨Xj| €€q €ÎáÁçÊ€ž`�¹Ð˜ÅLÙÓë1Éã�#=f²d\~ZŒ¡2Ài|´®Ã–\5�åë!ü Íx~6Ø“?T3Þápãòc$ãÔ¶ä±b’@¥È. ÿïSÀ˜|g“ì{Ψ©rßmM,lÇ·8‡Z01A­±Â,õ�ßsâ]ñŠÖøOg‰àÓ >øÓàâ'š;óñÇ©üÿOºüÿãÒ•§/ž=¥@öRTàï/Ÿýð¹?tåÊÕ4îÓÆ6+_Sâ§-ÀöÖ½JtVDNLáZ~ÕPê5rTæskµÆçêX9GAÔàS™Ž°Ý¿K‹:s•¬çþ•ÀG�G[Ÿ¡ä¤ÔˆoÆ$Ù `y¿àû¤¨¯{ð�Äê4²¢ŠUü+õàá�n`Áb~ã>9Š�tPø bMܯ~2‚LÿÛtA^݇©ÁéJˆÀ¶9¬‹ 1XEþŒÉ‡þ�åÿX º Ÿc‰M‘5&Ž?öh«Ä˜ø/¬IèOCƒº9€þU"À¨ -€_[k((U9—’uO'¬TiÔRô 'pâðu ” tmê»u@|$èÄ,Í!á(P\¥S!ª²*§ëŒ:§+�¶£ Þÿº½AG@¥}•÷ûë{Âf!#h¨U{ƒNGË}û%êìöÐ�êhœÿé½@cÕa\AÛï Å 0CÝõM•×ñáû{ëÿ—`ݤS+Ús³ÝA°÷d(Œ×“ëL½µ!þƒýŸÒ¹{ôÍÇ­êÆù¨¤¥ÝÓOÁAO€¼~7[ ˜��óçù~Ò(þpbŽj**tc¢->H »Ö³ QÐN±#‚¢�ýî" -€ˆ -@ÿ–îÚø/æ’/¼zç1?ò~un_€ÒŠ ;šÈH“û€@·˜Zp¢›¤·t†ÒÀ¦£gâ4u+€ò-€¿ØH×Àäýo2¤'`‘³fõB¤Ø á342—iP$ó3ÎÍó}z9&l(+Y¡}Yà0Ì8Û�6‘°àÍøÑ¢¼�ã_Ò/h6^�ì€~|Þ¥G�(–×Ò‹3þ�ø(‡Ú× -À<@^ÚÆÁ àûÝ]÷°»³b€ðÈN€�°ò/̡ذÊÀgnÔ8Ö*k0€?Bøgªè XÅþ‹—Î\ÔØ½@ þéÃÿôÁ?_¼úÃÓ§OŸ={þ ÒÿóÏ^¾xvãÓ3ò%á3—Â.FTñ“å–ž7CØ \’¡lðYqù«†²P¯Ñ�£2Ÿ[«5~?F}+0�ø�Ü¿ X0èW^K¸P"tzÔŸ ‚%�ˆ‚#  €h8&4,"|ܤoÀÿ`úÅ´Éø_ò ïLf°Ä× »[Ú�ã0qLÚýÉu¶H;†pòôy�;F¾€o‡m1€å¢ò5)™ˆ#%ð=Å‚àië3“õ4œ�‰`1ýà¿òød ‰ýiûÌð Ö"@¡{ ©˜A«§‚¨ ½Ý.…Ín ×<„¯0ÐZ‡ *½µ½îÜ¢î¢ÝíŒz†0;sJ%ܹ¹¹Vo•ö ?F†®ŽA¨ç\Â6]m÷w`O£ÛQÙWˆgY¾7T™w ØëjN�=Üë«X¯{”)ïs‹Ü4�ç»™^³Oòœ*±÷»*ékéIÖ¦Ãp.� –C¦þ:U³âÞà§ŸöLxæ^@ òƒÿ„Î(–Ä!ÖöþÝ>¯épÒ@A#£3€>s®à Vvâ,ûŠ× Hˆ@9„úîž�f€V¨¸èÿ´¬»îwD8´EÌ‡Š ­Nüo¿‹ÿ£ßŠ_$/ð<I莥ZŒ} €äHêvÊ!ɾӷÀØCS¯/é’ÖçQʯ|*`Â×µìWÉ[”ePï7P¥6¥ÎœóÊ—žWR Lqò3 â˜S$Ó‚[åÕjÊΑbu6¯c'Öh¹ða¦"s”Í B3²CžÎO^~n àͱãAÆôد²ä¸µÅŠC}°(ù�µÀ66ò­M°G;�ˆÎìd3@žƒ¯:#XîñàÐ$¿©Øb.—½kæ™kü§3—í§±�>¢Ýh|€&SðÏ” ?¼xõÆÓ§¿üðÃsñýøáé³§×.}ôÁÒ6³9Fd$ãsÀÔöoÝK -�A(Z°¹½)2rË¿ùUCY¨×hÈQ™Ï­ÕŸ -¼o*ÆÕcR€­»€}k!*p° ©sC ð›Ô­„ȨL�_ˆL#Œ[xøÆuÿÇú0Ÿš¬âÁîß”ox“2‘ŸK?b++[ß�ÿ†8$Ms“Û„@Àmnà‚| 8ÀÌì¹üE`7�4ùFò€4«`ßV°?'3¦fŽ%6EVGGÍò£ ðŸ_bX‚BÃR00LÖÀ•{¢A(jk«*„Ä_lÆ N¥m™«ÝÑ呾ç]Öm�öHò:�òµT>¦CœE+-$šÎ‰nÄ …Ê=´nýÖz‚µî”[ߺú{k·pÓÇA¿7Ð�ÐÐÚÍá ¾1‘Q�Ðk á¢:Øxhθ>€M@Ö -*ïÓ£îþÙ ‰M ­b}ÿÉÞ^�J -ôýAwHù_û¨ˆÞ£Â„ŽüÂg]£Ûkëò¨"vlS'Àã¶Zgçù¢Bâ”­Ê>øàÔl¶ˆÐUz˾ëvG÷¨E»fÜ™›£ÊCô O+€=)$þõÓXðà¾ù‹äh&ø70 ßWZ€&Œ¤(¯Ól¯*+*-¡@ôp‘½Z¦e’sãLœ¦j€ÈH•‚½•pt­�/dÒÖ¸°€ƒ5€Ñrx”#µz+ÓÄI‰ÌÆr®²•¬ÝÓj�Çy¨�e¦¬9Ò?þï&Mo�‡ò“yøõ¤!Þ±ß�.€¼D�™fŽ‹Ø±Oð·Ê•AU­V\ � -@úgV¾Ì×6nßï>~ü`{cc‹å¢”€$x(Âç£óò=hª,Ôo¢ÎJÃØ{L(iQ¾?ÚDÇÝÿ¯à_Ó�Ü ð?}øOÿôÁ‡Ÿ\¾ô?Í -ÿë׮߸~í’©_ Ëo‹‰ÀíÍ­¯7 Øk~îµæV釯ìÒLŽV £ð½Þë tÉþ°Ç} `¹º€xo¯ Ô‚ÒÜ_¿t„èÚÐß»µÞ¹µ·Gû=KÛ-óeÂG?_OEimQ©Ñ^÷LKaõ_Ыá 7OY°ÅpO„B‹ --QœÚ|Iâ1ÞrC…È -œ_§¾¡ßm‹5 ú`ÿ` ¾"fÀåÅbüe w@cû<´ZÔˆ‰œ=�gD¼EN€Tˆp¯=: ä®Â< Ìk½?\‡ôqÔÍèÖúEÿãðŸÅ dó£?§­Úv)á#0X2‡*J.‘ë䣢â;  .üÛâÄœ°>�Ò~(#ßð©8¾(ÐXú÷ÿôIDAT,ÃŒŽå.™d`�[)ȧÕIŽÔW¥@´8-:RëÅ99ŽŒÃê¹´Æ.e[,0Þ·÷DS0D8(šå  †R#à=7Þ,ï1öô¹±ä±b’@dRÂ~· ðoøQ„3_~¹¹ïmŸÑ -@øT -a¤`Q GÐxŽ<Ó¯"�Âr–½]¬Òüq€Óÿ4Ý�€ª$4 ZÒ Ð§?¼tùÆÓ§OŸÿòÃÕË|.ðʧW®^¾tÆø_OvâÜBtLý?íù�¼Ö)Ü$èÐ廀úUCY¨×hÈQ™Ï­Õ,ðž¦1ð;Ê* - â½sß?zÈf€x.µ–¿‚x¿ü” /€1 @{?@¦�$Wÿ3Ý8 #ïì�kÒB˜¤Œ} `’ Ì üçœà¢AÒK[ÚãV½†1#©A@³$¾Y4 ôf>þ�"¬¹µ¹ïáG#îSx šý»þ?�Ÿõ,áûUŒ;Ä9bT2ÜÊüÖ´z¿žZ�ãU&0Ñ Rî›|¿+Žñu¥:ðañ -ð'ðMãP*k,°UgËMGÙþ§)~ÿtZ8/ÄÄ©Ó?óÑÇâ‰ÿôðÁ‡Ÿ\½qãéóçO¯_êD¿�V´7£4¿ò‘׎ â«Šÿn°µø¿±¼BG·)ü¯¬Ð Âfb( õ 9*ó¹µZƒé*€=À�ügîpK`å »÷ïn´ùónÈ—€Ã6„ºŽe0T'è4V1r,<º;Àq�€¯mø'�W¦m#ø¯Ã}jZ줰ü•w¾ú*÷Ó¬9™CgÜô> `|—©îÀ­URìËý‹±ÿ˜lÀ -€;üiü³œ—]Ø«IoÈ="…È\ì÷H(ÖdGÕÔ$ F5 "@€#dƒ¬v ˆQåÛÂy•Á;ˆåÆ'¸@gT\K XîŠ3ÔµJ…b4{?Ááú«,¬¢ñj‹NõW-%¸¦^ç²¢¹ Qé§Êž}*€÷ÖÚTÙ¯‰oé¢g(ˆä&d7o2Æ®×›k Úu×�DwÝë–…ªz‚¾ï¾0„QàK¨"º À°MsúáÞ_‡{ëÅùÏðÞÿâVÐןèÁ…Éëk]Ý—Z{ „ïý^íãŽ{"ÖGôˆ”n»E/@ -6½:XlÍÎÒbQ€ŽÝ@ ©Ss|Ç�¡»6\æKEº�ÎÐâÔ5ûëîèHO»ŠÙXÑ]¯¡èž›ðŸeÁ¿€óøÆ¯$.¥góN/# -€’Ý7$/í›irr+'gÏM§°ô. û66ä‰9a}%þ¨h| @yG¸äË ;çxç �;Ô˜™ î#¬¼P¨"�J -ôÞ«ì:•U;W‡OcªÆÿÄs¿=PPþõtžê—¯9mr%@¼ÅUùme±b’@8þÝ -`?˜/WPnOv|œ>Ñ pÌ@ù›B;ÂÇsÎ4ÉE‹G@m¹ÄÞd—�ÿþ“ûLc'í�rþÁ?JòöøÈÞ€g² ÓÿÇÿÇ}xæòµëŸÿð쇫?üàôlòCþE*+͔ÿí°ÑeXÙØT¸Óû܆ - Ù¡ëQ e¡^£!Ge>·Vk0Ô8j×(&šzäÉ!Ö J�ÂþV¶ ujþ® -%� 5ÖæErÙÃ/À~÷p €#¹éª€¸QŸXæÓVù…Ìçàïþüó7•pæPŒYgzð®1±)®€&ÙÀ¹aõ¬àº²Ü?ÂÛ�@’¸é)±5‘½q$eÚØ¢'¸;@öÏ‘cIIÃ?FÑ -3è+Ã/ø/¼Iì3¡Q|—�ˆk0€µµ'*Ô Áмe=Kò½ŽÀÛW¢!ER`Ó`@wÕ]êtDzýî\‰Úô|Jð�Ø­bïbo¾5×î�‹]èr<- -úºî¢®ÏâÛK¸ÙÑo�¾ôÅT|§! ®Ha˜’°nŠë¯ßº)òC—€{´¤ø 4vµ•_·¾kPZZ n8íx,›Z8Ð@Èõ-IÑ‚¾Ö½}«õyàãß°0ªÀåuû¾½ÇXPî‘á=­�-9‰Ï©‹D3dzÆAÓküWÈâ†Qo†ÇÑC%`ö‡à×|ˆ±ƒÏ'* 81c‚à*ÏZ¤@ŒEô¦óÝ5¬R¶j€èÀÉ!‚¸¡ð -Jy¿¡Ä´2ÅÀù+‡O-œ<ñá ”?à÷¡G€yà?Ez1€ÿ'ÿ�ež¹tùÚÕk×.�ù²úã"€»À'g>I‹]GâÀið…ûî�Áˆ°µ� ¨¯EMpÆŒb( õ 9*ó¹µZƒ?e iŒ`åïpÓ{óÔ¼»Ñ¥À -@ÖÏ©˜íL‚h)²2ÖMòª àÞêX€Ï%ó}ùÎÑë=Ô¦M£ø>i¨B? -@k~ù«û*Ìpš°ÈÈ2¶9«CgÜôl·ý]ÆÚàƒ€oWX ý—›­'#‚þ»¬_~P‰z ›Ù‰=«„àCžSÒH´`„!i¼Š!°?ÍP�ø�6IôB¨Ž²ºŽR©Ýó´€X�ùó6öà -ÉU,ªTÊÇxéÃa{¶øäкO�²ÀÜâ¬Ð+Žã!xΩ°ìórߺÝLkdž›ë7uAÝ’€$ô Ëܽ¾öó=·;­NçO®ZǬ2ø®»Ýa¯·èû´Á0ØÒ¦ ?Õ {At_w¬‚ö_kk‹{‚öhp¨G¬é{Ã._ÞÓù(ø÷z¢-žÑZz>äŽÁüµ›ÜÎâb{í&³\lqÞ¯A˜/ºØ¯�8;;Í"›è�)€|ß�Õ½*øX[ã®Åt`/­¶îBÅîœXÀ@·”aSŠÿ ÿ‡(Êä#›§ÑŒ ˜Ö²zds$×H�U}NÏs0(r|"`]ò‹<3'¬Ï£Ä_µ(ßøfÂ×µìQ}‹õ(Ã{*SºÍ¹"éé okÇ9r›×˜áOhú 8Óó“‡ðè?Í·|~¹«Ï�%ˆ“|ȬFZ¨ì?ª˜„°¹é–~£v\—òad¤9?6n*¥ÙÏ4v´þ§Ãÿ¤½v³®Ï×Î|üÑ �ïS¦ÕŸ|rñÒ§"˜˜õ²‹Ÿðñ ÛEv}ý(_p€÷@jð?‚“脪…°Í‘Ç1×\3>ÂF¶3ø'üðƒ±ž9Üôæ<Õ9în ¯“,ƒ´—7¾ãm`+óBFÏQ —ru˜+üËM˔Ƚ:Íy•cXš¬PR 0¿Œðón¹$·§C9iÈ -¨1¥áÈš -À̹ó8ëg‚°åþiTŒ) ºb«Á}ŸP~Ù ‘™ƒj€ÜÇÐÏŸÅücdÀ‚Qi„$FØ&Š*Æ»È-b¹Ä¥Và3w¢@ ÆùCwk:·ÚëvÚÐ],>ºSáÜløàÿ¾(”³ #r}ßt¦�Î͸'-õ¿øÂ÷KOz&\º%´×¬°�ÃxÌÎÍ›y:±ð?îÚ·­§Ðqf7œ&:æç®M9Z«snx°* -Ó® Ú (Ô�GÀwu>| -‘ ==‡ -°hw$vÁ°~“ÔÀf-|÷[$ õè„‚ìììY€ËpÂ@q×î)AgÒEã®yJ‡€Ç«sí¾nQ÷Ü_Y×kö]ÛÜ_³ÝXyã™Ñ7~un à�ÀðW’ qLPÊ× ¶à´RÙ»} àé°°L[HÑ�3qÊÊbšß€Ô@¹9JÈe~;|:´ØÊûŠ!³ð\8®ë˜à@² ><ˆïĵàÇÕÖÜñ}÷à��ú¨Œ$*Pù€3¡¬l(‡Î×Wì-}l(ž/’@eúV -€"̇ø÷OcÂÿ?þˆmû£ ì?Å�Êðp�¨þF:äãÁiûß¾¿ ôw+j~Ëúo¬˜;ZHìgÞæ™zTMGV5­¹¤+–°Ÿ3@ªaգÌwsJ“¥@*w‰Sl#Š:%V–+2zÕ€ÖÔæ[Ò��| 2m«ñÿ{ò‹]ŸàÇïß- -€³“`r/Ê™0ÍD�ÚRkiåv´ÇاèWƒ·Â·þ)´é8¨Vˆ“Ž �ÿ�õeˆ“ (�ÂþÙ·©8ò8 - -®aÆ5¦k>¸=@„†�ŠÀ`i„4Ô,Ò?m,i¬mlæi®iê»Ù·57¿ª9!V·ÕªW„‰¨lã*„FúHG9�6ð\e}M˜zkÝ -ðqkkº2mú:naÏ®*mk ¿¸OLh«74d�ï å®»�u±�¾ïZÛçÚ«Ôsüÿ˜û—9Ž,Ý¥A”H4yîÑ‘îä‚™Dß +2ò´Ù6ir¨Qƒ‚j‘Œ™|³XRǦž„B*� -Ôûuö¬¡î¬PƒBÝA£ggp�þ§îï÷-óxäƒL=öî½"ÂÃÃÃÝÜÜÜ|}ßZ¶Ìl<œ¥¼€QMíéÈ&Öö¥Ùµ ü‚ ³gŽ­Qzm­à,ý¾Îx]pÜkã4’�Ý­Ë[W¶®lÛ&ByHZ)E._qŽdO˜¡’½\HGVô² v-k¯ƒ<9qÎ8¡=3#!¯˜ÿìVw›òó±8ùÊ£Åã!ð×Z<r€üæ©ù€gá<@K²žî’@?=Xœº€ ½æúó@.ECLp•N”�:&€Š8s6À¥ ƒt’Õ,>¾ˆ nÍå¯Õs—Z³öTú`.%Ìàûw…�RÛ¨§¥Êß{Õ™æ‘ܯÈròcið+;¸´´áÏ•ìa€ $íÿH¡A“ç.›€$,àÌ�âÿ[+i;æBÛêͽƒŒýøËî'Юð.Ý(…þBJáw¡ËÆ¢ûc¹d‘­…E›lDP i»ÅÓÄ{é7”¥ÂPGÚQµ<–­¸YÍ¢UÐ.êÚ¦  m�d 2ùpàÖNLÒ,!��®6œñtA€]@åÅ 7Å$jñœ”½�½ƒ£š•aïæÕËW�%Ü‘ÁÿÚ®|�Gªx[y§ïÆA„¯ŽXQ•åqŠ>]¾®Ö@€MѤ–(�ýîã[@¸”J€?²ùû9Š b+ØÆ7°¸×�ADz©»ò£¿mÔ=€**ÅÞ ¼omŒ`v0oë†N€à¾H—ˆ¸$Œ€Ì&-ºß2“œmrg1™ˆíˆ¤Ão7ŒFÓá¶—�KÑü–‘x8Èš� o®Ì·›ÙÉ”IÃ}zŽió½ßßémo;@?_ýABô#(ZïI¥€8°Ñ†äVêøÊ£x.úýŸM¦w(¤:µ‰äêŠ Ø@lßÐ�Bie¤P@Ò§ú—=ˆûõ -áNØÖ].¹ÞÝÞé‘m½(æÚlå\ânãê^G¿o¾êÑjX¯Äø/'@¶û8žáXŸ °‰��º<›õgxž�MKQw$««tôœœ àìÙÅð|L*É5ie~R^äÌ÷•z>¯Þ|�ç×»t x»¹³ssÜã«ÉrekËÏÕâ·VÒ~,÷Y5®ÉÎÍ-ëÁeNfŸ¢f,ÅÜ~œB=§@Œ.Mðg%_náßÚï¼q\¤2Ô®&]w¯¤jÇ)€ã¨ïš`¯ft±ý·ô|òÉGíF¾o €ßEþåÛ…¿!Z€0€s=—»ªPæëñ<›{€ùîsí¥—NPw“&d¼@ÄÑ‚Eÿ \ânë>¿*0€Ì„ù/8Úo(@‚«hS¸§¥6ŸóçÉ?Dº•û\ˆ€íÇð¿ùvø>v®}ŸÊý£á~ooè0U?SÖ¾ó‰¸u°î(±.®\m[}U®Jâ�äwânÉÐ -þQJ¤Ä•ôØù‹vŒO$Û•l;0×l‚%­ˆÖeo§·÷þ](ÀþZÀ5^žòÄÄ4ä^Þ ¶\z‚ÿPÒõö�ç˜ÕíCbéW˜€Ⱪ%%<©=ª ¾Tõ˜ QÀùýV°°”æ(�äìNÒØÑo°Ý;$I ç$×xBF¾ŒœÃÇùqrT"Pv÷öÊ úkÿ+Wo`×t8"? €ã%ÉmÚþû€üd‚Á p¢{gÄ™Äò-Ô›Á‡·Ù/ðS.šÈ^‰´%¦sËuv»P§ÐˆÏ´þîÛIßK„˜Ä`ü»!�)\PÊP× û,r�¦âò[BQ¥X͵ñx£[$d™xxB3 €pé7Â�R *ºVLv¼º=¬óyÂ:gríLFYr¸Hýo.uØë¡S#)Ä"LŽ•üÉW�5‰`�<}6@7¶'ˆOÖØéGÎдqmU’î9€õ¹€õ@÷mÎó8' “i_µLþ[¡/…jÊã¶µsppä¸ -Zï€ó¯½vpÿ`Æ¿sð辊 dï€óG€¼¬¾V ^b¢²Ó{M² øßÞ^Ï¿O‹Îó­«�ã~p˜,`íe¦KÆE£˜KsyráwàÏ×Ç‹0eïcíš´•ÆjÃY1eï´‹£Κ õ·ò|ò°Î¾w @Ãr~ Õ‹,¿Ø[µêºØÏ§™�¤RQ\T>UXy}pé… ½.½¤‡y);Kêÿ—cûg¶g~óÍ·ßyû�²ÿ—€5qÍ%~»�ñé<ŽE' Ä �²m¿ÖVò®•å¶Í×ú> ´÷[ø¯˯§Š·“=!Á© rpÔþ.ñOUmOw¾–t�h¯²éH%f-™Ì[qkRT¨ÉæFøâ¼™zžH qëW�ìפ€œ­òa2Í¡PR…¼!{;{û÷V€64hÅÛ¡òJʹ»ÆH­4°<’Tþ”ÀY!­ `¹kj RõxM@ÔþH}ƒçõXG†’¥ �²G5oGÃm�]ÁL€ä¥É 2‰³ƒÑPšÍXÉ.žPò½Ö°Âÿ4hÿï8 .öðdAC ã�IF,åì9Ó}²…¶ýÑâ¶œà–·ÍˆûÕ±ëɵ+ä�…¹&Q/¸4ó¬ðH -SXLP<Ùæ¼^u®yÖßJJšóõ8Ëçñ!)UÚ@ÒœÍ\ߺeAHÊsßòpƒøÑßýY#q€œÑpåÆÊCù=¡¼Æ”'LØÔŸ´É†i¯åzÚÛ²ìÊú_3ÿ‘€Áæ«i{á>˜èǾôAÉŸ�3<Ýl€ 96墀ŽÔ“»ô|¬.F=ÿ€¹Â8|Ã`ö}ÆÅÅ|ó‡9PÈ~+õ&Aÿ-ìû¾L`G@>¸ÿé#,Ó«;{Ÿ=y¤rÎàì÷�ïÝ3"˜¥+ˆÝ„£(ê±·ÛP¤mmù ø(íëèøÑýý=NÝãdX“Êò3<^ …— ¢¹–»¤,Ø�ú7{Õ®&½.¹kl>å¨ÌOõ€ -t1¹jcÐ¥K@ÒŒ|ÿÌù%Ú³æú)ûÞCÏôt&cJÔ5+ª•®QJí¹kO{aæ_é… öóíz ú?C‚þŠó ý|°ÿß‚tÒñš,#/^³ äú³Àö¯:uÿÕ.•Å i«6�)Oùë,yà>§D¼÷kµá¡ì¹òñãÏa‡!Cª<ŸÞ©@¿-ó|\fµUЧ»²!›Í“™ \kÿÇï„?«vu -ÇC?Ññ1|õÉãÆ”ÀärT®Uq­¤•Ѻè8’ÏJ^¼Üb^„¯ Ómh Å绞r£8ôݬ{ÂkK<·iÝ@*Íÿ¿$¡vÎÙJ|6VD`ƒÊjd¦ -%.î(xØAtK@¥‘h¤_íÛc¯ŽÇàÑ8Øí™gü]¨El]½‘dwK×xÏɃΕz(§Y�ßÞÒ60˜ÄÙ?ýv1±×Ÿ¹ßõ7+ä/Ë—oÞé¼ ­LÒ˜áÂ$¿³€LÃ7Ù·ør°È ”nVMÀ� +‘ðªÙËpEI“¼I ¶$úèÖh:í~Föí—WjÃÿLb“ïò£'@(‡Ó1ð#; -Æ%²o¶C´Â[(]=ÎÃHµ\K,<¹ÈDù6Í;@qôq¶·„ÏñÐyΜ 0*Â4LÆ4“X–^À'› €G�§Ð?xô €Çpg‡øîñ“G7·vö}ûDMx|üé§Ñ‰›¢ið0Là¹ÍMΠöªEW%VRΈ(ÀÚ8àþÉ^è¾ €5 ‰vÎ�|Âe˜ÿÜÏÕ{a2_\˜dΛÄ.Q»Iª%D•pXW«Ä^ÿ�>¦Hî~¤3ù«‚X¹êg�‚ÒBZ5x–¼`(€<àüvÑUÑu@]ÈM³¹²5ROŸ[; þ§‚aþ—õÏ·>gÿ•èØé|X ™@K4>±’VFëàqª `åÐü­óDˆâ‚?ÍŽéx—eçè@Öƒî§=šþ2�e'€Ú=µDi¤¶šÄx­ÀI -ð÷a®‹%^€‚‡u -'€(‚T -iú†[Ú¢À# íjö‚;B’;�Ò^?ÃàÌÙ·¿èsœçê÷v×=å¸qC@1€j°C€‰'óf´@ÖÙ&Nɸ#¾™S;å�†Ž÷L;¯Ÿ@·²).®r Jo‘\Œ‡�\Á‡£ñ„K˜�±³±CçˆúÎéÀ �io2iÙ·rÅ'«ìs'øñÌõö¤ˆQƒN&D®)ŸéKÎCãû‡Ü8 yq0ÄAúE®7\¾¼½}…= TÍå`&œ[PºÁ¹gý§^hp?•`¸6 h²e°¥ËÀ\þ›¯’è÷�W×€úŒ^ôëbV1Ûp¶à+ôí©¤˜ÊCø €à¼€î•͈«-««tâ@ìÍpöl€Í`â¡[+§fÃ+ú¸•¼’Id$(âOíóÄ^Þ‚z|ïæÎþýßû š!JñSÀpCî þ2¯¬ãq�ÀÒ%þè>»Þuÿ_ß#ßÇ0Rƒlßì°�“¡½ö¼’d¹nÓWßr�:à]ð¿ìPèÏÒAXý˜üÛv¾×f¡wpÈ(XxCM¥hâ§–5&�²âgÑ~S„­<[ž¯¶€ó¤�øûúØý@ÿ›ü€?ò¼ûn¦@Ú®ë’ À5ñbÒ @ØÑÀ¢¡¸“õåJ6Ö–¶ìþ\½Öþà®øÜ´ -¼”~ky-¬îmý)BÕé<ˆ¹7„¤vFªŠº´:¯>˺9€ŸÏ¹Áù×Û»”dgÍü?Ñ` þ— %À¿¾z¢ÀI ö��z•‹Ü„ÊÅâÜ;â)¦ì*0˜üâ_ƒÚ@u"÷…ÿ. Kñà—êr°Ét§­$Ø/]0iûnL”׋ ˆÂ� /ÚùøŒþ´Èê)pž@)´Ó©,ü8¡í~—B6@1—‡6¡�°UgÓÑx˜)k¾-ëŒ5%°àÖ<—¯8þ6 ÌþôrëI@<Î3šãþø0`2¹ Oú“ÌrËY'£ÛnAø+œ`W0Ìh=gCüÌÐÄ‚´IM7( :"äZgzßá~È÷d:ü’«õZíaš±èo[¶ºs-¦Ê¹Ð9á?dY—‡Ã qÒñtàðC33sGÚ²ëP‚ìÉ9½2²Án~ˮ؀Wu”YNÓ•íÞ¶“[|ìêIô88V²å®ßb×x‹PÎímâïÑ £"“yh ›¤'nîX%¿ùê´½Àß­ ùy׆˜gœòœ˜ À¥jµSñG͵̫6F*a\¥ƒ -(ÀÚ\g͈ÈÌŸÊ&ÙÌ -B^>Ù>þØñYäñÝÙÙÛ¿ÿø7{7·®¾(8ºÿ8à@¢->�JDîæ‘_ú÷âÈP!� ë«“æ¸÷ðˆЯ6 Ò;ØÛÞÁ¸{ŒêGÙtøßìÿ*䜀XÍ`~JÐEð?;ý'=�R% yÒ໊¸}Õj·X.»¯µO[ãíøHUß é? ê¦k~××Ù"8(ü?0p¿Ú·.yó ú�uË?Ys¸ø(·¸¹Ü1â¿ËdäD€V#>Z³þI2QŸû‡,ùxL5G-k’r¡œNÈš൛@r# þø�g*@–ë¾ Üì`¾ô„ð®é€›lØX€éºOö]zTUÕ ô祿&KÉ8¯?@0bƒ4'€¶°žkÑ ¨÷¶ã!PJr½>„@¬÷çÕ|<õ†Ž[üOÇÃ/£C Üö%P»^¹ÜÝà…í[M°“c ˜Y„ÁEµÊ¦zß�-Ã…ÙýÃbtGg[wƒÿíÌ—H©w\<ïo‘טïˆV´PÚs`Ã`x¯7¤g~Æã…˜*\¥Il>Ü&±Œ(Èþ‘Ô)¿ìB "[@Cö°@L?…MÑ vGNÀ1·Š ú·n÷?ëï‚ÿ»Wä>éÿІÈmµý_2´ÕçF)Zþ”Ê~ÿp"ߌⷠœin‰OÅz³;�˜—Ùp{šƒÿni2«hO¼VÚ¾@óˆÙµÁÇð´@PP^«;åMšªžÂÂ��ÄøÕIt¿É®R24üæPÊÐITP'EVN ÀVyî>^÷Ø¿ÿmçøôñ§m&Ò&¿â€àϵ5øW ´5=î†Ü‡½k}ÅðÀã㸹 õ¸«êWÙþï‘ÏvO‹ø˜‚ãã+טUÞ’’óÆÈ.¾³«I¯KÕƒSõ“Z«<{N`±€Üãúψ¨&€\Nòà%v>¡‡¹Þ9Þ~i¹wwSág*[’*a XXz ç{Š]˜nñ‹Ž°ÖêÁ�–ë¯8CðëÿïÿÆþ¿ûÞ;€ÿ{¿øÅ{¿øy^¿X‡þ’ p](ђĤ*Á‚,naL{·�k[–ï“ßËw`N±žªw#|þü´®�#?1ÀÞ&ô8÷vC¸sy­ÓÞç¬tUôT#÷¸¹üá–d¡å«y6eÿÿÙ߯O.þ -H,å”@©%‚y‚ t¾¬¿œê@€x^€ºo7wbª_ÛÚ·3ŠoŠWôç½ÏþG«&¤< -KñßÖþåk9€)™n‡ÿ«&*Žöÿ%’ -þŸ Øq¡óü¼þAÏu ²9ôLpm<îm¯}NÊ ý×îSÓ `¸(ôOÙÝþž¨€Ò…$PôOwµt¯ëmíjçúy{J–ã™sñÜÈ'™æ_`Ú:?�L~Ë/¯j:ÙŽÀŸz&`ó(.Š€uoË -�â\¹"Ó•ëAo˜)þ@pg‚ûpò±£ûòïh6‚ÕÀp §‹H±H x;¾?…c¶$ q•�ÕáŒcɦM £; ‰æênÉäcWÀî Ìÿê-)ü¯‚.ß°D¶ú‡Ž-˜{•6K“ìÉòpJ®C[ȯÿ{Zr0�/¦5ø@OBþäe6�*œá(ªŽ�¿¿­å*Õ�Ð<çyÜè3‰ø+ó€}+€O 9˜­ëšÃEý&-i\¥ƒ¨&€�¹rT4»osîã@Óõ$Ä')šÿF>‘ "ë€O=ÃP~C�¿É݇� øŸ•!j`ÃÐ<�Ñ -*^ÀñÝ_ÝW¿¢^Ò°ò`KÇþ¯(pýƒÿ�äΰ‡»pÑv¸öËBP²ÃS¥ -Âûè¢Î±.µAꤠZ<Óp^/Ôß1í6f�ËðÜV‰"G -*­•žËñò¼µmvˆV%’³UJÜ�Š0,déXÓÑÈ'aS ì‡+Zíº?ë1üñâH€6ücøƒþo½Ý¼þ?ÿ»÷ßûÅ{W¯¶ëšÔ8kÒÚÓË öw  · æ‚ï“¿©€Kiux]¨’ý·mÍ•³åÉÇ€ äôCðrøð¬�sóXpøÊ½é*éf ß«(€¶�#*T¿}¹fR�¤6|FMýä£�ÐÍú÷›wjÊã‡GP Ç6"Q’òÀFùpûó:ØÛ†ŒQ›â¸üâÍÂdÇH‡_(1 ðöîXÂ"–m€@¹Ì¯óˆÿÇ�ìK«óŽÝúvÄ!'CTUúþíòâÚz@'… Á�~ÿïãhøÏ ý•b§(ÐÈh¸»5ÀÌõøxò×@7a&V©÷Ùà@öú ìÙ_sx½Šè�Åkx±ãß¶ni€ ®¢�®z ØÑ"³ñi\ß¾³0¤þΜ,9ÕÍ�)ÿé»ðÒ\5KúÄe)~ÊÛFù¥ï~—k²–/æÚÉû2vîÜyŽ8¶tÛ¹f£ÅpW(å‘"R ›„z=ৃïI‘È>Db8šßž™kNHöYÃg�ƒa  -0ؽ’ñ€,¡FGn<é²Ã$;QÐáaîoN$á°¿"Å ?‘lM3!Ôd>w·Oo/È1Ú&^­¹é„›rx¾ z8"æUt 6–j>áð):Ñ �rÉ…=eﱞWUß<êå� $ -ú”¶G÷^] À³<Y&­.«@½>ù¤8µÏZ‹8Çð1B}Øy à+ùU‹8z¸„DÐÉZ À½òÜ5ã錴õ¶+A[ÿ�vµ¹4ÏÉrpÒ ê'}AÖüª_²€ºuO íä�é@q ¥U„ÿW€hºÓ½´ÿ])¼qqN µÃú‘<�@ -é´Àkùp}vˆT‹£KªªÄãcýÎ6 -uð?M•ޝ”¥Ó�é¹Í -cÒ�Ösø£åÚuCÿ�Ûÿ9À{ï½û‹Ÿ¿ÿ >ï½_ò‹¶oãþÊé&€²ÿOx´?[ÑÖÚ~[DKI%>!á©ï¾ƒýÖT¾Î’'×ñT ÀþÑÃe'€u©êÌÇûì2/²À‚·ŒH%A<{òƒ4àN�(‰ý�ÚÒ`�õXñŸozœ¶PpTM~øh ü;ëßµÇÎÆ¸ñÚïÅhÀ»<<�ÿˆ¼øê¥ëÝJ)Ûຠ‚ãÆ|yp~¤ œ_â? ¿ÕF” -TªµkÎÖ$F£J+5H;ñ¤þ�¤PY÷üÉñëM%VÌ l óó#П(¼TûM1 €ƒg1Þß>8ÖônÕó„¸ÁûêšëU×@œÞeÍølA%K5pp{½ €ö?õóŸ¼äó¤-E9@yövlËÿ0C¿ëγ´þù<¤b¯ÿyÙQsà¾a6Àº æûÕ-)Zñ4«v›½›¶èº— ûÁÿЧ-éh@-ã ÐuàØ�"ª�)ˆü~ù¾K|Cì rD�É䀔õb½†ÿHÀ’€±™Ð^ƒS4õìÈéøÆ,Öüï@WÛ¾uè˜M� |èYõìsžÞÊ`@\ÞÍ�ÞÿC €MŽ2Ë¿?8©Àòt1Ÿ,îèáŸç‹;w€~N§k�läø% -_¼ã‘Ðçp&[5ôøßÿ‘Ù`H®ÝKgº‘36P'¹Ð«a/ðKmé›=pÈŸ°°:†+Àz|f±=þ7›,Èòd6õ�¸“f€�ÌF”žŒâBá’íÿËà]¥˜®p£¶oH‚$ R ÝÙ’%ÅáDæš<“ëé”.8é`¥Vð+ -<�·’Óã ·ùú×Ëm~��'Ÿ?~†�?Òižêjð¦¸Á[㢞FeÓ@­óÖÆ†W|2 -ÿã¦÷ñtc‰ÁJšÊÚy’Û?þSSl@öœ 0I62Qæ¿Ö¿'È–Èß½`ûwï{+ök ïž�üK‹3x°wÉg 7ë5÷:é�@ -ÿYÖÊJ²‰tOzRm‚ýõW„‡ ‘hn.e¬Iº ¸¢! µ+IK¹@cz8ïn�‡‡ †é¡Ö®X b/ôŒ#»½á"1Óùl*÷Òƒmºj¨ÀW¶2 -ž#îo÷v�¹Þî`wk×CHô÷tãÁ!I ¥‚œA€ ÿíÛB¾P<™Ü¹½ðìÃét``|:8@B^&Ö5¥-:.Â+€N°t:ëÛ¾!Î�FÛ»ÃÅ -0š}9Ÿ±IX¥ó)€:Zô{öl äX>Ä¥ÊF†¶rÌÎ4L‡óì`OBÊi¾¸Íßzã{·$,Å«?ØåfHÀwc#— ý:ü¿te‹"ÙÝêí§œáQ>—’&NïÅpQs™ÖÀ°?Û9ùx:ý‡9—Å©‡½ñÔ\“…±}:;ø?ËP*tS€–g{Θ ÐÉGÏç�§´Ðÿ‡Å¬žè&Ñk)™ þä\r€§ŒX)û6§‘Àï:ÿqäcࣴ ©$™†÷áŸþd©•mÔ»=·› \;¯íÅ &ˆ@5«"[f„Óú³ˆ´Í‘.Çä/·GŽ–üFª@ ñs‘A~âŸòÃíO ¿òΠ@ªrÄJ‡«'ñF.êÉoµ”ÞöNœ4Ø<˜ê…þöþõäÉÐyìm>`?Ôö—íBØð)k?r’ ¤K`# ©%Q‰ÿü.7ðI -G‚ö|FËA:p‚$ª8ÌÄZpNh�:­|ØßQý`8ÏÀÃìÙÏgóé üŸ± i;�Ä`«²K6 v·àÖ•À^58�ívŸµÃ&ö@[ºŸfw Cz>µKýÔÖ€¹Cÿð LïL~{‡]µ�ûòe»ût®·�­éK@¾É•ƒâèN‡ò»†#‘ÒKz£Ù^Ìæó9&¿ÇÕð{¡å?öF‡˜ÞéW+¥0ÑÁxhŸ„^Ü1üNÄ|�óÉœÿ§ãÃ4ÌmÈ]�[ BºÝ¶3Pð{ûFЦ4�1NBÄŽˆ1ä~Ø7fÑ8ƒY_�k}.ù8œrÖäe4D142… jøÿ@¼þYûËfÏͳÄ>öõ e׳c:ˆÊN?r.€âÈ2æ;b‚«tŒ4`î­�xz6À¨ Óàm•Qæ“,=Ÿ«„cUAÔL ©Ž]2€Hý8éƒ‹ê¯ØÏõ*Ò�ãH±R ÃH^K¡µ|6©õîvÙIþ½‹µûäúêâõø+;"ïmãi}HV|'sl,æíùÿ„ú�•�ÿ>%)›>ÿ8cXS*PPS¬< -xT ÀÕǧ€€ò®{tíwb/>Ã÷S¾9$¥qT#A -ÿ×<6œô4ìg6Q€øRKR÷ÿµ,ˆ/¬Y“U;@}ú£�þ¼W 1Pk2Á°=ÒrmܶôÛ™è¶õ~÷±�ÙË]‡€’ÝéJ \œcïe r¥B½¬Â,<ð‘Ìr(ß �Ùâÿœ`Aß¹ÄõÁØÅâ6· €]à§:é9õtØ×ÀfØ�c÷-s�ÆQÛFó‹è*ΦÆ6ÿ–•~ ã¸úÑÐî�â4†µ�G_Bl ápC!ràßTÓrrTÛ€!žØž„ÓÅï»Ú2íæÓù;&rOôý»›åÝü;@µäÆ^¹á=¹±‡r~â4@AÆcXWÊš€\“ã4>ð¿2^üÆü/»Üo•9þwwx[ ¿ñ*ª°?‹Âkôò3<Ýl€ 9ò-Ÿí‹zÔ?g{>° @éü&-««tä<…Èj.€³g4û]æ²â«É àw��ÿ<´Lá? )“?¢}‚@ótAK€ `çµ}þXzަ ³Ì§ ôwø_çjb®ó»Æ°ð[~#ÞÿÂcübiA|쯺uÈyãäFf¿”È É]có J.þÎê°wþ\gÆØð•ýr©]À @Máõ¬*—矬gôØð¤HLªR®•lI½c§ïð ¿Æ\ù®¿aüÿ»1ý߃¼ûîÏñþ7ÿôÍwß|÷Åïñ˼ՋH-#çÇ=úìø.v§£ÿ[Ñþ(IqŸAšõ»&b!ÅëJZż]¾[ío‚¡Þzè8Úï<@äÎEòàu?Ö¤{ ­‰ÈZ@ÖA]©\t1€¾ºçEüÿÌGáã8ûå y}ü9??‡tòɇlÊ/¦OÃäÿ Ërœ$ûoÑÝuÀ‹ë`Ëx=�€ÿ™ G–p×ü— !ÿ�W×%Éþ_¼*اÂÔ ¼íh·B=š™ÂÚ)þJÜC'€Né%è¢1,éùóxfèº&3H&°}=P_`jÃ3˜�è*Í~5ÕD�b÷�èš vÓÐë�™ë0@i¸a#€é‡|íní -Ïý±�óÀÞr1v¸„¬€®‹;‹ÉP#0¸5Ma5ñ=Àx€Añd�Ÿ\Ù�ˆóÒ­æ~Áôã^à‹³bE “FÏceƒ»: d^‡Û 'ɱcyâEcÎv‚Ð?L|Á ¦0Š)& f_ÿÖ Ï&‹ñ´k:½÷²Öûv{ØÞºÒ+ -´½{cûÆÕU À•-òÔËH€–ÄHŽ5´["¬ˆŒJIôx­”>¼bÀ®Ž^4ÌÆäz—�*×üü·Û»»»íññú˜ºßzs)ZóAјSáÊ¥iU²M|dUÏkhªðà~òq ê5�µN2w^�gh'm„¨�¨Õº'¶_M\Æ©—DßG…ŸÒÂϯÙ� ì¥¥ÌUýƒ–‚A�U"^ÿ:Üqu¹Ä�ž�yøSP?ðöTF­÷ÑŽ´ÞÚ÷¡÷òÔ ÿ{ºÿ°uÓYÄ)þi$À‹¯l”x;|Ÿ/�S#æ5˜Ã²ÅßÙE©â²³²þJQ¤ôLÅ >KZ[iÒôªïÙJ)fïE wpgÖz­tÖRBu"Æ> )åž-¹ó­”ØdJI°jÄúx/5‚šçµAàR²È�Ë ]Þ:.³9Œ–V’"Kæ‘J€ûçñ‘/me¹�Tó~/yáù矿î´ÏËš\ÿaû¿ýŽÐŸ¡|¿ÿÍß|÷O€ú"€¸c=ö�œï8úôÓã»úÿƒ%w«h¬Pà‘Ó€û ]~¿ùbI�KRàK - à†r“�j*€£oÓÚ­[­—ägnn«�.€|ñP>þÔŒõ“9˱ˆæ¿ðþ ÿ5ý?~âR èî€5 -P ³Ð÷Ax „±¯ûö¶ArÁûÍ–Ž9ª:z#cQP ,öä'‡X¹˜º[W¶t{om{zýÑöH{Ø´sIs¬Ó&0û×¼c1›p†þè¶�õœppg$¦Žô�½˜Ã5Á[îL&ó~å:ž~r=îmýªr8ìï³7›½JæÉµÙ&©©‘ R»ÿM†€)'R,º CÒ‡qØL0š,z .Š-ƒ½p™-Æ‹ýíðFóÙôph €€Òèßܲ ¹1ÖÛÝÝ2 N€Ýò\iŠàŠ�-ìqÁmº;2² cn,Å™é�È5y–qØ$�póábh+̨gÆ\ó_¯z{sÐëÌݼ °oŽW$ -Èwª¬N@.ì†�õ|ùLªV#QÏ‹ïÙæ¦'�žšá@Ï.X±Ø±åÊNŠ S†×¦?ò\ëdÅ3³¡jS¤¥Xo#Á’Cžè•ÒG–xÒ®*Ò6¡ÞZbœýÀÕñ�') €µ³³>í?ëW¯\ÝçQß1ÎÄÁD¤ àµEÁ DÑ -üŒ–Ý�ä!£)U Ii9ãjŽöMPó¥qqö#±_„kÀ¿$gÉ•æ}Ö+ø­J<î[u@Ëu Çšày‘mm ƒ½4{FG!içØÙ)Æ#Ø G÷îÛ{;Óý?|Ôß³'v°‚‚BlØ J,kĉ*Ñ­R#¼'gÞ¡î.u5ÃϨ©EVY„\_®ðÊF$S�ᥳøþ×ý±ô¼iÛÿ{¶þïýü½÷±ùYÀßÖ›:yJ/€GŸÚðÌ�d(ÀŸ@Ú]FNSáð„tøŸ·OO~¯{j�=kÌÑ  ïL±¢ò�:ØÕÃ&U1ùäÆ#kQÁq]UdÉJÝ:WJøÏ#ž8àŸfŽKs€€5ùê“ãX5å(ƒ†ƒIóïfý7±ZQu£¿w §/ÝË)}‰!ûe½[>=š )iŽÝð¢#Wž~§ð+ 4&pµë`ªPÕ‰ùO:¾Bš€·@Ñ`¿IÚö%“ -01zlÉŠ€¡ó;wæSLþ$3”ˆÈƒííÙ¯þþ°?ía_ΰ¥�Þ©6õáèWÀãüË–*H:Ư³MYïW®˜Ç­«7®Šþ¸[ý·†CÖ°xG‡|zœ´µ©[?Äm22ŸsÊÉ‚ìöõxËP°ôçPZ3þÀ—�@ì;€âDˆÆÖBgã!¹¶�~Üß?Ô0˜ Ì5¨0ƒÌúÑ'`¶dp§-�+›ÍÛã1àEØ^kïOgÛó9E½Í�óápÚŸ“ 9Ö 1·®~D1¦áÞqKø¿u�ìön¨HÀ­+WÁÿbB¿¸Øëö”&åy8œM$0bзW„ v»%v0qˆþ!׳ÙbÎ"®�à¿£x“SÝ×$ÏÙ†Ï7�]ôil@�jèvËÿ버Q¥AÌf’%lúª)6ÑÔ<²®çפ†Pîƒþ�˜X ->Ò@>Z m*q·˜|à5ß*õ™e÷b+Š�_ù�qÄÁú¹I6Jl€TÔ>G[[7E~$Ï$ ÉìÁª -( þßÜ;È„ÁP­zûQÇÊZBI–RÛ`\dý†ò �½�Ab–ð©»F ×$½É‚�é‰ÿ!gÉ«¥»ºêÓ i7¨„»Cù?j´èÌ3ªY×ryó¯¥�@ñÚ)‹!r, RD—Œ¥ÆÝw¦vkA¾J¬V1ÎY•b³j¤ª�­qò/kDþ‹Cxë…äŽCK«Ÿ�õ­™§ðâ‚Í/ ¸þüõç/]k€çØöê›XþïýÜæÿwß{ÿï¾0øï›/þðÍ7ÿÄçM²·º¼=ü|;àz )]Ú?zôXdzÈï=øi$w´ÉY`‰„K)P¸Ÿ§‡.]ÌaO·74²ÄتԮÔצ$µèd# -@¡nøeäÁF¶Ø�Ç…£ÙÿÓT�:4Ö¿‘zVË,@šÿœ;iØ<uŠ”B+ªN–1ÎØÀ -ÿ]Ã,³·ì3ÐàòoQïíý5¶ü2 yÊ ™�Àüâ‘ê(@yv¬³)Aþæþ‡J°XyxƒgP€`íПŒcQŸ¢À—ÍíàËX9Ä‚c³ò7çø°ï uÓŽ9Ëó1û€3€/çÿ~>ëÏæÂdKš _»ý-»pkWÄãã %ÁÃ60¾Œ ò—h€¡yvaœÝb:°…azÇi€&‹Ù„ì¿ÛŸ�&³Û•ëé‚-äˆ×–‡;ôæ3v‡ãØ€ÅÌîÇUõ§‹/‹Yà^`ë{Ð!*²rú18l%Æ×�'sCûœÚ¼²�Á�úx» r -¶F�»Pê,™èÿ£Ê7¶ú^s¿Í`ëH)�+[}~{|i è𠹿rl¹°¼ûÓ/[®gsÃýƶØ`�†ùpªãö ×eýW�[ÛÏ’zÞêÙáYòk¾¹´5çOŸÆZé64©�u0m»61ŽÂ¶¨]ø -'àÅß b2éG)~R§¢̃™X»Ä㣽�8(\ŠRþ2m#ZÉ­ÆñÞÁ‘~udöò:ÌÇ)uùøããS¯‹ºM�‹}Ôã«°�m¹ÖrsPˆÿÙ’k-&°”³OÛ$w¼V»›V1Æ:¼¦VÚª9LvnþõkÝp@Š…�0€Z±à -°ÙsÜÒ†e=8zØêRõá¼*Áåyû>¢½9¾›äî€ –BÝ­e�H�€>¶{xJÖ·r¬áäáÒó,¯]¿þ‹øš à•· ?×ÿÿ^7ðŸ¦ÿwß}ó‡ïþ¨û_Y‡þ’S€BKñø7: -úÃÃ~¼T]ZÊ) -=]ÃZİ„—õ'd`)ÜÑ™Ši¸š XG`„›•¶þÙƒÔdÉr0 žKV<—g'_>—õô(î“C|�?ì8€ZÿöýûøóÖçÑ3ùÉ'€øûM£Ä‰…Úßá -­žXo -÷ xqÍÄD -ú—(lÍ{2š¤@„ΖàÖûd1]ˆÓ¡ÑwÃü«áÛÚU~6š2<ž{ô sIïÁxö+wü% `<üNÍû½ÙhÐ �¶t:K� -p+Øg bX ‚uãÐ@J¨€²ÜÜš.&óél¼X8îÎ-øÀtÂÏùh:îõÈ,°gß=�¬ÚHÑ×wa#?{Ù2q¨`€•è“k.TjrrEXñv˜HÇ@þÁp1Õné¥ï¥|,<OüíƒÃaÏvAUƒÌ¿w9ûYøým³Þë S28š cVùN èrÁ=;AX1€RÚvjŸÙá˜\›ºTeŸ¬:þÿˆ«é;wì†,.y Wøµñ f{´C²)?rí€íÏ,fÀš‘ :¨QWZ^±éTUqVô¢˜¥¾õO1uõÚqˆïJ#{pžÅ&®—Ô¿kR;·´lÚ­¬u+n4U7d—§Ê‰]>€Ì«à�èyÄ·ol“Í™Úþ-'Éié ¥Ó['Ä«yüÈ–�˜àꑃ£ûÇ÷Œ‰$Bm7]q`{xÀkèõè•5øo ž-¹h…Ò!oµ®¬¯»—¨Ï;—bÃMm G -•Ûœ’Ì,�·²±¸A{¹‰acjÄšx,I·_�޵}Ðe¯Å—©^Òåéíéü�þÆ,‹ûP—çE>Z½XÞ�&-�‘U�ÈwÊ… úuònŸ)ÙgCê1¼˜ñ ÿ»~íúµ^° Àþóê¿{÷ç¿ýÓøÿK;`ýñO€|×�`]NͯÌçî£O ¾l.€ŸÆà­Ü�g7t€/—yäΞž‹x¤(!�kZÅ{æ YÿlÊ’¬¹Ò�´ùÛ yîÎM϶ԋìðÊ15°¬ÿxÚ�ØÈô ´¡^ À‘¡©È‡³fM¯„—nÅã\ÊòÀ±“T÷l`À^ÆdiW ’ÒEdj¿æàé üw €>ËŒœ×j2w/Oc i4ðþ_ZkÒ÷}P„…&-€Ý<€…�±ºÚü; -£ øPtõ#ßÀùþaüþc�haÐÏFu½èF?Óþ¨‡¾½tÓõ‘HÀÌ· 0à*ë00Øß33¼†qOˆ¨üšÛPøô–ÓÞqÏ"þpe8à8ß},2GÙm¹vT![ÈÀ¯CßïÙb6œõ�KÑ›ì`€¶ûû¿o`àÔ®Þ¯X†’1‹{b¼fÍ*gO`¤œ#8Ô«AæÍ2›¸Š[ JTÈÙÖ Ýÿ­õéÿWâ!éõ‡`ÿ˜���ˆ\{äªÂÇSÂN§ÿ?+ÓÑ|0'ËÓñÈ ïrMžI°è�G­tmê}ŒD5¾æ¿ °Ü€$Ž:£ëçQu+ÏÉ~™º<�?³�»€ž¿+×5I.H¸€\·ÿ¯ ¢×c0žJaÄQÝ Àè�«Ë |ßÍ…°kÒe0JÊé϶ÞÀ„Û‰lèéÿþS˜¤Uù £©† ¶ÞØÁ°¼>È㪓#W�ÈJ.C…v�$È|oïx?aTä´gäŸe=¶Aƒ\IrÀšyÖyB®=Ïp\·‘Í’ɇ%äFĺÞð:�— -˜ìÂãQ­j|‚ÉnYJ­×@ö„V´0ø‘Í.’j;$¯T�´ Êò·»">Â<Ëuè’ƒØùhG_»ñ„Â/Opu¤¡‹l/1*üÇî2ž'œ5' 3ÉÓz¦ÃNÈ“Oö=½¨˜öð�šˆº¶™ �íà øëÎ î³·zÅÏJÈHµs’l¹RìLÂB™«ú¢û÷ʆÄY†ákÝVÍ} �â`·=¨>iI¯{ÏË|ü�g5#Ð�ÜHwh -Í„p…wïÚ °l—j´ÔýmesÇ&ˆàÈÒiMŸ¤g·Wµb)\W²GNüÌ*ÁWfOâv{KüÚIuP#™;• -u¿2ãεçðb ÐMxéÒõ—.½)Ð+ð«o½ûþûï9ø�ÿó�]¾ùÎÏ/èøµokvj·€ûñ- ÿ? ȳ|RÎðt XRCñÆî—XSÖbÀÖ×È.ø¶.7ÈÍ­¬\UÏ]tŸMñÞvâo颇RÜÀ•£T«o€D’nwWðÿÉÇëÑÂÿ·éÕÃF“ì?xü¡vòFní�Ü%Ü®\± VŸšøØâ³Ù&¶¹r>­oZH§ €SÞÍà×2ø�Úþ”`Mx˜H«^yÂÜ7  j‰²lhkÚ¬�§å;Øàß”îÿDÄ®î�ü�z·“ImqI2AÍë ¤QRÙ�rÇ},ÿ¾MÔù[CvG^ÃÁ?øâ4‚!µ†®˜¼ÚÍ·$ âyü ü“«ƒÔÄ�œÓ–þé,M˜ß£[\…A‚-×ݵ&×â1Gšë6ÌN¯GVµùÒ�3f -Ã/0ØUó“Wñ~¹$cç… »¦?@Ü� `:’”¯È² iŒðŸIDÂDz}ýÛΉàDqä¦ê0QÛb½ïrâÊW—ëÝþá�ÏÀ½«\'gìǹ6g•ë¥õïÑ£u¼ˆ³ÏK½ƒ1Š`ÁW÷³ÉÊÍ1m=RXÑ~DL·$ÏþúçØcM2xătûÔê�ó‘Ëm"fK±�X;�ý}ÙâŽ>ú°ÙÐà ɕZët|ÕÉÖÄ �¦èH¢�RÀWß~›�Ž"ä½­5ùÖ9F?²7û÷úì3ñÿÑ#Ðý~8†nµM* -PT¯ý=ÍFìuiWŒ¤ˆªÄÔEÕ�…LfÉhÞ÷ÖwØßRZ¬Žâºý]œ€²’ÅI“ëî�+õ[Ïý x?zL‘'�c¦ó$ -`%;7ÿÚ€Àb|‚ÿ÷œ?Å鎸©ŸØ>k5HÔEî2§ÊMÎ]!ςIJF¬ª„ûV®Ò3U‚¿õ”äê¨Už T åkÈÑг_ß# žÿÌ–i¨6€k¯¾ùîûï9ïßßý¼†6à›ïþðÍüÃÒPé¬ËútÀ‡OhrPã ÿý<ʳ¼Ôâüf¡ñŸE Ül…{ íóTÖ_Ö謔Ôý\ÿ¬K*à‰F?.½­•›˜ÿÕÀn~þ�íÿäqæü× õ¿ŠþãaýªÌÿ\byhÏ´Ì?,¶’´›:jkëðp°¿À}ÒØ»DæXb¸M€·q¿ÐŸ%FÁ½xØA€·ZôWÎ`FÔK_B“ìVÕ$¢ã�7ðŸE á'æ-ßn8›t‚<(Pä!¡êöܽu{r‡ ÙWxÕDSʨÕpÖìÍê.Ög`Ë|¦#' -Ò†AWºiéðž`i™�øPÄ\ÏKW`Î5t“a;öù-æõƒ[Æ38�Fz€ v ÝÁh2ww·ÔHxLC>X­±Þ¤Ëµíò£Ù,W*P6ÀÕÄ̱þêï{A¤l±Û§l�Ÿ@“~8%™É°JÒS¤ „#=ÂÛ»?c=¶ý¸.çáúy� —=½0O€ñ…›¨¬˜/„ÈuŸ\syz.B[ÌQ8‹«Éµ·�=Û!‘Sdi+F2aþ¥ì¬iÏÅÇÐ(€ó#èI]º"pOÎÜëB‹vaT\“’¡ƒò�’'å´£iå:Ùôs]«ûîÚïs š�4À|\0ôð“LZsŠèI¯ÍIÆ\(€¨ýÞe£žüù‰wÙÁ;6¡@Ö‰?—§KÁL/Ó\.–ïz¼?|#²3“ùƒ—�nøÙàGEӊŬõ•د|öä#ä³ü²#Î`È{) °¯9àŽ†WžÒ(¡ê -_m¢ZoÇ׸îw™òÄ”QŠ›Oèðëÿöµ&ü•‹+ñR²²qkÛ ´ñ¿9 :@Ø/U¢ ßaɸxì8ÀÎv° ¬P¥“òÚN €áäµçö·Eïâ‹•!N²Í3 ÆÜ¾\‚ÂÞÚJ…xÍbªA•جfÝ‚BòÓcõ‹´"¸ˆ<ªÇðòÂ¥çt4'À |^j.À«oþfÿß}ñ ;:ôŸè›ïV  ¥´&5@×ÐáÿÁýG�ݽ»ÄþŸ‚XÏ“3(À:`Õ–•ú”|òñ#�k@oxäT<²Ù;ÿ­3«cÕ3?.7ÄZ°tÀÅh{ì…o˜¢T-´YûŸZÄ¿à?Ö¿}þµýõ4Ñ÷ï‚}si>rñø;Åã‡{=Ú|ƬTž¤«\UÚí÷¦€/„ü! ö5c:/ÛÀl0 OÚ~9@ó,qá Z�кãZ€mÿÁ’ragµ@�ð±|»a“`<ó.ôIÖœîo�ö)æð­ÑŸÝþ–!€‡ÃpÍñ6¶‹ B’`¨ -1ãYy­PÑH¸ëÌÛ8ÿm°@¸úeú‘J(Å ¿Åy ¿ý¥C€« Ôn÷§ºû½„\£»DÌõ4¹®TZ¾ÙIj!L’?ÎدóqEl°˜È5?Eͼ±¨Yì’¹ì>fêB6I�Ì$®‹‘$È©�$2èïDô‡ñ�ÎPžübŸím‹çg6ÔKy€M[—o8P‘Àb÷Θ?Þ6(Ñ$l¹ç0Ý.׿Øï¼¹V¯y{§w88ôÓ•Q¥|(§Òû˜ù•äqXŸU^KñY=ªè·â¸Þ™ÜdÛêºälžOœò¡æyæ÷=Ð щ`�‡sÃbg7ñ�¿=žu_Fþë OÂÂZæ+ÔIôƒ¼E4Àã#/ÖýªyìX¢­ßž¨i‡,ì�ö�V€(×È^ ˆçÙ @þøE.dg§h/'¥Ìî=<Î$ÁA{ËÆâ©R*½i¶(“*"²W/f©.ä[ØœõYâÆlbãGûCûc6®ÛÿC›»¶¬uk:±T9Q<êA šî:Ñ pÅ2Ä=Åê›;XèZSüòž ’kìÄ üÇÿuU^©‹ª'b¸)ì—½VÛÝQØ7C%«RX%.&ÈÆþçûJ±€—®=­�xýÕ7îü¿ïÿ -`äß7ßü!�öüãÿ§½’Ò¦Àï6À¯%‚ìß?þͲ=Àh…Ÿ@‡çÊI -`é|KËâõSÌV�þСªxþ©è¨�£iµsÿ=IjÑ~mHªF¤m�]ËÇq Æ~Ö?€þñü ÿ[Íÿ›ó?âpVZü<“´± vYHÚu±íº>\ƒži8ú‘MPH°€%üǰÀÖM¯¿óPÔ÷îÝ c؈(@Ebý˧7ƒÝ€d×uPèÏK>¡ùN€¢Hœ±U•L4?õGA¨iÿØ“=ªKY+7ð‡ð³Vø×H{Á!ˆÇ[tíw½ -@‹÷r"ÝwUƒÛÖÌ2ñÃa�“�Žó«‘KƦ:Ü:,Ì€b™†®‚\…ì vÏF»•kà“í0aÉ^beË5%²Ìµ ö¯0¨·kéHBÞ–âÈúc�Ô¶�‡MÁ×|€=¤%ä•‚3‹ÏÍ{êˆÈ5r»ö�íÀÖltÙNq€È Ñ ¿°ŸœúP—Áî4ã*óv‘%% ÍÈǺ ÌõÙäÏd�¥Wš\»£ýŠWŒF¥iW²aŸ×3§øLlJ÷Œ - ‡|µ½³$Ÿ8SÑö¦ä “ 2¥O¯¶œ9©"Ë� —±òÜšH)%ãýnö«d•¬N�ÚžcÐH- `îcù:x`Áyið­è°Ä�ø„ĹˆNFAœPÌ]x¿a…)r»X¤X¦5Ç]àý‘Åêt’…ØI+$rø� -Š h±ûr‘+Í]òéÛ•%%âÕöŒ™¬ÑÔR^+ÂFeˆ$?–9å’€xœÖ$IÍ3EÐŒ–HBš –‹å¹¶L×ÞI;Q‰Waþ—®]º@“W\À¥ëo¿—è¿æ¨Ð¬ÿ/¾ûßþð§?ÖËdN€JTJ‡ÿw)¿—v>€/)©§È&àVþ6yœö,W–-¶ÁëØ‹3jÛ@GòUb}övfyò¾¦jDüQ�€âr ªðÅM]kÿÿøs-ÿ¥ $¾dþmØÞéÃõîï·Ì?ØÛ9¨UmÎÑ®šggs$޵9oå4û»õØ{ÿÚV�Iôç Lf»Ù ˆ}ér@=o�N÷ þÚµjȃTß¾Û¾ë á'!ˆ ¤Õ»|gÃy ‰àï*e ¼ú·¾^ÜÒÏŸ÷ |C8B„�dvˆ9Ÿº¨jŠ€ñ«¤;4øLH¢¨ Ý‚ÿ¼W.cø¶®´�Á+J@`¨¦ÎiÉzÀÕ9x퇟3§"Û¹^äicÇQ @[n-æ Ž—"T¿Aò�vòþÈ\ ‡æ7@ɾþÖN�ÀÒØéé[°@±c£À>îëK·¯ HÏ Èÿ’€,ÅTûãY†ç7Ãü� Õ«a ,£mKÎôÅg[ø-ƒjprDЍnå Ûl£‘°ÖÛÞ;Sbä,;Ü“üÏyg3sí¹½.-GW̪³4ð÷ wx(Q,ŽŒò“R -¿–ÝÓö‰¶w»½•MM¾|âüq¾4ËS¼«ü¬7�pR;xL%R?»•“.í3ºðmH¨þh¿Ö¤ ¿-žõ½±Yuèù@CÕ¤¢fV7ëÒ/üËþ¿jÀ½»þ£ã‡„fu„0¿�¾Á‰ŽOa¤ˆ×Ä+ªâ2‡oAÒ…Q ~>8äòóƒG¬5â²Z²¥Býª Ö¥�%ubýε:NéiœÂFŽÂŸ×n‚¤îB7©«šÊZ~exÀ¿†T€V­A`€N€ôˆ´S­®ÑE»Ò“R€±Y#jÏe-Èz~$K²½.(úöŸþRø¶ÀR^~åú+/ó})ãóÿ«oP´ÿ¿ùæ»?äûüãþÿ)ImÊ5K«5@~ݪÒüñÑýSóÇI«¸O‘^€¹‹&@p8À’|òÉ£‡(r€/X âi{ä«IÇ6oi¤ÝŽÜÄ&$Ñ@“:&Öÿã'Ÿ?ÁêgÿxJZÛÿ“¯Ž×œÿèÏk`_¡ªB÷öv†åˆg£]qäÃ{} qšR�›W/_ -„G -ÿa[|ß¼YÄMÿísðÚ–� 0^àŬ/5 -pX@Ãýz”¶nÊ-ÜiÕDi�Q4 y�óœ§)@`‹¿Á‹Ia<ØdÍG³Q"”¤¾3¾nÒY˜�»ýq5"ô†Nß�º˜”ÉÖßÚ>„xìCÁÀåKvÿC.¦½º¿;Iˆ¼¬�3�øà�>ý ö+¾�ÓYòµ�¶ƒh&úûf�rLGó[æzJ†CEº\-×bÝo;^^r æ»r˜Ü‹¤ÃÙt´½íhÄ¡-,KÇfÎ?nñç`!y°gB•î¼ï…zO8ÛŽByŒçœ6ÜßâlŽ,@{Õ»@¹|£ó\¾|£ZFG68„�S¶ägŸü’]Iã4Üë�mþöÏd=i»Or=ÂØbe¢%K•¸f5žÿ:Á}¢¾ª 8$Að‘ú« Ï•|…dYnªm>˜•nTu‡ng‹¶m0uô/Ï•·È¡øô4ò§û‘JKó„$•§ITâð`ih@ö›èŸ¼<¼ü¯¢ ÕM7‡ñ7)cø5Çÿì ÷Ÿ‘Ÿ�jT½NrõZÅÜ–,ϺŒüÕØ�§•Ü Qc6�Û¤î:K+A;SU“]K:¸ýø‘Áiè².peóoàß¾-�¿¡,À§V¨\µBøöÉï©UU/ܲvú§W‰ÜjCŠ¥5bO+ÂØ¡¾ÔežS#Αßû>]‚ðÏîw-¾ÿ—y]ùeñßQž·à%{üòýo~ù>Ûþ¿0ú MLhS._s"åê4YA€�Üÿõ#É—µí'’ª»O—§SÐÿC¼®À:|l˜\óìíõކ§(@–MŠp£ªb®KÕ$?rXK¦™ÿœÛ¿óTİòDRŸ\|µ ý‹ rÅÿ‡x  gx¸¿½_®DOÑ.WùðÃc‹ÊÜ’ßô¼–‡Gn¨“©l¸{|ÿîÁk+ü·çÖ/`o¿bØûE%²%OX‡ÿ¥ÌF¥à?=ÿt'€#¬Q€áð� @{z4Zݸ ÐhN ¥ °¾tÀt0ÚŸö·„RAi'I ®–ó8 ?À,þÛElEwê»ä°5þëò6øM#Û§Õù°‰÷ɉØ:ë�Ì&ÙŒgXþl駆¼�ÆóÑh'Îvñ®á”8œ{ÎOHÁîd±&×}§$ÁÁ­[á}�e‡1tˆ°Ü;÷íq¨µî(ÀÉuŒha4@JÒòƒ;”Mëd?æÄcàyôÛ‰dB,6‚p6ï�fó4À:f¾ÓÌä\Á ÿ@`·ÈΟ¾0%d Ô‡Ù”s#øOÖsspp Q€§ ‡6þ›k¸–¹f'-„¶8®@Ëuù&ÉõDþÃ’ℸÇ�óP)'õ}6ð¸äÁ9Ká|ch­cþGï(÷†ú›ÒÀ_èNîžÅšD)hßò°Û[§YÖÕh__ùI¹Ä©žÇ eQîã2ðù~ø�Ð�¬Î¸ÏÚIÑ]üƒ¹q€îU ]è²¥æÌCEv>EÅ`îâÐpµÍxtÏH€R„BΪä6¥ò6•õB:"ÓŸÑã»Ë]Õ¥¯&(NÓìª@'¹)îÊßíÚíR}š?¯ýµêH­ç&i½,.à²ÖJ2U0åqÿ׿~ôiåÊ>¿ÿýªnü[ªs×…™…Ês$5"Á ÖˆF«d‘ï½Þk™m’*‘KC<©Ï–c ýé/àÝ®~ŽÿûWb¾ à•W^½þÊ«P€—jJ K/¼òÖ{ïñÅ/¿xßáâøî;9ÀZà9½RXK±Eî?úÍ‘s"?  l."›Àê»AÄáUÀ²@yúÜîÓ’œArOÛ;Ÿ¥¤B"íg<kç–yP?lÿÿüI`¿óTM¢BÙöÿäÛ ç?øôßYz’§�%{‰Œ ]íC+Ûñ±åÍ'ï½€t„Ú/ô/Ik}"®à ñèòðï’¬5„”€·\À…¯ø* -ÀÓœ&+i௔Àväå;Ît:• "ô~ ̰¥ùk4ÄnJÁ�[· Ж¶ €£œýþL(uÐZLQ ô¬ìO…#ÃÝx(A;í[/Yg7tàŠÀ÷¿X<ÉÈ8‚.'á=ϸÇ÷ �òð' f¾™·‡Óùx2t -?g÷�ysÑ¡-6üƒÑ-(‹¹¶YD¦á‚Ôd)ƒëÚD?v:=.|<ÒAÐ?,( Z[>–Ìh’F=ú†3Ëe>ƒ ð‹­p�ñ¼?\ÌæS(†ŸèÂp²€�ó‰ÿÆØšÂŠÅF‘Ø6’ÞþΖxÃ’ñg­OLwò³kïJó¡¬å,HŸ<�0À\׈…ÞH÷4×äa2Ù�ƒ*mi}9R{Bx\:³}eØoˆ;ùÜjô¢Q?f÷<_KÍ݉FüþÛßËg3ö(ƒ¯E~oÖuýEåCl�ã‡mT�¥¥Áƒë/Ð!/›ö6�ág‡’̺LJ êY¶qóJjb��èK Æ!ñàhƒD±.%áCnJÐîÓL_FaÉܘåew½u×BTV„ù÷¸ŠÊE^jÈ“E§ dáçÞTkOb2ª¸Vü77È;Þ6¯I -&Z4Ç}<0€_t€˜?Š*°!¿Z,| ÔÀko.ìEÇdþÅÿ'¿oÕA1¡-+ú@~`•xD™RL×��èŸ;Õõ˜|¦ßëpþË®ÿ:tý¿ü -߯pí¹kåxë½_8å?Àп/¾ýÿðGcÚ(@Hiîu¹|UÀÙàøø~U!÷øÑÒêÔEä| -@¶G`'™xÕ°¿è­·¬v]JǺ¯¥XV+rÔÃ+¨ƒë±û?¶í_Øo€ÔW+uêîWOr ÉŒëßÀÞ~ïèñÇüѺ>Ü¿i·+�ÙôJí±Ø; -°¿³—÷Vì;Ö‹Wí„¿tãÃl¶·¢{|k€ÿ"ÈcÓb$þî<[Y\KgBSŠð³B”VMÎ’ÌY³”(û@I{gÃX:À qN«[Hƒ>Ìoõç‹i€¾tá‘X‹mêtõµ‡9y J¢&é”ëüßíÿ¬¦€qïYò–ðŽ]Œ­j�}!›sÚ8ø'œ‘°È ”&Rìï G_ȹÝíäs€2ÜêOwN°='×ö'`ã¨ë–7ÓýÁjCÒ$žÇÓY>ÀÁÒeF©¶fb>º3�¤P^7€e˜ØBBêöIœPbýÁÂi‡È0Wá,EœÞe™i¬I’®eß‚Ýê ÚºqùÆö ÃB.ߨÊ-¡o‰ä}ÌþáîV�Ü‚ÿƒäúðÐB¦È�³Ìzp1=)k¹‘ÓþhrG -àEI�dI¹N$Hdizõë wmZɆ]Ôd¿ šÀîgÐ’ùÖsœ£©ùN'1ú"H�€à èµäKDR~òy]×’�ÉÂÚ‰+Ušm£e¨ `7½ÀOð¿µé#Mµ*¥´›ýoß =¾P§I'ÞÆ•éÄ·ºÑ™Ø>JT×FówÄå¡ì=üðdSM²âLË¡g¿ÿö¯\WÌ·_¹57cyÑùâp–ËûYÿ/%쀛øÙgaŸ}¶ôü¿o:þH4Y_ÈwÙùJ–.€"M¬íV!U¢®Ä*‘ïï'd"z.2¨ÓR¬íÏ–fߟû*ô¿ÔE\³àåWJ²å¹üýê›ïþâ}ðÿ‹o¾øâ}‚üvø›àL€Lñîý%¨Š„ܽÿëßÜå�ŸHÀB�ó” -P•I6=Oé|†a R~­Àrß5iðïg�X¬ %Ÿxì*€ ¾Ÿ|þ9–ÿçéü¯ÀJ –÷WÉ~Ë -øg±ß#Wެ€8‹áÖëé14y/T_SÎE�u @ÀþÝtÜ‘€æ>+pU‡oîÙ¾oy8^÷d&_qU -P €'Æ…q„kÂc¢½òøŸ’†üMÎuL1k"…RþÆÞžMç Ô†oðQÄ#!ÁNÚ±7�OkÖ0øÑ¡íѼ°Tù$œîÐÆêÝÞîÏø¾-0÷W€ÿ -zƒè�¸NŒÈ ÀîùÌ€œàçJÀÝ@*6‡^üj6žœXŒñál>^¹0egÁ—}‹˜i»,jÛ§ÀÆø~ßP�ñ�XɺégÓu8ÈÀ}K3\ˆ7˜Ð½z=KÓÂJy†(¨Z0ð­Ù`4ŸSîåÍxƒñzla� ¶v‡ãC•chþëÙÝÞéo÷)� -Èã80%C©ö ¨H†ØnªùñfMûœ�‹âŠ�* ú³#'¤ø¦Î› mÙµ]£eºðÜéÃöi ¼·¬ë_ëÇ X.j/üJJ¿hmJ’JédöÊ9–æ^;-Â>ðê盧Ï÷JÇRë*¢É‰Œ¯DU°Êʺ�ÕOâ:€Êój¦`0.‡TJyT{ð»“Ö†8 -£4Ö3öO‰ -b%*íT ‘ÑŠ­&�ݤû¢Sx\¶¥@¾*¿��â¡Í®µÏ#[Z?nó——PBU`]QÕH†OÀý`w‘~}ûíc®�ôC�.F‰¸^h¹sUýóO?­V{sVö?ø¯"ãêÐ}—¢¾¢À\.…ÕþÖþ¿÷7¹ò¸>² I}æˆmŸ“zhˆ9Xrωî_]ž�YYŠ.ûóªDkþþ’©ýŸõz!C]Šó_ÿÿ«¯¼Ralw€·~þþ/�ÿÿâ—‰øî�ÿä€k ¥¹×åòµM ¸@‘xî9ó�––æÅÀù |d@×ûëN€3(@î Ÿz/%ø_ €EG:Ê ŠÐáß<¬ñíL5bá·YoÙ@lý—ô÷ÀÿÞQÀ >ÚÛêxž…7\¿� Y¿A€730Ïûk7¯f8¾0€F»­÷Ît5×íû`Èa'=èûöà R€€¼‹L ¸&aÒOñ�R¾UíþMJå í]Ö)@œBy°èƒ`r€Ñ`¾À -[DbþT€Ô)õñƒ1â5à3ÓÜo¦“0€ñ|¸½kÿ´oÇw@õ†™¼rY¤ã\6ø}«:A tm×€Ü-r£˜�óÖÄ& Xº£á`:râþÙèËáN È -fä6hÉÏœÆpgá¬þ•kÞšþÆÃÛFıH®ç1íÉõ4ÎJk6WžºÂ’xLïLnOG»=hC¯må3—gxŠ!ip¤1 -®$;¬BLBnK5’¢q.ü‡ø´@Ûn@ˆ®¤Flí†�QÀÜÝÈÀì1ž 8?Ü�îpž¹é·\s¹6(ƒ!Eh®ÙËö¸î~/®Ä:25¯üGßõB|pNKSÇë¿| ƒ´Ë§½�'CF}tïX{r)0•ð¸r$j¼bÀ\´ýêw“Ž+ «ãׯ¥tjéÊ?KÄÁ³å?þ—oõ ¦5Y˜ß¯p̃¥ì³Je½iËÕMþཧN)e†*\â}7°ßÁõЗ§aizð– oIÀRy~…'j¥QˆØµþ+mϳ$”,{wÒŠÕ[k"|µëÿÏÿá?ü—’ÿðínÛ”ÿà¢Û€íÿ™Óö‹Úàö§��ÿ2€êÓ¥TSIT‘ƒ£¤5ôE˜ÀN-òëå•®äó,W9¯ËDÖ×W²4¹oÕZ».%%ø%Ãø¬aý9/ð¿õ|åÕ—ÿW_yÙ(€ã^ºþêÛï¾ïð?¿ü"~€Òãÿ]‹XJ+­uIEY9Ö›~s|¿�Õ².Zÿ¾¿ؤ­¼ÁÉG˜ÿ€Ì`fan�p¸Æ.L| V÷\ãŸw”�Š$!ÍÐÿYÏSÛy›í–¥|ÿ;}‡Þ(ÿá‘ „Ntü�¿Ó ÀŠ…¬ã¿Q€Ý{gkÇn¤ìXòq„«‘¸ðí¸ô¤Ä›MÐyÈgùè´ƒáî°)ri(EÛ³jÉR:ôgi+þ†œï8áI-PKU{V`ìß™°Y§>x üT«ß™C0&ƒU:ÍGÓÆ6Óÿkw4<ØßýgXŸãÃÝŠq«þ»ÆØ°ëXA6ÇgÄÁ�$€3±I”Ò¦J=9)p®étñÛÅ—3ð}·¯�Ë©Óo¾‹ÄãéŒ\Ïwóí_AZÀÔî…æz ÜÌõܤI+YÜþL±ÓAnF@,‰²�¬b1�'°ŠÁÅl¸È -ÛtøÛÄ@.A×™ýn1£Ñâ·sRš9G?åÄÕ¦m¤oã“­+ÛW®\ÑC²¥¿Do |M ,J¿çq\„[üAF-ôø-&œ b±;å|:¼•·Ìµù›Œî,æ“ù`•k$ð?š”jo ÿíÊÒßjþß+eß/¥‹›1jǮڦ‰(¼oJí».üúö÷ú Xï×¶‡û¶ÇÝð"¤%žMÍ>4Di†NÂ*‰ˆf´õŸ¾mwBþ¯úú¯ÿÕ%%P§p’_I ¬Fß}‘UÆv¼ñÕ�¿>¼÷Q‡j˜ ñQçy¯‰€ä2ékÜ¥*@««S>rÒ¾G¡K\l—ÎW]U¬__¿ùyž,YS+€“RÛ-’‹H8@I7ê!òvûãG�~PÖO@§ÇüŠ:z1Ûºÿ­ÉýGŸÆ� èhé–üþ÷dÏÊ�:ÁgU%Ê ÚçЋU‰5"UâÙ¯ßÿ#àžáüŸþ¶1ð<àÿUíÿW_†TW€.]ýÍwþ �_øÿ柾ùÃ7ü#Ÿït¬¢¢»7åêI’×ÝûÇ�6c¤›?èUp©Z{AY£Öà0É�i7yòä” R&w;Hiû¯‰÷pùî¤î¥kŸ4÷¿Àüá1÷?ÿ¬{r—S…²b–ÛÙ•¥õOi²HêÇG{zŒ<ÚÛÚI7€\Oåi4€R þíAVÀ_�n帬ƒÿö8°£‰ŸgE_>•äZEþ…;¯‰ ´�®Õ’©AòSN€hüÓN`°�àB0Bë~:œNú“ù´?¸Ä±†Ä¬H t/�À>±5Ã+ÜÇq V;Ôp8¸u8õô8 °ö/` 3¸M+Л„»žš˜ëK/Ñ�otÁ|²øíí/áƒ^4×úM–µ³%0†Ngý;ó™(_. }ïµÓ`rxèXÀè ×NÇΠ3]˜Žæº5 ¶ßÝñXÛÏGÓñ|´˜�&‹É|Ÿ™M•â+p‹ÔY�Éw£ÅY n0-“…­Û†í\0§×Ãl ¸ìØHr¹4XU‘. £!øï]€ -�Ç]®)íá`–\›æ6ÙqDn.Ùºc®oÏçƒÞ6ÿÖ½“ý°×Y¡¾ÿóê«ÚIy„DhŸ£3%HÓ€ÇEϲ!ÊýÕ¾ëâ/ÎmhçðtÍ'P;çy÷É[¥¾dQõH�äç¼”Ï?��¼>ñwgøÿ—ÿ¤?Sþ+ø/�yÞÇ6g€= �|ÉÙÎVH@9ÿ{F˜cîß{{(Ãõ[�ÚLAñÿµôã½zuç54AZuå¢R}ðè‘GSYj<.=¨ï›+÷W, «§$¥ñL)RtžT�X ,àWà3}€vçø›Œ¨45ÆW”òâµ×þfïàoàA iëä7ÇŸ>Îì Ÿ°øäñGŸ¥WÀgŸ?ù”ä`{…Ub“¦TPcÏ6OÇ’T…¨*AM@ªJœ¨©ÔÏ~}õx?ög½Ÿ¯åeðÿuÀõDú¹tí¹Wß~ÏQ€ùþû¿(ÀwÀúÿâ ìþ†þˆ…uBʰ’ÿ›€éHÀëwfËvÙ*ïEeE -5ÈóZrØ'=¾çøšC²˜“tÂ%ðÈ´£"íˆ5±&ó©wïfWí[ ÌLįŠð«Oº²ÚNñ!ÞÖúïT“äH‰?rèã'±GëøáÒáØ}W€Ïw<Ž|W /Ãx;•ÿz @ ï_÷ î—�Nð_)äwɆåÛˆš´(­štÜ�L„è8A„"ð®yxç7¶à† LCPÔ²Û!uf³ù b@šÀ%€{ Ë`dç€]öòÙ^�m�ÿ&z¥IK«”3锯nM[[浂ÿ·w·/_ÙÞµ`°ËfLëœd6³ä˜ðœ×ü�ò1�/~k ÿ|Ô̾ø�5Î7jÙSh‹ø+�a‹~tÞü�Á?™’ëÁ¢âh†'Ì1ÿï̧öÙ�g ëÛ"š¤wF/†üüÖâþarg1tÌÝ:gä� [ s -¥'± ?:þãp—· ¦ÓÅ‚,ôÀŒ°ëåîîf�äÈ•Ž�Œ8 - ¥fÁ…Œ P"æ4óß.$'Óá¶íý¢ð+zCÈ~~\2”Øhqû¾4^ )xphó ø¿¸37× XÂ|N¦ï w·‡»R¥�ˆäüëßýîw¥Ûƒú¼±€kð•¯R…yŽÎu2ÚµPù´`ÿõ&šxµ•_êúx>�`öm#|þ’zÓöí\Qõ«Ú{Ïöüçó= ?ðŽuaÍÖöM–*=™‰Ææ�P Àšà讋R²›€0€eSøÒðÐáõlXR€%Ìpý™ àb€*ü§{ÖË¿û>Àퟥ¼þ³äÍ€èø_Éoé0Ó¹�aù›²€êÀ};ßà´ôv¢  *D -�ú T•8Q#.î¸þ‚ƒü$ÌïÌ%³ˆñ�¼ú¿Æþç­¼òJƼ~íú›o½÷¾ãÿ2³¾ÿÝÿôÍßýöÿ7öh’ÒÚ”«;T ¿ÑŠÜÛ¿_€5Ñ …m~¿7•»ÌÿÈN/U÷{IGÄE�Ò»²r Ž�œÐJ²;<ѰØ÷¸¥´£6…{YÁ�%ÞÏZ«:þ��Ÿ›Ý<u‹UYšß’ÅvÊ�ÿmMÿžsl&©øg¾¢ýèˆçÚ~È£tþ÷Dõ…ȹV8Úñ9€£l]kø¿·ŸC°c”ž“XííÉéŽ- -‰àëÊòm�ðߥVM"@À5ö ˜� çÓ9æÿü"áÛý9§Ùôn�\·Fým=—¯\¶ÐÃÒ•ÄìïcÊ;h@VÉÈ”òO´ñ�X@ÛïÑèÿÔ˜†¡lgF€iÎs�ôóÍuo4[p´Á\ë¸H®õüóÚš­šð‹Ñ�; `rš>{`lo°¸5Jû“ `:sZŸÑìö­Ûÿ°àgzªäFÜ| -ù yv“¡@>ÄDw ×7H� B[,Þ!G;g0Œ§g—@ýÿ…ÿm )À8Àæü\ޤG°©æŸñî,F"^ÜW.‘söØõ‡ì—nÐ÷œAÍþáöíùb¶»Ý(Ÿ×ÞŸcÿÿîë¯ûèöfîuߪý¥Àçè< Ò¬<]¤xœ»çÄœðð¤6€ýÑÿ@kȦ脦íc<Ãpv À)À9`ÌL†�-]�€�“�6€M*Ä&G™°› -P°æÀ°C�Ç@«{m9¼î#¾®!%/ÖëÞ¸� “ŸÂЄjð�ËÈ�%�$àØQ6cšd5Š ufé�°™®÷™ÂG�?v\!ªK,ÿMU!jœÏZ•ÿ—5b“X'ªJ°%¥ÖÉFa\Øð­­û×/½”@ÿ“Ëç\ɯçÓ‰ÿÿ�7^}ãÍW_//À+¯^¿þÒõ7Þù…€öüιôÿ;@Ù�—…uB®íìç_è�¤àCŒøqRx( èq¶ï/�Œÿv_JìÀãs0Ü?2àTC@o/vÒÛ�zЗÀ»éwóÿõ×韻¬h÷Wqù-æ;]‰²mÿ°ÃÿI©º÷}x€6ÞðØê—n€û÷ŽuQqâœhM>\ó\ÝÞã!æ÷k[W5Ãà -ºyÐÛ(7o6ü¸=RÀÞ @sðÜ(×ÒáŸÿã1lðÏGø¿æ,Ñyµj¢¼(ìû -hè8ÅÊ  kZÀ†`EÆÃáŒ?¤ Í´9�-óþÈ‘}ƒ,0PLà 7€û`0ïc$Ã8�î=ÝÛÀ ó�#Ãím3hÀ.¨·¥À€4ý½iž–³t‰ÛúÎuz ƒ=²9šýëí¯9;÷f±fÙÖỦ·Ãñ™r!^ÁœÌ›¨ö>;Û÷¿Ë5‡ “ëÅtaGÀÙÌ‘†‡=݃Þ`xëŽ-¶6 0›XÈn€f­ÿÙtƒß‘)ƒÉÆt1*±ý�\C0ô §¿�|IÇ þpÌUÚåÑà[œØfÊ#³^¾Òe4BØ„¥}k²Û;¤0)VS§äZÞrÃF®’]g'²�{`®'”Òmvâ÷Ôé,,‰Ïx´€ÿÆ”roÈß<‰ÿ‘€¸²öÛÎm½„_ž¼ó`v=Å�xn¶æÇº¹÷Éc¨ÿ³<ÿñôgKbøöê=oyÒ�¹÷�ì¿©íÐ<…û®è 8é@% °²P³gÅHáÓÐÅÍpn @ð|`3e¾óË=€Âþ¿é\²_/=ÒÆòPU>­—3U3îÙ€4u‘­FÔ”AŠÿü€ku KŸ÷K§—×^xéà΢º¼,þ¿ñƯ þ°€×ãÐ ðÊëo¿÷þû¿ø¹cð�‰ß_äwp ú²°NÈÕ›).ʸÄ_‘û­fDðC¸U{Íþÿ{ý¬ô€L¾%XÅè›?‚ASÓ÷CNzà›N€s(@÷H(y�0€ãã'ŸƒûŸ/=íçz£OÀÿ~à_ãÏ’)hÿðXwÞžyüp/ƒ§z–£a)ÒA¼ynÜÌH@gyÒ0Wmð0ÞiÈ0¿>2yPâðÝlÿ,3àö ÿ¬Å°w@a#UK"yà–²$ƒ¡ôYN£ÅO8ŠhéNDPÅPv�´Ï*·Óé�ƒÀ ì1?uè¹þ.ôPo†‹!ò�é|bC³=Æcö…3˜>�ƒíEnlïÞ0êÝN1ÿ‘ÁÌÓ@®Š€`ñNÇó™ãW¯„ExžÎ‹¯ÁêYÍȃ´ íxîOör°b ž#Ù{@®�RòmÀÜ­ùhˆÞe¯©&É5†ôü¶H:¹íi{! &‹;siÈXºÅ?,îܾÃi ¦ó²Eù‰ÍáR²ˆÝ§s{²�Ç‹ÃÙ64ýíB.c €„Ä6€\îîÀ±’u2߸ì IW`qWz·(Ž”J¸ÍØ©ÿ·e5¨Lc1˜“k‹ÛNM¼£qr-·ŽnÏæ‹ñba»Åm¯Û{m¦§P©ÑøË/Åÿ%@–€¨ýŸÂ°ÿmçulF³ÇÆë<öUß IÖG0ßkÚ>:¡´½!ñðüã `ÃP ½ï)Ž5À^ë€< ó8Ðl¨ÀÉ�|å( -p:S@@ç8>ÛÐðþ{xJQþ$€%úŸðñgŸ>~tü› ù2àZƒþ¨µ¥Àîÿ¯-[~]_ Àëúè£MnúÖ»§Æ¬jÄZ•ˆ¬W‰•lÆ…=¿¿ôœ~ŒüÓ /ðŸþÿçxÁ�W_ú_Çüð× `8 àåWß|çÝwß}çÝwÞy÷çï¼ýöÛüz⦅¿ûó÷~ñ>Û›XX'¤u¼šªÕäþñoº‰˜~¨ø/Íÿ¡cö›ÿD ‹;"Uo5XðÙ“Gβ…œá8éXÖÿM‘4ÀídÉžb1F?¸ßîöòîZk\;ÿ<½Fý ÿ’mÉÿ ÞƒïR.€d«¤Ö—€½�­­ôìÞ½�1ÜN|,2 -ÀÍkâ¿t'Eßu„êP>LßB=ÉÜ`Lž&‹ß~�1;n³UD“°6ó"8µn r=Ÿ�g ÀîΜ”˜À|ÞÒo=H®Åìñb8_4gý�ûv!˜`^O{ÃÑ­Ä `2/&cƒé@ÓùÜ,:B¡sþÙŠ0þ’Ô“‹aÚ×ûù€¶°7θäšá³üàÃ¥sýv Hn\Þv2 ›úî†#þ‘0·‘²ÑÚó n $>ü„|sWa?çÛŒäžãî°Çt„ýoÑoѰW·H'Å)ø¯‹b>Ÿ£îð7 -ðùþIb6äì¡¥ó|²;Ê}7=ù‡­ù¡¹[Ú>mÏôüÇoŸâø¿:ˆW G€÷°£ `ép«äÀµ“½š ð¿ƒÿ1ªÃŸ8àb€*ü§{ -þ7ä„àSNÊÐá¿âôèH<þ� ào]üæø³ò|”~å†à÷ï"ø©1TŠ\r«Y_ÖˆT‰ŸÀðÕKuí9ì{Gú=¹äŸkÏýÕKî¡û_À¯‹û.Þ|ãÍ·^£…°å�7x+oúýæ[o¿Éç-€ÿ½&)­M�)ZTzt¸^rÿ7èGˆ{MÄÿ�>•Úû½åžMúÊ�}jðÒð  ½hzû0IÇi/€À8[J;xMôw�†5¿ scþW€ÜÚ’Šýo§húgÔ?Ûÿ×àið_½âH @ªÕº€�ËÀ5Ëöw03»oC«þRœÍ×xÀ$ŽHxݵ @b�Y@;Ôc¯m9 @¬ÿ|iÿ_Î{éøÍñ1ïVM”vt“K‹Âþ­b°}Mš z™û®ß…ž1l¥` k³Á`wªv³áâ¶ Äkê8»¡½&Sq`ޱϘÉâÎ| -Ô�§ƒþdîH@½Ì¢rõ·$)Nlà¶MŽÿG6†0z¾k¸†©1 žCÌç3ƒÿÆ ¯þ}®eñ¯‹¯ç_~IºžÛ!‹0ö�´yE0ŽÍõÏ챎ó;pYÅd�5¿¾õ€{c²tkmI®ï,SÇÆS{>ŽÙqäÆÚÍЊÉäÎâömöé †œ×ñÂãßõ©F$j„S -ü±óÿjO ׇ�µhãþ¶}\&×l‡‡–lcýë‘Ç]éq�Ô ?$ ƒÙáv¿¿»}‹»¾ßâ®.ÈøÄx Ðß\sO’ë1¹¾I\Æ�ÉíÅí;iK¦Û$Þ vü’2¶æó¾‘È20‹çh½6¤ö]ÃæMß�ó=ë1Ñ¥íQªyu½r~ Àé ÀÍ€ÿÊï®Àñ‡c®Qñ`=İæHt€n€“½ qœé¸vó5‡‘”ë©õXyOÁ÷ÿÁ1g€>²æX9ÄÇŸ~úø7Ç¿NL‹@›u.€ ÀÞß¼öÚÒÐ�ìþ£O+ &?þäSHE1€xÌÞ�ˆ¨*±’�¸°àÉsÚûϽ”p¿Ëë—þê%ðŸ=žk À>€ÕþÌÆ¿ùF‚_ÉÂ�@»¤³à«á 0�wô ¼óîÛÑã›b/€”U -m�„7j„Öçû‹`Tþÿ® ·£5þ @¦Ýª[²Vƒ¹;Ÿ?„}Pzÿå8Á?öú'ÚΤK@1öúð81ÿ�€ûå=“/Fa�€Ìÿ6êÖ¸}ÿücþ/áÿaGô}øÑ¦ ;+…âH<ûw%;[Ï8M¶ò¾zµxÎþ^îr/« Æý¦ œ¤× ¸ò¢¶?Ë+ì ü[+’�óÀ¥/Í`Ó€tN»º­œA�|lk]ÕˆÓú¿M|Ö%0¨YÞŒÁÚÁ-½ÍýíÑäŽIêíþzä¾S`;È#©í[Î� (�ìÁêö�KØ·Wn”ÓûÊ•4ô´ 1£gã]PÉNfÙ ¡=›ÇŽùc—À1yüíâKGû™ïŽ_ÎÇ ,÷¼e\–-ÇÎÉ5Æz—k¶ëY˜Îɵ>ŒCiKÊünÚÿí‚\ö2 •t%/ûýcãC%~Ûw‚Éo“;wFýݱ™’ÌÇóÑ— )‘¬g‹k÷¿‘ÄÅ^™h8m1¿eŸ_�g³mŒ÷épFžÒÃ_'@#7Ð0ØéÁ? _è È5Ö¿˜¼¿õ¾ž;*ŒÃûD’»ƒùtæØÓÛæš¼üÖÎ#r}gAafT²EÉA -¾à_)è<ÿ…õŸÂ€±˜ÝJjßuá—ÐÒyžüÞ¹iÚ_Ȧ`= ƒͽÏ?¾H À9ã•´@/»bºAQ`/€r”Ø·õŸµ×P+§<¨ˆBÿ³bŒRNŽ `©ýÌóÅe¹¾Æþ»Ç(Ö‡B—gyte®ybÏ Žošz­ÅT b·AÅ‘ãànR[:€/$€ï°î 2Ä(¬*q¢F\Ôðí¥K×±ó/½pípÿù—®¯-/]þ]³#€þQô÷õºàÍ7ß~ó­7^/'€¨¯\»þ<Ÿ¾ |ãí·ßzÛOôø¦t¡?%�Î%GGwïWÿ‹ -ÿâï:ü³´ƒQû?¬@À3šA€–0Í þèÉ#»˜ü ûÿˆ“�ê4¤-¥¥qBŠ´]Ž�?I¯ÿòä¶P¾=ÿé÷¯åÏ»¿—!þ„óàö°7C#G{Û;Ã{V4ζ:_ãŒÀ÷ªä÷w®lí” ÅDã%XóT÷Í8ý8̸CbB–WÑ÷_æ?Ú‚ÃÁÌ–,Äÿ"¿>¾ßª‰â±,êýâ%°lÓ €m¿I:'€h¾t GÀ‚íæ¯ r½ØÆ£ÝéBܘNç yè‹;Slñm l[Ǻ¡y`à¿û˜æ#åiJ6�÷z¢–Žù¾ãÝ_IÀî®íݨVyD�ÅȹHö€ùzgÖÉFÈÌáXÿ|ýŒ4�½ùpó·` ÌO‡˜¼à›føÏÀ} qÒ ×v»×)ÎQÜ6èã—‘ŒGäúëäz1’œà¸{‹ÔôLo�êƒt¶g‹×÷$B<Â7Æó¾¬štÁ�sóŸŒÇå?ì9€¡A‹ ÂëoïBhtxpqötØN0@oÛÉ’ÃôìˆØlD`ÚK䀻B²$3ø×þàë¯gØü ·˜ë�9ÒàøÂ�ya÷F›¦¸g'×�™Îœ þ9 J~éø.~Š€M©}×°yÓð‰4àÂ1è‚ÒölPÍ«ë•ó=ψXzº^{±ó»€¥À@^Õ°Ù @Š0àœ€Ö°ŒàòÎðpa¢ý÷ð”òý�€uI“P[ƒJŠÀèŒøôÓÇ�~]0ÔÅ€ú5¶YcÑLN@ ìýMæhøpðè³Ä<þ¨¦¨ñ–€àå¯W‰•lÆE=ß>¦/ Ù¶ü_{é¹k—®½ÀÇuãý¼p�MÎü -$àUð¾úP ÈàÀò/ååW^I“@Iôø¦PQRT÷ÿöþ¯-¹eÙÝÿ5%ßÖ€ˆE'dG`Œ­^uø{J‚Ï@mŒé‡cþò�@RëÂáÉÖùþ(@Õîö·ÂC_€Šýï>Vœ–l'<¿�åŸwAù)øhÜ"ºì^ß&€“1œ:gÌßãÙî<<Å€š  j“ ç« w� å;à€G -`o£ÿVøï¸Ùèˆÿ,åö¨nâ¿ ào€ -¼U¥ïä’QrNQu“,�v�—„èÏs€0à �X`ƒðiKÛ·`4øÌ>lX¦vðs4ýéì·Ãáü_§‹¯A^}Ìãñ|¼{Kã]Àd~g0¸uk±½%ØÚÞ2ð*�8@°‚A˜‚цž›3"ØÇ;/×Ûu¸<·¹‘O¯7Í )˜ÖÝKŸ/¾œBE’ëŸ?Õús�™"`jj#NÃÅOíç?ý?‡ƒù¿¦Äà\Ìûý€â è‡LÌç�„ßÎ4³ÿasèuýË�ONàdÂòjý/yL®µíõå÷\a®"ŒÌІáØÞÛvƒpwʣ甀ºHvíd¡`þúw„#�ã[d~ü»AŸ\{B)Ì€ÿý[óÙœ›‰ÍñÍÿ:èÿv -GÈ^ð–*¼�~i‰žœþÏr’J·y²ò#=­Àš\$€W;Ê}7=ù‡­ùÑt½æ[.ðŸ éÏ’õ€5@õÐæôëèbÊúïbžâ83@c@{ óØ<¥æV0Ï—åú3ÀÅ<Uøð”t-g{‚耈¸äw¹P´F€B®ß4œ‘k9áˆàGŰã�ö<ùöÒ¥çŸs˜-þ üóÂs—^ðSèFè@Møêëÿ»=lxõÍ7ßzó­7^Õ @®w3Õ<×_yåõþJJkS-䯷¾€H–cX¤Åù}D¼Óô�ùÏB€&:¿¤²?@€­¼áÿGžzt�íöø5¯VM�ÆJ.½x k0`Tè_üŸãHû8ú¿ UTzz}Å|#¡Ô踹-üã!ÈŽ%‰©=ìocøcOÏ'ã´,Oüó¯$­­o—ÒÝÀ(œ�],èÅöá¬èƒú¨Õ­+[7²n?x?²pkpkk¯ ØYÖ2ã;ïD,°»þ Áp4°ùÞxN9Ÿõ§00Ú+Þ† $ NKY€Þ@)|Á0¾P¢]Çì¥LÀd2]ü®7û×…`aOˆ–­è{¡%�›É-,oèæø­hêóK2à·-ÿ¬noe;×¶» ¸Q½vyƒ[XŽÎ^@aîB½¼sãéØA¾æBõˆ�ëAåzn«Îôös=¿óu,G€$×zZ,©ä¥r½ÿÈ~ÿ?Ù8+¨Wjß§y<×:H²>‚~­ÇüÀ3bZ/€:öxyÐåÈ0@¾ -ô+À�§cºŽHGV1'zp–àß~k  ã�”àך¦«€ú(ùV5u#¾v¢ÀýGŸ%€+ÉHÕ pÃðcÆH•XÉFa|€¶ýuçõÏ7ÒLÿxð˦ÿ+·èXù€¼.€4¼n´o0žŸià#°= Æ -†%¼õV"‘(òMiMpúŸzÝÿMá1€ï)A¼H@ƒW3ݨÖâx°ôorLè‚VOb$€ù5ÐÖ€“^úSN€S m^I<¹¡©)j‘oÏ€lŸV#[kCƒÿuëÿáÃÔŽ'O>~tÔ»©j�ÈJ|HÍÏ7 -°·sÞñl]¥²ÄŽê/TGâð‹ ¥ÀÁG÷îë<¸ªÒ`@‡àÿ�üu ôç»øÄÁÁñ£sü”n€€ÄLCxà 0> ¸rˆèÿж™OܱSàt:˜ÿÖ~mƒñP7û!ø?ìÛâ=œõÛrƒÙ 8ÂÒ‹0²IGx²@0‰ö2vìd�é¹XìÎæ»qdœ2ÿ§ç‡=EÈÝŸÕù…«¡±êd0oŠnêõlŠðG{9Ú p𣆠ÿ`ñµýãœCXÚ‚É=ê{ÑÃqïp<ܰ>ž�e6‹±­÷ŽÙ`N°Ù6s#é!‹Å×ýÅïä¬C‰8…‘ùÆðq”9Š€ 49 ×XÚþ%›BÜj±æ—WÉ:ý}¥ \n]qFÀj˜Út0<Ô^÷„ý>eí ãDi޶|Ø¿Ñ\7†a®{½QœЕÅo{äŠ`U˜;ô@åšL™‘$º)½^£ú}Š€uk¿íÜÖKø%´4_OólŒ°´÷8ÏOüçê=¯Š ͦzèÜñ8 øßyBê}j$ÀæÿÏ‹@²ßiÀRë5˜ç‹Ër}�üw�° €¢h@yŠ`P-¿º-š©<HËn€¿~ôÈ@QªL¹rú^?>€ý~¼à¥K/E»¦«_>—œÜ¯6åÃû%Û4ç…ÿ×_îÿŸÅÞ -xóM �‘ëì|�€ÿ˯HÞzû­&¦zB O•`/ÞóÝäØÅÝ‚þ…ÿ�í‰ÛÏ÷Þqÿ©…•¹%vcåq‡dÛQÈÈ)ðt -Ð6mJÝÑh¨¢-¥¥ÿÚýðÀ^ÿa›Ø_üÏ-ü?yòé‡G(Ôƒ‡�­ã€Èãc=<¼w÷w®Þ¸»éXcAì›Ù�wÍrtïø óp—õpœ Oеk[®¬Ið¿HÀVç€n­7lxŠœ¦Ã¡N€ñTèk²rèè×ø÷¬œcÂaÏFôÙ N³!ÀAìÆ; Þ6 'tôwÅüíí¤�T¶³ä/¾c˜Î†Ã8`ö~ `°Ë_Ê‘³j[ÃDß–ï ©p‘ †`,0ÇÖd -"p�Sq„=r=Ò7îdü6Ž¿œ‰ösý€³MÙÝ‘xå*9[à9pËû¼ŸHÂÅhú5g[|i_H�#ími9i�Ú2ÄN<^jà_æš/sí¶ÝÞðP¦Ð4vä`Hñ{lmm]©ö�‹ô˜ÎúûŽshØÀ°Hiò¹UC›gJ®NÙåÚ;V\@÷åýåŒB0Ãd{:7Lƒœp%Ür3˜Ly|RPT=ÿrñã<ß»ú>ƒŸïX�Pß/ͽ¨yÊŽØD®^zùã° mýrìÙ¶ÈÏÓãèèܳ'<WOö8þÿ[ÇïÏìÿæ(£ã½éèbº&€úR5éØ;H'€ÆJî?úŒ¬Ú @OÇ*às¿3à�‰ÀtK©u²QÅÿ,hgqé¹k~^¸æ´—®¿àâùë—^¸ö’›ÙÉ©ÿ4è±ä5ø èM ½àÿ�Wß|ýÍ´¬¼Y{óÍ·ßyëß½Y¯(òM©`‘”–ð¿bå Y‡j�‹J0oüj±-©Ò�ßûÞÒZ¼+YmòQ¹ÔÀàx¾á°€}Ìø�½} úõ€5ü¾‰ù¿ÅÛ’÷FÙ?õpïþ==<.²†5€îAø€ÍKú�¿¯¤iàÚÍ×î: УGéú_R‡wR`ZÍáë@ï('€óü�#G¿€mn^ÆîaÆÿ�¥³ñl1ÿ•ÿð™Ú7»w8ÔxÇ8Çäƒ[ˆ–¯À-(ƒu¶÷‡P¸ è³íèm (‡éÏ”À -²ÓÝ:ƒ‹ôV7‹cÅGcmcsj†uÜ i�¯‘}䃡ÍàÆŒæ_/ÆFaú zãy­¡÷ô:l÷à“[^¸�ì&fT¢Ûû}ÜSXðOé �,¨kœñ 1 ’ög£–£8HiÌg%œŽ-@í© žÉCÈ�àÆ¶óKúsNsÈ^\ yg<°¤ª¬×r͵&4À'k¡09 ÙÎG½áLÑE `Ì5e`I™kï§(üý°à§ 0ÚyÝþF €èÿäÛß×þ…lzò[]GËG×Ç܃«ÿt1EÖÇòÁý-G8Ñ À7Ÿ3ÆXzÎŒhz½óøŸ(`Iþñ"1'{Ę)ü_zxwþìø~süi&ìfô†‘³6/îÛ¿ñ8O4îÓÚo€ó?džÌý“ß×°ÿ»¹ìÛ÷Êöþ7Ûÿ­7ß�ðæ7< Áÿ+|]‡Ä]Gxçí§y´õ,´*åƒûÆ\Þwyls€›¾·X¡;ô_®P‡ÓΗÝã=øž¯‡Çz®øøÌ<äÎäÎFRà÷ÈÖÙ€þ{pþá)/ÀÙN€¶~–ä j(jKKc)>šöý+÷¿ø¯ù@þoùZ¿5ãÉcÀÖÞ GÈRóŠã#{½­«Û{©éœ^šÿ¼5û¥â¿`åöÇ„÷¡©ù6 ÀÒà+©éPBÚ‰;i ‘P´|04í k'qÌB¦³€t‰«Š&öÀA�¿œög3wœÏí ßƒýˆ¨1n -¿Ápg2qȱ”ƒÁ& äЏ%†r7®,½ß‚•PÔo€_ŽÂ”±89çkEx,âèèy!}»Æež Î9ÓͼO¦�Dœg«Óürýž£ÐüÖÏõ ·&·'_ȹ¸xË Ù6v10MvÌÇ`àÀÄc[ dJlº¢Ể„©ç±\¾@kP¢3ë¾ ä9ÖÁ}½$’{™ pW¡®èØêÁìr£¯w_¡˜)Kð¾wh€ÌŲrëÈ�ƒä¤ç¬Ü×”œÎ‡°†m§€�a 3›bØÉ²°,CÆB\Nà?Õ¡<¿?ÎÈÊ.+©}Ÿæ€œïX�ˆ4m¯–ÿ bàkã¬õôw¶w*`½@ÆÐð=ÇhM+Àÿ¤1‘ެ€ ãhŠr«€ÕP€èbìÀUg å>—j —i'Ç áæxò£ç �Öe£0.Šÿß¾píùr`úóÒæîÚ v -ŒàÒslóýõ ½Ž}�ßÎ}ïÆààüñJ"ì/¨³Àmo¿õö»Ž ¨ü; ë„t½¤L¿¦ šâ)öû©BßO‚z‘þbðʰ×ëI£¬’ßS èÞ�ÔþãGi;G>ãæ†4˜}X�w8kó_ìŸ9ƒ´•³%7ËZÒŽ_Š��ÁÿÄþ¯Ìr›ÿ[¦�Ô‹T6–?Âð‡í`€¬‡�išôçÝ=@[ßt :àÇ>Òð_ËÀ•Ĥ±Ö�Ñûs`k:�HèKkoªu�ͤ…úˆàøqªä¬+é<6@6œzt,)@œ³™†õ"ð Ô²"à÷{¢ë| -ƒƒþ­I€Hdôå0þÆ‘åO t�îðrˆÝQ"ï&�·ìæøÝv°»+—¥à3ýI³þUHñPLÛøN€ÔCÐ2{ãž½ëÈáÈ�öÙdYö‚ ú³aßÁñØBR˜ÉåÏv[®=è(NÀÿ�Ûé;7õDO7BeENˆîù½­ _ø/Ç ÖÝ œçãÆÌ>H^|“kÏÇ ÆÃ]ÒñwóZüÇB±‚ý2"—.]Ù¸çÏ]™Ònÿg”!Ù ÛœËìÞ–¸� ~,s-óâ||¼%æ ¿c ç6Ã!&fÈü»¯¹ð&)l’9jþH@ë°²öÛÎm½„_BËÊpñq¢ê±ò½~È8­¯@ÿVʰ6 àt R#ž3@4àY€ºT¤Á¼÷?> ¢:€Ÿïáh4 ÊiÕ  Ú0\å ÎxÈUQYrÖ#æ4åÙýa1© ?Ö yÿüóâ},~¡ÿÒ ÏÇèç›Ímõ…Dõ¿ìø¿ˆãþ½õæÛo‚êï¼ýŽ�7Þxã-±?1‚¯¾â ö|ë­ý 넼(S„5U)‹þ¿N3@XÀÁýò¨|õ‚ü þKôbùÍW›ÿ¨¹ö/*��a:kßòãÉÒ`C�eÞœ÷Š�Ç 8ƒlWb³ÂÓ¤îi;v%ö÷�ÿß•Àÿºù?¬ )o -ªŠ¯Œ[<èmï=|œ€u@ðÿ¡4§šìhÀ† á8bW¾-»óüW€£ûûûµ‡¤�Mu ¼”.ÿÝû²ƒ¹àeP�“%K5@8۠رÿt;@œK - ÔÏf«<+`™Ïùãù-„ÅÄלÜ.­þ. xƸÞ�oݞܑÀçžeSuO-vJ½´v_¶+€ ”ëClrϾƒ4`Æ­·ÌòÜ„À{RˆiË/C†SPÙ©úÌ£®{sát�¢Vz˵��=#ï1€Ùd®+C¾Í?‰Ü¾3ÒÀq£žˆ:ѽ‘ �ÐUдë\å2f½`êNZ¯Œ‚°ìMîL ¨÷Ò=•€Ãþð�ËWÀþOAf.DJAøß¦XŠÕ]ÖÚßÒIAþ¹Š-÷ÚÕq¡è^!Ç·ÿ£i?rß4é+oÊŽ�ä:— ºç‚Ü$+`_ß³ÿ‘Ùü§ñ¬ÃÛy›Ozx¿÷\>‰µwÀ÷`½@yl�”€Ïkö�rÅy* Ìÿ3=W3 ÒyJ±üO5ÀJNz¸¥]/€G€—qj×ëq7à?Éà[ÓÃÃ_òxXu'šÿθ9@<V�Ô«IÄ‹âÒ‘e�X«¹üÔˆÇúx´üõø;#pü¬ÚÀ"_ü|‰×õK×°ÿ�LÃÿoéÿ#ØþÎÛo½ùæëo¾ñ:4ÿƒÿ ä\ÁF9ƒba��u€¬Iìøwc0O ,.Á?Æ¿B5./Šðøñ=[¹¿�t�mÜçW©<-½ lÞ«†€€H€±O§Ï"ÆœÂÿnП^±€½`¸Ræ?ùè¤U -5ò1»ì@Ž«¦Å°îy;ÁŽ·àG” $àÏc¾ôËù¯m þ*û @r$P® òu`ƒ>�KW®öÝû2oñ¤E¡µ Õ¡ÊI`·ðNf‹“‘K'@GÏFÐ2¾\”f�µȱÛ\뜡sACÈJ]ŸÜ�5A1VéÄaÿmŠ�ÌîÀ�»ôXe7{»yIÎ}/èz² PN€ä×Ô6Ïòª‘ŽYn“9-Y¬mК�äI(6×#QX›#8/®²0åÿU®½P2Dãÿ¿=Š¥±ÎYá_qÚü»N¬�3¤‘sôšh$Æ6‰õÇÃŒw�²´9€¢æ[Òâñƒñá.'ô�ø2ÌRÚ v‡Ñþï<?K“¿\c—�ãx±3…Eé o¾þ:_¯ÿq` �Úý5Z ¢?!�àoÀþÿ¿n1Jþù>`Œ4ðo_Öân €£¶qýuQIàpp Úô›,½…¸�â ²8=,PQîçE@µé/Å Ê»>¿óÉž-‘ª›ðO™¤   ›êÐðN(@»öþëm�öˆþŽ˜ ýJÿHyŽîß;Ѐ2(¼ÁÃ�(Çþ³Ô `pA qðëæÍ†þJN¼”K>Q¥Ê#‰X§kN€Î Àó,jÍÙšaûc :®Nb”@LW¿¦Vž÷±á(q$ tktë–‡š°�WfÐïÇøemÔôw·�ßøòðß‘€W äÞ:01ÆóÌI|±£QJÎ  Ýø•v(Ÿ†»ñþÓÑœ“¢€Ìµ–¿dÀœ&×!0(ªäZ%e–‘äš|Ûl¡’ÓoAÊìèv’aáOt^‹Š�CôByÓÎŽ-=ÛL€úùX j·ŠŒ‰ä±dñp°;>Ô"w®"3X½—« ôßÚºá0ÉÖ @ÚE*ÝÃÞ–„  ,`ƒ-ɨz™\CNÈȤÏÕšs¯ÞŒÖHŒź¿ÝÌÎr‰œ /vø/üOy>ü z¬¬ý¶s[/á—àÓy~@û Ùôœ |þ¸@/€>€6¿Þ™íÍq–1|�öðœú_d.€ÿ~1¹­u×¹í*rjyÀÉÄÕ|�…êºûu6}}§<)ü‘‡)`½a“C«G¨ @vž«fÞ!lصÝP� ffbÝ@Z“¹Õþ�àG�à1?Ö€eAù_Ò¬¾äo¿óvóëwþ7øÑðê+/CjÔéAøBä,ð"L15Eðÿ�9@9Ф¼ˆP“ƒøKÓ?2´z;P‹  Óq¿þ½¨¤Ý�ìíeNÝ•í_ßåæ–ä@�6(@âm6…D¹™"  ƒÞ Œù_€Ûù#U:øþ'Xþ�ã“é6ú ‡KÒ�&üqƒÄ À} @ ÕŽ`þ¯yÄÿƒ{€¬B؃_ðç^sèÕ¯Ù$Ð~8 P¦ø¯`ükÿ_N`ƶ·@vuqÊ0àÕg$‘¼ƒø‘5'@£_N1ß§ÌRm¡/†Ç Pˆ\+ýñp(ŽÒL€y¸ô¼‘‹@„+� -¹ Û[\Ó•«7ôzÛ�@‹?¢ö]íþ¶=°AâV�Ö¯Xfš~-jLÞ~kÜAÿ“T³d6›ØÇ�lŸ9‘¿`P4W{u¹æò�nà[ÐT5€^|Ôû’G ‡3�mš)lçB†ÿ31�{±\¢I¨ÎÆSBJ,ÏœY}éô·‡cc6$¯žß°Å€Â{HÜà+R”ÞPŠÀEÊ($ošW‘�Û*[Ò@´’#s=]æš[1v(Äv€™6×Qé°©�æÿÔ!�¸B¤”áù"Р]Kóœ·m?´€4`¥íŸ€|oÀ÷ ³ª“4ŒôèÐþ?p:`€œðÔ8(¿ð8•¢ß;ß·\OœwØ;Ê­×g”mý/¥çñ8ñ†*Nø¶ºZå\ CæTé3uòŸ - @8±d<©.> ¤´F&E¨–V5þC5ÄPð¯ ÏL<·ãh›ð𑃓³´Š-´j¤vXM"V ñ­F¬W ÙOU‰�¦5Ù¨Ãÿ¯ªá_c%[ž‹'ѧÿ -ÐþºíúØÉ~µîà„@Ò;`þ»÷uÆA › E¾) °1ß�þÆîëø>"®­üþ«uÔáz@9G']Ttû{(€¤ŽQÈŸæw‹Î Øm’Óküë888År[/JV ½þ»÷þ^?ÿ†èýoç.Ie8 ÿ>é{ÃÓ€G¾>t -¬NÐogpÔzÂD|ÆEé•@Û@ë`Íàæò,ƒ<®€¶? ?@¿Q/¾htØÖµ¿†¸Ÿ² èμüžÏy¢þÞqî;©Q�Ù¿Iœ™€vËX DK½1žB¢?üåšÊ׳õÃáõèMíj(h�Ì@‹»òÔ»¦ØÝWEbÑ å´›)Ž3%ðÖ¶‘m1j1Fù_/7¿Ð^óCôÌX ÊÌzóÑ<ÉË]˜\‹²3[ýýG#x8 m‰–JÞóñÚPˆÆ’Nlb®ÅC*Ûh ÷ÝvìB¯À,õ�™06’“¿÷·÷M´š´ó¥5G�¢ü°¤�ˆLÍ‘æ™#˜-(Ôa¯@X× Å;ì< ‚ŒÀi’e)ˆQ•ÅÞ±Õë ! þ–„E7érM¶ù;ã.“Á™YP»ò7WëŸÎ?±D8ŒËtÎÃØÿ©&�Íÿé\;Q™ù|ø˜œ-êä%Xy¬a¯%‡Œ¥©ˆÓÚ aá‹[ãd†` -uáÛ"ýªÈçh¸O)yßHc:3%у/6ô¶ùϦ«â�¢’Ê”5NLÉP4Že)YxK²Ù/à�œ1Àú\m6ÀsbxŸãþwðr€4è cÊh?Å´½ÕïO­½íak×B~õ�¥•qu̵ ?ÙOÙQzEÆ€�þá!{øí´¥^Ög ¾È9€™4{I¬ïI›<®I·²æàÆxÏW€Lu¡€;.øÛØvžÀ ]/€x~D |)€ãxÉÿ¯½p½¡|äÒõ—®½�Æ€ˆãðº~ýecûôê¿áؾiúgñö›ï¼m8€hçM€8[^wö &M•¯Ëš€wbˆ À:‘N>U¨Èä¯|¬Qƒ7#À[ÄQò/þ¢ú(¾ñ#¨jg÷—ˆÿþ:M _'b�½­ÜÌ €ÆÈ€ãþ-=ü‘¸?O…ñ?)„çßìw€ÇËÃÿ¾ -ü•»û€žâŠXwd,ÿ&â¿ ‚Ç÷ïiÀÝÒP¿�¼zÍßbºÝ¯�L>¦ˆù϶„èÈp×Nx -ýY:02‚tZ] ˜/Êﯤˆ.¹ÁèÎ4:Rë2�c© m!4[ÔŠÀ ­?<Ô®D ‚¢®øÏ¿ê×xxÒªšÂÒ5-༃ÝmLÜU€pÇZ -Ä’žc‚…˜™ºOíå‚M@Ö0¹FAéN¯<&Æ+ú%7Ä3×2³G®QxÃ]2’ýÝL‚]þe*î¯åÂÂõ©ê³ÒÇÔ·PÇ�@ÒѸ2o^Aí›$ž×Ñ“ùîýýSÍdC=nÛç/nfiQ0LzÒÌ}Jc{wpx¨Ã^åiI¢ˆM VÂ… õ[xÚ`®™¨^MöɵؑL¤)ë÷Š1Òâp¶¨Ô’fþ -ÛA"á#ržÿKÀ3Î& Ä5Òs.–ü°öG‡‡€q Âq».„\"cè‚ø%^“e“qè©P -î&Û¸Ï!¬³%fñ •®ú%jˆÆ[*:¦pk�u~D Ȳ�ÔÊÔ,X¼R­Áèî8¿tÚ½î‹ *HG¢-»Û© Ã4‡åy˜<д‹§ºÛ’ªÅî™ÒýÒËXxKï/g†¿½—¯Å+á‚–ÔÑ@zÃ>´Á §kgÃ=¥H|¹½ÛKÑzZ/J̵[�õÅßÊE=X ÞI²^ UÓÀÂ3{‡:À-JÝB§z÷ûº#ç{\~^mF?r€ŸÀð¤aõ©IüÎ#ûÓ¹/ü‚üoä÷æÛoÆõŸ 3�!™8¨&�ä}ˆ RÆ~�9ŸÆB0kõ| ´!§HÀNÉù´€GÇz(Þòz]L0äùôÛÐÛ?í?þÔ0€ÕkÍ PèÛ„´€D¬(@ï(àâ€À7ˆ¿é(ô> þÁÿóà?€�?Ç�# ÒãË?:Òã±Å®÷u1Åšl-ø�ݳ ¹ÿ«òð•‚p{ÿ/_îíh4àeÛ„¯8%0Û·þ:‡­š"—þ�ýÂÓ´áÈœp|– Jì“§É烎rJ�SMÍÁW‚úü܉BéƒÎå0j?ÆÈ­ß Ú5¿•Ž²Ú¶EÍ rPgjíÚ €Íßêl´G�ìÇ&õí”ͤGŠSÌjuuÎT�GöõŸ¨XÑÑ-×ÃÁL•îZòšË -…á@1M J�íÿ°fѮ݋ûXé“8�þó ºjw€ËC¶ÛÄïÆÆ0¢Õ»*›U‘á,cƒ¦D_ŠvJ®Ñ~-/ F羚]¸j S#•::EÎàÅÖvo@™VšdnâIl«1Q°ÉrvÝÿMÆCgl"5.%ý;Vd¶! LÃl:}ÿö–¨ÿ-b>yDÎuò’<þ蓆D+‘.忝ë�#Oë�6îX° ÜõW€\Ò>w�ºv´PæÖ ÊŽŽ©Ì­¶$V �)ß–�¨)uè<P0kXþÊéÀ°¿ÕïM=†"²€tŠYmr ù¹S€ªf¡²¥F¸@¬z”5r;±#+Š5™/Vá¹( tDíÜÐ�ÕhhDkI€Î°, ÷õR<¤êBdé ,Hq¿•ûš`«çTÉ�Mgynõo�ë8@:‹0§y$0�@pûüð.€Uëß6 ûÅäåW`Ê›o¼nÄÿÛo¿ö¿õÖ;Fºýöˆ”Ç -àFÿé¤éòuYzìÀ§°¿ÞÝP€ûiMjýJÏ�me÷wë.õ_mFT Rž® ½{ûÓiîÃxîÙRå-è°á«~ù;£NnöøÄßVÞ€‡û½ƒ¿§Çæß×Pú{™öð?þ­]ü»ÿÛ;É€_}Â!ø< -àþUràõÜ?¾_ãÆ;Àµ•àÞ} Àý{ztÐ�~€€uŒø‰aŸ ›’H}€¹Ë6ÐÊPö?ßÁý¥Ð àÃÕžjŒ». (zbÒ_h0eçæêæÁG— b}‹tgçŸÂ$xÊó°òG3gêc�¥F`ÉS­ÎŒÕ„n‡Ä|²÷Ú‹í$é¿Pƒ-ìÿ+ú.ÞîŒ1À@dW{½öv�©'êX0)uœ’SÎBrük®“iµ-æÌt0µÉž?ÇQpF3�fQ3þœ©iõКÚÒ)W¨®f©¢â·= Â…©ôG0ŠÙ£hZ©ŸµÍ±’^R´ª`€úeï8ýͼèi&ÆÎà3¤Dw)N"èš¾˜ev´�z@¿¾‹JEŠb‚'A‡&ÀÝ·Zˆy^æz87bÂu,z.H÷ÄL} €«ª±ñ‹p°çB½s ‘k Ê ÿ+í2ÿK ç‰ð¿"Ö«M^…~Î~ÂÐ?é°¶D<û¸¿{4<ä‹ÒYz¸¸%äº&€ÂôM€R€}@È¡ÅÍ‘ÙY±¢IÖ<ž�rK,§ò„€r©ƒn±áÄ7÷ܺ ‹b0�bgѬˆüa$ËÜý1ÔeŸûÍ«\r/šÓ¹nÎæw¿>ËÐ@9ÉRšÀþzö?yüpoø½=ÇDZÿ—þA»y><þ[åúêÉq5FäZ¸$V÷rE%Av t¾ÃXñÊý¸ò!�vnbµ#ë“û#Ùû^bl&¬‘Ïö¸®á¿¤Âÿeð’勉ˆ@iՉ߿y507àï—jœG»‹ˆê×59Z |ÐVÆâ›çÚÇ>•>–H�‘§‚F��<ÖN#€ÂQ¡¨ÝÜi8Å>§Ûz¢¬Ð]iîæ…�±€¯^¶µ´«!†j?5§„6�Šs1ÕyŠ5‚R‚ŸL툮q€‘�õõ™§F1 ÿ ¼YEsU¶Éµ*0¹ÅÎÓ3×ÚÉ>�qP2{ÏvmWÓ…°Gó�飤 ó÷¢Ü^jÓ“§ðúfGŒ��sÌËu2rƾٸ�ÓávfR2y»éÄ€{زíìÈz8¯ÿ–hìîn ÜIÙkŒÚ­\÷v’AîéX$ Gþï~ì%m1×iÐà sm<¥·8›ÌõbAɉÿ–i!1ÿKH3ºó´¨“;à½;%gyzØübܦ ö÷Ò!6Œ‡(sPèlÀ <çÊ Vºžo©ÃiÀ -F7<¡ÜØÜòæ_ÍPçÐë7¶#[þË6=Èr/Š8sh(€9á\¶è ÷Œ 2Ø?$çL9“áb ì<1>e{û/`3¡£^¯€¬œ -¢œŽè<·¦ã[V;kxó ·žîàCµú±ã<ùÑ1×ñݲ^v\¾�¿r“Ä@¿ý¿é €†þg–?ñÿ-›úÁwvzéÒ ×œXð…ç�@¸IÃÿó<Ý8‘ØþÍþ<蚪õÿé X_Ò¾ùrÍXCVÁGñîøxçÏ}ó±'\ˆÙÈkã9iä–´¶ÿ% àW~ž¢HÑ”£ýáGŸ|üÃ<0ìÿ%þ?Z"÷ øoÞÿ%XYÿ^ ¥A6j@Ã\‚©4Û? À¡€Kìÿ¿½µ³ïÐA«q"€ôÍÕPÀuÏ2‰C<Ç'brhõ(°&Žà ‰›—T舴j‚x^ñ¿É’Ì�Sçñj6²Œ(/À`@KÇ_Ÿg%úTtc¦Ð`®5³øŽ�<7»òXC�ƒ¶�TÛ¯P À&z€ç{h €xm‡¦µÍSMD° ` À÷ö®s²OÆ3)Užº\JU•V�XG ësÀ¡—§4ÍM'F�ñ ‹|Ûãþ|( 0…qtÖ4Æ´¢J¨ùCHÝÁÀ�­+—ov Ö¯n7™ŠÞ£z‡ %Hý¥À4œ�樤™'ÐÀšõmÁ‰QJÓE¹üá. öC­™M7U®Yzu"ÞpD®§CvÌÁS´Wè?ĈY"â«Tð¨:t#—6îï€[Á.\Q„žv<ÔÛ/™Úxê¬ -sßèRT&0µÓvûºä)2.m‰¥eŽ:§€œ£@€MªMþ ƈh½þ–!ƒýCgaC ·¸"¨‹×D®)yóèq¶ÙÈ–ø²Ð“ëáØ™ý™¬F“�c6%׃錼Îbý› ²iþ§$tΞu² v:CÎ÷pÎó`-Ô…ží°e�yûCÔì�ÿõäðg -è À¤óXèEþŽy}¨€âÞŒ°éŒ�!� °ž¦•àÅpKß_%ƒ”)î÷Á[÷fO’Ѱ°á¨‡79:Pz‚j» o‰ %�KàS^àŒv—1¬yÐ2rRå1ÙP?Ëþ�bÊÄoË’fö¯K· �&GNßÿÖðÍ7*Èykÿañ¿þ?øTó?‹Wªç Òtùº¼¸ 0ÒC|5Ù;´ÚúY¾­ ÿN\µõü?+@Þw/ðÞ©qó€v€[@†~à‚­a ÿó“w~mDTCðo&>ùä‡zl°õ¿ÿËÐÒï$÷ŸÜ}¥0:wæÛ�RXz¬l¤XøÏÈW ·`àÞ–!8Ð,¨q€vòjûCŒì<‰úÿ‹Ä—@¦ÿë„ Ð%Ä€$�18Òª ²ÿ’KÆþ‘IÌ� >Â+þ—=6ÜùË‚Ælž.lJf»¸P8¾L|w<¢ˆÊB}¡rcJ�ú3t¦Ê‹MÙW¥Ž1‚&À°U'  ¢YYñ'¿TR:ÿ ŒÛ;{½¡ZÄ·,íÃÌYú REïPŽ÷£é‚•ªóK³÷ Ûp¿ÍlÅA|›k¶™kíÝèJ`Èëvgã -õ©£ÍÆä6™—xùP»Û|ŸkÖJšÍ 4˜A+Ûinû�ñ -)vÆ&Mç?à _ªѧäZ`d”ª}�)ˆšÔæz[=çL³ˆ‘‘d±ïäÿ)¼ÃþV7OÚ²¡Q¶ô{1¢”3çZ|=u£´äæƒm \ÿãÀäzhL)IU ä\xÎ6ÿ£¢Ï`Âzý�#Âë÷÷X½ôðõÀ2 $ÉŠ%VfÕ/Qóp¸ðL@¯y8=µ½òà!fj²îH6OÆ�™³< -Üø£ j÷O)èbX(E¾G @rcùŽ÷!CÙ›š�'mQö~“Î@.Ìrns°ö„ÀÊ{¶ ß ÆßJΈÈ€ôðŒóLFÿÆ1OZG¿&eü?×~-å9^Ð^†<ð€Ÿ˜ÿˆýýß|÷�wÞ–¼cË€³¼ýö;ï¾û®“¾óäuÖd@Nûp÷o}wãÿBÉ’ýJ…è¥�éߤáÿÝãàÿѽûw÷ì\.ÿu@5‹èøñr–Í`A½­š —;ðoð†þŠfÈdŸþî üßéW€3"”‡&|éeܼrÝ' ðq)]C@–Yo«›^€º‰ÞÔì8†:4ï~��ÜüööÃÅc!hú³¨CVòøÓò˜5î¡Ì×*@€Ó¸@6<ÿ[5PI9þþ{FÞ»w|´÷Pƒ?�ŸcË# H"M ì^Ý@]/€ND~iK×.  ý#ñŒËï¯Ô�úÓ§xŠà¾£20ªx¸'=ç÷E9Ds ¥œyh. ÞãÃÄÍPæÊþ<òTÒ!ZS·½z�G^æ¯AÒïí: P&„8N‰L ¯2éõhU-·1„%ò£‚¦ãùhŽÒQG¹é¿˜qÄ„\ë÷žM{æƒK‰ <¶Ÿ¨ŒÂBG/Ðÿ£9)sõ‹ñ?Žœ (E¥Â<ØÑ¢¨kÅnQÕM§4…€õç›UÂYñÜ<6àÂÕ®{Xxfïl‰ýψXðœ]Ð0™ü›Æ8ùÿóÏ]Ãìg‰õï´ÿϳⶶ5ËÌ hsóyÕá€âxý ‡zù•Wßy÷‹ï¾ûî�üã7üîø†•?þá�þóŸþø§?ÿáßÁ�jª|]®:ðšÜ èÐ_€a³™à´ëO‰$ ·£Á~^€Atµï3¥ç¸yzóœ5›`<ݛũþHìÍûÁ1BÿÃB—-á¥äÞ·7÷øÉ…øoà¿:Ò—„&NýþŠÿퟓ€«;½½í›[¢Ðvಿšîµ×]Ž* `ÍP½Îô¤ û¸,ÀÍk×¶ k - ò—€‚ÊëSd2CšnSÃæ@©–5ÊÌŽ~AþUj³Ù|ÔÞÆÂW™"ú€":¸ç€a¹ÝAõŠc:¹§Ð9Ž–‹Ö‡”©¥Ö@¨°s·t „9€Mí«¥U -£‡(:¨ ¨Ÿ>mhš9J³§ 5l^ØÄ~Ào2(mÑ=Ê%¡I*J>Lcœ\/ÐÔX=üTaqMóÉ.^Ûx9Ê\Svü«GƒrŒA‡º³C? ‘˹¬D%-º¦hLõ6ÏzÃ/Ù†QÌèÒy 0.Æ»p Ï¡«D(,Dª‹ïmñ�P6Üê+©åÆöóë‡fg�bFßš’k¹€Ö-´Åܪړk‡ÿÓÙOVQä^³{E÷ªëÍt”¸åT´ÅI—s1§ð?w=ï6ªDÔh“gÀ¿°q¶`Ð'�gy’‡æ°Ê€B€FÎöä�Í*…pA@ư–zþïPjY<<©Ã˜øO9Ò¸k€µ³Éþ!k€Ž4Àz €5‹ò8ì�!œ?{{ÑØ2 Hòi@~ذ頌Y^, 5œ5e8Ù Dûb1nú7Œҟ׶/y¡-œøÿéű«ßÙšùÿòõ—_}ëýoþâÿñ/üÓ_þôç?!ùÓ?ÿóŸÿåŸÿùŸÿâ¯HSäë²ô8±_ðkûÞo£9 ;�OhѾÌ~–µ‚8„e9ÎŒî֞ϒæøèñ½¶ZøxRlû—&d×8ø -4Îß6Àë‡÷èD ?ÿþÂÿÖøoãö6L'ЮH-K`"åÛtCìÿuÀñ}Gº²µƒÒÖœ/´·ìP€0€ÿïwQ€G�Äúo€«¼â(äob€ðïòêµÔâäâZ«&HCþæxñϹ0¶N&Xv?þré…¥˜Ì³ø)§Ó¹6"ßB ›vÀóC€¿l×VcˆdÃm�uÆ& bŒ ”í4�Ž�—ðE9%ФÊÔ¸¼¥fÓ  âu'£JýÒ/±JY‡Qx -²‰�ꀻó!ÌË%ªV^àVò–\£:¦=­ Íè6¾Ó’@®Q\@8DG£…‹@`-·oOPkêBHé¹ÞÙF -žÉ�z;Ü£yÕ×ü'cHÀT7 ú°?úh‹³`.¬¡_g G˜õ�g±7�Û¯} -øˆZ.X¢°{¡F™+q{7%•òƒ~Û½ñtÎŽ‡Bº %פ«œT®½~u+¬‡,dèd[Ì57íž¹ÝÕ”kädÜK®_A©ú�¨ô‹´½k;û”"UÚNçŠðz¦€Ë?Û@.¨«] À…<`zJQЯU¾]�àã”ÀÉ õ¾±‹Œ-§cÒžâδÏöÿo±¥ðîæ:ö:E@âO�è@] ×uÒ`‚²{œáH µÐªA8¹0ËVÛ&·.ì¨Ä)ÄFò8QVþ£°¼°^’3<ó[€Üðg{&0€Neÿö|¥¹__×ÛÚõë,žç«6w»Ø€Ý¯ãß‘ÿßÿ_µ!ÀÞvÿ{õ­_|÷ >`à�þÿíŸÿå_–  ©òuq  †ìi8ø5°ïÇ—@÷û~|OÅÿ&òw$À!€â8; ’™-žùŽÙ/´ëèÏò4ô‹°\ëðäÛŽ�“PÂ!g™ÿÖ%•êm>Ë#²ô»ÙùËq€ -ÿ?ÌÄ„µ½aø½£ûÇ÷ö¶Àû­­� ŠÇ°¥ð÷}ó¾1‰Ûà(£¹w¯½¶á€ð³~oxØF²˜@ÇçëÚÕk+À1±ü—ZŸÒNž+)@Yxvý^“=~º¿p5š«°8ͳÙît2Û|À}±€´°¥ûãñ}ôå\õ%op'Àø`wt8žÚ*‰ZBç«¢šÖnkW˜³Ñ»†®€ò¨�Ð3Ûƒ/�ö“_Œ†h”¸A Ø‚CÌU¡M-Ä/T `&ÓÝyiǸï§@ûÙ6O®ÁåÝþïæØ cÏ^Œ£é�;Ó;p˜jÄÕ–¶‹�(oì¥î"\øx{Ò‹†v5˜ 4̆óÞðw(Q$8dÁPÝ*��ú°7ž“4×*$ú#=@Èò° MhÚ@€Kð¥?s$\Õ²$ˆK¹3�ÞQ)»ñ0ñæ·cAf™·€·ÙI4³”8œr¥*ÚÁ¿ƒYoø5W3Kù­ìϽÿj³û ¥KŸ‰ÿfð<€÷ã åÉû{ÆX‚Ô¶`¥?²ö}c„å`ÿÓ<äü<ûoÆè 2Ÿ°69°Æ„<Ö¢è¨ Úà¤nUY¼h -l`%Ø �Òã�6€Qb å?'<›1P€³b$gÄH¬¡ƒ“1w$Œp©¢þ·ˆ(«þ{È+ixõõ·´ûÅ~Ýâÿ+¯\»þÊÛï÷‡?èöÿ#æÿŸÿüÇ?ýñ�úËŸÿå/ÿòÏÿò—î¤éòu99@<Ü~GDÿóáÿ„Y®ôœÈ*ßçDD -¶Ÿ!Øëéô§ë~gˆ‚ol5†C‚4˜§½¡^ -î›;ü¯³…ÃónÛÙ¥DMÚvzªpB?9?ážïà„] Àë !œŠu±£n€4ÀS<©”¹"…RàÉ}~d € ZI ãÞñ¸m°òlÄè¸uºÀy}æq�8 -÷ôÌ›Îê@)–7ÁÂñûY¢®öó?Ø Q_¯úý&¿ë5&PùZ ~½@Ä8mÿŒþ“Ù.]ë—ßýé"?Ðÿ§¿üé/È?óþo€a%òç¦Ê×åêÊ©Æߎ -€èýŸÆ‚õ�,ÁßU‡ðO€³#š4Ì~º@$ÒðñÞ\àG�û`ú?þl^y~L @I0]:Üo®¿ýñ�–T7ñýõ¸ÃÀ‘Ôõ2@ÌÖú·àêÒÐI1€£‡'<1û_ÌHÀ®_5Ê¿½H×qøŸà¯€#y·j‚ü O‚KZ1Î@ Ùðå¿//Ú~.¦PýŠ« DtÙlº˜i!pø.üÙk|6�müÍñàÙ\vü*Híï;’��èŸ(j”ÜXݯVRë¡þ~@ÎðҽƗýûÔÔ¤>ÞÕ7”%{†) ‹ÑìË…¡ SàC“^»#�~µMBD3×ÕTÁE¡�MÎ~î$Ÿ\jo0�Ûœ®âžˆ=Ó;ú-À$ÎMN9€„TQZÓ�‰À6ÁÚ4‚€?lTPr=œ¿¯*D'Î{C -$M†(ÈPFshËb>›ÛëB݈b=,4F5 - †ûC™@³^ºÄpcK4²l}k`b5£Mµî@C²mI{ý(R–óõškì2Û‹ðV 0Oa%І°n$ûÈø¸ -s=˜Ct³�á’Ò¿\t÷®?’^“Þ…ðŸÛþý<°#¥‹Ü7=�<3@Øü~ãpä³=üK&“U„¿Ÿ@eѤõÐuÀZ Ùd‘{Ã@Ͱn4ÀÏÍ€`¸_#ðúÙÆÅt1'ÆÉ7c!3ùÙÉqVîÉZ €¸� -¿">9'<©™Í�ý*ÿ°“]l ´L8 [Ûí~†ü›ÄĨWÎoó?!¯: ˜ÿÆ›¯kýëÈì?ÿÛ+×/]û_ßþâ»?ýù�þó_þøgÐÿŸÿòg þ?ÿù_þåÿþHÀÿݤ©òuyñæ&°ßÿ[ ä.ŸŠ -@Â\œ; @°~õQøæ½ð쀒µqoŸ"°gj€scN‰­Gépo±àõãc‚àKÉ-ooÎóÀm<àã7Ÿ3^€Ö@U«Wì²´†ÿ€�ÌüË¢ðÿ¤ r ò׫zÜã®<ùplçpÚ¿-‡ÈËÖÿ+]ÀVyx]½v³j‰ò"†H„\î€Ï¹°Ðð�†ËšÃ/hé�‘Xù¼O�ìD³ÐI�YCë¢Y�E ´Œ#àtÜG DM°6Ç“&Ü6O{” J�‡^­€A%·½µ½uy+c¡†µÄœ.ˆìê€àœ‡À´( ��}'Æ–þR{Z ‘Ï™ƒWI@å�\/¾6"!¹®<±œðÏXÊ2ž.À#.Ëߨ# ªðN°PÃÓKn?8ž³‘®‰ñ»âéY¥3t%ù�=ϹYÎG3”)‡ØÑbj‰�_’Æl¦bÖ›.PȲ”ÜJF]ŽJÄXÚ ÐþO€ØFñ©ÕG‡¨Ý-ý)"9¬ iSÈ™ Âõ�û;É5Yä'E”\kº›k2¨óߎ@MHJЉ·´efXõîZ.‘ �Ë�n_‰8[{=]„׳=çôð^"] À…F,Ì×Ô*ù±pÁq(×HOy~è8ztüó‡7Ê-zEñ�qøb¿7bRÀþs]'<É�¬z´ï%˜ €I/c MT63²ÀÖ3Æ 8y¢Îðl›5Ê0ŸC>y¬U¹ÙÜɉüQ¨B@,Ô¸j$UíÉ!¿Û…(ëëMºM¥¼ÿ‡zž\[¶þ?ßú»¥¯ -è^ñ¼œÉ}ß|õÍ×_ýß ÿÃþÝ‘¯ÇðÊ;ï÷§?ýé/Ö ðÏæU®ÿÿûÿ_þ[üÿÿüÏÿߦÊ×Å&¾“€ÿßÞ¿›€�ÿZœ# ô;éHÀ¿ƒé¯à)ÎóøèÁ3_ûë€ý&HïÈ!÷6<Üá°IrÇ—ïvÚ È±øßz�«e ະ_&ÛÖšàZðÿfÆÔþß¹Ù¡ÿñqú.›´øW íý®spCR30¢àZyÒÇ`c€Øþ‚¿ø¿$<¨²õ5 -P³“ôÿý—ÿÃt8›|9ëgª_.xìQcaâXA}µ¡¿˜F>ÂN`Fo4ÇH.P"QxF � ?U© y©°Ù¦>“Äó¿u㟯Ýhï¨6É ±ÕÇ€ù¨ÿåðÿÝ—èï¾�‹/9½5 N†Ñ�h¢Y…úcT’rm;;ÿªº¢¾à+“YØE8 r�îÒS=(ä`\…Ð’ØËxF[‡èFàåX„ÆÓcòó·:O8EmáOèB‘œ\¿´¤µúç‹/gó¯óßý -Êb{Éx‘¨}±×¢Qetjî~kw×NÖ¥W¶¶5‘òæj`ŠPQž±�d`NÇš\šk�•\>Áy/�Kô2`*äÚ«é¢(3£l·áoMèÙ‚sˆ€R…�,áß÷ió_K3ê3åûö°XAÎ?€Y¼¸À^I-àêž9À÷ˆ µ•€+é<kã˜ö÷Ö>Ë–¢³bÙ €Ã“b€\tyZ †?ÆÉOzl£hNz¬7§c84_Êþ°…<©õ»ÆÛò'wÙÆ1êö‚ð÷Õ“½Ýÿ)‚P/ħîÔ^Þ»“¯nå|  ýB^õ.7ÀóYóõ|ÛÚ½ãýÓëÏ~ŽÈïWx]OàÛ_üðÇ?ÿå/þËŸþôç¿€ÿ|þüçùoÿ¿%8' ð¾”_ó¾k`£íß§ ÒwÆ÷©/|ê%ë:ÒŸóÒP€t̆¡Ï–�Þ)€7õÇzV ·»ÃÿvÒ‹‰Ù2G2qÿì€ûz°ÿ·ó"R€›ÿK@³ÿÙ½bŽ âø*à yº^â?$ÀV�Ž@2°c­ÅýßR)à#Ú‰Ï:_�EGZ/N^Ø« cQiž^=B §«}�ÒCKèJV[ �g*‡p¥ïèw‡˜ ‹¹^r�·éOˆ½Æºš7ø�~f †.Ê…‰²²ÀÖ•ía¯fBøÀ“QÍ1&¶H�­×›õ1€:}9ÕøŸÃx‘k¬}ùŠ>ÀL?;‘qs-#0×¥½TUîì6hö.úk6ì/ÄbãЂÕêÁJo×%¶a‚yQ ò"7N‡;ãÅÿŸ¹{q3KÓ}Ñlh*³l°×šžö¾iRò®-ƒA¥�°bb6‰“}‘PÌfRTþ�"t…¶£Ý¥•¥tevwRŠNï„EÁú&¹îO0^Æ’¼ÈbþSû÷{Æ'…¡Gø�»‡NŸ¾ÃøÞqøÆó¼ïxÇ4�gGi;[Î៣&S0c -å̦³þè`4ùV¡"à”›™®ì'ÅÛÆ�†¶?‚µ¥Î¤`{‹¢#_xIt�ÚPˆQw‹6ßÙŒÁ5øÇd éz,ªˆFæ¨ú#žFÜÁ Ñƒiã�ŠÔ¤AŸÚûI»7é¥SEo1o�ÿÉÉ®ša—ó^,Ôµ€F˜·„¹À›�€cÔ<×ZÆñ®}V,ÃŽ€ø¤7lî@j8ßßÄñÁ()!]sêÀÓ@Ô^ʹñˆ<œš<_ø ª°� «>€µŸb÷èêR€Î=çn#X³Õˆ6¥Ihèê79l$I†ìß^8ÀŸFÀ¤:UÝâ%b“9CÐÆ@Ëý³Z~ùKÇöÀO¶.9éödÞv–n—£YÜ÷jºý3³ï'w®Ý¾v“ÙAÀ÷Ï´ÿ^ÆàÅË—¯?T¯WU[¾ìX±è˜±s@Ñü3Pþ ð—CÅœð”9JxüØœ^2ŒŸðBï_²ìžÝ€Ç-oï@úW�ÿ”é9Áß €�Øb(ÿsüßÓ3 á:@½À@â@âÿþþî~ðÿÞæ öQÜæÚK.(D¹—™K4îZöd"� «3VŸDõÁ>Žó`Ë—Ö¨"Å@«Õ åä‘T±v^ i¶œ!jÐfÇì@(Ñ&¨ÖÄÓZLâó†R5�6Ñ¥'Ît0£¡á@+á-Àq?žzn¬þAKsñCÓƒâ_€­~�[<4Z½h›Žx‹Oœí€š-’joI+ˆF;!3Þ�±Ñke1à4 ;|H”=âˆÁ'£zBOizÕ –}HŸLdmÈ}Ù–“Š ¿æƒ´€Ó^sp0™= ¥BD(u�#¤�ð·¥¶ ©D -ÛdZE}I¦í ,ÈãüÑ�¢Ž?Í$D´xµ�/|ì<v§$ùa½=aÀó­‘*3J¾nš¡1ÖŒ`Ë­Ôm ®Rð‘Ú†wÖ«àz\Ï S[z_®],“4·¨å¤þ²D­9þg³‹¬µážùºpN€bÃ(«žcSõ×wIŽåðÀi-€ìܰìàƒ²ÎP@Ò’K*€€… >h^!ÚBØÇ £Ïq º@wlíÕ -”êM|Ú‹d©S䤤ó $+&eU 8?�SO}¡ßÌÓ…(d·÷&´$Éç�Ä!r×QÜ•sê)«D½Þ<á5Õ$-õeðþ}¢ÒŸ3\»zUô'ܼé@e×ú½rùÒ•O÷ÝóçNî¿|¡ùÿ…Öÿ—±üT…4ä«á¨@û?_÷øªö¤ úZöÁü%ÁÖÿ´9ì�¼6l¶6:…œÏ`NÞ¹@%tÊš˜EÿÞæ9_$£bÑûŸ fy?žã¿€Ì$(.é°ຜ`1àþ+€b¸4_  èîÅ@±ø)ÞÅP»Å+úÿ²`KðÿÃVlÚÞ<üâ% ÞÁúB)-i2¸LLØ<Õ“ÈÚoO2@HÄGrµ0ÿ¿6G-—Þ™ÎÚýƒ§ 0š®šø`BÛÑ¥±¦áG—¶™W” â<ýNwÇã}!í­maÀ™ "Ö„^œlÕmØ¢µKEjXñ-¨’šp�¾{IIÛvI�|"’ÓX´m‚|£Vÿ€ §íA‘Z]ÆëIØ@¿–'§¥ÓZË,Á íõNu� ɯ~o -â¼BhÞ�«BWÓ&-\AÄ–³TRÓ0ƒƒÉQAMØ Ùš A3šú ü˜*;ϲDù Pñ]ÿ¸½Ñ™NfÐ/­5¢¾Ä£ß2e6öãi�§¨gº@êÃ8¨«0 -ƒ°ò-RsS²AÞ$"÷n’ÏxÞ–:ÁzTAÖ�H*â¼&T‰ã+e\yrÒ(€Ì*i†W>§YN º Àºyü¬Xæ£ð˜àˆ›g÷0p€¼4pÁºyø™€€R"yNLÛœº„HÞ¸qåzT,[[£˲@‰=5£bø'õ‚‰ gÛC¨²ŒÄ1bªã“íB’a¤œè;PËÃäµüŒdjƒ!Û0·€óùá™î'Ǫ @/@áÉà#µþe ¦�ê<|øSQ%ã¶¶3†´4å�ritPY¿UKŽf£!�útðÔYyyêE¨?ŠåtäÔºÃ�îe`¡hD€V¾¥·�hdÓ@Öõºº+×Qÿë­º>-ï­©P�P±�¨«æ/ ?-VÒ@3Æå+RtYjâk“0g×?ÒMäÊÌÞf¯¯SR“5¢Õ*�@›Úä7À iÑãÐl A€ÞØÕ ïñ�ÔA€ì·›M4Zv¹ ZÄæZq›ÈƒÈJ혼ÈKPL= ùÖЩ՟w9æÌˆµ�?®ƒ,SàBÏ}Ù ôÌž ;KHlŒüJMª�ºOrI#Ø…Ô¤t4C¼ð5Wúk€NNJL‚Ñüä/´ñͦ ì²S6Ú/¢+3qÈ -ú/×%²(j4ÄÿP†×…óYø§6ŠNýÖ>nžÕP@WÀ³¸Þá<=ØÀÜ`|&�ûq«åy”s­ <�IŠ—XÉÙ´k±D@ò"1Jøñ -)S{ÄãÅ7‚¿" rÅzx¦ûía”ykº‘_ÚËÍH2µö”-v�Kβá?ñJ«yª©`½µ‰ÝHÈ}¹¿�Â×ý’Àæí9æä§ êMB÷•0×ù�þ;Éð| - ¯ýüN»rùêUÿÉ®Ýqýß›W¯Â - —>ø_ïþÎ Â^€ú„zÿ¿úAðã�?N à0Dõüï9`GoÜð”@…ù%,q� à÷T;Èç�ÎkÀî¡`#€jÿéáÉþ.³X¨ooØß·œcfØ”ÄÀÆÙ_$Ã™Š’; -R*áó9þßÐ; ݶÀü‚þÅ`pgПP‰´ÿÏû€ÿƒÝû :^Jß}t÷%/ÖƒàR Ps€ùËQe K VÕ„(±ÿ?üMO÷ÃÀ³nØ0Ñê^÷™W_à‰·x„iåÒâ¦=¡5äQEAQtçñ§½Ef61>Î<óiY «ƒûhµÚ[¨6„èK´Ql§q2»\ñÖùØú\Øæ @WŋʠòM›c@·Ê¤v¦'-¤Ó˜y"·eR·H¨½òý�fª§Ù©'³>B7‘ÚQˆ\­CDàÆl·hZ93æ`+èØš`ÁV„Íùd¼±!í3w¶qææ¶|EÞ„.m숛v6hâU(®ÞKµjŠþäí¿Ý#ü1[Ä6q€ l¹î‚.“b–_Ç¥.fÙ8�Ü¥n2˜iãTRóöUJ‹}”^¤Ió�\®L¾ý+ø_ªH^N›;- 3ÉymœÖZÖŽptEî4÷x³QÉ.3æ-[ì(€³ù¤ @úC�K]o>Hb8Pe(È"-‰XøXÎ…¬ú¤¬JJHס cQ -á #ŒÈ¢¤~åDvA©-æ‘R†¤ÄŒç£ã­u˜ñ„e.-X!)†ñzWsEÍ#K <ôì ÐçÉçÇ4¿[ †§¼A3:)qDZ³æ'‡vÛ[Ö\ -³ýo5ä1´N–ÀÖ!Ò—àÖá?· rÿ€‚êç ¨ûŽÔ€ï›z\YÌðÙ?:À÷/že‡¼²à§~€T£ÿ¿US¾B–¡=sø™÷8 €§œÔ°@ü%ð7´Õ$€§Î@óÕÞ¨¯O N�òد,åòÓ§¿G€2ƒA…ùZôý 8û{á�IS¹ª0ÇÀÞf+Ns À!ÈPý9øgÁß°·¿»·»+ƒÓ7@į €KB>*NþZøTc.–Qš.]?Å |­¶Ü<µšæ@h ©š{›€v‚f‡¿<þµMOxNð‘Ï©£ §‰öÕÛDÙ·çùFa,¶Z™ÖžÖà08ÀÍÆظpAYÿ <ÙìàX]E8.ðž[kÔÓÀ¦±çös@RÓ:”Ú&“[*wNtÉ~l�TU -n»%¼)µ¦MÌ<ûšJpR«OÒ‚p(M®mªróBÒìât$“~�\®(gÙÉ_öWRsk'Íp&µîÜòAöGÞ îPþ3n“y>¾pác…i5K#<.W $_ŒÅ8jÛšÌΙJŸ6Ÿod–V¹_½Œ}ˆÃ1»vRk0 É6 ¹­"f7*kêÐR%r`¯ÄZo”¸_ʽJŽp%õ \ôò„­øÌ(d À»˜À7@·Ö�S”haxÝ(€7Z `ÈH»4 -À °&R"gñ(%jUÈŸ ÕÚ´j 39÷0Šs8†R—“ý§+ÞN>I½”XA†CDeŸC¯?žm;p,IVÍ ‡’îl*ÃÔ Ñ¦Dú_ž%NôlrÉŸQ:l·arã@>åÖmw4þ#yÆ<*‹ .©á“'Ý�ªäWÂ! ¨8ÀbG û˜ ûZ Àú ¡#Yi‡yÑÔz×H­V‰ÔìTjCd¤•™ö´®Ê‡\æé3ïFÂzЖÜ©seÑú£Q‘ø^ #1Þ‰±E$3ûNª”ßlŽˆ´¸¶¥HÙji�7—Šd‰Õ/"qAI³( ]àßP“qÛz­…¿d&2˜ÉAF“!ó0~[%µ °›JMQPr‘Úã9K©à#+Í9kƒÀïx»‚ÿ“@�,T¨ôÔgÄóÚPd’¿XÝþÍŽæ²)å‚þySñ€�þÀÉ*¨mlƒ‰ä�Ùnªô[à2òWlsI«?ñ(Q&‚.ì-{H­¥N¬£R…Ë)�7×Y�ã˜à�çðlæu8€!g– ÊG™x*kŠÒõ¥PÝp{þ¤žë²Oþ�wósø)Á¼j÷ 5¦:bæÞåc.{Âp:Îj€é¿GÐn} nï. -|G4�LT²• -„œd¿6hkÒ2àW[KUÈ1‘Ï€ž¿A¸R”g2ÿì¹f÷ÁWîþî»gß?çõìù³—ÏAý8þ íÿõàï+,7úEýü66�–°– ¿l仇޽®Ÿîà*øfs§}±vñ5³æîÃ?ç À€g?^ox7>HµðÙy¶÷~Õ 'AÜäS sü×pO ­ö…‹™ËçâÜ _P:ìÏ€þ¿»û ,´d¾¯é˧:!!@€áР𸀗¯e - DÚ,ѾÑH9tÌ‘¿Aª^µr¼ÍUšÝaÁ•´[´x¶<ÿ>ø´8}°ÐRÔu8!xDÛPÍêp¬�ÚÔÚbZ‚š&€‹í¿éâw’š…¦&#A,š'#²Ã´4£"uGŽ|§=WèH�6�ÓÔ¼"ý’Ô¶z¶@l¨ÙÄðêE<»4dÚS”Zö`R£Ž%É4�6÷@=—Òˆ•>TΡa4Bùo[xš[^÷(³#!4@õo2%Gªh–i޹·IcIûH&Ø:’?Å@ -à>!Ó‚œ=Ž() ®·)ŽÔЖD—´ºQ|¯h©•iûݦhWµÑAý,ç$lÿS[¤ˆF¹ -ÿ£Qšo]l�ÃVfg!6(ÝÂ_Hçž] E½œ;T="[¡Ð4{#ö@¨Šš”ZE–ü4ŠÈhkÕ(2�Z�*pi7T.ÙQ×/~k«]oôÂ-TÎ#{<™Tªùa�ŒµíLËâm¥ý&�(ôg3˜œº=»­LÖ ã1« ž - !(™ž‘TYʼ­2^ÇË¿ 'iör?jôZJQªòC$dƒbiÒS%TæàÖ‘×·¹,ñ˜Ü¹Áüê‘åÝ2r´à¹�ŒKÙ5œ‘+;ë�¸\œj&ñvÕIaf㫤'o¢)Äîa»©‡P.6OGÝß©‹æô€º"Ù -óâA'ÈJM2,?P¸±økºÁñ÷ìPÁù¹ƒÿR€C÷ƒG~ùÁúôwyñâÙ‹ï�ö÷™àÕË—¯~úéÇzõJ€„Ò”¯„c] à_à¿Ê�lè%żœ6Àܰþ¿Žt\ Èó‹Àë €'?ùü½úœ}2‚õ^¢@È €ŽUXàÿîÞÞ½Îðߨi¨?„ÃõåQÐ)Þÿ¼¿¿w_ -p¯XÀyµö£€à¼]ùäà†qKî`¹Â[.ù6FšŒ0|I©‘L©¹Ì{r&ȋԚÛ=Æ}›„Èï¼l.%Øl*»R�Å¥¼K�AÉ]Æÿ‘ë ·ÚQ”yp:ý]—Ötï(€IR#fúþ³'Åa1EÖµéá­ÿôIDATRrÝp¹9]!&³Ÿoâ |Ê>À~«Óè)!ÏZÀ—€%Á*åÍF“‰s>Wµš�XTä�f,w£R9CWÒ @ª-Ÿng8ÞæÇgÄÜ#"b— ñOJ$«çlBGe¿J`tb0¥äŠ»£7мìð¶a“ì� PÞs¤À"M n ó-ΪëØbYZæ'k(#÷äÙéëF+ÁqÛÔŠ¤©½=�ûÛ>^Täö,â<›d‡@Ýóû¬‘ íü;«‚JÊÚa ¨1SØÐ†ØˆT³?2XþÚÈòÀ¿èß -¶/ ~ë%”C øž-__vÀs¿�ðOÍÿfÖÌ,€üeÇU'úàòÝß~W†ê(úÐýÿ_ýµÂÿ}*,OˆïßÜÐÀÑF °þ—|W9@k>à€Çó¶¿ßî ÊÖ�²÷„�©ÑnûLïz¢àù¼=XT+)¥•« -Kø_|hÁ/k:T  v©V Y øÿ.üÿ"=†ÜOì`|É`׿Óþ�ßà¿ïòZÀ!ŽpaÞU5)¨ à“å?ø �0g‹VœçÔ6¶zv§´&³©³�ä1Îs­a6G‡Cÿ…RNH+ÙKß{.oלז�¶¦ºÄæO{€¸à4[v4Z#›ƒÒÈÄðø_B³õ±­hZN!>pØûÄÍj”‡¸Õ½ü*u{6EddÈÓÒM§¨øƒ¯ ¶�4ÊüO³e]ImäJJ`?è�ìÃʽÐÄÚD{Œ“+Í6�9\âêéA( Ñîõ\diJsëšÊ¦¹ä7;ËF€”ìTá"¤¦MMb Ä·Ñöi»Ý_K´�\ø˜lI{šž šúmN"JBµÞ#5[‘Ú…•º$•ß™FlO—¶˜F£¤ì :�<çq™!µÕ#¹ÁY© üw*×åŠÃfÁ"mÿÅøßræ…éÁ,ý¸§ý "z±{/~$1lÜçÝ…2~6y ²¨7›Ôç­_B�Õ)iÓ^�QÔâ+|xܵ2{c´\*Œe•+‘�ËØòüä0LLmÙvZ‡æ�œÑßÙ+­rCrZ=ìéžÏ¾n]É¥"9%e*ÌqóߣíFîŽü›óRéØÑn’œZC³†i.pŸ Õð -žïQ‡ÀWÉ<Û¦±IUÝ.ŽÒRò‹r¶JóöŸ�â•§_N -ƒ°ÝèÙSgMAVRoAY -^F z!ÚÏõ S‘÷5 @5iÏ]“ƒH¡Mk«®#�¯f)v°³Ñh4]‘ÝÀï%”CÍF븠ûZ À›øüû¥_üÂUÿÏûÖàHÀk× ÅÀ  àƒÿõ»ý÷?^<Ï$ŽøáÇŸ~|õßU(MùJøèÒÆp$ìAn@Nš pŽø‡_ŸŒ×Î�ü�Àƺ¶Yí\>¯W,2‡Ó‚§zöýм€·ds)µ(Õâÿ“{»› ¿Ÿ{ú4* ð[áæð½^ôÿ0€‚ÿÿ,Ø»¿—‰€âp=*±|¸dXòXé¨:n€þP/-àj€@a<›ë�"­«€:™öj•°J+§ò4Ó¨ˆa§ñÑ »“6�}žF3à\bm½í²ü± pŒ12F?óCN³½±MO‹™«Õµ”€ ØjÒtä“n­;8 3“ÙxÒB%öÁhÒ Æÿ¡HmÔë”äqDœ 5¢n#2m·ÒŒµ=ÓÛ#5ç¦Áãð6& Rw¦–:¸‡ÃÜÚ¯(Ä»+ƒ&ŒÆÆÐ¦WÕÉ^T²bÒ¯;怖Ўj�¼‘ã Gƒ €¡" ÞUKˆ�3Må¯!Íâ@C�¢I½aZh¢ùO`ÌÕ½Þxg*Ù:”Ú;xÜ=6ÔÜ-À𥦱vÇhj/®R;Щ) …Ešºå†�}b /53JͰÿÀù— -<�¸dP�L@<’.f† ˆE*©–¿ ä,áù­›�fŒ·b„0U�t@ H°Ô*Ùã7AR)i²*dIÐüÎh«I–¾—œíuÁRUéÈ™/¬O¿NÞ¦2qs4 ÿ”•ìß?³ö¥) ˜š0q“3J¹XECL ·5Ñ\¬tÒ'ûü9ß�ŠÏQ3qÙƒ€¤ÞCŠëHj‚é°R¦VzgNI’ª®µDVr"�ƒ27�òȵz‘ŠÀAÏ7I:4v·w›óHçŒJîUUÖªD­�^Ý®û yûÄ\oð<“ÐEIuáV) ;›-°Ü sMÀ�åíåP©f�ãïÑðï_;¦ïoÎÿ¾|ÕÕnþÝÍÛ®ì<€¼¯\¹üË_^¹ôûýìçÛNÇþø×Ÿò:ÉàV…å'†FÍEƒ3!À± Ü/pÁÀÿëæx\&ÜïtPnë�Í^§¬…¿öµÿ ²Ä­ïõÏ4¼×y’¿a8bX -»÷î�ý|öîíïí: - ^»(/ÔõÿÚ%@#ø=Ýÿ†½ý=—ÐÐÂÓéŸ`q;’ ²,Â¥#À^.Ì¡RKŠ⿰ðdVF€â°hÌA†4H`·jˆ“Ø—lAøæñG�åßÐågýI|Ù¤%³Å�ÌF4‹lkþ�Ó” „' wFš¥5Ós”Ó«–ɰ%ºAÊ3®W -Õ¼µðòÊ�2¢PDGEƒ˜Ö›´èÒHÍå»8¹çéÕáA/"©sËbÚî‘äZ{–_S"k8”z8œŽ%é\àMœÆl^ÅÛÉæ/À替ŽWc[Gîç=BirÝ« íÉÄ5"Ú�X[P«i=syÕ¢Ú>öhÛDs tÔjº(šh»Öt®#ÁÏŸ’ãþÃñ4´e1ã ÇI´ºì�§u‹Ô Zé–¿²ùN‘¸ÞŸ¹ ÉU²’ø¬ -YÉR ^µ:¿Ò5(2µÿ/¦_ÌRŒ§JZÏ÷Io Rï ¼l‹R‚CQYÉ 2ÅŠBÊJÅ"¿9˜&òQ€‹7§I DýËD¼0c’‰V'Ä ”v›dƒ±{¨ÝrDÝcf”5ҖòÝiP–Óû‹qú%šrNo0›ÌFS¨!I:Á6™Èɹ΋H“éIš¶--¤ã¥àÚê‰ÇžÅOùSVFo‚lZ|(�1³bz„ÃüM\ä§÷!ÎÉt2ðåÂÐò*¶Mlq‰@Þ0€"[¾è %È�`#™@K'…Ét–§€`7²yÓr®’’s>¤Ê›¤:›C܉{¥ rrîgú*RÆÞÍî–3Íï}žð~}Ô×ß,\½,ÞÛ píæ�;·aú”qü§O~ûûÿ_¾xäùêÅóç/È<@?�¶À‡—ô8Í   :²°úì—0çâCü�€Ù« uñ"ÚÙ¼¿Ú¿&ˆ×°oáÑ“?VNžixÏ>ïØpHîq´|ööö73ðu-1âû)Sø˜.€bà½Gؽ?·\:´äêÊà ÿò&Ì×HXa^Z…?ð¯!€W…™±#Àüq¦yO¯rÝh g£á0«Í�3�âp€¢íÔ¡ÛYBØËT –ð ÍBt´BiÙ hÚ’ŽátŠVÚ)#†ÁØÖVtRÇî9­  váƒÊ�&!m5­„M M±2âƒ�§w'D¹À¢|¸õÖάlÑ8ž]˜€ Ý h“t¨IÀüHo¤m“c·p/­vɈK[{^Ñ�#™$¨? Ù ¥6ß"GÈÒdVL!ÓQ½;á9E©¹¤d9™ß· ¯µ¦Î¤DdÆÀ™_©@‰-òb‹Æò×íö¯…-òæc'Jð˜üÉn ) §˜ ©-³þx¸£¢L¼‘Z=¬_MÜæ÷h€Î<§-¾©àT£¶íûpæš‹³œË[©9nv3Aø·a·i ú5›¡ÿϦÓ3xr¡Uáûm11GS±�4Q&‚O±È‹+ÁK�#Hª~òœ¹=¿ÎDQ_º[`Š8#èôúÀ{·?i¦SëÐkªûÎFû3á`Dê{Ï Ó]j’H3Ý¢ ,`ò,KÌa<þãBo-M1+yx‚|ñgäDYC­&^l±GÈà›i -±µØ�I1;DĤwš\ÓkánËMû¹_“úìÃy!j&½ ‹›P}mÊÖl�“öÃA_ÐnõœðŠ‹Úí-’÷rB¾ž€h“ Üƒ¸-Ø’íÖ™790˜È’]ÌÒ‚rø?Ïñ”º -±ÊÓÊ_)?+"×ñIA¡…Ùl÷t?5pw´'(ŽÿœÃþz}k ºB+ŒØ°Ø(¡:ÊW·û^-™ñç ^W.»ð_Ö¸s“×íÛÎtõŠ+]¹|éê§¿ýî{ _ À˱<õâ…Ã_¾øñ‡òZëxéÆ�µšý"lØPkÀÖ[ -ì/ÛÐ)C^¿ -x¸5êÄ´»+ç:áýh³Õ¹ÊàŒ»O¾*‘¬a - ïÙàm @å(öŸhØËzÀ4ÙÝ~±Ø.ÅÀy|ß‹‰€{ûñÈL€±h¿ÙCÜ$š‚ü†E€vó²øûyUÕ„k> -ðË‚ÿ äðD?â,ŒÁC¦úÓšÍ�§à”“áñ°Wi7Á‰)í� 0Ô¾]ð%-—A³ÝªwiÉmö¼v”shü¼ßt¸3D+ j;\:MžmžP T«ö±Ú ›¿BÊó>çúêÒí>x»EŒNàÊÝòf"5œúð[§$ -ò…• -ÉL @ìßÑÈŠ €Û•t¤Ny�l1•Ô%Ù½ñp¬Ô¹„w´§|Ïlt9¡M*¡,mËM^"|cÜ}؃hØd†64êÏøŪ7†O-Òû_¶jzŸÕl4Ñ Ì[èš’f† HÚÎøË-ÉLó—•´V£þxÜw@†9Ä™Ü?Ã@7¥#Ûû½à©a-d�2�¸óLÔBê¾§z4ÂEêÉpŽÿû/­F†ýkºméü7ûB  'žtêDû×-­¿åòl̓-…(Ã1ÉÔ~Áý´òQ({u�´‚R�õ’MàгÌá¢Ñ{‚PÆ õé&ÖɤÛÖ�v?ÜÏ)sÀõcê ùOnØ™D6¶IâCÍG02GÖs½«[¸ˆE JÄ· �¬%»!£ýÑ„ö5©ø‹–ä‘N§žš ºÎ“=�†Îyj4KªHSeÊSóW…Ú4¡n{: îdvÃy,IՔĻ -•Òóå”V$îBQ9“H;ɽDÀÙüyÀaBmOD´�F&²×Ç�„PÚ‰Ê"q�Ÿ‘ÌÛZE‚¨Aä`vxÀS% Ayî•N¬GÐ*Q|×¥q¦B“‚‚|tØ×‘'#7•ØP¨Þ­T¥¿Uš§s†÷è� ÿ\áç—çü¾|è÷c÷ÿm—r>à+°‚k™ àîo¿Ë,À ¯žÁ^½zá,e2€²PiËW‡—„ö3YÖŸÀŸ¿�í3yT«ll´‹ óh÷þ4}ö­ùÞ× Xz±|µÔ?pôU­hxß>oÇb"µR­±ÜßÛß¿çT€ »Š 0ý÷b° Ñ@}õØß{tÿþb€9þ‹û#Ìß K]€ -ûóSY -C¨ª‰!Š¿Ùø€ç?Òs#@8€[ûëm½x"gßh¾ìÑäӨϺÍíH]€E�F.儉Þpêõ�%B[-ͨt Zvì c–f;7äéiüÕ*š‰ßµ?øXÕJ­€&�–ƒvÄ6d¦›õŒ‹õpQš¼DÃÍi~¨vóO¿™T‰P$[,€r„Š™¦¤Têé˜cqMà$ ŒR·�P¡P”åD“ΉÃé (å´@'±NÎff¤gÊPwàZ Q<Ù1¥= ½=í“#Â¥Kh5 ¦áp‚Ô¦`‚`͇\ôt¬ÀÙ6ªëò;'1È¢ÓÒD~l¯€0H¾ÔšŠdNzgò z¼ §lÌ.$LRŒ¯;G6°âŸv‹R[z�UOCŽ! ?ˆÔ¶ÿÐ)¿©0­d¹kz„�¨Âeì¿®¾f_”o|z )Ð"²K¼Døíþh<ŠºMü3ê¸SÁ$ľø/Øpó*ˆ;ÝuC:“ Í -ˆiO•³ëõZ­E@�Q‹¦‚"låY_…QÔãÙ ‚Ť“,’Ge¢;r¶·åŠ:D+ŒöšöX’ÞÜ?èö²Jâθ…lq÷É2ê‡KA›�D<íOgO3ÂN$<$¸!{ù5MÁw�Q[º-©�&Y³È(2ÅÚBîSZâþ�dͦÅÌ ü™Às¦jê$Š;#O?áípéµzÞ<ûðýAͧZØø oY œC:ëh×d4ðdÅt$Øsd¬5O&jC�ôYÐí’Šš4•$e„_E²xž�´¾Åͺúñx†ä/EbaZ ÔÆ7½÷ex‹€ÌþûuóæíOªé€œ ˆc¿¼r÷O.üB€—tÀ¯ÐúÁ}8€Ë½\»à¥Æk�â‚IØ8bý÷½è÷4@ø­@µ -@»ã:7�Îî&ø»~ð~åÛ_-Ìj@à×DpÂk·Z5Àð¾}Þ’È?"R„Z -»šñ‹)¿Z°²Ìçp!?ôÿ% ðÿO€À €û‹Ñ¿Ê»¢Þça þ •y@@©%^±ð¨6€ µ~Z_I�z±Ki¬Ä­‚;¶5ž!¸øìÓüJµˆa118)èÍÀ˜QévÕÙ *çœÆ75Ó”th‹¼ÌV›V”6‚fÇÇ·[¯‘Wƒx1(Ò8V�–xŽÓÓ-Gˆ6Æê5C!Ô%‰æRQN@e© -Wq-²õF´œJÍ}F4]’�Ô;ÁÓ¨�Ÿ{¨ùØÊ–„Ûº™¬qœ£$zqúºMZáDƒtÄ-³(AÜmt‡Ð”Ñ´×D×ò­µ�h(Çt2äß$T©'½‡hY\¬*¸Õæ6ü @é<Öu«V¯\ËL€™˜ÖY„¥Nê‡ÆoZzª;æt²å$Àܯ$«×r™·™©ª€>“f°.Iqä¥oúKgRì^H#r*Œ¨JÛÕß>õ–ÎÿqÿçU~¼å©\±ùWÛìö@ÉB„Ú¥#�êNkç”Í…xä²LºOEè;`Ôk5Ñ$3YbªF–�ìBÉÞY&¸‘T²…$NÚ¤ÀE@Ew¥Ê‘+&Œf“–ÄÁ'ꬂܰö z®ÎOF«s/JJ�ƒ˜š\p‰ -RЕ޽PÔ)˜ašÁ‘·ÇÓJ†ÛQ*³1x+"“ÑcŠË2 ˜ò ÆxâŠrNd§¦ªñˆÄq'(%p%KbrŒ' €=èÐ.q4»œ$7êx®mk(µ^†t�?zü�—SyùÒ Aæ gc�A‰P9()êípþC£9F9�}œ9ûf6­g›…�¼Q)7rOZÆM;½ÞA»¥ÑeËõ+4_‘ϵN0vÿ7·`Îv§¬ Ûy-6ƒ–Ù¹àúü;ê¿ý7 ×Ê€„›P€;wØü_�\ûìÏß?ñòùóçð€gp{œà§~rM€Jk¾>¼xãØDGÂ’À¯#/ðþˆþ ûÛâÿç¨w:à!{_G(@ÙàV»7¸ xðäkWÎYÿY&ïÛàíÀô� -8r̓sùäsÿþþã½�VýúõÊ07\„8§«P ÿ”逹*€ÝÕZ„ð€ -Ë/,;ÆP^勃•à²`~mÙø€v|æÿ¹%OÌgÕžÿ zÝV¯vÍó¬í¯¼Fé|vZÒûÛ£?виµiSP‰zÔ«eø1YŸ'{Ú›þ¦ÀÔ©»”~ð�VýY?!ZW×’©×>ü0CÒ}«îÀ94T= •†ðÀNmþ¹æ=­®xåí8“ZM¤ˆT $ñ{ih;‡â˜~X€úºØ©ÌjX5õGöÈIÌÕ55| Ó™Vü>‰%x”Àš“�ÆÐª7Þ0ø›'ò0Œz#’¼ö¯˜-Z^䕌…¶è$èa�©cËæ…švÑ•Áÿ_Ç  .Ÿ„¨7Å>@þD�æ–¤O-�<WX‡¹R&e‘7ZdGx_Ì vó;àÐD´é¤Þ�T¥@»%WÍæü°¿åTüªþÚ%„•þ/¢úçgVN ”‰÷ˆÅ×:ØÝ¶Iؽ1t‚3ìùqiÆ�þ˜ÓbÚFí$3ýÝ¡‰ð‡i�:&Á*º¹è†–ßög -¸k�pr]òš -g¿�½ã3d®SI$¥»+!Ïä…*ζÌ(4²<äÃiC/Gc4âr À!ˆ†šcêgá|>@P`h -œq2;xútZlƒôNÄÏÃáJ<ÜzÓY³=µ�ŸR E†É=@Z.i÷¨£–òÛ‰fŠÂàDojš¼†Gˆú¡Œ&F³•rÃËt¼D»5áyÖ¶Á£RC¥8LÒAyˆ; -:9XU¬4\>Ç4žÁ»%Išh+È �z:ÛéNŸ’ŸŠ8qÙɃܛÍ-‡g´¡0Ío)‰®]6ƒ-�­Á–©Ê%<+ZØýFÁ6˜†4mñ»³äè{£ü· cîܾÍÏ•+W2 ðÒåOÿäTÀ:ÿ½x¦àǯ^ÿ™(KÖ[ŽNp<áMì à«ÕÿOö¨ÍáN§v±Ö¨ÑîîŸü1û å7eP6\¸²l„óú°¹ñóùì?Ø}‹×’À™€ž<ùc¾:bpi´XâÇøGµWQ/&>ª>’sÿþ£X.•yÔùË„@ޝàÿõ9þë<ÆÇ txE öù­6Ôuš[L[›[_Ñ~ˆ"ÆÃÚ–ÐÞi T?§Í˜¢ê>Úw‚gwŒNàD'³y M¨ƒ‚b\tÇ!ç�Ôum?ÕJ·4 sg;Û¢ù±M¤õ©,ñÒÐkC€ÏÇÆ‰vµ¦@¶´\4ý$mÒø²ñèÔ•r¨{w)=cè|¬ÜgŒÀC@‚2EjíHD¬âiò‡Ö�ÓIG·?�€”»RžlA£* ¥}Ô4²\ ;�ͣ׊Ç\_�@ i0ã8Ä÷YVå邉k À¥,ÈceÚÒî�$ ìÇæC±tµpî43½"~ñ£;ƒ… -Ýàb F— =úÍSjíÙ4¨¤Žk ¹\Bá·Tºí°˜H ’uâˆÜÜA%Z �âØœëþ¾¾˜9ð@ÝV†yògݳ·e¦ƒ!@¬ˆÜÁz`eدYÚ“áh¶3œþOôyª'’[²�*œî‘ÞdÖž å‡0‘º¬Ñ¸Ð$�Bî¤{8³·L³—kÓHiQݵ'˜ë@�u-+(Q{½–8€wFO·rrƒö¨`W8ŸÁ¤Õ"!¤ -%Ãá65ΛQ©ãñi!a1±O¿ù†:¤­^Œ´_ˆ yõ{pÚ¬û ¼¹sËd->˜Ü¨ Ø©ø<Œ3 0ÊÕ *™ä>˜ÍÀy‘µ%@8Ö›ñÄ) ]{k`‘Ã\Cè{!ÚÜ8³;áj“}>ÉŸi ªœ49ª�=Û&J®6à4¸ætXhô˜A†³ÿI}™N�CÓ�‹Hà1�zR1�µfw§Ém�h‹"…޶š=¢ÑÀuì5‡[ GNx>é¬Ópå2°ŸáÂÿÍÛN L¸,¸tùÚÝß=s  ç/¾þá¨ý?ýð£??¾úщ ¥%_ ±,?)h(S® 毄X6ò€Û=N-Y ìȾE˜Ãö�×YC5 0åq<@zK€÷ï°„çç~I™Bª`¼ùİ ›rÊkîpɉ€‚Þ„túÿiÿ_$àÕPÖÕ£½ƒaÕ9(/6ÊjŽôH®(!À¿jð¥€'Ù–˜'|N|öiÅhÚKç?Çh&hkµ8ª\åmZ€jè úØ—Ó:rª�Â(¥9 | Û¥yMÃÖ“Æñ—CÉ”p¸½ÕsõcèOœ èÃØ¼›Í2�©eóg³åwôµÕ¼H' !i”|I­d.µ[.�’ô� -\2:’,ýÞS§€m;>ôÜr—HIó®žëªP:*ÕD"Ï4WÀJ!…›ÔËNY‡¿ÕxJK`ö€>ÙMš ²Ô3û#—CëÍF©D@-4ýĤàƒVM4ê:pÛžðàÍEÉ>§}„È¥-¤F)¤¥Q³H Ͳ](ü6Øæ5*È!!K‡°%µ$5[no‚Âz@껑ÐD.ªF„•~éÅ0˜8B=ØßÌX²%ô//¿ôH’Oü Ð=©‡1EC•Û”Çx{´í<ÀƒálL±Õ:†’4í‹+&�’1{gä,QPCìÜi£7φ”JÀÌT Ĭh:Ü�Diìgå1�)ÐR�öÙA¯i‘%=]ëÛx”ÜŠZbTÜÁg n—ÄDÚ"/%"îG††Â¡ÏQ«®�¤x¯Á‰ŸxÌP¤@¾@»$l6ùƒ*C©µ&”@Šn·nå§H·ŸB‹LR™`ŠÚ/•ôy´ÚÜSdv!H)Ž›?ð4( 7àÒòZG¤:V&]�·ô¾Kì8 Ž!¤³/EQä±öMÇC -°Ô‹Q¿Nr¬¿·ca7–&Cú?`jf.�ˆàž{‹¨Eä¡i#A{ @oðmo6ŠñA‘ ÜTƒÖHNÒmvg<�kÂÜ_ €v4mñ»²THþ¦A ÀÍ;·oÞ¼&úß¾sí¦¦€bøå•Oÿô=šÿsÝÐý_�ý?þøÓ_ýýéÕe õkè°²Àñ À.€µ'¬ð¿'À_�ý¾öëx¿X<\Y.~TV8^0>o¾æ€‹¼e‰÷äáp-€ -öåeCì °¡ÈCmèñGÿ‘�=j4¯B'‡ø¡Bl³5xKTkÔÀ��¿´$ý®VCà ,שCqÜv›Æ PšŽõNï 6D®²§¾Û²•RÒ¼Î}ÊÄ >Ѷæ@ G;bWü”öÀ^ÕYžæŽV8îÔë@wA5{‚�b…{\%­©‡;‘Jz EjíŽjô\Q塯}ÑN¯8ƒœ1‰+�?&�;}bzð^ùQ6¹�_´ž`‰ÿ\BCŒÔ£az]=`¶U¢u"B46›Ç´‘vØ’Îlþ3ÀI�2£Çµ[6ë葎sº4:m ÀH"5·&Ö¡öaJBŸI™NÊ’‚ÖD©ÁÉÖDDEb¥kÔ… -«×»^yþ£ØcË^å'%uZ LÄÖî��FÛ0þn�F(Ö£Ú€ŒGÌéÎÎì›äCkê°?™MF¨¯nKqŽ>Ö ¢Ì•vÝù �(–&O£ù´q_M$Æ„L¾pl¡§Èwà`”5ÕÊüí¿ös}Ó!dEê^3 `Ò¶÷š²AãþˆJ¨Vny¡0c~ fñxÆF†¼LØ¡Þ<û†‚pQhk ÷=�ÙÂÍ €%Å4ý&œS‹F’æóª˜H° -µÉÊZB(çAn¤™R!á5hÝ·²„;ðlXœ¤«fõa+f Ò«…‰„ñ¦tv¦;Ã!©æÐxÔß?ý¦p?Hw›Ä“ÎAAõZÔS^íÁV‹4xCKBóÿ[½–µ×�oº�hšÓ8ŸlˆàÌ€Å�¾7z]¾ð—áÿð€¿» H‡@À®øüáÅs»ÿ_½üáÅ+0ÿ¯Yx±@iÉWCíµ>*’éXoØ(Æþò›Í ñ߀�Ö}òlÿ‘c*¸œ‡…ÀE=87ÛW'Ìf×£N£±ùZ @­µùäÉæÏé°ÿèÁ¿J’gnø7Eƒ[’ÊÝ÷øìÝßÕ«ÿ>ɨEƒŸ[®—Y€J@Óoþe.@R“a¥  ZügnàËÀõ77Ê›¯�>ü肟âÈÁ_•Q€g±øŠå¿Ølß�ax»PŠV¥ÍKT±—æ%§@k¡MZ¥áxÍ -Øl8 gñãdZ00 �Ëgž¥§WßB±ä^´k4.Ü -ÈØöÐHb°dQ籑¥U›‰�€º¹ç«�ñJk§Ju£'€Ò½qò±•GnČÜÍ2ÙÁÕ£iˆÇÓŽ@c*�%ÍܬHÝ�éâ5NŽäs ©…H0 =:OŽ#Ô–Ã(õKŒ@0*øÂ ìޤ%B) Qj5r¥æÍ™“N½ÑûƒÖÚ‡¶Ò*bêEä¨àƒvæ<+Ýö¯ù²gÄau³Ý×Tضûó-å1²Ù&gÙ@jòNk³'ò]�îé�º´Ù%§<ñiàQôÐ'‘ #½éá.™lys6EÁ·cTÿÕþ—{ÿ§³/ª?ùAªSß= ü6÷íe`!¡Ôê)J-´rñ]GµvÀå€×?0Fû%Èn¸�F"±ŒZf-"ûø µãì. ‹š¬Î­)–ç"—T²ÉÞ�ÑLゥSw¬µ=R¢Ñ -‡Ï‹õ¢~¯ù¥RsÅJËÀi!ô‡‰^l™¶Zä­X ÚOnÎö··©$m8Ý�´`§}¶)ªo|Íbî¥3Å‚‚ÞµÏÉDAÀo¶åªJ�X"±ˆ -/±0¨ÜhÝžÝUjIe†Ôú ZÎáëUÈR¬yŽ­aNŒÉV€°cSY½€v%=©ÔWGÓ7Û{£ÙŽÞ΀È�¨Ê”‚+"ë� j(©Ieæ2hŠ–©�ÝT>4"g25nÅQr•ºÞÊðÏÞ–6¾Þ”«Ö†bè�ž¿üZ -þé¶iGÓ@¿ À¯X‚Kèügß& -pG.}pùÎï¾ûîûï�¸,¬ë?Jÿ_…ÿ9X»À¥ëëF°ëpïÜPüþV¿ôõk«î—·k·ë ¶áèÞ¯õ¨éЙ{TûWCá»-W Èb@)Ž#¡uìÿ|wãgôØß½ÿƯGÖ¦RÉ* ÀW_“ ±Ü[òˆ  U‹ "ÎãSŒô ÜôLñÙCªÊÐñhHä¯ßX -ÿ/øùHPæÊm.– ö½¸løD/šží�Ϫ»Û|hHë­îަDÀŽ`«Ø£enÔŽj-š¨?èÎWºüi8  1ÎÛh¸åÃ�á7(QzEõEZMç6yŽ�£%¤i\ûö‡ëí^ÛXZZÀîƘNSZ>¤qQ2!Àæ“&¥«Þr,";`nOh«·ˆƒHÍ®"ª%‡@5GgŠÔ½§¤ •É‹†36�K‡†©Ç³~º~œh\Ü"Ö¸†·áCZYDÉ ïËGš£;Wñ˜êé€XÆŸ0tþ×îAËI4‘Z½l0§ â´@z5ÜÒ¸ih×]4ñÐ?B´«Üù©”BîB�éJÍ-‡HM‹m—ŽM.ð0QBÀ½VD€®ˆw=Âw½7LÅRαà9ć[hVê: -Ãÿç¯àÙ`ÿÖ`kpê»&0‘àžžd£íµ ¥žØWƒö\Àh -XjXV•–µ¦cC‚!¡=‚]z;ªÆR¦üDÃåj€¥ß×0u$FÀù@¦$-þòvXëaŒU&PzaÍ9ЦÖ뀮…tQ&Û;¶Éƒ”*¸Ü“¦ªŠ̱¿€ŠÖxg”àÑ`H9 —ú227ùÔ½æà·ª¸£;Ð^_QA‚¤5P~)ÂNéã˜ñ(š¸Šý/<ð‡¶>J€Ü3JJÀ¨áQH!¡"K5´¨A9Ìq_‹�òZ -yLxy€·Ôÿ W®^u €¿sÅþÏÏå+Õj€y†æÿüÅ3'z Ú;ûÏ�?@NøÑEðiŠ¿[Õïr¨| -àW¸_ýfà<Èò©7nðÝ€ÙÇŸ‹ÿ«øºìP«eÀâ`ÇÀI @ @E�ûûkÀ£Ý -O:?¯À£7zíÊ%•¦µòÈ6Ác¸¯!€ÛÝh,Ybý�`aøgòåÿóϸÿ`·êˆ@pnÈö ÀÜ @ðÑE—:fø«ïlØNôO“Å{T:iÜUmã§½­‹m­í -PZT•�®s£¦7]€áÙ7š5Ûm¡´ < —G4 6uÑt؇.AãĖͧÑpµhiih|êÍt¤ mT �›u9[�ÕŽ‰vMÕ+�H %�R·l¥æÁ¶�Ÿ¦Ç~Pû›û5KÍ@l¤FO5¦M”OàMÙGÓÙx6†b�Mªø&Šûp×dV¯GóÄùá”Ãv¶J³œ³G r¯æUhŽÆ• &@^@V²bÒIí2ÚÐÈ;TêBêm �õGK©í3yÒlÚOBhª¦ @(a>Ñ£¡Å¾�÷jŽ*£I8j3 :Œ#‰Ej©Šw$h®ùk‰£@zDÕ®¼ ŽpT©GÐÄ?«Þÿ/2ûßêë‹’¢SÞ5n‹*¹mÑYÔ"ÃLëB©÷دb9³§\ï�qµ¡ ‹jƒ´ ‰Qµ_D;5^ˆñE[F±ôŽ)Z €÷ 5Öî$ Ýf®t•~p«;ÑÞ`ŽQec «óÜ ¹�*‹„Ó%Ηe]&«¹C“ûPëý¹ÉÃܪ<ŽÆã?̶-Q˜êò ‘›š ô'u»5ˆÔr�Q” ?_\-C2k/ž1ê—F©œL†j»£ÊÖ!Ö;òÍ'Ȩtöð™ÊseR&­šÅ_r>‰"Mäçå7”&#‹á‰m‡^ M“ˆ?Ãrå39‰²l^bþLìt‘gK ¥Ï‚ùmÊ,# ŒA”ž0oÒŸlˆàL€K¿¸ô·—œÑïÍ^¿ÌTÀ ×ìÿŸ/È^ØÁ/¯ÞýÓwÏŸ½xñìÙ³çÎü -½ÿ'€€ ÀZ€8VHB¨|ùÏçV.¸åÿ ‡.Í þ7x9 Óªw\¿ow÷t€ë�Þý…€¡:éH3àÜðõ -£¾€Ç?ë<û˨~Ö—RÌC�¿b_ýkvJAÖôÙ+ ³ (õ±ÄðŸ[Tÿ“{÷íÞŸwÄ€j¿dø°Ö¨°?!{KÈ €¿Bÿ× `É ° �ÿuß1€¤¶©(Óêëm¨¶&49<ý @»ÞÒ'˜¶t\ÜéÐÎ<¥Û¥I›vë49Mºƒm„óÆ@g²ÔA1…c£§QÞ´�Æ„Ë]íL €¡è(4GþØ�©CÙŒ¸Ä…´ ý‡b©èf*´[ã´-6lÞ=Rs -`©izh޵ÃzÁtg7PêápÖ†—Õ_¾ö[7ÙeႺÚÃííä‹„r?Z,¥Ý”šbÑ 5Miü2Ô…¾íÕ'3 }2Sp]¨"5"�F[ÍRwÒ?T#¢±6ë%½ÖÇ�ÒnÈ -™D¨·»Ct·¶žœ¶·Ü{ÊÍi}i�‘Œ�ö˜h*éÀ¥Ë>eõ3ÿÙË?²ÁWjSÆ“!“Ùt2*R¨#~ùص‚‚ÆÊw£‰ú?櫱ÿeö¿å@à�"Ûú7l$ï:±±]@™ -2ì„�’ 7º ‘–ä.Ðå´5q1Ÿ’=-—–Gz®¦@ °#ý)xû£t¯sRC‹Mü—@×ö¹ÃºlЍäÁ^èI(¨_ÂbÏ9˜ì²¨@W”…KòÙï‰Á2f79PÆ`(�È9Õ&·#­àæÎPw#ñˆø¹;ª»™Fí5o‘8N3u•¬€:Ò²»~$ï~ê¢ìUÃG¥ Pÿ¢ÕLV™#}L4?Ij87™¥Q¡®@øCjYrÇ^#ë�„#m»M’ÁÝxn§*ù¤X¹G�´ þt4t Å”¦bš«Ð¤;i¢b™gèÙr_R€P¼Èi�_“N{¢WLC�|÷hˆ¾o¶¯¼–ÏôO9n[üö€ÿýmG®–y€~ôÿ te€«W¯\¹|ÉQþþÙ÷ßKtøáÕÏ_90†vþ¯ª%_¹Эô'…Å<óPmÝò7¸X°8@½Ñ£AlàøËýG@^ÁÊyXö¨5:‹9 -4ŸÀvá €½÷K¤ -`ûÜðóúœ—(�¡2ú;Pþò÷¿‚ÿ÷ïßw& û€ûs þúÿ5®‹ä2ñŸ„Ä@¡îWkd&@�=«Aþ ä/…âüW¾>üˆ¸�Cø˜ ¡0BÁü# `2@u�€:4«éL(¥i¡u£1Ü9½õøèÅd8oÛŸ9t  f£µÍïØác´«Ûý€Ä£N;O£7Û¼ÓDôê ÌtÒF#F•l϶zí-šòš].‡Fà«<ájf`Òr1Ð’L¾�} -±kÆG©ÑJgèÒ€�÷ä.6>È BêϮԽº âÚ‚‰8¶Íí®óšvã^ˆrìP2Ôø :iß%�9u:q€)ZEpÝ)󣲉‰ÎPÈ_¹Ž€‹ÜkŠ.ÝŸ|;@ù>8˜};=Pj´t¸4ëÈëÖd°…pq¤  2˦¸UKftÛNz&Ö‘;õ _¸PcçRÃm8wÚm›=–Òtl« ®IãÐï¢â >g¶]ß‘VÓµ�GåUn€ÞlA{¦À`úè˜>�CŸ³(µb£ñõ•Ú t�úÿòçy}ñÚ™€ì„U#“ÉmˆŒEG±é�®ÇÈxX×÷d4…"ÌLBº¦iæe=V[°ÉŠ"†˜ßä™—ƒpl‹žA3€»éØTÑÏŽ2Yk�ÿõ—€»‘¬A×µêCÃøô¶ V"¤ðiÙ W«Û;À‘FÀ©<@FF®[¯¦õíîH¯8$�:5�*¾Xç³2Ú†VnSœhf(Ë<¤Âtlw–ëZñôy€;øâAÝ zkÈœ<©‰çNúíá€RžLõ`Źϋ‰¨ì8­é MÇǰS -@ îí–1!‰@>½¦éñ©Ì1ÃP÷�C -FM.’²I¯y,BWJ^2gNæ±%ð Bf -ô@Þ‘;’ã=Zí©ÌÍsOfüRXù럲Cü?ÑpV€,ô‹%—þs¾¼Øu -öß¶àÚMñ_Àÿ ;øàÚ§¿ƒ¼x®ÀËçN¬`™à§jàO?¥á^ e5@Pþ¿ðÞ+€r¤²Ìqÿ�$,ÊVK�pÝïeÀãc€€zm³X‰ÿñ0Tç­†X -h�ð!†rÉ×ÿ~hXðþ}ÎÞ�Ž…¹€ï/ÁÿR»>¯,YÔç>yùø~§4VA‡øþW€¢ÿï?þç0€{�v÷´ Å ßúdÛHŽ[æ@ @Œ©$‹P ¿žE‘?¯>™nFº‰M¢w&@i<Ë£¥ªôÒ4;Ìœa¢.Ínl[žaoºãL§*4 ‰›)°‰jLCà©àœÈ)NÃl'ãëÄÿÔŸ_à*O®óܵ4°-ð¹ÜêöƒÙA»É´•1kªÇÒ~!“R«N¸ Ù2=ùBÞxïM'4©ƒ-pÚΚ 5²ÙбK ‚ŽQiÒÀ:ÁI:”:P -!Y‘2½°5Ô,=ñY.Ïö•†:êÏýYæ3™}ÛCê "r r·Š‘Ž„x÷A£Õš ÉV$ަ‡®ªc¿òéP#êCôŒ,㜠œ«!*T ÁÅ*3’ÄN>7€€imÑcцܤ Óö(§ AZ'e”qC IËø ÜdH'ÿS›.em_�‘x–Å -ü:(.R?,óýœðšTn'È¢ƒèÆÀ»c‰_@9P}ÚÂò´ßD ßæŒí¡ösÙ±ä�f Fln9€Ü’�µûEþtŠ8ÔrÞ(n¨)Á}Z'¤ †€Nz# -ÉCãÈ#¥±ÿßZ†‚^õf»çÒ”€(Õ“oŸ þ¦j„Œš:Zj¼˜¢óS×Í3N`C£Øx:†t¶àdœ·†ÔÀ‰þ{ˆ<˜8Kå^‡q(Cä4~Þªìn»#@}㩃œ+µ°K4>|NÌKö‘7<„^ÖíwSA<Ä,òv·‘ËdYdL&´äBY9†áÀí¦y´p ‡05ê<'ó2yÐ�Õræè±&Ø0„\KŒ)+§�pJR@Ä$I®bª`ü”nîØ’€hg }§hJ· hB.Hš¿¦õ„pÖ NˆYD"þ™ë.L'ä¶tkä`s2r6F²Ì±—¡ s©iËÑÕœ�ÎÒäëöù¥bZ îÈ òšØ%[D$ÐÏi @^¯_  íØ1"£Ð,ͶÀ1‘F¬ùÃxØ$�¬¦·bæ=m“ÝŠCPAõ V—Â4.Z½aV±C<À¹ëa*àD·Hê>õmæà°õ„h«Dȼ¬ºº}-Iµô¬v>;ÞO„WÆ&¨G汊²¬ØzŸJk$ÍܾE¡ŒÆÓÙÎt`e¡Ø½K±$øÈ‘3ÓdbÉ’J"ÀÊ{ÔÛ>`NþwOM&XRÔóÉŒ7°ÌS’=É*DæbrªÐõ}ÈQ­ÅI¤*G¬’œ5�-i¼IJП¥ «°¶‡£ÙxsRZ-¹T– -MþB¥¨¾€$Á°¥JX(‡ö‡A`�ômà -XµÄðz J¼³õ½ñKÛAÔý›ºŠÿzj¸yóʵ+W.ð‹ËwÿüÌU€Ÿ‰þšü_½t _A~xYÖY>¸.Žƒü%T�_…èÿ„×/Ö<톸_a?à/âøÏ·_�z£ÑyôÕ×�ì°wﯚVçÿ�.à0t6öî}'@²]Âä¯Â“¯–,+3¾€Ó,ÞíuaÉ tò#^Å`õx³å”~ú\÷UðßÑüºqnlû~ =û�)ÊX.]Œ¨ï±þçûbíWö'dw\'P€åyŽŸçÅ«¼ó\ƒCxºÍ'èUY„Rš\Ài´ÆþÙª €&wØ¿‹Íl* ·ÒŠ Q,i¨†@·ã=F €Ë†‹ÿ!î«,µhÙ” ÜCd#ndŠ€½XhJkùê©QbcpbÞñbÐ%›Ÿ4t• J¿=ÓæÙPNC¸ˆj ¸•ú‹»�Ä�ÌyMp9¢bÍ�¾¡.™¸™õ‘Z©ïH·>qƣѶÔÃêÇ‘tLYP`ÏEïÜTˆ¡õWLÑ~îäþv¨H3Žš_-÷W_´Š-!Sí¸MT+’1Q/Å#�ª�À”´ÉyN\"©¶ì@ŸÕ^`_¿ÿé7ö|q’û_é�Ï6œÜ‘?º ¡Ûaî&T"=Ï€L(÷QW— hÐA1¹\„…0šøõ�õ9Œ=C^C­âAòŒ|4Â+r°Ÿ/IÜ#꘣(t­å–¼¸¥OQ¹(߇èÔÀm†;MYÈh|[P£ñxJ²Ù„]9u˜WI#:F‹`$¡Õ2Écn¬@Ž#þ‡uôÔü!Ü\ùÞ:¼­ -ü[‡ÂnÞ¾ùÉ^Ÿ\»}õªײðWîþîÙË—ÿ£,äT€®üÃ�¯^ý˜¥«P5ÝËá£KPàŸ0X¾`ÿ…Ÿõb(¡ ý£¡�òÕÙÿzNÀ°°ìà*84ÿ‹ÿ­–CÙWÞv´]G,”Ä¡àñÏ»ÀZ €w9cp`ƒ?_iÈëqÁÿØÿ}q›Ý�š¦…þ’>€�Lÿ£"¿‘7°ÿØi†ÜpâVKW~Áu�Œ@@yRŠ·,J=9.~ø‘S|ä;Ói0÷XLÚêUÞ| ¥4ƒš’C ­G6Ô+€^ÌåZüºÓ,vF[L q& Àïi!Tc8”.Y Ž(m¬iœ,6]Ç-r•£dI(?anØ:´Ìô]œÄP@eЪq¢IÉ(³bhÏhÖc˜H¤‰J ¿ç˜�@(µ Íõ1 ‚Ì-½% @Àˆ\k¸¸dHV-¦‚ø!5Ç„Ç@ŽW€‘kÇéP?s” b(�]Z¤j¯§vôH½ÀY‹ÔÔ•b1c8Úé¤K ì”ЭC‘�¬©À𴞬D–n=e1Ú¦ÆD”3§ÂZþ€2u[À$è¬dÃ+¤†mkÀJÝNUb�<óÌ›"ÀH6 q½G* ¨üç'|ÌŠæ!o'Âe›2z¬ùÛÙ—Üìœí°§G5¢.¸‡w|ZT¥ñpº=&ñ -™a€ÜQ¬Ýv«ÞDÀA² šÎíM“èì<À'ç"¯YÐëñÔqQLÔ0*Dn˜”dó¨¸�'Ri”=Ñš;µp�d*ûyä)Ù`W;N€2wXË7ì"P¿dòþ�ßóI49Ý‚ª -ÞgœMa^„I™%kMKŠª§5‚"‚)´{­z×Z£toÿ:Ñp&Ñ%~nÊÃpÅa€„;7í¸ët^ÎtéùôOß?öòÕóç/Ÿ€óÿüøÃ�?¾r`ª¦{%\ì3ÙL^þ3ÿåëžšd¼+Ì'ÜZ*Ì_ -ÇÿAvѽl—(XYù¸4@†ü«À_=áúŽá(X¶ºáË/—,›(ýK€ŸÓ 7—PŠ·nlº4Ç� -àÂGŽÐ@ôç´èPèÓ,<ýG-è6ãe €Í8 `,N°=·Ø¼ñ`+PÊÿÍ™÷C@ü�?�Z&½mÀdÉ ö?(^ÍÈ @hË’ ô WZF3',íO´T]G-ËÙ µÒ`ŒK2 ²ÐêÚˆ’-æÜd6&ÅPº€ÙC ™ÚrhˆÄ•`�À6 €�?¾PŸ[†ÝÁàˆ€¤¥²ôÀPs—xcèkp´èn‰°s €SѹNñt²Ü°Æ0M€e×пšЗ›3Aí´@y"݈º‚ÆüMÛ:AY†ÖÊñÎ °E8Ú4¸"(;ÚYÖd¹•¥:TV­üIN û¸QS,ÙØØA¶q·‡÷d!c.ðD)–9ƒ©†âbÛ‰kÚ5ÔnïÄYÝ!˜æ °^6«›\˜^”áÎÎÊM{ýêgðqþ_â¢îì8†a4¦ëËèåDÅGÿž1{�¸•iÎò¥jÌYDÀ±º–{äè÷o4Rm䡚ÎU˜\áL»G²àÓ {¹[>[þhm (´~,äWAį¶k7VÿE¨0%4P¾$�66Ð…]0÷Xžà~ñ°cÀLv:ð½ý•71¸ç¥»«]àÿ²àg÷XÜë�B "„€¯ç š_nT¾ÙóhNj2€bÐûÏ)@¹N àÑý½ÝÊ °r¸xñà ÑÿÓ €ï å@ó¿À'³÷›XTkýJ×Y„[’u>N÷³° ËÑD¬±pêÂ0.]•@ï÷ƒU€sY€S™¹€Í‡Ë€Êz+jåx6ÞnŽ\‰¾t™7”i„‡Ã¢Xr]ÀÄüE…TThv \5ig€a†¦Äm’,LnGötíÑxÄz[ ”J*¬^äÄDB ›{R,9KYѹsب=xg¼3}óM°×a²&ŠÝÃÙqºpƒl™ªäU¯%än×›$Ná½³„%iÊ¡DÒCN5zã®Ò -Ìó‹\„îÈÑ N•Ôz7!Ê~¯YX »¶ÚN,è{ÏÓSßkŒY“¿zß"ìŽóþ�ÿ?1Æô4÷'UVsçpÜ«•­ -'ï -ƒIDü—©‰õôîÜ,§v';¨Ìv±p˜ï$œ`ˆàt @ÑßßApÈÿUÇÞ¹s;.vè ˜Å®B^ þgú¿3¢øÿì?u" šÿ÷ÿù‰Þã+`î@Øh±† -óWBfzüõ×÷;�öîîðU-¾r¯æàè²êüÇNg£m>÷˜ÏÐá ;Dxtù §hÛ¯þ>‡¢œ?|ɽ•§¼¦Š²òüó½·ÿx¯SÀG•à� ÅP….}�íÙÀÉ @Æ–?'rÈ\›·6?ºpᣋØïŒÀ ÀsXl:ü5œd°²  X„²B–,¶ÏKmƒÄw²€Ói‰õpÀÜ`½@0·(¢>ʆÈtÜ`ŠlHø>f;¿ÉŽ¡ gôHNÍ-¨”K>«ï»â0š¸.ñŠ€éóÌ…€ó§Ÿâ°°Ä pÅàÈ(€þÜ wÄ`kÙÐ_ãÀù£ßñ(ÙlÝç]ƒ¦>öóŠþ¿øWö̪føÄÐ,QÊ‘�:1Sùõ6ÚfØO¤!#Ç—™÷#2ÐÅ<�ŠQ™â»uq…ØÅ-þ“a*Ìj•:ï.MÏÙVLy�PG Ü„L†‘kä.5Rx !9äNÄGĨ²~ÊÊ�–sÊôºÊØ.OQ·ß$£¸Í¡/™Û¡üç(GvŠ`:£’t4hŸ¯´9Ug™¨/æ—Dp°€¥L _hUÃõ‹ÙÏÝô± ž’*$“˜�¯Ô¡VK²œJN¦U¼Àø fU ŽàtÞŒCm�FŠ0üGjç )€Gù[%ÙGi:„åf³4)&ÃI»ÌêÜÝÛZgCi ¦ÈR³¸�·Ým"BJëƒT®xáM-Áîw®\�€‹ܸšYô¸tõî?~çR€~bxõÃK'ü±�Ã:péè¿a BõæËJÊT€ÇB§Õ>òÞhC:»Ÿýõ~O ~$Ä»  èTX€¬ Sw@¯£`É ã¬Â€¢ÆÉ‹w±ßþ£ÍV}ã°›ýß×Zªƒ?‹ÉA‚òU^g ž Õɶëë/‘¤„û‹Pú–,Å0æÿÊ@¸± ä�ž„YXw4¿¨ñ‚Ë Ë 0�Ÿ·/¸ØE B>N`x—>´Q<ÍG-G|ƶ[4gg÷°µ£€áÒ(€óX¸Ï‰>«€édKW§ÊÀ¡òÅ tœÅ ï¹Ö ¢'*-ÊUYŠ1½t Ñ1 »æ›aòˆ»ú´×ù¬ZÖŒ8n¨Fô>Ã2 ©•ç˜`²ÚpÄ`� úÿÊë‹ÙAZúS‚Ýî XBÞ~c*°à÷‚ªuã[êˆ+°#ö‹Là†j°�r¸pW -ÑA6v‚,œ¼-€W¸":ªMI[D oô†Ð8 f%½@A7@å%‰]³{R$ãd� y¢+—Ǩ߬þd–ü™ÝÔQž±{Æ�,ïT|Ä«8…›ç½kH6âç¾Z8JšL•wCZð”;qa²0‚$Á¦ÙDèL1QéžpªÑ›ð }r©:Î# 3 -ã‰s®%Àó]°/N€À{?‰Š&Ó‹Ø=žílG˜ª JF òcò*WòÃ�©Û%OMOù2É_g¶PŽwÖZ^ë0÷ã¯ÊÌ'ܹsûÚÍòÿÚÕËW/_¾ö韾{öý³ç/_<•é€3@÷¿Ÿ~úáÇŠ¬piCtMÚ  à—PÄl5j— Ì|Àrè}w6àT}OîÓŸk°  àì“Ìl[»à=2@4à¯:D@æ‹û÷ŽX*Àoc£7'ÿþõ1 ÀÊL€?ƒäÂX—pÿ� -œþ2,[¾^²†Gr }óúÜÀògA?„TV>D�©€ñ2 Йþ‹àâ…šk;XÂÕû£‹]¬Þq8· ¼ù"œf6�ZNó°¥[øjGG’lz €><¯gðPć÷pÕ€6åÐà -‡iØç>K£P€‘¥ø”vï >!žº°´gð…e ‡È±#€ÉtiÀŠ€L }ž¹ðX²Ì}ZëFÄ °² üA[ŽŽ°»a0·¡\Z Àƒbˆ^¼°,ûp1—¬X¬+Å@= ¯ ´_§ÿLgˆT[€`'ñµÙÑyßÄЫÃÐ+g°DÏ|sÜ´ ³O¤â¨±Ï|~E¯ê=À?ÙFUª7!¨"¡oN(3 d¬dŠ] m -Ÿ‰p‰Ôëø–`P5Å[áŒûG–¼CÁ=G(9³Ó ¿™e0<÷Œ5mggê.Š$ïVê`~¹¯^Ý^t7‹ Ê›àCáßmRÁ%V“ Ôž6ZaˆO…´¯Ÿ”(r‰‹è«s“&#t›5GˆÑD>aú"–‰¢fÙ{¯ÄÙCA!gð?’ëð0ë7Û“ ±–d…[YÐðnãW`îžì´^,'‘l6<¥Ùxg¡›é³[Šê^¼ÿÞÎ�P€„Û7p5s\±àêgzö⥺ÿ‹ç/Ÿg&€W/�Xûÿ_ÿ¿þø×µ€�½ÇzŽÛ OxT€òÎ0€ÊÊ”ƒ†j T>òÖ�ûÿwÐL]¿ÂÿýG ¸{½�ñFíb}ãÈ*1´dWABN^¼—ñoV+éü;À̰ùÿ/€³ëþUøJYÊõ¦ùë/«W,�ø˜�F!‚ºøõ_ø/R®‹€r] ¡ |Ôÿ‹àÿ¡ÿÿ­Í;Åýyÿç€wh á¨]oêÀÖ²P:÷àÈûp-1ÈU-ñ ®âN§ü„5óü!N€§ŒXî i!€>¥ÔÅ@2V}ÊíŽúT€³ŒÎÈ#d:ôXkøø5£N´ } ýZ,†…`> -`¹  8–ä‘ä5ù[,s­�þ_³a·×}Ý…h‹€¬Õ´ºñÏ\ g˜‚+nزE~½^  IMq—À�^Ï1¢NJp«VU&±’ÛrȬt§qrO¢juI¦˜fV -‡Õ}8àIÄpÈ¡hV^žD­‘Ï“(vnöÃþ‰*i2pòpÇ3�-Ø$Aßr ™„HH“gŒ¢CF˜Š•À„ðQ¢Eš -©×`ƒûä–à ‰âá�FP©­„ÀT)¾Wó×™�+ª %7È!M¬aØÎdIzÙ3þábN1ùâšrË’&.&óê¨÷­ ¿‘ð£ÀMöš¶RPUÂÞM¨šé ?A}-€“-¸ßQ@Ñ×íOÇ¿Û7o»` W²ðµÏþô�“½r* WŒÀ?¼üñ•#Ò#°vÀ¡ fø?ó« Ä—�ÆÅ•¹€Ù¿0¬³Ô³^/:9aÿÑfÀþ}0v¯ôh€Ô2að’À;Ìå@Ùj¸¿ÙØC6€ôŒ—#Ÿ�ûüÌóì“u_ÙŸ÷ù^Þ½�J¿O¶ìj8Bææ ¿eîúª,÷(.'B•¯!‹ ïFé(+ $× þ;Ð-Gg\kª§Ñ9|2 - "'øpÜ$£üe+Ïý}´ŒÐóùF¦XB[ZÐÅ6=ùZ3 - šà£fÓA5 -@±—,K>1¦›-аêpÜÀ‡ôqê©ó,[>µ¥Qœ|lÀÉ>‡€á: ÙsÜ š(bWG�×óQÇõÿ¼b85Ä€>KÌsAKÊÜà^ã�ñxû×]*“ãëÈü(£Ô¾ÂÚ¡ -ß*¸Bu±Öˆj~¯YÖ+,+(rRÔwõ䊸ô$ï�˦øçMØ�‘ZÎ,<€Ð´88CTCàmè¶¿Ňø<O©.,À,œ[H]Í—“ �Jïï�¥œÈJ²’V~)u ž-EJço àgÜñ±¢Ò9jÁäEX8:r$!É21ïå鹄NS,iáôm³œªç Íy¤DXÒb9™Ú’¦!å4î7i$¨c;\ßd¿S± Zn™‚rHbBIS]Væo•¦êà; bGi¬C^kxû—Õà|ÿnß�dN€/]ûôOß¿xîôÿ/^¼zžA!±þÿø×*TM÷r¸¾Y,⿚xAü#¡X:¿`‡…å :÷þ|µžXª.€Â àñ¥ä+pX ¢wN[°ÿÈQ…^‰4‡@&ù|ÌðøñÏíP¡ùà¿€$·T¬õ>�øÒ²éT€à÷bô õ¿˜f6Bä …ìíÊ×tüUM@ ßpábFú5d ·R¸¼ ø—P»~£b„3Z -¤åK(]g†8ú6>r…%€2 - èÒâÕ[Ì Æ|lqi· nåŸ[&Ó#>ç Y¥Ô粜cÀºyŽXÊ(€å™Ï= - ò¨¦–¶(Ãq€Á¼ ÀQs€j—-û×ÿóúÂÂ;5Ô›A† �øä¾ìàVÛÃ���‘• �’:*„å -!©Âpò£î:ÉnºOtVPk“…á¢Ñ`òPÜßÈ×¾sý¶–*×b_«](™·PKBðã¹ K$ÊmUÓ-AŽM7úÛFBíå:塼Æelž2Ô�~»ûk7å4f+Gd?œñ}ï%Qâ|ä!ÁÑDYP±IÙ¦âv‰.È]8c/§¹S»‚ª»œ>™–´qC¢«»à†4BVÐm‘ÜÛ †Jžó JOŒ¢¸£·¢@¤Pê\ÖÌœƒ)¦”ö„$½”‡ß%žb -ÿÈÇ�<˜$Çrª -JçÅwÒLý êk§û·ß]¸zµŒ¼iÀÂpõª€¿¹öÙ?~_†ÿe@™ - ®€?þõ§b0Tm÷RX±À„ùKópÂ�bfÊ¡„²ÙÞXyƒÿúî'ȯBªN€èÿⱄ샱>ˆÿ«€‡‹·BîjðÊ:×=8?ÿü?jØ|òäg^ Àø*ïó½¼;ÒToò«ŠrÙؽ¿÷x·!@ÿêpô)ü@67'�X® rÿÿ?r<|Å̓÷¡@À)€D”×›ÎplÀ)>pÚ<2ŸöÌÅõœ>Ž(à¥L+öm�>ÈËG,™à£æ>ɧsø ç8> -L.Mì©óœd8âpdr|Õ€xc8ðûõ>œò<R‰ @úõúÿÁlFãþº@âRÐ)ð|kžaâŠ`eT@›E33�Ê î*è°gÌŸ9†nD&N¨(dkÐÒ ’Cäm_šö¯Þk¼ aj P,á¾ìíEW–vµh÷êM¿ 1í6´l»€£èHÅ…yÙöx·¥`±Œ�¾Añy Ÿî;SBºÜÃYNxq> p–û™[œ�Ï-O,Ð_‚Ó-,«ËÛ±>¢süg3F~…Òu¡Ã'öÍç° Xõø=[k}Î5 -ÀȹrÍ(€ð–U ÀŠ@éxËQG,Ò‘D¥@¹Î? -€\@ïþ€#3p–y�vn0³œ0ÀÜ`> -àÐP¡þÊ«ÛyÍ‹”©ül:›Y»F">�ý©˜àŠæ°áØO9¬Æ™ƒÎVb'¹bŸ3DO{ÄÕ�[L·JÈ�fB¯àït0„r Úõ-½!Èó=ˆEHåã×]²œ*e6õ¶(…ÊPOË%ÈÕÛvؽ™4™yŽ$Mp\{¹³?]1kPž¼ç@kº¨ž¯@ƒVÛô “Ô4 Ý ²6›å!ädÒ5å]vX§{S€t4¨u9ÔŸJ7ô@ˆ¸N0Ïa)yFL—"ëE±`ž—læ tŠÅþËÓ6íMNðlAq ¦ÃíRPd.LM3CáÖ¸‰F@ž˜Q{`¢¼VþM·ÐÒ^´iw gœ‚ä”×Ál` ðÍtП ¾À €eþwñBûýo^»y;3\»}çæíÛWfNÀ_¾{ùìÙ+'ˆêÿòå�Îøã_øéUµк‰.mìýÓª  -E7Œ™¸ò¨0¿„¹@{£Õi-}otZ�zçAÕ ÔT6€²*ø´è¨¼ùÔ[Oò(øÏ%hö [»QÓÄ@ø÷5€]!:$?‹@°!ÞÈ 8~¥F-’ž €ø5ó?ÙÛp ÿ…tÿWøoGþ"˜M~þ%]ú8 -,_±| @|(Z­·6oUØŸPüªŽ[ŸUü¯þNŸ`tÚ9â«,žºd(£–œW×8�€P­L±€—+3*·’ ÀÒ(€j€sŒˆ.Mû”ì:ÁÀt -HË}NÀ‡ôyæió¬'ÀChËJÀ)óú¬µ�=Ç}B <‹ ™@b_¶¬LX^38ÁÖk9í4N hú‘§Ž²MÉG‡»ó·àÑJèÚ+Az¸Fp¡Z³ƒpÒ{Š\µ„Ï‘:¾‡ÂÍ$5X©ÒC4êiã -7S+»¥b:ÉÍX"ìKhÿÌx'}Á�šÃyƒ6·¥–Œå$]x/Em=§H”å—Ü…-±˜g„mµˆ×$eÜ‘4Yßa’ÎàO9M§n8™Ì¦ßR‹Häààé ØlÕ�ŸˆZÉ}óÌMF“§½¶)›™!¤êÖü/��BêÌVRÄ©ñ¯(UˆÂžeÈÇ ªòÍ6܉'ÊáýœW+4 ì”3‘g’aÉ¥KcÖëzQvP -Š?…Ɇjƒ�”N·ÈHîÈ|P¨ŠKyzµnkЦN’O -‹“‡T�wú¶™.àt À×—.ÿí;}]ÉêÿšÿÕýíÐàÎí8J~§ àÐÿ"=¯2ÀO?¾Ê» -?¤_ ×Á�€âv«`C€å¿h¸x]•ñx¨ÿ¥÷F'kª’gÅ@Ð`@±<~ø¸ÑîèØï‰HpÌ@�¶ˆÝÙ<·•ø¯€°°tö÷! -FWWmôv÷?_ãÐèìÛoODr°û+c=ï+U)BñYðh÷~&P0HíCjÀøÅZ€¿ -«€„¥.-7®_,€¹@,t¸¸*è�‹×kk¾/QÐ×ÕXkX�ÿ7žà5kœk€¹@ï÷4Ëó¼³Q¹Á¬¹`i-±añ¨Ì¬ïd@îV,ü±œi-€% àv²àÈ<GG(8ñÓ¤ž2À >fŽ€3ÎÅÿ‹5N¸¥eþÔ€Œà%d¾h£§~84©Úà— æyS�!F�œ™ª”T8jpÜBÏ©ùKa(ýoI"×n :Ñ<:à,°@ЕÍ]K^“ºYN)S­©ß�ˆoÁ`@qÚ•ç GÝV*Ǩ;Àqðw¦H.(ß!(íZÅ"‡«N©3ðF^N†L.ºP¡–qn=$-$� ‚‰*s'°�ÐN¶¬PTˆ)¡Š �æN -GÓ™âÇp2};ì÷&ŠšI½uiê8tef‹¦³Áì)b“+VK+{»NŽÁg¤Dc…€¹4Ó`B•çÏl ˜>M¢¤�à·l†¬�;É,` cš¸âïPÓžò�(@H±66÷�‹¶ Ö,r�è¹íT*Û™(ï:ñlèçY -Ëu´Ìœw -úÔ×NöP-·Áþÿx¢þ; ×nßÑ ²‘yž}ÿÌq™}_ð“‹yÖLpicïŸ×Z -°Ù¸ˆâYaΑPtÿ¥w§ÕhÄ\ÿ|î°û`Wý¿€Ïíš/>‡ çìJDÂà!ð¿·/Ÿ€M®Ü-€G�þ·G  Xä»KYA£s_ €Ž™¨§¶ÍÙžvH=Z˜ßÏ‚äš!4œëU‰ôO�:´€ªš$€ûy—W…øåUÞ6H<¬ïn€×­`CAûoC5È,èÅÄ?Ç<'¬€øýC€¹`Ù`y&À3�@_9¾À1€ð‘b0ç* ÀyÖxÍ<Ë3Ö—|Ž� !«>Ú\HÀë}hçÏ>À¤(þ3\@ÿü]+jþ)RA”HŽÀíid�(kÍì[èÛhôTSJÀaÏ´ °‚+¢` â�’2ö;ßÂ'À-Å£ÔÀ¼þ˜ËŸj‘J¥‰]ÀÝ)„(9‡ÆV5¢©«OGÓî`vàÍú-xB䀹Åí'SðŸXEEâã;b¦L±¹S=�á‡ÔÂ鈳©yЖ>ôAÅÚ˼Zx#oj¢•ôLÀï‰õ·BI1Mz­šÍt¸=Ç9@‘ѪêVTMö£!€¼“#UâÃËý8ñÆ5#²PLå0%žÇ[6 þHébˆˆ^žýÜ�¼ä,tw -jõÉj8çÀ3¦rÇ\”’êO‰IÉcn:Ù"®'+IUê)'IX$P)ŠÊ’!M3†Ñ;|óÚT‡œf¨@û†«W2óoFdA {nC®: àÒµÏ~ûgàÿųçÅàZÀ/øñÕ�?¾ú+š¿+9ð¸ 1£ø8àVõ\øMØ€d"€CÕsŠÖß^úÞèÔ[ @¨,‚hðE¾c·B§³¹»¯ €ý€ — Ži˼~�6!�jh´W-èÞÅШ·6Z��]еDª·�Ÿ#ÐÿñwÙ[@g_v<¡±nò¡”ÿëRd -Xò€7Í-éx´/¸PBUÏ?mîÝs')ÓÜ`1 -àÆ’@Bñ¸®õà–7\5¸v]#¿_7–(@UM„}ßù·<ȯPºÎ@‹ÄQ»V-Ñ–ÏäÀ©Ë>K£@ÜU€s�Ð -@úv€�gäW^¤¦‰ZöXÌ(Ø{êÛ�°¥OTG,ç ä¶–€“|Ê(€×­€ÌÄ‚à¬>H­îŠÔª‘!7‡k,F䟭1|ñÚ‰€»rJ� t >Š áÑç{ԉ錢’¶Åùm8í¡usœò*ð‚TnˆÈdÐëhÇ:·'Ó‡[RžA§Öj=$Ú°6¯,}¨·°�R £¾ó�ÓáçA0X[¼†”oUå)zK&õŠb57„bΦ¨J³o‡²ø¯ŽÜ›€‡¾äéXÐ’V’ï`V"µ9MÊ„HbãJž`i‘Œ¦[®èKe›¡aW€Ò«×!;¥pŸ>"{J’¨kTÔàn–Úd œhOˆeÃt¹#™+ññ1'­¥È¢ M¡Â¸À?kú”¬¶F„C�žKäˆCJ!æÓ‡©9ÜÜÂÑà`IptJ–q1ðÎÝ'E6Ä@¦ ûJ@¾¸gxÕ â†Pe€B^3 - º4mzrìD‘c±xßb8yÒç™çž`y&@N–¶¬ZÞÜ€óOž 00Ë¢k‡œÿ£åSu¸Qï€v_œj7ÕF).•_�é©t]Äæî$ÎŽ©W`Ú�.Qìp2:˜¨ŒZõF[pJݦ`¹•„hàÖ�èód"e´)´QOÉBè,ÉÊ@͘Å�Í«ª0êA�»Ô8Àìé¸�F>… p³ÁbÅAv"âT¯[<ˆˆ^/ã!óHwºLÅ¢€çÀÿŠÆÞ¶¦~n!—$‰Táš’eœMeLy¨¦K?Ȥ®·]“n´G=Žp²i!·¦ª"Û\hFKÈ/¤ëšhšÔˤ !ë|†s ù6iS‡V ùˆH.¢×À$ý -)«XR^ -ŠÊ¢æ@¸Ù”‡–|äŽÜ�È'Ó£BÞö´;§¤Æ|ì«ðÆï<¼Ö¸~çáÚ•« ÿí›wnf1=Ê’€—/ÿÍå«w~ó—ô<{þüÅs×~é,@.¨#À"T-ùa˜[*ü¯ Ÿ�>b@äÛ-‡¨ø.cÿ£û·c p-Mð‡>YïǼg�·}}jÍ�ÝŽ]è· @qß/gì=ÑÝX|Û »y™D¸ÑÙ|@¨,\òåWvp¨Q—Wì>ê�ëk¹†.ƒZâ—(â‡ØP,O>¯Ð¿ -¹ÛÙCUÞ Ä 2…|ýå!x _zïÉC à;·$”qš`ÿ½{üšTº´lÞ8bXp=D/s=ol^Ïò†KlÄÇÐy}WÕÄPpŽÿðˆ ûÕ«¼Å5ïu`ˆ£Ç-o¹@Ñ¥m{ßxÍ;1,ûŽÈý•_ym�VÖXš ð��Ѐœ¨´(We8Ç(€3ÌP|ŽÌxöQΘæõMç�.’×\VY„ÿ¦@ú×…ääG­AFQJË2E*<ö‘qH‚ÁÇpJR" …@ ‰A[9ea¢NOêÓö ÀœZDzA úÇ3µÕ©0KµfŸp"sf0R²>  Ýo³‹ EíA»!æ‰`öÐx)‰oµ¶,Ëm(Àx2ìBfÔpªHڥʄ"/ßÂz ĉ< 5%¦Ð²™L¨UœM§æÈ ¼Gœñä `hoòM˜Ëh²Uw L¹g®Š ãXF+UáÑ-€™Ï‡‹ö˜T#$å¾ä5x Ã�ùpXH:?#DdøÅp6â0)0òN%P�"S½àW€Ëú„ïk[ö;ŽÑæ‘#�Y¯‹'šŒ©ñs£¸9ødÌØ Åmµy†‡!¥¼9¢Ýþ]‡a!'úT€ýŽÃ•+€½Èî~âªÀö\Ëb€—¯|òÛ¿|÷ýs€«É2 ð§W¼–ñq«>Áƒª­ ̦N€±”ÑçËïjÀ–ße€«ö�·1Â*ô¯¶^AåÍÊP|„¿bXR‚÷qúý Z&àzŽ:~ Þê=‚�ÙËµÝØýÜäÅš[Å=+])½/¹]k—ñ¿x'jX&g¶üÛ—¼¬¾Ïõš[Š òÒbRÌ&Ë>à·L¬¼ùX8 @ܞр¢½åu·6oú¡ 2øUõªªI ‡øÏÏYÁ~_åí£GCqê<£óø¨œœ¾·´±µÍ�âñÍ}hþ£Žû b/|–f¬º^ëP€§žä(5E«´³F� ÒÎ<ë<‹QÇçX] ™—-–àÙ,Ë>ЖÊxU´…š²l˜¯°Nÿ‡­½> ç°KÖ²éw·)Bñ»H.pß‹ó €ä&JGÅ�ý€¶jóPØBd=íá³€–Á5f«IƒJaŽÞ«CB“§zïP}Õú9´’‘¼®p£¦ÅÊÙš“_ý(Ëæù5Ç”áâÅä5LA3‚ÙFfò¬$6xC·ç8?+ˆ6taßd!?x•%G¹«WS¨]¢ŒfßB`6½Ú=…²MäÜ’ÂàÉ‚ƒF_–(“5:>Ú÷éK•NÕ(µoÒ…$�‚±„g+oË?dÝpÌÓj3¼q6BëÊÁeÔ-2ºk¢ìRè>µ\´ÅH_¸#Ï6'†$Œz Ü{½�o¢ò@q[(É:O Ñ&h -"×£ Fc_ïê]Å•^€-‹�{ïöUóoÞùü¿É&ov_Íb@¿ûó÷/ž½|ñìùs8ÚÿË^½zùÃOhý?,æ � -`> - >A}Q��-ôÿ£s;ÄóW¿Qøº¿ß-^õ€èà„G•4{`·vÀç±´:›»÷~ŰÀÝ{ûeê {û{!Ÿóÿq! gÚÝþuþÆ h7ìX¶üë×Oi9ØçŒX€ÛÏ9òå“ZøÔÈ_"Êé�{Kÿür믯a#&Ÿàï² ô˜ø•Ž€ÃQhè2³²Zãܰ·I#+€z|ãÄQ·ªâÕ°ÿþ/€ -ú+pîQB€iÕmùL>l-û¥´ÆKÃßt€í8mÐÚQB©ò€U€w? - ÜN@†µ¼ÓµVg<6 -àmæÑ´œu€÷k_¯Ö’É4™X�Ý@Y€ºLP/¼­ü€Œ¡~š,Ò¦ö©#¼r¨Xº¢¾ 7 &Àao4i×j�ƒž#ÚªjNí�~;tøYbÓ¥Û¢XÃn),§¤2( $J^§]¨¡™«Ž -³� -Àª7‚ †]mìd:(6˜¶‰Ÿºà¯*1„£”³WúŒ ûÔ›®Pç“Àýù€•dþ õH—šq70U‡¹Ùì€ôšZ±¨ :Ì™&J~úÍS¹7•P9[5ž”nµ2¥©?�+°ŸÄz“âä"êsxà“ïÙÔ|b$‰ÒW\õåÔb»PAç^ÄÑ�Á€çO~áuyè$Ûœ(Á·¤ J`Yö¨t©à>BÔuJž¢€JÌ9äš©’ÕL¦ßT¾ûï:T€ŽX.ýâÒß\þàò/ßñÇaÕ\@·ÓpSÀÍkÿ™½¼ú›?}÷Ì•€Aÿ—Ï_ÿY ð'�R�Ã�Æü0è°°*haK·?qeóVº -ìûå÷|;ZÿáTàÿF <øœ=:´¨ÑÂÄTa<€ÍbˆñÖËE†{ *³ùp>°‚ÚP‡:T{¤bÀi¸�sY7ZÅ�Ž{:ó™€"T5õÎn§ã½ùW|^*Ö…¯¾äEàË­s¼V,Ö(dž¿ôXgXõ €€bX±€ç¿:a.ÿom^*¸?1TøÄ`,þ¯Ž8ÓZ¼i4Fç™àõkРrŸ¥™εhÕHöÙGœe-Óé­cP„×�àÚröyκÀ)ó¼fÙCI�}€µ3–×Y “øGݰ[»t@u&#öÏPÌEgóŠ"ä¼*8Gåé©X:NJ7‰H=EF•ÉsX¡GâØË5Å9™|3AÁL’­ÔÃ̬'<Éj‘߇IMHt”f®ívëÁ°’þ²w>÷ ÇÉ#ˆH›T ]èw$rK™Ÿ|€„‘YÝ5€XÌÔo®WîÊ<”Îx¨X¤‰|&xȨ;áfœbE™};û–bèÒ€y¸�Ãü°£~h™r]7õ¶]£øxŒg<~ÜÀNw¨KªõÔŠDR*H�}™*X -^!×�ö[]`Ï‚PNÊÊûøhJ‚©�,  ÷4KÛvC¤„>-d†è‘ o6шÞÞ»¥ À ˆUC e@Øï<œhˆAþýÑÿÚMgºó @ø¯¦†8 ðÊ¿€—¾^½øáÇ—¯~Ðà°àø\Ëósȯ,þøÕ¸øaíz�œù«ÚŽ  þç—w;Šü×Úà%s°L @¦�6c˜wÉ æø¯?›§>ˆ `j�h€** àËBZ m�ÝÇé€0fÀ žmM�[-ï •‹máÌ¡·¢Í[üon(ߦaž¨ü3ÀZ€|¯úlÞÓR²âpƒü¸´n@™ 0 þy¨@ÁÿCc(ªõãÃéã–Gίlù䯵°Ÿ£oã@ Ë>eÀÜ@[ó¦£-¢X? - ÷O{VYVGÐFÓÊüG�ôÐþ‚駯°:à±Q -Nü+€³Îaˆà„y棸ÉÜà„×Bäk• YÑý¸oLƽn3®}�|ŠÒ:CfÁ�@‘O½Îè>$™b˜ÌTx)H)'“§³)õ£C:€ÕŒ%ˆ£íbøFO8"#šv¯ëJøRÂ]\µO.`n—ÙÅrÏÑñn¦xsœÝmࢠ-Áa€•æ9ge{Ãé‘:4³´µüò†8 -Ð8—,j±ö¤ à±Xí0ÀM�óB5ù©À1÷÷õ¨ð6]�B´èÿ!_z¨Q,[œ/è8 üŒA|~íà_´ís€y¨$2D›'¼ ÀWû$¿¼�ZÒ€ -¿d P:+€å©€c8:àáZvÿs}…û‹Pð?SñªªI -ö—7��-Ny�e-Þ*"çð8ÃZJù�^ãï¹}Šl4g6ðìZpúZK3¦¹í(€€Xg™€ à¼kœu€å™×­@Â’e¹ž€×úpþÉóH%Š€z àèü‹×lÖí´Û�×½¨Ô>QEzÅ/X¡Ñ¸G…ÑÀ=Í/P[l*12M�ÕÔœµ·‚Þú^rx:ûb -+„9µ¹n[`±Šs5Š%`Td•eœyÈ”t¾sm^„¡Ê¹|�|èva¬Äm¹Ë S_zƒ.BbBÆÍúÝ6q;7ŸCÙÚœ FÂAg]Û† D¡hY €‘L¨(ÔPÓ„|\ç4AÓ‘IBÀÙ´Ô^’$ñü–$kÚm õ pºmrÛa‹Ö|d5%ÛÝVž°6é±> ›ºP÷L¨OK -*ü¬×¶g†ÝÓ^!�gÊi’”PM= ÂN“÷G¦k-—/ýâÒûùèXÖºsûö'Ÿdàí0€ ”<{þý³gŽ 8!ðó¯*gÀÕ°âp8€¸êÿ½À.È6od€>ÅùlzÊ6xÏW^þ–wïÑ!¸_Yîï:³�¾í‚çÜ €¢’g¦¿ -ÿ÷îÿ#á!�:Ô\m€ öCµ|-hé¨ÀÎýà<à‘Ã* @Ìÿavðøÿ<�þfü�6oñ¿�` þ‘ð+å)o„ª,•ÀñQlX:Kû4ç,|\  òýýªFT£ïp€•åZõ8ÑÀ®¹€\°)äî¯ñ82à±QÈLü'XÞj5Vòšü=Ýp–ID]j#¿Á"Þ-rº;ùÈÕaƒ¶æRIÁœ“ Ò¨ sÙêõìÀ{HÍdÿ⡸Òl?$º.Ú²ØmÖ À1J`ÔdÔm5zm¨LΪ~J”¢÷.Cç­ëBh¿@BÉ�ü€kD‹¡b:tö?XmF Â&¬ÝT%†aƵ‘eÈoùª4CD×RÉ��ªÑî=�¥Ã”Âp0¸-›QÏmËĽ^eÎ�pƒ*¡Ösž V#ÍÉ!eà-rb8@{_ +I˜‡x>’é9°¿ ¤«Ï£FU@2» $»ÄRÆ75³ß$ˆe'JBbtË*œœ×ærioçf÷¨;Íd>s(G»Þ�yhÕº�21À:Œëý„ဢ«ÿâ=}€úJý¿}çÇÞáŸëÅ ðOAùþܹ€„ÿçà¿,€°â�Pšô„Å<•Ê/°%|Ýò« -(‘k§¼!òæ¿%ì.l7S=¸8+NNëWœ½7ølß›�* äWøZþ”à©Z2áŸc¡"â¿khß"æ—'œ[�ƃ±äVoŠÞOxk ÀW_: - ¼5K¬õ˜�È4 Î’@W‰Ò°4Àz€²ð±€j€ë›`•¤ý˜¿Ê›/ÂIžHš¥Ñy|J3QY*aŽ&˜,i„{ˆ·ü‰^æ9›Í¨8ƒv»ÑõàÜ>gRWJ4ýůÉ?€ •‘l•o˜ØN�ÁÒ&4òÊ 7¶š“’ $‡@`Ëa¦ ­BÛÄ(¸e�Ñú£n€h6 ÞL ÇÍ”’,3c2Ñ%’äÂ/Ú6/n‘�É<çBìI°êT>¤µ2äj²ï}9`QüaŽÿï'\¹|åªþ.ðÉ�»w%Ž„€ÿ.¤úÿàû, øâå³g?¸&à| /«ݰ°…0ˆçrþÞcô3/ À-±Ç/ÑÇ�Î�–z·À߀øY&»»•€C+C€�»Ù¸x]p�Óæ€ Ýò -ÔK n=ÌÿÀM5ß‘~oQ…e @½ãL€û¼ÀÖ¯+à8ÀWÞ3€ýGg›å^oÞ™€*„XÕ›¯U€ÃQUÖó]Æ.[–g,«Î}æ^Õ(ÉÞýÿúõ_In@òªª aüyŸ-€b8: -à-×(Çü¼ÍL€|/[κ€£Š-RN}ûQs]:~�XδÀYçxÍZ§�8Ý@ "Ÿq€õ£¾˜Íù AUYéÈvbæ5”ÉTDò§p¥y^вköSÈç*s‰j‰êAtlˆäLg>„4zjŸÃ8€é×^!€àPSI§Ú§ž» ÿ0U9 VöÈ3*…Mì3jbqxÔ-nGÅ£ú"˜⢊¨ï‚0CºÆ �ã"�$‡¬¦®5Õ7—–èü�­“~›G„S„Jš¸J�HøËÝ%V†licáÑíÎ’ÍÃþì›ÉCÈE†5v̹Fî˜Üô}†#>T¿·põšêÿ'w?ùäîÝ»Ÿh øä{ì¸öÙï¾Ó  $/ž½|öB€~äÏ‘PštÃÜ àÁÆæßù±€~a6¯«5–asð©¶ÁÛ¼µ¼ç‹�ÓùÄpnHP•­,Àzep™Ïµˆ} ÷®éX·ýûéheµ—}S©khm¢0³7Üæñ}#Ö×à��ÊsÛB !—B¹ÿÂÛZæŠòå—é¸ðíWakF,‚…³l°`u&Àõ>Zb82€ àW'XŒfÎh9|–Ë«¼Ó˜€'[@•óÌðúµ¥Ð -}²ày×@¶ÕyB[ªQ§®€^£îU|Î4 -•ò kpÈ[k0ç^7 -m9û<Ë3žº2Óö.ûo,ïv€“Gœm ¥7ÜÖ§lL~#³õ‚LŦ¢¶LœN�`B8o2M”Àbø^×á@ e fΜ¨ÕnRÚH,'ö‰~ñ‚¥º2˜lݪwz“/8)³Ü§‰:hIz;îÔ¬Û͘,�âåÎü÷ÙàÉ oì'‘â‚Ì"+øL µd ebçæ=]à¥:UU§„¯éH™g‚P -FŸP‘´døÞp‡8•×ûÁ ´_�B”òVÍ®~NCuO\ -DeBÒ6´[‰úÝz«¤�Xr<:|Œ"©¢� §:°DH‹¢‡ýúXµÏ…¦šX½Ð¬ªü„[˜= f=Ùöé˃Áeœ§õß›X’T5¢¦5Ñm‚4 ó0¢LÇO©¥ï1DóŸ‡Åˆý÷óºþß¾©úþò)èÀßݾéd€güîù3�:ÊÐý_¾øá•”`5ü�ªIŸ�x,\ó·àB¸&°°,‡¡itò.€ê#Ð _¼}°»Yº`fîÖÀøÆ¼ �Ë ;àZÍXlÀ§©æ×‹@àK`kooO9³¨]cc3“ãØØ€“�Œ½½ýùÎÍÍû\¢\ùsQwDŠSÃþ¥hóohX2è¥pè�¹&b8æ@¶öul€}¥ `>ˆ~è�P�H¯1\×ù�À!ò—÷�µæ£ŠÀÌ@›£|‡6ϺÀáL€Uþjx£Q6†‰êˆà£”eÀêL€Ç×8Ñ€.wf€µóœuŸ%3D3~ɵà - "%Ÿ¬‹V¿�‚(ø"Ä4káÈ+{w (˜TKk6aWº8ÙÄ_ŸÒ‚₤ä01‘¥9‡d“x£#ñ.N’„2úMë�É7~îË9•‚‰Ûä2Sæ0\+5Õ{q×.õƒHV™€Â§FšS5³aÄþÐêUã ÄÎiÙ$" VŸBÊ@y ží#k)“^ž¹ÏŠn­tƒK] -`�'[Y­—Èfwý>I�{’êܬl”çaâ| Pˆ1iõRPìM ›1\8KÕ² ?¹¬‚à^’½%nrÇ1Ê’ÄOWF·Íר—‚"Mÿ Æ!½ ½ðò÷K€JMáJ<ïþwïÞýô“ObpF ›×8öé?üåÙ_þò—ï¿ûðâÅÿõòÙ³¸êð¬‚ý¥ð¼4êóy¢ì«ù ú¼o ˜|ù-²è°˜ ïݸ¶*ÿs À°® öíL€±D­¯�ýа¯‚W�• àsO[¶(²�´«]¸ £[­xÊ»Ûã�ë™ÇЄä‚7 Ešuáê¥ËjóïÆðµ> -åMØÿ\£Éi£LÓ ÀŠ@™ -ø¸@ºŽMPBòS7_U5I˜ƒù=÷Z>àvœÝ€¦�(O·ØàpD €­#[Xk8ƒB.Fp$rû}̰<`šô׎˜û$Ç–-K>BiR¤Àû À¹Ö8Ç<§­pÊ<¯±„œ<€TbÞpÊ(€Ù™Ö0¾¬ ©�€Åh¨/¹�X¡HQB´Y0Š�\âŒ;,©Gî˜Ær”Ò¡Æ,]Pj\ÅMYQ|”zø „ŠZ$ pQ{ò4ù r¨Ð‘ZÙk‚OÙ&d'g•ªG@øA&ÒåÏÌAâB¨ò¥ÇbÂþ65€#ÆrÁµ¦‘nV¤îÍœøßXa¤i‹âçlÅ™#”|ª�„Kðކ;$Eú”4…@iÉOªJ/ć8©{å @:j7¿5) f·f·Fú4JžêûÀm‹(Z(&Z¨1jöÖ[¢¢öKÆ V„qâ¥$:Yç)�HþÍs�ÐN®s“.L®§£g!º{3gs¯WG%H*Š€ÌKµð~ïãeè÷£û*”~oáʵ+Žû»yûÓO?ÿïÞ†Ä#àεkW._»û»?÷—ï¾ûþûïŸ}ÿì¨ÿ?{ö ìŸ=cïÑðV�z,úú‹&|þTç7DÀõ„‰…€ÿ·6Ü+újóËwù!NÃ3·ÌñuV€¢^,€;ßV@±C}àß¡qû�ÿeÙ¼º¤B{‰ª®š©hw±æÿKùÎþø½‹jUÈT÷Z»ýÍgìÕ(ßek5©–ÂÝk—._F›C @œ|õoñ (ï}Ž� Vg ðª¥yHìºQ�_Q¬%/Ž„ñ¨æ8Í›¿Ê›/¡”']t ”úø·¼åZs íü’ÀÏ´ÀÒL€¥ à¨À: @!Þóõå:ÿ($Gïþ€#3 àÄ¿b@±:“ÀÜpÂ<"y}ºà‹3z@ÆÛ´ûDkϯ™¢õ䱯°Û}%¤”Üíóå�%óËñ‚gÊNù÷´,–ªåîµjòƒÖI9z:©èµ¨iäs¿7þÆcþÊ—EAà\Îá0‹‹ -Vz&±'lNÝë -ÞCx&¶¹”$ms2¦alr,©·ìŸôb¤÷�A7¹@'•;ýñl›Êê8 ­e¶M -∕liÕàöa5Ýn£Ö¦²!9bäBy±˜f~© T±ZËYÜ›ÌpËœŒ[ÛCÄlu³ª"pˆÿ%2ÿ+—‰¶Î£ò{Á¼òûÉvþs‘ÎùGÌrÜØÂ{-F™²´'ýmµˆ\eÕ-÷zŸAÀÏ�ÿe ÀMUþ»ŸýŸ|òÉÝOoÂÿ›®tåÚÝßüù/úî/ÿý/ÿý;ƒ ~ÿ=$àûgß=ûî/kÂ/ͺ>“hýÀh€ÀœE$`È…Z�:zùÎ.¾×È|óO†á;©0VYz¢uV·!ˆš@9z|Ýé|ì¾G·çl�}woŽÿ €¥¢ðø¾«þ @PþâÅ�@´p.áÃ�\ᾄKl {0µáëþð@¸Ñ°£ o¶ç¬À­ÅþêhŠx�~w÷*àò;²|µj ZŽŽ(e@é¬XîÉ‘–F�æÕÕk]`‚ü§YŒì |ÄžûóøHàO_ €†ˆûd&@ÚVþŸ-€‡o¼€úÒyFÌ €§žÉ€0÷8ÏZ¯™`1 -àukذ~€×ŒXöàb.Y±XWŠ€z@^Ÿ8 -ÀArg T“bHÔ~¤0;,Çi¥XαŒDJ¬@± ø[*q9 Ö Ð„›uxãûƒj`¥'’4nè½ÉQ@‡:ú2˜Bãxg2ÒKxeÉ`â1°+£ÿÊ9 -fM!oHHhŒiÉnF]j@ÜnÓÊâQÿ›Nu0 C�Ù0Ñ0ÎvR„ÄÞu “e°»ÝnÀ$8k¸­üd]¹k†ë)š¬Æ. Í À·O°2ÂL&}(I.Ħ IHZsóŒ‹H‚ФѶí8&É4HjüëËŒ‚Jô7ÊŸjW•¦êi`§c-BÖC0?Úëô¶y.[<)4Èg† s'7ÞË+�ŸŸEÿ'Äà -€`¿^€w>uE€Ûwd7¯Ý¼û›ßþão ¿ùÍï~ûÛ?ÿãïþñw¿ûÓÿÓŸþüç¿üùÏìYþ!�úõͽÀHÀ¤Úú{>NãŸ[A—j#€ý7b Ü„67Àbñ?ßñ¿ã; Ø À¡@¡�vQgãÐ øœÓtz_™`ÅPzí£ý}ò`³Ë8´T8/ø(È@ ÷p°¿œqÌ€” ˾WþT[Õþòžó€êЋï À•Ëoe(A°Â>+£Öùl®ú$ÁkF\‡Í•Y‚޳IÝ¿¼RI–àß÷ȵ¸ø¼>\K r•C À™×HÀ¸Qi�¾×Ͱ:àñQÈLü'XκRW]£€’›äyMþž6 -`‹“Ïô¢‹,¹X$Oš‰³ZpWzÈŽ²%„#hÖ›�®þ½¶¸Tˆ³Rp -2w´î7[½®º²uˆª9„ÈÒ1CùÔÛ#rYÿ43‚胶ööóþ½�FO @‘@%¶ÔÈvO»zõ¢ZtûÓœQPIL�„ƒÿeg³à-aæORAº²‡�üGNñЉ\8–d¿ÀIŠe¹¤‰Ì�õ)?¬ÃÄP\c«\X òÖP¨É:'î-yb¢Jp¿ª#Å¡‚­‘Ϲ¢p;ï' `gp"¹ÑmYÖ9›zɵ¶Õ%ÔäA¿ÕŒÜm*–—8�� <-i²JºnQ"Þâ$’ 2#=ž©‹P'hjÕ�4 ‡;ý3„Á¿ý,øÀí;×´ù‹ÿG†ð}÷îgŸÝ½û ÿîf�€Cï~úÙ§¿ùì³Ïþá7ëƒÍú¥`>¯âÿïV1ö²€1¤v=ˆ#<@*›¢¾�m£Þ” À†w÷¿,£?_ñ(ø?>€bð<нXô+áÐ`ÞQpF_xЛ±…¬ -å 1ã¸j_:/�c#Âg…œyHÀB_ "{aîˆþ¿¼Ú_yÀK @,aonpR)À—zy=Y7 -`Á„ýU Àæ“ÕQ'øPˆKZ�¼*ý¿ôXGæa•¤É¨^gZ ÀFÄ.€³ûœm-â°yóHÿçX `y&ÀÒðÚyβ@iô¢ó(ÂëFð m9û<Ë3Â¥E…µkœ2Àk}€þ³Ï°~Àì¬Å�XK°åo7Ë/ÁR`Ev£þ¦“–>s9#š«x,Q_¸€ ëµÚµÔ!*�¿AÏ—ñãÍ=­N&‰XÍ;P¸*�[¡½×GvFM¶—*A&`$œƒ$°¤áP!ÙcjÐa© œ0‚•�?œ"²;!7t{Øî:y¿ nWkóS§MŸ¸Þoqy1ÿÝáw ƫْ¦n«–ѧ$þvɱLV�Ìá™JIq‘ªpó¯mBì v6eW\»]ôò‘¡Ý:,¸Ðá½4«ót|0ïeË"ŸóN¤8ä››×-3S~cšæ±¾§0oïúÿréo/½÷·Ë_»iŸ?Z?Ð.ØþoÌçuû¶s�²DàÕ+ldö �G×þ�zfø/úü‘pKð/*æf£n8w Ø#°Ü -Ðà€z|ür[pþüߊnkÀƒÎnG@±eÏW®F8”¯ŒÅòäþÊ0À @‡úÿhscÅP»»cì'¨àΕ}À̱ì1!UÚ -ò¯ H/·ü.à/ÐWoá± -¡/_=«,†·´pÜ@‚×øùù6Q+€{‡øN\Ö�¸NŠ@y!޼BŒÈ¾2°@–Àù×(€7÷°Õ]òXÐû½k³m½á(€Q:j×�ÈýK#´f WùØ(zê»`DDuÄpŽQg˜ ŒX�à£Îã°v€j—�ì�Ulñ_ÿ±ê¥VpA�ˆ||wGbZ½\P H„œ´»ÓbÑV ªS¨4É+¾[T¢f½ÙÌrã×–34€Hù¨[œf$fÔÿ=1 HœæÓà½TP‘€j Œ^Ó&û[R2B†m|T "ô3OT*–i4Žöò=‘‰j�–&ŒTòÑ´üKyú�î"FgØVÒ´M±8]��ÛioØÞFŪwQºs/o@ö°95Qb½9 V×$&ò’¼ª87õ‹HtÃèBŒ0ü 7²”É"äl7!ÇùCà¬p$ö¨·rw¯/S³ø¼ wl-*S¦FàÖÛn{»MAe|)ñê÷lýñþßÿ¹ôûvÜùä.è¯1àÎ'Ÿ~ªOÀíkW/ÿòƒ¿ýàÒß|pùƒ¿ùà—|ð‹_^úå/Îeƒn}ßvøÀˆ$ªüU˜#dÙ -Æþ¾²äÙÔ·>>€è­�">¹Ú_lópJ›{,¥ àþÜ 4Ûßïm\±°>§ãzôXNQ|^zepÇ‚£ð3¸Q™&‘�/a¾Û4=ÞFH­Ò¤Ðd‡ŽC–žt†{oy¿¦ÉDå“$Á$(%P•Šd'ðOÑl“›DšC £´sÌülu¨ÜÛŒ4·Ý:wP–DÌ -×ì Lç†ÝfNtî!b@B;égŠIÛ}’c»}“$a’×,¨�6 -Šúç�KÌž£¢_nAÞòc¯uÌGsêœI&ÊRxïAðþƒÞq.ÀØû?�èïû w>¹yíÊepèò+$ýâ—ÿ2ÀIᚈ>1ûg ²åHñ2 -àà hÈ‚~@a_@ô+Û�Îjoˆ òÐPMP�¸¸ö߃ì•às×þ/€bàìM @Ë( biÝ�J@×½P¹+üŠ«˜ Ç&K��Ð?»:l � -𫟄95púÿËC €+2^ºü–¸ž<9f¨ÒUyh¬Z6¹ X<-&€ã£jÉ:´ýª«éU‚žöVá½Ð&”®³|ŽY¢-¿¡Àb-àöÍ×0r®\; -@(�üs À±Q•À; ITZ”ëü£´]�GÜý-×8ÕðVóÌ}N`‘�5câ-¨"æ ›ŠTÂQ`øs½;ð¡~lùf¹\àá¬ê+¿’Ø�£û[Ô›Áà êëd´e]2ApL�j7»Ô²bŽ÷íÝ€zÎá°qùªô�N…äËŽ*ÙC�ò<�“ÎÖ“9p¨¯ -Û¿HÕ¶i0^J¥ŠŒÓ4š&ï›ÓºZzâŸIð’žš%’JêDž%n6™=õ1ôáànÄã“l !�Öùhycñ¿Ùlšlo\¥ŠZ„vF^êSÝjϘI:ž=�ÅÜ%6‹<�‚2~ÅUhB\ -j2êœcº<,³0Í J+D¹·1%B¥ñ æñðZïӞɉy¥°zßA˜}ÿÁÿnª»ßFñÿì3)€¨ÿ ø_œ>¹ã¤À—ÿV�péoø*—�#b¿V1½XØ‹þOh\D­ž¯:øã–3üGó/_¼çÀ�ûZ¢­ÛùÿÐðh—ÊS&Ò °XœÃ¿€ý À“Ç®Pz¥¨ -Ѓåðo'·ËDAöƒô NuèÉá'(À±°Q~õKZÿ<Üh”5—ž-|Èö«ïÉ À¡@)†¶�þˆàÞ飊@ö&äØËðŒþ%¬R€ þüUÞ|NŸ`tvšßØ Ð_û@ 0F\´¥Yôh@Å«:é*òQö~üqýB­váã�k×hŸê’ÂÍ�©§ñòâIÛáKš|½öÄãH"Û�¨…S!bk -à‚C“‡´/CqZ -2u!v™H4 Žœ}@ti@²ëD€ˆ±b8uÚOÏœ[^7@Ñ7i°ã¸2ÀêrÀïÖ ´À³’ Ä!öX–`ñ"Ég¡_ê§Ûd�°— 6+Ë> -¥À@) ÑÖ \�WP±f�$©©0–‰ =1PŽfç¤T¢  _åÊVÓ\ñE´ŒÖ�±*e eJ™_ª[WþØu=S¨�e6ƒ,»:zPÉó9´m[×C´nêR)1¥V!©!lByò8pßÈ£®hLÔÛ�Z­Y+™lë,‚’ÒNä�%%2#+­ Q#´VðGd« ¥:œò¤Bì¬vÏ,õš·³×ËdüÒCºH8ìäÿ®�(ÕÑÄAò‹À;"&Q-ÓTÓašªbòÖ2S‘¿ò§{ xl“”‡0OWmD¨¡DRÊê=‡ íû®xíöÿíæM§.ìü¿s÷¶=ú^»"¨ÂÎŒþïú�'„;¼ãþA¿Ã-tèX¢%kHÇzPäá«lëÐl´tptM @ð¨S1€åyömn8P| -¾þ@'ÀÊ@(`¯ò$hèì>Ùï@ ­ÝÞn/’*†’Èj€Ûñ-ðç1¥ßÜ��¿åg þâÅŸðƒÂ$›€‘0güyöü…€ï} ·3$䡨IÀ ÀÉ€'OŽŒ(oBä?f¨|8é„QBüI�¢7hàäOH‡ïóÎÈ~ŽÒ �îà¬O�A­ïm 4(·zš�öÀ.n›©žšîd°Õ“„|páà)üƒÿ„z­ÎžkÝf  vF †IËiY[]0²MÔ_Ð"ÓV€ÖY ºm4n'B)d¯ÀH06ud¶ÁmwIŒé#n“`#ÔÌôÞãö4z´b4±´N�d•+£Z”åVRX¥Ê_AÕ=Ò \@mÓyTfmãçÁ$;Ð�gÓ‡d eGjÍ,ã)шÏmÛÕSè/±C3MÀt4¶çM�çBqÉè–u±W«Q_áxÎf8��Ç]2�Iï:']w¤c€ÏA -Ê|¯ÒäNþT²äŒ -ôyÞNjEÝ6#ÚpFK$€¢yO›—>"Ú:Lù¥ ì°[åý¿®ü,Aw>±˜¿ûég¿ù�óFùÿ�X&pçfÖÖýO£4t@¿�Û×nê°ö B¢í0Y„Ê'L­ ²ø¨FÔ?„ bùãØÌ†«ú dñèw-€â�°Y¶ïíßs-Nu-¢ýû»Nù»»±Ñáßž‚œeô'£`ÏQõ�Þæîœ³(ˆbnÜhÐÌe¥›ˆ½�£ÑÚØ•T € �\~2pìó XzeO§ú�òOøÞÙ–—,.ÈtùÚíÛ(õç -A÷…àdðduÀ"(ÕQ À濜6 -@€Ò—“ð+ß«¯ìÖÀ?V$,À?ï7š ÍèDÕæ9ô B¶·[Z [ßÒàİ%ˆú ºÓ±€Áœ�F®v¡y¡ ,µ W£) ý( ÛÝê €žÔ…аZT{$[4.44®Á¾ c‚[�&s€Ìh²\TÌ\(àÐÐ>œ´¶f4ÿÑ„°e_-oZåBÐé3¸›�qr‹Ö%[{p ­9a&­Ae‹Ôú-ÕEZö°ÏB­ª½å0oýûk¦_$ ª€  ”&ù%p»¾ÑÀŠÎ@J€æ±€bñÿà ¿§_|ñ-¿Çßé<Ç, §©%ÑëfäõºQ˘ïûx@ýç­  ÂŠ kþê}Þ™i?9z’m�ôý„ŠU嘠 @À²àÃ?þðÂÇõ�-ª¾µÒY˜%€>à »�©XÒ ÀVLî‚÷‘.H Mw¿€ˆl/1ö%`2àÐ T§¡ýûÝmš°X @mZÖß—iØlûS@,õçF"Ûò…€6Žwe $“¾v#¼@ð¿þ±àŸl(ø?Ï*Â’ ÕÚ"S…¥)æÐõÿ  újºßÚwÏáÐ[t,Í0_ èXgàVÂÊ™_Ý6Ôl8œ )#Û}€j(’ŠºH2j›P2Š{K;„׸¥nŠNOµt“ö–‹Ù›œ\ˆ5$èBÁö¢·o;òÿg ü_»ê¹n„3œ2pÝûŽûAO{ÿÙ ª*³@th°uC%ò‚žtÀ¿l /Cà¿�Y÷µtxˆWå9ƒ²£*»ꪄ ºAB9¸À—6.ÉF‹-Sº|´ð‡\¨]¬µ:÷XÏÖîF£ÅÙûû{{÷Š]¡ >{‹?‡ÁÏÑ¿ÄÍß� Ùøó_þXãà¼L´Ÿ1ÛÑÿ«.€;™<92 -€À†ò·œ6 -àà UæžD ÀšÕï -ñ�à?áôyÖ¬PÁ}BµÍ£Ìïøç  ÀM q©rØpÄP仸øBÕ_ -0·\ø0€9@ß*ä.àa»ºÞ z€» -…;ÁÐ_²´�Z‡€î¼ €¨"LþVqÔ £XhÚÉ…V!f¢—.¡<€€üá@%>¼�²4ZÈ•… Aœ´øÿ¬(ÿb²†»b`Ï©>Èvò<êÿ…Ðl·H€õs„6@¥6¢~:VM|ÁMø˜6uòÐ|Ö�~ÍAXÁàÒ>¯3F·OB(vÚ=‡¨|\6á´þ zÍ‚Ý\â Å´:¢Û›õ”Êó ç¨ ‹´˜@¢pL¥(ìdêJ;=ÄÜÏÆC€p6»ðΈœêE*Qj—ÑŸCûˆfÙÌZþL8b0\º - TÐ~¶d�à«×X -XX - (.G-›§�øÈR[„õ=e‚À�€ -+«ðî™i|8zÜ Þ¸O¨¶ ˆ@~ зdÐàÃë4Í[€4g°ˆn|z£¹€“{®±ÐôT€ß`ãj‹ºÔ°ä€p'XBlP+ À‚ ³Þ -I¥"Ù3Š9B@8¶\ý}H4Mbäjj2å&QMRÄ ~é´Q÷N¿Uþj6ëo¥›œ72ͦÝv­ÕNç?±ãJüã~W1ì ëŽzC‘Œú$èO»ÃÙSA=ÐëõLNO',ʱTDáù…�4 q8;KòŸjŸÔiör8ͤ7kS‡8‹TqÝ€ª†‚žî×@N>‚®:ý¥ÈxXG£V‹Š8˜¨ÙëhB f¢ÌA׉é0ާ¾å<Θ8CjõwŸ x­!ˆè¡'³o´i˜@vhLãNÄ>ì’lw®ãÞv�)œ¦spÝí5È�” t€'Z¯H“œdÚk´c¥Ke{ÏáòÕŸãþß¼};K„|êª@±è˜ß½“þèþqýÓ -póöÍÌxr¨”�ý@=Ûù/º€1…ÜÚ¼uã:ÍXÌX Ë€üV]–C÷!¨ì›»àÿ ÔÑëÎÚkpÎÛk6/•�:«‡äß<Dí¶6ÚúhØÔ `®¼ïô÷:€‹p€Ö¦æþÝÝû›»÷Ý¿ÙÊxž€ä{�¨_†%ÌÃýDÊ/áÙÓ‰%€]�Îÿ[ü?jˆ€]·oßTÐs¨@À¿}UÌk_OŠÀÊ(¥:f¸wÚ(€UÄ_ßå¿L\aEBAþù»Bü¼Î< Ïô²@”⻑Pmgç`ª€ˆ×Úzʳ Àk}>þ¸Y¡ÿ|Àq @º-8Í0z@ûXºV|ú€Á’±×[žœ9Å R €>4rÇ}h<Ú{¡: -NU>fà í9ò#|e¨Lÿá@¾ 8ÁÀAÔ[–T™Å0èŽÆài”ÿbà�Íi1¸õZððÐ °X¬+§XЛÕOÏbp`( -âICp“›ÌØ1‘¦ý¦•@ëu…C†TªšŽPQ9ìE#GCRJÒ.UEV>œg–Ï(Îhi -ÈÊ?N!@*8�Ê]Έß|¨¿Æ"Xàæ|®wUšÄ  î^kõÆãñÎxg¶3ímЂ‰Ôʈ·»¢ úèp1Òú$JË+Ò#@²ÍU ÍÆ•�“^[Øå9ô9¡–-p�äsʬ-ÞZð/û# -ð¯ç’m@.Òð�´ZIFýFË"1£Œš›8>ϲȡ&£Z½Ã{ h -†C8M×óÏoø¼3DòRDÃm™{ØK#í#(²¥ô{JRxIršû’fΠ]GzÉy4p´¢c GeM%ÇÍNmM5¹ô½‡IQßs¸"¸vç¶]þ.èÔ¿ndvŠóúT! Bp'C�iþåýÉ�;“[Ú2`™ä¿úUGÔ$�agnX �þ… vg6!÷þ#€S�Aú0È€|Ï߸4·Kæ"Â]F�ˆZ½ÍžË V @üóZšj×!¨À{›»÷4ìßÛÔ°)‘ìÍu~ç$¨Ló!h/òW¯Jó¯|6ÿñÁÿ£€¹€ àæ9lQøÕÿ€C¼?þúãÒ<æH0ñ'Z8Ï \PÛëW ÿgµÄ [6š´&Ç-<™Eo:´”ç* ÕvvƤLÎl(]õbÿ÷Kô#õs@”@ •Êû™,4”4WK€A†õ ñŸûãy,K>Å0÷u7?â@sv ÀJÀŠ`žU„e ´Aý¿ß×9<Űd¨Ô~þä#ÐPý]ëàµÅàLóñ ÎóW(µç™½(ê üE¥<èŽÆÚÕGÝfOöYø'¿ K�:±îÅ6È/–Lq‡Ã>w,Űž¬ZÜ’jŸh".H$ˆÊ4@œºX¢)rNºÃ°ÔP}…İ¿»ü¯×[¢r…ÙQç?�.€ÚÅú ÀÞî=H»÷÷:-PR½XÀ_@=Ž4¼¿«U ŽT¿úküI¥0vüîwéXçð¿ïRÔóÐ]@Ñþèë+^$Ë–F°¡TÇ-›‡€#£ŽjüŰúr—Ýÿç°¸òK8ÉÀ›6*-° F�@M÷åi*ÛÙ9˜lñ«VŸÕ 86k/û óЫFœÙ`«u&€ À±Që-vZÌÁuq}Åà ÛÇf(z 3”€%€b2 -8ÉÀÁÜú,,ÀZå ÆGï/, pmþucªßµx²° 79ú¦óÌ$Jç -Îû«7ÛGGc§_Ó´p·É\éñ  êò(ˆJ¤ÜïŒb'(ç �KÝŸªà„ -Y¨–Òƒl=Ôm%B³Ÿ -bu¦P)oïMLjÓÕZ‰0ЦÉ{2éÁ ˆS“õI Àl:ÞÙ™FWÎ0¨Hr†*/øBô“c ä÷® ¥.‘V-œêŒHkfûp)õ0Èù$WVÓ“/uƒsŒº7í‘Ã–×€Š†NõŠÒÍ›Ý0-LÀiª$Ï…¤¦å°{oƒøì@`¶Û¡  ¾BMúõz©f0‰Ê˜{ê�‘Tbâykš2�LEFNãTëÇS9!§îC|z”\_wÄ*psÝ ¤5^ÔÔš§ùß4[£¬åN¤ý[ŠJ'@ˆhv¼ïà ½÷bÖÀ ºƒÜêÿ¿Qõÿô³Ï~ãÛ®€;7�ü›ÿ+×®Þ¼yÆ �ÀÉ!È$¡Ùßô*àNTàV,€ë 4Jû•Ë�[72&îhè<Š üìßlªDËâ˜Ùgʬ}ªüü+P�öîoûåÇ™iŒ…ð˜(÷wÛœVoq¤ÓéuPï !ýã=‡Æà‘Ý{»ÚöІíؽ_,�i¸_ 2\ð�CfÀž„|Ti€f³óß~§`­ÀåKWoÿ?u€T -þëÃÿ�9 Âô$kKŸb=K8ÁàÞI£Rdg -ag¶,1Z˜µösT�¦± -sÄ·uH¨¶ (>h\g·8 °~áè(€£>e€sù„ /§Òò¨úÑt¦ `ÙÀ冀¥yŽ�˜€íe ÙBé¸Îà<€¹@ø?ÑÚ`çÊ aŸ/XX±”·€rˆ²±äɦã>½å.€¹À|ÀZ €xz¾àÒ*Á# -�‚ŽÐ’eB‚«@� -R¥Z-úy<æÒ]^·ˆ@’ž * œ‹É®NOÉoM&[­&Bös1Õ‰oH†¼ŒÂÙàbÏŸ&Z!ˆIǵ�™Ú‘-èY! ¶ô´Rd©ýqÖÀ 6K‹�nào¯×Ô¯°=0Uý\;†³á¬�ê<ʱ½Dô­´_âû幆ÊãX9ÄãQâ�ß“Ey ¦úHÈÑ4"ðR‡ 3’€ê>h ÀPÛÆ£�†ÑtCXxHB2§G¿Kž�GãjpyÙN¥ê·ë¡,äÃtÛÄÁÔt Ä�¬‚{sÅÅyf�iKIqÏ<¹:ÝyÒ¦’Š/Â`øT³‰k/úÿQ¼çOÕþ¿ç¨;£O\úﺖŸsÅ.æð§ö_üÿnòºvûæ'é!8)FìÿõÕøÅ7Ø•7¢Ç 0ûŸPC¢´x\BÙ‚|XûÒíNìDÕHsIÅŒó‚‘QÀªÚœóŠTPÚè´Ðnr@€N5?ý&н·ÿøÞæF q±'@Õÿœv¸X`1ùGÕßÝsò½GAÐ{÷ÀüíÝ{ò}ï`Z,ÿíbøË¾çS.“ùö3🷀ϟ|õo_žöúòË€-ÄÅ®tº,[’ñg ¥ à˜`é›Ê?G7ˬ†Ó,4]tÄ„,P!¾pŸPmg'm“>ü;û<èû; -@ô_Ðuµ…`>ÀÜ`8Ͱ2 -`@´µ€Á`ë»LçŠàd€ÖªÀ‡>K£~a˜w±¬€CÃ! U1@æ£Túç*¿pϦÿ»€�Ó/ˆ†¶|î 99q€tZ¨G-N‹wÞ€ê®n<ÒÅOKØ;ngZi;¦‡M󇔉ï¹?Iq£{*X:Èä­^G@. ¨ˆF\pe -ÇBËmQºæ˜T�d'Ž‹/@ †’¨€ËQ…ÅNçàö$ü%¢¡FõQ¯]«wõ–$û²€á´ ®‹­å!âNV(!’I ‘Y±Me鈷 €±/¨z�•0u¶ZG4™irÞ'°¯ú�Çq0t~gÍèvèaÏ™pKP�üGšf‹¼‚ÍòµjHœZ>žíÁHCG_@ –¬˜íc2U ¥’™!)µ–Ê ¿à*i*ÍÆTf46§nS•ó%u¤‰sejî¤(GS蓹�\ˆOÔÖ:ÈÝ0‘Î&“‰“jëï0pùûýüLó\¹°¸P€»L¬-€7ê¿SÞzª>€ôøÏ§uþ ‰½ÿAý˜ü/)€-®¨ë� ¸å»Ñô5ýg‹ïfEÐh£sï ÕjÒÔ×eÖ>ÔYõYð^Ì òg[Š ò_N-0]úv;�†€zÃHÁ÷9ÿ£éÇ ¡`È� ౓op†ø¿—†Ãî-,NQø@Jâ/¶î?¬8Àƒ˜?øÿíN°ÄàRºþ.ÄëjÔú×¾æð¿êX^)àøë믾,]åsÂ<›÷H¨>f£&€Ê�ì=kýáV”t 5øÜ–Ç7�ðüQÎc¹Æ`sc«£k5O)ðŸõ -îªíì¬|Î5À… <: - Ö^ñÐ!�+ À‰ó±ØD @º2À²Àª õðõ£¶»éxkÁÇWe˜ûd€à�}¾ûƒó€³Èï¨uÿ¿/$?f8ašþXhâ�Z¾(õâ0„(žø�@^£ÆR ‚`(üÇã~ÝúFNåDBQ³IâSpF\bŒ¦mß3Бò’¸‘[9-ÔVLá£é1GO¢‡(� 4È,ºŒªÍvôgÄK¶D„Ñ %Ü®„épgìšõ`öx,B"*äzV¯[oª@#—*vÒÂ^ϱ¯€ú7¶;ÔîÕ%Id¨xÇ-8®R¡Fê<œìm™;°SCõ˜LâÄi�4ib'=>©D‚b@ÛÈ2ãÀd6ê9/`éΘ˜´BtÁ3—¸ídÔëÕk’šÑvÌ ¹€�f�ú¤€ZKk<3ÛØ_Ò¤Xn¦ Fý¦ÞûƒÈjv íå'nÝhXØžM´PÕµºHçH�k�ÝœF„óÐ>„¼÷Pú}@z>¹ó)Ê~™ ³ó}7#u@+ØÏK࿬ 8!ˆ#ä'Tt€`@è��±™+ì)[|ƒþM€¿YÞ"s£¾ùHLû\ Àãýû±þ„Š$ÜhdÒÞ2Ô¿ìJ{òsø)(-þÿëþnÇ ‡½‹œC¥°ïIîwâ¿ó õr/|¼ÏmaY& y@Ÿ gí¡õßEwÑýù¾÷Ðùö‚ÿìáÐ(À?üæþk±œà Ûª,WÏÆ|»ñ哯¾ü\ Ú ~ðeX 4k,0vé°4 - ûÃq €q,ÞÄÈSî#\½ª†ÓFØš–ö4[Ùày Ü'TÛÙ™y`÷£óÍðqýÂ’€È €àÈ<™ ðµ€(°è˜ûñôg¿� €Rr*ᙳ!¿c¹”gœx½VS¯V/>˜:Qn+í´ë ¹† õ F!éœPiÃpŒ@zûCbL”âQÍaŠ&ZM¢¤XÉQ&½2ÂDQ’Í88rëþtrPYú3By%]•Ýû =»èß{° ÑùAÿ :là3ù„À¿ÿ¯\-£‹À‹àëÃ�Äy—þd*䆯 0kìN(ö×ý[ÀÜ ø¶fð\<èøÚˆ+!‹÷ÖŠU!�{糂uAi‚ʲkÇPººXîÇpßa€×%EÝGÓ/€ÝVJ€D�fi?¨õ`¼ñ>ry"A×÷ùæÏÃ{Åà`BO|¸ûÿõ7s À±Q†ù0Àð®«0€×‡Bwÿ–õýÕW ÿöõW‹b€-°Õ°I¶KŠ"_,²Ÿ1Øu `…†%ü7ø`ŠùåUÞ|�dà‰çh`¿ú&dCÄîªíBŠ€à\ó4£ü¯Œh7×Íp Àê<j)#Z»b8ƒÀ: €]çõû×[È—% À€Âƒ -þWYE8f°õ_ã0Eëç'Ê¿ÅPùÿyÏ-^[|Î7À1ýÿLÁ‰êMÅ¢å$ô,v/ëi>ê×[”¯‰ÝÀVB ù©jð¸ÔQ,áCZ�%0„éHO4•cJ¦2\¡ �~Xž{²~O†••úTëõµW;ÖΕw"N¯#!& -‡×Ù Àx¼cyowŒ_·9$VA&§[¤¦M•ó�N H’G� ª Ë:H ÐÒkTx²Ùu"srÏ¼Ž“!l#�Mz󕌷Ú÷Þ;Ù_Èš è/}±€ìòž¥ ž xD­I@\�ò�í0˜¶B[kºæ›é -`Û2Sp-5NŠDµGa79Ijk–qèô?�‘¨&ú=ÙI‘ly&…Àcæ|H&qJí#k`\oT—Î|RC¿Wàý•y'‚èî'Þ», dì–>*ÿW5Gà a79Mµt}¨ Äæóµ0€ÿüç£)ÙQ™·7†�BÊ·�ï°|»å�ЀPù¤=øŸ�¾€ ½€ZÃHsœÈ ÕÝ—ƒ MxòX @Ö–k„}ñëÉÛ? àz£³ õØÛ×á��'û0Š`ÿ!çÚw°{ooï‘?z´ÿ ,;Ýÿ^Ôýû»ÚŠAà¿ýÃÿëþkåpÂ<•Àß…z�‰ @\ü¿:Ѱ€~__󉈙eë,���(ý+g±ð©°‚ä/ðÜPÞ|N±–ÛÅF÷ Õ¶„jþœm€ù0À#kèxÄ�.޳ù,æ¨|.]oçPYVGœæ Mx|¦G|T[W}ÂÎ>À‰>Eã�â_m¤ ì8ú¦�ÖfÃïÍpþòŠØ‰· Ú·ÇzÈ^€)—¯c£.:äæœW*,(À¢Ì -À5Š¥D•ëÌ«H4.ôƒø–¿(‰¾a`ÊØƧæHµŽnòR‡¬[m>ô< @…\Œ†ƒX,4˜‘b4' ˜ò !²îK�’€v2Ω‚†;&M6"À¢�çé*Ú²S8�&»µ$ÔåŒ�•›Ó±">¯Ó.q›lwA¿ ¿Õ@rÈÌp•îZ££Ó@¬+eI=ä‘"ƒl*}� -­7"œv;å€èIŽž�º e‚¥#bsøÿcîß~¤ºÒvO¯Fø3¨2—®,2�;­²:*ù²��Jä½Ìjl˲°ä-EDÆÁ™äq³+ÊE¾b/ø¼š�ºØ’Å¢/-!_¸´þ©ýû=cFdd’‰1vÖê7"æœ1�ã4Çó¼ïxÇÄŒWùwฑš}I„I -`¦HÑ4qê `>ä:G‰�õš†åÎðSŠ•.ÍŽŸEJA«$)5ù¶ÿ)m ù¿:ð…ËN|mù -LÀA–/gÀKïÅò|útð?¢% ×р0Ä.ÿ`¹¬²C.àx€q I°~Ë®�‡Ë¿F €ö+@ôÿÚâZå hoìÜ(ªé±Ï¶àêàÈâ¿ÂͲÎxåÿÔV 4+æöÒ;µóeÂÄöüÒ�¤¿eÀù8@ã�µøûq À�à�ŠüÜI -°¹ƒ®_€5~›È¶ÛÂ?¿õ- à/�Ÿ|òþ'×>Öà@@‡�ð,Lü8]÷Ÿ#Á’Jü—@fuþ}Ð_mÿ©dïDþã!€}½'~•?,!o:Л³³NÁß/beSÐßßͬ© -ó(oRV{x�…ûˆ+ñ'•iñxáqà%Ü^U_{<À‹ö@ƒªš* @ÕðÌ\PŠƒ}^¨µ­585Þ¡>m;�`°µdÆ0ñHÀ À„+!û,Džœª,†³k€ è  8G¾êï!¿§ÎæzŽi8d€C{´–Ú/ñ©-’ì ‘(Ìc+ƒ¸“|�R9ŽÀáè9BáŠÀ/Î!‹OÈÓ௔€¡4ˆ|Bi头ѿÛý …ÞÌՀݒÊvÀ)A(bÔ\pP€þ ~¢ä)!Ž{‹>Þ†t±tG£æX0_) ûèõQÊ9I A–´‡ž@”Êýá -Zð\Ýž½#›1ìŸàä51%¶×^l¶ „ÃHØŠždòDh@P)j r.%>-7ÊBæaói�¨;‚"Ä&Ú?wãæK=› ôRäAZ54–ÌݧâîÕ¼b$í¥ ×¢P{½Ö3‰ô5ÜËѪ¡ºár¼pŽ�Á£­N8ƒó¹-ÓùÀ#}ƒ©µ&ö -‚ïNÎ�…Y¢ÉËÏ—»û™ùš<»ßŠÀ™}.œ}¬¿veù* `ù²ÓØôPýçðýçtJ–^OïAM‚°•F©Æ? ¸Ðàø×Za7�¯Öðÿ¢°o#@¬ÑÎÓ þ  mpŸEùNmï¼³pÊi{ -Üg±ìÈI¥çà›x†f† p¨�u�üæ­øø]ZçÙq÷c·`I›Àä$ÿ‹àÆÎæghûV®Y@ÖÖ×v8§®Œ| €Mû”¡€‹ òú¼Éð ÀÅ}½&¸þRÆ{Tûßk@þeñê�Ÿ P™hýèÔ³�ûHýbÐÔàEÇ `¯.è€ê?3¨ €:Xeøéãìú¼ü8ö09žçТN'Î{Ƙ±ÌŽP€´¼€Àžq$ €º~ø•À­ýíÿåë¶v Âvø8Á €íÃS Àø÷ãq •`·õ=)øR>éȧ²ì› @øa€©Àöÿ4úÛù/¾2�´ LQ¿| ú»l†T>íÙ&€}>{,Ü>c¼„ÔìëükiMWa&'£XFyî÷[5[„ÍÔ¢&'�SZMvÀ¥àJ+ù :-6ÁÐb'¨ N[dëØÂÜ£(,tÈÒA¼ -P‚ñ”.Ñe^TÓž?ÒÀrÀ4¬È›ÊƒÓŒÀôâa¢©OápŽÂhD=`ÐHÙŒÁI-”id«à7ø—è$iLzžQOã{X9§ÃexâJ °‡ÔtìCÞˆîào¿ááíÁp©F`ìÏ(MµMCì¶g-çºö�’è‰Ù¥LwWr¿ aì õšQ+ýöm0ÑóêkŸÿÍ© Ùè¥iVÉV!ÅUjÙ0Ç@4ê5KNRŽXçtóŠïaÛ{½àwW&»„÷=¿ê›C“µ ô¿#ÿ”Ö|uù+0€«×–—/èüwíZ<tô»TÆt€³Õt@r† –k±çÊÁúÊŸ¨ø6õAÇì+ÝòŠÀ¡±Ø0~yjÿº,¡�Û ° í†cöGDö‚ïk°‚wjÓ™ûËÎ]É™ìþ_,÷ÿµ4Ã2¦>ˆ.ü€Xô�ÜÒàQ‚RÀ.)‰z°ŽŽ/Øþ·vø¬�þ¬¶·ÂØf‹íÏÀÿ�?¾öñ' ÀA>,yyÆpfîØ±ç�íŸ�þÿ¬nÿé�Ìé£ûOú'ÛAúçÈœø“†Ó^@9Àžaþ~ðS ‡ZªK^¸ úg³¬‘ƒ,T�°ÄúbNHëùe#6*¿HýbÈþ½Ø82€spGý÷ö ¶šX&ãL|®çY¦ãØ `¿ÀÞ^‡øx#y À^ À û쀄"üþ€^’�à@’ -ÙµÄ`Ï\3Ñ^ˆŸlBÈf°¿ú–…i,©ª|À¼/àa×`<£|ý8i,�qÀ…LxS ¿­ÈV‡-ÊaQç9¡@I*pOÖ�<°ËRë, Õ6Š6Ò×ÃŽœí6ô0dc³»¢܇Z´(B~Zføõ¸?ø+° N¶bE×�%´a@º‹ÒÈ€w£¿2è¯rß Œ€/X6¤žyEZ¶”€ Ü5Ê2¤¦Ñv¬BÈseI[‚B€ˆ›�!æ>‰Óe‡3bÐJÌ%¦Äi(è8�«¼É6Ñ…Þ ¾&YØ?Ô P>¨iCI?ÇVO–ï"yšµ™_²�È�~Ô7Òç~ðˆ&L­ÄÈþŒ -†^ \-M#R€½ó1”PT±)•ŠD¥üñM…ÆûU_žÇ‰<‡ø·o¿ \£ìõN/öݕɮ\<û«–ÕÑÝuUõ©œ9¬ÈPü¯\½–i–åú^¸pùòòµ«_¹šy‚•+W®\Ë�×?þøú§öðC*Ü÷OYʲýkÀuèyýg-¡@qð¸‚å|.V`[î Çé©DXŸ,Þ¡NZ´ƒ~Ù]µ¸Qæñ›Hó7wnýÙÙ€´ð�ôˆ@ýÿàæÍí%Ç –¬?/sÁ�¥¥ ›&�ÿjþ6ûßXÛº‘΄;[¶'Øæ¿±u£Œ1°¾þkøäýkU€gzÄ`.½Þ˜Z^ýø±°¸ø$`@,Býð‹ÌÒ€Rž/šJ€@. pfÿÌñûî¨ôÿP€ -+”]ø�ø2Zc•Où² ‚}Æü+@Q½Vð> …�¼ÙÔ¼‘ -úSeþØqJ7À»Šþ.À¾I/tß8»½@+žùcÆaãýs„Rìp�à™^GâðRã„Ä.öùÙ €l… Ì~«ÿ,J -›y±ü˜qréK ˜K‘áÎ$�ѲŒ:¬BicµšepŠ‚mA ”€ÝL­1kÌ,«c^ | úÁÅ™u(�ÏgŠQ”Œ‰÷ÐÖ,š:>Ïh5$d]ÝÕ -‘fʼn ÊÈŠ`9¤àØ °Hp)$‘ò`I±.ƒ>ºEø)”AÖ€Ú ÀÀáx&לM´º[é–à�Gšþ%¼�à¹o$�„ˆ•F‚V@qQ�œåóRRn)âìï—H¡mÈÛ(ïj¨;ü—}�%^ð¢Êu°;â”N’Ü‹ÿC´7RKÅäD�Ý -ÅDXéC#œ‡!1àÌrÜ J©cºÜ%s1�»Ü@Ö¤�×ñ2xÛj<³ªzž•äáÌ×ÇUß=&;²ÎÒÿ.ËÚE©v�XNŸ} -pÉ>}Žÿ+È_¾ríê§¼ôö…åkŸÝýT¤º~ç³;Ÿ]ÿô³;×ïÞsâúû÷îß‹Õú¹s7`½_°/Ø?Ù�Èì `ÕÿÜ/ßrPØŽÅþ°> ñȸ{ÂðÐ^àѳ¾w° `ébñ_›•/¤ ÌŽà/;;K€|>�|€9Çm8Oµ·øÎF: è Ê> r½}Mï?66w¸ÁÎÚŽƒþl³±¹sc“-ÿ­í¬Ý%9Áÿk×èÚõëλ\ÎúÌYËäûTíÿ»àöŸõÀŸ…þl—²ðb €½4æ«Ý¿ˆ, À´½ H1 câ°×ðüÙ«W‘Ô=Çú¥hþ.²I5‰TÐ/‚ÀôÜ8¬X@ÿ€z¼ì8€Á!#Zhxñ^&Ç‹û MªY Às„ üH€4L|ìî'@‡ðßÍ=ðï—ËÀ±y§.ü£Æ�ICBÿRR#)Iàè�€ˆ˜ÈsúÝáêx…4�o™gÄ@¨$² *HÖî%á‡vô=Ó¹·�K¤ˆ‚Œ yi@´V+¥£l Óú€1…�ÜC3TµjÙV[æ$Š[hPS@p¢¦Fù�’I CP·Cœ`ÙêK„\e8¨-µ� - -�Èj¸Ù �¶~Æpç2—¡�‰ËDOkD¦ú9@ ð(MXÿ4t—H!¸tùm‡×­�»7áCá1ða«f€Ù@7M 6žîÖ ÆY£¤>/E²Â`@fˆÿfT_Ÿ�§µf"†Zª£» ËÌoàûjŸ‘aìzäDÖ}Ül8Ý�íÏ~ ו4˜.g¾YMöòó_¶Ë¿É²ú²Pÿ;òßýùϾ Æ8@íÿ——�KW>½÷m÷ßÞ½wÿ[äáÃÿóÑÃ=zpïP™{Ñ�?“ÿo]¬&„,žÒð­·.–ÖYÀEW,cøúË*}jKë‚mÆTBnØí^äÏB|oœ_8y¾±tq…ß=ü¦€0€Š”› ZÖ×ÔY��©@ -/@-ï,Ô`iíæDÛ' ع¡"°KPý7€÷õmÀÖ xÀ&PðÛ5"°ŽþÏšßÚÝ»ŸïZ>ù~%u:Ðà�}>¯Ÿ°š�Áûg>¶þß¾ ¨À_âx¸Ì¿^=ëŤôæCœW�Å |TýsE%AŠ"‚lõsåÛ;a¼uÕ?^ˆ}€ ÿD¨ª!Šy©7«úLI«â)ž ý"H±P¿üH€sÍpÐ8»>/:õLe˜ix!€Ÿk.°ÿ` @ôÿg|bpõ>6®L,Ô¡• ÿ{Á¿R÷÷+øo˜f$X@ êÀ)Å¿Q_V ©–½µÓ^(”#Àý/P˜µ,ë!ø‚@CýÖ¹À3u®ƒzYTs¹ÇX¤É�ªü°šwÙÛ*.uŠÄ—ÀŒžî«Éâ! ‹B!ý�°d9aÝo I”ÿ\«}¿1�±¹‡7†}\ë‡ðq#N)H©ÖJŒlûÀþ¸Û_͈;�š&ÒÛ›auûv�tÕ Þ¥Èöíx×!>ÜX #GÍsŸb¬mÖ(‡å2#žCMYõ[ÃŒ¸ITÈÁvìCA¸Zµ¦#!Êô)06kÓ0�°þ<±ˆ}ôIñ¦ež3¼;µg� |¿m÷þU¥çYç�¤ÜÌùÜ(� ¼s\Ϋ,ó!+|@ì U/ -ÊZŸ˜ôÌïêA»bœ�vÉ7 Žû&ÿ¦ß={óÇ­rlºovGUÝ­Ø ¹¤ïÿe¸rU@Ǽ1¸zýÞƒ‡ß~ûàKÊ“‡�>ù¿C!~ý»Âÿ·.:$@ÿú-‡’I'€²7€p€·.‚ûzÿó™~«q2ÐÍ��ôר¨ð¹‘¹û�¹ÿ¢Cí‡T€o·¶ -ÿ³'p�pËÛ±Cƒ€½7cÐpóæúÅÅÚùÚ©ťS¬·àæÚ;œêFv霰µ¡`}m{Sþ°M€¶Š`‡�Í�¢ûo®m­}s÷îgw¦>?w.€3.¼7ë0_êÙ?Ì þÞ�þÇ[€?ÍXž#?ÿ½êðæ‹u˜œUáÿ3€] -�Úqò9t.€Àþ¬lõE½Ž¬.Õü¹²ê—½€âÀŸàU{œ¬S°Dÿ}½f,i xÀñ[àà^G<À� €b x€ÙqB¦ãL‡ÿŸð€ýØŸoÿ ‘éòàq�Y €DIÚáA×?Zô-£ü˜|BQÁ²HŠŽ»¶Ó9Ó/Y�³8’` (©þ—ËñhÔ{QÜ(Ðá?RÕí6ùbÒ‹+ü#±Rõû$)ßÁj7e²ÕX€G’•”'PÉ6sžIÚÊ=})äÇŽ0ð:mrÁhÕ°8î<¢,7ú2‚¾­<Ç Ã=ûý1`¹*]l,:unSÎ×Í“–J¬n‰ ¡î�ìT¯°ÀÈ%£”“ckh¸ä8hnÔ¼�8ÍhjÀœ‘wš¸ ý§ƒƒhÌ äa^(ÛŒ¤aä=�bQ³”š>>^%Ù‹©&b¢óê8f�±í±Z2Ïy‡¹Ž»ÈÐͯu‚af18‰%¼C“ØÍà__¢XÄH[M59:#þe§‹rp²Þ=æÒÿÓÓ¦&g”{vT•í‘Êé3g/¼ý¶Ó_¶ `9Ú0*ç•ë÷>(ÐÿíÃGúéc´ÔGO¾{ü0»” -î«¥À?ÝB2"@iø}½ÿ×o]t¦-ß è—É€o5ü/ݧ*¸ƒÒŠø›±èÿ¹øŽÓÿ-.]Ì´}Ù¯ÀñÊ)⿟ê.;_jXs>`ðÿ|£]Àö6z< ô´€þÂâ;kSm%ûÏvÔ°Û°¡`smm{{kÀ:ó¨óoëõÝ_'µý»S ÀµOž7€`�À|,‡Ùв�òpð%{m8ìþ—~?BÞZ|óÍ7Ï¿i[€ž?øãÜ2 -À3`þßL«Ûò±^Íz¯€2°?+dÒÄ -�+‹Òô(‚ Å®½ø8ÂÛa½$‡�ðCÍÂ{|2 “—ÿ€Ê°Û €º-ÕÝÏç€=€ WBžã°kˆÖ_@?$À¯ ¶ÿ“²Â¿™g -”¬ìî€ÙqÔã$=xÎ’©ó’²hçñR+°dµ¹J9*�Ú*I2,ÏŽuܘ²è“ý ¤ƒŒÈÔìͰñó®ZØËV´|�fÐ^,®ô"¤G½£–/¤Áù„O9M¯åt¥ `pRãDNÄ•!d<ùH¤ì¸f -r5Cø%‰�Oò�g�1ƒUÏ®f/4&i È ¤c×ñ�)³ã>TƒgæÎÃsAΡL4ä…ÓÚKÎphüâ×ÐLѯÖ.!÷†�E´Û¼ Iïf¹$ju6Œ‰ê½qj®háE¯b†äBB%àrö® ®Òø1诠óäÔ ¹8©8¼"Ï48ÚÞüK™äÑ<—* œiâa¾Ù/ï�·aOOñk°Ù¨Ö3›,r¼,ý_ŽÍüÉæÌ6¿jñO±Ø W? ³û8ÉŸŽÿó÷ö™Óg®^¿_iþ�¾½»?…– -�&é ÜWÀ_¾1 8,ÿ¯Á}ªIhJó¿’1ûù5ò­V0€wœ  Ò¶]ܨ´þX[Öí€ßXò/z~ޏ.Aż�¦ßÞÙi¿ÓXÐí a?AwÇàÄ~7Áùâ؈¾_!ùË—7ìJðç?ïr’)q(£Ç†àr ÜGýßq€­õµÍàÿgÓ^Ÿ|üÑás¤ `Ÿ€r€ è�Ì€�Ò"p˜ð„m˜/¨þÖ®àü&ÝÀþp€*Ef(À‹�È‚ÜßÛlëµz0¢þOÇ(Ð/v€Œ?~€Œ8ë ò6À‹ùÌŒ°;@šBf{?µ€Éð³ŒÅ¿²H -xŽ@GL{Ö0™ @µ¿lýgÁbü/Ö¿f$R´;ˆû}8#>_�I•P~/ñW i¥ÂòŒ”H´ïh–�Õ.TE“Ê9�’0¥™b®pí°K2‹i–``,•|æÞuvý¨Üì()'‰Q9¬ŸóT˜€ÃØl’¼!@æ+ÝÞŠ�å¤Lî4Ó‘ %¥Où a­w% ”§:Ư)ˆ®e{�’±éËGÚ# -¸Ë‘f ¾›(ø¥A"8ý²Õh@²¹>w1”¼T>Æ–)Ý�ÖÈ×ÙÕÛâó¼Õ¨óªSÑ�òû‘…Mn.èÇ�bs ¤f¡9†ªUé¯]‚Ëö ßo9'r¿OxµXä ƒ[…±9‚A‡’ÆUÞ 'p‚W„ò#¿¹1÷XnT6'Ûå"~Õ®™Ý“ûþÌžš,¬í�ZÒ±ïíKo ù€¬ÿ—–/¼-àœ€®\¿›±ÿ!ª?«'�Ÿ>yœÏÃCå-ûŠ—E–ÂúdKxgQ:áµ_à`@|¢ô«÷—• `qic¢mqóµ¼#Â*7ÄÛ%Û ÞYºx£²Ø½b ˜ZnU>€|mqñ|c©=!R -Tú›;7–ç©êÎ7Â@ÊÃU´o­qªmS @Àö¦>\/ (\€]ÙÚÔ°½~ÿîÝoî~¾k°àásT³Îô¨,ûm³ ý!šXì0«óÏ~xÄë/ÁÿÅïoº~þ�%°ÿæ›×|ªLd -ÿ/Ö €—#ïnþ]±²€pÄÚ., ¶÷ A�bøñ㜫 þÏôxv€ŸÔ  €_ý”q~ιžï ˜àÿs,æV,…L,šbˆ1 èŸåô;�ÿ‚ýaâ¿îu¡œ6L|ö[ñ’­ü^â«ñ9 äÜVg­ì(0mÝçuªG±¬™ï†Hx‰ •qô{íE�ê@#Àß»š"ã-]TW -8H+cžƒAdæ¨wÉ$&‘2‹%È[É(."*Ux¿ü+»üVGÊÎÉî=ÿwÿì®¶wUU{¤rö´cú9·�ƒÙ àÊòeùøvþµ3ËŸÞ¿ÿíÃð@­Ÿ%4à©Íê©.€¾èñÕ’_ùò»ˆòo+À[o.ü uÅyþZ ;øuÖ^þŒ`Ñ�€ÒÒ^4n¡ÑäîʯŽK9]n �„p4Êxµ3÷@Ào}&}Ý�…`cjX|'.ÿ<œ/˜zûV±LŒ‘€ýÚšcÿɤ,aÕ À?2µÄà°¹Xîë0_ùç3c¨�¿’}M‡[xÈËàÿü´àŒšèÏåÄP¾% -E -ÈN6x['èŸÍ²F* oN^Þ0$•à®PiÈJC@þ¥ @¿‚bþ½ø8ñ@ý- ª/˜÷s�°Ï ›&€—ö¨,{{¼°À� îÿ`Æ 4L}ŠÞ?Qÿùš`ûùš¦þ öûe�ŠøŸŽ>c 6×`¦þ¡>yr°ü —O‰J®Y|ËÊ þªTg´í&AMûàéLršèeJÊE %lõºÅ•Àríõù�¢Tg»q’ô@á§°•’Î�DJmPŠ÷®-PyŽÿ» ¶X†6ðÝ )>–[ö}„ʹ¾t%ðí>!^¬‘pžQBcJTª°{t°°�Ξ$g´É˜ŠÕøñ°Þbâë ^æ�<°z[; -ÔÄg·cÁwÀˆ¹€‡¢»)Ñj¶ûlñÌD�Ý[òTçrF�ð¬îR– 5Ùüƒ�¶º„o“ý‰S½ÄŠxÕ‰”!ä�¬öä ‰lqþÛꟆ¢a„4�úRP´{h20“ru+Ö)UøöbHYSó*Q)þX6šRØŽ\ªªöH%ó;*æÛ—C`ÅpæôÜéåë÷|«·ßÃ`?"˜ÚÀA�¯¾üU·W÷φ˜¯ €°ö—uXÂ[o�Ãû¥Ñg,‘àì.Ü ¸èþEÕg�?76Pê'g"¹ÉÔÐhœ/½Ú18ÐÀ�µë¿ @™ �”‡ƒ¹·oî¸çÏ|ÿÕü3ÀÚv–âÙÚ®ðÿ  ²8ÐG?f.€‰€&€¹ãûuÿ"{-·þrˆ eà¥,o¾ùV¾P­ÿ)¥ÀyÇÞçä`QÀöys”jyBªwò` -°X|J•ìf$ÂHå0øq>çê 'š `×0`Ò @H;ÜpÀ8nêð?t.€çŽP€à¯1 €çøP“®„½|¯@_øw]¡ÙHE È̱*óˆ) £)ð/h’6 €ú!(©õ -@~ŠO°³Ró ;ÜÜ ì ”èÿú–Õ‚dÌ -k¹�³�x)©–Èà -’Ûz»,€2é;lSŽRg -µÏåq‚à_µs܇½¿5Å.HŸŸlŽÌ­Éª=yšñt£ñ¼Ý<Õh¦…ß°Bv�h(¶îó�:Pþ•¥ç„r3ž˜ý”#›¦L ?`nô¡)å"3ä âo# 'òd ¨Á'jÜŽ ˆS'³mœHB”Hµêõ¼U°NMÙN´ ‡mòx)¯ò ÅmîŠaʆK˽{˜ZްLtV‰ÂÔ.›åd¯j/ò"šFkºP&ÿÊw*“Ý»²çO¤ìa¹{rN½sÔŸùÓ§–·/8¹_<�(=u˜?}õÓ{=R/}ˆî¯zúè êÿ“§OÔTÁžê~ªøKXþ"}H€3÷kð4ÁÄ8àç�·ÖÖ–Ö.¶Yì®TÀÁÿ‰ €�õ�Uà�€GÓ¿¸¶±1Ý[ˆÀú¶Æ‚]{AÅÒ `{×Pö":@nîl\lT‚ûÕAiíu÷üñÏèf' -êí å¿,ýdK5¿2LGüx2à3eÎqf}Ê8±H^« ¯¼˜ <áå€ê¼ƒ�ðÕúðŸRÖÅ`Ÿà™øý—Où²Ð` R‰ïGÞ’¼ÊÕΉPM¨œê P$o~‘äåÆp:`Ñß•ÒAsìˆú! @Ƙñ „ãîOó¨,»½€Ë€Ÿ}.IÀÿµºg-ªÿã €)ú»Yêúbý/9æ1åFÃ!„ÆÈþù™bû}8w¸X†Ÿ"� Ÿ¸"äŠc}Am³OÆ×P }°âŠ})—äA°Rr`s¹Êtb¯ž,. -ö£ƒˆq™pÏ~¡Ñ"î-T~Ûèò$È‚ˆÚm¯h§/%Ž2×Q’x.ÛõZƒs'Jx)üŸ¤ô¡OeˆèX‡ûX#ïJyymK5Pí­Dó¡™iCÀîx‘äåÆÐ p×@ä;l€î0`2A;°À?s.€ ¸”^~ xŽÀÌ\³€â'À µØÕþÅYƒ9Æ7յʴøçŠª {))S @¥3þ$¡Á‰¸µf Gʳ1þrJ… -lxž Â/B@³À¥�,\s’%Æ{RljbšYèi-òÄP§/øJþ¤ € öHŽÈV\$UåC¬|tƒ×ò¥ÑXÌå ›À›»|—R>`/H‘Ìc¡,®µ‹UàÓœhľìÍ1î=àJø@³¹äûÆ9 -ág'èûèF"I,E¿EÊÆ�]‚8Ò7R�»G}5­Yó_+³Î£Æ² ‡A ²™]‰&ÀxgÓ ¬ˆ'pN-á^ÎŽjV Ö!”gÏDÁgw½Þ¨78­Õ\Yíuë½Á˜‚í\õ�a\ðj,õ™År n`8ÒeaQRÓNÓFBj¨Bb}LÂËEñÌ3E,½œP1a™²ÆQÃ�ð/ï€O[â.¶ @ :º ¸ßo¥œÆ=…×ì�³'vöÇãz“ü´2ÖIÓƒèP}ä")€²kõ]"MÉqB¡@¨@)ías¡`{ˆ •ÈYQ$Fœ™-3ŠøhÚi'3­>.s(±³K¡ÂÔò/>r©jÚ#– ð;@ºÿ½-Ò6óóÇÎ._ÿö�æÿ‡�ø¢ýëø]È€<àP©à>À_6�üÊ€•æ~”AÀBœw¿“• ûŒ|‰Èõ|µL¬76À7Êô;0�üc±Í-œü¯ÀÔÀWÆ›ÛÌpsgcýÆ`þ%tÀ † �5ç*��`miíË[™�À¼Æ0M@Öý?7&½®Å ð` €>ö˜õ˜é€Ìç¼ÇnWÀ?‘´›å§Y`KŽðÿŸj. óççü–(<+{ÇØ�  Ó)½žöHÞÊRù*ÕÞJR±ÔêÕÐ@ÕxEŸ¬æøqãœ+wã4pÚMO”<ØXlê7è^ög'àÏE‚@ ¥‰£^]îÜ‚“îfJB ‰Á�¥› ^/ÿÈûаg…7”žR…�ÓºÎ]`1Ê%ž‘sÍ&2‘ì!q$Ä¥±àVW–ŒJªÃG*UM{´rfþÌ™KPµ±ýû;sö¬°péÎ}=ÐKµùŸÆ àéwϱ<ò÷ÿÝðoþð+8¿xJê|ðÞ…ë²â¬?£—ïý(€ÿ—;_þ -àëüƺ:}qÞNEÃ׋Àß‘„ ÎÇÀNiAÄûxï‰Èà—®ë›Nê«~¿ÖX\X8µøÎÅ ñ? àÖ­¿üåfiðŒÀ?àÆæÆ&ë @÷/Ë|„ý˜*;ÀÄðÑÇŽ˜]ù8à¬À™ÉH€‘Ç^™;>üر -ù+y¾À¿Í½6ìÇË^Þ 0#½è'Ó©üÏñ9U…þ™`¾Ÿ¸ðµ­ñÝÜ+¾Ðå½Ný_í-â;JÍP¯ÕìH;€–RjΗ`aÏH€ª¾éÐ|v€]€²Lá’Pªõ£ûÃ>ÿcç�LðÿP €ºä³{ü~üûà¾,¬[KÍ*]�ª±Ù¨ã§mÿEûßc0aJ˜ôÈ�~ºÔk`Xe¢FñL.ó*J _[ ÜYñ?¯@Œ‘',Ò&BzX.M1ìI VýV­-@š{dN«Ýûª½”"C]ÏD©, T¤‡ƒäP’!V¡Ô€’mÒ„¤–ØÖÎ#Ø„³NùH$x¢Q*·ÏS8�“¡)€»Ÿ~ƒí›aÈ#DžeÒl¹4pÃfZTúÝçý‹0þpÇÞp‹árVÃvƒ!„ÖP7�#Š�“—ÃßwÑÃyÝÛíÁîÉ{Ô6Z¾FƒN|-‹:îh Ér“CV[#° H ÖïÚ±„JF%™Ïörâ"IÉÒ|2Ölú#�‹HroÉ ñ+]ƒðT|æÈ¥ªi�Xl¸`/€Ë€L (øŸ9}æôéùcg–?ƒ8€š)ÚÿÃ'ß±æóý“ï+´?H -öû©Vú”¿Äÿú­ó e2ÀeÒ»}æ#Î~y tÖØØ -øë›zØ;pep¬½ ¶olƒÄ7¶d -¨ýœ¶±òË ¶6üÀ}§>¢û—Ážµ}ù9^Yj�‹Òƒâí÷gÀ—k×n°bà·Ip¶6v `Ý1€õÿ/_>Süg­`ê�&ÀAsĀܙíÜ+Å`îÄÜ 6�Y+À^ €M3rlþø+Ǹ»Í@ÈËYæQéÏÏØøàã¸oÿ§ææNío¨&Tfð¿ÚñB6›�º€õëÉ+�š1ÕÁ> -`EcûaÍC¥W€°R|P¡~Ì8'OÖf|&½f-“q&½”çYàà^ÿ̹~x€Bä@%& I…ìóØ`¯@忘ýƒþ³ðIôÛ -ü(ó¯4þï±ä\RßÂRõÈ­~A'h£&Té¬åÂ¥KliP¶L£YŠ\VÝV@ˆü@8bÈ)Ê¢š07"WTÍ»­~¹&aæ1R ‡[½1¥†XëÎÝ;äA”\™„l(Z’;C2`í5‡#Ê;9·%1€dq›Á ßhuìßî›âÚíð·EX@âR©æ5‘"°íf}±Af«`èÌú¯<�?î5„rÐìÉSÖ8A†¢©£ÜRœ,„Ùv†�În{ð«ÖÖ¨7XŠ$%�8Á^HØœÔOñµá -êÌ–¯Ë|9qìøŽÖk ½iÏMŽP_�kP¤yãyvs_j3GØæq%�²Hœ4R% îraçEÃ2Ƽ\)cÜÕÝ%Ÿ’‰ú?AªŠöHåtœ3€ýÿ/]rX@À™Ó6Ì•¡€>œöùRZÿÏ÷i…öH�ýҽ߹þƒüÓ!dï,Æ€XÞ/�¹4HÖ7Qç·×6wíÿkèü*àhù;k;bþì@Û?רüoÁÂÜbgz€¢û—�-ù›{,çZ¦#Þ¾}k{i}¯`çÆ: ¤„­êúï7ø¿Véý[0€ªÀÿó£k_ÿø` €>d‚`Æ@}?½Xgƒs 1 Tð€`¢üßæ¬ùcó'ææ�½æÝ•—ò˜Ô§èþÈ‚“™Žf¼G!Ø/¾­/VWóÚõžKü)ÕîH”ªqj^È0Ó àgð¨,G<À �`ÞÄ 5ã�è?õü/ÖEªFÚqµAb ©êd–¯?Îî™LÖÏFQ�Ûü"ë/½#q�'Zà’Ħ ‘›ì]E�R -¼�­8OÖ†îI`Æð/R”/ñï©´ræ -wêkë.,gøÕhkÄú¤ÐhPko�‡½¥^Ó9ð{œgH4WÀ¯'%kvz[MG*ÒO�¤Tu‚¤dÚÐ÷EÉxÑ"´þÚ©Äi¡w‘�—0nùÏ9ÐO/žðˆ -Eí*Dm¬áIí<¾ã-r”°!2<Éà-ì¢À{)Œazï <ñã"îD¶Q0H§JðþuۼܕJ]½ÓkŽå~M¨üÇh÷ºZ &΂džð,¾›Q@Âêþ``æïgÉ(sEêVÄMÿu[ðQ�ƒÙ˜PŠ(sc^²Áð«�ÉCŒVd¼­¤r2ó«£ÿTí �röBéxùÒ…XÀ™Ó¶5Ï¿vöÊ�o>(cþ þK�ÿOàÉsÀÿ#àùE!_½?{ùÏÆù…¡ --sÊ=#�ü½¢V^¾E‚øQ¶oÀ*pÀ]ßpF>{òoÀôîs‰Êÿze@Øò~ ÀMð~W6Ö=Zœa+‹¼7Kú@¢Tßþó—›K›·¦>2ÂÂsY‡�Lð¿ü)À/ (.•à“�ßÿdb8È€å!#ü×0/Р̀g}ŽSõ?ÁçX值¤@PŸEøøL,ù¾ _àÖï^ˆP1%ªÝ‘ ¨/j¨ÆøñãœÕ8‘íp ÀÌ8»sìúü� à9ã€FÿÅÇèíX¬jg,q üϸþ5HŸ]–^8ÓöoÅÜ—LƒIJ“Ñ\_oP^ bÚÏôñ[,‚ -( -¼›¶ÙÍcÓÎÍÃÍ]¿Y �ƒô€ˆhá$þx@äÉBtL ½á,ôœáïëq¿;;¾A1æG‹‡> j  ÑDËÞb `©žŽth˲6b­’j*“óò5ŸDì5e� K÷ˆÅu¦Š•Ô NÜLú(ìKú~!^Ü­ÕÔ5ïkm°"°i 9¥ó«!|„°+bKÌ¡º‰÷ ·E˜´IªÃ‘í£A Cš-(ô\k OA‡D°4FÄÓ@dHìdŸ‡’Qˆ–±" ²í'3 -ÂRSåÑDØæéÝf‹X˜Qv11bP±öxLœ8:î§VŸ×tЗ ûf'¬Î¢yğ׎\æ�Í9òöeGŒ àìéhŸg—ïd Gú‚LOž<´÷_Ðp˜å'’Mµþ,BdNì\@Jú³°ÖR€©`mÓ©õvǸáüNÂoS€Íÿ[;|×¶Tý½ -°^Zb ð7í�ã3¢�‡ñĵÆ;K�…ó '#˜úܾ}kóâ¶øo˜nÚ `#�âh¶Wý• ô,€kŸÄ °àÿÁãì› pÆ@Ð?q ’p<͘‘9>’„c¯¨s¿rLÅÿ„—¼âFõ„—dUN½°œ¯úFJðŠe§ú#•x…ý|âÊêïVóêH¬ €ê -Ðí¦ ¦Ic˜ø/ìPzì� P–}>e€5ÀÞqJ7ÀŸ8À?o.db8ÜÀÐi …öùTêÿŒöâ¢îï’ˆEûׂ�BEœBø -p¥0p½ê9±tÅ�ŸéÇ=Y\,6o2•’â 2“ã~‹EÀðç›ÐâÄ:môIò PÕ }oe–‘û’˶|rÀ á[ h¶;…ïX(&¾™ŽêÃcB^*âÄ?™µiÓmõ–:Ã-�H!‰“Šºw1qHl8(™—€‡L¢™nbYtáZcccF Z£//ÅË7¯[k ÇûÛø¿›—ƒ¯Ç¼Î8:j©*Ú#” €pÿ¶3ÿ»€yÇš?{õ³o>|XöŸÆóÿé“ïPÿ¿^õ}P¾ú–EüiÈdÀÿR†>H@Utï=?ñ?ÐëUÑý× -ÚÛ×ø_¿±¾½÷;�ÿ`¾ß5 -þ«÷¯mTñ ÜÔÓ ÷Ü•� Ç–m@–ÖÖÞ)>¶õì½}ûËíö6K -bpH¢õõ-7[Bæ/_'¬à?úÿÿQYtxŽ >éŸñ¬@A|]ùO¸£ÀÜ„xmÇO v86|îĉù¹¯œx¾pbž=¯˜¿‘—µL÷yaøÕþ•Ä`Wf8À þ§nŸÈêó¬Õs ÀIjê‰XxË\(T/<ÀÉÌ@=#úÞ `ß8Ï·ÌŒðóúØ àg (Ƶ`â`ü÷[L¢äjÁÈ�j®?ac�ö_à_è/4@í_’„p½É\›Bbü ¿vƒ `C45u Fí ¤´/óEGPìˆÙ̧ P´Ñá�“Ð äÔ‡Ñ5ÉL"ÙW£¯ÿ/€•.Šf¤GxŒeø+!hÜmtl èö¶º6Y™AhË“¢J6/�hi,çµAyïj_×eôN=hø5ÌJ7IÕ¬“•fg«Õiò2u$5CQÑ.€Æ‰øLd -–­a;Ò]Ðlù.�(gƒŽ†Þ§Z{øèÿWX[½Ö -s³-¦¤6á~ƒ6¤Ù8£6ÄHD˜¹GgX«µ´`Huß&F8ÚùOʆ ­mmg 4ÀÜJð‡AñðÁÒ4NDÁfcÀI¿ÉYîÀíZ‹JAOáRØÆÃ–ï@f@F5û£ñ_É)² ZÓq D០¿˜?ê�ÔŸÑ Pýÿò…K—D8{Ÿ³—ï~íÿ‘�E|àß±Íú0矑²O¤è_uÜÿ™ˆ¿XŠ-{˜Ž`]�ÖP† X‡Axt|€ž…léüó³?€7Ò À£{åF”yž�Æ-öúOÿt¼½³}qûÖ¿ý!Ü$ `› €Í2ôÀþ+€?]Lƈà!½ >•œPÅÜÁýÿ èG -(‹Ð„ãèüz ¸zå•cÇ_Ñð �"/é°;Ì…þ´ìõ˜Â¿?«²½Ú%«/kàOÞ­ˆ×w‹ê‰ -Š{9 XƒJ’jY-­c›fw„ÂÑ©UZ­€…“BßIôY@ÀÌ[ Ž@©|´SÛuPÁ¸¼›†}ð™š�*JH°*5œTÏV–¶ÖR§ �r„SGTå£(„à>õ¤ K5X«¡:Á#‚Œ„º=\ZTî¼R²>`$L»®ž~j¡Ùk´ˆÎh ½éÿmÄf*¬AŸÛH¨½usje|5ÂÕ±¥•Ûë;f¨´4Kú]M�V¬¤¢Š`ƒ$ˆj\«õŸ­W_=°k8vŽšwÐ�ô@O=Ï6)´k@Ü=…-Hp©éwµ!?ZµV“® -×þcȰñA“ŸåT‰0I“–ÅnØ\öt.'P£˜ßE¡꺌Ò�þYL«Ð±rÈaY ›… ´%гñªhKðbŠŠ6(”ÝÁ°E4ÍFo‰‡s–PÀ6— ¶„° �huàœ$*ùý‹Û¼%Ì\ã”6Y (n¾9ÍNÝþÉîNÀÌ­MŠ›šíRû÷‰“Q銥”j9|Täw¾Ü”%BB¸‰û`4üÊæ£^oèŽþ¶J&ÚD(€—‚d”DñPðÞ  Ç=a”A¢xÄXà&êâNFÈ>Ø-€TÆpð3‚›�Èr¨®¥Hû¬ŒXa4 ê°Yëµy¥È=ß8ű Ñ÷ÍŸB®–VŽËn-0 û<@É…`æ�§i0þ+@úÆ›Höµ'�ŠŽXæìä}Ä*rU~UL~Z.œ}ûÌ™4 ?g—?ƒ ûk™ž>--ÿß}÷ý÷�€CE¸ê£õíAþ²ÍNüú­ÅLð£šÀº"šý Úo¯on¬]\Zÿ762Ÿ»Jv¶ `Çö|ûú§(ÿHœ6vþ’cûdÃFß'oì¬5Î/¼sq:`EÚÛÎ -œ�þxòz|¶×Ú!Ù,~�Ê Œðɵ�?úä£�¯_ÿ\À³>€CÆ×ÿv‰ñlÀ±(ús'Žsž;  ÿ{eäŸqxY ÀbFxa!£uxÖ`‚üÕF…ÿ{Õÿ"«Ï³X…DTòþTþD¯Ñºh�(2ó“P6-ý†�gªl`*±©Rj_E§ÕË­Vð¿¶`7ÀôÐÆˆ"Cu�ŽB­ -ë em=$¤‘ØÄWÜr[+è#€µ ÈÆ©Âñ<2ê7!oEël—+Ák–й7ØnÅ¢• �ÂQÒñ\wéÆÉXÚÆ$Ò×Öi±28 ZŒô>[Òr¡i•û4¢öÃ~8Êç™7H¢¸´ÿŠÀyl(ÈÏÒtp_’'i±£™A(3 Õo›+rO…Ð�{ÚþIü€¿¹ºXï öÉÈ¡Fç¢ù“L®=i -ÿü¯›ªu)¹ÏOû/6y‹DÁò\pE§C;`Ža,  µP¾2€��Af®' -!# ŒˆðW3Œ­ X‚þ¿ûB–åÆ1ýƒÜƒ:|Åí(Á‹äÉVÜà@±‹„)Ak(FàÔJñ}ä NkP£ 柔‹ˆˆ -ùkó Ø®éêƒîIûN§UsÚá¦Í-à¨ê}oK¦ è[(Üá6¬vh‚È (æÚ|ш¼ô¬& ì¯®�;„œ}€/Aå£ö Ï𙈺ãno‰d2ÒЄGöuØ÷æö±¬õà­0ßð‹Œí¯ç¨Í¹tɆ §@˜nÀÔLL -Ú�œû -*«Efì@ÎqZ„}}eF�Zð+ïZ´ÿ>”¡¯¥�gʺµ�øzô…/�œaœPXÓ±tªŠöˆåŒc‚.ÞÖÕ,“ gΜ=ãWîó¤¿àÇ€4œâ»w€ üg-øóERÁï•Õß­þîP+@õÞXEZƒÌÞÁ?Tv¶êÊÅaÞà-T¡Í†N©è¡‡óÓüÝ>Y9¶ q ¨§pbÔàB@Ý:©Z¨e"Uê‡4u*�¨4·Ök'YÆï;¯*•''º-Ñ–£„¶0a6[Œ¯¡¶¶–PS�*ĉŸ¶jÔ¯:!èµl“Ñ¿úÄhØ -–AmH�¢§·×ÐÚ[îQÔÄ;Ñwý¹‹a¶]ý -t5ÎÄ\&#:IøLd/8ÆYH=A7દúvM$¡&>e»‚ÿþ¬HŒÀ™ò‡-xRQÿ+ @N3T{࿲H"¼ÕOÿô`.Ø@ˆ4ÝËÂZíšZ"˜* w˜�ªüƒLqWrH¯6 Y­ž$€;�ÉCµÿR2‡ÃZsôõ¸¯bàyžSãR$Æ*Ÿ¢q>³µeáu¶L–¶~¬Å"L‘nÖK¯‰tDA͆§H¤u¦¹I�_ãeÑoßÀèÌ.šªÜw(é¬Z(¹½QK�gJsÀ[‹ Åi<è$=#Ëø¨a*@FIbD!n�x|K H³F„¾ÐSÞ@RÆ´‰ñ2òxÎg�jMHӜŭeF&ÑÑÚEø?ˆ‚ v@C©é'aßm�ÛXI­u @C±9L'°«S3©90"èp-î]ƒ�Q¼#®ƒkk�[ÒDуu$ðœÅ#ÓÃv­¹:¯Ž-H^Ÿ·ÈI$´G/3¶ú£ú¼6qD.9Pq°Q€ßéù³WïÜË(Àe(à'@ÿãÇß?yòÝ“ï‘(ûÉ“}eH»P=«rè�XNžZðßRuŸh‘ËÇöëAÝm�zm©±´¶±¹±9Áð^Ök7¶‚ÿþÎfqÿ·õŸ­âPî¸ssPýìÀ. 2€µÆÂBf#*g²°¶¶U@µ×'W$v%Ø>5Dÿ¯,Ÿ|üñÇ}òɵë×ÝuØ8{,ÓÙíéS¿râØ([¡Eó‡  €€ZŽÏÏg€J^ÿç�ó¸ö½ØÇ“YÍ�‡õ=ëPáfäTõ[ ÷ËËZü£r›‘ÅÁV�º…o*HïÆ‘2æW†Nsɾ °ŒSÓ= ò�[8¥ü©“_®U£¶�Ú\�ÌPh®ônv£b[iþÊ{êyµ²bØl1=ÅKD2Û,EÝ&T ^ÿ•¾X…n(Ù(ÿ -`rc•¶Â¬4cd�(,PI[û’<£î®$µ$Õ -`ÍvùÎ�PsŸÂ‰ÊØvÜRõLd°¸†°®�.!%&:I„,SF©*ò*øOx |!bš>‚Íc’âÆßè™$ZQ»ëùYø§â.¸_¾�ÿ´EžT«L¹ÝOûñÕúƒ’&Ðl�+ª¶e,8©ä$à)Lȃ‹Z®å¥ Jà -Û`àh“«Ý½@Wß–æRÞËIî¢ê¾†¸$l‚…²Á  ã4=@´ÏhìI‘êhÃò:šuм‹cˆZz�Ó‰ŽhÝíœ^ßfw–-XKg�ò’À]2ÂS\QÌ8%5lÏÑ“%8 "˜@4q6AÅOíµêµÁx„¦LÉ´D¯�ò1æ�ŒFšB©l7t<€�Œ—2¸‘�à?7á‡V€Â˜Üç›dDzA©cá–4Ú„77%$R‡d”ID -‡µc»G‡c­$=gü'i! Ü3™ÎúFmÙ²ÙD²ˆÿƒA¿Ïs¬„(|M-«Cö÷rÐ@UR�Tš­ÙYûŽæ£÷€K5@(Ðï@ó'æN/߉N*,Ùüÿ�Øÿô;Áÿ»§r€C¤‚ñgå ñxÓ&€C-ÔgäæÎ­/¿Ü¹¼µ¡ß™€‚ºkëïÀ6ol¢~ë`€ª#@†. `cK@Ûÿ òë p|Ÿ[ù”?ÎŽÀ-; ìì\lœ¯=Ïàù2‡@6×2ƒñÅòÛg¸{Ï¿ŸÇ�n€× ð³p„g}`�@™ °‚|Qž!'2€íÇ^‰A GO¨þW€ãÿm`÷üO÷˜þÏ ê/ôã0wþü©¹ @…üY»á[ÚÝ<œ¬þnõp+ïf%¾¦Ö"p$Ä;çT©¤@’BpÄ1ùD4oÖv{¶…ÈÔ�4”a´ß“Á'¢Ò®ƒµ·‡Np³‚ÿÑÈÀêWÝ•¸ãÐ<Íz‹€r�}*È*#„'RÜ÷�;³ -ø—P1Ï·Š×¹Î!뚀®vƒÅ5lÛÎãâ€�Ê%=´ÿ¶—À n™{Ê�°¡.±O"$°U¨É±‚´l0ÞŠk˜�L ¤ R%Ô±“zHx'ž°pjAÖ`¸Lƒ-»¨fd/º -þ©}©åÁÒc/ü£ˆ÷¥j¨ÂQÂhx½ñ®1è[.Œ”ðÒkk˜ÊŸân6h·KiGÏ~ÊA»ª%_Uàm1lë6–Ò †µí H¼<Šn‰f«bùÅŠ“¨F/u{±•{/(© ó\Û hoy'þ«¥“í„:"X± ›sÜŠ`j 0}Èm™«Z‡t®bA4‚‚"5QÐB I ÆBQ‚ 6,€â¢ž[‚à /´tD•Þp¾€ shÁÉ´è÷ÚDŠ1z¿-@mÛ"â á @»±”„Á„4|œNàS>ØC>B0x|Mk‰óüË1_žÖ f&0Z9 "œ{ÄëSÞy𽝏 G`jÐ`IÅ MàˆvžDœ 5ä‰=lˆ6YÓŒþß³}J·@.èµk­Õ1´Æ¦˵¥:9b©êÙ#�^�ß‘ô¸ÄfPsznþµùåëß>|ðàÑÑÿÉã‡:¨á?yòýwßÊþñ� -Æ’w*àTÅ j$Þ#�Ñý¢ÞM-ÂmF÷Íä{t ñÎÅ�µk쇬«àW-ÿÚŠ–ÏqÇRûßÚñH4 °?Ãøx—Ûð·Ô¨�'ÓFnÝüÃíÓð‡öò•Š8§Wóé Ào �×À"6€Ò à“÷?’b˜Œ0k83 0è¯ø^ñaŸŸøFÛ÷G �œù�e€ô¨äå-f#ŸÅ7øwÞém˜[Øç0�þ@È«ÇRô­6G㕾ÈóŒÀ·øò±.Èͪ#å�¥ÎÔï Ø±ÆÌn6Ø£  £xSåêO߬/$x•$”„“ŸÆ€b -…0Ô•˜*¼q'viB@DÚܺÝï¯PKQiÖµfÍÜ®,T4hÝÔ3ÄX·eïÀMK0�Â%{¹³Ê˜õ2±t‹(ÔÔï-p<㻀ñ‹†¬ÖÔwOúP¸CÓRØ+1ðîÅÐÁ>nê½¼·ÉEÀ†•֊ßüªN0Kh* -à€uÛ'&&€*‘H£s²‰Û4kçj\†jîÕ%¹‰x©ú�V× ¹`QÉ4×÷Âÿ åjÈY^QR¡þ‰¨;NÆT<ù'¬v?Û�çò4LP~ªzYJ˜àV’m…ˆ[@®Æ -µþìg®":DE¥Ìèü°�ò - Æ9….yÃaû÷í-’h«ÿ`w‹_³ô¼ɨßÁ‰�‘—ü#Ûº­Žéím¹·3w�Þ×K‰“˜Gȸ -Ò¡º}¬ä�t|±4®„ �%ƒÌêµÇ€& DÙF}MQ [Ð"Nà’Z÷€"lî·Û(Û�N‡•Ø“ob}º¡³K'¯¥ÿ�v¼-òL$à^ %*”„ǧx‚½úžMhºí‚ïI�$r›ÐÂc(p=Ð^GLû¸ß‘‹=�%©G4ˆH 7}nar³x~Åv³¦³mk\ ¯W½ -è—nþñ|å?TŠ¥ügkb°#Àq{œp4xÀ‰c¿ø©>äS Ð�~è'Uˆ€6€çZ*¡²£‚<˜¼¤À?¨^±¿{ZДº†Š'hMýÙ)UlÔG𠻏V)º'_=¦á[+À¹s'Ò'% hDã·Wv­c-Ì�øRYñò]Yé¦2"O€_íËžaÖ=ù_ão³èü4z�:¡LxjõŽ#³‰„:ñÓáË -ßHé¯T'0íz UDOPÚÎ$‹X3{C(ø�Ê-Gå!ž 9¯š”Æ\¨¸ aôzn*iBwoêÄj��}H“Ï|œ‚�°4ÁjÞ°Ï“­„°kѵÈsqkÖS¥þ£ KíëgJA ¸�gÛ8¢ùB¾R˜Sùùʱ£½DA”øõ)î¶”Qîò,O‚è -@äÌ!Ì,ÁЇ‚'+à¾v×à-]åj7{ìðÏ�ªž=ZqÀ XMÓm§àØ/ŽÍ_¹~ïáƒßVMÿwOâüÿøé÷ÿ8œ|�?Xt °% “Æ Rú÷H`ö)cËø£@§ÿ�€�µwÞYÚúwp]W¼âÇ¿\¬8RÀ°¯q ˜XÜØ*¨ >ï‚“·¸Z ÀŸoA*µóKÛó6œðg ¡"ÁÿʰóåM-Ñü«˜o×PXÀt$À÷«^ì9d.€ôÑ8l$ÀöÈV%‚¾ŸcÇ_öuð¬cZ48ÀÔPŒ/mÕÅÿ}PðïMͱ„T��TЉ ŠŽ¯3õþ!àyV€ÔŽE¬ ¼5TŽø‹•KÖŒÖ�â#@¥P³4[ò^q`ïÜ´ wòä¹´ûqÏKÓvCý?½ÐÓEWïÍ¢.©”·ˆ„woFo04Ö‹V°Ýq¨~‹�Ô‹ìê£skHÝmEnU¨Î³à=j޲Ni„¨5(K[<â14ûly9@¯áÕ<×z€µZ¢¾ÜÎãNoî.kã¤LKà'Ôu­^WoþJø_¨9ÍbÝ¡t, J¥“µb³0Þ`ÿÊ ‹w÷ž`£9’€kqi�óTËà éA%<…IA*≄™iûþcëˆ9ãg“„Äæ{ -#0‡ -ߤøØˆ?PÓô…ƒÛ åtüuš‘í›×'ä@?ÜAï>•Hî5l/64¹#¤¶6õ”W #¦c×ìkØŸKbhozzšñy'/Ö! -„4IB�!��WÕ„È6øv·&ÈP9LQQ™'`Y["RÄŠðŒ Á–6õ±¯`ÒžXìíö)r¡Ÿ¼ªÍ«0¤‰Kç®çÕì�çíA^1�ý$- -Ð5Ü[€¡åeÑ$åÎ>É’Or.‰½ñª•\¤ôhÐò¯m�tâ†Þ’`»»iwÓFÓ.¾ðHxuOvã9 €/7·Øòlð_ïXÊ[¸Yøy†7fOŸìñæé“á“Ì3…š Gþ­êÙ£g8Ã"& æíÒ�ýÏ -`=R oR©³ÊÞ]-€dЕŸX –Z´ît&�?5ÐdJÄ94ÿW��û ´„ƒ7QÿK#ºPÊCÄfïlÕI}EmFúT“Ô4_”tpfMÐÆãþh@-MHášš…肚­ÞŠuW3œØ4PdËQk2viÝùVXÀÊørk®@‡u¬Rüï9ÏÉéÄiC�$Òv 沆éî÷I]õb„å,@àýÿÉS(@ÉÓçH ãM¨H R¯Bm�¬Ê£÷ýhÓhüâ?u39Σ?*îÕ`¾kpfÚþ›í‚ù32� ñgSÅÒcG1‘h“”%ŒÃÙA2‘¡Cq¥”5 lã �×tbð.Ìi`¾†eyh>¡«²µ$4/•Ök¡Îž…Ξ°àÙ} Öp¨zur«ýN¤ÄÒ%7¥Z-v½$©‰©íH€\àØ—¾‘"{l €Ã‡: gT†¡ 3™ -ýÞ�#hð—•4 ÒôãðÇ[·Ö¶/¾S[¼8±Ü„üùöŸf,âþzeˆ€Ð\ý/ò[ -´WŸ"2€ÉH€òÑ'Åp�`ŸÀÞ‘õ8¡¾o+õ?®€n”™µ°d[ @”ÿ™Nÿ$ À¢� -ð\ €¯lŒU‡€ÑÁ¾2€Ã¬Õ±^ön�4> �4 •�êI�Z€nk…DÝÊiƒz½jˆž«à«§ôK_ua5á`\EÊZôeå¨tÔ½ö -ouÚìëån º-™@Û&€ÕV ÓW7[�†žˆ­F‚ÍŽX¤• ?öïO…ØìQóAj6v9~`KÅ«Õig…ô,;*Ó`D¼VÓN`|$\Ä–È�Z°€Vh Õ -ÙŠ—�úêþÇY;7Â9 ÀÄðê9îŸ> Ó+´ˆ^ÒÚ¢ÑRžc¬†ÍEñ,1�Òð -Ø!Ñþ£ùO,ž4£ý›K{¥‚ÿÅÊnrýg�µÊÜIað0íˆç…:´èÌ�ÚM‘AT¼©Zm"��<ÅA•zýnߦò𔀤[~´I g‰§ –ÀR¹@»·´Ð’ÿ@N1nwS:«ñ7š(WµÒ�*úy�Ò¤-K’ -åÞÜ zh÷CÛ¡�ði+°DøÚ´;µfckˆj«Éœ'K³a0 ìŠ¥<ÈÆx½+Vy% CBNLa7¶^pÊ`ÐP>«á¯™»³=ê€Ò> bÒꥉ`/nO6Péᆄ0³¿Ó�yÚrk�S¢ë÷¾ì‘8B4 fK—N:õ¡nö³°?kœ5›ºhw®ãL�´ˆ˜�ÍáØ ú}4~ë �äœ"¨"ÄÛÑ މ–5 訥ªg�VœöOô¿ ü£dj`Ì `ùS°_@*9Ð÷ÿøþ9N?LÞ©šÎ£VVÿ=S|DH�Êì?@,ÿó—5¼ÎvzãUšÿ¶4 ª9\`}}•?ãÆà†«‚û1”%¸_®&ZÖÛKµFš¸ €½¤ü€½·vÖ7!#^á³´Dûwyqø³q¯ŒP�ø~5àA½-{Ç(>ëX (ãNL*ùž¤í?&€ã2�Wdó¯°° à5þ—'¼,€¨�]ƒÅýàÏ߉”p*»Ð?±(…¸|I+@yÇ‹”:‘¾†™æÌÙÎS ö4só,DWÃÙ b’Œš�…˜‚qzý¿z,è/ø«ý‡PEQƒz4^6Šb]n’ZC2øÛ­ «1>Ö"£ß¥‘Y©Qﺙ@ðN(¨ô€J"Wµâ»S@E¯×»š¯Z{Æ *µ¶êŠàÏ Cø2j†ôhÖ(·î4‘B]©ƒ^h½Í>žD³"”—& -º9”ž µô¨�«�;y²$ÉD:öªú¿HoX­¸§ÄeÑ tN¨©™IWn­fI²iý'Ø„q¯ötÿëgá_«ËŒTð�öÏõ}£üóˆM6©ò)ˆi5j$P��–²É@?¥åÜr&…t‚&:™�>Âö HAôÖZÔÿ»MÕŽSLDZRßtå=h³‹Â^V -rJ47–dQ’†RH1$“»” ®\q¤É–Ív¶‘5�–¼*èë&)Ç“>n$Ï1 -œ˜èQbm×p§ É•±Õ°G´5BîØ’å¬Ã c‚ìYlîŽíèÓ([ðY¨¥`Øb~{ÉS´zJ3ÖÔóÕݾÂþNIŒXvsÓò:÷Ì’Œ±6oŒôÙwNëE{Ñö{ÓÖ£ð'~iÈÙÆ¶E)�dH¸¹.ŒÝvß^ìàŒ!¡@ã¼O�n´—´=P6�\€à£ÿØþÿ¶ø3@±œf÷é³`Ï+g®\¿ÿðÁ£2�#}øþßýã @g€ƒ¥ÂùCåדqÝÄŸùˆ©~ .‹©•4󀿱k˜wlÄ ¥ß‹JßüŒ$tÃAƒµèh›âX>~‹ @¾ð§[kkN¸fÛ¿wÑð—Ûä‘€Ûÿw6oÿ5Üt”¢X.ºœ@ÿ P*€kt¸ >ûƼ‹ñÅ€z_@ÿرÿ¡ªýhûœOpR€c'^áÌùr@‰Àë?¹@øàçêübV ÿD*èˆìúTUle8Ð -°pˆ µÆDx©SX'.P[ Ì ÊGéz ͨ@U£ ®‹. UàFÇ�îJôœ+}ÿŠþ¯¨xyeÝ·ê•TiáVìZÓ©«š}”}*èkBÔZ!bš‘ ZK'@™»ùRwm�à‰Ó *ìˆÏ"°VÝ�FЂGõÞÔÚ"eg¤W�*]½;Ô°Ôð¶äRåbQ&Éd@¹:ÛÔ½r¡„]f©,åJ&ýŒÐ÷ú¼zÒî„QáQ;Y‹) éÃÝÕÛ�N?U:u+ú-qvSeÙ *Ú?êÑüµ©=Æÿ¶�g-üGûïÆ¥âçPT¸—4¶O=!­P]G<Ü'�QÓÕI4Õ|Kލ|{§k8€’‘=úeJ+LpÊ;™(÷HÆœ”¶Ñp ö·»£-aØMnÇsÙt,'ËpÉKÒØ²GæÃýÌ?ÂÝtd¡ôˆ+ "ÍÂ?Yœ•†ùn½ÖZÊ öfÐüoå‘–Kãï-½r»Áu¡,Ü ¢cÄ`™a.í@/7'<íæÐ¦‰M«¡á//¥¶y�bhûÒAËZo‰³’·”qÝm…¥ Cæ«0Ó}¾!Þ)=eDÕH²�%ÙK¸|óíѧ }'¹“©–ø½ Y…ì a½Z�„}ûxúþµ‡½6L�ÃþGXà>dgHý~ßÕ¶ÆÍ¸äˆ¿ÿ”^§K?ÀXÄA˜q6ÀÓós¯Í/zïÑC(À£‡¶è˜€ßÿäÉ?þñý¡ŸÅó‡} -@Î/œ:ùê©óol(ð/ü"úä‹äÀ,ß Ð àÿöæöúš³÷0µlÎà=\.ßÐCP7� íÿ €>€þ¢þ‡ðìÈ—âÿMt}ªù%ƒ3kˆ@± <™ƒž¼„ò?±ðß•{÷ïß¿÷Í7ñøùøã�Ê\@øV—‹î^»tVÍ^0à 2ÊÌ®�çgîød(-Ô/òJè‹XXÍ�˜cËÆÿ㯰 ‰°?`uµ6€—�ëp°=ÂÜ æô]�HÙvÄ{Þ‰g­P€C­©&Rj��“�Zr5Šõ -{ÑÙSý€"hü Ýûê0€úd6€cÇìöW@ƶþB¼$ @R5¥.æfÁUq\%¦7Xå…^ÑVﬢÔkÔ.Ö—D¬?¦5p½ž#—^¢4�ïRcê¨GU¥“bc¡Õq•pÚfa½®q”X«½×ZCÕ*hÁß!Þ¢ÿŒRkéɯV¦­8ú6m«aë°[jèV¢&ˆ ) ”äæ!™_'Ïm‹òm/€4ƒèprv 0@ì¯ɱ)­o€!-Ï"–dÆ¢U4ð?«ýWêÿÄ0õÒ¦QB é<½ýý -·ŸÑþ#*ª?Ç$= - /A„QS¿Û'¬¢u¬Ò*lG‰w£°ˆ1 ÇPÄ$×ÍæøPüšƒ!寿ýÒ&ÏÚ>÷†Ÿ?m}ÞT?‡”%¢O¶]omQ)ø‡þLÞsXÉ֓Ƥ4m™ãc‘4I8é¡ÁK&ƒ^,5óx&Øî)àOczž‘xK@â/\KšºÚªNHöÉ[‚žœÇ­{Íúœ”\Þ]!��ŽsBQâõ:%˜`)9HÀ-òœ%%àô&Zu²—¸q#±ÝbK¦[t(¨ÆÙ÷…�%„pveåà�´CÀ“ò‡Gõd³¹¨³†Ãë ÉAÐÎY•Ü:ò÷þÞ|ÓF€Ã,ÓÕ«ÇD^½X*SÀó¬­ßnàµß++@TT;l¥ÂA?¢r« B‰çç@x{ù£å6뻽£åž< #H@ÀÍQDá§žzŠo†¦R¡&¶}&ËÕ¨‚°{÷{Ýt&ël¢µ2î[�ZÙÖ¬‘¬L¥ .ŠÖmµ‰çø~lLí6Õiõ¨^©B©&;]çÑ×Úì”)#ªr.¡Ò„^€/½ö˜*•š¾àBÃ;²&xìóLêO�ÕÕ'ȉØ$ÈRtíŒÔl®´Ðý‰""( êX%“£“ - ¤Éè¨I$K=IÓ€s¹�}½Lja-iëߣýõ¿XDÿBˆx¾ðÙ"é¡ÿ´ÿþýŸ« @œ1¨|)8˜ƒù/8èQ¡eK$cT, » 5ä.°±0+‚�kbØ©�Ûám¼­7(Žl1�·nûvÃQkB˜ªð ,7+›8�ë5€¹t ¤l�ÆéÃa�îê¿AY9I;ó„Ã4‡[¨ãû\ØMÇ "¥'ønÀU\N¨Ã ¼Eª ¤R me ÷ñìþ€\co¯Ó“ çååH -¦¸©8@»ã®> -t�MâÂÖz¿Ä–BÒ\Ò‡�Ûæžc®³×¸òõqH¢‘oRRÙcÃâ¨èC=D¡!õ%gR$‚ô<�Œâdvº„ zfÔ}R+T”43 %¹8/�,fy¯Ù`d0þ)Ãüs,è”oÛ c‚2¥-@ ­yþÊõûöÐûÏGzúýSð9|2 ï©êß:ðgkpä¼€ô8¾Rû‹xN�ýê÷%Ÿ˜ÞV•n.Ð�_SÀƆÁÖö ¾Œd7?8ÔÚsÑÆšƒÞ°�Àްæ ú~ -ø’§z6BØÜ¾¼˜ð(7‹`cb�ÿc@Òüû½¸õý>`ñ­@ï®»±|òÉõO>· ÀÓª×.�~%S5ÁlÐ à�7.˜7ú˜ka»á Ðï8ÓN•1 ´ -  æÓ€âÿ‹yn~ìØÜkÎUJÂ�Q=|í`ÈßûãKþO%�œ -ø!„FÆA�ðóÍT&“ÕaVÐÿP+€•ÅŒP1 ¬^¨Yì­¦7R[*7°\µÞŽíBˆ2;€ ÷êÉWuâñ½à¯j.I«J³h7@ïmAÍÒ]MYˆgOÓ^A6ÿIz�á aÁ=â$&5è¥\ÄàuT(«.�ZEŠ€±6½«ã&ÄS -P«µ¾ê1´#+…zÐâ}DK(䯭ÂŒ‚ÏóÝg‰Ð0´œ7>JnÄånz�'Ex´/«×²p´ #ų&¤#–å&†.ÄDîŸs5Ëp¡Ñ�£ÙÁCðW&Q#)|…”šáh �$°c¤£NóÈe¶©þÈ>NTäRÐåí o]óÌéù¹Wæ/_¿÷àÑ·E~ðÞn€¨ÿO¿òý÷ì±¹ú`yS?ÿù�o]|ë>¿ð/:çð(’Õ'.Úà ü¾�ñÿ,m˜àÿööúÚöšVñØ·•_ Àèï7í¨ô\º¹ €:l³Ï„5(ÀÆ� û#´x—kTÓþ:òÀ¬€MÎÕCñ/·oßJ@|r‡Y‘�”Ñ×ÖÄõ]æÜGËG* 3 Mߨ6à wïÞùðÝ×_{íXÐY€åË…�™5o8oSDÎvyyù’&€ãö(~ö…þ¬³9§KÀ܉׎�%'æ�Ͻò² “’§o-Bã~è‡öÏj*U•` ×üœL4 u¦¯xV›Åp `õp+@jŽ]A}iPƒ#T,Î:ÐQyP·Q9Û ˜í5*þìPÀ’‚“çjšâXQ‘ˆ*BG7{Ó×dAVêᆓ RïµG«cõ¤N·¹²ªvѬ {XQwû¿³]X³ý¨F¨©ªb»Cõ×°zÎ}lÕ­CÚÛøZÛ‚Ÿ­¦£¾[‘£O¦ÏYøOÇf'²§fuÎ6jÁqܯl7àR=þ‰? ßi�Æ"³ÍöÖ~<­ÝtJaPªIXÿfS%¸Lë{Õ`aá\­ô¨R 9ÉÍ2m�#%ó°ùÂ\Ò½;Ç¢.ZP¥SÓ:êŸ `¢þÐößÉ£ÕþµìÓþ…ÿ/TÿNCTRó›ZYlF¯tü8±(‡¥ýÌYω¬€o�•�^¸°Úšž=BÄ…Õlö7rŠ! -<�î)(%_¬CûüýoìW×›êÿæ‘Û¢¢ó™9šbÆ*®rf¯ä…%¨LR:b\rÕ¾=h³=EËÂE0LÆ1q¢°˜æéÚçSè ¹Õš‹¤/l{°?‡³(w5»øŸÒ%—Ë)r#ï)ý4 rÏ Ã? ¶ØïoIÛåŸò²Ô[ÒB$CLY)?¹)Áluul,®´<Û]KÒ2nËãy‹`—�¥´±ÄèÏ<ÈÂù|+ôy¼ÞšIð¬K.pˆ&H{°DñZ5ñø -ýNÝùO’ªž=Z™Œ ˜\ºtéí·C4Øýا¶ à±ã=…|÷ÝwOž~ÿÝ“SøŸX´N R€‹û€V€"�`ŸþÉçŸ)¶Ø`àÚ¥3`´þiX~¼Ýÿ‚7”ü²­†L[^^¾pöõù×ÏžýOÿéDHÀ¬€üé(�Uº -B^{mþÄÜq§Ž]€½¥,üH!çPîeu�¸ú¹ªÀ_©‚W¤‚þüŽ�¿š¡»­ù§àÇZ|ë+q�^c¡�ʨsÜ@I�8ï¾½þÅüW@™…s3°6±Ô4ð ü‚ꢺÿiW·³€U�õÕ5ˆ(ï¤oƒÕŒ0Z]unjá…*flõ­ jT¶nPÇz¼Ñk­X=BTºö ´�c¼“®b¨ð`61A{¤©¢ôŒ¥ˆ©.è@iÓ·êvÂnùo’•)HõN 3˜XÀ­E©hG+$ukEŒ±Þ%Ée9"¿€$�Ř¦Õ«²‰ Àô’ a6UhŒzw¾š�´¢ý“á ÆTýý÷ÿÕþE}î €·<@û Hnÿ Rtia‚ëcCRÎå6Aráibv�ƒ?,`à9/.;Y²€žqGÁ²¹�as±ù�ÐîE„4kä|4ƒnæŒtðJKLB<«Ñ\"!!í¥€á0MËœÂi¤›€‰h ª¡§ë/’jNÈh8K³éIzKÊ“ë†Ú9 €¦BÈ~ísòÒ%[rìE@)͘9\‚ʼ҃Î$f�ߨÙú¢ÚRÇñ”ÄG1/ý§Ø:âèƒÆ9¯�¯§„5¢ �€´ÚõòÞ�ÖRÞ¸üÏû£’OX,ßåù,=nÔ¬2Ê<´-P.££`~þìòÝû=†ÄèÿôÉÓÇZþ¿Ó°¬ü|§^¸_ó/?•|Çzëü©yõ_œ  4 L âÿÔ`F¬±åg (O-èõÛÛ뛕àÆ�Í@3R|�Xù’K×Ö7o¬m8bð�­ ´æ89¼W&˜.æ£öo/½S«,<[ ÀŸoÿ·ÛùßþlØv-òZR , ìïJAÿG�É>ûìóÏ?ÿìóë|î~#¨À»óÞ‡ÂþzÀåKšÿ/\8€æ¯5@À¥ËË|ãÒ{—Þxãl5OP%ºÌš í¥1ð‹cóÇõ(…áG‰z},j÷,ž»æWa¤ -áTvÁ¶ÕšP€âoTÞWrÀAVÀÿ0+@j„j„Š-EWcŸ¦øÏ ¨Ó¨z®f„àÕs`;cÿG -˜:ÚB¥æòGíÖ¨eF^haMc…Æ·ÿ…“¾­¡€þªµ�iê /F®¨ªš6K„S…wšõ¥bËïÔ >!¶¥2´Â%ÐCbÇeÞY†Ãöð+°´…Èõç€ovzíQËù~‰+±- *þ²©Íº¡ a ÎP³ºi]Ûí;QmKÖâXÀPîÃzj$O„)€Ý´z•€‚2Θ¿2€bhúˆ®ÓÊ“¯©�µvìþÑþ³¡ãŸ_ÑVû'ËÄþà?(Œb�ö¿GJ†ÿt؃̂¥0=„?Ú.¯•⮘n°p y� øð¯¸î•»ˆCY‘Ÿv+æÍA‚ -˜“†€,§›Š!¸SšýEvÒD¢iY°€~÷¸GpfIÚçœäU•|ül'˜wØ/Ÿ ØJ‘Ðù…¨ã¼-DEŽi)ä=*/}•,ÄZ‹ŒÆŠa$R6xQ~Ú�%èH¬;1ÁPf,Ð61Ù0±àz¸¬a‰ÈHüå�¶G€þ.”`/4Dì^IyöCâ‰â²að¸½n«œàÙ¤.)9H7‹(õ“$%~æÆ�Ûú’Éléç0Ð •�¬Ûiû'cÞ�Yht{ñ à>à/·€8 -àc@†zòý?¾ÿîßgN€ƒ>O+?èWI&<©À›èÿ³&Ï‹ñï·k‘Œ¼ºnú73€J÷æ¶£ÿ®ÝˆÛß®@ -.;ðæÆæ‹uðcmkCó�~…û>U O. ²üq§ úÃÞÛ¹µ¶ÆÁ?Ú\¡A$„„ÕPá~äÛ»îêæ'xòäÁ·wÅÿ»w?ÿüúg×ïÜ ø+±Ö:ꀖ/æËÍ~Y,6Ó&€KËW¯\Y^¾rí -à?íe¥ `îØk,í"gÀc󯹞{í5=¡/Ñ ‰+ö›h÷n=gÍoF¦3ÏBÙ¶î(@­Ð÷ 2TÐ8:Ä@#€à+@Þdkj6ê¶Ð�©TSSÆ I -þŸ+îì¯ÚdÚØ3ЄpÈwêÜ9T\绯gšðPó¹zq½“Auü…;[=BZ¾@¡°  Ý\¬®¢Ü­èvŒFŒÎûWÛ—í° ¤š]íu¤N® Ôð©²×íÉ€¡–ˆûÃ�ÖkUÇ•;Yöì¨ä,1íÑ(ãÕ·‡­:59gÅÐ,™ú­õ:€šÊ%¡é;Eí,  ƒ®ôÔñ€¨ÿ­_eF@�ðvÌdç^ ¨I‘(µÊ1àU§L¯k%ôòxŠ-ÎZÚ¢ýïcû�úÏ?âè4ÉÄZx±Xÿù=«ýOðÿ‹|•rÝO!Ló‡9DN:o?ê)�ÜG�š`¶°ÃyêÆÎ<'ˆ#[¶Øö >�,å@­…$ë‹2Æ àS,ÐB ÷6—¸«½6¸®ÙÕG>ƒWD -^B0ÙkÇ»�RPöä¿¥ivä¤Öн8©Šì%V 6hÌoÕ›K ¾8.1ˆ¸¢˜{ÇXdAc§Á´¬²×Î|vÒ0NÍ®¹ V~1ÖaÀëeªýî»ï3 -À¡BÅñgvú ÞW€ ~é4P>ò�E_ïÿÙoÕˆJö—iØÜŽ%@ @ДŸµlT1zk} Ô_³ @&ÀÆ&›³È_}&ÏóÙ±¼Sk ïÿ1¦ö¥€€Ûúì†nÿ#†ïÞ®|£�_±<¸oÿÿ0€ëŸ]‡ TrçÚ…ya™,˜›;SLoœ¹pæ ñ_‚FžI.]¾¼|õÚÇ|íãO®-¿wé�³úœ81ÏW÷Á×ççTü (-0Çž °C`± -¼2wü¸Ã „u¼Ø‡œ‹ çîâ9k)ß®ÌXöKy­w j\Qÿ]H±#ÀAVë;k5Ð¥QèÔ†; jâ¸ðÆ[ ¦Àòo«1ãˆåÒ ìÕÎ… ð€6ÒFÿõ¨_©ÜQçÔ_ØDÙÍpÿŠm«¥? (hlT«äâ1µ›#Øu½N(€‘`I�ÜX�¤h †ä -g%Õø«ÀžTv¨8]çZƒ‰�L3Ðí ì¼îØrp¢fåkšù~wÔjè•Õ±ÇÖ`¨Ÿ¢ã³ ã¿Z�£.µáÔã&¨]üQ©p‰·¦Ø~pŒTª¥Þ¬ÙŠ"ÐgÐ�dÉЄP§ -¶WCÌçÏÐiUÿ‡6 ìuý#~v±ðÁ±DökÿA}PÎúÉB.Xªˆ#-K6lÜ6á£væ ðAðnCõ 4 cè÷<¡£@¸3=Ú>ÐM0b€{Q•2‘ba_;ŠCLŽôÀ3–Z1d:d’¶NMY�œÒ@.zs޾|—Ë 3'›xæ;e:œ• Ì|Á^,åÒ&9½dO9¯ãqþç2 7 'ç:w"œÛ‘¢f�|?:Ø6(Ú++:äVü8[ø_ñ¯MJtÂÛð�Fd¨Ï¾E2q*t€¤áÎ7Q89$VD=8®‹%á„îŠ�¡@òlƒkNðMc�M¥Ã)Ï'h%AŒQH?’wØjdœE÷dåy:9‹ô�¥¾•R¦³†L‹¼/âÈ¥ ôÑÊ™y±Ä.â?RÆråìòõ´<|Zù�<þîÉwÿ°¡ÿ9# -äVøÏþÀ�€Œü/ ‚Cö–Æd‘ÂÍàèÞoѹ’Ê诔–€XÐÃAö¢ôÏÊÍØ xmçÆšseL€�;�…[ÛÏ|*PÖߺµ®`íKÁÞ{±÷và·ÿÌΰ‹]Ù5Wò�[•â?‘…èSñ$@üŸØÿÈÕ sb´6šyÀ{–£á G<óË‚ÿ€K——¯\½öéÇòñõO>~ÿ½4 9M»Î…³X1nX`ß}ð�ÿý³~åØœ~�'^yå�7x[É´²˜6°–âEbT(Ö@Eö¹V&pˆ»´b²‰Ÿ²A†³PQéTNdµ”K ˆ ,ÞÃŒãt"C,�o1‘õ1–Ÿ§[@îcç?K¹¼ï%›yZî'8J¾·á>�ÎpÜ]¥�e ÛB¸!ù·ÒÿU³•n.d;��/…k2³×cÄVÖB�YüO"H7%Á´0~€öÿH@z<)6€C…Ú^Uÿ€Ÿºþ[oýTp*€Sþuo… 6÷ꮈ¬]K@&àû+ €M[;À=’®ý7vÖ×@ýÍ À?€ÜãÆÚ î—�·¯S,ëkK€[)X/+@õßÙ^û²Xv!¿Ð“Òsñ±ÛðWr÷nÆú�|¸ûùçà¿üìÎdÈÀk—^Oßý¹ù¹9Û.¼wáÂ/ß>óK>ÈÛgÞþWÀ¥Ë¨ÿŸ~úÉuúøý+W.9V€êQØÁò…3(þÇþ§‰¡ÿ8j> §äø€Ý nŸ8~Â^/ø³Ùæ-í:Ó…ËC×»ãŸ?¿·�}�øÎOdJDý‰+@µu°àkÁÿ_€êåf»VÆx@¢ƒ‰¶ p&•£0r¡Í�Ûí½ ²y¯.œ«×ê aÍnÿªbT ƒ›T€ÖËÑUÆ©ÒÑ^ƒÑˆú¤/hf qk/Ízûm€˜ì�±€ˆ±�¤ZuðÖVmÁæÈ•vs UžzyÀ'˜M ë·¡ÿ<{H–�0K”›½ºŠ¬bdóÂp0ìØ¿×«{«àÊæhD5\CUšú“‰CÞ&Ü"Ä*Õu¬öã_‰ÄZn�¹²ìsЀ¶ëîÕ@*{1µA4ªg«ÛÞ°!ŽúÝa?ø¯A#S˦Φ–Ý éÝÿíÿ{Á!1. FYÚ"ÞUa,ÀAPtì繊žþÍÒ«?ÌÕlœfr:@bl&n%Rç�Â=¿îu-É-ûytÔë�G¼Ã&™Íú¯c8$Èè»Ð]5˜Ü•|vJéÀZ†´åB¬lÕeÚisפ°$$®ÿ“·D�7†S *Å®”ôòÅ4%HÚï*¦q®Ö.äÝîÞx°Rw -)îÔv\€¼¦Í†%) ú>Ö¬¤”æMFÍÊÿuÜ„k0�úDÊ’×n5俆‡î�×i`/=OÖÙ° 婿‰‘fa$‰ [ü%hDªkßýûKî˜Oì2‹¸QÎ=’(™Èkµj$m8ÃÉ!?œ”¼:r Bµ (j¸àGÿ¿ws@ƃ6|ûÀé=~òô‘^ü¾—”ž‡ @nuÀÏ~þ B±œZÐ"€ø¿bÙ Œ(3¸¹óe ß±€§€Íøll­g½Gn‰Æ:¢þo‰ÿöpTÀXn΢¿�ò¤Ê°-¸ø¥î¹øÿ¿Ýþ’»ýÙa`¹åÓ"ð‡í[šýw¿t÷Áýú À½oîÊî‚ÿS €½2’ÿ\†û»pÁ�Š@ À¿^º¼|íãë×?µ píý+ïéP‰�זߘ;>7÷šDùE‡°Ýr’ôK~PCP--8¶=5d÷«ÑpØ)“M€CÓ=7 Ðfp@‰ºAŸ*DC!5Kª5õTö¨J¥ -²":Þu©Á‡6DPÝ�ûÝxôjo×Ђ! AßmžÔc3/h€Úà¶!î8~Q·–Ã$H -p|È9_�~?6¹ý¨×tZzŽˆDÙÓ¿c"ÚœÒirXƒµ)P5*q(õ\Ý -0'užmùF*À¶äç>&ö2øÐ«çÄÿO¦òj-¶‹^,$˜ ã¨NÔnõFÖ¹D§ÝÜ2{G„ü×ö¯]ÙÄB¢ý{BePžÑþ§è¿K`SVö?ý£Í#È�Ô0\š>’Pn[†<Ö.½ì2FC@W½›¼s4_@FÔT\CLF¿móC¢u³AÈÉìKŽT'sÌô÷JÂÐî-ö(3*ã1\ï+Ñ2}KÍVM 7ÉÕ$³ó‰uƒÑJëWu»šD Ð$Vx @fà³|ZžHxÄEÁw¤ÛÕm¶ÕI|‰‘§p3„[)~Ê�6éZ”dæ�4Ô;s�� -��Uí-Ypo¬r�ŠÏk1‚Ž¥Í0ñžbÒíÁ eO×Á¨Ë;2èŽõ¦AI§A×É(îm¼ª¸Iv¤ÆÉ$÷M7"›Á-‰§ -½3ÍrjB¶Âº¤%9´ãÁ¸Iþ¿Á ØEâRë¹ÁG-gN§7ù…K¶¤Uù‚sž=“nNüàÑ#§xüô‰óÔ=~üô»ÇßKž|x/€'ë ¨ï]#@„”†÷Î4ó·BÒgDP®Tó��mÿ›âÿÄ �íF`*7c/ÞX_Ïwc»XŠÀo§ÈÏ'J|QêÙümÔý�µ‹Zþd—È�ûnßúr{â0ÛD¡ô�üöÖo‹æ?üCÏ/m¾±óàÿMÀu@1\»tZeýÄÜë:¼/[¾páí7´€ˆÿ~zýãk×`×Äÿ+ïU à2bëÀµ+—t8{ö�7Îfãõ×ç�Ÿ(v$C–ŸÿáÚ2gÀ~æ�‘Q‚z•·,ìæqøzv$Àð˜H(€ˆ™ÖÍ -û+sÀ�V€¯µìó°*£ÐÙÇÚdröÚ�%Ôi´èAÇêA¿¶T<«»Õ¬í1R€d¶x/,Ph�;»¢½ø‹‚JìOÓ€´ ¡µÜÊï ânÕ@Ò±ê µ¶Žà€Ïsú7 š<{¤,�%g,´qÖærp‚$Øêt¶Œ¢KÎÂj ^3ì5E|ÔqÎSÓ×ÎH‹Å†Ê�ŠìF -Þ‘…†p -µQ¾9ýÖˆ° Ç!õê<µºN€#"àÛl 9N¦  J§JH jÑÒ@*TîX¨J“*|¯êheœ%21ÏÿUÇjÿŠÃ7«ýïZÿ…þé@1'z·Ÿ.<Îxž’*†LJ@92ÆI2†L^òõ"ž»F_LÂû–µT›°Ç”bn®çé�ž­¥”wâOYðxÒ�£ì“>ügÄ…q[ö„FãWãÑ*9Ý·(%ýa4c Z+èͪOše»¹ £JÄ�Ön+zy½š­N‰&Bh��Ï -NB.ËÝLòz³•ˆ§õƒâÊ‚ îªC Ê­~Å—‘�­¾ $&�~±¼Ó +:8°K‰,ØÄ-¢ëìˆs–±÷Km‰gU;ŒWg_}}aÌ(ƒë·_bF “K‡Æ$ùÓ&oˆT‚!'/ÞF’,Á•º#¤vF6©‘ÁxøÕ×£Òb °ñ_ïÿÒP¼È(ÔÒZ>,s<ö§à÷OÇ�A�þTõü¼i+À›VÎ\íWÀŠêï´¡ÿ©(€'€ÿëÛëëëÓ^Å��öùÐÑÝ=½HÀúİG85Ä~ø×ù­¡ î#þß¾}sÍ&O¸éÎ"nÜœZ ¿½uï›{»_m"|?¸o'ÀÿøÿÙgw¯§-ùðò¼z:Û À»fÒ/µØP @TüO?ÿß÷wE‘è ùÿ;,Wryù‚¿ gæ_ÓóOû…û…ÕY¥¡ «çÿXÔ¡r|Ê‚ÏYûEæò&–¼|{dbȸ{�[&`jh¨6"Ö :<·Õ¯­pÛv=³j5;öèR£ µâÀ6#ú€u ]VZ¿OÚ þä©ÂXjf¦$S�©™ØÃª^*jL*ž�ü…::ë `ÆJ÷§"¨½‹ÁY¯KË3t¥F�ñrl -~5lþÃaži£: -6гs«;Bº]ÖQö;„,µ"áNË=SQÖt³¢öCz¨ô^·TÕÔëŒVÂãp‡~h|ì\¨�¬×èØÒï ·½ÞW` �P“ÔÀ bòÎ'©ýDq9Œz2«ýïªÿ»Š¤«``ógøGƒc0QüAôTd8¶IgL4 XäI3RÝØx.;q%QÇÇú|²kÉÁ1°BžwH¢œ$r0÷Ç­La ¶ÇÖ?úŠ|:YÄHŸN‡¯A'rð«[⊔v4nQ‚IQÛb6Xid¾ÝÕþªJ-áìµÒK£2^Õ‰SÌcp³j»ƒ³Þò@¸- †ß¦bÉM‹ÿ¥i<,´šc�Íä”aö^Ë W¯ˆÃ+«�Iæ¥%RÀQ§ÖÐ0%“µíL<v4ZŒˆ|_çÐñ€’³*ò—‹ÉâqŸR>¯ò!9 ³[d¡´œh»·ªÓ“Ê&…�#î—¤=&l€€·dj-;ñ’¨¹´Åû(¹H+_Ó‹FÖÞ~5’Ês]w`ÝrÔRaôÑÊÿÃqeÐÕ(Ùü/8ÀYý�Í_¾þ탟8P!ºø=ÎÀÀß=©ìýHp\¬?` h>uêØ« ö;H -˜,ÁZGõù×6×ùÿw-;kû q.)gNe]OÂ�5!}ö»­I_ÂӾЬg/ë?ÞþÃΦve|àêA ^Áþ‰€ç÷&_ü¢ãëðàÁ7Ÿÿ0ƒX¤•\»tFý\æÐr&ˆÀ/ÓÈáòÕï\ÿôÚÕå+WÞG–ßÿÏ2€ðêUðÿÃk×>ºöÑõ�>’ \åܳ޶øŠþ®ò îï~üW¾¯]¼¹(²OÀÝÅ"»lêîïÿ_Î>þÔù…¹ÝYvž‘T¨û¤Xl फ़`¿D€Wñ +À×P€´TVê…©ˆ]j ê8çCsÛTiÔÒA(ë·½Fm%ºÿB¡?è¯àœ7Š:\/fªVîЄèKc¢·Ü™:†ÛÛxL݃šîXj£-ôCÅa¯.#óÌ»„ÚzÛjʪr E@·ÀU¡_°±N>ÃŒžþßîk.æn쌭7Á(·à'Ï%¬B c°Ý‰¨{sNxƒöøXãQ#Ù¹PÛ3Z⮈ùܱ�(’J«s#SÓªŒÁ[¢ÕšîÔº$醗'Z5k~Íã"¦Œ�دýïÿ¢ý/ª9«¿ÿt�‚žäSod8Îbxèè&á{]b•”$à.þ @rœÈð/*ähØn Fój‡líTOÕw�A£ 6ZôÇc(\´`˜†ÎÄÌœ0X±Ä›«{r9¸ Q]¡PžkMíýqg#öÀùx Ù`Åž);6ø*��ÒIìxwÐß�8ž2tˆÞÅR‚-&FD.`áHT³)�¥ _wˆE•ù&ŠÝú§RÜ€×^w²¦)À õG0\a¤ÝÃqÚƒ7혜RZ†lf5y×|®å��jÍ$�èšfîj<[Æ#;ÔZ¢ZíĉÚ*õИ¼ÇÚ¢Ð-ys¬ª²ˆ m7DÉ)²JFÙ¾2L'5 ³¹çÀBºª¢~ô†uâæîᣖ‚ÐG,¨“z–F¶Þ..æàÿiÀ™åOíµöð±CÙ à)Øÿ½Vþ§ÏsÐÌ?p  ž?EÕ 6$Nð9Àµ^€köå/^€›k“ùøÖ'€)ÈP¬+àŸŠSø­{‚°?Yæþàüö—°aÿO•à/q �üùö-€^!{€WìúHf$sÞ½ûm@ý?¶�àÿ§ -C¸v žsÞ_}]þÈ¥³0€7 -þ_Z¾úéõë_Q¿�ö¿üþ•+ÿ¹´hÿGd×?º~ýú](@dù‚s V’ÊzêXp¿|²]þê*ðÌ:�E³Ÿ]”Oì¬öý3Í=s§ÎŸš[øME&î€Å -°Ç�Wu¿@ -P8,53oyAQe%FEGhIO5‘]&õDó h“È„]à6[Oú5¡”Þ�çp‡€¼ß@3 UŒ÷æjŸ‚Íœos<õ»5.'ÉjPšºŽS^N<5]«jì,“¸ï”ðÚg[½ râE]Dy 5!hÔé¡|Ë[> Ñå”Tí¨H¤Õ=µ§_îSNá.ª‹Þ,>G”‰hZA�$ÈžÁœ�WÏÕ¯~ÎÔò4R¼nx4T¡æA½„š4"Ôfš#‹ì…–\ -טÂÿ®ö_ð‚þS@šyfùSü'Jm° -éT­¥ð‘Q‹Íî‚ïÐ`’xšMöŠ¥é™MbZk¢D‚ÛÜið•-Þ(Ý™„&™Ýá›h÷ÃE\`�$ð°!¨ -³“8ôP—)ª£±\DíŽW튦VjÚõÁCÙ£Q»Ne‚–+ƒ¼¬Õ[:‘dÊ^¢#œ’Ãmn-Ö¢5ƒ†€1Ù[¥:Á·ÐÙþB!±Ü°‡•kõö´w›¤MÆ7–Kh)QÉÖàDÀ&üDøîŽêì& jžGzz#âã{‘‰˜:ŽÃç5þ Œ"õ$†< 2AP}ÈRÚ Ä‹µT ZVÈÝÝ-’nS“�B²šªˆM$„(Y¡Œ¶¾‚Àºxi>6”- ‚wƒµ Íš4°äÓ‘KUM­DÙw�Yxû’±0k˜;6¿|ç›ú<~øX€2 ê?ò½‹ƒ%(Èõ÷¯c8êä±Ìx TpúŒ|å\ -ƒùÎç³® `bØ®ðÚ §_ßLÀ®Þ€ßÜæ“š |X�óÛ·ÖÞŠ€s„LÆøSa -a•ï­X - ¸PŸ‘ø°þðÍ�ÿ=mö˜ŒpíÒ™4ÇÇpFËÿ.½ûî… oÀ„{|øé§Ÿ^]^~O -Àêý+ï¿¿ü^ÚsÀÿå«¥ àÚ‡üÎ7Äò£k)Xäì™ùã» ÕûÀ9G>>çL„ÇìëÏ*cÌ®ÙàØñ×të‹ÀtQ>ÑøYíÿïÞwjaîÔs,Å üY) X&Ø"p°0õà/o:gG/^À#7ø'SÙ³-Õ Äñ½½Š”†0-Ÿ“§Îq4j«ÆZƒ -�ÜS€£6ਮ2ˆ®Ïd©Q€z—À{ÉÅ–�©ùÎÐm£†wG†Ï�S¡ZY'ÔÞ» -!;Ÿ\…Ú‹Cb -Ì¢•è,z�{\I#\Ô´FcÈIÀ!‡yˆ^bP*QŽO€MÐ S€(çÎUm!â?R¥ÏDÐßZá ÜPq�aÊ'°Î?R¢…‚\8š‘huìò®£X<Ï„�jÿ3�ÿÈ üÿƸR -"åv?Q«xhTËþSòÔ -Sêzºæ[�i¯ý^”RYùØ-º¶í¯uÖÛås¨Æ­Þ:8m¤ì‚+ê›c”Öþ¤W¤š¿®üc·Q ½JÒm�Å$¤7BÓ—ì_ßî·†­-ýøñÛo±¼•.ìnvÚ‹ö�·ÅÞdw4hƒC€$¡«P´Ž+2�Ç{�"h~Z0F–âЪՈ԰7êKO‡^‰ú וo aÓvAHI„î˜L·TYšÙiß„Á°�vß…ð%,$È Ã�z޹·â¤ÀÃn­Ñ[M‡ -/$8¤”¼@@ñç%4¤ÓÖxk8"-Æf—÷êi]€2‘¾�¾#+y¾œ‘ŒÊŒ™ØKZµö—v�ì 0î’CDLÓL*3Ldæ¹¢�V&öéGÏ0‡˜µÿŸC9À¥³ÿzöÌÐcg¯\¿ÿðÛ2nÝ㌤êÿı¿ÿGzü,Æû…¿u~á_bˆWø3Ràô0™Xl¨†`þ;íß~ _‹µéH -ügüñ?^€üÀðßâà”k�wâ�¹ÝíÛ´OA,»MÅÀ¿Í=ö,þ—Ÿ�ßÞ½+þßÿoÅp÷3ÇŒ—Àµ «gnþø¼ø?÷ÆÜ¿¼ðÞåL -X&¼¬À‡W—ü÷Þƒ\yùý© Àò•®^ùàŠýJ@>wîÜùèÃkËŽÌþe¡Hb8þ„ð €…Pï˜ÿìÚ-¦M? üoNåÃvVûþ‡þ¡ýCûžC@xÁã™XRQÌx;Ëû¸× -PQƒ÷[Ô ¶¦æ³¾¦&ˆ*$ŠÀ8À‘Mï 0¨Óç £^«{»ú4U¢ü¡‰Š -\®Á±Vƒà ªìÀ¾­6”RÅEƒ$ð>\ÚàC5cRo¡¿õWJ¨N -$çwæaö¼æ”LW<¶áæ`Gè€`ÏŠàåÊ_ö,rî’µz7øà:àÏ!ËCÐxL*jò’Lå±÷à9¶ “Nú@È…"ÏZôÉ6ò\ú` ‹z È2�4E�„H%Ôü+Ú¿ "økHПÕþ+ÜŸiPû_lh .’ ÿT�ÏÙ9QÅ_ÇP[Ut”¦{4BÍè-ÝÒ,„¨ì*ˆªˆvÎÏAw›ðmßhXÓ4¸¢K_o„bYÜ5möGeî7�D€ÞóÅEðrˆµ8SŽtòDŸÙ±xõVM}_„æÂ¨v -ûy=(Fd«Ý î±áÄÒ5Ê á·%).öšŽP»Í -[gaѶv@VxàÀµíhÕCˆÅn­®ýÎ2”¶†!@ÉMr‘,”¶:ÁOÕï+šƒ)aMHÌÈÁ§(—•[`wà$¼ûÍIBƒØmŠF³c3B?$ùÊÀ Ba¦½£cçL‚BjjG�{™](ê,œv²áûàž»¾õ+–dõH»=üz8h-vÿF¦AÔä¶bîtè4ü$DÚaHˆaÿŸCR×íçôiû”Ù péÒÙ þlÉ0ó€ùWæ2ðÃG�mˆ `~¢õ?^€‡I�ñE;€½ô8ð?€TpúŒ^«µ Ô_OW@YÀԠ応aS —8oà3R�¶Oìh8µüigí�I/�iøK±Ø `ÒpPð?|£ˆ$@dß+�–÷¿½ÿÍgÿû7ÿþÍý¿W¼ÿ&ƒ:à‰c¯½B½® ’¹ß5wÈ¥ôøðÊr†o~ïÒ{ˆ>ï9š£î�ÎðÁòû|(¨þ¿Ü"ðaìׯ]:“Æü‰�Ç�ò"óp®žй‚ñÐûÉö„Ìükñüâyà_©žy€¨ã¿¨ªˆB|AŸµÈÒàU͉ÔàÅÀ‘µ}Ñ�=Vdˆþ�dBàZí` J‰üB¤øÂ9”i³TöèF> ·~íBµõ£Ç=18«šåê¯VseU5Î{°ÏÚ‡ÿxF»]BÍ… ly¨gR3£²QE¹¿ 'sB%¿ãhpОN/U4×" °~u¶`ÐÀ½~W¼ƒƒÜX>¹4×B"I‘} àÕZ-Uµç„§Ó†64�(©Ül&Ôì#MÄZží?ì…GÉa�=ÚÿŒú¿ëø/‚Ózõ¯©ñ“?‹ŽmOÍÏýmÛN àöî#ä¨Ç„mqz­ ‡Ãñ0šéÍ1ZÒŸ ¶ûuÏ!!a ©×]·ã½¸#éÄ…!ô¢CÇÔ¿€{ô…cŸ£4Ô4ÿk4è¶ÀåÕ�®³JÃ3—Í…fÏÔp‡wfŸÙØ_±y( ÝXàœ(½¶Ö+ ·CKšÉ‹X¾‚j@b)¨ê;IÐí|Ðt4­q¿V‡Åh¾ç*Þ‚YnвÁéÔê-}(ýÛZ4(lgÞß½ "ǰµî`€û$çí—›`º×0ÿÓ­µÆÒº[9xëæ­¿Ü†L-yŠRY~_D¿]¹WûGʈwØ÷÷4ðýì³»gü@ À+¯¡k¿þú\Ù/àýËaÞÿ¯£ÍëðŸVÀ~.]F÷ç³ü>ß®A>º&äßùüîÀD–ÏÚšü؉WŽÛÞ/ì¿>úôéù×]œž?SY‰ògf=Ï&g¾¾(ú‹ûàšÏdL§jUýÓñžmøÀ›&°Þ:@f­³ž¾¡aÍ{¬…�µòˆè¶LíGÍù†³, &‰Jnïï€ü‹  ¾ °14W�W64z5œüïu(DÖºGS%¥–5ÄÀ°×^ä¹VÓ -k«¯µ!þ‘ãÜg0êØ°ß‚ê�µZA ¼ðáU¹FX ñ“(Ç÷€À�B&‰H¼ß×l“®µ{wåh/²'Cm�Ö�Q~![¡a_iD'›Èož’XúµÎw9Åëͧ£—‚ÐG,º@þõmÀ%6…Y€>€¯�]¾sÿáƒG�=´`±<}âŒÀO�ÿâðw�ˆéKåèÖð÷ÊÜsÀÄ €Í5õþ"›kë3ÎÿE¯6Š!ÿË� 1ªP!%1þ?óñIZ -Šï¬--mO-î¹ý§/ãøG¹Eš$M ,ÝåW‘^€»E?¸_,ÿþïÅàÿu÷óëq¼ýÚ…×�{íµ×æ_—++ÀÞý/6öCÞ]þàÚ‡^»z0Åÿ0¶ÓÀgyùòûÿåýå÷cøèC1ô·Eàúç×ï|öé• gOŸ™?–ÏŸþOlÈ-ÙóçQ·�E'Æ}1>[!YÍü÷Ÿg“¹¶<—äí<€&È.¨°â ÀKúŒ  ÉâÛ±zÕ­‹:]jë@”P*'ª0!³Ù\r6jŒý�ÑuA;à4ö�¢¿HÆå^* ±¨7:*`§`@� ÈyÙÑ2²h$käŒn“¸•·Ës££ó¢êØlõZÙ±>€ÝÕAoÜcW§é¬;Æ–D¦LêØ°B!´¥E7qLfû@=jK†�\âåq+Oå,Þ¤.¡Hò=/¥Ä ˆ‘m„BæÖþŠH)LFåi>á>}ãák©äîH_€ŠT}Äb5ÏÏÖÿ o_Ò»üRq<=?7zù³oÜökxòØYìÓÀY¿s(›ƒ%¸0ýîýÃâÍY À3ø�8=@„teb˜àÿæ¶Þ€ÏŽ\Dæ³³sckc Àeø+ϸÍÙúp�*<(kîvó&ûþø¿ýi‡çU€©L|"eýÍý -û#Á~äÞýû÷ÿ~ÿþÝϾ¹÷ï¿÷ߊÀ矧# '9Àü/æ½o€Ž @/€ÿrÅþÝåâß÷Áòåw/W�ËÿùÊ^¸`À‰\^~ÿƒBâ HsÀ6¯-o$n…“?/*fTÐ�¯�ýÎOFuâË»vÿW‹àÿÂÜó||×xq´ì¥(F³Fk•b`=¡Ýî_C¨sØô�È‹ó´~RÉÔXxÔ'®³D Åß­ïgBNž*MÿµÚI§žBl£Ï�µàg}6¢$Œ„®RøÄx»Z[ÅSÁ¶kíÞ–ÃøDµò›³¨œ†+¿ê�ÇÖÑ܉«´rz©íò(9%Öß µkž­´×u�Ø@¶Áo‘ k ÇsC:VmÍò]©=©õp\!¡›Ç%-t^DÍ¢~Œ!ÎÁ2‚  J åU5H‘«€C{©CRq[îÇÕÄiêèm‹„š��Nœ 'ð?«ýüß‹þEû_ܯý#<ý'JgI +%s,G6Ï'nÝÕ.L¨×ÖÁ�Ü¿4H2ûcÝ߸…Ü+\i·ÑÞGà¸ÐžûñŸ¸NÝ3íÞ2nï9K[d7Ï&ý8ä Ý·9“ò2 pÉ3ôhéB' öVد• EVÉ:¹[på<@dƒbÑ­-ÔÈêÂèfÐ- åí²0õ‡p<0~Э¦ÒñE‹œ­ìœÛlønB3 -qÒ‘ÎÖ|K‹í»Æ]¹´½P·Àº‡ÂײϤ%%Þ®~Fõ÷#nãœØÜ= XTþXDmxŒ€\Å 0/´L@툴X–©Q ¤)²—¼lfËW´k‹[ЕėUÉnl¬á�ŽºP ümØkƒóÜAÞC¤¹>^EÍbWFõòõèåô?Aæþ¾£Ä ã²Ã‘àþƒ‡<p*€ï2ðÓ'ÏÅÀ®¦R,o.Î…þJ§J8@Û;ÚýC¶××�hw q(0½¶¹±µ(ä¡މö{>qä� BsæÊÁ -Àßþƒ“€ÀXBòPé§HFšò(À7ŸÝÑðïéXyܽûͽë×.Í¿vìÅ.?ç|sgæÎ¼ñöÛ—?øðêà?Z=+üþÅÿ÷ÞŸŒè(ÿß_þ/Ëï¿ÿÁûòTE‡ðÿÎ�Ï>½–.„ÊeN¾|IÃ!JW¾ä©[ýÍVYæ[Á?â0@§žÓ °zo_À -àåÜ©'×VVµee<¢ -å|s­-¨m_·f *´®i6­§@×j(µ º)•Õ>@4ÝL�çˆ�@`†»‘@í ;_»ÑrðáÞÀÓÑ ‚bäþÄ©E…ÇÚ‹¢,!¶±Ñ:jÈ£9‹j¼Õ\�Ûâ4Õ3{¨™S�«Å5‡ h‹®ÏíÆ¢Ã4:BU'ZÕÛ°Ò -ýLŠ�°%’íîˆ*S‚"àžr«÷×¾>ìi`c}}Ö`¦iÿfÁc¶nìl­¯¯m¬mÅ %ÀþYìχgܺ ‚üûƒÿ1<8 Ýš±L(@±(žì±/5ûß/°_<îý7m÷ÿþíßïß½ûÙ7ÿþ÷Xløæ›Ï«¡€®^š?6÷  ßi}ççmxã�_žùõ…«×>ü¯ ÿÕ>X~÷Ýw…m›n.-;Àûï•q€*TWþ‹}ƒÿH‰%àNL×®\¹š6 \ð#ÄŒª2ÙÝ:X&Çá||+´8@|åRû¥F{†XU » {Œ¾°S -+@ß™}Tø­|£«aR»Í%€CÆRUÆ:9¤«üX£5ªql&"üŸL³÷ÉszÂë GU ¾AU”Ú-‹šW¿*u}¿­Í ¡o{¤Å›Ê¾×®;5�5¶—�§.Tiv!í(úF© Eÿ%ÔüGË·«97^Á ]ÎyŽu*hÕÑyDl.w¸eK{é@ �qog!l�~“Û[cŠÄÜÎ>çŠõ¸µ«õ.5¸ý ›Mpß6ŽÒp2­6‹ìÚ^=Y_”cøÜTâjŸ:Æn¡ß�ií” OIÞ˜r±â+8�ÿgµÿJýŸ*íÿ øG‰Ÿ&àŠ¹u0÷dC\QÈÇñˆR°P‚::íó‰fiõÀÙÑ=§b"ŸU,-¢I¹‰k—dŒá:Š©½ÕÊ º¤"ØÇî •€bmƵVV¿èkõ'�{zÁGÁ×jO€A7 ®bXÉ—ÜNÐhÕÏ¡-“ú¶!å7|ã’ÙíþÈVÊjøŸoˆ‰Š_×û±µÐ0(p"ÛZ «8ïËNa?D'æõÕÊA‘'D¥m†8üÃvÝÉöÕ²[Bñȉ0íÓ ?Þå† Èµæï[T»ó° y�Y'Àå¤kÂ`6ɶ• r¨¡¾Ä«¨§ ª¡Á{óÊš]æî°õ!Nd#Èœ(§r/‡Gt£?’Ø0bçL2ü¨?©ú�XÎØò«õÔ�ýßÑ€ÄÇv  ;ß>xôàÁã8<~ü½èÎÖ“ïôÚ(Ue_!þŒäO€ì;@*8=P¢ü«hK~; ÀÿÄPõ@2`ì%ð…5ޝmlíÀŠ- `þlûÿM÷hàÂâ €õ°½Dö ˜X2 -‘È_–E<dÿ&ƒFüwï¾ïûíý{ŸÝùæïÿþ÷¿÷Í}À7÷b¸w÷εKóvËÅ&½ò‹à—Þýà¿^ûèÃUÿß}÷2?yï½÷ 8ûù]�rÿÁû,ÞÿÀ�Ê�€}øÑ‡úÿw>ƒ|pU[Ëkp„K&9;ÉcÕvYÍ~‹Äâ³à P‡J*Çòòòj`°–AfÝ•bàJ®Éü·Ò )U�Ù§2 <µm1¥ê±bJ[U«P -(¹¯UßkÚ–v6~�Ac®õ…j®’M¨8Q©4»Þ�Ú\–{ˆ€@¼�Žzµv÷oTõ" ç¢&âT‹„¨?^]Š¥žšÓ½†:SÄ¡B7¬°h"¡¦kœ½ÜÖÔáÐçËJ´õ§ñ>CÿÛÝ|Ô×µ�¨ª³q u#µ·�ÇÏuGÍÖhÐIØüçrâGíŽ -Ǫ�‚ßÉàGµši¡G„)S%’@†@âšGDŒߦž =ÂáÄö,ÑËROK]·×±Œ õÿ÷iÿÖÉ•ì¢ñü? þ‰ÔO–A,ËÜ+YH’t[º— Ú öhHBè/øx^Šb?Îr²IË@½æˆ>{Ý™—~8NʳvªÓÀù>IeTÍÜY6*ŸCзÖ&%Zâ}Š0Oq`@[÷L™¹Wù¬˜¡f=瘖³ Y@kÍú‚ • �âÏR×À�ïÑlõ¹%‡ÅB5d‘øXGòál-9ZØã­GSîä‹™`{ŽE'vùóÖ’ù±‡dÚý@·9%}ÜÓ»™r¬á¼�&µcñBb�#”ª\ig)-š.djzÿ%É-Ί ×%7u;¤³•òže²’󲿦šýqžf&ÅãmsúhL¤’î…§µØî{ÔrÚÖ~õÿ‚#j“Žœ&€³ó¯�]v(à'�>ô -ØÑž>|ìHN -Pùüíöï­ö÷À€»�ANÆ0 `úEÄíEŸüGÿ)&€µÍµ‰? 2* €]´xÀ¸øì¬Ý€¬­¹% Å9Mlßý…È&×NÄsH ÀŸf->°0€,fÄ& }â -ò£ý³çþß¿ýÿ}ûïúüýï(ç À7w®]8}lþ•×~1wBÀ¤#À…·/,_ýè£�>Eý¿ðn¾“Œ“ða+Ó]]¾²|õgx_(_4 øH>¼ö¾}� ø�Ÿ«/þ1?§ÙZ¤ÚžÝUIi æüUpq€øÂù^–wàE¬1žv{È;?õh®rF*…ÔV9¦ ˜Ôì5¨½©‚©œÔ>ˆuĦi+¿½MqDáµå;C¥ÕÎ9®$ º� -u*õœê mÆÏˆ'ô°âã08M�Òí~e7@ªM¨Ôa�\ö½Ñ -¡Ú¯e¡6öF©X uc` €-ͦÒ¨$­�*²–FÊø0ÜÕUÞ¹ üSåÙ‡€k¬)Ù�Ìgˆÿ@”Fk*fÃHÂp"‘*ª?ôÇÆÉ…I€€Ò@f4M+ÇçrnÐo¦!F›ƒ­åŽDçMµªS-[�ÇB½L¤¤ ‘}Úÿ@ÿÏ„iTÿ¦’ëÌðŸAÀ•Tõ�f“I-×l*è�êµE}âü?Ü=küE¹4[�Yo,®Ø �Ôµ,©jž¦}!ƒ,ôÞ'[ʵÝÁ¸#ƒÅDýÔx š p)£J”¯‚êà{òNrÜ3µ³ôÓÄÕª‹ë”·ªÜç›–­S1™k §¬š¹„©ž3(-èÁöX”eŠÜ€`¼äµê rÏÆûܱ­�MåÜÐúâHxÄdŠ‹úMIµ)Ì©„ޘ𨾯\¼WR"ƃ¹K½Ãs-µw#>¹!áoŸ’kDBÔëil šð([féDˤ6i0þ�L�4ôð°m#·(©¯�¢\En’†¶‚˜–ÖÊᨙ?˜ÙÀ¥G/©ó�Xâê­ãß²Ÿ´)_°/€†4ÏLôàÁÃG<Œ €ßS§ûSÊò@I]¨Ä)|×P0"!"êÁb€«,A]§* €G¿dßÚŽ�òÑÄ‹íkscmëFì²o Ÿù©éWeJ|lðß^S @“'ÆE`/øÌ¸»Ôp÷î»og{|sçÎ7÷ïß¿wï›ûžÂÞ;Ÿ9%ðõ«—œ‹éµ×Žýù™Y¿œtÿ¿†êi{÷BFzOþöž}þ–Ks@�ô«b¿›NTFº.øôÓàÿõëŸ~|íêU¯Bt*€!È^ôw½Ê°‚÷üö¢Ù1ý*6ÿW[Z ¼råͫꃃ¬ÔOYO|b«ó�œšBt¥_w‡ÔÙò²£,x_*{Ù©wQ›QÏpB;ã‹®òž÷l ¥FËtöS‰ ú¿ãÿ;�Š]âClA°Ö–`Ú!, w³–[¡Ò. -Îóv3îu¿î. -.Ö%pê~«a‚H58B‡Œ×XjëKÕ-¿vM'@-Ùi|¬F�t–�NBP]òðªt€»$ˆ˜~¿šSŸ7“1£éóxBÓ4=©@ƒ:}Ç‚jèe½ú) @a&G±ÿk¨ëÕsŽƒ`�õ,»P€n¯®ÀñYy� ®*,mY%kyZ 5±!)ŸÑþwñ*‹çÿ!ð/òš~?Yjµ˜¡Åm˜¢aNäh�ô—Ú°ÉË‚ -®ÌIoÀ_Nj÷Ýñ ïMâùQÄtgAì�†JouÒÂ!ƒÇ¤¹PI$’¥PÙ ´*e"Q)ï“^j#rˆì4*æ ØEÕ`!æþ+y5r®$®Xx6Jv … [¶Ì*cçyèÀÆÈ�!<…ÓƒÊPófØ\ˆÉÈM‹ˆ%1ÇË“K€�M%¡–G žÅƒ(`ÝŽC—Qþäì‰~^^£º$Ñ®�µ/°:¹a-U„†?œIáHÝІ‡q?_fSÌÄçŽ>ƒb/÷òšÚ»0Ç|2’²Â\ÒÌy€q‡pL¡�To™ÛR€õ +¥Ö5Gû+Fú#ÀÞn:“üSÒ.`ÀÙåÏî=xðàуo!Žh À“,XB BUÏ$ñxëM}Nî:ö§øð| €pëIÛÿÿEà‚Ä’‚œsü Ap¾ñPïû·m`½³¹É b}tþê÷¥­•x?!ü᦬nÞº}ûO_`(�Û#Åÿoâ -¨�_g–ÿÈ÷Nú„$Üÿæî�àÚ…ùãÇæOÌ× ðô™3|Ïè�¹üÁýðë”Á.¼{I€ŸC¿wéÂ{—X @fø øäú'Ÿ\¿þÉõkP,×!W¯^‰ àý�„ëŸ}~ÝO“OùîYguýÌ™)²O7*°¯V³’ÿÉâЀ‚I^Þ²ð¥C²P¹f½ÏpR¹æz@¿î”ž¼ÂT/å¶¹' D=ª?ZÀÇJ6ªŒ½�@RѰÕí±€ÿ¨»çÒ÷/€fíÜB½Æ-*™ú[«ªU75‘=ðÔ8¬Ðy¨O-æ`0þëø+!¥®mUu"Xë„.©izC€3Æ:§K+;.eEtÜ*¡ÖÅLN¨ þ``�%á«f­Nà‰[ôÿî@Ï?"ι¢ÕJv»aê$Y¨ÇIm·;*›ôtiÅÝwâBTôsZ. =ÃD>ý”£±¼ôÿðÓ2Á‹Š& ³lì÷c~u¨:Á_z.œ:uê_ -Z$ýT-©&ù)?l Ìû^ÈóDýfdf;]{O]»=Ф2Ö1 €¬.ão—“ѵŠN�®Q›mÚŽàܹ…4Üš“â6ë2\ ¬óҩʺÏJY €�œš„g£Bš¨w]"*D5»˜Œ½‚K¨¿¨eƒ¡¡æ6\(@τģb#Ôwt›�<@wh0ˆ}ÀŒHëdº(•íö -Ê#º#Ç7ÃG'NU öt!ÔÆ¶$s±Ý À6‘(¡¥.ï¶Æ¿S©+sÉÕI�…š�ÎU 3MñõnuìÔGÀ ¾XHŠÙ�ÂTÆ„löEL¨¹Â‰›³ÿþÏ -Ǥ Î,Pí™H®`©êÁÿF¯óSÅfMÛö–y¡ÐáRg=�Â!fA«kt¤ÿ& -x¸©�þÜín�õÁßÄ•áX⓬ܲ, -#"ìhÐ ®�ÿ–c®ê&Á‰$9𡆻�„v÷‹>9EAÉ•o%ö(»Rv¡�úŸÇ§iŸ¤À´áŽk'c¢p’7€,\V¹m�”……âÃaSXW„…³,èÚ1*@Ñ)æ4| ǽ!wOwBÄYb¶^€±Xœi&ÙÞhÛ”Ïk)Pëƒð(®”7��ökmw ÛŠF»˜ËrçÆ\¬±J¦  -³ ºe°Ew G5Š}Ç´%I¹�[èX˜õ¡'ïc2“—uðî%”Þ"ɇ�f;º}_Ó£þÍâô‘}Ðõü¥ÛØe킊n€0€3W®ßðèá£â¿RšÔüUô•Ôÿ‡‰€ós§¨Tw� òOEð>P‚¯ü -þƒº3û¿tÛ ‚‚þ…Ìæº�©ï$amk}Ç‘=äñYÉ«�R.÷+ÈÞ»}ëŒg *àæo"÷&_ÏlÉ�‚ÿ÷í(ðÍÝ;Ÿ}z -'ÀcÇ_K'À¶ÿ§“¾�þËÿÿË… :n°´)À… -=ðÏWÜgãŠ}üñ'ð«½Ç -ðé‡×þWÀ•÷¯rüºî‡/.’’À.ÊïÙÚ'dñ©Sss§æ*´8@R­øŠ»Q½ëÖ3 <µÇŒP3í£¬òáê!ú§#j¨b´¨½¢ÝujÕížsߦq‡u‹í­±Êéà^mwJ`áÿ`g«·âÿ­ÚÉ“ lþþ £O¶ÎVÏF5ciP�‡R�Æ|5èþ¾ÝhQÕ8€YjRµLêI4<”y €¡²Ö¥r¶®6F+Ž�B¨�R´g9µ©6Œ¾¨rJoÔâp5ÜŽ¨hE¦ýºß]ýbÜ_w©N­Ð“PDXÀÿTÊÃ6´ÄöØ^I�$÷±Îíh´'QðM�Œ”q ò3औHt‰t™1­UÍbîmvHþмìÌ tǺ±ÅæPÐaþ÷IFýË,üÕŽ‰ä>¤dÁQÈõO“Ÿø•;'—XÐØê·c ÃqñXS€P›• XäTG?ÿëF½;†gކý!¥V“s)|‚Õìð>êɦ °&úííõµµÍÍõ°ð:^€Ao§t†@-ÿ @×A¶ö}¢áùíMǪè€Âs«­Ûùr};sÄ^`P¶w8›3ª{TRÿUü³Ö -P6çüuDv-—ÿÓÜ çÜ#� ÎPàþÝË—¥j0�ËïVýö§ >œÁPßVý\Iî‚üÜ^ì¿þá§Ÿ^ûT#�M×5Ü)}_H– 6€g‘~²£°€éw2Às-¾]¾Y•�ÈVßÎlL)@^ì]#À +ìX‡[›¥ò°b³]wd€ý~5Ÿsb\·‡#4ŠAó:�]µ¶›2>põ«bpZ;ë8ë>,¸g]\éÔššue&•Áð¯c�¢ØèrLÍC˜†ñÿ2ªêv„zM„¸Xo&ÐÔj�Š&ß±f´!§õ©–¨ -(÷@)U%³à�Z–J¸;X�ÆòN÷ûã/Æ£Q»^ǹ³Íñ7”šµñB‘`…Ž.Ñøyx£×;¸~c©qJO=ñ¿v®v.þ§Iõª>õImoÒtWt}:@Ê`‘âFÿ‹/F 3 U¯€?CýøçXÕöÿÚ¿ ¦¥û'ŠÐ#y¤(òÏü¨J#e¨ß|\ÑßSÖŽzDA/�^‹¹A£Ñýª7è“KöI+ mû€÷¸uk,´:BµmU#б¨Ò›w hÛ>+I=y¢¯ƒáñ((Üêý׫‹Ë\ -³´¤K7|Šãè²×ŽþíÆ¹BŠç -"…±µ©P,6X D[_i�ΛÖ&Q=«­@#WV -¢{fîbQ‚ë¹Y—+¦x†d§º'?I¶ªysQμ›FŠD3¹) -œE4ÝÙŒ''>ÂÉ](mq I“Q$ž}y$Ðf’k2µÅÅ´ŒÜ0¡È§^ï7¼å²;PËœ5¾N—”/Ø[qò|³!h545ð׊ãÈ%}ä"¶ùÀŠíÿ¢¿¸b?ÀÓó¯ÌCôDžÇ BÃá_L­°ˆA³šWOwsaõ\}±‰¾e/€ÚAãœ\à4Q'f/ê·ÍF‡PSíª©=ÃGtÓ¤š³Yƒ»·P»|À`°þg}ÿ£ý7êöâ¨öT’Ø�º•öïm”Ê�ÿÒÒ«Õ‰7w•Lž<„'¹Èÿ�I†v‡ÿö¤L…L"ÐËŸ�:”HB<"šŽí" Qâá‰ÞWÌWØÅÝð¥B1»¢,{…ƒ;.�‚¤%3 ,Ä‘¸f g ©¶Í )ý`µEÊëKYa%øÚ À<Í4h%k<ÄE{ÐoÖ@BÀ9yÃ|>…”S9EÓ|«3€�$ðfÏiØ<äÄçŽe9´1�4{�%þ¸Ã‹Ì1=UÈ>_é¹åœ`’Öìih!i[œ“´â€qWÀl_�òµµNÄ…a=,Xð^sêøwµºS²MøsB^^I -º5‹™Vo´¿*SÚݳ�'MTf‚uQo°qŒWÑcG-Õ`}G*zûIÐþ�ŽôXR$g2Àg÷îëøðñÿùè1èÿm™@üÿþ%{ÌNÅÀÆÂ©ósZ…ùq¬õ±›¿-ông�ìú(èü·à`ŸÀèæNÖ_á{ÑÿýYËx@›EÛg1û-—üöÖ—ÒîÀn� -nܺ}«Ìà©Þ,Ï/¥BDÿ>?Õøœêÿ±ÿEÕ»ßþ À8;—.€0Ð?"Xþ¿ûDàÒ»¶û_¸ð†ðog€ååÞ§0å굊LÜ�O?üðÚ§²«²Øï=yqp‚4°03§R1€‚þ»&»^È ðŽùÖU«l*ÏZrv¶B|¹ónnjɆé[ƒ¤C]w´JÍ ý1-N¶ÛnÖÕùmF¤â5¥ÕU›!UËuw~u:ð«ÂÜ©tDíõ©× °Tu*0�AsœºÔJÖá·‘MXy¨ôhX¤òÿÛ_[Ûpå0&ÏD×j6PÎH•�îýmÎëéIÅžþ -µ�†ZhËІS+tBíìqcýÃŵÉîÈó¨aW«vkä¹Üú‹ÑêØ‘VPÏRtTôÐqëoÔ™ÖrT¾Ã!‘i;:_“%¬¥7zߨ;2ªu}ü¬×€´ˆ°ÿ'àÕØ��n'€°Òm­vWÑ�Q U“uWeZIë¿ênûLod¨‰<ˆÃþÀa»íÿDw¢ýÿܤhÿþóÓç짉MÞ¼¯€ -R Ìã{_�ÑNɶâv†2Ø´… ¨×R�ts¿îx8 OÂäùÁ;aÏäh,¤£ÅÆ$” ð–'ó›rtÐ"’›XÐòPnÑÔ7ŽÓ (æÔ s îa�Ê P—W(†í9È�3x"–±æ -IXœ0ÏàžpæCp·>zðÚ ´´Ø|�s$Õç€eĈµr‡ÜÔ„×��Ù@þ±Q^�B��|λ@‹î2¢ehàBÞÐ÷Ä‘î -—UÛ$,çdÈÐÑë} «i´·|"ÿ½• §•$©•d‡@xÆz\Ž`Ý-XÎ*'™ådeG²–ÂöOÕ¿£–Ó ÚP¯ ý_@J@œÎ^½ƒÚŸ±?ÖÐ`�ž¾‚‘g­yU²U¬œ ´Q?ƒs+Íþp0¦†æ@ú³^Ç襣A�j¢�ö€øk�»™Œð”8°è4ON ÀIÇìT{Áÿ_µÒ £ÖòìÔj½f,�ÔÏZhãô6dk1ñíDÿëøkv»5ØAàÀ€) }*•š=óëý�–àA»Û_M·h4(é•Q·Ö‘h´ðì„z4F³7#í’Ã�¾…½.5õʘ¨#ýaÜî“6ãþê [SÄ,û¤‘HZŠM6¤Q`”ðZÉ7Í ìD�µêÖ³«tÈP€¼×ð¤Ç­]Å�ÒW{U×Âf�(d¼2gÜ6ÔÒ“„ºç”vÝñJ¯‡Êè4Ħ÷)Ú?êõ¿oh©ðþ�”Ÿ*µÅtc+…�Œ.Šk·ýŸ:£º·¾b‹ŒŽ<×fcÏR�‡|vÛP=þQ°F_©ÓJª¸ X¨�ß[¶lZýÔ+u -s¥|AT!�ÛšôöÅŒt@ü`hΙ+MŠ[ŸûÚ 0Cå&´&€ÀK˜$½œ=d›�L5l÷÷|H-ïBŽtìðÏsT¡-žbÒ¶êœÃuíú‚×"I–À’=¤Æ-®^¨ñ’°Í̓£<#ñgB`,‹€ëm^0qM=ö´WxºÖ»?ÈÁŒ�©ÔÕAšDVäRŽ9$Gà¢ÂULAf7>.�)³KÃ%N�ößíþ†Òn˜ÌK¾)ñà -A�’7q„Ûä‘ ) ¯UÍ0Úñ㟠©þ�XN; -Ð¥³q@÷ÏràI†š? øôAú’ÁFh U?J?•�VÔºÃikæ¿¡ÖÇÀ‹:¢Êól ÎÀªì÷{ÝÕñRTíVsÏéùíõÛ½¯ÔI 4´E;5•©CSµŠZ¬Gã‘•tó(ܨé°�ù€ì9k8Y£&×C±§9VÀo­8_�N€èû›h�»Do•¸I Œ¹VØ@¯N�?Ô ¸OôB7Õþ÷âB>Eÿ‰õ? ¤ì|y!ƒƒÿä -èÊ:ÈÞw mLNbXë|ÈÿæÿÏÛßöJuey¾(¾² «ØÆ;߸ØQº¢UHAd쾨än’¤¡é Lå¡AÇW'VìXlÚ‰áXI¯&íêö!v¥Û­n¤ú©v»^ qto�ßY~‘¥üR÷÷ûϱcÃÞø¡z׈ˆëa®9Ç|Xã?Ƙ˧þ¢Å Yá  ±ô{ªVèh°ÇIK›lØl NÐ\À�V¦ZÓªiJ~)~j¢0©àIU$¡nЖQ)ˆ -\&í¬hDb ôHî£ä8YußhÓ`1q*±å#“±ó8E ïå—ÿž�D�ݲ² a!O"šáõ÷“B´äš�QH•Ô(Ô¡8çÜhßt-®.ЇÂAcä„oòÓ°¯ò~ƒÜ­ê@HË‘Îã1L_�S|Àñ*ΆAúøê'Íí~×i€eô_*Ríæ�£¢{»%&�LC}SäèbæÎdŠšZQè÷k„Î>S+b÷™N½‹QY<Îpsöü™S«((}ùôÉÓçÏÿWzúÄU�Ÿ=òìÅsýÿö ìJ/ù»~[úƒûó1o½µö–Sε蹃 -¦ƒ¯®Ýèá}¹_°?J|ïÞG~xÿCŽî,l‡õmÀýË–+Ë*ÀÇ!�jsÜW•h;>ùì“xT“Úö”ó�ýW¿~üþÞ‘šÿ®øóû¬ 5@Eà‘®ÒÿèæW„4²Cªq à/þâÔ™â8Ãÿ¿=çÛ�·ÉŽœK4ú�ÛWôçTYè'–¿+^»zãúÕº -nåàB²Î,NT òB m@ÆXI‘袺\ƒn�–kÅ鬲¬Ç(v Èuf>NjíAÔ¡}Ùù?Ÿ÷ÿ²ùok°y,ð?ȿظæá?ê{²W€u*$†áŸöˆ -6ÙDXw­^1ÄF$ª„uÇ~T#_ÐÑ5 ²ã2Z$Å'º€8åg9§É‹z*!‡ñ„ƒV† I }1YV‰ryD‘ÕP“T¼��ñè…i‘ÒED“à”O3=¡$õaЏz¸…kARN»åÐ;D[›�:ìXÖª‰1µ.©°ËN‘ CÆ`v½T†�ýg¦�XH=EBùöRàòÓ_ë®[ÀÞð6LÚ ™§:]?퀢3Io&š(uc@âcå´DõÔÜ´Ð9¬›®õ3ÓÒU$R×üQÒîQ|Ü¢F£ê’²ßŸVôï+Í—ÎÀ2àÊÀÙvÀê•G_=}ò䙟L6‰q–KAhE0)„}C{ó»Ùï¼Ù¨;ÞÚjÿ)F·]¿H!“c £8>Žõ]€ÁQ“¥‚H±ßÍš¾)ˆÁ£þïÄìOß$4qÒ6%LaK�žÏ ïxü»ÿ°)[y/굈™Ž·f)‘1à¬5ŽÚâ`}8Ÿ°§�~Êôѣݲ«û'’À• -@܇O¼üŸ+‡¢L6Igˆ@Ýl€ìº‡êÅɰ UáÆf¨($FMºƒp�Êàp†À{¡¼ñ¯ÌûÇX\¦6²9úS6�‘ù¶§¥ö�#{øËû£í7 ÍÐs´”ŽKÛÕ“ÜÕ¶$Z. ‹+ú� ×Õcÿ%è‹{„eß«7B܇^å ¸.Ç´O>Ž! D -°ôE?Þn8ï$Ö„“h[â¦Ëü‰×Þ’óÙá‡æäÐWNvN¨¶ªT -ל(ØÝY�(o%TÔ!¼ÄUâ®Ae“hîó•ØÑ CHƒ¾ -òš©$VÎm®x†üv\·€³a‚ë­®�L©÷ÖºhÖÜÇÏ�UNGV^ ¤Þ€º‘3�DÓ*P3í¯¹²fRlÒ$]§ÑÃL×à‘ a‘˜¿u� W¤Ozê\EÃî ™ÜwZÌÕßÇ�/7ÎêüG8áüE¾üçÍÀ«g.¢<} -ô?ãÿ‰o~þ"�/¾~þ¢¨»Ð“9Ò¿ú�Ó[H ßî»]ã{N0\÷�tïn€ûwÖ+ѹU^ö P]!CmQ;@�„ÿ_/kKÀÿéÃßjÒ‡¢7<(c@õ�=ALD’kŸ:€$vx¢¼ähÇÍ-ŒÇüüs¤Ñ`®|ùØWõF(sÜ+ß¿àsjá8÷—ç¨1‘Nþ àR»ütéâÕ+—.Æ+påÊe½þúnÞ¼qóÆ�ë7®;ðúÕ›7õSm'€H¿M‹ƒvGØ?ªjR:%VÞ9&sÁöï"U»Ÿ´@ »P¿à?äcǃ™ŸO¨›Vê·@4@»Ø½‚]U9QB¤ÌþRcê*%M*»Ú�NAésìÒf²9˜bÎñäÏQ­ô>|¢¬ýƒaã@Œ_»n•EˆB纭à€J*È`à,¿ø•.d£_M&ã˜Öš£îÀ·‘ƒÙMSÏÆ#¾ï=«¾œ†�Wƒ1��ÐS‚nŽ6êºÓwò¢}çOÿXõ?ÿ�>2Œ¦c^{@é¨×O6v0söו ¦ ÛhU.GŒÒá…é´Oªh>àpMÁÀµc£}¥(`�„­†#E;e²¶–U†‘Ü|툠Õ�¼+¹@ äZôÎL$Ý M{µŒQõÇjð¹ÚVC¾É'y�RÓ ŠÊͤ}÷ŸÄ-úþ‘ï´þ…±å/…?¬}ì�þÖ�¼ûÍvgÓ?hG$[¯'vô�’P™.s¢Kó�:¸ÜÛTc+šbâZ¼lPëœO -Ï*[Ô4§…IBÎÁ’| ”¸c%¤l=+žA÷³ÎoÚ u‡6`Þ~a�jÔñuÀÒ ³±µ~z7ZþèupIÃVA°_Âtø©2÷PŽ�ÞF�E€ è_�ßO˜+~€¬EƱxj9˜Œi‡Áx([Or±ËAÈ¢O^ˆ'!(¯F*y¨ÚŠè;Xƒò,n 'îKñGàÑʲ„è·r� †xÁnÔskÍqšäC�_§v$}RŒ6bó]> F÷“ޝìÿ\Y]Ív8 ¡`Qž:~ö* -€/üŸ@® - øgHà Ž<· =]†ü�_>8R<œÒà÷­·Öœ à:1{xþ½°þ Œðèe€�Ý*€|Œö ¹=­0§_£D àŠÀï'Tô�Vg˜{€òÓý�?.wèø°Ä@: Øÿ<5üéË_ìÿ[XùüyËzÛ ÐŽˆàÊÙwò*À2 ÀjR¡èêwÖŸÓ°ù©ªw[ü?{Ε€/`ñÏÇØÀ÷ò¥¼é'ðŸ�€7o\»q=Coüêñ—E•{Œ©¿°ýóÍoi'ÈVÛµ@€ÿôk-ÎÑb7âáûŠ - ùpò�oæô^€Æaf˜ú¿kÆõ'3çСÜ�€»Ñhˆtõvù+¦_`Ãÿq:ûÜ7€Ú<÷Ý£óY€ýÇ�Ý^·Û?Ýs)¼¢ (öø—[pÔÔ‘xÚ5¹‚htä\ñ�¶Ã¤Ûmq È âH–Õàžw7™5ˆ!r57cä•ÓÅzv’Ú-Íæ‹j ׿ãFt -,û­iÏÑŒ$$æ7£�¦ùcÕû¼8ë®iÆ•]ø¦oyÁ¯F·?é’öf1£aN©ŽÈÖÏßE¾ú3¯iq¹ÓÓPÖF p,&'Ð�›Î^Tž#VûMÄiw0Q¢Gð~AÿÑQ·äzÒ4}Ô–iÝÈ5ˆ:y­—Wú.ëÿeó_øÝ nÿ#è¤c¾1Qi€„Nœ´B Çš¦Tz.3áWù×ù\J–3d˜sX�y T𸌒·!´ømgÞѪ¹‡„,h{�¨&˜‰�ã ½� 4?St— -QWò>ÿ -™.±ª€¡�ÃÔ†�j™rG5tÖ’`"Æ´þØÊ:™€(šŒm;-œ}W�ÊŽ¼¬ùÎ=´6*‰'q+ѨäT{ŪÎÀÚ¤I84GÛœÊ�—eFÁ†´š4¦À²š¸Œz‹ÙË.5`ÚH'½É°¶ -¦(|u…Õ•þ -šVXIà/;Äáã|M¹”·ý'm¿ý¦ã®pÊU€�ój/^¸’¹€gϬž:{áÆ—�Ÿ߯ˆðô«'N ÔðäÉWA¬Ýèq±òw!_Ê«²PpØW3@X³#`×1Áõ€W€ß´éþýßí|ƒÓ `Ûø‡>º?~¨µÿUJOÿo^öäm?žúÔ1.<s`À|p_û½þ‹þ®üûDZªþèßj7/œYyóà‘ƒàl V3-Èý ûl@ú3Åð?{.ïojÉ~5€K—œÝ�ýé⥫—®ø¶ß+—.]¾|5¯ûyôøQ¦Þ¸~õúõ¬ ðìÿ÷Ôþé—¶Ùkw|K¤f’�••UYC(†ýë¨Øþ‡~r€Ïk4€<Üÿ¡<† -×íM«ö [{{0+5­G} Æ~¾i:› \idÜŒÆXÿ˜ ˆ›ÆÅòìõžõ±BAV�•öö:€? ×éêDô)ÔP äÊén,ìúŽ\ÏU›¨ ÕYŠ”Ìng¡ÒšI!…‹r<9 Gý-l|¸¶“-@}d›àY‡ìï¤qÜ9ˆér$¯.£Á=Vûô1ý!ìú/z³?êÚØD�ႤSÌJm'k÷áy´1‚ë2“Á�bHŠ‚£Ò€4÷ dÎ¥'Š `[©Ë»»µ³,àÜ~WÔ–j×@;lòû¼šŽ~‡æ³©úEæÉToÁõ&\· ÿ}­ÿ…ù?ç�S˜©“ä&«"þð­DNd�zpSPÞ7íoÃÒ3ÀOÎpR¶àKp&aÜü{„†`«!ð?Žg6,p�( •ƒKJ'�‹!RQ"hU޵àiw_1CSV“±¸ß÷þ«WP9çSk~ä‘[ö�bõí3eÖ?ßÿ/\<ÑwÉ^ðÕgÎ\¼rëñÍG�nbÆ­GÝüýc”s´Ú^TLý]> * -@V†á=`íˆN€8Z]¦¬õ÷ª`© àþ=1ú7å@0½Åki�ÌÐ’Ü—Ÿä¯ ÐÞõ x@òà¿éÞÿ˜ÿO] èN«,�(A ô² ¶I÷ÿ­Gιk=âj4—ô�Í£G7.žY9pðÀA—<ª»]@0wuõ/|-Àõ3l#ó=p==.]Éú?—®–—èÿ¿‚pùÚÕ›ÿ—©¡ܸqí†ZÂÕ«7?H€cæTþÿ3[¨Ý è ûj&í~<|ï߃°_ÿñð±ëýì?=øðnv Ü'MÔ„ò6)çoí¤²âNÈnñ¿=Dø½øïz×.œZ9°ò摃GêXÀÿqÐß%�¬Œ‚ùÙ,Ê@q \8‡G%:À?>(O•]¾víý÷Û7þ dÜh× ¸zóñWŽëØ¡ìF¤@Ƹã,€â8~ôX ð¯%û}¾CÈS̾hEPþçûÝ^ìÙÞ °�÷Ö­}Â`C¥çyè³®©šç_‰«HR@Æ•7þn{2ðpf½#ØJÄú}Üâ¡5èÀh+è®û^TÍÐ#ýˆØéö4"´ES+p1ä/1F®Hæ¨|§ëéGðÝ̦Þ;eõT“D&*ãÂ$Ã®æš p‘X:€ÙÏÇÕ`¶ål{‚R¢XÜâTÉ´\íü”×IAµ2òà4Å'ÆB hË :�(Ž4v‘|!º©Ã vA̰Ô x7Â(©�Ýp­híûÎBjj¼mýï6ñÞ—ñß -‘;yuQx­ÿIÛnJ~Ó"¾ï¶´!~Úú£ØsÅÿüq*uÙë×#{dd‰å^6ç?õ ¡Ø8Âdì]Ám ðyʘb)Û˜ ¤aßæE²€,{Š=€rAB]ôˆ“n©.ÚUoà€—Q;_]Æœ˜Â­p9ËöÅÖ6.£ö“´9ßtÑ~�?ü§A´û»A¼ƒ6`-®¹&”Œs`cô9âÁIL(#êQ  –ßqµ�*,ä¼P +ªBé’·Ø1ÇÕG�.BÍR½#e׬ÅêïÛ!Á¿HÍÏꢠå:ŒWлӳ¥—OKÔ+W U˜[ë¨ -6rRÎ}@�¯7R/ˆ¶“J1æ}þûÓ}ÿ¬ú:`4—’Qü2�ü¢s¥à èâ²@ÊzÿØpXº .\¾xá⮿Àÿ¶Ý¿ý™Ó¼ @Äç ѾÛð¸»ä˜+\,(ï�€àîÔþW‰PûÛßbÑ»m?Û£êTPÈ´@GrÏÇ·€?jÇ´‰ŠÿsÀ¢+ 5ýçÔü €âW�åÙS€VÀæÑÍ «+¼qà líƒGôÿ—€, -ìj€®ÙŠu­`ÿg)€Köä8ùÿÀYu­ÝÎñŸ4nåm€âÿÍðÿ<}ú÷¯¥€ÿ»üŽ.ƨ™ÀÑ•c±_KÄwáë೤ |•g~Øuû]^€¢œDžù~¯©=ͳ&p˵Ép4íŸìU#-‹À™6 4ol( gˆ ÎÚ6£ðÖ‰Ã'”Ô‚.rJËD¤ ñ×îI®2è0½�(RW¨j]Æ•ÓÃÌI°Wˆq¥?äW®›jV5ŸÏÀ:5ç™9Z(��•kØF mŒÇ�n�[|"T,¬ÁÅSM¸-h2©Q'fS¥™©éê.åŽHB—u œ³Ä¹*úð§€$!m: Á€'Ô‹û> ¶œôÔ½c¾?¬†vºZ½^=Ò>µ¬5áº[¸&9%¬I"c‹](gNüÿ^Ö¿æ[öùqÆÁ�sµ‘SˆÛ²ÿ}¶†�<âT®q1¥a+“ËAï¤ÜŽ­:2ã9wÚ H×"+ŠlÇ/pÍ­€% S–ýU5uX:rˆ«¶\¿~}‰|l©ÞÆŸ96r*ƒý‘w»~•<‚uyG��Y¡%û˜Ü»Jï½zêV˜òÂâ¿êuN�J[äŰÆÈ5¿ÖìG Ô4·JÉMÚ#{ÖrÇ7JÕõtËe’—‘ïÁÃ5O˜¡M–r··épK c<ÉèWèÉQC&@¹+k†êÉÖ¬™gôš¢s,¨}*a:ìÓ¼TlgÖL¾Ôh‰½]„kgQ"Q(6š0*¹vk‡ÎV(˜ûþÙ«¿oð?ˆ.vØë¾, 0dV@Ydnù~då§‘úù Gj "�øóꯠÿ.ÔªGþÜqà‡~"æoc¿Ðïb1kG„ðð BpÀÃûÕÏ+]ï­°íþÇGŸ£2P„ž{ì¾ß…¼TüþépÏA�éÝ'¡ß°˜�…Ò à³ûw>¼ÿ1EzÙ‘5€eºÿ ÅÛ%è� à8ìj5€Ðb&ÀãÇ7/œ:ràà�•++™ `]ao¹ÚÿöõŸó­ ~©à¿~šŒtàÿÅ W/AÂ>JÀåË—®½ÿ/ßGñøÊaš¤ñè¦õÌÕë(_‰ÿOŠ¡¿‰øâÿÒ4Àv@úVV ¼†æ@ñ: @Y“BlÙ [6EÌ¾Æ  ¸päÙ´�)ÝwáýQíò^"/�¡ˆõ©¯|Ö?E^ ©PÈNö»'|F{q“Å‘Z±|J -Q"2ÂG¯«Ù¶‚aXœCêÙ°§œ÷ªˆz€‚¡Í?[¸žT£/š~¡Ý4­ -1…ëº?Df×°&ž˜ &+(ïPÿHHã%>ERÚ¬(á;)qW–„Sí/r»‘b"ŽÜAtÜŒÈ :�Ú ²´ÌJþ” 9wÀ|€ec)ñ;Œù«$+;ÃÁ°ö×)¹x°¯àÝÈ > -¡?êm �}pÊþ àĸøÖ¿Zò¯WOîøŸ›ÿFùãé%X‰·º¤d‰ª]uœ£._ANî*Xç ÅŽžÐu²è vm@g©¹VMZF¿3thy‰…£4ÑÑ\ÉÆ?ê|…„ΔQEYúÖ¨h>)‰¸“¦®–g O(‘šWjÎ…]dÑ9ŠÕ„t©À¢/ˆ¯s¨s_ò"Vv}\ÉGþÓ ®£¸`4mˆ¸¢lØåÂ1a|…m`Z7.»Ï?ÊGÝdn‰¡Ä~ØçD+­§Ž‡€e›/@LÃsU„¾w“fWÝÅÚVs Ô! -}"£õ£aÌf¥UµŽ„<‚É -;óŸÙˆ@*6vK­d¬u6¬FÏÈcŠ"U£t8.xJijB‘#?h[Ó™âÈ\Ù÷æ@ßýýüÓ¬xìø)ûýÏŸ7Ê"òWŽœd–E�¥€?ò^™�Ò«ÓÍ«¿æ_!ÏFxkÇ ÀWHÝ- Ý»÷áG*÷Þ[_—õ¹{zÛÀ�М åZ;”N­Iþ‰ö Û¿|ʨÀlï•n~·Ñûfþ?}øŸ>{àB@j×Móü‡ù¿ü™“#œø•Žýÿœ‹à[�n^üÙÊñ¿¼ôçS\º_Šºvö̹hÔSépçÙx}ãÿåkW¯\»‚ùÿ>‰|œWଵ}íæ­Ç_ýýÓÿûï_õ±È 'õ(¤�‰c¡™_D„s‹�„&!»Ô ̦SìE%_šßë,Æð?|HÈsô[6jˆvB\·—¦¦ØGî�8l³c~ÃØ¶ð•Løv¿6+ó¿ß'£äf›k؈\ƒ\'àÛ4äúvVÍáî¼#ö½œ˜ú®©Ž8­0b*J†)È¢ÑVí¨(–»¼'™"BÙ °�…Öz2J":€*@K‡t‹ wt²b¢%ÝqW˵DVaT’kóœñ� ¤Ì‘vT ±à;­°bÎžÄ Ì‹T‚ýHŒðÌòL÷gÒÍ�ô¨ËNº;ô4S¬4K-–u·3¨gÔ%7s.Ó4ëa\2¡¬Ù7 6'@àdàêUSàG¥0Ô;¤Z1žD�ÊÂJ¥e`‰ -RS@EÁ�AOÒj§³»jƒ•h#´À¸ëصëˆS šQê�-¿Ù·5Sek:î éÿá¬îê…¨Ó•Ó¬I¥,¸ÂnÕµYÇ—±Ö2妚̈؉¯Ô9¨ŸäPY(½N’ ´ë¯ú¯úæç�¬Í=»“Š…ºwï·¾àç^ñÌ€r)Awz|a€ø,\2ø«$˜ó]þÌ7¾xÿ„Áˆçc¡^”çêgŸ=tIÂE¼…ƒW5€òÏ?~õˆÿ™[1Çÿ¢äûèʰ?£,uÀä=ææÔ©SjjY”ôëU»8¶Ïž+gËŠ€—\À5€®¼?ïÿOO?ÿ·n\×;à4€G�UEþ¾]aî hÏHí©e){«¶ þ�¢J®¾Vøž¤Ä‰ÔÉf§@*’¥læëá,{0!ûÎ¥ÇnRrIŒžxÀ ùÆ3Ž„Ñ%XÄ@ÀùÚL67n÷¤‡¶³ kâÿ¡ô8ùÀ‘ð¢Z-¢Olì ×{¾o™Ë§ýG¹“_-6á¶®TFMêT…t5€'HÁpÍ�eðÚ×$ƒºšëì‹6jãÛM ¥ã1‚,É©:�+ä1Ç8‚žc„¸…¡@¥À(=Y@JO‹ÀW¶R«xçH6Ó2qrgÙ‰ç_l¶Ö¥,¢X¨7Ø’¯ÑŒ¶Jó¢J±ÕoǬ˜-øíéª ‰T9P§&c.¦o¶ Ìö~VÜêÇ�Bó\tRm¡J°;l&Ý×Ѥ³$Ò 7@0'FªÆTO>w—r8<›—yŒ³£Y£”Ñ*²ÑÍ<�¶’5•Y3Å3¦&Ûõu�~¦ŠÇ­Ò¸**hBÔhM³5Ážh|]‡Ÿ)ºœ™ø_BäÅü”ŸT^fî6rv¿I(wL™+åEò®ìzòñæŸ¿è ‚‹°Šˆ×ø_]ñP3‹s�O°?H¿üõlûÕ0° á¡e@é¸÷^ýÞÃO¢`Óïð´p|Eá#ÐXÿ{6d4¯ÐÃÏvÁýÿŸ~Âæ^™²ûZAvÕ<õð?}öñ‡wŠRðñÜÀ¥ö·iùËgþçÀ,ÜwQ@)û_¢œ]9ˆpð€ã틱Ýb®…ï<?Ã6%t�xÿ3}ó¹ùb/]¼pé -_ìðßÑ_=Þ�ÁéÌáÿúõ7Ñ2î …þ'ù,vž|EÐýŸ.€cñ¹§ñ_6-{þ1ÁáUþêsÀç_YV6¡¹°í@J¥• -Á9�ÖŸÞñ€½˜)â�gÊíbZ$¥2ÑÜ«ˆò\Þöÿ1uלõö¿¥&к"TD ¦R é2Õ¤!éöËHß}_.Ó‘/0hv-³ˆke`¥Ta×ÞRÎ*ù̘Q뉄U¹–Ìf¸'@�ÑLV÷Ðñ’Ö–‡šè”˜ë®ýJ\…”HþR \‡Sdª@XŠ­àZÃÞšùcÏçíÿÛ‚:p¸ŒÇrˆ$ÁàĮ̈́Œ‡kUû-\9oÔ¾�ØË~HTó¿à¿nÉ0·„þzŠmÙ ê]TI²œ$Xÿhš ’ÙÓ,4Œ&h1ÞÑ\2iäøâ@Š“J4ﯾW~h—ìcX‚Dèªè`À°\#G` 8Ï}D²MPg£áh„uº®NM]jWc-c›¢dY5éY$(Ý5JÀ–O Jo{Q¨J äœd)î-£@`H[V_Ä”x-PT1kÁU‡à)û4�ØH\œvm  Ø9�Q¿78]@ýÑöJƒ'gp…`~¦6I2‘?!:ÍJp挠±Û-ÐwÚHß­uʰksä1 ú8êã”(I.�¹ã[¨ÊÀ�®4ê€bL{¨«™*ÕïÄ­›! òi!rR"' ºj—–„ -x¯ûpÈ�KuT'Q*ô¿D[%ÁÿedTó_^1±ØÆÔÞgO0&õþƒùW.^=ÏæÂYÕ€2ÐÅìX=æŒï˜�� @Ξ$àïD|¿íw‹Ànn€éÐýÝ¥;÷ïaÕß[ï½·4àÞݬû¡Ìü±ÿk¡ú˜»ü— þ*Å׿äÿçãW`{@Æ>D°!Ž…ÿ¼ðdhÁÇ­ð�(;|3  …ÿe%ZxÔÑŽ�EYË(€Rþл1ú[üŸ�¤&Ïž=ç’À`¿Ã/^º þ_ÕþÏôƒà;ÿܼy=tãÆüUÀèÿ3ŸÿñÕÿpó?¿r/@Ó=²r°à¿³ÔôÀ' - ü#Hüò“Mv–UÅGhÁªø^ñ€\|„Êgö¶#5ø÷ÃipÌ�ÈÃ’†ïÛ�5Z€¥@à]kçˆp˜¶¾Ð`ß[Ž*pV!Å2¬Ì"´<Â- î³"˵B»Ó³÷ò~ås T| ¦ƒnüÆÉ=‚5rÒ¸Y -KûRÁ¤´·@YÇ»Ìuô[åêL�.*¾, —øic%R+cÑŒÊíq_™^zD`Ý1lJöå:êÇxb¯…Õ>a/ʃWRÛ®YÓ#ïÀ‹ÿ2jVÆ -ì' 6r^¬ÿ�ðï ºMàv3êO§[ì*�›fì°z0\H©§ØŸÕhÚl5õÖ •à MéÆ6¨3Ù(À\Iw5x¦u £�áïGîuÈ’]ÿ�OÆâV(p^ëõN—äE~´ɼ-¬©ê. ¸ÒWª�¤èGâ¯zƒ -g¿ã\”@ßKœµŠ¹n[�#Þ¾{Av6%ß3”§Ù¬�!­›¾(¢®Ö üa¡;~ÁІª6í�ÖU�ëÁI9R! j.¬¹´¦ m“$ƒªØdíÓû‹²b»!´ŠÒ\¦Uw ÐõyæIµòù�¸¡•Œ1þ}j@c”†É•Œ¼ q†©¶¦Éx«ßԳʦü“ÙçU±öUÈ uÓïo±‡àRØ 9FÅAšP0´ZL�Þɪv.Ž�°(>Z?ä³'iìÇìwCÄ‹íöX½ýû µO�9Èkí_¸põŠ“ÈÊ@;PÆ�ÿ’2>;±>[k—Ïùà|ð~ùÛžá÷– À®ÝÒ¡»kKwî8Ѿõhrë¸{g—.€Åäÿnò_Ê€_¿ôq ]ÆÄð©³ø±Š@YM¨�ø“‡ÿ鳇–W »8à÷öèð/߯Àþ‚þËô(o<ˆH�­}Ô‘÷® Ê¶­dìfY³Éþý8é8çbúr®¸@üü×\èæ'ê¯òyüüwà ¨�™(S»�çM´˜ÿþÔJʈÇ�øç¹ì[ ü#HD�@ȆO@!Îňe%@Ä›X¤ÈÝÒY²¸Ô}kÛ -sN{C8Ùy+‹œ­éF4\¡–çà¤âj41)ͳ@­Ö”cº«ê¤¢è+.R��ü)Êd6b0L"�u˜*>9§'×f©¤Ç œ¦$4gR0j"Üí"‡b¶ˆÊÉ9 \�sÜØï¯Û£+‡^‡kd`Dµ^‹c©kªÝN·Ÿ>»CÊ8@ŸeÊèP&Iþt¸ZyúºoÌ™Náz™H|"#¤¡Ú"öYWò\ð¿Û�þ"XÁ+@¹œyÿ¯ÀZÊ�'¬@°£Þ²Ý®_è#ôL΃T“FÇ1ð?£q6Õô‹)âLËZg1ˆã2ºSö�¬ZrJVÎDOÅoÐ5Òîsl¬¡X%6=u„ÚתاR È ªúbJÀÕû:ʦ€ëúÇþ/Ë?º|¦ tÀQ4€Å+þ4N›Ð»«ï¦'àL&¦Gæ<È�@­ÙpõR™ÓqMÿ³þéü¿ù+ýÿ:\ÕÉK{’IªüE €ƒ³2�‹ðZóGSAtžò ¿�;?‡È÷��ž«"~® l9¨ïà��¡yþxºy¼ .*ê�¿úø1yxâ!äH´á`ôÀŽK”F9ÀÖ��Éî"Ýš/Z[;ñVÐÁL,Tvɲo½�:ý¸""XÃÀ,â˜Ôû‘rhXÃY D^Ád�#2ÝÊ ŸÒs‰kôƒpmbB…¡ZBÒ#aMP™¯Ì�Æì$õôéëäÇ>R"‚¬qÈ“ -ñ‘ `f*ót5Í�xÓ÷õoƪaßÞ£d`€¨I‡O(­1+.ŒW#°_®*˺€Úœ¬«j�÷•Û]㇤¼£9øŸ€°³Œÿ$`ÑⓌµi¼D)¸ÿ©5ƒƒç˜Ÿ§`í(@ß7˜�°*���ßgŒ�IX,~ Vð´ƒê`ñÃ`Ïæ^�ËÍpTÕÒÐ85á¢5Ë- ²J¥HXY–Ÿ¯Ã³QX¤ŒånÈ¿Mo„V¦“ ×â³ ÙB j�«¾ŒÐGÐàE0çF.yÙf㲘�êF„Ö:Xë—Ö ÏIõ“[¨0j ¦8Œ‹ÇT«�³KT°4 !~$¿% Lkq{4„©¡ìà (ÓTTIa!9ñ’3ø :;$?Ï, -åJ"iÖkÔfx¤]¡±¨ÝË—ÃlÔ Ad|gY{¦s«ùœzl(ðéÐÎJc0¡¢¢pSˆ »qÈ„øo¦&u—=sx¡˜#²ñ’8Úƒ,Ï—h ô¨ï¯¥ùî"ˆ^÷ýþ(ÚOi>bùŸñë}{ìõ+.ä‚3g˜˜þgšÒýOxÌÍ…Éÿò'æ?æ}Vù/ßÅ&—怷~"þóÛù-�. ¬-Ým=½Å,€âh/ƒ»-/Žî¬ßy�ðëûÚûKÖ?¿� -ú†ƒ -èÇ À=Áÿ¬X޸ˣ.{»Ìù]8šÀ2-Þ  àè¼™5÷€ÿ£+*ÅäV þ¥3óÿ¸À}ª/ë:‚ÿWPòà¼ðÚÍ÷�Pèðße€¯\½á€[e…‚[,Óã[~¡[lC(€ìé’(ëÌOÀ«XðãÉG±?æé[úD˜;”Ç>áJ­®% ;Šk¡”pi7Z-"âo]ðF××V¶ ]òŽ‘�üÇè"YäÐZÆ´ø�Á êu]ÇAEEPLDF†I{ÕtH¢( Äï`¢v�•_„>ÿcì�Ù˜› -¸²œ É52‹»`qY��Ûh=¹È£öPXmî3ZŒL(Y••FZìyPÈÛ}Ç‹–Ø4zçˆÚ;]Í* 5 1B²ßZÏträ�ÉnüªÊx‡vx; í8¬ßbÓNð¡"Ö-kå·U`FeLd× áT�7YfcGÝ—œ…v ÿþÝôDÿ¹4&{;ˆz±ó¹a¶ÿ¨ß ‘ê}ä°2À\ …�Q5f~ƒy‰-©3™ -îSÍõT”ËuCI©:À»¯Š‚›õ~V££€˜ØùêjJæÊË—l@élN4î«ëÌ« ö=»a©‘¶‘ž«ù°úY=S�‘î£ÚÈ<ÇÜ4Áév&Öz’³Õ§ˆˆÅ–’“4®fÀ¶Ôµõ¨Î–&εXMHH­Ú²uŒÝõôh½�ýªëÅ�ò7}µ0Œtž¾ÇÿKéÓÏœ˜ÝÀ}«@�¿ÝY ÿüã% ìç·DÏ“`>@ð·«ýO—zVϼ[àõÔ»é8Wfœ=Ñ.€XÿW¯ÞÔø÷ý?‹5€þûï¿ÿþÕ_ù¢ û -þßt‘—>åïV’äÀg(`¦ßÿü]ÁþxŽ=4ø±ÐDÊ�KG@ùøå,B~[€xX‘3 �O(Ïp5ƆPNä�ôçUM.†ÈŸ¸‘N%¦jc°‘#dˆ†—²,Xðÿ„øàË‹;v´¶O¦…@qÐ#I¹‚oÒ—™H­ððUcøG¾¶Œ++¯hÐH‘¦½ Öó%ÒW9ÝE°æ¼]žfÉPÜNºII$�÷›�¼Y'1‰´�e›¬©äFY%0«ÜK—ˆâ±6À„ÉNY&¡s¸à¿€Cz,¥5­ºIìWrS�†ðÒé ê2¡ôÖD+¤ÑÚDM!<‘§È(˜¶2!Â/ã¿lH 8³˜÷¿;üÛGí}?œ>"šj¦õ¬þ5E«T;$/ñ¢šz”ŸºN­P€”œèÞ û]•w - P*5åÔƒ”ÄÁ¸>V11Xÿ, ÷¨,뱪‡=Ù!¿É�Ü8}ÍR7‚ec�Õhì€û¨^Üë¦"4×�ÁŠ Q€C…8< ¡ :Q-/ñŠ¢D¡÷2èññ…t+Ãç@¸ü�tn{@Hq„ŠDâŽ!·e@}�©} -]Àa+~T}TeÔûœ%³¦ŠHÅ&'XÉÕ\$˜+².š†kN#“uh‰S™\c¿“ ”Ím,’�0“TÖƒ!ƒ±Z‰ÈI–›4ºˆ&înÑ[œRvDq—óQó)Ë'Ú²èðq>áú1?[qG¤tX° N�cƒ±0��SµÅ#êfŸË²Öv¢8²ÌËì¶#ÿ_Á’ON-�M x©yo•`ç[:ÄH²éÑ™�võŒìü:Âë�&SSŠa:èõ8E¥ŠÌ‰.6›ö,íl®¤]�lCâz¼ëâd°Î‰sä@_ -Çy¾nš…¡€uЇˆ5ÌȾ �}„ÊBa -vÄVHΛHÜÂ,:sêÁqøV«Æ ð„z·†)n;ç”ðMúüɯz‹N~_—ed€,Ó"Vr•WLs» uZPý“Ä`SŒig$"Óí÷'“L$) έ%È÷’!ÝÕtÔÐhiü\ñU“¥ÐH—  ¡³�Öåb VU]_xtDS©¨Ü¡&õ'èaØ¥—* -“sŒº@ÑlKÛ܃ñ9¦û e'ð^.{<ïõoÿæ÷̃ÍQz?y�𑉀 ÆÙ¸ÿ+W¯8!À·œú³lb†Naæ/¹ü_þ´8¾)³*ø?×ò¸ò-�þÀ]lz ¾uôoO@9È”=�7øÛ*ë(’Ýíù�”«»‘³Ûëíß²àWLÔ-àÃ��oÿs’m ø‹”¿ó3í0€v @Æè]Õ�¥ß\¬¾èÌ£eífmíVÈ«€ß úƒÿ~�ÄAU¢\¿~ýê5ˆ¿ùXÀ˜ÿ�ÿû¯ÄÿÖp�«·|ÝÓžDb¦¨ÐvøšÂì8  xØ™{ޝþc|¶ý‘ÓÃé‘A -–|½‚¬_x”.J,¤h` -À;Ñ©­h@Xj‚ד±¯—á©­xıJ¿tD”±™˜bÊMÀpM€ó�2ÂíÐ`nmÍÉ|óA:iø ›h‚¤Á‰È7·÷Òï«­ c-Ôë?H Çcþ"’±ÎÛ0“ƒºÏ!2°dd:žjVIãÛ‹€Bmi²e¢ŠÕÖŒ67ÓŒó£RR­�›òqU6òª�„Fe�­ ²ÙŽÀCk1<ñk‡Œ¶\]V‹ÍFô÷Ì{уN¤,¢ðC°ƒ4¸ Q ö¦ áZóªpMtåjþÚÈuŽ1÷äzPùnC È ;ðŸòÝ ÿsëOø'‰öÔ%MÖéG5æþü| �‰hñd‚À´ÍËw¾ç. -@¤jÎjò—Ïö·@è2�¯ñøùúÉ5dþòX�‚�ÁQú�³‰ò³_º�o§ ôéãA—NUf(-Ì -?‘"b–¢9›�oÀœ ßhùBé×àê8Üã¦�m­i®ÑÑêSÓ�hüƒìU3ê‚ßöjŒ€òä‘pp­™‰ ü�óŽ919Ñ%hÂ=p†pó,™Ç’�åÀB"�‡EEæ †a/sY!+Ô�¸ïŸbTãð�¿-�YÅ·Jqʍ1™A ¡ÜA Xëœè9’¢‰ph­«L7rR0» Õ`¨ ’YãÞUPø„ñe ®Ý•kËÊ@p¡Š,•Jâ´¿¨VíÈÿ—ñ_@óvÉ¥~,‘—½%çìÈi<NËÏ´žÕƒ™&uå°Ê¦ž‘l¬ÊdýûòûÂ¸Í }Ê2àÈ!ñdΆö�/ZB› áÒÉéZê»°N¸,I•†“ZÆ‹/JT§“Eyˆ†‹jÍ�R+ÃæAùÖ£î Q«uÓÛnRTÄjä8¡áNT¡iýnʺˆ_Aæ� BÑÚUUÚ÷ ’|>\ç-úƒµ^½N‰:Ï”Šé mo8¬ü êÃÆÂèéÓpÝÇ2`¯rd?Qu·£{D7i@aÁÙ»$E ~<³qÞsÉ’CC!ÃÑ=R`f�r$€8��K°â"?dJ¦=q§4úùÎYò‡ÊŽ8¿mÿÇð%¾àˬäR€:ÿù¥ Œ¸zÆYÀÿ›�<𦓲(P<XØ«+o¯¼³ºú§ í»ï¦ǵ€ ñ¿øÿÅ‘I~7E÷Þ\f¼ÿøæûÅ�Jô}?¡]×oÌÑŸÝùcGèOõGˆFÜÙž  -�3!où±@Ûø¥ÊuâŠ@‰ 0ä/—”ûE@fø¼òçB!PsÒÓÚëiœäÁB šG¼SG×窉Ԉ‘ƒz]#ÅE”ríûÊ:ÀY(ô–ˆðÎ æálÜ=D÷°-Ä�ÙhôÑÔEà��Œˆš8 ‘£¯¥édVk¥ÊÜ–¨1jƨ"O¸6o9H>áEb2Ëi»l#ÑÍ’˜£ oLG< ÈDìr3©+d˜—¸Ž¨SQPâ™ -¥¨‡¸ŒVlê�HcªG™L‘kº�T¤Í9ÕéÛ«Úõ×ÖNžh² )Ã!ËŠíþ Sõ„òƤ-k±ÕÂ,q®Iq+FèÖM`¡Ä— -¼XÒnvXÿ¯…Ë©½ðcháGr ¬L�Ç“ô)[9ÇU2U¨ÿÈ®e‘­®› €GÙ‰O–4œù P¦„DQß%@nô‰Óà€/Ø5(†qX°Ó¥.væö c¢: P\Œ·¼¿X”�™òõ�Q‘€ùR Ôl^kðƒóÂ}ðÔÀªÕm~»Zûº(ˆ¹Êлâb¦‰ GXÂf@-ÀPùm„Ó=ûÌ� ßÄ—D ºìO©¸r‘ªg0ÿ7|Ò¹`¨mØjÈ“}Gåã^ïN�˜9±^-'2�“¼uþ´dV„]}<¶"š˜WTZ”¿OÅtÒïT®PC‰¢ÎƒA1ýD‹­©("gO´<šÁpå<ÎÙ´Èžý”½Å¿§Ú›ÒÿŸð…^:t¿•¦ûJêS?;sÆþÀ^óßõ€/\¼ª©*€p8¶º±/eù îs<àßÜÏ¿ÜùºsäÏç -G�C,¾{¼Ø¥€ïß[_w>Oäì£ýj�0ýk1`{%À92ï$ïá»üñ+}�¡h |('$ÇdØa�ü°Àn9!O€¨/ÐÏ¿q´ðø—õ÷w¸âp €øß:0¸ß<¢ @ ÀßÕÕ·­èÝwƒýqãœS‰ke•ŸàÿÍ÷¡¿{W/¡ã]Š“ !·€kׯßàÔõ«¿b÷†?ÛHšIÁþB˳¢FŠþ/y$±ó‡RÛþ -¼J�|üæÒ¢$aXú^ÄyƒQî“ 95Ï ë4›£ÝB]¾Y†ºÅÆjê´L’Ñ“m¡Ò2¬ËÃXœÞûè*.Fd#µV¹n+×ßCåTYæWÝÀ¡&r—iz(¿?îq=‰PºÿÃ&ß²kl�“p"Þ7¯»'ì\OnëZÀ¼‰0N¦å•&mJ&ÜÉ›‹Ã€¤6�kP¢&¾^×AÆ"ǽŒ¥$ÊãØª†ª¬š#­QÐXÐ*Ê>�õuÖ -€aîåò�«$°ät¬¸œ%©QˆÑ$P”5í´»Å¿�ëžjOç��çÚÃùÝJØý'‡‘�·ßè?ÞåÅ1Duà|^xLoÒÞnè#â¿·[B„—)˜_�ÿË�´ChÿÊ~¶BîKtïÞ‡€ùýûwÖ^-€‡/) w< œŽàº>zvÕ~ËÕeô_à<(÷¼mÞ°­<üø‹àþ² �ØÏF7À¾ý¶ÿóÏ—OÐâ˜Ûÿz¾z|õl�ß1€�¼ù¦í›�Chלּ�ðN€VÀ¹³ÎÿmNð4Ï èýï·ëðwõÊ¥¼$èâÅK¨€0¿JÈrƒÛüˆ�º¦Jùéÿ_Œ(.�7òä^Ô†­ÕwÞy' þCÈ`‰Z/Àöº~1­¡éòº<ÀÆÂÉ%„´cí|òÑÊÓ -º[°�:¾¬Äq -x¤…ÃÞ <ì×QB Åü£¼Ô�ÿkk½µÃ ŒR*Æ”²H‹‘Ã^+ËH¨ÊÆzü‰×¡ä•¯ìÑÚæT±¹ ,cß(cGÇk'K.Ø®=UG£”T¸=ð†ijÊ„ðzHP´r�œp1ûhÞ¸6�ãTðÙû1h ®ÉªDl" ¾"Í¢qÖ[ºBxÊÄ4€ô 8Ðy[¾LºS‡Ü:™¤Ï®µ£‰Yý³¢R�B9[Ôš§Ét ÿå¬üݶþwâªÀÛ %ø/ÛC:FR¢ðÉžKù¢p™Æ8rŸìQë¾íÆ©MÎÙÙlª�ÝüCq -eJÐã‹ÒCÎÉNµîK'¸E“Søµ.±®»�O4K›{ÀÝŠ(ÍßêV÷¥õÅôë-ñÔ× Ñ Œ $„‰« M|¤•Ó¬áÀ˜h¦‹jd#U‚qÈ9aÍͺöË&?êǼo›‚§b”`m÷!5Aƒ¤~á€ô@æÙ¡J—°zéÿ¡ö¿œÍ�»Û´}äÅ:çÜ�Oˆ,ÝorRßÙ3`Æ…«šûYзd ²`Þœ!hŽþκ^£ _úúÉW€_ŒâCoÙà9BÐíÿ륯xǵ€Qúï�ÇQìØÙà»û}'ØG}±ÒA;DäW(`¾ƒ–ƘL"ã˹ÜAÔ¿ýä“÷rN;ß!‰° .à‰œŽà¾�¿LÂô€Xÿdþ6 B€ép @æ: �î¥ì%ñÿíwÞÿß9ê€âÿ?sŽŠ” -úëÇ÷+ _»ÊF%ã�ÿÀ¿/ ¼p ÀH÷ÖîӬ̨{Ûj€c–gÀOÔ€]<¡Ÿ׿7•¶¿DñŒùúPûØûmU€�“­£ÀÀÍž ɉ¬Ž*ƒ²�€ŸK»çŠáõªu𴦨ôûˆ¸èwN„+.ÜöØ€¤!Ü2$üø�`�÷úö +-&Sß 3©ÆYL™:„»#ñt°f÷¼ø¢hO×ËÓ= b X�̓²žaÃ×S;0ñw]w¦Á&—šãS„pW¹%}ÖlÔÈ7àÇûéb6Ù¯§p Ž ÀzÕÂʹðïé~‡ì!àÿ¶)='Ÿ@Ir Àa<§�²¥A7lp=!c±ûµñg(DãÍ 8 ¢Ö? #â•yõœ:‰üæ…«8¢…¡¼ñoaý¿þÓ$Ê÷GåFy(¿ Í&ÃÌ¢×ÌAGV”(·šÀ*uj,ª`”©,�\ôOô–9š'¡Üò•;âÊPäÄ 'HiEÜG^Ínl~¹/¼eò_~àžØg냓- ó.÷ZpÖ~=V!-Ç,˳êªÎèÉ ![, ‘zRe ¥ª–uÑ î@}’³ŽÓă¿žñZoÍõ<‘_ô_‚—Ly´Î3£ªQ8E±`7{nÍ£‹pD¬è-œA�òÝ>”—«¼NF†Â“L8Ér¤O€fcG=ÅÐE?¡°!´*ŠFeÈ’JGOÏ�É"RïM Q@T—J -*¥À­¡SµÖ–�žŒá…ŠVì·‚SÑ»ÓKOpú£²Y:ni±³MÕEØï/! Ï®ú.GŽA鸠2 Àù³gO9ÌkcôÈ1Jÿ¤¸¢°'‰ò‚þ6þû[`î8°O°eô‡Í;È!yÀ�õŸcÔ@Ã{YˆÍÎ¥mCý~é×�Ø“âxÀÇÔ¡¥;¢rÄ`·C˂ڀ›„çD‹ô{‘øŸ™ÿ ûßñzŽÚðæ�ƒEéŠýßzÞæwôí•·QÞ‰àÝ3gÀþsg/üeàÿ҅˾øÆ5Àÿêµï¿ÿþÍk7o^ÍJÀâÿ¥Ëšÿ¾0P€.¯ÜÜU0ú%è/.æ³ò·s€…`õg«?ûÙŸA¿8{–ïœþ,˜ºåÝIñ Õ5N" øÎ^Q„qÃed]g·gOú´AE`±¤AYLÜé S�É@\åqæ²#µ° ºŠ­“ ,ø/ÚuTô ì:Jfm‚!(4Ø�"ÄÔëƒ - -›ªþhðgG YEÒ¦šU=_Tª-"ûü(WÄå)\cüËl†®ÑFÓY¿;(¯¨…G j|{³­Ž:EØ$»B‰KYÄî-Sd¢&}ìOd“,°IÖFjEÚg`šzƒ«UŸP"yɨ3¡ýïR¥ àD—ÚtÊPU¡°Þ"݉q)·HQ®‹ãA®É¢f æ•\'œU£x¦lµûª‹yÿßÿT¶?’"˜…�ãX£ZM´¼‹éºè Ò&„¤°Sºƒ)×DË`jö×”X˜N‹�÷9] -ƒÞ†pchÁ40_²Ýs�%÷K¿;›®Nowùó}@S@×&h­[ý2WEjºVtM9‡ENióRG±åU¼ cØøQ[¹dë‡× �âéWƒÝòå‹b€⎷!»Cìq±�##™‘ׄ_˜…=ý&('{ޝOB .lq- w -êò#~Óçö’Bž1ÂÃ��aØõ!õdÃ8²GªÆŠ²(H*e6òf9aÿ"U9ÄÚ÷&ud7Ø_ wC»N‡Ï7ûɵßÔJÓý¥Uöƒ}þŽs0€«^@-p àé’‘Ð~zà›¹x7*@?Çõv'{9jñÛ/@»-˜¾“òâßxæ -À½2ö®PàøÓO¸¢±>Çéh€ÿk€O_¦OÚ>€¹ Ýùó>ï(ôiq -ö*²ÀAÎÌÏó×ýNr@qèîßáÈÉÇ·ìÐü³Ð‘•Å‚€Ò;ïˆýo£¨”‰€g/œÒ/]¾ðoÏ_þßH@Qæ®Ì*öÜùsR븎pëà?‹ÿ9I€ÿrtËÊúÁò¹`À«³øìîø™ï�üÅ/~yñ—¿üå²`ýïJˆ®W)#…ý(MÚï+*€²ô@Ž`‰MF=`@`�@BFçà‚¿®‹ŠØå”VÇÀ0N¿ÓiË1òTÑ„€i:à-‡à-ß�g/xDc -@�Fšô†3€k²!œÄ0„GÒE´¸XLÏáþ$ˆ®cò’‰p rÝØÅw�¬l-b'Øsµÿ›Fi­FƒL®°¤oo:‡@ A@ãÅ�Ð ’?·Ó÷eD%�›Õ÷0h&ÀõzÚ¯¾À9]8UK×ÑÒC`×ÁcÈeur -l8<‹Ìw;Øÿk‡ßšÏ8ì¢.BŠ5A‘ RÓgÚLšÂ36½_¸ßÖ1ƒœ-\Sp�.9Geâ ¨0ˆÿóöûþCŽþZ��Á-Á6ÿ¢vÀr =ª¹LcA]#‹£^w(ÔÛv̘ˆ 8Œ\ß?îo>pZ©ÃèZf7“‰" /þ -–ê8ä_ÄÍ,bÎ@üÅÌ· À<–³mƒ+G 3ævÓï®Áè�_ŒWJM-C†9´6øZΖ¯ý2¶Zn†%ÿ ¡i+¿°M¦WGÁÿNÜ>I&`T,Š/ÔŸ7."*Ó}Ë!ü¶‹…Ëà€[¨žG2ö}˜)NøàP0 +ÂlQeÅû.ë6yv�‰’z›<-QEÕh]$ú‘Üæ.$ðB~ˆÓÒ÷Ùv—ýVUãÛ È¤C,¥”â 2„ºäÛ‘]Ì8Ù±—&ë‹í?9Äz¿ Y þvŸ¿xõÂÕ‹|3úÏWË�9{ÊaÿÁ"¿oTR8päõ�ž�¿ùŽÿ!€ÖЖï¡Å¶`ú2iÿ—.€ÞÂp¯t½C¿q”ê?¢·qz›‚÷¯P öËÔž*‘}Lš(-þ/G¼Ày‡ìêà/0¿LBÿãÇ_ú&@éI–þiÑŸ_^øû¶  ý¬<ü/zÞ^9 -ð¯¼ýöJëÐpî/ôË—µÿ/]¾z̀׮ܸzýúµ÷³Ð-Ìü›—ôþýÏŸ;{îÂETAÀý…ý²iñߨçп p‘=›€ÿÒ:Û€ŸýLàg/^üÅ/ÏþÒ¤yö,¿_^ü7ÿæúõëÿæß\T7héâň¯�'ÛŽ€ö;›ÍD”… -€x°ÃÛ¹™�§½É¸�‰ áv6cPrŠHØÝ^³¥`ph:2…ÆÊm¥ÞÉa+¶–ºêͨ×ív#·íGÔÿ¨‹I xSít­©]0VÅá~ £^Ö -Àó¯¨s@>‡vwõ˜[¹¶O7p¨cÞ^ÊN«™I�´S&››“ÛÊlB#—ÝÑi>MY‘(ÇõGp� G·'ÓjÖ«¾âRÉü¿˜Œ*DBTåt° 9G˜ÏXöd)`о‚Cf¿p=�d¾yjäz´¹¹y{ƒÀìW#»[£sׄc5,µ–QSðÿ%ëß\.HYoùIÂ?ú“§ÝÈD¢üqdc -­ÙbS …k Ë ¨Lâ:q(I2áÚwŒú`ei°o©P(àæT½T“ˆ(V"·pÕ°^Çøó±g¿×§”K ­>±Ùðixl`J ¤F P6û4H’‰`ãЯ?q!ba¹îÉŠê‘]r�˳r£¡­»‡Èõnõi�ªwò °ív‹%^°™""VòD4I™{smÎ*D’#³Ëºo -„ŠvôEOquTÁÝ?†ÌÖ¬z92ÂÒ8ÔG(«�ûÜÐsðŸÎƒT‚i’Ã~*Ã&šö‰¾æbS°Ý³*x`i° aó²øP´�-D=È"E›ë×ÞU˜ÙWŠœÝgÿAæ[äÁü«¯\ÄDLw@–R58¥ÀG x'–ÞñUp¿5ñZcn -¢h/{ó�rÀVüwàîT`}™îè( -@ï8Ä}¸ðd‰5€O¸²Pâù/ÿ{y€ûß‚ø/BŸúà{¾êçãî—€ÄÌF°W� <[‚§AŒýeÊ4@gfr€æ=þ„6·2 ð¿¢`Þ PHü{õ�•Õ£©k0”¸s—/_¾ô/1ë±ÿ¡«×o\ãžß|ôøö¿¾ÿ ÍXSD7ÚƒåWÜÿöÛ%’WÀ @€•þL8w„Ëz6êÈ­ `‚$[�no¢œÁdÔ‹.i¨p‚r4c²“ �m¸ÎÈÿ»KÖ:[æYéÝP�ÿ�ùË_¢ýqdfàíPÛœäÏ‚“(kµ}‚–ÜNÑ�†•nÿAƒ’À•Úñ�Þäm€9n-i~%§hG4·t‚/ÐJC{;kíà‚lmmâ`ª‚Ò#õ^^ÖØwu)ð •C5SOØ+Žbˆ!^š&g9 axpUíÝaËo†ûÛ)†â67K:$ê)yS{+©Ö¢Í åSH«EY^‰§eÒVãø}ÑV5‚ðlö1ù˜(YY„×'Q”$ƒ IäŒAÉ£J’A-’âºë_“˜?K†ú4)kÄÇ…£$ÔC[§­Öˆ¢´žOQÌ87Yí6ïý§8V÷ùƒÔn§�e-€ W?nïæÿŸ:sæüÅ«/:°Ü &P†˜ów½ ÇnT`Ëÿ=ãGŠþª®Èçâ»Û€ƒ:`{  opXY]Q dß}÷Ý3g0éÏŸ»ð/.ý Ìÿ÷¯Þ¼~íÆ�«¾ïŸßõó�?øGÀ¿À¹vƒýÉQ�×¥ÕïB@ЯÜdïz�¼@t�B…‹vÏu ŸùûÙÙ_œÅø¿xÜÿʳTÎ�£ÿ_ý›ÒªZr À^*€ctDPä;Ûj^€ú�®D�Ú­s· ŒNí<À¬†¸ vúÓ-]9m9W�œÝØD»7qgh(èÅu øvó?³Êè‘9È›ˆ'6Š“Vè’§ -W1èï鬙Lg¨#}øhù´ŸÈõ+}V¸ödp› >Ë\¾)ù@06ˆ*X«3¶qŠ-=ÚtÁcËK€˜ï¾h;ͪg¨dqŒHî¸d­ÎÐÕæP�›Pœz”ßÌ‹¾bÇàÖ¸†0»3d^7£Ï�m S*NJÉ¥€õfhŠà2ãš+Ýþp2á^Ø�3´ €]…¬Ã³æ\ËQÕLd:+ï;#°ßY‡Í»cNúNø§dmAÙó|Âü"AÓ(\¾A\'§¶3Ç~d&Sø-mX·¿'ÍÒa Ôs‡ŒçÅò^äÊ�ˆÓ~ÑÄi€jF)Yõ‚í V|Lâ4z–.õ Y²]²aG¬˜ÙGIÀøµF°ìóA8Ńý®Žnûvô�Ûnm0Î5;µy’™¢_˜º[�㫦ºw¿ Ch€Ä¥ß!n ‚XþD“G#ÍŸì$�;‹•“\Ã'¡Õ�ý:Þü®Êa­ø÷ À!?ïM¦â"@ˆÀaËdøðš˜¹AfÄsió�°±b½eö¨%{¨P¾–ŠÐožú£a&öDP•ãžâ9ÛZÂé}ûdÀ©³çϸ~Lþ—?´έžºx忣›7ø¹ÍŠ1�ÁÚÅcv§Gb}àÞÍbg¡ð÷zàî+@Æôzw@Ö îNàAQ‚Õ÷?.<·Ó÷Vúeì/ŸPñhÞs°­”�s‹ÿÑG€¼“€­�óíÏ6ýþ±óÿæ–¿ôåüò—�?XtèÈ€ÅÀ•£oþ‹E$ß€ÎæØ>ŒúkWoú -`(ªÚõ÷©�/¿zŒý¯ù?'ðÿœC$ªìÖãǯVg�‡ ¨¯¾ ôßÃð34É_ü«_\üå/ÕÀÿs¼ðË‚ÿÿîúuÌþ…ýñ_·ƒZeoi F Plä9ßj½€ ’e k#TËXðqÕï=nÀÒ<¼\ÝÀê>€ÂEîÛðÅD�âR�Ga™�i€¾ 0CºhÊ€â$U¢(G‰‰è„Ò©/ׯ§³i6˜ö[Í i0ò]~.AYXŠÔ‘MMgŸ�@Ãp]²�\ôJ]ƒß®_Š- 0#ŸÈE4Õ›c5pIÄÁ*M^‹$«¦–Œ9vxÇ9åd×±h±NØ…eTJÄ%˜…U ®Ñ®TäfÝ!„˜c©;ú«k/ÀšÃÖ:Xÿé@Èl` Òá 9 ÀU¸‘bˆHkžS-v’Äo!`ʵ6Ù‘kض­ÂÎU©ÿK½ÿ¢ôø/½ÿ|!wB µ Wž/Ÿrõ5T«ŒDГ¯ûȾêÉ¥‰ª“Ø€Jö X¦„$I]‰8…>ˆœ;�vBI”Æ«‘›Ž€ÒœJãÔâ-ðÅ^›”íß­pYÌó´W�ÐîwÊ --Ã+ĘØ,$*�›°¹õrO)õ4Û€¶¹tÇ)jqÛ+\”Jºä–pXÂ]+XÞ¹!Œ¨µ€_ ÖQjL±ÔŽ×5þ%—…�yWDDˆÃ ð4iç2{CJ`=w‚Ñ0M^’y¡*•¤Õ“ 6Ž{N�̉äÁ3�}Š‚óèbQEò!›äIwLY ¹³ÜRɪg)`Ø¢õÆÃfãú' dî¾”ÕàÖn;þ9(€S§ŽŸ½xóË'_ùùêË/Ÿ<…¾zúäùógÏùËú5{P‹ã{�jÀBØ1pN-ê/Ѷ ÷ó»­à%<ްd¢¥ÿmØôÛ]ð¿�˜›4ùQ6æø_:ʵœšãÿ¶@ø/[•€eô�u_È]{Z¿&ˆòÿ{Šÿ­à ìÿôÿnÞ9¶rìx–†N¥àÜùËþí%ûÿçèïïâ•«Yélj™ýÛ¿tœ»àË$W¼uëñ­—© ùú³0>æ³Ú·¶€WǬÆà“ÅpnÉðWñü…ÒPˆgl×§,°ëÛuâØòUSPTD -_ÍÌEu'€#‚Û„U+®¹jÛ´©º£&2Kyè£>q‰5»»I»FßWØððwœúg @Y¨×�ó#2°e‰ ]-¦ u«™ýÇæ‹-€/>Rg³Ïó7jš¾»2îÿôIDATدQªÖÀ¾A3E?7D‚ üåÁ|-�Ð3™6؇r�¹„Ÿ£‘]ê8Š‚ý�Òv a€Ý(ô�p$¯:Ÿ(ÜŠR€ÐÓu@ 8F`VU(, ŠªbnÍš/ªi£MÛsÚ�²^Á‹Ðq%€LŒÌJ€Ñ’²` ̹ÒZœšÔÓAEC÷1èÙäOFªQ³î›™Ë”x²Û„Ê@S ë½èØ�0'|ZFH¼xþMµl�^J¨P�ý@ª“)i Çé|¬8½ÉàŠ˜á¨0{Q(J -³Mµ‡¬ëæ^/Ë.À* …X¸æ4/!šRȳ E§ø”éw!,å\[dD�Yæì®v–s…J½m–Å–%V9JáÆø‚Àœ€W�gp?ì¢�Xª‰XõÅG Ôír²Íú�“ö\´ÌË�{Î䣂Mд4–[N!•‡<.É¡À«zàF,%)9„pÙÌqÒJôxØ2À�–«9õ~"÷F±?ïãN4m1†Ø£jÌ& vÓb`‘#ãPK‹&‘}c£)90éyqÍ+ªÖǃ2×Y¦E¶óþý¦ÈÙ}¦¢ÿÿù³g.œ9ï+~œN~öÌ.^xôäé�ÿÙÓ'OŸ={ñõóOŸ?}ñâé³çÏQö¤Ç_CK€]4€õwP똿 Äo ŠGÀúVø¤…ê—(hÞ^&à÷1Ç7ðÍÿ¹Ño,­�M©U²À}=åã•ü‰öÛ´íø=Ð_f|åK�ìúÏUw­7Ÿpà Cè˜{@þ•?ýÓ·wŽÁAôcòs¸�°Ð -qù7ôÛ¿Püü(öGðBh [·×p9à7Þ,¯ -;æ«€V�åU@…ÔÄõ N¼víê•+— -þ_Á¼¿Ž}ÿèæÍ€¨ç.\½tI!€2û/äR.¼‡`—wðÙÃ0pö—ç…þ]ÇÌÉ.W�)Ò*Ò|‰æ‚½]ÀuF|�1Xµö4Ð:ê——í¡¸f\œ›Ú�Î ú# rR÷0mú5Ê(œÎlݱ�=ÆêI_~÷;ÑT] ð�ìÎü$�QÌè íðGj€Ý[àºc”)­<BFHi,dm ’ÅQ¬Ô�1¸,*CÚ÷ú#�`"1Á5æxœ“ž¹ÐŰ®íê0´h5mªž!í®VH‰¶dÙÌSn¾s SkKG‚`mF1 *Êís¸V¨*ç -Á¸Õák@Y¯•²!¡ù7@JÀš:;…t"ÓÍ­,«-X_Õ¨Kf)íþH¦§³)•¤„KªbUGµEÃŒú‚]ëÍ2Œ>jªŽJ�ÿ…ù¯hÞþý† ´1v¥Äìå×Âþü`û³DånIãOo†˜ >F€Æ˜Ö^YÒ1Óh}Ë<7¡)qI.ºðÓƒG~º¤¬¬üéêÊÂà ß ¤ÿËâ¸võò•Ò½ÀuLûGÜöøç:e@&þݼõÁ·>ˆñóƒü -ò/<;Ç@œÿlö\àŸ—1Îp% �€2 `É  -í¥äÌ·ˆŸÓòäòÓ*áXŸNg#½ÍàISÎ>ÖtlïQÏñé bó¿ž ë¡&·3õDÌÒnV s\T–¹Í$@Á_±Ë³X1U„a\ú�‘‡±0uáBQAdÈÓÂk%§Žg‹h)¼ns­D7ãðFÚý>™éÃËÖ‚ëÙ¤‹IŒàúE.R[ ,§bS¡þÌ€r¦¡–�nÀÉIF!š+�ì›Ob�SúòvݘⰦý"$ƒ{Qô FÎkÎÍ ñ|ر>¯‹A€ª4É�¡FÙûÄ�:ýú?’…ò"EîTíM®ÉÖ¬î£hâÃŒS%¨´­pMÉKÝAM¨'Á%=áMTÒþ[è—Ê•„þo³[~yû -í8]"¢ZuûZkiŠj’%5ÓŸRs©ìà¨�êJÀÒ¨X–0NÅb†Jæ °Ë©ûñŒû§;Y*GTë®éà¶¶�ØCmÕÀãh¼±F5�…U·DÀ-m˜Â”ퟘ<å�š¬†(pNÝ&Z®«�ªxõQí¶¨\ -˜SrAœÖ6|$,J5 -ÀdT�”Ýœâ²8,X» â›4Ô=ÍB׈J‚X½æóâ%9ìY¼]•˜#•Ó} ?’Oùë­½e!‘¿’µ´È’A"2פØ[·ñ»¤ŠuC $³Ùã! $(e@Ý Õ+E“.Hg[ -‡- üS¡¥¤ÔnL.C,¬è¼`àŸ€ŠœÝgBTû:`É?}ÿ~N�Bàsõ­¯ž>{òüÙÓ¯¾zŠ -€ñ¯€Í‹ß¼†ô{€ïŸã†âþÿž0öî ѿðp  ÿŸ¾Ü �ÍîŽnŒ�¿Œýåxçž�æuÀ—ðYeh»  hèwóHö߃üþ¶ñúRð÷LΖ`sZ  À—0œ/xôø1ÐÉðnñ\8ïÊ~—¯ÿv8°à(À›7Û)€ÑæšÀ¥+¨Åpká(«ñ#îçâùB p À+ïØc€Ÿ­þ¬ŒøÅE´€WÆüÕ¿{y À¿ŽЛÖ!.½¬ÌÚwd, À#ñŠ€‰´u0 �ë‚¿†eºiF˜Óf,œ®ˆ^L4dÙÉ Å$ó—Äù„ë“N‹DQ@ãÞI¯Î‘@;Ù2×pÝòÙâdc -vÿsóJiC„ÙÜߦÜÛ[¶i àÕó”†cûI®Œ7• ƒ ÅY~Ô¥£ûåI2åe)Â3P!ÿþ´.aež}Š‘ ÙÚú¨…ʆ+>¡9Øù-’[Á]ÎÉ ±Ž7|q¤ÁŠ*f…Øà‚ÓZ¨>ñ9$IZƒ!­¯;¬†v#xÅ:�‚ÿv]=ç‡ ˆ•#X3ÆF« º½u M�Òæ;>;>0ÐiõƒJ^,ôÄâe¹„Sôº0ŽI­Ÿ½ÑŸÅiža£ãž7ÛÛZÉ�m3aŠrClþÖ‚çiy󇿱7CZOH�C}þæñ¤i º'T©ˆ�Ó*7œûKOº^‘¯,÷•ì`ÝoRX;Û_£?}ÿÂ?öÿ¤7¢}õÂ#>}Ï�ý¯ãú�÷ÿ›xûw¥Çw!Œ~ ÿ€¿æÐà€ -À¶ À`Ù~ߦ¼%èeâü§„õÊŸ ýzô·»Züoßú›ù¯:<œC»�>o€“ÿã(zÁÜÐzth�ÐoûÙßý·ÿöàÎ{ëwîüúÃ{Áÿ�½Û€Ì8—\ºz©íÐþ�ÀÍG×·gž‹�YÀ;@ã_Ûß±þZ$_‚þâ(,doþ.U÷ --y–fü«ï5 @‘\íH€I‹¥…æó± ÅjEï·ŸR£m4[ô%ä¿nÐ -n`XÄS¤uˆ”‡®kweÿ¤,(ƒ:'ÒNÛf¨÷Zg’WÁ�?]¡öuM$¡¢N,]�# œÁ)!HS;®0¿ˆ îŒÿ9Û¡Â5Ljòw�;Ìm!å,I¥$ºwìøGÔ2c‘C;, ÎF#,ÚCÂÅuQJÞCz‰¾² ó�pâ†ùdÓ*®Pœ–’³’+ÇôF¾ìŽè¦SJ´” WKq›’šš™dZFÜp•mô³%®3žK2öWá¿´�ò•Jëœ+¹«øù[�ç¯|wüÜîèð]5Žü—20AsFþ†dÅ^ËO`¶>ØSÙŠDf¶~-… kÄܦVP5ŽÓÙϾwZ„ ¸ñMir‚/ eß0¦]½ â,-:oæÌ €N ªáÔ:0BSQaåtü嶸6—`$!ÈÜ9ó�(ØË<Š9“‰-U$lü:x$”)sëFlZ\s%#ø0�lå¾U˜ôOŸ.9#@î œJåãS&y –Ã}j¤•8e’<Ñ¢ÚXù«Ë�ç¨%KÛe|²cQH¹XW ¡žärrÆ#JXÝÆ!‹æ kSµÆS@ðºÈǾRäì~“]« >°ï8ÿ;ÅG `eå§Ç/ÞøêÙ³ŽD ûý–îÿo” É¯å?Ÿp耾€—?-èï â¸³ûqºU^íp³«û½,ÿÿŠà¥òç{~€v�ÁB;=p’½—hÛª—¶�Ø›/”þøÏï÷Aÿ’ЧŸýíßÞ¿{ äÓ*sÀŽ1§â8¬cùë¸zùò•Ìñ�@xy @¨x.-�xì¿*€£^ñÌq´wD¢—V�ê(”…J¸âøçXüÿêìE`‰.ˆÿÎ4¼…pñ_·„0Wz½ÉG‘å¡—T€ÅA €úŠÅQ¼¬ BòÔú†ó"^´ ÙC!AñB$òø¤s®JŠ „ÐN´‹í«ÜSô)‹p!•aw�”ÿ"�,NF0(üé³GŠèŠ(üÂ.r—œÁ(Ÿ‰\ç@Ù™&×aR~é9P(™?¾13ÍŒ6Ìhƒ›‚sŠ¥È9䮊 —粫D•D`†©Ë²‚áÛ­Gƒq†}�|o[^—x-¥s°A öŸðUÒ�Ãk -KD¦%�›qlÜ™›±à­"6-×ýµ,Ê"×%˜$–Jr­!FÀàSðßãïÿéû{ÁkË ¾Lsäùò\  ´ü'˜ו¶59Ò :˜KEQîRÞ¤Í 2Ï„tX¶¦Y¹k!äÈ[A&n�"Q -€¨IŽ&{T�ŒMic\À²À{´ÐT_A� -`gÍ‚÷Íô4Qi -ëî0n-u`ð¹ðq�†|úýá:…Ë`�`*:ü™¹) -@Ýï®swšO¿¸ld$@Ýúç%ÿØAÑdP k¹/E½ôÍGèôÆÆ†Yb×ÛºÝÓ†õµÃ‡}ÒüšKJÏÖg6‰‹S.MáðJ*ƒÃåFDf, ‘¯ämÄo 2Eਣ0˜*J>‚¿´;žF‚Få°$ŠòJhï3µÂt_)¯ý5ü�xe ˆâ€#ǯÜ|òüÉ“'/ž>öý»Ï>]V¢ š-yÞÍæÌÙs¥ àêÕkz–gd ÀõÅ�ß­³âÈ€[7}!�èŸê -HôKÔ"¼ -@V&Äúç8à¯JpüÝ3¨�¶ªeÀÏþù/Îþ€_Ú :çk°ÿ�ÿÿzëÖ_¹p¡ëÿͶÐs–Ú‚Š�_Ðö€…\DƳßê aë>@,(’ºÅúÞš7bU¯£ñp^1´Ddˆ:Jˆò„w/‚v‡ÊbÀŠF6EÒEÌ‘B=JJ`r{¤r2žLAÚÌî“ß±ï�×lý¶\Ë·Üx;|©$¨œp+æ—=�œæbRPÓH–-%Z’V¼�ÞæÑ…úнrKL¯ÈK÷I†;}ç -ÖüŒ2aˆtÙ"~s†isóLÊ€v@*-Ü»!(†f§;M‘›òci§j…¿’eös-0_B±‰Ñ)ï§÷¾Ì2ã|a šÃ¿qšé²‘Jô¿MÜ "¢RÎùÍ÷¼eñkÏçSn°3/”²q…¦a T—ÁòCг8)�6ƒÑD$¢¢”â>/%bÁ-Árƒ¤í�LA -pb-‘ÇMÈHÅ¢|PæiÃ…0(,BP/kkQÆøgOà‡;`c¡†©ÑÉä³ãº-–ú+ÔBÿ‚€ðëß Þ"0ó/qsÙMô¸B#ðp›´é·?êÓðå—ÿ‡ËÍÀ÷D`k…HäÓÏþn§€p|åØŸîœ€Âö®+8\ºpù -è¿íÈ,€í1ó>èÒ9�«Wcò2 bû£°£à%*¸®Þ½@v�¨<]$gŽg Àœ¿´®9ú‡â¸þÿïŰMK -€*@1˜CE,Ï)B=ä ¼ü)€Ù™`Xº2P@B3åèöµ#‹ìöß‹†Prô«!7#b”#…4r Šû_qÀ%äEÄŸ²Ù4åBh­92V£çdwUÛ~³”¡öº°�¼B8æšvkòš«@™bc¹¬ý£`f ‚…lù/™òš _€¨Õ%"ï\›ÍØ<Óåªq*FÑGPVT‡œž$n£÷„ds ¹)hk1Α딌…âöÄ í}R4˜¡1�׺µ)y.˜hªÉ³€3оä9¿rm0Èÿ.Rôƒ’ݸÁK–¡×ÂÛ÷Ÿs-•›(‰'iŽñëlm'zƒÉè_ äÙ�r…kà�Æ´ûœézc.°Ï5_½ì¤?âEÍlu�$ލ¶*Â;9 ÷ƒ’ã ¥‘‚�'²2õ‰Ã€c,bª >ƒR O›øÆÝIUϦÄ5¬»`´–ÒÃ(hç¨8A�di6j€6 {®•„碠øŠþ4… :›¤ÆO}Æ¡3'ÔºòS^çc#ц7¸úêõDÛß¾îœ>M†K±•)vNÇÈ÷ÑòfWA° ƒÈ›fƒ�'µµÃNèëÖ>®r@úòUø¥ÎÕÅ©¥äÔè­ªÔ‡q§’L?_RÑEèÕVŽøXûÜO) jŠÒ‰­cy¤öúÀ>R™]µ¯4Ðãì©3Á}%3¿3àÉ)dýñ•#Ç/>úê9ôôÙó,´=ðÿøöñöïJ -ÌÝÉiÁxöË_¾/}Z°["—|�`îxUÈ:»xU€æ+¿�ª†Æ¸ -' -.KñxÃMAG�“ïœv®Tð_ô] xÞåï÷FØÒÃß¾ê¸w½ííe€½5§p¾¬põÚÕ÷Û~Ç€¶`ç,€«—Ú1�n9PÛ_=€£6ú�û^�?p$/„n{Àÿ¬ tÅÀ•‹�¬øÞè7ÊÅ•·ß.ZÀŸ�ý™¾Š³g3àüý¾Õþ*Ÿ—€×zìíž‚iôH€[¡t |Š®«¼ã2`Ð:5,¸àíüE4‹4*ü·"ƒ“ˆØþ~^;´V<ÿŠH»!‚ÓÈ=W­ã^0u4¯u§;» ðÙ ôg�Lå�€Л&¿µžç´\'€È(;"¼êÁDGgáZQ.׌'JÕw -j›'§še\±!Ë=‡Ôú#¸ÍàÚùBp -Û ü‰Ï`=‚×ÂÂì9m†5 þwÖ\!É¢9áÈõt4DtºA¯uõ[LL·±S`fa‚¾TO, ¹n™u=b3fÏ{§äÓÏ -€‡Ðþ½b–MÁ@¥ïŸkËd%ýp*x@®D+”“ØŽ!AvâØqo~ù°£²”9Ô¼o{CD!M¢“´ß»¨K”6�Í1’Ãþa(ÙÞIRã ¡ifþÁ×,u -?oa¦=®uNÐOb¦�<‰z¨oM³âáqõýjV�:Žï³ï« ¥Xl¾ˆÓ`Ã4'ÑqºlJ’áÙ”|9ž{âɆO�€yžRÈ£�\â¢ÎZ—Óñi=—¶RL7hMEÓq€Ïµl½5®uxÀ2 û.s<ݪ³zZ; ¯ß?áÓGìwxÐØ'1/†)S*o>N–l“þ—- &wYs°ÔVT{;ä�ƒ«jŒ\ÜÙ!¹•‹qYcûO­ôÜ_è÷—1€Åà -@‘ôÇV¢d€¨Ïž=×þ× ðí7*_·æþ.Ìïñ îûmä[6K¿ë–É1/y\¦¿\,x)þïå�ZL^¦ÏÀØW(¦? €Vxøiñ4äw{Rf Îßÿï¥[`))­úbæÇÔ—2ð±“ìpwî'xLV~�ÌH$ó™€{;4;v¬ À×9^Šàš¯_@ “ÀYí(€øœðÁñÒ–háÙoÿÇ\:òæ‘7\¯èÍ#ŽX›/ÑÞX™¿ºàݼ¸à¬]ŽøßùÜúw·nܺžÏ­wÀ‡p‰0&D¾9)îÛÝ"â³£ ³… °¾t±ûÒ‘,H (ÚÏg\rù\‚£ÉFÀ ÁÀ *Ø'­°ˆ°ÔÓ-Æ­zëð‰CعEVõºÄÄ‹÷¾šVkƒsJvH ð&¾±ÅÔÞB÷È÷:­CÔ£ ï%`zZƒX® ®AFû<$Ø×ÒŒ7›jMƒß š*rZ¼[r±‹,‘$€ÂVª(®Œ¦F:r¦½ñùŽ`.Z”™‘Qµ…öe)"¡ ©¯¨ìÚÓŒ`€¥c?j›±ØŽu¹ÖÃh$A&‘ZrM¹o6ƒÎ:§à::ŽéËÓxJ}‚4¨ÞFåm]¿ÿ|Ý䊹nûþsz‰ÂØ'�@�ÇéâÄM*€J†»éÚOi’å6Û;å[¨m(4]Y‚3¢EФ©'ÍÜÔŒÐâ&“± B{‡Áxz\ZûÆOÏñ?°%‘54‡qPÜSß¹0¢› ÷×Ð(ÙÉJŸ1œ”'™“)p2Ÿ j'u —‘ö@Ü�´ø&ZâQ dÛÌ)&½gøUÕénßé¦3¾®ø0U=ž<ˆCí¦FAÊÍÓòbBEI˧f»ÊÝÎ‡Ž¯¢ü‡®/0iêVxïß;q8¹(ä½DH¼°;ð´u„éNúƒ¡ãcóœ’ã9µÍY-È> v’#™LÙ$B®ÓÞQõªÆÉ¹Íl:Æ*ÐÐjêûJ‘­ûL±"íú]Ð5€\hõ2þÈêÅGO^<{‚ùÿ Àþÿ¯Ÿ}ý"£ÿZ¨ß�bèïþàµñpÀŽT¶;¨…ºeºk'@™èà¿¢|?€ÄÙOþæ?ÿͼó¿ý<ø›ówÐgå–¢ìô—K -ñ¨,<°ÿ=,çŠ'à!è^À=+?¤2�e¾ÔÐHf>ü%@5>ûÛ¿ýôÁNÀ½ûÇÿtç:­àÂ…q©x®Ù `1 ë”wèüü/fd @¦þ«Àn›ÅñãzP/'Àü_9pÐe _Go¬äͅл*çìPø¯ü–é@yò–`Ù °÷]A�µ¡Ê¿vx¯ð„ÒÀ©h„Ñû[ƒ[ôÜÈ>úK^ Ì×§šÂQHX:Ñú.�Ï4JúŒÌÕ]Xu*ñþS™¨·¿¤ Oö¼¤ÀƒˆxÇPxöìéó¬ÿÿY (#¾Ý›v˜ó;¢¾_Ús¯R uË”Y÷ç€(¿Ù¡h0 =ÿ7 òÇ‹Ïg-æï ß¶AÕ~CÔE�>Y¬�µ® ô2”ϸ‰À_�û–¶ñÿ÷Žt&`Q²)øúõýßzþÛgÈô²pïCgß/¯PÆ8¶¯x.éPˆà¥uBK€ù,Íþbûgûx{ ß‚@ÿ–æ®ÿБƒotÉ‚×ÒÊÛ /À™?;{öâÅKׯ£f”aÛ¤À³·ƒvz”çEä°èØä4œ€ã †vÍÿ†/nÁEÌ•ÄC@:HÄmw•ƒÔzõpÈåÜll\D( 7eÀá5_„` ²&Y_&âW£! ŽÉ«P2]àÝ&¦°!¯ÝÞm$âx*Ì¥ù +r�1ã@çÊO(yµ¯ËA|¦wÃK�R_­{­FÝ¡dVï¾yö=€\ž  J)*qÙܵÝ%ªrQÞÎ`:ó­€j =›LîªLêI¥à]ë�gÜ[®µ� koÍ=�Óƒ�XYAx#Suº[Ȩã³åhLâ\1“ñí1\³W¸ÖªÖƒAI˜sû�‹~`ép‡ç’ňƜ—J~ äù.}ÿ…àÇ�ã'3.ƘyjÞéAˆÖ» pø5˜ä•`¸ ÄIkš—*Þ\ïÛA¾uSõ°˜ÑÇf Í�Î\âˆ1£#“Ùl0¬gMMÔ*"—/îÙä›ÁÄ—* PÆ¡ ³»?hлkíâ�“iIû„l‡/ò–²ñ̵3ÊEÈb§V óU<R©rÂŒäÆE¶f._1"gÝÞ k³· Gk#¬·èA±úØmúñµ?˜ÿöû¿yñâëoù?¼f@œü»ÿ -ü—¿=©Eº�tçî�û­ (KHÀ§¯í¶~ò7ÃŎùݨ�¢üíðE#äÝ9Ž©ßî-ð¿üó÷1ؾ{@Y@÷Îÿ¾à›#ó¤ð·ûÙ×€û÷ÁÒêð̹í1™Û~y ÀÅùÀ—g´ï˜{g{Ó~»‘©¥ àÈOß<7€/*xó;ð òÞwÏ8 àŠGѹþÀâ{ u×*x„ôÚÝ ª"x0µå ˆâðIÀ7þØ€¨Ç _§J{ÈÏqÕCZ¨ãÑ@€²$ER)ì�ù'2Öm àÐ|•6d2ÄÄ�榮y皪°”Åi*÷H®z:Áà\V“3fƒcõ¹Vm#\dyÁõX”cÃo¥&$©—˜]Íñ¦vs[ñ£ë(PKýZ¤%AË œ- -„ÊÏï(…ÉlÔUeg4Ȥ:—´hG ) y;�Ñ, žª™ƒŠÐ‰C‡OP2‡uºŠQÕ&Å»+4p3yš)Ïp]Ê4ÊÊmázBqq“JW5—>œd<­`T­e湪Úf1AðonÊWJ5¨:™�¿LÜ5g}¥úAŸ¡�LêiUkA«ÆXeè@3?{Â!z‘¸Ü-«0ŽÇÜR¬R�\~i9ª f̱-{½¾I5Q0 ¼ -Àˆ–8õ]ý±A?ø‚¦Ú8û-h¤výagmèjOj|:½I’û¸`*Å~šf:šM·T~ûؾãÈ’M²³–<†k­jN•ëQ‶ñ_¤Î)»à»ýÆ+‰!é5=_¶ATÉs5íUJ¥�!ŸÁ%ΦŒ£mK%u Þ] ŠL�Ù.lÙÃf!»Œ ª%÷Ú£7!Sê‡y`|ñg³…ÚšÙ…H,… <›°®«*ØŸ.+'�¯E¬0ßŒì¬Ø—‰Ÿs•Ç«VV1š‘Ó¶£éV¿ÇàøØRbî7!Î�¯ž:uöL^tæüW°¯Iä§?=~áæ—Â†¼È4Ào¾ýúë`ûí·ÿ°'µ27zî/¨Eºt ¼ÿч H¹­˜Eÿ=<óöçBŸ<,ýŸé4x•Ê]þýæÞÜào>Ð+Ñà ,,C�üÅ&øÏ^ëÝÏg®@¨_ý�ìxÎY%'’\öîÀßE¨vh÷î¿â8ã2NY °Œ¸¼= `·1¡2 `{ñ¿x‹ÿ­“h›VŽ=¶¢à8À£++è÷¦€#úêâ×ÑAǾ]úΜ± @”€ù÷€<%âœTŠà-D¿V!;(ç•‹•$.ßËà`ô×ãÉmÃxââ³ -¢9˜“ûuþc†¹)†™›ž“ˆ§§ àÐá·â7=¡0ÇDˆÂAÔÃz«´ª‡ ý‘cÝØÕØCìO>ÂØj~ç«÷ -O2¥ÌáX'±_—¾ž‚˜³š«;îÁöñ®Üï27F�uÑÑ“°ƒ5�¸¬T;¸N¬v *)´œ+h¼£"[£Ž+ -�1‘Ÿ“¸2Ê8€É<™DÀ GÂ#êEe$e@qôÖZà°ó (£ âo®ª¡£üDoô)¥æ„jRô‡ëM‹‹¬%Ÿ„õÇ‚ìØEйpè8¡2ÁÓsÜâNh/m ð¿Gß?7yÒèMæ‡ý,Ë‘K1“ »C(_ôDIèJž €Uà±'& -UØh–¶8ò­*™«©;FALµ•6œ ´ÞòTõجª¾o•tÁj`’–�^V»Šófý…ÚA"í®õ:•K5¨9Â2©Ù À¬T£^Œî.e_ƒ•ÆiêÚ À)7~aÎýí@ý©ž ‡4Ó-ZÖ¼�«ªRÓúšò¾¢®ä]%w6£r¿H‰»œÇÄ9ćåÍj @CÔ0JFÀp°ÑW@Ïp¡OÙòWJšÍ�ì÷zÕ� èèêÒ.ݨ66Ï®ýgU½i6ÙlØ ê•Z4˜:¹J™Gÿàa™lÂ*Ïöô¤žxM{Û_j1z)â|µ,ìÀ³«|ÅÿÕ•#+Ž]¸ùÕÓ'¾è9øÿì…¾ýæxñ5›×Læ÷úøýNjqn'ݹ{·õ´ -€ [.~Á˽<™�ÿ9±÷Éßø¿+-Â@K€OˈKZýQÄÿV˜ã~�~?wôlwÄ�^€¢8þïÃ?ü??tŠði<w] -pY¸sÿ•1gÎ�¿pyî¸âˤí1×}`ëùOÀ|”Y¢?¿ù€£¾àoÇç�´—•£âÿ\8ˆí0/*vÿµä”€–ÝwÿLàÒ%4€EX -€B<©²gNŸ—¼~C<—Êk/bi" 4‡Ûg(FðXÔ!Ô ‘<V¼)~xî@ -×]Žó"dãÍì¨ š&ˆ º>Ñé´ ´þaª+$Ú‰TEø6ÃŽ€ ˆo!Ó¾…²; êœ¼� ‘L!©hˆûŠþvè"6 ×Q[Dl°K¾ªy뤔Y¾. †ûæm¡”Dɬ(0•”ÝøÚÒøuàãxZ5lP QALÑ6Asô |½ÎITªÄ�ùâ�Õ¡¥p.ë  áÇJ^¥&ßT#Ò#ÑhÄ&2À'©4(ÑR ª%fR�–)%2÷ëdÃvÿf*?Iøß³ïߨ£ŽÒØ~È/Ù|qµ8¥”f‚÷{´&U7˜µÁÖ˜“òZO«îh°Žù‰—\¾(_! #™Rj›Q3ìÔÛÔt0àÇ”Ææ&ø 9ð|æê0ɯ¯vžÍ†Õç¾K`Z´›Î°×©‡ãÆÖ�å»ëúÑÉNk˜4}š#m`Š6(¢¾uÑme�_P�ÿhä»x¤Ö öX KQJ.ÉWÈØï:üí°ÃPÖØñ.§.f?öÊ'ïü-ëÿé ¢…ØñðàO�<Âÿwô¼ñ†jÂÑÂqú ¨7ÝÌ¿”êŠ÷šH¡–¢´ ùÎS©1[È ¶´ù‘ßÎpÛØÌ8䡟Š�†z–½ “ƒÁ«‰±9nÄ, q`¶HÐØ °v¸³ÆŽ²S—®ìE2©ôõÜW[yq�>vÄPI”Äy=ļº|(_Â5|À¿j‹k mÊ5jË‘“«V -ŒÂ¿Èƽ"—LÙÑ`H3‰ §X|Ó†êÞšîÕ¹Ô*°(Ä5c¬ž™c&úP9“7'ƒŠ‰#)ëz8è¬![…ñB9ßÑ¿Z¼£kv�H(º»Ñž -œ P,Ѧ¼O_¯Y"ßrI†7ã˜Ôcõ�d -B!�§LJ˜ÀµBÝj2€|…(®ðÿš¾2º€ÿAÔ­˜â‹ kxsˆíP §ØfNÈÄô'³U=ľttž<¢ª9ž=@ƒ0ÀJ—Â¥¢GM½…å þE¹PùÙmø†¿¡ÊÈ:æ3k짪+�ÆÑ¬>É‚õÝ̾è>QÖú´Ëšy\¶Ÿ{Ã1´Z2Îoƒp�Õ‹–Ñ'fÖ€eµ'·Y£ù¥Æ ³’o‰6nC9T(#½«ÀÿR@fzjwÍ讼²K Ð2AÝìÙän“ñ-™Ð$óÝnÈ,ÕÅñd0¥í;0íÃx´%'ÔJ¢¢äGÝþÆjjŸ‡ÏjÅžn/éqÙ¦¨Þ"3óÑ㩦`†÷*¥¾Ô7gõh] ÏB - ÞwƒM©KâE5ïw²ˆÆæxs€Âs\ã$¼ï7!/÷�Žg!~gÏ_@*Ûà‹€4ñV~ºr`åâÍ'Ï0ÿ} Ð ×ÖûÿÍ7øæë?|ó�½h—¾ÿùï{Q‹ëKø¡´€o -@�Þ=»<3Xö³Én ù;É+wïEØáþÇüOÏ>’—\0gæøÏßÃÖýïÇoKîÍ_>þ} ú;Hö>û»¿ûìáB€’aiy%ÀÖ�·ú*€ù€Å,Ç8 @ziÀ|€¶ õ?ºË§¬ø?~tUß¿~ÿ7býûî¢ïpD8ýÁ… ] ºz=Ÿù÷@7bûU@äËcD -ÑèÒ‹Û½p öþvìD~c,[ ÝI|Ö:N5L1 *ÓÌPÒã‰mÆ wN¨¬­�è8ÐþO=¸b¡ŽnýËØ † qcÔ+—*§_§§! ÃyÓ¬w:Å%Á©òš¹D cuHÃ5@lYÉŒ…ë1Ö0ʱŽAT®K¼h�Ÿ™6+4~,¿ñ&�@t¸ëªÄÈÏ(õƒ·¨=̺zHªÑ–†&…‘Ø ®fÒ!sêBðØC×9îX¡‡Þr ]ý±¥!8FÀŒ\uÑŠ´{¿rÂe:C((22ÞÜ´ @¨D¸ e�³HY»äÚ®WbÑ«#Ohl6sÂm’%&Òsr™,7 PV Î?èçäšœJ%ÈA3™ú2Ô* Ù†%p œÔÕ°vN€ðª•èà;á…7q%rZÈòÔbõ%È( V”cQ¸”¹©ÀŸånÇ€@˜Ï˜³=´­h zµ&ãÙ ž¥*ì‹r4»rÿ¤oÔq �MK—Jà*õÑëO&—Ë!^€��9@U�Ê6lB>e),OPÍöäÑó8 -@™`ì-qä‰ô§÷O ûͨ¶+ -@Õ*¨§‰.f·©UÓ<¦Ê�›Ÿ÷+œ”Gý£K¨|ôOÓÆ\a¢7vs¼o¨Œ�êî¡6Íû¿êw‡èi6?¹îiºw÷P׳ñïþ蘃)9gcéXgèçÓ)šV—B³Â¨•’~¯¡¨S¯<Çüé³id¤O÷y®mr»ÏT zŸIƒN™œ€àÈ©¬X\2 ðÙógÏ¿þÚ€Îÿs -à‹¯£”ÿ»Ò®ÐŸ_ ßAwÚõÿ· äì‹ q·¬H⥀]hþ µ{»{ŒãNQL)í}Ž“Ž{ÁÿÂHëà—…€2* èÑ–:–ñ?þþZÈ_"2L2Ÿþm;àNÕ~¶µ€íu2àÒ…K—ß/+^ÚöÌÇÜpáh×(#æ³–PûSð_§Éd�(ð¯p`å»F¨&¾}Sà»e5 )JÀ©(Øð°J‘@…Š - èŠlçQÔNÄ:4<±†ìÆŽVbÿ2 olNƘ•vZß› 6 V"F¡ 8Î*F8pZ—ÓßZóídQâg[ØCb +D -_÷Wœÿ؈`\¤Y&ÕxRcÉ`kuáZ,”kîÛíÉTOon¯z¼�*3AÈ2|i§SÁ�D\¦: -l:g¼â:H“îÝþ¥PµLÝ‘‚bÓQ§¢`9Cå4IL»Û¶Ó8vÈ®p‘®Ù;q@ÿ¿½àìÆŽS8·í0OIfµ;}è¢áZîÂõX?·’wŒ¸QÕd„#5ªÒ“Ls‰ œ”=¤´-C6Mo©ïŸï‰¬œ1^wÁN2MÒjƒäŠ˜ýàÊæf·ÿ ¦<¨^BÖ ‡¤6Q—öëØÚ-AWŒh�ÏÔ-¥´ÁU<Ì´*«>ÊWºRˆÕÈ‘uö×Ó�>bNgM¿!Ùn××S ãY�¢ã zš»V¬ ö7°Ñ]ÁÑö5îw,7 -•tÒ7¸¶€Œ}ãÌBØÙû{I�²�zS2¹ÎAÑ4U¬……àˆ‚ÞÍ BGp°Ÿ­D¥r0ù]Ÿ�£†¨ä�¼ëý7›k'£PÒ¶—ï¢ZQb&z(#�¾¨Â6ŒÄ]ÀƒÛí¡¦�°ÿÿø;Í{ŒA]íÇ÷úØ7B} ShüèoÔn¿ï< -Ž”‚éªÅ-“ó|xîеìãÚï�vß)ë¹cø«œ?{êì*z€öÿ*²~åÀÊùO\øwà7àÿ‹ß~ûÍ·_ÿᛯðßó·Û¯,ÿó�T`n™Öï|¤� (Û ¿ƒ8í•2  ÃN‹ø;I ¿s§,ðñÂàM{™¨ Z`Òæ�zxÏÉ‚-þ{,Ú/w”Y¿ßž þßá“ Áÿ?ü8ƒUîêxÏß’pO$†¢²�9ó—ç/\p Àµ¼ p—1ô—<KïH'€Øï,-ü]>âyÿŸïýµù´Óÿô|—�‘A0×|+¿ >"]ɲ¤ ƒ^òÀ„’7 \½(<°‚§ìfõ;êë`¯:ÈR¥3g2cOPÑ?j¢bÊ"¸¬ìl€µ¬Kî’¦'ip9 BQㆈ�¼(ú´³Ò\vÀ6m7ð‡Üű(£È$­ùç”3QA”ãÐTup퀢d]¬E1 OF3léJä,c…¡ -á8FNU2¾ÀÛ£ïÕÄÌ6™(€½:˜ŽôÀZ,|ázlOwüÑ^ò�Øs‘*‰®d·o¤L\s FHŠF`Ã�è°2ª†ÃøÏ'öÂ�Ž£²êÑl×�\—b 8ª�\SÁ( (ñ[Ä–*ÀT¡ k�¹œ¾ïÝ&ï°p­uÈF“êú�4Õ‹ÜXË»+²ïäz�oäBYy–‚ñ”ú£I�|¥õªûSú”i 6Sêµv ºÙè4QœF?˜L11Q—Èð`<±o½jš g³û&'�j4r|Æ5�ý¡Û9DßZ§?ĸ&VÚåKN©¢jÐ]ëÀk�FF�EH«‡iª«šw%ù̎Ϙæ‰Ô3uì9�‹àkþ `:¤¾—ñhöÓü©¨V¨fª„;}ú4Ñ€ÿ³Ûh% õá$ }ë�¾'¾¾Ø‹:ó̸ܨÐÉÊ[ÀwHîH„â¯îêt«¡†ýÄùµ(«”;¥j•Ï¥3†´³ñáq·s MÄœ8”e€Þ;™N3È¢Qù¥9é7¿í†rDsS*&¬Žû><ÜÒ¾“òrß q|ê¸Ã²ÏŸÇú?sêl¦ó³òÓ#o_¸õô©�¾(ß<×ðõ‹oUö$¡~ú^€ø¶“Ö×ïŠÄ*{x€c {WÐ]@ßßœrfï1*ü›’Ãñâ€8dK"ÁÿÖ È•¿¹ fÄ·]­ -¡äU@:D~¡¿àòëÁ€Òð^ô¯WèëwÞ{ï=>ÈuΞ;�]éòûh;g¼f ÀÒ,€xþýè8~t÷—?+ïĉÿNY -ÐÉ@ÿËè¿WG@€Üü.øÿgEx…æ -€Ïdþy} çÔªs/€Kí ôŠüÏMSW¾çn¡TЄ¸ØÁŒu¦¥$E˜ØýÇÙÁl (mnrsd5R µ�€pâbS±£¬S&º4L‚À�JE=©x¬u�Ô9e¿êE vN�äºz,ŠAèº�üu€ÈpðI¯å‚jÊæl³YW˜Æ¸"—õL³<ƒk£¾ÝÔ�!m*Àê - �‚Òàˆ«Ênv¤º ìØ‚S ΦñD®¦rí$kèÐ~nÌ´É„{-añ?™G.S(Î~;| -Àáþ0¡ ’ë#èùn„ñcLzi©�ÏI‹ßîZä讵§6Ù�(2ÖSgÒ°shFÇ^ -©l-61,ûÜRß¿žïmýe·h�ÿåè×d*/¯a_®:�dëOÿa&²s)ƒEh–à´sK-'ª@ áš4@;2ô¤Ðö´ÙÉ–žåÄ¡º‡^0Àº$s4tþ&£®˜† Ž"8¨66ÍØdÖ§@OsšÖ(ꢑV½ÎpÃØP”à?äjÇNt{1h zNôÉS¬Ü#,Ë–œ)>aYN ùêˆ÷\Ž£@ úCd®ÜÝï�îf  k^ÿ‹À”â+ DÔons…x¶…ÊLãvŽÁdFs+Šñdƒ:ŸEŸàiIéfà74m}k¢?² €[tR¹ú±^¢‚[ÚëÒ›:Ñ Ïx´¹Œj©CD}>ñÙÊ&hm<){J�‚ªgøihïÀ¾9¥ õ†úìxT}ªjCé²Ï»ß”×—•"’ÑήÿyÐ�•³�¾zúìé³Ï¿v%ào¾yñõ·ß‚üß|û-šÀÞ´vä­·^þ-Ó¡P‹ »�°Š ¾Ds ïT¥mÀ`ºËø.ƒüœ8W¾eŸ_joÀ{w¤+€ˆc²àƒö]b{ë@p8àœ«ìýÃéÇÛïØîˆ÷¿ÌxÜf±hÛZÀ‡÷³@€u0_@þWÙzô—pþ/Åõ+WŠà•w´+BK€2  € -�9ù8`�øËŸãÇßY=þvº�ŽÆµxÿýÿö¼ášx¦(¡Àþ6µ -ä3©¸IЙ{¦Žå% Ò–§?€Üô×zH;`}´9v( çbz)—nÏT²¦ž¯F±×œ/„”÷1µ¸®dŠñ”m§»–1x8ŽÉp2pz²IÉã4æÆ uºÒåyw<‰�û1VÌâh¬à€Á™PÊߨÓÔËÚ¿™<gŠöH½iµfÄÞ)ÒÈ…f Úñœ•G�þkÈ%åI1̰LÓ€x&£@y°-;Ð|)àÇ‘ºQWœ]®øÆ�1Æ“†Œa�(wŠý]kB&\ �M�Ž ×™w“f°ÃMÙ¶�"ð_¬¸µþÓ`Z J€µµdBCîùaTÅ|'ÛdyÔ`ù£LíE·%¾Åcµ - „Kâò ryû”æ9©†"ˆXǽî`úƒØ¾°—FàH¶p¼±w…ÚOÛÀ#Šmas4@PçÐ4Žj€2Võº”«;ÉD½Rë¬9Þ—LO8tÅ ªt]†NØ•»B¦ç¿Í:³{ïã�Aþ¥.€v@Þ€ðë_Çéߺâ -ˆðáÇ?m=÷E}}w(Šè½w'èŸQ€ï:ðÒeß|Å•‹àûŒØ^ ‹óÕÿŒûó�MEþ;N”®8òï à€JÀÞŠÀí<€ãyL¿»úghè-ö‡–€€gv|èwQ€,Â.|½x>É¢&+ 6ŒÇ“ÛBéx¦ýS 66ÎþIç5›çÞÄ]Ä‚ª€�bÆp YŹé"Š`m­‹€øˆ<ŒXVÆc'ö¾VuV9cK«þÈžnÅŠpE¢ºƒ�ë�r¹æ�@cå?ߺ ¨ÁD‹Õ³é$þb¥Á–F5h°Y0Ö‰1;žmfÆ•>ŒQcâô„€ˆ jI‡¤ëAÇPISG)! Òs†]º5†k,©©]¸†´þQbÀŒ!lÛ"ý•¡s%;úÐ�C¾)¡x"µ¸ùJFöz 5¢—fà<5 ‡‡£fq�hÍáΕ ÃÓ1òœÛÉuŠë ®Ýµb\[’&³Ô÷o5,Hô�&bÀÿ»£±Xg?ŒÀ pH+¢D˜’:Ü-ˆÑm—é#õ"œó±m€¸äMøäÛ�c=&œ:ìØñ 5½Nµ‰Þ¹¹¡]´ÈªâƒÈN=öÈ@.ë!GSBï!2@ÞÖºÝt˜-I>SI"¯h?òç`»N›¶îLUö$3èž/ËÍÜï�Óü¥ÈÒé2 �–9ô­`BNVH§¾]Ím¸˜�¶f[�ñ¸`HªW*#(xh[èD`^ÙÓ=Oãð‰¤ †5Z¹j–ŒQì.×ÜA–Ἡ{½!m¨šÜžÑÈm!®:@ö›¤<“X×i@>dQÍÐ&fèK(j-ù²§N§r Û²«óÀ´çý÷üÓt¬´¯|Ñ+«@ØÿÇVWWŽX¹ðø«§Ï_<óE€Žøæë üöëo¾ùÚÍ^ôÏNîùù9ôÏNJþçkè­7`'Wç—wè.{/+íxdï¢ä ›|ËÇoþZÄßI\¸¿Þz>6ñ^à/€t3ˆúm(s?ïz°ØøùÍÃ|”÷¤»N*qÿ±ÿïÜù÷ùòû÷w~Í¿f` -!îÿ÷°ÿ×ËÑú¼ Ì@¸¤À§]`1 À1ó•—<΀Tn•%� ¸ºúŽß—?«Øÿj+XÿYà k,÷þ¿Þ p0‹êPe‘ü÷]4ÏmÚV¤<… -®È˜ˆ'H @ÁŽh‹ÐÀàãY'Fƒéx:XCØóèbü–%ÄÕ&�Ùë‚•ÁŒuäÎŒ ¬lM3ˆ›±²yÖùSÔ!q:½. -À[(�žÅL$>H¨pB&aà ´´�Yo "‹¦Z½Þt„HDl/¤÷Ñ5æ4Úk¹ìáz<â+q»Hk6›¦µÅü8°oì¤qrµ¹é@Cýl �,E¨êcX—}'F)ÅIa–¸r‰Õݱv¯ë!uè# ›\¹ü:–>â\¤½"¹Wéèv×ÊÛ×|p«lŽFÂé��£ŽRBéf¬…—\Q±Ô£¶Ð�’ì æÀ2[­E3�kNè0Iu'déûßÿFÆIPøG«¡lã�÷FT®ý€J9®úSôž!8¡9Þ °9w;ãø½<µÑÓ©CÚ8í½4/ÃÐ8 ®8(b<è: À{Ô-•ÚêbÑÿÔQP@½pìÙÌÊŒ\éG]tÍÊàrÕ–¾.’h91Q�Ó2ÂúNA¦*¯ñïnˆeߤ‘·„v ˜{þ�œóá2 _i=äc[0 WùdyE¨ë0=¢ø$P¤Ô.O$:á„‹©N -§I±vè>%F)(˜ë¨T®æaËD{(2µù³‹E‡K�ŽÅ“‘rRa–iÃT“]ÕLßH4§8å„Y9"˜¶ÆI¢²¯†¼éP¢(púô1tµ}¥À•@dõÔÙwÑΟ=•¥Wí8~áæ“§€öÿ7šþØþß|‹.WÀôÏö$ñ_Bøó·Šàe -¢oæîÏ× Îß[ï½Àf_E Ub�ƒ—Kßáß’Hßî¶4?Üs À½VøMÒ>©æömÿ­ÀÞoø¶›|äÕõ€ Í]™ðefÿ¿.Ä¿» ¿Ÿï-<Ÿê YÏ(€ xïNõž»œ ŒÎWœ¿ àÊåË—¯.</�ˆ�ÍŽuýzn9Å;�ÍÎO:‹Ð 1ÿ3àÈÁ#o¸ °ÿ]CèJ%žÐ»ñ,QVܦˆµìåñŽH‚¢ðcVUsÓô/ø ò"ú’XÌÚˆ:ÌgQó˜ ³�sõA™Éd“§|c2剟L6¬m¡Æ©ëúXu¦jõ²éUÛÃyûº -€Ø�Ä‹LT ñ#|°œ¸gS§²ƒB1®BØF';}Àc´h÷‚ ðL�(ET�7åZ¨5·gñ n£žô;ÜÁ_‰ñxs6Ó¦J§ØÒµ/Ò5)„©:EÆ1 nN�xílÈ€9qÝw·n�:õÌ¡ùà·:Fˆg€í<�¬cê{EìRDbeÞ´DóIY" ® -°Aj)]ê¡M!ƒ‰Œt«é©8ÿ¤ÉÌÇh<D€>\gж×€A0‚ŸEITØ^;úþ‘ä 2¢�Ö‹ýÑÚ¦óÈ㼉0èVUOËÓ -ïMF·göp@º–Ë §_óÎ{}�5°’VBL@3¼¢R‰+ÁPíW” .\¡º.ÑÄŠU¨ìë—‡¶¬ÊArèV6H®ë“¨\é'y¶3š­XùÉD=:m�µ…åÀÞ’(ÀžƒÒз=hù#XÐJ9 uãð‰ÿ—€Ó„ôSN�ªø_<VgÒ¦Œ RU£) ê±A9"5aÛª¦Ü6ì@ÝQq8.íuÈjPìðì,€šªãñ¢YÍ~7³Wß!°AP®È·"BºiW0�â¡p”ÞÒ×ïÍ]½µî Ým›ýisu?mvÿiåÈ?ÁgE°?uvU÷?ZÖ˜Næ�ï+ço=yžuŸ=}ž‰ýûÃ?üÁu ÖïJ-ÌïFïñùù?ûùÉ(ÐŽ\&qu‰îÝ›{º·Pvxfá_ë|Wâ‚×J/@»ó鞀ûñ<4��€ÜºäPÿ(Ÿû÷ϧµþýÞ€éhíÿ2 àñÿá,€?üpÑÀ¿»¿ÎçÃ;÷Ê À ÐÞÇüÏ×€ðh½ô¨ÃÍß àýË—.Ķß°s%@ÿÚYí:”a€�n‰Ïüœ ²óSèøJ&êÿ_9ðÆ‘7ßüéA×øë_:xàÍ#.>ÕÆÔþ�IÔâs &Ü)Žòàù+L �\hâq*@Tlž]{� ¾Ï67yP�}Œ4�a´éˆßš¾öRƒ '0¬ZŒ`+¬‘RÛN±¢ -€\ÓÑ­ÌdÛCš¹Îsñ‹LošºA¹¨ÅÒ~½õEó¹kꈧ?"­Ñzèi@a€iRóuÀ vï¨p�ôƒkØåÄæm‚É„šÌÀ‘ú€8:âÉiM€?2‚3ö¦W�±™j±“2‡133MMz»&TPœ�'µˆ6Gùëeh>¯:“é¦ÔlÞ‚kµ~Ïͤ©âÝtÏkû¤úUWË”’ `¯9ð0¸h5ħL@ºû~õ¿}³¦ ‰ÏÑLyhóÊ3+€df¨sp �ލð¬Ó)ÉÑ%fê"{9‘oÃ(d ÚIA•Xÿ ì�0iAëû™  b†êû55у¼€³ *Ò\ÒêâØÈD³Á˜§p…E3á˜"0÷©XBØí“Mp€| z¹š`ø¾Lý/Ú -€IÛ,\Ç®êè>´vBÕ„F5ô9 liÓTâ¤Ðkm¡‘pDrÒ:‘’¾.€NØð2ÿ}´R|ž°ªwè¯'ìö€DAþ<Ñßibã(Inî8­AüŸ5>Ê ø?3¹(œQÃô™pEêQÕØå á`08íÀFu𡹢&ËÍ Ãq¹Å+"·Žv£´œ�u<€±ýËGɆ>êÖ‡sÔ£íÙ’ˆCƒPÿ5íÈ5 -55}(.¥°1Û4›èÞVBåŸ‚ŠœÝw:^†"‰�àjüe ÀO¬^|œè/ž9Ð1€ÿàjÀÿðM™ð·;é©Þ�Z ü�€ -ð“W5€€êZŸwÜ»£ –¸ -€ø¿ðè»ôÌßÿ²ë6{ß�ˆ®ìæˆqÿã…@@|þß×ð/€¢DS¸oø¿ípàW�ÿÏý»Ð×.³TÊ€vûž�ÝQ8³� -@Ûpåª}{¾  Õœ0_À€¨–_C­€öxðHÞ ²ü?¨Î•y„(Ø… ÆwªóÐñ€îTµÏ84ÌdPg齺™®Ç–¶«¼™‘ƒæ?l‚’ Àá,€&Žž|,q€�ØWñpŒU8"]œ\Ü];¼Öq!ÀþÚ!äagîÎ0Gw�ÁõG³™k®7˜IZþ€‰h†‚eHÝ‘Üë$¹6“^¹,ªÚ‹/1Ê\kF!žÆSG.³?q`ƒQ‚@ÓRÖGá¤?LH3(�N¦vµ+ð=qÈtDЊbl”ä5�~ƒ©‹k²}�íJ©)I¨ ×¥{żUuÝ9ÙzK÷1_H3´Ôƒ -€}.Ì.ò#Ñ£&(¿œîÄs_qƒ9\cã9 À± j=³Âµ~ 0¾Su¥G–ÂpT8—U[$½´Èi˜R£*ð¯E½„ÿi%Âɦðàö ÿmëù!d^½ÍŽžAÞ ©ßÃEzƒÛ¾&f½¸#èž¶HŸé*ðÕvÜ„áKûƒãþwiІ»º**Ü&¦ªqxÝúåbéÆòíB©̯bä –(Ýáp2pH�ï§Zëô|-.ñ$heI;E]UÕA=Ü௕ZŠqÓ–Ésþ§RMǶ|ãáÔÊŸ¬¬¼q�ÿ ø‚¿Tʨ�øOõÜåæ� -@T�Yu“s­Àä’#yÊÛ¢òˆÚþ¦„†°Õí;N솬Úá�‚P3èweéLï'¬°LNÍ -À¨?b‹:\×Íïþ‹n¤•ÈŠ+y²{nA˜ÛÍl“gV?€ÑW‚òÌWÜC”£ÛÎŒVo#Zè¨ì—±@ËA5‘Îý,äç„côÏ*øÆ}ئ}gX›)Q‰£DQŠñ§}ÌêÕ3Ô4-w`Š éo¹v4ôt¼ øÉõít× -@ì±Ç�~dT®QëŽþ]þ¾`$­zLìM;ÜÑô˜ÊtDAMœ0iàc€ý]O¹,×¢ÂÕN�|äÜ º¿¹]Åè"&)ý`›³ËRÀk�~œ×F<ÎÊí 6¶Ù�[b#I/\GQ�k2ÇÞl4óÝ ÎÊŠ°Õ T ¢—}©erl¿…–$�ØDJCþI‡ öS� U:°£f8­Ë²4„´M -½Æe•,¯Ú7)YÅj�6À™ê¹ -�·#ÆAá¬'äô|�X›´¨ºÛ«6i– U†ÙYbÄ«áj‹ÑÈL¯’«�cAí'P‡å[¡Ø‘Ï}oa-÷‡ú¢`YÎ|¡\&>’L#N)Ø•AfÊz.á³ë“e!oF?&?[Þ7Vf÷mf§ôðпÁDZ=oвó*`TÁÿe .@W€�ðh6û<øŸg.Ö½ìA§ÿûþ?Šït—ò§jc”Ó`ÔÀõ¨{âÐa²Di×µïaÄ£ø¸l ̺}\ƒšBk]zÖ–:¬¨2¡�ÒàJgžVR!Ñ2d±žë;¼­Û‰2µó;(&Úƒ"`¿)Òr¿ÉåüY²€ý¬õzäø•ÇObý»QøÓÿëo}ÀØìEß¶X¿ ýœßºó–=/i¯ó¸*®öv¡e€Ówóƒ] -üÏw÷ÿPëÀð/ -À¶€ÿO?Ñáo÷~8ášß¢dã7‹1¾4 à÷®ÿó:ºÓvÌ=Xþ›v šÕ€ŒÐ�•¯^ºvõý«—‹ `1 À1Y 0¸ `{À| øÿn†âïA«ï–#ÁîBo<¨àÍ7}'`ú½)A!n>6_P0.Ñ�ÄH‚—UEö -"bBOÁ,›ŸE�tÖ€â©ã6]éÎ[šÍ"©½é(ÀÒ -  q Rp•�xšz¸¦ C®D'΀{lþÇO”én‡ÑÀàކŠÚjâÀ‚ŠÈ‘ˆÒ²Xø–÷+Nœ - &™†ÛrR®¾Ò]çCìßIÕ£¶Èý†]ýö*«5Lâ¸ÏÎ4†E[@|ÖLOŽ>ßâ6 •zÜ|1”Z¨â”‹ƒ€ÅY³¥Ó$“òùe�‚X×qËu)q.yJî€,q-4Ž•’.èˆk�C‡Ntìp@Öx„U«;Ã(Ñ7FÎ?'9—‚/ ;Àß.€’²§ -NÖ_Ìš™+ÿMòÕÑb³F‰£×ë�ç -�űóT¹BŒ\¨esëßa„K€„âlF�ýBøëK&5²N‚>*�oPR °¿>¨2¯¢4è;'CX‰ ®½éºZ˜ª)Dã,7t9rƒ-‹ ê“#—H�›ÅjÔíT@C{vw�ÆBÏÐ!mµønô‡5õ1”Òá€ç ©CE©H9èÂ1sV áÜ—L×ÿ¾Ö“g4êúQíÓχ.ð�øœÒà?Jn0 ŠÀ�Õ•ƒoX. üß ìzšŽ¦ÀÄ Ü*p’#Iëºõ8E‚zW¨ª ×ç£y$×@z¹ÖúWèWmÝ.ªû-kˆ:F¤èT—uÄQVwIŽg¢‡Z9&n{sÔz]ƒJ"A6ÖÈú`²é<"ó¡HA¥fŸ)Âr¿ ™‹T×íç¿äHÀ3yÀOW/ÝÒðâùó/ž}óõó.èz€ß|óÿðmëïß… -ØïA8÷¼´B�´»ཹd~�`W\÷ä«Ðÿ:àÁ�Ÿ¯ßwº_’PØéðzH‹óöýÏ¡?›|sPÈ;–ð?óÿ^Cw>¼÷ðãO>ûÛ%€ÎûÿãH@Žîܹ³zêÌ™ ¸tùZf\Yòì6 ô²àƒ[m Ø‹Î8P´¥ömº޼ùÓü�ÿWùÛ�ÞT¤,¨U^q˜ËhYhOm«½Ö¥û¾™VÁ!ø°Ù´«±ÇάXÍãÑ&¸Sw& ©N=°gZ¯7„¨'S�¨‘¦\Ç7†µú„»",ÐÂaׇODTByÕ8É"Y•(HÚ"A‘üd©Å7âÇ?Ùj¹¶Ã˜£íùÕD¨íw²³®½:ü‡Ùæ&9-cü7TK|Ñ0jÊ1¤‹¼©+‡- ç26}G¬›d��Á‘JÌB‚¢�zS}ÀÍt -ÊfD~ÉKÄ+'3À)c±…‰ðLd7¦x Ú è+Óщ¤‡©>t¸ §¦%ð§Ћ¦@85A ”— V ª §}óêd:žÀµ~ Ž+—úEÙ*EHžËÈt Ä|ÞëÒFãl®Àt¡(†^(-Døý-JKðwË%k�”}�lIWû’Ô¨ô-¢`f“DÆ~4(™\†/‡ê#•AØd.}µÍµ`ìk—l 'm@Ý~Æîe5;R¡ÁÔ–Ÿen[¹}kàÐÙXºÞàÄÉŽ°Ê$UýHNÓ@˜~…%¾©6KÖáRUП`Ö¯8š8û5ôWÞñ�ý,à €7T2òG@N½��y®³Ü—×’’©”!˜Ýe •ѹ•1€©²”“I¹!€Ó À'É=T è6»kΰ—Û ß8:“â¤Ê|çñ ¡ö*WüDA �¨ÎžKûÚ\°FÝ1V5EZ´z -ê¯g� ŽFÉ”*o·?ØÈs…‚Aü¥u2JcŸéÍ#ûÿY9†ýö˜ï»ÎŸ×�Å€ËX¯Õ+�ž>{öàw-àoÊÒ?ÎøúÛøæµcö¤ŸëÈ,€¹`‡ñïoo†6°ç_¡¹P€×€‚ÎËÄ_|ÛS;w¡ûwÑ3PHéÃ{¾¬” ÷ê⿎~wçj@ÊÑâàþÇó.€2 àõøÿ¡¯>È4À¼è^lþÀ¾€_²Ão @À_^ú·èàÿûöhÛ/�¸ºX PàwÛÎ€æ—æÿj�…Žt€7•¯¥7Û‰€’“vÃÿ( `‡ =ÇÃé6M� ‡Ló/6p¤Än‡Põ1¢AK­mm6,.%ƒž€Ï1—€‡Aþ»ØÖØu­WIpF¼Ôð.@—u€N ŒÅlðlm-’Št3È*ÜèÅ×XC À8‡þ�/Å{a?¦\kE÷zNĆë–4\¸Ø`ðê鯮�?UÅ`"ל˜5›Íœ™ŽšßÍ0æ}Ï™ -Ó^O�3xCÓ±,H< ÃÒ�h�zz”eÕ—ÎD” -�v s<Áš‚µ áq°$(&j¼EŽÍ=–“ãÿ C‡:„ÖâÚLì( ‚p�Ùé\Ù7Ô:÷U»êz‹1®õq;Åm£oXí…ë¼Z©åšpdc‹–_KäïeëßÉ ùÄüO¨ÿ“‰�ùC¾Z|B“­Êrr::ÅGv5°v»Â³32ÐÂô,ÛeÂfO”îSä’¬ .8†€ ½Zª+öaÊk"Çîïqw rÔÓ~§î»ø¤@ŽºéH6b±[Іµ�¦}ŒÃhz*Áõ\-íxDýæþ9Y=\[3\@ÿ@P;ž£xZ-@¯ž~~.s€*ðf;`q`G€€ƒ<ûo¼³Â_îÑS@DyÔyFN“·LH@¥Ò‘<çHò±’ÇÚžnê;g-ên×P¢y©RÜÔ´<@�X]É/š%7£€ÛÄÀÏRIÙÉ¥xÔãÁ°?�á£Bf¤»�HÛ3T ÕlD�vaJW&÷™R|ûM«ÇWÏø _�?{3ïìꩼ heõâã'Ïž=}öüYF<ÿó. ¯� Ø¢ý.Ô‚ý.þ—Y?w% 2à æ2­»@°ôÎúú|È íˆ`7`ŽôK˜ÿì/¤£Aœ¿�°‹à€rvõå?Ðjø[žð]ø_Þ耿Eع.ò.TÆ\ÎÛ[*ÀŽwô_¼ HEÀY‹uná_Gg^" ‚;³eåˆàÿú>€ƒ;]~ùV¡¥Ïe?¤ �þº<‡’‡‚š�&–¢z<£“ç\;Vܯ:k*ãͱýÞœmwÍþ)0ÀL@d�Ý©ëöc?è!õM>';½51ÙÙÁ�hêúÆ»,ymˆ¢ pÝ^]È—°FŽ!<øö]åÆŒä…÷E€ upÍ.\Ão¦%?X¿s®Å¿Â5zÀtÜlÚ?nBíŒm !ŒiûÓ…˜É[NœŽ„ׯ�oõÆìö ÂZ5cÔ߀=�KYp�ÒrèûŒ‘˜ŠÍ0¤ÈËÍ”ÓpT¶ºÜ�:@ñ¨>Q^ó™’lý)] \x -–ɯà–ÿºè\°è ÄÏÃuOÏjáÚ8ÁßáîDaC�à Y¬`¹FŽÛl”T ™Zø/f¿þjÿzW~-)õ(‹‚Bª‡U§[Mª…Êþñ_‡‰ý´jÚ!ÍtÐ�R€“ÑPü -|W-Vmå´ - -°R“�{¬øed�y‹@¿ç b€“a5tE\vŒ×�^xKÈÃNa%›–¸‘ÙRÙÔYz°”Ú:F]ˆûV~÷­Ú—/œ ûñ|æ#0�c"³GR€È�dîdq+•[j±ª‡Š']à£ê®Â*‹ó…[çRµ–ë^‡ ÖZÉ”¶Í‚ë¼!kN®Ñ$¸½iÖ•PÜŽD'99,Œ‚N€Ncg„!ˆ²7ÚäF°ß¤‹ÀòÑí�½\9úYè0Gueh­ŒÄ(öyYI`®/[EÙ’%xr¹~…˜5mŠc ½ø§x(%”L7ÝÍ” -5äê{òU bÝ.ÊÚJ�ë) -‚ñšØhó¶>‡*އ¨Lö_8n Œq‚¢«ÆD [ð»‹õ÷Áÿ—¬€Ú2ýAD*ÅC©�¨éÓTJßžœ6)¸´#@¬Éú$Õïr¨Q -ʦ„uH#qN�Hû£Iô`ª—É"ÕRݹÁ«)íV礘ü§St�ÞIÇt:Õpˆ^±ÃPú }䪨Ð>Œo¼9Gç€øÊvé`õ€½àÍÆ§:^Âiæcôë&ˆ`ÿ?²ÀwNþIñeªoItŠhòSô‚³­­Å - J‹)‡�àgœîvO{¢(�3É—âö œÛBLŽ­ \wѧ26€ O'”µÕ£pð s¥ÂS3@Ìø|õÊÜMâìQ->L³ñhØGM"=[Ð�¦¶'Ú54ð=ŒZÿ¾s¿)2r¿éXÙ­@ï¿¿³gV] Ù|dõ⣧Ͽ~Î÷ë߀þ_óâë?€ü_£¼n!€éw£²ÀŽ1 ë¿Àÿ®€Þ{÷ÄÑ÷ïü|É0WB"ó®¸^ÎzaqqÞ/°'Í€8À~12�\ðÕ -ÄwÎ… @}ùÏ¥P{àa ÿ´ÿ:ÊJ€­ðwŸ=¸{·d•ÿ»P»_È“÷îœÖÁýWf¼2à\€t\Y¬�€¾ƒŽÚíìøÒ*Ë®ùÎåߘ$pûüë?Xö”AÈ>¬E" R·½9ÃsqÄãÈ“ì0@ÏŠYêêšॖ„¢Ry‰"¯¤HDZ“˜XkåJìý“JK¨•Ξ” ÍÞŽtíuåN¿{S|ÑԭQ@®; Ùè9Ž;ž --”êèÕ„É6\w:�"nDJ®•m£�È?…"l¨!oä`¤³².È 7üÿÙûß߸®3ߤ‚Ù×¢"Z¥7‘È\€9æ„) B0PjÒ,…'„Õ·d*®(ÄTQU,“íØŒ”}ªÕö½m˜vÝhî™3o¥-ôðÈç -p¿8s Ï wî?5ŸÏ³Ö.V‘¥_‰¥sô³«öï½ö³×Þ{}¿Ï³žµvƒdýG1‡6a¼{"û.C€¥võ–>�6WeR”uìÄXo'‰GÖHíQ�v|0r “ -u<¨<=—¬e™*¬Ð0MÎ`{YniÀ†â” j€ÄÓåVs™®K9Í>–ü¡µê¨±gWÁ”ÌÙzkw Ú¢Ö­ -àZ›)lþCñÿýý ÿU|þ9ÓcŠzÙÿ»Ð`‚íÎ&ÏÈgµ¶!F°@õ¸Ã¬–H¬ -)ÏÏÎLφ +ó¦¸Y6ˆ¯¬�é·¦5Ô­ˆ†•>})Ÿäì8ýÜô,�gä£<*îyü½ˆ[#dŽë‹k� W’`Þ‹€í¨£K÷b8oÞ‰Vñí'õh·k«‹øzDnì ÊëÀ®·€«âïB;I¿À¸çèânðo:‘¨Ip¦‰L"7øñ>…Æi1áÿÀ0ïšt�ÉcŸ}7Á‰xÀbµïPÅÜ–˜JÊP4^ ?;ÍÛȫǑFn�%ä—„Œüå>AÃMØÂtg ñ¿Œðv0ßÚ¬t¢jÍn˜9œÒÄZÒ�­=q™²¦ô Ñ`T -^^H€¦à‹Ï¥µO>¿{ïvØþ÷DÆ_}õǯ¿ùæ�ü“ƒíàþ­ü'à–aÀµÜÏ!À ðƒhzŸdéc.Ûÿ“k-x†Uý‘>ÓÀ‡rJ8@ðW=’àƒëÙ�1þÁÂyGÀCäÚÛ©'@` -p°€ý­²ì·ˆ€Áçý_˜|p  ò‚O\’‰àùÈ!�¤È¾ -nÃ# Lô ý-¿ƒÃFËÍø@ÎöÕ«,üèPý Z�Bn/�,½Ò!±`Iœ×pv'VÅs�ÿá÷³4‡´æ§§±©<EÅ$Á-à#aK'}½ö‘sx ­¶Œ›±µfc¬æÄ•²J�j uAE[3´ö¬¡lˆxV‹Ç&LlF_À¾Ý†l]}k«‡-�AÃ>v³YÈ^iý6Ø3{‘.xgn¡…~�˜¥x²sîˆÿ3?•Dy,îcÒ'r)vÝÌœf³š±ü!‹IŠþ䘵«œˆ÷Ôè’”¶Cá­·ÞêB[°ò¼2´–¤G¢xBþ ü³Ü †!&.ú±õTW7‹¨° �°E_¯ÙŒþŠee:vØÄ߯ô¢‹^éfo£¤2ø� qýæ¦÷•,"sŒ\›yîy¤È1k¯9f~ÞÆx‚‘˜BÀ}H(4XvN굉Ä&¯–|u“€—N»žضž¾ÂÎ�‡<ÚóÖnatÂîì¾±�¬·1ÃŽá8vRWÆQ6œ<ÁªT�`¡³G¥A¢H9ÏBÜJ$·6@òĈLÞŒKc ¯ÏÌ�ìïÓ�¾zúê¤G¬Ÿ)ÏsG°Û{Ñ;ˆ®~Ù˜™m¶Ø.“)\É6>É­Ä�áÖ.xKSC ~›ð>nŸ_Zêð“×à?G?ø/—S‰ødûMW®æ�¦¿½v˜ƒ�—joÞ¾s÷¶.?”(À½ÔàWèàÿ“¡þ°hþ‡`8`H‚dÀcÄÑä(À5Ís:8þ(ƒ½‹N“D½À0ì§yǶÏ;< ×^M ¥Ÿ ~$N§øS<É�þ�Ĺ -±Àc€k×R @ôÈp¸€Â�‚ @j�Ÿ‡Ç“}C9ÎKý á¥Ï{zàñÔ~ð�x˜Àh³ˆî–>ûwªcêú(kÛ[­« ºg% ±…HÀsŒº€ÒB”ò©ÈõåÎB)mñË&�uc(ˆ)˜(@¬h”bÌ@8’dÙ¹CñO9�VýÿÌV"I{QŸfsÉÊ¡ˆVkkÛ -öŠ~G‚L°µÙÖä–,xU”CΊ•úë™ëi<&‰’Ìó ~"N¹¹åiÍ‹ÔúÑS{b—0¥»®ìDËHr2A®_a3ë*}ví¶° A[�£FžÅ�€¡€HgI>ÌUŠQÊÚhÀ;’¤F�Bž™ù‰ê ÓÌlh�ª™g1kÞ Ù;”Íj‹­È.­cÙ9[¶§ú}¶è[Â\T¶þ‹à=žçü{£<éãˆ÷^T@ÛtŸÉ‹ù²f¿y-ö¼›ž·Ö;>`±JX�ݵ4>E‘ÞŠ€f;=a¨b7·ÑºÂØ4ŽÒ(?qF`ñtJì꺈�zº*j¿}Je¨± ÃðhîO|Y?\^j†W&Ɇ¡ Í‹U÷„àCx„å ÑØÛ?™î -G éÙÀ²€‘‡”³#ÜzAáðDà¿ø�`©'à1Œrïç€ÿC€¸©¬M�#YÂã#€Œû -š>•äÜI@„x$ï‡÷4Â2|’G¥bACª¬Ò*‡·GžÀî~~(‚'££¥ô0§‹Ö×Ämx¢¿T">Y955ºQ�lh­@4ò:~jåÍßù1 »÷î~õÍW°€?Úà×Ö íÇI†ûñ­öcFŒÿ�”£òjy!#é° zéA2¸‚Ìæc) + ‡ÞŠkî+ד&`ú®(€üà£ÂàòÄlZ?×–‹¥÷`î"¿€ܸñè@ -ýüõÅ¿þ뵋?ÿGc†=9 µ¨× ÿG\ø¶þ³ üI …Wù�b¥`–}.p@2ÀkíË]È;© }›™ècï�J•,^@,ÝL�Õß–Œ&ãñ¼Û¦À¾�ªÆüµfæíW�ä,=—œ³¤h5­Ðz¥§�Öü`§ùUæEÁiŠ A¨ÞŠÖÖÿs&»6 ¬í‹C„,Ñ.i-IèaÓŠ³�|ÃZcû†ã¹µôǦÀ0„:ìJ9�…Ô‚_¤ê2XØnÍG 4W°�u+Ô·¶�Õ¦­!ËØ3œ·c<¬0&ˆÉO(N{v‰jj”ž¬pÌOÝ®´1‡"ÀþçÍJax‘ZìjÄb‚¥ü£S\bŽT8¶‚I•ÄM¤ŠŽLÛ˜ÓM?�£ -^njÀÀé·úA¶ºÝ@Kãíl+ÕH øÆÿñð¯N^Å㈙¿\3ä -wÝúåN+õPh#Ì”YÑV!îl� K½•1™™žµkxdølÉBé·W³ôl ñåYÌWV{Œ¹·`“N bE�@(âE�·±ƒâÉÏ”7;›¶�¯$¢=ô"ŠÒÂ,¸› _ë<ûç} ÝÈPZ32>0¶ê8�Ö§© <ì•<ŒMaÂZ„H+˜ÍŠH86þ¡PZãtBE˜3ÿçô£ùô(§QËÏ §»HÖÌT6¹»¬wÑc¦ÌÀ.Ëø<ûmžqÞ›ˆÐáps:Õ´q×x‘ãqdC*x[nÓª8᮳;÷-å42“f, 8דý¥¢õÉP€S€=`±ÝEÀŠýLžZ±à]@4ü¿ÿÿøÇ¯¾úæëìî+êÇHŠ˜ýÁËCý  /GdÔ`«;dŸ„蛤óì�æ§!‹Uc„-×_=àŽ°¹¡ç Ã?X@ý}$(@Þ�Qø‡Ë° xÈÃeåÇ?ùŸDþð­ÆÅä©­ôp«EŽ�L­G�Æ[åGbCŸ+Q Dò�gG¤ ‡(ÀV|&DÃÜríG¯<Ã;n‹Ý('Û¬MØÀÂŽ>ØÀ7�‡¢™G ìö’_™õ]ß\зțÍûo1€‰*V—§ã䬰¢ÛB:ùtÞ -õÓlg·ˆÖ³vœ¡c¯„ÖªƒåqZ¿‚éÔ#*¸ãí9[Ï�à°h‹3q½ÿZ›¤%‹\ ‚�ÛœONŠÙ¾nvlìy ¨~’ /”š�N÷û½€R+Dûh­Ò -åh¦=rÆ\6T¡Û~·]îl¶¬ åÔ¤"ˆÏDq)÷â–๳~–ÆðëD¢öÅ¢Ù�˜@»øÍB8òð>�Dòš øÅžþ[ ïH -çó8uq3…Ùo]@&’ì ÈðþP‰Ó>&¸öãµµ¿Fyâ[ûgŠVH~A¢�8‚ñÏôØÑÉãβâSŽ}PÀ_êãÇŽ·Û€”\ÈØ'åCçk›K|q!Š\‹õ´ªg>ؼ~‡_ØKPj/-¼ùýV“²€CRD¼£ˆÚâ}g×f»×·‘¯)ò†ÃøË¾ûÚ¤ò¦ÅV - 0î9C¦gYçjѬàœ;µí�$˜‡V*zˆ~óAtX¦(mÛÂqXƒÝïˆxT�ø4�•ß-cÆ(°¾v­ö#f–Ìéºð·Yâ)…»^{+•˜ß ÐmiWó£dQŸí¯>q{ÚiCU¸h“‡ho»›½Ÿ!‰Ž $(F¥uÔ?K„¸éðR§ên„<Œr“$›˜Í=l©…ŽžÕÐ:²=´æêtˆ4»öµÆÅs^Û+dq²„Su¤UíþVè'ÌføÁS…óM�òäñd^Àõ"¹çÑ -³ÃåyK}UžÇ£µ€ŠArBÐ|‹‡UÍ.‚(å¬H9„ˆ ÆûÏL?÷ìY?4™ Åçž=ôÈf8…h3�ñÔq©»ÞHá½:�� ˆªVÒaP#A‚ª¬®#¬ Î0ðLÙÔÞ ýÙ;¼ü‡b<+¿01¤›6HB|£%‘’4�-€ÐMm’R$åBèÉf@ œÁ>ÔÌüŽ÷4 -³ëGÞávÂ=3³ó?bõY3» 1†„WлÇ1"ãØ%ñ^5­aˆð�Ø63ëÛÌL<70É�¶7ÊZ/�˜ËðÔÌò\<ѱ¹÷ä%¾ÎŠÙŸò+±”Bž9Uûäö�Ûüîܶ  à�÷¾þ*šþñ�vxÉPX1ã¾�þ/Gd¤À;c<’€õ@j·N+ÿü˜83X3VH)ÇÈ�”0^¿þ^ º˜ÎqÓC…½2¾?L¢'Àè (À£2€Ÿ\üëÛp\ @’Ô€ã" ? »þç%åÝô£é?˜ÎèØ‘‰ãGöE@^bÒ8r4>"t4ùrªC2DS!,@K˜`®Óéö0yçÃaí.lEĈN˜ÒmÊë(9¶RÛr�Â"öÀ»ÞáýO!Taéæ"š2šâƒÒv^—r%zÐô+m €@]iî -² ­˜›ÀÞï•�ÒTËoË6~è¡áhìX�âëõã뮼¡³ÕovÐZ�uà#†81V=@8à°ÑŸÇå„ãc@:ýý� ¶>L2¾?T¢À��ðs@!q±c×~ò“è ðQúH.øˆç{à;ÅëÊsÿÈñðø3“~€|¼Õãäȃý“cË„”ì°@|o2†ÄT¨”t{@©‹¼Ó­Áli»dáÄ„bÁ!¡^p§8Ü(>fõèYdlk/J�CìÈ;Œ‚=噳Ó¬ ß‹nc´ÙLâ~ú�Ó'Àù@Š]ÌùrKÜEYŠ)ÖaØ'Ì®AZ,u°%Žò]å×iÏ“ -fwƒ_f!Ê„ +šwíwÈãBë°Î!&ÝÚ -vàiÁ§éÎz605!˜IÅ0?ãíz»68ЫNu&»[}Ρy]ÙŒ|„Îtô˜w$d‹ cduˆ%áôÙ¨е -/¨ü(ŠÓ(p•˜k¢Å©'j.ˆëÅôwäÉPæÐY§@/*Õ­ÔÆÑºËÁÁ°P©EBEã*ÿ3ú³#2 -ÿQêsî˜xŸ¹Ç�#P¿y;ú©È@ìJÒ‡°�Ë (—'òIHLƒqÜ­ŠMþ]ùà$}t’U´IŒmûyc( Œ®||`áÚ˜Ú¢¦Éã Þhˆ# ûµ»#ÂN¸w5ãµÃÝ*´kagL:EÎLÒoqáðØýŽ�IÓô=ÖÓÊË-ØnJã±ÍM&D¢Ñ �uÉ“o¸Î‰Á�ô˜dj0Š9rNuU$bÜ5]Z¤ÂÉCi €—ÇY‚‰x&î -¹6›,çè »ðŽs£¬ä9eÙÝå,yœß›øÊï‘w;úlˆûÄmw�2)ü±.žxÖs‹á ¾ýO\r‘ød%:²íð¿È/Wœ‚LM;µöëÏ¿ü£+à$˜÷ß|ßÌñ~ceçÕ� øcdl+€Á?ãØ¨¼Z^x´Û“@¬Í›ø éi'‘V¼V"€-éçbžòƒSŒ€ûk­…wð,¦•dBòÏp•û²Fü�X@W>XvÞI=÷åI–wbÈâlòU™ é‚(ú.úÀH €’[ð øâqâ>¹Âÿ( Ïÿ™ aÿ³!x#ï+zÿù“ÐHÀ�Hod’~ߺq1aêGmRU;ˆ0Ñ*ŽTÖŠºÚk)Æ®£3Ü/Î5@F~ìb”XñXs–âR€_[Õ›BEš•MK9?CÛnhÃâ0ÅÁ¦5è�ÈÆûY•õ8)K¤¬ãšY3€O”&Z7{>i ­ ‰÷ç, "°X bçe¬‡x9`Z�S[tv±Ñ!“è…™æ§�òr‹ËóØÌÄFÒX÷lÒã/èöº½ö§í­^¯ ПÐ%Ú}.ÀŠíð”y­ÖBefÓ¸CkC-S)Á¶™0a+Óš¨áà¶¥”!nz«u ˜ç»›ÒÅuF¼êz¿TÞ† °–Ön\ZCtØÄ×ö{»4ðËp¾¨¸ð£‚ý~þðßXë€ýÁb‡ÜQΣJ§9?�VêßnÁ4ôè5ÙdK÷ªœIŸˆÀÂ9Â9èø˜v Iž”̈€hÃWŽç*ÄeŸmT¦–›~“’¬ÁúÌÛœWx1ÅR1V´Nð™^Øc»ÛsE )¬:�x¼o±g:$`Ûµ&ãîšøü"ñA ¸€Bv¸EhOÞ`‰Dœ1Ñ ÐíÀ³kÙ>䈔ÝP€ýŸGá8É$ô(<f«H;y¼<5äˆ<µšè3˜ôå´OJðÿGW¥|Ü0î7*ºZfð��VW½Y­™žLŽ›A^Ç­ôéöáõ6ø¼ã:_ -æ6?3ÛlíúD@ÓfŸô/Åé?Ùá”A€ÕE?¸Œíf±º¸œÚć^¦VüÀ=Ì[ú9€þ ÀƒšîÄ·j2â æÿÂp+À(È06*­YÀ{ î; å°aõa³ã=Îį˜EÒÁ`÷�[þÚ« o »÷="þP×€kbßì0PGÀÃ8À/~q=†<)—Gr Àg€þg¿ùO ý ½ï/½Vôxà[™Ø@ЏxühªpæþCÔ`ôæyÛ´ô}oëHCþÝGüdp” -Ïp€QãÚd¯c(€ˆQPýÀÀ†¾cÀÁr}F J‹þ0ÔD^PÍ�ü²A÷-4_d³Œ@Þ° -¥6×·‹™Àò˜Do­ÔÅ�*ãË-h3=Ý1S¡í/´ÓÝìtÀQ‘>ü­nÔàƒä~ ÛyÃþVý20ÉPH%À¸,?ú'mI,F[Å="’Ä8Ñ +é TB[¿dó»¿4©\; fG†p¹6‡®�èouËæçhÅgø8(m�þA™º° JKNe¦°Š9Ý öƒg>êÕAÞÐD4�,T� -ÈÞq-%o!™iY ÍN§<£*Yk/¸�ÖqÑ6Nd½aœž¹õ®Z«ºWÏ.]´ö™¶üô!`+>*ØÍøï€ÿ°Éýç5<é€G¸[�™ùM@?ˆg‡;øwû�2È€eÜínõ߯/àGxç¤óùüÎ]=wïfß~ôôÕÿxï¿tþý~­ß¯;,c[<Р@¤bß�$‹Å’Bk¸¡áÂ�[ËcáKÆýš�ºÀÞ,w "Ï �–7½mÖÈm ÊóMÊò(ž¬PJ{Â[.–æ  /@þ&`éTIü‡¬¼ùù_ÜýBó@¾¹wÏ~¾zÀ×­ðSµñ±zIÀìóEL@pè[ù/‚½hhÍ.ìª72HPš%�9ó@ú a¬I‡�‘ë~x‡½Š”ãÜ.§©Ì€U¶ `æ€`_Üû �^ yR ./üMô”Àg¿ù|êï‰$QÝCò¨1¾`¼41~°¸K2õö~Æü”Ã[ã•�ç¬çĘ÷f®×o„ðÎmòÃÁqˆñ‹€ð¾“Ÿà¿|þ ìgk,ÉÍêG5èp¯½o$€:Ýnç*Tr›G !»»ýöŒ—ñi·ëWšûh×ãÖ¢~·ÇÝ'G¡M3g�?fX²XÁa–r­ðE=#>V­þßöI÷ Ùry9�lÁ]|#™æ…ÂpÌz|Vh_‹ÈΊ´IDMÖˆiL -€à:Ò - ½ìÖÙ³‰�Q$ÖDÒ) RˆäÜ{†@üÕKÏX²É›¿¸+'‚x|$Cìž´õŠN¸Fí<x7Àc$7‰H/ÌNZ䇿ɓž`b²tòD©ämçF }=‰(ðKn‘Ï_·½ËãÏûÂs„•»2³Û†úËY7µö­äó©ã°Î&4Ž�R@à“3ý‰Ë)Á?‰1€‹ÖÀ "ðèñ©Ú›¿»sûöm›þßø ¯î}}ïÞýÿá(¾^︵3óüóÓß?þüw¾ã×C&ž}ö;aõ¾€öc$b‰ÅðÁ/®_O¼V’ Íù+f‘tø8¹~m§,°�¡) æ:p4Ó°ýÓoŒ`XÜy ¿¸þ71 üýCCÚâ¶¿ñ+Ä\B&…ퟆa�¼yÀõì´h|rñâ�|0À ¼x“,ñ.‚×ÉüOps)ì/1€…Æ>¦â ë»m’)þ0N�%: ü ɯB0½[°!Ë•.Å~³ LðRRHS¾GP[€@àhÈ%o�P l|î -èG&ý%%ªÊûS €µ3Zróv ØÓ`Ó>¶‡¬Û@³Ê¦<%Œ€iaÒ$ÑnÐg•‘xMtRk¶¢Ï–Žn|kºÕ”Ck®Jê`E¼û{Q/ÑÖáLaæÀÊ>PË˜Ïæ:»¶ÚïbY -åe’騡`¸¼´N_#YTÂdÝkL¤Û郳XÒR“Ø“Œ¤°,«ApŒSMnÙE'à—«î,ÌÀ[Ìñ -€­/0k˜pm8wm¾ÒÂ@Ž=›W»–š"¢`š´F83�Öv¯OÞlÙ{SRƒXïw­��Ôuve dkw«ãÝf¿±ðŸ°ÿ üÛ+⣊,ª3]Þ„BÙί½ þËM¶Ññ*6b» þou§µèw·Úý·Ú»ÿçno~'mu¸«+¬øHôoïÎìò0¨²Õ*°#Òïô¤‚d¨ Ó¬Vã„�Wµr�Hâ/PŸ·s @ êÀPàk -Ë€ ²®g-o GšÇ舣AÐx×¼I5.¨3ìǰ:Κ <êal‰wœô#-„ã‚—ÕP�¤ˆº¸«â0a¿–Ô#;sB’ç0ÜÛ”ÓÎ$©àäÉ`ñTlu··Áî ð×õÿ±ßñ6íö(&l‡"·ëqK|¬º»åÝ.|´ÒÞäÑݬT:ö_©'Ͼ7f*0Y˜ï_L`I´Ÿ³ûÿ\`€ >ÛRZiüî¶ýÝ»ýï}íÇî~õõƒ¾øÇÂö—8~ugö¹ç¦1øŸÿÐïðìDÆû þLœs’�rTvŠ Àƒ邳ï2'`vò‹Àô•jYXØ!!çã´¤ë1¦‡:ƒ¸>!ÿ8À¾ø‰�tD®îèŸs¢ QPXÿÃØ¿?(JðÁý$&ÀãH´0ò??Ñ!?ýËéý> ϰÅwÚêÿŽÃ%ŽæØä‘ãV/ää• êûR h€Í>)Œý¾“2¶2ÓìíF=¿&/ïrEG|OÏ6E·€¢ŸhgÜÝýG�ˆgç-?�csáw4DEh‹ pÒ¾ê* •Ù™Ž½ü�ýf‹˜'´ å–½â� �@@k¢Ù{àÐeNq² ÑÔÀÀèwv¥˜ëJž>£Nk¦Ýû••dì_´î­e%`Ÿ@ˆMB õ)Zs6; -r»�8D�õÞ3îxÉmP“kÃÀѸO;´:ïê\`£¦Ðv¿RîJOz=óK¾^‘B«ÙC{²fW›ÔºÛª6[å\Å6ú½Š�#õõY§ßüüt8¢rd:ªÃÅ^ò ’DŽx ›R -çˆ@|q[­;íwYô¤d˜€¯{]ñ6èKáÖè¾íomïVfzî`‚=%�³\bð„ñðŸ=±fþGâyàjIV¡CÅ~çm#iÏÏÜuXÙÖÖL¯£ñØÞâÁü?w¹…�=®ˆ ÝÕ©ÓiÙ�¤®£V¯‰aÙöþèˆÚ4Q¼QPnþ- @ø?sæôÉŒr ƒH›,\Þ¢„×¾G øAÓg4�%Õ¢ºëiˆ¯�Ç3ác«bµ|´Ž·ã}”D¬ÍWÏKR.ós ëp™E!ÙaÈ�&á™´I þêbR)Y6ñk HRš"c‘f˜5l!!Tâ€Ð9+©@÷Ĥð_’x×’`3{|µ{ÿÈóàÖí’ýñÐ5)(ktoµwË¿ê¶6¹K˜ rƒ‚$±ð[º <ê¬|Â?o×Sss6XüžÍC–—a%°µöæçö|çÞÝ»_�åüC�?þÑæ€cå«oÂö� €p@fŸ~zöûÏðÿ‡<ÏÃÿwÆöt=ºÿko\{€À*p¶€é$Þøû‚$À9çÓáã­mçHòˆÖ†ò‘?Ô€¸sÈ���·IúaF\gÓ#ೡ!aþð¼û$ùì³�?ûøŸÿyÌ·jCfÿ*=�!– )Þ?}žÉs‰Üþ·úÚFôÀ¤M Žñöúqσmz,S€Š>€æ.ø)ÚaCAܱæ-¦eZàp°[¡L1›­!§ÀÆ ºXôënéü&qv-!ù«¢ÊfT_û®S‚D »ÝˆreûàCP‘bÃ/ãa‚ø –âý@–øßëRÖw*¨" écïbl¸(Ó°…ʶf:=Í •Fën­{»}J¦~­;a$Üðˆ—R1XOËÚâ1üß‘[°ó  ×ÑáØNT—ÀF[…ßÞÕ$www·Ëz¢ÉÆ[}Ý&à"¹B}À?ü*Ú°ü#¯;‰O¦O·šÀ~äBRgA~»J„€s®N¦sÇv”¦ßïnÚÑÛâ-‰Ö yÖ?Y�Ö[Í-1ÓÕ^q«³Eæuw·wûö¤4oö¬â!#¬/àÈñð€XSÀ¿æ¿“X~4i7§½ -Ê}4ÚÒ³ÏÜÖU2–üñ·ßÚîBúR€î[[rKi #ò«ÿ)L�ÛQ~.€~ó-K§iªéhò±�Ôøp—Áp 9qRè=1YhÐÏÅÉ\_ÙáD&±ƒ}ðž<‘A4€T¬ÌÍæXÖ¿Ç -«'’ÓÀZDëYlM)œpÓ‰ðÙC1NfE^ôŒŽ4•é|.²ŽôKšà)iÉf¤�»àj�ç¤#Š ð‘Jº]UØÕÒ€Ã$žÙ”Xë~Îî+Â"™Æ•H;¼ðÿg^Ø÷Àc“€çpUÀ íU¶Z�O­‘áOA~j«“V§ húùAáÆWì4 0�}âºñ<ÁŸ—ù¤%>X@¿!€+€e{Öp¼´rùóÛ·ïÜ‹@À»ßýßø9€{÷´óïG¾ó[XÐ�ýinö¹ééïÿûÿxüïOÆ2€�ʾàe=ànà´³n—ù õ$áÙ$éð±rî;kʦë9á…þ˜çŸ=ÖÜWô„\ßyûÕGvÞþEø0‚|®g{Øêžß÷°æŸÙÿŸíãç�ßÈOÀc v»ˆ?à…°Jà>baƒ0%¡‰IÀ3VØ)€¿†‹¼(@’•d -GÐÝÿwûóØó�¯hª×ßîI¡Ûe?íBƒ8ÚvѸ&C¸½èÁGЪ`ÿP’ -—ÖÓ¡°5¸ì2þÑ5Öø4_Hù…ÄšG“Ngš‹¯+m—8˜‰�JnsÊ-F[Ó*j -ý­ø‡¨¡á.ˆÇÉH‘³�¤2Ztw­OæG‚z¬ °² ¹þ¶Ÿß““oM’`»¿mëïdåG•>Ó6ÏZ'º•î~Úíú–×ÇΖþ®/(Š‹>ç<ÏÜ4èAŽ�ѰYà–Tæ>aIøèWWV–#�_I›×¿»ýeôp÷Njð�ñ_ßûæ�„ Œ•otükþcýg@ŠØ÷ Çd -�'ü´ŽJ+{nܰ`‚øjeß;�Q!À>ô'6pÿ*€·ß~û:ب»Ê'‹Ÿ£®ÿ”ý�”€µiƒž‰÷àp×4s#ÇB>TÞN—¤ïü -ëßêžòüæãh:øñˆÀ~†¾È 77èù@$ü÷Š]¢žŸ!s€´à ‹÷cG$çGŽ� ýD’>ydR/d Ÿåèq€�{Ž¥©pw$eZÖÉÛIœ†7å½M§xß�0 +`¦Õޱ+Ã¤ŽÆ±åù.fõL$±$Þ`¤÷ñ–·Ê33°‡¦í´ƒýðñúWšÛ˜Ÿ[€(Ë5dû.%zÀ¥~§I‚ž©üà€¬98 aÏöü~0@ ŠÝBk0—ùù’OA8¸ƒ… :ƒê–OírY­Í!±²ÕâØ·‚YÝkajFlҬׂI-ÑÇþÿ‡Ý]›zP§§¥)¹òn®ìÂ-TTuÒ_8ÇàÚã—Vg¦+›¶�,NÙCâÌÌsàÿ³Ï>{–ë‹)�dÖf‹\ÑlCʳ½ðx/B7˜Iû]/êSŽÙíïZÿÏõÈ;|è£uµ»©€‡RnGð‚ÄŒ5E¬�`ádøà¿=ºL§xžG´ã`ÒÞjw ؾŠ]ÙïnÍÀ°¶úÛ½þVÿú)ÒCéÃÐÛjó•§§Ïj/n¶Ûo¡Y&kÂSÒõÙî1_¼eé%ÒSt™uÅHŒgl%2¥¸3ìâK41΂awúÎeà§I?»<€MÛÏL“‚Ç߸ÿÁ›lLæ}°Æƒ“8=iýƒúNž<9UI‘Ø÷h ݽ<+Ü‘tHuJ‘Æ�$­H%С¨…×¢JRÄl2±,Î=aaÞ®ÄÑ=ÒûæUN)�—nV÷Sn�dxl€qÀgÈ'9 -^QŠ€.åƒAO^òE¼Ãž$\€‰Uúë2 k[Ôëó�¥'”2hsꉌÄDë?z^2å\G3úWü·³B€ê´w1K1¡#bÂJ hDR:lø¤tÙžUU1+¹�>‘ýü“‹�!›Ór—HGÓ¿ÙÕ@ÔÐïn_½º hÏ�—Ý]àk÷z]£?¹iÉñ²ËÉ äá©”Õf‹¿Ày=ÁtNÄØŠlð‹—DÙ­`×KnMYÔù³Åp=ßE&.º?°èœ{9‰Ð€Áñpí3 <_�N”&Ž–¬`�Åɉ#ºÕ�?3y☭ -³£ŽU$D‹Ú‘z>…Þø£Ï”b-„ 4�}“2iÖ&yŒy³Ý)ôÏ3òµSA+.ÐOÅb‰óÊ1Nùì -¦ú~W¥DŠ´¢€Ó”¢¶€ƒ¬•`µý"þë°]_ÜÈù`#ÝÚâ â Š·C¢½Åêp£:É `´2m?�¼ªQ¸š¢)¤~³/öŸ·éyg×’ËQíõ+ú·�íZP/Ì·AIëñ#Ø�²¹½YyãÌ(=Û~§Oëÿ7AcàQ ©¿¼—�]tl÷7ûØÙýþßv{Ÿö?eŒGÓQI­IB—z%ñ÷¬µ½“ÌÌ<Ÿ†›æAýDqY€Zc]FãxAe³5Óѯςî‡j÷ƒXÒý¿í•;Ý_íFýf%¢±ú–kØ5Û€ÖKØïôØÜÝmïö{=ãúÿ¸»«¯¡·¯u‘Á!^´š™Ãh¢gà�‰àÙ³åJÏ+ wìDes³ÜiÐ2!( 3á¤xW&¦Fˆç:»°¦ -(ºËuvû¶•ïaöð+¬h´Þ–‡±o7VÖúÓή1 »³þ‘ðÞ$¶>¢L[˜�¨û–7¢YñÉ$Ùí­«íþöv·m~úÿ!d N‰_Skµ»é«Ef™"àë�…nfª@ - »âµà�àÿ‚_ÕñÅ(¬eÃ; �)4²ë¤éQ3.„º ±n=ð1¿uaP§{ÅKç$`¸f`ç"xУ@Oãíd $j À„ö;›Ù_]Ð"N5P„I)d˜G’bîÿZÚµ³ž)ŸÏ'mAGf -ÑzΙ�,…i·“¡I¾ fNdFà?I³7;œÌ9²/€-IVò�ívl �ƒcß5}2Þs)Ÿ•S:ßôxÇ ”mx€eM™»Å�z~²C¾„'+¥©’=ýö3Z„ -øYàS“SÇ_˜J1·ïÞ½cSÀ»~èk£ÿ€CÆ -�¿�[ä€�¿ye+ˉQÀÐ<þã\à"‚ó¦xÂ`ß÷|dÏ}Å�"Ä i9sãýHpˆÀbE–ð$ü‡\ç Ø÷|ÿ‘döûßÿÁËo¿÷gy>ûçûö ØÚ<€¿ý0}�°·{Wþ§‰¿ôê‚ïòõ‰E\z¥|gcðÕµŒâ}çU¶„MÀ—Q€BD~^a^âlM¶k\& >#"=¾ÒÇž¾·•ù>ï¾FZÛÆNG½µÈ}ÞùÍ&(ßë,PS `ÇA­ry³ÕYì{M“› ç·ß›�îŽ8v�ú·v�-mꤰ¯j¡+Z Ÿ¤Zsš"}¡µS’ZX9³ÍŽjMb=5ÕÞ�OáˆgV`¥ZЭ¶uþºÉ=oÇúû^ï]¸Ë§½ö¯ÚŸ~ú+î\Ná§9?S°”^«oȺµ¶¶_ìfœ­d¡¥Ö.²Úþ¡jòVðã�Æú/ÈÀ³Ïr âð¸Mؼ-»67"û[Íc$Pšû�B"[ïvz¡5¨ßÛíwþ±Ûÿt·…ñïM3¾Ãš…lÇÞ‡ÜÉ@±nÆæµ€®rÅß܇ëþGàßì{dñ‹�î—�y𼷳ݾj0Æv[‚lõw·ºíÝÈÇΖýEФœÌ(Òùé²@–™<ë]Vº¶ùæ%+€íäñ ,°ºxÿ’$tƒ2;ÆÞ=iˆ^,°GAb„ݶï–o›ÐJZGt`4Ÿœ|ˆ=qô1=ÙÌǰ �yÎ@Ú8ÈÕ¥cǪ.Š»)í}Œ�˜œ<1PDÕOž”ˆÄ¾:28<.D‰Ó)º°Ná¬\_‰dLN÷À°øùéàœ ·±GJËS噸8w8ÉP(’¤»Í;*þs_Ìóx”¹¡ƒ×µ+?¤¨á½“´ú²¸Ÿ.Žˆ­óÿeJYðS�©§ §¦¦¢ÀœŸ°3@á?>pŠ|<6U»ÿïÞ¾›¾øÍ×F‚ý_ÃÆKòÿG¼Úš=ûüôì¬HŸñ¿ˆ`Uaþp2ÜPl”W€Vx€äÔˆõõ«Ÿ:èušìô�o|<‚ÿ& -€¤£ï'âzá8@2þ‡]ïT@Âÿ‚D}@‚ü÷ ¹ z”ßóÏ?ÿò«û€?Q Àn€WŽÆgü-W%9ò@@ìÍL�ûûC~uí—ûKÚjå1ø-a^õ(ŽSÈ@æA¢„ÿã(€Ðž€™¼�nw�F'¹³¢ikfš·6Üܔܼ÷›BÑŒÕÛïí6›X‘ K×÷{s¦¥1l%9q¥½˜í7yÍ[ö^w6}¯íù³ü…:0°¢S(,GYß²¿àì:O&¼iÌGA/\øGSöœ�wƹ8‹LCã0¸@s†¢Å"G°Vk€EÀxµïXˆpÀª!:ïÙ±•ªžûCÀ$jµÜÙCÚˆµ×ä`¹Ò7Uv-ÃD,“ÖQ6àî;£9 H¾ ^`O�|% $àÙ³ò?–ôì³ð#O§¹‹¹Ôju+6·hvŒ¸âŒäuÒúoSØ�Q½Ý -d l�Í…ÙŒ±=0“N¹Ç)¥f'äM´~Får^ˤ¢X/þæúü�ÁÿØøHeá䜱bXËÐÃ[Í­«Ö²lõ»[óí¨ÙöU€!eq'ÐË[Ò³eª@^¤–i”Tù ÿ�ŽøŸ+ä$¸ûÂéacVt•ÅÆÉc“Ç„»hðžvxµ€“ØÖŽ×Í*…0¤¥¾eÝ ¥ b€•GŸy¡t,ðÿ™¨ ÌÚ°Ãé@ð„°ÂpÀ»3 Ý!0„hxŸƒ™MŠpü±RÉ"’ðþëÙ·ÕÞ…n¨-”&ØÈı3ì2P„Ã'&GrĶ™ ú 6OLžáÌæŠ< ¥Rw{kü·O³=¾Èý$×Àl¥Þ!¸#Œ%ì–8�šëã}µŽ`fÚ¦Ÿã©ÏfúâÚž°PZ\´7àÜ �2·Xš3`âärý×_ÈîܹŽ | Þ�|õµß#ÿé4ÀÊ€��ÙìÄî{ù� X@BàaygÇrƒ¼º0Î�b•Æ {þNì÷÷wÌåÃï'&âDÛ�ùà ‹ðuûƒàýa/À¾dùÎÄó³¯Â^4ê3š?¾Hæ¼ÁÑ×£í=ç¾·¸ø½ï}¯t\ - Aï(cü„^�û iï#Ñ `ú¥0ÀdÕƒÿáxPú'ð/–޼ÀË‹Á¢ñ1a�=Ì¢HM Ên_DH8#@W@uCbÿö¨Ê«âq€µ�®ÁCÞymb+›µ‚1$w[ómŒÑV” (¨â›�øý,‹3Vs+pm]`š]@ÁBÊv¿ ÆB*Û ö¶ÜŠÊFú[̇.èè§è²Öh -z©q¡5…‹ZǾqµó±[Ôì[åÜî|ÚëmõºhÝíívÊÐÖËZà1¡w`¦b¼}¹¼à'åCØX±K#ö -Ú±¿gTL£B¹`Kl6¤!2Yh�²­âº)lód‹Ö�Ÿ´“&Ípìa(T‚‹5±Ôå.h�7~m1I¹ÐFÚ"7):Xu}¥2cV¦ÂW½/j µJ£6ÛBsv ­Ýœáÿ ú“¿ ÏM*ÓM{ÿ JšRŠ'Ž•Æ÷u1.ÛöѲۅ­¨wánméE1Ô�P y¢n… TDç‚$@MÂì €kX-ð\pHõT£œÂùØÄùhïž±VdFN„\tR®_-ÁhÆïpyâLéıdÁ§µ¬:ö"»½ÅHvºG�þ±É3Q±’IËS/~'¦AB‡DB‘“'N—&θsÚä(èƒuÈQ‰JµŇ#×eEtóG€Pf$iûþH çGL\ššŠ+�ª”J§O{þ!Ñ þw¼‹ÀtÈ_<²MÖÅ#â*ßž5ï àÿ\„¾ÎD\ç“–¡oö>ÁÁ¯Û€èÑ; Ù©•7üßN🾠òkçßû0NâûD¤Vƒdà(€d&ðˆ¼ãäh €ý€!ÀøðÆÇøŸÀÿÆßéøè!S$áð&{?°ïHÈŸÐ_¿Á¾�Bš¹ùð é€Õüš¬Ïá�ú¿çˆ¹ïÙé¤ü¸ö<4@Ó>�Áyß¹±CXÿG1Ö‹F»!…ë^ñ\S$’1ªàˆüÁ�CB("Pñ4ÞSFvÒÇ[ -ÈhLÇëi™JÉÌÆ~9likbÝ_\ÑqM1ŒÉÛï Aúý-à´SÙÝe'Ò]*ömkG·FâÅ‹>}6Ð_üO¬ @ JÈ•Âãü©zÙÕ  -óêDü^Ìñ?î�` •ã‚öµ€Ù«%Öf­›m¿Ü^ú~€­»¡õ‚¢.üæ­¼0EW9&_8]¹ “`ÆKÅò·HbÙˆn¥¨Á©muš›µ! åYlxOå ¯Sê¦+Š\  w„Ù烔+½¦>áÑÏ#ïÚ‰Cäukó3Ár"±,1c¶¨õ¬m$°À»Ò 3+vŒK -­Í-¯@åü‡Âfp†ÿѺÄGÉŸùð¿& -F3IÝO&°æ*g½mo·ç; ìÒ[)À)ØÆî6qèv¯&¡¡VH¡¥ëèt°Ý÷儸~zrr©äj1NÜ>3üA(›'�NàN@ -‚5ÄO€“¥3¾J�êTó_˜ÑücöÄ@›�I§JêœGJ CâYÑdòEöÌ=\Ü�I2öK/ ÈÔñÉZét^÷Ó쎟-Ìàöà9J „³ÓwMKMŽN>3QzfÒÂ@ªr”‹Q¯.WL°—„ᄜ挗7YŠlÈê”à,ȉc(?ul&r:ÎZˆÌ¤»e'@ - d‘ñ‡€ç�»Éíö1dÂ÷sëx@ãácMÓÚ:ïø4Øô´OâþÅ¥=i‰Ž¢@ð¿VËøu§¸ÃµÆw¬¸p|ï«{wïFŸ€Ñ7ð8± ýEÀ«;³ÏŸÝo`#À¡~øÅ&#ðazw^Þqš"ôßìO£Q€0�ä£?bÇï#Fóp† - €´Òä@#€ØžQ˜$Èx4îåGý¹;à ôÏÍ�fà÷JU"PJ5ñÚÜþ‹ÉC5Ä},I°ûÃò�¦YÐÅõHìQ ìé1ù8}Å–(º 3_KÞÑ¢ø®ˆ‡¹pg…]ÔûÒ‚®é”§í€÷ר9AMÀ»«ujÕ={wÿ^Ûžnxë¥ -”ÚÈ`º&¾{úmpälsËø?3mRü‹æ1íâeµì ôÈ„2š jDÚ(" ªu%7ßOëm#ÚH­­­åÕN$ ¸ê…/:M½Ú·¶Xëi¹dfôÒ«Z€¨¥Vr?0™1Ì™DcÄÚ(íWµ9"©MJ¡9(††m?ųYÙ,—-(9�ñ‘f%"Er8k©H¹IÒ/_LTœŸ™ž�Îô±¡Ûý^M ¯Ú ­)R­¶ñœ¦H²h­ÎlUtÀ§šµb—Ð:-¡ã°Ö3ÖþSV ›ãºØýQ3‘š�!*‚²v@F#¶âö¶q œI`·žÛ2²PÇÇ;É@2¤–e_Ïä‰x÷%YÓµ©k±pZ£9Y×6ٲ̞šúNiJAìèHÀõ¸ÓgΤ¥êÄIcëüÁУ æÀŒ7½Écç=îø1]ÀAŽ1ëÖL„ØÐ¤6Y"Í $8Æ"=;•¦¾3%X:]:s¦*ôª;Ÿ98LÂÕc®ˆµ º6˜/4!…c%]a°ˆLÔ_˜LÝ„#jb -KÇkN�¤ãS±‚}Â'R‚�Õ3£ Tê Õ 1ÓíÄÝBâf"nªt¸cÞ6_[f677½y~+ŒGn†‚ÀÒàì|¸ÿžì/]ÿ–©’ŸZ ÿÿÊÊZMÐ5À?TºøæçwîJnkýß½sïŽq€€?£ð–lüGììÌ<7ÔÀˆ@)�ŸÿqÇ�‰àkŸ@A’ €‘ Ì8<!A†¾ðñG~œ9Øÿw€…HóþòÁ¦ºß/ �ð¨Ÿý ñ“ <ù�¸Öýôü� >ð:ü§†×¬,íµüÓ7¬`¯H” Gb<£ñƒÕ‚zޱ†ÜB6„øÁ"ÍgÇ|ˆ‰í$b¹ýËx1G(†˜{´}ã˾·Q³˜cÆ¿ËÚÒõêàµ"&Oã<½þ Uôd•A%_v“Ò„�N¾„P]ÝViÏ<­ÜÎFC@�CˆòBßöû¸z‚¼@@ êÀ€Œó|œ9@2ÿaÐ�”èÉõ ña¾°ðS¤•'# {’å_D2$ÄO²0*©ÂŒ<;ñü~‘<Éžÿ�ù'Ù_þ{/õ“äŸ;=wÚU¾Ñ*ŸrÂ?CLù ¬öå˜þþÈ,9`ŸŽ²_ ÏïB¢ÿz|%Ó(3ÞEJÌ(¾ ÒgÊ]·±�å½ok×h1Û]uz¶Õå=la_ñ�Ã}»A•]@œ%1#õXx²H¾ƒáý\9{¨£¿[¬[Ð?Ut'ÀQl™ý‘LH€›¾e_‘€d)íhpzÍÀ8BkQ‚3²§ƒ¿n_ ¤=R¸B¢ØëZÍžŽ‹�ÖhæŽYë(Í“ÝÙš;Æ "½VsÖèÉŠÐ)Eæ› Y >ÐÖ6¾°)zEޛפ¿‰öÒf2 ¿ùšÍëDÉ-þçž=;Y c#È�\cbÞ§R[Ì.}èˆZGp"¬£;ÚE :¹j¦©Ge,~͈´!‘TÏ#mÉ‚²‘ßjë£áI -a³ê³¶§Óçeþ¬§UA&»Ì¨V·µu5¥µ½ÝoÎhðwûA8�®¡�öLÀ‰¸Jÿ�Wê)e9ÃaüÔ´§kÀêÞÒ“¬É›®›§îcÕzõ˜€˜!.tæÌù¥¥%(Ùz>üêÿaä7{ïƒ{ H(M~g²Z�úŽÇ”ô+$÷;v½‡�èù©)žF‘*k„^UD^”9T��¯W'Ï£ªºœmNŸ�TQ$v;v*é—$t#ô°RáÄ™I¿fl!C9ð™jx ‘´Ä%¶UϨ³,žˆK -9ur’¢mòüú©«hàïŒ* ~gŒˆoj)û9t<nÓðÀã³ÅÙ`Ä -¼ßV/z§§íªï K܈',€wÆz‚Zñ�u €i PZ¼¿ÂÉ=,ÕjiñBõøyÍý€[G¼ë¥3KÉJ®VymáèÑì`7'h¥ÕZéØ\6Ó_Œ‘¡_‰1”.M•jV,œæ4©žYŸª®V§–’"gü˜“ógJÕ%æÜcàPÒÙcì>R�œ(%ü—¯L±·G…"'QãÞ9þ§a"Uá¡-"×¾œ9½t¼^?u -&bNèúUO<…€û4äàn%ü�‡„{s5˜XåQ>¼&å²ß´ ѳõÄ%ݹ',§N•æxœÈ¥e¤–<v -(Q½øIôpûvtäGoßûêν¯ï}ý�Ñô÷…=€û¢@°Ó*¾(ô; µx^žÿøÇBðaj�í……w0ö ä]-õ°ü‘äÔèø0y>¾ñ‘ó‰|l±’ À×n¼Mº$÷@ÀFvÉ–ÿp=@‚ü�ûy†evX¦¿ÿ²€Â� ~ü04ûŸÒ~¿ùOÒ8ð9ÝÆìXL1Q  |`0è«ao=¾ŽCÖ±E*` >daÒö{ÉvÈN£‡ -{¥ƒèÅ"óŒƒNĆx% ¡—®§ò6ÞN_×l¼»m‘ °�µ¼Í[)tËÓVгp)nÕxCº`¥º˜Ô”€l¢.o¸P ¤ÍlFéfÛæ'*·yç+³`í·…z«Ül.D“·Êf™ã$~7O|hæ --ßÐZOqªÍ;Ÿ+k¶·lÓÞ�Zt� cß»<ž·š$§Ö¢_Ö:j8bû1�.G+9$|"ù¤lµ­™z�I²?\Äå‡)+¦º›|BAkèT¤h~¥<†g"ZŠC, ç99Ì)šçSíJþ]w´7CÖ0o^…ŽÛ†=ùeÜ—ÑÕW¦’)XÎ/�¯�?^?ü¼ÀKQ-ò2þp ñjõ„Þ*óç Iõ•c©ª tºZ[>v¬áINèØ÷ºnýÓµKK2…Q‰5µóh0U/MÖP$i¢ZK�v‘ ÔXá œÊ¦‡Ðt¥Œ™ªï ™R‘8Ù™ÚdEB¼ýi‹ŠTëÕêj©´ -'R‚‹ ~üõDާÀfW¦ž‘xnã;nç©ñíäf…€#õÌÏ?û¬•�X£Ÿ¨ä¦úOVâc@%»ÿ‰Ï ÿËÕ•ÚÊbààw€ÿí;_ø1 ÿE-À×Ñ%Ð=¶=á�°àýûÈ£þ]– Éšî¿Ô»¦ç -XN {üðï@Sç�ûû�?Œ4ÇÉ€8Óêà—,ÿÂúwšmþ�{öååBfË;°�Â0ò†ÿ˜ªüd€»“Ë€¾ßwÐPâ—KÞüOÚÇ1§;+5ñýµá¿+�Åë© ¢öÝ̆ÃÀxÍ�¸±°õƒ=0u.'4`b"ÖHø”–=É!:m?³�JÝn‡bëTî·`ɺÁPîI¬(`™> !L�ø¢PYy.53s«&®`ú¬¯¼Þìr4Ä–M€ã�†M¿¸@úewfÐ -(E¡,PeƒÂÚj] ­¥&îåÐݲu\¡uqù^'@+>Ð:>:•Z'à ¯‡ŒhÚX»$qàþ,üˆ/ÌÑX—ÂN}.Z£¦š¨5k\k¥ÒéÌD/¼�”°kɲ¦YÖ½€&3ÏÙ)ª4Éöó¶^46€ÜÁºmA -Ofgd•)³ÌõF´ŽrXÖZ·ÕÚjÉ‚G´Ês¬W ÖM´ò•ñ(òÔG ƒB8ÂCX›á¿ÝNðþ2ýœ¬6üN‚(.IdÒ*€v{3n©çFlK28bbÝ È‘`'‹ù© ¿ŠÑ€²jÀZ5à­@_ÆÕZmé h{¾¶^ª½¼ìž_Âþw±¿%°uà+ûhØþIÖ%Ç5ï]Ãù–§"€O‘ºa‚ œÕ3 «R]CfÎÔjµj•³ÿÕúêTmnªî©“"çу¥êùïé‹8³T=†}é\Böâ¬IN–Œf89½ÿM=1çe§í1†¨øé3ê²:U¸†¤¶Êº \w£6ɱ�È�q2xµyÕØË¸9ŠÝ$s_S ^™xÕ¢ǸïQ­�tüÅxJ¹À2ÏÖòJmMÛem èˆ0€êÅËŸßúüó_ÿúw_|þD@ŒæÃøÿâwcE@2ý‹€=Žïàù¡ÔŒ‰’ù�½áØï`¨áÈó£ý{ñÿïÿþïoüý���w^�’#‰¼m ±íßÏ.ÒrbC§C’<û¶â òCÅPH€òË׬ºöìýðPð‡Â࿲2ˆÈ€¹Ò+áˆê�$�øvÄ/‹ÿ©À‰#ÇÀeþ¬”¼Àdâèq1+ ÿ/ü€<ÿ“xœ¸¯ í~ô™T�pdÂW/¿˜¹ Á”ï¦ØL:›Q›¾µ½µkì5›8F *»€å<¸¢;�™?E3óÂ…te:º§TšåB�i…µ `º�ýúÚƒf þÙTçgÕv]lpÐ; ÔÙZMÜZ(W6AUYŠíß�q®n3J¡´ jìúÙxNg×»ì„@­�¶­3qIäÆQ"‚%•¶´>p;ÄcÕVô?3]éšæyMÐëܧD£hKVmI{Z•ž;QÄ‹( ‚ã蘠4ÎçñïÚŸ�ß™™×Cغ zQšC‹•™g£c„ËéiÁ2­/W®BˆÊhÍ¥“<”¨ggy~αߟi7N¾âIÉD¿„ -ª†Ö¨ívÝj�@âÔºË9P®ß#³Ö¡6ÿðÏ^LÖ¿;Gþ(Bq??_ý»€Æ®ñ -02n šM[ýþUó11€�Àƒÿ’À[fCÀÀÀÀº -`@xwù×J§êá -¸FÀAA~p~i½^/ÍM]¸°tôDÜ¥%Ñ– œ?aư½ þkˆ:…óÕÉZvTkÕ+ÇkÕÓºø«¯ø:™ñ¿ZÝ›‚‰0ïq�ò*ÂÉ.yò¥�zíü\iï‚Àïi––ä%$G¨.-?]�ê‰àÈÄlRçäÒ‰ãKVXÄœœ¬Nq*öçè! —ñ¯MU/¨‡Ër¿@VÔê\89²Z]ž›“‘#¡ÇèP�€¢`ßà½ãIh/�ŽÀ#žžšØ³ðˆÿåçÂð—D¦4 -£ Aã+²€ÀÅåeÖ•—kkŸ¼Ÿ“i¼ùÉ'¿þõ›{¿¾ÌÌ'{¿ûõï>ÿݯÇITù‡écfï0 -ÿÅÿþÀ|! ƒÁ猙c=Ñá¿ûý ùèÃ�òÐúÑÃ<׮ˬ -|7¦#8Á�ùûÖ¿ !~’Gõ$YXX(/\»ñÑ�à?¦@€ƒ ?²Àø7�ÿñ}Gx]ïä8='&0ƒûÃÒ?~$l±ÙWN KÕ¥ú…ó«{¥R3ûüymí¥zíB­º¾T«­n4Öë«�Fcujyª^¯_â¿Z_Å®_Z‡T—ªµzýB£jk¾@5x .³=Ð\ñµêÔku`ñ5R_ª½6Å -Ûj¯ˆÜ —ΓRmiµQšÛ«ÕÚ0ú/,�õ(¶º¾ÞX]]o46jÇ_CIýª8=ŠþÕ µZ£zü޼paýR�äVë�z(!¨žÏ''-¢àT�Õ U®ƒÑ+§_‘Q¬¢§º­Ö§ª(Â,ü‚ü¸ ~µÕÆúÆ*É®ïq¦Rƒ\ˆ1S†‡Õº¹ÍýûQd{sÄàsâ½MÀ;ãc“(ÁÀ þG`ÊSÁÿ§ã]ÆËµ••ÚŠ�kš�~° -X[“,ó_«]d�ÉÚe8ÂExÁ àϦÿ«Å `zòkÿÅ€÷ñž;!ð¾`Ä!zYH‹‡<C2¼�Ó>,AÞOÃ5l÷÷óYHkdZˆŸ �Œ!!~’Çñ(¯–ÞIÀv€!Àûÿ=~xìj'üƒ è�ÎÈßw¶"'ê÷_)A¯YHüZGŸ þ -ÂÙ²70 ÏÆ–ÃèÏ[Ó÷“‡†È™þ‰¾À�ôF¦ry‡€døø�Ó˜…´·vßÚÞÞJ]´Ë,ý5,#¸uQˆ‹·8Ú@0Ú>™Î¼õzÐí]/Pêv[›Ï p¼ó ú‚ é×ë?3­ß;¬`~ÝpüSì‡EnéN ætqêæüßÜê:ïñ+ïT«µºº -¼ÇÕ¹ãsËxmT„#€×ç«Ë¯-Ï�ޔߙ´YÝäI›ÔMU±ó£Î¼Ž„¥Õª‘ €Í•êÕ¹5qÙRbŽÂ#&6Ue»ËU8ƒ¨ð -CuéðyàüsSËà„�°“Ú2ç¬Î‘Àq ± ’b„¥’žçj­4uÌç&'Ž›<6¹<·|‰ƒ5PæôdDst—Øu½zœ„­ÁD)!UÔàL«R(ÃksY‘×`fÑðÀ�Œ@´ÐIâ½ónxxfs@$Źßã=Õæ§t &…|ŸB~†„ö‡%òPÙy¹ ‚|âÂ{2ô³åÏL1ucß -ïƒí9âõ €ïŽR´HV?°ž~y"ÎÇl¬“ -òàìŸ&‡À?õ"H¯¥ÅwÌu([BX‰:ÅkôÞË»½«U -Ì‹ºÁ·XŠûœ�y«}µ ÞZ´&óDY–ÙÍ$L%Ä«‹}Ö¿žä¹G ¾³Àw@· Ç«GÚ[¿”\½øŸEôò¤S=æqÂðÒ©—N�z‰òtèOi[*-þ/ÍÅ—ZøG+m!˜·€6:KaÛœ%·[ÁS³þ?8Ã!ü�Å uüر©ïL²g ,S7²;þߙ㰹)Ž2 J{ΩÍyêS/M�šƒfL½tjêÅ—Ð˳2QGgí@)ý»©ã¯¡ˆÇ™ô©Ru z¡îÊñ<�‚ -ˆúÅzõyѾh™›š˜þàÚÂìÂÎõ¿³#€!©pÓ€(ñH‚ùÃ’È�èà˜¼ë”eë²@2¾#£–ÿŸ*;å—w>�|4Ú0v?PÖ¿�‹…; æþ“ô_jÌ݌ƾIñ²œftR&úR^L>€0òÆÿÀ«ÒTÐw{¬I#eœ%ÿ§Já;È/%’ {‹pF­"“˽ÔzvÅDìWÀ%û�Åp×S,ƒÅv˜#”šJOPê[×Þlw›À”©{mm¥Ýöf&Í~³IÁoÓß@ÿlÄÍ`ýoVº€?Àa½‡­Œ­ç·ù9KSX ôRáN|Æ�]m¼ØÞzkk—q@´¥»¥ Ör'a°ž µÖHD `‡Ö\§öÓ@r0yw—9 ”Lâ¨ìõì�ƒtÓR3@SÙ( û¡8Oygøa+:ëÛ³r™h¸ŸŸäãPr @ÂHŒ"¢/XˆÅ)ÙóÜ4Y4½ÿ��ªnJÏ«–²/FGI«Ü®`úoseÝö[Ö¨5ó\ɯ8™'v1å•UPy Æš¤Ù1–£S™/sh ­PÏ”¥‘}Šì'’Xÿùâ’¼?‚<+û‹Ï!ÚðßW�XOìèŒÓœ®·4(€zyRŸ�¶½ºˆ’ @Ûu¼Ô÷N]©½f¯lµZ£~©ÑÀÜ®íí}Ò¨¯ÖêõK{�ÕÕz]cµ¾×¸téB£V¿°·7µÒØ«#{¯¿FÑ}Ò¶Èñ©óåµ:vóyÇ)‘Õõ½×OUëµ×9[½~¥Ñ¸tkýŠU -ë$Íét.Ôj—Ë æÏgE®ÔYwáŸ>A‘ ØyOçz}ù¥PŠdÖH¾ÞhG+縆åúëµð¼V=W%)ÏVkèâwn)ÜýµÒñ£Hj„õ›õõ ${‰?ç&bßµúrmë¾özƒK¼°ÆºOöþi]½d'kUiì­^ºôÓúð‹—.7ï€@®Xž/ÄgÎG_Éñ?y|Ô3B?a�=ñAnïÓ\¬�úµµ‹k†ˆ+ܸ€�h§ìÛÌþàcq2u |X2â�òÌ÷Ëáú‡=À?£!ìwx><£’«>¾qãZk¶\Ô`y;âÈvz ’ úÃ"À�“ ï_»öA„`ÏGz‘ZžÆ¤ñ?�#£÷· ;åJ"#ðŸá^;_ȇ <©û?uëœb -Ð1ЀWJÕQ@©î‡D?#$FHZÂÞgÆùÄUx¨·ÿO“x-SQN n!®±�ñÚVZ5Âyu·±%Ã\f ¬{µ©�ž.öäL§¤ÓÔ‘�xt²gM f-À^­ðF�5‰0ƒÎ.ðÛ1T �>‚,É .¿,xûØ/—…À: -KÙAój·ó©ZGå‚H 9âŠZ¿ÅÅLW@H’þÕVK~cûº¨.A1Vs‚l§¡u¿©×öƒÚÞ½¦Z÷¸štoãN'a/�5cá¿Ý¶z$9]@¦>¡dö€¸ ðÿrë—€ƒ"öëPQN xÇ®€òQY‚´"œ]bbÕvþ[ñ}¡6¥_?‹¨€…l¿°^_½P[Àçªà¯žx{Ý©5æ¦öØÉ€7CõlµÅô Q5çƒ -.ÔkVAÎÆKÅiãdi¤µì!KõÚ\íµ¼€°³1vîbõ{ýªÕú�SµuŽ‹4н>5Âçê€,¯pÌÜÚèº3$ŸC'" A1‘¥¬…žýóÕ%ÏÏžsCzd ²\ðìP†�z©fÞ¨ýÒÈ�FÕÜðªÝ/¤'›æ½üÀžúyŠ5€øÏó€™§å¿û“¬‰ÑÅ$°ÀÚÅ‹SKk€Ež;Vì�9>Éc¥D]óAI€Pôü@П8@à?’ D¾ó<|@™�Þ�o\[(û¡\ðMNuF€¡.{‹±{åX@$ãþ@"Í1’OwC0Ä1L-Od?à߾ɀ�€$Éןð?(ÁÿꊌÿY–s+€@û}@öž…$À©S öðöýd^f&æànqslÈ€o] ¾„!ñnú*&Ó4ÌÚnëS× -cévÂPÌ -ê®¶©ø8Ý4ÞMpì°Ò‚ š²uPêt{»`BPo·½kµôî.f2 Ôô[`™aÿÑÍ]êX0Ðð0èRð§Ý\Є[YnõHù—¤¬A6»p ¦sÄh£Š›£;Cý)úPŸ�Z;QkqÅ_·¯ßàƒ³�¶ ·�ÝßíuQºßï´EZˆ\&Zz:J2Mc³§‚bP×’z/ÒCÂà‘¤Œx€›8ŒP­Òša�zº‘õ€´}„„ÄgÂK"ðS~2B‰N7}à(âü¶àn[nÙ2«û»}i gíõvm9'Ž?C¯ý®@ðNëíðÇþ [››hÙ鸱K&pÛ%/âö&4dýØabBF÷pûÃó“@Lö y�ß -e§ ýY*úqû‡ƒLeÈ€†HÓ×\ -àÜÿ'ëxª€r·Ù ¬79 ï+sµK,bBoµÚ©ãØÑ)¥îu,ª�•lNx:LìÓ%ξ®®¯¯cìÏ- ¸$�p4è)öFƒ -—.Tç -(mù¼0úZuÙØ{AJ(²ñ’¦º-"•©©Ú. ô�ªz -¤AJgª�Fç—–¸Nv&ÚN¯èÖ¸$Ng™âú£UA9�‰­!ëÑê¥úKë¶’�ä†<òæyÇôäûÅ­ãN ðŒ™€.¡gµžÂé'6DhÈ\iÑ� ÃüÀÿ‹kµ•H§Qö'[�N�C ‡øù€9ÉFÿˆdÄ? z^.< L3@dÇó?�èK sòìÌ–£€ÍþF=ÂqLáØÍâ~ÆÔ,ü•œô8ád¼CðÞ• p‰\0\ðÁuðßóÄ™ŠéŸ'7vRà}@H¸Ò�Ñÿ=~Q'¸èg @ô�k"€ÿÜÜgöÅ -6 Ý!‚ÿÅzŒý´&ùÿ]Ÿ\nw'××�ßàá’_L„B•Ÿè/Œ—ö—€ÒØÊdPr[T*ý:{«ÓaF(µÉœŽnA¾ÛìwßÚëÙ㻨#Ü‘zY‹Ûy㥭Ns:|Ð-­Xí=½ÛAº\`¡ ½ öW:�&x̴߫z­Þ?ptG¶�hǃ«á ”±ñâ6—‚jìàŒ&±˜±¥ÖñÝ™ŒãܶhËL¯‹ÖâÉV»­»\§UòIë·ú½Î´D†í$øîÅéwW=à?V¾JpÝQ1�’ÑïP¯U^èv D¬�˜xDTºûÁakÐÚÝY³Íá\O“¡/˜Qd–Ÿöý†¢Ù4_&× -Qm›üsamr �Y@ÏþîöÖn¯7]ñ&Ú ¢ÁÙÔ &ÔI­õApý–ǪþKf3× @¿ê¬ÂÜ5Æ^‹2ÆúOWUÐËc¦ƒÿabíÿ`|úb¹Ú¼ZxFƒÂÀ¨€tê2�Ñ~Î A2|…¦¸–s¬€€WXÜ…l¬_ -ཹX=ãˆzíÔTÛ—â-j='^|EþEG}ßÿAîKë %£Rý<à-æŠêÕúª �%yÁR­¾|ª~ÐÏ[ÕVÙm�d~Œ&{%Ò°õ?ÊÔkÇç "^ÇÒrABjs¹@4G=Î/]¸À\XºpúøùÒääIÛ+‡Ô.\HM½"ÎW70r ûà¯d&²Zo”ÌÙGbLƒ!�Îg¦“&nLzhxd„Ikð‰s�è/q‹{?ð<%üJ=CaOÀ‹Œ# -ä·Wà3=7N�2l#ÄÐ�ð2� Ȉ@ÊÓû€˜Áôç<þü�;þv†á! ¼~l€AÞ -ÿr2ÕÃ@/Æò÷H˜:"�BÞ· I ö Ö@4âÄùöKþ<Øùà£Ï>ú¨hp_É ÖØ,f'ÀJrŽz�¤¯*…àÔ©#ÇÂò?ÊL{á/ðƒûñOî€?"²|ûõQxgñõ”ÞÀPÚs¹Ü4(ý­îU€àhëUs3…Ó�XÄb²ïÛWÁ™m�¦2ݬt{Û�Xˆ˜Ë¬Åø“0¦a•éV³ÕiU°8yéçµk­ù�4`“�%âRk´ 'hÃfâ|’T�+q¤ñ»°…ÖâŠr¬l_@¶°†\ôO §žíÝÝf¿]¹ŠšÛÛjÍ5iàøiL[!oÁ˜–é@¸ÖήàÇlgÁ©a“˜Á�f™|aJª“Ýï‘k”rB<�Öë¾%Ek‡´îøm&å²Î²Þ�~ -ïjûªm$´�â[?x >H€‰eÞpd6vÐQ¶“è:o¼…Z÷úm=^|_¾F’ũպcG@�~§å÷L­g…¤¥Ë¿Z”�C=Ú«b:lý'çB‘7ž³dã?P¦S¿Ïˆ€Xæê–?D »KTð—$ õië )D-„©�$ÌŠ¿»¾6õzí|à.€h5ù¾,Ý Wýêê—‹�ÕQ¯O-†ÒcsX˜Ôv¤_=6wÃp-‰¼XÝ«—V×�îõ�ú©Õ=lgSD�SÝ‹÷u`ÛY$êßÓŽY~öFr¬¿d*!{µãÕKÑN¸Íd$ )qAÉM€šÒì)Ìê™ãKgNûÅ_ÏÀ.:"¸?Ò„‡,ÕnVçêùØåˆH¨ÅÅY�q=€—êâ"üÅȦˆ”;nJ´8à3{êðyÿ“@{ áó—©¡ºú'6€‹Ñ €Q€5)@´\»x1¨ròÔÔ©’ñšÐ€øz`X˜c%5ý?8ÌNÏê(¬&øOÀÀÿxÀ�àúNy¦üêµìÚ7PÑzbòœ*9å±âÙ>¸ÁyœÆ8K€ùjSL‹¹?‘<‚`TþWx€ÙïÍ4ª3Å0#Ò~¯ÀÚz¦¦¦4é5ô?ÃϹíùï߱Ó‘AYŽŽR¦ -Š,muý8 èÚÒã1±–;„ûµ×nÎTZýV{ V“ä’*€ô»šš‚R -z!”ö¬–ÆvvÔO›+�J¿•Á7?XBf¦-+ÀFÆBÍ»›ÂàfEo{§&ñœÉÀ=ÏAá؇ÿ �\÷“zí¥zmëÈLÀ‹�kõ¶€·pW_Ý[¬ÕÁs·Ôm‡Un°†wµÊ+þÌ30€­8¾uƒ<ü—¬¯_Z=U'%R$�6�ûBÍõ× œÿük¯�/!«Ü/¬n\J–wãTíB�—ÚúêÔ2WWÝs¥Vý+Î[Èù0áuß;Öôg¿KØùKJ“Kg ,¥3¡ˆÉsYêssäË(’<\ Ê“HmµqɆÿüæöiÃ}„Ì¿:â€ð8‡¸Â_ìñ«õ/Ï€i?W¸5˵5ñßÚoÖ?ãeEƒÑ&€“z‹Ö­`aʯŽ^¨ò˳Ï�ñÃ?°?&‡C‘µÁ?–|ûøÃÄD|~Úê×R¢Ñ Ïá!§û9„Êøg`d‹T´ûÙW³‡�:-À.§r›»à•ZG§ Ížmøí’Ÿ¼Ú†00 óˆ‘p¨Ì?=$“/H¹Ò† h:ù}å äh9Ò©ì†Ç‚?« 3ЫŒ–T§ž}^@¶†“Äþ SßHÜõ^³g�¨c|A«c`hÍö](†»Y”3±þ‡ñ?à?;�ÐùArvzzŸ€ÂÀþe‹ €Â�%Ð_€ñèq<Œ¬Ö_²£›åZí5)€«.ÔìÐû|xë—æªõ@éÕõêKõ›Ðƒu!v9Ìä3–îñɼãsUûàÓó&÷@Þ¨�’ ì#­ÈiÐ �Zöð¼fgXÝ9‘C£ñ}EVÌ¢À Ö!"õ ׬Vÿ*9B;+¬V_Z¾À¬a„°¹ ÷ŸaiéÌñÚé“z+L$1�,œÇ6þ(Rµ�ܰeÔȽ÷Qs¤Q;åiÃ}$B|UB|Ö}$Ò-.Bâ)ò^Yì{žÓ þÿeU€ÀÆâbXük~0Z -v„¤^�Óׄ’ŹÅè6h¬¬-´Z¯Æ?�ÓÜLò1p€úóϸR�ŒÂC"þ‘€—§gv®ÿ/g(› €rþï+9é±büߤÀ"¶ð!cÀð9ÜeæÓ÷ó\A²d|˜píÆÇŸ}ôÑ£€Ïj%Pöc\Š»VxJ§çì8­K«{qêÅÒdBúô‹†ùø‰¤iÌì/24ûmˆ¨o`æ]î@»}ìôìd7P kÝýn3<”º–À6Üõ›‰ÄÑVñCÞ²|ÞÚÛå™V ˜:šá Ì.€Äã»­ÊYûß)x÷ç§!Ñl^ ÌLW@ú¾e†°•ò‚’½oPÚkÿ2 ^JN©^»öÍ·w›à´—¨õNyvé4gšì8ümõ¯‚‘[WÉŒþÚW¦QU€[up õö.lckw6ÓšŽÊ�¨g1õ«›Uzå™n¿·»k�>(.”šÁÂ*è$�&™rÔ© f"p«¿Ûë´èv¯ö›]²†ãì�ëîÀæÏFt›ÀÞQZån4’¯\5]"jÝ·rÎÐoþ2€î[zК­Ü?ë:v»�Ô{B¾÷䈑 ½]»Ûç×iöÑõlÑ�xAØÈ¬}Ú\²xj†­ÿ1ð?Àÿ‡û¦Ïú5À�À9$;ü¸ÂaÀH;€°þý£§:Ĺ»rq9^.ˆ»ayv¯Üî^°¡VF;ð³?láFmªÞ€¬¯‚¹µXж[ßå?V=_8ÎCÌn0sýBò„ˆáz­H\_ƒdx–×j¯-°œŽ©gE.Ôë§’I~a"‚°ž%»ôã¼Ë ò™1®B`r*Пä̱¨²(�ID¢vÊs0"Í~^†Ts•Hæ.*ò†.‘´ÉhÀ �ˆ¹=‹ÛbÑ2ì(BxNŒÒpÐðôÚ@¦žü þ/‚èÖ/Ûú¥VÅú¿¸jy±ÊV»V˜ +ÚȬZÛfn0§Qš4Q‰€ j¥@¥�¶Ç9€ ÝÂÐ’¦@ª5n,‘”j4‘UHÊ�Y­,ù§¶J“±ÔjP¨I‘2@†Z¢²T†þÊI˜’AK�e€œ‡Aæ +ï·­¶œŒ~ˆØ*Dj©5D Hk5ä'QÌXGqz=IâI¼³àL/À–�¤é ÏS7ðzÈå¿ú ®m(€Üÿýð#u+½Îx›‰Bžð$IÒ8NÓÜÀÍmœ�ݬ;–"I’jvPͪ$?˜Õu×ô(Ž—yž'±s~ví4fálµŸÀ–lX?÷F[Ïzì×hkT×¹Ù&gοLdÐßE3î¹íE€³+*þÉ + d‚'Üm"Üßí8°+ ÀY–eûg@4L¹ïïïïï×ûûÛp!€«í“gðQ/ú@ÌÿÓR+,j"B2DÊè)�Ÿ¿B!ˆ=–q!€M� 2¨Ú«¹F$2Š¡´-�!Tˆ„dÿÓèVXÒˆÎ0å}£I PIf +ª$S* ²\!’åFPkõS–Še +(! ÃLgDJ( Hÿ©Èð5YD$kHkR¤h­†BO¢˜EQœÄ› + º\leâ4Mû:àõ´ w–s™ß�ÿš3éPoàÆpüóþGžú±€k`ûü'I’$é$Nó|Vɺ™Íf³cYt]×¹6áY]u’çuS×]#{oññ²ºÑï€óc•ƒañÒhkO0è÷þïFk7os@Ïö;„ëq„;`AˆíÓ/„p«Á8Ï80ÎCÆÜÚÓ�Ìâ=~ƒÀ/ð¢5>®þ§Í,€÷² °îwˆÆÑd2‰Ý†`¹¿¿¿/e]çq0¹¢ßñ¸ÿ³‹@%¹±\ �Ý×Ñ­¬dI¡¶ + é>¶ +� ¨û€D%(Î!Ë2`¥à‚è¾RØ–+£3@2D-¢RdŒj[£Ýàú¯•Õ\i‹JYtI�ÕCRDˆH%�RÆ"U>hW¦-ZЖF)Õ–mI\ •�à|/ä­%r倸ŸDÈ]%¡E¢RSÙZ¤½h6@<‰“$½Ä8“تH®§iêúÔâ4Žg&æù m)€ÚÛÿùÚ�yžç7rÙ`] ’óWÇI>(YUu3›Íšã}9›ÍŽ{ì÷˜5E!eUâD¿î5 FÃúÃáèú7ý Ã�Øš¤¬Ÿâc+w¼ß¹†Ì÷Ó�wû|o‡ˆ>UD;w¯à8ðl!Цàûf�ï˜Lœ(ëj¿®ö=ÆãhŒÆcæ¿Ä®]m§€XÒät¶sËTkÿse,'m”›©aH‘ÖÍ)EÂõñ*¸Ÿe™œ€+j•²h<0ˆ8ÕÆ"¢5@ÔhÔ`Íê¹±Ü�A$Â’ Þ'k[Õ’"2ô€J"lÛï­.ÉBKW-)kÛvU*ïÁ9@k—PHe‹”"D4~®‘±h$2̆ 8‰ãK�ìš´¤i²€3ã|ðê� +@ÞLÀù™ozb„÷òB~zxÓÌf³®.šÇ³Nò$Iä¬©× + È yPÉ¢˜-åÅ + 'Àgàã½ýŒÜÑ0TtMˆ`½¤y¸»k°É‘K®g''¯ÎÿOiÇkü^ +€mx^œÍ\œ)Z€¯%@³ÑÇ. +¨¤”RÖû2ﻃ`<î;TÝ\Y¶ˆTzhMZmÿëùs+V¤ÉzO]­ µP‚dàÂÉ}„�e @e¤8Q»Ò¥)[Dk ÙÖiRD`íjEd­Ñæ¿þs¥…Õ[2`ÜSëV= jï#€i‰H«ÿ\•Æhµ –ÊreLiJD + 9Bk[ƒHþçÊ×Ö¢%†,Ýÿs«KÕj2< ÍE?I|6˜\¥`ø( Nã¤ÀÚ¨Ïz®È¡@nœ~·lí$I²&€Ø@âÞ¶�…¬¤» ÌꢙÍËÄ`&“Âs)¤¬‹Ç?õØ=Ëä7àªGlÀFh0ÌïËg·7§›ó /»î>;9yõêsÿh4bo·ø Y¶�H®šˆ|Àî ɲŒ÷=¿� Æ“¸€¬dUÉ})å¦èGqO|p¶±, (�ˆ­^iÝf­6­±†ÈÚÕýÖZ£Z…™*ïO3PD ŒZ €L)äVeJ•ŠÈ–æA«2¤ÉN¡mÛreü¤qÔØšê–·ÚX»"$Û¶´jm«VJ j A*5þŬVØÚ6[‘pË~[2¦… Ñ*TÀW¤¨)Xj5·ZS»"E¶5jÕšVõSOï›tM€t €Éœ¯ŒÎ…išÇ“8Î×wêþüïP2ÏÓü†£ƒ—7üéwwvç‘$"I„"p1@%åþlÖ4]“7³Ùã‡u#y^7U=kd.eU4?Éæ±ô!@t1þi.üm°yâ7Oú|äü;¼ú¼Ã? ü}³l; �\5 À¶²;B€d €º–‘3zPɃJÖÕ`A04ž Òw¾m�+  Kíì@È2ß% @!ÛKmi h­”!@†Ð�e™à­Vª]QËÿª¬YQ~d¿R÷ï?XùßA&`})¶¦¥UiIµÆ**IiÖ�1Hmk•ÊVÊÕŠZñW2ÆYæF…óŒƒ!„È8ÏYâÛUf­ié?�)Ukµ¢ûd asOÒ4q!À +�†y›i@wÉ8N6«û=ÒÝ +ÀUåës?¹WÉNð!ÈsÈz6kšnVÔ�g�Lx«Y]×s˜9ÌþVÕ�,ò<‰Y8žì¼¢ÏÀè7][ñÀÆIÿ¤ç½w÷îÉÉÉ«W¯^½æŸùïb�óè÷ͰÏÌD;²›àYR÷x4““qEÑ„¹Âöý})+YWuÞo‚ 0‰#'bÏ}åŒP‘B@R­R +(% 3­USŸ\› + ²Œs×$çPZÁ_­i[ €J‘R 2…t_¡BE@J)A@èë @ d[Ä>´¦µµò»È}l¥D«=Çç¦m�ÛJà>:gÂ-�̵ ¥²á©…(M«Õ +µm�!œÂ` ˆ?¤›ˆÖ@š¦R&éffÿrà=€mà_Üy!¥H„HÏÀ…éÒ`ÖÌfE=›ýT%,á²9¨ªœåuS7MSäRVòñr¿�•Ìó$aa4aÑ™—IE“èóðY‡~ÇïHþxïß¼xõúÕçžÁ8g‚ "ãÌPwæBÎ…+ßÏ„à<äœñ½ŒñLìq–qÆXàö’ºÍàaÁ†:ßÂêVfpιû Ü/YçŒ ÆÃ0p�X2μd®*2 Ã0 × + É'~"ØdÀ¾¬«Þ�ƒÀM¬�£1‹cO&»@Ô#±ü¢ÆV‘¡4)$"�ð4QYjÀLϲ,‘©Ìçå� 2P ´åE¿ N +Ñ�B"\•d•uåúñ9h£[Dl•3ÈÑÊ@àÊŒ´p-F�e‘ TZ‘›£Á�"mÈm0\i"ÝS´ +§¼×èyÒ‡iÇ“(Ø@:Ô$g&¹[ë Oå`ño`ÓxT?>çÜÈe¾Qè�Pä…ì£~‘l�"IDOÒ<õÁ‚WMÓÌf²žÍ~ª–°¢®<öë¦.r)«ê§¿U…¬dž& "·$fëbQ4™DÿWà·]ß|{÷îݯ_²¾¿”‹Lˆ½>‰ÁÝáçYÆA02ž±0cœg{Œg|Ïí YØo%wFù CÆ3Îà à"É8ç"a‚ñ¾(™ñ�e{î7<y誅CÎx…QúµåŒ3!X„¬ïs®ëfð&ã~æßr?�Ç®ïÃ)ß Ç,Ž&.$8€ß@)@BDM@†,!*…!‘e „à™`"Ë@@Æ÷xöW§”BEt +� •BPQ#)l •"…ˆ¤ •ÆUçµ(´¸ }� ¾÷{ËI�B׎€( s Èœ +•Ò +€€©"…¤�H)‹@Ú-ê¾RO꺖Ryš$I§Éu·û×­SÝ +Ò$qÈÓ4Š?U%�ãd[ÈFž½6À£sÀúèK™Ky#ÿO�bãÈŸÉäy§y²Ñ °_7³¦q“à�kÁVÔûu•ó ÏeUíÿô·Jʪ*œ 8‰ü¢ÿ#ŠÜ€´I|:F¿‚ߌ[·¿½ûÇuðúõ›ÓÏø'Ï.Y&¸ŸnÇ ÆCÁ]÷^Æ3!Xȸ³ œk¸×x²ˆï1ÆÂ�< +caÈ{À¹à÷=ó‚q–‰=!BÁ…àŒN°�1Îx†l�1Æ8Ï8a¦Yîyù�qßô?{<›ÉI4O&}okU9oh?wþ€~äE?ðÜlpŸ.3Ö•Ó+£È‘H!®ÁIiDmÑRiJRʥȀN¤�û ?ŠÊ’ )Tè&)EˆS¡¢W‚' �¦ªU¨5xN(mÑ€%¥)@šs€º®ëºrI¹$q­{i�ƒÀ9)Œ¥2Ïsé[õR¬³ØÍç�¢(ˆ|,îN­”¢šUç°Vû»<€såÀRæy~殿¾2î�æn‘pQH)÷›¦if³YÓÌŽkÁ“³º–‚M]׳:Ï¥¬êŸ~ª¤S›€nàÀ§`ô{à·ø·nÝþöîÿmC¼}÷î3Ï2îÎ"pθàØ ƒÐB÷ÂDÆXÈ9ÙÞãágQºº²�ï±½�ù—�¹ ž…AÄ9!88O¸oX`!Œs7Ýš±€srÎXÈ#ÆœžàØIU¹™>qò Ú?¨ëƒƒê žÍŠƒÙAUÉõCæ—לïr8[Ì7fŽåùdÒ /‚÷}ÐÔͬÎ#Æä£º.VÔÍ€úog±õ6£(ŠX4™D>ø½à†VtÝl6kš*�¶7úŽF£`¼]H<6u}œ×nݼuëö·wïn†oß½?}wúîý'œΓ$ñS‚üÚYιàA†AПÌ=Î÷þ„ºƒÉüQf¡‰ç£ôÐÿ コ0 ÂÌߺ"sïæ£{ÎcQÈW'È8sÎxÆö8ç cŒM½·Ày–eYæ†þÔ=ÆQ»ÉÀqÕ Ñ|260‰'“Øs~² èûýé߉Ü88¨ê¦iê‘WMUyž¦q"«áMšfÖÉÃî°Úº.VÎØ(~•yîšÿ8OxÂ}0çîã\N¢tˆò¢rÏìþ�³Y�³<)êºÉ—u³_?:Ès)‹æo?íçRº`M¢(vŠpâ~�L&ñ$f“É$ŠâßnjUç¯ÆÅ¥=úM n^ê®ë#áæ­›w¶C€ÿÏéééû>¼»òùç~–�œ3ž¹ÓÍEèfsÆø^Æ]f@pÆ¢0âb�ñ$t7r¶ç,@Æ3&Ø^ÈYÈCîöpΠEÈûé>‚s.\¼ÏCל芕z•XÈ™g‘<ãáC·Íˆ±¦Ï¸Ràñxâ¾8®ö÷Ýí,�6õ‹ë|3à :ðƒëý'�,¡BÒ¤�,�)Ý1"…0�rE€2á €ŒÑZë"A@Bm@"M‚ÈXêk�ÀÝ‘I"…-�qfŸvË„ÒÊðQD„QYkˆ4p„©B€û +8dèò.MHH¤ a«ZBëžÚjÍA5ó¦™5Us eÝÔMSK)ó$qEvIÑ4u3›5õ¬išf¿iºÙ¬)òª©¥,ò<�Ó¢ª÷üX¦¦ëŠf²ª.TCÀf2°¸k^·íÀI\ÈI”¤¹Ø4꺩5uóÈ--d]ׂ%òQS×M•çRÊfPΘøCßþ(š¸eK ®€«ÿY3ï0›5õz0àrܺyó¦ þ·³!À»Ó÷¿þúáý?~ýp…óφñ²Ì›p! Ã0p“ˆÝ¬r¶ÇÃ0d, ¹S! ƒhÏo9ðW–ƒ0 X…aDŒ±0F>A° >kÀB÷~ªÛ‘ÆB?< £ˆq2ð~½JŸ¨ëºžÍšÙLNÆÑ8ŠúéVU%¥<�Ræ±€?ÿl2aQì7bì ‘4i"²mK„¤…ÆZ4¤Èf-™R!iEJ#$n1HFÀApP¤ §Úò¦¤”;öÂ=·ÆØ²%4 +$C– ‘±¢%2¨Èw¥‰)2h�>PJiBÒ†+Je¤4p`5)E+7€µÒD– š–À”DT"¡"Í-!ꮛ͚¦98lªÊMX”Iš§I.«ªªò¢™6³n6›ÍšYs0ë~캦UwXÉ·ôÖuã^š¦ëŠÃÙáöù¯ª«z¾@æyžsÎÿˆÎãÄ…‚qÂcçùÄ™�…¯¨¤lœxT?ª›‚åu½_×9K䬩ëFn Iâ(Šü äµps†Ÿ¯€�ŸÿY3kæ³YãÏÿ±@°U|™ðõêÁÅçÿ‚àôôý¯>¼ÿǯ¿þú뇋 �GQžE‘{Fúýeýßazú?êSŸÃÂÄÑvd¸Æc0L÷ŸÃz¿éfÕÐñ0”Cn�8pcU€ùÿµ0ØÛÛÛÛÛÀx¹Æ¶8Ž*é&@äl>öŸDñd7  M¦%2V£6@šiEÊ€)­0† ‘VHD¨9‚B@ ¥¬RjJ†Œ&Ò5º7&ý¬Œ%ÓkZ"CŠŒB¤Ö` †ú§F"*�¶‰I·T–d4YDg <$ÒµsÜÅ´Pµ5¤Ñ�BÔJi"« ˆŒ0%Y²@D¤µZƒÖ]×ßÛ+—NÝ/Ò4O’\VV¹œ5‡‡³n>kf³nv8›ÿ8ëf…¨ºCé�æÕ~}PÔÕASÏfùasp>xy/€ï–îøK°„ÇqÂÎ☳˜',á‰k_.d%i:À)€}7 þQÝäq1««ú ‰ù¨®›Ú=ýÿú©. +)ó$aQÅq4‰£x2é�ÄQMâ(rÕ¤“ßͬ™Ïšù|Ö+€¹Àh—*€s+gä¿în‡¿züúë ¢XJ)G£ Hó¼ÊóIžE!r/8g.õÆ|! Ã Ü ]Ê/ä|�…{lXx¼w敽0Œ†Mˆ,÷‚½�1ÆÃ0…,ðq¯XÈ8ÛcáÞÞÞ°¹>7ª0d{{!sÎ@(XÿÄϸ÷Üj°É8r€ë�çÀØ­­žL&Q÷S�ÏTYü@ˆ®[·¤‡¤A¡5„¤ ‘QH$ )ã¢RDÜ(¥A‰ìŽJ€»ûºédy« È´ÊX­ÅŠ4 ²-@²Æ2¤‰•ʸˆ@“Õ¢mI+B,ˬ³þ‘ÐX"²Üj¨ H‘àV@¦Q·ˆ€ÚhChÐR©ˆHXƒ†´6DV ½"íÀæiª¦išÆ•ñ$I.e%«¼èºY×Ìf‡ÍüÇ®›å¢j<ò$—ÒÝí÷ª¦ûµt²¼(Š¢È‹¼(\p©Ð_ÿ’çÿ’çù�œq–0ÇŒ%Œ¹…`1ã,f,f¬È£(N’›»kÖ &€ŒÖæÁY°1¬4ø(nÞ¼ysüñîà݆øõ×_G[�ãñ8Ïó*ÏË‹BæÎ�óåAÅA€àÀ8c‚ åNŒ;Û^ÎD?Ùú¢>.2_á B0.x&Ä2ÎCQ#‚@!„›p nc©óÀ?a– È2‘eÜ…Õ 8® cYÆ�Ñà´çl6›ùB a¾�¬ü�(�£5&=ü—:ãh[¸Û)iDk‰ˆV­ÓÛÈ‘¢•DhJÒZk´¼…L2È@ ˜(å¦ü¡%äšI#‘iÉêlEÚX2†ž›–�£È’m}ÂŒ5FÓJ<· Ñ€QHõ*±DcHñ©J! jRÌ +È�4aK•V¤­¡ÒÍ\)7µA­i%l ¤fݬkšæaí@-ó<]À)€ùlæÐ.ç]Wl Í¥”²:�ûu#äÅ¥À n ©@véUäQ”$b«âpß•…Õu-“¼®d]%—M]×M!ò¢�³¿Íœè«ÿãh“q¹»È$šüvt]7ŸwÇÇݼëMÀãîXF >k + ¸¢¸uËŸÿ›·Î½}÷î¬èß-NzŒó´ªò8rœÎ€˜j…J)­ºqsà¼@1�L§rP<ã\¸„îR{\$Üí÷“ëýN %¦*ãb�ƒ@Ýj¥q +¨”㌯cÉ5D&„k’É2‘)Å@!(&¦ÙJ .€g§ÓétÚÔµ€¢É&*YUy¼þ�¼ï ˆÆÑù½n—’µfÕ¶Ôb‹Új­ !’ÑhÚYT[­©ÍZD­!�)J€+ÈÕnò·æV+T¤L©�1V¦%»j[Z•mK­!²š�¨$Ó>ä@dµ6«¬ÕHZ!= c4BB²„†È®µ@ B… +¸Š+k ­ŒmUk�Å�ý‹sýeWÜLjÝÍfMÝ4û`…À|ÖtÍlv8k~ìºÙyȪ:¨öêÙNPò#ÀöX�<ïïùýOnÚX¿´�Qäê–†Þ!9Ì€«÷ë‚I)å£}>b²®ê:Oò"—�—?9¸J@—0Šú%©±[iÜ —ü­ðwýY×ÍýáïŽ��? +€Ñ8>N€µü÷!À¿í +Ö +`t^Œó¼ªòœåBˆ© +P િw3BÀ„à‚p‘<á"á…È$nIN’9›? ¸P¨d�ƒ~3e4ö “É„9Ï'ŠÎ„Z{(Eˆ­Ri,Ym`e,im¬¡)ñ•nÁ* € (@¥µÑš ¡å­&²ZÙçDíóÖÿ'‚"ÿÔ†ˆLiÈ’…ÖZ2DmKh ‰çmkþÒþÅšÖj²nŠ˜6Î%pO=µ8Å€ZÝ/YÀh´†´-‰¬¶Ê«-¡m µ%xþÚ¬ˆˆœƒ™˜¹–æÙ¸Œ‹ÀþÈ/è8W,óÉãþÞû¨¿1c1KdÅ›sÇû¥º®÷뺮Üàáº`Ñ6÷ˆãÈ'Œ"_2‰X;s(^—žÄ“߀Yì»AüwÝ¢ëºc9î-òu'ñ¶ ØËž0x&üßþ·»$ ðëÿw—§yUål’Ë<Ï…RÊ¼Á³?ÀTq–1&8ƒ©€L%S>�fÀû¥.Cï‹ûüº1àb€LpÎ…¡ c ÀhƒH +”€¿ý»Ã,˲Ì/¹Íøg@…�ñ [Èxæën”À¦ˆ#M&“(–ò ’RîWy<^+€`ä'WF‹¢ó�FF;¨¾lF�òcBA‘RÀAQk­5ƶDmˇ¾­™3Á•F­•+øÓh…èÜ,ãÀu–¤ �RÊõù*H¶µÖ2–´nŸ È\0B»{xKšÈ¢B¸?YÆD–)‘‰,…D 4øÅ倠�2Ï�µFQ«µ¶+רPÁRyΘÀ�³�¨>¦ò‹{¶MÀ\æ2N8ã<æ<Ò�¯'2�¢$ñ +@¸@î˺®kY×û•«Y®¥€¬óDäy}üÓãÇ2/ÆÞˆ#攀7þ¶,Á(šL.Àåî7Ÿoÿ¦;^tÝÓµ&{_€ 5À­íë›Ûß|wçÎ�{'/^¸V ·§§§§§ï?¼ûðáÃ?Þø°™œ$g�NâŠçB0á¾¥¹3¸”2nð.ŠÂÝ£„pߺ®ø8Ë2.2È2ÈQ¨ 2¸O*ãÈüvîº�Üj0ßãO;pÖ”ÜÀ¸@<™Ä¬¯ß�Эi]Âôuû +É0K÷K?zK)ÅH¡Èü4@ +Ýj_ ¥¸BBå‚*‘[BÒÊצ¤Ò÷ ’åšî—äÖú ·%¡B,•k+"åÚ•PQ FRœúðIY‘iDW4„D†ë’ʲo3$n •ò­EHñ`�pÀ�ó]&à�<¸< Pø…çënœ+ÊóÄ×ÿº-}!°_ À¹¨Ó(Š]�nºu]ïï»Ó/¥¬óÍ Ï÷��»™@õ)aNØ$šLâ s š0Ç×ôé˜u³®ëfþ—!xºlšå�Øò;‚`<ÆA¿¹h7®ÝüzûºùÍíÛwîÜyöìääåëW¯ß¼yýúÝ»Ów¿ž¾?ýðîÎ(€M$2/Æâ8I’Þ�Jpà<›N…Ê|Ï^¦ 1!²i¦d¼ÀO|‹/w·g\p.8wˆ¹&Eh@)rÊÔ€ P¡¿ÎÐ} !�\¯Ï2‘y$pÐG ÃrÐޜı¬*)÷÷å`n+·o—°HHÚºýY†ÈØŒ«úEBE†•e©�”"¥¦Ì(BȼYA •V†€#‘B�„¨Ú²å+cÑéÒ�1„uµ}èN)•%•Ê7íoý,_B@ú�J"2„Ê�rO Ц†ˆ[BW$2E2‹èþ›É�åX–ä=o•"}]�¹< à<€Y·¾àRÀ—ëœón áÿ¿ø€ ùÈ•n@ˆ�Ñ#®iiß�ÿƒ5dšäy.��;¯’ ¸{ß Å“¾R|¨‰vàRó¯söß¶Ð/—M³|Úur¼nèKÑzë/ÆA°Q»²‹×þçk×®ÝúŸ7_sûÛïîÞ{vrròêå«×oßž¾~súþݯ§ï?¼ÿõÃ?>|ø°Ñ4¹.¥üW€QÇI’‹uiÀ WüèÊÑ8]€q¯ÿ¿Þ||ýÍíïîܽûìÞÉ‹ÿýõ«7oÞ¾9=}wúîÝû÷ïþñ�üãÿX{€Aœ×ûûRz?,N_T™»·ý¤yàÜ-¦æÂuí w¢…áu;V[¯2áîùÎó¶X–eÎŽJq@÷<` + 6Z·¨Aim¬ÑFÑTOAd\i­´FM>g˜e™ã‰PUUU4u×ãë<)eUR®Ó€Ñà©ú�QÄ"v&h[Ûjݶ%YEd´+²Ö�ÒHŽª, )ÄV³¥â™!€JŠ4¡Ñnǧ憈œHÉVÔºª*µ1 þ“ RdÑ æ¨Êò)ã¶qk}®±Tºü�Ú’È”@­&$®Ñ�ßòeè9o5YtÃFjà+_l�¨•娈JRÚ &ãÚ"K%*m´6Æã�ïÈ4kœWÕÁÁdzEQäg<€RÊAÄßè}?zä’G�FãIœ$iÒÏÛLÈ\ʼȥ̣ Êk)¥‰ÈsyÜÍz rkä¢ c}3ð¤ï‰'Ãp€ˆEnRàÕÐuÇ [.«fù´{,ÇÍÀkŒÇ£QàŠ†¶ó×µ××·nßùîîÝ{Ï^¼|ùêÕë×oß½{óöý»wï?¼ÿëûüº©Æ©¬ëZÊÍ®…ìëœP>Ç9ÈÁ�‘ îοvÞ�Á•5Z?DDBÔ-(ÎyKäúÑÁW5$¸›„Ë! ~r(ÐjkµÕZÛiÛÚ¿ µð§Pê©Ö`µÖ85¨„ˆˆèÀã¾ Š¢˜1ß\UÕ~-Š|â<€3ð +À ¼3 +ÀZ2} Ù"Yi"|ˆ¢VĈJ*ѱJiF"�‘P%€* •[Çe-ñuñ –ú¯Ü¢&²†Ê²Td�¯œÓ +5i÷Ô¤¬BMÊ0CJ)]µF•ß#Ò"2T’5Ä4ùE¿I¯¸·¬HdˆŠ—¨Ýô².pAe¢BÃûé@¦%cŒ1Ž. �^œ¸Õ�ìM@ùìRRnŽNó\¤—=ò:G–$IšæyšæÅ:èG—ä¹”Iz$Ižçõq7{,S·ÀO™lŒš\:#èjèºã+ [{î†ïL@ƒ·|½ãºyëö�;wþøìÞ‹/^¾~õúÍÛ·ïNOOOß}xÿþ×þñ�üã,꾈ª(Š¢À¢( +—×Ë2Μ%.úf}iŸkw€‚"!@kk´Öd´&ÊÄÚµ5jBí:ÓÁ;X~b‘¹ªA‘‰©ÖÖZý0Ó µµö¯ÊZý0Ðöùó¿Ú¶µµÖZ‡©@¿Ðw:b³^T²Nré{¢`@k²T:L“ÕC"4J!š5Œ@©„8k�Ò¸ ,©|øWZ­é¹¡Ò”d[Ð9{ŠL©™¦ïÝGE$2¼lbI†H#=@([KdÊÒX$Ž„HJ¹}¥-k5¬¦îëc€ÿ; )"k¹¦?—¥"š*¤Òpc!™Ò ×9ÐmyÝ!@µV— ¸°Pæ[-ÁââGžçuŒ]%@šæIšÀãZÖRºª6)SÆB÷Iœ‹\ÎoÀ¹lÑðˆ¢hó·ë?�£h|¸H±X,ž>}úôéâéÓ§‹ÅS÷ÛE×u‹åOE³\ËhÝB×WŽƒ`¸~€`<�.rw+€[·oݹsçÎÉ‹“/N^¾~ýæÍÛ·ï>œ¾wúþÃ?þñÿÛ2£\>ªkéÌÒBV.b*Š¢è³D"Ù0kÚ¯pŽgî ÚZm­&2`‰H€&D*‰HkMSœ¢æ +µ°hé¡ÑØ>DD½ÂÝL»¬Ð¦µ5ò©B$mŸk«¹ýÜ¢k­}ø°µ¨õtúpê*=êµðãâJJ¹P'¹t½}` qMÎf6€€JV‘ÐÀ&Ô䋙΀,¶½•Wš¿ÒJk­=ÌNÐt+KdI”¥±t Ð/×xh¸¦ïKÀz˜mÐÅY€f~¡p�WÕ¥ÈÏeÒ³€;å‘çù~2ŽâØ‚yÒïÊ¥¬ëa ažË×ÖZkZ½j e@@¶l�ÐS­‹©6`§V[$´S1…d´A´¸²–TÚ´VkTµ%²ÏÁ>D­Q€@û¢µZkmNõ¦§îûÜ ýÌ×rùÕ`u�äù¢5\Ïà$ºB ÄJÓyèb'Ðl KKç@ûI +À`­è2Ð@!Ù³¸Híô†:€ åGK�=òµÈóRÊ"Ïÿ¥ß ´k<Ø®‰ar€ÂؾøÇGN$Qâ�æI={TÏd’ç©Ûˆ¼ë”{$lýùß\ +€®;>Þ,ù[¬ÏýñP¼X>•ͲóY€±Àx£ÇqïWû²ªë$‘Ûp_¾~6hŸæÝl`— ¯Ì•@IŸ €MP@(Í ôÇ€ú@ti/À|gPmôTW€Ÿ 7ŠåU€”É8šÄ}RP$ëf¹9h\Ê$L êÇ�ëÇRäyš Ø:èÑå_€Y×­0œù®{Ú=íºã§‹®;~êp\4˧³ÙCSÐFÕï8G—à믯�{|ýÍí;wîÝ»{òòåË/^¿~ûúíÛÓÓwï~=ýõý‡|øõ×_Ý€sKªƒƒBÒÀc„ÖViDx•1h”1‚J�­±BkB!X�¶k°T,­4`Ùâ_­µµÖ…Ñ-jûp%Ú¿ÚÿxÞþ‡ž¢nWÏW¶-Úç­%­x†S­µÖ¨Ñ’µðœôC�ÆÚ´ÑS8EZ{ «JzàTܪª®óD®ë&Ñvà›¶z²v‡ƒÐ;<€‹€=£¨4D+m¶Cú`œø@»³]_ +¼» ÷fUr½°î rç_ä⢻¿ÈE.eì�&I’o„>®í „dÞ+€8¢ž=®Ë<ÏÓ$ŽÖÛ�7°…„hÓ�ÇãÅb±pê~qtÔmÿãõMÞ™}g”ÿ@‡åSÙ,Ÿv[ðY7˜"piÀñ8úÄàÚÍÛßݽs÷ÙÉÉËW¯^¾~ýß�8}{úîôï>|øðëP¼I×7Ý@ÊþË¥µÖµEk�&«@#]h­­ÖFa«¬%ЖŒÕÑ´­!4¶V™Ö«ÑZ|¨§0Õš4jR+¥[cÛ¿jšÙÿx¾²Åç}ÞZ!ð!ZmŒÖ€h ¬%«AhÛ’‹Öଞ +¨.Ö!@#'~ás?¼ªäþ‘ï0‰ã‰s~·²í6ÀŽ,À•=, ÑÊl ½ªPžÀÕ=€OT´ €3Y€Ys®ù¶�ýí?õ)€4ÏóÔí!Û~$iš¦yž§¹ŒÇÑ„%q’$"I{Èm¤i.s¶VÉþãGõ#™§i’°øúdÑDÆÃé�Æãh±X,:Ç€ÅÑÑÑÑ�½ïwüˆ6K7²€ã>ˆ‚Ñ'¦o}{çg'/^¼|ñêõ«·¯ß¾{{zzúî×ÓwN½Ð+€ý¦yÔ8TU%e!«¢Èó<÷˜Zk Y PhTBƒÖÚjcµÊX£.€�­ ï[«­Æ‡ôí ÈÚçÏí_ñù_ÿÚZrxøPoÀ�Ñ ôlK†6€›xT7M#£`EŒ1ÅŒ17�î,úù_ñ@€M\ìöÌ'z%•D´ÒëÀ|rÀ…¢WWˬ@y@´»`(Þ™8¸j° €~5Øz˜Oì¥i~æáWŽº!d2G,f.Ч²¥”Rþ«ßFêR™yΙçR&Q"’zö¨~,“$Mâ(¾÷çýÎ…ãqäïÿ^,ŽŽŽŽŽ~ìü?Å9kÎhð.ÀW;®k7¿¹ýÝïÝ{vròòåËW¯_½~óúíéÛÓÓwïÞ¿ûµŸ Ü+€ý¦i=ªdU.°´¶5^Lh£¦­2Ö€9 ØÀƒVoÏÈZ¯þÚZ,. +€-@øp €fÿ‘@<ñI§êZ8À§T&c£�ûA;J�¯–øtÀMòÛôÌçyÎüP^I�¼p"Ps‰�WUÅ ß +r0GcñzUXžæ~ј”.Ó—¤išçIž$rö¸~,“$IX_ŸlDúãÍs¿�ç¿ëÀÏGGGË-tkl5»W]wÜgf2 +6æ�ÁŒƒ> Œ‚èSpëÖí;÷îÞ;9yùâ勯_¿~õöí»Ó÷ïNß¿zzzzz:`"ÝðäƒAœÀÔZ;„› +@;|Lž°ç²;ð›<€F€ˆˆvõ\æHyuà�ø^€«ŸûMŒcq’¤Iš$IšçI:x€y¿É0I…[\&Æ’TÎ×�&=®zm�¯ŽŽŽ–kx°À 6˜°|Z4Ëe×­à‚þÁ c/j¼7¿ùæöwÿvç/^¾|ýúí›7¯NOOOß�¾{Ú‡ÁuÓ4‡‡‡‡U!¥¬œ� +À‡0ݡ·ç€ýˆP]WEÑ,^>íÿwðáC³Kì +húP뇽°¿¿_ËÈ-ÿŒû4`µ¿_×"ö#ÁÞ'ÑvÀ„±èó²øéuú7{xEàß?Óð2`Wà‚vપ®V ¸SÜv§®Ô÷|í¯ûÓ´ÿEÆãq¹¶T8½ŸÈÓ4n“±ƒC€G�åc™ÇIÂØ'`ãüo*€£åÑq×=îwÝã®ëºãy÷ø¸ŸöxP�û¾ eW4[n*€ ÁxHŽ\°ž ì¸vš€·¾¹ýon"ÐÉËW¯_½yûæôôõÛÓÓ÷ïß½÷Þ¥ýÇtx4À­ÐrKVÎz0ý<`µÅ�0mûóÏ?ÿòË/4?þòôi_;±èuÞØ j­õÁ�ëCÝß?8ðpuŒíËý}Y×I¼µà<â+„âó²æ\€Î›€ð·(ü')"úË_þr¾à¢và+Wn@Þ8Û|Á•žWÑ$ö �þŽ?¤óð +à_r™çËãfó.©Èe¸i*Ó\æÎôÀ ßPœæi¾ €ú‘¬ëïü¬üy×-—ËåQ×TÛ·ü�Gz΂hÇq*e4‘2M’d] 4Lp + ÉS™2ÇR>–R¦,‰£(M£OÖÿ>ØVŽk,ºãÅEè:€ãa/@_Yäb¿m§ÏW}ZÀ7ß}{÷î½g'ÎxõúõÛÓÓÓ·ïÞ¿{wúþý4ÝlÖyT•”²ò_¢¼@mѶæ²,ÀÇ=³íÌ}�ôòçC^‹Ÿ—ËŸ~ñX¸` €ù|Ö4粸®˜ê� ´Ñx=ÎÑõ îsžO†JÀñd2ûFÐ8ŽcÆ&“ߘp›„ËRSiÛUùÀhÚÀÛÛ€Ú•¨ûZ;”ei=˜@iLÙ–¦Etâ` D­V4=è~9€óÀ-\� Ä"ű,w ?ÿmÛne.l¾z%`áÎý“�këb€íGšn©”qDQ'¹Œ£Q,Ó$I]!�k0N·Æ‡¤©LY”Ä®N eIÌ¢4Ž>ãü{¡º¥Ž\øºèŽ‹îéb#pÜuÇO‹E÷´/ b¶|:LõÓŃ�t W£‹»�v§o{çÎ�»Ïþþâå«g¾}óöôÍéÛÓwz`Àñqw|³Qƒ¢~“÷%•¦]•»À(Š.Àý^üû9�yÀl(DUž@ÆGÛ +€‘!"€òúãomkm»Ñ pa;°¼j%àpãïEÀ&ŠéP0äÿó¼Ç@€(No¤Q0É +€Ù²+f˧GÇ2ê€a)fÐ�}»³·oß¹sçν““/_¼xõòÕëW¯^¿}óúÍéÛwïN‡n@g6Ý€ºö;\7PLmÛ—¶è•üÜI?!ùè—Ã"Pu¿,{Ð%Ö óïut´\á6¤”µ¬¤”û~È8�'qOÆiš¦kÄ®ºj<ÆQ¿ + _»U|J/€BDDQºvÿò‡3 + ÄÏ 6:\I^¦¸óÖÉMw ¿ý·¶m["­µ¦¾à"°ºB%`UýÐßõ»O¶TišºÊ_÷ÿvæòHÓ8Š‚Q0’Ò·§išø€d@œ¤yÅÌu§“8fìzrÅóß�=þçÀ�]¿ùûòkÑÍB€~ˆïþñŽŸâ+/ +¶Ó¸yû›o¿»{ïÞßOþ~òòÍëW¯\9ð«×oÞ9°@¼ß̺®ëöý÷õMÊbíL?ÏÕYÌ=ºB4¿,� øÃҠ뎎Î*€³8ê6C€ªÚ¯«ƒÚí –=â8žŒÇq𦕬ªz¿b‰Œ£±û¿�Çn0‹†,À™Í@ÁU³Æ #‘.Iÿ@äÀïDWW„ê +Àõ8 ·ÛZÝ_÷Õ¥Y€ªúX%`wøÃó®ëžtOæóîŒPTó+ ÏY€d‚Ñè’Cè�û÷Ž“Ä�“$õø×•7dÊâ8b×ã±Âwù£[ì¸v(€fÿJè~ÜöúÖÂMËÜÁèSLÀ[ßܾýÝÝ»÷îýéÞË/_¾zí׃¼yûöÝ›÷¾Ð]ÿK½ €Úw뜋b €ÏɈ<9OwΗ�XàpéC€®;:ïøóß ëºnÀþæ%÷+€(žÄQ0Ç×ãýJÊý.�£øº?ø±Eç.]¥À ÑBDDø�ô%ÑÅÀå!}Ìø¸Àí,À%Àž÷½0Ý•è£Û¶Z“;þê>]Ö,/¯<êº3˜ï0±(Šj~˜|ôÊsŒÇQœÆ©Ìc�F7ò!ùïàÏ~ìë…Ó4bq*¥‹âôJ€OOoþ� + Îg½Ž�›§~$X—ósy€Ñ8ø,ÜüúÖíÛßÞ½÷§g'ÏNþþòõË—.øòÍ›7§oßn ‰ëºéº®s¹À'ÿåfPò7Ô!R!D±K-!f¿,þøiÑW5‡çÀâèhéà1êPo]Õ~µ_åÑ8ŠãIšF£Qr¿ªö÷+.d�}uõFþ17î\–°mÛn $"}Ƹrpÿ’€]Y¨OõØE +`ˆþ[Ûsßí1 KJ�/¬\.—Ë£³xÒ=yòžÛ@5?ü8Ò4 +ÆQœÆ)Ó4Ž£Qä;€RŸ&>Å,Nâ$MÓ(êCÆ¢€] OºEw5 ©óè +躮èÜTà wÇnب_6ö«AF£OS7o}ëÀÉÉÉË“—/^¼|ùâõËׯ߼~õæõ›7oÞ¼:Þÿ—ºiÖ€3ÑΠ(>×ÈE"’\ä©×ÛàèèPÝ/ËŸÿ÷_ŽªbþóÏ˧ËE¯�60ïÏ¿€{›ù|©§›ºÞ|ô˜L&ãÉKƒ`4IYUNŒƒ`ìꪇ•onøs4‰ÆQ4þ´^kŒé `ú(€~øÜ,}Üü==€`ÓÜ€uô¯ióöODÔ¶å…íÀÕV%`·XÌË£ŸÝÙÞ€! p& X5‡'€Àõ8ŠRùßÒ8ŽF©ëHÓtCüÇqÌâ8Nâ4O£ˆ%®Q�EQ]�ýA»äñ¤{rzuM>w]WÌ–GÝLnTý¸@·h�üFÁøSðõ­onûݽ»wŸ=;yö÷—'/N^¾xùÚ �—oÞ¼yóf˜y×Íü§Ÿ~ú©ifMÓÔUUUEqöüÅÅu—ôE^Y’Š\!7Ð+€Å¼è~Y.ÿ÷_Žª¢ûe¹|º\îRó>xÚuÝ|>?::Z +·lyMÆã Çi€Jè{DñÄ[‚Ÿ–È̳�O€µð{f«)|’°en„ÃùÔÿýþöOí÷>:suóy·X,Ž~ùe¹\.Ž}|±è拟�~Ù ·2kÞu;B€¼š>¹âhEQš¦1‹b™¦i'›€ùqœÈ4Ž¢8•2õ¸Bp>ߥ*€8º"~<>îàûFÁhä·l ø„f k·¾¹}ûÛ;wïÞ;99yöìÙÉ‹/ON^žœüýå«WÿýÕ«W¯^õ•£x¿ž +À@ž@ñ +À×$Y’>À@êðª[-ù¥“ÕrÀ¢Û€^,�ÖÇÿèè¨Øß¯ë­‡”õ~�Çã4�¢q†~[…Ÿ +ìç; …Ân´>¡ Ëܽ¿Ý@€ÐTþ3²Ñ•À§zkp îø·- ç¸ý_~t´üy£Ïç[.‹n£ æÌçݼ÷Îdœ8œ'ñe/“(¢`4ŽÓ4Ž—ˆï?î× Ç,N’É¢( +¹H²$OEÕÌ›f£ð¨«òn¹\-éŠêèbïº +‹¼(ò$K’¢éºnSÌåár¹ìË_rC,ºÅÙ`Þ /ðÇ?Iò³÷ÿªêê`ŒGr4NÇcEc÷ITûn;°Ÿ¯ÅîüÇ,f·Kü*!€Xùr<‹€¶m[¥Œ1[»2mk¦@Ô(…�íùdoî1Æ�(•r+ÑÑ"¡FDC€„ ‘°$¥è>d4 ,É’±î©µPJ)P +1Ó5�D @%‘FBÔÊ-xÄ~›"Øca€0DU&HÆšöA‹`L[¶¸>ÿª7ÿÛvõý÷.Ë’6ðóYü¼üy±%.@·Ñ¸ˆª9œûð€]x%i<Mâx<Žâ4ŠFqqžžå„ÛüèVŤq“4M60ºpÁ×€'Ý'x“IÇé%xúc×-ªå²{ÚÉh£ ÀUÿ[÷üK°ÓüúÖ­onwçÎÝ;wïÜ»w÷îÝooßþöö·wîþÛ·ßÝùãÝ»wïÍ'²i~úé§Ÿœì>¨v+ÿë•z\¹G^@Q¸>� + ÈóD$UwEã°,ª§ËupÔuÍá¼Û@@×=uèGGG‹®?þy~¦  ªªú8Åã �ãQ´áH™Çã5&“øz_¿îf\Ò ´]d�9ƒ€l#¸¿$À¶$S£�¨5nA8ß@"8ç A€EŠãýR)cŒRD �ˆ¨5¥RTÛ +,Iµ%¢Ö­Q„-‘Ò¡š*$@R p…ÚhrË×Wê>¸MNY&²€q¶× à¡ %°4ʘU«Q›¶Ü8þgnÿ.KêºÅÑ‘¿õÿ¼< €_~î‡f»/ôG<€u1ðV \`þäÉ“'Ý…{úb9�â8òí]Ñ8M‚X^w¥?“8fñdÅÌ>b“I'qQšÆIAM&—¬÷}òäIçîÿÝŽ4àå + ÍŸ^xýÔuþ¸ì޼ è§~ðxC\2ì"póÖ­Ûw¾½sç»»{÷�wþxçö­on}óÍ7·osëö�;wîÜY`ßàq×=nª¾§~óª†Q�òã + ß6œ×Q… ߀»3XÕòçåògçñw‹®ó>˜w½XlÿDù°¿ ‚IÅã8 +â4Š¢JúÐ&�ÆÃP`Ÿ¸Çþµ(ŠÆq!@kŒy`Œ=#²,[õ A$miU¶Æ�Dãï¼k0Î8ç 8¥‚B@r›{�"M¤P#C"B2ô=©¶D¦ŒQjÚ’!C%ÁT›•14ET¨5 +MÊmW€¨„%­WZk Òˆ@Š”<˲€q†®xO©H(%ZÓ–Æ´µ5«Öúó¯6Ì¿Uùý÷.ÿLTv—)€å²|ÓÇG@€ ²Ožnºó> 0?<|òdþäÉ“ù|Þ]à¤éx4šŒƒ I‚Q|=Ž"D2½û.ïÉÄ�ü¸— ¡‹ ‚ ¢hÉw.þŸ?qǼÛ\’ˆ'qœ¦iž_,»ŸŽ7¦�úYÀ[§Ý¥/À;®¯¾¾yëö··ïܾsçηßÝþæÛ;üãÝ»wÿø§»wONNž�œœœ 1ÞwiÀãããããz¿@%×/ÒYÉJ^–(Dž +!DQäÂ�€¢(<á0ošfÞ-º'Ý¢©ºåò¨[,é:ø¡óßËÁ?²ó¦ëËårÑÍ�?ø»î>Š8 €ƒýFŽÆÑh4΃ñK¯_¿¾ ã(ŠýVÀÉd2ñu@‚�f u€Jã0`@ÀÊ!€tk˶]D@TgaÀÕZp¾Ç9�qP¨Q!"RDJYk�±dŒÐÆC-ó@3j�!ݶÚveÕhµ²Z“iI“�:´VM�FÐÚÒšH“ÒH  �RDè0|×1Æ2dþ½m-"Òêyk¬ÖJ)üMÛ®ÊïËï¿/‰Ê²ë.WB€+¥]7¿( à@7ŸwOâÉΗh4EAÄi0НGÁXã4½Þ×þœXGA0ŽãI€~CÄ9 s@×-º]&à%ui~¡è–[ +`ýðë€Î`ìLîÀµ[·oß¾ýÝ·ß}ûÝ··o{÷勯Ü\°·ïO_¿yóæÍ†xÔ?}êÐìûC¿+ +ð×Åu�nþR1Œ)ò<Ï‹b>ïš*Ͳ›8<ì]s´üé¨[8 PuËÅ¢[<ÝØ¨Ú+€yÓuËîøC.rQy.Î+€¦�âÑh4Ç7®{TRVU�7v,L\ c+á‡Uíç·#!íèÃÝ®JKÖjÓ¶íÊ�ös7‚=¾6÷\ @(""KÔZЖ,²­Y³2¥�ÕÔ–Ô> U©�ÑÆ�y`ÚUk5€ÊN‰˜V[-âTkƒˆJÔZ·-éVë¶tÓIÂV)„ BîÒ€Cßc„Œs"2¦5še@ªERàå¿q·ÿ?—ßQy;À\I¬€!ÀüI€¦ÙéøÚ£qì¼€Q”F£ôz<™Äq4‰&,òÛ¾Ý[{ŒÂ(ŽÙÄ`<ÞqöݦŸùüÉ“'OžÌÝgó)€ Ò<—ÇÝù—§?vÝOÇU·üq+ ëAv(€«à‹k7oݾ}ûÛÛßÞ¾}ûÖ­¯ï¾zýúõéÛ·§o?|xúÖuö +@6ÍñOþª÷+é‹?1ÃoªxMÓÌæi.D’¤¢àz¿Ö^@žó]×ýðÃbqôËÑÑò¨[tGNü¼Ø‡ÍaãpÔÍ�…H„€B¸Íïy¾¿eʪگë`E£Q߸ž¦iÚÒÀ�ÿ(¾_�¯Ç›D“�Àå× Q)Õ‹3À#W+²¶µ«Ö¶mkuÆÝ)ã{'-ä<ã ç‚ ž‰ @‘ik5iB + mµÑˆV¦4FGÔ¢ÖÖ®ZÓ®V+ B ÎÝØOI°­ÕжZ¸}í „€Ld|j@(‘q¾ +Á }-XòÑhìq"]¶þ©�EqŸˆÈ›Ï…"B¸‘oý%Š"IŠnÙÍ� Ðu]õÃb±Xv‹îèhÑýÒ?TO�èÎàð‰´ä¢(D^äyžž3÷e4 +ÒÑ(ºžn ÈÙ8�#€Éõøúõëñ$Š/€Ö}{Ì%"]ÎlWH� ΂Ñh²p(ŠãÌå\•�… ”B‘R.àЭ¥U¹2«çSæŸ�!ÈÈ2EDÖ´VDš*!„`"(Dw \ÁyÆ9cŒ±0èÿUa8�FA‚ B† +тȔºOdL»j¿/˲,ýù°ìc€ÝiÀ+fæ‹®ëÇîè0oºnrîŠÇ½y�ƒÑõh4šL¢Q”ƾ¶£_óÛ¿ê‘0Ç“I4‰Ö +àüµXlµïŸºîÒJÀùQwæåèèÇ»£ŸªnyÔoov[ƒñx|²pí«¯oÝúæöíÛ7oÞüúë/¿¸ýêÍ›7oß¼zóæÝ›Ó÷ýb�õ;?æÃOý+²G�¬ªê¼Ø8¬‰¹H„ÈAl¤òB$E÷Ô+€y×-ªüðѲ[9 ðtS̺ná#€'ͼ[,—ËåÓ®[ E^‘çâð°9€ZÆ£Ñ8Ç×ã4¾îLÀJE‘F[ðI€É$æƒù”ì6Ö2‘è€(¥'…@¤”€Œ£ ¿ÿ{w1ˆ"ÎË„àB€ÎœÔV€J‚�J*Ý@p|”RÈ]a¢B"Òþ@ª$E„ K8‘¥°ÍÈh¹Ê2‘AÆY†{+©ÅÞh4 +9dŠ�êuŸŒ;ÿÞ8þe×m‡G;Ó€[½—+€ÅNPœQófÞíÈÆ~¥æ8žQ�‚x�Æ×ã(Š&Î×�\õwŒÇ“hxy°^Äuþü/ºùðiì.õ˜ nä¹Üíu˧•ëëu´.8ÞÊü2¾¼vëæÍ[ß|sëÖÍ›__»6¹}òúõ›W¯ß¾yóæÍéÛ7Àæ¹ïïþÕ:XUUuÆغ_Ï…"Ir‘yEïФ:ZxtNuÝ¢ëžu‹…—› éM3Ÿ7ͼyÒÌ‹åò¸€#J.D~x¸lv �G£`⸠¾™ ü^€ë½ èf‚Ž#/Ø€µ¶Ü@)ïn#À…ÌZj C¤€³0 ! ×pƒ€1Î…€L(ЀJ)P¤A©Ò‰~y E¤,’B7+œÈ +�Z‘!� + i€Xsÿ{BE$‚×)Z!µà`EZ)@PÀúÂ%Î÷öö‚õ¿ +`/…™RhˆQIZcWmùý÷.WÃù§n;pQÀ9àêY€¡ àÉÙB m0Ÿwóî\‘ìÄß¾ƒh2ÇÁ(ˆ£É(òÞ¢(ˆ"¿U/ + Œ£ñ(˜8øÜ;Ïÿ¢÷ð©ué ·åP.Ï]O»åOØ «Á¼õã¾H÷ .š öÅÿý‹ó�¯¯]»yíÖí›7o]ûúË/¿¸}òêõ›ÿãÍ›×oÞž¾}ãÚ�ו€M3{üøñã®{|ÜÔ}ôïÏý ä@ƒªªªj3 pF²Ïgó'>è'@¹(@.»m8 ðÔI€£®ƒºn¹ýt‡óywä«„–K™@Qä"âðpÙ4;PåQ4E~$è€Bæ€Èï ™L6jÅú 8[–8#¬/ F׉G(ZCH@¨0޲¬×a†ãYÆy&„ýèÒ€dI¡CT’) ’2FY4ˆJ¹�‹Âº|?"鵡°m‰JÂ’ rýÐ�êP*B"EÚepdã{{l˜ 1 +A)> +($MDºE �)Õš¶ý¾Ü:þDç€;çÒ€]×Í?ݹB æððÉ“5ºn>ïÎÆÀNžÁhGQp=îÅþ8r7Ïõ;ô¥5ÎtK8wŸÿÁÄxâÛš¯îøJÀ\zœ'À¢[›Wè&ü6ðÕW׮ݺuëÖµk×¾üâ‹/nýýõ«—¯_¿~ýöíÛׯ߼~ýúuÐï›ÈÇÍzNÉÁ�;ñ€@y¦Å¡ifó¦É…È“Tˆ¢È (ò¢(¤Í€y×-ä} °XK€-`Ñ4óù¼éænÀ¢@•ˆ"Ïóâðp¹t �v �FiäëÁ‡rFW 8`3Ÿi¸}þGÁuŒF£`2 +Æ“IÄQ4Ž\Óg¿i»¯³�ÇãqèàÆmîÊùã½NvŸ4h2™l†ò<~ì~ê°[þÔÏù= £ÀmÀQ,¸*¾¸öõµ¯¯Ýºuëæ×_}ñÅdôÍß_¾xýúõ«W¯Þ¼~ûæÍ«W¯^ë:€GͰhVø¬ÿÇ ½ØÑåÔ4Íál–$I*„(r€Š¢(| gù¢+z °XK/kàÐuÝò©ÀÏ•y‘.Ÿºã_u;0�Fãþö¾Y +<^`ãô;øáKk€RJí®*H)ã0E­±D¢’ŒÊ …´Öœ„è³á &€sP( á’Q+a샶,˲5mKhQkƒÑ�QÜÀ(4H¤9"’Y•†ˆ´€Ó¬‰[ 2ÊýS!i@®|&€³0èó€\ "`„J;¶  +EŠLûý÷ÛÇ›íÀ„WÌt;Ò€ùv° ÜÍG[ƒ[ƒh´VñîÎ>Çýzïñùìùºº>¸°èÈÀ ,yòäI·èv¶_Z ¸ì @·ìªn¹ü±ë‡‚º½ÀÞ“ÜUtu|uí«k·®Ýºuë믾øâ‹Ñ­“—¯^¼|õêÕËׯ_¿yyrrrôÍñþãºi=ªëº®gõ�¼š�Ò¨i;ïºf7šæ0M…p©z`w´1ûi±¨~øa±èŽŽ pÔO·Î×4�{—®[,[8\ºÛUÍ»³¨\0Nø“qD‘דøz?ÔWŸý†(•R +à ´÷I)%¼€S$BMhˆ„qRZ‘. Z¦Ô ‚p/ x¢x–�¥´ …Zâ +WÂXC-•¥5¥!0ˆDSBMHFg- $åÖ€qB*WmÛZCeYB¢íŠ-ê–´i��³ P0\)•e�pÎ×IJ•Ä[TD®v°E䤈Zûï«ÖŸ¿ö¤ëÎxË£ Ò€WͬÀÎB MðÉ9ŒFãh3ŒGÑhEã¾Öc ïFýÜí¾ãöB,{ úÿÉ“';G‚}¬pPÕ<ý±[.{ôÿ4÷‰Œ× l70¾ÿãŽkòÅW׮ݺùõ­[×<þû«¯^¿zõúŽ»ºçK� âè™Ë£_ RùÓsá.€j±èÐÍÝâÈI€7%Àò,FšfÀÑ&¤;ÿU5ïº3�=‚‰ß¾©¢qEÛC‡Á`ÑØWß3¥Rk°á:à€J $­Q8•NT¶Dd¹Ň .Pd0 +ÑfH¤µ[ëg,ZaŒ¡’L‰mÙZe ! +$Kd +ƒT"¤–Jlù}…Ôš²mKj�físMd�VdL+LI†H�¨5åB&Øë@ PiBa‰JKÉ–-šŒPkÊ–È”eI;àsgLÀŸ?±àÉ“ù\1 àŽä6‚ àÎËÄUÒ»Ìù¨ŸºßŸ±~æFp–kø>@'>¥ ^‡y¿§p?-»åRΖË·6ù1àýäú~ÈäÓðÅ—_}ýõµ[7½0ºùìäÅË—/_¾xuïÚW_]»uëÖÍ  išG�ꪪªýY³_Éêàjp÷èK0?ÌÝ8À¼(Š"?ß&Àxó—�º¹uM÷FŒ¿®¸ F£ êÿŽ~þyÀ|Þus_ +Ô}’àB€Á¬*)6ðt±\VÍò'€~ØÈOÖæsð…ë ¼víË/¿øþ‡Ñ×wO^<»sçÎ�{w¾øâ‹/¯]»vmÃhê¦nšª’UÕÔûUµ/¯'Ñ›�çЊ\$¹O6GùÞù¢[,¼ p4H€£�i)Ã0Ð àJ†*!’j±>þóùülÕr>ŽF£ Ž}œ?ü]ß àkIâ‰ý<€õÝ”(a#Ø}M€˜•dÉ’ÑšV+Ûºú�¶Õ–«L)ÅÖ€àx 5"´V·Æ®4µÖ¬l †ÈÓZ2íªU«UÛZ K–¬µ´j[²†HSÛRËI‘mÛ¶m • ðçV?G"zÞ’!mkZmVšŒ6ÖX>U$ÀUÌ #Ô-®ìŠZ€–lBŠŒYµmÛßý©tm@g=€Ÿý^ÌÏOÎçfÎÀ}omïoYÃÀ•�ýxÍÏºŽ¶à$À|PWœ +¼Y”ö +à > €Ùrùããm`7¢h|u`2¹öŵk_]ûò˯¾øbòÅhôõ½“—w¯}ñŵk_~ùÕ—_}õÕW_•€�š¦i¤,*9kd%ë+†®]·kšÎ÷÷m]KgâUEîC€¢Û@7ï‹Å… qt™¯€ûÆXø ùá¨ûÁo•êæM³Ý·pàB€q|6¨¶ÀPM6xëJ@wëEÇØ‹zލ‘ÖVs@HƘ¶¥vÅ ´6¾ˆ…A�e ×JhÔhD&@)à÷ïßWB¸YãÆ¶dM[Þ§¶\!’±Æ.HKÚ¶dWœÀ˜•U­1¦lIpk4®ZcuÛ¶e Â}À•RÀ™@¥@ãÎð +@kk5ÏP“ÕZ? j9)ÿÔåpúUyK?hy¾ðê�º]•€}`�lšy7w +`›£³Xßÿ/¹.âMÍó>xÎì>2p+¨¤¬êj‡Ø6Gë` *€/þ‡³×“É_|õå—_~uí‹/¿�F£/nݹsë‹/¾øò‹/¿¸víÚ×_ýõð?0‘MóèQÓH)+9««jhýû(ú­}lCs¨<òb£éëŒØt¶‹Šà¿y]÷óò!’Žz»`>o¶�WNŒÜ4ØM²klÍð!¨³q@¹mºZBdœqÆ9$¥€‚k™S Æ2ž‰¾Ž_¸š;"0ß»ª^P p¡ÜWÅË8ã\d°ñÔ ¸¥©Ö–Pk´È­FDˆˆÚUÜ'ʨ¼ïÌÁ9ga¸·®Ó€!gœg¹ºCàFkm ¬ËyPIª,KZœU‹õ²† º?–Xô«�ºK{æÝ“nÞuÝìôñÛí}»…ÃfýÿÑ–èºnî¦z\Õ`ñPÉê –MwE0Úö.@÷ÅîëË/¿üꫯ¾úâ‹ÿÛh4úÿóö7¿q\Ùº7˜Jš‰bfO^("aDòì\Ñæâ€x!P“kÀ/jPð™­E>{/1Ä”3ÌS[y·BdÙ Uî +toÝ>ýÎ.`¸g†0ô 0<¨ƒóOõ`G&“_úpÕémVùCrRJçþų¾žÕÙêßݾ;l;»{÷÷öööV¿ýá£iUM¿¨Ê¢,"Ê•}Æ%ƒÀòÊ_-×vÖíî®ë©€Å¢®ëª4±¸¬Oëz~9 pM¬µÆÀZàËø){þ|Ж�«ºªæk0Åôц[k9€GQl¬°µŽs£«$à2zäåup·Æˆ€L Pd“ca0ˆÀD&M“$]&ºÝÍÍ{iš¦ã41c""a‚:�k\[¸w M™Ñv ƒ˜ÒÈjçÈÌdÒ4V“Ô“""¦TH˜b–â wÄÌ+K Í$YëènF¥Àm¯ Lã,KSНÝÍ�[/Í,ZWà+!À{Tæ·VÖÊ€Õ¼ž×aÀúµv:½^¯7u;[Å0Ëâ>°h >l­Cz½öy�¬9 +&ݵ¶Á^¯¾ +€ÓzÞš�¼Àh4YWÅñ´¨bCÛí + …@ç-!@wY½ ý~çƒÎÖ‡íôa«¿½³³³»³wÿÁƒ.VƒÓªšVÓ¼(òüdZ>º¼å´?t±µ/þ¯¾A,u]š<Ï…Z¬vÁG pzE¬–Tk)Àºn¯}¶¨ë³³Ù$3³hCg‹/I€,ŸNÛ*ÀÊë§¼ +€�Þ…ÀÖp˜ {ë9€‹gó +—â€UY¬­¶w©03˜{õ™|¬¼SÛ +Ô�Ž IšfcccˆÈ03ÃÁqxØf9K|Â,H…¢}D@¤Ìܶ3|"@ì+$�ÆÁ"@™‰Lÿd6Ó$M×<MJ,D»ˆ!Ì‘ÀЄW×ÿ2–E€k!@4=}ÇY€Óº®ß¥ +0Ÿ×óöù_×õi½*ü%YQôzY6)þXô²/O¦Óªš—ÑǦ,Êèm³ú ·Rö$O†“iQ´‚óúºXu¿×f ­á•F ¢(�«¢ªÏggoR�îsËBH»Oáɵ©~ÿN¿ÿaëκ®é÷ƒÁîÞîÞîýýxViЭb:­¦ÓižçEq2-‹òQyÓ}¿v.-î[x]�Ää’Kž?^¶†Fp³Xö´¯Öþg_^ÿú쬮g�MÛV¼|ü_ÀRŒÖPEY¶ˆÍ ½^²TÉðÊnÀe›¯à7Ç˶ (€„H˜Xb.©�—!@wssó^’DC€Ä´n�§pGí 6Á9MEìn_šÅ�0D,3‰Umûü‚8M£f�MâC=¨2Žâ¯‡ÓØl¦i@·õ4$D,VÈŠ�À p YÝ\Ë,‹³ÖËí†iÀwÌÔõ»ÍÔõ“e{ñéÙi;ÐfÅó^7Ë«j’M_TUU·{.ªª:.gåú™NËr:{TW³Ù´:)²a1�Æeâ“Öqöùâ +b'Ðé{»_.–­h߈g§§§õ|V–e=�ÝFOêz>Ÿ?™ÏŸÔ«=˜õqžçùüÉìÉj‘Z]/]’žÌŸÌë›™î\ºÿ�íÁ`g÷þý½ýûü×O>ýôÓO×Àt:�Nó<*€²|Ôº­ÆÿŠëF�eYT—÷w×Kpu ²˜<Ïˉ̖’p¾üã’ˆC�;bÖ'Þÿ/‹vŒrQ׋ÅccLµh=Ãæíâ5°Ñé|w~,P<ŠØèvÛ¹Ðá* Ø:F-ÊÚ–Ñ€ˆ¾\Llb‰ÉXd!Bâ-Tøà€MÊÍÍ{1§”Qü✸‡¯^s c´ß@˜!H,1‘ˆQ�Q¯Þ +€�’ÄQE˜`8z@àà,C�Cb¢‡Lc³9¯ƒl&_Zˆ™œH >X*ð)��‹™{ƒh%ÀMeÀyý÷Î\À¥ïß +€aVÔ—ðÇ?Ö8>~¼€Ge9�UÕ¬š=®ª“b˜å-&õ¼¾ª. A¯ïxÃvàK�€­8¾¤ÏÏNOOëy|#ÖIø&İ(^ÿ'ów©ll{÷÷ö÷÷?ýô“ßú»ßýî÷«ÀV €Éd2™œL‹¢|T\Ø€]ò[ý¯,Šr6›]^à]¯Q`ù$/òr’W§Qb,7¯O#.$Àúв°ørñ¬®ë³ú쫳Ӻ^œÍVhïÿl6;YgùôQ;‡[½^²5nÅ_sþ(&7ºÝÞÆFoc£ÞZÍl¬Ðîdå剹±?\�.eD$Qf¢81ȯ +ËdÆt€Í$M÷€¢‰g£P~Ø(«;jÐÔ9D!$,’Z"ÄC‰�ar�øf,«%$Â"†Å– JÎ�1ј7ÇѪh³ÓétS“ ‹µ`¶$^=‚fmØûT¨•9ÖÚk9€ÅrAØ5G w.ÞÚ4¿ íŸâ½ëv7z½ë¨×0›_UÇU5«feU�”iÚ*€hCyOž<™·3ïÓpS#Ð%ðâÅÙééi]­ ö8\@Ù`6«Zw¢øäÒfNgïpÿ·vöîßßß°ÿé'¿ûýï>ýì³Ï~¿¶¨UxtÙðæ¯Ùì +VÉ€ê䊀r~m1Ò% ð¬>k�Nêj‹/§ÏêÓzQŸ�-ê%æ‹z~²|úϪª¾€˜LâÄO¯e×£²È"6¶Öú’d¸u¥xYE¢Àz°â`-‰@+ÄFÀ* +IP«rÀÆDtâf 4MÇã1%ÄBÄ"Ä¡Qœ{ˆÓÆ9` ÀÅXÂ"ñBDö¢Q\hÀ$úMt@Lv,Ö1‹@¤ |èpÈBÌŽˆh3'IÇ»D=+däÄ ¶z® „ �Ø&�Áì�õ—{€¯/¹< øÖY€e#ÐMU€õiÀùêRŸ.¼ñ¢D˰j­[°®ONêú¤Š®“Éh” ‡“Ȁ㋧ÔÕ©®ÏžŸ½¸ÜÐOÞ«`xSÀº¸@Ìæ«jèM +`6¯Úçþ¼~2�FEóyýNèïÝ¿ÿà“ûŸþþ÷¿ÿì÷ÿÇ×_ýõ5�O&“I=-ÊŠ7æg³+X ªçkqÀi]Lò¢�Éã‹ÆÐ•X“g§õéÙ2X¯•_ÖÏÎNëÓzq½Bg³Ö]luýgU4 +Îó<�9€Q@|Àoõ.Ü͆½�NÛiÝë­ÍGoà^wãJ' .#€È^�–€HĦËÆâUƒ‘‘q§ÓílnnÞK6Ó4MÇb8‘övئ�ŠkŽ:vÑË"±6³ˆxX¤¢ç^¢�µ1Þrô +aQˆ±ÐàETl rè�Ù¥´™^˜n +%9�b/VŒXåB ¢�Q˰€µÞû�ÎÞb +Z¿c#ÐÛfæóV=®ÿæu{—O.prrRM�Ë"ŸLF£,ŽZ̪º½ô«<Ó:Î.·×Ož<™¿÷f ásÏŸ_Só'kÕ�›0[JÿåpBÄÀ¯~Ìôïïïòé'ûŸ~öÙgŸ}öY\ ¶À£u”Å£GÅ[PÅqy�Ëö½ØÊ·REžG\UkàÙ³º^–ö×K‹E}º8‹«ëE}zúåâlf¢»Ø¬ªªÙ¬šÍfU}‘L'Ói@«ð“­^ì(ʲȶ6º+ôV“€W†�º+DCmfæCfbâ‹8À´Pç<f+6õ€!�·ñ°Ö‚iC€$‰}2”0H„ÈÚÆ¹#µ�sp¬ ’Bœ¶/�ÔBˆDD­…€Å+ùäÓO|ò»Ïþ×wß}ýõgÿòõ¥*ÀEPMËÕ8à›5@Y®PÕÕzS@]Õõ*8«‹Ižç¥yÜÿk¬�Ïë p÷ÕAæóù|Q×§§_E0|UuºX,g�[T󓪚͞ÌfU]W«`²TÃÖ¾Ý ”çEYdÃÕ¬UtˆßZµ­—£'S§CL—DãDLd"Ô*Ä#…@HD VÄ’õ^UÈéøÞ½ng3 Í ¥&MŒˆà@¬ýVo�£#FŒ§.Xe�x›XÉ…Y,ˆ/­Äbƒ 4ÆbâŒ�a x oÿCàäP!txH "3ÞLMLt:�M‘Är´!` ^U=‹X/¼Q+b¼÷iºüìŸÍ?.˲Ìó<�S_“2ràô´®g³ÙìITöÑϽÍëO&yñxVŸ=þüùÙú«ë'O¢ xüL=‰d_žù|³`UÕöæ^ôæÇ¬q çÕ,Ï'“,Kz±ô¿™LŠiQÄû?e‘çEQ”³ª¾ØHT]ìý˜Ïò,ËŒ‰ŽÖeÛ Ü6?¹ Ïò]8;=­c•¡Èóܘ,˲lR´=èÙ0eY¶ªNOêguõ8ŸLŒÉórVŸ=_<~6OfQÕ¶oÆ“µ7âIU-÷(ÆÛOæ³Ùí�þþt:w:�NÿÓO>ýô÷¿ÿôÓÏþåÛï¾ýúЏœ(‹âÑ;€ÒòZ& ÆóU2ð¬.Lž%ÍV]ë˜/ßÊúY½”QüWUkPÿñì´@l¡ˆ8«ëy]�TOâw¿(˜I5-.�$ía»ì¼¼€UðÖp8ì%U€Õ 1_Ž˜ˆ,&bc¼wMâÅŠ±z` +6 +ͱQ"Úìt7ïµ^ ”˜q:§&šú +‚ªÕÆ9ïBðM"¢ñ¥…¬Ä˜_¬èyCMრ�!«ª^Ô:bbba2Ñ)DÈP’¶Æ€�Ng“(=°tp D ˆ/DȨ©@ÕxŸ¦Æ˜K)ÞÓº>==km�—ݱg§WŸõ꺜ճÇgíÏ]¾Îž<™UÕ|ù�˜·ærOæ³y5²\4»xdŸž�.�óUÙ¨®ëº.3cÒ4GgY6)&£Q6œ”ÇÇdzվÉK¿•r¹»,Ë'³Y;xTÍf³ù¼M´È‹LÄÕsvvö¬>9©Š­^ÒÆq7@ÑvM«¥|©gåéõ7¢žÏžÌOª6Ø©£ÆÅ;±ªŒÏW)²ªºíþß¹Óÿp+†ÛŸü>n +ýìÛ¯¿ûþ‡èpS š®µ¾k˜µ*à$ Æu]ŸÕ¹Éó2Ïgqé×ÕTà|­p%@ €ù|^·oϳ€/[”&ËëÙ¼®ë2–fÕl y5-²�^§M ‡½yYí5ô¢h»Cv­ ¸ìÅj°N€˜ +À@ÌdŒp;`—¦Æ DÖ{¼õ�1–8ÞnCi·Ó–6ï%ij’4MDZ§Wˆˆ�aˆjãUá ClLël-ÈŠ V¼÷Þ²$—Šh�€ÓhL<ŽKŒ�€ˆ$3X˜½%Jͽh ÚÚ�¤F¬±bƒ�÷ÖÃ�¬�¬ÖÆ—NÇ)c¨^æ÷ž<©OOëh˜SÏ£«ëz–·»`®àìJò¬õÛ›/3ßOæOêú´ÌËŠâ£Ñ(›OWÓj>¯fOæqý`ý¤^SOª'QwDøÌ£ÆX—Ë¿ªOëù“YÛÌXUU]Íʸ¦×ëmt{½ä£a–�F“ILL«öÓ|¶ÖK¿ç“Øû¤�=<�Å7b¶JWÎf�W�Z;“›Åÿý~¿ó›þoît:¿élúÙï?ýýï¿þúÛϾýöÛï¾ûî»ïÖ·· + Ÿäï €T@;0¯/@Yæ“Ù¢mô½Š€µ7âÙYìhK§ggg§§‹ºþª®Oããÿùâù¼*M–×å¼®ë|VÏW…€ Ä 5ùÛÚJ†yÛv ½5c°›€¨õù +˜È:±Ù8tñ'1¥”eã1ûü)²D&M²4ÝŒ{Ú( ¡$1&¶ 0G§_�™ˆDý˜â®°Xv`J)54fc"2"bLÆddÆÆ˜hü›zaÆD 1b{°¡ÔŒMJ†î%÷Ò{Ë>CãÔ¤cJ)¾4 ÷ +Œ�1c2&vÑŶö"?¹ø/ÚÎÍœ®%z.îÿÙòC_WeY>~<›Gá#Áº®ge^–UU׳ÙÉIUUícx^×óÙãÙl¶VÍü8Jþº>[<�[¥[,^<‹Ý¶_Ö''Õt:=žN—N¦ÕÉÉI=»Ø8[×§§gg§u5+Ërö8WNü–Ë*ÏžÔõ|þd™¿8]-A‰Aðñññ¤·±¬.Ç æ£Éh2)ŽM«º>{Ö Ž]嬎OøjÞ¾yÕã2/gÕ“z6›ÏãÇ{'];·ŒEmõûý?ìÇ¿|òé§Ÿý. +€oø>àJ#PQEÑæÞ×pr²6tVç&—²È«º^¶úϯ=¯Ë ˆ‘ùütqÖ¦¿:�Ó/‹YU–U]×yYÇû_UÕ¬Ýc–åÕ´œlltZ[Èd˜ ‹"/м(�‹á°·ò[Y`™*¸Ø¼±Ñív66:ê£Ö§Xd_W±Àñ‡|ÄspLd͘…ˆÈ¤DÄÖ¦†ÒÔ¤éfëÒMÒ4:ôCë÷" f(‹v`"CñŽCˆ)¶÷Æc2Ä&Ú{c(#J�1ÆÑ8%‚ˆ0�™(JƒØ ÀaN™iœ¦q3Áf[ b2æ`1fbLfr)g³Ù¼>�þä³'ËoÕÞOâéɪX¯ü“eëÎê]8©ë““êø¸õ6z½äbä ˲Ѩ(Š|’—ggg§uâÙÙó³øFTóÙìÉl–%YôÐɲ¼}#–mROÚTȵsãTÔ�ßôûý~ÿNÿÃ;wît:ƒÿã³ÿã÷Ÿ}öÙ¿|÷í×ß}÷ý?üðõ*@ÀÉ£²x\j®¼žm“‹Åóż,Ë<7YYçU]ד²žÏ«X ˜µ› ³|:-G½Nëû™ ·zÃ<.8/§E¶µ€­ °uÉd9PÚ®ø¼*„ˆˆ­ +Ž$¶à;&!c¤]ÆA±6x@Æ�'�¸#¤›¦cc26D†äÀ�µLË–b¶caŽwÖGÂ$☈Œn÷|°lvÐNü"b�±)Ãd 0[IÂc2&é½Í{ÝN§³É2Dã1CÆ�ˆÀš8:DbH„A&N2.¹_I`µOÄÓå-9=;[,NOŸŸ]=­ÛÆ|^U³ë"u}V•�gq‰LìŽm[WIû¶f\?©ê'ÕìIŒÔŸ<™ÏãÓàøøøbnu)†£²š˜Ì˜,ŸUmc½¤¿w“‚qÉ‘1í¯ã¢º¸0F�¿ò““êø¸õ–³f1É” ‡ÃѤ(ŠéIý¬®ŸÕ§Kœ�-£€j^ÍnêY]–åi]ÍgUì�½z®µÿ¦Óélõ·–#A�;w:ýO?ûìëϾþúûï¾ûîëï/`X”Ó/–˜ž¼Ûóÿ +V¨ª(ê““U¯E €2†g×þS¯'s땎hŸÿ_E,‹ç‹E{ýó,] XÚ�]$²I@oc£ÿJ¶b�—ÇÅ0Ùèv;Ý^; ”$½Ø-¼5n ×ªí œÆ-¿×E€ÄÖà¶Øa8ˆl¬ˆ98`Â�OxlȤI§ÓÝL’¤›˜ÔrD4fÁZ�B`€MUE .V/ÍDD–ȈÐÁ�DSP»ÿ‹ÅÂJ+�E[ K°L’À™8œÞ»×ítº)3ˆ �Í“ÉH¬Äg–Úõb$80Ä \àô¬�’¿d¼xñâÅ‹¢üùóÅ‹/ž?ñüùóç«¿Z\ÏÕõ|6«f³ÇežçÆL&ùã**ô³µKv%…4ŸÏæ³'ñ–>‰Oíùlv|.Š¢ªÏž=«ëú«ÅÙÙÙb)V‘Ôéz�ÌÅ;qºxù!Ðïwúýþv°}·ßïw:ƒßýË×_ÿË·_÷¿¾ÿîûï¾»”Üší4`žçÓª8~ô×ÿF\AÀU>)–û¯ `­³«%Àê_=]´X´ò¿Etš¥Ù$7e�W§gõÄœÔUU·�GSÈLY•£¸¬×Kz[½Þ0Ï'“\Vèv[0ìõ¶’­eµà’ˆ­rA€ °D€x¶P¸#+íZ° +Ç^ÏÖž'80æŸÈŽ»�n7M“Í$�£ï�acãR ²Ð¦ñvl@Ö»`©Má9V"‚ÂqÀ‰âÏ)˜ ±*ܨ’åò"‚g²€ò,Œ&¨OEˆÌ˜Ò4MÓ$Ýìt“È5¶Æ±ö�â2‡&U"Ã|¨Ð86íý‡{qéüå/—UÀbqÖ&oÏbáç⯮ïâÅÚO>�é³³e-o>_ëh£ˆ/þç¿]œÿ׿ýÛ¿ýŸÿöo/gõɬÌs“eY–¦Y–™ø‡É/ž•EYL&“É(nõ†“¢(¦Ó¨NNÖæüÏÚ¶žkuý«zqÛùKëZ{òEÑæzKOïQ1YÞ�é뺮Ÿ}¹”Fí[ /Oë“XØ8[ÑpõNÜzÿÿûw>èt®|uúôïn¶Ûý~ÿƒÎÎ'¿ÿú³¯¿ýöÛ¾ý»¬.à]r«v‰[û,N® 7“²ºŠ€µ( ®Ïf³j^ÍÏêÓËäߥëO“º®&Õ颞d³º:Yú‡VÙݶ pI 766º�è]@¶VÕÀÞFgã²_‹Ú–h³�l‹»ô8ô¢ÄP'$@`°M• Yç’Ng3IÓtsœŽÉ°¡1ñÁˆ…�qÅG0V–¶Âj!ˆ›Ý±ƒ:&8ð©2“;:"AhþÛ‘¤(<ƒ„‚`™±Ú>µ$464n³€Ýî&G™�"±ÄÖ¹F€0¹£ÀGáa�Ô€òÍò#ÿ×}ŸŽÏoÀbqvö¬®_^ÀóUŠ ^º*þôº~²þ¹_^¿/^üõñ¯þÏû·¿FùÄdY–¦i–™‘1—PÇE1™L&Ù°×Nò¼˜N«““ÙlÖ~òΖY€ÓëJü�ð?Vø2àŸ‹ÑÆuLŠé¿Å´M|µX,¾úrñ—ö½[ºª] ÎG-Þ�NçÎå¯:�þV0ØÙ îöïö;;Ÿþþ믿þöëo¿ÿîÛï~øþÛo¿ývM™L꺚Wf¶XÔ“´¬cÞ6J€5t»Ý��Þp«×&ÃÉ$�mEoØÛØh/®­˜ïu{ÃáÖp4Ê:kÃq¸€Ú5`mÔÆžâÔ}s†°e8%‚:u"ܘlhlH;�Í{é8ÝLƆˆm¸”TÕŠDðÿh¼MÙ*{n_Úƒ!" UbVUp«i`¨QeÁÇMðiT(�<¯Ë€öO€¤DbLJqEø½d³»“&ö7 +Ð4�‚‚ 0täŽpîa|iV’o¾¡ýkÀ‹¿F¼x#®)€@?ÿË%<[,ÎÚ‘zq /nÀJDdiT“̘Éì"P® � + >™Íf'ÕgþûU0mÀj«Çh2E1�Å´®Ÿ�>{öì«/o@}¡æõ|>?«ß +€�Kÿ;ý:�N¿ßß vw»ƒÁvÿÃÝßÿËg_ûõ×ß~÷Ýwß}ûígŸ}öÙ:ŠUðpñ0Ö’ÏJSäy¹B@^]EÀr‡äi]Ϫªª¿ŠXý—×?Í&”›I=ŸWsc/už/® -§-b`¿5Nòɤ(‹i5i°ìŽý?›½Þfo8ÜM§ÓÎÚ8`€èR¬‹kYàTT­2DÊ‘óPÑ£à`Å’¤ä§ÝÎæ½qš$阈ØÐ˜ˆ`ÉZoÙBÉkó�÷©* °b¡Â°Þs°D‡`‚Â9‘ª:ë)Àp\Ó<„D÷ &Àƒ¼zeÀÀj¤6ŽÍ8MîÝK6»›‡BÄÂÖ+Àà‚ªC_Ú¾išæ!8Æöœ€¥xñâW ú¿øË + àì:þû¿€ÿóß^ýäÓÏ>ùä“O>YŠÕµ�ÃÓo{üË›P–å¬>YM,ÊÌäyQ¬`&7  ­ÊT¸rýó,£Édbêy5Ÿ›‰É[œÕí\ð| €¤˜·Øj ò<ŸÄ>€d¸±Ñëvº± `8Üö’Öh8œTmgu»Q¦µc±v%¤b-<¬¨Âsãm�‡B¤ ‹�óʰÔ4AD)XP·»™¤ã4"±<&õ¡� Vÿã›sk¼Z Pö°žEà#¹!B°8´Ü4GKÁ8×xwô0€½Â‡`Û¶jBìçÞãÀþGl*VHˆScÒ4I“ngbŒ8> ñ¡2³pœW þª84zôð¡ò>¨% !ÐýÕh;ø®(€hwzƒøŸWð?ÿº8««YY,�f™Éb"ð"8>>¾¤ò Pÿ=øëZ ð?.Àéÿõ‹-F½���­ÞF±  (¦¬Ÿ�>«ŸýñËÅW|#æï€E¿ÿ›þ�;íWÿ·¿ý°ÿ›­þÝþöîî`0ع¿·7ØÞlo÷ûÛwïýÁîýì¯'/)€7Öó\b`r“¿ UµJ´~UæÆ˜¼(ŠU'3U7#à´®ªê«ú«ÅEÚóâúOr“Ód^Í«jbò|6[,ê<+Ÿ­ ,Š²Ì’¼*³¸K±×ëõ’^¯—Oò¼lÐ[ ·5ö¶¶†›½Þf¯×n­°4dî4Mí¯e$Šñ�÷¼o ê½á– +•&4�½ê¸ìLɽÍ$'›©aC £ª8²laDDDm#ã Ö‡‚à‚úÀA˜p!ŽóÁòMh Á�vÚàèa 4€Z +!5* +{Õ†¦^˜¬RjÈŒ“4Ùìl‚̘&¬eúƇ‹—v�;úo� Ú(8"¢xþÇ_ÿðü&0_ ‰^ÀuÐ ¿!0¹ÀeÐ&«¿-þúâÅ‹ÿÏK +`ÀÚb¿ÑhR|üq|Î~Y?«ßgï€N¿ß︵µµÕÿ06þ¶¿Ýì ;wwöööövƒ»[«½¡»»{{{{ +`TÓi ðÅô]äžç&Ï�y#.Ѝ³Yžg¦(Š"—òJP]Ûv+íY]“ÓdBU5¯æÆäùl6«‹š²r¥êª*Ëâ¸Ì’|ZŽzÝ6ÊOz½^‘Ç +Á´¶kã– +`8Üjƒ€ápëãª:¹ B‹]­÷7±�Ñ �PcÕ¢Q²LÁ«…ª23�ƒe 4õ›IjÒÍ{I:NÇiJÄìšöÅhlèâ°ðØ{ hœ7^ +&¯P„ "ÂãäšÆ5æ?š€qœV4†øððâ¥Mlÿ‰óBƘ„ÌØ¤æÞfw–â<�¡ÖZ�µÂtÜn02ư0[K 減@ V¨ˆ³%0 3�Çãqº™$&évîY"bcÆãÔ!8Ç �²1"3&‚Ç]¨ÂÄ¥ü¯O>~s ~ï@¾žc²É­9€eðV—rÿ:½È¬À¤m˜ÖÏž�>{ö®xpçƒ~§³µµÕ¿³uçÎ�~ÿ7[wîtúw·ãzðûûû÷÷v{{Û;ƒÁv0ØÛß°¿¿ÿ¿_@ñÅr$hš¿ýù/ÙÄäsùÖ^=uY–K °˜Íf³ã<Ïò¢ˆ“ùWpåß}ñbíú›É$ŸLLü‘‹ëÿ|±x~’™Ù +u]?zT�Lb•“5 ‡ÃÖ°œN†[½n§Û‰?ÔÝèõ6z½îF·Ûíö†[“““ªÝÑ|ÕU`ÕÆª à]°0y Šn"E‹6‡Î�qÝW|onv“$IÇw�‰„ÁD„…!Q8Ä–ÈÆÈ0¥&*|â‡xèçœ�,Ü*0iW•1s4'ÖØÂÄÌál¤I’nv;�îx<6†Mklð� `â8߈!2 @(î1Ƙ¸Âô×àæÀ-}·åfK$ËF sµ x|½ øPë:ಘ~qCàã©|~ p¨[üñíx‡$`gëƒv Óé÷?ø óá‡ý­»ýíݽû÷w÷ìïïïíìÞß vwïnööîß Ši1�~q1øæçÿRTÇ·…u]×e^®z·#fy�¹®"`v•ÏW÷bò M&“ªªªy{ýg‹ÅóŋŢª²IuV×óe0ö4÷²²šô–…þ$&[ewžFt»����ÞF·³¹ÑÛÜèm.0*Š¢­´ÿñÿK"€—a«A  8D;°ô@ˆ"u +"b5¹ÙÜÜL“ÔÄ"b² – 4ˆ—xùÌP²C„EéAòe÷ÐAãR�hW"€Q»ò(…QXE#€Ô“a&CÌÆŒ)'½Íng3&c Ã!f„):¡b b‹!¢eØòú«÷þ×+€ÛûNß'C€¶`t¥àj06ýÀ__¨÷€Âæ>Ž\ÃEá½'Û¦Š™ù€AdR‚sŽ­p»hýP¿nõ?ìøÛ?üíVëÃûöûý­þàî`ïþþîýû»»{;»;1¸»½½³Ï%üó£Gź-ÀŸÿQ“OL]׳Y~ó™Õu]æE½x¶– +ŒÈå¢+("`~Õ*×81dLˉK×ÿyUUy6™-�꺪ãï Y@ÒKâb�²œ–ey<{Ýn·ÓÝèõº�N[®ímlt»­/Hl\àqüœ_ÄVmÛäÔ©‚Ùš¶XØŒd ¦¸.ÀPL€‰…’ÍÍ{ij ‘°‘be‚|UÀ +ê�SñN„`„DŽ#>6#1 a†s€C˜X¼Šsbij"80ÀCâ ðø$  �Æ“¤÷6777“6å˜3–Øo¸\E"cf¨¨s�T,¾]T$íý÷!¨¿g7ånÀ›úb/ð…È&·–ß j"² �0 "¡ÔXBqp޼BÁVU…%߯o,Þ{BÛ9~È|ÀÂ|À;%ßÞ +Üï÷?Œ§ý‹­?ü°¿½óÿû{{{û{;»ƒÁ`{{Ðßî»{{×’€Å£¢ø" +€Go,H[ÈÏ�1u}<›™›OyR×¥ÉO_ÖKC¯ ”ež²ÀY}ª8;`&¹iŸþóöúÏâõ_TUžgk8999™N§Ói™ee5º €ãããut–èmt{ÝÞææÆÆf7ùhØëõz—C€Zh‚¶"À1y±C4ï·ÜF8HŶKöD Kıšñ½{Ý4MÓtLlb +Q,ˆ³¿Ì€y"`–SÁ�èlÇ ‰{Gââ/f& ~¬RA`'›Ø  ÄŠÄ5A,c&“’IÒ$MRC$$Ì”òÁ˜„™q" ÓÒ˜ü⥨¤¢ªê5àýmXÍN"Y™X+ ’ø+·ã�+d[K3f‘¸4‘ˆ�1$)T$®=%) Q\š€qRâHâ` À^Hàœ³ÞZÄ­ÉÔ©‰È2Ëf[‘õ’ƒfC,&5V¢ “C¾‡‡Ð%d €Ã[àðÕ?7.ÞÞÞÙÝÙÛÛß½¿·7ìloßíouúw·ƒÁ`gg0¸€éô‹/¾ˆXú˜ßX\–êúäxVUÙ�'?©ër’×õ¯ 9Ïf³YÞN^æyž›êT¹1-ÖŸþë×?MWhÛ#óMZž¬…ëøü²èƉ�îf·»Ùí}4Üêmõ.'Cp.ŠÝÐ4Ê,b@€PË ‚S8U炦DD €Å3�ÉÀ0Iw3MÒñØ�‰mÅ&(¨<‚ˆ(‰¸Q›�©Ý<‰DèxïU<¥`·û™�÷^¡V=³XQ‰L“š{iš$c†ˆ“¤D阨�%Š�Ä«S±’‚(.˜Ø¨*¼ª�# oÀ…Ò:h ر\€¥1C ]€½ ×®NÅX°ÆUk°$°¬ö‚DW`y¹5y €ÄæƒjÐÚ6½E¨Ø5˜ø�ؤ„‡×¼=ðvüö·ýßþö·¿ýíåû?Øì öîïïïýï{÷wƒ»ý­N¿ÓÙêo÷ûÛƒÁ`û�Š/¦ÿº@QLnN,Àl6«ª4K¯}eY^E\îôùr…€)˲,M†ÅIÖÛhû€†1 C€éU´£Ýn¯›|4ÜZZ‚m´è„Bp+ ÌlÄkŒSB©SçâcœaMôïÿ\Â"K ŸHƒd³›$iš�‰™‰ ¬Æ‡¼FOoUÖŒæâ¥�Ø”Aq1"$¢"LΫs°’ +Ya @,LìÜàEâÖàø$kؤƤɘE¢ÉabØ€°#ð&¨ƒƒH*b…@< ¯,¼Æn¾^;à+°jÄ^€3V +@Þ¤×pØ€oÖÀkHÞ^*È� +7vMææ<¼÷wà¦5@ý­þÝííÁîîÞÞýû÷ïïîîý¥UÈVëî`pEüsñÏÅÓ/¾hC€ÉU\ºÿ¦-œÄ™Ÿ,Í®~eÙ¤ªëY–×�—í–†€g(˼>›™· Zš"®jÏ/ª<ϲ4Mó¼|\µä² ,§“$ŸfKßï€G�=Šøh¸Ñí\ÀÆæÆÆæFox€uBp�]³ÊÂð€W/ÊlƒñP·’ñdˆX ÆC,[13ï,Äl’¤ÀxÜŠO 4Þºà‚@™^à%À ¬7p(,b˜²+*f™z°!b!«B‚�W@ÏE,‰²€,ñ˜Ä$ã4IÒÔDÃâƒÄ‹,—�±K…¡EH-‘�‚�Š40^•E–�f†sëX¿þë +€¯)s³0oQæ’p+´ +@Öàâ¹)x;ÈÒºÀ›`qI®ààÜß €Uüßÿ͇§? ÷c¶ïþîî`÷“û{îßßßßÿä“Oöÿëý¯k­À£¢(þùQÌ7g׫ @;ôws zVÏ&y½, +<{‡ ¿\ų¼ž×oTóÉdRÍçó‹ëÿ< ϳ4KÓ¶‚¸L!ÍçóyY–eYåɤö66Öl™=zô¨*Ër: {×+½á°·Õ†U‰xìl£ªÚ4 G‡A+yç�spˆá±E0q®ÏZ8Ç^è€= [�˜hÝBYbkÅ6ð Ë"ð^)¼�ƒÆç.¼m ¬e� p®–ø]õ1`Sk-X!ñß0 <;ïƒñ–£)Ø2¥D”ŒÓ$¹·™D7›JÜT�ˆ%Ä äV}´/�Uö!Äo¿züÎ9]€/Ÿ5Øü,ß èÍ + y‹Xð‡u¼UHì­)^ϼxƒ¸îïÀ�ßt:¿é÷·¶¶:¿‰†€¿é÷ûý�ݽݽÁÞîÞýÝÁ`ûÁ×ßýðÃßûÃ?üôÃOßûí·ÿër (Ú>€é´˜\K¬Åÿ’›ü’X%ì/{•Ï. ,Ëg±r,êzþf7½Ígëê±Xy–¦YûƒóùªÒ¸€l2\Z~mm ³,‹ÙÁÛÐÝÜìnnö†ÃáÖå@§‘ˆ‡?œ7ªŠ¦Quµ€²¨#�¨€×4Xñ�sŽÔR[ˆ}IÚ%“¦†8ná�ià¡ø%��Ÿ*…²&òã°·&QÃ=tìc’‘!ˆ%M½¨(T¡ô <”ßÀRì_`ˆ ‘IÌ8I77SfÃl%µ�$N]¼ ,,„…¦�6ãà-æÁÚãpPU,‹UêïF`×€DÀ·‡·)€„Äܤ,½ï–àuP €¨o °¦°€Ãàþ.ÜùàÎwîÜépçNkk«¿Õžþ`wwogow°³;Øî÷ï÷ã�?þøò§úéÕϯ_þøã�?®°»/²ÿ“kX¿ÿq +À¬ÙwVeì²[ÿ2³gõlRÖ—›ž]Ä/ZLÞ€j~Uý/žçY`µ<¸®ëª]©P$½$[Z~mõ†Ãl¸Àq±ÀÖÆEÐÝè¶eÀ­­Õ^€ðR¸?à¼QE€¨%«$`¢U„q +âIÙ)YḴê'LiÒMÓØ*Db6m¬µÞZ§ DªO�ŠŸR…Áœ+Y(Y~MDDU±@*qE1T�ñ9<¼ZEPÖ¸ý±‘_Òqš¦ÉfÂBÌìSk‰¬eqDJñbá•á� + ,‹i  ñø´Me\¿ÿ—€\€}CpkÀˆyg€5ð®9"fCtMß`M\˜×ß�¿mÎï·wúý·¶î܉cwúýÁîîîÞîî`0ؾÛïÜÿîûŸ~øñÇ_¾|ùêõëW/_¾üéJ#PUœþó“[*²*\l¹¡È”u=3E}ížÅ8`ñâ]@uEý/ùµ¥ Õb-ËseÒÛ^Ø~¯0-ËY €nw£·Ñív#.767ºÝÞð£á°·Õµ»Û +\$€âü¼Qñê½…@­xßçEPEc¬÷©µmQ™$v¥iwlÒñ˜b8�¬Â7!àÁ#(à5Vï¼ÿ†–Í7ðVmcÔŠU(ެIô"ô€Ö¦Ö²ˆŠz¨( À‡ì¹÷ {eX…0 kjÆi’l¦ÄÌ|à“¶ÃªEÑøÒNm +Dϳø½L�6% ËûoÌõO8ÝঀyÇ*€yÇÐæ rpC€nV´¦øí +À]„" +°9f–&NÉܺ/®&¢_€­îܹóÁñëƒúw>øàƒ>¸s§¿½3ìüß÷ö;Ûƒ»ý΃ï~|ùãO¯^½zýêÕëW?¿zõêÿºªŠµ. + +à’¸Ï&WÀI}òúÆ6Aóø“w@ûð¿ñÅ"Z'ÉøOÊ4I’å´Ï°7̆Ùt:�VÇQ,“€ÝN··µµµÕënÆNÀ�†½­ t—DЖ(ŠU…zï�oÈAáñ°POA</6šz¤D"lÌ,”¤›2ÃÄBµ¤Æª=PÎU¼ZÕ _mžzØ“U¼Âzà ˆWµV YÓÒB +%Ol]Ó¨þ9¯V­«ˆ,iJã4M6“f"‘Ôé�H£â=1bm¤6 °í³Ôª(’ØÄ@,’Äïlèðm!nϼ½ +ðî + @~s`ö"@k9^Sº ¨ò±,£^Õ…6PHˆÔ‹XK–R†ãvmÓ•“¦iúkða¿ÿaçÃþÖ‡±ýïÃûý­~ëÃþÝÁ`g°·w0Ø úýýöñÿòå«W¯_ÿüóÏ?¿¾Àd€è 2)ŠüV�MÌUpRW�¯ž7 _À[@µšû¹­é¸ŠŽ@k˜–Y’ —Ž_qGë´šVUY–Ó"[)€^·³±µ5ì ·ºÝÚ*@7j€NGW@!XG†˜¼…W@5À«Rp +hì U5�6ø¦ùsÐà…UˆIXÂDã$Ý4qaL4a†!&¯Ö+àÕë'ïjD-Ìyö›æÏA½ÂúØèˈ +ñiP XA‡óÀñÃÌ CDj`–‰„8%3N“^ÂJÄ"i8hB¼Wë}{ݽÂz'âÓà­ j„|˜È0Sý¯=þM:N߬ÖBX½–x×*À»+€6à›sW°R—€ƒÄºC +>BYaE=‘—Uj¡¾m +§îà€,Ó˜@264Ž;YV'kÿüë°VøßÚê·ƒÀñÿ;«Àí~ÿÁ÷?þøÓO/_¾zùóë×?¿þÛßþöó øbúÏ+¬ßYË\U]Uׄù¤Àìú9ÉßCTÕlñ|GynùáÇ~üñÇW/_¿~õóëW¿üòËÿw-˜\Ž®æòµ" ¹.ªº¢äòº®L~ø`]¿—ˆÆRä†LcY”eQ­P_@» 7«ê_«jZ–�ŠlØÛè.°1ö†½áæJl ‡—p!nqA y8Ç,`²©@b;­!"J™ÆD1Ù#,Æp´ÿ�ÇÉfç^r/36™!–DË) £Ì 0Ç—f&Ž]Ã)1“,,lŒPû±‘¡„…-z€ƒG™˜©¢¸$414NÓäÞæææ8›$jSŽQ.“EûQÂlĻӶ7¹-Q¶ï�'ÊMš�ÓôºÊe"36Ì&v)3X ö1 ÚßG¬30ƒ5c˜)�Ë�yKà­ +`™`™Ä’�ZÃ2Æ›Š�“qZ›‰ÚŽ0,$Á‘@”IX ãÅÂrì”öP‚´¹VD˜�Óv%Ûj/[vIdiú+Ѓ�Á`0ؾ;èouö¿ÿá‡~zõúõëW?ÿüóÏ¿üòË/×P,›&Ùä¦1 ¹ÞÐ +JÒ+×öVÔõ{*€JÖ÷rý«ú²]'r€G&I6»íú飯/ªêdZ–�‹Q@§Ûëu;½aoØö– + ]Ö pÅ�¯] ê80âãARm‡ðcÛ|N@›éa¢t³»™¦ãq7ð�0±m§†` y‡ +!MÛ. @X€Ä·ÓíµY)@ §Œh &ç$…ˆh3xca&"IˆÆ4NÓô^JDœØè\bHô5gÄ—fs*€ÈXX„œ“±� +ààøî(™4MÓ¬9o/îúWš¦©afŠ”/'L;cL b"Jˆ¤]vµÌX=ƒÈ˜ÌИHit3Gó¸Cv±×ŸRC`��bÀ + �ÐJ¢6H Pk“D&5FR«,$ÆCcCÂ6�ÿõ¢±Óá(êcƆ˜…Áp+m“„A„‰Ç)�ˆù€)MÉÐxíö_@š¥é{ ¿µõÁ-_ýþ`°³³7ØÙÞÙô?èìÿãËW?þôúÕ«ŸþÛëÿùçŸÿ¿7`Ùœ\K,{€®öT'U]QÒË®�òÔuE×P_À[@U¾ùTgkÖâk + uØêm ³,«N¾¨N¦Çey qþ§Õ ‡-ß–¸!�mÃ'1ç£Ë' 04µx' '°i€„„Y‚ÀL`"%›Ý$§ibˆÈ@|â­²�í÷Ö+b»| +¸¸Š ‚øÒ8„³<rN^˜ J“@@Þù4¨/P¼Z2 +vܦ$!âñ8Mîm¦Ä$)8F",,ò�ãKƒÁÎ�97€ÕÛ48/ª>6 ê‰(KÇišžŸ7͵¶°Ô‚…À4޳ &öE@H%ÆcY.9M£oYšÆʆˆ<„…bm}lŒ1㸮œ—áš�Õ[!21@†™IˆKR¥ ËÚ8'm锥fl(5DÅŒ�14�ã†d"a&2ä ñ˜ –qH̤Â"Â@íÓ2Š¿)æ4MÇË•ŒíV–‹ÿ�‘¼7ú[¿¹å+öûÿo»ƒÁö`p·ÿáÞ÷/_¾zùòåÏ/_½~ýË/ûÛßÖÀÇWÿ’5 £K!Àõ€“ºªò$-òK K#òk¨ë÷Wï€Gå£òÑÔ$i¯³Ñëõ’­^’ ³,û¢ªªª:.Ë"nEÇßÞF·Óîî. ðQ«ºÝ�%bÙŠx1�óŽ»·mbq/0@êã, 8· ƒ”t’dlZy+@j­²'߈i 0ÄjêÁ±ÃPÔihS�{(­q,ÒX¸‡cKNCTáIÕ–L SÂÌr�Ð?¥Ir/eaI<·«GDpÔ¾4“¨ÀJ +„áÄ“Cc‚ +@ýImÿfœ6çÍùys=ÑW¤)4ŠæqJK©#B†Lj8¥¸2}œ¦ÔH° `A"lÉcÎ=Ù`Éž«J ‘ÔPjÆië¯Ä"ï=4(TD‰q§£,“ˆ†RcÆfX: kÓq«cRcˆHÀdá¡�r˜Æ†˜(¦7¢ñ‚14&cÆ&�MfˆLz`W™ÑV¶„ b~?ôï¼!Øîß vvv÷ÛÛý»[¾ÿéÕ«—/_¾üéåëׯ~ùå—_Ö’€£Ñåë?™$Ù:dÍ +xrC O’´(ë¸  ý*òª®&WPÖÿ + ¾€j’¤›�nè%Ãa6l_ë8 Óévº½îÃnwY\`c ëÛϸ¢­'‘ù‚W°õ ¶©°sG€HpHE|ÞxÁà $ +°Z"…˜¤“¦ccRbf7©·^ÛÒº:%ó'("ž•}*ì\€hŒ=ÒàAœÀ ª$A­ µì!ˆ…Ç7i£TçááeÜD£ ø MLÜK‰ã#ž!Náw$¤ +0‹÷V�*;‰×Õ|“6*^ÅÂ(T•(OÓlœ6!„æüüWOBV¯‡ªlU5†ÆKÿÒø¼'æÔC –¡Ñ Í‹ã†,±œ7ŠÐÄBA¢`¡\¬µc±öMÓ4�‡°W\4Ný&À°1K�`ÌØCʤ Ë«¥�•&ˆXØ&HÓ¨±ðêÅzoEŒU¶"‚×$µ‡æÈ«Á7�ÆÞ„åÅ6Ƥt€Ël‰ÖZkLcùö#ï€~ÿÍ)€íÁ`gwwgg°½ÝÿpÿÇŸ^þøÓ«—¯_ýüËÏ?¿zýúõZ0»:ú7I²Éä㢈_kV ×@UWUž$yqüìÒ­-òª®ò¼>Y?eùk@õ6¬mQ,§å´œVùÑh˜ «ê‹éIU¯ª��n·»Ñ`3`«íì®)§~) Îçi£¬Ä;�sPˆ’¨BXþA`+†! ¤›¦ã¶ðGÀyjY<Ô9†Ê¸±À$PØP8°gQ0f�AÅþÁY¯Hì²a@áô<õ (`Uœ•4 õÛ#¢ú§qšn¦D$ ×ië‘�ÆA{²N=l­ ,¬*4¤"¬¶ Ä䔦ijšÐ„Ð<=oì5b¡Êª*ö¨AbÑü)ïµ�ׯ’D ÖZË$ÖK+�…ÄÚ 6xae(D`a‰AŠh¸£ðP-!‚)þWÁQÃâÏ¿išÆBðhlJÒ�%k ÖjP�ª ±¯^ °b²,âk™…,Ô¹‚Xöœ:4*jC£hô›‡!x‚žÃzKB~ KÖ2X«!õm¯ò-ç€íÁ`0ØìíîÞí÷·üðã«×/_¾üåõßþöóÏ¿\îÞ€br£¸É͵@ž$IQ>{V·+�«ºªªbÀ¥Sü*ð®xöìÙ³%²t³ÓémôzÃÞp8̆ÙÕUUUdz"Ûêmt»ÝNç"ï·¹¹¹¹Ùív‡ ·†ë{�:8çÔ/3–řԉ€!±�Dà]χΧ,`…w*.ˆhãÀ8 &é¦ãñxLB$bSo­µ"Pu"jRA„ª‰Ä,7„õÐiª†õ^AH…(Þ)4mG€@Ð�……�—jLCq&�abÓxœ&‰!–”! ^} ù `x+ÎÁúÕK«p£> Ú¶Áy(¼¡4§¦ í¹IXe�µ¬‡‡*îHSxïð<£ ÖR*Ô4a±ÌDÀÖ�hðµB¬qh‘„Rï%:³Æ¡?k¼…À98vMsD€6ÿ­Q¨H€Šrj8Z¶<&±b-,9µ.€ÈŒgXOð–ˆ@6ˆ™ÂGMÌÙª*b (šÆ«z¯"b…ˆ¬h¬>CÉŽÐÓ; ÿ6ììîììîvwûýüðò§6üýËß~¾œÈ&ÿå*Fë IžÓ$'¢Ì�1óúøŠHóâ8`åîW˜¨ÖŽ©ÿSÀ<ŽFã©òQù¨¬ª2Ï6;��^/&1_YÏŠá°·Ñínl,ðQ €^·Û®ú.À9ÕÇ^ÕSàuÙ+I´‰Š ú&¤�ª¡i¬9ð +X+¡´›ŽÍØö¾¤AñP…ª¤aÙv(’hè­š� 4šÆ{gÅ{x!àµM +¼XßX—X‰sAðyöß, l…À�„‰ÿ‰Æ&M67SÖ üÙéQ°ê,ûàã”�‡‡¦mD!.X¤Þ/3"𒦩‰�ÿðôüüiš6Á¿úJ¬%j‚#uAÕ©¦p!„?‰l-,Ȉ im XXB¬²aaFMP‘œáÅŠ2¬!!H"j-1k Ï*@£ƒ; +�GRõ` –Sa4*¦hÛdÉ+»F˜­@¼5V`­+2 ñ ¬��¢Ñ^�¡ÁGÁYçþd?�‰• i`Ù‚lí�Mƒ½zçyiÏ;à-÷ÿn°³·»3 ;ƒ»ýÎÞ÷?¼|õÓËW¯_ÿí—ׯ__®¬)€�—IÀbRÅ$þ™É„ÌÄÊŒÉÌ  /Ÿ=«/¬}gUUfW`LUþg(€ <[,ZP•f €áp˜�²ì䋪ª«iÐénnt;�N·7�F£Q·»ÙÝÜèö†�€—{, 6Xãl¢íÃMœSõ,Ü„,談ºÐ@Ýòg ±LÚ5ã]"h’ j}°ÑàÇ·/í¿ ‰eç€@@Òà¢+¹ pëZ÷Oç›zmW³oôÏic½EˆiDx;ö°�„„zl˜Ø˜4ÝÜLá…�»È(8¦%…à‹Të‘!øoÒ¦±*mNÔªdÆ„6ú�§±výë Uµ +*wx¤)\hÇ·ˆÈÚX‚„0ÃÊ(„Î}ðB–a™¬„HNa­±PŒ]PàOAçÜQÓ=µG�⡎Ҁ£#0[uN5@Š �uç©�ÏØ�ÿóX=yëkA k¼XX°X±6!’¡4ÙL ì‘2GjuTm4©Æ¹@«ÁÃÿGj=©8%¶Ö|¾ŠÿC!4ÍÕ@ªz8 8hc><:l¬…#± +2íÔ½´÷LÄ‚Ý2ÔRU!Aˆ $D°4b¨Ä9Œ¡®qNÎéÑÕÐ(dÏbÓho*@ì¶B^áB,¡8X 0q?3LQ'¤QwÄ5íppäàà8 Ž�¨9ŠömÌ +ë… X"sA`±ã`-½í¼ý~ÿÎN¿ß¿;ØÙÝÛÛÛÙ ¶ûýï÷ÃËW¯^½úùÕ«¶ð" Ø]š,Šb’ ‹øðŸL&ë9À4¯Ë¬ž?ž]Ê”EùìY]Ÿ=Ë×À´ÀÙÙÙY½¸“_€úڙ׋*ú—Çå´*#†£Q5¯ªºªOóØ +Ü YW—gZ\|ja¡°º€6ŠMU±k€ÀZŽÕòÍñ>oð9D—�`[  Ú�Ã;§ÚD¸ v €v5¸6hüŸ�õ¤ð.ààh ¶À‘mÀêl €ÇMd‹…Õàÿþ#…’êj�?ož®�½r¢hpι£”êGPXeƒ!^Ñ'ÀF;t˜ ^!Là¶Iˆˆ”Úe§3œsspÎýI|ü^d´àˆ!°Â)(öiǵib…8£:¼˜„‘1‰°ØÄZi[ áœ#@áUvp€�ÝCÁµß ÊF ²­ï*Y;à·€Þ€þÛÏ`°³{ÿþýÁö`wp·ßÙÿñÕ�¯~zùúÕëŸ_ÿòúJp €�‹¢ø¸˜E‘W + �â$`š/f¦®ÊÙ•@kù71U5­ªiUU¥)×pº8›MÌIñ÷*€úÆ3o°ö3«2étzÃÞ0ˆÙh2�œœœÔ'Õñq1özÝn¯×ét»ÝádROz½�îFoøÑZ+p{Z<¾½ÀÑuàŠ`èê®àÏýùX•>‡}4¬)€uˆ:ÜÛ¸ÆÿÙ¨'¿€Ü Cé½Í”�¸•Pµ $@aƒbM¨…µÁ{ÿ)”ì +Þfþi|òŸ?=???oB#WÎ +u:¼ŠsGMz€åÓR  ÷ + 1ÀÎAØŠ�ŠâL%œDOe¡èŠHˆ¸`,.„‡�@:ÜQ Ò‡G ‰†çlRXá¶'‚ dÅD_õÖóD e'àØ{ÈDÄ©À‚˜v`çœs�àØJˆÕ ±ÑPI HX œçÄ$œªð;œ7 ßïßYYÿÜ|úƒ»ƒ�ݽû{ƒÁîö ßÙÿñå�?½|õêõ«¿ýüó«+U€¢˜VÕÉÉòñ_E–Å�(³I]•Ë Ž€òÙ³“ú¬Î'UU=ªªGUU•æQ]M&§§Ÿ¨ßå,p\–Çe5K:�ÞVo˜eY6šŒFUUU''ÕlZ ·¶zÝn î '“bRLºÝ�îæà®) k­ª½€pbÕJTkàs>VO^.ÀÝ äfà¢h®×Àç7`ójpÔÀÙ -.€®+§1ðËû¿ ®~ Su®Yn)xèSHpNÅ:“fŽ‹ ‰‰…D±£,<ÈXq4=o‡ƒ‰Ó€S<†ƒsMÛ2 ˆ‚;r.nlX–Tˆ‰¤Ý  +ŽßÛÅVŒ—6ø`!2”.ÍÁÛïrñ³ÑN$¹#ÄOB´næ4/cý1Qªx§ó&ôßåܽ; ööƒí�ÁàîÖþ÷?½Œ…ÀW?ÿí—¿]ÀÖô_ãó;ÎFLÖ@&~M²¬\Te=+ËöÆÖeÚæÇÑñ37“êd]ÌL4í#ÞEÔ×66ÝpN«ªªŽ����W[LFÕ²X ·z½n··Ùév7{Ùäã¢(Џ´7ݪn€ê�¸8Ä¥ÛG—pØàó+!ÀãnVÀ%¬åŸ�}¥½¥°9€�/½´ +À] ìåûÞЕn—1ëÃ?Åy à¨1pÁióY¡ÔJÑ!"Â!“ƒ˜-<¬Jƶh»îÉ@Úˆq9R +‡ððOއæx7¹�éIãÇA‡.RˆëØ ÀÃ#ÂCAëûG”¶æ +Ñö‡Ò4MÚ*лàfôßÛƒÁ`wwwgw0è÷·üðÓë×/zýúÕëŸÿö·_þýßÿýßWñáô¤®—ˆ'K&ÿeMÄ/3ÉLµXÔuY–³YUͪª.³Þ¤¼õ‚T8ztRk�@†Æi’Ž“4MÍẋDÌ c’•# +³{ø0"'Êpx[+ŒØš,©µ–@±6µÖÑ:QÈÐ8MÓ´—¦f<6¼ôEˆ¶ímf°{xHp.ú?^nRkÅBÄ¿£ ›Ðï¿�ØÛÝÝÙÙî÷·özùêõë—¯_¿zýúoû÷KIÀa«&ë­çâ—™dù|ñ¬š?.g³Y5;Ž0E|B·  ªIQ—™)«êó_›8;;«ß³»|&£¶ÈY}þ¨®Oª¢ ‡køxòñ¤(~…°oQr= xKàóËøU€rïÜ»© +pIüáÖÀ² èÏÏÏ›U)ðispõ¨BÉzk16äø�ÓtUgõÖ[üyðâÏ­±6@ƒó …àÒà4°ƒ˜Rc/h,¬�¶Ýì\ÐUø4@ScÀÌtñ�ÈÛ4XïCo¿Q›Š8ÀÁ{ñMã•lâ›°ê¡*LLãTš¬¬Pu`×hP��”÷>GÄ1­Œ Ôß‚ú`µñ61Ô@Õipæ¿„›¾nÀÖïvîÞììîîîíììí îö·|ûêÇ×/ãóÿõ/»ÔtIÄÛ’õnÀd’æõ¢®æ�˲,g³YUÕ³ìåÕY}!ªÏ§­!ÀI™™r6»@ÛTç“r¾@V�¾ï€ÙqÜ;«'Ýî2މ¸PÃ^;ÐëeEññÇEÑK’^’ ?úè—¸š¼­ +àéóËI@<~· Øk +@ÞÜžt—úV9€[ÀÕ€z~þt­è|ÐÖŠ„À¯ê‚Þ{%oY­· +ïsïÉØ8Êã›&4ª–9+®±bƒê7Áž{o¼Uˆ÷$hBhð°iÔÚ‚ßXÄf<šÐ4Á7ÎûÖ%xŸÌ�•$. !4¡ `¸„Õyx+Íù9¯ÖB¼·ä5„¦qM!XÕÆA}ã�o”5œ«žÇß“,ü�Æ>ïo‰áà BÐ#}—¯#wýw;;»»{{Ѽ¿õÉ·?¾üéÕëW¯_ÿüú—ÿåõºN«úYý¬.>.Š�[lŽŠÑ(ŸÐ +ÕªÇY’G°ÌTÕ´šVUU'e–µ¨ÏÎf“t’•guU×¥Y€©êè)øœ¾ñ¬ jBÏN&›Ýáòþ1�¶ +`€V '“I1šl ‡½a2\Ov»ñÏ�—­À×sïÀÚ7)€ËeÀƒw,ÞPÀÛª7…½·æþpk`4OÏ› \/kiP„sX%ïƒ4qÓ™:Ux�ZV,T|ð&óp€Bƒ÷V©Âà ¢hÒFcÇDY›£oàÂQ@ðªPm-[½DáÕzåh]f-Þ«$§ §Ú„,‹&¢ª 4�Z¯A½¦¢-¬@ƒçšÔûàUD½÷Æj õP%À€«` øs !>r8‚·—›¦Þx® ÿîg°½·»·»··»·³=è÷÷¾ûáå�?ýôúõϯ~þÛ/×P×)€IQd›£ÉhÒ~åd(*€¬\WeUU³,™äU=¯ë|RÕUUMUÇÕç�ªª,OÊ,+?^,Îêúìl6É’¬\ÔU½¨ò²Š˜Ÿ=6U]¯Vþœ]ÀãÇÝ£¢xôèÑJ\†±z8‡Ép4�²l­ ð��@ï\ˆûÞP°o¨Ü\¯è[«·7]T.åì›sË$ ½< ׎úª`ÔÇ §¸IÉ{¶˜­’uç^)õ>š.ï½À‰g�2vp�qÛ1)044 =:BP‚úàTÄZ/€‡Šª*¤ª¢Á,¶i/‰„ÃÀ + MHÈÃ9 ˆ{^|+Kæ#uhêœ +¬µÖ3T­·ðp>®b¯ 4!qê¼oŽŽŽô¾ŽŽT/à=îÌìÝßÝÝܽ»ÝðíËW?þôòçW?¿þùõëýúõë×ÿ×å@±ÞÐË.@ÔæLZÖ‹ºªfeYÏf嬪fY²Ôõy=_�Mc�0Ëò²|PQ–E|Y—euöbQ×óêôñ¤ªëÙeWá“€‹Û"€Åz *ËÙl G­xôèQQ|>­ë“i‘�²õàãâãÉdØžÑG£Ñh´&º¿>pCð×UÂ;W,~M�¼µàrO/uß§ÔeVm¼^=¬4ÂPi¼7©‡*àÔ{õDR+*Ä �æ!Ç–AE`§îH}€ ê‚S6ê[xn÷xSÊhÛŠþügˉ=w`@ãÒWf$dqû€Û)¬¤u7àèÞêܧ¢ªNUaŨD­Ä.á8&ÁªÄÁP¶ ðÎy߸÷8ëè¿× vvwîï vÛwûýß¿üñ§_½zõò—×?¿zý·¿­c ¸¤–òy2™Lh2É'“In&YY?««Ù㔳ÙeTUUMg³Çm ÀbqV×§gUžemP?Ϋz±¨ëyU—e=Ÿß`+~ K¸¦ŠéRdÙ¥$àR ‡£Ñè£%:Wðø†À»‡ËNÀ›À•à]s¸=àÞ£èÞ›röÍ9§màÒýgº¶*R� ª^ ^àãZQ  nÄz4ÁSæã¦ !x3§b9@DDœ@Ôs<”K¬^Övcª ±<�Öðl£�9UÖ&§hð*© q ShBPB" '­æ'u‰@œâ)i°uÊA¡A�âÐXĉdQ¨Õ8Ãm!¡íh‚ˆ €:ïÿÞç\ ç=þèß½;ØÙÛ½¿;ØÄÅ ?ýøÓO¯^½zõòU4º†Óª~6Y�ÿŽ>.Ь›L&ñù9š˜f2™-êe9+Ëëø¼œ-@U—&ËÛöÝÓEÀ鼪ëz–Wõb1¯ëª~ü¸^[ÿ{óy Výój>Ÿ_Àh©Š€üjP|<¼Àp€å<à¯í�_Ý øŸX¸)Ø|SààÍ9€õ`uÿÏo(i¹hÒ£ÊP´úâœÆEÞÁAD}ÛK©uNªªA!NAÒ��8±h¬Œýj’¼÷ ΉsPu +©:aUŽ›[á A!X_7”©‹ßÊ7MP° â–f(#¶ Xu€uêGà1‹‡8‘vÑ/‚½�“ M#œJˆ–ú'÷^g €÷{þß½;ØÝݽ¿¿·»»··ÓßzðÃ�ßÿôëŸ^þøóëW?/ðê*þKQ|<š´˜L>�&£IfL–31ÐÞÿãdzù,^V³Ù¬ª>_ ™\@ZžUÕ¼®gù¬^œÍëyUWÕ­àâ¼ N[;µõà’(b° ³µ`2YÝÿáG£Ñ0ksÝ·àÝ«mð¶*ÞT¸}ÀÞÞð>�@½7õ¼càRpC zèÀP§ÌЏQKÅ·~®uô…2Ô[oÆ6¾ÝþH›&¦Tž¢‰n¨*€zJ=¢=«jh–D¶Âð±3È�½ØhÞë(Ž^ Ùª„6)–0ƘêeY–³jf²¼¬ë“˨>¯ª“ª.M:)Ë¢(в˜Y/I&�Š¢(¦“lÒ® 8.âOhOYEñ¾ +  í¶à50šL&£Ñ›@v ‡}t¡V¸­ +ð³�€ï¢ðkg¿f ùuU€fZC°›†[4Ú�ª21¼¶.½Ãøø´V'@PO©åø³�àÁL”ž }Aç*iXîl³C@N�8¥•Øo]à âÃ…eÁ‘UáBPf’Ô + ptVQÕÄ·. dEÚô¾FB×:²DUXXm-¡`¶"’ +\pËiÈ÷9ø5÷ÿîÝ�Áîƒýûöww÷ýýo¿ûþ‡|õÓ�¯^¾|ùãËóÿŽø¸˜“ÿ2‰]“�‹¬›LbUp4™Œ33ÎLf²ì:*“e]Wu�k¨ªªªþ0nõ†ñÒuzÃáÖp8ìu{mÉ-ˆ£lyFY6Ê.þv€Aÿ]B€¯–¦Wr« h@v « àp8úè"ðVð>³í8ð¯š8úÏžHÞ4 ðŽ}—B€›àZq!ÎÓJ|J*ÑTKÓ‘qLï;'ÌlR ~ÙXi,r´Dbì\\Þä qo +, Nb0»èç—† L2;‡ø�"‚ØqcK&i‘›CDøða\Œ†±¬ÏñÄnH8ŠòƒRwHäÜ!Þó8¼ÿýï÷ƒÝ½û÷÷÷ÜßÝ»¿7Øÿýïÿég¿ÿ—ùì}ýí·Ÿý~u~×é §Ë§ý™Ä‰à"ë&£ÉhCè¸Æ$KÍeÌʲŒ +`^WÕePUÕÉìËÇ-â~®n·÷p\ÀÚõ¿À(ËFY6ɲ,Ë^~6èß}—ÀÅŽðõàBë +`Ä Àe`ôÎx�Y€¥!Èö,ÀÛ�nþu}7„7Þv®½+„•ça €`BÂ`fA\$ʆØ9 Ýfž.'ó°œÑK…Ebw03ñ0;jûÀ†R,.W+Q#Š–HÄ0bŒqŒ˜™8ñ‚Ö1`‘ijĖà¸í¯].8¨oQ7õd£52�>úè£wMêûŽÿºY€dÀ¾C'௚o@ë£é.=°¢_†Fƒ�v‰Gj Ykƒ p0“·wš¢œ'2iÜ0$‚ÖaƒAflŒ€XhŒ™Á‰F@ËUІŒ!Ñø�ÚYbÇ&U@ÈrÜCD)µ»Œ ,DdX˜ ™¥�0À†ÚÝŒíö6"!S»t̪B‰Áxïóþ ¿½3ØÝÛÛpwïþƒýûƒþVÿƒ~ÿ·ýþö`wí &—N[L²QÛ <ʲÌdY–e&¯Ï–U€Ùñq9›U•æ�ªê*ªªªËª2©)Ëxµ&£¤»ÙËŠQ6M&ɨ(Š˜u(Š¢È/ÚŽãã?˲IÔ¯^ýøÙ ·¿õ>¨—�&“�W(b'àz0E%²R½{p‹Pk|»eÖ† èv;�Îf÷Þfr/IÒt³Kd,‘ˆ÷bÙRê!žHA}çTƒ‡)Þ½ +ðwŒÿý³í¹¹˜Å8äCafâv 'Å�èÑþƒØbÁ¡ØW›³1cĽ~ª!(Ô#® +& ÚÀ¹¬ƒúÃC‚ã¼_»�“Ú­À ¸¨Ü�ˆµ6x Þ6^ã÷xL©0„yl54 + ˆk%µ^Chœ' !ëÁ‡ f2ß)NŠPûÏE,¬÷^‚Wë½7ÄLï}Þÿþß þo;{{Ÿìß¿¿·¿¿¿o°½šÜ[ÀÞdmöÿãe@/�F“Ñd4eÙØdYš�Çy}Z×Õl¶–œ$yYUU5ÏËe0mÛ€ÊʤF¤Õá“ds3NE1œÓÕàAQäí/ _ò E�ýø²U[Û·vÖu]Ÿ^@݆£K + ¸6 0ºt&7àö$àå€:UµÖª?Pk‚·ö@X؆ ¶Àæfrï^’&››í*ÌïE¯Àò-¬©;ef#ÊÞzïÎ}oã?² kCÞ;§”žë�7dŒ·bÅï­Z4"> ³™&é½$M“ÍÍÍØì´iRÀˆVÕZ=�»=ž†§Í[û.,ÁV^`rã‰�a(`)xoÌr‡±1fllðð^åsx=x16zvŒÓÔÄG¶!œ7B°bEο!ã½êQ‚Sø€DÇbëƒ,·übcŒIåßXë/câ¤pšÊ˜ˆÆâϛЄୠ"Ö›X@C5P£-Dä<o.v}™uÞ7l!Æ‹ ÖUüÿCÜ ööîï}²ÿéƒýûöîïï ¶ïnúý»ƒ�½Ý½õ3‰®8ÅÇ->þ¸@ìcÒ,K³4] ½´y‘g½v¯�™<ŠÏò<ÿ¼À,K�äE{é³Þf2i�³|z²ô ,Ërµ{dµˆ$þ¯ø¾ÀÝþÖöÞ›0¿ìrrÖC€ÑG}ôÑGk?úèÝû.BU«Ú Xo­}ê­µÂX@·»y¯@—È€ˆoTþB¼ v ²BðÁ°Ky+*ÖøàÕÚËH“€Î +t€&„§OÏŸ> áéùÓpþn³ËûìÍŸ`R hÂQ<¼ÑØ7ÍÒ_Xñç +ÞŠñVCÌ¡Ya2ãÔ6Þë¹Q Á˜ŽŽŽBàð*„\šÐ4�VC ‹sAA}^ƒ�-¼ ˆz5VC�à˜½!2)!4Îk õ6„ Z1sî}ú´yÞ1 ·�1 |èpäÔ5îh,Îrã¬UhðçpÖ°(DÁ± ÇNF£‹,4x+A¢Mð�*™æè!Üч'¢0çª8r8Rh€ÓÀVb›^¬+��TDb�ÂÀ¢íÒFÕk4øÐ%¯¤Ž‚‹Ã=°PËÖkðêÊÁÀI«bãÀ³A\)jápAŒý5!ÀÝ÷>ÛÛƒÝݽûûŸ<øôþþ'Ÿ~òÉþý�Ý�íÁÝí�½ÝOö/��'“I1*–6 £%&£Éh4YË’¯ È'“,˲QÒ�λY2̆Y– ³,ËâÒ`¦Y–çÓé´(¦ÕÔ$É0Ÿ–åtz25ùñIu<;.Ëò8ní.Ëã²,ËG�EÀgÿ²¦úÛÿûm¨ëÓÓ³z^_ýçí0а +nºÿ£�nS7Ï´»Ã¯*ûf�lv9*€ƒ·„°ï€›€YWk!@²¬+±—B€æiˆwÿi´úzúæY€6¸õœB•£IŽƒs.Œ*Þņ9X4¶MC€=°!nç�ˆ%¶ "ꨆ²MPJÃÑÑ‘sŽ )TÕÃi\ß¡!6ðûϧ".°x‰Ý@€ Æú¸'µ ïš A„4¤Á³�PÀšvE˜ëQˆ~%ÖÚ¨ŒˆÂ³ZX'h¼OÕú÷üã×åv÷ö÷÷÷ìßßßÿôÁ'û»ƒ�Á`°=ììíÝ¿€¢˜L>ž|\Ä$àd4*ФÛË.Ês&3&3Y6Î뺞ŸTÓ*÷»Ï®)€�ÁMf u}ZŸÕÕUÇ�ÅéÕ2`QT!Àèæ³fÒ][ ânÊ ví.�«Àí +`sðEpCÐø·)€psàFà/)€Ûrk9€ðôi!D<}ÂÓBxSÀ[î?¨Bᜇ p€( N‚Q«€op°l "Äf°+„¬ +1lÑ5¦yœ;ÂaPà%e)£â§GÄÐØ¤ +‚5ä-DÚmo6¨M­2XÀBþà½5hš´ �Õ ’6`§¡�µ^íç&æ4q¤çŒ@êÞ‹‹‹ ¼�(Ùv8�õFTÞ[Èû+€þ`wooÿþþÞÞýö÷÷÷öƒííþöÎ`{°»wíì�&£Ñh²ÊÉ�&E1ìö.Jôã˜ÌŒÉ뺮OªGE^ämæ~ØK²I›FlÄ:Lž?ªŽËãéÉñ$I²ò¤šOO*STõIUUUõ¨œVÕlv\>ž–�§åç�>4-Ëòóß}ú»K +`k{ow0l×7#àl~‹Å⫳+�@1À­÷Õнe3Ð +ñ<€K!Àm9€îª +Ð} Þž¸1¸¬–¸A$oUíµÚ eÀ[rrûI­‚Ô†ª:§iÛ/ûpᑸÞÇ@” €¶–¬¨¨õ’‡£Þ â�ããžDøX§‘„UÙÃ9; F`â`!‚Æ‹X„(7ç‚�Z#ö!)4 ®išT…<à­¤‡J꫇7”¡âœÄù ‘˜â8hP4^�¬þÿxû»Þ¸®-K ×%H;ˆË8:ºõâÒ^„šDØ^š¼'`ð"R‡LÕ5/BV¹ 0ÐsÇÜË ~Ånv®¹Gʘ€YZŠ/KkÃa~œçk½^¯w÷$KÆï¯•‹}«yžç?ì-cWWûýü`/?î/Å Ï�‡ÃÕƒãÒHt¿Ÿ÷û{Gûû½ƒƒÞ~ï`ï`¿×ÛÚúæ›p·¶PoE¸Sy'äùðÙó?Ý€·¿+¿©åk–—ï_Ïþ¦Îâýååå_$ +Ýn  ±ˆæ•œŒys¿¸ ÿš)@™ø÷6ßÎ\YÄÔ +¢Ø¿:Õw÷ +þY†›ÈØÝ—¥‰†8ɲ¸u+ŠØ]AéæKOœ©:�¹° §fÈ*”E•8HBp@l×ïfÎ* È¢¡ qj©\Ó•¼w6Äh£xOÉ…‚‡Ó€óœE4ûÓͼ¡r•Èœû>ÛÂ$þ@€�zDCA@¼Ø¸¨0~'ùãxŸlHÜ€»µ_ýh¬Äm õöF{½¹²qzzvz::{õêõÅùÅùéô¹¶~ðàÁÚïoŽà Ÿ>úôYžÿéVð}ظ¼¸¼¼8µtx],¾å ôî)À˜ànÍÒ�>Àx“ ¹ÑÔô>v +ðQ=.K€"æÿS)@ §êÞ±  …* ï?Æ!Ë¢ŸøÁ(\p–!d°RÊ{@b-}º æ]Ö`»È<2µDâ½µÌ9ª€O,�q8Ö¬Ø Þ–ò# +… ‘‚IJ²‘Z, 8 OV‚ !¸ BL¬^ŒS³hÜöÓpN£/X–Y‰¼`\*©ƒ@XË g'·}€Ék e€ñF‘|t °²·Ûë­V³±qz~~~þúââòòââÇ×çÓçÁu÷®Ñ^žÿtéÁÚÚƒåß­­ýnÍ.Ykí²µvux|œçy¾ÖÛ;ìõÖöz½ÞƒÅdõ`¯·¶·¶¶ºQ!Rƒ'@Þïï÷òá¾5e0|š¯Äbâ ?èõ�úý~ÿðp¯×;ÚëõòýÑÛ§±¨Ü@€á³gOŸ?}ö<<}ö§éóþïÍòýûåêï­Çâòýû¿@<¶‹"ëۘà |¸P½w]ÐÏ7ÿGLÞÙ0ïéÄ)OMÆ£€ðCDd]ÞæÄÀê{_âò.@æ�eΔK³Q•[´Üë�€I� „\LË!ÂÂRU›‡‹ˆƒ@¡šX8€È@È2gWËxË „B‰\4$E”±*¡±I ÀV¢ Ù‘qJªd4. ÅLÆ'•2ñpÙ÷»‘Ž—£a(ºÖ—ÑM""*jâ•�²Ã7¹ããŸÆÀ€ëZ@ �ú¯>µF£Õj­·7×[ÍæJ£¶1zu~~ñúõùÅåÕÕÕÕëéó`š ¿üàÁƒµ¥êüâòòZä/ÛÖZûÀZ»:æùqÌö¢÷ª]ZÝÛë­¬õbaP@,–¬¬æy¿·—ïY“Øþ0Ïóá³áj^Jˆ÷û‡ûý¨/Øïõú‡½Þþèä»wd¸S¹F€ai=üôÙó|0|öËâ¿V[^Z\\\ºýXZ\¼?=xŸ(hü�€L÷w�ì¼£øèÀ¿n +`>”üðCø¡€qø«‹ â½Ë\>pŒ�öwáÊ&`)´KNàa`f©G -€KA.KÔ-½zmlš+,$`!�%@6¹U3¿Ôß¶‘÷ƒÈ+Ša)ª¶Œ<ßÃd»"«åY"2F™ ",F&Î�G6Éø3d´(œs¥&�D?1(`ÇY¾\GøøS“é&à$%ø¸)@­Þ(s€V«±Rÿ¬}zöêüõååÅåÅ›«Ë‹Ëéó6,ÎÍ/=X{°Àz÷îý2"Ðu@M ð‹§ïߘd/ÇT "²V#@Bð@ðÁ?Õüð>«Q�‹Û¿™!ÈØ\SH„ÄÆu{+DÂÂ$Äãýa7x%ZxÌ”:8kÒÔ$–ˆ„!¢²šÄ¶!Xâ†/ìu\•“¶h4ºjIˆ˜DD, ‘µ–„DÈZ&Êœ°UØ9±‰I�±Ö’ÄÖ¬° p]Xû¯êüš)À¯àÐ4üÖªSUu“Û¿|è¸0öÏ}ï±´fᔉ‰EÀbd<äf‹¤`†µÖÅè´ÖÚ%""K6%K¨Sêº"s¢‚S§B©%(Y�#uâ¨8 vU„£¶óv©Üà/½@㟖V%f”T»Gª‚sJ…SÒ(W$"€±± (ŸPØÒøc0„I D(åÒèG®¶”)øu§öQ5ÀJ³ÙŒ@wj­³ó‹‹‹Ë‹Ë«‹Ë«oÀ›¸ 4n./?XžŸK&Áòòß�Ïp8Èóÿgžç½ýƒýýƒý^¯···¿·—ìíìíõzùÞÁ^~ fùqžçùa?æ6™p0Ìó|ø§ãÕã¿�ꇇùT0��F£˜|ýÍÍ `º X©T* µÊ»3€ø¬2óAx' `é­)À€ˆºú K&-ùæ$Õ1tÍ:ðÿ¸)À{{t]üðÃ8üU�ªŠø? �–Zô‹ô-Œ˜(b, “H +áÒèi´â²L‚Á[bf"&�S¯Þ“÷U¯õ–”‚ +<{uê�Äv™XD$1KÆk­%KÂ"©%ƪD·ß/,‘�Àƒ‚„àŒ 4x� r¤««¢"N|W��†à `…ª*«:DÄØ4�~âefa­sLsˆlq"pÞ‡ÔŽ¥‹ä/¢Pk¬4[­Vke¥^oÔ6ÏÎ__\^^^]^^þt­ ~uuuuµ¼¼¼ü»k1åð»åKósÓRלÛ|˜çƒ<ï÷ö÷öz½^o¯·w°ß;È󃃽ƒ|/ßÛ;ÚÛ;Ø;Ú+K€R´W€�ð|8€|¿—÷{‡ý¨0Ø�F£Ñèt´µõÍìlÝÈjc@­LjµÊl¥rž?þ¼R©ÌÖ>ûÀwç½ÀÒû cæÝAÀ¼¿P�žÜÌ~ø7ÙxgàgwÆÀxðg-«ÓØúsþFø+1‘Í™_r’$IŒ1)ÙÔ1³�½øB½F²à|á}ñ뀟ýÚS[¸Ûh¬¬¯·Z+�Fãn­Ö>¿¸¸x}yyuuyqyuùfú\gû×Àû`˜Gk°½ƒýý~o?zåy~°¿w°w´w´—ÿý°·4ÖîíåÃÜ®&X‡ùñ Ï{½)‘á³ÑÙh4:-Ç€�ŸÉfffkµ™™™™©H�ý¤R©,T*•Oj³€å÷¯½³(cþ&È ÀüûõªÉ{J€þu<€ÿQ»4€Øù·äœ:·þ¦ÃŸ™(M­IYk‰EUÔ‹µù˜¢äsW¸à¼CÁ^�†"„¸º¼ ]/Š#·ÌÔ2�a¤‚(C­UbJS"ânWÉX?RY†‘w*ê=Žà5tUÕøÿ^8õªâ¢pAHÄ‹ˆ‰�ª7Ä ÇcGÀy"° ‰ªsÆšñdB8Â<�³Oï5sb²¢ðEÀGÀÿükO\\o­·õF£Q[XuñúââêêêêÍå�±09·e±ÖÊàÝ»úûû«½ƒ{GùÁÁÁAžìå{G?ìM¬½zy>Ì{½ÄæÃAžŸçkÃ?ó|�ï÷zy­×;ìõ{£ÑT ð¤óž@Ìfff§‚&¾ÎÎÖ>©|²P©Ô>ª °¼¸¸¸0•Ì•cÀÉØŸw?©qêÕ«IÉ2CC@ÕJ¥R©ÎÍ• xuΑ÷ - �{K~rhX©-,¼º�þÃsߟ™y9úüwàrè7€s…‡$€ìX€Mì\�Oû¾Z 0 ã(ÀÀèrÒã…Ó}`@X÷9Í V D¢Y -€‘€à¼“þinŸÄðˆrm§¼ã·� ðîVøÛ‡b‚¾�x^™+½bO¬àÅìàYÈüOV~‚v-ýü¤gˆ=žŒ”Sß®¼‚J?:íSÀ -à<Â÷)Å›à¢�ð@iØêPØL¦Ö¥­�]¼ýUßÈ;£Å¶1ñ§[˜¶ ˜ÑÆ5I·€Ò.u¯§¯hÆZ°ÖÄøµm“ó ó³4}ýþzý·6I ÓÜ„�°º3³`œ›Z‡ß;´ŠZà¯u÷h�aÜoÿ -”R5Š{–Y»A[ØIʲe”ÜÕ_õߊnß]ÐZÚbRí~«Üô@Pë4@Tmimzã$²k !ÅP}ýõ:ŸZͯQÚ²€�좖«fšd!Æ4Z'¼²=¾A�MÀ»Ò -J‰É•˜0žQ«éç‘)£€­åæãKyÈÕöUpÏ– h-J÷;eØçéïÊQ¬ƒiMÃé¸hn¢Úç*5ßòf—˽~çW¨]ZÑCë -<ɾ…%[j­ë?´ò4jýáÿCøÿÀl´ÿd(„‡ ž¯�¿¸?päó ·`ß�>p( �ë>6×ëV½×ìšÐ,�wUû\œ·àzP7r¯Q�Š €õ›«˜Ëv È1AN”&K¯…ň¯ÜÌ^Lëõ—ÀÌ@Q]éuèC>‰¶^À¨^V‘*j�Šë’°¹^ß°Ëå¥åÕ*;_™;•ÙˆŠa:S”e”ªgÕy®Eׂ -D{=?a°T=~þôI´µ • (â…%ªa.Ô—Qd%*!ª¯¥$êDêë?¿$©_Y{iE@£Q¿ßpéòeñ?=çÿ‘¸»®ðÞ¤²GŠ«l2 üOŠÏO^NM=…áàÀ³áw ü«-Û#°þÁ%¾˜¢ÆôÿKl`í²uã$ðþ�<Ðp @ìÿ˜Ï <$‰Ø’O03 øXà:dˆ|;€w² à½HÓ…Q�+ÂPÈ0ܲO �„ï•;/Kݰ²”<€?Œ-n¨>D¨òs?~x´€0…±�á?ûúÓBÆý´a`øÿI5ùØÃòÌÄ3Ï â &€’-(@¶ç,Ì5nYw-S6P@ÿxÏNdá  †äV¯ (Ŷzø·4ÞÚ½ÚÇLfïè‚Ç(?�èPD‘hI·Ë6îoN×Ü[•yÀsÏiÚé¦gÊ››méô[½Jœ´s ¾ÊŒÕÜ["5ž(ZwwEW´*¡5*éë·/_Í_~œØŽr$3aš‘À®X¶hí'�ô¸›¦n{+ Ôà¿]㸒N{ºÔ`ä÷±mÈ­?6D6ôºTïõ%b,)c—³ÝJ N”¢5@Lúꥣ‡à¼m*•«€p³{’"‰2ž’ݬŒi“!ŒÀ¿½22QŠMváZÝÉBÌ DcV˜×œdº 3b%'G +\.‡›i`}¹¼Ùïÿʯ°¾×êÛz#i-™š©DÞÅâ´†·˜NÿìXw«øç‡.É�¹ø7c' -ð-ü'†\Áò©’ ~‰Œ H¦kà¨ÿ<ÉLêF}nÍdPó´ Ë÷ú—D¼õ¹5�öfu -ðN ,f€úµLl¯=9W3úÏ¿5ëìþþØ8€úœð×§ó‰»Ó1¼7ÖÌ‘×$!¬x¿P_­‡ëë{§¢=âÞÜÜE©¯oøU€ݲ†¿Z²A€ ’ý_­-y!"ÿ@­:¹t}�€¤“+’„PéB½!@¬ˆ¨V_ =3euu#éѨŸrŸÕ�©—¦ìcqdp f¡ÛCá>ÝT—[ñèÆºa@áˆÁ§çx -b­>h!bhý¯Õ.ŠG($@¬,.Úk4d!µÿ�Î�Ý}¬dÄ? ÏÎÌ{&†;ó…ý3„‡$€ðÜ�¼üêõ�?ûøïÂGg_ýx -°oùC¤9Nò c�°îó'nÜøÈ/�÷d”�Iè”ç2È4 áûC’³síCNö|ö!ß³IØ[áøo ÀÁž!/Ê&§°�xò43�<ÏäO–8þ™£È‘#iê?pÀ,eålxlŸ«‘ú¤"�â´�õn½t3µÂbÖríbQƒOXñm?}Ãzq�i¿¹µ»û–}ðîB:åiŒtP ¹ -fD@pÔßú@ÆNiÁÚV·c+÷gŸ; øÏcè†ï óÓú ‹hÒ¯ô7›ðBB™Ò”!°¨ß:U ´î5ÁÓ�Z·°§¹®­Þö6€s_mw·9õ|Ôâƒ$H£eÔqoo¿…] ´6b®¢Öƒ¥$ægu€×Þ¯8¤=²‡€-”ê¨ôú»Ÿ¢3€¹ÛêƒLÌvS{¨Ö4vÒÚV„j�4çZÐz[bÐÜÖË¡jä²|Àš̤ò¥‰å¯ëèì XL´Â…¼†ò@‡ú½Ý.9Ÿ{-@G)g‚Ø+ð?îîrÃô¡$'ù…’¶ô{ÿø)jx5jÅ6‹ämkÚ3‰Ê‹(ÏõHâY°Ý9$A¿“øÿ  `¼àG^qqß‹uÜEI௠ü-p“ÃA`¨ŒúÏ“ü¯½ŽM[ŸKáx+ òjë�õ€\ñ{=ÁÿúÞâZü[ÿkµ‹ÖÀy˜Õ@d|bo’qýøyp65ȼð.N¯ÏÝJ 6°bW߀«é†Ý÷Dæ÷òrm ëÚ]t¸»~óœìU±ÿ¹hÁF´Ì© ÝûÔ_²#À¥‚Dèß·¶â¼Ÿ3œlD Àé¼±Vµ‹@ñrbE½Q• £`u›ü£éjcµþÛPãJ£ñ’”èÖÖσ„{“n·ÌRæP�˜€¨xtè|zUfOZìCÀ W°ê� »ö«k+k:‘] ;Ð`ÕÑ“48²¸¸,GgÊâBeÜ0âPˆ@²ü p&0DÄåð|tãú; ³Óå…ë7>þøÆµ�ä(ÔÇiŽ“8áÀ°_ã†äå�!@æ�ûÅ\šì³€GÀáx¤*€ê_€ˆ,b¸©z4ü‹~`zLÃAO– -Û>0>ý¥•A b”¦�)�üÂþ‘øû™rÿÎd9Âr"ÚÞ‡€·SÌ ¯.%»E©�Ô‹Lv'”ú}` ØÇ ÞlÃjÖ`¨€ˆL6·€~d·u{«WxÂ;ÛÛlYÓ œr&¬n0†ÍœˆR S‰NíÇuÞ^4áü:0#˜ô*½ÍJÛþ€ì ¸×iÍë3¼E_U†«°ˆÖoÖš5 žv»Z ‡-”GÁøÄ�Zë#ècïîþ´†Ÿ¼µÕ-£–¬�tATr ÕÐß}‹$;ïºY& ³$˜p¾ÝEWNÝ·%К¬Rî·Ú{nФíÖ ¨‘ßHZ“C\GÔ�fÓtãb’` ø+…0°bg€á˜~nT¼ -4z¡©Ï…pfp¡r) WïwUÚ’µöÞö;Vêïö»MS»-kJ˜—&4{-Ïì�AÉNkÆ{Lpßx4‚@H÷„Üqð¯0É㾌ýÿˆØ÷˜¦ Í"C€¢@PΟ�E 2äà¤�i÷“¨ž¯½T=–,šWQ7y`w?_¿²h=Á­©ËnÔ°¾±်zlðÝRcêµ – (@ -”H`¨Ïíe¤.€S°ÝW_¨_ZžËÌE˜ÜJ¸Îuý£ÆÏ?ß[\†}4þݯ“"õ7Öÿo?Ë®˜—”4Ø)ÃyL¬¯8fr~uiª1%Û4ÄéRÂjª‰ˆ¹Å䊈r óÓN¡=¬ãÖþ³Ÿÿlãç�·Ü¸ÐX›Û{ˆD]"ióÁˆ{:à«ÊíÖpÀ0óñÿ©Ä@t„©ãßn€×.2¬¥�T…ù qbòEF.p„ác¤_³?$ÓÓå}€£Àÿ,Éø?^T>ñAi?üè¾ñÎÂÌô¬_˽q}g'¾ ˆ l&ô0(ìÿGð„¹ ÁHþÁ*´¸~ýÝ_ UÞ0‰ùL² S‚ýÏ>P$×o|6 ?PR}xlÏ‘š¸ŽWåP?®É à àÔ©")(@Zb[Â#ð' -i‰ñ¹‡²“¥ï~÷»§¾ûÝÉïº4�‰ðvFü„fÐs·Ýÿx×ljO¦ @@‚]ºì°»û+ow·­g|«]n¾�&š†¼µ»½û ² UZ�¢ºÊ@Q YJ -låÍïLG›¿J»Üª”§Ÿ{îìs`›‡P8LÏôÎG#ÀJ¯Ré@4’±BA8� L#EN€ГOQ©ÙŠkÀn­USoýîî?ª>‹¿òs8•fGËÐ.·š’™þ[[oí¶·³Öh Âs X&gÙ­¹ˆv¸"ãšÚüÑÍgâüä�€Ô)WÞý uC§Õ³�$—Ý„íVâr8÷IqËÚ Pí< ·«[Äì“G¾ÂyÀNo[³ Y®ÌDCÀr‹¬hÚ.£IÙ:ÿ|¹b'þ†@qÙ†¥©”a—}X…)Y ´‡Ó¡ƒÖÞ/6йÐ3à’œnõ -ìc?AÐÖÏ·vmÚ'ƒyNÈ^�ëÊ�Þ©þ'ÜŒó£8,Bý8™µÀ~ 8øÏõ”‚œË ‰è½?ÒL„‡(Ÿ.$Pø>r�b¸¾öR­` ß^#âîRë«olw"ïòKÕúÞTÔp–÷Ï×o^ù½¶s­zÆ× -£ÚÏèCl:—;ÏcWRº |/H˜Î‰ÚbÃÛÜ€,4¢€¹ðûb!‘� ôX¿òûe,ï½ãvD`ê—Ö×7Ó~ -§_­ï-_ru0@IMÐorýLéäÉìÈ!ˆj�uC~š«�eTüí`C-º4øÙ•ÆÏ6össµÆåSr“Ê�À—¢ <Îâ¿Ïs‰®…@üO€§Y0Šòñ áÓÇž.ÂÿÝÇ·¬ð'`§©;Û @ô=¬dÌ•!³h˜ñðËØ�è@†‹¦öG~pÖf,¤/¼ -Ñ©àÑVÉ©Žñÿþ€‘*–¯'C¿`é_Ì¥Q&ÁTöÈý‡ë; ï|ðágV<´' ìÿaæ óf(À¯–N�é ø— Ú"$Чâ˼Y||ã?âpdâHBùžœåÔ˜°˜M LéŽa'„ÅÛ -0Qâc÷±€1®)óÛ�ŽŒ`Ä0R¯ö·¶"ò¬Ý¸X‹…ØÚÚÛl%ßÝîW¦[M÷äÍ7RÀ¨=Ìl›�n¯Õ�žåÕKðüs<©€„ÿ"�]ƒÿζعÓÛÔÙ+†b™¿kO>¶gëƒä[þœ$p­£îݽžG 5Zˆµ°N½ÝÆJ—•·€vlß�€ð[T p E¶ëå÷“Öš¿­®ýúÑ9ÈËLó•Ò¬ol�†ÓÙ¥Ž(ØP!âºÈÞï|Úk•­ž§Ðä¶¿_2X£ D=rÒ0²7¼®£eo‡–�Œìs.T©Ì”ýÀÌÙ³Ïõÿ«íö67Ê3s{Bëv:'HZë¨`µZ#fwÊq’ôFqz´†`ßW!Ka#leÞ¬ÓA1/u1"­+F²Zsw(ºUMñ’Ó?ýò³8*£†ÿà—<Ã.€`Ç– ÿôIDATÖH‚è(êD“­ÿ𤾀òYF%GÏ�ð¯~ñ¥×Å;à¹~©qÓp{mr Ö/ïcèÿìgÿÛòOæêË+ÚÂBå:vðÆÍõÅš¯=oSµzæ‚UïÑÍ_!�óºês·¢G`8€Ž«XÏY8Ý»ù� •—¬¨Å·6öêöAÈ’[ÖÁÝ�Ÿ_ény®a³Á{uõ�u”ûýzâ+È—ÂL¿Uk)µŠö?úñ?æxýtédéÌy+âJC̤4gù†š�=tæ2.èfh ïMçÜ[~iyïÔåøæÐeßàc‘î­+R«lçš<2?ŸÒp<ÕÀ§:X`è?Ö¿áÿ­Ý_[�hÙÐŵåêâÜO“ƒ±€�êšJ6ùÈôtya?`ÿ[€J}Gá `fG|X.k‚ô÷€›“Ñ%àG¹3'1óh’+žðýë˜ûŒÂ– ø£5™�Í|ÄiAò\ÿ™À+ø=|د�Mý±BžsŸ²‰N" ø@Ô䀹W÷ø€Ò‰\@è§_åÿŸˆþ!Øÿù©K±$ùî�@‚µV/ó^fó›w�q¶Ãf0uºƒ¤”Ä¢’�X;{Øbžå^wK°Á°ÜÝÝŽ(¿­^ÔKÿCß`9Ìõž_‰»ÝÝÐ$ïov²Á?o÷RÕçΞ=‹¥Š:ž_Ð✔½N¥õng6;€´·ÛVáre~¡,&ÆU(íz�lðœ=“h©µ˜‘µÆh•ÀºòÊ ;úAg=V\tÿ±²"œô @PYiöÄaÒȽ¢¥K‘®ÅZt©#úƒÿ½Šf5ü©Óo¢õn?94$YëP6i]ÆBŸi -g‘שóƒ¨�ÌÀ­òpöc¬·+·€Œé ðÅðÄ�=™K¨B‚ ÉŸ^ $ - Ðç³’‰(aýç o í®óÛ±®Un-X 3/D¥½yu¡ïÑH]Ÿ~„œƒÿ¿bµxcó»~o·Õ²Aï=¸��ViõzÛV­c—b­a´ J¤ (O?ç�¯Áå*n¤ìGiÀŽ× û:ì¥ào[º„Ö,¡µ­î¤ìCˆÃ�#¡¤6Z_m_µwÝ&ÚFu†ÚÊ!Ögl'}Ýà¶NÄä†Ûhm§º†Dýy¯Ë™9£d©¥Õ §µ“zs(tÂ’We�´ezZþúXÑo'PCϲ¶Oh lº²Ìuh ÙÖ!{’Þ~0©ÍÕuâìóóåç¦gÊä%$AÚÕªLW6Û~;Y - Ö\¡^�vÛ*š!­Aû¬u;´f5§AÝfhMóÛmÚe -í‚è‡àÏn­õË�å©p÷øFù!#ÉêŸßÇÚO¿z±…˜·¡XœMÀ8�“|ˆäÚèqòÅooýËÚ\mïVã·n6ÿyïæïoþÜÏä‚Ù·þðû/ûû›7oÝÜ«/_^^¾üI|x·ÞØØør½¾±q+AfÝ÷ëúü…½¹×jõ¥ð\º…圠Þ6|�ß/yóæ­ÿüûßù_66ön6°æ9ý— (GãÖ—{·níÝúdyq­q«ñ_ †¹Á6zôOÿå­ßï%E6êçsË·~úÓP$þ}}ýVýK,ó××êÚç� Ò¾ùåÚÚ¥K¯×{�ú¥//Y ¡¢Õ –jëS«Ð€ZcïŠ\¹µ¾‡œ¼Á¾W~«¡" @ãÖÞ½¹ÑØ@µ/Q„¤¹nô¸yó÷ðyéò܇¹á!�Hx�!2îp8{2:?y SéI‹æ¡íúì8ºfZû ö¤_^Y»ˆY³Âoa&j)¦²ZâpX^.g£DÂ]�õû…õïLÂüqòPÐÀ]ó#Bñ�k7†|�Àr²÷“÷?¸À¾‘Ü�÷’`?í¿  ŸX@†ÿ}?@ÂýbMNúáUV|8ûc$ò|Ä0þ�z`÷é �ûzB.pˆ|{räˆõÿAŠ'è°ä*€(dÐðd,Ý)Ú'Ô/v‰�ÝÒna��Z�†G58ˆÓî~ºû«_õ»ŸÂ€Áé°;ƒ<nå$o¼ÎÀ°óY¶ðÜsØÿÀ?`>Î:ï©ÄýöfÅæè­n³¹©µªB eP SÚdËtÑÚ�6µŽrd_mµ«šÖk:Ïù»6ÔƒŠË[Àÿmµ–„bXڦœi7[hÍåšV.ºÞØþ#@É"Ž dö¬2霕N³µé‡þüD@há/¬ ôJÅ~SçBë¤všÆÎ‘e–‹‘2«#…ðäc0ƒô»-x WQ©„ÖåfÊvæŽjMfA·c2$x5Л™H_­õ‹ôº mòôÝ^o³o¤Væƒß˜×eÒ0i�ú r‚ÕâþÐ8?†ãEr3ÑŸÑÙ鑆€ŠÙÏ•û„8“zTÑ‚+?ttî|synyey™ÿâ"ÓÅEW¯±j�œ[^¾øÒååË+®–Õ³‹3/Íñ3²_�ü|kéXP{vI›óÈ/Àþûã5“Z>wÎÃcÎÍ£ÂIRTýÊò9L -õ`¯ŸäB.¾ôÉòeVFâ‹: JÊ -ÿº$«+/¥ÔcS.t -ùNÉoÍ–J‹çÏ-W‹kÉû†,¾4wyy±æu“#ƒÎ9?�µ—>ùÉ@‘ÊK>#¹ ðø–ðß'©ô½ï•ö‡ ß;_?ÑNèç%¥x·\OX!*±•b˜ÅÀ©À¶¹?«ya±Gã-n5u \õS6†šµüz}”áe½ÎÌDr‘4–$›8 ?OpVü,ðu4I�ÞÀ¾uæ‚zð…8“¸° ½ÐºµÕ𷢑SgÍH=£¬>tV¡Zh-uÑZ�Ôºhh¼_'�ˆ£A~™ ­…l©[ØÏz�f»ëR¥*…AÊ™¯²h|´€�£§‚”‚K¤tô©h=à9e&á M[9�Y)-àд2­ùYF¡hÁ�&I—ø:×Q·ÕŠÔ��LوǵËséCŠ\¾µ¶¢o¡qko A|LxÒx0âæàaºê+Å“Ä#<ððÐý¥†¤/ûú% üyû£ûŸà@¿� -f¤á$Êq†cNÂ�>"tHÆ{xý£@¸ÿâ?6ÿqìÿbüüñŒÁ$yþ.<3Ó³³åòììË ×>¸ñQ`ô{Á¾=À¶x?{�w¡‡-ÿMZõ‹w‘Ô4ˆi, yŠíäÿiÈx?*;ü‚|lÀƒ=Ü $¬ý¢À~ €Œ ™û¾fzææ^×`jà·N�úîwŸˆ>„�×ðÝÉSQ ð½ï}oqñ{CÃDMBFÀÒVKtse¥¥Éó뛊9ŽýÚÝb K¼ÑÖÅ6(6+Î’0„”çgf™ [Q,š1’$­¾hí®  - X‰­ð;;=sÖ°Ê|7–Ëm? •ŠY¡Íƒœ4ËX©•Ê‚Ž -Làf@©Ú¢³>‰¸˜J -@nªu3´f ë_2{e¨…(Š%„â'ÐS­YÝ -­ãÚ>UŸÒ«Ù¶­c¥Û‹Km²º½Õm�çÎÀ¨N ‹²0Êõ»«5‡ÖfBh=¯R^� Ë˜_e!ðõj¥Ù­Ì7;q/®šŒ~äÇîÌùyñò9ØI ‹+ó%q‹"ÄÏ;VvêusVµFÏf„îW~Ý¢µî‹Ö~v€=´æ2#³9ЫGi® =ûÒ–@yÒMÚ§Åøçq~$^FÈ|â=œ’+‹ @òA²Ø/í8ytº\o|Òø§z}o¯ÑøíÚÚ•/õ†7önÞâœÛ¸µü‡/­ ¯¯7ö68H�øºCª¤ßØ»´T5¨nêxɈzS‡{T汦¾lßÚkllì-_ü/¤p…A”ÍõëRÝBãëLo¥¾nùÆz©È•+{·–ÿ÷[¬ -Eö66 ¤çÞ¬aÝÍ ŽÙ»¹·¼X¿äN¬OÕúç«Ñ;@Õ6ÿÕÕÕ¥ZéLíRc®qsã{E�Çz ¼Ú„"—Q.²áò"Xol˜<Š˜œdíÿ»§"êqóQ„'ml/i¼¤þ€¨ÔOü€ Vç¦&�ý�Æb�‘x¤ñ�Ü'àûáó_À�Ž€küßß``xffg§ù øö{€ÿ×ÞË€GÀ~%§z?‘D {~®þë×vÀÿ\ÿ¯¸GáØ�P}çG<òïH|0yT 6~6¨¸Ÿ`û�ÆèkÛ�H¿4w†à´à° ˆˆ8�'èÐðL0éFÖà{üe$ÁJôˆþˆä„€(Ö�Fž%10�ßÕHj‰x@‰Pº•wá=N;5ð£%�ÃHùؽÝã$ñ;P8ñÏ>'`ÛÎÿÈ^æ-ùËíN ó󘈀6ô|JÝP8Î…–bNßOöE‘AóBit€vy˜¤IxBkôI´…¿bí;gPe±z&h‹À ˆŽyãRÛ6®ovdìÛ–TtÛ½ \�­!¿Ê³ó¦]4ÌzSÜê7„ÖÎË‹ -æ{`¶ ߟ�& -,Óo蓪§‰µžÁö €>„¤RÒºõ)WÞì¨4¯^å~wí)öíw;b>i™ùƒdrÓ&†d+Ìãînò[˜¨™ú+1Ió�X3?ä`rÀ€ s¹œ÷ý³eíõ±ƒ#�/„¹;b`àzÀ³BÎÝbÝ%ñ~u}ýgVð‹”«Ñ‚ß0¾Õ¥ÒÉR©Z:~¾fãz¿ÕW¯ê@(ƒµ©£mAc„OI'IQzµ°°� Ù;w9ïôó¤È%¨Àåå/ û»t‰snÛô¶Õƒ6C–9F mf€QVùÂÇ{_;SBÝj­þRÝN„B8ïjýu]h’säu3äÒÞâ-¬üÕ‹«u)��‡F&\Îý‘Y*òpñYñÑH·vÀËå«˜ÚØ0ç� �óÓ�ÉÑj’'$Ü0cqÃ1L Ü^~™VW°%õÚT§&Oä¿8 ^”&KoÒ†ô”,ýòáav&Å„ûœ À?�ì€ì”¿Ï *›yyaçúG}(F¿‡�ý8€œêýÄ$˜ð|p ô¿ñ‹ëo§u¿�d@ò$ -P@¢iMöÄ7 ð÷÷~�€4Ào}ô±UòTÁ~…7.npÈ` €k”­^” èÈ­¿u1€ÐÎþ¢#€“ƒ¦€€�L$X)"€èCá/Î¥Íᪧto‡ #”Rü‡`ë ðN`ßïzòp buÊ^'ä¶ïþò·²@»7{D<M’²T)<ÉâRáê\›=1‡Ê#µ&�Ð7„âG Æ$P¾¿€k×à1…ÀOéxmé­HjŒ€ã‡<î¼(Ós%y -à:=Ž}…Ê4ð-H—4ìh…@õ8+§I€h½WÉ;dˆ}£ ¥wÍ›æÞ†Uˆû�ê2»+ììUQñ öÞ�ÁØzEú 8�\y‡oMö1dx}àØNp»±–ÝâwÏŒm4lÂÏ ¤Š€«Ñ-o̧åÚy ÀùÓ“ ô¸‡„ÕÍòy;öó—âò¹‹æÇXà�õIÿ¢9`îÖ¾"®âŒëË 6 -­·/ÿ�åK)N?è»ï­-7üz° ËGªçíšÀxäˆH† -œœ< Á>éŠ8ój4E”‰$wD¡Ú*â}š66.zÖÁŠG‚F<<>ˆ«xj³¤—¦ð<Å€§ã°{û@üÐàžT—1&WÖ.^^ƒÄ B�Ÿ=UÔ/_¼øæ8y¹<„ûƒ!5,<P€ ÿJ˜þþ þä¸1ðÌÎZ>—wvô€ÑÚÿBõ·çm À*€·¯ßxïÝwP& {D À>Øç¿“Ñ¿Âù`œx@p€4s­µ“‡ Àg€ûwøÏaû�zx¥öcô�cNî`Ð - µô8yòt.£¾m‘�x&€Àý‡yRÀˆ`&"þ -Ж¨½Z{ȆL@ÞÂ�ªÒí1“ù“õ‡=jj É KÓ¡€T }·3máÖ<n${Ñ!p?Šn™€y|È ú ø‹Izú]„ÿÂ�W=YÕ =Y:]«NÕ.,��ØPõµÀ˯-ûKŽ€zýæ¹µ À–¤Âû¯ÛÑú÷ñ@Õ/1ö]f“Xö�5Ýîî§Öü^¿’ôäç.áØ[«a¤ƒíåé1*_«E‡ÅYlbn§E€u›)zRýáy=êúùÉ3<ñ]4Cäëëo$}·ê—or^æÔñ…ǨpøPò`ñøñÀ°nÈàÜ"N`óSkÚŸü`)lˆ¦$ Bª`2‘¤vñ“O.¿¹V³^¿Xo¼ùfãן|òëOÞüõç¿þÝç¿ûõ8¹Ÿàå…—�úø³<€ë;åðþó†B+v>¸ñчvˆ™èÿˆøÿp€ýŒê¸vý½œWIR €6Bù¼Ó¬ñè—¬Ž‘e˜û1M»¦ `+À!À|%<Ú½àx®àIì=�uî0ê@ÝÀ¬C1¤¡¾IH}ßÀyà1… U$@Af™>À1æsQÀæä¨<Ô00êhUÉ`êfÕ=­~Öz•ѱ +|."!™€€!`ƨ=—’ ?þ�aÿ?U1:îððc!9?áìÖ~‹ˆ€·Ñ˜Û»â¼ž÷d¹Ç?NøŠ.é8½$¨%ü·Ç=»äE^KUI0µ÷ÎÕI-8"ð‚ÿßž‚”cõÿ{9¸… -Ä™m’¿wùÜ­†çf•š¨œ€ï�éÐFã -ÿ�úÊÞºý!Õ¥ÚR|ã¥RQ4é0yÒïÔK¸àÑhã\x²&ùõúÆ—sÿ¯ú…:§Quá47×–¿ôÄIÕG”x8|´�ûôÀSéK“O™<™Š¾ýaà¿¶¿¸‘œ"I©ºö&Hÿëß}Øþùïnßþâöí»·¿¸sûîÝÛãEÛü°€×ãc‚dÛ?�ù’a03;KIÝDG¢uö|Kà  $7ü›}ÀÛ̽Ý÷³·³i\ÔþËÒ\Bþ þ�ýyi°R°°³órë¡Ñ_ûÿ@+€‘fâ Ë=ª¥1ýì·À©ÒÉÓO€<“{° º|17(�sf  ÁOö BìÇfL„1Ì—•Ÿ€ÎX€ ›=‰„`„D‚…<‡šØÕàoxÎê8;ì˜OÛÌf@ ‰¦*€y@¯Ñ/ ­ïð@Àp È7ðD{»ÂÐÇXötáЖ6À³à>1ìLn€Èì¨@yZöH[àYzÞ‰òtÉ0TÀ_&“¸ñôý÷(²Í?:$¸C.�²êX¹x¥–«Æà�¹0¬Óºd1#Ïâ&;¬ÖΟ„T«SÌE°�ò‹ÿK©ßz­dŸäÖ¹µäT7ÁÕÚZª·î=ÖŠõ¬Ú;çN*â9â”û¹=ÌòÀâ´a}ýgWœ‡ -¬ªÓº�õ½úŠýD€>H@èÄÛoè�øâD©Z?ÅQ\ްn>¬† ‚»RÀ÷Zã–U$Ê2ª± -Eöj+_ÆÙd&�,>ñäÝ·_æä˜™ö9ZýÄÅfXÿ ¢…¦dÍ8ÀEÛr.–/6~÷ù_üŽá fnß½wçîÝ»÷îݾs÷«¯îÞ'çþQ¼úòÆÅÈÝðáG'@$jh¡àÃÿá€G‘œêý$ï²OÞ!å v< ×Þ¾~ý½w±ß±³i«‚ -¤EûH>€4¾fjNùå5™d€­Ò�³Ñ?,�ÿ=šÿƒ«F=¥WæªgRX2ð¤VE @ÔÍ?ÉÖ€ö xĶ$œqþ!¾…!�á 3XÈ+«(̎ؤEì«*ã£%€cdfôdU€°2Îð#£ÿ¢€ MËt£ -€´£ -@À ÐÀ‰îˆ‹½¿à` €=óf@Šˆc´ñe)À}bÌç‚pžäØ�°½^Œx9@S_Zw¢ --Æôs @ºy(Sxâ+î2�1ýºìƒq~èþ;” C$;ÞÜܽåµè{g_‚ÔEcw²k½@^ð•¹õÕKë7ë«Kv®_:S›ZÍ]îcvÛ'ÿùø>Ïùb{:`—t -ú�RðÝ:°ÿzcon@Cέ"Ë ñ_mƒÀbs ñ†‹,¯ï]¬ýžÔL’˜*üÏW_K‘ É™ôã…«.�ŒW2¤H]§j„óa£þRxö…3]Y[±A@Vä‘…G$ž-I©�z<¡Î¦× ‰wfß�Áù)HÂç'.ÁÑQƒ–cÄÿEí±1�°³Ssko~qû Ÿ3|qûÎ�{ü`÷¾ú -0Nç1?Lõ±ÍÿÇóH^Ö£ð2éÎdæÿ“öäG€ø? oG8` |þÉöOãX؟ߘú1*ÁŸÈ^ @€ûu�ñÿP+€á—}½€þÜ ¿E¦CèF Àˆy¢ `bâ}œÍ³ž˜ÚF[Ô<P!EÈÍîºÇˆI´0Ýýöa}Ñ Pü?àøQjPI=ßf@†ÒÍïãxâ1÷÷¨g"iº$zŸ€”ÛE+€d`3»ß °�Gñ ;!ˆÄBknħÞ/«�A €wš}€ØâsêÀýÐQ&`�o`9ÉÏÛŸ"b”�ñ=@mƒ™Á®Ööoì�kü6c�=ç'ï{Úª¬®.UK'O”JµÉðFü7øO¿»¸®Ä±I¾{o:Á«nŽ€ò�x$9`~Þ:(Ó½j3@��ãw¾µ«/+ ŽJ€í@Ñ -`ÖÜ+Àc -@ -Ä  -¶?ëy0Ú -@­å?V Åa@ö[Ä5íǨá¾`L+€¸üÿ;¶þCRöÑ૯߸²÷6–ë~´oXÀÝÅÆMWò�oâ €ˆ‹¬ T:Xõ{;çÏÛ0¹Þ�±gþ‚Ž­ü•ÚZcn [=�DÔ�”Œ½¯ÝÚÈ}­¾ÑøaýfÚ4 ÀƘë^A)<8bìW6"jQ/Á%]{�4!ø_«SN�©R(¡+åO©zùÔêºøoÄ 1DÌü¾0ú×ê{Öpšt½±²¾þŸëkò$Ϲñ(R¼g#½ð€Çƒ¯Ä;3p<ÕFOcÐÜ›ÓÛ/rˆ@ `˜PZùäs¡ÿöÝ;wïÞ¹mÕ?øæÿW÷îÀË!ï¿?Mõ…W‡<Èæ?"ø'øPO€7þ.<†,À+fg+;oG À ñÿ±$§z?Ö�<˜¸§Ûn±_;??Æ ûóbÀ;â(fKÚ%{>ÿodø? þjÀ],b¬ÔáÝðs €Q€ãú8Ð - ÕÌŸ<ùçõûÿ@IM¦NYùpâääþ�bBR @ŠO‡b¢ ¿¿ ð¥ð À|˜ò ¥C€PãïöcK‡PF(Õà4Ðç¾­žn ÀØ~˜Î¬5-Ö¯îaÃçúøzã·sz¾O‚ñ½×XÞk4~nD*bĈ΃„õŸÀúú­‹këoøóû«8«Þ£ÎT��¼Rÿwµ=Ò·A‚û¹ OäÖFÖ¯V»ÔØ›»åB€Õ {u¹b#„´þQ%ž-Ã\£Hð9÷ýËmF=OÕð”<ñuðAäÇ^û5ÿçA†ÉÉc§Vá÷¿Ëøøûîm €àÞ½ñ.²ëþó�€!À `œd0< …à½�’|Ù¦ðŠWß¹ñá�Þ¯ÇþÐò±õ¼cÌ_ÞýºÞ7øE¬}›eOÍŸÃÄúø1vHØŸMü‘¤ðXp¨' p ð_ñìÇò,–^™;=¶€C1¥ïúå‡\N=yÆÞ€ÿŒ†ð¿h€³`Ï< ÃcÄ€J¥ã=‘rœ8‰žŸ?Ô - ÷0p•=M>5Tcñç‘úëPë!@ ö�àñb†ûÈà1bŠVÙ0àúC€‡ÇŒ´ð4áxH @\Òp @À»Lྭ�ü¤ýw-âØ�acïÿýÍ�½›W¢?�ÆÝ[® Ø;¿ws»z¯±w§q®¾··÷¯ÿzÓ®õ0µÿËjÝžøæn€æ ëiÛÙMýHºzÁï…ˆyÉþìY�±.þ.û][칪q¥¡Ïacï¿þë­èÖσöþÐXn|yÅNÿ�[7íu�áKVnìíýþæMô‚lüoõÆÆÍ=›þìÊÆooq4 ¹Ñ€É° n;ÿà Öë×j,«ÎGEe©T]™Zù’KÌ\Ć�W˜ÝØûß¾$MûD—[_ÖÏݺå7×7ìù—Sp’[Ÿ¬1wóK? œv|T‰gˇñÑaÈ%Ox -üo0?Eaüä€�Âr$ –ã\àÂdiíÍÏïÞ¾ìþá¿ü¿ú&HÀ8yùEÛ¿<ÉP½°óêô c=Ã’að€„à£�SÀlåeiÅì˯¾ûÞÇ�®ÖÍKâ¹8¦ø;À}A‚�0†¤b-{ä#ˆƒÔA -0Ηñ(òj9<¿�Ü×`êÀáP+€¡€¸›¾XÉpš!>¬@b'Oœ˜|B>?189a §ÁÿäÔö…`(€7ÕŸ€ñ­Æö0 (퀰u x&°@Tœ�¾`G[ý ·`m€‡z@¯?'à–’rðßä/CnÆ=‘/ÿ5 ãmíòÚÊåËsË�†·êõ‹/F„àZýòÜ'î冈¸¬Mÿz­n×¾õ¿^㵟<>y¢4u¬d�;Vü³·%Äë” ,EûkN—k+ËsÌ­è}°«F—á·¾¼U½Ñ¸ JÛßÚåúKklEØ5aí2Jä. -Qär£¶ö†Ûoݺé:Ïúÿp‘¥Õ‹?BMrg€Èœ&ITAÎÍ_£Øª½¾¢")2>ý×Z×—ë—Š"žŽÕ…"^ÌOm—xÉn”! �!¾b¼…¼ 0â¿”8;xÓ‘äø‹ô¤=Þ°D÷uqQ€7?»_ÓÿÎíû÷ÕW_ßãà°hñ;ü OÃðòÌly'<À?øÿ�ìØ�‘ ƒ$<‚ö; ³óå—Ê/Û`gçÆßY`ðß{–ÿ\Iø/æï y -ç?'Û'o³Ç�¼K×¢k€` ûóbtò÷N ÎØë,¥/¤õ±i¡üêµ?ú�]�ýðÿztß™‹nè�V�€Åûµ‰8€'æ8züW üÂ=Y†ëHF12âà��×u¬  ÔÃF<B)öúàY†`8ð)b{ýŒñÄP>à 5Aþ1ZPiŠ„¾!”@ á_nýîÖÍœ�ÿ&O?,6ßY^^üáâ¹ÿñܹsË?ü!£ååŸ,³Pˆ_ÅûÉK±ŠM,ÎÍ�[œû¡½³ƒ¨/�*�šœxaâø±ï ^ï§L÷ z~�‰ïÿ1:wnqù‡/�{‰CcÃ9§?d=)«rîÜKçþ¯/Íq¦—’"®*ÄÝþýr(Âz?玜myå'+~²�=HlùÜK/y G§³èqê%ty #tªdés|râØ±ÿan*oAþü`€þŒ°àˆÀ€WÆö(Ûà3’ -ªoYŽNõ‹S“ß�8€ýáÑ[øª€?ù[£‰® xƒ>‘ªzÆ÷0€Z£€?;ò"îS.þ›à/PÖ‰˜*š3Y>—?àWp³K¼ž;»öÎýS̾n,4Ø}¼Ü3Ø~éLéÄÉÓÕÕ©¨X²ù]úHP"Çáë?—¬¹¶üëðÕ‡¤¯øêò��$�åë”5»ö‹<—H"Ö4—pk>ÆÏEÁ.47oýd¨åžr©a@àkçkKµ¥óKKgΔNV!h€Iž>Z„I¥×Š\ü¡=]4CÖjé[—ŒI�)\‚¬í�œäQ%B*P˜Ó  üÿo¥ï“—# -°4h°\]ŒN€˜n¸O Àh?B À#y’JÀ¿„ñï(ÿæøËí[¿<ô/pwíÖÊ }s1P>^¶¶u¶†Ä¦FýÊ•�ƺ-è`çK'y™Jç�ë8_­EûûÕ p4´”Ƭm:Ö¬ -ÐÊš˜›f÷¨­í-/7.²¼†õŸ·yÞB‘5x]ìÇ$¯Õ°È766Ø©'°ÞðkÀ!,$/Ä¥ÀÿZméüùógª§Ož<35u‘Çp¿;ç7éC�B‘úÞÜO®x�\ - b�¬ßZ^K &×.>Ö°vñb¼¨6"áÕ�75 oö›€§FN ‹ü#öÏ:c@ö³ùÔÚ›ŸÛí¿=ÛகÿW_ýñ�ÌNÿQ±öã<°Ÿ1K†d€!Zÿ:2(ðø€yHøðc@Ž(;õ{À¬�¯à$}ïß þwÞ)ºTƒ" F±Îµ€òã‡$1÷þã€äðcÿ¼�þcZpý”k†ú€ ‰¨è[!a‘Ê¥“O 5Àщ£~0<ôgÈ­ü�mÀD”‰YxƵÐg&yxH?C­‚5Žùÿœ~þ„€°úÃ�äóœÿ&¢PÄX¿·6§á üeøgÛB—ç4wÓ&Ê7~»¾þ†f¾Ýœæõ=Yº0YŠ~ÃpAÀ%» 27nÄ?_¿â—ûÖö¤‘Nš.Û;Ó€Wæö–ÏÝJÛó˜Iè \Ú[;wYó<6Õ7ê~#0µÆß€¤¾ ¿üS×$„\D€û_XZ…¢œ9ºtâôdª¯ò$*²–�4«bœ«E²Käk? –ÛS,®ZœðöŽïàÙ¿DÀä$˜Pª–0£ #æR�°0yäTí“Ïoß¹‹ñoë?+¾º øêkä(Àðg#ò/E2)ÿ ~5{xè‡Br;€ ü… ÃæÉ€�n\5{"¸p罈�¤Î€e¦XÁŸZì|�=ºúo| )ñ 9DûÃÿà·Ózṵ³�&Å C&ì×àÿo> ¿ƒ²ïð&bd#€¢€ƒ=¦VbDc ‚ß�œ<:"Ï8:2qÔö|‡ädÕö�7Þˆ×ò †uçø‚™¢üÜúÇŸ7~ÍÐxsÿ½@"ëlëàa#€¢AÝX€­<ÉUßz?l|Ì€}ðwúo€¿8©¿ŽY Žÿ4NÒøÉ¹/ÅÚ5­oa÷õ‹áiOòOõ¹Ÿvâ #FöÞ†Ý -®«K§Oò/-þW#ŽãËÁ {ðÿ`ýR}Åä~¬õžë&žÎAkš3¬,7DÉØÈ߇ûÒ° -Àþ‹PÄÎÿ®ÜL¦?ï;s¾õ…àB|¸€m*°zÁØ„êùóÕ3g04&ç˜-üœéb5+r±8]ãÜZx’ùri½þ‡å ÀÅÆŸ ¾ö¼yÎ"þÿ%‡`ã—€†ì8Æ€Œâ?ª kŸ|qû‹»·aúýõ|môŸøŸ(À@ý€ÿè®_øÐx Cõ ÿÅþÀÿXrŽ‘D>úøC¿Ò÷cAý¿%@[¼Íþ‘·ßAƒûx2 -ý韅Ù÷¯-¼º0NkóÌ«­Ù€Ï†‡!ôw8Ð -`8 yÿ1¯Œé Püò$0ð¼¨/è€ÝgÏØ³ï¾/-^¼øæ@Þxó kP_´Ÿ7~ž¤Ñø$ã}x˜…øû´Ä$²Îûú1¶x@?£ßø“úHUòñ'õPn—)<¾Í€„ûy”\¿Í¹üoò—! J÷ÿ X“|²r®±yFÙ» °l áçy È�N÷!áwÇÂ6 zZ~òôd©v:Š»àwuÈþ?‹>ÿœ_¯_\¾Ìaµè€wÍ`À@׋¬Ô×°_«ÿtùÜ^Z[špŠì­¥ª÷K—ìØÔëáýÛøÙúúÏô¬7çPÎüÕ8©è�šèré\eIü/�<:�¥¯E@Aˆgˆè¹Ñå._޵lÜÏ�‚|ò“‹_:õŒ�-0€T¤Ä‹BY Š%ÀSö{J‚á:Ø3ƒ½6æW€ ý㥵O>¿sûîí;_ø @ëþ�¼§ñÿÍW÷¾'�ú?(Ï& ü �=âÿ¶¿Œ*À?A¾~ÿ<ㄤ%ëvHò  ÷ø-zÀù�wÞ¹–=V0Ç8ÚÆV Œ LØŸƒÿµ°ï&²„äøè³Ï ‡>8„þZ ÅŒëÀ¾€Ö -`$à»ö'6ÀüfŽNNLN<3‰ý_x àÈ©êÅÿéâ›?pÈðëÆÏ¾ñsHÀ�à�!ð°VLDI€6½®òºÙPÐ|„D‚=)à ôÀöLjäôÿÍð,«£ �ÁáúÅ‹·Ö~Ø0üO¼Oæn!ÑOþïÎE�7ï•� ¨óšÅçÖ/…`âÄÉÒ±Ò*ðZ=þ|ÛVÈÿl}ãæÆ0ùVcµ¾Ê»Y[Ž®„Õp@ò&P}]E­ÖX>W¸†àIð¼¶’bï a_¦"ò’42L@’ü„ä¿t ]V—XU=]:Iqs¼T«.%À�I6Q²Ã3†"k�skŸ¨H„�3@aùÊÊå´Â‚æñ…W1 -•}@Ь�§8|òé È)ñ `%Z–NYpj -`+€;·oß»}çÞ�»wî~e/À�ýÿß|�kýGTùm¨¯+ DuÀNòxÀ Å X–Âðñ�¬ÿì0àÃðܸV4ø=ï€�èõÿƒ÷B�…¼=ÿ÷e„¼Ÿþdàÿu8Ú -PñìÇHF<Æä‘~Ø0. Ìþ“ÿD6 0˜?(ÀÄ‘(Ì”£GJÕµT0ì D@£ð0[xÞH x@jøíòßß�^ØÇˆ8Ü -€cdሔƒä*€?¡€C­þô~¾¸õE þ¿Þºõû˜IrÓž”Gƒ2.ÇšžñÌ�8�‘=­Áa³Ç?sôèɨÏÉ›ÈÁŒ‘¨È¡tžqÍaÍcõ�ìk~pÓÈ‘¡°Ùô˜Û×Ü�ä§iIùXMë‘4ÏsRâaZº¹—†ßÞŒéÍßþK Ö! §÷ÞÚ¹ðñ'P áÑ©›ü‹ayŸ¡GwCǾu€< ¾ziÉv¥ª³úüÒëu¬Ê“×è¯ï­,ߌY¬nŽJ� ü÷Ô k�•åËF%`¦{Šòsgk*ÒîëW�+?o\ s?‚­˜@íú¹èÀï²ë ÈÒ’.óŒhìGœ¦3Þ¹3þ˜ÉûÉäI’÷ ȸ³éö7™�Òù‡][HÔI��aA÷�ÇD%ž™8ÉN'¿ë¶bç¬q¤™dXó|–¤¹2˜ñ2N¢öÉGLZÝ|sjªg†ù+´|�ÄQJN_­âBM1t7!óx_òAà -)¡2{¦ÓÆuý.÷¥”Îé­ÛÙv�(Ï�¬ÌŠsX¼k±É·Ž1Íl`}üGÿkúÙý¿�ëœ9}lÎ~â;€Ýiv[ †‡@®7V÷<«[3[&À‚ +žýâåeÃü¬$`[ø"ìQ°ÔwQ$Uø_±^�S ÉQ DSÃ$€€~ôùñÒÒyûPÎÔ§æ$I¤ Êà«ÀªVÿéÜOþ)Œó#1 €„l¬èX¿tI/ÄãÊ•+W’IÁ+8ðˆÿÉþÊýbœ} -†©IÃ`…ðQ³ûfîÅ©„ ““§ª «îÜ»mÀWP€»÷"þÏñ7Æúãþý2P -õŒtPAîçø@;ÿÆÇŸÝ¸ö*Ø x9<×ýð ;ˆî3þÿÙ$àƒhä¿“ ÀŽHÿÁ8êxû¡Â.þ®-¼ kÞøÙqyáÚ kÂ�q òÉ1ˆ�$s?{æJ§Çõ8î[#1Ê~@²ÿ'&_ 0 -0\¬êÈA€Ã€"`àŠxÀ®þS @HÂðûµøÂ>ÖPêa#€Ã=’Há°»¸áÏè@ŸÅ}cØø¨1¸¿ˆMbJÊu€2 .1ë�N ¼eµðÀêž'ÜG‡dòèI#;Y¶J$ì±i>Î$¨Ezn,¶ —'IŒ§ÝDÆÁVG GQfTõHÃÃB]F±þ™£Òó‰Cƒðw"K�Ó™üDÉ‘ÿ´œÓ÷ÐbRLGÅäâܪí¤Ð<Ô7i«�†²EmKŒ¼üx+N²ÒŸG�ø/_þç;™ÆÙù.£ÿ•Ö£Âk’f.KÖÖ.Ö_×À^s1½Ó&äÒÿŸ¼¿û�ãJÓ|QjCP™åq&Í4“7æv¹²™í�dé„�¤3Å ²•0A'­(:»Úƒs–­–ާu¡’«ÊP7FÁ@ý)ºœ»J»=bÛ°g—ዚ6Ü35s×wý'ôÌåì¹™®¹8ÏïyWä?$ùKæ¼±bEÄŠ¹žç}×»Öz¯!Ü-zÅàÕ�bU,t=;Õ� ak³²¶Ôȶ„ÿ](ø?Á"òÞ°Í8=º‚ UÀ/dí tuÁ’‰t_´Ûîø�Ôð "Ú©_Ê =Â…®J³B�ç³ì"È -ü~‚q<^výs©¹¸X_øt�B9˜×è”éX�b»‘Ñò!*EJ“HoëeÚˆu»ž^Œñó%å¶~.TF.* ¥à¡VPÔ~Û¿XT…öà…4Iq€ö -ê ;³Ëïp7,‰Ð tþÿÃòÆôôÙg¨ÿšËIâ…«ÒX�û¥ûå:…�÷‡¤´üâæÕב`åÙ3?pŸyá¿Ù-¿6ø[\  ¤!×^çú·–×ww_ßM8_²‡Ä“IÏizý<¼æLXÞ~ûmní `ýcZŸ´Hýoœ·€X�¶AsŒÿÆñуúy"Ä&�¼Mо ËÜÂQ¦ê©“Q¸²ÉÂzÂÿí|;ך`ä0(Šä ` %R”J÷kÐ!¾KÿVÍÇù ‹+€ TÜ£€é±¾R?÷oð`> ë�”߃т—E^†B¼ øc4m³Ö!ØÂ'°ÈoL˜Å©C˜àÎ[‡@Â>N�œ~'ôú½› ßÁ©¥òÚøX]ÆTÕas†ZïI»ÍAÈGZÈ9 à”Ԋ㹚ïbÞ7ìë?63³HÀçûÊé,®égF„ŸBÜÛ±ùÄçú2å•å3ÉÝbÍ“×2Ó¤xêT]UòA–üðu`µN€S•û3¿KopR¤’O ð)á¿ Õúÿ)BýZÕ-9À�Ž€úýr` ±bÒÀE¤¯¯5g3ÖK¢à– '¼-c?°¹•ïµW”ŽpV°*ý3ëö½“ ®eφX€âк%¾TÈV‘ƒîÆúQ¥¿EDäU·úU‡H9Ï©ƒ KMW66’`q‰îŠ{�¦ˆ„¯Ò-ÈfТDÏuîXD$bô¤xb/뢅@?/·ø«IXJÀ�~6?©VÓ‡ýíþ´ÔLW€+tÿ}Ç&q0@˜P©®oð‘ÀÇ© ðÙ§ŸÿáGw5úÙ ÀÝë'E=Yx˜ó#A¿ž�÷‡$ð_xxóÚ®RGÏž>ý|i0øúÇ‹¯%n�ªó ûw„àõ]í|0Ið?žëÄÎ]½ñ¶›i8(ëí„þRÿÏ7Dè`ëŠk§÷) hœ§"`ÂÀbÔG͇`J2¯(|Xé[0` *ݪUJ½Wý�JÓRš›Ûø0Yô²îü‘Ñö¡a¸¼ÍFydHÙ - Iy´À´à�Çhg0o€ˆODÀ—íà¨V_Íàóß+_üþßÿ=î—‚cuµŠÞ‰wŽ=Å+KìÍrjNŠ4ƒ;G ŽÓBÞ¡¹y½pö“F)~³�~¼q¿kMÖ|¹ü‰“œë$Aaíì� ¥’‘¤C�òsº!çl–ÑÂЪ8�O,ZÎÍ+ɹS'ÈdÊ÷é½Ú¯tçtw>Mûæêaè ½ƒ3“rëõxšþtgâ8Oñ4Ù`è•??9Þ�iëâÚÉèÙñÔ#ï -’s…â:§fx}Ÿê÷™–Ÿ|æÕ§¿Äœš{·l®ÁÍ‘àU„ÇÖ°!ðÛ)Âû/„èN&é;Ífµ¾AÏ:bhÿa0¤v6܆�þót²B +|…~ø±-»y±n~A´t‡¾¥9¢·½>Ø*vú;c&âŒd™˜„Â4,Úã>‡ÃD6pì(_ôT_heý†X#ˆj„òOµAÂÎÌòaªl(…G…}� özî²>HXþÕÄåÁHÀÿÿÕ]¬ï5c @L8ŠÓ°àA˜P_¿üÞÝ»wéØ ü?ÿâsÌÿ_ÿÃíÿ€¿˜ý+Ãá8²LölÈ÷Tâÿ=�EÞº¶©Ë?8»{ýÆMꮽé^{Áë¯þ]qlؽ²ûºë œ/,ððÿ�8@‚ýƒâGω™ði€ðÿm8²”›/š¼ ÿ…ý�f£a|ý&á?íÿÅêQåf‰*êþõ%Ø -€÷g]ÿHv2`)*ÈRi¨²÷?$Ä©,¼H�Ä‹/¾•ú'«Òí±x‡“r¿V¥€µ¦c-@é!�ö”À)´„ÀW뀜kÐþòøûû¯Ãz眰Ȉ5)ÚªóêìÂáåÜ|u椷ÌÜ@>¿H‰ —WËq8hÿc¼×$ñz�”š@Q!#<×JÚäÄÌIÐw­¾˜LÞ´pY (ãÔʹc"V@š­;×bÈ”nQ[Î6LCÀl{9öÉ�Ÿì-’UèTõ䩳œÛ2ç)¤w6¹L²´´FÇ—‚îQŠ,ôsºœË%”mƾòȺ(€ö)­yæ"#°gí3ÿ8¥÷ûßÿ�À¿×òïÿ½W÷ûRiI1ƒ½¡ í×ïµ?ùDÅ`8Ø.3Ü †{Ÿ}âÃöo¶ÿƒ½ÁPKý„~:�®øX{�ÎÚl¶•mlj» þÓûõ{CM·~3P�P¬,gÅ;´ágä?)ýã÷ùŽö#[Åp»ûÉ~Q¼£=©Ø¬Êâ~ddøn¾O7Dƒ½þ�¢¿7à㔠씋bïö�þ^Ñþ¦(”l¯ß{y›€æNŽƒ€p½ÙRáÐÏ–ù€Ûe�?Tû"ßèŽò” {)ÿwÊÈ ¸µ¯Ýƒ¢¿¯ç1Üß/;Ãb¸¿=Pèö޳_eB¦,˜ÕÉCv˜e>õ­®Yœ¬Yãs?4ÀµÈh‰Ú·�m¿þÓGG@vÿÿâÓ?DÃÿb´—ú�.+íÂÇY„ø^2y&¸?,Æÿë7Þ -pÖu8\c„@íA?‹¯Ã|.WÜÝݽò:Í Ã@äâ° 6×ÜŸ$À?ZôœŒýÁÎ]½ù6 à­#[L -ï ?@´ÿæ“Òò”†€/ò6�ÿ6飸—l`Bl€” ìÿIŒ™ QQÅç$Ëãõ••'ŸŒ„êõ'=[––šõ'Ë ¯Ÿ¤Ê''¦²@ÂpAå1€„ÿ_Ê€Ž€¤¯O�3²(þJ¾b?GµPj€ü—±üåþÿù?3±G/c¦º43S‘×lÎ-ÍKª^H=žŸ[¬>&mÔ;5¡lÓˆS:¬âŒµŠ™ö¢ÉJÒ{´õÆO‚ô¼üÀE(µ|¦:{bV[(º$­Wî+ÊVkÇ:Ž}áª4ÒM– -ðɲàÓ¢mÎPÅïÄtu´p›2 ·œ,™Ÿ÷J‹ÇºJ[!5{mfàŠ}˜t_X&…,ÌaûrÎy,S¬ Òö Yp¡ �Ž8°èœ#ºã³ÿêöþ�æ2ø÷†�IÐué ¾{i»»º�Ó]w½»©8‘e7„2·ÛëÝ|y Qɳv¦µè³èt×¾?"ÿYöâÒʬÔJ Ju*)^\waÈæº4í|µÑf¾×^ÇÍ�zt]çCEm¯¶•, kŸÔiÎG ݧ¨A×¶«ŒD>”R“VÙº—·ñ.èæ:ù‘~ Ui�}j®gË:½Ì…DIäù-¡¿î�ΉÛínþ×ï^RJ››Y÷’‚h‚{SÖÑÛ¾�ÍÀ^Š_UþõóQ6X ¥àaVüÀ_Í·+å—íÑWVLð ÓºÝèµTêë—ß¿û£ü™Ç²à³Ï¿ø\èdG@Ÿ�-û¤.Àáèx÷ê¤`r4@IºO?oýêmaäÙçµ<}FÀ€ëà³~% øšÂ¯ÚwIíê•+¯Y f`äŸ\+ ê�ð?XÀ.É[7oÜžêe+ÍG¶Ð -” €Ç·t§|wì�h Öð•ú`ý5}þ„¿—üÇø‡àY -‹ê3ÕVR„%åZV_4 ŽhÆ!=zvVaTCØøX£,+×¼ö=@§×˜5_нHs`6ú¾¾'V&€”Æ/$ y È-h&ç3©ŽI‡i»}‰¹°GÁ¹™YÌ@¸®`‚Âø‡'@p¤l+2ÑÑÎQ\²¼¬uÿ€óY½ñë†t¯“·‡—§—÷‰ž˜l¦^7IWIGéãåöCça*S3É ¡Ü�zÌïnLíRð?ãª3-Àžµ»íKíÕöêêjû_­þùº?c£ -èU!d>†KB˜ý¢++«*TŠCáU¾S`×U™¾Œ “)7Â‘Þæð�•¥‘7V77¹Ð -¸ª5²ÒXJ´óåK -¯ -�¹âºN�2l;#ZH“Çð¨�ånDQV8¹aˆvf�•…Æ‚¯¶^G�,¨¨-,ëòºÝÈ -[{sY�B§¬6`=\‚´V˜/m/_RNô@DM²õM’Èem]3øJ“yÄ_–€ƒý&p~(â/ꡈ]¾ôe@ÊŒþ¼>‡ -ú›fÅûw£àÓÏ>úŒŽ>“þÿùŸýáóÿä*ÿƒòŸxhà²Ä ¡ës»×Æ=SP²�cª®ÿ!o¾þBXžWÚ/˜Hÿ§W€¯�ÿ>_4þêm ¸ªaÐNb%`>õW5Q�ø%Áü½CÀY€d8b<`�}Jlÿ?/õyeIÿ^ üZóB0Ã:bŒ�ñ¤çÇÊÉ܈¨ø )¨ŠLxìDyL@� -Ì£å¤dä ¢@»“âÈ”t’n ¸{XÀè£}Ží€Vœ(IU_²OØ,ŽõÐÎû[ï÷–üÇü§Чµ43Ó'QJÁy×á‘¢ùù¥ùÊ,NGx)Âó|Óˆ`æ—Tb#³^º+û­UÏZë=Q¶™ñ("]ØÞcؼg*éJå/%;ZX«Ì,…zÌ!#M[zs™ç±Ð™9€ÄæHíJ\Tt±¥rOÝÙA| b꩜ó¥ùžM$t�ºCÍÓTÖà�2�2_n”®/:ýÉÃDU–MaM`xú‹úç,‰¢ø¢Õû/GÁÁû¦ÁÛ½;Þì ƒ}jŠËù`ØÍßîûÃá`8(†ù6uØÉ÷P[±Øþv°Óß_§ª@2nåͬ•od��A/ïô:ý<ëÐ]¿NÐy{yu»¸íNöløÏµ¾UäÛy1¼Do?º‚‚wn÷I}Ÿ38q¸šö÷2¢«`‡W p�|kP¼¢LïúƒOÚʦûÁížN÷ûý=öEo@7?TôgÙF–5kú4›]LÊ×–2ÐÍ eD4p;P*Y¡§AGýÈÈv1Ø¿”?ùh@[Êá`ç½bøkòÔìë±l_i²xT$\ÿ—ïõ¯ÑÔ¼Ž ¹ ³ŒXn½÷ƒ�0F #`¼ÿ>s'GÉiË™Ñ"ÖgÎ]ˆ~hx´À-Œ÷‡$Yè èõ×  åA ÀµqMÀW•8™+ -Ó_ øî 8c èk»×~ü†–?¾Æò�+šÂpˆàï/gŸ/ €ä @€û„„ý©ñ䓼>Éys9v¼þ“@2„ÂÏë�"âá‰Ô#ÀPs'ØMž…P@úüÁró€„Å€‚·(û¤+è4�ää 3‹Ç¼š¦Ç  æwd+€¯å@+€{ô0=ÀWêàë�ðOÂ÷cåŸþ្œ²õ~qv¶9‚ÑÀ#­>KB#&ph¯�j…j›ŒX>˜s4Á€Ü°øè•èúýz¦ÒŸÚo«ÿÞ-ü| �e™DéŸl`Xð�µÈkas˜Õœ™B’yD -Ôɹ>¾`äi¾ -u)ï®Ûÿ} IÎÉ[½2Sm8 K=aE÷€‰량N)ÊþDÉyÒ£‰ÖS 6«ä<$vp€2±´ød�gž2¾¸Dß¶Ê™úω½ýÇø�ÿÈrü¡ÛïML—yBÐA¯ÿªÐ.ánûÖ`›~-E7ÛØ Ã?[Éuú¸ýåý¦èÑíNÖj¶ô8×ðÌâ§R!uµ¯Ý FÚ!ÈFÞ}IZöcåE=ê½” ú;¯ -wé�ƒŠ¢AŽÊŒäÊ~~iKlCiy{ÿÒ€NŒÊ}JB9z•^~.¥²lMËVVŸ­UŸ )šsuQŒÅyÒaÃÆ€ÌA\ì*ñªRK ŠÕÁ-‡^)^‘;;Ü6ÏìkIi0ýÿ!»Ôžàñ… áVè�ôÐ0&`È. þé˜Q’à¾øü‹c -? �æï…×ç®Ø í_OÓhb`ä/Ñ_ø–Àÿ?ýÕÛ7®¾@£yÌå%pG@áhÿ:@4ÂC& €6©æôÀ�q¤8Âë»oìî^yCÈÐZÓX�¦ü¥$€¿¿`/¹ù {>�@o.ì7ÞR(Õè4<ÊS}#37•®ÁÇ @²€5HâNxû|.º0Õ?æ”BVl@¸· @X>ŠPK¤`™†”  úxÙ - Äð#|”núë‡àKŒpl?ð[Ä'¾R?ßÄXg¾ßGþëù'ÃN}veßa?gs¢¥E¦À#\/–ªÕ TBAEâ¥Ì‰Ó,M’„Ðz… ~€$d&wꤠÝÊt‚ý™ÙÇNÀ u -ɶKA~¤ºdäÆ8ÏCüè3 ¬Õ"0:_WÈ}0ºØ$ïvTužëÕÙ5Òã¨X“i'>烨o/³#],89»EuV7Py챓ú|A¸¬î68€–zšJ±Ì¸¯a®!ñå´o­‚I‚Ý££"k~ä=óùÅúÂl³iî2wJxÿ�ÿðOÿ -§I -ýã?ücB�‘àhÕO½{R—iÛ¿%]¸½=Ÿ{P´_|§#ÆS>­™ïà7¯ó·D–š¢!t�„žöÛÂYÈÀV.€Ú�e8Ú+Izî�sígJcA‡aýb'HFQ<ç–�I|ÕÔ;¡D u6t†‚ƒöP+PÛ{|­Ý!DD< Õ˜­WkõóP“ _%ò"4„PÁ(#<��hpë¹Täýœ¡^áÑD8êëÈeƒv_¾ÿP«ü½= "ê=¬Ó°q„®Ì ›ï¾ÿéSýÏÀŸ~úê>ÿì‹ÿô‡?|Nø°”:ÿ´`x#,ÀÿD%@˜þ'÷ñ¸ñ €×Î>/U ÀÙׂä_¿~�� -À¹\qd¸¢õîë¢7®™L!ÿ�¯ýXz?€òÿ8xÀ$ ó’$t9»{ýæÛôð Ð{[ -@ ÎùæyªÑÎשÝêþ#.£&¼—øƒ0+Ô\¯>ñÄ=RÛ;s2)õhQÒÜYP|ŒTj RæéShT”*Ž‘´£ÁþÂãu]ŽI�Q+€ç'}„ªšF>Âka¬ 3ª¾D?óI@Ê-áðÕúàªÇZ´ÿ>>%Àócñ_ÿ+ó?ýÐX4¡m[½ç‰7—×`E¥ÿ¢ài±¹V­j[x«s8Â/ØBÛ5ˆøÂPZÐùCíÿì'vVª�¥ -w_= ®o~é‘´ÈW3P†p½¹¹úìŒvÿçcäi`t^Y÷Øpõ€RÈ‹õh%Ðg&‹¬u³JÜwzNû >$ƒ²®ª{šìÇRc–îJ÷—ð�𿚜´…ïN[÷YßârúFY8ÕÈñÊy�œ‹rAlX5çgë-׆ÌUywIþ1­Sè‡? à ­ïs[ÆÿMõ…mÃõî`x“¥/ -»Vš;ECÑô¶ËªÕTöŨZ­�ÈÞr§èß-@YŠ]ï^$ C¹Q7ïîµt ¦ƒ@zîÙòEtNQ4ºV·-P‚­­Ô1qƒö@Y'#=Ÿ«}𵳪?®ÿzdZÌVkstG«¬q:T‡ ºKr!I·ÅUò¼_¬nß.ò-ž˜HÀvQìô‹žžžß×”#,ÕðP«Œ Bý6îáXoTTþ *õî»4Äñ�¶ÿZöÿðÅgöÙG;~~úšÆ‹˜NŸy�*|¾7Õ `¾~¢ã ñþ�þ_ûéÛ¿JÜåH9Y@j3ðûk -ôæ”`W€�ž/×>‹I À�uœðÿÊ®XÀ5q€ï^¡@“¨Àµ¿zCièˆ+» Ü@Μ۽þÖ/è/@W¼=¦FüñoZ‡ãüJã|cIÌÎ á"|Çgaì×D5€4oX¼}²‚ËÓIï2УPŠÆt@N9Í•ëOH…S™*0ðb>:Ö%™¯³å²õñz´àg €ðùˆVø÷…@ó—ò8è8i e€ðøòýÕ -àKõð—ÿå¿"‚ù#§É (­5EtQ©¥ –ÐW0´XwW°!ðqýŠ7�Zj@Žýä�Å; Äz‡À¿&Þnøý”о…Ù’¸ÓH�©™òÜ -¼“‹¥ÉI:„ š‚Ìø¢É€"¼aM„¥•¥lÛ†±X���œ›¿÷v¥ìúÂx+åsÕš€îŽC¹Eˆƒ]KÑ�ÀdDÌÄâMNéd±&%j’ÂÚiÃAzmŠ’à”À•¹ž3­KÔ[ÊîR½KGÀö1}}L3À/:8J΀÷šõ;súô¿´5@ÁÒ€ ÀÌ´ÔŸ–üƒRZ¨Ø=PF@L×}Î_Ûà+ -º¯bPð†’‡LX}…Úá?v€Ò ÓœvE,àÇšß0¶? ˆ„à­7ÓxÀ#Z~ù;J@=ª�¤å�ñIÀñRÌ�ûDT°©Lu wÂý½UfÂPú“ÄV�þ#ìUº*/£â'�S $ÜCÊV’#[Ø Àˆß -àȱîÑÀôX_©ÖÇ[îç \ÿ/F÷£eb$à”P¦‚€™wH‡Ý”&ºÔé¨H5")B{©:2λh -žüJ…²lûÁ¼»ß.Òpþdéî¿)™-›‡(ñä9R�oÖL £Ï’PƒÁ~‡ã¥Ø�r.LB9„®¼Î/fùZ`é¼~XÒ'$©ª\ÒB3í ‰Ó]Ô›ÕÙ -k6!7æAj4Yfggª�…K`õDõ1l†øŽ€H‰='ühH À†i…¯¢ )?š•B²™pÃÊj½žmµ”sÂlê@øïbzi~ƒ‰Ç•kÀ´ôÆÆ´¥Pì­{°}wÌ“K‚Šš$‰ ù2vÿp–gÄ3Æ$°&À)^dÙ2õ]pÿ¢mîô߯Ԇ¶¼ëNÛ*7À›o䃆”íb+8�Mžq„ì:Âî}b$E¾Ì^ÿÅ�ÄT:뛌èÇç(ƈñQ/¯¹6 (n)oÄè@*ÒZ -(±èÃ"20æÅ+ù`g‡AÈ“ûRÜùšþÛ#€ÿUkTÔÛE7œÿÄD„5#ÁL={÷.5ÿ}úN‚}<>ÿÃgÇø‡ý†ÿ šÿ¥ôô7Gý -è€}'äuã1Ö}ÉMx�.óÏž{þìÈî_û)ë‘ÀW”7oˆjÐy¿-W„õ6åi  ú=xo;Àî_íJå¿ ×€k?Ö~zº’°ýäÌY[Ä~1¶`@û 9àþ“úo„O›ñÒK@”» -ø—Ôj*iÃZ_íOžÀµÿ”‡ÿSñ)`8i�+ÈÉ_>„ ¹0”¸øu - ¡O€'µ˜˜¨ÀÈÀt¤(?lpWÀ`ôˆèœÒ@+ÃŽ¯Ö€'lÇúhç½, %î#a@TzV+ÖÝãù†HèÌQ´¶zY²4kÕdZG3åEÔPl­¼JÀ@“õñ޳»‡•f0Ô’VS¢Ï'’A 6IZ"0W}œŽ‹¥¢.Käc"ç"ÌðKÊyF-ÆÒZ³^Y„ÆØ ƒuŽ3.Ô)uýt„û´½€:¯9Ìè?ò6¬ŠÎz…QËÞŒ¸èŽOÍÌrN¼P>��øxYVq¦u�ò¨M“Ü,5›…�Ö9oÕ+uBcü÷››üI­)UQe_îíô÷è€OÅ`Ý.õ�q «€0ͤÔ"ôú¼.øµE@ðºÀÏHC)Þkm¬¢Y«ºÒ` Õ¯£'ªw·hƒÿ6ˆHó~¹×O{ó¢Qì$½^švÏ@»tœ.Êu9'Áå|pqChÍ@Ä‘«Ö‹ÎèÚš+üÙ6=… *†«E* ~^k¶Ú¾A( €º˜®½"üg’ì ú4=zÅ](2>À×™¶ì0axÈ€¦çáLõ€ÁJøŒã ÐÄ Ð}÷îÇŸÞýàã�Ü @êØ>ÇX¾ø�”þ0Œà_ó¹°@¦¤ÿ?ÂlÁìØp值þWŒ—žø$øØžþ<€³¯]½Î˜y~D¨LØðüUåº!~÷up_ãš×»WßH`Ú  -v€×ùW~|m7,v©ø1&cûŠ-où7oÚ0þ9Ç >Í•æÒÊ“fú­,<Т¸ríæ �q¨‡#^H}áq{ ðã ™’Óu¨Uiÿ0ª¢þtR*ðÈæŠVùùjzÌï –Qü´`ˆÙAõ´0aÐêøV€î”€{ô0=ÀWêà대ðe¤Þ´€žë"Ï×2_3Þ•ºÓiz<˜'jMáO=j×з­¥j�r®t—DæÜGŽ¿ ø™R®±¨t(Ù"CG“@°)tu±Û�‹�V¦(ö¡¸û4gªöµOÊ:ÇFGzâR«S¯‚s‹À‹‘ŒKÁfkIZå¬}�¸7‹²=W¯ÕžuÝ’Ì6ð�ë3¨¦ÇC¾ îÎÖ©…e_;Ó£Ô¥ü„êºñ¦(K+âZ�Åê’`li)½­£EpvPzE‡êí½½½~¿w¼®§æ}Ú­¢Vœ�~ÓNk]Pè™/d®d§‹]eŒûpý?]ÿ[kŒº_,œð*‘žž°·Xõ -E»‡öÞ¡c¿—óR–õ¯àÃóüÉLBì‘àPP,`¥àlï¥b­ækÊ,“æ%e ÀL *ËÈŒf‚YM l¤©ÛëàH:0€vê PB'ˆ³#==�¡üõdë  aóÃ�ø2š ëIÎc.nÚ µ°Vã^9QË -:”úïÁí  ßT|ñYÂüiÞcuÝÿx>³[Zì06”³€xô¯Þ˜ž®^ƒÂß`<`zÂp.|B¼ÿÚ{|eycÂÕÝk¯£· ÷•˜×# Àµk?fI|x²×$`÷Êëöx#Y®Ù h’JØþröù‘àí7îGÏŸWùoA‰ô‡À² 67)VùG�ÒPŸ§ |ÔPÇÇç�ÿˆ›õK÷÷Êe¥Ô&½I³Épj¾¹þ¢2 œ¥l…p�À}ÑÑ2öƒÂÀìÑ­ØWÖè‡à�Ç8Ø -@ç”óWD3À/ÝÀ× à¿ýט˜�‘Ø3Þ߬W+6�SÿL¥¹ {¸�eMÑ­µ^k©ŒR¦®OÂæ×t®Îœˆà ™P @ ¿€’N‚pFOPQ¿*Hâ#úDhíä‰[¬5fkÒM16àÌ�Åa"u®ÄÖâ$Œr‘cȆ…´Z½ŽÔèü|­Õ �Ñ9�´FËt*Òj.µD"UÓ› Vk5ª æêO”VIê1@„v®zJè?SŸbë9–)êr<‡R å¼EK¿²ÃóŸÈ9q¶:[͵V/«4E¿Zÿí¿ùµ#GTô -†ÐéíÝ1èƒ|ëÓKÛ»‡6 ¨J�ç³Öë’XÕך�NOø«W /Ô› -‰î‚¿ÜšpD5ìï4º†a-k–Q«x»Ñp8qÝÑŒâ˜/å{œgð¿Cë?�r$Pš–ób‹mn¤¸¬y!øŠfä€úb>³h/�7¬Íóuå:ÌY†!(ÏoðçÅm{þI^¥‡s{|ÍVÈÖwçðƒÊɇ8U1Û€Ãø¿¾âþc�‚ÙÙÚú-º¤àÇŸ~þ#öù§80'ÈŸá=*?ø_ªÿšÏžƒ$ À”¤þJ�G^¿:=íº - YÞòh@à¤-gÎ]½þÖØ (&üµÀ M¯¿‘ª^×uµÂ à ‘ƒ × Méè -ø_.~üÆ•#,_Þ y>¸@/�éI‚O “6a¾bmÁ¿�êãe—€Õœó-§*¶þÛàO ‚•]ÿ‡ 3•ú‹åØD’Ö‹ØüÛ—¸¼J¢2KïÉé~­øÜÓðåû i]Ôà«õ õñí?Ö@0ñÀ"<Ѥ¹^©Ö¶šôˆ…ð‹aГ¥9�B­æ†ô&áõF�þ'=„ -QÈu*Œ˜Uï ¹ä!�t¼gõZ:;–té -Rj‰°0²´¿!N¢Ð(uê•'ÖriÀÜ~×Î`¨åÊ•.æ¸êl=ü4ÅU^µÄjT×muZ�~§ÓoÖòæ¢ÜÂ1HÑyÔ*È 0­ÍózY^ÑÝùZ¨5 -Äèãæ.RΟ€¿Ÿ Mæ{È3²­[Áâ`R¤¡œóýŠcTgkä@ÕN±’¸7g‰œo,mµ²~ÞÙ˪y¯µV¾°˜M¯¼²==tñS î ïìÝùÛ½;ƒÁþÞþ èÞÚ¹íÎÀ8ìòÒ‚iÒO€�Wn.4ëYa�ÿxàk-VÊe–IųY]Çeù —÷²ÆKù`®v:½N‘oÑOWØÎ�öPaq·ì?¢3 zþÏ9KÀò.B²…•À?¸­üh_HšY“A :×EoØw¬ÍôÊE…õz¸ÜÄZ�Ž€–ôÄØôL9W?ÝfÖ¬èv”i7_³ÑÔ+püW.»NwŃáðöpOm½ÃŽ¡£¿¾ð×þÎ\°²>œI¢/¤ÁÿXÿd©Ž.–¿�-|õõí»›¸€�>ÿ‚–îà‹/>õà?ExOÑþ—ê¿‚gv©¸‡@ ÿ£ßs¸Ÿlî#,דÀ>W<P0íØeë¾>o+v" ½¿põͰàðfòx#höˆ)Ì -% °+ð÷m'l±ð@Š}¯ÏÅèŠ_©;þeýúKˆÑ2#™÷öã£z­ÄÊúkÿ€>'̪)§êÔ#XøóÏÏ@Ä[„™±D�jPlð%|ì8eP"# €B:„_±€£Z(5@þ¾û—¡ RS¹x^xzž'še‹ü�Šñ³nIŸìgZe­F½¹…¾– .ŒTçþ…X*…³–'Je}J¬®·X¯žìW+Vú…¡.åUs „öC¾ -K'µ«Y¯,(& 3•ö|¢~éJœ-´;åÜÛoÉZæD…³ñ)+O;ý�9·Ú‡Ù›½‹JRÙ×-.f¹ðÏ9w¡¥l4«µ¡ —R�”Ò˜l�s_¢V�‹?Š)€ôxV&²Rx8Üêšž¨0 }•k\ØKשÍÖkõE=Fªü×ò&·}ž1¸‘,_¼ŠŽéa-4ó^¼'Izc¥ñÜÊô´ºJ‡·ëxàeë«Ñ;þŸ¯þÙê¥K««ôÜÛПØ�u+š+zC´Å¬h«¢ÈÆ,š›¶fýWÔ-…Tfc¿Åm}kº��(NÔÒ¨Ô–µR‚5€Y®¤€‚Ë^.,èà…eM5Í5f�ÙÖq$«â‡•â"mòÍ@4ZTÈYEfñ+}Œ›ªÔ®?ÂᮩÆTMjúÑ—±}·ý¬ô´Öé‡x•^“µðêkË„à¡Z¤pù >œIo ìçïã&c´ôßÃcÀÏV×/¿ÿÁÇw!b}öÅgþöê?DàQ‹Êþ—ê¿æ³¯¹ -@è?3Ý PbÀ÷ô‹Y¿@ß±\™´ÜxûW7®]�D+iËøxßOµc×MîÇ®+¸úãÀuMÿ…é¥À8iè¯i´(ã´Ö‚6�÷“I @ê°”(g&Ä/�5ï­Þx #ìxS—°ð7´û…hÃ*QõWåßæú®Ù,å$,À6Vÿ�öœ©Ö ðÅõ6zÊ„�Gb"Vààõ¹_+­€k£¿š�k€.®À´À! ¶…#Z˜5öò;cü·ÿžð D[ž,¼Ç«‘Ì -Т`­SöºtOïU%g³Y©ñO¥°JÓ‘¨´Ñ©œD­>ûª%òÌ mý=„˜Š JŒ'|¬6}¬W¾`™æ‚0¨ñDYà�÷jYž�]¦«1Â)R€ª•¢ì*c�fe–œ§ÈÑe8KaîˆTFÑ��±ç ݦJ¾ -*æ1Ýä$ô s3³m=E%éËq‚ZÁs§ §ò»˜†o¤8‰þ¦”ûy˜À}0CdèÜj^—´6Z³u´ÃüŽÈí½~¿+Ф msšüMÈÈðPk¶Ð@/­ÑÐæs†8ÏÔ»—à ðã�>ûœ6€¢°€Ïp8Z„÷�à©þk–^^Z¦jhx` €ð6`þí·ßºžªÎ©Æà-âß¼ñó·nìž=çVØòï#n2xø'ø¿î>ÿ%ྮü† Ê]Ä�!q­Rc€2¬_‚ý±´?ˆŒ-¿|ûXyrJÿ+Kôö›þ­¨h<™@J€æé=×ê�k~\l ÀÈж> -¥4Uô³)À茜ZYð¯_ı8µqryºÂH°€ÿ I>ž¨À! À� �qŠèœÒo°@|bÊ×ÕÒp¯~¾òX -¾”ŒÁÄ`%ñ -bµFE).:P4xìÉ%�-6t,8»hÕq‰2\²vAüLÊfe÷ã«ò§@¥´„¿�«¼‘– ³É;U)�'zñzßÂ~ZŒ«„ŽöZÔüWêÂÀ.‘Y¤«"œ­ÔòE´”lЬ‘sœò8~Ip«ý¡I††(qæ¤|¶²­ÌDD9 O|_°ÎÈ`z:º™Úìym‚rK”{>ï9�ã©êÈ–÷<ÈLµY­½¢CÂ1’Öhé!Òo}JQÏ'��¸›µV4k ç$Þ�Ä”­|c#@€^û'¥×+èà·ÿç�÷»ßçë8·o½’÷ -÷uÓïmÍj³.dglƒèÓX¸IgFþŸ‚òŠçïšþŒšì³ë½º]�î|½…-Ãý�ù´ÚôëÅAÓ¾ùhç¾s=Ùòîháˆä�z¯ÅÓ�>ÿ¥ðdy-á¡2+’EC’'l³Ð¼]™›k*k'æ•GÝ }2!dTë>B¸?^Ñ<µ³ÒWõf!&D’aw{ �®KAƒÀ�oD’þÿP]NU%Ýc¥û“m[z=°küš·EMMô SÏÞýà#¦Ž€ôc4@˜€æ¤óO‹ŠXT~ð¿Tÿ5Ÿ }Nt€ˆÏK ï„\»úúhŸ´œÃ°UoÞ¸qÓàÊ�Ÿ?€ 9ú§¥ÈC\H¿¢«³ÞÝÅ Á§:„CÆðÏ€GBˆ3ü@òü¹+¶üLxSw5)?yCÍ„¸ÉÿŠþtI\Ð\yr‰Î #´á¾�#`û¨~¸|jòÎqo@¡)-´P¹¢ß±UÕ'×»ÝMKü�资bÙ…q -XKìM÷k pý@@wÊàp+'xÐð¯ÿßÿÚ_æ÷¾÷}}°ßóoBHú› Àà«‹Šßóõæù6ž€*|×üv…� c³¹×¨Kq�V£ž€V¨²éÀņ lk�Íf'«…K¶÷?éo*ÇSAÎѬÍÄô.§•‘]� -Z¾µ6:7ÜœK0ZÉ^ÒµtAŸÊeø¹ëó*Ðu¸Ø“5--kk½¶¨KÚ,aÀXÂf‡è³n> üDr|Y �fžnSç·”�é²Í}ˆè¦µ©mé ô-LÇ@=² ï¢N\[“â_inàÚéó„|±QµËæåD9gÉn“¿TÓ™’ÿþßÿ‡¦@úìOKüE&D  ßÿí�½ßþÍßôòKB[zvEOä"KÿJ‹iŽ%�\øÝŠè� 8EçO os¦>C»Hú XZÃlà´‘škHàF Õ¹ÈgÃmëøîý`뵸{= ç­»³®Ï“Ž7èoJ`T�p®LÂê3µ™ÊœûbTfùñ¡lè@ezqi^9�×ë[Me€„x"’õíÁKQÔÐL’å›’ô�˜.³³'›�©Î>ö0¦ðQ9O@¼¬ý›Hù[¨Ì,¬ß`4À�>úìS¬Ÿ}öÅŸêÇpÀGŠð•üwÀói\ó8Œ«Ì ¾òW¸à�òö¸"�”œ=sF€O¥¿%œv ÞÏ`¨'ÅCk|&-"�î¶Aè K²öY%¨?ZŒí$gu"7~þö/©{KПä€àÉ•'aoe�>T Ku·ž€�ë“Qeõ¨x9øŸâ¦hq‡õ�ÕßóäI:ö)^ŒþGR€êJð�F�v±ÔJ&jJñÿlBfP°p`öØV-èpï~œòó9MO-Q LɃ¶¸?ƈ/1±‹Â.“ë+Í%ýq›çbâBR>„µæ@À¹ö$àêPí©£ô³X&’f÷“­‰0*…£%¼ÐÙšÞRÃ'*4(ºjWq[ooDtkÃUÀ­V?«4i5'1„­ëõó�W¤ÛKËt¾ÌÍ‚ºf¦ Ó¹jž<Ÿ² ÜÔŸÔ��s³¶‘-Ôô‰)ÄnÈIà”>^ @jN(„¢¥<½þ2O¼”ã‹[6”s=Š ¦¹-ÄØ¢‚Òšïy=ª¶!Ñ 'çZóvâuƒþ’ôÝ�¥'ÝvoïÿüíÞo?ÜÉ»Å+EO ·7°ƒ˜mÄk²õèÇÐ?ÆbÝ=œ˜»ñè쾚[›ò¢ˆC„Ò‚[x�ɤÐËÅô–5gµtQ}ðKÕCQ;Zú=Épž�­Æ7Ò<ÆÒ0²¡ŒÌ×7f³ÅÇ” -=1œ:5•€còñrOæl|xÊU�VVÓûľԣµ_<’¢½®Ç¤@… &;)|S²$p~"XžÅíöaÈcÕpä1èKm¬7>6l"*ú+öø8Üø3«þŸ~úÅXàð$¼GåÿKõ_³-§u#€©J€GÌÀXûXà ó‡-o5¸ùÖ�×J×À}ò�ù£5 [ŒÙÀ»€„¿˜´¼©ßÕ«tT¸ëŸO¸—8Ã(XÞxû—7nü$!¿ž©É�醬<‰ÿ¿ÊI”‘:QÌ9¥Ò/©ÿü)­Ùƒÿ5ÆÚ?R«Îy”©ý3§*ø¤¶à¶”fÆRm&þ¿ì?eÉ[†Kq‘7)÷kp´ÀQ­Žð8b4@ÒµHcU’ôY�™™¯Ò -à €¿q(¶J9b_â^ÿ�ÿ&œ‹B”ªôó(¤¨àùÂB;ôèRZ­ Èt¸JWýç\ÐÜVYßÏ…zÖ0=ÖÞ<Ö`>,/0 ƒó5½ã°â æÜ®¡ï·6¤ùø¥9Šd­�€µa]Ð ¬œëÊ*uV„œRëÑMK3ÜE�€Q6õEkµ‚™@g‘y/% -�õV¶S4¤µ+uç¨lwÊeíWàÍL÷m.fV6õUK!õØùeÖs=Š�0èJWV¶ë žKã|£‰Ý%<$½f¥ÙYÿG¯ -!|hJßý„Ð�ôÿ½½;ƒ¼»¿µ… ¿Ã¼ÓßéÙò–)�ùU˜ÔôäݨSH}sBÿ¹™ùõ‘Ž»¤eÛÌ^§¥®n7jtó ¦Åz·»5ΪµEWÉ»Ï> �tuÆ]øŠ&† ‹R´A‚z]R‡€ åK’½ÿÄ©ù¼¢Û­‰äÕm¨/ò"¡–æ•kÔ5pWºÃN§÷Ãöz�¼*~Q õDp—ÐâÒú@‘*lzÑ1Á$‚Í)þéÿ+»è±›è‡@£A»OmÑ °r‚f€wñdDÀ�¨ø{À/4Ñ7ð! íßjRÿ™£ -@ào'Àð”Œ{š’û#yýÚµÝkP#X®î& N€×o$€³º”ÁƒXî�çáð0ø›`ˆà�*­’�àÞš)Föª1°På¯Ûê¿ý“Ñ$•_óhrU¿^`é°D@LÚu”`´íñžÇòqQç)01`„ Â'bÌ´*6€pH’¬ÓòøØ ü—P1§ÿmH‰ÿ�äp@¾¡V:æ À1£òe2PՑ¾C’îö>­tÀ1­^û×çÆ‰Q(¶Êéྠñ-(ò›B#aú*.v®˜_Z^hJsòuD0Â�¨P•½k[Š«Õ7mˆ snÀÂGY­RÏ 4P  Ö…µÊí¬ã˜$B¨¬³V9_”×–L 3jž‹€_,–l²‹è"¤ÑìˆPÇJ¸7*+‚XUí°ÕÊužçöUƒAŒ¯ã‡¢ 7…dô?¤3]ÏmUÍÕpujN 9/²ZCÇNKJÓ9ÞóTÎû‰jÇ“¸'(ÎWšykC�oÍèrà�E¶z½þÞÞ¿ûí�½ávw°�c[±oïÀWÅyc(žÜ™.sºÌó <ŠŽVÖ°âÌ  kp+}óãÿiuæDõÄÜÌÌ\RÆÆŒûäµctGc- â}iižU(ƒ.Š3ÍÏ-¡ÖëpÂyž §ëlqJŒÀù´8¢¤hV{ùÆ–¾$q1,‹K*Z$  ¹Vº»Þû?úí�özŸ¬FaÒóP€â¢EwÖ»"<•5ìôÅßÌdÀÃì()çMôê¤ûá*T¬`Ó•V ÁÌÂzñþÝ»Rý?úôã»+à:€Ï?ÿô_üá?ÀòOÀÿišR R3œFr¤µzR^ÿ«°åo¼ý €×Tb¸vóç±Ç>§Ï½®à}-SZÿdX[:ùu¿Ñ½´¸à$`É1W þ¿¤pó§öø‰`ÿgo1ý„IðO±SÊ“èÿ ¿€ ƒ@lI¡à6Ü—ÂAŽÒk÷?7ÉDý¸†„i@‚‘þÑðøYÆ  «ÿüòäyªpÉÅßRâ?u0�sHî× -ð`>èâ -LúØ pÚ€wÁ£O? øómÍÒg9-én-# À— à50á«J`Š— óÂ9飆'ZQ£ÛÛÉ¿†+�U)Ë¢¾ ãWSPÔ±‚R0�öåµFgI¥=úœ@h|!èÁkKkï8ÙðÏjªà¶:ž„ëv. É ;×ÚÂô›¥ò+G@zÄF†.¬e½†Î4(�V¼Ñõ\##Þ±‘Ó~£8¸Õ1áì�¦òÕlæµÙleâ¦3°íĉj=q”NZ3P�ò3Õ‰(ÿD $º _ ÇŽ[Ë›•F¶ïGoHpŸÂS«X¦ï~JzEïÎÞ�ööòl <£ù#ð îŠb°½ºŸâ$¤›¢Ñ™ñO´`#k2@QV¹ÐœmÐÊâ<&±py~f~¾ªeµ:¿p;ï }^'Ñø¿!ÐJÊ‚¡__…žØÅ,lÀÑç¥/I9Ù0PÕo¿EâNÌ,Í(«�|9ÛГÔËÀ�LôxöL–P¢¿Ùû‹ÁoV‰ -•d)ö»Ý¢GÏìÐC`ý͉þéÿk\‰Cõ?ƒ¯ûißb„¨œš©¯op× àÓO?øøã»¸2 þ 1àaƒþþ''À @HjèuB&Ç`ºþOY®í¦Ž€Îœ=·ûf´`�À„žt0}9lð:|lý`{À!'ÀëÂÿû›þK h)-øÿÿôæ�›S•z]˜ùÇM ,Ì@ž e ûHˆ‰Šþ‰Ú~‰€·*RòÃGÔш”á?NDüs',#KÀ”̯tÿ¨ÐòrÂWð—×êhõ_ò­l˜¶j` �Ӏ㾦ü>*ð4à ðgyPÒg9-q³cQ6¿ôX À7!À�`Ȫ(Va°’êè5!Ù‚-™�ËÖztè‘ÀÔjáu_§5jõÞ’Ëojü!IX.†sx^«£ÆÛög·ÿÞÈ:JÅWÜ®m´¬ËUšaðÕ××,FídVŒÿ‘óÐ×aXlHÜ!U +eÎ%P�Ase¥Y«‹˜ép|J\¶’®ãšÍ­Ú#(9#ø»Ò[Ø7sª¾ÈeƒÀˆIàé*ˆQJÊɨ)…¿‰3ŒÒ­-¢×š99›Ì¡ñ)é»KOØÿ‹Ýù‹~1Üìú¿#¨“n+ÈÃè�·�»0È_®ôOS^ªÕfµ‘‰‹4iH9W�?uJ¾Qe¬¦¥5±�5^kùfe·}IÄhuïõJ›ÝoŸÛã%ð(³z­µØ|Œ�/ê¥ÃÈìRS$`3Âü)=nшì1½ÝüåNCe©Ïë} 0ôPÜG)ØDú{ö½A{(v Ýœq<îoQ ×õ€zÇ)_Sª ÿ»‡-¡ -ÿm‰[Á’Hµqu^JàBóòû"w…ÿ¢}úñÇŸ~ìî€?Ç🎒1è�ñ?Uœ~5 ÀØ ÐS*RK™™€é �ÿ¤À£T† €·~vãõ3§íx? @hûÆüÑ:â´…àJŒ(¹=‡ÉzÁ±Ñ -àA%rü`°À/t/o'è#3±Õy¢Qt¨Ôç©4ësõ%h×VO8o@9ä`¿£òÛ=ñŸdx%Æý· º¸ú�è|-=˜ñ7'³€ÿxWt°-Lr¸Öj�Í<ÞÎßýà.Í>F<&À§ŸS ðÙŽkPbþþG€h0�ÿÁм¦&êý§äÚ5FâIN€@ãõ’œY~öö›# €�ôî!šÀ~gªFwø˜¶ˆ€ÿìz ‰?ˆœ™°è^Þ:hxra4Q >ɼoQœ]9ŒöÂ}A»ÁÄæ´™¢G$À/*'+À¾(€{^“Ò_ëÃä_-Á€àßÕ{Sò¸«ì°ù2Ë$IõŽ:KK]±�þÆIh,€‘öÏô%}Ü - }|úò� -&}vž·8’øÄIùÞ#Jäé -‹c}¦-¯ý�ÿñÏ ¾¤üóøÄ2HO9Íót -¤¢Veo”¼Âê¬Ñèô6T:Sp'è‹P!x�·ÓÃ?_hæ‹ÕU|»ôùŒI@ü@ü¥¢Vm®%õ¿ù" ¥°(vçÂ]žÕ +B€ - 5ÂuN<€Ó²„' ÆB^t6¤Z›¾pøè¶‹Qz:©cÓE3¯¯ Ä-9Qy)}RGÖ—èúH²˜-Ì6° ÝÚ¡mÎÝÒT©÷fDzeÞÌu Î 7-Z `�TÍH´‡+Oò$Æù–@î¥õO -&ï"5¯� `ó’ñNÒ�FéÕÎî~¿ßt'vÚúÝRÒ]¢Ü,á³7KÖÚ 1€|ßè òšR2{íüŽ�ƒùùÊDİ/TÌû?¼ÓË W³ÛÕ€#t©\ì¤{§èI癯—ƒrÚ»! -�³ÜͳnwùÙ,ßUéÐO`Mø¯¤: q<¼Xa¨ñhûŒ7¨KD2dìÕ~ÿG{ºÜ`õ–;û‘¼ 3@†Ý[¢:‰â `|ü§‡gàS|È H�ôwKK@úpûqCA½}ù½>2`DÀÏDè€/þÓ ò§% Ú�|þôQÃ»ŠØQ!€Žž˜ì�EPK?7ÞÄÙ_àfIÄðúOàæOoì>€ÀèãeŒ÷e(&Ít9|MêÿëÉ ”g9A¼Ä põê±­þ˹çÓto9û|Y€À/uk ù“L¢¿Ð\Ê¿DAÐQ$¯±‰†£píñ@õ…*Cýñ?ƒ¸Í_½úÄþ%nøQ­ÐçŸÀžå‰S§p¡?¦Ö ùIuå6€Tt˜zZI¨Ç+.OL÷kÀ )-�oèNù¸€§Ÿ–ÊïÏN<Ô~ô)›‚vI}@€à)ðßòÿ½¿€Á[Ó?¹ˆ¯�°#Å9œlh|-¦±íÎzt� ¸�tX Ì}F®`u§� Y,7{u½øpú>(‚Q�X4*²fÃZµ€Ù:`,t=Í®ˆZ™©¤O­ÂhŸuÚm׌Ȉýþ—¢"›v+Ð�ysa£ŸpbPçS­½ ›c4qÎÍÁ† Ái˜-Ú·’r¾VŸÕ=ô<@í\ª´L�|1â¬Õ‡èœEù_ä¦(&ç‹‹ä\1­Q¿ƒ:²Æ+™¿©4—?Íñ?˜ý!hÜöwòb�·÷··_ñ÷à?jþðÖúï¤ ý¢·™ wüc#pó7@S,›Zß< -x; Šþpg9—~ýâØß,>�p—Cûöèfˆt­W;Fkâön+#]w<ÊHo°�iœPìÐõÓDï;NAØœð[òJÞØÎ»Ýí¢½,&!u}o/¯‘VÞéÍŽ£K¢bKkÜŽS•ô&ì?a�_ @ á~Ypê(ýŸVÝí`¢Ïc¡[@(€‚þ“Zèÿ¶$1† *…à¨òHX¼M@p€#-:õ( €ðm�÷˜pÜ&}—ÌÖ©‘¤sBâ¼8Á2a°<úè÷¾§ìÝc,Šã@ðe~:'$6ÿÿ—Ï$~Ê® ÙúBãÇjp2+±Zt«•w¬ŠçR¥ o®Jå8R*ÿ*RW}ÃFí†5÷”PB>†ä¶S�¾‘uŠ�¬EE� -|òèI:ιÉß…p?ËVkY~‘””àHÖ&ÌÁt§&>Tø<�ÑÌÚ¥Õ@›ïsQ(ÓÌ›³úq/ÿ¸.ý?üÕ°Ô—âJ<)¥3ˆÊ–2L²‘qgÓBs1ñ žCk£ƒ_¾î²É+±ðrxm~×å*~1¥ï~,ÂÏ��þ`¸ß+Þé¶·±toõð´Ç[1(Ú{ µ›¼ xýã-¤,»õâ×óõ¹æ,\ç|s;k/´¥�çE#óúÅ~·ø�4! Œ×«¸áž.`ôtcw§·Ýþ�;Zï¯w•:GGFعŸw?TF¤‚Ãî7”º3âôc.ë%òbû9ŽÉºƒíK«>°X΋­N¯#Ðèäx“òyÙ°œƒý[Nڀ߈ÃUe„”� U¹ž¶.ùøf%Áó·.?ð§øP¥† @`ðíQ‹Ð Eîz@àÏÜ À§ŸÙðšëx”@jºûÔSôNYðHŨåH €‡ß¹.øO€rpÝ3g o¸ùóW¡XþújÌÁüÖ ‡ÀýŒ, ü•i €ýtØý->P’r|HÆ&�³ônà®BÜ -à­·0€„üzU¶¬À¼ *Zù#ôSB± è?þxÕ!ðK�–€5ôþ C€«'ÑõÑøgÑú­ø;í?Пù¨6´èÒv  ?%*´< Ûÿû-ÒX¶Ôk4ݯ@é€@ÈÀYƒìµ(qÞÑ6”4ô�||Ú¤Ø0‰ÿ�Îp­Ó§ZJà ¡ø—þ!%ifBÏ­°˜kµÑÉ6ð¤ÎxðêXCà,1)ЊJì,[ndKR‰…ÿñ!%Ñ·D´õÖ°)hVؽ`ðCPý“!Ø}Ã;:�;ùˆÐ•¾ ”Üe�¦!eÎÉKèô¤ÐÁ�žr´"‘ Œp—´¹‘ã¦&às‹XE‰,(S\m,9µÑQÕ¤&}õU:­ùLÝ9ïåµÃ„ØÂú»† âp�6þk×âtß¹Q¿|Oéý”›�ç87–­-ClÑßû Vöö;ÞBPѵº]´ýÙÏ{/çcKZþrıð뺺=„Qm7–³õÍl}{uÏHÙ{µ/µ>ÔìI=U ("‘:%Ê·öÛÝ2#ÔÇGFòîÀø¯ï4ó‡QYANY$#¾•on$€IIýmKúªè?=jýư¡ˆ0¡B+,¹€´ÿϵÈñùçÇ h ÀéÓÿr´ˆ%vz,¸*?' öHeo) öÇ’ Ô½ýØÙ? xîl´HÍip.,÷õêË)0=ýÄ1„îº(@ÈŸ–ÇZŽ•tÈH@úPúË$ �ìBn†€ẍ́ؠé_D€àÿä˜𠰗¦Ÿ©"àq× „`ŒÿÉûŸ>ÿ¼©à‰êI›þ=•Ê¿)€û@¦‰ÀãÍÍËþ8››Ý W&cšiÀ”Û6Z–¿Þƒ¶ˆ‰ùÈV:}lHùBôéÙ`C?L4¢Ã 6üYNKú,Çâ'å(€Ài˜€ä°@ƒo@ $Zü3ˆy¬Ú/ׄ¥Â³h[].„r‹%^z;E1õÆBæv­ža˜½_²H%m£l3˜í5—9Ý^ÒÈÃô½Ön ‹7tS,úÝV¾÷Ò³ é�|)ÇLkÍÁç’ƒ(!çÜYÇ�Ì’¯,g=e•¬‰Ìp)ÿœ'¼¥O+”n. -·.Ýw-.!qæ’d·é¢'ð?dþ Œ˜;ªs4C£ÁD«gòTä5ß¡„4p Œ-‹"‘u‰®ëìeùÿ‘Iø/W£9 nB@clÞÃ<n®ìèŽì`;ßÙæëZüõt±±©È¥T×çêçg›Y7o/TVÚy1èßÙËWn‹€¨ƒn±g«9°�¦hÛÆ[d"#íë‚R�•¼‡ýµ$�£èÿ® ‚À& DÑ\`˜Â–- šY�û�bF”Zžuz³Ž.°¦œç[>a $#¡Ç“Ç¡;éݘôúµÑ‡OG4KýJÁR`y%¨‹ò$²²N"/mF¹O\ Ñ<_wöõÈÉŒD�ÞÈ2E $Âöí ~³3èïow?ì ûCá]¿¿wç7{ƒÁ~wµød004°(Áï÷‡‚Véî¨ÝƒÁVOqÀãV¦×•UòæBåB7Ý|ƒèÉ÷;ýßmîì nkSWŽß¾½·¿? uµb°×ó�½Áþ`Gí21'ïô{wî ”“õK}Eö«Œì}rÇI“òÐ×!E1¾£ ì¯~p«½z«Ø¾UŽÚÛòïýØÓKë‚GeíQbû"ŒïKÖ”:wFž~£à‡ëú÷6w‘2²_´»{ûzdDËßíñ¸¾aIýíJÁW\Ðp @ÄÿBú·Ò¦pa¦Þ¾üÁÝ�ÿw?fHà�?øøczŽq�#>J¿±¿\† šH’,*AGø¬àM*$Å뻯YU¶àÚMZËK~þö�«j`wü8’޽eÄsU÷ÁÄOM€[– `B®ˆLHŠ=RÈoˆ ~,#V0â–ÐýÃ0ixë¦_Ô„ìP€'VžÄ4P2€±(Âøï5DÆx¿}èì7€´à x¤?Å8@UãþØ�dÒ ÚÞ¼¬ÿ 6€ÍM•ˆî¨l$ÅöÖv‘¿â˜)y ±Ríð€ã|þÕ°z¯Ç&€  i_i`rü”$ØKœ¤c“Ø0ÖÿŸ~„N¯}ô™Ó†ÿ XJ @*ü¿¢üÑó„$PáÏ+bÄ==ö¨GÏóFªܤL £ ôƆ -]”mŸ$ÜÝ(hÓµN³ÁVK�87jhÓ?z.mïÀÀ�A{YiÄ -¯[km�Ql£´g{?Ô’V݃‚c ÿÊŽ‰FH�7’*m§¾öl"*€x^pÜ"çâÎ9ïƒ tŠNa>±ÐÈûº­$NÞ�,»àÚ‡µµlp¡Òl�7ü‹ Ó°¾qÝëüâZ‹Ž+Ò�¡�|@J’2IÓ­½mrÖWȺw(2ž¹ßȃJ÷ äÅðÎ1Ûúuÿl©×À…:—q€„.� §*µìòÁÜÐg_ø?úôÓÏ©ý?–蛌—“ÛF€0¨(�Ò—é #õ# ’{ãõ±@Üâçnh–>†ó{KIÊåhkd˜ððPIù·¤sœ½�ˆ8^œ_»øM Z€¿CÔˆü -èÿN€’Ÿ{ÆpóÆÈØïºšø ñÞb=�_qÆ…Üì£ÎP¿hþZÚ z$•êŒ~;h­íÇàà½? i¶í_ÐÀ°€Â&W -³žtŠœb²‘`’ûµ˜ðH6€#[üo%xgÈ” €�0vEC€øþ›üÑNˆO‘ŒxŒ€.a€§ŸþÀ%uEúè£ÿ¯¯‡ÿÓØ?%¨¦XÉ1¦lI×VæÚh}=¡'åvØH·†~Áå°ž Ì„£:µ³±3h47ZM¢‹óŒm€›ÉÎ×{ƒ®Êo³ -�Jž¹ÌÖ‹^ýgï·ŸüV -µÍý½�OŠå¼ì©UGmÐŽL稨Þ0dúÂ\ÃÂÇ‘ïDgùJ¤êtz{Îù«Ôxÿº�÷˜¯�¬Þ ÙÚpµ!MÛq/ß/ØE£µ œénf$2Èk\·…ì€ÇÃüZ§÷ô¿×WÎóÞ^o§‘ H&²N^éÃÂ7®ì*Û -)‘õ ¢ëˆ  6òNzÈ'ßÖÑ/nõ�´%~éϺíÕÕç–‰è¶Û—ºÝõõKëìÒ‚øME_ÒÖ¥KëŠô¯Ä‰ìkëÀf£Ö˜­TêO5ºéý;¢]|¨CŒóó K?¡ô·'.s¾# cõ,|�qbýVê µÙj•*€»ßýô“OéPjÿgŸÝ¥À§Ÿ‰$�Z’Êo‰5 @:-¹„5þk%As#€Iø?Ú€‰¤büW?¿!`ÀW·ø�öØ'‚\õÊÕ+@¿–Z˜D+KJÿõ”½�³{˹3üÆ Oã?ˆ€&qNóîµÃàÆ oÝí| =q€a ¯…ç±5Þ¡È…4F§Vµê<û´ˆOu€™ÙêÌì© -Á *UwþS `í?êJ™6Ð -àòå[®�¼ÄßÚÆ¼Rô/~EÿÓ­0;b?O÷kpÕɦ|_àÚJwÈÓ•G+O¥œ!S&$`¼ì €#„Øi_�{B|‚dú'=uWùÓÀ_PÙà…EŒHÁ—‘ñ%šŒ65KuZ^~vyy¡± Å²¶•?A¡²J%Y&zA› ËõEÖ¥€¿ )bË�•ʳ ÝÓììlE‹ -}AiÇXtÖʳ§¤dkË)Ú‚¦éÅþù‚Íåʲ áô·&Áß�x8`úÖ—ãóçÅ'€Á€²í÷éè#f �ú9í>M^$š˜NK§uO€@=ý•u.‡ãï7*N�ut#À°@Îi€À±€¿Šùp+Áp@R+,Q  Y`9Nú�ä𠂦o€úké"l&H€7ßzË5“rÓeµ$0_2"ð�Q#¿Ç«(ùøü‡”è• èçÑ}€šŒ,ìÞSóêd…q½¤çŸœ©èg�&G–þOp€ù•Ímáÿ-€Íü¥—J ÀØzH*Ê�²™€~Ð - YÊ©l �û™gP´AßI hžø¸àaÐ×ß`Ä'/¼£'$¢K‰ã'ñ?<fdäp:lÉäàsm¨Œl1™)VãÐhòv¸»©ø‡�%lh¡ènûYôT¦ÅŠUW -ÜÕvØÿPcpB¤†‹èl­-jÀ§%14b]ˆ$”BC°'\ °V -ë*ºÛëÒ›ã_n”-iøÚ^igËÏnëªëù¦•é ùJì¼ö*•qÎ%džœw+Ï9¡¸öŠÒ -¬`cUÇoá -,.T–»Ü™L˜Žƒ�œÝTµ"P›y¤*®+Ú»PçT§ˆ´9^<¦ÍƒÓsr”æZέ�Ì:G�šô�ÛMÞÄèuL¼-Y˜x&R«ü¥nwêÇ$µ·¸ S¶Óÿ ßÜôi!éHwî»^BO¯•¹¢µ¦�žN’­¥Å%ý‹ñäÀÙa‰q ›Y祀�¸ß€.cwˆ‡;ew, "|%[E —Æ>‘‘Û{{8óñGÞ\ÜÙ»ÝOæÔô_‡úO.Üìïݹ³JÇW¢H OC³%­*MwÅ�FÒ[!ƒÍÆTOKÖhУ4&–| ÿļ•‘ <âGí½;ø²ùíHêoIüºXIÄýŸ?†>eæ†Þ‚þ14XX¿ü®‡FÄR·p›€Ã2‰û£‰ž“FW,.Y)…à ÐiZA€Üp´ã†à0˜éRúGàë ÑqšG*°ÀJ€ôG€¤3ÈÜÊÙ3Ï‹¯@YΠô»À +Ð_KöŽ-?™´„¸ >(vþCw;?iDFs£>ۼ豿 €Ñü“¤áÀâ€S'EÜé�º= JÇè Dÿ óÿIµÙ½\·F&¤È·T„(€ª‚îOñà=ä~­ð°`dÀÀe¿ÿè÷ÿôOüN2ÀwºÀ‘Zô|Ž–{™€î±øpÉ8`À¨@Rö5žÑâûɰDWa(@…ÒÿëNåj2øÇw\ê÷’×Ö"épÛRIJ•íÁ>ŽÝ<þb€wçÇŒ¶X“ö¨/ -*(£ Xå)zq/ï ÷Ýîïï˜�­—œåívm{}ðÒFÎåéÃE@áŸváýá�Ìd9¾ãR:¿Î‡ë+ùïþn�ï²×ß§g›Áà�¤È.4³B -�7ŠÁN»‘û¿¹�‡¹’íßÁ?üÃOöïÜ~°?,~=¼3îï+!:ÃëI[γÕF�ÏW#ß°RúuQÜ* í¬½¶Ø¬UgëÕæ\u~éÉ¥fFÎ{ñ¸,[;ƒ=Îê(ç·©ÓØ惗žëîÿÞ9¿Ó¿s§¯ì �´“ßç¶—áˆK±ñÊj•mæ›ÝñÏ´f›A-üQúˆ—ÒÁõ.Zkô×Ôé´ZŒß#± -�( ˆÅ¥Åùêã Í{ÂÖ=ì|2üáî˜u—Ó£Ž:¸Ré¥ÑåS^ :°Ým›�÷Ç3ßsQ »{³·×O=E£Þ0[`ã+”í;ƒU=!^ øë›hÆ`Ss*~fÖáY$QQwAýSý ¯=�Fµ–ñMò’”¾;. Ñ•u­�ÛíßÜ�¤[û$!õ·$<ˆï@j8÷¸þ5›ënìG5*õõ èc€@šÿÝÏ>ÿìSš) ñKäOë3»×®a ,ã?¢‚1J],5ƒ¾S~–>€a¸¶{î…‘ä—ü<€«‡[L"È$äÇ\ò�‘ *ÿ¯Jÿ§#7î‹q€&ÌQ5ð@"„â�ñ¨ü°j0ûG0–Ú;®8d8š„<*?¼îqÍz½¶hŠÿÔñ; ¿žþS4d#ɨI@Eðï>gª¸ÿ óOž _´~ý&Íÿ–)à~n‰—U Œ ÛÒk’ùÿ <ÈXc ¡tUÀÕ&>¨É:3€1Z�M°O$íJÝâÓžRYJM:eà€ yœ~†Kèúß�«ù\ÿ+ _uJRn$8ñ:Á®ð¶Slld8ÝÑÚ:Íq°¾œíç� a%5­õXÒ”>£íû†`ºÓ’‚Ƹ þÛZdèÿV–£d: ·’ËwP¼|šTNÁé­J;ÔÛ¯×ÛŒbìµÆ§¥J嬳Å6½Üïô†Û QTl {·ï8)¬× -�ó�î–Ûþ+¸I_¶ÈjÙPŒœ�Z–tò—èp0îdË�Ú`®íåý~·Ñtü,h>ÈÑʰ’n¥AÑ2³æÌl•Þ~«óôD‡ªš÷t¬3E3;J�s�=•èn!¦ Öò¡òLNtTºN^¾†rÅ:ÀDÊUì<ÿ›9¦…ÍâV©¤�À¨ÁW7†®¯ÿ®4ç ¡¿}ŽÑxATÑu·Ú¡£î†h9×Ì–ß  æ•HxÒ±Vˆ�.d€œäƒp´û·�4•2ê°òØ­u•OºèS@N¿9‡ øŠÂ—ò³êû�ÙáÔ!7ðÝAkƒžÖÄo  Y›�­6ç¢ó‹RªMoâayÙÉà’^O(Ǹ6Íå¶rÞ*:{ygo°…k¥o¶‡§£a>½‹xú•ËQ|DÄœùqNüü.ŠWžB”õ&ñu Õ›U!ú"ð¯.U«RÿQ¢Cø;ò‡|©ÕªXš�@/<[‡¬4!µJ½¹ùÞ]zÄ�ÖTÜ¥àŸ× -àO ôŸü½ˆí³çÂ0YÿBɘdT¤&Ä‹±6:H !€ À„àš À„`B÷äO“�óˆ”ýD€€€ À„\½â >�HÁ�:fDhï)"ïitKoýäp€8›'p�cü„þOX“mÿ,ô+ã&DÄÌ×'bQBDªhû'E ÷ú;²‰U@[0„ þ­¸Í‹[ï„ `$©EͽäK´xT�Àžä£�þéŸá*Û/‰@•{‰€rêët � (�â|Óº2&f†‘ëåŇycEQ[< f$îD§E_BM:8ªÏTРçL|4=•4 Óp2]�Ô+« 4ù_ïäýžžã§l±Ð¾,`>ÞÑÔ[¯½c¼ø£‡É›ømÒ6"+¶Rª%Xú;°£LH…®7«õÎÚR}^âÿ-yº•Ss§Œ­ú[ê¿)Jp �›G§Ö/[«dôp¡%$m< F¸ð\âÙà/Qo¾Ô^À$ùÑ6BrQ?À\ÏZϳhtÿÜ}œÖn­+MzsÈÜ¥C¦c´Håùðýp!åðÄ©'æ#ƒþ! -Kýàt'¾-O¨pš9i €øŽî<ê�ð@ÄI†í½ÿÓ#Oéß°$´þæÅ7ûÈîÀ»[o¯óöð|¡'=ïõËï?øˆÑÌ>Æð.f€Ï>ÿCòú; Öù…ûO8ýƒ§b;YTªô…Œ%ùDyÊòè±Ì€GXõSí½ùö/FÍAò{˱ W�¶8:,“UWœÁ{Jêðõ¤êÇŒ”€Ž÷f²¼ùæ[7�°„€ðiøÉ!0EÞü{cÜÓŸý’] Dÿýâ¯6%@¿Œ’Zad ™*½Ä@€ÚÇ�@¬�” ¶ŒLåŸ2síb)¼üòÄt¿V¥ÀS×§ÜË_ùé|_°{´ÀTC€‘ `4"@Ч;@Á4`Ú`äOÇ–•$€± y` -P2Nøé¸Ó �/·.·&C[€ŠPskG%­Êl¬!*€ÌvàÕH��¢Ó[‹ósóÆÿ¥f!àÁé+ ªÃ@Gó W3dE¶ü’TIP_phã@ž )lQ ²×g…Í™3ó.Mü.\ÈšÃÁž²s›£È& -ÚŠ¬“FWhû6€¾$™ÊLGk?Úf¯7(m¬Î:€#…ç ,ÔñøA-zŸÅ °8K[XþõØFz:ŽçpNôÛ‚ÁHŠ'¶[Ía_÷9ä ®œuúYù¼: )öàž~)Ë_‰_Js¬7»byñÜP™ÿ‹WmÚ½ºƒÞÍý´6Zõ%½hH'F1¨±°“ê~\êB½A7ü#ÕSób*Ó—%P·Žg E\l. ¾yáTþÔñ ^—–ЬW6šŠ�àýU´^ô'ÑjmtŠZ¶#>õ"ŒQS'H–Z‡»çHÑ€ª¿ 5Åè©+Ô\œ#;sóÊ! ‘€x-VÅhx -"!ºÁ5¥¼¨ô¨.ÂaÀíÁ`O4àÎp¸þáßü{ý�øïã[’„×߸¤»|è‚`½N@�¡ÿú:fŸÀœ=0]}t÷}ëÿݽ øì‹/þðÅç ò§äóÐú-f1•>¡ÿS¸–@E£ÊÒþ4 j¸yS8o ÀkpW˜' €}ZŽ“)È÷zUä«ÐÖ{Ra±“É:[ùJ×/4$}½æ¤Bk¿tyë�ŠßÑA:1o4Ú¶=K×ßË7Tj¼³�ÂYÑIäqKê;kŸùR­½Vä8ÀÔB×�u€”øX¡ÃV?k4{;æ"º-×èX¥žÓ«¿”TáÑ®è€9ýææ›v˜ˆ§aáh�ã4÷:ØèsQ¨QÎû½öfg ÛÉZñ¼• ‰“6€?þÑ&ýº\Ø5ïÈ+Û�÷ú[0Ã?B@wf�7×ú¼“Õü6Cæt? á-Âà_­Î ýççEìæ´ª×g柨.Ð">øÕdz�ˆyàv¹§N¨X+š�[àe `ö¬�Šçfu~‰@:“•ð< s ²Ó\šmyèEű„fèZuÍ*M°˜§@Ttn«F95‰jk®^«m,ºW*^–úþï߯,â¿oß¹³§`OŸÍ·&Å·ÅRiþ°§jÝãcþo4Eº4ß¡%€žäõuº¾ûÁ/äÿõŸŽ>ÿì³/Ü6à ïì;à�d0ÂÐÿq   �âÔ¿˜HÂYdÚpå…v±L8ju³tœÀècäýtiÚî^¹âlì&_¿hÈ`ÃÉ€QÂB�¦)ȉ8,Bù@}KZI�·Äi®ßxûçºÊÏn¶ ½˜p�$Uß-;´N ?Õ׿e„þ•“U)ìœLæDØ�ÉýÁÆÃÊI!hÿ�+àIþ²zSGâê °¸õnQ¼Œ el—C¡Ëó‹ùæÅD¦ä~­þòtର_,"�®Šp�öPÔDC€‘ öÉǘÀ<¼€ö&€?Ié¯8ŽñxZ×' P�dYtœˆŠÑà›c  ‚²´EŸüz´B³N! …¬àˆ°¼„;ƒ˜ N±R⤇…ÀZ}¶ú3kA§N”TVõ¹ÔFÞ]6 �â„þ:Z±¢}@§p”Šò³æFÖ`8!í_ouòBHº…Y"Î ‰<ØMT…€·‡‹?�LŒŽ‰‹s¨àŒÀk˜Âz£M½³o�ãÈZ�-îÂ&)”ÒXgkF,œžŽµ;¤¯/ØY91[ošJ pt’�+ZÿOÏ«’Ïûnæ™Nn©?Ïrý3ƒ¢�ï€ý-Mx²zʳտ¨û@#G›·,–pÓÀèoàü¼h÷K¶û�ÄwohÇò—Vþ¶Eý) ǯ<Ñþˆð5‹L, -ÎRlì�8Â2W_ªÏ‚épF\ÐwµF&ëó‹a€pQ"’ÂGçüÏÕuÐ"·�êÍZÍÃO¬Eù�˜ð³@ú?RÎ ß–(鄨߬ijú.DØAÏú3¬¼¸ÞÍÖ©  ë ÃîRû/ -ð>�Ï> øøcú%%8)=_Kºý¥›~ -¡å[ÓFªRû¯�ÿü¥åÿ˜z|ÙøÿnqY؃`[Åv0ÿ}U^^Ô´‰PØMȽÇ|‚§ÌèÿÔ`ÛÇlo9Æ €>zL>CPÇÃÀH;\9¦0ø«µ¤ž®|¯´$€ÓîÐ5Š, ©Ài™ßœ€-ü�€/€ èÒmjÒ�QÞAˆ;äMÇ: x[”î†ò†Õ·6»(Ô\ê8X ¾�pW2Fí|½–mùdah¤Ü®�zsQ¯7ïI¿Æu—í�¾ØÜ(ò½`$£Œûp2ø’óN?_Îrôí—A@öDZZâæ—yÉ[Q‚­¼h.Ó -@GBҞֆ؈èŒrO€€e±>ËP€`W}Méºf„Þ‚u{š-\¿Ó£n^YÇ{A!Í/6ÝŒ!=Kð?žÿÄ—$`ÿ‡¤»É?!»ÈJ œt;ýBàE˜£·çÖ ´~�«‰©4³>·& - úY#�—óº!Ã<=Ä´¡Cìö �zÁ-ìÑ�Ì Ðݪ - -D¤ªGØ’lþ@õµŠ°\`GI¬Ã#Œ³ˆ¿Ôœu¥BIN–Z/FV«³‘®ô‰S*itLj׈Œo†/1[¨ëÅéÄŽ…l‰Ñ -À¾E¿ø}{ïý=Z”bø%aö7*~r߉P`@wg ͺî[£Ñ�ZÙØ¼üþû|p÷ƒ�>Ðòý»ôÁÝ�?þècÆúüS: >$Æ{æ2àà™]äb“:€²€E •¥£…Є= ¶xŒÜ_ýâÆµ+çv±œ³àîà'oÿêæµ¾1 €àŸF€–Ô BsD a`Ä@£ÿ듨ŸÎJRFº_äûÏZаá'oÞ¸ö³TLKzqRwï¾!z¡µ½Œaþ^rꤴzá;n6'NUª3 èŽ<à)ZþÑ�Î�° TðÐ5¶Ž6D@ñ*=v¾üòËùåmzþœrÍÙÌ)õ.šLËñ­àQpH~€|9Çz¤�np àѧ„ÍÆvö�iª±ßÇ�ûeà{(øOc@tZxP@àÑﳿ4”D �÷_�çôc)„øay4l3ŒYçvöl6D�²ˆÄ/>1ív€‘dõiàÐ\kÖ+ ÒaÌìÖr£7[(ÛfyVËEÂ#2°§+¦úËëù‹má¿H@³ÓÛØ—×× -c{GZ¯“×¼ òåîŽÈ Õ¤ăã8$ëDûùR09­7V -îS‡`é@oVÞ;ͨŠ^[j -mšõÙz7\o¶FAäåB9˜ ³ÞÉ=àZh‚Bd´j`oÖñƒŸ�‰÷âõÄKš˜1S¹x9 Ã;Å¥Á‡îkwŸ °·ÿ!ýí2Šo¿—ÍÞi×ë¬éé(£z,Î.C6P‘�}}I¼@ Ú¬³¿ÕÁ×O²X›­ _…«Míæ¦àB@t³ù„°V»Â– '´V¯­eÍ–�ÖšD/Õ[-í[¬ëþq ©jK„>lz&ڱ摒H¨¹ÖiV[­µ º/X[Ó;1Ó ÕYÐ=J¢óMÑ3òâÑ)u(\À¸�y§Ñ„u -ÆEÖsà‰|HƒÁ�ý;ûÇíÁ�ïüíp�±¿UI ý -fÚïdòа -°¾¾É Ù:-Ü%fsóÖ{ï½ú¿/øÿƒ�>úàÓà.m�’ià×ÏÁQ‚ ,])�SY:–Ç$ù”€^ #€ÒpS{pœUÜÏ�$ ßóQ€+áWSG€©æ,}Üu ßè�)`$ ò“”‘zãYr`D·ò¿ÉÛÆ¤àMÿ]\`Å�Õ|Ù@ðïåãGŽôw”œ‚ØP9qR<¼ -°ãò/˜w3m�¤#@­`êÔÄ[:Î`P¼;° €öÿvf -“.¢Ò¹ƒÎ#�'~“rL+€ü�üÓBPÍĘL û=¼&L›�r‘þH§LDXÒa •§Gt}¥‚€ÈÈ÷]àH{$ € ð”2<Àz<ëÇZ¿’P4¸($h‚ÈTaK×^.†¸éÃjÿGxJ l<Ä:¨r¡6Û”ÎlÄLû�6±Bïaµ]É -+ý\×€8BRDùÀ'°ŒË£PJôMt˜g˜tzdZKP^ú¾RŠÈN¿XÎ?‘þß�Ĩ§¦bb!‚ ÚËmzõ'Gä‹£…;äTI>¨GªR`¹ã%7>(ó( f„ vÆÖv»ÖÎÃ^¢œ÷Å]t^>½�ÉwTn-Xþ§…›+¶W·5Ñ?¾½ÙÝÎU6³Ç�¾Ùî.¬(H£IÝJFŸ…zŒ�2˜«�÷Q �~¾) P‡ÒÕë³OÔjÏ;�(¨×Å 0 hƒ.bµ·Viç7KˆÔ¹O ÙÇiõŠRXÒÃ¥rþ¼2@KrÒWø|c–¾åàÖ긥P&ª•ÙY=ûÇ”[oâ �æy†§¡[úÆù¦#:¯7¨rÙ‰g¤‡±íéc<:Ùü³Bd€�ˆ§t�oClsâ¿Ûw# Æ÷êa/6»9-QôYùl¿ûžô‰HÀGÔ|à��…þô x”” ?M&,hj*_G6ŠÌbœ=$Ó>»çvÓp»×~þ 3w,@+£ø=åx ñWEð4t_S0�ܸ~ãúU:%HÛ4ˆi,>k$)òuk÷iú—‡–1)¬•žÖ[TÐý¿@J„ë {ùC´6W‰kÆ®~øŒÃ#IQaÀØ»·Ã±ÒdàD¸ÿC -Õ‚w,n ô ÀeÍBÿ°ÿ�D¥XiõTy?)G¶xêé§Ð­%¦É ômëšå'tŒÀ#héÇ6`ŽϘóµ¡ýé•ü$yPÍSSgÀÓO $@úý×ã9P…°ð£üMËÿꂾ��^ê’G&t+ÅÐup€-ÆÏ�� "âàˆ_ªÏZcnñÓ‘Æ{Ìä&l¡÷Y#}ÀV?@”ÜâC6²Íœþ³õ¦´óeº´ËZmZ¡Z«©Åç îl+Vø-”/�|¨{áó¡r@GÙ$�Àpq@RØédÙ²�(ж´P|m3G?mâä(Xšút»s´0çøÈ¸TTo DçY[ -)¶ =Y1€ /šHdbXd9^K¼¿�ñ›‰÷5Ž™úE÷Å“²ºÚf�=�£W0´í¿ò½�W»WVqØ®<ÇÅé·µÑp?ÍZ/kIǵÝ‹Ð3”N@cY€s„Ÿ]ˆQ’Tj:V³‚t §a•)p]×Ñ5!i'Òðnâ”®ŠŒ‘œ¶ÀAõJC'âj¦È vép-ëµGª³³3 ÈÀõØÃitP‡eÚ†h%FQk7Ûë›9*ªž„ÀßÃþêYµ=à*#C“ñ[–„Ûß”øßö݈óJ³úëkÂ1›ŠY}yøÀ6/¿{÷½÷ß÷ý÷Þ{ïý÷´zÿ½!áð�âKýüå|æ…4ª�ËT—¬ÇXWP'PZÞþE"# À[oÿâæ�›oýÌàt€c-©7€Ô”¯„|£þhÁñ/Õ(<¶(×v…Ð0€ë7®ýøÚ_%ü�c- ñ“¤È«ÉÅï~rúôÙD~òæ›Wrãp%€ßØ?-5/LÔ`xœæ à“ˆkãõ'Aãw” úJÕýQõŠN±ùãüÀ ­Sî \MÈñUÅ»¯öß}µ(^~ùòËGà¿TÿÍ‹©Þ3AÈÁVÖý™ž¯‹°;:ø_Qì¤ àø¾*GšÌ—{|¤>Qkì±Kö#é }Á)xŒÀ3áÀå™ a°›�=Ø€÷ZÇj "‰8¦Ü�IA·Ï;])MC©ÍÂK £3ÈW©ØÚ¤vh0� -nIøiP£úV‚N—5fk. -¨7$º\Ž&Ðq«+½X—ŒTˆ¢Í!9€Ÿ%évc5cqS H'ý[ -uöR>tŸ|Jç>ªúTÁr#xù%Þ¢Cužfñ3¥ªÔÄ(ЋSŽ’§g€ÿkM) Pš¥z½…ÍôwÀàãRÚZÆÚ’;ÜnÔ„ÿYóB[×YW±YÐÅÁXÿ÷kˆw[žK?•'…÷ƒ{©¸óûOþö“O~ýÎ`øÉßÿþïÿþ÷¿RÐûEÑm¿´¿¿¿×îß)ÖŠüwçûR^ÜÎ_òèziÔRú±üwZ[¼>‘•pd”†Üí5k�[‰$H˜~xú †¢ì¼>¢—¤xÓ¢‚â:ƒB9ìwHK›;¢C�µá ß£ƒ§¬™_ÈÛá! ’ÿÔ)-8hNÑÇPÿ¨ü§‚ öÃŒøÉ Š:º €‹/¯¾:x÷]}6ýum¸ÕŸ¸4ÎIÿ�*ÿMá -…L·ñ…ð‚ʧ�zpÚø¯X"±pY[è&+V)˜�JF;i¢ÀÉ%K5úKâôþQÿéà@}òH€¸îÈ`ü‡Ø@.ŸFÃ<0·&èU¹iÜp$¡˜¦ÄQ…œ¨ý¥ aSp#œ´3âT¼‚’ ø¤‹·’`®úD½¾˜Q>[cÆ@ÃoeÌG6H‡*è¡«³Q#`…<©Ó\vt¼ˆ�Góòò6ô¨ Á”>(íé<�oÑ`.›å¬Ø¡9w_CÔ¹È9b:#„/¥èâ¯/áæ´×ÉšÄH÷é$KÜà#µ%nø>J*Žò™I²È“r¾Þx¶›¯ÛÚ¶6ä±N<ôñûˆiô2Ò4>jü£t�’­B/¨(Vè?0òr·zsÀÑwt®§Ç ‡!.Ò.iœ2ª¯»m6gæ—q¸ç.E×:ú -R_=¸rækµó™T?GXlh?Ï‚ÆzNMŒ%:ñÓKŽ<¡µµ�¼^`^a³å“%Pºà^×xx-ú“¦®'ëèFxë!kb˜õdr‚èFtѶnI§ã4ùh·‡þ˜'}ü_¥eäÎŽžÎpØþ°ÿý¾ö¦‘/¾]IÐý�H-êã¿‹ ×þƒÿm: z¥ÝÍD·ž­w··77סbgø(J¡Í®¢!š–#-e€ -B•†.S]²Ú ðþÏüµ‘uB®€¸É ðËTþŸõÐy¿z‹¡s!g ˆ›OTü ¼?FJÈóÇ×HgüàÚµ‰VÎIEwÀD—@÷÷þw”œKë$§Ï(ù·IŸ>l€к?~¥,<Ž@o"ðøBí @"Åÿ®ÿ¸ý+™ÔuÐIÅ û Õ½°¦�ÞoœOj?SÉÒ[:N\P¼ú®þ–´˜ á¿àáb.°ÏY�‰±Ð§’Þ/m…¿´H�Æ ÅDw@IŽö¡'û›ô òA–{ÜF/Àþ� rÀp¤@8~ÏW\£¿ 0®·f‡<[t"SZ¥`”XøI{t?vð¿C×î"æc¬(Ò€ˆ5uðm1écÒ‡ŸÐ×T�¯¯Õgë…Kjf•ùFñT(+`neï´kz«®z§ÄNp¬€”H]Ö[: R*` £€.×¾Ðò¾^ARœK×þ!ŽÊœð_ø.êÒUiY—У9·¤ëMŠ0´ÑØq<øoã–ÝÓ––ÖZ­%zÃòØ“† -rŽ�ü`ê ÝElt³Õe]OÇ�* DNÂpü.ÒÄb´åÒ<ñ3�M‰îG$àÏP÷S}¯Ýù�ï_Ò(^Õ†SGâ’Ä}"¢dg3¨ÕKkKM=„5€Š;ÏÜ•9Y­™»·žI1 X㙃è:T_„X„(a>+‹Âz�YÖÐõ[Aϯ?'°–5ÛA¨Ü©Ùý2/ZY¿³¥|ô{v$#ZgÍš€À¼//èW¤®Nƒ?º”¾· L[= ‚ èy ¶×é`ž4úܾMIàýMÈ�ú„ ã]ŠPÐìî]�å !æ¯36ÀŠ=:ìã^Í•v“*˜Cr Å2šZ*ZŠÇ©é°@Xh(yKøÿS¬ð»»4ÄpóWXìxåy,á§wœ„%` -ñ}Iºqýú.UñW¯»S`Ñ€) €.àKáÿµBÈó=å téíŸ)ñ‡ ?5þ—“ | ózŸ±Â€½˜&X€@µ¾"À?Éy4Ä€ 7[ðñ ´O@S GIý?Î Ð)ðÐT¼ìV€T6kI–¥¶/—Ófú�Æxú©§þ�ðfR÷ú# ? ¡ó±^â ã¾FuõZÄ·˜PZ©3 NN4ô—Ä "�Œ eª¸¶|Ÿ‹k÷¤@?âšÌ�…£×žÇ!f�#Â^§‰Ù¿øŸ‚Íb]a57jæ·»«·RŸõ2ЭTÒkc—úæu.ŽŸˆŽW³ŠÀÚZ Çn ;ృ£^©ã òõ -Ýãè*ÂJ|ˆ)].âK"íÆ2Fb‚eSÁVç !:/šØ+ºCåÅB>Ø¡ø÷­èãñÑÂe­ùg´ä•�)‰²éÅ:4o”Øó½ þOU—–oPIó+3#¡5É4—1dþÓ‘8ðÄ�˜â5E¨\hbö’Mˆÿy4õCýï~§AD<àf‹'ègÉ«Ô^oθO?z7¦ÂÆ]6Ø©}r^¡�I.4s…±éHNÂg?ë4~véAŒî˜j ¶: ˆZË»#ØÅÚ‹é@V $&ÅËõ9½W•k&ÖÌÎÏÂ8ùäÜ„ }!kçM[1è8’—„:ù:%ÂC -Jôô`Ä�ô�ƒ¢½Óßëc"(PP¿õ)�÷7 ”ÃßÕd -çT á»+J<)Õ[‘ø”†ªÈ¨ñö*qãÁ•^Ì!I«þübY¨ˆR5‰U5ãþhú^̱HÝ· ùúKÓ @rúé!Pñ»gE¨¦O``ž�þO󥿩ӻWIÈU%þc†Ð¾sWo¼}_ 辑€%ü�–±à€ÿŸ…ªûÿ5±8(µÇ_ &@A†ý úµÂÀÚ=c¢»‡í�ßö…p‰Ä” ±×r4x¼I÷%4ÍþOˆJî² -ÀÅT~ÁË¢/¿¼ý²ùe·xæ™§ì®ã/kþ…ÿÖøÙÔŠ:ô‘  ¢˜tmÉÑ^ÖÕ'y‚}ì@ÃÔ$†è8Îß'ø?‚ý)Àq}øÊŠœ0¸`ì`)áàà:mx» ¥¹Ü7^8º°�á@'9´P‰N'Œy?_ù)ŽÍÈ´RQ®â61•ô.çï·8ÉÕÆKøZY³Þf÷?w«�HõCWËjÑ?^‰$êÚy¡æ´n7(üV$%±êy9]ð‚Œcçïùrf&“¨¤�0.âzÍÁ#Tl1œ‰Ré«+ -$É­[þsÅЃ¥ý.Q÷l {¥ö'àLŒr’Ä9_il»&;„Ü^ôóŽßhŠ—ã¨ØšÞ�Nøãÿ 0›n.¿U4nQ`ägˆb�¦èùæóÛ�¼ßë+ GÐnû1êíjiŒž{k À ¥Íû9v¶tp9tüZ¯€ØôáõBé°*Hx9zÕy`,¶§ø¤hÏa„ÿfx2‰V.èõ+-Îéô~Ñ‹ÖÕ´1&kÚ�L½�J =jÓcÿÀQ§1@&úÐŽT0ò “ßû^Š0Fk‡#b¼s9Å<Ž*C1ÿÏ?ªÜd4à±d�aîûà_€MÇ0 -�”Ñ© w€„þW:õJÝÚ¥H€‘sMh¿žr^ÖJª^Þ~68$q .:r¹aU•â<__^ ·DÁzá*uÙÑ_•lÞÁ�Aø�Ø)¶—×9ü&5s>ã ’†Î±íØe–.“烼±ß™¶|€~‚")¶ÿÅú"-ÑàtžO3i ÂH.îƒÇu�åùJ£ÄÞ„¶�ñ#OþÀ+sü82&oJ°sLOz"j†ãÛVŒl'­¿ÒNÑÃìo -00xY�&êß•?e$Iöb6KŸ»Kÿ‹&1pñ¢…»¼L�ºf@É?!D‡³Â�·G€wî¾G¢È¼Ã%â`2‘˜¤Ñ�˜.³ß~£�WÝÅËœ)î� `­^Y£“`¾7å whÖ†�G :…Èò¢ÝÞ×g2JúFòºl¯"<$ÓÄo{B€M µú»šj �'£)Æþ®ñ¿»™‰Ð)%Níuú¦íˆ(€^“ƒPà�æ°ÿ˜K UÓ£bˆv,µ ÀÏ“à5ðSIÓ.àm�°{F°­CK(¿Ÿ”nÀŽb €©Ä_‡ö?YpÃ� YC×�|hJ""áéÆ =�þQÈŸäÌÙÞÐ)o^{ü?ÈÓ1÷'“ÿa €£¦£OÑ线fúõ¡ÀrÏMÔ ˆ$ô?0Ç û€å¸:€ùf¾ÿË"/2øÇ<þBöÔ"†Š)a$`l@I$ãÞ �..9Þ `¢/ÓƒdˆÏ1í(½µ½'¾Ï´û ài}Î^[×·€Bô0m@ûw À„ÎFÉÁµ$¡DŠÑŠ�·=Nj؈=Z$QÁÙ�²ª”=éÑjlç(›ŒÎ£b:GOÿàT€þ¸(ð¯ÔU"æUZ#(ïuqÒáŒXœ®Ê•%ZY5*%«?Ç;•ìÂ�FÙ·®@Ë«X&á2i�ä äËí0½kS( à”œ‘æ´n¶×Ú#ôŒ*^ŒÖÙ)Z§êPêhü¾è¦ëÍÆlµÉÿcæ„Àœ txœ2¹QÎaBÄè^@[–,žw¼‚4•ïgâÅpˆ_Îx'‹Hã ì+ïq [eû›@ðM›Ë¹È¦gD¢|豦ÚþŒûÕîn´¨€õqó>XÊÿ…еÿt_z|4�è¬E‚kï*²F_«ÒBä�é¥èÈ�^ÖÈ^ û¹FjÉŽÃsçˆ<_¦&‡�‹Z­^�Ca"AB,U1Nº~‚mM4nœ‘­ÄYt{;ëíiï¾¢×ÇÅ Î-"xFNY¿]IþõÄ¥ðw'À9€ÞnÓŒ?éÿxømÚåo}]{<6�3%>šž××W’Î?-§Ÿb@Ï -DøO—>Àÿ#*BmÐÅëéÄ!7o¾ý«_¾õ¦-n8²ü Àëvÿ~€Æˆ?ÆýRÐòÏ>ýԹݿVèêU©ú€›WwÏœ{�öù×° ¼)pO)›¬Ê'ysª -à^rVüâM�ÿ†Só´”Àn--Tµ±T*•É^ýK¡{?šû�šÅÍŸ¾þ„ã>îä,àÄWfNà~£üÄl…?_ÁcºLRm¾ÔË·^1°lå¦(N—Mâi)8!%H6¡h²àÜÇ$�làøtuéðGz<òˆÄÄ €cûø*®“^Eð®I(î/ÔeìÕŽ2€Šœ)ê“&U' ¶è¸IRÁA¹Ž•ƒþ¥=) G°‘1•»ÊmJN -k~a;.òåõ‘“e1–•µ…í¬x}Kë.ÒÑ òÅf³r^{ðò²òÌQ*e'Rê$t‹Q·&µ›ZD4;[ã þRš�LÓ"Th4LØ)ÑB¯´×‡ƒÄ+ï|9r.h½è#¸nF‡âX¢“×\Ò£eØâ<*ÇÅÖ–5Õµ%wsL¶k‹³UZ=Μ° -Š�z L‡Ž8€n[Qz^E{YOKÛb ‰ç�yLå*­§·X[¼R¢6‰�&6óA±ê¦o¯ø -1ö�äUÞ¢þ\½¼‘ïÀ€Â€£\ò 0¤ V�³Ùzsi�.øèû ƒ d ¼åf^=ï·h+Áø¡»ô ×Cè 2×ÕŒD¯Ä)Žë2 ý«Åóh$É>\»4ëèaÞØ’ZÞ¹¸4ßÚ°þÏx‘t@ øŸo67*ç!bî‡Á ¤–„ÜL™žÈúúÐ�%¼ÿ^N @�\ìÕ>Œ Žy(’0üë…ðw(5}ÏÑÿ�ÿ´¤3€.,4±4ìè6u¼›í±ƒ£mÂÿÓOi¡ùiÏœ¾‡ Ù`'$aíXp»O÷”š†€’þ• ?zü€Ia¬�§žm¹I¼~% VþM€]ZBcÀ E_’°�~WÍOQ÷²”rî…s»çΞyAÉ‹u`8DÒ›;R¤ÂŸÂ¡¿ä zHjÊG?® -è»ÉŸ£„ðlžÔ¶£&låª\ -þ#p¼Ì¡þ©Xx¥0 €£3�VþJª½KQˆ¼¬‚|<�À vüŸ°=ŸrÛÿ´•ÜÌØ `Ü`l(¿¿´#™ ôiÏþ0|¯4$:Ô5éP‘c€°L{�î£ JT˜�ÀŠÀŒQ ýbÓæ´Unk•þˆÊKI­Ç/øÐódË]Á—Ú-êõÂTlƒñ -·šõùê<…²¤y¾V§lû¯ãN_‰QŽsº�Π»Œ¡ü‚�Ü]ÿ�à4’ êŠ-Š•†`T€]Š™ˆ×Bm�¾JcGW(„È{pQ©¨y/¼õ¹’KMØ¿¼R*�q.Óïô¶¸¹$ð[k6[ÍÙŠÐçÄì ©ÌÔAÃjœ)é[ S•ßÁz£Mªñ-ëùñÀ­Þ—S¼å»ð¦—Èè/IeJÈy1ȃþ=$–<‘Fíõô8õÌôßáLþcä¬Óœ™C‹§ó#QM¼ ½!÷°+ -°U�åèACz$tÊ ÉéyÐäfk]Ï h7H½äA$§]–UéLQâR´²8$ lÇ’ÞÓà¦À/‚ì2À¹×ÂðÖÛ7$ ÀUáîýð¿Ôè�9N�}îôSJÊÀLÁò¦öüäM±Œ°¼ þ@ëGúkå;ßd·Ž €¿¯œÓ-ì¾�€*€C’^ÜQ‚ÂO“~êõm÷×–�¿ª/-}MDbÇЇ¥?¢í˜À^s…|Pˆöß_NÈ·^y¥ØÙyç�䨢øØÖÊCvcpÖí¦-�&¿ÇX•ÐÖÀ=ú7›‚0ÒÇžIü?h˜‰µuý0ÐWM‘|ñߣúÿÑ}Ø Ì'$xpIðRBL—´J¡´õÇáþþþ'{4$§—ô­—ÚË+m!sW¯Aï�v#f¹vz�yCûGðÏÜz¢Ro1øÌÀôQ‹¥oíõû;Ú.zû„·‹�4AÙà ö÷¢ÕVtâ–gÅ@|Pþ²æò‚à…áî{ƒÁåUÈ«ŸJtá‡ÜìßÙÿpØßÙÁ¾[äÊy£�u_R®9 +t ½½,ß{;{}Ò�æìíë|aÙN»±’‡ý;ŒSܹƒ£a§÷ª€Û}vú·Ý¡]+KÃS@6:œüÈ:9/ò.=Ë�s’Ï»mQ—n^ìm ŠáÞßE<èò‘Ç4½r��X.yP^ÊEâ¹I´ ýݦӰ÷\¸ö >;Á¡õä½¶Ð�Ó’+:Ö ¬-ÛfZ0ûÂeðŸñ‚2œÚÝ—"|BÒR¡>+Åfƒh+åìRê†þX)ŸÒÓõµAÏŠ…°†ÛoeÍœF´è‰!¾D³–áŒ�Ó‰?IɈq”/Ú+|JµˆÍZX4 7W?á1ä¬ÿ*_ÙC}X οœ¨0ÆV{â„ÇU�¯ï»ëôÂúŽÆš»Â~=zѽœDt& Â÷âúá©í²ö�œ>cX¯*-—¯‡$¡íXvϽ&Tw+,‰¼.ðÚq€tæa¡g$m-×E~ðè°±?„\Û={BúÔM@‚\-ßF~x` À gé XàÿÆo¼éfÓ’ÞÜa± ÿìì¬q+¿=þ*Rù…à⎌T(’ûø]ࣽ™ð¾„ÿ{ÕûOJu)UFÚ0¼sk"< ʪãeLžyÁ6à1À+ÀŒÀ‹§“ :~/?:ŠˆdHF¨æ•Èn²*Ÿ&ŠL�0¤N”Z2(Pð}(À€(€Ž›ð Yq‚¯ÀŒ$ M¸^Ô¤O¢Ýœò]š%uzÏO‡ñãû+”l7…¬.{¥ûÆ=}QOTÉeÁ=¼5Îó¯ÇH¹�ìEB+@&Ú{‘ÿIw;:±(ùõ¶tå¶Êçøvqy‰–+«Ï.+ÀÈ£Ú§"fE“%Å9kn�ÜÒæq6qmkµR¦£Ü�,�È¡”Ytg£6»ò\º4Mš¥Î�u·t 4cˆ·hJõ¯V銞vh¾Ié;ÎMvAOOI­Ó3]ÈÊjãY%çGªk®û‘À¦4§Å(ê°�Ãè/»ïÿn7Ov”ôÇ�£k§b5<â¨Aã§ŠÍ7 Á¢p÷‘¹æâ"žk-ºþêb¿á… w[ÝózD’�— ŸõYÙr>ÙÑ ˜@'+$Ÿ 2"t×.['„ÿa9ÁÓÛêôÚË65ÁÈAà]]Œ¤’1.МcŠ,x9â °qÏöê­ØNý[²ÕR®ôóö¾âòq·ÎðaJÂô¤ŒÓ$Ýÿ�©hqêñjí»š€ôFÃÿl}Ýá÷§¿Ž d@+¸c;ÕêOÄx -7Vpˆ¿Ä´¬ïûšÊ÷¥nèâ°ÔûÅŠâwB&Tî�ÒýüêW¥€f/$ð6Ì@àlxèO˜íKIÈŸ$E-TœþßOŸ¹b0ÎMû°àÓ�h�ð�¼MÈò ¾Ûxœ={ö™ãç‘ÐsÒ¹×ÿoü8ÝſєàÿXP±B¯õ‰YÔÿŠ‚aà?%–Yõ€þL•‘‚á�õ -ÄLð?Ó�R #Åÿ�,ÕEý_Å\ðÎ@È¿ ðÎ})ÀŒtèR^pK€dô7êšc›piˆî€&ÀQ^Õã†VÏàonFl í˜làïqÿÊN’ÀégX)O¨þô€ÿ‹ï ÿ+_‰& P¸¤ÅhGÚX^^nXPpùÙg——kÏ.hõ'¢ˆÚò³µgŸ]XÐAZÄX,úxœE\Ò‹Q«0VŒeaY³t¥÷l…![j¤NÊJ¶¡É× 5ÉŸT\Ê{Ÿ¥¨©érËœõl­âImy¡R«ü‰._Xæ4Dù!1˳5%õ'Ê)açÜÉ’žŠ/r�np�«ëb\C;•rÆõmÁ¬Ìê~*Ufî‘¡h,³ÀÔ¨T–¹c_MwYS -µ…gkÂŒ”——ã!—SzòŽ9mx}¤ }ON�oýí傺€¼.ˆ*XôØ:ô*ÚÑ'"¼çUAaø:X%—âÝÛÚhe3ö℈´PÿƒdÙ1€L@AtpûZPÒ“ 'Dɹ€D¹ˆHi¾¶åùvC¸ÛÙði=÷Æß[ÛZF¦–{ºŒ�v¤ -$;¿Dyke5eP'#‰Pe£¥7$›y>l¯ÞV(ŒZ’|¯»ßç‰ôzEÞøÁ(Çùàöí½‡"·u¥/3:0_™tþy&®öÝšh‰¾€Sk4þ®ðßmC´«!üg(Hs‚1¬ˆ&¬O(þizq½é¿Ò!9À…ž‹SJÕƒ}�ÐtGS´YD¬W?Úì^ÃÿŸV€áøZØÞ§%¡þ„¤G N€?xôgÝÀA Àõݳgè -�MðŸ(Ï�õ–qÄX^xæ…³ú¹œ�ÓB¹g^þ¿°û†.ñÿñuúKÒ‹; ôàwª"íX'LÀÉ -$@Ú¿bÅó¯ ýĤ),Ú?í1ÚO¡ÿƒÊ”ÀÎÎ@¨¿ÃyÇnI¢`Zfžš`¨ü 0¶P ��¤ôÒ†‚Ét¬ÀdC€±Ò®E2I¥=Ô5DJÚ%Ðâ"€T@ -NKø¯5W’”`;š¯Øð0š|þWmxnðK,"gÏÐ�¯à6ù -ð/ À¾rö�ư×ÉÃHHûJ´`ËÛ(`ü±“¹À3šÏ>�2)ô;Ä�kÿ`Ÿ˜@˯êcª–Kßwä© -ß]ÿ ðCáÇ&€£FͼŸwö¿yþò ÀJ2ð@!ðë_~}û×@‘þÙ9!QROÈŒ°<Á¿ä©û†÷dÐü4f�x:YÔѤ‰JY¸—À¸!€bJÕP¶J¥=ðŒ -ßSŽCÊý#Àÿuj™’…+‘¦NÐ<µsÂÀÿ¢Ÿ~Tœ$�Á×�?^�ÅéÉJ¤²ÓbÍNËnΦ¢Ýåµ c<´„Kósóú«K¢Y0B52goЯn'Ë7ŠÆJ¾‡Ím‘Xöú{w´úw:tÄCM½ ‰.€Õ éZ]ÐGbW 6StÛÏb¤ÐB[²ÎÆK褙N !ç¹. MQÎ=: vk‚ÒŒáÈy±(„¹96R½s§•7žh2º\¬/-J„=ósô|°Ä¡" ÙÊå«�K¢|9Ïî† ¬ŠiÇóŽ‰Ù¿/)6ŒMÊ�Áp§¸Õ^îŠplç·†Ãß²?ŠÚÜùð7{{¿ƒ¬ ƒî¾8—Òþ@t OÏß}ò{vû;t¬Ð,ݵÖp 'Ãâg€²/dßéeÙŠ«xžü»Z -D‹;wöŠþѦbпÿ5o?g*�¿S ?ùd0؇‡Ü¿ÛßãøÍ Xòýèº}X~d„|ô‡}Ü&o‡�A¦œˆÎõ²ùj½Y w†d:õ‘‹:öX]ôB)�ìƒþ‡¢v{ŸÄXˆw uùÊ*¼U„bðÑ'¿êÆûÃï Ÿü­r\ì¿sëäµì|‚²ñ�%!ýaqaaµ_ ‡ ¸ -`Âq)þH­VþëSǦZF[Àî&Ú?^{,Ô0ük®F«·qÀ9$:Ø·|HžJ>¡UQøY7;ºàQ)àŒç?ž“à­äðöÛ¥`÷ÜkáðK:üÕ/ñÀ p� ýKÉ_ó»çN?e €Ò‘ Ü`ÌáÒ`ÕþAÅú=hxùÌ ÿ…,B�Ó6 ¼ðóÔ4ÝÍ� Þÿôòj£ÕK‰O¬ ÂWdžC º=c„�@À=;Í*Šœ�¯`˜£+`t™Wè Ý-éþTˆÿÅ6Ææÿ `†Úüÿz àñ™1ã¨lœ~:õí&À±^㆘ë¡ xúòbǨ!€Ð{ úÚ(ÂØ É€>¬ÿO hƒ€ØÂ!݈-_±`B%8òÊéÑ�RóPù,�&PIñ-ØÛèØFŒ—vk­>/0ÿÆrÿAP¥‘]Cj NÍ‘WéHµ÷?¡á]²l4B{ã§—€ü‹¹1èi�¼C*¶Š��¢½ÜvC2å2Ei#­�ó­|¥‘÷”ci|‚nÌ—¦­Y®‹‹ÖðM±€± Yò…/µN�î c‡îv®ZÍêK-Ò¡�猊 -gPš² Ÿ|*)%Af›†*_R¨Ÿ™ Ýîr÷Òêêj{�~ÙºÒäùR•bÓl–o/oëÿTHMÃ2=<Ô6 %Ñm7QPK-·’™W©T_i,4º•uºÆJŠÆJré¢x£Ôíîêòz{Uˆ•mrÓm8ƒrá -›n¾ýìö»ƒwrÎVDÔè¨1Y×[“B¿ý'íF€Œ”ÈJ­¾âät�V—nÿ‹¦ôÐje¶ZÓÆªn½³�Q‚™Œàû¹½úÜ¥¶Hû’Ø -1 AKI®¶¾™oþÙ»z"úÀ¹òC—„÷c¡lVá)¼ÇÑÝ_¬0P0ò ÖM\b?|ñ`Æìý¼U}O|s|)ŒЦ@}A9ˆ„¢)`ÆpHôÆ\@’§ÎíÚ`ì§…ŒÕ•¿“sn ¯ç+ ¿wsdøÕMºJáT`€?X¦%}ÌtUW¼áVOŸa\¡ €¥ -@Àñ�e7uø¬° :ðÂÙÓO¡¾FTÒûÇò#÷•‚@ }kÑœå�¡ý©ï§òÿ„'8 ímÙ"ÑZ§cˆí¯*Õf>îÿ¿w·RþaaÈ_ -ü?þÈŒtï§Æ6€¤"ãû?a(mHòDØÐ"¾¬c¼ô¥Á&½Ê†Þ)|OhOb"b„½>`ì` ³Ã€ËÅ8€ ®˜ðà_ð(�ëdRHhðµ$aÐiÃ1éÙ†D;[ý‚öì n%.Œ1…ÌKóóîH^"Õ  À®äɃk#4›½¡À’-Á&MÀ¨æýöz?ì÷z�¿X7„ª_[×@Q ç0ü\¦2„ `)%o×Ö ðÚÙ„W�¾¿‘:Ø*Šv#+hŽFÞ9’5`këe7 뉸×Ù -á‘oîbЬw -÷v`Žƒñ¹>?7_�Ÿ‡€ÿYc¡é1�Ý @ ‹=o�¼å°¬gÍ„÷é¡û¹O<ü vjÊ»—@ÀKBÔKë—„‡ÆÀ¼»=X~wÛhwi�NÛÃÛÅf¾,6=P™-0̺·¶»ù«E/«£±QWÛl¬HÚ�Õ® 7“.Ø+ð忤ìéˆF{óOn©ôF¢PA?X²©h²—mo?Gm¼az“½h€pxy•¶Ê9ºoQc í\Ir9,Æ`M{¹»ÞÔàI‚Kú¥¥6þ¯·»›Ë�¿2©L@l”-B.@3"u]¶ènÞ2ÉÖ/eºÿ<ß¾µ¹}IOäáKÂ}¼8õÝ{ÛYÑò“ý_là䜴$GiÁ/Ä=í>t1˜cÒ§  ß ( šÞ�]‘Þl�ÕBðJ%”�‡å©sW®Ñ ÀNšÇ[`U—Ëëv¬Ÿ˜ÃàFã?€›¿üÕ¯ÞzûgápÖÆƒµ$�ý—�vC—Ý`†£ßNÑÛÁp¯”²â•Fþ$ ’�ÒWŠzÚÛ¯(R¬svãw©°#D¾E v¸ØÞÏŸË -½7Î -Ñ;î ï ïüfOÿzÞÛ;�ÿ�¼ÑÖv')ò úg—Ó{i¶tÜÿsƒ¿ìñz·¨•رWˆ[Ê]0 ûƒýa8üäòe=]j[7Ρê†];­ÿôIDATb¿»Šqäa ú=—då `ÝßÑ[`šÆv& Àwe€ˆ#bZ_§÷¿n÷’9€Ö"ÍJí¯úc€f­?Žþ¿p¯ƒ“KÈC2¶Dõ¿ñ_eoÂÿxŽ÷sXl +à_Ý€¼>¶H÷ Àõs®ž¿YZ®^9VÚ!º"€3ßêô ™¹ñ3€×uÌ=ðàO¸†‹?y`@?Z¹ -à�Hs/§Êù´Â@<­Ø£æ�ˆB©îs–7ÌN½ûcfúz£bü§ ý9n‡ ?®X. XrmÁ; 3 ü”tåR^BNZ0º -pº´h x¤€>®É†§c€®cL ñR蟖‚@F;GÉP¦ÂŒ(ú€@ø?öH }Z|1ÚO"áX©´ÅYÊO¸Ž -ª±Pö%±þ [­€¾d Àš¦–8€kšÔ¢:*Ðé ÛÍÛ`¬Ïµé$îtÜimO[ÙrC‡¯ ñ…›‚Ìu\ÎŒ©`=ZtËuŒŠ%ÉÁ©u,Ý!$t}ÓËw:ùÀgdÚóVo¸Ò�†ÈÅÌ]´T´]ж4ýð‡?ô y¶N8×f.º1å…&ñƒf#ïÿMDu\áAq €´š�šNrVµVÈÖÎØ²ÉCÒþãiÇcæIÑû80á¨|µqY÷/p®ÚEÓ’VE>Xé¾ë¿[¿!&ëÎÅ»{\ÜÒº•µv+øUp®§n§Å–+ZtD¾ üê#) pÞ‚®­ÝÜì‹Þ ½?y€¤×«¹h‰BÉÏÞ¢Ú´—ÄûDD4Ë–•Ñ7íõ×£wă^ªÓ`«AØÎUL(ø1¶Äinw3•EÎ ÁºÐ ïî•O„%±ù ¿xè‚Oš¼3õ™êœ(@Bw4~*ØcôךVîxEþµIcÓ‡,˜¡Ïëß×mw×7³M×ÅôÝÛ¼á~3$a2 *ÇÖ»››ÿêмEäAyêìØàR‘õ @I}äúö{60¤–c”€] -¼ñ 3À À½ À_ýKU§}*õ¬¹%�À}Z®]½*lOXo!<ÚzK;SàA €ØÅk»oDXˆ�ÆãIøì>üâG½=€/ÝÞ1¥?A~1qÛZ1±ëx9)6É×Åÿr4ÀÁ-_rû7¿ùͯwv^qg;ÚCɰQrDZ¹�=Á¿ä,# Ÿ}X\ >0n  `Üà^£†“&¾>}±C@žÂ¥˜¾²N€Ò�<NÓ UÓFz -cb©ÿ‡&¤¨ß„J ›4ÅŠRÀ3wÑ«2¶ÑFýŠú�ÿÅŒƒà<€F͵ €#ÀTPUåw“}Cµ–€ÂFä—mŒv õ Ï'èëFçT'þëÿö>R`]I(®™¯/_p{2Í;µ¡¬‹ix"ã½ÞívC�`¾2»è†Fº¿ä‡ý: C|òG:ÖÝGÑ\èÙÐöÿTP=%溨ƒE²¬Qkç µ᫘Ñ1P £ÖO7žz -|I´¦§„v]šü¸ö î¶þÝêï�vŽç Ýâ ޾5 -F²ø =;p7n×¶¾}¡âÄ">´–‰­é=é6ײl{¹ÈvÌy†JNWåkÙ /¢ôoEßtíù¯gê(I/ßËWi¢?w:P+¿}w$ª7O˳�b¡)@�’JA/e ’Ó“†ÊÜj¼“Kë×}kƒŒèÎðVÍ_¢~bA{çòÝí�Ÿ ;ƒ½—‹ýnwðÊÃÐokcyUÐ.€ ´þ~([Š,-Þ­)Y�êa @�¾²ÒÆ|O+ lÿv�ˆÒ¹Ií€HÁæfƒäÛ—o]>bvyHF -Ù ˆË\IÂsÍ×…ÀSóA €›NY~1a¸~ã¦R0^߃�üþÙ`3?_°\þŠüp–öˆ2qíæ[ �>uæ5ºü/ €’Äírðƒ3¥ Œ“ 0þ°ÝÂâfü÷—ko\»¡Å?ÞeD€3}Ú¿1x þË9MX˜GŠ~€ÿè@åEL‰>èã3ôcè/9µ¤27@Ðÿ¶À¿ý·¿¹ýÎÎ+ôXÚÿ%*J õ©Ä+3R£Ÿ¢y\‚É O°€�ö‰JqCª˜AÊÇQ^úÞ8¶lðÌ3¦¥ Àn©%ìÿÚc¾a2KaœlÂJ‘ap@�1íà‰¸À žIxð5ä þB¢´@3¸¨Ü…0\>Î �•{M �ÓêtÖè·e£µÕZzQ0‚„9™£(±µÚ(:+�xbJÈÕˆJâ¾�òB£Ž˜ö †p¤Çßë|C)½ˆ7]K -µÂèØ¨Ùe]Dž-g}éðýAO¹Ã>±!hWÉ®„ÀÑ`¥‘ Cüµ¶ëbv±7¼óÛ;þþï~wçΞL Ú»�$Èê1P¦^ëÿ›4pÀ¹9´5}¸óЃÖN€K s· T"Tÿ_œè(_]Š�SÏ*ÈÖv`Ÿ–E¾ß û…RtƒÅŽ^ãsîÔ!Pál�²A‡ñ_ì‡W´±²âýz:JG°Ö©­:c>‹ô,wõp{¹ÐšE©[÷>$z®ïÑënž_ô6<„$¶W¯`¯ +|`d[o‹ ïÂGRÓ‘„÷¹áa'ô€Eêõæ†r¯ï’›¤ÛÃbê "Cç§G‚ã -Šlwµ/¶$:t�#”»¤˜?Ùòà*ÀwXýçE%1ÀLÂ}ŸÒVáQ?Tèœdà줘?4Aÿ€u4|Ìú´ÂMø¿²¾]¼ûÁûï¿ÿÁ»|Àú=­îÞõ¬I‡ä½TH� �ÆHÀ�Ó&T3”´À·~j6¸) €;zýõ`¾ñ?WümHh?%¯ï2áêwœ@^?óƒï?uú…¿6t;-/´ñÓ×Î�¦� ä­ë»ç¢ÎýM?”þ„ù#🰠<˜¼yíÚëoˆ �›7„Ü�æ%�ÁËÉê¿'‹ú•{åz¯R8DI|y_¿cÅ]«,ü¿÷ëÁíÛÃ},"ï¼ €°™3˜@fž>-€Šè/9ƒ„Ö�à)ýÓî?¦QgB]bK+þ±^ÂÝI/€©¾7©÷Os€ñ–޶€ €RDž6ô ;©ºª�ät„oH&°IKÑ -Ȥ.>[},à"°nMQK¡ÝÚR� -ñêÒ-1#cG–š&tÜ0`!�lå‘à¤D�¯"Þº^–·—61? ¡Ífýüy†èŽÀøZv3F{ø˜lúÑžNÁ½Kt`4ÖAC²NâÇoô¨f´¹^ïö‚B*BÁ–.¨K¶šõZŽÆI#Àú\Uê¿æ°S‹8ä­¬Y_`D\~h @-E\M,e¤þû)qù¤àSWBï6F2=AèVï×xñ! N‹þ«y¾³âðŒ�VÉ1�ë莨ïlm-nld +Þu ¬ó„¯€%š9˜Dºíù«Žò¡\Øî®z÷jã¥É ‘èj:T:»o=ÿ 8/h­çO}}ÿÕ*C:7ÒXnû³ ˆ!‹›kõµ�-]·ûÍtpáŒ83:+åä•’)rÐÍÞuØûÄWöYl·K7ć$³Öàê ͹ Nœã=Û@�ÿT?é$ä„Jö™T7ÿÐd¡F@›Žý4Al -Èpÿ×'Ÿ¿ûÁGÂ|æ»ݽ{÷£�?þôÓ�ïÞýôã�>fû°DyPµ€Šæ@ÿ± ÀŨQbÒMS€«ç^xü[‚œƒürdxáÌ9÷J�ýŠÁ~zºr•i7q”´»g&îVX›)þšÔsö];ÍêuÂÍ߬ˆ\ýÿ±÷7¿q]iš/J¶%u‘*1:¸]º²JE¥Â¤”Mj„Ša†’f´™š!î¤y -žª�‚trP(¥ªäÄ(Èÿ`‹LÅuó€IÚ,2O29P–Z¶)Í<óŸà®aÝšT÷Üç÷¼kG?$K²�uÎ…ß±?×^{Åææ~ž÷YïZëƒË?Ûfhð¶�ïšýX HgW:ÄsÅi"�ü}c–(À_ìøö쥕ƒúϰþ¿¸øÑêo‰˜¡`f†*£ÿ¥Kz×챞Áƒ§@ê®þ€ÎR `ÝÌä!Œ­ÁÁvol¶ã÷‰  ÝàÔ®(­{¿ÌZ•ŸÕ˜ÚzÌ&^¡KK²Jô }uÈy‘¸àß»Úì|ÙÞáÿŸ[k›ë[› òwš_‘{,)z)ú%oT™ñ_fäç ìÏ.ø§¢}‡p›~’à À®€¼í¢`ŸéêeOéûW¼~ùÌ«E·ÂšØí†tèö Ñ Úè2t=øªJÐ'XÄ�<Íã(øý´¦Ó>¸Ì`»)@ -àë–Ú+�UË!h…O7ØÇ‚¹o}{ÖW²0'ð›Ö�Vë£�WQf>Ì?$`é$^ø¯·‰Y=Óv¦}*üE¿þÓ€à€¤ë`«¬]gÀ €'l¿(ž¸®†� è�Qï²ôˆvY:àÐU}…béÔˆÐe´ÆUº¶wD„@!}Í0XÏɄߒüÇšà_³xS‚&�‹zíæåŠÛÛÛ­· œpQ x¸¯4vìXmD@p™úˆ^¤?�‘Ú[©N9U´2ú -�•£ŽÈ N� þ‘° ÏÃF*ò°½¦|/hÃf�1k”Ÿ.,¼«q2u-h…ýMs½…JYp@rã×5Ǧf[ì ”cM�åS "i;s]s ·F/@‰ÐPŸI@é˜à’ØøêÀ;Í]GAý¥FìÂ�£†;SºÑÏoiX™nkµZ8±´€£M4šö´9"½×!z@LúèaâyjÞmûîü6¬Kh-ê_÷·ÿ¶•_ºÄˆÀY®oÂÿK“n,�Í1\`ûKÀ ±yÈÿI°�œÎÜ íiK½´[y±ñŽ:^~T-€¢…U錞=ú2ÊPCÔAÄCf§”«¶'M)ú'I¢×V+åÆ×3¸ð@ñïZ$pñÂ~Ü ㇩ø.ðã*¥>yœò}éñXॾ>~+$̼@3À(©,Ö„ÿ•¿v_c©  X‰<§ñ/°ÇôOð5�e›®¶šõæéñÑiíâPÓCø7æê�Ó?×Îç²h4P¯7ë£À3…F¹ñÏ—5²árMthÞ8ŠN?!VB1jY9oÖtô‡[½£ º(Ùk+_m5êã§Çé¨�4ºb�¨ð¬^­IA” ýÉôH™ô0ÕϦ•\?çtµÊ’=YmVO&ú;8±ò8½¨E½Z›vhƒ“qb–5�±rÐi-Q�áq†1pôÕ£J5ñvu"»ô'›pè…á†o­29 Mxx³žº‹;KêüŸÄè0ÌÝHò©Š Tèÿo 441wwm…iYÞÿÊòÆÊ¦p_`së>`ã·×íTLxAÿüøóéÆ~>7®žG¸õw`# -½S àW¿¾M½Ë×o‚àÀ¥üý÷]SZ„«¾ß¤ë]¡'àã‡Úê¾ÁWsJ£«¿?H_À·©ë¿röÕÁó×®íêdà~gêFùÇO2(ÇÕógåûžÿÙµÿ½3ýìç?‹hÿ˜±|)mÇÿýDÅSµ�AI¿ë#Pÿ“î@öñÇ¿ýÍz@ 5UÙ¥Iú$Éæä-ìRNœ:¡{/'½W7 ìüyDÿþ€�0@7°y»`ûEðȉ \ßÀJ7‚;žËö*Û�ÿÞxùFó×c¬,ÐtÕXíÿÛ”$ZP‰‘ì”~ó©“ß² h*ðÿâM}ä{ái£U®4?E.”�_¾®7Ÿše[¯ä#Œ%#ü–'™� •fRΚ^Êò¬t,#ÇMp{‘@,Y<ñ@qΧ>j5ªôøÒ¨76GH“�¨ö–«ý] á礑M -"p6g§ä©Î•åÙ*C\»pwñff…ï´ 3˜�zON—´TÌ�xróÙYm«*’½LÝdŒÀË.Ž\)÷š}x˜ƒ£Äè·-U7P6–-Ôhg¨Õ‘ZcÆ;�™w‘Kº¡ÜÚàÏÿÿ×ÿå†Ö;l¼J—·Ã¯Õ‡‡†±Ø«•ׇËÚz{¼YÕááaÁ°v¿^&�^Ú$}�™lôíÞ²õ]YÙžÃ%{ŒæÓô -X­ýe•€:FzVÎ\ôí៟µBǾ.ÈøëÃãÝÑz¹¬‹ª ÓuNVI;ñI´Ÿ+TOOЬL;ÙŽkžŽÁ›Y­”{ËŒµÜÛ×ûg}e]‡ 4†(¸ 鎌Ÿ~Û¿Q—Ñ%⎼>G¯ÉÃÕ×^¯ëÐðkNó§1Äÿ€o;s}�8à°cúìäý™1`¡è%½SÐNþt"ûcèŽÒ!7$€þ«†í+Õ¦—×pý…þ° }kk}óþý­­ûö3^p{ì`O€¤h_,½]�üaZîhA€· -àï~yû W.S½þ3௃üú&]ô\¾~ãV(W öß3¥…Pý1“«μúꡃ¯ž¹b -hÞQÎ šè’4 <'ü—¯^|¼pÂhОºYÆã']…‡?;/Ì`XàÿÒ5ýìgzbìö3 ¼o<>=Fÿ4�ÙŸÔ^:Z›Ì(ÿMë£�VW?ÞX¥#ÀìÃìÙ9^èYãR6)ÎÎêÌœ&æéÛžÄ�ïøüqÿ]É -óvq€…àQ’¿O�œ0·h ¬9ªÇNøß�ñ{žL(k²b-�¤Eô ë�ÿ])vôÀÎ-NªD(I‚„oÑ� VÂMåùÆ'««Ÿ¬¶ÊÕÆÅ™€KA>€ýAǾ1>®¬äðY4ÙÇo7 -¾Ukäå2=㽃_(6:2ˆG–{gì]mž.W3:€Õ~ügjѵAFnP×¶ Ì•K£vzH™„¸O^¶jmêǵ©liµµ´ºú=ÎfS®&ö…uÍÊ„ÞZ÷ïPVT 2³çBå-SÉk“•ÞÊÑÒQ~#æê§êMLßf�p¹JítÿP£Bl´~!ÝíWéשæÜɸ«,ø¤ÙsYùõ4§ÿ“¬1×®[ ›a¬ñ#×vË÷�“«ÝœhÊ寮ÎËó×g>ßÈY»£ä®/Èç§+™~  }äBÄô‡ZÌÞi´V—WW[óCJöaS?çBå‚þNÊ;kÌçMÁnîÿU‡œÕÇÇC©cHÏ�Ü™  ¯¹ê°æ*Èx�繸»*´@”Õ‡Ÿ"„?cRÉk��ääymÈý%(jãÃ5ó¾¹¹fýôhkUH™ÎêÃãM$_¸ÓÚÐ|.·<’5ß®*]6×üI³•-NGõÀŸÆú@opÞðÍŠÐþH(|àcÞÅX{¢O€’ý‰,µ"¦ÆÿhuH?øß?TŸ[Y¡ò“�?"™6µúïOì¢í¶C"4Þ€ú‰~‡ø_€¿–^e( võ}€Ûwóæ�[(tP4슸Mã½sW¨œ¿~»òàúÕûO øÌàñWQ®ŽS_ðs!3¸1017 <÷ÁÕ®¶?qÆ/ømäO“˜Á㤂fÊñÁ99§8¿;MOT»þ?-b21°ÛÏŒG)íùSÛáÊEôþüÎo>úè·¼±±±Ú’óÿá‡9ÿÉ…5¦`3s¹@Î2¾(€¥€8ÿ¦�=œ~'+ÌØo3sÀ×ôØ(Áop„—¿öüý(zW˜°›=œ€®¿ƒÏpZ¼r×ÞÀ+‡îPT ;[PV™Š­ßçß"(P)!ÌÿçÿÄë’ˆïU.÷öž8í -Çxü¹a}øƒZ8àÚs@Ö{€½:b_1f½ýÿá€v¤}ýÊ#å¢eZÓbÅébÞ™œjà4'ª§µ-ÏðôéþÓ½ý§ã<¤Ð’ƒ”¹äyo¯H½¸äG¦ÒŸø¡çJš.ZX¸¸Þ³¾þ¯ð³d=LÉô;uÈ%íø‡RaãT—·ÿ‡šúøÃÓé^& nrqËŸÝb(Ý_·Ðl4rWÙcDü5²wõÍ�Ä›WçØß,S×®Dþg"J@6-³ú@evcJC=ÍÚñ]ZZ­f-%Ô±²Ç ð€Ç�ìê`××Ek'óFk¸(W7Tù†«ï^ÿÏbñJ:Ε•)É«]4ê�Q†Œr‹22ÓM!Äl¬^žœbX¼ÍJ%ºúQ&¾þzÍ<¤1Q›Hu¯Ó©1¦Ÿ‹ìS ë§›bF�fµÎûåiÿ4&g^@Î(‡ÖåßpZi¿?û±¦�÷¡ˆ) -@À¿ÌÀàˆù÷ŸÀ<²˜ø�¥;4Tbx½úûJµ¹»\Ó‡~$j¶¶¶îo%Èßiü=ÖsæƒkçOéËk™ga¼dyÏ&ègÆX»ìŠ$€[ŒC|`àŽ€"àö¯E^={åÆMbŒÿOR®_¿ñ·ûN&¯¾:xüøà�®vûæÆv+×èxp°ÀÑ~VŒú]Óµÿ¢ �àëˆ]þ|pV Ò{‚^�»íÃ}| ñLñÔØÿ/�¿ËýÿöZø=•½taRøçÎG¿ýío?þÝþx ^.Eßn3¡'ºÇûý%pPþ4j -ø—�?�ûOo@2»ÿn JÖ–t@û’°OÏÈ ^9áæû²€tÖ0ð?€¿`]Çh+ØÞR½‚qg¢ì•3iã)…&*SÀ¾�--Qœp À·Ü`›ÿ¦ÿãŠá3¢ V@õÏBÈ -ÌUŽò�OXÝ}÷üoZ !VŽF,ü@o¹Fúò]‚úå�!Êb^ó–÷â1gå~9Ñe]ÌŽëÉ·ªZŒf¹ð:ôî©Õšý›ÔÔtœql«ÆÙÉg!礪V•Ûéþº2ñÈ2*$B3‡0çY©¼¡ÕjY%DZ ~ÒÛ7à_‰éßÄ-¢•­2(¿Q~ƒö´‚:ƒ1 SÖו7²Ë¸Ãév?—é¯1Ñõ¥NÐ¬Ž æÙÀhåg #òî/Q-?^Îï!ïuBòdQ)Ò˜lTŒªDY¤Ð�‹nÖȇ‡šJ‰ëm˜Û¤\N7r@øÇµÚ�¡ Ê<®/ -…},Õ÷h-«ŸÖ¢Þ¬V[3³³3q˜c.LùE`V×IGµïǵèIIäc¤ÖxëtQHE=ÜWÕχ5L4N�f™�Ÿ„?¦ :RžÖÏîd$›4%jdãÃóèÃõ–.Vä»7ܬpû…á¸òvâ_r+;õÀ}1YЊ>Vpþ¡ œ·Cpò?][€ýÇ?‹þ£´æ�@�ÿGßÿ¥ñ,*ÖE�ÿ£þßßûû!Ü{§. Þ´|yCÖÿ¯J0رËî@à–P÷W·o] àJGë€å‰`üïÄþw¦´ZwûýíIŽ>àø«¯?„ŸOµt€ðs+—Ï0Ðí_üýíœÔºúmðßOHø_ÐLH¿û£œ®kqùì ðé/OýÕ)}˜N½)$ì(ü^‰�ðõyàx¾´ÃûÒÊŸÚ_˜üðÎoäþüñ?þîw÷þ`‘0â -@#~˜ÏÍú‹¯û àÄ Ûôã‡�}“0@t€¤è£íÿŽH@P‚`ûDø¡S>Ñà  yþ:ÐÆu­'ø/¬›8�¥³ ê;B º�Þip¢ÐÔ†Ú%àw%€€oKhcRà~‚ÙÿÐK3I5²É¬V½@÷¶•·jï\¨ˆô—,€ƒ}@»Þš_¨�)¹_ùÂòw*ýåsÜMÐCxç�|êŽöh]îšìÎB«åpp!ÂŒ’ÕÞªÑÿß;AjjYžs^m¶Õº39V{GøÆ{>oœ.¿¥w«Ê·*:øŽSruÎÚo|ÓF10_F)D“³“*|C.fQ©ÐÈf~ƒÊü›lªVËÇHæ°I€¿~™8�~£Þwô|È/%vAWªÒ³ž<Õ¬^.ú)hÍÒ¨ÕëÜŸ™¦VÅm.nú3[ãÇ;¬öc߇F^­v#™›ÑéOF×¼ÍñªG,ï Æïì -òÝ€p²Ñ_iȧ>&p�¶5â4ãO¥ß26›�.žöÀ€ÜþØúCfõ×êËT -€¼ºÇQ�ÅáQ\q­‡/&ÂãN‹ò7^�ÞÏQ©ÜŸ‘[pèfKþû%€–"câ¡DT¦ôLôV.Ž€ÿ”¡þŽ€¼Yýa“{M¼eqå¬1÷º{ Ö&¹5eÑ�Í\ÃAÆzc¨¶¹Ãpcz€¾ë‰NW@ñPó£ž' zŽóË™]€¶À[›ó±‚`GúJ}ÞÇð»ßí(AÙ+£¹þ²�²œ=ó§Ö¼»¼¾îfÿÂþµ5ðŸè?¹ÿû×<°·Ë^¸ê^�²bÉ»T–�¿˜j»?€›·oßú¥k~ÝîP àÜåË×oüïÿ ÀÕ·ì �7òíÂýöD×?T ¾zü¸›îR~ŽpÆA€ûï~ùÜ«Zסð÷û½öx [Èÿ¿û“쿜Õíê9$X�CÜ1`½�üüëY öC þ�ìÈ[ÙoZáþÿîøãÿ pGo~^þ;ÌÀ.ëüS ‹^}þ]â ò ð;Â@ÔC°Kt&¬Q˜'Dœ`è?¸@Jª± -@üwÕ¤gVoÚñŠœ| Æÿn …ì‹úÿ$œÔOUñ˜¾e8J¨p%ûÿóü¿w .8:ÿ Aô;ýú¸ÚEg@öB(OO­`ÉH£!¢�ZÈ]�¯pŒ´#*ÊHîrzäLƒ½±1úœ©ô§šÿ° ÌÞòRIÉïúy¬=Å'Sº‘·ÞJÎdA;>�eŸP­¼u©Ú_Η²1|VÊàt])ÑÈÈ…ÚÈXVSÉó8P*û$£À¾#}}=/õ# ÄgfŽ�MVJ.ù[1²ª�þAâÎr›¿�ÑjBxV|ıÕqDtC§�•ò>"äo5O7šµFµìvüÓpN6Ũ;0€,Ó-×OòOñÓMþkæccY}øN^.Oˆ*•ø S߬ÿe½õNJY”%›Ê‡ë"�ºDXaàáÓ qµº -�ÒsÀÉUˆI=ÍFyÆ®|Ǩ�pI¸ÇzžZµÞ~2Ýk]üÿË:ã c.‡ïÁT£ Œ=âgÐ]Bék�»õ×›µ‰áwÄU!“S�÷î9à-4àˆ6'<7 •æÀ»>A -À‰Ú -€ÒÉÌ þD@?u–Òü·üo÷__í�[v ò?mÿ#`ksëþöƒíù;lÛïî=Ösöò(i(àb–Þ¥m`ø×¬ û…×óÀúí[7oº€[ׄü;€›à´'ðdpízê(/,¿’ªÎ¾¯ šXpy"à”cDI®]¦W@Ãéø§­Î´ÿwÑ_!là2| yy‡ýU}|�ñi -à'ç¶R8ÀŸXü+]Èò�„þrÿ…þ¸·±j`Nøßf;«º,b¢%ÀÞ5(À›øûú´ÀJ§ùn ÿ‘€ôý¢üÔ‘ÌN;Ï›‹­çQû¨ã¨cÝ |jlà¹÷°áð§Ðiþj mï:)rþŸþõ*|33êSÇÀÿÿ)˜ -'q ÆÇŽÒL¥|à@éØ=ÈÑ@^ Ø×-ä…LÚݨ\¨õ÷šDøÒ:\‚½dG[:ðŸ�ûÞmˆ)gp‚ñ?¬pã­MS#cµþ¡Ð@ã¾€ü¿ŽRê"žƒç¾€·é×§úN¿àNá\º²øó%¯•(9@Sˆü:™GÓ)~¦Ïp ÆD]Ü N»ÞriGýI°ùnóñÍ~wšnrj¦>J'ÿ…¹ñFfÃo ÷ª¯o@ÐüIÈ?ÏÔ{‚à)Ä€ -¿(n77F­(•öN9ÏÕr‹QŽêþÕ8Þ쎢Ïí)ˆð¾:áêüd�‚Ô�ækud¼Šò®‚èʤP9`" - ¹íÌÁn�¿‰ð�˜\èï£&B€ã—êUÏw¤1ö® -òzÃI×ï*ÈÄd0‘áúRP¢8ðÝ^–¦¾€rÜÿ¤f,€ÃøúšBxÑïf3‚¸­0þeþ‡¥Çó;6 žÚ´Ê•jZj”†İ¿¥Zvwe `�j€MaàÿÖýÛûKgö³ÁžAÜÙº_µ€¿Œðëý,`0ìÆ5P>À/oÐà¯o]¿rù<à/àVÄ -ÀûWoÞºù@I:‘÷]Óõ뀳¯¾úêñèðWÛ.ˆNpu€ÿ.vä­Kyë·ü�ÿøðÿ«ËÄÈ>ì~Öö‘Ü€E€SÔñë§'øw¢Hü|„ÿEoÌ!€UwiöFðܽB»�ðü�ám6Z€¼�÷.ÓVB{SƒàªÐXLótüçÞ¯DÚÚàmRw - Ÿ†x…O°ðM 82@źd~ï2“Ÿòâ©,–8PÑ‹xRNðQ�‡€ŒÚC–å%º¬òU‡'àB�>wøÒV@ÐÁs&'Ëýr eG�½Á˦Ëì¢S£¿NoÔúË œV×0`UZ©¿åN|eî°‚ÜAEa¿HII§ŒÑ¥©Ð+’'ïl½5Sî+Ëá ÓoJ=ö•h°¥Ÿª½þ‘¤¶Ü16ÖéI×ÖŪÜA˜”ïhû§›þ\–ðd—Måòô§èâW0lÜ £å~}nâ5*#Ê-WWÄ@€xæúý¨'Èûkþ=bcLí?¹cc¹py¬‘UXmèOrT”Fí/Ç›h/ôƒ,“.:•�6Tù¬ÍI(•ïõщñÑ ËþĿ鄸?v À˜ðyÅ@â„*€þtúãŒÔ.V1€Þ’þ2"—yý‡uˆHÍñ#‰4ȲŒ>ã†`\˦´�æðÛu€ÃÐqàwn‚ïEçŒþcðÆ£ï(úÿ±"¾3 ¿[àHRÒ+œ|þ$mˆñ‘×O¯2Ä6­—Êå�RŸö”Æ'‰ øO­ÿ!¶·¶&Èßizïµ3ÀTÅ›ó1ø/�œÐÿyúE`¡ü‰Dè´€œ=s^àé£ýÓEoÐ ÐqMçDŒû 2‚¤VW8ƒNCwO¿ðgçôXü÷ªYŸ°ËÄL¢/ï2p=Á¿×Òi4>¡Ë¦Œ®ŒÜénr†'êõFót³ÑÎAüUþkìuk9 �wNWù-”þ¢¿†;oâóã‹BîšûÛmT{ÝÜKéj½Õþc\‹îu7êy.ðnF�ÆÝ(È™x­ÙhŽŽ» Ä–P(‚ÀÌ”ò»˜—=˜¦ëÒÄ�þ¡nØ…™²€¬ï@¿€¬)ü¿DED*G 9$àÏV««Œ*¨Ük?þ±ñ?�FDAê§õæpƒ‚ì®hüN,€œÏ?õ¨§H¤€ýi�SÙ´ -îhP(/¼¨=ñÖŽ´ÁP¿S+õèÒ⿃oõ˜‹‹UÐt´·otn~ Û\Aû_»_`ó>€´ºŸ%Ÿ—…@§)È£~ßÊ´ž—Q;/ ¼8¯Yà¡Ü À9öËÎAè0@(øì�':‚Áö1€«çν:øêqǶG¼~íç¡0äÐ qƒÛ·ÿ1àñÝ8S|vLô�cšØ ]ðƒóƒF°=w(Á€~B~Ëþñè`zŽ|@öïP pt$Cþ@ÀGIèjð¸:¼hsF3jú{ÛMΞ?+ØŒÞø¦Z‰Þøú,S€ˆpqöFèÉ3¯JX¦;ËÑ„å¢ -蘯qHÀ~0¥g]f À:ëCð†Ð¡ð0@)À ©ÿŽâ -‘ˆ‹)€æ ¾™”L0þ' -@XÛȤkË �†ÿ”€”Ž\d³À"¤e£e@ç±J©@,UþBï ð™a„Í& -üÝgHÝô7¦J)à/œ…à¸l@r�`DùˆMÔDÜq`:^0[{CGí¾~@�ôÖhË<¥=¸û: Ÿc°~!Nn¥÷�1—€ÞÅqøYî˜÷xT€ê%5µ¡hÙ;£âþéF¶Í €ÛüÜ ¶Ãä`f«�úxÚAþÂêïÔ³úpó·sóhý ®Ãá•X°»� xÍK®V‘‰‚ûna¦Ba¦<éwòÆÈþ;~¿~¯ ÛÝN~OVxU¿ÐÓ �s”ERx e¤HÆ?àwkÂ1 f"n¯#ëëïëÍî2Ð -îÿÚñëÂÿ-ÁÿööþÍÏœ=³ë£Ù!€A|/ºXÕë1^¼¼B÷3¡­Ü~O¶¤ˆܺý«_ÿêÆ5áÿNÀøëzG #€8¹Ëù“ þ“Ó¿Ó¬œ#À½ýýÈÂå -€xÆ™Ë×nÿÃíWÏŸ¡+à.”OS|º§›?䟀ÿÚøÙÏ~ö�%€Ÿ‰/%TI÷¤°€vÊûyIþzzÄÚGþÔVª\ºóÑoÿðÇ{�‰°íxðåƒöÿ |Œ¦þ�¦çßÄõON¿�¹; @[m Õè)Û' -€§bÅÕ-M¢ðš‡Óð�ëž4€ã‚q9í‰Ñ°)gç¹ú'K%Ò…»"(ŒÅ6(¿ÿÔ ŽRü›¿$\øVÀ~ýwàÿ¿ýÛ¿!ôQÑŽ— Ì -Û…ˆ¥ž¥¾{.­CУ£×Sßaaâ‘øè�p´tA`„æ‚oTˆ Ô«[/õ)FtK°8­œå×�1lÀÍ�QTÞ7Ê‚â²NwJ;§”ÃŽ¼2¸p¡Ú‡l:‹žJ Pzã�7*GÁ4d䯵ûBm ×~¬¶À~r÷u)¢¥:v”©Få…’…Ÿ¯¬õc4ðKY¿9@À‚ÇÑ£h� .í_æØ…ÿÜßþÏMIv˜æw§¦Z�z‹Av„¬m§›¨ËïÍV‡ó $q1€)“€$ÿgùÂG«œÔ8ÍÏÓ�3¸†¢ÐhÐÕ!ù],¿ÒWkô÷¾e-}ÂãÁ�*´w9Þ uºåWÜÁ@oÞ1}µzc"[-ç÷.1üžŠ¥0ü3ÀÂ'(õÓuŸHndyQ 쯙�ˆô£è¡(õ½RÉ[Ãå&cÕEê!FD1ɵ:G—*Ç,y‘i´VpÃÉÅj¾Zw?ÁоSës…?Î?8D€ãir €þ¿"Àh“ÑÛ/m/ÂßõD#ß!þÏÜvÖ5þèïëí+�6 ¤æe=5ÜÚ¢ -Mû€jçGœàø™óŽÐë¶íÿë¹×¿ KxݱPhhà*Íÿ1¨AG¸ 2+å­›û(�ú]fG{?ƒüˆF Ô�ÝWoüœf¿¸MÅÿÙË?w À¹ÁÁ³û)7ýiOïvÔóÓŸ_Ûvl±qí$€kWÅ—¡Nï²ÿÈoôoÍGÛ�NÚò÷ßÁŽ ¬Z¸÷Ç?ÜûÃïö‹  àý¬çåƒ/ƒŒ‚BðP*ÄLøêl§7àäïð°€øÑâvªèŽ0z·ãù±t[- ÈâÐËqÝ­0P­E‚� À#m‡È|^Ûx¸;üƒç=Zý÷8ÿˆÆÿ¶ð�%AQñép€¶û/û7þÇå.ãx Üù;"@ìëé¡áÏ�¾>½p‹õjÒ¶°RoðßÁ€("øÔG1„×�èíýÚ ÀF¸8rñâűL0jÓþÒ€ëQe¾©ëô­CxKpÛ?Àš¹…Ø…Ù Á†%š*¼�gr¬¡‹qUYªÃøA¯\HY¥á�þ£##“,´ƒ~ÿ+•±¨¼H¿åÏ�ôaăÃGLôOü'ƒèú#*¹ã“¥û'‹›š8–osÌžÃÀ°]&�˜X•«9)äÆ�Ö_‡É¯Î7§Wç†sùæÚAfå&Ó`²‘]ê�wÙzûˆ¾ÿ1F3šš(ÓhÓ _:PCsƒKÚ\êZ^šohsj¡ž·ÿvA -ËyöI=û¤9Ê`DàQ•*Bñ”út¤n\¬ƒü´ˆrÀãj#Ye€ˆÆe¨”þCãõq�VÄå *þ'³|ô΂˜‘ -2-ö1Zô -¤"2zÁRuuu¢~îñ�›ó`�E ~°�B8Ò5€>&VÒÇ 0ß%€422öKOäwgt€Ï?„ïþéyèç WB¥¹(àßÚ\Ù\Ùrø¿µiýÿÁöÃ=ÓöC;ü;?gÏÊK>wÙ -€^Œú$ ½<÷XÂìŽ1�@X�‡Žàê�®€¦¯£|�„½à/»lX×lÏG^¿pýUMIpã€ë^XøyR~Í_=Ãøƒ;§Û$ÓÖÒ±ÿø…ò;ðçÿEàç× -0𖇥û"ü—i[Øn -ð¿òIðï<5ÚL‚À¿‡•.\Ê àbûÆ<ÎP^ø7 ê;ƒœÓmAüPX)Â0C© Ç=@' - Àñ®û -žä>Ùõüñd¾‚›î¾�¯hF· >Ág&! ›TøñÖ¾ŽÐ5[ØI9é6øú’€áù (ÒT,0ª®ºþ 0á‚Gäj Š}=Âþ¾5>r´O/(»&ÚH¡¾Ü®3`{Qø�¦n±¼$&úÎYñ!¿c‚`Z¨3‚ ä‡èt` à¨QôÓ"«ô*c!¾2F -@9à¼þmÜu�äNê -’°Ëýhçøß,Ì xi§%�p~‡“[ü3 ]`…ÿÏ_ƒš�þ>v�^füß5Ú:üo“aîãÿomÓp×´ýàì^;wö,ñt®ÔN-¤xÇÆg_Kݱ¢ -àV¡œ;w°à~n\{ÿÌà¹ë¡\£ÏßÇ¿Ìp¯Y„tÏ!¯õ¸Èà:ø!7n_�¶·èX€‘»Ñß“ -ºÛo,Ðþqf@ø¶›È|cR|}4óÀ—ù™ñcfüÿw²#µv @RèŽÅ¶+`¿V€a - Äj&pêÍóç‰@(x@„ÈN¶% øÑ!`Š\óèíÂj¡´QÜ2¯ã4ºOôéiy€àcq¨7Eprb;2ÅhH <"ÀÔ×W _ÙÉÁÿ“§è Úât�€„ Ïim×?ˆÕ–„ÿfrÛõî¿ ü—CÎK tàÀŠ–q¥Ã‡ýÑŸ‰ œtù‘’ÀV¯ìÞ—ðÔC +¼vs€h€Æè{zƒ£Eµ\2A8j·œTöÿÊ^¬ôö¿§“¹Lé}(Žz -‚˜F.D½Ã…þÞ7èMžÅPþ”.JÄn‘«{QN¿+ÄhýPD\þoø•„P ã4+�Î%*jÿfð·ù®béVÓóX±.›š”Ï»0QkµcïmÆ©¼µ$´›™]ú¤±Ø¬®v€lðËclšêwû® -ÿÿF\�¿ßkdsVju*YJµ~ÇÄeèÌ2lçÔ½QZßuD [XXˆ‚´ê­æè'mb?#&0C�A6áÀÅL@¸•g w*Œ-…ðÒŸ¨–5i3˜,FÁ{²2 #gb£ Œ!µ Îñû¼Úš¨ßû(~Vì¸ÓůIrªжœx÷¨¡èÈïJþ©´úµ -€¦¶½Ôû]NVJDþÿÍèØ1€b£óËkkëË›ëîPßMA¿(Àƒ¶"ì±sg´ÏÇ@¯A·ûÃ? -À›s?KÝ1Æ„ÿ“@À®VôË+`F�ˮӞÿ"†{ÍŒúXZ/ò²p VÀBÿ=à?@^U²ë·~Ñ5Q”ý,¡·-¡ý>öÁ×® -ÿÏŸJãÕuY:WöÿKB~fFû€üôàD“€¯~*—ò�VCøã½ÇÄ<¦à?Z zÜÀøßfgÏ¿ -{ãÓ € [oë5)— `�6Šci%9 À^~ØÁ ®aPÆÞ /]èõí3u®VŠlc�!#œ²øÐKžn@N{‘ÿ“ÿߥ|p•V -ü7üÿÛ¿þ« €!ò‚Ðö¨ØÞšém ü—èH“^nFÄ#‡�ôùs(@Eì æ��”¯·7¢<ÀŸšÐ Ù�]{øÈµm•ïï—½0I8µÒ€â ®+cG{@ƒ=b:�³ÂHd¾¡¬}Tiú{+8Ö'& §”Ê3˜ƒrë?ÐOÖ‡;Ñ}}G!ü×¼dzÓ6�(fRë?ðÆÑòQ®V©´ñß7´cq»ŸÛ˜u ©}JŽw}ujòÝpy }ãÈÌìÂÒÂÂl6»º´Qo 3HþŒkÜYÌF_|uý“Mfùi½ÓK¨0*9øßÒwL�O�ú Ñ©Ž¬z¡Vj¥JøÏX¾ì×&�Êþitb)z�ɽö"+ -²´ÔšhŽßÓª`?ŒÙ Éܙߓ¹m6K̘å•r6âg¢t¬Vi Óë²±‚‰¤‚, 7E‰Ò� +>™.æ‚ÌäKK D %jä»±z�Âï¼ÇØ‘¼y@?Æ€#îì†&�8¦è@»÷W´ÏÆÂ«<§ß� ë‡\ÏE=‘€tD?ýý}½/”ês‹ ÿ¿²Lð¿åÀmHÀfTúï²³?:»Ïçøñ³m€—(F‹Àø»-AtÇÎG«»ÛpÎUÄ\AðÁxæ] -À“üCzZäc] ùÜ«ƒÇíÚ÷5ö_/_‡®Û -ÀÍÂ(Çã,�wÇäï´®^ûàê9öÔ. §çÿ•N ô[@ûðµêç%36½ñ§·®V÷îýáüÇÕß>¦€¿*€ƒÆÂø‚›Ý-àS(ia7p¯¯5ûÙ½Q@œ; -  œ üwwý�á:ëСƒñp†`aA -.9p3ð Ð8Ûsr#¿Xb¢†øÄ+”Máÿ[ÿ׆H“)@�€ Ïc�D€’'>¡ÿ­ÿƒÿ€©‹ÁdäÇ.TúûµGJ?(õõöõ¼@”/«D€KùÌGŽö FATá+è -8:6b0kÝCy†ƒŠÖú{ß‚ðõ›ž¯ Ž D>]È}¬Vêí¯¡Hø#ž ³"yaGE],^´+0ŽÖŠ™Ð=­êWE.ÉD€~¾`=¿è%~�}0ya®Hó€—ô‰ñƒä!sãŒÿp)n(–îqçŽ?» »wN4dÛÈ7꣫³ùêÆÆêLžµVï­2’Þ�…ÖÿùÉ'ÿôû¥¥{ùðÜp¾DÿÄ«Ÿ|¼”ßYmµ>!J~™N7³Ú(—�ÕÆF.ºoó–„Ú ¦>úGl5ª�Õ™æ%d€ÒÅJå¢`‚¾ÂQýo¶VáêyþI¾:>±1»°ºñɪ<í…�{-v·–>¡ «KŸfÃsoSŒVëãO>nå « ʨ±ª|”´^®g*ùRþI–ßÑO¹× Ÿe:õiÉEYÍ­D+od�ÓY¾º”-¨ «�Tyø‚ùÖêj^mü^åÚød)»“·6î‰îäù‚ʱqï“OV?m¾Ö_UÁZÚõ�™ý/ÜéÞ神¾ÛÞ¼v¦€èÀ¨Ï¿νæ~Ò¢€tÁþ=¦Uÿ�ß™1Ö À$€á4<:Hi G g 6wwm}�®€¨þ§àþöƒû[¶··4ígçΞÛçsâø�Οm+x €ÌàýnàzRÉ{iþ–[ï-H˜ßý±®³¯œþïTøÒDð†‰†»† œ±Pðµà�Äí²ûûàêÏ®^µÐ�W²tÂ.û‹´dåÕìMë] öýÉ>ßÐzÍ�@rÚãÝ-Þ´Ú|ÐðÔ±ÁÁ¿ (ÅtÌ8¯ÃbÝ2}Q@�~:³[ �ú’¿·\ƒàCT -@:f}@Ö è@q€„ÿÊÈùèÜ@ûÇ(ßX‡ -€J– «À1âóq×�RnO»ßMÇú~Ðدà× €þ€˜8ÏýŒàÈø€«vùäÇ.àú¸È $›q�kb5°\Þ? Ìja¡ò iu’éA£ÒûƒF:ˆ-À2uÝ+;vld¬6åŠo¬îï=:±�’^[NeãLJ¤… ÿØ^ñ±Ã‡�èwôþsý®úŽ -€~_q -º…ªÐ&eü×ýð_V¿gÏc£o3ð~×wtt´Vo6«ogõúøh½^Ïuu$o`µ1=Õțï)73/&2Íkõj]§Õ›½åxx#„€!¹Ñµ¡j¥:TÖ Ÿº^=ÍþCÕry@�2{ëŒÈ�p2Ä#ÃÓÔ¸>͵Çõ�nvd–n͹é·_c0>ô –¡tÕº.1ÚøË:ç(÷ú°¶š�:=1Ê“;ú©–û«Œ=ånçÊsÕ¹lºÑgTZ—£>:N&ʪÎ0Ès\[ÑOåˆVÅ$f¹#ºètsø?QŠiä;2=(òÒûÀmqFáµ€œ9PŽKߎ0¦'À÷1€Þ€® š:yGi³é�ÿë:ó0€ú;2·d †¼Š€ +êãohšš$%fkÈ{ç‚ �Uˆ@j ¢Þ;¯ÆDé ¨2‘V‰œ/”=2ç2µÆ»U ÇdCpêíø4L”&sUc’Ä$&™g ± +u*‰!‚S�xû«sê ÞÀ«¿þijMªªîƒ¥à!`URG^Y½xçBAeìâczLÅî÷Žô�—¬^Ä«A8 —EØbK "QQ'ªÖ©ª’í2 /Î+Ä‘Wï©wNÅ1>tjB‘í¨zH·+p"™�W¨F3Ÿ‰8�õñ*…HðÊü’¼×—pEA¡(€P:A½w€3¡Ô×}þ_~>¦Po4šÍf«ÑhÔµÚÆùùååÅÕÕåå囫7o~œ:?-?X^þÝï–Wv—,'s‹S0˜œ|˜òÏ×†ÏÆP’÷×z½^ï°×;++€Ø|Ç6àÔ`af¡ïüÙÙ ÌÎÖj•Jeá³e‹Ëïì,/./.,ÎO+•C`çA@dc–ŒM D”RÙ«F¿Ñ¹jõ^’Ü3óÕÄD�YË,ó˜ˆRÞ�X²DLÌd,�lúEjcŒILbŒµŽÿØ˜ÔØDE» +ò"PñbD¼X"cX„•ˆˆØIw˜¬Iªå™›ûŸW�IM5æ³66¬mþªÎA¼÷€×àý­ðOSkÌ/€ÉµÇPö�Àêà¢( <â€ÓC¬R‘9@5|œW%Q©‡z�'£¤Ë‘&Ôf�°‹Rþ 0KWÞËzv¤¬NI©Tf+•ÊÌìÌÌLev¦Vû¤R©}0X\~`qyyyqaqaÊ|®Ragç} ·!ÀH)TOBDLL”Œ!e®2W�™€¥ÔZkÊš‘ àI%¢Ÿ\&p†;lK�IJ¢¾%EÑ{&ËlmjÌR|²ÄX»dlÌ&ÈŽŸ3˜�/DÖ$J’1Ìņù=²éXN“!d‰Ù©ê8ü]ðÁûIø—ñŸZcUË.áϽ–28Ž„Ås(ôPb‡(\úiy ÞS�‘Pôç8â9Q&G�.‘ K$J6Z~¨#…”UiÕyx§qØH`¡˜ä+'ªj\bÑnNEºÌÝ.³t!åÇL™+‹s峈 +¼WGñóaÏV�RRÄ[Ø9)õ‡<œˆq¡P�º®f¿ú|DÐhÜm´š­f£~·vwá³öéÅëË««Ë7?þxuõÓtðã›Û%Àƒ¥ù¹Å©$ù:þÇÃÁ0?î÷zý~¯wh×òƒx+üÓÔZc~ѯJEòpÑÓì„�`Õ;ñŠ â ñP±�²WUU/¢P-Ù} +•TËå#!r"tUTÍeU=öPab(iô]QeuŽ1.«hWY‘’ ++À,IŸbMd*JäPQ—� Âj»€�>B®ôvŽœ@\á3 œ‹ü?z÷6àϽ| ¬ÔWVš+�z£QkÔ*íW¯__\]^¾¹úñÍÍøÿñÇÛÚØ1¸ÿŽ `Ó€ƒ^¯ßïöW{‘”ä½½<Ï÷ööŽööòãã ìÇ  ¥ ôJèçƒ<_•ÕÕÕÕµë +àíàv ,f?¹îÌ,ÌÎTj3•J¥Vùä#àþup*ˆkkÓYÀî ˜¢p3�‰Xé3Ù4Q¦4)»€sɽ{IbLj¬µD¥KHÊÉ œ9Äp)v38M4º '’Øibb!J ,ÌÌ]æÀ‚„Ë䃈™Å0 Ybá Þ!JMj §æ^R™››«Tæ(Ü(±–ÄZ%f?™û{u>„ðÖퟦ֚%óË*Z”¶@Ê çbÁ¯âÞ)�ƒ÷A�¹,çHl€ÄÕÚÕ¸bpÄ"‚X�9È(ˆÈX‘H¡r£WUDH¹KG^¼BpP… +©F½eU…sÆÒU銩ucˆH„EºL†!ŠLe‹0ì!^#•W­:: |Ißõ޳Âp°˜,ƒ�DÑ_Àän½Ñh4š�•F½V«UÚ¯.ÎÏ/..®ÞüøÓO?ýô3°¼ü`q~nñþõ–ÜqTœ:½^¿_røòýÞ~žïåy?Ïóü ·Aà(‡Ããáðx˜ïåÃá0· ‡ÏóµáÓhà“#ÈêÚ� à›GïëÄ&`Ì*³•Jå“Ù™XÌÎ~2;óIe¶öÙ‡ Nýß.߇å²O˜‚€�÷A€j¢$dU!–ÉÚÄØÔšjI˜«Þ‹½µÖ¦ñšæX§ó8sÊ`)®Lt¿ÓÈ]“¤Kd­³…�¤¤P×eá.k·ë 1"ûE˜IÒ8ަ=ˆw˜ÈXcؘ{e0g,Y“[eKÖ +ÙLJN¼w¡ BPu‘u›šéðŸLH>�8 ìê@bS@2•¿¬ƒËPöÿ ªÖ*DT•*B gõH€£8€XkUâÜM¹Ëu…HíªB”Y5e�æ ÊââgU zÇP2ªL,^I D$J¤Ò…0­u»bÄ ‹%Š{ ""¤;€–Þ_â�=r%ÌqT‡GÀ‹w„Dœ€ðC—È~åËG ‚”ñߨ7îÖ>kŸ¾>¿¸º¼zsõÓO?]ýË�s³¶¼¼| òè»}µ~'p¸_rxöóü Ï÷�Žóã½Ã^ï ÀQ¼ý��‡Ã<�MÀkè Ÿ‡%h䫽ÕUY�Åàôìôd´õÍ7O¾Þ�Î^�ŸŸw ¥(èç�zãNmf6}*×í¿ÊìÌÌÌÂÂÌììÌÂB­ö±ÀŒKöŠºwBÀÍ,àúªc㘉º€¥ÆÞ«Vç §åÓUÍ\5)ãßXkÉ�¤K"´›AÙÝq Pp\šg†Äl7Qfk»ÜÕ®w-;ï9¡ -Êlž˜‰‰É;¶"œ�%å"66Mɘ{Ie<$3WM’*ÙØ‘tÝèuå"íG�óSss+ü³L~a + *@†h +^Qw�®E4²%ëŽþ»@j�èØbDDÈ.y[k…YôH¡hÔËfÑÈĘIb§�X CœBºÖ8€¬ºÔ%‹s·kÉÒ*I¢ÑOLÆ›‰† auH»Pn.Hi J + 2ÎàÀà¿Dàn}¥ÑXi6�•F½Q«lœ½~}ùæêêÍ›Ÿ~ººúqšðãâmX¬Î/.�};ãp0NŠ€^¯ßïíì÷zý£½Þ^~pp�çùqlëõ{G{G{Gù þÿQûg8Ì×’µá0Ï�K8.ã?ï­õz«½³³³ÑÙÙhtvöêìlTî��½:uî.Ôjµz³õùçÍ•F£Q_i4š­æl¥òïþ]¥Lfffff*µZ¥²P«ÍTffþÕP6É §Q¡â6ì¾ ”�±!‘Iææª‰‰-€Jµ€ÄcScSSúÎQWˆCá;pÙŽ0ðw€°á,rË™ˆ”íZ"QòÑ¦Ž½/¼Wa"ÇZXêÆäŸ™‰º¦l Qæ˜m¤ß˜4%c’{•rP¥4©V«sÖK]•°ê�¨¼sÎï¯o“š45ãðGöý÷Ù/KJÝvD>.ýC%‹+»Q¥ÿèÈe@CÅúŒ%Šú€ `ü­R¤ëG®¾ ‚¸‰·ÊÌÈ@,ÂPf&ŒU…I!ÂìY-çó"^�˜�c‹0‘XR™XÙ®ˆY]í‚âº!Çø¦RËcU!âͪ—,®5•z`B¾ÔŠoÄdÈð‘磚€�ÆJäÕïÖ*íW¯/.¯®®ÞüxõÓÕÕ›S€Å›QðY^¬Vï��{—ÆCÀ1 òý^¿ßëïç½ÞAÞ;<Ê£X>ÈóýÃ^ž÷z½ýÞa>Èù`�bêðÇ|-é ‡ùñ`ø|`RPôÖzkgå�ŸŸ_œ}÷Íööööèäl4uê³3 õæÃæç�f½Ñh¬¬4šív£Öøí¤ 03S©Tffg>™ýlv¦R©Ôfî/Þ�C¿[�û‹o3ùeáÔcìxó^ˆs#QâÜf!1IµR¹'vnœPT“¹$¹g¬I­µ–­Ä[-+Šeìî:€ß &zÔ +wSbí&±À¬]/Ê)«——ŽIXi0*Ì~H7¨1»Ž™hÌ”CIr¯Z™L¬5ÕJ¥{ìbNœóΩ >xu1ü»ÝÔ¤±{ÿ<¿´ xk]´ù‚CæÀ ™ "Ú]µšeÑbƒã2 €U‘1ÛÆ’ñÊSd 3 â˜D…H™ 4îãt¢{yJãM[Èj€DËNfV"”ë–Hd•%†I$ù [ˆ“PT•¤LaT¢§ààÄ"®ô(ã.¾�¿¸Þh4VZÍæÊÊJãn­VÛ<}yqùæÍ›«¯þåÇŸnìÜŸ.„————çª×ÀÒbÉ·üwØïöúýÞáÁA¯7Õ"Ü;<<Ü;èõz‡×4 ã<χÃgùZÒæƒ<>ö†O�‡ƒ<σ<Ïû½µ^/†ÿ«óWççWç£ï¾}·ýb4�F�úÌÌÂB½Ùn6+Õh4šÍ•fks£Ýyøù�ÊŒÏg•Êgµ™OÞ? X^¼¿¸¸|ÿþ­×Û=€Je®Raæ—…S‡C"»wXE�ç®]‰tÉT+•ª3Žÿ¹93W½—ÙêLdXI@üàœÛÙ-v2v�IÈD¡y°0uY’®t-uY4–ù䜳8-¬ ³‰8¡TÁ*Ñ÷–D;`Jɤd’d•$%›T+s‰I—XX˽xàÔ‡0éüw»&MãBÜ8ü¿�ðKvÊíöc3b«\ ŽÆ«ÂdÙìûï³LJol†A„dÕ’-™„ âÆ .£5e"“‰0+@FéLU�ˆ"±^P¢ÔÈÎÎC� &Ѹ´CÖÚ4r8’.±°Hpd#þ0sš–tpÀ™¸Ú¯e€íbÉ@��Aö=„3‡__¸�𬬬·šÍV«q·¶°°qv~yyõæòòÍO?þô/ÿr+¸µWÀýh•³4âKÐü×ï÷ûýÞa~Ð;œ€ƒýÃ^~pxØë]ãB>@©*\–ƒ<ÏóÁ`P®Gy²³Ñ«óóó«Ë³Ñèd´µõÝh4uj•ÊìB½ÙnÖë1h6×Û�'�oÚ­Æìììl­V¯}6�ÓüÀ…™™ÙwžåÅåÅ¥åååÅÛ¯ïÊxx; Ø�Îð0Qe‚˜­½7W©’ffB,LÌ\’Œ¯Q6d ‰º¢úßN`X‚°ìÔªÜUq]£„nWˆ„”Y)ŽØ‰¸ë˜CHµ Uî’pf…Œ¨Švø'"!ËL”c3•*±š˜‘�B”Äé÷ÁMÂ?µ&MÍ8ùßÍ®à—ìÂ`˜¸$'qÖ餥@†�DÝ�”±ÃqÑžc¼PÜ…Š�BÈYf¦n± õ`sFi’Xâ¸ôŸZŽ +"Ua€H˜¹BBIÙ1aËàl'l´íz§Â +µ¶ÜëÑ +-à lŒ%.=Œ \š( +Å]G‚E¡CŒÈùK™ƒ®¬4›�Vk¥Þ¸[«mž_œ_^^¾¹¼zóã�?Ý€¥åëG€ùÅÅ¥åÅÒ+ëæ Ïóü°×ë÷ûý^??:Ü¿þûáÞþaï`ïð°wX +úý~¤ÿŸå½¥ÞŸ†ùòAÌÊúb\¼:?¿úéjôÝÉÉÉh{{4�:wf* w>o6ÿª^¯×WVVVZ›O¾ÝúæÉ£�Ï›�•••õ�æLåªT*•™ÚÌl¥R™­U*•Êlmv¶ö®G©0¸~}0¿,œ‹ªïz &Y€ˆïªXU¡.‰�¥äÞ=ƒà“ Ü3sÕ$æÿDl¬5dS˶,ÜW Á{u2çbÅ…s*"N”SÕ.uE˜ÈƒU4*w¹>Rç´å²¹\ÑM‰…‰É¦ä˜ˆ8MS›$Õ¹¹¹jùiq·€nWˆ8@TŽŠ‚ +?nýu»d§kÿÝòfú>˲¬\¸ÿù“be�š3‚ ã& Cܪ•Øo·ÎACÉ_`!Y"ˆj¡â}¡ÜnpŽ»’E'±8%N¬‘Xk'Û@Ì A—˜„É’�µÌÖ¥`À‘0ÅiJLå-ï‚z8 +�¯ä�c v‹ŒTŒá²+aÒ±¬w©äI|ü¢ˆˆ dɪ:þ‰ˆ°ó«ÏG©7[�F³Ùl6êå2Ðë7——o.ßütu£¸Z\\^¼~½_ÀâââRäǾÿy<ìçy¯w4¾éÃü`ÿ ÌþPÆ>æÇù`8ì-õž ó|Üxœ�FçWW'£Ñèäd´5:�:wg* Ÿ·ÚÍÏ#´Ú�·:�'Omc Î…"x/à„Õû—¬»pX²L²ãDvw…H“”LJ)ªŽ½y”LÄ–ÆÛþe) .8�ˆ!&`G !]뜈:„�¹àº»qPQˆE¡]5†¬%bq€wA­%&ÏaaÉ1+|ÐP„àÔc»¿ú|T°ÕZi­4ÍF£Q«¬¿:¿º¸¸¸¼|óæêÍ›«›ÀâýÅë×ÅûËó•dz.p;üùþáao¿€¼7‰ÿü8/oýý~¯—ó|˜çÃá`˜ùp˜/õâ@ñyÞ+§Šù`PÀ îŽFg£ÑùùùÉÉÉéÉÉ(fõJ¥V«Þl5›õWõÆÊÊúã­N{ãÑ£G­Öz»½ÙyÜél}ÝétÚµÚõŽàìLYÄÁøµ2÷~–——–"¸|×�Þ\¶Ë$àüÝîîn}a2d—Ò”¬IÈ+L|oj®87W�OªI™›„, [€£2}ìr¥Dd»êÓHã�9«�M)MmJÖ&QK”Ad­!klì+Œ¯=”k·©JɲÖZ“ÞKLRM’dnÿs)q:7—$† ¥&!!R0b矉ŒI¯oÿÝþåío³,ÓŸÄ;(DÕ¹—êcd¼§ÇDLÆkpxTâ¸=�ú¢!ˆðÞipÔ âPœ22еp Î2Çœ9&¢D!,,^Õ Ƥ©%²6µÆØ¸s%¡”QäO,¼s)©Æ=+²p™sN%òˆœÝuNŠ,À -)/!Àû âm”¡qáADÄÞ#ªðÎ9£¾ø‹Øƒ7+ÍFse¥ÑXYiÔ*í“‹‹ËË‹ËË7o~üñÇ›D wÀüû Nîú‡½Þ~ÿ0ÀÁ8ÿ ‡ùþäDZ`??·ƒá ‡Ë½gÇùñ°dÊA2^¯œ�^½:ù/'§§'£íïJXX¨^ÿ¼õeó¯þj¥ÙÚüöÛöÃv»ýèQ»Õlm´Û�Nçñ×[[_oušÍf³YŸßÿq3bvv¦2~�Y˜�‰›ÿÑötqùúíòòâ|2ß‚7±˜@ÀŸÿ¼»»ËD˜X¬e!K”""3Õ¹ù$IªÆXK–Lj- ÛØDdaGÂi°³Qé;åS  ¥ñ©­!�·–Œ%c­µ¶Kd–h5 +Õ¤l‰…tJ¯ßZJÒÔL¯U*s†£l�PJL)‘M˧&&kìTí¿;Õ›‚]ú¥]@ÔG‡\8eñÆ*Àp!ø¢(‚§Â›—>\Õ«Hœ+‚ ¨ƒzâÀà.t—v ´ª˜12bÛMLDJLHŒªxuâ�(”¼3N} b�Ý|±žTñ'¯.ê÷;Ö83¤à2f C†]8°õðqp"JF=œwÞW@¼g„H|xœzShö—€»õ•F«Õh®4›ÍF½¶Ð>{}ùúòòòêÍå�?ýxƒðæ¦7Îâr€…÷fyž÷{û˜$ƒá ïO`z…(@þ ÷lŠ Bƒ¼\5�®!`ôêä¿üóÙéÉh´›€ŸÔîÔëõzs½Ýl®4Û�·[­‡>ÚxØl®on´Û_mv:[[[£[�·¶¶Zãà½ëÀ‹Ë‹‹Ë˱°¼¼X¾]^\œŸ¿p2 ¸Â$²ºQÃ6*D˜¹©  ZML’Xc‰,,qJ¢– ›EP]f‘¸!¤Àn¤²H¶CDÖ +—èÀ"Ð%±qé=µ««kU ] +%HT4Êf2SJUkL’Ü«^—Ua‹(M»$q0îÜK”:²7Âÿûëä?Í~á€bZ!NYœ±àã¥Ð™Â;ï½×Ò« (¼Ç.y¨¨SÉ.«Îíº ; YΘYwÁ Çl»‰•Hè‹<�,1¢>¨ +TªÖk¹b¡¤±?"b™âl¹:Y(ÙLE\‘… Êœ°»±Û�98ÇjØA=kœbª#säƒsΩCðꉢ(©�¨ƒqÎÿúóq<€ÿu¥Ùª7›­•»µÏÚgç¯//Ê}À[<€Ûç—@¯ßï÷¯Ëÿ|0 ‡ƒƒÞޝOžóÕþ³ØÜ€Áp8Oâ BÀÙÉùç>9�¶F£³Î�Êgµ…Ú�zýó/Ûí/›íÎãÍæz«õðáÃ�‡­æúÆF{ýoov:�·¶¶¾þzkk{£Q¯ß©ý¶V�Šh�ñÛñ¹¿¼x?Ö‹‹“ñßòòâòââÂÂmÀ» àðz"—…„ÁÈÏ’¬t­(Y;•ÌcMb(%¢Œˆ¬ RVdÌ~ƒUžøäíd…ˆ02uÉ +“!Q!ˆ3ÊTNÇD3K"]‘B¤Q1q´]€5&I’±@%1Ä0Óªµ*dåSû%%êÚÉàowœý—·:É>ÔìŠ)Uðê ØM�ϱ¯ZxˆŸ*BüÿT\ˆõ3‚¬¬êIC .‹BI˜XJ‹¶Hâ�H ,”Y#® �ªñ$Ö9'âÕQ $…H”;ÿ[çp™ór&deâ–ŸÀ�qâJ�,ÅÜÅ9 x§>x/!ŠÈ0pî×gá\o¬4­f£Ñl6îÖ*ëg¯Ï/////ßüôæê¦"ØÕ[Òx?SŒÇz½^¿ßßïÝøëá0Ï{yž÷ûûûû×2"ƒa> †Ãaχ"Ð`�"Íðäääääôttz:��mŸüó?ŸžœŒFÛ£ÓN­RY¨-,Ü©×WÖÕÞì´××[­Vûá£�‡­õöWív»Ý~ô¨Óé|ýuçñÖÖ‹o7Úív{½Ýj¾û,Þ�åÎÒýû‹‹÷ïß_¼?š¼ äÈu Ó�…R|ž™±JV…¬x‘n·+4ŪV數IŒ!K” ‘…*;§Ž P ð^Ó#-2Å©§x‡Ä΄¬0[ò¢¢ðF)]"b&!ÎÀUõ§œ*Å‘93QbS“$ÕdœÌ¥&²�.Y‘®'Ä*�`”$µÓ៽#ü³Ÿµ÷ÕkL‘PtSƒ‹ ;Á8x¨/}3O¬ +Ð*„Ù.Ž(v¾w` LQi/ªñ [¾Gå@Á +"”ÿ—æT%�z�„™XÉ8V!X"ˆÄ'œe»¸Ë„La3±($Ë2—uÕP\LR@XaV½Š‹~‘*ÞYxd +§å—`<Ü_"¨×­f³¹€wã2ÐÅÕåååÕÕå�—W7�ÇÕÿøí‡ :yìN5ŽÃá ïõóü ?ŠâßÇ“e€áàÃápøl8<ÎèO5‡£“xûŸœ�F¯Î¶OþùŸONF'£íÈX¨Õjwêõ¿úòÿøúñWí/Û_¶Z­‡76¶Ú››íöW±øúëÇ�¿ÞÚz±ÕÙüª½Ùél¶ß}'=�ûå»÷'ß‚dñ­ àÝ0žBv]é@…YR&¡Œ��˜dn2¨&I€ñˆÊB•<UÁK£Ê +r*ðº³ë ݸhÊLÖv‰ºä#£��ñd­�’öØ…X¡ÒU/ä",qQØrÕ¦Æ$Õ{Õ¹Œeg;ÌBFˆ„¼h…À8ºþãëßÚ”¯Ã¼³û³àÊ-¾È˜ËÒ%pÃ=ƒ +ã¥'K~d!¸.•þ ŽºŽ¹ôõ&ÈF&²”¾ÜLóŽ‹�;k"mŸK¶oªcú%ƚĎ ”ˆ%«c±™ÓriY8e0 2D¨Ìκš�c�Ó’qìþÖ�Sñ>Æâ48àÚêËÁ”Ãä_w~½3P£Ñh¶Z­õõV«^oÔj¯Î_¿~}uyuùæÍÕ­àgK€…wg¥•Ožçý¼ß/‹€á ïåGGy~�ï óÉã8/©DÃáð:Æád +pr2:99�ÎNFgg/NÎNOFq°Y«|6S[¨-ÔëÍõη�/›Íæzóa³Õn·›­v»½Ùn·Û�:_ýõÖ×�o·¶¶¾íl¶Ûí¯:�¿~÷Yœ†»[ð–(h¹„þþ,@! *¥™v\´©q$Ëœ‡¹qüß«s��“(Y§" À…×4�ê³BKC:;!‚jÆ¡\9yi@d™]ɸØkP”|>±êàˆ”ˆ8s,÷¬5ÆT“qpÎÄÙvAÈI0PM%ÿß_ßþ7Â_”>È0 +EüeZËckP(TT¼)Äg +Hµ–Ià2ŽjûêÔv3%•ø}ç®dÁ â(1²ÃDÕÈÙ�übPBÄ–Ç.Bâ’Ò›+rˆ‰„ŒˆQÊúªŠXW"º wEÕ@™»"pˆÙHB*"Þ Åz-,Å%ƒÒ•ˆ”aDK.`üòb úk¿¾¸ÛXi6[ÍV«ÕjÄ&àåë‹Ë×—W—o.¯.¯Þß\\\\ü´2¿¸ðK`¿|/öÃáQžçGyžå×BbÃ< Ãáp˜†ÃçÃýáÓá ï÷óáNâ�œžœž�ŒFgg£ÑÉèÅ‹£ÎÝÏj³wêwë+Í/¿üêÿhùes½Ùl5[íV«Ùjollnnv6u:[ãómg³ÝÞè<Þ½óÔë‹“«q +î/.,¼Ý4MA€Œ!àhâå¾ã=$£’¼O 80 àXH¢HõÞ\õ^šRjª6¥È‹a¬ˆ + Dà +ç~°*"uYæqR�u‰âSY` ¤Žˆ²Ì‘h¶[ìÂP,9A xoË1 �HÆ,UJS“$¨FÂ3»ò³&Ö, )ˆØÝÝÅTòoí­ðWKÌ&Î@1 +k½s.óÎyç�JÀŸÓÂ…Œ2æÿG©Ý˜ø¼Ún–±t3H¤ø²ÐØCXY‘AvHæiâÆ–D)!a-]HXàaì3G’³M”â. Ä)Ya@Ìb£ &e88Gl¬v£g!A÷wv5¶úQúCÀù "ÈbÅáÄx‰¥Ï¯:Ål5×Ûë­öz«Q¯}Ö>;õúâòâòòêÍ­øæ*ó‹ ‹‹Q_ìvø_@?Ïó~ïp?��<ŽG‚ýÃü†Q  †ÃA>ŸúçQd8˜€ÑÉÉÉèdtr2ÅÍÀÓÓ/^Œ:¿���©Ý©¯4›Íæz»ýeûËf³ÙŠ×non|Õét:�Γ­ÑÖ‹ÑÖãÇß~»ÙyÔy²õâô]§V«×oÌ=®s€…ù·`âßöNð9àÂ`#sÄp™Ë„]Èœ0qu\T“ÙĤÄÄ·õ©:�öwøÇàÕ°:&v%�¶PP&" çˆ9.·gáû���-4¥b7c Û-B0V'.’Ñ=y@Ëñt ¢{KÆš©@•,w™x's–9’ï³".£@,¹þßO:ÿ;|3üãÚüÏMCÉ–W€áÿÉ$]xŸ98 (X½Oƒ A£ â,�AAYb�®e€bÆ 8R@a¹¼«Á4ùNLÑuÀQbY,‹D +°0»„Y‹ebfk-“±)19²ÂÄQ-æû°ƒ-D(Í€ lJe‰!p—Š+W %@ààRq!°Dãr”�‹wį;¿>¨7Íöz»ÕZo5õZ¥}úêõëÿßåÅ««ËË7?[Ü��,.Ì/Ì/Þ€^>Leý~ž÷÷{‡ûù ^íÒðQ/Nvˆ†" Ê)Àp�—PBÅh4�ŒF§§''%àôtôâÅ‹£N}¦V»s§¾²²²²Òl¶Ûë_~ùå—ÍV³Ùl>lµ±±ÙéDx²µµµµõ¸ó¸³ÙyÔÙÚ�¼ãÔîÖ§ ¼üï/.¾ üøþľïNæ%ëxÇ1e.s™À¹�t£*ð½j51&åÔ¤Ör\fµLP¼²Â‘sÿøgï�óq©$SuØU"Ç;èR驊�98OA-à‹¬(vËL±eXÕèjÍ$™'JÈcS�ëX 6ш�P Ånæ � +µTL-¯X›òíð·‘®ð�³•4˜#”2/QÎ×E ì,\ö\¶3…�%apÙðca°¥ @Wbêî$J.Š0‰²ìB’°�e :HÀI—…⊴“°$–"c³2DdÁBàÈ×§ÒÆƒa°qÛ)ÄvÀ†&°pÆ@aWW£ 9X P……f!f 7… ‹ÿËì4­özk£Ýj6µÚæùë‹‹×ç—¯/.®~ºx« øV 0¿¸˜Ì߀~žóá ú‡½H÷ä“u¡£<Ïógå àx ùqÙïú|pxò<Ï/â9=•+£8|ñ¢S«Ôjwjµ»õú_ÕëÍ/ÛÍæ—ë[ÍÏ›ÍæÃöæ£66:�'�;�·¾~ÜÙÜüêQg{töŽS¯-ÔëõúݲÀYˆÍŽ…ØôHÞ.¼kÈ”MìÛ ê¸ð.`Wˆ\±#báÃqQ8x¹Îk }ùA,^¬ì�É…P( +õÿýåKM½W)àÄg\ø,ð.ˆ bá8.ŠÝ¥Â +dYá±Ø;xʵW¡Â{/êUHþ”¢Ô˜ÄŒmªd¡DÈ ŸR!x@)8‹ À.¥¼s3ü£-¨%û!Q;ë£ HÚtŽŒf1Ǡʲê�GE ÆÅܸוfì”!:û`‡,3ÁÆ‹ž8â]†nB2ö°ñ¾ï–ªËÑŒH¢ñ +á˜w&8îë0ØÚHŽbKD“´Üø‰ˆÔ�p$pÐÌÐNy»«@¡©" qñ) +а™ò ÿ7^j®¯·[ív«Ýj6ê›g¯^_\¼:?ýúüõÅÕùô™Žý…q 0¿¸°0Ÿ,.,ÌÏ߀ÁêÁ0šý”°ßëçñú�pTbÀpøìÙ³áÔ‰¿á`øl +J¹ñ<�bàdôÝèÅØ!h4½xñ¢S[ˆp·þWõúÊ—ífóË/Û­f³Õl>l·766:�ÍNçQ,:�¿~ü¸Óé|½uz~~vz:~9;;=;;=­×kµz½~÷îÝ…XåLÀÂüüü§Ÿ~úx?1r~'W`7x'A„ðwðDÈœÀã‹Â±•Î`Õ{ÑJÆ$F˜È‰u.s…cÕ8K§AÒàÕ‡B ÁÁ{Þ"ìî(2çùsQÁÛBm¶v²¿-²°ØŠ +ï)„ŸÒ%&�%J(µÆÚ¤Z:UMš1‘¸!ÞAœÈŸC(ÄŸg³l÷ºö¿þcS@…võç^Æ=€ñ÷БÑÌI©¬A°’9á±¹³KÄÓ˜â +Od@1“eæè¯7xy‡FRB‚5Ñ�XŠâ�DÌÉØupìb &Y)½J¬ÇR‚Ç‚ï†É’’ìÄÁÔ�„Y††„œ–¢NÄAœ%øú¥Æ!6¿^œýàîÝÆz»Õn¯·Ûív«Y>??õêüüââòòÕù«ës^^å%xq!ÀüÂ|²pöúy¾šóþ†ý~¿�® /ç€ÃgüãoÀ`0�óá³çƒýáp�çûý|˜—p:Žÿí£ÑI9ŒUÀæo?©Õîܩݽ{7Ò6~ù°Ýü¼Ùl¶ÚíöÆf§ÓÙhw=êl>þzkkkëñ“NçÛÑ«óóÑNOOÏNÏNOëõzm¡V¯ß½[¯Í¿ã|:Å‘�‡È{ïýø—WÞÁ.€ +§Š�‘2‡ ÞÁ¹Rq£R©&U3' ™$1_¤6M ïìãdÔZ"Z-ݯœzï^f\x�ÖLNãâ°÷0à¬(\aÿ{ŠKý(‰wvv‹±k§‰Ë¼c›®{sI™eÒe±¿à‚S¶8Û-Þþq3ŸTá>쥷ÊLÊ‘ÑqVµKIŒƒX¢ni JlÒ4µ4½2`–JÕSKiüÂâ%žÆõ "æî˜TNY…“Xj—ýÎù‰(‘MÓr�‹¦\y©dósJD”[[®1rœ%0ØX²L°0;-owï@ ,²Ä’ ­–r"BB†RúõðD ÆJ«Õn¯oll´Ûë­æÆöÖ‹­o·¾}±µ5ÚzñbkúL +Œ›€ ó óóóÉüÂâô{·  ÿÐï÷�Ê €˜ Ÿ={öt8,³€qÿo˜Ÿ=/)Aý~>ge0ÚÞþn4:99==�5ÀéèÅFmvv¡V»[»[«×�•õV³ÙŒ,ŸV{½Ý~ô¨³ÑÙÜÜÜüêÑW�·F£ÑÖ·ßnv:ßýŸççggggg§ggÿ<ÎÿÇP¿[¯Õ>}Ç©Ü>D�)9—i K6ó^¤€*ŠÐ�ö¶65)˜­)%ÁæªUS%c‰£ ¥d˜¢£K·*Ñ›¬µpT�4x!0ˆÒÔ”;ÄL–‹–"Es´'&a”Ž÷“ °Ö&Æ$ɽ1ÐÝ##$NU»8¦ÔštgÜB‹O kííÚ?^ÿeøûXÞ3½ë…ED,ƃ8a‚X“÷J%C2¥!JV(n@ò8–­¥iËD)3Á:�„ÕY¢D˨�–¼œÎ�“Šèfk’¸’m#§ÆÜ°47Œ­M­aÀݸo�Ä%¦h¢@$dì8¶¥T[N8µcda² k옩økÎG1›Íf³ÕÞìt6Ö›Íõõf£q·Þ¨7VÍVû«éǸÛ?€…¹ÊüÂüâüüüüÂÂüûà0@ž÷ûGyÙè»ÎŽò?þñÙÿøÇqÐÃk8ƒ¼ßÜ€Û/Fß�NJRðÉht:zÑ®U*µ……Zín½Þh¬4Kh·šÍÖz«Ýnoll<ÚüªÓùªÓùz4�^|ÛÙìl}÷êüü¿Ý<�útP«ÍÝ>•Ê;€1Φôœ®!€­ÐKRhQIššÔq¶ÃišÒ½±+È\’$&µ&µ¶\<'+ÌÑN†™âGb[‘"u.ˆˆí’¦ÖX˲Åø¦”@©MY˜T-#ªd�É +@ÂÊ(‘ҸןܫV«s•¹Ê\¥Jbêv»«¤)KB;YÆŒ8²–ý‹Þ +ÿzï£3îÏŸqd�'m©d`޽Ð4@`‰™½²²Æ;U„à +ïÈ;ø`=º]/fˆXñl„UI@ì\ð^¼Ú´-¥4µ–ÒÔZNL‰1å’§†˜4Ù@ÅG¯%v**¢Ý¨‹BÌJ*BâD„8x8ç|‘’IÆB)¥D c£¤1Û”Hf£Aá•XÒ"x�PüE–�š+­Öz«½¹ùpÍF½´ ¾[kܤÈ.,ÜD€ù¹J ÿòôûýþažçy¿Ÿ÷Wûo@^À¤£—çùpøÇ?Þ€rN0>û‡Ááp88¾€kÀÉh4�œœœ��œžžŽNOOG£�Z¥RY¨Ý­×ïÖëÑôøáúz»Ýl6[íV;"Àfû«ÎãÎÖhôêìl´ÕÙÜ|¼}v;þÿ[£Þ¨×Æp§V¿ëïŠÿÊØ¸g: ˜n‚,@d­eK6�bÿLBÂÙî÷˜ìÎÍUïÝ3÷’ªILjˋͮ²( ?”‚÷"*ÁûdŽ8Àª?5YfcK1þ>û>ªL +±ˆJ&( Ðh?%B” ã�ÅÒô^µ,æCÆZÚ!+^¡ì{|Ÿe.C²÷„¿�„¿HñóÇ£€ÎyïCpDll\зd­I�"x§ +Õ >„ FY”�¶"¢jî:À+9(Á©ñŒ˜é0Á9#žÔ©÷â�ó@šR’ŒA(M�1,X!§Þ«‰Ufaeˆ¤ä”TD™Ä½LIBªDÄbˆ:„ ¤EpÊ¢Î+Rbc‰(µåêqÊÎ9ÇΩú<ÂKÒ(³ú u”#wè8ü(QÐVk}½½±±Ñno¶×ÛíV£Q¿[¿[«EŽàÔYX\XXXŒ0°ÍñæÞ ½~Þ§þÓ¼?(`8Ìóý¸0¼é0>‹g8|:|:쇃A~QàŽ{Ããããëàœžœœ��ŽFg±¸ ^�%@c¥ÙŒ­�Öz»Ýj?|ØÞØØxÔÞ|üøë£ÑÙ«Ñ‹­NçÉ·[£Ó³ÿvvvvöêÕ«X4>¯^¯×jµz½^¯×êµz½òÁƒ²DÓYÀt!@€�ZVÓK‘Ë2X"[ÚÜKŒ1÷È”bÀ`’®UQFDµ ‰ÒÒ$YÆ,ˆk³’EG +5ÊDqö}çbC9Šg9ÖGùý ÂjêQ°¨F6°µ”¦‰1¦Z­V+Ñ@b·«kº%§>û>CæbÏ*²è³L¦Ã?6ÿH?Žùy.» ä½S†óâ_jQüSÎi°ÊÁ{§$ŽÔ±H×9£]p—£)�@©e–®†�²1 âHÄ9%R‰â (‹§"TEU…‰†˜”™@ªKÒ•h†ÂDŽEØrœ²Qg‰|*Ê$,NDX� 340؉rT5r/Cá}ø§BœsNY‰”ÕQ`Uu ‚·r¤Püœ}Ê�sôãxÍõõöF{³½ÑÞìln´[­ÉZ\sýFü¯OÀÂÂÂÂü\e~áÓ[P* Þ Ãá ÷þ àéðé°ÿ‡§Çc*ðÓö†Ãü=é@§SĽN­R©ÔjwêµÚÝ»õø%´Ö[­f«µÞjµZ766;››�Ç�¯ÿ¿£³³³ÑÖ“'�o¿ÝÝ¢Ô1ðË\¢V¯Õëw? @yçåD`j fo†Ò8jˆ-ˆ˜vq-˜Ò{•Ju®ZMŒIækhìØ%"Ç;Ë •6™â!X�À˜~êh‡"Äâ�9ˆ%áhñG±iÀ +"¡ØLmbLR­V+•J56Ù„jˆ,hLS‰m‰”*äFøGé]…›„ÿÉ-^4ˆ¨¨(‚0|èõNU +ÑÍKTwUTŒ°#*�SIjVÁÂ@äõ‘%%e3qÉdŽÔÛø)  �@WQA¢FšM‰ÁÚ54¦lR—º ¡RH‰…,‹Xk5¥nLêbÛO”IáU9¦ )ŠPxý³ç½*œJ.ú ¸”aÉAಷðq*àqXò§OãWŸzc¥Õj¯o¶×Û�ÎæF{½¹Ò¬7ZÍÆJ³Õn¯OŸÅÅùùù…Åù……Åùùæ?�ÿt¾|éOÎaзýaÞ”MÀÒÝc8ÌWo&NUO‡Ã? óápp<ÌÃgχ‡Ãáu�ç7à$R�¦àÎìÌÌBíNIh4>o4šŸÇD¦ÝnµÚ›�Ç_w:�¿.ÍÅŸt:O¶¶_¼Øþ.žíÑwßm7&P÷êõ»w~ .œ>Œ ¹V²Î¬ˆ›ß2ºQI:n ˆ%f2s•è lLÕšÔ¤Äcݘx‰¸ ƒ„�zEÅ<‹ñS 1ª)Oæ"Ë\"I8` $£`‹¬œµ+˸–šªI’˜$,D, íŠaMéšõ$¬`0�åì¯oÿIòþÌÚŒn9N”Õ�Ù9§]8QíB4PÔ!–®t»ÂB¦ËÊ H"VCB–¤$ÑòÌ„aF&pA§sˆW�Ô[JY”¾IQœP˜¤kº1+ˆŽ*,BV`Éîì€,)‘š’í0ñf%U–h$qÁ…( VíZ‰‚m,Vêªé*Tü;ÜÆa?õ7ÞùõcÀZ£Ñj·Zëëíöf§ÓÙØhµVVê�f£±²ÒÚØ˜ŽÿöÂÂÂÂüuÒ¿ðé\åÓù[%À†‡ÓÐ/cþmȧ€ÃgÃüã"a0|útp8Ž©À¥8øT ßžNÔA:wff>«Õjµz´=o”ÞÍV«½¾¾ÞÞØÜì|»µõõÖè»ÑhôÝV§Óé|»õâÅöô¬£~ ã)@,~ dYôÜ™‚€ñD[‰!s™s.Ë�‘ª!¡R³ `±LDÕ¹JÔ1Õª5Ö³ea²NKÛ 8x(28e‚Õ,Ë2ï2 ¨a±Õ°�È.–Xžˆ'f°‚ë¼�ÃvéRdZ“s/À=3W¤k–ƺ¶ *ÄÞ;'ã•?žJþýTø?_Α�D8&ˆSçÁâ™YÕYaÊ»+,’¨€¢¼oô³a!+Œ`‰ Y.­•)J±°:ˆ*+‰ ®z§Ä†â¬ÑŽe:mT=!JLQ–˜ˆ„»bEˆxgDŒ&µ”’I‰‰EØ•^#"34¢Â)IJ8Äíànlü‰–6"ÜMIU…Òßøz3ðµ¬>f¨Ùl¯¯·ÖÛíÍÍÎÆf;:…×õF½Ùjߨn�Â>­T>��ðéüü§SS€~Ø‹Ð?ì÷ûy¿Ìú‡Ã|5š}½ú¥(@>>}š÷n@žO•§§§'§§§g¯Æ@}vf¡R)Í~î4wïÖŸ7›ÍV³µÞz¸¾±±ÙùöÛ­ÿ¯­Ñwß}÷ÝÖ×cØú&Æþ7ß|óÍ7õF½Ñ¸.b°~·^oÔ>;Ȳ,RD0�€² ޲Ìe1‚Á¢V…‰X%2Ï,‘P™€IbLÕ$ƦÄ6:M¤Ðÿ­œ@4 ƒzdŒ"bKyg�¨a&ᨭ�Hœœ b„D1DîeÌ/]µEÑ[kŒ­šêÜ\%)gØ îš(ßkE¬ˆpÉ<‡?Åðw·ÃÿçÝAXD$.NÄ~{¡ì5 Q¨³Ýè³fs¤*B0 ‘™ÈÂÍÀ6ò�¬á’"Tvù˜�v%J�ˆ°29§1ÓŠÀ–,Ç9!‹0­Š$ŠèI·µ™‘qìéYcÅÆy^Üd±c£_�#F! ðB`V&ƒX£Áa·«QrÐO…þÛ�ýÓÀð1Æ +­õv{}½µÑîln¶Û­V³^oÔîÞ­Õë­æ-ˆ©~ùŸ…O+•O?�þtþÓO?=ÊóøÒ?ì{6¿€Áp8ˆÂŸÑî3G Àúƒ)ƒá`Bž€Óg§g£³˜tîÌÎÖfggfÇð›ß6�ÏËmÇöÆÆf§óíÖÖÖÖ×_�F_o}óu§Óé<Ù~ñbëÉ7[ßlm}ûäÉ“'��© ^oNJ ²˜n:fëbš“õ˜p +SPVÖ¸‰b¢1P’[5KÖ²Vãˆ\… �, Ã3œd,¶´“Éà@"–IÂJP8±¥Ô9(‚‘®9°sˆVÜ*,(bKlÉkL5I’Ê\¥J¥q—eM!∠²ˆëû™º +W†¿}gøã—´´EÙ+C•HÔuY€wn½Dš=•J¤–(qÂB@Ù`&3ž¸sTáJˆIYÊ�fe"/]–8Aœ°ÄG™@c>D$±%6\®ÇvаŽ�ÒUHLÖš8Þ!)±„8í +1‘F*`ÜÔòÂLâXUàÔŠÄ– +�•¹Kj‰¡1={Gà߈zý×–õFs½½Ù^_oonnl¶ÛëëÍ»µZm¡¶Pß„“3±ò¯T>�ÿôÓO?ý4"Àu°ßË{òaÞÏ߀ޭà�×S€áðÙX´œäýkˆÿh¯ý“ÓÓÓ( ôßJ¯ÐÑÙY§6[«ÕffÆV?¿ýÍo~Ûh4›Û­õv{cs³óäÉÖÖÖ×_=m}½ù¨ÝÞè<)3€o·¶¾ÝúvëÛÆ­ |[6ûÛ°ƒ Ù¸ˆYäÈ{o³l,éE°±0TE–±vl*•J™Ì[Eq……�ÚBÁ®€Ë¼À�UY$ó^@. 6âŠ0§…Q( \@–IPT�ºtFU•$àÔpï<)JQ0Jɘjrï^e®Re€"Ð`T…YæJ±((%ï˜ YÒÃ(hs;ü?„åo´ ÖTXNÕ;§ª€£%YŸ¨K¦[:›Ë˜p¹z™A–Sá$ö3pl‹8(Gƒ?€šŠ�’¤”š¨tsK¥„7[b9Oñ"'fk‰"g)�€xÌ_ˆ}„ÈE¶!JãÇ#0ˆÁ:ÎΠVºqˈ•Œ"¨ÞP9ºñ‡£wü¥}”$àúz{c£½Ùn·77Ö×[wkµÊB)”y÷FÃðÓ2ðÇ@P–rÜ´`Þ{�®àÙòŸïLVò²0 J †Ã|pke÷lÿ£Ó³Î�J¥²°P‹ñÿ›Ú�Z ÍÖ—íö£¯:�ÇO:ß~½µÕùnô]çÑ£GíöF§³õÝhëº Ð˜€r +P›d�Fãßÿ‡ÿÐúëV«ÕjUn¯�#Ë2"&*®!À±8gž´v2Mƒ’/û餑ØjÊ1`bì—äbJ¸Ë`q`—º ¢Ñ4ˆJ­0‰i•}±VlJÑG ª$ÝdÌŽôGˆZ!!D›4�ˆ¡.q¹ dS""c-SZbS”@5¶dIºLVY ˆMVîÚ®%êŠâ/´Üj¶Ö×7Ú��v»Ýn5jc¿ŒÙÙÊ-ø´¼ùcÔÏÏU*S÷ÿü§“`o +âàép˜¯£} +nì=çSåAòkL`\ŒG§''�Z”÷/àÎo#|Þüòaû«G_}õøÛo7;O¾þvk{´Õy´þðáÇ�u¶¶¶¶·¶¶¾ÛÞÚÞÞ¾õ›=€­¿þë�¿n=|øûÖïÿŸ<ù�¿ÿýïÿû�Êôxv%;¦„GFáÒ¨Gpêoü}ëáÆ“ÿôŸžüÍÆÆÆÆßlTÊYÿÔO#CÆDT.xïP„—6ƒ�ñ€¨ÑAž½#C†ˆ¹äcì¼ÆÁ€€^ÉÓ‘Ã?8^z‡à�Cp>8„ì%ep¥‰à‚ äŽÁÁy+ˆº ÎAà–Š²“ä>S +$Ð"¨Þk,�-[kMb37W©’0+‹@]Z� ¤pâ= . +öº¼÷ÞÚwÞþøà¥FÌ«ˆXQ�²Šª†ãˈ«4lMìÌ¥$Ö’µDiBD€c²†,‘Mº-ÒxÛØ”K9%DÉ‚@édGŠr72Ê�‰È2C˜¬5D`î +ÒrSBÌvÕ&ÖXÛ¥qb¬5‘�LDDŽÙŠ�Ú„Ñꌘ%bGÅ�¨âN¸y�ü[ڃכëëíV«µÞZo5µÎÙùëóóWWW¯//_ßÐx×FܧsŸN6d§ _[òþ ÀÓ[ý;àY©þ´Ìb `¢0–ªàcÐYɈ|tgvfffvv¦R«ÕjwjwïÞm4Ÿ¯4[ÿÛ£G�:�ÍÍNg#J>j·¶µnlntžlm÷b{ûÅ4Þ"]÷Z­ß—%@ ó7ó7 ×Üè8b +Ðà +xç(8ç}pGÞÙ A_vÎ+±21�Kc U…¬e±äÁþeˆŽRÌÂ,–˜½Wç>óðÞ“÷êPÀ9ؼ¾,þœw¢>’Ô{8H0ÁC¼c �ðç@cy,"±–B"–(5Æ$ÉÜ\å‹0‚ iŠ"… +JmÍnLðžn†ÔÖŽ·ÿN–1ïðÄ8ýúÄÉ+—myÏ$BP†·î¼�7i\«#kR2ÖÆüԦƤ–Ä”KÿLdŒISk{íxd‰ØZR!J)Rvœ‚£A SJ)I‡ñr´±Ö‹¥®!¦$5c‹O.÷ŒãüÁFÅr_0®š”¬ˆ(˜ÊrÁ’%Ÿ¦,× ¶dm-Šc‘bÕZeÞaKöמÚÇÌ[Q¸¹ÞjÔkíÓóóóW—W—WW—ç—7�nFÿÜܧ± ð~ü ŒAà­ χÃáÇÀ �MÀ‰nà-ÝÎÓ³Rpt2êÜ™™™™©Tf?‹_ÚÿR61?oµÛ�uÕ‰°Ýyô¨Ý~Øn·nl<ê<ÙÚÚþî»Û[Û[·2€r +pçVðû�ß�àÉ5Xëÿvd2�¸öiˆ8x™xij⦹µ´d¬aØJ¥Z½—k¨š$Æ›¦©IMšZ)Ee�‰°£ÉÜ‹Äs1¼TCA©aârÇ’uÞ‹+ p‚µãMxkMì¡�ù…da-¥Æ“D&àÜ\% ”¦Ñ83je,^�¸púRƒ%²öfø�¿'Ìœe"ã`*ø§ÞG­b&²‘k‡ $¬M-YJmìó¥Ö&Ö¦ÖH)ÝA”23°“�¬1Æš” i¹ÿ”‘°H· ŽzK"$LÔ"m<½8¤«6nS§©-ub�çD‚R„„c‘Ȥ&‰‚Q|ˆ(µÜf[¦(;Ëy±0[[~b%áÓv�%fðµ+â¿á:p½¾Òl•\ùfãn­}þúüüÕùÅåÕåÕmYðÛ0÷>èõzùê­ àÙ-Í�±èí `<g·औŠ €˜ôóü�Ïÿ?ƒµÞA¼ÐØh4+�‡6KØzÒ‰!í‡�Γ­­íííí­Û/®àó[»õ%Àÿõ%€µÖ:܆Ž"ñR#ba‰R´†ã¯£€‰‰–L ¨¤t�KLͶ¬%é&Ròö² ìa­b¡ fW>5qü¥7§f¶vgüË"K¥N¤üFã'ŠH޳Bq>5‰™»W�«TªiJ©Mm9c#�”îL6^\ "J˜‰ÙÞºýÇÍ¿�hÄ7"gý;;ÌÉ™°¸ñ> úyÊ|º˜‚”´¢ ôk¿‰Ðl4®?zôèñ×_}5�<¼€­íï¶·¾ÛÞھѭ×*ŸÕêµZmv¶V¿S[XX¨T>©Õj¿i´ZÿáßÞjmlüß¶_lo?yòäÉ“'%Xu €©F޼2D•Š PS”Ä�&âŒl\Y§4©ÎUçªs&MM¬^-à“-•²Î¹qÈ‹ÀMžšãS‡(ù²»BY& ÇLBd“ ùÌ™°#x€b�HÔ +Kmšš¹¤:WM˺–4qËÞåÕ¸FÄBÀ’ÄÝC¹ÿ†“Û_dÌÚ÷±L­ʶ9O†ïD1'7†ÒÔ²%k ;�&¨Ë22ùiúÅƤ&MLJ [êv=u•TÙ¡ŒêÔ¤Dä Q—-©Mb +ŸÚ”‰I¾ ¡(¬ÄL>NËò̤d™‘2Y¢„”ºNƒˆ¥{e»ÀZ&Ë‘øIÝ{ì^¦ã\ƒRK¡(2dJgùž�óhµZíÖzk¥q·¶°ñêõÅÅÅë««×—WW?Ý<7€Q¿rZãV0x/ ŸþiÿÿlžMຠX6Ææ`7K€³Ó88é÷÷ó<ÏŸ=ÿσòÿeÜhΊDX»ÈbQ™“©V«I2gŒµÖ§D’Á¨:ñä�˲ NlÏQ=OàŒgѦ'S…ñ–8Ðì{d‘È'P˜r"—8sÁxçà­s‡ +%[ˆ¥)YkÒt.©Î•Ë4ÖÄǺ#š“”OÍ” CÅa¸¨tXNþ¦nù@oÛ”R$1cbmF.vÖ̸4J ÀêT²"&_¥†pE·P66¥„,1Ñ®¸Ô: +Yêð65ñ�%¶¶‹RÔË‘÷Z@š21!¥|(,—´£À¥±(ñÁ‹wH‰mjŒµÄB¨²¨s±È/Û ”²µS +f“ Â’µ65Œ +þŠ@õF£Õj­·š­f£~·V[uq~~~quuuyõã�7K€·2€[çV0øÙàéß? ƒá5<�j>Lzù \ŒpJ…Gv�µ¥„bL”ˆã½ÌdÉ~A!!¼boù¢P¨ˆ~?`"'ÜU'¦*9ç‰/”!Û+*l‰c)q…  1ˆlb�c†gþ‹dµ¨ÐZi´õÆB¥}öêâââõåÕ›7?]ýôã� àCªxSpx³0|OàépøôúLÀ³8  &jÀc=€üöàt4õ÷ÿýýýýý|øì?WÇp _=zôøqgÒh·ÇcÀ%À�ñùm$I×k³³ ³³µÙÙw@ãóÖÆ£'“ \C€Ÿ@@¸8”FdØ�!ï=`¼°Ûeɺę0 [[­&ÆÌ¥i©É¼4žœhððÈ$sb +÷É'š2d`ÇP‰C¹8œdœ¤ÎÕD¯WL2WOª(œ‚ œx!f²&µÖعjµjbÖKÄ’ÄI> âv…4º’�Ëœ‡KbÔ»‰•ÇíÛ?Šü¿ÿÔC‰‚õ^¥`bµ$ÐÀ3¥` /5x!çvwv˜ç\ ‘" +¢!¸‚þLdÌdlÊ;XDvˆ@(R0Ëcà4©hµ€RY4øpˆ0é)YUf¦”‚°ó;§Æ&8baT­ÆŽFÔýaòª!ʰ(TXCæH»N%ˆCØÝÝqRÀýzUà�á¬ÔWÖ›­•æJ£^ÿ¬²ñêõÅÕåÅÕÕOo~ºzóãÏô~z‡ý˜äq†ÿ>xútøt:8ŒL  Ly>—ùT p2:;�žžìOÎðÙ}Þ_íõÊ,`íG�_óž<ºÕøîÜ©Õj�zýNm¡Rùä­ð¯Tfkwê�FóáÆÆF§Óé<étžTâ&Ûm` Ê(X°ã‚ ÊȈÄ,”Ú2KdŠB½ñª^Eà2ˆ8k²XYªÈbyÁº“9ã†xç�—,¹Â«d‘‚,ÞÄE€Âyã]IOR0«5�„‰mjRcmå^µz/Jà F+ì½ó^à„\p`x•,¼‘ñS»éÛ7ÃÿýâàLШTbœÇ÷…*EÃRj¶i>¢ªd”A$ìX20‘†8—G–!NïK‰%Ë™YÙI-™qâ…™Œa*ûó%ØRÜ{"bN¿HÓØãKCÌ0iš¦V Ô sÊÿ†ÛImšRzÏXed !Wµ +aâ.¢µˆU„ÿî¸"b…#ñ*Ê �݉,EÄô;¿úÔ>r¸Õjµšõz­VYõúâõÅå›7—?¾¹zs3¨|zýøôЛœþÏÀÓ)˜€^T ŸùðYd•&ƒùð8ÀðäV 0Úïõbø÷ö‡Ïÿëó|µ·Ö[‹ŸGl6×ãp’tÝjno7Ú®OÀÝȘ}çæßl™´Z­ÖÃx*qÚ5É| nÜ àD8‹žzÂÁ 8B¡ºÉi"’Újõž1siJ–¬RW¨3ÁA=ÄÁ98/&LæŒp1¹ˆÕŒ"˜à p¡(¼û^»Þg€!À9o¢²¼h(43ÁCU$ƒªÀ±ÉDØYcMj*Iµš”æx gV‘?;¼ºLÅï:-· �s¦l�úRÉŸ§Â?‡¿þŒ;€…0‰3*ÄEL‹ÉA`ãÜ�X<ÂLÖ!‹ºFêkáÒ(à± Nɘ”î‘í:€Eº”J¡äÄ‹Œ`g +Ê] ¢Ò4e&¢/R2„Æ|‘¦d‹ @„wˆ‹òÇB)™²iÀŽ˜s +e!a›’%[¨LÊ,Ý € +%³å�l‡•²ƒ¿@ Po4Zcw໵Jëìõë‹×o.¼ºúñ& àja~üˆçv�çeü¯æoÀ³wÀÍ `mð¬äŒ›€ñò�‹Àep<]œž�F½^¯×Ûï•ðŸÿëpµ×[“žH¯×+3€/Û�6;�7ÇS€ÛMÀ­í­ííïêSPÿm½VoÜy|òI­Öh4£ØHy*ã+î(Ü„�¨d™‹:š;…[ +n—ý®Pd¥K5“5Õê½$­Ž=«ÈR@a +ñG¥(œÀ«Í4äIÀâjPQ˜�9vðÈv‹¸/ź™Ôĺû¿4…z…�óEh×d= RkL€™aY0Ü p! Î#C& ï jœ;Nnºþ^ØJ\²×„˜�1S�ôªÖ¡tÛpÊ`²dv³Ý”ID²�G–a£tqôä"cRJR«àÈ$0ÆÕhQ€&@LÒ4¦×íRƒG‚ˆ“¦)Q"(BIÅ Ày|A6Ö —“ÔÌY§j¹+”¦–¬ZUW€„Á0d v€r1æJÉÀl ×JÿÐh¶VZ­Vãn£ViŸ]¼¾¼¸¸¼zsõ㛫›öÀKÓçÁƒå¥¥Åd~þº*ˆ�º¶¶¶šçùÚêp y>|úìéÛ¥ÿ[°:x6<î�K€gÃÁ TÈûýA$þa0Üœì÷z½^o¯··wÐÛ>{þ_‡½µÞêÚšôÖz««“ 3ÝظYloommo7¿ŸÆowjw~[«-”ñ?ûVPk|Þh4>o|^J§W&=î xïAp^D¯F�Ë2 ( +ã«ãÌ–h° bIªÕÄVÇì\&8S°zïááx™y +ˆSìf +gÁø, ÅnbÍ�9'.2g“u…¿4¼óÁy8açW�£±)…IÍ\R­fÞqD¼ã§qЊçbdB…wL˜Ò@� +ÿqòï�S§îý®©JJ”J”-„#9‘ \©bY2b"ÉÜ.È!%c,ï쀅…î%)%%³žDÈkcHŒ)`ª kˆ-&"òe€"D@Yd§1öy‡ÈR:—"JAG²4ü£’�2‘µ¤^ÆŸZð¬ì ”0²Ý ʲ¿H°±ÒXYi´š­F½^«¬¿º¸¸8óã�o®þå§ožÓgmíÁƒå¥Åùk9€±@m5χ·àVàÙ°ìùÝ€üÙp8€§O¯ ï‡Ã~ÿý?äÃÁpBú¿�N÷ö÷÷÷÷ööûÃçÏÿëóÞjom­×“µÞÚÚêd +Ðé|Õ÷Úí[cÀ­­íÆ”üI£Ñ¨ß­ÕjµÊÂÌììÛM€Ù™ˆœ±Âh4�Fe¬vß#¨ +TàÔ9õðY‘ñße²`BÓƒX*0E{!J’jBsc‹)r(ŽŠÔyòp€w Vg�–ó4uÞEÈŠ !cÎLp.@!Ëœ ".s@ðÝàP@‘‚ÿ'«ž¼ €F ž%”ÛDÖÚ¹¤šDA"æÌ¨Ûu¬�,¸BÄe.Óà¥p¡@0.Ž>Áe�2Ö®Ã_#Èû{B–9%2–í÷€©« -@‰¡€zúF³Eêÿ—õ ü'p{ó1ƒÈß?sîL8þ�•ãÇÏž?Gß¶…Àxgx{·%ˆîØyà6:ûùõ¯n^¿,€´ÿïþ¬Üºý+€³ŽÈ{& M -€“ïf€V®+ÝSÕ�€^ÚTBhï×Z¸½– ?ìʶ�°Óÿjk„ÿgXÏ 3€ƒ¯€Œn ¿kP€óh»Da2UÁ  �²úh�Ÿ5»÷]÷ÓÜ3€ëùeœrܱz:˜07ÿ„«òO FGdEB$LÖ«,Ì4­s ‡È•UòÁ„üôÿG€ÿ»€ç— —¼j€’�X@—ãÿ¿ü ^û”(€|bBÞŽ�ëëúñRh¿|ôžÂ=ñ›Œ,€„¬vç�™J6…–�€˜ûé‰}»œyº€ÎUVÎSú)_à�´úù$12aeLØœMQÀõ¸Œpš*q—`Œogkç„ è«9¢Ã‡ðg ¯"À;X?V»,è4Š-é;àë=ZûW@' ‘ßÝâ¶ÇüYm|tœO×·>>>‘Ÿo -ß r͹&˜.ûÉÄ„a¨ÑœhÖëÿiX Èm‚ùÍ|õtJ8>^+Óˆ‹ŽÞ˽§�S"ê «Bzêù…ε¦À¹âˆïrEP*ì&Î�<¡L£�¹êø„ÀvœÍ&”Äö“ P–¤‚â* À;||®5wÚ£érŒüÈeE<ª§‡!Ô0°Cè_oÈå¬Êá¬(«Ó¿ÉDhôûø]ü®<^­7ÂÍõ¦ -¢ßË¥(Hqéfým„R}W#ÖÓ"æÈšÖíµ¿ð¢Á[ì‰=ZÚ©ÄÁ|TŸ8¿;€cIà|Äô XOFÇ_²_7p€ð?@Äx<àŸ_>{Æ ~‘ -÷DK÷Kø`O @Jôÿ÷Ö3x -@ÑCâÿ£%€#°?ÂiñˆÆyîz7€«î‰óë@³1ž~ ‘H¦ô»ŒK -€ÚŽÏä3Aö ;Wé5#öÿ¢·ýïøÿ†~«$lx^’›Ò¼[ü8VðWjÇ#„Ë/õþ™°±Ïï 0^\z'%@5ÀªÞiÐû¡¨\—UÀ¿rÐ2vF^¥¨[h£1 AfæÀJ¨¥ÞÒ%ïï6y#rT5W¥=¦ìŽ�L5¶p¬Ÿè!ÿŸÓŽKç…!ø›åôhÃ�”‚*�—úz´Î‹V¯Z~¬ÏõÉhú5}œ"«pÓ: @·3ÝWƒ~ÌžýeÔ~í±Õ�jË•d—²åüîÌoW[ù• -«­Õ¹!äøJéÂÈÅɱFkéÞ½;­ÕÖB+_m}åÐÚOZ¹3·4×ú°µº¨Ó[ùa½­Öïuñ…Vkn¸¹°ª‚Ìf­]~£uZ¹çÙœ.F ½FãRž[PÏõ{œÙLFAfò†r™ÉktNU©éÚ«Ù�¥�ÿé÷ Ÿ´~£,é^ÓŸnM{+_�Ëua -0Ÿ1Òxkuƒ‚(ñÛúa KKíê”oyâ÷3b‡ -àf,Ù“bÀtíqBA<0ÏSfJðÂáîÍ8‘ô�ž óƒ)‹'ó»1"lÊU:Pêw @_ïáѹŕåååu(€°Ÿ8Àûòþ‘öÚVBü]6xüìù³Ž ñ¿^¤¼JŸAp+€¤ôçß?�ÿ/PÄܺý+wpöò +ןKý©ë÷xÀví¯+¡àÿç‰`®ú?sîšœÑK¡ÀEûK÷k€] -À7—ÖÿŸb=CG¼,p  Ü=(ÀùSH¡|ð®M°ã@j[�:ðë˜ï¬~ôFpz%Ž£IÏÐQçäƒ:[Ð*•2±•Ì!#( ß©Û`bº»üÿð¤ãÛø¿Cxn ÀhÔY&�Â_ý;5ÿò/ÿòÏBa×S¾DÃ8�ùÑÞ �Ë ®ËðJÒ‹B¯Š¾Þö±îx9ÖŽâ.‡�ÒãFƒ¢rÐé©7ùKMuð¤rú8;úFDêç�küà°6à"¦ºøf»1ºB¡PSæ§üãñk›T´ú# ÝÇku½rµïwC%!:â@�»H*ýË¿p×:€Û™n®¹VÜmÏŸÕ.]šÔ§ë+'|rfîõŒ•°��ef–rÚæ ¿§‹žèú7˦òüõQºFƒo4êE=K¥Ö_sà=mïê÷îÔÂÌìÂB>µPm4<:Ê‹H‚òÕ1tBm%�Ì›Õ i@¦y» Ê{VQIî|´ZÍ(È”RhwÞ:ÝR«T€º�=¢  ]­þΘ¶T�‹ÎrjvŠðÀÉZ¿ ý=ÇRhßeL(!ÉòFÝǰI.Ó±™|!îÈj«J‹@"¿‹iJχž=.zppÝCx©/­óÏ’b¬(‰“9!i½E(‹E+˜OÂnãiý.LÔšÑHM €çf`1ðÀ@­¹¸âÀu$‡ù£lßððAªôße—¦gÏgðø™sçh %è€×,ïá}ÍÈÝm‚ù„±©#Àn€€_ë0 -À™s—oüê9€þÌ#npÀ�ë×S`Äþ¡0ö€ì[#{ì[©Wÿ’õ8hÎ $¤1€¾B]}"g‹Þ@|$€ÓNÒÉ® m>ýÁ:üÿ}$ÂýeZž<Ub!ûc¾��ô:êÌ X£iŸx šþu_/ûIL‘tž{òØï©[x^  �û •:jE@Àÿ¿üó?ÿ³þÁýÆéI½âöü™þç]ÞÂüò '/ý™R£ŒÕª{ -¬?rä¨#¸7À¦U¥€$4Ò¶ö!Rï£�žºCøm•Ò�¾²°žVz¥#–'åù—ôám儱}´4† ÚrÀ |!ì0é•‹Ì”àÏub¥ÔC†#�„` -zýÆ mm ­ƒ(AŸZÒ‹zôϺaˆ;Ù ÿFþ˜žÃ¨í°,û°œ�ÜÀ+¼mf—š†Ý,[Þx«õ|!›¥Á½Àv&®~¤ƒ®_¯�ê®À³Dª�èÀD0ûÞìß`É7Œ$]M˜­}yŒëvi¦Y�K-(‰.péR»õnQ��«*ˆÎV1è—èt}Cs¥§ÿG¤~¬R«7Šæÿ© c³S?˜œ¢¢Ê0BádúM¹ø…󮁤&gê£EAjtßÛÂÂý´‘*!ƒ"ß”oyâùà°Ý~ƒ¾QÛè�Êo&Ðg´@7àsˆà4íèê °=³¥ž» ¿ëÑô“ùØ@‰Á¨¬C^“û?T&(ÃA}¥ÑyÁ¿(ÀúúÊJô¸¶~sûþ–¦ý¢Rþý=ŸW�Ÿ=w–®í -ÿ·¨€·£ÞaF÷nÛ¡@¸Là¡ü‚Ø@áò•Pn<“®èÏÊ•÷ϼz"U\öÛÿ ÁMÀÙ3—¯ü�ǰðئÝ–0î{{‚õ;€¡ÑƒÜxS À�ÿ - x€Üqà_æaö�µÖíÃ&Œg¹_»Ïíñáz´L¨o · *éÍ’‰Rë~³[á|׋5.s(1ƒ¿ÑŸöŠÆ~O¦…ðM´! s…5 ÕðÕ‹©¶ßþ•Žôö5wúÿíw–߀/qqqX”Á*À¬t¬ä1„i ó¬ã½ãz÷tÓäxñc|J`u¤¿OYÔà]#/—~ÌÔ �W‚#%Çþ…Êôµ…ûoûA¿¶uuJ­ 9\éï9ì–þE�?z㺵–ÞÈñcù¥©ºƒ±íãgÿsÁ -XTøæbíÛý<ön‚µŽeÀèk†Ð:Û†».ûÜàý-þpwåF·²×F[´tv‚|ó«w» =ï\Œ®ÆÆ¦»ÙO²·<›_Œ6(XF[BÌn7Ž÷ð‡>à’ìÒ">^È)I¾Z¥C‚)ú%ÎòæéÆ'ïN�ÛºÚ£;`Z4†3OƒÐÁ¤Ê¡bÈjStì�ðß6�úMÑ€Ð7kÕÇ£ Ñ\¨ÝåïÌBº#Ñ)1CØcÿ6§©w…ÿzLxBx&×f/ø2‚ëXì àp¡““kEŸB€@h“ä‘ÿ}q/Ó,Ìæw`Ðî!ÇèK%Dÿ€&€åu1€Íõõ-·¸¯Ùýí[Œ°o Àã5nÿŽ9]ž�ž…ü¼…õv|¼àóº- ¿/K�Î9ïð‹_ÿúW7oýšŽù¥ïW·Àj3€@û},� ~újæÅÕ˃¯Rp -@' -0z1ŽùdÍÚ -;´¶àü,:M{Ñe~&¿mCp+3Hw¹4äï�ȺhÁ@?u剹»kÑ`Œ¸¹µ¶%°}{ûá“€ÝvæÕ3çè ÞÚ›Ø[ðÊû—wN‚ù.àú•óï§ ™à—�‚`å�9÷ÁMÇ@>øà²¦Âõ»,0ß^¿™8 �]»|æø«n�@¸Ñé Èu‚ýÿpãJ´¸¾Ÿ@Ò7ÜCÀÍ›·nüò{à) ÇØ8œzpUA�.�»ÐÞT í`uq#x�ÁðÍàœ ¿ýûêVôÖCÜáå—êâÿ_uˆ=øýÉŸgÎÇ�õ:˜.áÿÞ�™h(�æ§" -ИߞL‚` žÝ DÝ -@ÂYàøÿÂÿ/?ÿ,•­çÈøßs¸¤wWÚÕ¶^ˆ~%ýºÐ{­ç�Šð\o °�¾D@PÞ%õì¸ö‡åGÿÀ=Ü[_·Ûé6w ýÊN™õô®$6ÐmVŒi®Ð+ÊÛ}¥±cK}~ Óá -;Îá(Vœ71Êàða~î–�ßÉ…íD<8ó…’ö½ôé#3€®(ÝSîm |¼ö¬&Üi—„¿3‹;È,2Þ5wt¼—e­qa"`—çÕñ<Ÿ%þÍ©imÇ߇û_©ô¾eÕ�J€ÆãÐ6u±¿!@°äQ³ƒë®A·M²²��w9Þ�Kæ"©¯=ÊîŠxà`íÉ_oä³3 ³Æjã¿û!d܉·ª§k”à¢6'UQ�¿àÿâØˆ€  T @#\ÓD�¬e ­Š\š$"‚ ¥IQau×¢$ß¶ÅóÁ³¢'¦‡¸!7àm/þEx$œ èàˆUý„÷}Gशà{'ŸuÌñä¸þÉhŽpá-Q‚ �±wC†øS–‘þ‹n`'?YÔDø’y}¢P&4M6‹€©FžS'’ÍBtâT6Gú6íÿÒû?Âøm@×ÓÃcä5¼÷ØG?ˆeÆ}?^ž€wÿO½À`@Ñ -€ÑÌCÃÈÛi˜užÊŽñÜ»&Þ\vèo¦"ôŸD ÀÄü2ú?CÄ@€[ë[÷7·é `Ÿ‰Öy{¦’ ÷¢-U<–¼î29ú±¼|¶C~uóúá¡øË_™»SøÕ­›A®^½¢é±–€ô‰)7„ì¯Ò°c®þáÿ -Ày:€œ„ -t)$0ðãó'äOS¸ïí  -€PßuÔÄ ‚_û÷ÂO:|Èþvÿ¡Ú0À�œË+Oÿ9éI;$Lü­XÒ7ž€2˜È´�PH:ÈÑà) ÛBP®®ú'!W“  =8�ø�® =™ °%|xv+8€�IVøÿ]!Æÿ/>ÿì“Öl”­§çÏbH?ÁŸ?àŠ,ôÄŒ*ÐögŒ(\ØÁ¹üèä¯k«°8«+eØeÍ'²ÖØø³8¥m?ÐëÜ4Ó -)}*EbÖ××K³ççt=½/@v6rxœé%¯|RÚ¥�?~þEÔÀžÄR@·Ð==£¨u™a-Î�ÅÍFý�ˆ´æ-·\8G}·ì7£õÀz©:LäþìÂïß3ÀjU$± 7*½"î®V£íøÿãL@øÛï¾.\¹(ÿ?zÙ§òÞWúê’yÖ©z§@ÈÈ+W<ŸmE9ò|&2¥å¨`x†A T‚FMÜM,±æp@ÙC8v´¢‚pýÆX�¢Œ�ÕDމ«¸Ž‚kÛé‘·¯yÞ( -"&‰¼¤BëzQ�– @#[âÈ·i„ÿÇ ¾ËqêÁq·¦ÅÝÁµ�ži]Ò,Á?üÁA€IÐ.�”¬Ý - àþÆ,™êoÓú=�[ÚªÑ �@}zKõ¹•á?Ú?1[k÷ÀÒ @Ôùï6ùÜ{§+g�ž%€^Ú -€Þ‰�¡çééïœæiyîL ,ûõm+"²®€Ò‰Ü¼Ý&Oްë^¿>1yvãÆµ+gNˆ³\Ñ–RùÍi�wyþ"×v*´ß¿ ùÓ”0î{{‚õ] �Z#µ-Ô´Ø_T¼ùæÙóhïôÿ_Œà=$4·?Ÿþo’`ä7 ‡QŠ^ƒN -­b—¬@zÄ -€¡¿»UXAB !-}Õ¢¯¼Ò«ŸÆ‡À„ùíÉ›AÂ@<“Ùe€›ì$÷VóF*Û·b µÃ€bÃq@rìé²[½N”¼m;·vgP˜ö&š·ÿñofykõ�ŸþÕ·�$€®:›¥–âæ?« ÇÐÕ›þNMy…»Ã—eŽxŸ(ðÎò» -qi|—·Æ‹�©ÕjU°;55;»Ä0|a(¡®pÁ3ãå¿;6¦õ3Øÿl6Ö[)#NŸ˜<+í²€]ohÙʡߩ7Þa'å 2¢‚ÜÑ'ÏW‡Å/[®Q�löoÈ@`�ˆ±ýºxã´¸ÅEÚûUF.:alì¢ñ¿Qh D €ÿúÍ¢ Z§> kÑÿoº#q?t;œBöÑßp?òÑ&dƒüô·kÉ�‡Ä1 $ã!á±�ú@.sNa Hë!Ai’ #zâÀûâ[Ì;–pûÛ3*J©àªà¿R®”ú霹¯ï…Þ�ú<-×¼O€çÛ÷ï»#@:þÙc�­»íŒÜé³1(ºà_ÿ±¬ÆëÑó]öþ¹÷íüËŽ _߭ϧ8À÷QnA nßò(½ç¯ÝjÇ|-P2¾…ã_¬ß`ÄÿWM�ÜZ0¥€ç/Ø¿vNø_(öüÃïïBý®)aÜ÷öë‰1ò€mVÊ_Þ52ðÙóçOQù�è�൤JŸ:õWE8žÑß¿ÛíIHø/ŽÑ&VØ ÚPª8s? —G[ÙA+ôŒ™œ}ÕWç+¥œþ^­÷àñãásµž—”å…Èå?^à¶´ºûõÊ�¡ö¿D -Ú>Lå«÷>M -À¿üëÿwG€Õn3Àðÿì À¬Ûš�,o7…wõ¶»»Ä:‚:¾ùÂìÂß,,,´FÁÝV}(§%à{r„f…ÊΣVù ý|,ë¯]ø_ÿ -øÇ) _@Ýè¿ �sîs’9þGÚXÚ¬ -‹U’‰‰ JÓøH#Ÿ‚,ÜÑ%e«ãŒí³Q­2n° 2;£LLúJʽ6Q¯ÕæÊ¹IÁa‘Ž‹ (ȼàÇP€Ò�HT*b@.‡è¬O«0y½>—¹uX@ÖRA\ÐÜÃ$¹$³§›s*ÈiÝÂoqê~ZðÛS+9õzD´– ÁíæÃP¢ 6Á| oŸ-}Q"ƒ˜ÿ•°÷©Üa<Êߦy8`Qý« �Æh@´èïƒ(�έ¬¬G ‡ÞîomÞp_kûK \wÙ¹ã'ÎXÀÓ{Ô¸¯ïcüy ¥—å¹ð÷¿r#ºHUç!(1ÐwË{ë‚ñçVðó¯^>s‚3A¿tµøà¶€~–ûþ�Å~O ã¾·'XÏ`QKžÀ+€£œrŸÀE[@:@p@`>_‡²"ëÖã“ç/d–ÅT Ïa²¿Ü¥$,.�^Ø -nr°Ãt*çÊÉ?N´ kÓíþõ øÆüöäÍ ÉB<‹µQÈ Ipµ'à«GŸÞ[må´o:LC{½çô";,H�Òî2½•öG€H},�wõ—Ž™Ó;¤ïÈÑ£´pÏ{Øs€¦‡�y^6@>VŠ“´Ã0û8K0®Ãóøè‘DDRýìÔ†Þ˜V ð ’I"%ÆÛ™W/oìÇ£ ^ºü<Îç(jk×ëö%e£üɳçí -zZÂÿϾp@RR€ïªÁ?hwÞwÿY)€±n‡Éã�i˜àþOÔxòüµÎ8úNvç£ñ×Á¾Ó‹ZšD ðÖî·,ˆ~wlr¹kµ‘‘ 59ÛS3ScFØS«\HMevÂiˆGÈ_>a)B©Õëõ‰K«Þ 0€ï‚‰ÈÂÒø¸hÉôPK‡ëQyûÝs“0.ÑÈÇcµ; -2¦ Œ�MŽŒü¸6YÈ9bÁ¤G0dIAøÍHyµžÁ„ÿNCÊ\\È]ŽüõzžmÔëk«ßÞ´d' ÁõøðPáí'@kZz»€‘¨˜x9_  H›ùZîP|-§l_t‡ù9þöŒVCåòƒEÅÐ  (5¶-Õç—×bêÿaÛt¸­õû�˜Àu—�´àn£þ?±€}M~ý9"�ñOó~a¼céàý" ­Ü20ÿº» - ®¿¯ÙÝçëOLþ˜ @.+�¤D `¡œ»vãÚùÁ³gÎüÀ¾Úï3%ŒûÞž`=À#ÕþE+©€B]¢ü„¢Ãÿ¤à™‹$àmã¿|ozûí6$üPx�ÞS§þÒ‘|º¨òE@Ph# Šh�®° ÿtžGz¸¥ñÛ -€v!ÈžJøÝEmK`å*€nüÿê«Ï?»·! - w°ÝÓ÷í—Ïnó.f¼¡l¬è…¦qs4|–ÅLo·¢5}OO‚d»^¶s•§Æ`– 4WM§Ój@¯D.ç÷)ó4饩|8oP¼(½¤zzKÚk¼·ÛîâÅéžÈBv™Óí²â"‡;P𥠹ÿ�>ôeÑP Åýä¶š_aq˹õÏŠÿÿW&¼£çšøN þÀµæë�‚¨3ùïÝ×¼$ô’|üÿÀ»TÍòÓÔù&Øý›…¥… Ÿ…Ò..s¤2r±”ÀEâï/ŠŒ02Ã…±©Ù¬œ ˆËnªçó Ip�í�»¢"�Ù|I¥�R)à*Ȱ»°p¯>¬Bžæ¤Tüñ%»ûât|o¦Uo�]P9€'Ð>p4u\YÉhëàêm‰d¤6DDD·D;š(yd)½Ñš~='Âñ[š&=ÔºŸ9ž#?òz:yLx”yxCÍçH»€åH”)Žû¹eËU$g‹o2€âÉ,žÏ=Ï)ÿ%ߢ@'€•ÑÊhu¨J¯À´$ ·¯\›[^[1@Î?ó­íMñ€Ôðo§Ñ¯Þ^;7øj(øF¼­<^8þ}yþrôÏËÅ(Zÿéð·(¦ -€ ÀÙ3´Éï1Cýþ-ÿôõ'¦ô¹zyÐ1€×¯›DÀ Ú -ÀM7¸võÜ™³)^Ð�öûL ã¾·'X�À¹»%F€GÖ'PT àìy€NC€‚ ¥wvÉ/¼ßÉÀo·°Ö ”O�¤bÙ¡C'iIˆ ÂU¯¸ fVÚF�‘_y³pÆÆ]W›‚—ƒZÐH˜ßžø}ʈ_YX‚ˆg¶À!#(U0,€ÿ. - ðèу{«Kr�iˆ×ÓsDo¤ÇXqÀÀf†V¡¸^xz{ÙãÁ�q´Qå©ã>È©~ú�Çq@Þ+Þ¡ŒÈTïT�¢¢pÄ;}&)|2§ÄïC^§‘“g±è$N{t’Í‹ö›6í,Œ‹ñRìïé“ ýèÓ?~öèó¯¾Ðä¾€þµ0ü3ë÷ÛðÿŒ @­Û„y"‚{-ie·pgö=­LNÙñÞÚ-ÝÿÉð\Õqö»Ы¹€“F*Ô²\¨T%w»ç±€€cº»GkÂùòÒ¬Ûl�v€�»ºèŒÛÞ¼Y}8ð¼_ÈÝ�*y$*þëÒRõ?ç§óvAþfvaéc%!â'`—›¾Zo\è{áH�ÿA=R'Å™Xɱ cÊ9 R™h8þ« àüGãU÷Š˜·r7œlêø;ùLb"ÿõ÷­ñáêbùŽ.ýmÙd<zJŠ'†ÇPOˆ)³SOv°ïˆ6Ý·›q¬Z&7,bxÎÛÀžÇ3ŒÊ¯oiêíï  "`HÏ5è}©·4:½²²²¶¶F `Ht ïÿþöv´ -Øm…–¾s^ -À“¼~ܾ¬ŸïRn\êk'ݸ -àò5BM~Dã¼[Ñ -€|žLìîóõ'&n\¿zþÌqúØ­`‡@€â çΞƒt ÜìÆú}§„qßÛ¬GðH@@¾@’Ø'€ƒŠº/€7ÏËw­?ðOWm @8ß/ ¶Ó ¿… k#à¸ÀÛPïØ¼€ïƒ¯hÓ;»}Ú†  vÀN�è…ØÚšâ"2pÍhŠ S_!ÀQø =;bŠ™/ZX‚ˆg3PÈhT@% øï(b_|ñùç¼·ºñB-0ʽ*prk”/OHÛ¼ýbH4¯k/¼È[²ç%aM -†â —NHIœO{3½_¤&¾š�W}Q‰H޵_§”:�kZ•Å:›Þ•ök¡óù‘Ý{Û¦•åá#‡{ú+¥¯¾øüÓG�¾úêË/ROí(À°¸½Ì|Ç æõl–�¦cÆÝæpsAè–µ·åRçôt#kÞY’{½´´°ôü~atîõá¹ß"�ñ»^ϺyH• #•‘©r» ÛÅ1׫MÝÉ«ršg³IÒ^ # ã÷ÔÔ¬àU)­Lл®ÜìÖ�< B”J²°t‡‚ü×�?ùýìxóõáEÆþkd)k¼;Å•hpyl’1‹>®OÖ¨k -÷¿!ü—Õ.ŠšL]hŒUމƒ¸�)€ûä4㣱QwAî,ä«wfïérd­V®‚ˆ†üŸ¿Ï†" öò­™ž=–˜::tÜ�` éÅG �ëÇ•ÝÀÐCÁ0?àp ¸ˆ÷ƒÿTDprü@~?°=Å б„ÏfF¡ ]þÀ5ÿüÕ—�}º¹±ñ)5O²½o#ð¼ýZóûÎëþêÕfWŸÈoQöÄ"¦Î‚O\<íUz/ÚÆ{²]:âiËË´íõî‹­�ûönwŒ¼‰è;vô«G�>ÿü €Ï Àì0€n )LÏd«»m!k6QÞ[ùÆ=†ú]ÍW?ÉóìC¡_3[ÐÞO>YÐb!ŸŸkþ„X8‘†l¦µ°$ôm¹B@ ¢Jÿ €êL¹VmÔåÈó";Ò¼<þ,_ªÞ[È[­…ÉÆØEa÷êêï7–Z äˈ¿êÚÍ,ç?© ÷î}”Ïä «¿3ú« yÞZØØXMy{q¸¹ê*z�±´Ðt¿—ÍèBD`ö•*c‚ô¼%³T::’�¡ 0(`MÓT^Î/ÖFÄ–Zrï76îm|ÔŠ¡�[y¾:§‚ÌÕG³Oµsfá£|õ^>;Ñiª­�ßY¸£»ÖŸÞˆX�oÅxNxòôxÅãçGY Ü Øµ)c§À› ÖBQL�Rsä/žU’ìRzvÄhÛßÇ?¢ß.  ýÿþ'P)—‰Dèí;PªOߕ￲¹¾¶¶¶µ¹µB4À}ùÿ÷·DÂåße’îœÎC…÷¼ý:ô‹2áýè[ûçh+i,Àóî"€a† ×ipf€pý)€¨—°»Ïן˜ü¹qã2 -À�ºcDŠ@s�ÁÁ3úèò�í¼u£ë÷™n\K÷½=ÁPO�8õ­,zÔ^x0â{ÅáôÄ·l¤ü¬ó‚Víå›Ì;Pq=@Üáyy.xðPÔ tÅx0 —•ž=»€“‰„à -'à1‘�Ð -@@=hoØ÷įåÛm #žÅ€ƒQ².øü0`&tûãïE9L§wÏb~=Å;Šw\ZIë†c;:æÞç=Fn¯ëÛ>Óê‹ÌÒÎH&ó®ÂvœaÛqxKŸ˜f·é*€‹ÿüÕŸþè‹/¿ú\Æ £ H7¸[xf{— —«¯�~}¸Y¯×B¼ÛOªÃ£Õ¡aÙë¯kÏÄOêÃã£�ÿ4÷ú{O—‡Çµ»>>:>þöëåÓå×_/Т¿4Ð[éíè?}út¹¬Z ÓÉk¿^úÕê_ÊÝ.—ûû‡«ããuMZ„½=þzyø5]R™ ð®.ïºJ1tI})È„Ž �Ž6ÿÓÜÛõááòk§‡U%ÖéÕêë§Oœèïíë/—«Õr¹þÃ~6\ŠÓJZ>=ØÐù\/Ïô•ÊÊÙ—RÕ·‹rŒ—_>ýúko« ÜÝÝ�(F*;ß®R�ÿ\ÕÎh½÷ÍÍOCAZ½0H¿$÷]«8ìTå÷ôy@ïéRˆˆÉÐï,R&‡§$à”ígv¿‡×Ðý­5(u(ÓJi` z¬O/ -ùéPÉûßzpÿ2À~fŒÜcm€~ÒËðñøÿŠPŸÐ?ë^ž91´d( ºt'�&7ƒ\}¿Kp>{ @@˜Ý}¾áõ{ŠÏµ«ïžxõÌå«×n( ˆxÂ<è€;8{V×GÐÕou£}×Tœyíû*€§°¤%Û-ôq}@À$ßÀ½ŽéI€ d ä�ø;¡1HL5€“°¼ÊÛ· |Üpð¯N¹;?=˜:ŒP�HŸ€—ƒt+ƒD |9Æ1æ ·R TD ¸zä™[àòc87M±Á±Ž�xÞ¾2…€%�‹Ú|zÝÞ?³éÕo§öJ—½ÐSÒ>s�bßx½Å>ͽ[{-íß}8�ö¸³öµgJ,—¬§O÷G@Ð àË„DÁ’ù>Ë|×ãΧ?ÃÓZ6·kZœ¦Ó½ºÜÖâ\³ÙDHj·1êz÷F½F…¿|ø<«6ïP©®ëéô¦,—_'·,wè[d¢®¹#t˜0÷vS©\ºÖ‡ùj£‰fÐÚ¸·�g3º%ßü;«‡F�M›ÈÒãÛ'—=�›Há8à-cgêÀ]lj1wLäðd€+u¾qÝæ]ïoÁèh¨ú•ÊŒÌh@¸ §tî.uëëk+›k›["[[´  @ýí6Cä8{f�ñÑìý‡G”Ð>Kï0Á<�€,å�w‚…¾ð¾ðÿýsgÏ_¹þ÷î xýö ‹$Üo[ŠOˆO÷ú ²:~âÌyú¸l+ЄùJBM‚+×öUî·§„qßÛ,€SÂÛI1 •uvhðÝ -ÀŽ:ÀžHÀq·÷ó³–ð£_ŸC_äÒFÏá¡ÁS'�ÿ' ÐÓ>+ÇCè ³ €|ÿA²«Ó!Ô­ëDNî(Ê -€žjŠâ8€„ý,Ò”6º²” >‡ Ô±= -€c¿Â£µð™À=:ìúÿolíוWôfôÛ¯½ƒ¹W˜u^nÅò)í“?�½Ô×óèK±¤Ï?Sþ‹:€6þ›¤Ì‚Ûþ\ -@B¹®éRsZXþa–5'³|æÃÖžÈ<üO–/±˜¡Ë›�Æ?]𙡲~&÷`¸®ŸW’TC?›�U*F.–ú׋®ú¯ÕùRÐX¤@K¥¤'óáÆ*˜2 ÚˆAè'RA†ùªH‰/"~áA€ò;yk±þèά -¢ -BüÉ&g蛈J‡YB ²¬\öÓø_¬‰ß ý¿5ª‚ÐAAEûb, ál#WVº„¾p’掂4/ šé'ùCÁ<—¤Ý#…%j|šë~p.õß‚¹[LÁuÇy�MÇØ÷Ì7 ð>}ú@ç—ô�h7‰Š:-ý;h›Îô9{€¸Ú“Í¡ªßŠ•¨(—ÀÿR¹,@ÀPyˆ~‰È—Ý h ÇŸ‘Äî¸×Œ‘{ìòÙWÏÈ¿êᵜh@ªØþ­á£ÀßBøµ»ûyÿýóvÿ­¼U>?26ïYz致€Dæï°äõÇgÇú�«ïÓàe€@RR€\}:�ÿþw€®€6æ3¹#aÖÆ}oO°B�Ï-N ¤þ€ÐN™´ÃÞ<^8¸®©—5¡°ž!ÑLùòv»…º�ÅŽ´±qP‡è()rú­ã[€„Ø2» -À£«]Ô€‘‡U\qŽƒ/¿r�â*!lCF—�m�ʵMeÌbÒOö58�Ì› %žÅº(€ýÿ`;ÀW_} -ÀçV~ÿÇO?=ì÷Ê3[÷»ŠuoÇ -ï¶xkÆÞöî´+Évl<‹=÷‰O´—^øì³Ï¿?’¹Ód1€ý€. @OÏfv”w››à5'/MNfÙ½&H¨í)¡|6å@ù<^Õॠ@PPØø�â ˆ7Y;vôh¥Rî¯ùÇl/Äw£ÿÚ¨\îʨxÀ¤7E†wˆºWfS“t8èB`*­ð)G–„pA·œ¹“�~¬%;\•V)••3ˆe^jdcâ!Fp�‡]tÿ#�ìõ쎳ÖÄ�ØQîÍ g–‡7"{ó÷\4³ÐÌîaþÍ êÊÓKÁ¶Ÿe?Õ‚wvƒõ@»æß@þ /)€D|2A±ùRW?È{zLéâ»×âHðoh ¨‚àH@kî €†=¥Ñ¹åõå7tSÀõ­ûèhkÛ#îc@ä^sƒ�û…ë÷¥ý‹>ü±pëïÜàÚ1ƒËÄ„ Ÿÿ€Ç"V`g € €ñ~�íðú»×C8®Ì®Ý@P†`8v‹hý÷#ãÿ΀_ìðû9G'Å÷{à),)A¨œ´[]ô@­€à[@žq€J•`=‚L/¿{ƒè€ù�é;P÷Ï]ó�ø§ÞŒûr‡’Р +}t„´Ÿ ÚFbÇ2Ž�_¦t'…þ:»Êp-'Ço2èÇËÂ|$¡ÄS[B •Ú -À®^¾´€‡ûù?‰`ñny‹·ÔÞwUz�uÐj¼¼º6víÝaûìú“Ø /Ý»wO o€Š€Ï>{”bR€ojÀ!pÛŸÃÀí27wÃx�|NŒ ËÞ3¾ÒO�|쪜ð÷ð•cä\�žýïEŠ©1ÚÕ«Uú�µz±Ó寬mïÒ†¾c�±w³jÝCp¢`·èsd¿mr£º*´UA„Ži_¶�Õ…Øøÿ:1„Ê=ÉY½ªyލÀÙ+R0ÔhˆcÀÌSŽÿOæŽùý“b" ³­æœ6\8Ç77? Ï2DÍñù…ïî»ÂÇ òŽÐá %WèË.í,>ÎD +í~œ$Ù æ�1Šf6߆¹€º€ß=‰”J„ôô Ô¦W–�¡€Ö7éÐ�ËÿwƒÀ½fŒÜc—Ͻª—Û¡ 0^„é ½¯ úÃýwú Ðß~(Ž -@Iäó_»åV¡\Eà’ à~¯Ùço{ýÝëî p0zþ‹€çI¸ÍÏ¡@[ø@ÐßñüÛ^,¡ß+Oc…@-‚Vä“'AI¼øvoçß<Ï“Eà?†§-ó“„àˆüdNUÇf­"ý¼ðŽã†ñPŒ pR$ã <;8ÛΗ&´ Ô™²ƒ2+ÚfF…Ió�ñåùþɼ!K0ñT%ü�ìý ÿMP‚@dŸ[pÀêJ«µ°e{&Ó;jÇ˪ýΊ•¶?Ó� ÖºöýßÑDˆ~÷»?B¾à3†èV:@²tߟÙÞvXÝ0+xÓl²qonz––~S–·�ÿò|«­€‚Ü Ð À\¥˜¬+«4. ŒŒ�ŒýGòéð�Å[ò¿k p±Ñh ÕÝTŸ¶À;øÏ…Å îÕ7ÜÙGAffZó*ˆ®L„F} -x‡Í¼G‹ý©©¼1šÍÂ=lÅ21Æ¢alè �¬Üà%Ný(l’ñ(HóRãQ5!>à‚Ìf«ÓÍUdF<ã]�ð ¿E÷?Bg˜l°žY@º/öåQÐú¾íÄ»'@(xîÓqÿ½Á:»ºc8˜Ö} ’ù›VwYq4üÚ€‡¢€deF*y<àÞ¾jsqyeyyy…nÜ €>Û[ÛÔìDçÔë8F�Y¡}œYù·÷ÏŠ>gßø¥€@/AÔüŸ?Bó¨*Ø­öûÙ¯¿{=€WϹ G dÏhDòûþ'€#ÄïšÂûg-aÜ÷ök+0¾¹€Ð˜|P H"À+�ÞΞ:ÞÒ}˜ƒgyŽÂùn£qo¥іʣ?å|e¬ÌP8Ḷ8#Á?õþ¡ÿu‘ã1Œpµåe‡ú�y…€^*¸Ž²Tq~‘¡î�óšP:¼ ‹#ÏZ ò'�’¡?ð¿[¤}iüÿüK+«­|.ÏÛ>¯¥7V2^•Úho³ÃóXï>Âj×ÖSY'ý³žùöÉÇÿ¸ö±{¤€nÒgÿ”K[xÿ¶¨xÞì¶:Þ-ææø«èî ì w„ Cض¿k:Âe³ÙØÈ1€Ú€`V @øŸÆ–ÿ ðÇê�Z^¥• !>þ¿[Ò1 -�³“iíQU€ünQ$»“U[Ðí¥ “í‚Xû�.´9“gµÙ©ìÇ ù“PQ¡°7ÊG{–¦‰åì—'{׃PAm´M6ò¥òªÊÚFlv¡1ú;&ø&|cã±*à:­Ùíæ©îé± Š #(�˜­b,íò^§ñª>¬àýÕ,àÿ¥b4ÀŽ=öÙŽ+% ÿfFÇ¿Ñ@¥:ªA€Úánèhqeem™ærù=÷@@òþ‰ØÇŒ‘{Lج·Û!¡¿^ɼ•‘BŸ¨8ÌïüyÆÖú™ó×nÜ´ ç@*}^¾Nl`T@n#Ç?��úçþìXË # Ë:õêåËT蘾0€[nH@[¸Š`üï`?k±¥¹fZK÷½=ÁÚ1‚û¨Ðõê/¿LD„@Û`xŠ8uê¼Õ“p°M]m8ô^&ìN‰ÃÜ­Ž;ú�Ã�è`¯ -QÖ\‡`„¦@ƒ…À§­8S™Yˆ -ã¥K¶KpÞÐ7¬�÷³1€@ÿ˜’TíV¾ü³xôù§÷6Eò<Ëg|ÛžÅv¿Ÿvm‡àŸÍk±éoì/ŽþßÇRƒü�{Ö¬|þù—;(@¢Wé>§ÛþÌf„Ûa5f Ø„Ç÷êÍ;࿽j;à`ê0UÞÆ@í¥ÿ~ïÉÐÎgff¨�_7R`ô? ?Áß*�x^«×ßi´†ò©u²®’÷Ñá Öë.H^Íéž7¹÷ì›% ¯`"ì„põðá•@éÈ3kMÔÑöøÇWMêÈÐÿ÷—*ÕËs–1œEpoD�Ú„Vœ!Ôb¶UV^Z¥öC¥žÉòúøGé†'úFfÈÈñ^@φWPì»[@0~ƒÉšuÆð‰ž"½óÐVGm!)‘À—Õ…ÿÁ}•ø¥Þo:Åh€¥ò�G¬V -Hk¥2ÍÝàÝÌÐÏÌUÛÛZ@ö1FÃÝk„ÍŸqO€z1ÛÉ’ë÷�÷õ_þ¿pþüÙ÷¯Ýø% -€Mu(ꇀPì—§*€¤Á÷Xp㪧ëþt¯›œx•è~+Z’aR<±®ä6çΉ \¹qó@o¼�)@ßè_l}¯<…íTÜ!@„D  €™9  71€7Ï3Ž¿@°€Cþ/ñÓU(½†Ó^¢÷°ž9ý �k—P’ãnïï“5wzS1-)ÓI¸ -٥ᆠ\B9À<܃ öª<Á"$�³}:¿‰m­èÖ^yÖ0@ (AR;@fÌ*€ÿ.HsWÀÔröß~ÿq‹¶[ϧø]+Ó:ûõêÜs´“,á?ÖYÛi�ÛÿÝÚÒR"¿c €¯¬|ö(Z´ €ïjºÍÏ�þ2Ãܛ𸻱—Ù�êýæÕûµÐîÙ|8s³;™0ò]a� " -ÑàÇ.;rähåbÿdmÄ– W€+ÕÅ~,°:\ŸqìDø�Á€uïR\P‡tÍæÌ¥UìÑi {g³ñhwÀÉ„ FA(ýL63»`4W±ï4ê«Ú Ð5m#EàÑRé}¥£•K§M$ðóe1:°K$›´¼ í…¬Ì؈„*D¤ »ï4j9ðïs݉ßóøÈÌ#¨e¬xÛİ“z|xã¡ì3'é ”±„ úÜt³°`é¹÷ìq¦Ì xéßÌè -˜~ÊåJÉ�°±r™Ž¬¸ÀÚrT܇¸ÿ¿‡÷Åè `¯#÷ØÕËgä½…ðrôÑâö�1áÿûúž/ºüy bÜ -�F� ðWB 8 ¨à’(òÿŸ¨êǧ{=ª -@“@Ĥ6ï»â:¢ƒ�ž\ùë^¦µ„qßÛ¬£˜áF+ÈT @íDPu�H -.·07bB�µz`>ÞŽ8õWç‹î|º€y]UǬPèGì=¡âò-:×µðŠ7�;€ýœI¼¢H‚ƒ®  1‡uÍÁ¶y´Ïä¹4IÙð -‡béEЧ5s€ÂvÀ[ø…gòl?ÿì�¿ÿÝFë7~Ñbܹ‡²G�>út{ûÓ­­õõÖ|£öã|uûÑFÞk¼;�ÍçùÝÖÊÊݼ1rläbmr¶µñ{9Ë÷ɾ`†}úèáêJ€BkãSíPžBRŽõèKþôÞÆÝYùp �þé6§|ÉçK}œÍ§ŸÞ[ͧk�Ö'JŽ}Æì+fŸ®Î\8rld¬V¹ptdúî§‘�ì+%¢qc+«¹ØÈאַ -Ì5»+OuþÝw€wW6®¶¦³üîÊÊê:�êg>¸‡ûÒÓó¿åùâ�ß,þf±ÕZ‹ÁiÐÝp‡¤»lð÷�3ætp·´€#ëŠxa}³%@åV -Q (Ú°ËœÝîf³òûiXw´^š -ïÿbÒÞɧڠ*«Õ\wxÂ:~â2¬ÃDV…Þ\¨Ñ¸£k.�°¡F€õ´ÏsJ5CAÞµø¯Ýúº 33Z£nB9,¸¨:�Q‰¬\lÔjÕ f4:]™?íÆ|ÊÅIÉGgRÖßk%t~<í!SRA6šõt�©<—�­�Ì_Vdæ³&©€ô�ÇX¤0¦·Çp -ï·P¬wÅØÚ@(Æv_ò F>/ö0ÜVÀø70a=a€0úf,@@DP°FÀÚ¦Ì -€ _0¿ý?Ö�ûí �Z/7+p#€Ç× Ð uxþý3¨ð¡\ÁñF ðÜ�Ýõ�€¯qör˜€'Çêëóó‚¤�€³—¯_¿ÆXTÅÛ1ôH9¬Bœ»zÝUñ -à©{]Ó÷ àëm‡Ø[HýÙsöæà!4¯Ì1DßÙ½‡[b¸ÜT» pqÇ#$?�tÜ’€«ÔÎDP{òÄù³ƒE €1½Ë`VŽs}eb@¹žL -À‰ã¯¨€â)0}t±¸þðáæâôÄÄôôt¾xè¼+b@sòæü²Þ Û�¶€“m?z¸²<ÝhNLgw×��à�Œ�òÊ|{kSbºÑ˜k­osЇ¾PÊãËG_lßßZ[œ¦¿º»kÛÂ÷/¿øbû‹/é#~°½<_)UF=àÜèôòÃíOB¾x¨K|±ýðáÖò\­R­MÏ/®¬Ý]f4“»ó²élbb¢µ²µ½²’Í/Þ]¥�³­•­û[›z­}úéƒO?5²åy«µô»ß}&£# =1²ý€gäéÎï°ÜýòEk¼|µÞ\ƽ+ Šåk»€l�nÀgðoØpx…å“GÜ@e`l¬« Fà±�¬…5‡jéŠHû6Ã.¶²º×ó¥á,ÚºqþTŠ7låUz!*Úr"»©¢�F‹p ­·�ÙYAcllŒ*1�h� ’�\¨”ŽŠ”*Õ¬ÜhQzx!WqA "d6ù.{³|uø#]&±�T�¼Y[˜a| zFøFøÚ/g¥pÝÛ€Ì~$~ûû¡ÐÝuÀwˆG¬P¯¯Ô>ß+‘ŸÑ½­p\ûwÄ�Æ©Xi_·ÛØÇtâ7dýý¥:eþ#Ð'�à¿¿¿¯w`tÚUÔøsŸ^é� §ÙIÞcA¬h3ØßP ü^ ¸£Ü‚\¿B`âmà×Ñ€îûo¸ ¤Èÿ@À,¯ÿo»ÖiP(ĸ -@v+gϸ( -€³ùùZñcGÛÈ}o�· -€fE+}àÕc"a†Yœzó,Îy‚ÿ6þd!PÍ6íÞ#ú&àe€°WžÊëÄ ?šŽ0t¢¶⩇¸; -€… N 1€X–‘í`IðïIL� ÀßkÌ#óg"`?Ÿ0ãT¡ÿ·€¯¾À¯ýãïîбۥ†�0›šXüèá¶@0X{øhc¾ 9——WV–監•j}4ÀC€‡†ñG¿PÛkËÓÓÍéå �ÎBé/ååj0?1ÝüÉÜÝuÞà ‘}æ_>¸¿µ:?Ýœ¨OÜ]¨ã_øRA`e®Z�¨UªA”;û¡_@.D†FGëÍù»+«ËËkk+Ëwççææ3Q˜‰åÕ­‡*ÛÜâòš ÀšÜWnno)m€Í�ÖÒÇ¿÷˜€Ýøÿ¯Ñ°Àÿ¸éA¿žÕ\ÝÐmK«¿ÿx5ÿ^& Ï>ÍG›‚ú;YþÑÂR>“·òÖ'KY5kÝiÝûd�ÁpòÕ;*jë“Ù\Û)Á’üàc¥ÊH­Ô_›Ê³±1eÍ@žµaÚÄ/keóYc¸¾¤�KÒíÐüùøw­�òUúÜÓ ­ ]“‚,(á*Ýý-å­�V6žÝYhÝûX…PÉ–îÜkdwZ«Ê ÿ装YFj©dy>^ÏZ­O„Õ*𮫛K×Ä*7ºR9Z¹p´Ö¨Ÿ®oˆÁÐÉ'ª Ü‘�6îéG.݉‚¬~ÒÎWEsrA9ÏhC™«ó·º·šç>éy�—‡;A0 q½&È}ép 7ÈŽûï >áÔï €)EŠü´H­Ò'YA¸^Ûvl¦4œG$AO_ï7˜ú@{£~…Þbƒá­ü 6M@þOäý#Øû·öµ„u;��ú^EÐËÕoA^½¬>†Ð -À ô_(o€ @:áü/ûð9jý­X8sÆ -Có&@ðÿ5 -@ЀPÚ” €s—¡W\ÐQnÞ¾ñsS’³DPšDëw þûÅ÷àëm‡6²"§‚] €X;À ý‡õ{½~ÒðòK• Cô¢ì{pŸžž.àÄàÙSI̧}ìæ,cЭ€kz"8ŽÀQÍB༗@t\?3€Rx8Bn3ÇÊ“µÌb#.Ù±gê Èdû‹+V&ê&w…ÛAÄ1¶¿L -€€€•B˜†Üµ p×/¶¶`·æA¢Bº+•а)û°õñ£ `Ý1m‹›®émz· ›ñyëuñ—zµÞ¨¿^mLÔëY½>ßh«ùZ’mêµ:5Mw«�šŸé̉Úè�þ¦ý}¥Þúanù_­º~}¹‚rÔŽ·_cQS^"\õF³9‘» ´$� 2qzœ�F³®„ìÚË®©Ð>WYt -¢?A†º,Å. ò½YoÔFÝquHs?#Sîfÿ@¹zº®CÊ|B—j4ò&£þÇ%¢ ÍÓ\Ã{F©Â�)ñxN?ÊN&¢ð¼fÀö,pXóXM8ìØ@ôÐóbx󚛡R¿k,'ÕG3'‹BxéEÎ޳^(qÕøîoq”yŸ³Nÿ»Ïg¨ Uåÿ—Ý ˆè(cðϳ¾îŽˆØtW÷…ÿä!ì�Úí²ë Ÿ·SÐ;ú± -€åÿú3]¾vKÐû«_ߺ~%á.Ü€ù"P„ÊÂl€¨xœ@«ÿ€{ãR˜%àÌ«Vn \¾Ú‰¸ñw¡D€k -à±ö Oß+Oa{±ž¶Fjß!wØêÔY+t$Kþ¿ø/Ÿ¦‰7®Œ„¥ Ís\ð@Èìk‘­ò:I(ŸÎ°,°‡“€´¿K Àåyà‡XðYX(h˜hà_Å×aC_¯¤]ÉT<�µ%€0|TpŠ ðß ‚>ÿìwåøþ„_µm·à*€BØ\lNüD@Ì›ã•jm|º« -àá—Bhe`€МhÎíQäã+oª~"¾e@Ðo”· lÜßZ³ð“P‚p\ëm`h§àK„0ZI -ÀúÝŽà*€å€l�@xÓƒm^€XßS$ç{�¾ìÂà_@@Ÿ¸åšžGïc£ÕQatõµzõõòëåáêh}´YÖ>¡éhu|tvðÚOªÃJªUí×Bç‰/¡BV¸þþ½ýrèôZ¯6Ànµ:¬7ý°¨€€:P¼ùöë£Ú3Ìgt\ HÕ62­Ö_¯¿^Ž‚LT‡)€Î–imb\!)%ÖbœÒLˆ9P"¥¯)éøé×ùM:<ÑlÒq•þfiy†Q Ý×_î/SOd´³ õªÊVím¤|ZéTÝ‘q]l\?F—oèæð;8ù9- ZÎugÅ홳†·ŽdïìGp;>ïÁ^h�ÀñHH €VÒà0©½Î�Ì A1ór�qž™¬â›DéE¢€æŒ -400ÐÏŸ¤¯¯TÏûV<0A÷×èþÖ¶¾þ—Ùcy{ }þ8ýºƒdPÙãa»ƒèpדc~ÙQ,È„ù¡8x†æ‚¿ê"Œå»‹¸ÃŸX À÷»×™‹œ›P6V®¢ˆ1@’ÀÅ)äûš?‰øÁ~¯%�ûÞo;ÍN -í¡'�£¸ -^ðë²7»oü‡V&À¢ØŸø¶†–C~[HXÏhPĘ[¢!ƒöäY•õ&I")z˜: -Ð$€Âʼn…p¢—(A=Ý©|=yèWbú�®ÂR–°âi,!‘fÉ쨶CR€À#bì&µ‘ʱÒáxÈ ÿ²] -ÀÄÄ¢¼t+͹l±ˆhÖä„wbä™?ž»ù’ÓÓ» ~¯ÀÙð(Bû°Wꈤ<,_b·°ÜQ¨øIkíq -q� ÿ1ãÖú$Å[_ß÷ô—xJ³sÛmÍK­|.›ûp.Ÿ«OÌႸ˜}8'_ù?'6�.‚óV½ÕÊ´¯µˆ2Ž-æ««µZ³:6Õ¸PºP«ô—*Y­6–ecšåÙ‚ÎÔ/šÊZ-*òï´êÃÓ«ºbsŽZ*dæ¤û­ÖòLwí?×u´!·¾•Íe�¹¦’-fù¼Ë=Ïç&VU•#¿47ÇÙ:LlÉotïTâÖŒÊés?¨Ñ˜Ôi*£~êTc’؎Ί.”Ë ÷×Ð%¦õ£ Ø.HÞ¬Ž^š“÷ßÔEUÂ\·*ÏgçI¬Tysqc®™-kçâs}ô� Ì8íü£ˆ l½áCV´«PÜ0ðMª4€k š<§ m˜ú°l°{,_Ãßý�#äɉ.À7ÑxΘN€+š—ËîX“dï@Œ "7ï¯m¢0à~`·Çp5 -@T„b�÷{LÎÿe¹ØÚþÿè2™X€\–ïm€ùäóÿú׿úeR˜¯K  ÐkC¿×Rìÿ5f^ózjpæUgv#}ìVκ9"4àŠ€®¹Çì÷·áÿ{à)l·<@θð²3€€îBØ�ÿv¹ññõœálŠÿü½–ðÌQ çބÈzg:Ç }âÔÉPØýh+¦#d ëýmÝ�€a‚Nœ¤Ì -¥|’�¾KXñ5V Oüe¸©®ø·Mu²ÿþÕ—„l´r±*•Rßá4=F¨E @Gˆ€Æè�<¯PD8/^@Š€l§ ”Â+ï01ßöð!ÂÿP‚„Ð!$ °ûˆðß@×ßÖU¬1;ª–W6Q'æw)BŒ€´øT.€ÿùòï>u@QßN„`ks¯g4•g§ â¯Qì†iw -Üzña6üahã©é L¥m, à'ôt¬26P«] �Ø;Œ†ri%s}³Ùj£J7€5®[Zçx‡†‚Ê^ð«l«Õ¹v»×ß7£·b¶tÉñTQØpÍøBŽå›š�]XR.¬ë;xo’xCÚ%\3ü£D5JCd£‚PQPO©ëǽƒ´ïK ×…ÿ¬(]jÊxI¿š¬ÅZêî1áù�GÂ^Öx�Óï�^è«O¡èk0÷†1¿ÔÕ ' ¿àZ¼ðB_Og4@'HfP˜“§ùãj:³�³U¨oÐ!‘»$ P‰!$€š®,¯èÿÄÀ�ñßrÿáýý€‘rŸéʹ3'húæøÿXà—“ý#Á?Avš„Åî €óÄX~÷ï.‚Ï20_ -@§`þ†þX+ÊŸb]ó×pEÛK`(qèÖm*4Ú -¥¸ríV7ë Õ?,­'�ûÞo{ÍNê &¢¼Bí½�RN¿ 1ÂÖãàôß!KøO ÀËQŠŽù�Ÿ /Vi0Ø­ ž*Z¼þ{×5Hëk)_× ”�rÐ -`ð¤JH U†�>(mD4 !©b=ÝzúŸ¨°l›�%°ø}…4šø`†,;¯Á¾úJ ûéVõ°»k3üËöQöÄ,[¨w+"‚è.€€¯Qš©ÀN À|R:Uû*Ë…ð¥9FR*ûÄÌQp× -@¶GÐçÓ0€c|Œÿ�l±µúûÏ>ÿ²PŠJ€ÀY0€P|ß5{‹þøºL˜—°6¦FßëÂf7á“¥Öp6‡…Àiz¾ p!Ÿ£é݈é¯�ɵ®]¼ø®@wL'N½Z -„‰�÷‚­ Î…ÂÔ'ü©Õ¨„›«VåÂx]ÿŸ 8Bõ…»ÕìRDĹ -Ò.›mˆ(Ìfã­­º!vz``Z&ŽÁFF.TŽ•jCÕv¾(ˆ‹ÑuCšÙpýÃô“ÙK�²I®¢ëÌŒ×óT�ç2}‚Ô@f̘ïC˜÷F Lðe²/ŸVÛ= -êcŸ3ã””×h€Ú' -ú·§&!ŸýŒÝ"š£Äœ?³õ÷—Ê%†¥@™yÀPÉUJ£ó‚ÿ5¢è -`�î€äýïß�íooì7 �…Ï®‘M -@Aöµ@×n»€ -# xµv6ZþÿŠQßÿàúÍ] -À€ø‡ÅÚul÷<�ðê¼qM$‚ €v U—¯ßº•ê껡¿½õ}ÀSØ^ø·7.pBëJxœþÆÇ -ÀñCÄt{Ø ðæi�m­@Ùj%€ßqN:ð®ï:„låí @ý0qbÜà ÄÃç1,€Ž¡pÙ(Ÿ³ŽŒœ+ßöÌ;´HhñDKÀc0j›€"P–Ü[GgmÔ.t@¡hÚ~øàÁC‘ýõåù‰J}^ ½~W/æiª tm%Ÿ- e§ï®­,ü˜„‘Öï6õŸ˜[^»¯=þñp¥RÞëËÓ?‘Ë9½,öÀëûå—_’æKeôÅöVkºY¯�þDÇa$‚9øT2ˆ^¬Ì•ûJµÆÄøP©2¿²ý¥PßÜÁB‚ÈÅÊÜèPu´®‹¯¬¯¬­ë ¶¼xwqq¾©+Þôç§›‹‹vläÓln>èôkÊ[Ðþç­Õ�ÿ�vUè(ÅÄçL¾öΩ®Ëbõ‰Öh9›Ð šþ�»À¶p¼ù¥aÁ¦ƒ�úÌdæÁquX¨Þ¨+9z¬Ö_qK»Úؘw’¹ìÓ{ÞÔOI9;“7FÜî>“óÍÕ‚’@|=]µUÎ}•FýÔéªP'Ä峉ñ`øäu];Ëggu¹ z!’ ª1›�‡›.æ�1æ5A¿ì"]6މ­”j‘O6ú×Ý@œ×éE-òáÑŒÚ -jà‚4#ëÆj½ø¤g¶xs€®áàëË<ùé�Èx롼d §ö¿ÏîCX'Àçi7þ?ÇÉ€éEW(¹�òMf°Ó¸ð>¦3uÄUAWž›Ð§_È?Jd&s†¦'ÀÞúF›‹‚k›+ùÓ@ÿ1Ô˜=f8ànÜoOBÏkç­ ·ò“\kÖsAìûçÁ] -» -€¾ÿnÿêW7®š ¸ -@h›€¼w€Á>�?Ë´À¼Ÿ]{ÿ, -kŽ#°6éoEO€\ ÄQAàVÆy÷0ˆ6 R�¡²HGôÔ›–°Ë— ‹Üüåz…ű„_g“"H ±‚„àa�ÊÓn ¯{ðpûѶf"kwç›C•¦Pse±9Z§êü®ã‚D ä5ŒŽÖçWôBà¾Ba@!`{ån“øôòº ØŒsÌó‡�D¦õ¯5ï.ßçˆ^…ÿp€GÊëÑrÚ룣"›Vð·> ×ç‡úÊÕ‰Fuh`hzE9“»Ž¹ÂÃ÷׿èh~´9‡û/ -°²²¸rwy~nZ05·¸¶¶8/f¢w››Íuޝ»~ ô¯¸ oývãwx² ëºùÏb>Ý–p~bâÃúð‚8»XÙ´?ÜÝ©©ÙæpÒ»uŒJõ™¼]˜š©˜ '@ê»ScïNÅh{S³J3C§3Y³ l -JÚ‰F­ÉHAºbáè×ÙxuÑ„ Nqäw‚}u]-¯W£ 2[­Ð—=Sb( ³SÙj5'D�€VÆ´6IWHµ²�]Ä}]Ê åƒý>” ×3Ê »Ä~„2:cŽ�j�Ëê'<�…'3ãtZK ØËJ(ZÕÌn¾œyÏ5{)b3BPáÍ{ò‘IW |¢œ§sœx‹l‚‰$àùãè¨L à¨[f˜¤ŽúúzûkMþ××Q6H]í«àGï5�íÏÏÒ›¹­Øàï²—/ø>=ý0“»/”—¡\£# Ë$èRh(§½PÀÿ§Qî—>B÷Î,e&à¿q½ˆ(èB—àHŠ£�ºhÀ|ømØïìI ÷½=Þö‰þŒÁEÀñ“†IA, RG@0€npˆ:Äwþ| ©€ÛQ€v¿tkú¾ P{ê,(�…ÆuOâÍÛ“ß« 2šE莈lO¸¨>�œzÝ5�ñ_ÿ½ðZäÌ·0ó– -¾Æ€CPÛŒP;ñßU‚ãÏ?ÿ'1€Šü¯°ôOL_Ÿ ö®ß�›¨M4ççš� z `íîÚò\s”¾Ãš"ä¤ËèÇž?Ü^C�Mßµ‡/ç�6þˆøî&èáÃõåéú(’üæƒûJ�JKø’5åµ½¾(‚Pªß]Ó�«\¿øò+•]¿’•ûJ•‰ñJi 2·¼m@%€~ÁµQ&¦ç+äÀÐ�ÙòÝ»‹ùtS;çïN ;šwï®Ü…Ê˜Ñ Ø;ŸO¬nÜ÷@]ÀwSwuøçólX·czg¢¨åÎÆ‡ÿQ{@;0/v¶-w€ Ÿ[Ð?+`y}jjᛪ](•þ`,�<†ÀÁÙ©Ÿû•ö§î6(u6\ †œ@j™=ú0€ìQ woA2W°’7”[–›ˆ¨$b"\…²ÍŽFYeĈŠ�Àý�AP #%ûó¸û5Ý®%&âË¥ȹ�ˆH爎56ÇM´ú&µÿmÞS¬¯]pÌnA»�÷=E?À701á�{Â|†¾ìëêÀ{ƒ ȸPÛæ‹Ù.‹3]Œ�r<� D/€ú?úýÿ\a@ ™{t?úY×ä@@ZÜ×ÿ»˜Àþ€¿Û@ÜŽàW L+ü=æ.€õ‘ƒÍìÜå÷ÅVn_¿ìæ�Ú‰pöÌ)€_Þþ•ûJA€TÇïTc¤+>Ý3€sTÀ:Ì"º€Û1 À�ua¼a¾ËÚÐoûE¹ïíñ¶�ÀÇ8´‚•Q°ƒt+€k[ÀÕ¿m¡à*®uâäÉó§‚DÞ$w´µÄöENŽEµ5ã|�xðåÔð üüÈ€,íîcî @�?¦DÎ#,åæ»,Kpñ5Và�&ðd/µÃHA›«­$–þ‰ï‹XïÛ’ß/Ç¿RòðqMB£+Ë«këËsÓÕ¡ÊÐèD.ðHñϽþÅýÍÅ:ÁôâÐüÅ®éC‚› ¬ß gsqýþ£¨Þç4’:ñÁúÝ鉡J¹¾¸ö€àBúøA! ƒëó¥¾rµ>*oehzS©¡õ³¾"ó‡[kóõJEþá¼¼}90ë4[Xœ›þ εàntyÀ `ñî¼ÃÂÒ÷<@Q�ÝѸ³m  Û‚g±÷;SÛ²úðÝzý@°Ë!/,o ã¹g�Éž¶À–ù»ÂøÙ©Ù÷ ¨t¬ÒW& -°6"ü“û�ã èÏÎÌÎÞaõÎììäÜ(>4دÛB  ÏjÛDZìÔ‡YÚ[˜ ™‚L6¦–LDf‰B€kxd(ÇlV%r�І)†.RaCxoJD º*¹p´Všpxƒ<²EPàŠÝi�æ�rD²ŽmèQÔ‚Ïláú k™¥ <6Îâ`³ðNppw€8ýDÈHª¹cèÈ>'NLðÎú.Àã"‘‹Î|§9Bü¬jþ¼}š”+‚ÿšþ[y ¸ �þR_o_Iÿ½ú�@¯¯¬m®kò{�:€ûÒËb§àï±kׯžïŠ€0O€¿Ûèç_ÓùË—µÐúåó€õM€œs¹Ü(ö¾ñÓ=à�+I¸¹Sx,(àkÿ¿WÎ 20¸u—`�b‡ÐV„õž~á¯AÚ¾áum%�ûÞoû*¨ì�Šôè €îŒŒ=ÿæ©“®uO°jÌZH­úÛ˜ÚVÀõ.À¾úIh@½‰³t¾R@Âk'!v³îRÀ6Pˆ8È¢P\u€¤ ë¥o‚Ô;‘ -²@Q4–ü0/½Çà+O_`Ž J�R†ÿ -€»üìwm  0Ã~˜þÕ×7­�ÏOT0|T¨0=?'wДMO�UL‹+÷×Ñé�ÿ8ã�¶åáß�Õ[zúsÍI` ã›øš€Ø]‹#•_lË…ðèþæÝl¢6ZiÌono?²ü/ûòˇ_lo?\™® ”+0€ÊâÚö—¨ rþÓEDæò¶9=w}s“^L„ì*öÝ»4ÐEGG«µŸÌ»5Ãʲæ«m`-Á­6•-~´zïÓÏE`;Àw3î¬@²¸ùíÏS[`×¾öáh9þßAœ/Ì�w¶¹áES F6¬S½>Ù¼OMMŽ9zôX¥¿Ô¨ŒT` ôv�.pì´ÔÐó_Ö¯Ûä/U‡s„±‚NAÀx›@‹%BD„îxµƒAރ̅sNôuIÞû©fcb(•‘ • ¥ú +KA(Mã®°‚‰ŒËvS"瘭!b#&MIî²£¹ªáª%0Á11Å}iRL”ºÕˆû?ÿsm¶òI¥2é’ ~¬ ADŠ‚`"‡ Hm|*ta‰æ,À–c¹BdÉkø;î–¤b‚c�L¬0eNµ)gYæàãWø+ÏÇÀJs¥Õl4Z­f½QûlóõùÅùùë7o®®~úñ§Ÿþeú¬­ýnêeíÁƒåÅdJ#p²â¿¶šçÞ ó<ôûý<ÏÓ«OßQ ijš?¦2€ãÁ TÉãsýá oììß8ú½^¯×[ëõz«kkÒXi<\ô¨óxBÞ¾Ýün{këíEÉZ-Òf*o—µÚÝüàF£r-x‡Ià|(œ÷ž�82*ø¾p\d@–[8ì|ïê"±F¡Üubm’$IR%CD]a€\WK"o䨲© …sÞ‰ãøÔYá¹Y°ÞgÀp™ª.„ +gŠ l;¨ó;õ“§ŽJ7Ä".03Y2”Ì%ÕªÙ&bÀÀ9rL^=2çT\QoŠ—ž�c…sÞÿvø{� âß÷ , òÄLb¬PÜò"5‘îË¢b­ÚÝ,˜ÈÕ·lmW`ÈbÎÀlachÞ’ *3Y"SzœŒ V«}R«}R›­Õ*³³•Ê'³³Ÿ|R©}3€‚ˆ1éiš†Á` iJÂVÒtÎ +Ô3u­!¦U͢π%J ÑBŒ„m€Ê$†CæXíx“ãß+­ÖJ³Ùj¶Vêµ…ÍWççç—¯/¼ºúé§ŸÞL÷\»y,Gøô¶&h€Þ°Ô½ “àë/Wógƒ|º†y”ŒÝÀ<ÿC> ‡“)Àþ»`Mz²¶Ö“ÕÕ^oµÑx¸Þ~Ô¹Á|tc øÝöÖç7<�šŸ7�z½V«ÍÌÖj3o§ µZ4¸3Æ0†@$5iü-3Þq<Іs¦p.¿êáº]€»c›´Z½WMîE9;K”Zk‰Ù1@±¶f!‚§¦T¬2Îñßí:;Á—¹Ä9(œ‹[ƒÌbwÀBd —9/¥ü'‰xv .ywÂD&1&M�¹7g’¹tGÈ�™ãÈÀ9/Þ3‚˼z�è<È;`¢àœ÷RŠçÝ +U§Î‰Lé„¿ãu…‰ uQ T‚‡ ¬±–œ%VØn7Í2¤ÆR*Ñ»›Ôx“m€ºÖZcïbœ+¯÷SM€¿©ÔfkµÙZí7¿™��ýd¶R›­Ì~R©Ôf+•ÙOjµZ¥V«,Ôf+"Æ|‘¦i[óä ¤©eþâ Š›L]&NçR¯ª¬” ©PáH%K$È4ƒùoÂÊ)+˜•˜Ùüj˜ùÕ§ÖXYi­·Ö[­f³Q¿[Û<}quyqyuõæêê_ngÓá?ÎÆ:�oÀ` +n÷Ÿ£ÐÍ=À1 b P2�†Ãkˆœ€üøô]÷€çÏû=‘µ2èõz½ ø°=�+‘X{'(ªÞ½;•TZÿöší&D, Õ߈Œá,s@Œ|m Å©FC›ÿ?yÿ÷ÜÆ•¦ ƒ‰ D’¶p À8¸1ŒdwPÅœb%“ +„BÎ4^(»fï 'íS,ìä‘N"[(™´¿æbQTu3ĪíGGE(¢¶¯aºÌ¨ñ††êV¨b›Á‹ŠQ¸çsÏ^Í]ÿ µuYë[¾Ø‹“ €¿dI®ñÄÆRI‰I‚äûäóþzžŠeYF`Ák—^«Ã0,«bÛ�°l[¶ ¥´‡2�5qi¢£–Ô #èt¤”{ƒÁpo¨fçe0„BÊ¡Zη;�Üë(¹ûÀ+P•1ˆ I{ š +±õ°eXÁŠaYÆksssFØö@Šp8H6׆ÃA|i)…ݱ;Õ¹%cM{%¤R›†…a…B ƒè·�JEÜ4„°£h #ÕUì ƒIË2,kXAÚ–mÈN`V°¢Äm;4ìKË7oÞ´…eY¶ae ;ì ŠlÛ² öÃ0ÞV¶5��œ®ª]×uBt’ÒuMKÅ�J¥t=ERºFˆ®]OéD':!©áPÈŸï +ìWfÛìKv$ApS +[À@È N_,;¢A$¤T‰^Gi“Ø–-miY�Äö…/r^ŠTÍ*sY•™´X ëvüégŸž¬œf«KÓ`>3•ìNS€ú£»ggÎdÛ§ ¿½�˜�Õ +¸sç|èwO�×Ý¿˜m&“€ÓA ó|­J‹EZ D×ÎN%cÉkš%g!@!@ ;Ò^‘!… ¤µÜ +Ô,i…Ê“&6½³âå#ì•×^«++öÊ­À6„mÛöZH):áÀ&²à¶-;Ò6dH!a­Á­•À,[HÊ éžY–e[BØRÚQìWÉέ½Ž4âAäć;êÈp C!Vì@V%° {Å2*—ææ*+†Zn„ˆKæñ*±[J[ +ÙéH!#È¿êCŠ(P�>ÿaEa˜„¿.t¾N¤’Õ@R‰ŸÐ Z d¬Kj<ß¾iY†�vŰlUd·lÛ6‚JÅPß–˰P‹’a¨i)MK¥4M'$—Jéy�è)’"D'ºžÒR:ѵ”®i)=¥ë)�¤4¢ë)¢§躮§ô¼öMÉ@�€•xÜì`Å¡’ül«bIÛ†¢£,€T·1R†j-p „°ÅÍвå­À¶n¾¸€eY/å\¬šŒ±jµJ_!¤ù±Ò8>>~òégŸ^ÌN§3 @ÀÚööîîŒF£ííiê®@€èÝU»ÿIPíŸýñyñ¯àþöÖ©ÓsoÜX_ÿË$Ps3 àòסä™Àw +„$5‚¬Ó Æôl£#ƒ #¥´mѹ¥Dee¼X–ºçªmÛ°i¼v©b¬Ø+++¶]vˆ0P62ÒVþRJ[Ê(°��TR¿–-#i+‹o)l!¤P[ù–âôR†vÐQ ºø/+RJ‘”Ñ@Í+…�”ÁMåuõš´W,K¹¶a¯Ø¶rµƒÀ6,!”¾ŒÍ5b[ HH)CkÈaGŠÎLøG“»¢¾wnPÆÆd7WÂ0�‘ü‰”rKRFÃp%¶¥TÒ¬x7P +ãÒ%#þ±bÃnå·¬ªnö’eXÁ-;ˆ";Hiš¦é)õ"¥¥ôÉM@ŸÀ„�TJÓu’Ji9]O È«+ME¡WV‚àû +”ËW`"’·5$lØ7m;RF±íŠeah+O8˲¥-„mVe%Q$6Ôß/òü2]À"-PV­V)¥’­txxt|üø³'ÇŸ}öéÉA ó@¢z2ØVЋ`ggªó·³3�³0êõú£þd°>lo¿w^ü¿{lõê7Ö×ÿrýÆl `ÊÎù¶¨ÐŽ=ÏÝ"„èäX2†€xö5”2Š£Ê™Kv2öê b‘=Û7ã¥WaÛA%lëÒ%Ã0VlÖA%v¤‚|0�Ò„ £�­&ñ#Ûê„J#$�¡ºt •f�ˆKˆP[ +)…ˆ¬PÈ0P É�¬0 †RÄ”B]3ú‰uÓ�„eˆÀZY± £RymÅ^™-ÔÙ¡­.(þZQ ´F¥”²3ZQG cQÛÁ`¨â? <l{ÅZY±d Vd¯Úa,¸"d`ð Ë^»iÛ¶!l«’©,+JNÁ¶—¤Q1VV¦`Y–•"Úwt’")-¥iºžÒ´¸ª“Ê‘œ®@Óµ $ @×Sš®ë$¥åÐ' ëy-•J¥Rº¦i)MÓt-§kD#ò4A`ÛÆÊŠ±¢ö±#ÜA`+v ¶ c råDÜ4 ;&/†a­X/öü’sÔdUZ¤”’…úÇ�?~|t|üä³ãOŸ%BÖívßí�îîîÞßÝÝÝÝ=ÖÏS:Må'�Öõtì5˜Nkg†ˆ¦“ôìÿ�«bPƒR#TÆ»A$# +iGÒ–"¡B)¬�2Œ²+lkÍV¥R1V*†eË ")¤-£(DQhI„RF" +¥Â*U+1�ƒ( +bq!J!2´"¥'.dð¿Ki ª˜ l!‡‘FQ42ÊAEVG2”2C[HÛ6Bõ i¬•Ø"GYæ¡N¤NRZÂŽM¶…-ä 2Ä „Œb0þª4®çZG¡qSR¢ Š‚po¸×±‡ ÕµŒKË® [(§˨Á0 ,Û2T…nBËUì¦rzФR)=Eâ9k³ @×t=§@K%5]×Rª@ˆžÒ&E@¢“”ž×âÏ¢€E׈¦‘”b©„*¨+§ˆN‰F¾ÿý@È êD�aÙFe"h–!„°ã ض½d ^| ȶõ>„V°*¥E¢ÁÇ��=>>>~rôä³£=Q]Ñç¥ó™ù™øï% €^¿¿³½½ý^vþggÆ êµîN¿×ïoO`»ßW Y +ìϺugºÝÞ 8‹ÿçõæY OSýéÑ Iké´¦ëi=­iš–N§OÏgÓ©lVŸb‡&©'k8Ld€‚HBK ‰íD + ì@ù„‹Ž°BÜR¨À +„°ŒJŰ Ã¢›Æf^IiËØl4A$;¡Š@ÚB +Ùé )C©K )¢ÀФá@¹mEA(Q$¥ˆ@vö+2 ‡j;)’Ò’‘)¤Ø‘ l#T»-†¢¤�m+–mËÀD, ¤r ãÞ¡Ñ +¤ …£½�%¥FRJœ ÿÀŽÃÿ¢màаe ä0º%oGA4Ür ‡Ãá ŠÄ@FR••àf$nÊ0Ñ@¡e‰ÿ[”Ëy�Z|§×4•·/ätMÀ ˆëwS Ú{:Ié)M'q ¡ª �ÒS)m6P÷ÿT*†•œú×TN×R)BR)]'Dûަé)MÏ�ä©2ІQŠ ÂPFí…b ma yÓÜ l!#9�È6¾U`jRJ«ºÕ*%$ úéñÑÑÉàgÝ®×»âº02‹™y¥xŽ+ÈYÀvÿ½)Àhgt’«÷»ÝÑövú§`Þýñ�üîäüøÇ?þñ»?¾sNâÀúÙ9€ nÿzV1-�ÖÓZZÓô“�Ö⦰>­Hy†ÃŽ ƒá0 +��É`ÙC©*c��Ü‹„�Q'°¢-eÚ#BaÛÆÍ`e嵊QQR€CaG„2 +~"B;´;Q$åpO +a«K" ¤´‡2’��Jvb)Ý +Þ�á` B1ˆÔ¾Ï@JÝZB");ƒPŠA mÉHáMËDÒ®(�ý•Š5‘ºµ¬@†ÁÍPJÛ’uó—r ¤B!ÂA åíΞ!Â0ê�h(N†`?3ü¥”BFòVGv‚°3ìážìtþßRF!÷RT.YÖ`Ï…Þ D„¶ ‡år9¯îº©TR�×u=G´Ñ5’JéºFT¤žÏRºNH.f1PM’ŠÛ€)MÓNuRZJÓRzJK¥4¢iDÏÅ €�ÑuB4¢§4-¥çsÉÓ¼€›¡l{HFáPÊPÚ¶-­è¦-ËVCáFd¯$uÌç~ 0)Umn• ��=>züäèøèèøø³Og*Çâz¼f»”Yšµ 03 Š€½ 8üèLà$KïvG½ØîooŸªнsæ©Ûí�vvwïïþâ¿øÅ/~±»»«^îÞ¿ÿþ/vwÿþÆé9€ ¿+z ‰MÚÙ…`]×I:;Å-f Àâ¶Ý —B[ÈA$m9 …”øn…2èt†ÒHÞ …°-aÛ+ÁÊk—*òVl[JiØÂ!e ?·#[FQ„‘PíÂí›r0v8”¡-¤ ¤-:ÃPˆŽŒ¤‘ø‹p Cª`8Q´·7´l)ä@D)£=ué(åhmÛ±bÛ¶0 èT.Uâ>eÚö­@†”rKÚRÊáO„Ã@t¤�Q„ý½¡%¥ƒNg F€Î ÿs‹€a%ˆ{ØQŠQt;ª¹7ìüß…”RDܬ¼frÏ"n"QhYCíÿ_ŽŒ¢a†A`Hd©�O9”ÒƒÀ¶ÛíŠõ­ ™Ìeuæ2F«”�æG�=~||üéÑÑÑg³Û€Ÿv»¢Û×»gÀ©" Xë÷c{ð ôU\'2 ñ$àÎløß¹³Ý‹`{Ôï�îªj´Ý럀ëçœ;ýÑh÷þ…°»{jàâëé œ��tJKÇe"BT3 «·1�Û¶eö`V(„mF¥bY†!ÂP†"ŒRR7 97…eÛ–%mË–Ö¥Êk†aÙVÔHaˆ@„ƒa¸7”ÃË%ж,£R±¬C„a$ÃHFB²ØF8�5ä?�B£hhÂH†{{{{‘HÉ åp('§e¬Ø–eTŒ›V<4wiN«¨ä]ihIaá@†[¶¡ø‰ å0Šv$#)“K‡ÃHDƒ� Ά'i•�s”âP')‡·oECCFÃáÞ ÄJb¡Q±E &ov†¡m‘T*¥B5]!³ž#$§éºFt¢-¦÷yuãOºš¦Q]Oé$�"©œ–×u-þÿª–�#:ÕQ®OÄzŠè„è:ÑRñÕ4MKi$•‹‡‡O|LNÍç’ (ß·ƒ@†¡ª ‹Ø«È7mû¦m¶]‘+†õm‹ÕjÝu«.cUJÉ‚{ðàÑãß>:zòÙñ“££Ù>Àõîõ®¸ÞívÅ,˜.N«Ýµ~Ô[ýØÙ�vN2€ÉòPf¨?Ú~¿×›Å€~{{ûÊ9gõzç™ð÷'æôt<Öuæ¤u=Nü'Ï''�µ4IéD×S„,¤0�g„ b™îØÂö0^F2è ÅMCy@Ka K¬£bTŒ%keÅ2VV C‡Ca‡Jç[y�50ÈÀŠ/½V±…ö0 ¥ È¡†-¥Tv¢öà'áÏ¥ü¹„¡�+vg8Š ŠÔp,Že öíÀRw~#S™«T*—æ,µè&„°í +…ÈŸÈh0�?؃0Ü £Ÿ‹A‚À +Ë’{Ã�”Q$#i_DþÏCvd0T¦·nG22Dg/Ú“2 5ò°RIă@€•„g^# +É©þ\>ŸTyuBTÜëzŠèzJ#”hTOBÈ‚¶@4�¤4��–,$Ü.—§„�\žäNå‹)�¤Òjm(¥¢QMÓ‰žÊ刖ä–ùx“€RÐíax3T H2 +•h¤°í›ñwÄV62vE¼xøÆKƒLfšÕ*s3‹d>>|üøñÑñÑ“ã'GOfAºÝ®"×O¥‰Eø¬$è,l÷ÔBOâKß=åÚëõzÛç€úÇ÷{ýþ³‹gž3«ý�ÝûÏ<3]]OOãýTøgµdY"nû�ÚÖÔ‡¤ Éjº®§Ñ:2¸¥ª}RÉY+H‘´²× 5Ö²bBDá t:ÃÁÞÊpF¡m[ÆŠa¶•¹47w©R©T,ÃR `YvX�jZ@ +a KÄ#�¯Ø+¶b £pЉ†Ñž5ÈA˜è“ÈÀZ[²,¥2¤|t,Ë +a )•7�P—la¯¬(lY¹d•K—.)×­@ù ‡{¶’:Q^ºvX�še6¤ªk'—–R^�û_àP‘RÞRÛ‘Á-F‘!ÄPî…rбƒh ¥\‰…¼&‘Ø>Oò9BH.Ÿ#9¢Ó²PËSJÉçó¹<¡ñ-; cªÑØCŠ,�ä½t¡œ#„�<%9B +ó„,ä)Íårù|>Or9ZVŸ-GH.EÑXJÓ´!T{%o‰å)ÉÇáŸËR Dc´kMÜÞ¼Þ +lû–€XC&Œ5Zl!ìÀ¶ìKV\yùì T(šŒU•(˜I ¤þÑááãG�=9>>:ž1ë^Wë5B³�IH@æD(ŸfJÚk4�F»1üô,ôû½Xÿë¼ß{¿÷þû½˜˜’Ï¿Ô25«¬.«š”�õ�>~|[ƒÍz^ï +Eº§j18ýQßî�âU€I + ºwwwïÞÝýô<ÐëmoŸ—¼ÿþû￟8„%ÁçÀhçÏŠ×e&¥&5©i2JõIÆrÕ7«gÓé´®&€fãý 8UP¹í­ ˜èÞQ§#›[*±eF [Ê=C*MPn>JèÞ¶�K¯UbPŽQ¶mÇ·é06Ü’B²Ó‘"RoÉaEmÌa¶C)YªO +e°¡D…b)ɼBX"”RIïHV¨èD\˸d•Ê\Ų�••ÀK™V‰H©�ZqxÛ)D ��Œ›Ù"BXRÊPLÿ3 ÿÎùš¯Ù2‚½@ˆ¨#¥¼=4Â`¨:•‘�Q$åÊJ‡‡Iàtp>“¼˜�代µîh4€þlðoÿvgwwçowvÿvç,ôÏ+¾ß{_΀~¿ßﯮ®®®ZÛwÏÀ¯~õ«_ýêÿg.3MÓ¤Uj^5)¥”¤Ói�,Äý¾´¦ëi¢ëDÓÓi�¤/læèZZÍéz:­+ „”òŸ*!;·÷†Q,Ñ/+jjFmßʨbK!‚5¡<»CÅ¢WlCMX•خ¶E ƒ5[t’KG‘”†”·÷†QVå1§‘²oFƒÁ@v¤°£Ž”AGŠ�´UˆwD`ã}`[õ +eGþ$ …0"y{¨ÔAÛ¶ç,Ë0.Uâ= °„B +!¢A4T“>)l)E()…%dG +{(¥H¡z[É’ÐÉð�då¼siŲ£[{v :2dgÄFQ(¢h åÊD`Ûåä0Æ X.•KŒ1ÊjÔ|4N­ÆjÌqeŒ-�ÉJAáE�0J)lB©T¾ª0„1V€2+—ËŒ–jN£æ`�6j5V«9ÀJ”1·Tb¬LËeZ*å)Íçœù!V*MØFX™•ʬ\¢ŽƒNÍg&:µéa·‚ïÛ1t:±¢ˆ"A àÒÜk•—€—±3«¬^¯C½Þt«¬ +÷ÞÙxç�{¿oÜ»7£¾kï*­­¥Ó5€8 ˜�ä�s ÙÞ¹{wggçîÎièÍÀD Xuzï÷ÞûBè÷ûkkk£~59ÿ0›ÿ»Œ1JM“–LÓT?-]×tÉ:ÑÓZ–¤ I5–>µtԋɬ ¦ÅF€[2RK÷BZ²óW·oK©$óÃJÊN eGÚ�V¤r�†ÃagÝ´•pÜÊk¯ò+¶!Û–"”A …F²£îÿ)C«Ó¹=Œ:jp“‹ÎPJaÑ^Ev:RZ2Š¢¡¥ˆTøÊ.À +í¡”rË +[Q b!CKÞº}»#…ZO³.Y–QI€Vd(¥´ä0І�ÛC!"µH)¤X¡J)‡±8ªEƒHÊÎ9á/å¹0g+ñ²`²3¼•0€( +…rT9Ó›±i²»jš>»zÕdžç8`šo€ Ìa5×e¬:¯)Ïx ”Ò’Ã(-š&šÈLÓd”R“šP@“šo0Æsà€[`Àc ˜KÙU¦ltbŠP „,b¶˜IMÆ(5•ÙÞU“!cWóÀ©½aº.0âãÁ÷í$èÄ‚A N@åeÀ‹»(«²zÖ›ëÍ:«šŒU‹Åb±P¤Å"5ëÍÉ™Ñ×°Œ¥Œ6ÃM�­­8’ïL YãÙŽc9€äœ€÷ÏÀ{q +ðþÙqÀSë +~qÿþ¯þáW¿ú‡_ýÃýû÷ÿa&þc®ú1_5Mój¬ä£ëšžÖÒšžÖÓz:­¥ÓILëégLtè§«‚³·ºPFR,“2Š:�”²"¥ìDÑ0èH)åÀèHD–ˆ†‘€PÁJ`©]`ÛvRO2”¶�ênªØ„%å_íÉŽ”Q¤.-¤ìDC•.ïU:RØ‘DÃhØÙ +1ˆ†ƒ Ó‰‹ÖPÊH"©jжì(]RÉP– +lµ¦vÉ2V*#°ƒ[A ‡)eYvt{ýÕp(D "‰oi B)Å #¤ #i[²ŠPtbµ€á/å¥sÎÜk#P‹}AÈNçV@…¡Êb„l˜9Xp�·8À˜{Øâš€¼Åq\àˆã7XžPš­1†XCD@ÿM€È[>¢¯ŒÞ9‡Üøà6Zc]À169r@pßdÀ@¨1@j�-Qмµï{è!¼á6]—ÇàØo "4—‘{-e#‹o¿Ý²íIÐ9Q‚›A`YÖ¥¹—¨¼L +P¤Ìt]€f³¹^¯ƒË%$K4�BèŒJÞ,,N s’õû^w$¬þiHÊÀû½÷{Ûѩ¥Á‹Oמ¦*íÿÕªUÆ\æÆ €š4šN§ÓD~<ü«.š¼pÆ+®èªT:ú¹Tb¼ÊHÚ2Rþ]‘ìD‘ìÈ(¬Èh/Šl1ÜÛ‹†{aKѱWl«R©–m¶;" DÞÑ^©[m´'…èt:2’¡Ê@FaEÊŽÈNÔ‘�N40D4Œ"[Ü{á´£H©¨ò¤5¥”)¤��°£¡º´�áPm‘”AGضm]2V,Ã0‚ °+"ŠddËÎp8Üî…v ”T¡BJk 4FDGÜŒBÛŽ:�h¶ò/ƒ(‰¡�[X±y” :� ˜¦¡Œ"ZIPÁ˜“h¸Õ ÆcŽã@ š-p€A‘ƒÃ£ºNÈ+•(-1Çóüº5uw÷ «9ÆØ5Æ˜ãøž‡m§ÆG]Ÿ1ceÆXÍñg!O(ce¨9à¸À€ª/¨æø^kكɗê8›9m�PpéÒ\åeàe¥”¹õõõfÝ…zÝef‘¢iYR¬VÙ°:ËT�ÍdN@×êžYäõ'±¬à¤lGïý^ï½í~¿ßßéÿ¤?©ÄbB_“`Z¸ÿW¿ºÿÿq¿ªÌO\FMÓ¤WéU3–+ã‰5ý«Âž¤5EþÝ‹Àôw=ÒŠ¢¿º5ˆèv$ä ªIííER‡²bö")ä°³E{C[IkÅ0*†a¶qSùŋоb-Ú“‘*óEáš´:�HFR £Ž�ƒ¨bËAGF{ÃÛRvnËŠ ;R„Ã(÷†RÈho˜øõ Bk bQ„ÛŽöd'ÞBZ²RØØ�°/–µRY‘Á­ dXá”"£ápoÚ2* )d(¬a,  Ñ‘¶ e�þBÓÎ"@ÅšHáZ +nÝêtÔÂ’bƒi@p¦¿o0–0mÑóª p ŽÃjŒ’£ eZbeVsZ¾ç£‡à€Ð 0æ2PWù!zž�À¼)²šÂÏs¼l9G°Z­¦>±³oÖjŒÕXÌL|ÏÃå8ÉW LàT à›ÀË«Œ¹.¬C³^¯××ën•‹R$*•™œ™i­¥¥ÕÌÜœ6§ÍÇ ¸l&›™Ïl�ãzlö9ËNžSº=½í^?€ÉÖ_œ8L„_ˆ�;aWMjV(è:Ñ•ÞKjºïFàk@Ä:¥°!„ê77ˆd$£HRFƒN4¥ü«Û²"‡‘”á°³w{ ;V�Àª\ª†e–!D )… ìè¦m+s¯NGÈ(”RÈÎí@Ê #;²u !£N4‡9ÊŠ Cíu†·‡·‡ÒÃh/ ¤”� Â’RH1ˆHØR{¯É=Ùé‘„RHy;�2��´ag,Û2 K2°;·£JíIî)7êH Ñp0„2DI+”RŠÁ ˆD E�\z&üíÉ v¼VIÂßþ¾=)¥ Ã0ŒûS8q¼åÀÌÏkø>zh¢ãx =æ2V&„Ò,£å2kxžçyx^Àð æàêàû7< dm�3`¬Æ˜Ã˜ËjPÏsÇq²¥Ga†S4ÙÌ…4<€ûèñ¢àÍž[A0CÎ@å¥àå|ªõúz½^_‡º[w£êÞX­2wæ»»¶v}íúõµëkׯKŠ$ “Édæ³³ ·½;êVÖú»J×ëyàýí÷ûJt4ùˆ^ÿ<[áÑð‹»çŽÿÕYlÆ’@éjiTO뚦§tÕÝS½ÿtúÅâ_‹ïrƒ�”r ‘âér0†E¡Fƒ¨3Üû»Û9¼-*Áp :Bì ;ÃèöÀ¶¥�ÂP›@–m" ‚@vlƒ0\“C9*o�h z~rй-;rE†Œ¢A'Úû»¿êÈ¿êÈŠDBŠpou:ÃHˆ(F¡ªôE‘°?—JÛ[ˆ¡�ª½@E¡ºô­Pªyü ¨XöŠe¬Ø‘ ‚[·dE")Ãpo8”Ñža4Ø‹âÛz'’Öðï¤ÃH D0ÂV•Fµ•x2ü…ú®�Œÿ¥JebhÙÁ­ 3Í¢( # ¤4’I€Sñ�&¸*x<Mt€¡çíƒSF ¡4 Œ1p<ï†ãyèa¼†¢Øð�Ä7ol{ˆè²Æf&à25XÍq²%B¯Ñ`54Ð…7Þ`Ðh€ßòqsÙ޳gã¼ JÎôÒ¥—*¼D +P¤”¹uhB Y‡:s™I‹Å"¥&s¡>=kÓ“9IüŸ€ÑΨkXýÝ»½„<l½¿ý~OøFý^¿ÿ“€îùP‡z’$]J“"`±X(\ÖôD$&=-𥟯/„k+KRvä`8”QEà ”A§£SvnËÛk ¤Œ†�½Îí½¿ ++�ÁpxK†�áðçC +1†Ö¥K±B°!„-äp„ÂŽBa‹(RóõÑ@ ¤èt„ ·;�¡¼­„Ñ ’Ãag¯ÝF9¥ oï ÷†R +¹÷wÃA$ÃHÊ�°{Bö†BÈ +ÕŽz'î´d ;A0ˆ¢ÛRF" +°-èòV o‡9¢p°7÷†RJ¹÷÷ƒp0ŒÂhZÃÿ(å`8TÞÖÃh(CÉhEQlÒ%„Lâÿ4ÌÀ÷gr€ È(’¡Sh4Яá5¼†à›Ìˆ´|߯rhÜ@Ž ‡1J%Y§Ì˜ÐòÀCÿ +@<šàºu8‚^Û÷ý}€qèûìu¨1äà¨c¬æ�RŽ2`Ìñ<î‚ À|ð�£ïû|ÁtOžðT @Hi —.]z™&àˤԬ2—¹õf½^o6ëõz�QZ,Š”VÝf}š\*ý?‘(ØZ²ú»£n4RÆžçÀ‰1Àú œdïO^ŒF£÷_XꌙìD  D§@ +y%ÿ1­í§Óϵ0 Ìˆzƒh¶mX�Îp8ö†{Ã`¨Vm‡{ƒ½h¸íu¬Ÿ †R#¹·×Ù†»É( +åÞpoo(Ccμôš±bÛvÛ¶¥ØA`G¡¡îEÃÁ`¸·'†uB¹·7ÜëD{QÙápu†�hoØÙ»VlE�HD{·÷ööDdXv$BFÃÁžŒBûçBÈp0”2Q$D$‡{�Á@î ‡r/’‘ Ãá0Ú“Q$iØ�m¯¯2¢ŽÈØ2Šd$öö¢áp(ËÈ�”Ñ0Ú“Qh B!å`8�¶”ƒP äðç�á ÚF‘Ìîiç!ÀÒkÊE Ù'ª€2ŒÂHu,WÔGž Ô^£‰ËàqÀkÿÈç.7<ôýMæ@™ +À€çy ôÇè€×h 6<@`ð‰"~Û÷?YÆ,‚çù¼½5oÜŠ³}‡±�r¾¤à ¡àmE�Õ¾×ÞüáØ„ <}f�“1À` +ß ´êÖëÍu€úzêuF)%…b�V)«O‹€3ãš35ÀSš`½Þöh§·dtG½µþΨ¿=z.è�€íþ¹)À¶Â�sÛ€[;»wqvü¿uÆ®ž®˜SP ô¼Aÿgµ !D¹]N$Á,Û6Ô/n\È2¢pŠ Ó‰d`¶=ÊAg{·;�NX‘ÃPÑÞ0ÚÛÛ†+öÊŠmÌͽöZÅ0lÛE öOn†7ퟤeÛk±ìC`ÙÖJ8 DÐétÔ¥‡ÃÁ s[ʽN'ê *ÑPŠp nÓ{{Û¶­ÄÇ–Â)‡ö`8ƒŸï…êË�/mYF BaK!{eeŸ)„µbTVT"ž EréáÞϪh7sé ;Bùóÿ* ÁIW?¾ûËÙø? ³`ÛApK@R<õs8‘  ‰œsŽˆèóµÛÿä.7¼·|¯ Àr¬Æ(4âøGÞNˆ¹ç!zà"÷¹�ˆÜo·÷yó{<ô}=ÀoüÆCϧVs¤L"¢‡"À¯Ý"oû-DĶßn·k^ãoÂé£`vø›ÀKM²z½ ëÍ:¬×ëÐlº´H Å")©iN`íÈÌÏdžá'`g§gUÖº××úwŸzgà'gàýØ\àý÷Ïê~Š­�Ý3»LÀÄÇ›RjÒ-M‹€¯ +…"}Aa��Ë—ggBµD4[ÚA`K!åkÛ–-b“ŒPFáŒöþ.e Û²ì �HÚ†mVP¹té5ceeeÅZ2 o†¡n +KÉ[ iB]:qæ°زsKF"äÞÞßÉøÒ–eÙ±ç�RD–e·ÔrÞ@a(B9Hij…´%= t?U#ÞNÔµWŒ×ìpOFC»¢P–ÓKËȶì@éÛ9FRüd0´m˶V[HKŠ@4Å™ûÿIXzíµ X¶·T࢟‚9s¾gš溮ëVݪi6]×u¯¹ËnÝ4ͪkšËÅ¢YоCÈB¡hVMÓ4—ͪùàº×ª®ë^›\gÃtÝúµzÕ¼fV]×uÝõ{æ²iºÌ4ÍesÙ¬²jýšiVM³¨BhždiµêV]ÓTW®š.\s]·jš ï_þÁ5óÌ9Q˜€eY/›¼\ ÊêÍf³ Ðt¡^¯W Éš¡3_ìÚ­ÕŒ6§�`ÙÐßÞ¹Û³–¬5k­·£Ü½ž úSØMm�goþñéõÞÿ´úÿÚÖΙ.Àß³ó@‰R³4“Š$ÿBñŸN§ !yJ)}5€@Ynul�‚ °l)ÅÀŠD ;²Ó±[€[¶ò…Ûˆí>”Õ—U©¼¦T­ë¦Rˆ¶Û²)ì@ˆ¡%eRB„Rñ¥ou”'Hìé­.m Cù‡�-e§Y¶Ý‘yKJ +Û² Û’ +œì õÍ#a‡RÚÑJ·;ø¾±b+¯U*J¼rEi¨Y¤@ÚÊŸÀþ~2ë¶µd¨MC¡v[‡–B“»¿<ÿ ,F±1æ×ýøÌy78Ç1ÿ°ù�óñrÞv¶}¬þÙGl·X²Èys|ÀÛî?ñÍMŽñœçÈy½ÍÇ|Ìùxóà¿pŽ|ÜÞo·9GÎ÷Û|ßEßç¬ÆcžC�ó¶Ï9úˆ-äÇ|ÇÜ�‘·šã±ÏÇûgÎÉ)o‘¿<x™.€i2ÆêÍzÝuÁ­³ºk’…lVÓ´t–�™ºÅ,ˆ@KºÙ30Ú¹Û³–*K†ug4ê¿÷Þ¨îðÞéeÀÞío÷»£Ÿ¨ÿ²}nðýä(AÐn·Ûí®õv~qz˜%P�­P³4[,Š…bþ9@66Ux•–h‰R-`íXr�Tã±'@I½M ˜;€ïǰbØV`ÅQªàÖI��2˜@Á �¤ Â`RŠ@Y‡R¡€ XQðZEIœ!e'²ÆLÀ¶E'°m%@.÷lÕ ¹èþŸ`À’a¯½¦�ÏûC˜Nª6ßDäˆí{ˆÈ}įú¾�"ú¾‡"PZ#Œ1`5¨¸€-sŒˆØ@lÆ �É}¿…¾ï·Ñ÷Ñk¡ÏýV ÑçÜoòVÌÿY•RÊ(aˆ "zo4€-Äñ}Ñosß÷ý³GMÄ%©î!ß.PZu«CÝuÝzÝeõõ&¸õzêÐÄ�õw&gu*=À´ pŒîö¬¥¥JÅêŽFý÷FÛÏÛ ôûwF?é�bŠl�F£íQ¼<ÜëõzXëݽ»s÷ôý?NÎ0óD +P(¾ gRe4DÏ�˜û¦½bX†mݲO@pˆ“ð p>tfÀ> •Y�†Z"œ0€ ˆóÀJ@ÙfŠ?¡ÄNਘýíÛèûˆØòÛæf|[÷ñ†‡è;”:…c¬›táÚ&z +ÞÄ–ßBt±…-ã@]}ßÇVË÷¹ÏqÜÇq�©%ÀZb‹#>üÏ îû-lùû.W×8{”`ÌLðm@�RƘë²zÝ­³*mþòã�~ùË_~txøøÁáãÃéYšã9Àènß2–ŒÊRwôü5€íI  ßï�~Ü‹�¶·ßmoo'Þ‚ + z½íí÷··{½ííº«g€±³ €R“^-QZ=‘ŠEZzîß;¥,“&¤@)UÕÔ)̤�ây vÌ0€ïÖM{eÅŠS!^˜LàV�ðôS|°ƒÀ~&¸%m)exšØ1tN@ç™÷ÿ—F€éiªP'wqŸ›clµ¢�z>:4_.85Æj“9=€*÷Zˆ€ˆM•˜ª6Øjù¼Ýòc4@ôý¶ï£¿þ Þçu§ö†**åEô<ô°�~ËGLê‹þf�ûI†qúÈS%5pé[ËH¬Ìe¬J‹ÍìÄYíÝÝÝÙ9ÿ³5€É€9Sˆ¥/ÊÒ¤P,Ä• Í>‡¨Àó¤JÚk +¶uÓ^YYJ€øæ àëà P%é‹À´ à àt +ð§¾ýkš¦á›Éðý"¶1¹ÙŽ«ûˆ /¹�;”RÂj5'™ýkbêM³í£hBÛG„ö÷ö[ Š´}uÁ–ïû›ÜGŸ#ŽÑkxà@ ºáyØPø‰ÑGÄl¶Ñ;ŸLKñ/Í7 /£V4Íj2%gHýãÃÃÇ�=z|tt|tüh* hYKɳ±v]çâ1 ³°=Úí¯.Å0]íÿèÇŠ@½~¿ßSj"qaàè)‘€i±·Ú»û‹�Ñù0í¨9sZxe/ˆzŠ^)ä&²àçÀó13ëD @1€[ÖŸ”"0Mdô5`Mkz�íI$µÿËþx“#ã¸�|“óGׯãßðq›{|ìû~Û¬ÐP4�«‚ß¿÷I›sŽœû8þM{Ìë>ûü`<�9²Ï}þÏ|ìÿ°}0Þßo7Ûm=@À4Ôëãv ‘óMlÿóþ˜s~€œû|Üæü ÙÞßo�ù¹gZ¾iðe€P“V㛣Y,�æÇ‡��=zôèèèÓ££)¬Z–e)Ù cízFÓfàÌ@{´»m/ÙÖÒÒõ÷”+Ø×Ÿ^¿¿ÝÛRžÂýQ[Û1Rœ€ÞyÇêݽ? ì,Hj%sf€L G^àW/¥R(¼BNÀL + åó¦çÖfÀzpðë�öµÿ5δL]wÝjõÏ®¹ß»æþàš:î²{Íu]óšiºÌ,5ma¡P4ÍjÕ\6M³ê^«^s——¿·lšß[þ^Õ½æºîµåo^[¾æºn| ÷ñ¦û×TWu«×ܪ¹¼¼¼\, +YmÁ4———ÍeÓ¼vÍu]÷{ßûÞ÷®]sÿ½víÚµª{í×Ükîçd ð[g±/«2V¥RÿøñáãÃÇGÇ��ŸÍÀ¤¸º´´v=€ye š™ÏdN)‚ín¯-­­.-­�v.àÿçœm¥ Üë�&pg‚ý^/6 ßÞŽ=§Š[Ýn×zÿ`'àd €š'�¦ðb ›£SoÀs€�B¼Tàû߀üú!˜7ÞF¼Æ›€M޹zóMÄ6{PΕ<ÆxêŸù�8è"@³‰Mh6Ý1"6°…‘¯�±ÙDDŽÜGäû?ˆ³û–oÔœr¾€àºÐ€7×›¸ŽMDŸo`ë^ó‚"¢ý§*¼L જ�ÜjU9=x|øèèðÑãGGG�ŸÌh®®^±¬¥+W¬UkI1€¹‰ �z>£¶ïn÷ß{Ø>çÞì»ç�µí‹ z¦P='È‘B=›»\ ÏH„xÞàˆk/Ã~}ppð¿ +À›Íä ¾‡ÐÄ&€ªòï©Ñ<Üäz@óùc5hxžêÏýÐoûc‘#@³ÐÄfÓåj X¥ ؿٟ·9¶}ô|ßåqƒ¯N­\Ê Ô\h Âøo¾ +‰šˆ¸~þi®Ë �b¶pÉøÖ @MµP5MJ i~üøðÑãG�öÙ,XµV-kÕºÀÜüdà<Ø­-­­ZKký»£ç‹þŸôûÛ½-Û#eÔïuÏ‹ÿ÷Ï€Ñ,üý ©”ÎI”¦û‹tÏ€Ù@Èêü jñù_0Žþæ›MDäךЀæ: "~`"¨J^ =Ï+‘£eVÏóZ¾ïó–ïû­:"@³ ušÍ&®c�«îÀ›qw�7�÷÷}ý}ßWày¾çy^ ÆÊ„°Z`½®€yž¨RâoëˆüÂ3-|³ àešJõ'ž‘-Ò|ðàðñññãÃ'OŽŸ|úäd +°º´ºd]±–ÄõŒ¦ióZ,0ÜÝé.­­®¾ô'°uÞŸ<©7×N�ëkkkâ$0öŒUªÀ§SBHþ•Y0}ª@ÕPÄ[oùþ[È9ÿÑ�~Äïýò—I¯çð¼ƒ@§º§kÏ=ð냃ƒƒ_ôë�>ü_ÖÕÓ:""Þ»¶ÐTLš€×ðMls¿Í=l0]/Ñc +ÚmÎÑo£«ÚwÐTu|w �¤Ø<@lù~»í#¶ýú>¿æ{¾÷–ç·ZžÃÊT_P*aMµ”Íæ†;�@¼·~îPrþD5À…—8¤`VMZ­»UJ)!ÙæÇ‡‡Ž=>>þôèÓɱ,˺rÅZ²V­%q=37§ÍÏMT�3™ùÓmÀÑÝ®•Àöèù ·Ýïßém÷c¸s’$uÿµsÏèî/F@õt €šç¤„�˹Bâ£kQfÒš¦iÅõõ½óÖ³àì$ xÁ.À3jÖó0€~S€Äàzò·z%•:¡i¨ì´gpî‚õÇ“kR©éÅS³×ιøD‰úëkU.¼¸>{ññx<Þ�÷}"�_Cl"¬£ï#®^Ã&¶¹ï·}¹çÐ<£¬VsÐó<ß÷Ñ€±‹è©„±YßXo"ú\ú›íMαÝö}~­… Ï÷[-ß÷<§Li©€ `  ˆëÍ&l6›€ñ›ø,àðm—)PÆ«3J)-æ²Í�>~|ôèèøÉã£ýì_'géŠeY«W¬¥Õ¥¥®€éÉdÎG»=kmÕ²ÖúwGÛï]¨pºÐím÷{ÝÞhÔë_”¼!ìÜÝÝ%³À¯³ïBòÓºžžšÕ)®ÿe o�€·ð­Y0M¤xÙ.ÀÙÀó0€ßž8qé©T¼À˜Ò´TjæA¥&fh$?‹)-vОDl*–@Ö•¯fJÓôT*¥ç´8Â5�è1Žä'1ªÞ¡ë$¯§4M£©XrA×S©óW¬SzjêÜ­kº¦§RšžJ]O)7öÉÅ>zøðáo>|øpü7®a›­V ±e"ç?â>çè´ý†Òßó<µÜ‡xPEDð°é GÄ7݃€*{o!âúý¶¿ésŽí¶ïs[ˆ¾ïyžç°r‰20¹§Ò†u@l!67¡‰>oµÔt?ëüO*èD)¹¬J)- ��•9àñññññ¿NÍÁ­dxÕ²º×3sÚ,œã 2úEommuÕZÛ¾;ê?/ô¶º½Q¿×½3€;Ýî�sÎÚÚÚšúZ’?k–uN¥&»ÊX½Î(5«%JÍ*Kr€B�”U®3)ÀŒ7@qý�wÞB|ÇŸa¿¼w"8Íä‹v.¬<×.À“ß�8ÿ’Òu-¥‘”Š-mâl™Ór:Ñã%$¥ë¹<Ñ'·æT*¥,oSšžÒÒºcF*OâÛ¹Nt=•JiÊŒ3¥éúÄSÏ¥ˆNRñ˜!ºžË刮å´\JÓ“gMKë§–¯óq”ë„�TŠè)]˧R:ÑS„¤rñÕs„èDÓRúï~wô»ã£ßþîw¿û]rEÎ7p|-þy¨é{4q³ýCß÷}DoŒè7eŽãxž×ò=Ä"\ãÍ79zªbW?@Dh¢ßB7ƼÝVŸ}ÿG¾ë·|ô=ÏkyN�QZV€¨ }á`#$ò¹�þA“·Ÿ}fKßâ !EÅ\Ó¬Rå øøèøèøèÉ“'Ÿ~öÙ‰`5¶¥´™Ûæ Üﯭ­ÚÖêöÎhôÞ¨¿ýüÐíö¶g {>Ä'€UËZíîÞ=Ü:cì*3™ëºªö•^MŠ€ŠÅ^É%¡O!š®Ïˆd_¯×_gõ:¼žŒ‘Ö¡ž¨&i�²×= /Ûx‰9ùßNBˆVVÞØD':)çóù<ÉçK߉½rI*¥“!z>GR„Ìh隦ë$ERÚÂÉ©DH#$OR„¤t�è)]O)#m”¹|>Gr¹\슩Œ¹õ\Žè„ä Ñc¿ÜIi)¢§Rºº¹OóB(I‘‰ ·ž"Úô>•Ïçó9’Ï«‹§Rÿõ_þå³ÿú/ŸýËý—Ïþ%©zrl6›ךÍf›°ŽM¨»Íåæ:€»u€ºë2x½jšL僯»u×uëˆ&¨×š87›àº×šõºÛt]À&€ Í1BÓ¨4]—Õ9.c³ .«Ö_g¦I)¡õe·îº®ëÞ¯€‹M·Ùl®7ëÈ×›MØØÀÉ¢Ñ#Áÿ“j€„ҪɪÕ*3«¦I³õ�=~|üøèøèøÉ“'ÇSwðÕÕ¥Õ¥+ÖêÒ•¥ææÏ·Ÿ€µºfYý�‘ +ÿ¯€^o«ÛÝîoÝéõ§EÀîõ|¬)6°jYÝë0ö:cUZ-3“¹ªÔ™¤ÿ”Rú +-Ò"!¤ öz”“g Éê:!ie@­“¬®ë„(ÏWz~ +ð'ØxÞ.À?}þí÷„�²–›]ÇŽvùr–æs ËÂòT•<4-¥i)-•ÒIj��!ùÉ]ÿ%Ù|ŽäÔM8ŽËš–'‰ûvžÆß’Ë’ššcRÖ•Gö\u±úLš÷Ô•›j%õFŽäó%Jó$OiüÏ1Âýÿí¿ýÿíãøŒ7>ùdü�ówÆÍ¶8ŽÇœï#Žù?ŽÛõÎÇ­ lúž‡räܽƱ‰ï!¬ãxÌ?i�9çˆøp|0æcÎpÓÇñÛã‡íßrÎù‡ÚûÛ|¬z…l�6]à­�&çÈM@ûã6ÈqcüƒƒG›ü×ãñøm¾±±L´¾Ý@‘2³^eUåš™­üàññãããã'Ÿ}vüÙl `iÉŠ—�¬ÞõÌÜÜÜ,dΦ»#±º6€Ñ×Åÿv¿ßëu»Ýí~·Ûë�zñðO·ûãn·ßínmÝéNaàœÀêjwgww÷Àªæ«Œ±«UVefÕ¤´jRZœnò j+JyDªð&zút],Kˆ®ë¹\LxÖÉåË—/_¾|΀mK!¾Ù.À t~öüá÷¹](Ó\N¹á–K¥R©”/3yJÕý4ŸSÀ@R„hº–ÒSš®ë:!ºF! )��I©�Ìçó¹ÉÇ1š#%­DóT9r—ÊŠR•H-—Ë’Ë‘\>GH>¯lt5Frñç#„�ÔÉ~G¥! +tÊù|üQ9Br¹\¾¦ÑQ¯SZ.SJóåR‘Ñ\Nÿïÿöûûýïÿûÿ·ßÿþßþ-‰!Ÿûþþ>çØâî8YÃQKº€&¢ï·€•ÊŽã8c @—Ä+<À9ø€žbúÉ&OÜÇGô<Çñf` =DÏcŒcΡ  : &ŒÁksÇßãø6rDÞæ¹ÿìó?c +€J«”ÕëUV­ÒB¡HÖ?~pttôäè³ã'Çÿ:;0³ hõÞÍÌÍÍ« søÅHØkkÖjgÔï÷··G_WØžÀ�Ñ(^êu·ú[[ýn·Ûýq·Ûí) 8¿ØÝ¹{Ô_gÊäêU³J«ÕªIMªÔÐ&I!¤P(òJ�èšÒûÒu]?Y±./’£”äÉç/ÏØ«Rz¶TmÀ?É.À×tþ?øÃ‰ØWç÷”.Pš#¹ÉÑr‰:år¹\*'\€$¢&”æI.§¥R©”6­L†ÅÉBI’4Å7vJ©VÊçiŽä ¥¥2”ËåR©¤®Sö|>O)ÍåÑhžær„Nnñºê-¤TŸe¡\¢ù|Žæ)Íçr¹<Í—5õÒ<-•ÊN¹LóT}'a.)®sÕðçˆ-wìsDÀ–çÅòÞà™›ˆ0š§ÌaN 8 ²øñ¼ Œ7ᆒñä1øˆø&¢‡^ü.σàycc%g�¼¢.°¬´=# ¿6ö9窃°Á¿îüO)jšUæVMf‹”d›?9züäɧǟ~úÙäXÆÒÒÒÒÒÊÒ’aõÞÍÌi d.(Þu×ÖV-«·“øz<'ôºÝ;p§Ûíomõ·ºÝî�·¶¶Þ½Óí÷üã àîÝÝÝÑÝû÷ïïÞ¿Ÿ¹Ìeî ¸Ê®šñp±XT6ϦIi±˜3ÍBRzJÓcÏp}¶k¥2u/Êçé©sN +`¿@ +ðµ5€g3€?œ=¿ÿýþðJ³”*ËÜ<¥¹ó�r¹\(—ËåUö”–hŽRZ¢š–JÅügÊÄ ‰ ± D]§Diî•8ÊÊ“LŠZö¡\®ÑR¹\¦eJ ¥4Ÿ/Qš£årY£Êq;O(!¹!DË’&ßÑRº¦é eª>bzæËñW–£,_bÜ)—k”–ËêÑÅOøÃ´ À[omî#"¯�9GäˆpÀq€¢P+ç(-QÆX­NÍAt]nð&xèx¾7@íòqßG¥y7=ô^wœZ�±2eó„PÆ+ÄîÞ<àÕÍÍMÎǼí#Gl}ÝùŸJØduFi‘hÍã�ŽŽŽž?9þ×Y0–Œ%ÃXZ2––Öb�ŒÇ'Qæºs§×ß�~¡`µ·£üAF_? лÓívGÝÙàN·Ûívû[wº[ý­­­÷»ýþ�ûÀ/vwîîªÃNžjµZ~•NÖ÷‹* 0é«jJýª_&DW¾ßÙ,!z:�žV³UV¥´\އ¦Xl•œsv^$øš]€¯éüñ�üãÎ=4[¦¥r96®¥µ’ã— +¬Vsh‰RZ¦å‰©­–×ÑI.—£„¨x,�W(¥¥2+Q³eZ.%ÿ½D)¥ ŒÒR™–Tè²’ã—�«N­Æ:ñÇVNÜΣ4¯ì²IAM]Oj)�(+7íR)þ�Ò‚Ci©\*ǧÌc0æœz¤ð7Ûþ'ûíö¸õƒ1çèaeãá0ÆLF)Í—h©Tf5`ŒÁf“Õ”(¸ìC=Ÿû-„q’x¨îî Ä4ð†Òb”–4�ÊÔg¡¦ Á”È_|ÈÛœ·“$åëÎ7š0Ò/u¥Ô4«”Õ¥²P?|t¤nÿGO>ûôɹ°Ú»žI\AÈÌgæç“ü¼Ûëõ·G£Ý�˜Ü�F£QwôµU€þ»½n÷N¿ÛíÞé¿×ë÷ïôûýw»[½­­n·»µõîsÀîîÝs@•_¥S ”iR$ôr‘R¼LQž@ét–�ô¬=`öõzbìÆØÔ5©–ÀÙ@ÊçúF»¼àüá�üc®ÂUÆ€Ró*crpÀdˆè1V®1V¦È£Œi¡$›£”"J)53+•(-2‡1(9Œ±£À£YF¡ÄÄ€ˆ›À<“ùèyŒ•»ÊJÈÔÅ=Rd5V Œ1ä ”rŠ‚”Ii ŒÕ®ÖcP+1§Äè‚I¡\fHéÕ«Œ1#CÆüä�%ç{ñ¹æºu€º[wÿâßÿàÚ5Ó, +¤�%Y•ß-YÐ4maaaaA-ÂN6âÕ4¨Y(Ä›‚Ô4ÍeS ‡šÅåÂòr¡X(‹®Y,Òåø¿“’Í.d4MÓ´B²$»@æ YUY+Òªym9YS¼víZ²]ø¬ó�@ö%‹€¦IiµÊ˜I)% õ�?RK€ŸöÙñE0?�P=À™Qà­F[«k«–ÕÝm�FýµþY8¡ê?Š»ýn·»Õõ’É ­­­­­nwk«»µµÕÝêöÜ}&윀j•±*¥f•U_¥*äc(RJi1&óBÈå8ˆ ‚Oά‘×믻±ïc8 Ì«sN + ^`è›ìüÿøùçŸþùçüüó?þñóé‹?þñ�üc–d …l¶P(d³ Ùl¡¸PÈ’B![(d³Ù,)�l��,É’y¢i$›Z Ùl–B + ¤PÈ.dã`)RJ …B�dH6[(²@Ôÿ$…l6›-ŠÙ,ɲ„’ͪO£þy¡@&!G! ÙìÂÂBvÚz,P“ +…ÂÿI}t!KÈBv!K²¤_œ²…BáóÏÕãúãçñs’A�÷ÿË?ÿ¿>Ù<|øp|°ß(-B£¬ä°2¥D'šbW0 +´åAËk8 pŽÈÛíö¾‰ØÂFË÷Þh `¬¦}'ö ` (>£A^'9š/—�1ÊeeÏó xpð»ñþ'Ÿl<|È•øÀןo? ª@-xðèÑã£'O>ýìÉgÇŸÎÌÌ€Õ¿>?™<[ØJº[«kk«ÖÖh4ílÛý�3ÁÛ³O£í)Ü9 ½n·çÏ,Þ½»»»sÊU%ÜVeìUú*¥æ ‹EB.+$ „\&—ó„èzZ!@Z×Óú,À�4€©LÏ©M ßÎIÄ Ítææ^làó Ï?ÿüóÏcšʲ–¡É€9À+ÕcÔd”1ö†ƒ…«4ŸÏQZcåR¹Äs(pƒ_MºÔe¥’ºä„*ß` j Xù 3a/3N‹2‡k€Ã”–ná*«±2U�=½ìx~ `F©²ÝdTÑ«24h̵L€Ó�îóÏý8�öýöú䟱Í[È7ÛícºFHJÓˆžRI]×4M× IBi>ïd Í—kN¹\.—£¥cÌñ|®<|kŽƒÔ¡´¬tÿh™²r\óÈB%¥|>§iy=¥izÜQUmÑ|(k çív»9†g�Ìž—€¬Nô?q0n�j àøÉgOŽ�Ÿ\™ym’ÌÅgÆâ£ßŸ@w4�vF«[{†ŒfŸFÛý^¯×íözÝnwb Üëv»]UxÆÀÚÚÚÚš½u÷îßìîìܽ{÷îÝ»?�±6§¨&€8 (H�BŠÅbAU¶“Ä4�>eNêÍuµrÀ¦š’xñ2��/² 0Ÿ|Cç“oèÜsu.Šþ/¾P}^b”ÅnèŒ1f²WceFY™•Y‰²R©ÌÊ +,.í—JŒ–ËeÆ^aµšã°2sXMùï‚ã8Àc%VV5z•–™ÉØÄJ¶Ì+•KìUÊ+ÓWËeÆX£Œ1VsâT¹ÌÊÊâx"„¤òŽÓÇqj4þºÊŒÑr‰™,.$$å–/ÎúìɧÓ9€S071ô»ý÷NÀ{£�‘un`ÿé÷G£íþ�;wºÝ^¯»Õ›@\W|ö�:[wwÿvwôSw'¦¯¾J)­V_e¯ViuZ,Ò8è )’×È+„dUyZ?e F`}}}=vˆƒÓñ�ß$Ð&F«'`NÓ4íÙ]ñÅŸñùç_|þÅçql$o%çóÏ»jRÊØÕ*c5g™956)cPÊ-;N‹¹\.?©Û•+P‡±šSc5Çq¼Zìm]»»Ü×”¨i–c&«9Ìd਋SÆJŒ–Ë¥²ã Sô§ÆjIŤV+ÊÊ´T¢”æs„äj±q¶yº¶¢`ëÕ2«±«Ì‰æ_|‘<Ð/&?¿½ÿŸö7ÆŠkoâ¢èyØÞFò¤À¨k>�œ¦'+ ºž")MÓI¾\¦ª#”ËçËÑÔ¤“¦‘”OHÏ̇0¿A�R>_/öFðð‡ÿá?ø×P‘þ6¯�”aÀó€ñ­m.,,,R Õ*­2jš´@´úLJG�?~ôäøÓ'³cÇʸÁX2Œ¥ÕþõÌ„L`Òèwû£Ñh÷nommmÕêî(°6:‡ôO@·×ív{½î�;³ àÎ3'�OÀÝŸíîüt÷oþæo~úӟƆ¯¾ú*¥”¾Z}Uª§]Z,Äåÿb±X YU/"š¦id!›Mki}Ö!˜À:®¯£rž‚XþyzΦös¥š–YÔ´g€¦iÚÅ]€/žã0©ÀèUVƒ"s æÌ@¹ì£_�íÄÅûr�T›#q´¯AÍix ˆ«Õ˜°*3`Œ1Læ«1–4KÔ{YµÀ�%ñõ*c+ÄÅþ<ÍçˆF™SsœMBßQ*•ŒRÊ Æ(cÌd ±™}t“ø÷ÛÿáÿÂ×9"úÈÛ9Îü€|DDF �,c”è¹½~26Ô»pè"0Š@ Õju2òó*-•ŠÅbQíþ©ÁŸ˜�² ¢iº®éé´¦§Orrc׹ϕEÜi87xæÀüüüüœ¦egœg`ò¹çÏc_|ùuÑÿå—_|ÁLvµß›¦×`Žz=¾“×jàSVDŇ)¥%Z¢eV.°«Œ±×cµp`ŽÓŒ±šÉ=Úd¬ªª + zÀfnõ¬æ8^›2:µø�eÊX©h–(-—iŽBR”9PsS]<þŸÀLV½Ê )5œ }u¦;µíö'¸>NönùÃö¸ÿŒüo!ËÑÆL“£ríÝÇ–rôóÕ úMDÿ‡?ôyØB7ù&@, Þ€F›Ðü.r¿à¡ozŒRè·9¶bíðÿð‰mßjù¾ßÜçm<ùËòÌSùvã¿X,2ƪԤUZ ÄýèÑÑÑÑÑñÑ£ãOŸœ˜0–––f€6™>›lõG£ÑÝÝíµµµµ¤`¯�?�¼s´½ÝïÝéu»½n·×ë�ây~°W·îÞýÙîÝâûü«Õê«*í7MV*Ñ!¤HŠ”Ò")U€ $›N«u¶d]ö´70YǸ€€ÊLgJ»gS[9aœs™ÅÅÐæ/€¹ÅÅìâââbfîøò‹/¾¼øéË/¿üâË/¿øâ‹/MuOD + •Ì;àÔTˆ:È£8� ¤´Ä3ßPžÊ5ƪªg£á�¶SKîÒj°àÜ€¸S¢‚8¾¸ÙV$‚Õ«2VJ*„%Js„PBPg&‘WiI}íž5öÅêñ~?¶/¾üòË/§£À›ã‡¼¹ás_µÞ÷ÛÜGh"ò–‚íF-Ÿ[¸J¡É�óöCÎ9GŸóöþ¦Ïy«åóÍö'üa“sÞâœó‡Í6÷MDιÏy qÆ?h".sÏóLdŒ2[Ÿp}9çíß ¿ÆyËçœsÞÜoû>¾@!ð[€¥Ô¬š”š&£Bê>ztt|üøø³O�?›M&°Ö¿žI~c3ó™ø÷tÞíoO`k´3íŒÖÖF£ó¥G¸@7€íó ßïŸhÚj`mm­·; ¯*׾ꫯª|ŸRÊÌ-/“B±X,^VT “€l6‡<ÑÓºžÖôôÉN in ®cl ��:¿µ¡Îy)€8W(þve3óóÚ¼¦iÙÅÅÛÕç€ÅÅÅÌ\f)“ÉLàËç9_|ùå—_*Ÿ «z €8ÀX�¡çcP€JeU¼gÀ®2æc5 ÏsÀóðMEë özÌ(c55ÿR…xÐPs3Œ1ØE5Lç0ˆ?$ÔW3È””ÁÇkxx•1VcjVB#â¯ü‹ø}‘<ª/¾üò‹/'€ûí\orÎ7ÇíM·9os˜¬åúèPºX¬âøüÐoùcÞÞ䈜·7U|sŸó6¨hÿ°½ymÎÛ*—x'{Ä�Æãõß�Çußó¼«^­LËJ*ÄW΂~›û×69ç~{ÌùÚ›Ó/ä¼<(ÄÚ8j±‘¸?><::>>::þôøxvx)1XMk™ùùä7u +ýþè½ÑînÿúÚÚªÕíŒF?­­]4 §Û#Õ¼“@ÿÌ|ˆŠúY°×ìµþîÎhwwô³�ÑÏvF£x‚õÕbñÕWÕÔ}•–'c@…"¥ô2¹g:ÉfÉBZ' ÙYÐ)Ößyg×g¹Çii繺A&³æÜüâbFK(ÀÔg阋ã~NË,Ígæ2‹‹Jù5‘ÿtæõ8¥E4Àó<ð¹×p˜ +SŽ ŠN>ŽÕ¬5\V5òоïûû¾ßò9€º[']?Æ®²ÚÊkÃ…†ãyž‡ÜóÀdÌÎ�T ¿ÁX Þ`W)-© Í×ÞòÇ-ô¼1S×vÔÅÔÔ¤ýs¢ +|€Ml6rÎ°Ž¨oºM· .ºJLÆÀåÀys}ÌïqαÎ9âF³¹Áqý¾�Ífó탇cþNó⛈¸±ŽÍ&@sšˆØt7~à69¢‰€h+Q +JHx›ˆü{MXxpÀ9¿¶Ž±‰Íç=ßfü“B‘ÒªY­VY•‹YxpøøððèÓ£GGŸ?ùtº<³ ¤ q<¶G£Ñîß�®«.ÀÝÑh÷|Øîo«\;€˜ô'ÐO åÄY[[�`€=yÑ¿?íþt4ýíèg£QñÕ8ú_�@<H‹EZ,¨.À¤üOô´®ëiòBô´¦ézZe©i +ðÎ;ï$�1l¼õŒ.€2Â�@fNÙ',.ª¨V`>¦³eÀ™øŸS ;€+êóss™LæL˜ŸOã¨#¸. ˜®U�# [‡kHsDÝf¾€8`Ux¶Ú?â|Œ¸‰.€4ß` ¡þ&‚ËÖ�1@0]€·�1ð± ¸ÉýO° àŽ9GpñMTêÙo cŒÒ%DÏ}Ÿ{žßd± §ëV`s\à2ÀäÅ�ë©zåËļrük>>¸·qÀÇ>ä�ÇëûÉï�8çùÁ6 +ø9_»‡÷Æ9"¸�9ߨøè£�þòà—üƒ_òñÁÁçÇãæïÆc>>xÈÇ|<²0Þàm>n·ïñ ¥9 øC<䈈qãáÁ½¿ßÛßãŽù;?s>>àû|›P¤Ô4«&«Ò*¥â>8<üí££ã'Ç���ŽŽgÀZŠ­ÁÖ’.À\üûªÍis³°½=íìÞu¯¯­=úI®¯þ:Î! «öêꪵj­®Z««kköÚš½ººÖß�îÆÞ�;£WU©ÿÕW‹¯Æ}ÿb‘�dþ§XTÃ!´˜ì·ë š¾ eI6­©ØW〠Íw3«¢oóÖÆ3º±îÀ +EæÊ•Å Ä cn^Uæ˜ÑX{˜Ëdæ3ss™.!ê|ùôi<mšÊ ÊuÕ¦Tµà^«V«®kÆC{n¡X,MÓu]ÆX•.›×LÓ¬Ö]ÀeL½Û×u—7Üúº o¸Œ]uM³jš¦iV«Ìm~Ïe®Ëª.¸ìZ5¶À`,Û¬V™IM“™¦Ii±�%…ùM+2n\P¬²:0—™èºM5uÇXÕdO'�êéÓ/¿üò©zäO¿LDÁ›MÜ#¾ÍÛœ·Çc|T&¾ 8Ì)i$Oi¹\.QÆ:ztttt|tüéÉ6`rf‹€êø$Øî�bX»~rB`»ßï÷·OÀ» ôÏku"–­õwG£ŸNìC‹“£Š€—‹EB)^.r™�øÅDþ‡¤u�èš®M˦Oú€ÆÀïñwU)[œ?« …Bª”?se13Ÿ €JNQ€™Q€³@K*‹ñæ´žENßç¼Ñ@ÏC¨6¼x± á!:´T.3'‹ð}Š0Ï‹i« ÄB– €Fh‰–˘pT•¯ž§âÙm€‡>‚ç�xž�˜.¸^ x *Ìó<ôšq%<ÀFìÃác ÿÉDDðÀóh8Œ•(%”�’ç�×hxà�=Ï÷=¸ÆX}Øô<Ïó`’ÑÌ>¨/Ÿ>}ú›ê ê°1æy»Ýæíö&6(£µXõ@'$Grz¬x¨iy]×!û†Ã€1æ8à0Gí Ò7‹ X<à�è˜û¾,ˆ®A#©o8ÉÍü†Ä²kJËl�Ê9çíýýý}ÿàÅàE9À7ˆòŠš´ª×cUZ$õ_>8<<<|ôèèðhvøSÃ0ŒÅ¥0asš67ÛP5€vv·/N¦ÐŸ€~Ô�í„¶ÎDÿ�;wîL N,ËR°3BH1itg6}¦­ÿÓGÓˆNR YMWìÿÔ$à:¿wï��¸ö7•|�Sг)Àb6SÉd*Úi +°¸¸x‚Ì%@; § À•¥Ì%Eæ2™LfñŠ +ísÿL#?I—�€‡-à#‚ç©HõÖ(-—Y#ÛP#Ž×ðð<›xèc<ìæyž‡›à é0Ljð€‡Øò=|Óõ ‘"zèûmÓ÷=€†×ðà8Pcå2#9Bò LÀÈkx¸Ðu˜çsô—§Ú+Åɓ˄&3¾Sí²~ôñãÇ��ŽŽ�?�Zƒ†±´´´”ÀLßzV°uýúÚjwgw4ÚÝY»`` +Ûý^·ÛÝêõº½¸(0ê÷û‰íÏ�;wNÀªuò¬mïŽú£Y˜žP¥ˆ¦z›å"8ÐÄ–ßþo·Û¿Ûßßoû/x¾ EZ­²:4›M—™´¸þñƒÃG>~|üäèÑ䆱dL@‹�2™É­j¦\—@w +ן¶ºÝ^¯·Õ›™Øš®M ·4ãV?/YýÝ÷ÎRL¦ÿ&iÿ ñÏBÒ©¬¦B²š¦¥Ó„躖ÕÓº~bøò:ç÷ø[o½Ã76wcÆám6Pqž]\Ìd'0K²gª™ +pa `éRæXZ\ü*‰S¾šÊLÀ€€¼…ž ä*V!Í–#„2¶€Ž +Ä$¼Æ4c@õ*šPã `¸�7=ßWÚyØp”œNÜD\æx p æ¨-Û2¥„æHyzq®Ë€`»Þ9q?9³î ã‡ˆëëMDÖ¬B ˜Rƒe¦iR¢Š€WKŒ2F +Y5N‹”(¥´@)˪ .ÐÂ+”RJ³¬\.QZ¤Wi•Rz•š&+Å‚05Z(dÈw4Ê5¯VM“]5MÆ(ø›Íf³¹ÑDä|×ùxÌ_0xþ,àÅ?¡”U«n½Ùl°ª¹ñÑáƒ>:|ôøh&þÏ€¦Z×™Iµz6ª“`mm­û·»;q +Ðÿš ßënõzý­X,@AÀth†,�=–Õ¿;zïg£÷&5r™\&„\&ŸðY‰Nà€žÖôØ#vP€tJ?�ð_ò·Þy‡OHÀú ¸¡N’ˆL&“©ÄõþÅJ&''(@vJ2q%³8—”˜?Kæ˜Ëd²ÙÅ¥Åóà«§O¿úêéÓ¯¾úê«§_}õÕ,x€M<ðMG¿åy­Ö$ê{…�…¦3½FÃqÐh*] jqOßÄ:{½Æú*5À7Ðó áaÓ÷Ñó|pÔÔQê al2…& F‡�Z ”y +rbE-Àl2æ²:ãí$þ¿úê«À¦ž’Ö�ÿ3ÿÝ?þöƒƒù—ßp>~È݇Û9ÿ ‰orÐh¯ÅÆ8úd®n~k ÁDäœ�Û³6öù˜½áÀYÇ>ÔÔP-PJ(@8<#ŒùoÆ|ÿ_~û»ßŒÇ¿½·ñßþùáo¼Øyn(|“CÌ*sY½^o®7ë®Ëšïpþgã�wø/O#޳xPÓæãÖYèª"à/b¸»{w~’<ŸSXÛêõbC€Ñ¨×õûýþ¹öÀWV¯¬^YUÏWV¯¬.Y–µÚÿ›Qÿg?�EHár±xyúÙlV×ÉåË—Õ ®g5MWÒØ3wþEÀüG¿ä3L�r{U @Å~e1“Éd2K‹‹ÙÌ×W´ÓU€„Ì�&sgÀ⢊ò韧êÅ$ø¿Ra£â¦k©*@P…;hŽ�b¾¶Àc5¨ÅÄÀl NÊûo@ÓäŒ1×ð=ð �è{ˆÍ4¹�¨.Ž3Û“ÜÜð Ç©1VvÊ¥jŠq¨ôÍkçèÅ�"€™ÇóôéÓ§“allñ1ßäœorΕ-È�|ÏÃ7På`¥µrßSë dÓ…`,€£f¥¨1ð¼†Ó`”±¸à8 <Çáà9¾ï0æ8ŒQJHž17&9¸ˆØÚä¾Ï9ç­q½ÝæüÄéó�o�Íj•¹Œ¹Íõ&¸nênµÏͰ*›N'�€¹yík`wÔ튵µîÎîÝ�ûçíüälw—ºÛýÞv ݵ‹e¯_¿~fàd +ð3%×]œö;./_ž”5-«§ !—I6›%i]Od€4-þK?ebG<Î9kÚ€õ„à:¢W*•J¦’Éd+ÙL¥RÉ,..f3™ì +0’(®ŸYL¦/&™ È(°¸˜ÜïŸ&ðtO§¿û)‚‡-ôÐCD[�F£Ì)BeäMV«cŽžßêÝ 9o$I€ÉÕØ€ŸˆïzžçÝh" ×j!úÐhx€ P‡:óük¼á5<Ç©ÅÛC娋�2œiT7bÀ¹¡@mf2€¯&Î@ˆü÷Õì Ôn#€ë€‡Ð@l8šÚöó¼Vƒ1p ë°šš4P_98 ÍÉCmxÀ=Ïóâ]GõМ†çýÐóT“QªÆ”xx<8˜ømrÎùµö>GXáÿã @©Ye šõf³u`USÕÌH�šÉ‡ëº®añ.€*ÎÍÏij(™\�Îé©9€_ŒºÝîÚZwtÿoÿöþ…Ë@ÛSµðÑõÊÚè½^²Ø]�úÛ'…ÃTp÷ß»žœðÓ~ÿ½÷&5€Ë—/_¾œ?ý€¤µtZ×’B`:­¥§&`i]%§—�PM޶fÛo½óÖ[qàÊ•+‹1d+•i ’$gªóss™ÅŒ¦rE2óÉluL5-&“•(07÷Õìy:ûWr÷�Sƒ¯ž>}útº“^ÃÇ6€«iBh¹Y¬ÆÀ÷PóÀ`u€ïA‚à�g3‘ÛPÍ|êàù-¸ຠ@ä&4âá9jeF¥&!º–c.›Þ!ã…˯fÀW œM@í«™¤™„¸û‚µ|Äåù-Ec Ýŵ÷G=Õþít×Fïõgëú3o\?çX½Q¿ÿ^ÿ½øœT·ŽeîÔëi’^ÐuU\ÐÒš¦eÉ´õ—ÌÿŸ2!oâÛ1Õl)|‡sþ–:Ú•+W®,fâÈ_\¬¨$ »˜©|-˜Vf &‹ó ˜?[X\œ›{:�ûiT$wËI¤Äñÿ<[-¿Õ‚&ºž*€åó”RVÀ˜þ¶}Ïð=Ïkºñ?ÜðÑS!âñ* ‡Ói Õflºjì}lÄóA.sу¶ï9Œ+•X–¤R”Å*k܈ë€u×Ç¢÷tb榃<'† >ú~Ë7Ç>ú à€­V =-–¹á`��ì'€à9¬ÜlÀ¤×é¡èÝð㺧‡ˆžëù-Çñ<•4B�Ñ<)(�qï {·T0¾ç$zдo f•¹õf³¹¾¾¾^¯CÝe´X(RjVY�Õ'g±²TY4+Æb%fóÊ |¢ 8€­‘Úèv»b­;º¿»ûL˜ŒoÖvì$ÚÝíZÓˆOîý£Ñh4ê�Þ;'þ׬îÿÖ÷½÷N@|ËÏf³ÉÆEÿ¬®ëé”N²š®¸À„÷«)àô¹®ÕDmÿnnrÎã½ÐÙY íÊ•+WV+ d²™³0K2S +0?¥š–$U ˜›?S˜›Vææ*™¯.8'€ ©~uðð·m>æ-· +j¯¹q€íñ96À¡%êdìã¸�|ÜÞDþ°í8Fä¸�È9"Œù9‡eœ�Ô-��ÇŸüS{“#º&¼‰ „&îãxŸ�}¾?FÄM>Ùo‚èý¨í5m�!ÀS·¼9Æ1rÞ4]Üü#Ÿ>�)¶ÍR‚u¦&Oâ¿…>úü{-Dð6Õ¼"ÂB™–kq�Þ`°Ì�Q¦–VcjY +<ðñd"÷n€§d…£%K� $`nJÎVæææ³_]ˆO§YÀ4„–MÓ\^^^þîòw¿»ügË…ï~·¸l‹…‰E³ …l¡PX.©ùÝb¡`šËËËêCLóÏÌBqyù»…âòr±ðÝl¡°\\Îf …B¡°œ]^^..›ËËË…å?ûîòòòŸ-////›UsÙ\^../ +ß-¨Ë,—)Ͳ$›]XXÐ4m¡P,³ËÙÂòr¡X,– ßý³åÂòòòòL‹kgqƒ7ך€¾ßÞç-t}Uéð=ôZ-Gc´¬�,vHF˜Ñ×u]À6÷7b�Oîßú5ð€±¸·É ÆhN-Zz*½YG÷Chª/¤ÝÞç>w}äˆî¿øùðÃñw~=¥U¯þ¦U@ÆsݺÛåtËÌB�ÆàõäÔgBaIyN ĉúÚdx«{}­û3btv¼÷ÔbP×0¶f aÛ +0A€+«WfžWWWWW—2WÞ}·Ûï÷ûý3�ΦÓ:I=Mˆ¦ôþbů´€t:�NëgòþóÀ|üáxüÁi…7­råÊ•+W²*ý¯d*‹™ŠêL`†ÌÇ�€Ì) + iqEà XœŸ;�,f/¤'xsÒøê«1çãqkÌ9Ç�æ>¾9n«%v¯LK¬ÌÐâ[8æ.Žùæ˜s|Àö÷Ûÿ\u90øÎÇø6�c“™||€œoð6ª½ywŒ8>àíöøÃñxÌ}Žø£–�|<ÆV‹£ ¯ÆÊ¬œsøØÈ\D·îº€cÎÇ9à“Zß©ûþô$vˆƸŽ9o·79¶ëˆ-loúþ&o!¶Z°@˱q€50ÁQZÇÞo[ˆ[x Ðîc»í#ŽÇˆoÇÞc-Ĥ¬Ár¥dH‚1Fó ±‰>�}¹;n®#Ç Î?l·}ä.÷÷Û/yNÅ~ìÞžÒSDÀëߨX¤&cõ:0XoºPwë̤R¤EJ«³ÎZ3¡`$0wš¨¥¾µI°×½~=f«‰(hï¢ÓmKÝÑv[Ö‰ +À‰sêæ¿ºzåÊ¢–¹rýú»ÉùߦºÇDÝÞÓjÜ_Ï*ïMS[¿ê¨ýŸ§]Œ°…œóÍÍñ¯ýë1��¦�¹—¨T*™L%³˜]\¬d+™ó«K§(@ùš6?€ù„ÌeæNWææ²ÙìââW_‡qsðDÕ¬ "2ô|ô€çÕòù-•ËåšKz`•ûÜð¼†ç·}ßos�d±Jc¬®xñè_"˜bú�¸èûžçûzžç5Ós˜ÔÍêx¾gcU—1å¸àAØ4üŸ^ôè&}*p›Ík×êͦ[Çwp½YÇåñ¸®[hÖëÐDwžŠ”MÓu¡ÎL3[¤¦[5«àºPoÖ›Íu·¹ìšfsp½Yw›c·ͦ Í ·@%…ªë0fº¬@ +æµfÝu›Mhºîµ\sÐlºÀ7°Ù¬ã¿�Á…úËži½OÓR)-¥ÅÆÕD×u5Üü k¬^¯»n³ õªÚ *PBŠEzÂøbz*Ýë™øu.QÉÌÏo'½µþÎh4Ú½¿Ýíu» XÝÑööéøæôú£ž±8€Ÿö¬þdªçkàú•ÕëK—–®Ï@6›N§ÓºžÎ�¤IZ׈®ë)’Jë©´žN§Ó$�Ö4=�Vi¿~Aê?ÛPñÜ bc&þQËdã$ SÉd*™Lvq2´˜tNP€ì Ðb +�IV€ÏTæÏVæææ³™Å¯¥Iø$±„¸³Ù1SΘ´n4Êù|¹Vfår¹–�j6V2@žç£ïû-¾¬zfàÖœZÝ·î0Pw"úG5ý`ª½?Ǿïµ~ôö¯ ^£á80%JózÞix^1Æe»n _�hž9cÎùG÷Öù'>?trŽ oµ>rðÃ1oßãŸüc» ¸É‘ûãÏo�y‹›ÿõ`<æùñí{Øó~Àù˜#GŸãÃïqäcÎyÛßÿä“ýMÄZˆ.ßDŽ Ðaê÷‚�}>·9ò{¼ÉÆ¿}ç¡úÒ|ÞÜ¿ìQ²Å!DY)§âD×u}ÆÏñ%5Y•A½^Wcju.K +„ÒúÅ ÍÏM€€÷¦ `çîhg÷þv÷ζWô¶fÏ)г*Sø›žuç<¸{A`uéúõÕ)LÃYOeu¢îóš¦éiõGS¯'Â鯋� ç››ŒÇ¿ÞÜL&;gô2E®'ìQÍ--...V*•ó)À•¤�Ñ4m.;?'@FKÀ\&“™€ÅÌâ×S€Sm�¯0)apW­ï:à8N9—W¦¡e標<��§Ý}Ï÷=,‚LmØ3¦”{°ú¾ßòo@Ã÷=ÏCÏÿÐT냢ßú¡ï·}ßO:N�9̯©±ú<шÓpÀtc)0ÆÜ7àLªÏ€Ù<¬‰Èýú­k<éàœûŠªù^­Ìj5pÀh ¢ç@ËCVƒehsô}¿_}>ÇÅCÿZ+.ûzˆ¼í{à!p¦ZšµšS¦ ù½ÆmŸs%/ÚDä>¢ï«±ñú¼9~û%�®§tM×5]'qgJ¥ê––J麮}£ ÏB½ÎêëŠOÕ×a}ßyç^ò|æg “ÉÌÏoo÷GÛýÑöKÀNϪtGq©`ô³ÞRw4õº;?ÝýéO§{¾wïŽî¾{öt»ýëׯO -ü‡ëD9¢ `4ƒˆtJ±ˆ²l¼±Ê’¼ŸÑôß{QÀ«7ñ­‹�6ÖÒÍ?pëµýÒ‹±Á\(N À‘¾hÀO¢à\böà…µÇ—I³Ç›Î|Q纀³¡4ÏÅúûiòWv SµB v•°\Ÿ£À:ÙuiÑà>R€+öZàýnÚ^M - 5Zy ê#ÐÜÿò9ºý_àýè…û‚ï«®èˆöË+O -€ ˜K&àI}÷ÅTÌ0úxÕ}(Á¿²äÐ-:~¿ÀŒ`A€+˜’ׯYÂÿ´ãv¹ïíñ¶¿À’yR„­8ý½¡¼ ʦÿAk`k€¹ct6{„Üâ�ÿôíïæx¾ {òü›îÐ/)œ‘†ýU ÷×눌؃ώ´Ô‹Èÿ/,„¹ÿ‰8´$+`Ø+‰OØ”—²"÷â¶tìi$œÏö„µ%CÖ.ðè³Л¹CøÇ¶­[ñë׿ýüDy „ ÞlNÏÍß%$Q]üDm¢.?z}‹v~Â}Ký_~±ýˆ(¾í5%˜˜ž›y^À/„¦–@x½ý�†ÓTÅ˃Wz‘×ÈÙð·®é¸rhÞ]»/Jð�‡] <\˪ý¥Q�^«LÌoÞùPæÚû`¹¹Ü¬OL ÿUPš/¹ž_øwqžÈÂZuh¨:1W‡a9ŽL̃@ w~»±ùß>·Ð-è^¶c; -@qëŸÍ4ýë6 o¿^_¬_jLØ× -‡qU£ê nU/y}rv6Ÿ�ýÜúYˆÀØHR&Ó@à.Ð(4^Xú›Yyÿ ¤VŽõ*ø�î¦kqy¯½õúÜhµIA -DŽ‚Ø¸Mã¿¡�uþù eÉ¢ TþO½ÕȲ*£Ù2F-CÑwvajì¢xÉHåh©r´Rª8†¯]ó n©2ø3'°žÃBDØ«šB (H>ú“(�þLÆ?cá­ó�)(AÚoçœC i®ˆrÃ{»ŸG"ƒÇ*Î;Rxß½G4'xÀkº’æÏÅ %€ŠÛº€@ªè-Õ§þën ™þUlk› ¸Ÿï÷ÚU€®h@üÝvþòûô÷/Ï_3„àÑÁ³�/�ÿ"¿¾}›v†(QåH -€ ï÷X‚{›Wcû¦À�^Ü@SMÁöÃõùê@¥>M?ÍåM]L):@ª‡¶7uêôœãü òW�‘1W–i  “FG+¥¡z¶xw}}{K®Ìöƒûí¡MŒ!X–·–Wï}úèQŠlW˜$3ËÂÂñVü‚PÏëE˜_xÞ ù+¼ó AïÈónPõ>5)ÈEÓ·çMbV§FhËXé«4*LƦÞu:3û^ ^ ~Ö -0V+¼jªÿmFuY�€´náÝ#ðjÎŽ b.±:iiÁ1=˜¢ ÿÛì{� +*œÒe3bŒº/‹€Ê1G¡Ž”ÜQ—O©§ÖEA&ês"±®dJq¾¶l4RŠo<›w�RY�®FXöÄzŒÅÍOcÈ­QkÂ]Л(ÄhG¡DJàĆÐYp§å\@ ^ÜMº—;L;ÉÏ -@äÂÕˆ˜ˆc ¢ µÆì‚…‰,¿ƒÓÏ0ºt�ÿÔÿ_ ²âhéb92ü±;hÐ `wAÜ€¢Fh›‹êR©#FBˆ:ާ7§þÐw 59ð±bhN‡ -€^@oÇ ó“‘c H»"šc)‹®~È§Ó -€«D¢øÆl·ù¨óÖ‰ÎßÌ^êï{¶iàp”Êå!ú - ÅP¥4@`Sÿ#Ë+k«z¬‹`Tl ¸¯…ÿÛþVhœbD¼ôKÐp¿×B`ÀM޼vãE ÀûļO,`R®ßüÕí›t5H3Àë¯Àü€›ésó&Ã_¿|îÕAz´påjW À­Û7o0@AB·¸"¤¿õ‹ÿA%D�ù1‹é{àëm (€ÑQO õ -ó“ àzÝ&ÏÄ  Œçäÿ�ïMƒ„î ©Áñ“§Î§fnXtþ*·óÃaO!ì;5x2JqìÇ’pÒ_+ºŠc\HŽº -LWñ솰ßËo¦ Xþþ{”û{ÿè:êwÃ@Èd@½góÍ*ƒ×§…ö"bËèæëëË‹óÚ³,Ýn··møÿµÜÞÚÐù¢ë[ÛBxƒ·çÂømÁîÃûë+Êýîòúý­û÷=à¹ÿZhÚ~ððáý­чyÆîá¤ÈˆþâуÍʼnÚÄôt>/4_YWê/8í¾Ê@.·E\X‹•2«˜–îÎÍÏM7k4}ªgËëÛœéȃ &2úÜ]ÝH -ðߨE‚gö3=£¥‹uì]|R¯5ëÃs†»Tõî঑wªE î…Ù¨{×d ¬ÕîX�UúÀÿ‘ÚÅ‹€¶mV“ÌÎ8È9ÙBß7°ë/ØMp[tõGeCu&¢£šÉç—’sÁÙÆ(ãúÍæ ¸ÿ""Yôú' F  ˪Y3N™š‰ë‹ˆ$`䂇ŽûËrZ*ˆ+"lxô±vi˜8ö×~Ì6ä7|G¦òzý7*ÎÌz4~zz¢²ô—)¡±ýôØËœÆ¹×š\ø€uà>ÎP^ÄÆ7.GÂb,gö ‡í»Ç9N�LeÀHÖYÛe: ³Û -@šÑôP˜þL33× 1"ÂP›”<0Àšã >MÀƒ®®3º-aë.„&@oѧWb4À¤ª"ò¿iŸ†â¥Úÿú�Û¿þå5ÖÝc ’:èàkêø  €sâ×¼°£@Š”n¸G¸q+ðÿÖN¿ßÈö½ðõö@(«)¹á€ëŽºéOÿaJR(Z};­ÕáÁ@s¦ -àkYýO"@â¦�ù‚NÀL~]dØIX\‡e\VÆJ:ö”]¥‰:Ù€¬‚ËÜ€ƒè>Á­Vbî÷kùîâüüüÜO&hk7Zc\Ÿ À—áK¯,/Ê{¿»¸¬—U‚ú0DèýûÛ4!ؾ¿µ¾¾B”ÝÚŠŽ2Ξö>Ð -:!ë÷ïs‰åÅ•eºµ¤¸¹Edñ%•—±½¥óïÞŒoê,媣©‚@DfØÖB1¹оñ_Œ6®�@…˜þ_$P àØÑR­¿Lo�\F¢KÅE•RÄŽÂé ÙÁ$yêŽ�cÐíÉó¿1çxZ3ôê?Ñ( -´¶'íÑ"ük>ÁÀ]¾÷ê«•h ø&#ÇÐ €À8€Ù)íéßu~w —Ù­ø"ú<ÆR --(GJ¬‰ tÙÞ¾Ÿáëп=l$Õ´,•úôóïs×Ìßÿ�üÇné|s û=“@˜½ó@ˆ¶�÷{̾„ˆ„€¨^€óÄ`n­5Ðná?114ÿSňØç—ݺQ|€ðë—Ý«`(WCýe·nÓQ»ÿ2º"¢+@�š >€ÿïü¿WžÞ§¸!€œèã‡@tÖ˜Ûè -po€×Þ<‹ ¢ôšÈü8 -ªÉ$°÷ÔÙè -ð ò>+ìÆŒÌº”só¥ €–wOW¿.FRŠ3…Žp�Î -°Cp -ÐÞËâ ,õI€ñ}ºñ?àŸo7þ›|E?ŸzoóSwÀÉð¯1FØZɧ A­Ê[­×›ÓÓ„Õø/�¥E¡ó ¾¶‚ÔŽLÈ{b}“XÁ Þä ¸âkèñ¼BäPP1¯Iï NÐ>Ÿ¿±IäÞÚ¦ø�(â#)ô%®¥sï¢`‹Ë‹Ê†}È QAåК¨…V9o •�åóÙ\³Ù¨WGåãˆ,»“!G™€gç)o-¼ùÇÏÑù7­Àî%A€qw üøfví¶„wsÍj˸—ŒÝÂ\ã¨|ÞÕá<£÷?ììÌÌìŒ z'²Éɱ -ÀH_u²&ÿ ï»“S?�ù©ðY J†òÿEêÕÜH+ÏžE]?ÜZ} ;ûˆóßSæN—Í�¶²™Ta¾ ¡Æ,4a@ÎÆsñ´&oÚþXøÏ8Ž=ZÊr3‡°‰FÎ úCØ`­j³»QJ©Ÿ35Õš`¢ŸÁpÞ `fîxЇÍZ@=új'ˆÏ _àÍXÑχ„È¥ž>ªB&ˆœ°ÄXÙÑ -@3ÿ, -¢��¹¬½ÒeΩhÀ"g˜Ä³Ž H#$á~¹R�¸/L´`b"Í?9 f̨õ_Ê?±hx¿Ç®^Eîßým+Â|ZØx ï÷O€ÝyùÿšÎŸ @€>ÿ…¼|�Þ¤üJ¨l ÅPð4 -ÀÍ›¤¶�ß±  -€Œ£1�€dâ48ènà!ˆuÖ­_´ÁŸOØ÷ -À3Ùãb´xÜÒ7¸¶cÞ$ðx›èxÀºŒ¸}@Þ@Šëß+ïÝUø:LJ|y ’w€6újÒ–­�Ê‘… -”Ààࡃ²€[ÒtHEæ‹@]ü�»È]1iÆ'+ű§©Ò”¬-˜€ÿmÐ%t€äSþðÁÚ~2Z9�„ëµ ½‚§çæçç¦ç�èè® eiý.ÝîÓHè�—oÏKC‡yoˆ(hÿŠÞ%‹ò#ˆ13Ðë5Qïø„ ÑE)D-x×°Ï�ø/²Í&tC¯#�éöë+ŽQ"/ª\¥Êø¾Ž‹.h‘k·Ê=ŸãýÏM7'ˆ¤ÁS-_{(ÿŸ¶‰ˆ6PÅ5�€TЩ0ú·€9Ÿg²¤Cw¬µ! »“ÏÉÅŸg´;`¾•e¿É³|õ“٥߱'ןm±ú{Òf ÷äd/,è' "pq¤¦O­,N¶äã¿+èÍ–”·Ž: 'Ï6²á¡zÖÒÔ˜û°©­V¦Ë(�2Ï?œQš¹Öt“‚pKòK>ñ“�|uõŽòšùd¡5×Üh}"àoý~a&_à° "̦(ÙÂêB«Uo-)ÏÖRKÅô¿·0;ewŸPÄ‹c4Ci”úËuÎâ´&ÃæÙïWgîÌ.ÜYÍsŒ,û°5®‚ÜÉupÑ…Éó�Õ|c©%ØO%j궬æ3³«Oo�¼oÛà&\MK\kM˜–J$ØôÁ¾t¸ðæÉÈ1/¹+Àt^Ìu´È¢k4À¸È.€‰e¬ïµâhÄ8�O"®Àþ´æf€CC£¢ÄbUØÊC¥¡ zä?nMÿL"PwZomn™øïµ}àÿo™ -@4ô"8À>ö2Ê?ø/ì?Ow{©€À?üÒ=u+W¯Ý¸ /H - Žê`põòûþ˜U€Ž]gháP®ëü‚Ü pír; p›….øo»ý]« ä¾·Ç[˜¾×  4 MTki »€}íd;9gÚÜ¢€¾ì�žCþÍ#€Û“ƒtx0ö�™´‰�/Ø'ü× -eгu-¿;ŠëÛ¬Dq - €d~ú)ªŽ„Ú{ɪ ì÷RŸ�7£Oþ.ª ÈjAŒðèŸ`H6OÉ &ïáýå¹!ÚÓ�1Ý© UßüôüÝünT±ßÅ#—ÞÚøÚ…—qý·6×gö,Îiîœ,Þ°¥·Èæ–Î×±ÖòÝ\0­P�ö„óAnˆkžãúËËG@> BÙYÎùûp݃L.‹²[\œ37˜“MgÓ"µú¨\œêÝ�@la˜Q s À§�Ü @€„ÿT´)@Âÿâö?«Ù“í¶z}t¼:>^¥[Ö×êÕáQ�Œÿ¶¶ßÖ‹÷ëõÓÓõcá�Žj‹1ö«££ãuά—õ‡y;PfØ}zwbÀ†Ø¯i£:\© û¼úøðkœÁ$#ì†X9s©jýõו«V‡«*›ŠR#*‘r°[eœÖó¡½t®PWþDsªN©7&êÍ×´]ã¦WÁ˜Ôâ¼\.«Œýt;#$ê-û\…9™è†p¥¸TµþZuÜãýëàÛUíÑݘЅ”-wdxœž¥¸úÓB½ íÀ®½r!søãÚˆöè€R¶OO à_ô(ÜGp?VÚ'è Ç#SÍÚ -@{fðTÜ ï­¤ËøB‘É�§7À€}zW«e×ÿS€B†01½¸Üâÿén‹*¿ùEýÃéßQ3ýoáì1¡å.ü·ýí�kç @s ¨ÄßmrïƒÐ#0øïV¿D¸uíj(fvúQn\Óú«&‚iBB¸0Øïg ï÷˜;8wåÆÍB0þ;N€nÎýˆ�Šmè¡èˆQ¾ý K$û^øz{ Àÿ×[Ï�ðûdGà PÆs¬:q2Æï5èèïTx$ô 'AµÝlVØK�½÷9™€�\ ¸ÅPNìÅ=ÇÓç4ôÿŽPW B¨n (üGp›˜4&×¢þú²2V¸‚÷%Àø:ëæ�þ¶‚t)_¶{äÁÂÿGnçõ’; -£·ü3 <·ƒŽoqÿ\ˆ/´å€PºÅ–³C¦ß]ÑqËËÔl¹¾ž*�u@”gøq½aä·“·LHo -ÀYöö©UPæ:ì:ƒM]}mÕÁåb¦«€üt]I� cÚ¡÷Q Óͦ¨Œ bth¨Ú\\!ªiÓ�Ú¾Hð/·û·kÑ`g0ÀÄdº§vþÛî¿ìy@zmvLH)"PoÐcQ½.T�ÎÖµÚœ'8H¬Ë[Îç'HV§æžµ‰FsàY*•úûûߨTjT³ËFk�®Ê�u�ßé·«t¤ �8†Í ¿�ÏeÓºHS¾¸Ûÿ«¤>1÷ºÊ§ÍišÔ›ÚÙ˜˜“w.˜V±"@/ -2'Ö„Ð5ý é,›æ Aè�áj•O÷–Kð•¾ò�¯Õˆ‚4_¯/6çšõÚ¸ÊÑ #¸€ Ò˜;]WA&”³RÎqBc>Ï)îž®káz'Ü5˜ -M�ÔÆÓUæ€y‰#À�S9ÄAg‚ÿ­ÅXÆvOäiÊ %«…àlu'n+q÷Z:BA Å©ú>K-@ô0TFæ³ �Š ‰£T*õæÜ\szzZ-ôo“Í‹�ÇK@|{ŸÉx¹×ä’Ÿ?qH¯<½tQ€½œï÷54ö?wYþ?r@[¸}ëû°…Óû×�ë‚éëíwã÷ì Á>A€”Þ—70h+ç‰ ð÷ÈO¶rßÛãíI -*W?Üø8vö¯N1õ@ªŸ±ð«å•ó¤Á¼-Üþ …c‹*€žnÀ×@ò�J»}€q‚Ö‰¸ƒ kœÌiTøOOœ:Ô@9B”›>P‚,˜¸~€ë@\ ?…5úû˜> 0žd—þþ' -þGÀ—D|&°ÜšÜÔⓜà‡¬1ÀÀ¹‘CynMZäÏÍÏÉ—ˆ…àTR¨u#¶a×õòÍ×î÷·¶¬oE5�öŠ2àœ ±P¼õÀMŠÈGùAHÅùZŠ:ˆ"PKŒslƒ*ýu%ßTî÷ïC/دœ-¸2@ٯхG4² �Bà.JÀœ8}ÞVÊ£Qǹxw“®‡Â²|îCMÑÀ�Úøï€ðÏ,!ÿ³+‰mt |é“O–Z*AžÍ üZ«õ¹Öݛڙ¯ÂNòL7‹íæ*rkuuuia£®y~g)«U*.ô?É@A³„W4t‚NʳÑáºò†ü]Ê”¯÷1Ÿk®Šëe—¼¹úÉÇ­¥…üΪ’4)Huz5§óˆlYWâ¼–2oª ³MI>³¤‚´Z÷\�…;*ÍÂB¶ºôÉÂìÒR‹qî螸IÚ4&k¥ÞJõΕwüã!±Ùj5oðçÊô“%]V¿]ID�T�æ† â¬�‹„¦Äo>��ÿVxuņßXmƒpì×ìa—öàù‹:‚ ¡°ŒÓ€GŒL‚BdÀ' h%ÎñIaQ�¸lÌgαçê Xg"'„~ ÜŸÎh0¤ÿrd˜™(ä Ó²&ž$î8Z«Â"«5‘@àQo4Í¡v[¼ÜÇn„`à7ô›sEºz65µ5ÞrAâ7Ðã°LyE‡€”#ÙÅF¥×ýΉ¸¢3 [nùçê*ÁýäâRæÙpî"iC×!µ®+J‘‹Oe©Ç~Lÿ…Fh/Ú�Ê&lõzúô¼xÛPê¼ðï€Ô ³$#ò0‘ð…Ü -@Gƒh*†²JÀ¼ ÁÓ®ôI -çh“ /iRø¿Ö¨á“ •Ø•E‹ê–gªzÚ® •ûé/±€¯O( A öx¹×®¹ -@Ÿ§ˆ ö_æ‘Y -ce·nÿø 5 À1€¡Ð°^”Ú �üv¡».K#€'€äðï1Æ8KµC¡\‡|põúM÷¬ëvàùÎ',qÛ­„rßÛcíqÀUíBBÐ÷–~²·¨0ö«t¼ƒ» þ“¼Íäûk+€’p Ÿt€wF½�v;×>®k;ÀY×Ö2�MÛàß"€]~öË(†Ëú—:Oôø?.¾Àsnü×òuLbÁ6fô·=Ýp@¡„Hؾ -1€B¶Ïîm¬9 °äoo­ÌÕË¥¾{úõ^•ÿŸÍÍ-ÎÍ·å/ËÁv°0t–“ï˜`¾Bd@×Ü@;Üwó½û¤AñÇ›§?QÁ¿z°-f@ÂûâÀøææ�ÍÉ[÷·0ôØç ÊÓÚ�惤Ð\YÓ�É©h°NàZ�Mq -³¹;𡵵U(„E}ææ§çh H5pm‚ºðÅuú° }çòƒÜûôS÷ØVÀ3ßÖt›ã¶sÿŸþ÷#îÊ—09/áúSSùh¼k -c�v: ƒStýoß~ÔöFUN9HÛ¨` Ú�ÝýÝ1¿¡µtCŒ¸Çnr3Ìúb�Æâ8ºÀÌT£Å‰*FNŸ¾ìMÍfÃÂÞFó’Û#F§À©”b¬DPþÔ�Q -B˜½[ AˆÐ)eQAÜ?õ�·zé@V©‘'éü ÷t@;‘ -"6™œÊóaà^Îþ%wˆ¬‚ÐbJë“$~ -sóýPÓÀÔô�É;íÈÇ~vÒøÙ±ýÈD3á?1Ú>ì‘úÒ×ÂyÑV"�¶`—)Vc>­­˜�KÖúÀ�QPú—+0C¾ü{Qð_ÿCCåò@_OoÏ‹=ÄvúzõA6p‚Tãì1ªý÷Nׯ‹œØ©°öD€º~"¨ï‡Ü²@W€ïŸO -ÀÙü�¦y(Wˆ(BBxÒh@ôú³wBü‘«Ú -±FúŽ@ÉÞ§ -àš¼ÿ[*Ýã¬ÈøfB¹ïí±öX`£ÞxIL~€ô‰ÞÞ®3^¿€8‘�ÿå�Ëÿ?žÆÀÙw €ñ==Uö…`46`CÙÈóÙí«ÛÕ?n~tÕÇÿŠ8�CÇOªÈ(¡÷§J€Ä: -€—¾¨,ÊÈÅÙýT Á: -!k‰ €¾7Ý _·˜°Ö#õéŸ½Ä @rÿçæsGð㽃°B}áïvt -ðÔ&‚y`Ü~ë!:?R¿¼ùÀj±­!мðp_4€½‚oçGFV¶YÑ}xî”%ð¿-† 2h�N× -ü‚늑8RÙ:„Z"€9±LóÓY³) ŸÆÐ�iF ´­ác¿Y À/?‡€ÿ îæÖžÉv»,ý)fï,ñϳ¬U­;¼ß ØÍÌÿ´AK>›`Oó¼ -ÒÊSnŒ;Z¢à‘‘š„Œx µHüô)°}_D`skE_Zß§»Ä�Êlߺ�ÿO6òëµ xÀi}»òš”žÀ�ý÷ ¨,´|·¸Ì�sU,× �œB\…•zs}Uå' p~~®É˜2ÍééFc¢97çØ,ážäV€î° »ñ?ÝçfÏŠÿ{[Äc¬1õ^6%‡—Í)AáõÜaB8crÒŽH,æÃò–å -3uö³åe¿‹Ó?F‡ÿ±"p�ö˜ûœhHeEYkÞª;,”URÊíŸÊã"ÃYQ5ÁŒ®ÿX'¹LèÂg1ÑÁ?ü€½®4ˆccþ¨‘¨eµþÊ`UdcªâlV«®ñ`£Ã¥®‚Üá’`¾¨€YJ§ _oBb㤾�» ©¬À`¦bÅë^Á¶0<9÷€_¬|¬xg‰ž# }+)­ö‰Ch¯�rJa.ÈS™3DH%‰«tbøY «Ÿhxóý„ù†áó�2XfmÔë5†è¸0Z¹Ù¯¡ýìÚ5ø®/Mò®ßH­ô¾ã½W�Ç)ÂZÌcH -À?¤ž€âÓnú�Ïœ¿ríVt”jdôä÷ëFý® àÕsïÓM€€ë×ñ¢ïÿœ@Ć@~«"×! ò Ÿ_ /ä/2þ^øZ{²˜Žp’စ©½íú Ô€ˆž€½AòðÙm´à¸¬�–|½À‰ã/ÓÙ``¾�q`½ÀýÀ>Àföˆ0G„÷�éüóäšÑÀÃÀFtºÓ˜«àûÆD1ãêúžz: AQ" Í@1@4üt7ˆ@t�ã\sz´&æ¯wCm¢Ië·ë#öO¾´ | pÝÞµ�+Ž9¹p×ýùmm?d±�û‡íÝ+�¼ríÐ)ð’ Ó77µ�˯véÉ@ì�úƒmíå,z „p@n?Ô‡\¶èx�Êݽ h…2 0ÚAE„ËECئ( FL@u´ ȦçóEO…µ–W7þði!ìT|OÍ‚Ä ÷­FK7¾cYÑ/è/ÈcUuóN4ñ¾­Î -„g,ÿ <deÔ=‚³©‹•£à DM{aï¦eÖnÒt½¡ó&œ�s’­Ö?ÄÏè�Xh<õž -’ oÙ%¢ ÅìI¥ –#\¦áTïoÓÉÁ E èX`¬Ö[ÅË,•FD”�®"S‚f^ML¤æ‚(Ÿl… Ñ˜¦ ú“šîÌ´ ¢ù$êÈ×L!Þ˜6ý‚Ý€ªÖ §±™„CµŒ(œNxöà¾qW«lµcÈ@SäDzƒ¶¦¢€Ò;�T _›•Ä×áËb—y%éµbrÁ(>e[Z”Àÿ 5}j/GAùÒ@¿9À@ ½ ‚tÒþfù}—ýÿØûŸß¸®<Ë¥Cåk†J4C“d¥.eFº Z6[ *†J–£ÍD(I3Jf74åsë»Ï‰2‚¤dgu5 ï9q~î³Ï>‡ŒXë»öwï­c¡ðƒ·à¥@ÿNK -Uà¥ÐV>š<ùÚ_lU>úè£umO s}”€yëä�Æ—.]…Ћ¡kN�ZX¾¸D]¸î€Ø„„ü2Ôþpúݹàòµ+1=Wvµ>´•%È– -À±ãmù«`ÍÞ -€ð5cG È¡ø6¥¦ÿ­ïrØS¾of‡F…�Ž€g§< -ïL’r·Éˆi”¬Ô¯GÀ.°pÈ�w ns2ÀV‡æž½€\ö¢2Q"íÂecpa$ÓUl8{í UÊ…­0€déž}ÌWYŠˆL<›N�‰–*�½¦—Ê¥£è»n£ñ©V��r¹ÌØÀJDÚúÔxK¨RþsWXHižN5~!*od±Q£hÍéæZz®±‘ZiÙqš<LdÊ ¤ å5i ð&æòÓúEüoðÖ -€Ñ—Íl,€6¾³ÄÈŠ©CpQ mR�¸Æ·êc:£$dF]„Skáë"£Äj -C;Û UÃtUd ãµV‹�6+ÓzÔg¤PúÛ÷� 5ÐÃz+—“þ‡ïO‡À4èiî.3øE^À`Ø›£'cüŸ¥S'_Ëbâ¦@}P€Ž:€ü™Y¦ß>]ÁÉWVWà2½$@ Jà™~LB�çÿËkxýW´ÒD쀞+»Úà·Ý2 :†ð·O<^(ücñOe @)€r»óÆlÌe�Ë„ÂÚ"ëà€zÔ èŽŽ1ÈñÍÁiAj’êøÑ—÷{Ü@« ÆtL^€7ËPYÿWn�0*þ1¤Ì" Ê ì1n™ÊÇ.”€›%ÀØÑþ3ü—þ±,tº€ß}å�åzšO迲º²¾ºR+ëÇ�Q€VÖ××ÿDÑÑ~?aª_�ŽN=¼¶b°˜3‚`Fô}ðà‰Ph:ßAÎø�PTÐü† á‹7èzP€»žò£ - ¼?ÑíDðò:ÞÀz„J¥cTè{f)”VÜ@k*h‹@,àõ�õÕ…Ú,ÒÑ 6cÎ�V¿s+Þè@ÔØÒkæ�ú?µ�à·m‚K†øk -vsósA­Û7ßm4[‹‹FÜEw»Ÿ�ŸL¾?{BÎ÷›ïþêfsí†À¸Z&ÐÚ? °U™k)Z轉¾®Ã‘f~¶VÛ¬Tóó8òºOä7Qñï*€–�½i€ã�Ø�ð2 wQN7U:þµ“.ˆÖyžŽr°ž3þÏÞ[ÃïÑ @±\�É -“ -Òxu‚ºÜ¹¹¶øÁd¤Ñ|÷ÓVS/Ê‚¾^ˆk>ln*°ã$L±�“úîH·):'ô ÆTb瀰¯`Å=®ÜuO€– Œþa‘™u*dª«l.Hܵ{¹ÍÒ•î P[Ù*)*saà -w˜lrïË %$ pV‹i÷Q€##ÃE×”Àº îíþËvPˆðµ{4ø?�`/›áø©}7}séÒe?–n°UXZú°øcdÚË.r‹�r€C—ûºÇq +´F´1°àÿŠð^Žÿ/YÉég�Pî¹õµànûdŒÎ¥wúQ*^þ§t°“Øëmc;k`Põz�ÌûÊL7ÐS u>¨ 6€ûîX>’r\öòK(qQÒ’¥+q®¨ÊšËdn�4ž€j€¸+Ì$%öm 0v³-  Cèd„µýñ»o¿y@Àz^Ö «^ÛõÕÖB}úà�ÀüOWš« ˃ç,0EMw”Ýí; 0p+‡\Ðl÷<ßh6W�í%ðÝl -¯µæÚZó„…­E€#Õ)á­üa~3âýjï •e«uccþÝz«I“>ú›�›n¶V+ÂÖw熰Ñ×[7é’h­yãÆ&]ü•Îkֿ̯tù§ ÍÿBÍÖ§*ˆ -£Ef–áÝuns¡2R(•넺ñd½#à¶w 1r¿ ^P ¤Ò÷ø‰ëåužJ~pþî· X ã½£Òߨ ÕÜz'Ÿ}rÓ€;bh -¡†}¢ -ˆûc¦RV¡|•9AT‘úp^¾é-: TžwÜ-Pke•!…© ð -lnÞ½ÿ»¯¿�@+™h ²äþ?5+•ƺ¦7J§O3,{m¶þîi÷§û¿ûïé©ßæ>ûù!{ã�ÒéÓoðÓ}Zו´óc§8=Q¢×–±‘±áá±±×Ç2Ó•ºúô§ÇÞ{C¿1¡KßÐ!•„<´ûñé±Ò�£ §)ȼ{ݧàÊ�kÝá" -]¢DJ¬+ÙÉ -öîé¿R9I˜ -�±í#C¯�éŽ~2•H©U@å5æü¥`vvþ4ýS�Ó?þ÷5ç­Œã�¼ñ†2#­>;™ÀÌÖ¡>°Òˆš€56 °ì€ÐÞ`Ë /|MÄÀq÷Âr€8ŽÈ„»á`;ç”+º^»(:¨ôN‘`[y@"]¾êmd¨«“àÉ·‰L´¤\…�C*õ›UÒBa„f˜hútÿk÷_ÿtÑu´cKe¹ýYèŸÜÿ7Xü€Áí¶'À?Ìûaø[͸Ýe!\n+§&'Íä÷ŸºpñÒ•�—ÆG_Ód #©`iéÄ÷ÛŒÁ~zLË'£ƒ_+�ÝLôÂàãL 5¢5€\PÿÆ^eÍÖUfŽ xe9¡Üsëk}@ÒÓ3@˜xT¾7~´Tÿ0Fý �¶©+¯ÚF ¾6gGÁýÔY°›k à�Ç̸ýฉˆÒq<ø…2§\:i³´ÏšÞ"´€SPu )Y0l@é0#`Oyì©@Ÿ„Ha�  + -Ð1tÐE’ÿ/T¤»œêHa¢2»0/hÜxê`ªž -YC°âÁÔâ ðëayæDø°CÍG©ç’‡wtîŽ+é…ôºT`­T·-ú£$¾½Ýü+ïûÊö�hª~äqO§óls@3×’% r�J~G¡â0Ä\_õØA J”F1 Kð/�øöݯ¾îŽHè�u…`ÁžÖÒ‹ï°Öææ�æÚÍ/åýÏŸžoÐÓ~£¹Þ²¿»ÖÜœW«ÍVë^³V·=_ë^©/¬|*Wø<Ãýép½\ž*�MÔ«u:p•Õõ›þÞzHêóó§ktÝ»y`±Õú’~{ìܯ7‰<$QëËÍÖÚÚæf³Õü÷ïÎ7>m®«0ºÌ>vë§³öÆ[wê³ÍO›+M“•ú:×ê¼>ä¡.ñÝÕLœÖÔ 4® 8W¯W^WéÎÖ‰ôŸ©+ù] -¢kÎ7ZŸS¤ :^¼ùåÍf«QA -Q†+tCìQˆ[ÍÚBKd­ÕÚœ¯ÏÓ�ccvvö§}>³uúî˼e£Ž»Liå‰ÃZÅžÓhÍFA˜¸m$v^)G¡°ÇH À×rÊwÔ®sDÈКsQŒ,)âVi±Õâ K3OiÅsY8hG¿¯éQ@öC~–�þ ` -äÿ2Uývým%: öðR¢Œá¸Ý}»M$ ­dA€ÿgQ>¡£~9ßÑ€!5íöBȪý鈎>ê'ÐJ±—}tÊ9]û¥Ø„Hàäèk¯™@Nüg U‡À¨‚ËW®:À.¿ ô§@‹_>'»ÚÀÑž–üi�®þsŽ\ <� òó£ÿ+àXþ>‡°¿�)aÀ?ˆ -®ÊýNÃ%C8n¨?ñvÔ0æËg7ûÖEÚ2+ > __HÏÉèH†2é © €+þu�à†´;²¡€Ñð@åó­(‚Ê�cG ç¿‹ÿa`Wüãy0€ßÞÝè ˆäþþõÆ4£„Í2ðú:‚ÊW¦   çß àmü§…¼áÀáÖ!9ô°.»ds¹ôøæw¾r^:í¬�êþƒ;xýäï‹´mTGC€Lð!Û‡Ü)ùüÎ\‹$ à”/¸£ÂXÁ =ÉÆêõë« �U‘DÈ ðÇÖ7ÿá«Ô ”)Á?øß¥xôýŸš¤ßa‹ ÿ—_þÓoÿþ÷ó5hs±Ñl‰4×Ç¿ÙlÖ~Û\kÌ‚ÑóÑy/€¼ÂþùæÚ ‘¥Ÿ›©N�™i”ê�j-�ó0פuáÚùÅÅEq›w\»{“¨‚µÅ5zØ[l0š°öM4ŸÏ -òO*ÈÝzí¶ -r^ù²ÙZT9Ön~ÝhüCsÿ4UìëºhRª+[º²¥‚,:—ÍMBö 0³hQ ðùÜÜÜ¢ ¼4T][Tqg¦ªTîS: -ÂSGAçÏSùÿÛ¿ÿ§úòË»ïÖy#çÏ7[›�5ݦuãÆ?Ì7¾\4Wàæã'ôù¬ÀÃwלÔGØ,< ‚©ñ‰ÉAh%H[Fsá®3éêÃ÷&€Á€”Èørß„¬µ™û(¤ÐÌ›íÅãVš³–62éˆ8D®ƒC/ ¶-‡öird¿ÝCã×»gLˆþ}Œ@C€hùï:"Ä*⓽ìbÛñoO¹Ž?zfÏð·€½Ì -ÀI·¸¸ìv{Âh7 h‡D £$ÀßjNÙÖN�žúèrR`K'_; -€û×ýiHA2€½íjZ/?'»Úmä¶Íò§mxçŽÀÿ~ò]ˆ¡ô¢¿@ˆ$Wƒq'ª*»—‰ˆ=/Cã— Ì�çUŽƒuÚþGd€ã•¡³O1`~X’"¥ Ôw�EðmŽ¥€v€ÌqfŠÀ¯›» 0úØúôb˜á+S¾{ôí×b@àÌ„¡¶;·nÝÞX©•†'ªÊ3 ¯\dw÷�ñƒ«ÜÆ'üOº‘_›rð»Jb‘¦í]D Rq V@ë7Ò•J# —ŽqPPeÏÅœÑD§Cd þ§Š |”�nDuæ<)̓;ÜÀ ¸€žåþ» -€�ƒbˆàÕÕÆ -U:å~“@XôlÀo,€_%f`ôÇxóZ>½é¥—Öžˆb[ûÍonþÝßÿÓo›ýiν_?'\l?oÞ¬Oß\lÐ“ÕØø¸Ø�åi5W¯N)–ë#òÿù)÷/ó{øØt,07w~eìßÏ*k×�õ µ.#¨nîã -€ÔÄ"ª ÿ÷ÿts¾¦Ôï£Pazsñ«úüWk�*] Ú\¢÷x¢9gêæÿ´Olž†$ÌÊñ×4³(—Ÿ2*q³úúDu®:ó“©©™™:-‰j5ÐåJ ëíÀoDåøûß~Y�îè�(Ý¢f -óÝÅÖç3n/`sAúˆh06X‚Ü6}û  ¨ TÍ ºrÊ»à3®3yàÅkê bÌ tÌ×{#sÖ5÷Q¸˜{8•?½-Î’S[H‡"Ÿ<ÿ_{XDt.ÃÚ'ÿßÝ óÝþ�.7þÓL�¦€¶‰"1ðƒw ¶M»*Éa{Và³kòϾQ`aþ"1ãIÐ�Ú -@0†ìmí¾Š»§¥“'/|tYž< -U(¤‘C4 `gÿiúÏË¿H›1«<#$$”{n}màeùûs6ÊÊB°£lôäë ÿ!W€ûû_z™ÿªðn`4ð\¥Í/öô¬åŸ'"0¤ë@l÷ “ έ­˜(;ÂÑOL2@À?‡]kAׂ¾PWqCR®¢ !@”Ib<÷k[Ü=– 0úš±?¦ “dÀTHy Àÿñ߉üãwV~×�:û½u}¥:121]›G'`|?4ºë7Ø‚ØFaÐXH.j ž‰4”ƒ�z;è0�ƒÀ„Û·u)qœ.üoq Ž?‡Å+HN‚Û-‘ó-Èœ´"‘û'R.p­ãÞ*Я璻ϖÀõëë4wp÷F·…�A -mòýƒl@}ûm§�Ð_ø ~ëùàiìÜVè-.þG€/ÿéËÚ»þ«Ôëç€vÛf½Òl:¢OP{ξ½ñŸ†€Ú2ìjËQuÕá>#»@ÇèK”½[›­Òé<`ñ? -CérÐg¸œÌt†¾…¼7ów¿û§› ¬rœÓqBï±V½z}C‹È BC;äÊ¡�¹Äº¸FσÕê¬ -¢#$œ›»Yª�UÎWËÕ©©*C¨ç» b:B)õFþñ·­Óóºmÿy+­Ú|ógUÆ"v¶µœ’ô0ºÎ3T³Ìa¥¾}6ˆÊŒ¥±®>[bsÿ[6°Ïýæœ& ï 0.aŽœ} —ð‹:â{bi•¯»,]ÙÑ î Œ\ -¡ Z8[×ô -ƒ[—¯hr@áŠì¯˜TÊZ¢îGàÄÈH1F–ÁÊ¡l7Ãý–)SÜ0¿Øþ•Ž�žfÜî²KY €°›�èh=¹åtØ¡€ÿy @_ ó»&9ùŒH�*û2q€«y#�HDÆE:PT:8@Þ—@¬(‹íâåKŸ€]m€ð8aæ–9ùÓ£G‘úq”q¦3ðòÐþÀúýøîüc½ttHðiÝ`ltÒ{¥� 10 �aç\e0€\ôÊàx®�Ð's÷ "ø€’[¾I-`|A0]¦ÓæäHŸ„Ü�²�§Q\,’ëit'Æ+ÖDÕþ¾f‚V××7®¯_wÀÛJc½ÕüÕú¯Ö?·À`€] -@j`@ï6½äôîŸÁ2µMèwþ?üææ¯×þþK�f£þ~c�¿L ®YÀ£î�õ:}ûRz5÷9ø_¯ÏT§Êå3å‘Jø×Çø_Ÿk§�ÅViåÝz“†~s,®-~ÀÞ:7òõLdí7¿ö›¿[kÖf?e¼ÍyAkµÍºñŸn]¤¸Ò, ¨†÷ud¾Äø‚”Âá¸D½U?ý^©zŽ£SS³£,2·WÄ´«‚üÝÚo¾\kžÖqË$í‚4¦çgÍ?ò+úŽw‚jã¤ÑÈ”µ!:ÇWoÓlÙ´m@'9ÿ"ûÞ±'ï±è€*€¸9y­»Æ”c>Çt.ŠŠû¾(ÝÍë-–RP�È4åËVää Qà!û¨éïgŒéƒ@ `‰Ø~p]kMQ F #ŠPgu=­¯ðñä‰ÀÎø§'ÀÉîyéãLøÄ -@ÖÀø¨€«—&Ç_û‹Œ€º€Tða߀‹—/^þù¶I/Œ;WŠ~ù£IjÆ?ºt úqò$Ðï@­ßŒ~” `ÿbñèÝ–Pî¹õµ9ü9ìçsW ÀÜimà(9ÒüO¥:®„¬ZHÞ¾kß­+䇶*òÓcØ?ã?·=ºßáVåU¥‹`èHvm%l‘+U|‡;ì'¸@7Ò‹¡t0Sw œð? ß?áÿ^c¼h›á?‚ÿS@p÷Ë^€˜¿[ µ’¼ÈŸ -%å 9QtbC€jä&á­ †æ‡âÕ`´|l€oÛ»(ú¸òý–°Xg¡œPVh�qðŠÛÊÓ¸.¶ ¾€H¯C¸öÆx²G·¿¥M}È�œ¹!b¾V> }åã³ìQÍgƒÌÉí–ðŸV×Wé -xv65Ûý)qek͵õ4à·ðPí€ ñbS@zóÏb šÚ&t[l®ýýo~½&0�à 0»í?Ö¬•’»M¯·öÉ…{¾À>ünðP®ŽUò®ÿR[`éââÝÒææ»Í5] ÖŠÈëÖÌ­¹<¡è9”ˆ_ÿÝoÖ~Ýú’xÃÀݼ �Úé[YAÎÕ«ºZ×e�/_<ßT¶õÓz®þdö'\c¤ÿ`mìn£Düß”&ªd�‚´±ÜJ„˜ÈÚÍÿج4> y_ Ú©Tÿ- ÐAò\ˆ)[íœe�ÝSt×#€ÓAQ+0Ÿ…÷â‚Øòñl¥'™×†[h…ç­â6NG2òcÿrYž ŒÖ‰‘¦½ìc¾Ê=FÉâ�§ô5»€KÚŸ ¿N=�úòWž.O þ3PÀ?“(ÂÈ0} 3@q¤D Ýn·�Ç /€¾ � óH@K&Qö;€è ðäøIÇ\½ta о—]\Öôñ–I®º@>€\ÓxW?P h8>¾1NN-€¶(A/K(÷ÜúÚ®ï¶9yÞÄÐ�_Á¾ûÐÚ�„Æ‚ÿ—ð¥á®}ÍVM8ß(:.¿@PÞfm$üýqG°÷H�þø˜ÀQw4èÑpòÁÿÜLè ÐùÁLà Ü&ðýe3!Œ2€è�XFIÙ†~Ä*F_ËÀŸ‰9³@ªœ àÏ2À·_�ÆÎ Æ„—·EŠÃåêl}eU@‡n]g4@m1ãSƒìq’ ²�Z¼rö É€1 -ä%Ó;T¸»¾�Þøä�ã•“\iu^9¦O~ÊÙF 0%Ì�@'Í>t”¤Ü‰¬uç£βÂ(Â*€'¥ÐIßX)àFÿZuz¢21a·GÓ¯ZÍÖ:­å!îà�ÿ,üß™ÄKOЧ1C\§ÉŸîÞüÍoDækŒv‹}þ¹¯)pZî6þ¶À\•Àº*åâƒãuÆÚ¨VŠåFU¿æ�ÿ3ÕúÏØó&µf‹�u`qí|èîαM`"k¿¾ùëµß¬Ý­Í6Il&’Êј�¸1cÇßL„+ž0SŸ!C2‰ú€ù‰OÏ'౉”êÜœ¸ÊõÀ CV§¦(ƒÍ�Ya¡|ù›µ› ¬'¶R¡"�˜Îú¢¸óvèf -€½æä)c|ý8Ðê…Ó°¸¯m'ÒqÁ)h+¼Íå@2–1€€oÂäûqž\4›ø¾>“)$ðyß‹…7¶™�B5@zrxQ‡( %ÀÚ1®‰àñ<ö_+ PÖÿ¿ƒûåØÿe¥RùË@Wÿ;¶jÜ ‚¶X þÓ=Q�ž+´àgÚË>À˜¯©-d -|ö/Y€st\ìâäknø8 Y àŽ -ÀÅK?ïž–Å–Æ ø»JC>…å%eï>‰�±—"püMQ€pÿËÂÿ„õ=-¡Üsëk½›Úõ–Ù©G@€v†0$�€—i råygÛ`ª!õè±—- Ã>ÆG€® ÀAvãµs4`Ý5eîí&@²~(„DðEõ•ÇŽé -åÈ�¨£pÚ\¾€¨Ôɨ `.º¯H€±“‚Š2 ˜Ê$(@¦x4ÀßoQ¨Ç®ÓñÏBµTœ˜­¯®__¿¾±n°Ž ,N¯Ç ¶²tœH/ä� ÈFbƒ´1ø–°Z—(?W¿é: �“W´àYíK‰Ø3˜;S²Ü¸~]iTŒ”Äå x'¹+õuv7nµœƒŠÅ>7”‘›(�V"ë«�Y!ä�›úÿJàA - )¥÷šµx6ðÇ8µMèf`míËóõwõ§yŸÞõÛ -À, -€•�ñ²�–ØsN -ÀT`ñ¯ÿq  ¥]!~£i s¼Ûài€‚üæ -ÀûIXKiÔNo¤‚ˆZÓ\bÿôIDAT$ 1€¤¤¼º€ÙÙª‡Äþz-SÐÎÎÁ ò‚˜:جüZ¹ù¹€s®ÈXü<+H¥¢¿a$Ô%?ƒÔç~¶ÍöýY8Þ1iÃøX ¢ÚzÓ€¬À;ÞôF’ìÓ–œm¨™°fÎÆ@^H R³E~ºŽ.K'lkß÷IérëØÌ�ìt{ -B–1E4!År‰ÜÈ/Ð)þêZzeü·ª/ÿ?—ö«Ó‚rú* þ•¤¤”²aÁ¿.k(EwÛMp߉ýž’p"†6ä»7@~ùØÙf!ûgà϶c®¸èºwëã'Ë"á¢ÇÀy @¦ øá¶ÉqYñ:>4cXzSà -@;Êð#‚ Np広»"T (ƒ›!~&ü§€p¿,¡Üsëk»td€ºqÀ]ÿ>ÐIÁf’",O¥A`KÉ„¾†ÐŒ¼üòÐÑcÐažƒØcçzŠJ›n-"Á™ñ‰»9smf@T(åÛ©ë‚  œÈˆïWðOU…Å Êàœ‡~àýóÙK @¢À¿)€Ñ)�ª�ÿÁò~î¸âVR̹5VjÓe:�YY]ßX§�<øï!� Ý𘠪S °ñUx+ô¨uD—ÕBdØûÞñ9c6vý6ƒ p$B§¼'�Þ¼I¥�rÐÕb ôÜgø÷ –⺅ˆÒ×YR ë·[ºoœÕ!òPA8O‰nS °²P§áÌQµú¹ýÿ_¹ -à÷�D“"0ÀF`œ‹w€§0C\§áïæ -@u‘ªwÙçîv)Z�]”Û€wº/¨+·ùnéæf­¹–+ÊbW%ˆÜBø;€µ/kµ¦@wNeɘH³1[¹Yí­Ôgêmàg[€+X£•€3(UÃ\�ŒJ�¶K8çPºÿ% P©L§J_Dh£KÒ=Í ¼p¼N@ 'ôO¸ œ§mHõ~¬âÉX‚«ZËùÎY*¶¨ˆgM&ßOŸ”KT�šô:Å ‘owâ“-»-ΪÐ/б6ÓÄœaI·üø Fðr¢\œx ü/’º�­Ñ tA¢Ì]“04P¿cÊ<¶¨€ü÷dÐa—¬ü2�/µï¸ß££ Ƴü!QzU&Dÿûj1‘�­“ €ŠÇœ}(î¥Ëôö¿tYðç³D ªÀ5´†“ºýd¦¸Ã€Ohø‹Ž�¿>–Pî¹õµ¾ƒáœÛëæ -"�º;i× 1¸5 ¨ X›ÈûrË•¦`“ë/ôÙõ -¹�ë1äEØ¡ïš+/èV,ðh€Q‘Ûk@]�9Šs6³ˆÂä -€NòO-ÀK™à1 þ³f'Æøxb£€€¨0þ‹üá‘웯þ±«]¥Øjîtº:»°J œ{˧›ÜÕõ&Ýå G™76ÖY7½£×! -BYÀw,'!æô××[:Ài%²–TB�L:0›`C§$8�# :‡”ÖK`^y€ç:À…:¶±~ËøïÔ¾® gp‘t—æ*G›©€«×[:‚L  ôP zÜz}>‚ìÿ¯[øêëo:: Ào2o�¸sZìÕã:,S~½öåbýÝU½�»yÀàpG @ e—PîT^œìÅÅt @+� æ�r�¡¬­ýݯ·(v¼QÞ{)\ê‚Ø…Oÿv)3màƒ¿¾žÇœí�_o ‹Ð І"  •ŠãIè"@жMò‚ñº=i�mœÔGÈ)0$st�É p™mŸæ3€^œÑ /·NÊFÄÜ)cÅd@ûi'WòE˜6¹‰&¯âÓÓ”†ìE=4Q - -©ëÉd[ @OŽw—ШŸÝ1 L@[ø °Këþ»¥[Äqù›k‹ -Àö€ÿø››(Ä ¸."JҪ߈àÿ>1d¡:„ði—�"þ3€v)º\ôÄň7Ò¡¼­À~·HDˆVI68gÄïžÀ@om ¢Ð2íê@à®`2Vž‚ñ´=Y'`GhA×+‘2 ·û­T¹ ¾ ô‡:8–™� ÙÁˆXJ‹l½Ý8H��è­˜\$l{ €“G­·% ¯;`ïï¾ÜxŠ@Šÿÿ_x± r³¤ÿ áB€Ã/횬,/�H¿q6pß v·Xªþ¿€ DþøòÇËâ¿ì !œ’c~á’úMÿRÚïP²f€ û3¿¿m?¿xÑsç¤y ¹¿­ˆŒ¾&®á‘Pùø?õÑ¥«Ÿ]»ª¢íŠÿÏ À®Ö‡t(èéÇÒ €è&/» �¯Û’&�Ì@(Wé €ˆ -ø£®†O8K €9�݈í;&€¾‡S·¿2l�²¤úúIqѰ¯‹“¾RÔ"ð]·Í€Ð÷@l†RÒ£:I±(Žû’;X`Pš0kÔÆøÿµñŸÑ¿õp€®ó€ž2T¿‘‰iw,ßytlÌ¯Š @V¢S2�'X]mB}DðÛPbCÀp»>³Ò\MX_o²Ð Öøæ¾Ê—ëq6Ak]Ƭ…°|eEHNšDtDwò®Š“ #ýs=eˆÒR,ßAÙ,¨œ B—@ —…í3³ð¹(€[<ú6ðŸ÷–€m -€Þ8³_½7öl�q–)k´x·Ùx?b²ïN@pçV}€3Õ‘í1ýÁy+Ó -ÀyVä -@2+®خȬœÝA0ÀúÅ|ÐŽ @"YAòGÒž[ˆü‡¤ÐüYAPÀ%ôEÛ}±ä1t“,ð™�ÿ�•$#Ûèê]v콇麶�åEf ='ÍòÒûš€OžQt˜œ9ÁEX»@vC[×N2£Ð„4ÄM4‘¹¨P.QÞ@ÜVÉ -ú�†3OC€‘þ剈ýO†À �ÅšŠt\(þa„ŠaºÑà– ‡?óü³)ÀähüÄá¬m -ГdU“â—–?‰ ‡¤È!�JøSt|jé?-¼4þZ/ @†ÿ=l+ø§‰f€Û€hði2K.ÃG'^¥àeßvK(÷ÜúZ?ÀñtÉÕ>zL�é¥LpÀ~á¬X<àÕ¤uÀÑc©•?ðSÃîE:ÒV´Zh7ÔZG­ÀEpÉ -¨Ó7è`28ʸûÐ9¤ƒà„¼ wЮ-Rë Tø¤P 0$A©t{`o -€�ÇØÏ”0…Z[€ï¾¥€®*€ôÕ÷ð¬¥JuVPiþÊMžŸ�_Xh¬¬xä| XËpHÖhл>ƒ ¯Ú¥z›ë+ ä N¾"¬ DVJ�8itF7ò±X"s˜MYsa¥™.¬Ìs+m5ÍÀsQÝ_; Ž4•†›‘«ŠÃVQ Ê7«fÝ´1bÖ›«ó ó €ø?ƒÆPè¨È@D¦—ló{�¿ÂÓ˜!®Ó€ä¶pÞ=ð€»Y@g À¹ÚN -À™òXG ÀLRþ ;@Ž4л¸é@+€z¥µM€�èÈL=rJûÛchŽ ëjð“8&sA¶(¿îP�‘µ%Š„çê³) =Éý7`fŽ÷‹v¼…š ý�L™AT+>š8ï=Ã+é#{IèŽp†0‚C`€レ9ûò¼€„Ëá°ã§§‚Ø8×Û8%Ò…N·ÑÅs© º$T±|�f\ùíV‘›ÿ -�þeøþ™ -X¨[�±íz~w\ËZÎvL?�¯ í{˜�ôãÿ -@|VP€žö¸�Ë|YÞ½0øcÁº˜„;øìŠ @tÃC Zî¤lóýmöÿ»>±œÄÛ@?Ý -€Š-Èg°ƒ%”{n}­_ €q°yÀ˜™Ð±?Wà”Z¡Ð©®abmÀx/|Ò1CqÂøPâ&QÖg -€`½KpÀ�Géìo+þ»w[¤Ë€—HîR¸’ÿåv€9p��ÿ'JíeŒþ–ð_Ë ��R€-Ç¢-|óu")Ð]yÈô�gtpÁ8ξ±wÞq³õÙyA°€u¾ÁŒ]˜oPw>?»òSké &ó+ó\¬Ð™�6t-‰•ÊDB®÷ÊB]É@hÎ7” 1Ož:F>¾�èR`‹[8Sîî…’^(>?™ÄåJ8¯»yC—êì|�¡Îô bÔ\߸®'kø2$ [ËÍdŒÄ`€&†ÿ @¯Ù {ïÙài, «Ã2 bš�÷S ¸ ônm€ÃÛ[xg‹p–k>hœo·ÀOo43i�<¡ˆ€¿ÿõ¯ÓºÛ»Àf½fo¾­D‰dÊ©£¿_ À -Àù:ÇCøÀ�{lU°¶ -1‹}€­ø/øû„ˆ‡¢@@ÚØlœÔǸk �¤úÄä�€Ø´àC#Àm|ï€xÇx“�Â@á�²µàk}<åÇÁ}Ãwwž“e ¦l»—q\%P.š¼Ð*žH™hÉœÆà|¤Q^ƒ[¦¡ ¨¯$èЗJ–öµSÒá ÷õ¨/ßAüììül}G@ßÙùŸn›æçñÔ{[RR€~ðPÒÎV3øƒý1±)Щœº0‰ÿM+€M^{í$ -xÝ@SÀ¾þ?  ûeÞøù…ÑqªÔ÷|Ò£þÐÞ`|<º"΀Ë(šž+ßßú(x¬¦‚ÚLÿ—{ßVè‹Oàïü—Û -€vº0ßCe -KW€¶&G£ÚÀ‡â¾&1B�‰Èœn -À3€£žD<‚*`° ñ‘ ÚÒZ7ˆ»êÚ¨0�ùû�5ð­d&¾‹;Y ¿7À%Y¨•Ktøí×QÀ/»-῾H@ ¬"^—Ÿ>?+GW ú.�‚áyýÌ/ÔåRk³^uä`][ ZÌ -QIñSÎÍÏ -‚!8Ú 0Xìi…m(¡RêG†4\£�îîk|�œvÓO�î¨Ç,[N¾ÀïŽÎ.Ô)ÁBC?PñKEAœg•£îR­Ff³ M‡ @8½à:›ýÙY @ô kÇ&`«ð,ruþîö€6Ø{ ÀÔ–�–)� +�ým -@Ê/ªnnöŠ˜=½]H¨ÝnàE¿€ŽVg§º€=ÄPŽZÄ”¼}„¼î@€ø"{2°)Iz#eLæ´¯æ›É’Œ¸Nxú" eb'ì")˜Ù‚.ÏÍ{í€}/ê8îÔdeÍnÕÇ"VèÙŽ'çÚ ÿ¾SØ7ðŠŽt|ö‰ 'ü·“O·¿Ñ)ÐD¥¿Rƒb¯®ê‹Ç -Y­‰¨/ÏF|]¶Zrù·Øòò•åÿt"Êo 6{€Oçù1y΀ ÆÞSãrúO]t7h;(½�T,¼�Åü_¾š+/œRÞ:véÚ†ðí/Doĺåå+Ÿy4à_ô»ËG�ŸŠ)ÁÜsëg½pPjPZæH©ÿ”—_vU>¨«sô 0_Aÿ¨°Ûnã𪃚Ó� ãcË&Àšõùt¤�!UµŒŸªÿÃ"K™qB8ª²¤j}Ç!ŽÉùŸ×ód�•)‰·ìUˆ)�?«ÿ�Yø -À½»¹ÑŽ08Ê„öåéZÕ_z*à…­³Œþé†ÂÕª~•'=˯BþééÚ¬®aS�ëÅ댾ª³eÑBÌþl­Êe‚cRë3íƒJ2«l•i‘ ªìc$ÐY9…Ë:ã{èŒü”تù.³5^“�øÆ oZc “ô ³<™~Åš+‘µž4³„ÿ¹ð7HøßUÀköâ±ß ×6¡[ð�[¤€¬ - G À¹=ÅÌÈóܧV�1À¿¶¸OÀ¶-oðëµ>­6k[[d Àñ.a߀v+NqÌ�{�[*‹€í1*D»DD ¹cþ þ_äö �怴ï Ó�•J‚GR}b ú¸·µám­êH– [äñ@k;däå2–lDölE €Ž¤¦6n—¥aö§§‘æàu\@I(Œ"Sò'×Yš. âùk¥Ï+ƒ…ÂAúö‹†å‰é‰¢<ÿ‰]ü?Rž�Z8jàÖ×7nk¦¡ ­i{Yxû½,«H°¯_Ù€„úÂò`²n b¬ˆÐ À¨%l+vRú˜Gø ³ËË—/NŽç -€ÎÑ Þ¿ŠA5ć— X@ÛnãØ©7Ç•¥¦sÏ­Ÿ 8Â~ËüøRïƒòŸÄŠðßU8ÿŒÈsø‡D�)E§ hêâÿd±@kËØ"Ìp–„E÷áøà$bËœ‚¼ÈN["tJçcr2.�ˆÊn§Ä!&äTq&¾³7J”®mþE¡Â³Ì‡® < k˜Ð”ºªVþg -1€y@R2øoã?ïý-P.·\øM´Èúëd=cÚîrw?Å®€. Ý@sm‘U[0rk¥”QЯ'Àí -@”H¦œÒÖ`[ À ¿Ê¶}ò×Á@¬øŒwF»4säà ¬sÚ‹n ÜÓYA«@øà+ úê�}T‘ëz#½AÒפ É5ÖÙ)ï+±®I'ˆÐ22}ù„ðõ‘0@8rxAEÍ'ën�}zÙh1zøŸ¢€ -UíV¡ÈkÎc€}€Ô€ws` k°%€Vß7à¯Áå@T¼Wp‰Ñô|¸\ÔqDhîgé:p.Ìž9àÇl¼Ë22ö9b^¤æžkñ½Óåxá¾éò… ‘�‰Yûv«Ùp4A(�®ÚK1ÊZ‡Hå{…Y´¥8‚eé�•&ݪ�ÅI -Í…ÚNØòñ£, Yû½™Ä´oˆï²¿uþúëêQùÚðU/LÌÒù×êz‹Y€Û×é�óöÆ=€÷²Ìçïž‚lWú´| Àè� -•Ë5!í–:‚ÐU¯@º[ø(¹äO�ÿ€F�'ß=éaÿ–—„ê„ÿèx“[&ðáŽ�T -¾ÌþRN>Wv·ž1@..õ@ÿ:Ú¡À -€0˜ -ýW¹Î=W,ä ->÷�GÈ9@¦�J+_@;'€îq<~åã#³ee®þ±ý(I¸ÿ2÷ ® plˆîˆ ˜$cgá›ZP!:£ö3Z¦òø ¶G@¨%@²%”J@·@ À#€Ífså|cEŸfò— ¶ò£+*ØkµŠœf�J#…!ýì¸#0Ì£‰ ïé*„~Â!ô -¥«¶2È ì+1 ¶>®DÙ(ã°�døÕ8Ezƒ<Aû‰ÒŸ+ƒpêe¸÷‰”œ�óóY~É(•õÐ /ªÄ³³þO— ¨ŠL ”ËQs0=�ðß -ÀƒoºÇÀûŒ›^³_û³ÁÇ;)»÷Ð' Ø- Ëég=cðõ“sˆ§m�È–í²niÉQ`6Î�d ÃjåÜâºH�vAy᮳ðž^—ê¸×§ÄNåt^F†2®½9!€@E<™­:ë±PB&à -<;]D %"A£íû— ÏáJ*àª+Ç ]Þ¾±Š‘3€�ü`zFDÝ%Ì .v³@!¡&€ -  - gÄæ -Àæ -ÀùóçW„‹ÉÜðG®#ƒÌ: P ).0"/ýÅý0„ÀÊðªß -€Ëaý–ØïOÒ;?+&Úcü×ÀPî~l'@” §Ê}¾v“qd' +ou)A0Nèƒ\¬ßîá¢c~å§"5ôtX­ÍÏÏãLË[‚€L1à¿@Þ �7ª�^®_3ö=8@àdfVäx‡ð½bÞ¡ -`k €€Ô€²Ø9 ªZÿÐ{,€~ -@Ö f¨ÉöQòõ…Ž€—PI&ô4Nz'ë4îf¹–æ÷ à@exL±H;€ª÷ÒXT‰s¹Î¤Ëe>ïtùõQ(ßÎ%õb òЬ­p¼ÉPGÄ3öt€€ÈJŸHÍ”÷%¡ÝeP -R1zX$PnÁA\ˆ8IÏ•ÇD¥`wÉóÝ7à®ýùûë…Æ÷׿�ÂD�9„ÿ«ëî¶sãúád¨Ž>†§¾}2�_n~·þƒô2_%Ð÷`<xr¸´üK€OR€c›éÒµK§þbôäI�tR ÿý€tZ–d¦ ÃgïR>þp2‹/@0þ§J€7s°¼´äH?† ÄÝ'³Èï¹°WëÛ -4¥�|-ïàû€Rá§àø?pÀð©C&iÚÞç -€ÀWi™£p ?X>ûÑ£é˜Ïe1é -@ª° m‚·*t|<¤ ñ„qÇdF)„ÿ"@b"É䬇vº=+ÖÚfü× f™Pø�Àh(7PVVÄšã{ý:ñ=«óÕâ0!sÓÓ0€yïåV8p(€Vr¼8ÀvÀðͪ¬™¡¼ÅR‰J(ÞÄpÿ™G:r`•¸„ðŸÐróSWì¨øA+¼Jë€Ùú,ÁÓzªŸºG€õ[·òŸ´Vkƒù ‚¿ú&ë¨+ j ™þ?›ns  ‹Øu,€cºÇ°�õ¸·€Ô -`[?*KÏ.uA:e»%¤ôd�ÿxà)Û@ÑâŒÌØ޹aÌ„v:°Žcò©}<&Y$ó³`Zþ²ïªý@çÔ -(MŸìR糧rTÛq+Ï7ÎÄRé´æ_�7®Ó 9ò:C¥ç;ä2°CÑ’Q†HâÕ¦4dÝ©pÄ/£3 åSz&Ê•˘2_(wý+z¡P®Î»›Îu}K6Ö¯·Ü…¶m³ŸVo·+(¾�A~®ôàу0 úLd ;Àµ ±øâ)ǾvòÔGw€\h[:•Y:š<ÐÚ°�±ÝœŽ_c4à«Y À© @Ú -€ýÿ›^Ùÿ๰WëGÂ?–ðѦ¡&�2@$@X âó€?&2Ð5À±—�Ý´f”×]`DŠ[d -@0ý^�n\ö>y²s/»þiaÖ€ì¯#ûÍAN÷X@&š]”þ¡½Anà,Ü*Šõ -@š2§,Zc X€Lxp× -À§(«�{ÉÞÿÖêôÈ�›¾‰‰r�¸þj0T8€•áµK —ä¾ã¦~ ôÑìµûàw@¶>Büì—‡_e’):R: ¶CÒE:0aàßM`­ã¯’û@�v´@(—åßè'íÎ�{÷ïÜO�~ï �¿æÖ·Ý -àÑwî üßÂL°xÅ~Ùàÿ3²€„”a[ ½€Ýú¨”¶·ˆž;ÇØ) Æhm‹p+€�bà14¯¬;À 2ú´�Xh<Å´ôá„„€4`«)Ò³ øÇâ2ç’_éÒÖ¡Õ“:e‘.§q2H™hŠÍ6cvAäVÇSð…}t¤l¼¿oßÁ¤Ð?@‚œ|.eÑÀ±ì)x’t}¶›3!7]¯$&ßkÇРo¹iËT$nEÌeA_f÷ì�¨ç/Ž7˜ î¯ ü3¾Æê­�¤ý{(îžö4 -€×±Úb¾Ê F€ À>I -@"r¶ÀK´ÓEøˆKºh@€|:ÜivFmpÛË7•k^ Y ouá² ­õÈý*Ä8 -Àßš@ÆOêâñˆ8‰’ yS\@ŸsÏ­ŸõWÀcA¨ÿ…ÂÍPŽÓœŽžù­ì×ZkôæJÛ n ÷:b|8aü vY¹!HÁ‰Ñ<`§ ë "º@…É)€öðø±H§2œxfá,¸gft >•P€—²ê��ý”+•Ú«;ša<êÀ€‹E›tÄÜü•~Õ±óÍÉ?xpïÎú¬S®»øÀw�ý‘é - ­ÿûŰblq¶½HÇ•¼Žß™ò@èÀ,¢l2ðÔ -À0™ñ(n VS®Tª ë·úO?x|?Yëæ æMZD è¿Mü—÷ŸUè&Ý -ÀžÆè×À™Î~ÎF €{Œ~ö°ãX;+ikK+€YêÄ Ð\òpÒ2¶Y€U†Ë0�°tÜ'}^@ºpNà™Î{?íy[¸ëŒb/á¿>@)×:i|² µ 'ÀtTûÂ]2úF†.ƒÐ×AŒ(Ê—Ó$p™ÀÝýèp‚íŽV�Ö½—Œ|ô4]1dM..�K�zt¸@i¼%ú1´oh_áų`x·n%SÔ&õƒƒºAqz¾¹ºÒôx]ëÍ šÈËüß¹uûÖ�^f´ïa}V=8€�/:GÛ‚§mȶ�°¼¼äÀÑר¦ï Iò÷Â~›tD{@ÛÈŸäú‹WBÐã0ñ&î@пt!µCèT�t½†|6 ý:ˆ0þf‚¹çÖÏè@0¼ýc”>ÚKü#¼t`®@ \Gø -èu¾máv§[0ð–­Q‡íu*øýÊ6"û�Æ @²#$`€¤o›8pŠÜÒ¦Òë Ù= áË*�¯ó~VðŒ -€ñ?y¤É?©BÈøïÿýŸÍ¾ýúëßÝ»»Ñ¢ €>Í•„ÿÞ¿÷P 8XºüB^ON< ÂVÀ@ïoáûǬó¥XPãîÇvÀgÏ® -Y©0^ÂâÄÞcô›æs>-§ç×oݾwçáýÇš’m¶64ÑÚ¸+` 3Pf2eøïòÿíþ{õÔPfÖ­|Ÿ±Þ©ôí �€¾=·Áõ(ˆGì1@¯à^Gz´ˆ€ºÀ zQXöŬɘ–Žðÿ¯…g³Žw*$mÇä8”R¦…3I»ÞL16rÑ*»àÍoœOq$/•w9a€ ªš¢pîCŽ€Ä5ZÒߟ³ÈnÐG ÷‹›¤Ä=,’¸­° ƒ0gH €þç)£3Œ„¾‹ßÖ‹¤)ß ȯï�¿Ê²!±„��RÍÒg–»pC@€¬w;ÀÞ -À+ñãæß¹gS®ˆ|@.xt``FwÆâßg -@:°ÍN½iÙŸÙÝõ„Û~rôBž&S–>Ћ \85)»`&¢{~bðñÒäÉñ“2z'ˆ­X³'Ì=·~6 ´¢nùqiÛ9 N„ ä�†Z;m`¸mC~8ÿ�wöÜ$)ú´Çˆ@Vð—'ªÜ`œ~’�QšËÞ΀ÑãÇ»€(¬ˆK�é??{@=°ï´^&¬ØÁy­) øGØ*„ðM èSùÿ -Þ,8¼·^ Ñ¿\ *Ï\“œt¹úàè^Ã4Îz¹øV[ðQÉeçWˆ–¥€¶°/öÇV©t¸Dw¥ÏpȧeéÃójCàþƒODx÷y�b[››÷ÿÛ×ß~ÝY°ñ3 “²W®é™ ”Ìl›ðÌýl 0ZˆÄXk{Šøûßüš*€gè -ÔÝ -Àˆh¨ÔG�çÀ‰>H%|âdnqÄ–&»»ºÀ:%Qç³/ÉÒzÑ #Aô1îr(Æ2¶HžàÓå¨ê�﫳©ê=h.0 Õ _ÉMIç' Q �� -Bº´Ìï»Õ ê[,2Ñ­™Û1Náb8¥Ÿ‰v€íùþúfkâ;‡|¶\�_]YYw¿Ùnx}ý @€¾{ˆÙËr wø{yþ™Ùù÷¢+à—"ñ“ÿ¿EHSOЩÀäÿ÷%vþ ÏP³?~r²C`(€Ñ×NÒ ë ðÔÒ’K0™Wüg+º4S¼k6�óó€ÝŒ*�¯ã#üó&ÈyÀÿþ©±œÀqa·Pû=â€ãq£„“>”B⃺4Ìöerµ�ìJ¦»ëqí9ñБL]2âûéøè±ã“Þ�ØDBÀÆO;ª2ABœo¬Õ1×D¸°fb4úVÄ>[+((3úNP0\ÙŒD?›-ùþçWš+Í'{øð�9;fúUÈ<,î ¨‡Qüiao�^Û`w@6WïÜs©!ûIàÇŸ& mE7þ›þéêí;·Þ{x/î'üo}q÷·¿ôˆž€·+z�aÆ3€ÿïϺ€ïÐÝ ŽÁ¢'À=Çüúï~ýô1½Z|ª´U»¨É õü�˜Â75 -æPåÃéhjKÎ'øæéPOí«<Ù”ÇÛ鹫>Ùå2_ÂíÒ=�?·p¾QXfi+ˆÊ3 _Û,t›}�Þ7ó‡‚h¿Cðñv©\Ïþô¶8ó‚€ý®Ú<ß|’ìñƒÇ﯊übÿD¹¼…x ñ- -€>[ƒwj�ºèV4—·³€B±­c`•º -ôѧV’cƒ ê©ù¬<½°rçÞý{>Ö's+}6ï|õõ·�Ýú[ˆ· -¿‚øÕÇô¬fȵu+ßg,€{ì €Uï€í­vŒH  KP¶I°ûl÷S‚ó´e@Óµ‘*_dÊÅÉlrñ²Á:'ž³³Ч1F$£X¹V•Ã×;›”^Sà}¤ÏNø;ª2^Ø÷"™`€5P"'dÖI];&bOþ@®(ejxŒ.~-äào} )ÿ^Úï @ª¼Öƒ$s‰R¹|¹ð¿­Èx~œEBŠ�-Á?³á)°*áÿÿùä �Ø$ ¦„��ÁÄ{×3@ d÷<·Ø�+:B£j ô“ûÏqv¼ âghOÎ[fð?S&Þââg�è0ª&&¦®oÈé@�Gzt3€VëîÝÔ À?Èërÿ?)~Ù¼û´zK`)ÛªD?Ÿ»ê]ö1S]=ÊpÓ»ú°Ë¿S @ à˽Æ$üO­~–òJ1�ºÀO¬Ii¥IqÜ;†·´ÅÌ üm‘„ë:cŒj:“-Û Tå@r¼é Ð8ì„ô²;å—Æ‘¦™ã<ÄÃP&/x©\t‚¥[(ãƒà9Ɉt|¸X‹€£™@žé.én¾`›¥šP"œ”)•s†Û'¡Yat0_ݨy5#ʯè˳ Tý¯6WÀÿfóúõæõ[ °qG$ —fn5+)0 ~'`ÿþt™,WPã;úâ—½‰~é”ðG ío7 ˜Î–±urüÂå¤èÆÂü¿ÿh™6ˆéz`àTСp½3`‰ÓϤ=¼-ŸÇìfÄ� yl ñ„exæþÿÁÿ÷ dÿxO;‹�‡/(u€p;G\,á­—¹‡-°B+!�àÚ}vXŒ¿}bô¨èFâ Æp“ <ýqºûM1BqPÆÅP`º´ -`s» :J ÀÐ: žÁ;À¼LH±ƒ„þ1@Jð? HøÏX�¾ùê«»_´äûÚ¤ OîßòðÞzmdü§!à„Ô¡md¸‡ Ží -€aš*€rép‡p˜¥…ËÎ&¶‡€h@¾O«Ä¯Z2±˜¨Î¯ß¾wÿ�æûéÉŸ<1øË¢ºÊ€_¤±¿3ÀïþÙ ?@iëV¾ÏXgÎtõ˜F¤'Àè üôcv  gO€Q"™rb%Ë[~ Ô^i Å!™áȇØõhKæNªÉ39x €À:¥q?œO™e+Α^ÈüJvSÓÂ×ê#8L×r+­bâ¨WÄç\pí£x“2F°?1YˆLôaf3 -B%AG €º -Û>@_ó€F�,žHùú‰T@-™Q÷É–D1¹ÀZy" �=öÿ£"Ž/ ͰÁ€;j¬z<À憣¡òÿû×l3{X^°3ò'³óoËͽ€S“—.}dÀÍ€�·);Xøèíel��ñÐìnFÿ‚ñE�ùAý “š!!o.]/‘ýçKK¡ `€8ýÄ'† e‚¹çÖÏìtÉæÀ¿‰€v�g½¼äÞ€¬¸ýØqºÆÏ†0ë¨€ææ -€Î±éݰ ÙÓ–«¬ -˜{Ëqß“[ߥò® ,ñÁä¼ÇX„þ#((¡²u-‚oÙ6wKürRd!XÄH/�wð -€Ñ(1€­ -€ ,cDøöë¯î~y‹1M ŸÐðÎjµ80X‘«\Èbƒ’½Ý1v#PÚ1ÂfÀ[Ëðå™u$œy]é_œ­ -@W+€m1©>á©c:è 6¨†(ë·oÝ{pïáÃO&ûbã‹úˆÜýoß<ú.�À[Ë@(~±¼dY"1=›%¼Fw· g+€]bÞ©ôí 0��µØm,€»Ûc÷0@Ú³Ð|…ð¸�A/í¿¿Px…z„ê�9x– ->:¤z÷àA�æ¡CE¥:ø‚¼ç"ýí2”-V<¸O�«/�“âïî;¼“ÓA£#©„‚¾Bá°®:´�¹¨ - ­/øÚÔt.>®Ÿ?tèàÁ80PPŠâ¯õʽÿŒ¥£í÷í+ê Še!2™ë†Å¢ÊáR’š‘]gTäÞìp¼Þ'VÀShN´ÀxíƒmÓq½å)½xDE;DeŠîÍêð ÜìPAeÔ3ëäAU/ä i=ðBQwÂx/d'üç“bqõ= Jà?Ð@¡T]Y]q8à:ÝèMÞo³¶�$€ÜzTôŠàÓ¡¤Vˆñ鵯�Ò$¯—ðÑÅ‹?ï9]4Zf³Œ­“'ßÌ7æÿÅèkã“�b< î?¾´ü‹Ï W/1ö/yëcD€LGÝNá9ØÍˆÀíÌg²�„Dz1Àÿ¤ :Ûî è%9ÿ�ÿÂjí -v3 «# 6Èðßkß.@ªðîeîÇÿ@t8z\ŸP”htüÄÛ Q -@²à -î -0º#à÷HFÊÁ7•¥B¹>‚'±%€ZJã^&œØÁ >Z¤Ù0Õ®Èñß1ßY¸ÙþG@Âÿ'O?|xoõ]¹#¥R©<=�â¶¶ €m+rÞ{(áµÛY×§­À dJÔÕ -äߢc`y¥VBÿ§Sü›×6eä®* €{<|’*?nÝlm´èà¿|õÕ×ßfcÿ3� ~õgoÝSú;<‹�”Ø6àÙûèê 0õàžc,€=Ålk� -ÒÜs @´ðõl Üå&ÜÅy}%ív$ìwÅKÉ´ -W|‹)ÿÌvÎ�nüL`¶Y~�ÎÓÛ_øó},•£#Qº|ç»Ë²Üo>·l“÷‰i°%Ç|�äðjû!ïúÞP³‡àÐ@еùU:†(„¿¾qû:òàý63fö°œl…ûžŠ€�[[P&Ý­&'O] #@wÔV: @Rú†ôV4/-oQFOÑÀ1"Vÿ-Aˆ XøÏ×®Y0Ò‡üo" ,CðÁsÏ­Ÿ9À>o‚þàö·ø÷á?È``ÿËt¢ë€¨pgÀ&r¨Á]WìßZá/g»‹(g`Ï^· uq;@«¨æw¯N˜H -J?7¼“ ˆ¾L*™ÿ“2�-è0nðO`0]!K/ÁË„;[`� ((€*À*1€$„ð‡Gß~ý51xÿÔ¬$ |üíã÷o·ˆ`¼ßéêt¥\2 w[ïV:n å;[Øý�ý®€�[ÛS&\Tö¥V¸B‹½Ål5]Ê Á(‚ÿvöƒâEBô^™m~ãñòŸ ý±„—Ý -À÷ àLÿž�\þ�ûH­¶Å,>ÝXƒ¶W4±’ÏùŠ·0AR€^'Ÿ£În†eàÿF§W¸lÀmŽÆJ—è"g¢µw�hƒr‚#]$�8»��<|±æ½iñ€£è¤õ¬t¯(‡0m©8äÌEÀ2^½ì¹æ¯¼Bé\›¶¨«(x^òˆ»8{¹ôYÂ,yKo‹Û (Iá•öáöcû`<¬^°NÇkÒ¾óg¥£/¼‚b°OÏÈãËû�žøâéû\y`( Ì\𭝬6VVVÖåÿ ÿ ýöÓ@ŠúÛb÷ÛíÊòdw+€XÉz1€t‘l«ðÙ'(¨ðôÆþþ'Al€~€BèeÝ -–m�Ê À•e9ö ù…¤L†àáÄ` :~íÚß:0à_P¯%è?š|ÿÑqžÇìfŽéàËkØk·�idÝqªCÿü�j-ÁW�“¯�1 áŸOî` ¬…ì\#uàŽä:–4� ©í˜ Õ]  -{;)@èî–Øàþg½*_?"y@{°=*6ƒ“­þCÈð?S~çVYÀ·É?yððÖjM?¶E¹?í:€nˆ>M+€®$ê=@G+€¤!õ“P|‹Ñ€§Q¶GÊz&ªnݹ÷ðáãÇš“ݺ±ñÅÆM:üÇßD3€Dx}¼Èx§¡„þ?;øÛ »[€ï3À;]=¦VYO€ßo,€~ -—º  -­\EÔÇD2 ‡ -‡>X8(X.jUûÃÅAåK–\TB®:G¦© S*‰—}Ÿ¸ÛŸq#@wÀû^t%Õd”tмDöâ¾òôüÊʼ8À*Ão¬o4©p-@t°ÍÀëÞÖGèivþm[€ÏR8ø?5Ü~ -€Ð?~ú¤ -€‹?­õÓF¬Ú SNN~Œ£O ØØ�`â1 -d— X³¡ÞÑ�¢6€ æž[?s  oè÷&°ì½€87@@¥€£Y `ÈøüÒ~¼ô—:œý£2Qú K ØÀ€‘ÿ†è3 ‹ìs:'QÞÑ ÐuÉT„c£ãos&Wtí1š -@ |ÏÌT"=ERd"Ä~>åí‚a^'”؃ ‡L€'»©²œ¸­Ü€[|u ?~òøá=÷0‚ €ë½Íví P[¿F8î1{ßëj!>Ø­í^ -À¶¢Éð©b¶Z„N—+Õ…Õ;÷îßüðÉÃT÷ñäÉ�ÖÍÖÍ/ø{†x£%ÐŽô»mÃ?øÿC0€­ -¨ÛGØ1@¿ý]=êœA¨ÞŽ°Ë¿c?}ÇØ%>Ñ €?l_ÉL[[ P~Ÿú N±Œ%\ß‚Õ" Y™™‘–®Ò…Ö‡ŒÿÉC�‰CI:Pòƒå @XÇå6ݘ{ù>‡DX´ÿH‡]�(ÿĦ…çéj,|z9øû -‡‡ -gt)ÜḞ‚œQA,䩊ƒƒºrß¾W^q�½E�\BØÇÍx% ¯ª Ú¡äÂkÑCꌋÃÝ…ý*ÅIÂ<$­Ä˜0�Ê<€ÃA×å@œ -0T¬®Èÿ—­¬¬¬{< :ºuýúí[wúõØÛ¶+èÁvˆ ¿›ÉbÛ°*ŒÊ|L°èp΋„}€¸)ÔÇ@:Á7ØiÐû î’ZØN^d§Ï+BpyòdF -±�#å©ÃG¦ŽDAâ ôs ƒeöÐFB½OÀ%å…è�(O½¸Ãñ*X¦8œÓBoD;ƒÅ#‡EPT8Ý1LoU RV±oè…_ Fa�opFZ^xÑÁ ÅéÙ••qš€ý&â·zãÿxÝÛR?Y àø¿7€(üDö¨Èìøç -ÀÏ/¦*]ÎFìh^¢ D./½IŒÁÒϯ -棠œÒŒ}´Ì ™cpû…ùà=¸OÖâThs4ÁÜsëg(B>+ÿ|0x€€T ^2 -èyÜõêv¼qÿƒv·)6ùÿî (톟 ŽÃ4`(û»bÆ ÒçH¦Ð¼‡žs' (Ñ›J@6I`|bB -²È‚N6‚%B’˜Ã�¾V" Ìë„;›Aˆ…¦ÌŒUÛ -ÀBØhE+ÀŽVODn­W‹CùÊ•Š|årúùí¶Nç=à6�èj€ïxÞ€»ÛþñÙÛXÚå'žE™p`C­±~ëÞí àAšäÿ·nÞ´ðµR6pW@À æUû…û½/?·´°Ðø<<ïîV»Ät+2Üôè 0õ ,v‹è7@ïà^GR+2ѧøê@…ÑQ£ðéÕ:<�+;|Xø¨-ÎèXµß^mn „eTÀ» ^úâ§žüX#‹–‰O>rfêLùÈVÚ=(ppþÅa„6–Ž<(œN;Ù ÿ£óÙ1¶´Íæ‘â°r�œ”G» -Œ$؀н|æð‘#SSA«3g¦ü�¦ÊlðtlŸðßM%„Õ´ žÃ7:H�…ð$׬÷…é°jáÕ΂psrçB쿤ýšÝ -à-,Px1jŠÓõ•�¿¦&�€×[Z´ÖÍâo±ûívey2Uä A/�.ê´Lø„ ÀñSî�ŸJø%9è'’°­�”bèðÇîÅ‹†ðí&ðÉ'] -Àø’…þ¤àþç -±*1Â|8¥ñ"6¼íU‚¹çÖψHˆç.² -sÀàN-¹ ˜¤¢'Üu °— ë€þ´¶ãߥè*¥ŒLàƒ;OHŸÃ)™î -@h:!ü{’Þÿ°/»„¡ðxy!2 €`[¦mûi€€£0 •Ť*€þãýAðæŽ€p^ËÇObbtœÛ«³…�b¡4Q™žž®–c½­£¸`Ï­:ûèh°‡~`ÊJ´`¯ -@O›˜˜®ÔDkèèö½{÷<È;|Œó¿ñE øí·À¿ðøß©d@zçV_¾Ÿ§[€gî z¦«'ÀÔ -€ÇØ[ @¿±š»öþïb&†VÑ€ƒÃÄŽÐÞ†® ˆU vÌÆINÊîÉ…‚_��2Qƒ^`cùUY†»\*œÝ·�6†:øÕLb6"K{º‰Óæá¡W�ª©,:p$Šb¼xf¤@ :xè°ò¦C"T¨ØQåBQ(§‚LÉÿ?ƒ`¯]78T, Ö+ð³È^$ªOÅägaß>°^I¨ÊŒ/SL+Š Î” -R- O9£²‰oAzÇJI:åA„- ûïã+ŒþïEãÿ¾‘òüÂB°ŽÝÒ P !þ ´îeÝ -@ÿ½�ÂÛ=oU&—.‡é”?�¬p¢—@/@m “°$§¶D?@&W—/NžTÎrô @·^" "NÈ.�2úg˜/K�Ù€$œ{n}ŒV ù“ø/ì‡h™b,8Üþ[pS¼ðþítƒýV„¤]FÐ}¿†VßdgC[ް g59>*T?vlüíÄìÎS�ù'ÐV”à¸Ï(Köç¡܇ê4—åht`ü‡ìç -??…b‘bGkãPB&ÌXµ�Ð -à»o¿ùÝoïlþ*bVš+™üøþÃ;·Wk(ÅrY€(À„ùÝ&�ºõÓ¡OnG €=}¶ŒÜž½ïuõSŽ ß¼¤p‚ã;*"½l¢,Ǹ"×x�ÑïÝü°Mn¶nµnܲðÍ#‘¤¶�+P¡?Ü*½d¿ù¤¾|/Fÿ€1Û[tô�\þcúްS @G+€¹]ñ¿4‘tÉôo¤Ð*/5á.Ñwåááº�Ëœ ••Y üÀHªÀÿáþS¿¦Z5Еåb8<3uvJÀörRÀn77Ê €ìÕáW F�{Q’lKø­tx -Â1J!+«JS-Ÿ!ô®LP^„f¦DdR.V)�Êq¦,0u¤|¦œø �BàÚ„Ädö 9z�^ôPP"r;<ø–Þ" %¡d~# ’ÝÙ¡ƒÊ®c¾"«ÆŠ¸AMñcjð¤ C6*à>m d -ÀìÂÂÊŠ~V\Yô¯o¬¯ß"0A~·Ø÷²ÿW"™°ƒðR7ökÞ¢‚Qà—ÜÀ¸+Þ�Ò½€¬ÀÓ(]ºúIŠ8Æ M¬,ƒ=º‡Àk×þvùÒªHþ†}/Fþiçy3€],�¨Ç¶ÁÏG„ þÿI -À€Ð’‘ôB Ëý—…© -pá|wºÒÉä&üÇ€y ™»E €±:[ð½þ�ûh.`ù¨5�pî;ÌÒ€ÈBRôŸ~àe·ªŸ Sž&³Ô/ñP—@Òvo$€ØÍŒDLa�R -(áV {ôèÑ7¿»÷7²€Os€Îñn­ÖF†ö�˜Tk• �Ÿ·Ý ³úá@<Ü€…jßÙ -F 3fw´@ûßÒ - «¤Èž& ¤³®~èœE¦+U}j�Õëwèð ÃZ›7nnܸ™)ßå -€_Ÿá?Ià_þÜíjðÌct+©€¬'À=Æ|ï±ÒÉ6¤ÿ¡pZƆ¿ZâÏ¥™Ï‡©¼°Þ±ôB¨Ü&tcAöp¥-–gŠÃJxfjfÊЫcÎ'¿ÛVxKň"„EAäÊD}æpyj¸T¥¼$ЙªÂpp·\.Ÿ9#·¾Mkb# - yµ8¥”B¦Äå3Zµï[öŽ#ì•�Btú÷¾`+²ìÅ‘'ïã°nyæˆòÓ]ôćËÃEå¬YŸÞÙ:íòÆoi(/"Ÿ„ ì{‘8ŠA‚}Ų(!PÃ!;s–7“\o�QðúB m9\, ’’ @÷œŠàèƒÿŽúÀV Å)Á¹]ébdN5¾P\à[>S- Ï)•õÐ5¢º�‚ž9rXNý@¡®‚PŠ#š4£èüÇ*y}x8Óx�œç•ù� @©DU¿¸Td9üZrß›•ž¾JÀãÔ A78R>ýDYâ·”F€Bú}TèMˆp8Årmvaaaea^@ Épòÿ[QÐà Ö=m2�(ß¿§×ßiJžƒ¿çh œýì³k— ûFàÔŸv4Z>½Љüi àªèÚ‚ðh€\ˆPÀLˆa ÷ñ Ä�¹þqè¹°‹ Ãý&�o ;€02ô‡ðR - ÔÝï@@!ùñJÃ,yã8÷íaÚ¢‚ÿ@P>>âcÇ0>ð_7×M�ÿaŸ%V@i)k\¡äùMm!±0”)æ-*�õÊ¿×~r(¨ Q`>­c¾þo¿ý/›ŸG €Àƒd÷ïß¹}ku¾\’÷8=ûÓùúlE޶�vÛ,pì‚þ8ï[b„Í€7i´„,.k�­Ïέ¶ÆLè@R8Áñþ -€Š^V,¹@uv~åúÆí;¢÷ï?¸—l³Õú¢CHýt„& @–@˜€Ä:€g @¿ó½úˆž÷Ð,€æ^ÆÔàì`g†*öYÁ¦X�–ÉeåêȈèXg3àsvx�ò�3GóÉ¡'R@ý—$÷_.ù™3¥á)$€Ì„ÆòŠ‘ÖEˆºŒÄॗoQé¥ÿ5kèü;±].�œ� O@.0«ø®ÌŸ:S�ª–¢# ª>G¬ÃÈðÿ—‹ô;¿P�µ…œ�â3¸þÔ­X8QW+�‹ ÌÓ*òânÁXÚvPúÙD±R™®M×jõ€ìÞ=j=l-Ú¸áf€_û-ÃZø?¡‰$ü·¥—ÎìÏ`] -À³÷ÐÝ - £'À`,€½Ä”+X,ûZy¸n°4æfö–=ý#ÉýÇ󮢀{9èøñz�Öja°L�@»ÓIÀY>;kÁ«Òèe ‹ ü¾Öt P8p[LåðÇJ›”„ÓV(t¦:¬5%L�\P½ræzy„gfÈ䜱�ª -CÓ¡ƒ/ ì+ƒ)‰Ì+HL¢²ÆHñœ¿%2L�ÀŒsî - ^ý}©‹À´ô» °`Jêȶ>R: ¬ò:t ääq¯,@ØO“ÆÀ†T¼tÐ'ÿ¬\�Õ×Á3C¯¬¬Ó@jÐà ö=-W˜v1%ÌÏfs€. 0Ø›ÀìÉqÙÏ`€;)]@ ®’o�/2PFÆQhíϹù( ,EOD—’@  Ñß “�€þŽýçìbvÃ5 þY¶·{)@—:ÊðD Ïýxæt'ëî@Æ í•€~ù¥ý&Ç?†�yõhöç�º@·NMùYèâqðß•H+À¦¡»uR€ÜBxyÿ~šè¡<>K}6ìjFa}€Œ|ûÍW¿ÝÌb>mž ÃV×WfõãÍ÷v¾>=] Üí=[èà+ØÒ:Q¶c@ý´c°VQv�g¿�é'pzšŸ6‚šôSÖѯé�›¡lܽ÷»|4@ †”Åk¶Å‹ÿ�쇊èÑ -@yäýØåß¹€~cì�µØ› Wëmô³®åÁÿr½4R÷Ë"QñdeZLÕ¼rqðííÀêC_L”B)€ÿê™úÄoE‰ ‘`#ã1¾Ç«C™Ãž[Âx2:RœP^€Rñ°ø€ÝðäÚkž©CfÊ¥:²„/åNà-¥¥¼‚hÁùÐð wHÃôw�¬iŸÊ ¡ì‡L I -@ª(á-œ©—*ÁR’éáÌuêܶZ/‰jFÏy¤p<@'âÇT€?0H€,1× ý-úká�Ö›ëë­pø·PßÓ>NA€f6ùFýìÒåK—;çKAÚ -€Ð÷ ÀNø)á+ -ÀøäS*4\ò Ýó)€ÏL®PðÚk£nÀ‘P–.€ÿn°téê߆p*b‚xeï_Ûó�„sÏ­� …†½˜Ó6–À1��ÓT_˜M€@Ðýw!�”ж úYs[½)‡V®O`#·€< €Åß\éAþ, -ö ´“)ð€JkƒŒXè,P«ØC¡ø)ƒ˜+è“ a³'ª)·„ÿÀV;°S¸{÷‹¬€•fbñ×õ%ŸŸŸ¯U§ñ’ggk5¡È61rï½@G?O;@ 0t[`B4£Ÿ'¨ÿ¯Û°@h3 �ùa³µðþ­Üýúë$ä -€Œ7™ è�•7£ê=µxæ±ú÷c¤V;÷Ðo,€Åžýp© â€Y&Ylôžfg‡XB,#d2ퟩ&@ ›j”¨ êMxý8ÑLý\VÝQPºÒü¡ðG�Ãm@"ÙW…ÌTÓOUϘ˜€™DÓ…#ÕR�£àcܘÃ[Ê%›ª‡ã�QÊo)_e7£§VA`•RC·Ñ¦®¦lÁ5Œ¹ÜñHqªX<_E°÷O‚ªþ@z¤]T/•á£^-¢=Àâ�cdgT� (z¦Eþ+ëOpŽ‚ÀDXNMñÖüÀ±Ëãi9Õ&À?1ƒ"†ö£'À}…òôlmv^ÿr€Í¢GÀõÿJl·@ûm&øîP¨ØþØ]À”€+¡ ÃÓübGG_s@§à^€vˆ�] G¾k¾¸ìVÄ,˱?:z!SÜêí ¶( |Öê�AíýóÑ¬Ó çž[0ÔÄ1§mCuFø2H -@`0­Ë" -ÌÝ2vt(cÁ¸K`9w -¿Ý -€MÆq!›OÝ €ôÜ9á¿’Ò -ðm]é3U_‰ÈÝ÷䙺m(Õ„€e > v³6Hø´•˜øÃ·�<@Š  ¾[˜Ÿ­ÿÓ³Ó³?�•ÿ? Êïd -@; O+Ždë#ÄÏÐd‹°­gQf�ï©è´®í7ésºZ«é§MüF äÊ€ÌnÜØˆ€È‚ÿy…f¶xØ_ºßþd[úøÜŽ·ì™cd¡Ð` kðÔc¨»�P�NwÝ͆EM´¢Ýú²º0ÀBÊæˆ¶¥R -)¬Vßҟװ;#Ø�1Ø)ý�è¿Íù®‚QÑ天\¯Œ4áØÌÙåN«¿5'Áã8{¦Z×]D”t¶”ÐiÄÿI*j$À;e0Gçf¦Î‚ðÈ7Äé/Wõ$Sb¾“Mk¢Òf½Tä Ä­D‡ŠÖÐgÑÀ …¢Ü|½¥h ë^¶wª¥ ùû3ºZ÷Lå¨N@¬Ø,ÏÔg¦¦fªggf`:À£Äo &¤7ØCh�»ÿ²‘ß ýÿE“E—›¢Êëë«×W›Éçï¶Àû­&ô¾”)y à³)ŸüÍ% [àK€�ðÀ××FOnU 0qã½1?€?3zóé¡Ð-©èR&ÇO"> ?8aéÒÕÏPþfù?ž�ýë•l˜ -°—pî¹õ±~ -*~�R'@f -�ÌýïÈÞëR:Õn`Ëð_¦# u´@²�Žf!Âu•Å£Ù\ÿàï…HUã©#@ú#j€G  ¿;Æ?„å=~Ÿ€ŽVY?IØc @Ÿ±Dv  i/6&âÈ„UÖ™ÖœAóOªg�1ñ�zq,òdW^÷9¡øÌ\Àø^,Ëÿ8<5o˜š‚Dè “vªgß+- - ƒq/p ¤òÞJüDÉ·Ì \­Ö› Ee.ˆŽOÔõíx§Â!ùá ¿ -rnægÜp¦Z£„ÊnªÊÁ*Ы;N Ññ¾U˜¹©Š²RN T®Vu§¶ÕKdm - ‹(ˆƒGÊE1€^8tdªzΧ«•áé:º\EOPWÑKÔ™ùY‚ùºî‚Ö1U>[×Û¤”úóø¶²Ž ÀpöA} Ì C¨ÖÞ  ¾�¼üõUùÿâ½Ìx¿Ý.Sð -À6»œ)×–“€ 'Ü]¸ëý Û€�BH ð_˘/ЦŸ&ý�óR‡pÀ1W¯Xxó¤.èæK—hèš !~D$¢Hú3 -�7´f™pî¹õ±> -� -€þ{äs#›ËÄ�Úý�_Œ$¯‘¼kÿBZ}:ª¸A†ålå -@øü‚ò®ÁwÖ -Àç=!zDŽÿºxòít(¦ -ø¯< + ¿ˆ‡Ë‹ÖV2°Ÿ8íOÂ…],ÜP@ÉfŒü' —°ð-@˜Ã²dôüW†Ôæ-ÓNOWhRßÏ`å¼€ÐÜÊ÷i€�­î~l'`ç±È%®ÐB·¦oS|Þiz,‹|¡ÿ¼é ä¦T®TÅl7Z·¬Üº{ïkb¶0€¬!€ð¿£Ü7üÿp–ZXè¨øÁúXK.ÿÎ1½Çp+€1€úDeâô§’Ê-£|’§iTo¶677ÉI{ÍFó|el¤æóõÍæç-»¾¸¶6wn±�\0×(¨¨—#ïlf:>×ÏëMÁ³ÊÞªO4 d¸ÈëÑF³Õœ«Súz}ªR.5åñÏ€‘²Š^­lfsíæÍ›s‚V’/6šõÊpÉ…­66kM¿-‘¢¹¹æ"7›µªî,ö¤Ä‹sõóÍ&ºIDÏ©×ݪ©ðâ5gU�9ݨª²¶n¶DÄ<ÿŒuñ†Œ”´‚6ψ¬ˆàPìskú3T'†Kz -rc.^ˆÞÈ_ŸãÉÅõ6µýßè�ØdÁËjèß§®;Cçæâ7&™þ�‚d$`¤D¨LÔ �5V×WÖW¨  Y` ¸Þj� - Àà¿` .s¡Xb dùëãr½©§# @À¯DQ €ö·×} ) ·+È—IÈ‚_{mô‚Žˆ\óȓĸ%€«B¸vù-ÿíçó Ô�mÄN" - ­\½4ié߸φWý"(¢Ïcv·¾1úä -€þA¨ò¹Ý ðØ(cu*|è 0)Ý5vþ£aåmã.–[8z s8àIvn=”yÔl?Ï{lט*´Em]#ÐÔ¹÷ôleÆõ! -p¦8üÖ;BO]G={uÕ_…“5‹s†fÝ¥1ß(�¼£=cña‹â;dÚlžo4ôçk¥Æ&¯ƒ -tß\F޵9F˜«+¡D�FkbV‰4¼hÙÙêf¹Tc·þ)g|R Ìmí|ƒ¿X}Ž6š•±ZãýH£œÕß1wN÷ÖýÊÕb¡^?BgDâLJýgŒ‚¨{¥×û¢ü§k¨üyAΞ=[¯·Jzâ³JÀ=õg%`f&ýÈdf×ß6P(‰)OãИހ�þæE\°Ýð· -Àh¦Øù÷¢Ÿ¥«23Ð")‚Ý Æ»â§N½¹Eø0�{‡—ß9þ‹d–ˆ€WÛ€¥‹W´ë€S''¡(ÜœŽ€þÖ -€‡°ëÏG;xþÐ�T@ó‰„sÏ­�íQQ]e.ؤ¢>€ßdHîà. øàG3€ÄdºG@ù oŒŠ@„àÃ!åØÇÇ.è¥è*€òóuë¡Î€Ññ·ß¶rÐV@F|�ãÉ:;)¦Uƒ.Vêô˜<�_ë„ »X@�ýѰ6ÀP±Û àÁ]†^ÿ|ÝŸô%^ÕW|^¿¶ò_¨˜¥A@ꥷÅ9Aqw À?€¼¢t9²'ÀóN@§ß*•&R´Ÿ¶äÛo]K„7ÎâÕÞ¼@#§UœØfëÆæÆæÆÆæÝßÑÀcXèVB]Ñ$3åâÝÿ�è�ýðcDO€©e±s @¿±úÅÿŸÞx¶±­6R¯ -Xçfô2K†rLnwv�Ò³¹r�°¶3G<äÑøpž‰ý#ø�”Nl -àXý³Ú9;U=Sªn7Ê÷Fv¨�òH}¦1÷³8ïd¥�—-ü‡–ÈTÎFYPOQÙÕG©gª"Ós)ž Ìy/H9\]•ʰžŠ|8FJe¥lø –ÏÈs.Té‡àÐÁ¾ÊF܈á¿>Æz®zos¢‘Å0¨°šDªçKÕÆYÓ^±ìœãÜV€í£÷¿¶"€ŠÍÕÙùŸ.4ÄÀ~Œ�ˆ½Õ:‡C=� ƒ@€ÿnp''Üuõ0wÉÛ¡\b,€í2¡p€S@‡ÁÄò;ÁŸeRTò«—–ÜÅÐåe÷ -@ À8½„ ¤€O>»víÊ%·FˆÊ�ŒË� õ¨&Óƒ„sÏ­�í]ÀßÇ—§³€Ô�AXnôÇ@Ñ6Î -ôþ\׆Y†ÿa[cÆO¤m€Œi@ -•,î7OíÝ -@�)à¿ D÷CZ%zbýß -@ äéh• ag3%ô·�ð?ÒŠ­�ÿ ð+Úâ_jn~žzº}}cýúê|E>µÛËÕÞ­í\gEöÖ - £ŒMlO1»)¥âŸkÖÉ VºµÎm[–+ª6DVV¡=××7ò®€Z›_t*˜¿ÆLà-çö§Àÿù—p,Ð-õýì!àYÆZ>•¹\¸é?ÑBîùX½J9 Æua¢ -îÈýʤnâôŒ�:Ҩʳÿ§¦HÆõ=R.ŽTË´ÜÃÎTËS3?*ÞWŒÅxÓC´Á0ÒA‰8yÎÇêÕ±V•Gó”�‹Œ®4Ð LC'f•&—›‰PZÊ7S¯¨|º8¢îc9Å-‚ø^~À¹ê˜1œÓ®Ÿ™yqÃÃry¸P>DŸE¢Ç—uެlåwªï¹A\RmTVòrP†x�’þEôçÌ®ãadé7&3ùÿ[%1Žér…ñ@Þ¥*P~AÃU€…ÆJ�)« Ã?žŒáÜ^²—À¾—%àÏí’2  ²=€€WFgDÿ£¯Ñc¿îÕ®È€Ž€­– ßÖÞ΀+"'�¾6¾ôsv~iàMî£zœ`Z¸ - \ÿ¨0÷ ðü\ØÅú*¤¼ÿBû©uÝ�Y/È70úÛö'Øt¹ºÃº:dS÷×3=¦Ì:@Ó1+û9EØ®8íä8UV\eáK‚$ ÃÒØÀò‡ -  (`Éàoû¿0AøŸ+_ýÕíTÒ€xé øÖjµXVÖªµYyU®cÝÕi¡°pXH+lnÁ\²]w0ØkÿÓŽð–·Øçën cgUÑ3Q±9¿¾q‹¾€;ºÞlÉÿÏb´@ @.üßm Œ·ý'€Y z&Ôín°{ @¯~~ˆ±vˆÐÝŸÒâb.dÑ(Õi €Z­#Àb‡pZÒžo~:S 2z(/Ò‚_ò™w´økû'º�Ž!èu§}Ãe@ $¶`*"¢mmž{OQ(e#t�ÊðÝ�XŽ,–³B‚¼?Ñõç” ,Z MÚú »äÊ9 -BIÎi¡ë‰ ‚@·P’±uVìàÌ€^Ž û -‡iÔϽôqKÄÌD:̈\Ù -C©Fó‡TBËÜ=~cº�Z€n€ä@£ ™¾0´ÿ†–«+hgÛ-«YHUnʳêÃîç¦ .-/ÿgùÚ(µàWÕðã㣴m±îÞ€³€0ªî©òÏ€V:ZX8�§8vT…9J«Äè È=¸ L!‰ZX0þ{t‚Q•=—&†ŽÒÐI°D ìjQ‚¤<0Çÿ.à�=úÚ -Àz¦¤±€<`ˆüÕéá�âþôluzz§€¼ -@ C9è½C+x� Ì~ê±Ðñåà÷Q\™£¼ê5'¦åÏÔÄlÖ7Œý÷ï§ð µ)ÿ¿u“~€¾~ôí»€®€ôŠmñÞÓßà‡´j,!׸€ `O1}ÇèÙ`›Œ<•‰çp�…ÿÕ1{ׂɟ�£4š�²€/Dì`Fß²À:öPÿï°æ†Ýâ¿Þ€ž\À:w1þ“£NOƒægíÛë´ïBÅ;/J©*%ñR!ôh€)¾vÜï=BeÑîÌ{gëLÔ”*á¼®Ön +DƒÿºÓœ&ž6¬62Ïd¢SÖ 00€êp¡üêAŽBáà‘©³º>½›e6Ä$šÊηäY¸E£Z?'àw›]§gÓ©ø�i⤶}rÊÆ:Π7×™!<­pi2\8~ !AúØ¥�·L—>†d -À¸œuú8…/¼>‰@w=K—CøhéÃ.`©¯€¿Õ2@†@?@€PÆ¡ôLgÝ -À8 -~D8î5àÏ›ìl{RÌ ó€xŠü·my,@Ò u+Á²­0�Ès;š€ �È ÀèË€g¶øÄÝ DŒaB‰'óž“‘€.ÈÍøŸJ§‡éÜo€ZìMBH ƒÿ [¢ÿðí·_í€Ì’ððáýo­ÏVúëO¬7÷�!‹‡òÚÆ¡qö<—Î”Ë‡Š‡õÌGªÅ€Óäšòz"3¿�¼ð¶TKž4Ы£¦/ç£ JV)6uŽí()tX{�Á6KeÑØ A¸ #jT¦ÏShJ‘L§”•^ûŒH€Å›¸ÙXKéô¸ÿ8ø"èÒŸŽ�Ïœax`Ù!€‚D‹Rð¾<·¹ÆéŠV*^øKvÃüËP °—•ŒURc½8CD¦}L÷È“äïVvâãÀø‰ãG# ;�N -ÍcV±N¼=Ž@ÂÊl‹ 2›Ðä0á?F€ ž”*?;‹„»(´•d@ @?¸·¹Ñ&O’=~òàá½õÚˆ<�­Š+öå³»Ì^uô(­ß¯ðeßkþiǘÐ� ”…^1櫼ê9»/`˜Mãú�{H�Ÿ<üöIL›-Üÿ\ˆv€Ý͈HæwlÁåOGú)O~‚cí~„$¸ü;öÐg,}zÅDŸÒ6{sí󵻿ÐhÕJÍOÍzkm­¹¸¹Ø¸ÑúòË»¢(þ÷l4Öæê-‘�Æy§qºT¥½œ^Ï\t›W=S—¿\nÖçÎÎÕi˜çùÕz£õ%¼Eåk-6´u¾¡,§«ïg®wýùR‹µ›Üª¥Eµ´"æUßl¶Äƒçš­›_nr™ŠÑœk´ææôµ‰Æw�RIÞ~½¾¢MQ©óÌéD­RiÜuËF½ºú"=ðUg­Mý!çÎ}ÐXkÌÝÐKÔºÕ(ÕæLzfêga �ÍM­Z*ú9$üj‰v GU�þWÏ5onº ‹Íæû͆Ò5ô¦êʪ٨‹èÖtYÈ~sqNR+U››PGÚ}Ô•¨~n^9ÇoÌn6TÕ®¸6��Á°ÙÚ|�¡�ûPÁôvƒPþÿ½ÿ ò™ÓBÓòß,_ûä“î€wû5Z,…ða§àv€Zõ6¿Ëâp¦\¹úq(rþa ®8mC @®€ÿÄúå€o6ÆnºçÖÛžA†i€øÏ¢CÆ’SXæúo‰ —¶á¸ë²ÑQªd£Beã}2�WÆöæcü÷pÀ!˜,LF €ð?St<®‰J úäÎQÐü§@zP+.»> v¶@¡üO0eðÀ ­|÷�ðíw¿½»ù«•OÓ”œà‡Oß|ïz}dpXXI% ÝåÈóî3—é MË2]õj2 ïÔ -€…ÙógÛS ±,¶+*InÆÅ*½•‘�´Ôå6éÁÖoE À“'ß&ÛØüâÆæ�Påct$Ð�ÞýŸÆ: ÀSÅt¶H -=~ï±z+¾Ë³þTë³ÕZuºÞ›¯Ò;c….kôŸ÷�`lŠê4�6b¤¦»›riLìTøT�&T^ÆÿÌðpoBýŠ\WýÿÒm�.ekÕYÝ�®j¯OT¦ç5�­¿W[å(è¨ Î½^†WôßBáDÃèuˆã²(µ’VÆJ§'t+DEÑ)6~|ÚýhÑ(‘Ôå²þ S6º(ŒÝÙÚ뺠јÕä|½¦¿X˜x[™ž¯«Åá·ŠÃ…Á��ÂÀ ú>r OO(È\­Õ¼«2vš[Ep ï:-þ7öW‚íz­®×§)9‡+ñ³«ôåÓ;@À”ƒBÀ,JÀO·Ï}€Ë—/�£ðShngKN—‰H\£# Ë@~»mŽ¿‰ßøšõ -@â�ëÛ-P?³t0W–—¯\t  SN2Ð…¬ Â…àd[p@ &ÍþsèúfTR £ÀÙ—‡^N8{‡c´?4z+Adm ÃÿÄ÷… wy§¾3voì÷U èè€6Ã9Æß>�1"0€L Äî -�J€(›Œ€!Ç$ü§Æ€Ó±HX°»m¡Y€ Ë*¬|ó»{›7~e÷ -Ú¾}ððñ½�Ù¢¾ÿúêS(˜} -·u�/ò– ìæ8;^øwi`l÷E¡DO€P—G'@{+Î4›:æÒál#_ªÂ—éérUàöý{î‹òdv³ÕºÅl�úH @ðߘW$ôÿ“q€Ž*€ïÙ@ÇX힟a,€1É|ZÅÂN˄زZåÝ÷ îÂLŸ™˜~<ž8Í¿#ð*F½ÛžW¨T†‡‡åþcüSø+ÓÁʬ.vµ=qZÿϬ9 G$¿ºþ!ÒeÝ€‚è,÷Õæ´ŠÉ)‰nWÒÑØ…3À|§‰Ê�j5ºæ;ýzE¬â´î«“©�,‹·”Nw9][(W§µO9ütd®L(Gµþz¥ªB t1ñ™‘aú-~u¨ÈoÂаð˜o$}WÿHÙÇÓ“©$ÎdBE«ÕNëÍœþQ]·SYOC¸SÛ:FÜÑ -"ËÆHBdƒ.´fgk b¢Ûçž -Àòešú§ -Ð7þ?,a~· �¯}öÉ•KÕôÆ'Æ?ujœ€ð¡ ß½€þî¨ä í&C àŠ[üEª@¸0~j‚„ þg³A?Ñ€´ù?³ h䥞á¿Í°u,¥ùþ¶'Àÿ;ܼ­ýÛ -ö˜‹ ëícg­ÿ™b0 ¨°¡úÛèèÇ -@:û£þw(&¡´Ûº¡Iú²p€n P`@�Q Ê_Kô€ÜÜÐ 8ÐÓ(,3¥0£–á¿ÿýñÑ7×ÎöÝwá?ùöáý;«³#ƒrÙ­ýM swµvÐ{‡V�ý<íX‡õƒ¤Ím1:ƒo¯Ó$Dhm_gÒ†5§b<@aHyzaõ?þ6áÿã�ÍÍž‰xô]Â̯�™ ÉâµÇ»ÿY{8àgŽ Z8õc �ïÐo,€í -@¿JáÝŒ&…*J“¾pµš·N=z¬¢K�O›ô`×X©–*óÍMNRp¾ÞØlÔªïɱmœ.Õj´?e||�Ô+õS,*u}ÎBý|¥2·©; ¢ +ëçPÂðß×ꪪêµ÷xȵºV"Tïé)ÇJU•¯Zmœ§˜Â8U•ƒ:ªZ­Õß{¿>QɨÏ×Në̯HË ¸M˃­Ÿ?«?ÖéJófÓ%Ó‡§& •ãYe6Qá„þ^î½OOT-—ß:\-ôe,W]NLYñ;kQ3ÑhlÞŽã�ZéÝy=ÖJ­ÔZYlÕçß?Gµ.nêÓð¿R3~bô¿/ëù¿‡ü+Ñw¦Þ,Ò �gÌÄC{ØòòÏåñoýÐAÏä1ÿA!· Hò?s¾þ^»ö·¿Lƒ -€/€ÂìÈ»}mT`Ù€ð¡8¸O€ÖQ'ÐÓ¶a¿M·J ZÐàååkÑ - ‹Ðý!W>1¸˜)¡$èìO›ú$ ûŸÇn/¬´<=4D%u[ð™R¤K¾‡íA0P!0ßÙ1™`œSÿ&¾Ú˜–KÙ†îa`g°Þ¤„·¾{?€Ìº€ãºßÿîÌàÄäÛ“Jg à_—pœgBp-€À¿+ -`~ÕÀãËx v5p(à(·œÈÀ¾ûö›¯ïþ—Íæ§+ú�]ÑÏVž<&Þ[¯ -BOù%"ʼn?ßešhoéÇBV±•™Oà гîƒà @Ÿ†ÿ/{ø@à¤zúéªüËeˆ¦V;oð¢cè§là[Þ»~ߢ¦ Í2ƒ? ¼vÒðD®Á|©š�qñý=!´'/œÚóZ+BÄ'¦ÖïܹÿñƒûO¾Má76¿hmnÞ¼‘bR3À„ÿ5müϰÿOJ²*€ïÙÀ�|,€½Äô  ¹¥ ?ÏdvÔ©x=ÐZµò#××çuå‚Óju¬æ�½Üh»gx¯WÆjåbáÕÁá©©3SU³=½ƒò1‹èá¼Eô¼¬#:jªÜ¬¼;ÁàÿÙQÃqµRª½ïý)ºÐkÒ™!Œ–�˜6ë§O‹p½S«¯ñª|Zét~†?‹ùB³RÖëòQírÄýø†´ü¼Tš¨Öu¯°·.þÊý/ ¼p°(ÖÕ.–JQ6? KÁ_˜YcºÁ›k,.ž?Ï0Ä*}clhŸŒJ·ÂHa¸°¥õ_‡ôw‘/޾„åòtÄ8ì §ðó´h¯…Þ# ÍûvQ¶›˜¡®Y¸�ª"à”cGON*‘€a_®!x3X¾"È¿´äº^½rù£PN1ñ)�‹WÀÿ+*–?#Ìirý?Ÿû@ˆú2@‹Êš (ð 1€¡¤´e?éÚ)ç±=*A6ಞ -Ž´MEwaBøßn:vT÷ `Oëãî€v€ì[°Ã/à#Üï->Üýhê SÞ�¡PÌ<ª²ž dAu|t4š'¤~ŠlØ¥ø 芄»Úÿ“@Hk™1*#[Àÿèá7%ï?€ÁerŠï]Ÿ)R@üx»W3.Û9O íí´!ìo{ïo¹æ tÿ‰t(üö ýSã6fyh&Q„â)¬DpØôDyz~õö�{?||?'7é °åž àQ„‚ÿ™ —™"Úæ÷þ§ƒYÞï í¼0èªDÉIí •ÿ•âuÁnyz¬JoûõE`wêLùÿ.Js¢r~N¯CˆàYX;¿F©Q~§^§ wxŽÃÅbõÕÁ‚ð…}/Žèø9Ý[ì§2‡ã¹øSè£wXŸ›ªU†ë0ûƧÀþ¾QMP?7ðÂÐÀ‹Âÿ¢&Yüæl7±ƒáaËþÞèë†@µ`o -à>{óE¶¾tùÒE:Ê€è þ÷"Ô\‘¯½l0)ü•uoŽÓ�p:1{þV>„� }o&€°|íêåS'_]º -À//_¼0>î».¹" �P±ôo&§ŸE'þ»7`ú7,€@ÂTÜX#%¢5&L’ÑGMZ†ûMßõCÔZ[HªNùî-vÜnîèÓ{ê P¼Ñ÷¢þ!S„Øá† t-º«ðÎ&óöÃñw©½•[·@TŸý󨇏k@ýû(çÐóµ?êrÛm -=ª(Q˜®€4èfTÿƒÿǃ+…™{½¼Eð;Øãh€@s‡ÙY àüÿç?þ b¨i¥"à[ÇÂã ßO -ý ùá²ïÕÎÇ -ïŸHlÍZ  P%o/–ß"$Àø/KèËLÀçù_dh€)€¡¤¸©-K‚Da9sžŽ<|üäÁ“ÔЃ�Í­››šïÞ}ðõ·�D“ô¶"ã5f!™�ПéOh ïSÆôh ð�P¹5“)_}õûß=«5�÷qÏz]îëéáë‹¡QèŸdE‡¨ìÎÍÐ=�Ïèß�át‚”�œ‘ñ?'&8ÎÔ•^3窥Àÿ G\(e¥åÔÔT½4}£66d˃æp>Ì?¾ÍXê¶òÐS9`Ê‘|‰è¯ÍŸ.ÍV*•RuQoO¯Ñiç(­Õ›•Êm¤ôPìbjᾂô«Þ�.Q¾hÚ¨¯Iipˆçã'áP‘^ŽIZ¯—‘"0(jˆ�õú¢/ÓÓz±�óâq¦Î_wn.uì®ÿ -C‚þႾç#VÐôgŽîë¬xQI§«/ãßY¾‡A&ÜfÑ - [dk€Sy?Z -ûÛ -€]Ê®9�~—-/ÿÍ/¯}rM.ù©“4ÿépé”ð•€Ñ“§’ò_Dø7ö§Z€~A=MÈO€V—&GGO.]¼J ÀÕ«ËK“ãtAÀ�¡¹àbmQÿý»� Òý[3�ŒÐz¡��]p ¼áßÚ˾éäC¡Øå×)ÛoLÆqæzš» 䞆ôSdG;Z€«*t§š®zÿ¹`Dþe™ Ì÷JÖÆýŒ¤f€ÜÜë£!×›àö‡@@(ìÇØþ±{à@ [81™5Èú@£€3h6øój:À?™Þi—Àós|ï­ -™°€ð?:øï0*¾ýÖ UÆ6?MøàÉãî¬ÖŠÃHŽ´;¢"ÜÞ“ù73 ñ?ö|€#(à¶ÞŽãó/ –8@®L¼ °@F_ì ÈMyD €¶ˆL‹˜:6ó­¨ÍÔ�Uyz~Ý>hǸ`csóîo¿yô àŸ!!„Ö ûSã?  »À3õàžS €]Â�bv `"Wî~;ߨ½®\P®É¬~úu¶rÆÿxô�ãþsêtifæ¨k¥Ò M Ã|PóLùÌÔ:ê³ �÷êÕÒº.(ïg*ëºO¯¦TiÌÕO�Dî8äõêØëÕ÷ì„'ü? ðÎÌè7�„�Ú�xÛcz:D‚ð%2g¬µ*å5'�*Ñê¬ÖÑ@°Z©~Ш–Ìhx¸<õÖà�[Ȁ˅¢y ¹ê‘êblˆ&�ÿ.¶¯Q«)ñæœ@êÛ¨þ3þ¼þÿ ñ Àð¡ûÈpƸ½Ø¢°O¢0êïüuvMÀvë£||éÃIŠñ_?† éÚ®x‰fÖ]sÂü.“¸š)B_WPŸÅ Ô§€Pþ�}mš°Hؾ' €pé‚2^ûM..½‰`íáBRþ6#ÅéÓp@iòŸ„tÿ¶ÌØcꇎX@3€Ú�l+l‚ñZmµà·\0�ï‘ôS m@$Ñ÷pOÀC‚Œ¾>¥r[�£žLi“Ѐi- Ê“;&DwE†w¢Êßø�ÀËìqP§¹­Áß<€kÇ'ßV:º'7éVˆ-à©üžxI�6tLü7žÓ -Ïïw�@`W J d'k ™ ü§#€ß™Pð©¦û™=¹ÿÞjmd¨X*W§ggk™óoážÌUý\ák´ª0w+¥?g“ÆDçÙ¿HàßWò• 9³“x€8²ŸLÉ"-bêØÌw ÓnÃ5½rýÎ}3(vß -À-¸ÛÕ@§­,´%ÌBzŸ5ÈÈ€b,ZÔk óÜyýë<»ÕëÍÚëµÌMmT~„.Úqq”ÛêmLãn .›ú‡ªTÇ@ÈÁÂÔ‘#Så¨?w*âïÀÞ!b©¥ûýœ!M®”©*Ÿ«¾¯ÔŸ×KÃfÊKDÍ=ƒz¥ ì¨FHE‘Á^WúêH•?‚Þdwùg‘ zöìb¥‚ÁøD¾2ê(”Ry‘_•XÇzu¸T}Ï€lPàûªO¿û FpíƒÀæŒ(Ž(‘ -¡Ü• è/ןÀH€Ù1š| �_mÿ‰ç0�Sn/î‚v»÷ñ…â=Ò#‡l…báU%¦Ëî`åþúöý1è£\¾|qœVÁžE;à—–Þt€ �Å)�ð›®ø¸­8 £–zZ>0p—]‘Çï;^¹tjÔc™ë?®›s[†n·  -@ß­ÄΨ©@Šø7¨ÀsçØ½Ù€•˜0K+ã)fd5èPXj±EÏû [» -¨'ÙO÷ÛÉvPzõèãŽ@ÀTH`XføÇS�›ïs6Ð6�ÆtúÃÍ Ñä’)à¸à{›à*�tþ¥m -ÀÛã“ã„&ìp?Î"@0¥‡ó;*ÕѰOòžFèÅ‚@P`à›ßþ¿,Á?ãÝ¿·^=4T(2n.}ŒPq¿³‡ÀÏC¬è %~l>á€ô“ÓVÌ t¬»bÚ -€.€‰Ù7ÉA§ô"¦ŽÍ|ü×oõÂõÛ÷î3ôÑã)úá1-o~±¹¹y÷>ÍþuЦ ¼F^i®Ä»Ž×þ'¶§�è1@g?Y+€g  c4ÀÖ÷3å0_;Mð½1_y�`À‚Î…ÖÃèÅ&¨Ê†ÅpPŸÀøwxÐjyÀ?‹ðÑ@°ƒ™^‡P²^/5uî?׃ e¸!$¬—&¨ØŸkhB«êY!¨ñ?¬r&¸8.Šr—7,j‘Þközõªë•±J¥2ær6äg ÝÏê–ð�4¯þ >ªMCÿÙF4TiØ‘ÕGÊ�)À}HÔ›ˆðÿ-»åV¦¦±°Y-·t ýU¹.›Y?žät…Vn¨xƒþ€õç„,ê�(î¦iÑ9ÊŒìÅÒŸë;a.: ¯Þ¡ø(ŒØÓ/—‹îii8íŠBû›×Ëbô¾­&ÿ°c,€ØÁó»Mp|åÚ'ŸiÇO¹#>Œ(ÀSøÝ£¯¹# j2ÀÿZkÛd !þKˆ, ›¬@h÷Ç C ` úáÁ€D=Ь|öÿùìÚòG(oR¡ í_˜}š - ðù7'PƒßI•Vhæm¤|Ý|þ0^gdæXœÙ¸\À?ÝÿÆ0Á_ºgë«=Ú©DH,LÝèˆÃãv´Éþ—ÍFòfÿ8ÿ퀌„�:þƒPP�¿£pBÀã¡ôËBÐ&ep é(ý¨8¡Wi¹AÇͺªL¥¶*~ v3à(ð߸d'UjmS}÷è›ßÿ×;›­ôIøŸ`¸;×g‡ä óK¢Ÿä>ß÷­&4æ·�älĦ~B·µ Í ¿9Ä€ùÙ‹™\àç†þ)+}¸‘ïöçÜ!‹ 2À¯ Öwnæ;Z–ËÓÄ5L/\¿u[ÏûX àñ¦'�onnÜØ¼ÕøÇ¯¿îÚðO…J0€Ì€þ´øÓÚ÷î ë po1ýÇhÇ4+�|,¸g˜¸W³^ù_+ZÍ¿AË5CXU -Ö€­ŠZ^õ:: Ä6šþ¥Ÿ‹ÿ‰êðp¹\(”3 -à_�¸�î•�¹ØŒðŸÚt‚AÔ™’¸’¬Q+ ì›5¹àu±ÑMþßååÁ3O‰A~„âgsÔžJ%-WëÃzZ©ÌºYÀüYhÈÌÏæèÝ¿Ú(•] Ìpß±x@Åmåá!ݸ^,½%ô=(ø§Å¾@Ÿ™™óõÒ ± -„|ÂR·­ÿÄuõúØB«ùn]¨N/ág*¶þÀúó/ê/h3úãîó=㛦ïX à¯^Ö2ðP¹VŸŸ_¨M‘ ‹(…{Èi[§„ø[ìÒ¥À¦Ÿ¹\Àçï^N˜ßiÆÿkŸ‚…ùƒG=< -@ -¨Ý� Ÿ¨ÿPКpÀíp¿Õÿ¿øs€e1€+W¯\<5jpuùR€qÔÝ2ØÇÒ%b>[¾têÔI*#bòœj ûšÓ'AÝ¿ BÙ2æN¿«úó × ™þ\@}€}ª`“¿Ù~ííÇÉ’}uøÿB0ÁG;Ó�ûØî -ÿ@ãe¹ÜA[„Êò÷ƒtP€ø?£D)ƒ¡ ð½Èø@:hdç^Z ÒpÙq³•9oöo¯=CþjË‹£ÄèÕu(Ä P(b˜6àë…ÿ"À¿^\ƒ†éb½æ`:/í?ê‚+� -“`/—„P�ÿÈ¢Áê¾ýæÁÝ»_l àÉc‚뇆FŠtšOÈx»s[!WhÍB¿Ÿic -@)»#€_­‚„§‘á: £€£ -L€s„@ƾz7›˜@ÿŸ.×Öoß¡#À‡|Âäû‡E+3½°ŒÄ{䕚]a~Ùÿ* -À¿üË3Ç€ -øùV¾ÿX¹ C�æùg¶è]§>ÿ~m쯚ͱ¿¢_ž° @z®qš.|fäœ/*�äÇ*—õ¿Z< 8âé̻ɺPлæÐþúôHò�ÓêŒ�(�²UÏ–&ˆ¬Vß«W†*�÷a•Š+ ÐæY`½Q/A“»P¸AΔw£^i4J58˜EÂÎ -}gêçÖL^Ý‹´© Ai|ot‰úAþV&Fþñ–AÝÛ5Ʌ‒ÏÌUËMw. ?•¹<€6YlUk7ÓP6 _%æoÛÐßyqíK›2Ú7D|ß°;ûÑ÷‘/2¿¾z¾ß¾�ÂÄìÂêjcuevbd``h``�…Á³·%ÄßbðO…à9èÑQÿ¯y?AÿL üñ_2Ð¥ ãôÿ'L· žáÿÑ×N.}œpŸ@­bàâöÉh¿Õÿ@÷#öÿâäk'ÓhÀ&“oºBÿ€KËŸýU¬% �¹ÿáîH‚@|Ôý° Àqús À(Î5 J�´þ+ õhô÷‚Ël>+Ó¦`q(µm“¥à¨}<ݽ§õ�À \äŸ'nMbek  -£{Ýð§åÃÝg_h�¦0Ý,7ÜËPt$SÜ "SC@Ðn¦¤9÷„`ÿŸJ -åá·áîá±mÓûw€žŽïˆŒB�‚òO°›�Fi!3DµñÛ¢üî·››×3 ™ÜàÇOÜpkuvDÀ´÷L3Ðî¦ß�pÂùXEå¿~C½èˆ ¢X™â»¿•á~ºÇV„gË—Í¥‰hÑ©ð#–raµ}Óî pº\©­¬ß¹wû¾Üÿ�áiãè ð[ÔQ —¨É+ͪüúóîÿ¤6–Ì�NŸž û\Yé /uhl¬R+9ÅXidlX“æ‘1Í#ÌÃCÚ™øí—†éH—:f>Oi¢hB‰gšhç8×l¼Q{£Ö¨¿Àˆû—Ó@+Õç íD±ç½:£ÿ"mép–uhn¸\(9B/÷�ÈÐÇÂõê×&ÓUügŠ8P_@%B½X®k›ìÎÕ^¯ýˆB”£¿RòßËUÊi®^‚�È(�Îhås3Õ)•pu¤ÙôEôÏãG™:;#˜®Ï€Û‚鉈ðÇPi¼ŽÈ~O(:~æÌ™J½<$2R¥ïLZêQeÿ‹zFRËÕ‰&4#+H•׃Ì#J�TSjýjZÔŒJ€Æœ¨‚ðÿ¼@b\u#¹Ìõû|-tŸðá=>§þ9 -C¯ʳ+×76ÖWë•àÐ!Q…� -æ Û,!þˆ¨ÿÿ&Ëô3×Áô«×5Ë‘¿¬ƒg @Ç`€V–¨ p A€GGÇs€á€BÀû kê²PX¦ -šÿòµ+/Œšt(B:€OÜEà@v²#Ù'aÝÿ`K®é¨;øË🭄™C¡ðKí|ÿþà¤ÿ†ân:Í…‚L²ÊQûŸ<\�g‚º8À -@Ö -€q7Ý*nrFˆ( ëþ‡Z¼tÜU¡8þ¿Ð>4€£!�ÝønØ�?OPÇ‚hB¹Àÿì�Ç1¥q.�®x¹]À˜`¯êúõ¼‡V‰m`$VÆ*ôË´V̠ˀ”*3(€™@‡ÀÂXotÇB üÞ#Ð -r†OÛ›ÏcìõÇ":R°`i€2ýQ"=‹ŠìܵÙî Ðþ?=B”1¥÷ƒû$ØÍ£˜e�ÿb@øŸª€ÿN -À½Û�Tð‡î<¸³±Z- KÓµÚ|mv–švAô޳!YεÚ\ àٸݻ -1oen{€??@,3À$á-yøäOV0€˜³U‡�Wd’Yʰc“ åÀ‡ÓÕÙùÕë·î€ÿ÷'îsó†':²ЖŒÿ¹àWkã}ÿ«Àÿ¿ü(áúø_Êá?S8ô¿þ¸Rû±’ ø'üü‹ i -0!ü_LøUëôü6”È㳚ð¿6[¯ÏŸk´æaÀ&®óô´Q—*}š¥zƒær9fŸ36úØ™i8 Pà. -ÀúV”8«§¯WGß? ¼TÊÙ)mÚ:WÈmºµ -apö½ÒazÂÎ6£·€©„Ã.GufŽZ”™™¹/ë%]»¤ø§:bFׯ£\§›Œ(SDþ%§C2j+gU,¾7:Zž§# ÀGæDΜq•A�]žåSŸ[lç×¾lÌÎÿûÆ�Ÿj{ž[äéd†™ü}7ñ=æk&ÆÍ·o$‚þF¦çW6®_¿Þ\¡ëßý•æWæª:©/ýö)!þ“?qò?àü&‡—›¡(>ÙlÌÇo/dW®}Ò -fóV€©à$A¯�& BùÞ -@/ ôÏàŸÏÏ-ù_¾,ܧ‹ÿÉ‹Ë"�1ôˆq*5Œb™Šìì{éC9üÿ[PxÙ æþý¸ÿà¥À'`6À˜/ÀU:c©ÿtà¿ Ù@¦¼"¦S›løœiÀq!>ØE•èÚ‰ÿ²T–nÛk €oã£ï �_jíƒsƦ2“X¨« "ôÏW˜tÓîbü -@?�÷Úà;V(ó`º½[ÿAt •å@0¤ì4´ÀÓikôxþ^†DÄHŸš¼d€wHÚ»šp(Á¿¬C°`üOAðÕý»·¶+äo¬T -C#òþi˜ý€íd;¾xü~Óšƒ -dæÀtØ¡ðÓaˆŽ™_ “÷aèß©€ó� ž ü¯Š,¬ÞºwëÖ­û÷¦'¿¿µ¡é š~•º°�@(6¿^ïû_ƒŒýèu£ú�ÇJÂÿÒ¿ëTþË7~üÆ�ÇÚ -ÀˆÙ0ËaÑ�P,È…óFª€ ø_ïilpðfëÆ3O­Ö�ÿÔßk´ê+o"v²iÃÂv“1÷a2*÷AÞºðnqN§gêg‹C÷à¾e0¥Ôš$€ÚxŸÖº²àH‘JƒÃåêHñ<ËÎ6j�‰zDÈÎTó¾|ó™ù‘ú\¢‘æ/)$áus3sÂßj¥Tm©L†d|ý©©qý7‹t™V^SQc�LàØC›sk�”‰—ˆ •Þ)‰�³¨•ß7àñ€Ï8˜q¦Y-!4øFÙ;«7‹7ׄú‹k áHSÝBÎ/~®­zôÙ¾còõÉžï5cT¶É»—{_ÐÆpev}}õú†Øu­Öׯk¯^N×m³„ø[l‹ ÈÈ 1ð§y¨þº®c±¼ü7&K§èŠ')bÀî‰PÆE>¾tñC~[ôO -@KàìÇ‚Ùÿ˜<9~!S®ýâÒ…S´HQð�‹ËŸüïÿ›[` ì û1{/‡6Øý²ôÂyÍgŸÆÉ{ƒ8+ã ž£˜ª+áY`œ”i›±ÆÂ„Ž@�q+þƒß©D¶‡VÝ -xzü˜0Óîÿ­aÉEv¼£¿™@L -Àÿ`ägHwÿÀÆ÷Ç†Ú -€âÙ+[6HÓ­¸%#æ­è X"Wx#H¡ÿ?J†Ð!èù‚ñìb9ü{‘ã¦DW@†ðÿ‘G¼ÙÊBVîdvëέõ…òˆü ZÖë³à$ì8ɉ'díôkàýþ¤m=€Òaƒ3Ó7”£"øÖm€"è’R‰áWcѱ酜0üÿÊt}e}ãöÆ­��[·ï¥'¿“ü+tðß-lÃÞ,ï8ƒÿ üëV,û‡éÀiM¥‰Óc?®¼±@“ýʧ*á¿àÿ©Ààÿ2ôþüüü3~ïÇX”ÍùùV£Ôh~é±î�/�V«ÙªSeÍé¯ê§k›Ú˜k0àfƒÎçê4j[[\lm.Ö ÃCS3sͦ»F¨Öϯ5£^6êåREù Â溠z¶p¿_ì`¦>R,Ÿ-¿#”×MFÑ¡yb½Ú¨¯×ç›�ùf•Ø}ݱ¹)*a¡¢Þh*Õœ�ÓöÜÚâÚç‹_þöf³2R©4Ön¶ZççÑþÏÕ3Så³ï”ÏœCx.Ï€Ø šmðdîÙd ÞškÔÇÊÈïDäBy˜…UZ9 -‡©@þ¯·6«u½ÑlµŸo -橌Y\üòæ—7[_}·5ýî»õÍ/¿¢ŽïËµÅæÚo¿üj�Ñç*pÞèÏð›A¶õ¥(Š•KNÌ�Œ:€¡CÓ³‚ÿ aþ†ìº¾)­�[·6n¯¯Ôøæö2à~»]º,0šAHøpm3ŦíåýqMç"€Ï>£Ç½7OÉó~Ý�€÷MºÔÔVòð?×$ Ÿµõÿ ÿžª®Ä “�Àn®8o‚>Z¾ö¿AŒÿi £¾?†~¦œü�­°3ßÑÿ‚ ¼ðDC9ïÖý÷ÐŸŠ¿•¶ã¯æeà¿,Ŭë$ ¶:³£¼ÜìÚ¦ÿcá�§Rå¶» ã&Ê!$ 8†òìðÿ¡.´R)€Ì¢+ ´ ÝEÑA¿!:€`By×mÞ¤c%�ÀÜGóY €¼|ôøÛ““ãÞÄö'À�b0€hH'¹©L¤Î€hÀ;Øs+€`™С؀ÿ$D+bÚ=6ùš‡]_oÌO )§gg©¨íªØ ÒµÊCgã5ðíV„Úm@·~sÂýg«SP’bù°`{‡V -ÀŸ“™oå{ù¶íM>Ðsͯȥ‘[£ß¶ÌÂÿo¥Ñ¿ëÕÐo´Íüºÿô @hž€’€^1oü»®€Òž€ý)€:Ëþ÷ۣ顡ڻÏ6½[û«w+§ÿê�ÊéJ¥rzþ¯j³5zhÔ£Lœ®œ†ã”ˆlÔÿÊtåGÓoj§rZ¤Ï[þ[ê/>ìŽr�³Ý[MöŸ42éJ¥×‡JHÖàܰê‚W† -¼b!uÅÐP¼ NŽU‡K‰ï†�” ÔÕz率Š2ÒE:�0eÓ¿^DÉh~chÌ4×÷Š:Î.n¤Åà ·•™r®8 w³C>å!ˆšLûòö‡Š%ÁôÐà+Céuëj•…¤•Ê�jÙkà�i[ï­2]óˆ -ŒÙwúǧßuï»x©TjµÊtåÝJå¯4ÑÇ?Sú¦ öùÞD=_AW§ðÿ¯_¿®oÈuÍâÊ"ÌÌê6µ€½Ý. –3LéêêZí7Àïo/PR+@ £'àî€�/ Æ;,)½Œ44H� ’�ÿº-1§Nèg`ùÚòÇNÑ -à‚;#Ž:€åkÿ;¡ *‡Îèg¨ïU¶Õþ$´ûW7½YP1!v|¨Ë×D$ «ýmñWÈ€Ø30 ‰k¬ƒØ´m}'mf¡^ËzàŽSÙÂvPò€„ÿÁ!hW¯åagu,ÿkÊÉÔ�YèάÀý !¶P’àVìÈ…DÏ¿(:}àcu(0Ð!@[¡P0ŠŠ� -€ñcT`ˆ@nÄbò¶ãk -€éÏ[$ôÏðŸã(2ðß à��þ�ÆÈ[Xè“­¯.Ìë·¸[­.&Ä‘ Àƒ�[Ý®RýtÌo†Em¾Ù0Ыµy½S}V¯°önå]öh»©:ߨ¼ûㆋ"Ôf@“¾k0}wõM¸­¾¢”Po¨º°~‹9àÿuáÿíÛ·îhw}µ1?ÿÓmÓ<€½Ýº¿á@E›úÄÌçòå�5u. ¿×ðÃ/Œ¿™Üo`Ø­»0yiùr�GzZBü-æŽD®Ê³?9¾t骀eº!:uR¹%þþ´|íÿýÙµK4 „‹œÊPÞS@lµ? íþ•�7­ÏÛ7LëM‡;?”Æõ°8*‹ó!û{C;Gî7Šg -Æ~–Ø;Ê-‹odööÿmG;)@_@ŸLÈÃƾ¸ßÖö»ñ� -Œ¦„˜îÌ͇²ÄZw™uC¯„Û`uR,&Ä•E+1‚L ‚ARÄ1`:ÇPQ"¢a(ʹÛ,À0D:\‚°x¥‰é<}+€À N -`°’\) E„Ð5@s!™~Ëh†��<ûSQ}Üÿîô3Á·áXØË¢ Ñücü¾¤8êñkºðVü›#‹uø%IÞQȈßËÈ(å?X� -ž™,xÆ–ÍX@#ªòÿçæë?�®ÖfÅÂV¢ºVks“~¾{䆀(Óë4³Ê8@zÛÙëÿÓ¸Ÿ)B÷î€7²€7h`Ö_ÐjL ‹Ø?8„ûÏì¾=›®N/íìæÝæ_­ð/ØØ\[ky7[_¶7[kû\€qk¾€,«¿—à#*pFÀY,*‹ð_"dlÌM 7Î�‘ï2ëè;õê{åaí–‹/ÿ…ý`P¯º;åb¡\¥_�¹s\W_[\x.ºû!á°;<_ -lGçµåbÐ¥b]—ϵY7•‘ª.š¡}añP±:3\n6ÎV…‡KUVB ëåÒûʹQŸsE1ºX÷8×h–J3õê;gÊ3SJ}˜Æ -Å⑃bbï(©.k–p¤šÞ… Ó_ªè¡¡Ñ\k5‹ÍÖz­z~­©í�o6¿ÞüñêæÍæ«:¹øOA}¹øÒz�z¡oáD‘¦ë ¿¡ÿÖ-ÁþƺVúh¹‘œ…-€¿Õ©žÊ�Ä@fЉÍlÌú³…,€Ø>xb¼Ýî®Ví€íõWzZ 0>úf€è€f€" “YÀ€ÿý3Fúñ3Ô÷*ÛjÚý«Z¼^!¹?ÆPöÃ�7˜[à$¬ Ì-ô¾à”¿ŽjnN…) ÿu½­=§IÐÖÿ9탌%Ø¡ôWteüó˜dD.:ˆþk!È…µ¨À‚]Ý)b¡%Z¹@6ýY† ÜŒÎÊ|ÀN -@€@üŒÀÚ1žt�=�@Yd �)ÜÊèO%ÈÞ�©˜^»Ÿ”{ðä:©ÇO8°›�"%ü÷"ƒÿ\ˆV�~ߥȟð4ûîÿŸ¹ÿû�뺳}Q Éî�jÑ*¾4¡8j9b H–ÍM(6+,…qÓX4Ë\ͰÓ:�î¾Gt$èÖm¨í}[àF^‚ î»�ûV"7«�0dÌ#õ�¶œh˱ä7¿åOH÷ãÁ}º÷åŽÏøÎµê‹);û[Uëç\sÎZd­1¾c~çœ5¡ëŒ02{»)w�>ó< ö2ùê¯ É\Aw¥fUOúÙÙ¼^aW DKäF� ͧëeúOE¨ÈëgD€ú”eÔeVõPEZã_=Š2��8Ý= ã/e‰‰`�zö&x‹;&»C̾´üˬÑZ.¹RÞš¬}uš×ÿz&Ü÷ß_?3ýÜ”©²úÑ»‰�f•Jed¼¾¸.¯c üú¯¯G#ÀæÖÎÖ}‚v¿\÷Ùõ®^6p¢´€–Ňkú4bE®\>î‚`?\ð —/v)/Ç|À8þ]1ft Hˆßg ñûì¦ChèUÞgÂËA0Ñöµ›?þÇn^ƒ¨.ûRþ‡3Ary×ãþ{;n· -ÇS˜þ눌³¿pÒø¢C_}yHf`€—Iu i½ç¼ª±õtÿ?YTt -^½ëÜ»HøÊá°ñßfÝ]V(�ønûg3ZŠâ• �9�À®ç_*9Uxó ¨eÑ -€6•Ö -€i �Ê¡;À#ãý»•!ê`#°èp4n�îA‚§[‚ #’-Ð_r•m@Ú¿ÿûï~ûùgv)eLÿ_Fν-ŒÌææ¬zîm‚U|€O¯„ø¥€ñl±£^6à�»v‰t)€¿[Y¹<^¼]Èî‚õ£à},; hE­Ö˜iз‰Ö e °½èßnoÿŸòi °À]Œ;ÚQ - nþïÅ&Í{z Šÿî�€“ƒc@–½ -€Ì1î ¸;*úàÿemmí /î,Õõ“ ‚ÍâUì—™0”ž?«UÒG¨ÉnØtõÛÑ_*P©Œ«Ž 4G+c£cSõñcµKüËéø¨°ÔÿV"Õê�À`…á -ô·§g+#Óc‚×­•±üòK¢1\€lŠiz´~]/lzÊ/¥Ô¯¶~Il¥²SÁ*ÇŽ©ªcÕQ•ÝèZ©�ŸÌÁrÛÕåÈFÇÅQŠäÃÃTvøÈðá¿Ò©**1; Bê°]Ò¯öRA¶—uÿòåüì±¶à�¢eKùä$—Þ™Ïm2ä=ÆÆÔÇZíl°å™ÅÕ-"7¶Ú;;[â"·LÖ7¼€îÝ&H-{ 0jØ„ñîZuZ„`€N…ÑPÆx>àëƒbŒÿQxÝ1ça˜¹�nÜüûA°îkM àòæ -Ä/ð°OÛÝàp€]xäþâ®sÿÙv€?w]p -T± Ö‘>Œ?WÆÛƒ.°ßf�5²àoëtì¤ÓJ\nbäþ¿-üÿÂTÕ}Ätr>�»î:4Ñ=LPíœ,úC¨T:‚‰;1G_<…koÀ?DAÇqçc€è&PÉC© à”.¾ø‘®3�ÿÌhS¶„ê%ìètÜ$}½ø™è v(PB‚gšÁH+[‰ÿ½ -@„0ào"°PðxÍLð\€4³Å9»—á²ÓF­ú�òiöÃäUìÑ bx<Ÿ] -$at|4åe9 ì€@Ѻ–˜—¾<åÁ�ÚLÆ73ÙQíDÞö; íí{~ý)#MÜ<ã¿@ÿ‹[þ{”ÎŽ÷*gûb&ÏF €l_ -@´Œœ4(Çø -€òÍÿeí§k¼÷¹öâ£å™�ÖÖZ}c“m¡•£É‡§?{i¶U«î„~1>òÊýJ `…óÕCþ¿à�Öë#CµŒ?õØXõ�88öº@Xëzu$|óaa3‰• - [®çuÚ¸N%ñªç€{A ¦ª—F*¼îÿ$&ëquÿSS‚Ó•…úIÕH׌��MW ‰„¹ÀdÊâ¤~o1ê�2³`üŸÎ+ÕÖt}Êõ• ÿ:rbøø kŒs ¶1RÏ?H”¨¡ ãÖÉZKLï°�¯5ê!¤,d ÛùÙ™6·8öÓ8Î_?:×¢ó™ÌÔøÑÎ-®Ë«ßõåûËõß¹/ìß¹{wçîV„Ìô[Bü>ë�ÐÂ8ÑeìÄoòý) |ënD @B_�Åmž àÜÅk? - ; öªD €ƒQ´ý¦cÜ ÀsÈäó_ !âòÅ})JÈü? ÐB½ôæƒþ‰øv°Å¼/#0 Øái‡÷Ó˜:½ýóøÃj/�ŒÿiGÖµöì^ñߣb…´ÔÂð[4ýÉ^((À‹ŽE(KÒ5l«å¡S°^¨lÈg _cu€¾3Šª ‡KoÞ—E/J7Pጘšà"4˜3øŒ¾ dÕiHF× -ÝCÓèÀ-Ð=HPðl…@¥°‚€\�(@1€4@¯û÷k|bf¦9×”›ÜÀ=HعÛâbÔwASÒê÷có +Bm€¸PÂ3O�#YGð8Äq™@Äs‰ üöJEwÑ�Ê8�€¤ ÍÒ²³ ܙǜ¾]j#31S%ÞŒ·Ý½·ºÆ(Û|; (@b¿?à[gÿ{{ `|ù”`VYOWþ§d>^ àuÈ%ƴЕeü¦Võ¬ -0ROW� Û“÷P>6Óñ•PlªÙÔ/Í^Z˜žþά*Òš‚ÓØŽ£ÿ9txøÄè(dE(íüÙF6íÄs€¬.À+ËféìG#Àr#z, -ÿÛ?9Ûh-/‡ÿ�EeˆGô/qfFLX €y?´æw¡ïYËh É_èOôß/�ÿÖý»[©¿PŸ×,)áÃñ<5¢$3¾” >?º.Ðg@6  ¯€Ë(IÇþ£|ýås®ub„ûûQ2€eÀ{WQn àò…ó�Ò“ðO(/_d�b#~�ú^[b.,ð5q˜„οwþ€Î8È0€tßKà›®¥PݸFê´ÉŸ ‹?Œ�ÍðP±Ž– -€|æS ÎÊH�Òø_îöúÿ¶½Þ]½("å -SǪGˆœˆ0ê; ¬äöÇí™Ïg˜ ß`  -À)R_(cL+P � ©‰¹�ÀœÂºô´2r@XâºY¾Õþ¡1þòûVdF£0ƒ?Ë€@à?- °7 Ôgô˜œ2  {ÿ�ÎAÆ3ê¤ûé[#0ºÇ+�>N;Om]1©@Ä$Üg¡Ï@ù+#2|V/€8(s«ã (ÇXZiЂljõ™¹úÛ >ój•šæÂÿoÿ¼ °[èÂ3€dÆþßþ ý_ HïíЉø)@K÷(ÆسïN @4„øpà¨c(!|z/Ÿ½æ%üÿéíµü»Û £C�—tÀš:m³õyÁ¯PøO¾M#½Ûî-T³ÙïÈ[«Œ�8tBh)Tê£}ZÐË 3ÔëóúëCuq…1áëqíŽ)õ‰p€©±K•—rýÇЂúŒËg,·Ÿ^­Ž0¦Oõõ×Ç_+õ©É_ç3€  ¢!ÓSÃ#´ã�•ð/{Éø?Z­Œˆ‰àû«:}ÍéKÓâ2²J%çpª³®9|èðaëÿªâ‚ÊbÒˆh’é’ƒÛ1¿óÂZcÄŸ'o}o¼A»Šg^0Õ:‰uÁ×OÞà¯/üÇÎÌÜÊÊÆÆæú¦#ÄvDÀÿ-:®2Ãý.ëSBÅ,’Å6Ëøýú0 8€ üø‡WÎ G ý]8>xRN¡ì`F0Øæ÷Z' £¨2·þþZR -páòµ›üs¡\¹pþ5†è7pß=„ýç¼Nýû5àD€\ -~hècüaN†4f²9®÷¶ÞCFí†û´“EXz9vÒYÆÇã‚Øç„@­´®Íd/>[�Á€ç -°�ð?�®!×&('ƒæÀU§Ü ±°”¢½Ì<pR’B€@c°Pò(]_¶T.ža“ˆ“/:*ÀÞ€8'òêóÿ¹¡þ“ð5�ÒxQR Ï4£—0PÿéØ× `e%õh..ÎÍÕgÆÅ‰rŒkàí@SAma¯€ �ˆ.Ô@Ù€­—’DÝ À93¬;ðºü‘žUäGF)7Ã~_ @R"Ñ.û#d -¹9�™¬ÑXÌýuWõõWVòÔ�ÆøôóßýtIøß‘`vÿM|³Áÿß`dß^@èÞðjŠï`ß -ÀQ3€4À�4€£Ç¾FvÊY3ÐÖòÚvk9Ÿ—Ë*°J@@v‰ ¼Ko�Y^ó8µªGæ“™ -Àκ<_mŒÑÐh˜éj*•éÊQ�þf…øÞmÇ­H^©œð��ŽÅº:[‘ç>=Îëcà÷¦�Ÿ Áu¦ô1ùˆ&A�—ÁD´O¹¤ q†qFû㺺 - aè?¢OE5 h?9?Qæ"kÕ{¤2oÙbIƒöÿÃÌ|\ ¨U=ghCZ¦¹+Ú®ÓÍ@d¶®{ú½…w²ù…{35ÝÒúÔjLû¼¼öaº»å\àÿxÕ^?Ú¿(¿Hñœ|b 粦~+­Õ½Zë+Œ™!Üo­·76WctÀ~ ÀßeîPôo0º‚ïøýúˆú£@¶·Póñ¤€vbüû`°Ñ àÆ \þkôøQjÐî†!rð�íâ•D®0G�ëòÚùs8ùç^;ÿšÞxý¯‰ðÖB/­t,aôïÏž°÷W ¤~¿¬ÔÒ}'•OŽ °âoUäàãÚ€H(8‡|­Az‰( „¶pNvú�y½þ¿AþÔS]_*®ï©(DyéKuZ\}úã|Â|U«ü2mZÙ·âïµ2(¶ñãɦ£ˆOâý`øye â\:@(/þ1ߨðOó? 7„ àÅs%¤*$ëQÒ8Ü}û„ϰpE•l€¡Ä\Œ¤¥¹z€$ã‰ìo®¯ÌÕ‘Æé4l¡œ@¿Ý�-7BîP×8…ì¯+9ÿ{õp @7ükѧÄHÀzÚ’?Y±o¯zÀß'9BI»Mßk"xs $“?c¡S&ìw@¡XH -Jà?·µ”Šûþ{1�ìß§D/€®€4@_ˆ+€ÿ§*ļ -è` ÅŒŒ|C¯‘Ä$bËkK“íå~üD¥^9Ä¿HøþGz):ÞF¨`Â`ðW àDå„6¦ê•q €ýQ¹áh”£,aD`.C´RÕÄdñ€ $Sy²›®¸_BuJãx¥‚ pÜUAÝg»ø°ÔЦÚcÓÓ/Uô…h£8q‚@†8,�¨ˆŠ@ ÆQè¯;‘Â"èÂ8[¯‹Iáÿg íF ¬_Xh×'sÁÿ²x–Ñ_ÆŸ^¦ßš~+ÿŒ\}æø½‹üCÄýí -ÐHË,£EN V Þ<Ðà÷™€4`€i'mœ½ú{Í@€ô  d—/2"O( páš’&?ÿð` ¡Èã¸òÚ¹ WþÖ -1×.Ÿ?O¸Ÿó”]¸|í½þùÇ HeóçÎËÇ—«¯žÿkç;o-ôBøý7%]&ø±ðÕ£/øFw1ã©7JÓÂgý¡y˜ Œ£7( »,–:´¾Ì_Øñù ¡NàzsI»ýÿÝ&žðÔ^AÌT¿Ä ¢ çt,°®+d/ã*¡­ŠêP `ŸÂþ^é"â)�RV$p/'púPäëÓ`·?bðþCþU…N�6þcÑ °» ”€Šáïw‹ºé$8x†á‰‚G] -À. 03øü³þqÒh¸wܽ»³µRg(`ž oÒ$�À³ÇðÿµÂqt7îÃzï«€s±`OfX¿0j@— è ǨGPeþˆ m®Ôn«Êç©ÍÔÍÕ Bšïë§©„ÿ_Ž˜$€°%À†àÏïÅäÏõ�¨ß× `�€³�€=zýû€h08�ÿ/;öDü‰)<NýA¬ÕúIíà Ԛ§ ° Öi³Yµ6_ Äß'�ª.@C†‡OL 28ËïðFèÝñw‡GŽÑUÀF"Ha¨¼4 þsư “ÖÞ¿NP œ{Ž&‚ÀQÎ •§+0UB"¨ÔGŽ*[ÕÃ1ŠP€d®@udØ©0§òL6Ʀ¦NV2UãÄñ'ŽÃ,D@•W©Öë#uߺBÊ:ýtç˜úÛ®£d wjt´Ìóï¯}¯$ð‡ùùÉwÛ4†ÍÌi•-f`¦<£'€~z4 �¢¡¡Ýe ñû­g- '6«Ð±m(ñ§ ÿÝþÏ À K‡�ÿ(gN ª àj@€¿VT¢ €�is¸â‘�“@wÿNs \å ‚?*€ª%ÌÇç7Þóìç ËÔ¿3vÌ÷54€õ; @Øí#Xg„bü¡„´§† ð&К(ÝÖÁ~^¸ùBå!Ð’ ¥�<8¥“�Ñq™Œp¹>£›þž -€V 5Ì�ë,Ä�:Iå]û€A86dÔFu½á>8€ -gíc¥�Ê%èŸ:j‡ßÛ1èixùÔÑÐç^ÊÇ @¥Ûý竽8ŠóÏPºCº&ð_;�©ÃJÀ_ôšڗà_¿ÿÝøÿ Møèñã‡�¶V#z’ -*õ{Ÿow›[ÙeòÕG…äà­ÛE±€è´]‹hÀg̰‡I°`3ˆR/Y� *p>€ÄQüN ÊŸáYV�ñl€Bý‡÷¤¯þHÞ?sÔXøô³XÀаqs¹ÃÜè¸ñ¿ÌQÑ{{t��æ ÷? -€–�wx~à›#ßP)ÏÁÖ–jÛËË!ýG€#ÚÔ�vé;󂸄ÿpÆ×åXãZ�ŽáaOš ç!9Ëã•C/ nOé€ùðñáÌl#”?®íÊð1#x ¯®RÞªÊa§é]ÛPsý÷û” —äúŒM �Ä••ʈŠÁà:OEþVí'*õ "*Ã!ŠªÉêSˆ µ;›¶]Ì©•[¥bîBï?ã¿ü¸"0€jýÒHAˆÂbædLwnyáO–—Û�¦4øEm‚Ž•ž7Á.`.–š~-À{RÄú@Öl,6ßÖÖ q²©áÎ%)•ÒÓof€%Àï³P@É»€P~ûs3`¿À~4€€L‘w¥à‘€tħÀ›Þ8¨`�ÿý÷n\á¸*€$��/ÚQhòú!(–#€öÂáOkU8Ñ/^‹ƒ¿×F`¤Ï„�ÄöÑ}º€Œ›Þ1†ù„ëïå�ÿ -X‚0bpPðÊn½ÿpZ†£¯?.ãâ�B¶t•¨2ziÝØ�8µ—À§ˆ° 4 -qÚ= -€á6À—[�kìfÍ -×_ ‘/(GÀ,@÷êô)Fú S1E6:oàŒî`"At[ƒ|¸NÚÔI÷H”Ä•Q¡ } à4u§ÓŽ×=1®·@L€ðt+`È „ ¡ÜP0€NàïP>ýäã M‰ÿP€øðîJ}øØpe"„jøûÌž{Bíñ1KûVÜ Ç ÷�ÅÓƒe(òè; -@éü{�u÷€üŸÕ  ?€ì‘XÆ‚ìÆS¸óâêÖ]Oa›~ØþùÏ7?ÜL -@L À  -@þõþ=1€WÇ'…äßJM½½ŒPÄ$¾þï_° tÒþ�’ö½ð¯eôþšòûà -s3À½Šq”OÈ Ú¤8äš õèQÆ8(³§Ïʹy›Z«:ŒvÒX\ݼ»óàÁÇ�Êù€?´ðáæö½û¿úä³4PàÙ` €»Æíþ½àÿ丠ÿ[»€½æ `_sðî‰` çŒøƒPœñYÀÒA^KùZ«öIo/@ðö€6¦„üõº Àë…f>;`)° -:mÇ’‡/œ”çLg­Ðˆ.c)0ZH¨ë¥2®uÁTexŠ=eàN÷EŠT¨L{âÄ/UŽÎù´qÝ&2" Ÿ£û¾êP©Ëÿ§"º(@UWÓá°>‘—† PÅD8 6oT‡+â.àÈ¡àÿƈT´; ½NÀÁèëúÙ¼^­¶èxè ÕìÒìŸÊ݇œ­çyë¬GÿYXøÞŸ.ÍÊÈÜãèGbŽ �ÏÜ4õ7›‹ùâÛo/fÌ-ä6ùÄâç3§pšW¸Ïà÷YŸÐ× @[Þ)/Mެô²½¿+ÓnR^N -€ãþ¯Ú÷—=§àß‹NAd"—Í?ÊtzX0²ʃøáóþrû½ÃY×'ö—l Ñ³“.äÚÕ€u�‘Zx-œ„°ÅŽ,�zàMš€âÑ%LÀg``Èz©¡£]Á�½Ø‹ =•fO�€Dt…K ½ˆÐ'|î‚êè F²ú!x×]‘€Jb`Öéæ÷‚ñK�J€Cxüf …PÄœ’…ðÆEƒ4;°ê €œ?ÿ—¡ÿ+?‘}T|G нÖí žLK -” á)–à?64•@p1ßûÅfGxœ )|guî¤d„Ëã À=;XbÚÅ � ÔˆF°�= Eˆ‰@t—àüŒÐ‘c_ ³F^{ô*JÛ­¤fŠnSBÏÂ2“­nÞ¿ûàÁã‡�Ÿ¶ÉL@ø¯ž À1‰$øO�!øVsÇ¿| -à–~ù·Ò@@½½Ìãˆ3¤dR¢ÀÁü+Ä@- 'OŠ,à•/¯å3"0€h¿ß1€Úp׿jÝ}æäùê�§½Ý'pˆVF§„óBúªÎ0$PŽê*eøÿ(:®«Ž�žp@³ ´Kðàèðð˜öŽŸ¾#"ÈŽG*§;! -q¼rìXå%åG–tåã°A›ŠÈýw_eäÐKÕc#Õã"œ¦ÓĪXòàZ}•áQ ?� cWõ³ÐFÔûÈð¡¤)˜Ëêm(¯W*™ßFXVŸ•÷�âÿËFóÕf~¶ø¿°´üýÖÚOïlÛpÿeèzúQñ÷ì˜ Ž)ègÐ&³d-Bd8÷"Z¢ˆ&h“ã»LþúèQ 9F[`H÷G×tð¿0Óówð?¾vþœìÌ׿~¾TÊÆ‡˜\MàÞgW™cDÞSy°ŠPþžò_»°[¸u󪻄P€¿`Þl m—œçDBì/Õü!€À¢^ ó£@ŽnE†¤€±Vþk�´6k%�0”šp�NDhí;IpZ ]k%|Hãn®×aFgüòÜ��š"wÆÔÅG÷°¿ €v©èz£=ˆÚ[:8[À9ka¸7Äèc1€Žä臘 xúÀ=ë @—š è --ºÊோ¡8î Èw…(µîg|ÑçUxÅ"€N@/þÇH€;ÛÿµŒxüø‰_?x@žÌ¸À®põuºãKœÿ‚¸€g }?žÝ°w/€ˆÀJðïWÒl€�ûdÅV¼ý�Dt)»cv›;>U‰ؼ{_àñÃG ÿŸ´ÛÛí;~øáöÿ‰�&À-ÿ­pw“ù–óþrÍ(/w~·°×\0^*0l¿ãPþ·19ó:+üéÂ÷g¾ônÕî´–¼¶µöÒì%wÿŸ�5úËÏÍFFÐꨀŽñ}PÂÎãÃÕÊè `»r¢*ð^Ã¥Ö‰1Ái“;~Ì@l €v¸½oíé°ñx'A‘D¯Ò8‚àÿðKÃPÕIŽ>A³Ç�’‹ïK”‘ˆ‹*¼; ·›º?ÆÀ¼) -$„äÔqøD5ñ‚#GŽ -Àá#A\neêlH÷fº: QŠŽt~œŸ½”å(k÷ÙÙF-kyˆà…%Ýìåµµ$µ ŸTöÃ/‰$ëG)ð¯{0ìÆÛt‰}ÿ_+++‹M9úìg|Ž͹ŒÁAŠ¡3{ßôžßmOWd±£eÀIGèÀ4Ä´û�½aìŸ;§Gi'�¿T´�í©$È﵎pÙ™&à}÷Pne ._¹zóƒÿç­QŠc\C7øS˜·µè:–@ûK4à `4È œ½}LÅ ª…9¥Ìa9?Ÿtx€¡Ú(¯ÒÁ!8^�ÿ8³±òÛY¥ëúÍþ?¾ó¾büE (® -£ìû¡.†\•ž;È ººÎtÓàó�rxϦRôD ,gÂWGï/² Ï]ËS|ÎZ1  ¯ûŽ@0�P‰DR¡ÀU*EÕ&;A¡„qÓ’ð1�C Q‚&,àß —0ÀÇÿ­7à�_¢îZ®^i}ïw¤Ý™¿ÝøŠL¬ãpóHу)Vá¶³oó s„ØÝ -@ u,{àÝ -€. €—ÁŸmå·; è@ìÙu›r†�T'fšë[[÷ź‚~¾Ù–ÿ�ðË_Å@�&€ P¬�Å]ÿr)@À?¢~ ÀžsÀ\þì à9bPè¨"”§xÆ�Ƹ½½6sçeKË·‰Èfë̽·�lô@ÍOŽ0^%›ž­gÓ´ -¸]^8,[@6Š `,ÕñÑ1ñùÒRìDµ*›:TUz.6¶Ë„«ÃˆcrãÅD"ÌŸír;_ù:fM¡ªÔô (4ù—F«òþPP<¬›øµº#ø)I\¥2�ø€²€Ñ+@ïPAØ…ÊØñÿUð‰QÕZtZÀÈŒè¯vèpâ b•Ú±â¦Ä–fg ›,l6oáý/ÿÎ�µZãìÙ9ž_øs./·¶™JQ6ì@ýÚøIʱ7þËÙgT >"£ù¶ð^ïEÎjWœ`N!'Å �¿ßÄpØ´©‡zaCfü7ævÙ{·~|óš£ò K -€cÎ .„Õ2a}€?DÀËçVÞGq€¼ç‚‹LùÓ¥\øGfæ˜ê"€/ ¾õ�cXg;Áö—eOÿ0|xk)úÏÐ&ÓßÅ·=�¼cü¹ì\sÜ -aýB¿äEûWù:ºŽ‚µtà+z¸ q @x Hþ¿ŽïS(‡L(*rA€¥ü/Ó·ò„ÀÒc€„öH¼cÏËÎ_‰¹ Þðp¾äT*ï4øªŽÀ(Öý_>sñ¢’Á¸GèÿVb ]E4!yÅDI�þ,ÑM¸¡þ¢ÏÕ À dHâ]Æt€ðoðë�ïÞiÀJÂÀ‡ÂÃûwWÔó�>½ *œ'´.±‚N/¡±­€ho;po�^Ýã$ðߥì)Ü @9FÑ À$¢Kˆ€r€ÈÛOïÂ�>}j¦ÙÚº{ÿ�xÏã²  }gûçn¸ýó{÷ÿû'ÅdPÿ„ÿÜtß÷/ÿeP€ñ -À³æ  `? -Ëb£?m4‚¿�ûOO@•r’í<_Ù÷»uïÍOÖZííí;·Û­¥á«�Û�� ?šêßœ·Ày¸®ƒ(ëÚLž6Ùà™W^åBý$h¡]‰8>VÏáG"ˆ¯ë—àùÂ;8úy³±Ò\oeòÞ›óÝVÏ,;yr¤B ~¯4096/ƒc çWsx€HŒ`ά _YÕImùènÖ'Ͻç}³g$Àp8ê½6T€/Å~‚ü^»%»NT~·½ÎDOÀ WôñP’û/{.@ÿšÞ»åÝPèPpùb"¶‹iÄ£ò‡umz£› \¸œ�û˱@>Û`"n‚çe_ÿ-ºþ$º÷NhD¡®—@�ß�à? þãq¡ü~Ô_øÏ›+´æ¿9>]ÚmÉÿQØ»ÉÈ‚\È”¯™õ*8âaÀ? @XÎÕЋäöÛ´*¶c€¢'€-âã@€ŠxOfY ÅèE”ê•WD”±ŒÿÐeê\c ²S"“ÿ¯•.æFó=ŸG�ýÿ D�Ma&= -€|ÚÿÝï~K @O/÷ƒ“ Ü_mèYÉ8!ਞÀ@FaW€ ÷à1H#í£Xô™uazó `Z¨­íBP«×[ä×£h©Ôûï äìŠH:…Ÿ­¥�œôÕ3ÍÕ­ûwèÛ>~’¾úãmæÐkûÞÇi(ÀPº@(%Hl+nÿ—e¸ñÀÿpßðŒ¹¸4Ù�†>à\€2]=äaœµ­'Ç'÷ùuyÕmÐ5ñ˜É F1PõUSL5RíRÔGUÕkDkÔþÿùLìIJ{¿gã/ö5þvÃ#CÇôWä•öGÄÐ'†ôƒŸ¬MNè_eòUý(eñÏb ¯_†~Ršö› }�øWr=ã‚®¬äÍlQïýæJ¾º²ºªSÍ|qUìm÷+ùû}o-®tÍà&¬XDÊ…Þ�·}ÆH@ Ø!—Ýõà<1ç.\Si×°W¸rõ9J$æV1Z\»øÚù+:ÀÅËWˆHÀíû°Ëñ¾ø¥J �D{·¶Ó@4 þ64`ÜèšìNë°�Ç_‡H:üx°Éi8 ÿ­àˇÿ�ySÙSŽ©A¿PúÿÊz -%ŠXþŸ¶Âê«û›{�Ó -€sQæÀ©K¨£% ä&Ç\… G ðÃã?à'ÂÀBûæVt÷¹€M-\2u —‰¸ a2H—nœ¿) -_Ý‹ƒ(àQ—V]ðŸZþíw¿º¥É€:1É„ÿ÷Wë&ò•=öÉÈÈKå Ç!dûÀkÏu"á|¬ÂDöèà‘‰ÿ¶>’0êqÈð™½"…‚$á.UÆÇý„L/Fh'ùÌâ: -Àý�à¡\QùÿZÞ»÷‰czñ_ØßßÀíNwÿK³Iƒü«ôxu¯^ÂÏdýs�p°¹žO8ö¢f€Ž02ÔÊW~²¯wžg¶ïlßû¤ÝnO¶ÚùÂB>Ÿ_ª7ŽkŸšJãùjç-Ž0íeJþ6ÃØÈsfŒ£å>aÕ\Þ>òýð‰a�Ãøð4ñËŸþÊ1Á/¯�q9Nú1–‡µqXþ|elTÒƒ�€¼ðÌmú§'3Òá´c‡ŽÓª¯�ãòÿu)ÞùÐñêôñÕc¤Q]RÒÂÿ§mŸ (Ò5>^%‘êøð׆­ ;|hì•Õèf€CP#¬ªõ -ÀøÈT}š�¦äÿ{<€·²|"ÛÞΗïµîm·òÖòòZ{¹ÕZjåí–À]/ßS4ÆlÔ ÿ³ó_Úêb.¨Ï›+æ+ •�°ÊxÀZ­ì1pà}¯¡ -üðüû“@Mr7 3Tt˜á·ßþáÖAÚÊb:ज9s!fìÄ€û‘ò@ -¾¾ì=~ŠpP® ÄT€àý• ×n~ðO&*èrW À +�Ÿ�µ‹Þ_ÜŒ3=à?ˆVG_ ú‹ÄßÄPÛ)lIH»üqXª99j‹k˜@Ùà˜ûLy2 [g”&Üí.#7ûÿZí9 ŸBpކZ_ ÃøÓ—Ö7dð}D€B Ê‰°€o”r S" V‡P„��Bp.4'h€ÝQºfT>ûé üzmYÉ-M_xÍDefqƒ@¾î“D}o3�^[Vè €{W€ÿ!ýãõ%Ú¤ð] @KZÿûc„îœÙk.»ÐaûVº‚ ìȵ£Øˆ4Û�­43dé…|9ÏÏæí¥y:ÿHÇ6Zß{ aáßà*ÈõSM -;|¤4�* ^ô§;rä8*àå­Åðá¯_Äš@�Üõÿ‰’(q”äÓrð�ÀÿyÓi�ì8¹\Õ¬¬Û$ïmÚ‹ŠÄõT¡hæ×‡ƒ¾ˆo×�ÿ‘Vy0XAÄ*LU‡«FpÿY}º>›�m3àü¼#ts—X0I -*¢Ÿ›ûùÒÏ(¿vòþ_ž¾/` ‚üE9ÿ«ë­þuv˜á¾ÿÅûJ×\e Önô¨Ð²xÞöÙ{"1pÀ¯Í1žlïëgÒl€}1²ƨ¬àú{ð÷7o^½xî|ÿÑî_(&�óƒÌØ¯ÊÆ;ÓVÂï/jÁn¸þa©/÷ÞT,þ"˜G·¾Û†ìŠú/“ ^D¤tÒp�\�ܾ+q‚ñ6—øÂ¨k\f -š‰ÎÓêŽ�,ê•d¸a½ÁSœtÿxÛþe¡›©3˜œ¶‹Zø¸ŠQFê2*¶P/ºbP ‘ÀWq’€ÿ¯ü^<å€(Æ•aqàüÅ?àôiòJ5(�û“îã1˜ýx±/+ñ¿´þ…ÿP€Bø-Ý+î¿>7|è‡Oê±23Qé#'Ám¯E^בÀtÐGß�d»@ï^ {.ùøRPŒûÊ…œ�í¦d¥T{Ç�)íxYa_94LÃøøÌÊúøÿðÑ“)àÉæöööæöÏ··ïÝÿä“OKÀøï&€ÂÒíõÝæ¶§å—a“Âòñoáå?¥@W @ß\¸ÿA€ÿ§*]søŸGˆ‘U€u+0Œ!Ç�?û-k9ú_¨4ž/ÏgõK³³ü®ÿK/½DK»ÀîquÇGÕåNˆÁ~>¥ÎuTü~…|ÀYiÓyô2%éZr´LZ&fÛ›,8Ði¥Ò‹aÖ1ÕŒƒND&±)¶†�Êå¦U¤K'úŒóé—å û¢ïÔ‰ŠÇGd Àj}öd›‘•ˆô==°@aÑpR¿bþçšo§(?€�™±äê#ù{î·˜7ccc}CKÏ¡±ÛÀú] (æsz!q] 1Øþê3€NQ€.¼vŽ9wÏ@nÄ\ÆãûûV¢¬R@p¸Ñ¥\>//€(Æ€|/)øô½v¹x%�?Yg÷JBð/fŒÛ›eÝà?€>å!ŽñÅ–¶ý'ˆEaþ‹qˆítåoZÆÑ®+ à3úþ[…�"]æ•íE\ñÐäY=e€SI°PÁ· 1Á€ @Ëp·Ë¯  `·}áâ  �¼:uÆ -€‡ˆÛzËe‡¸é‚” -€Jæ›hÿÔéWBàkü¿@³ÁËß _ËÿÊ�wi¡Xˆ¿ £&p;°Wª¶[HA€ô àW÷»€„ÿ�Ÿ0,ÎFF¼¾þL­ròØ¡¯ Åkx÷€Óíg´u�(ü ì×Âþ:Ïò06í¨€ -@8ÿ‘W,; -€’è³ê’}ôPezz8Ë×+'þpøÐWpâôxÅõ£¨/nnÝøðþÃG�q„ýñêŠþw@¢˜XkùÁ_æ–p€qÁ¿à¼?àsˆ8Ù�{X8�ÿ�ð(b&@  ‘íã-ƒÈòül– û=ž ¯ö%óa!>=ö¬£ó_),F‹1òúL ºZÆ+ÞZÐS ƒ®ÚÒ{`éâ”E‘SJœ® v"|üîÄ||ŽOÊÆi¨rÊ'’6g”¶wYºV·Â„HÿËÃî¶X9ÁØG½ªÓӗζ˜L)õ¬df€¥å¥¯´% _›y3º¼íNÄù-.®®ë‡òþ+«ë›«+²õ�Í�Ívü~Kpßûâ](ñNÈ`3‚X`3voûM F -ô ˆ2ã.œ»@Àa'ÀfÏü)1= ÔK®]à^ Ý1´ ùoÞú/7×peŒëarõ�ù‹^j]jœaƒUÂð/`< ï6mÿ0ë/Ñ.ó?•xƒô~“æ§}œq^ø ú -¬|Ð1.ˆe˜dì.sAÀ`\$~`°“…ô¯£lh½¯‘£´Ô qú•?Vž{¾m¼õa& _°ó®²ˆ³í¹DŸö“Å®�¿Ð”(6^):Èçë�÷ª‰®ÑI�9@R´Ðñ3§”öb*’ªª:J@c„GöUÐÂÃÊ6‚’RÚa ”°áYV -%XÉ"v Køïn€Ÿ~ú› aà“G�>|°Þ` ¡¨|÷ÊÈ1⤓ÉEÇyu¯å«{$@0ŽzÂzàYk;þ{öp @�þ,ôéS<ÀÞs˜DìŠ(ÇíÇLJO‰—ž�'Ç«*&_Ý"àÑã‰ú<~lý?bþ»§|º·ÛwÞ;_‚ ÆQåõÞ«@' .¼ÿý(ZvÅð~^€LµL -€v†”oL*ûŒ7=ÐD¬ˆdß©_bûE¢åü§G½6�®:!(Ým:Û�¡eâãút®L©š§mø7Μ¢¼¤L A�eåËŸn¾x�©¸á#€?¦»¤ €ÔsaT `ád=»ôƒÿ& ÜÕ@/ÀýĪž °!üÏòW[4ô‹ ¬ÊÙ÷«µ±¾¹¾¾ ØÚbÎÐù½.ÿ.#À�¸�Q|d`í.Cèkp/@š< ñz*Løï‘€â�À•>ƒ¤B’EÀMG`ì ²ˆ=D„¸¦ãW®Ü¸ÅHÀæ�&€äõƒðxûÅ2¹þq"ÀÁãÏmƘÂÓ�À@¬ŸXU° ÎxÙù“pVK'Ó‹ép¹ -ô—E"†)é½Ñm8ÐÉÿçZmÅõÊÁ/àßÚ¼þCpwAýôNÛ°€"¦â̬|f°>Žù‹&Pö„€Bn®&{ƒ}òþ»cœB  4ί -€¶È³à³—€ÓZ#öEW?] à›QDTGvêå3o0K å0€r+@i½ -@è¶Ï´’øÓ¥ôH‰ì¥&KøïÉ€˜ €®€P,`q»õú²lüì«ÄŒ øŸî6€)CØAbäû‡p @Ì�üÜ ëV†÷Õ -à™g´•e�wÏæËÙ¥Ùúì,mÙt–3´u›ß - 0tÿfÜ} -¢îeqÁ`šÐuL›ñŽíAVP‰²Þ{¤ÛŸ™DÐö0|xxÌ£�q„ÌÄê#ÕüÒl6ï6€y@¾¼¼”`K€~;µ™™¹€¦ûù£üËë__Ý ÙucC$ µ"J ×c³%@CÀ†gï·Àû~ëUìn�^ýxÛo(1@…N7ðZð@@åH€†þ´¥Wü~ëÇ~€v@G`` ó.zÔ?‘€ëïpóÊ– ”ž¾¡]/­’Çï·?6ö½q…Í„ãÏk ^:&-¨•kì&È}|×An}Hâ�–:WŠ4xê È€ "¥w@Ê¡”²0þÈ¥þϰÀÚf3ð_n³±Ÿ³§ž¦ÈweO1a# -@w€UUÄ-(¯�5m›ôêÞÐÏœ¶sNü~ ïù.€ÆuŠ‹‘C ùW)Ø_åe9ù&¯Á .ð-˜ Øý]iØF¯€™ð=õMU[çoKèðl3ÅÛ…ÿ€Y´|¾KHH €@ã$`oŸÌõkø+_¡ À1ÑÙîà‘í„§´±�={.åS`¿Ö} -$!²ÛÝ €ÜvŽh ÷ññá?*F€³‰x¸Àƒû÷ïw��ððÙgŸPBˆßh¿ŠÕ5¡» ½ˆê÷êЉøâs¸ ô?¸pthä© @«N Àˆx…ÝÏgY£ �4jýlÐ_·ßçà9Ï|´ÎäÿIì)UãTœÞ‡ûÿ S>–Ç*P$@·Î€Aˆ˜Ï²|~�©æ³ù¤ø' Ÿˆ~\ž@\ìíæÜbF @+ë­�UÚû‘ýWíû¯o÷A«»,!~¿9 PÿŸjá~C _ c JðÚk¡\¿ù£PÊÀ’$¼ße)÷^ @\BäâêÍ‚¼óÚE à²^×o}ðÞµËL R®u€pð½…þ_°Ÿüÿr-ûba€Ë.”€= �­—hó߃ÿ¦²µ6Ò;›àP+N¹ÀVà?Æ@—×>–þØáÿ+•>)ˆÀ诗vŒÉBå§öpMS…øŠdræôi˜NvÿÁ}ðþ»½ç«üCjñ)‘E˜JeåqØÁ÷Býe¥€à`V�8Ï*58@¾á)#Àõ¡ztˆÙ-5œVn‘*æä³ú{¢�t€ˆw˜}U¬d¥à^Ý -@ê -'{øøÁf£rŒq«D -Ó�¸6>rdÈ -@xíàxx— &ës® ðº0ß~¿ÍøÏ�½€”y¯u€k7:àú•sBqg|ñÊÍ[Äÿ_»~Sà­‹„go7§_Gý¾(À¿hÆ¢3^“¦�°ü9L÷ -l``�ü\`ÑÔm�ý˜YOHF¤³Yˆ ×uDÀ[ ->‰Ù(9±dþè†òFà@^ëÿ2Ž%°P ggé-7HPëô�#a£NY૾HÞþ¾¢4{ÇåFû(ƒ|$+ó1¼³ÖWó~¡`>b¸Gð¨ÚŽä§\#+Cg¬P g«çl§èÀŒ6`ü‡A`^ ÿOw €àÄa žm"iiøï–À°’8à×ÿk—30΃'¡ÀD�Ƙ¬ZaÔ³ˆ `�×òÕS/€„î4õò�lííÝ  ˆHoÛ €Ù�|åBÎÆvö�U�0h.vŒ~.׈aÏf”¡ØEmfq}g‡ Z’µ7Û?ç -@÷dÀƒð?Ýn^¾÷_Ô„úI`­åSztÅô̰ÿ‘õéĤ�€j*wSÏŰðûÑ„ùÂ!Pk¼)OÀX¿þ'ð`x2ýçÉŽ >NK{4¥ïÛ¾(ÜîãzWÈôdç>ôú28Œø�0ÿ0ÚÈ¡'¾vhÔRÉ -Ž3¿Pet¬>R]˜Ífg³yGê¶.à¾XÜ]ý>jµz}¦1ƒÐÌÞžó€ùo"ùol®ãî'ƒ€û¢››;[ƒÌ¼ÛPb?Á»l00üöÛ?˜„�ðzãdÇè{I .OpÿCC¿Ñc;~¿¥Ü{-‚o\»òÚ¹‹rñ»À…s€7âÕŒÈÀÀ!/h>}ríø(­â A\Àç9b{î ¤MÓgBBЀ樘ÿð€ù +òs–ÚÓyb×KÎÓPPÊù”4;z-–ÖõçÕ§†ü� Å€Þ¬¹‹¼€×_oíiåÍÔ�È#˜3KOëT�ÿîŽÏ6 -cÄp:! û‹è�ô "¢…€²ÑÍ/\ï¾3€S*,a³€3¥@Ö1 µ!oß}�¥~ªìEÇœFþוtp";ÿZœNÝ'üEEµ¢[ˆ§[Â!¯�'[·0þ» ÀC€Ùqî¯Ï 1ÇkÖÜs‹ÍFC[ÃG¢€@×MíBp$€´�Ý,À¸Lð»Í'€é°  �É: -X]̨KöèU\±¢€jå,_¯œ´Àón®QŸÑñjuneckç.“±$+ö�ˆ5I0p9]‹æÖù”æÃ'8 #�Š- "OÖ'õ…ú8W½Ê:vxôЫž’ ‘ƒô�£}–Ê«Œ�8qœn‘Ç�‹Š/Œ óuk<1·m:;Y_â¾.Ш’ ú-èî.uýüP÷˜ç/zêwžÑ`}eÝ¡€Âÿ6z¿P}KÀ¿aØßÙÚÙ¹»sw€í$Àï3bΣáò*(€žuSÞ»õãþ£ cÂO+Hƒ€gƤÜ{­K¸ÒC.Ÿ?oÈG„¸a@øy‹d$`@ÀÁ×êŠ=~âÖ½|^ @÷0z ÐÙe‚%‘¯&.Ɔ/�<°ìeZ$~ÌÇéfG*Ÿp®:g²@/»�T(¾‡<4‚ÃQ´môL -ˆ­—PÙÆç¢€ÿy(ÎB¾/úÅ ØÐ¯�{Þù­Ô(ÑÆ^xå,)5ö’²Ê,)i€n€ù�{¾ø ¡ ÑÓ™ÿÔQJ·@ ÿy’· *æ:Ñ® -€ÁŸwþ¿â�Ý#6˜Îs[ RÙÐß @øÿoôÆ$üg$à÷×›•á“Õâ½™/6çfª•“¡œÖòøHx-Bà‘�à ѱF°0 @1€Þ­'ëSÜ €ql=MÏž  Kp @µ&Ws±YW6õš|��»[÷ïßø(}q+Û|B°`À=Œ»i@ ÝmÞ_‚á·ƒü]ã°Þ£@' .’ïG`Ù ^ÕD„þÿ.F€ðµ?P¾í§›üÎdsù«Y[N*Ût¤;à4#ÜÕ—g§§§=æÝhµ>;œ ë`¼†��нÛèz‡˜_wøÄè‘Q'‘�2ï¨�²:‚·<:êÁúE)D*N>r‘A9û<Ž5y¸Ã݉Ñ)­I"ì>1&WñºŒì€c¹ÞSÃÃSJÍþW� SN*Lþ¹MéFƒS‰Uöäkaà�Ø¿�(S_Éü ’�X>Æ™ �Ãådá>tCÛÞ-*WÞMóøøCÝ7”w¯ S&/-]©äP*-ˆ8ƒ¡lý%\/Bˆ S/€—O7ûOŸö¨ÆÜ1S¦HkK± < -ø·�WÑ0(-¸ö»ß~ö›‡Ý -ñ˜çؘ« ¡˜×ë3µ¹¹ÕÕE+{ÇéZ¸Ö±Pþý–± @}·àFyò1^÷)À; -ù+?r3¶³OVpŠ.@iw�ˆ@ï?‘™E}—F}†ÑOò &äM(  ïÿçÛV~Å(} -@ÙP(&_± À!㯞�^ÚÍ{züžæ8 1ù‘µ>'ûbÐè]¶·å­V.Xjmç�³Y»•/·Ø}7ÓѵíÛËËkÝYn-/ÏgÙ[õùúÚrmäÛ­ùÙùz=›òpAc—.MUh?!L¼Ò‡pº^�ºTo›šÎæ/UÇÆ¦ä+]¥ž‹KŒMeU]<-B8]�ªWGÇÄP*£Óõ±êð±J](]Õ1H4=Ÿ]š®Ï. b§¦TˆÒ�˜e:¿youêÒÔ%Ñ“©iUJîxU0œM�‰©dÓSÓÓÊqzzVÓ³ùŸfÓâ�cÓÕK£Ãc—T‘êØÔ%•«’™û‡®�ôi™­Ê—¯^Òrø�øjGÒ8ŽÀ‡.Í·g³Ùù IY½�Õªù6·Qoœ|­ÛkY#[néŸx­ÕÚnß»ÝúHÈ¿ýá‡Û­×lü¼dú½Ö�æš‹‹Ìö³Â`À û³"°áð?dá=­þZj½ƒû °'ø‘€³èÀã4ÁÂnÀHføí·÷nÝúàB  …<_8ÏŒ€ç÷V´2Üï¶”{¯¸Æôÿ"·x�º!ªì‹—Mnº5¢[¸ˆ«ñÊe”~ã´÷ï28Agóà @· _žU×0 -Zî6pà -©¿ þè2€Ú•Èž‚8ÊÚ�íŒ| ¥Ôf -&ˆã˜þ¾éO­cZÐt`€|´… ÅU  ~^x÷T' JÔA€(‰”oí¿à€èM0/ð?åRu…°Ú6òÈêcÌU]à÷ŠH -�®Ó’Ö »a€‹dïÌ)ØU±yŠ hC”åâCðœÀq¿üc^@fLâm3b ÿõ.†LA€Ÿú›_u+ ïß¿{ÿþÖÊœ ¹Ö\œ£��A‹õÚDÅsˆ -je<=ðÎ…¸xêÀ»–Ä - -wkµ^ò/8€ãî•öiS`«4�tU�"�<3 y©ïp÷I^§!B�ªzÕùÍ�¹³Ó~‘Ê=03HEˆX ë•R­7æÖ×›ss�FÖÌW7xœé�vWß8 ïÿNÛ -À¯?  ÀÿnÀþ¿,îõ—ŠÿE/mXêß«@' .]Ë{?½ÊýÓ"À� `ì÷\'ûcè`¨?×Þöæ›3ß­Õ¾Ë\@ß=û¦–éï[«½©³îPŸÑ»&¶3>)¼ª MÂñ€/}Ïí8<¬J{h³Ü½¤ÿS[J%Ó mò>ÐçS'õ.N¦{sT÷ÅG8 )¥!ŠI+IîRŽ�¼4rô%’ëPdA¿ºñ‘ °Ì�Ab¥ö9ˆ«}bü¤J pDlIÙj�¥ì8xìhgüJÛ°rÑ�Ìÿíº Xmfü,÷¬f­nfÒwûÍÆ·è^É oj9£ûç›êp?Œ*bübuPîÿâbÆô¿¢Ç«LùãÄÿõutÿMt(€mDZ³ƒÌ¼ÛPÊ‘yĕֻW˜áw—Ýú )Œº6À“¨€ )P@ýCa=®‡X0Ú°”y¯AÞ¿yíªˆEÐâŠØ††øàŸ?¸i""ð·e@‰ü´õ‡(PZ ~üX¹�p}¿èoä÷°kœe½Ë±8¨`#±zÄÇû¯g¹¦°ÈÌ/Ÿ)Ú´Œ "ú!Þö~Êâ�¥ˆŽéoËŸWÇüVW m -$ñýíú«V¬PðòÇNBÒP”£/m�N�#|Ô0›Àô÷*zørYn¹H€–E €>ÞP)vÈc%7èÊz €,à^ ÝKÀš�jæ²uS ?[C§(U¹S›r�a¸�‚X¤æ ÖÖ7,µ<§�àH¯Ò±v) ð›ž^éç­_º~÷+ÍêÄ ó€1@ØÊÊjsNX+§@öE[«ƒò ²œ6gô¬Ö9íÍxœ—Ø×H�¢ØÓ¶U:­‡:.Œ¢‚k妬ÉÔæ §$5®'ƒ€=©È¨VŸCµô‡ræLX7DT!žtàYh&í€(?9�úRYÓÜ8Üic�ç[2€ÍP>éÌè€ýõÆâ^§›ÿE dw @Ñ ÞòΠS)ÙA>!ÿܧy:ëþ^/Š:ÚÌžò¢‘Z«ædâÚ ÿôIDAT­ñæ ÿú»éŸÄó™†p­ñ¦ÿid:nˆØ\­š½U= š -= ÇXUÔ×Ú oõª�~©Ý“Ç8�^U¯¿³ q^*ã¯C ÆG«ãC/)CÝ›“L„ÁYŸ&&x>yöÌÉeUÆëu�uc:Ëññ׿=4n¤wÖÉTà”˪~»:¥tº_ä #Uð8×ðÿ¯\ ÅG‹ù+Á2Œ‘9•�%úÔ†|GÆ'u·š++µš~$Ùœ#*ÿxuNð¯ŸEnémdé§N‰2~gü¨d.À••|5÷ð?4ˆl­o¶×iØÙr;€ ,w”Œ¹×à÷Û�ë?쌠ÇiH”¶ú ¬Ým·nýøÖÍ«€è‰o Á'ÝPn0Àµè•¸ï +iÈŸ»r%eÞk"ŒxU3PWÀùsQúÅ‚`W¯]·@E´0(¯À~ÿù„ìû3·äƒZ'À{±ö²ßìü -z h6:íÙÒ%éR-J”–Ytgϧô›p¤H¤íˆÏë³ ÄVd¨·øFÊãÅ£?€áØ -vHX\¾>�6Y_ ”Fæõéå`Aåë8�UÝãWÎ_|C­ àTÈ�OF`à?ÙÁ„ýñ=àÜU¾éÑËZÈJ<ˉŒI¼1·V£\wK‚µûÝï>ÿô7¿îî€Ü‡å‹«‹Í&ÈJƒà -S‚äz>§X X:7fèИÏ �y�ØŠõ¢¶ôD²eM¥¥±Áà/aG~)'Ð�¦=ÿeõžTZéq5—¥«u9K®VÍÈ¿9÷vöö\3Ó1 -lÔßÖ¶jÁó� •¢|ø@œ!”¤®JÍ1ËYŽ“³ºº¸Ê|g1Ì9 -€(À½¿N1]@R -ôÿ€³÷pü;#ž�<ø\ä - Û×8ú—{Àã�="€²ï‰H -À¡£Û{Û�;" kb\�™Õ¶6s±�l5Ï™º.o20ÀbžÏgyks;¯iWÿo,@®z®�im�¾4Ì,ú‚âÊÔ*ºÏÖë—f•àÒÔ”6µ‘eÕ€šëuÙ%FËgØaÙ|–1Ál¶Pw‚E­KßÖ9%©}ûÛÚû¶J­gyV¯×@iÀ[Ç—–2&âÏ8_¿t2kiƒÑ M>••ê¡ü¢_^=[Z¨V”NUð‡ÓTN�zÌAEªCOˆ ðàÐáC'”šoó–òÉZíVc|&ÏÞm4ò¦î‡ZÛw·¼›ÿ¤UÛÞÎß]m·tu'9Ün¯@®�Á$fü»�iÿ+nÑs÷¿Í-‚ý¿uws ý_P?˜$Àï·›(i€ÀOº=,P¸ßný˜�.ÊãÇ€Ï}Þ~v4ܼ! oTv‚0í'Ä/-N ¨Tho`*€RБs„x™€ÿWR®\S±ä–«6øþ¶�·u¶°žó Û÷a*TÆô�¼Àí4vø®fY÷š1ª›$XŽ«Ò#�Ml²›îP*Nãâ/Ëa[’ÿãH\®S†8™ïË™üÀþx{!lŒ'Ndö¢*` - pÔ¹ Ql—`À×¢ˆ(˜€—J`Ü70w[  ÐQÈ»TÐ <0_�?}1eK©¤ô®”Ò– -€á_מìë­ÌÝ”!ü×íÕ�â{>—`H2u3 @’…ð;b>ùïÝ1~È„¡Âá7­¶EÄ„𠬡[XÜ\ÌÝ^h_\ô@â͘PLÜaÑó$EíèroÈD&€_%Öþª2¡íQl IîBo%œ›Ë¹BŸ.#ÏE99LV"ÄO¹ÉeѶ‚~™¿­‹T ]®iôLt­ªdĤò RãçۊΙ'pÄ1wÚÛ÷þ•q~çaDž º�ôs€/j8ëè�z„Ÿ/ì?ð\t”p.ÿ‹q@­ú3Q§i QïÍz ã?@ÏÐ5QÁz/ .¸Ó?&0I gØ”^Œ4<|üØpê:ˆU�ÌÕ…êX -Œ�MMOÏÖO.d¾¨…0î ç§§µ3M›ýôì8¯¬š‚<� FѤpËm¯.¿^Q ±”M9Z1ò/��UGGIâšdU‡4‚èÚ˜¯‹dP®èŠÊÔE”¯}hI}š”SS—†^¯¦i„‹žƒÃÇ]ƒà -²ÚYÝ$Ø­ïUÜ5U&�R÷tRŠqX¬áÝ<[óvVܦš(=? ý`õ{\És¼L¿ŽÕUºýáïk}w‡v¶îÞÝÙºßi1ë·øýf@ÏQ}?PJq—�µ»í#uõÄ·J ½ z¾k™m%àÇ|$¶®Þüû/€÷äÝ_xMà½N €°p!)?t €¾c¡ë¯U´'KÛ^õŸg�àý™œ$+Úì:š�±‘özÍøÃÒ1YJ,#3¯ -¤.§-€— ÿR²HÃfñW +ðßéâb•Ks‚Ó 0­I”ØoCH�A`@Ø(Zù£úþƒ¶�ÿ(¯^öJ™Vðm±�ÊI€\š7¡Ü/a¾¾rEW"ˆr¯#/ŸÒýÖ1èA€ŽpÆKE8«7#¾¡<ÝŸ¬´„Að%È�¯¡Ò”øù›)¡S˜9è…�zÄ@Ÿ|¼Ó!‚FÛ q|3€âºø?8)Dz -M3�—ñB‰Ê ÊÚð¾M 'Jã\¯j �+˜_“Ë­%팜90O\kɆó&‰#§MRÂ&ˆNRz;‘óâ¡Å‰Å·ã¤sŠË�À»21˘a²bš7Z«ônœ©ÎXt°¡l¶7?t€c»¨”,ÝV™o6·;Ýûç4|t0»»€Ç�íÕ  k€/a.þçðÿÔ ‹q¾=’ ì»bP 9ô|°-鵜¯Í5~2É“(Ò -à²l¼Ö”;­]a~i‚^ãdåkà Մɯ tåéÏ‚·uÐ�­�ÈIŸf®†ž&²ovVX !@PÒéöHÍø-|l¯Ž�ãBwDöõ¡×ëòÿ_7/ Fi�NÕGj™HiU3W$ÏĘ㊡å|u|�¯òí9™ÖW#Ñ q@G†hËæ‹DOÇÃÃn#�×NeëõwkgAIdÆ4ÀÚˆ,ºþ‹¼ÚÌßõ&ÇuÿÖòíP -²,€Š~ænk1{÷|ÿèÿ þ+ÐÒBžÿÎÎÎÖæÝ­»[[Ú"Ò�±3:a³=x¿Ë: -€žß½@1Ððû-Àe{ü@¸ÌáuV^ë(?ìR¼èQØ��xÝìÂýòõþÍ¿ï½ëW­tšPˆ8ó  -€¾c€ÿŸ¬ä{ö:‹®õþ@ JÇÀŸÿûPì]þ [:†—Ä:®¶ãoŽ�åÕ�3EÒHÞs(¬ôÿ9¯…–àÙè +°±Ë ï üåªXªD_ï?6r& Àÿäu30ÉœÉhÜ*Àßk•!0–E?ÀÒÎà“»ÔûsYÊ»P904�B€œQÙ*ÊÜ%š¼èUd\K"1ÚÎ AÎ|¯x -?§Pâ‘Ö6{«aIˆ6€ß‰|öÙÿ¸KHøO“z¥æ ¹du½eO\Íl!¹!®° Ö"àݥŋ곺ÚâÁ²¨-²`vQ�[Ù·!Ma¹³Yù�~‡#ß•Öʺ^qíJŽ€¿¢|SFZÑy)Î*Û¨ &ô7ÛX\°2€²±±ÞÖƒØÍÀ#0l{›¹€·7E~à€)@·û/+ïøó›�Ú¨]*ãE/€Þ€¤ ì5€VN&;˜!�p~p‹ÝãÀ‚T$´ßeùÒr~{)_j×›-a?à� Îh2¬Õg³†üõF~¶–é˜ãMŒƒ6íU+bSC#´â�F@]hšÙážœ¶Ù@xzJYbðeL Þ�žòæ'Ó" f6ZóY;0EV«ÊÇE7“W~©>5?9‰„ “ƒM6Ó³ ¨ &¬¡µŠ½|*¥Úaf$TÄm³Ú̆ùb²�`ÇF'q¥ëyý›Á“’ÀýÒýó€Êy–¯¿ê-ÝPQª¬•åËkËÑË2ËâoŸ¨é"Ñ-Óo¸;?Võk2þoîøÝ`ç.ñÿPÁ?D`€Þ÷Û�ë7Jh06€˜Q¢ÏÀÚÝvKFG¼×M…À8] -@¡ðïRb•°_¯«×öƒ^7ß撚üê.à2Ý¢“��¾$¤ÃÂ?WõCû.¨OÖsœEù§X2À‚ë(ƒˆúiB—bÆêºkƒ‹ëµI;<“�°V:À›\HåÈš˜äUKÊx•1Êü„Zo‘Ú…kc£¥’˜¼¤¥}•¢“T©¥BŠTEQ ¢6®ØÊ¢ž�µ_ ûù‡?ßþðçnoßû䓞¹ øÇJйá_ÄÂS±ÍR/�  ß«@' .š š ˜~Î^xÿH -ŒàkÑ 4Ê<ºŸí²\ ОY­ä«êý–€œý�ûe�¡ -@­Vÿv�>!aS`LŽr}8š„Ë•ª°4Œ�õ–óÉð�P�–y‡„ûr»½2øÖ³“M²Lf¦QIî|²ú·‡ˆÓz2þeœ›‚–(g<ü9è"SÕ×+Fjá?ÈÏÀ®½¼>žØ ééÁO87;?[¿ô ­“ߦcâð‰—Ä<Àáa‚ÙɲúÙ]~ñE)kÞc_žÎbÿ?Î*QÂÿC‡„…]$ ×<h x–ÓRÖ¥�)PŽE�ý€5­ò¬@nqxú~[ -;6À¸· ;õâ úŸ%›tBhÓÿÙ;�1æ(ç‹WÛՉřWÊqlºÖ³8½øŠ¾‹|Õ£Án’%¨Ø—%@Je`Ø -€m -p7Ð3Æñò+¹;yíXÛÃ)Гa£-ðÖc<’3fØæ–Üê8iœÖÖÞ‚ë1âÉĈ,²­oyËc‹+ã�š:°µ £ÐižBÝÒ¡­Í-€\F�d@a[ÎQ¯8Ê5Z«Vž¸\Â'ô‚·@/ÄXd.ue±É‡U=“92M¶óñ¯>ûÔs‰”! KÐ�þB ð?¼û¢@m»c„îœÙk._v à+B釤qÈ–~€ƒb„þf´vøw™pÉ  UÏ-]¿å N Û5€0Í|@ÛxMx7-üsÇR­å_ëÀ”üðÃõa+cèªàš)…t„…\ºªŠèh æ{!È•)5êûì%9ð*µ våÇ' -ßjŠõÚH�6…juÂãSMéx Š„«ª'g2 UÜ%�0ù -ä31ìRV=)&2UWv\¥ë.Q ‘ùééKT¬þ““ÊÛ8MÀa€aíùÚaÙÌ7}£ -÷ßÐÞ±ö«îb‘1àò‚ýÆÄŠ&€qú``z8€G?ó|çŸßÈzÛ¿îß¿k `k'ð -xßo…`ÿ­Pd†¡´Ýc`ín“'~ ·ü5á¤aKðyîÂyÇÜ@Ý}RË~ Ä~§Ðêý�† ´—1P�«¹P®º*ú†…À)®“Å:v‹ci£ÜMF&a è÷0�dOg‚ PØÆS�»nãgœÒÉŠ…·q¦<q÷Þ3g -ëàq^¥êÿ×ûLøéqÀÃÎ"- àZ;y}å´\i£¬AXü"‘ŽØ ´è¨í ó¡è} -ø/±?H€ äÒÇ´@1¬©lpÖ(Ú†2¸tØ¥*Õùˆpõ¨¹ÓGÍÄ< �kOǘÇÌ -�Æti_ €pÈ`(…u€XJô`(ÀˆçÏW˯ÙÜ"n:0ŒSÏùÙÀ³�¨M‚–›z>è(‡˜.$¸ëÐ0¯·Noî¤Ô¾�fx=ZdÚàÚ-ŠØÜUÐé-Æ!羈’*2Z'-åí¸:ºCê6ynm1^©Y‡6uVB�F·¹Õ^ÝP -üå¯/•¯ÌÍéèg -áÿö/þõ“Ï>M!øÿ= -@‰þq«}ߟÛ̆i»£h-”Z/€®€¾¹H$€|ŸªtÅ$À?³ý[(öþÍ -€þ›•Ô€¿ËOK­åüöLžgó´T£bgE@ã-6³lî­zÖ¯5ýŸ)üþvÍ`ëíi†Ì9^®Ô£•1=$u€ä穳õ“õooßGf .ছÌž¤…�|ŒâDÿÛ¸nÆâA_G -]€ž®MÄñÍ»a¾z‰ï1;}‰¬UÞ½JËXŠœõ�M%¨–â&‚~fêu -q†KªÈtëd­:†pâä𰛎ˆ$©Á–5¾Y*º_}àÝö¤[üç牱ÈóÛZòUm&n˜qž9nÒߎ/¶îÙÿÖùýñý{÷�XÀýÿ»Œþ§Vÿ^Kˆßo@ÿg!¿×ÀÚÝF€çLqx ºEwûÜI°opOÐ_˜1ßoŸ-Á•÷™ðÿ–Àù çE¢ àÆ @€ ,ÀµRHÀ -@–kÆfËkoÄnT»Ì̆,ŸÊ% P÷4pHw8à¿K ÀX @�,8qiJR¬½L'Óv¹J‡¸º¸´´.üçdäžž+ȃLˆ)�ü�=þôé,Yt÷s€Ð]`:DN¿¾}bÚSñ}1dã& -L€ŠI�œ@W+o¾Œð¢–ù:pб…J@—¼|& øý4ó3`w €™ ã$Ý ³à øG@…é® }!À€¤o,9¬60,€�~ëÉüwõh6š‹�¹™¹leµ½*Àhmü·¿¿º³¹%(ç˜[õŒ¸»ÉèàÆxc>d€ÕÖÎŽ�¬3꾑9M#"`ÞR6¦ô-âç€s”�Ëà)FL"r&ïˆM†vóठ‚á4e² -®7Ý0gHË`5¨ø>4oØþoßûåoÊ@n·Î}B0ˆ›wü¹­Äi­�ÿE/€o¹@`~À¹ ¶öN›˜~î×R @jèS"@i<ÄÀ¡C9CÓö¾–ûòO[yë͹h0þÃü‚4¡ÿœ0‘Vn€\€,´óH¥¡D7@aÚXuJ´}h¼nQm}Çn~}¡~€¯®ÝdÁæé0(�]ÊΪ¢ó öÓ1Ž„¶ªý)(Õzÿ53‚º¸=^Ïí¤Ïξù«pN²È‹ddµ“møB�Ú™ŽPAWD›hJôîÉ)÷F �F12*,«ŸmÐøïwÿeô`ýŽnð’»[0ÓBXR&¸‘î`°¸âŸÕ¿uÿNüsÓ¯’À€h-ì/¦ ëÞ÷[W @�`(J›=€ßc7ô1øßÝÀXü�œÚ ò­¢ã÷v�˜Ð^xϾ¡?N\½Öû×ýºõÞµ‹âý -#^¼"¯þêõ÷EÞ»&À¿Âøjr…é<ð?ÃA ÒJÄ í)�kÏ—(^þB:¬wBûÝV -‹½ os `3ô‡yß@žÌ’q-oãhœrR{y(m•áta½øçU^ľÏÛ@ÇpÈ;# -;½N/öR|_ˆŽN3|Ì€o°õv(�Ÿå2†DîV0e -€>ÊSà î┿pêŒ\úh³çekû¢�;ù; -€²¹x‘î|!*­"¨ 'Oé¢@¥ùœ¶ˆ |Ð1hÉà¯ã«oúÜ1±â��T VF”àÓOե觟l}#oê‘'°B `€(.�\g”uðßAÁ¨ƒ¶»Þ2^Óeˆ5ˆ,Vpï®�ÝÕ�- bì=º ‹\Êîææ]1 c¶V"åEÀü¦SÞ_ÐQ%ƒ}�й¹:ã=.ÆT3–™ò "£'dÀƒÚ£ cÕ1‡¶í�_øuïãO>KÃøŸî¢,nm�ýÜò禀u·ÐÕ /_¶W/€N @ÿ\¸ÿûQXöÏpàqB ËÝ1Ǻìò÷ÙZ._YT`¦±2�þ²úŽ¿7ZÉÃÍ'h(ÍÝø�¬Õªƒåé¹7V«¢õíÁê›±¨ŸÌ}�Ày^GŒ¸ ºü}á.Ø[%qkœ{ñ’ -å¿]ªîõ©z­Þøftø¶ÐŸ1(.Î*Ýt{¼–ÕQf™Œ_ùΫ,Î |UÌ€~@÷ùõØ @¦u±Ùc_•¿¿û•@`0@ ’íí{*]võªCüJ<`ðPÀ”õþõA -€ §Ø«7¸ Lõ  Lâ3@âžôߘ�9|‘8�{}|„�$ h‘¿×âÞNô1&üh†À' ¬¹ñ û±ÈÏy±bÇï´åc:㣱­uL[‡)�½d»ý¯º€tZæj‚ÍŽÈÇ8¶* �¢õ¦Èˆ#ý8�ró÷Öî kð‡ÐWO›HÝ -€²Ç/cü6ü¢Ð@` ?ÐÆ)+Ú:üûT¨Üï. åÛ @ €•ÿdT�Ì‘”öËTø”Ü’•a€%øô7}˜à¿3°�tgsuNÂLs…¾@üúõ0=�fc1 á Êy* jP×ö&qC>,^ðàþÎ=mìÜדÄí‰ 7.…)Ê›nE~Äèø]=gØQà±ÃåÀú£»žDD"h‡Tff<›tFÕ!cr¥h• -�05�¦À&ÄmîŠã´7×[++ë:À}+?ðäöÜ+ìaÌP -þ¶Àÿ/þ…ÿý -€^©€Ç�«¿W/€N @ÿ\äÉç€s¸Àäó6tlˆ+ß8èÿÕ"_0±×�ZÛ“5$l3ð7¡³¥²Wky - À‚9ö ¦{blø%úåMU/…WýŽ^àxuJ»œÊ9Ù¢y©_%s©‚R‘Ð"ËÏV×Âÿ?±.D´§4oȾ©Ê;ð®N¥«±mÚñÉ|^…€ëœ¨ÊWEdËõñVR%fß%PHIB�`å¡~v¢îÑèä8<üµC_9\™Hø¯}£D²ºõ†éÈòyAüÂ<ƒ)È~Bà³ûiˆ» k¡•Êøx­Zg®wÐ;÷àøÿ+–Éàü; ÀÏ)~RVúï?|œ¿Ïâ÷Û—£¼'$¾uëGn0˜b†-_;wî|¯Vøû(,8À‚<`ðPÀ²[7¯]>sžû÷Âþé À�„óÝ -@w@´ô‹ Øë7¦c ½±ð½ ÀO‡HÀa– ó»,Ý�R, Z¢I @÷;–rÔOä{= Ÿ*öÀr½Ý €ãœJWÙvùÿÎSB‡ñA'à�ºdpC=N>z£¼zqêÁ×Ù»ÛÂy(»ºŽ¤¬,8¨t²*‹r¶¢qîí "|‡ÍuÆ\ÝØº¯Ç¢9žàŸqˉ"0n` 0ßàòŽ?‡ %H˜µ‹^f ¼€üÀsРЦLÉy? -€VI88v씉�HÅÀ^h ¥{,C¶ÎòÉ™ F2!h¶è]æ±÷Z~îd}` Б„óc•JuddjT˜í~}¡8]½ž7`Ÿ�Ýf4^®1 wY²�ùDvüŽ+õ&æ0Œ³œ™©g€Ž¥ë2�7�ü?Ïrš– 4@>¨KUe~oyá{ tôU²%*RyDŽ|m€ÁˆÔÃtøÚW†+cŒ&dF÷#oœ]A ÈÞr+I&¬Ï¸a°Žù¼E\¥`MÈ¿´”Ã*Gd ÖöDsÙâ¢Àzt­mÁ÷‰í…öë×Ã/I?F>|üø -€üã^HsFh]löZ·ã/;à&7®2ý0ils/ïRJØï6S‹�ו=fB¸vAY^¸2@@¸‚ð�5ÑW,›´B—`'ÊÅßצ÷ÜÈ(oÀ×FqÈ;$âl‚ýÒzàòüN‹�Àï¯*™î<0\à¿…NïÞë,9ÎËk›v"€C¶8.ëÃÿ2�Jâ×ï�u#…–á7 $Çä’Æ�ˆÝmE€.$©ÐÞ ”L@ÍA·½^|áhÄxÂ=h¯]½¬¤(›Ÿ`£2lÀ0}F¥¾@ø¾ŽFë@å°I]Ö× àâÅ‹LÌuÓ׈êD+ÂEǸ0›*Fø?½`V|{ôE�•Éd 1ži �¼( ªƒÿÀX‡ |ú›_Ò°~{]äL¿³µZ« �×çõ0.îlÈ+ðÃK7lñëŽ ÙhLg!ñ6Üß ?þ?$rHO�ÄÂëgÓ0ý@Ppòó�q:—ßøH ½î>tZ%!=‘Hʉ\©“«d@�¾€¶J2"/•A2“…�»ÛÁbVWçW6ô• 5mžr¶ûÿÍ/B¢ 7«l°%øçæÆ}ömûÆPxꃀq�ðÞ^oýWq€ÛÀ?ý•=!f2†ýáØÎ&ˆ�&ÒëqÔâÞûé`à�ub‹…Ãh…:«…uz€›vD.j;¨ˆ„�à l>âEë9£\-G‘ï?ÐûÁ#¡}�uD)›AØëW�<✎@-”H�/¾Ý!€ŒuÜÖ·ÝÚÑ7N!ë‡Ýÿø7Ÿþ 3 @0€@ÿD‚aAž‡œJ.}À4 À~¾°ÿ€sX5ÀÐ 8(ü;Ðaƒ{¤NÉ%#LNè´°=YË“ ”·?»,×ܧhMF¿ö<çô[`§ö5†Ì«W*ÓUFÿaD?+ïKžç'›ò*£ñ–ñV—˳³ ß“§�;‰ëùxMÐmhO(¿ìãP€y–"ã+>D—=-ê5€¼î¦…ùä6ó”˜ë [ie-RhW)è, z¢Š@"(‘n y�X‚pÂ1ÕÑ)*©{RP¢Éõwó/íüuS–XÎçO®äóÈÿKËÑ€ÉÈT6C`Ѐž€¨ÿŒð…@¼ïæD_ù.!>ü’ü+ÒOòÑÃ*ç_Æÿüj À`+q¿|ñ¾ùÞ-zäyŠžä\ 9AÛ½€bƒu' gn`à~·‰\¹ðõ3*(u, -Ç»¿~ëƒþ'ªsårOÀEÁxTÏÈn×_+˜�6|Ä›/Ó!KGÉ£›®“¥;Tš�E­Là)Ò» ¤—¡Åðçà¯QdjÈf™ÌaU.€u€ØÂbg0þzç8ä—¯N­ä6ÇXó�Uñb¿£8sË:� -ÿÇàì Gõqëa–Ýåÿ‡ 0�à!€S/·$ Ä7Û±O -Îý)d~> Ê[›ç™Àß$AÇT!0ž±~Š eNÅùZI8�GÚN äÍø(m�ð\ã$ô/á?q€² @É~÷ÛOõ‹µv«Ýþ¯ëíÿšÙÆÖæJ£r²Zof+ë´Òàvq€{ö÷çzã8PÈë¹�0˜'ч�ôDÐsâñ#AöÃG|Ì:餠·–Nª$z¨xKÏÀýá]á»L ¯^ϧ³Vkm4Þ ŠKÙ»³Èþ :±¼]Sr•¶¶´œ Ý*.f+W¦Ú\n�»èL¹'l—½rO^ôZk»%¯ZÇ ñëyö®NS×çC¥1žçÛ-×r{û£Ö²Àmh€ÒÌ£U§|MYm¬©�Ê ®ˆðVùä4ãç—ê³y^=;Áðž„ -p¢2JýZkwH¦¯ÿn«UÓí3ú·õ­t‹Ú­�>^Ó6Sÿýk«vïvëν{·ÛKËúú…ðJø?Q­Ub16³E˜¹ª_<ƒoˆ ßº²H€Óü¶DÊõ“>�pãúÏŸ1 Ôóíù€¸ù…ÅöÂí@ƒê`®Üìþ€Fø?îÂýÒ:…t½n¾ÿ¾À™S"¡ÜøQ¡ÐþÈ߸ùÁ?ÿó7¯_\ë;– -€�~¼}§2®—¾}ÂxŽkWÛqЇ¼ÙÅú÷â¿-Ý¥ÒÀ˜báõƒŒ/ü…¾0™uåWäàÍbáÃl‡�ʇØJiúñŸwÀ>X�³K å}¶Ÿ&²ˆÁ~pä1{ê® ?gl"1€`;LÛ°†¤„ûŸp_T¢Pçƒ�ïW¿êS,tìô©TóRP%êQÎèO³@©@F\ÝÓ¯¼Ñ¯��²`DaeäæÈÝ"ïÒhìÓŒJ�OÉÀ­dF³‚üÛï>¹×.ŒŸ?B®/ÎUF&fæ6_ûtázfdž^FU+O­^nL@í³ì=~øä±N=¶�ïSîƒñ��øÂvdûG÷åªû=YH¾ßü@W>|\ä$×#Òܧ¤Çâ ;G¢ìQdã~ -$B‰!(z{³�»z®!¬,ê¡“¤¯mûÍg¿ùìS^�iÿ#@w1ÝѰt—ã~ÈFN~s—à€¢ãü�œ ì?° -  = `²þ÷p @w®æ5…}krBŒg²FWFhŒ¾›¾߈ñ¨jµš¿á¤Ž×¾ÉrÜ%‘éèÅôúÇŽ +ª¡ïEˆûÙ“N“ni'Ç¿Yã®MLèš$²$ƒ0ÅVíìj']§­É U#®á)/Ž •c™eí(8ýF…#ÉZU—S‘²&¶ gEU�ÊÿÁ¸ÿBúnñlj‘uCtÃt{ÆuÓþ¸Á–Í­@:T›äŽAß<[Þ<¾<÷ª´ •J��…=&³}0xö½cœnºÎ˜wè§s7zððËÔO ` Þ÷Û�ë7Ý~'0ä§x±Ͱn(Ž×Íëú¼wëf™Ð2 ’íŽpcÏt À.óßm·Þ¿ùÃsg¾Êd@} +éDÔ+­i$­eg·ûô´¦Rÿ”öua"àãñx|ð›9oòÖÉ}`m©#Àb ÙLÒ œ–NP€Ìœ¦]™Ÿ] +œ›ý„s‹‹sóóq`n>!Ù)Èf³ÙÅÅÅ+W^¾úêéS¿í#z ĪšÊsœZÙ«•Çy½\.« Yp€WǪ) Éã!ÞêUÆjñëj> í� <=Ï›-5?ìÁ�ƒÿôOÿå“}ß÷ Ððà ‡õ+—h.GtM¯�ã™Ap8YÁ¼àlÆGEoKÍi˜~ÅÈïÅ4­…Ø`q Êãžr¤%ËˆØæü„w‡ÿÑÃÉ5®½�´ñ<Ï÷}¥2ž×p€±2eØBŽþ˜·}Þò[S©ò¦zÝßG|ø’ñþ¤´\ŽÄƺ®i©TФôtj6Õ}IA ÕlB½^¯nüòã�ùàã�<8<|ðàÁÇ“s +æg £ G£mõ¼ÖÛÙíìþb[YúŒîïîÞï[ÝÑv¿ßŸÿ�;wN·wî•룑Rý¬¿Ô�îvWû£»?½{÷§SµŸ08yúwÞM^Ýѧƒ=ét:­ ÿô”3åû£Fþ´÷üðë~óáææœ#b«55}ׯd2•+W®\YÍ&ÍÀJŒÙÅÅJ¦R9AæâF@B¦½¿æ2mRÐ.Å-€¹lLæâ +ÀâŸÿù•¥@€¯¾úê)¶|±Ñ3ô”Fp­æ” !å¶ÒúU^`rppÀó<ð<Ïo˜˜¨…¨1Æ<ÏkxØn{"úèyc=¯Ñ€†žÏÀÿç¶útà€ScÔceJóù!zžÕÌX0ÔŒË +Ï÷ˆ&µ2î+)~¿Åù÷¸Ò ãÆx"×Ï=Vf5€0®–[~Û+Qæ-#ø¾ßÞlsäˆos¿ÕòùúX!|›�]ÎÑWò€jêÐ÷›  á8e-Þ÷ýv»ÝŽ%Ç|Ÿó—#úˆ¼�ÍþRG}=¥i¹Ié©”–ŠKɿ躮½< U“©)ÀzÝ5Ù_>xpøàÁ£ÃG�=~ôøèprNÀܼªN3€ Œº +v·Õ"¯bV÷îèœéŒF]#s}´½Ýï�Þë�vûVw4ÚíÝÄIôÄÿ=ï¼wçú»IÒ�$ø1µWUþ¤ô—¼’ÖRϬüŸ>>8øÍÃ7?ø€ó·[­·[*5äœsmi)€+×ãÀÏTÔ4ÀÒÒbv1ž>Ó¸¢ªñrÕÜÜÜüÜÌxõÜbFÍh“ +@v–,...^¹òçÏñ=ú¾ßjÀØäž55„S+åIž–™SSñï˜J <®Ý5Zh"Ô•~æ2PõÀÆD=Ãk5èy-Ïxh~衎çyž¯�à†ï8NÍ©9ŒBYe:¡eæ4À„iÍÙÀÓ#?Ï®pŽ\é{}pÐ\®7›ëpÿ’�ù:b³Ù䉥^D>æcl"°7˜èâX5/6°ÙDŽñ?@àÖ›ÿï�›Øl¢ ˆcÎù;ˆ."ç¼ ŒQŠˆ÷>Â& �œsäÍ&nàÁAó47ø ò¿X©ûJO%Bõ¹XÓHubP¾„š®iäå¶�”P½®Ëª”®|xxxøèÁáñ㣣'3’`S»š¹L±›Ef>s®÷v~6íîög ·ÔÝõÔv¯:g`k­’Y‹S€Ñh·¿t}4º»e\ŸýO?Uç½³g4õ¯_¹þî_ÿõ_ÿõ_ÿõ{$éI*þÉ›Ïðç2€þñ?+À[­·¹Ï7¸²x%[I »8; °´´˜]Tã@'(@VÓ´+W2só™ùÉvåÉý +-“™›Ï\ÉhÉ À¤0“üùŸ¿P &qüÛ‡ÿtà6Ð÷æÔ%„–ã,Þ@Ø›ÊÉuÞ| –]W‰÷MźÕL*Iðxæ†ÿÉÁÃߘȹÏ1Ù)fjµ•©òÀe@)%)B�Aƒ-W™é2—¹ªôô4©>ûÜ‹çˆ×68pÜÀæÆú½æÃ1¿÷Ëߎù‡|<æ÷–98L� q|øð ÊÇP«¹¸�ã ÷!"sþäüƒñoùï]à Þäü#>>àcÎ9bÇœs>ÆÖ~s0†7<  ðç÷6–6ð!çï4°Áùþßãÿ‹ ¼÷—�_êþOÅ×4-¥åH²Ÿ¢âþ$¤´—j²j½^w«2J ÍÇG�=>útF¨2=Z7nª.@&þ3ؽ�ŸíÜÝÝíM`wkiëî¨×ë�€%€íµ%#³6�¶ûï�ú£Ý¾µ6íöŒµ^ïN¯wg4ýtÇÿOß}÷ݳú¢£þZæJRL +üÓR öÍN®±ùÁ‡¿ùÏÿøÛ‡ã>ˆo9|s?iKKW®T\¯(PI’€Åìâbf1S™¥sª0%£)QUM›Ëdæ3™¹L,8?q˜€ù¸0I–þ|qñÏ—^¤¨fƒÝz€)%OZ(””˜ÍwÈÿ�º¿ûQäÊó}á@²’µ›`ƒYlɃ¨5¹#\Ñ>‚ +7O +i1„YÙtÅiZ‹Š5Ù<£¼�Ý�õÅpΜ1Bò�5Bªç/'ã®}hr̦æ4›‹šÍI»2ó.ïêO¨©KË7vùâ¹Xä{yfëT/ÓÕ®*’Êv{}âû{ûþ$UœT1Ž&T1ƺ®ëü¬¢ó­‹z.—Ó Á8‡IMÍa]'¹\«:gˆªâ\NWÕ¸®scÏO~ˆõQa<— $I’ % Äê‡âÁ†žSÕœþöÍûÜÈ£bTŒŠA ¥µ‡Ô ”šU“1ڽό‡N£A)5c�*­&0„ Ùækü¶jU‚¥w!&ô>5èÏI™2ºÕ¯¸Ã’ŒRƒÑš¾Ó |Läۄ5x“ßÏyöô#•`ÅÄ ”–X…’ +¡Ä¨{kɘIÙ5¶†��ÓÌ·ò †BT +�@ÀÍ)àí6ä�µ;ˆ1Vsæ`".=�'ÓÉl6�Íf~KÀZâÊÄ„€¿pÿà óéAÓ²ö<XòÞ¾Ýl^H¶Ö�¾4»m·]�Ñì�;¿•µV˶?þøcûãþÛû]«ÕúÝï~÷»ß·ZüÕ²ßÊ +¡¿ü¯Š¢(?S„ ë}Á/ªŸÿãÿü/Ïžõ��¢��îNw§Ë$˲Œx7@žçÿÒ— +o¼,ÂBˆËžôz-C®àÕÀ„•ˆ °‰6BwÀëå(Ý÷߯l0Æñ8ŸˆaP’¢1ˆ“¸Hqœb\€©".‹Ü¨ŸÕš+�þÆË>Æõ.~Ä%„ë*Bô�tõI¹ìæ +ER(’2‰;îb�XT’ ÂTŠÏrù¯Â-€îð–}ä?4)á•;j5Jt§Ñ`ŒÒÖ &eqÝìF™�r™m9*ÃÑX×þrèŽÿPsëˆRJy Oº÷)ÕYƒ=¢”1³Jé6Ý!Þ0U™�"ÁÃ_ FuÃàf&Ü3®Lef•RjÔÈ–ÓØù1ñ?‚�/üQ怛B ü¸*@—r˜ïЖ"¥Ñh<�N¦ÓÙt>?9Y)Ÿõ†`å� ðV ïö‡B äZ|[Zóà`¿óø`Ï€Ló }¡°·×^[&¢Ý“Ó»vËî´ÍîX²eó{ol_€Ç=Š Dà›>o€oÖ·e[²,[vËn·Z­6W�+½{à��½µ_kh-! BÈ{Šúöû½ +B@à üñºøGçŠxN²,Ër:QEÉfQq,ÓE@Ú'D1x;¥è:«…�—8yþÏçB¢(Š!Þ(ú€8ä;výàà{Bª„Z¼$¸ ¡ÄƒB)p7½B‘‹œúI‘l—)Äÿ„8ù!Ÿ’/’b¡€‰ºZä…q +cÊm¿ +GTl’B +{[¿ Ä‘2„±(ŒB“‚‚�Fa2™ÄÅ¢»{¯lÍo«º�yd°U Î0ŒZ·Qe̬2“5wh-ŽaÊÛkFe÷)uÞ— ‰0ƒB*„R“•æŽém1œÒ°ÄLÆ7�í8”�ß íº¨¼�1 aö°F BJ„Pjš‡CæþÛr Ç|óû/ƒï¸!@0 +RÔKÿ»÷]âþ»Ksâ7öÀ9׸PŒÆ“Ùd6Ÿ.æÇ'¾Õ`rÖ5áÎdÀå€À²,kooOkv:ŸtÛ>X™æA»Ý¼Ðp÷d¹i·ÚíV«Ý¶;­L¦õv>m-°Üü»¿ûÝï~×jýVñ%Ò|ƒ}.0ïü»À£/þÇÿø—g>°€°Œd$Ën?P>�Fé4H§#¥H¯°”¾Äü™�Òi€Òé%Xs^¿$d¤l"t7¼^õ.×…‘b±�‚±¨$H’„¡$o6Ž“&!.ùšÏTã")n—!Æ8‰?„É$äCþ¯OcœJ á‡ðCU…©".òµb!Å)Œq±Ê——#Bÿ³”ŒEWã,1˜*Buyÿ¿_N1ß U:¬˜¦ÉhÉ ¿�z×iTc&k4´ÊâÜË��")“ŸSS¥”ã¿4(¥¥!Ô¤¦14©énóef|YrÿßnTÞÆqÃ�& Å"&I˜ÄÿéF©AI‰PZ¥Uçó_›f½Râ}Γ£Êç?ªþx·Ÿç¼ÍÁ€ Ü2ಠ+ „À� @bžœ�q(IîOçãñd6ŸÏg‹Åñr;øIv €lZË/Müð.·¿u`ç9~»Þþ³Z +d·¸hº + ew~ŸÉ´·2÷–èØöÁ~§Óét:ï]èúo¿ûoÍß·,´Ê¥¿÷žðïî„wBàú1¿7Àÿ¼V„ò"ËhI€ˆ 7 Ë(â“‚è¥úA€H$"Š¢ŠD@¡´( +E!Àjõ‚òÝÿÍMYÙÜt ß5à.Õùî;ŒËîx 7 $I0‚’$AIŠÅp„@˜Ä)œ* œJ¥p*‰q¡H!NaŒ?„©N¥¼ç=Æq 1}È7 Œq±€q!B „8•JaœâGqc„1) �'a2U„b\øÎ€ÛÎ +ÕCâ € -„w\¹þÞÿôO¼ãÚ•ËW¯uŨf®ð®ê±Ó…ûöïµÇ¦ß„Ä!³¶‚"ºËÒ�ê˜Èù¼dºÝú/ÒÕà/ÿPaüUºŒt|ÂØáÍ+ŽM¯S¶¶~üO(_–äJ“ØgLR¥`— Q ù"•+÷WÙÉb¿‘ßZ<æŒ2P.Ê ç ”à‘ˆ,ÃêÍ�”Ïõ2ìA+ŽP]¡£Îî¡[/wv€Ï¬/6ç‹«(ú¾­òõÙgŸ®÷®1€Àÿ ¥ÀMŽeÜï™À’?ñÅ%Âç˜ €ää{�¹ÜþPø—‰ )[üÿ!JÙ+ Û<ær²ÚÙÆ\£éMkÿõ™F½1·ò“•v>ÙÈÛë«yÖhËÍÅ–K®È™¹å¯*y£ÙâD#˘ª^ÏSl>qzÌ“ç�³­ì-�*ØhdMüd¹Ðòƒ¹ˆ¡æ”'ë�™É³5­bˆ¨_«Uëµ™FþnÞÊÆ}¥*Ù’—O']4SŸ«ÕT‘I꛵Z-GåÕê ¹Ù]õµ@ÐüI¾RSEh>(*‚ú±DE‹qTyºò5‘VòÍáòþO¾42R©¼TªëÊÕl®ÙZsÃ…ŒÒëõæŠj—Íe«í­�ÿW”­ -ØQMšè‹M¾ô"‹¦­¢;† üg:@ðqqŽé3ZÑ `kݽq‰¹ ÛíÝ�-ý(ýׯm°ðL€ç›þÇxÆu#F¿u!zù-¿\@ˆ+œM é/º€�6þ*{€+Î|À@9' b(Pe}ðÏÿøm¯\+›€tæøÿ€¿Û÷y³àHÚ‰¤2ü§ÔÅJ{ÁXºY÷ŠE?¶bð­„þå/2”ªLa$NÈ^®â�wcÁ [/þSYw=}º$Q­Žy$@;αQ¼´?¡º”ì…¨C…xú ð‹w{ÿú8�V’ÉèV‚ Ä9¼+ P(4ù¿ ð·Rër}1{úìqX ÞÀ1Ï›tÅxYö(ìÌéÄ5ŠVGið­�wi 6öi SñJÖ¡�VS€Ï>Icßmo3Ó��ç@s¦2RÑc._dPâüâ‡# ¨Žzü{îã'†küo�Ñ3ß]8 òë =zx¦ÞŠ¿¤Òµ‚h- ´<òs‰œcp C �‡^Àxè¡Üw)fp€ÞœW–Ê×ÌÙ¹ì]O[/tBÛ~g1�IlïÕÖŸKùJ¶}§}çÃöÚòr{Y)šï -o'™ÙVh¦ n·šõzÌÊ7æøùú[^¢à²l{¼…ò½´Äry¹¥Lòµ;€¯vŒÎù¢ˆÂÒrsrü'Á -áVÕ“ Ý= Î;:¹ÝZ»³¶ÖRF)E+o´Öb3Ï×ZY¦šûT,"~¡µ´°ÔžQ}—É[RÉmgr‡Š,/,,+eæ.ûèÿo��3}.e„4V«•jÅ“W†ÍM”r{m­Ý¾#2ÓvûÈb~¯9×I¡ý@ñn“xzý©¼w0õÉï¬8¾"V'&fL¸fÞÌš‹M‘}Êý÷� þý¢}Ü%¬G?#ýjõ»;`€4à$¨ðjŒÉºÁ8^7¯‹‡ÿ @^ÿŤ•‡pY°|®`¬ï7ÄÿÁ` …pêÌù+7Ü�‚¯]D|Cþó?ÀÅW/_I -µÑ2¹óÀ{„ø öA|ȸ®4>ž ß©ýaÛ¶ËWž†ÿX�¾ÒèchÝ…¯NøßÍ,|¶Ët½—ÅÇû]›,‹LûðŸûŠ�ÅIÕÚÉÂ\¯Ò’˜ßgÑÀµ‘VÐ]àÿéÓZ+áÙÇy1€¯º €ìê­IèU„Ãâb ª³ ¶“½’§>äHÆhž'!"~�pþ⯼�t@îú©.ìŸ&°WPÕœ•ÀiB‹›£oúü -@˜q©´þ§0€„ÿÿ׿þëíÍŸû•3ã& -°¾:W¯Í12Ší€¨�4ŠÁ�„ÛÂa p€èŒ@\'uú¾‘ùñg]°bB Èïù\ G�igž#䊣& Ð8pŸ'Ž®DƒÔ¥bòõ=‘A=(.b_ÿ¾R>Re ¾Ž@@£˜Êlnn¬.ÎÕiðÈç««y8FÍæï~÷Ûß}®O‡&K÷/ÝPYÜâÎÝÞ¿ ÿg¿14  PX?½@¡ýʺÆø–

Ø?¿<:Ü�ßÛ@Kˆ¿ÛDô³ôxK ÌèÆ‚.cèÉGHmçËn‚Üè pþY -€lWû?†kß÷¦sþÌ×ϼvEÄÀA} -Àb7o\ëSìøw[òçÓÒ4 YÚˆ“å¦énØ3Lncºk¥�9Å¢ bÓYXWúvÙ �2N¸ŸÖ={e®Ýø?Àù·‘ÂUŽ„2òè¶=š ]½H ~§n§�fÎs¡?€ð€·^Љ¤š£€{ ¤s?.¹�Þ¨ Û‘ÿ!f§øfûu)46¨<Û¥hÛźmB%qŽq#c›GÄØë ¸=(å YBŽ}šá(à)� !X' -@ àßÿýóO>L€‡Áš‹ùÊâ\µ2•XÒ‹X~âóa®a‹à{­Ö¨Ñ`P�‚T¬® E©ÔEwäû„0r²|¡=÷&ªÄ»*}ž¾Z3Ñ"œŠâÓ�]Xh¥Éÿ™ËpfF‡¢ ¸°§Ë¢+Ц'‚è§ó@?ž�ù%Y�ÚKpßgÂïB°gè‡`Æ` -Ðíû§—%xñ-&éð —2"`¡£¯ÑÚŸNv! ó{L™÷¿E5ÞØŸ;sêÔ¹+7R Äàúµ ç_åUæµ›?þðþõkVP`"*‰ À®WX ðl”§Ò*,6ù$v³ ú¤×1Ž%øO ¸�l>'K º/)2µ½èʳ ÿù§¬ú –ÒÊŠÊ…¥^ä®—w“€T^r*ûõv;^rdüÂX\¬WårÔä%¯h=PÒqŸ:«Cî…ñ�qÁµ�Ë·7´#8Ž~üøÉùü„¡Ê‹)àû›ˆ¸QQŒ@�0\¼A¸Ï#FïÏ(⾨¼'OD؇-ÐÆ/|¢²õ,R†Ð„=„TŠòÖ e É€®ðèòp€| ¢V›ÙÜLÍ3oŠí4ÿ³ àÓ {(¥`à/P¿³õLC`žu @¿Pöð8Ø^½ºBºúæ Ïý(,;ã¸m¶ßU¦‰>�'%Œ|@~•½Ž9ì·×– -ËÎ2Û_¸ÐB«V¤SÛ“x´ôÁ3 Úî9'L@rò• -'Å`Ê^ À°/ÎðH àÉgZ@/tÕdÍîžMHJHN¢%ÊB. 30À‘š67ÅV›M¹=zê-Òö™±m»þÿ€€@[Jrÿ¹Ë�•oû>lÄÊøðÐÐÉ¡1…à€ñçš à9Fd¾¾ð øŸzàý3@ À‹{)�¾€g>¨¸´d÷P´­sBÇwðßÛˆøÔ­IÇ ðŸ­ùÙKc£kLöŸææaŽ¡D`¥_N1Ò¦]n£iÖÊÆ3ã?G -€Õ³ö«ŒÚSL#ÄÀ ôâ'Q+«©"Œ½g¤OÙ†%€å­Æ$ -@˜éÃyoìWÅ¿“µj“RFÝÐßÓ0j@LD/ÑWÄwd^i¤;Òësðß4ƒ!)sÞDc¹ÕC´€ôgü�aÝ7Fð�\FàŽû˜Íû׫>¿¬–à¾ß쎰=]ø��Ïõ›?úz2žP®öLlþ¹3¯•Mƒè0�¨€ëVŠ%/ÀÅsgμx¦W¸â\}• -A‰‰è0î @œeYQÎÕÓªûUœä�¶|„»µ_3¥Ø1Žùh+Uà£÷Š„É"_-)Á;‘cïàºv 1D²”Ú¦LdCz=µ ¬KI.|-šð_yù4óêè¦ÇÆ‹LHÀ|" ¾;€¤©AÚ÷; -€`×MQN±ïÁ ‰8|+-ý÷¹õFz+çßÐ)+ÂÿP\Ü™Wb6`¦cÖ/0K -�&}Ó/®è…±´t6 àçñ²ü¿Ë•ÅúÄððÈÄL#ubTpO f‡ ø?θð™erðÜÞú -“åõƒÎøÿÈBc!;ÉPçE -t©ñZÏxÂýÇtÀS;ˆ(#3³¥B@~íu%8ÿøáŠ„|˜�¹Y€P°_J§…úl1„�ª¿¹µµ±®oÙl0ªðŸ¨Çæ\(ÍæïÜðé¿‹ü_ÿþ—A€aÆÿ0ÝcÂþ§Ã`»ŒF÷P¾ùô^Ú°Ô¿W/€N À—1@�ÿOý 0Ç„÷¿G Àî^¨„5Ç›„ã—AvàYn¬vòZïps�Ïe–œÒ¹ååŸàØv Œ4ê(yͳߦ=°¯8h˜åJÀ6ÐWØYÀpX«ñjË@¢.[¦lZ“Û±'ÉjЕåyM•øõP:¾OW¶]ˆ(謪àzP¸ORÇwº+"’‘×&²z­ÊDÌlàæ €‘²ÕR¦Ì¾×5!o7çÚ1í¿¬�ÄaaBî¦.áø»Y¾ÜCÆ'b,`ýÈéhm$S¦ÓÌþ?~¼´©ñ»CnïwYüÝVÆèá~ã;?ôzM>ÿ�ôѵt”Ã5¿õ7¯…§mó&}ÏŸ;w±TŠ{)xö=o- â_?uæÂõ¤À -@Å:@F°w€€ñ"H�½„ò,t4­Ê�—Nà±GÒýد!yP -¬Nw›#égØgýê=)“%Ô÷"€ßÌ‚%þ§«›òŽ?µ¯è56J -e÷nÀÍŽl¸`(&õ üNÃñ+0ö¦c¢ä@ö°œqÑ è€‰Fàn㎇@ާÁ_rJª)¥TN÷)J«ëÞ¸xÞüÄ1¬TRÌØ�ÿ*QÆÛo('B$Mr´ ãCߎt&ÙÂ÷–×Ð&°í¹&‘…ÁnëÞ,Sš•³�1‡!í$u¨TªÕúŒ'#n®¬¬®¬¶õë×Ob]è¿éY?Àu–Htþ>°¶Æïj·“ìÆõ^°`H�oõ›<ÿݸñ£ä�ƒê° Àÿãâ<‘ÿFÉ+/_`æbÎ_(ÿh¯ À¤ümßKÈ�ãßó†$àëg.F`R®F €‡GüàÇ"7®\è#úÅËYᩚ²Î–M»>›q¤°â:î×Á,”ps—þwYüØ®3)‡@ÿ”qâ½øŸÒ´(ÔÉŽªŠ,Ó!Õø´Ü³€öCµÐ¥|½˜?Èè-T‹�êäjCHa€›qªÈ‹€·”Že:¥0º¢‘íñë8:A‘À -€êL?@09b”½©�JeÚ€‹(b½ -gC0³è0 !\t÷„±ûvYÂ’ýÐPeë(�g�ÿ°¹½µýóíô¶=x¸³:wòX¥2Q“o,Ð2€"ÜepÐÀw§þ‡D -à àáŽ#ýäœ €=4 vèýµ�è/ Ç—p=SðÔµdÇ×áß?áp_Ÿ_IIPG´§¼,*�À9ŒŠ@C€V<¯d"¼Ü€¦Máÿb³Ñ˜©Öfæš«[nâ$�ÍðÿiŠìjH·/î¥Í÷Ø·ù©øŸ°ØËñ³BKA¢€¡oˆ(­…òÏ7L#Hù>U àBHÀ P¹‹(ã¤@ J þ›Sê.s ¼0k|›®ìÍ„ƒÂ¨Ä­I÷ÀoÞÉë¾óýï//{ðû¼ý&-Þºš – e/€˜Ä?|ä¥Ö¸ûÉÉå£A]‡ï‡ ümÍ�/Æu³`{q–°À|2ñ‡pVkkßo _9ÒÊ]™x…NÒþß) ´ùV^[[Z“õ&ÕÅg¼Œ)âºÙV­Ö¬Õªžpzjzº:- -1Œ€ér¸F~G5‰ˆDåÓ4%2(”€Ô+Ñϳ‘çÛ¾§åd@Ì<0‹ÍýÐiÐ}sc‹3øÕoƒß<¿ ~kú©ï,}—Þ°¤ðïV¼Úmøý²´ -óP@ „ož.ñð½"ó‚èºÃ Þª3/†P�«G;ƒŠ‹ŠÜY[f”ßvkûífë#Ý -Ѻ­ĦùUª#øÊ4C%ž<9Î@@�úÜÜâãÐ `}}³½¡ú¶~æîõ‹èG'ýêvÜà&~³ƒ,�j¿…€¤‡ÿS€ëvþµÐiþ�5€úî�PRζr€+Ñ0ýéÐK¢À ¯åܸvñܹ3/œ¹pÍ@›D € -¼zãÖÿôÁ­n½Çt"WÝ À  ¨\Ìc;Y¨ÅÂÖÙ’uèƒqó9ì¨�_Yº¡˜a?NÇOðiÆß*m&‹L‚„ÿï�ôçL‰vY”eꃳ¬ jV8ÿ¶§4øßGùE6!ÿbHC|´Ä›�$eŸ&Ò'€!°Ù®}`4fWd¦ @+• ->wŠg¿l@ë×i�„-tbTýéwjHgûœ"àÅSJL×ÒmÅæ¢ §‡t£T·3•ѱ„'û6ÃSÇŒ]Ø®€_¹`ó³Ž}®×“�ÅÊЉ -ˆ,ÊS|𦞠€èÁ ìvÛ:ø|wk“‘‚¡ÆepPãµò‚Ó:!¯]gï[ ŸñÖÎŽròYÀ[W@î?º{ÿ¡N3ÿ$?•ÈÆ¬Â?ä�%¶t©*ÆÃŠ(%�~DÀÝ»n¾ OÓæÆ:#�,8S�`$€­‡ ü' -�ì3ùÿb{ááÿøÏ+Ýí�ºƒÆßŒ€.àäÀ‘;½Û­ËHÞ1ƒ¾Q?Ölþ§}FA6Ò¹BH/ê•þöJ£|`m{6ØQ]`Oß@øZщü£@Ç,¸ÛTš’ìRŒÇÚubg¡Dz€sp/¡à8 `ªE!²cN+‘¾Vb§˜ïïüùÔ�+UˆÎ9úÐ -@Ï@ªµ¶UyG¼q^5× 2ÕÚ­„ŽuR·•;ÉýÓ½×·ák×jõºêQ£Ð¨Áw½Ô‰Æ·¸aü;|KOˆF*ëˆ*ÕwÐMÅÿ'&˜XôƒŽ¿+y ÀT@úë7# Ÿ*Mdw-¬ùwGÛ�sÖÛv™�z·•½@”¢ `ÀHÐoé²@V -jjɶ>Ì|í¦’]û¡Oì¶BY»¬OP bÂú^8sŽ&€^€¹„þ¡|ðÁ�o}pëý‚\¼pÞ¡ Q³. ÐY‡õ&£&ñÑýRE¨×uãçsÈ$°6€š…Ä‚¤kÒŸäO~<¯8×k©ñ×Õš(7‡ ÿÍœ«2?*o¾´=z€¾E/7R»® -—ÝH‹£ › x€4  -è�ö°PÀøýµö™”A¡¼ z„wî�¾K8ñ¼|yùù6€·p -ÖÁ5nptaa��óÿ˜‘€h¶�íVª—Jë„ö´1›Ê îØo?ÿüÉݼ:4<" áí €.–6[Œ €7.÷ÈvxžƒØÁ–;ÛëY�øn/鞣4ÃãéÓS)ì¼[>¸Kl¾ÎlÊCßÔs¯]g<€Xìl�$¯d}ƒžÉ[n�$¡;1¢2s2ÞÚd.â»â2-ô0ÓÁÕÕ�–o¹|œÅEæ>mÔ&*µÅõ�‡�¦/üÛ„þ¶D¸=&aq÷Jü�¬ïĹv™½»ŽÕß]iTÇ_—·Z=ûÍñ ![£^kÝff¹A=‹ÒZß¾·½½%S~d\ù¦žøß=ûv+kdsr[WäKþ¤µñq›‰œ[‹xy«r:×›“ßmd�ù°ïæÍ¥ì­·<ÊŽõº<`�0o¿òÛµz>¿ÚjÕå;� 3���TF¢¡yˆÅð¡!~mÏ¶Š°ªZ«½ÕÕê8§8¹rÉ«Õo+Gò&»£ÃU­±#‡Žåvö[69®kíO?j}øa»Ýþõ=y³­ºþí�å×6å±ßn|ç£_Üù裵{赮 -#í·Û­{ù -B÷Ú‡­Fó£{Ûˆæ*R>pS¾³@Ðþï‚RxÜV{MûFs2k-¶tsD³¦}üÐÅ[«oNzÿOÚJº¶Öþø—ò¥¼µv�ÑõÉdû^û£;?»wgí_óïÎQ‘mU䤀ÖZëN^Ë?VýÛÛʶ¹so;ÜrUcé'K+ªÅmô­mU­Õ|SÇWšŒdlלdDë·òÅÉqÕ½ÕþØ-|Y}Ÿi·Tõ§ª©"­Ö½�îèõË;k¿lÖô¯p›Š´?F -Pí·óÆêÇÌðµ­ˆ•{®È»ªRkE/ªq3S!Szdþqë÷±’3î§gú=10¿p¯øÕ=$¼ö¡;�‰Ï`ØAÖÕ ‰Æiexè7¿Á?–À5<ߺu+pœ]ÀAœ|olí�ÿˆìR"àP@¯�°þÌ™÷P.\¾V(?. Õ¸ØE?úÉ@×v±õÀà! ?õ š^¦ûñüN /´Æõòû€f´fÞ¿,à?þ†ï±Ttáù«ý2ðÛ/’91¨YÚÞsI�^y’Ž;ŸLè(çœù€}ÆEa"?§t=¸åß n&À@‰ïBs�n¡˜ @ ‚'ÀºŠDÐ�0•®ËQh@àR·LX ñ(áïæŒNë¤A75nÛ à  À%­;–8€€Ìx&üïŠHÐ&€0>< €žÂoÏeÃ…å+L™#œÞ —ó-€ò -üÛëŒ#Êl{€± üþ�ÝMë@¼G�…ùn*pãAø€´rØXß"þv�®Ol‡�ûÖ–'*ߨ ÑîˆLü&x-åçÉ…j‰*Ac¥’ñú -"†t¹ð¿Ñ˜™˜¨T·?Ñ×}"Γ¾:öé§åPÀÝ`—øîË~£lºe‹–À'g’¥×™ 6›Pù1¿ý®° Õj -;WŒKaz`o².8×òfã¬ðP(ŸµÖ½µ�¶ï¬m ŽÖ”q¾µn¯ÖjÍõ@$™rÊ[èÊ„ÛÑÔ,Œ‘}ó�)ÓÓUÑ�×+dž«ÕQÆœ­y¸R9qdX í_èSl¸*RQ+Ïë1Sÿ·ëŒaWS¦Y=ke¯W§É^ÄâØaì'ŽŸ>R1þ+šDò_Üalý5fëÍ———–Ü>ÞZ*ZáiÅ^ûé�Ÿ}$ÀûÅw³vë{´œ·>Ì—óÛkÂÒí,¿·œSHeÌÍ.[µº”ÍgÊÈ‘ù t†¿Ó®qK" nA|H7†B…òÙ«ßÍ·Ô£¡zQöaK®5ù¨]k~èvWd¹u{íûËÛorß=¦a¦ÂUÝG"(·µe’+'绽Òh§¿ò[ú4U‘Àûü^ý섲! -aéOf/yPCáÿÔô˜þ,'ªu¾‡jè;òÿþè­ÉÖíÛ\¸t{Mõ»-òòázc ŒÝÀ„D2m�Œ¸ ìõñq½! úu7ôãþ¯ -ÿWWõƒÜÚà‡©�~§îéÖ‹0»ÿ� 5ÀÊ^<ö à—?™¶v™/ñ½‘à_9Æ0€›W ûQÀŸ€óç=` É;Ð�Ð6°?Ù:g€7ßøýê…3g¾~êÑ~"HH -À ¾£¼w#b()�À–?Å«³]?°oã;šŸ°áïÌÂøùMèd €ýb}`ó…üy’þ÷g–ÊŒ?¬×áùþÿQ+/2^`¼i¥/ À6ìèŸÚ€ É $×"Jˆ$6H8x `‚© § ˆHíß]öpke¦2>Q©LÀh(ô€¡Dæñ Ø„ݹ+ä|WíA0¸à¡¡ç‡�ýîÆ†€Màì™FAéÍu=a �ú² &å“­®oˆ_lè±c}agGð�WâS*¶3 Â鶸¹Þ^åj¥£�_d“YLy~¡-´u¡* ö7Eaô-`¦V­NÔó»�Dëë&ìO–æì lðÝ4øÇ-ö«à½ÆÐ¬Íw±è{–5ä‘W_?.€Nµ³IFº `κ·Ø�¯î‘éd—#óùBƒÃŒ–ÿöÙ€YAÑR¾NÊhYf<!ûyë'8²ÅŸ«Do‡²K¬kŒ/K\Yø”¶éVå˜q?Œg‡é}Xîºì0‹=ìĹ¡G“3y‰S¤¬§ŒÊ²‘—F9W8Åa3 Ù›aƒû,Ò¾/ð§âà1Æm4ÍÓsO'ÿåÎÏ~ö³O?Âfè<�QâefÖÿðÍüö²YÆèXµú:S¥z��Çß%3æ/,´'³ÉlžÎƒìÎ^ºDW4vbøÈñ±iŸ*ò³Ÿ}ôëö¤¿�²luÈxÉkù›íÛ­(®£R(‘ õ=ÒÍrüe<�‡læ¢öúåòÙÐÏI` ß ü÷Ç ÿùã±[èè5Ðzðá© -€ñ‹�DÜ?¯ ÑÓ§;†´`  o|€]í€ýeÂ~°½pþÿÿ¬'àü•P¢]àʈEBþË�oAb €«W._ ‡@²hòçÓ-ü_»áW üþz6¾cñò.–îÇ4C®€0Ž•;6ÃÂÿt(ÌeaÅ5¼uY—à+õrmT‹Þ€m¡lúÃB×:=X›zŠoçè—+ç©"MR@�$@ðŠûÆ�ô - U†DT"ÂôuïÈUŽS­Ž�Wü ˜©0ìQCÄ`ÈõàM°yeU‡›´%"&®´<Š(:âæz Ý}‘I†Â+zÒäX`g«½)ß<_\lé8Sà¦C!8{—fÈM=”ÐlU@Ó“–®,¶6”¯%JÑû-‹ZäteòDF­u·2P¾˜C¾Ò”×�ì_o¨özÜÍÔÀÿ™™·W·ˆNÔ3®×¡ùä7¿úÝ¿• -Àÿ'ݰDö¯øaoàO&i+£ræjã:–€À (�u½î~h©¹|l?Ãõ(?ÛïU=c½ä@/#X.¿�OÖÞͳem½Ê û2ÂãB™§õÁæžsc•±êÂȱ“Ó¸è_Ó œ><|DàxúË* TSë"‚}öÆÆ˜žŒyÉM ‡þé�V‡ÿÃää«úÌÉ2ý™€´ço™úÓ�]›àÝOú¯ÛËBi™È”€:Yk&kœ‰0 ¾é´¾ðì¥ÙYA^ç�7'—tçY½1ë;PŸoûìʸn¥)ƒLÇ¢;_‡@Ã!&ö/w~ú³�¶sWä]”�±ÐŸ¾ µl›{œÌƒ–ÄÌyjíÚ0~ *uýUÞYð=XXhågù‚®RÍfë—€ÿ©)}«Qþ>•él^L„þå§?ýègw¢"óMU$!»ÀL«EÏJ™òu5Êÿ’la� òÜ7,êßk®éŸ-¿\÷ÇÐ/(& !O¦ß -#nÐç1Ãt0£Ö K½ô/­%v[ ð�M3€ë|¹ý êe:BÌOí1Âû.ß?6 üÅ»³y噯C®^ïV.¾¦²JàÇ?¾õÁ�up­[ D�¡€ˆUdëròùo\»©W ;V|ÏÎwLcÉ ú2 Ö­A ¼¶ø Èâšÿ½9¦¿fZ}xþá›ÛŠ€€s_Ы„Ë_À~ñÁ¢Ù È Î?!}a èy(‚�æv¯C8È*‘Jþµ{Ð¥�@ç�ûð’…ÿ§uÌÁˆtÂ_Ṫ|è«V¢r´¸ €R•ˆ@ú†r„K¥ & -è˜(FÀÿëC7@áˆ+G� -€2Kïó¯œOز”Pa]€á,ð?bì» Ù|K~3mþÍF­R9) -01>1A²ˆ€Î]\oËOØ1¯Ñ,nPÀ2²»�z¥E‘Þt»—ë­kÞ†?°1×Ìš"cå@ÄAÇhÇEÏÄ0$~Xo‘ÍÞn6 V"]‹b ü…ÿº<Óõ‹ÍEí@¥®– £'Ú� -›�~gæèó7S«Õ&ªúLTÆgÍTñ´†.Û¾»« ݼÿãëÕy÷Zþ]Kf„¯U„²zôÖë߬£ 4ì ê‚öÚ¹¤—®#‰¾×vãÕü¿ê(X¤§½á?z»Ùòù|©½29Ck¾si‚rÐâ’ÐñÛÕº ¨åùfŽf•c•ú AôÐW€ê#ÃÇÒ_‰_öS9Àè”<>dØm–ãåü�ŒÈ÷¯W¹ ùþa)x®Ù²`‘ߦ À((D–¥ÊËiî®ýôgkw~¶ÖÜÍG;FB;mÕ²w¢�짉aX†Ïè:¶<›\ávŠrƒ`ú‚°ûã‰V扄ö0�®á#ѯŸž·ïùéGËß›pçôxÀòÒÒÒ²\÷¼ñV j\ü“Õggɨ´¼!Ѐ^ËæHëŠ,,ÿëÙV£Ö2k€ÌÎN‹ÐÃQ„Š¿Ïè”ΈP‘ŸþË�Ÿ-C HT¤`ÙwÓ°ªqüðU´ò=µbP€ "f˜S¿š\¿äÖºÀú¦œ‘{t6#¿D<$·Œ.8Dì6`l uÍЯ °tÑ.˜oÞú€aú}ÀV˜kü¿À@€øè ñ@c R�ú‹ ˆZÄ;­ƒœù:³¥€`—E4èvpùÊuÆ@xÿ†ràÂE‹@ÿE½”Jï(+<~Ð_øßy•æ�‚Kcä—`/ -‡u_ÓÏ6tfާÃϲHÇÒ@‰ÿÎK™z ºiú›— - ݤot KÝAVíu G©-%—Øß¹ô•7Æ@BóäýÀœ*âªÖ+§Oy$àCG= .€àå£hf#9ÊPçà¡È¥÷\áÙ³x%Æ0Hörj%9ê?–{¼Òá ºà -º<Ý:¸`h�]²] -ÀgŸ Î÷˜üóÅõUùÑz -¬f3#CÃ'OŠ0v8Ó‡ˆÔôÜr@ œÿÕEa¶#ò­ �Ö#¯b G|S>'Ÿ›\¨·vôÐÉWI°±ØÔµ`suf¢&ï\×ËšÙŠEø"Ç—Ï.ðf“ù 6E„ð‹‹M☙?ÅeÌ¡hªj[ŒhÖZ]£ðqÕZ°�1ª¾O]4‚pÆõ\4'‚ º¬u»«@Ø €Íkài»Û—¦¬à§Ž�T›Æ€À{ÿ,„ø)u2¿Õ€ÜÖÏ{Á?àG¯xÆãŸæD¢ÕZóèÉ>f$ôèø0€o{x9°rœf«££ÕJ6"`„–úŠeQÞé'¾—U”i­^û2´üž,|ñQÜV}Ýúð±áQg®C.´&`]vgÉ£ôÈÍ_[þSFÊaÿ¿JŸ�µù™ðn¹U[YÊçÞE�‡Éÿ¨å¢4æV‘SÓõiS¾¯pW¾tá„¿›ÏM¶V„û–Z|(ðÿ£læ“õ ÷«B6E>|�;(?û—µ;y{Ò#ìQ* ȳ‰Fž½• ì5ý9[ ï¤ÙR£Fiü­çêßá�ùe-û8¯Ý�³è=+0«¯356:6VñŸg´ªÄªÈÒŸ­Ýù?ÖÖ>€?A¡ ÿTä{ÙYäÕC7•Òô%|/Uaä»Éb€‰q~x ÑoQnÚÉÄæ×õ£'Fd‹H8¡¼Üâíþ?yô„†³ÝfÔdî€÷Y*î(óNŸ¥‹úM(,¾u+F"Ÿ9õµÅ§TËÿ2€Âù/Ð3¸§·»òÖŸÿú×+ç®\ï}+?ÒÒ\C0Q…½÷Á±ðÞuÂE; -À•ºÌ„A‘ûÅ0ž+£Ç -àc,âS,¹A_†Å?Æw¶ “`Ú‹ØŽŸóÌz‚ÌWËüg+×*gøË‚óiCŸ¸Œ£ò”‹7 -€1WhË2}|H@fõ@i öKøoà|:ÜNh{*´€PävGJLS¼›þþnôÇ”Êíþ)t� )Û )ã•зf:@¥rÙÊ»P PàO´Ð¨‡½F Ö/™6(È|Àœ€&zèŠ!ŽX¼¸ä�}kàR*lOàóÖj¿­ÈÀ‹–_¼µ±R7b8�ap€gl€–àß­ëáþËÓÀË÷ð�Bð á´guNž†h‚¶PVhÏwaM«�P‡4›òèE Ö×7·ÖéµÓÉt1é� -rK•"*rÿ£Ä¹7u=b€Îд±±{XÔyUÑbbÜà/ø?yr¼±¢ºm¬·V›ò}!賄ÿ¥�ðß÷ÒÈoþo¶o{a€P¯׫•#ò²ñ¾O!Æë`CÞ9h /'쟛˾ø$ÓÓÛNb£žµg›+vöÂåó: Šx¯……ùüN«ÖhËlìøúÉ ø·Ž McuP4sÕC®såXe6ðßZ=1‚þg¡¿ìDµ.ÂU´ú'›Jøoa^™¯©œ8>|äÈða‡hy¤1÷ú†|Ç6Eä6�L®/&à½sgmmy{²•7=¸Ýò�'PoÕQ3’úóùŽ¡8œi6d(BKnDøÝÞÝ´_*ë{Z.gïä°v1ç<Ú RÄò¿ÜùéÚ�…öDëÝe/ê¥ï-/å5Q  çÉ=xƒlV™…��¬53¹š¿k"‚´ƒ©ßû¨‘m¯5÷øÛ飓ß°ÿ_© ëÛ‘V_J¤Š´&ÛÑ"’*Â-É^me‰VèÖÖSøIhó¢V|çþ42úøðÓœËÄ‚‰Ïñ�_Bm!ð1Ä'îÿ]&êüÓ\Ö#ì2`l õ*† =Kc½ÛÒE»LNø�›·~|óڕ׺€pñŽúµ«{Æ0\Ÿ}~#Áb,`eβ\[øú×OAnЍtbTò9ä}~ýæÿè€÷o˜\½r™9Š´�@pñíý+—_@ŽæŸ`hOÛÞ/­<c æ}ö"NeÒEÄÓŽu\ú§˜a_ Òw£ך¦y ºÏ8ߥÄßžšuÁ01ÂÛx÷|” -€.qfÀkyÝé—OŸ÷\º>%¤tm(ã ý�Qß ÿô•9ìórÀü´±ßK09QŒMºüó=Ód0ÆHÔˆ×a�¤“dž¿¹†ÖT³+éH[2çã? -¬ çý -#`a�F�J �U0á˜-À¿ÿ»pr—­¯¯¬nº«ÿæzs¦2<¢gŃՀ-Ý�íiÏ×CcS@Nì�Z”åúgâ—f…PÊc]1€êȱJÀ ?! -p„Þÿ3C�¬Öôš'´E¶b5€1ßµRyI¹Žh+òÔ'ðÿÍV‹êúK½“/, ³ -äå+ЏŽò¼-ðqm]¨;?Oë D@Þ›iü$3Õðl€*½h�)‹²@·b¥‘ŸÕ}åŒÈ¨ŽëßYnÕ)"!$%�°1–±á{HEüwqE~¹¶¶°æÁ�Eº»òÇ™å7oOè�'ò•åRG¨Gi:Ñj.6ŠŠ|‡+²ü�láNÖúEÞÎêÛ©Ö³ñMøŸ�ß@Ð*:BTäg­µóö¤èBSdÑ>Ý¢C-OäN稃,ƒÆV½l22�¯TÇgª5Þnæè·Ì¨ßúUlnmë'à&â¬Ë!�Ó,ƒáÿ©À -€0£PÀ‹�Ý–.d7oÞúÏ€³MX+"pÑ#î; ÛL}ßøŸÖ€s_§=™ÉD`ZÊËåiä¿qóÇŽøÀÚ!Téo£­ÿƵ.Tgµöãå�âS,�›/ÁCà]??üL;›€M¼‹}æ_y�‘�€˜Ít×GC–ggÞÛzù„MÅø‘Ø{ÿõ=ª_zyÁ*hëw¼l… #-e$ À:`øÄ}Òh -޽°Ø -€Þ"B~ôyó”…ª ÐàÆ _�QFÄzÁ -ÀiÎê`×l€ÑÕÿ¼ Š"‹Ã”¯å÷H¬»DÌ1búzþŠÀèOžî(È'A̳,À©c@×_þàòå×^{íÜåüù_üÍ~ðç÷ƒ¿þë@»cD¡£üÿ�­õÕ9+ç*\�_0¬7à«}áõÖ]�ÍCSáuDïks•¦üÅÕMúÓˆèE¤Ã£@�³¯ ¶îÓ·?ž3,H%ïc}E£Ñ\!�î—ê½³±Ø¨ÍÀAT¥Åu”J•G"4Ë�û[+s3Mnm鑿ú"5Ì1þ_UT¦ZÕym�2U`€õ4t)¶ø û‰”V9þÒKÃåëøq}¸‰29ÙØaAâ¡CÇ@G4L¤<±>ÌÁætz©y¶é™gŒþþ ð¢âõ`_Ì—noÏ4îÉ�–O—‹A�ÁlC€"—XT ZýSƒåXu|t¬2:* brB/ÛááCG}ÅHý À -ýÔjÌ['z¡| ráuå¤XEµrh¸¢›pfàòÂpð= Æv©Q'ä�k×~ä®üåÛxž6Ó¶÷K+ÏÆÁt -ÐûÂD§ÉtdB0AL!ÅÇ2Þ½–.¦Õâ�Œmý…R^10@¼"ƒÌMâåãøØðÈþÎM› 3yêåCÀ0¸YP€ò#èíR”¶KÁ×5oà‡»àÅh  rTz|qc¿û°OqZ�ÏÇ -@8æ`¼O™:A¥ Ö�肹FÄèpÙ €«~²ƒ–Br$€nàtÄúÛNSsßÏŽðMZŸg¨à ûhXúO÷ç)ûë¿ü�°þòÿú——/_ÖÖk¯ýù9­~ð7?ø«üoõ×ý× íºLpJû}éÓ3•qú -žìñoˆìlm¬Îá=4Á_†ýÕ�ÿÉ“'Ÿiùφ‡ï®ÎÕ™edcëÁcš ëœ>JÂÓãÉ£ûíÅl®ÑÈV·|-cû?ñû3}öèîöV+Ìøða1V/O™G[+µqÚff&f7•?‡žDѶWˆCh.2nñý-ÈÌÆV{}Ý€n ôi˜[YÝä ·#²’8Ên{j wÙ ßì -@÷¹¯DãuØÛZÅNŸ ó ÖS¸TýûaÇŽ¢`â^ã[™Ð} œ"üÌÔ»k�ö¼%x»%èJ€£5"x2{)›]ž��®¢„ €‡>jç9€@ÅÞ -€x -õ}*úËË�$ á®x9»  *j!#Ãêð±áê Ø9úV” -@~G€*µ�~ayùmàj2&±[¾½vgyy!€°Œ/+΀ݞÑ×�¥$ÙhÅÌFØï€wSP\ž¿Úl5|�êrüŸØ¦ù\Y·t3‹R‘û×ÌDŠ[ ìêàŸ©"ù»8Þ²w¡ ü-Tá®`8Ù³dÛVVÄe‚óì›5%àd¾ðÑ\ƒ >\¬1Z„þbÔÑ`¶>e @·¯B S1Ud¡•Å,oHž¿¹­Ü; $,ýW‰XT2ü ÿ ×y@€ÅõõUúßÐÀo\ýzbä͇9ð¾GØ~H$¿ÓþW Öë 0poø–ð@~¸� Íð< -±ûWÕ?¢…?–,´¸ræÔ¹3§y2€«p ¡¼>×ß¿E7@1ҿϰ¾|åF’ý{Q=öÒ¶­ >V$ôno¾˜*€P¸ÿ: ?��4¥±écñ&(Oâx…y[ íŸJ‡ éâ"ÇûãÝÅìÞ:Qd©RJ^¯PŒþಶŒ¼l ù6.Â8sL^øéWÎGºð? ˜�"€\„÷¢ ~Rh¢“À_¬àø8å¥u†Rx1â]6 -@>¾J´ rD€ø��(JfÀw„w)i—�ЊÅ@ð——åÝcþÚŸÿÅ’ýÝÿýÿöŸþü¯ÿ¢?øÁ_ÇI¥Ñùs+€¿tøn·E›ìg³%ÆO@ú§¯�ñ_O†Íõ¹™ñjµÑ\ßbj†fÁÏŸüöÉo™LàáÝuyéõúÊÆw²×Æüü·Ÿ}ö[6Ÿ<Ü\$von}KW3ü0ò Ê•ÉoµýäÁÖ¢üÞZcýÁc²eA Úûx+—?37W›¨Ì¬n=&9�!}•÷㇛+µŠ¨ÁÊÆÖý󱟀BúH°¸¸¾ÕÑW•«3 -í6ÚIöÀÿù_;]øÏö.èÔ��’úñJÕýè“ù1Í:<8\YBµÚ®Ÿm¬É7J¶€ Ï.üz&û8_Òeqõ¬-zÈ2muwÚÓM3i8)88�à`}wÕÛþ:N6ò¹ÌÖecrYM,"®àø¨Àù¦«l�Æ›¼Zw Zà«*íúLªgQC†/¾¼|ûûwH¯æ!ù­zÞ-äk�ÖÚÂì4)3ÿ@'ã)AO÷ÓŽpÞo¾›g“gk[ÚçóµÖÙv+ÿž›úW\âî}0‚‚�DE–ÄÖtl<1™jb۞ɩ9‡¸Õ^ÜeÊ8ú#ÆŸåÝÆ¤–�ɳ3Yƒz(ÁGÙ8ÁËí¬Ñ¶ÂÃÕõúb†î«þLDTô—¦<”ˆïôá;ËÙ䉩ˆ�«ŽùíÆ½–¾‹u*¢”N ”° RÏŽ333 ðÅOÛÑÀ„íl€»³±µ)bŒè¦Ÿ‡ Ìàqÿá}Æ|, -`.ÞoÀØ@³à'x—«–.ÚeÖè…¹�&o02_¯ `Ðe×™ÅïªQ7zçýˆM(çÎ\¸pæ�Ç.€Y¸Èüƒ¥óR$ä@[�q…ç7}Ã[P ·ì ˜°¥ß,Ä 0O:¼�¸cqÄѿʞJíÄX,Y§¿�ξxÊ™ñ¦9€ÜȶThÃz¼|TWF!©.Z -Áf%étì,@_#pŸÐÂo/ºPBus/€„ãnïOê?î?^¹}tŸÆ“ ˆ t¦ñ€³”�ª‡ðU\ýÓV”Ü�.´P„ÚºŽË‚‹h¥ zÐ °[Ы³ Yðý  <á¶ÿ7 …HÀßüÝßý^¼ì//ãåË^Kàòkñöç?Ð Q€.ð—VÄþ毒ðƒËéÇÛ1¦Õ `lý�ÅFµ:·¸½í˜2\Oÿ[i -9jõfk ÷ø5Æ?ùÝç¿ýíç¿}òäÁF£*G{qã®Nú:ó;�ŠdŸ=¸¿Ù¬ÏÌTçVw>ô®çÁr½l.ÎÍÔªsºþ·‚v½ ÿbŸ?ÙZž˜˜« -«÷?Óy‘}œN¦ÍʼnÊD­¡ÂÝ8€Ñ]�‡�æJkuqq±¹ºN£½›˜zȳí¶ûÝ -@² ï?€¿‹7u¡ HÁR¢ßA*ñëØñù‚Òé:=õ8 (“#=./]õt«>ÂÃ\€ ”óòLðdžñº• ³ñÓ£Á›ÜÂôµ�x€Ã‡‰ýë0£FXËñ|ó‚|A“Á`x†! -0@–·&=’ü]-A»ù…ù»�üÎB¦a - {#Eð@‰ç쉼ª ›+µ³µ–'æþOäky'¯mCœ1å¾  T‹Š(eK®·Š¶ã­Ää/²Â²]k//o¹u;ûN}Ƹ›"E)hhÈùÏšÍÉo5¿Q|”ŸÍxxi;ol#ñÐ\¼í’þdSD“B€ø¨Êkÿº<Ÿ—Ñ›[¦ÊçÛ ‰Xnµ@þ’)¾S¨Fú2ÿ‰ˆD�©Ëÿ^\YÉWÖ[ÓIŒøgb�ûÌÄä�<ÀÇhÕÿ -œ`×ο|”?»žži.€/¨œØzLþ"à•g)×®\ãl—]½BŸ0¿;­“7~óÚE´þs_…¼W*×® =P  €€Þ¿e^Žq€˜“àýƒ[ >öcàŸÅ�¿zŽRøh3º^�Ñ3&c€? RÉb6.ë… ¬t"Ly¼{)KØ_Pò/ r=ôÒ�å†óS7@£n±b� -€,2 Î c,Ða/$ÿŸeR䨓·½ñäø‡Àõ%‡H]Ðõ�~RÑEtðå—©1¤ €ÖþˆÐ+ň˜ÔP §(_+"�èX�@ @¡ð; -À„ÿ÷(ç_ù›¿þ›¿ûOxó¼ÿâ +€Ë.tüÿßþâ/’ðWèÿ²üàµà¯.ÿÀâzÇÄòC?û»Ûù\m¦¹¾³C»ú\3úþéù°¾Ø¨ñü˜[g:€ažq„�æOî¯ÎÕª3�|óþãl¡?ÿü±ÜýÏî¯/ÎÔkõFkç!òn¼�¨‚ÜüÇw7›s3õ‰¹Ö}]§pˆ(•ÝlT+µÕ]ªP-ŸöOMõéÙY”Àðñ±*B„‡„ˆäKÍÉü]Æ#PET´L«Ö›ž$Ð�‰˜†üïcÉøËG€s¤€ö†¾›v6®›F2xL€¹€ÿ@d ïL´ž?Qã_T¸!ÿøýDý!”1Âî=cè%ׯ_‘û%eÞk�Œ+ׯœÿê×ÏC‚@qgÿª'\#D‘… z„?ëÕ±žc_L†Ž¿7¸× Ͻâ|aÆT’ÉÜ9\&U‚ö¸Ä—XâîsB8|êe§qb[dg&4 8€!{ŒÓ.ŒË€»ÀW’tw,VZ²ÐUQ ]ˆšÀ›“§ÏÓ‡.¾•üú ²N Wˈm„ý�ùV´yÚl€S2¥#—N/Ñ -8‚ê§kÌ5\¦’œ/çUI -ÀËLØP0ÌÆ·­î‡�´ñ7ó7�šÿàåv~Ùk?øóùׄîAö«üà í’!î‰ç?¼¿uk]ž~}eëÁ£»+ z ›ˆ¬3­MUúêŽËl@a c@ð.êáPo?4þ |ˆM z¼÷WŒ`qÊÇWZÆ`?„ ¼ø«ß„r@ÿßj ú»­9À(šÄ`­ÖüíÞïtFç��æ?òÄøfÀŸ€-�$²4ÎGA�þ¤¤Áp²ŠÌ¿„‡œú•¨äEÚf),ºÚ™é-@»°¨>Ð oŒŒ°>ìK#×Oåi­ëÍœ‡5¬þ¡–3K˜¯âSù:8â ½4 -àˆÀÀ B$qX¥°|Îs%I€¯›ðûåî¦Ñ#q’êÏ×Á¿¤»÷FbÛ�Â�Àöv ð§Xv -€NœÃ°pÄ€LÆ€þ¿-À\<&UÀO…ø¡ú  ÷‡/¾üå¯ÜýÿÛÝø¿úÙGk¼^2´~Ü0̃üL ²²²öñßý2þñ×ÿH@4 ºR*›àC ƒä£S_¸Y©×î¬Ì”wÿîW¿þ˜Æ À…ùr©ú-ü˜'Høÿ1@„ãG€A˜qP ú2Ó ì¸é(ðߘ¾ j EXÅnBVûÖ%‘ œú׎‘ã4ˆp;€5¥{F¼ÀúuX uB§ü%Idú k%—ÊÍ2]ç�g&oEç‚?ð�\87�‚™ŠV%žÚ äŸÊr�ž,   €‰�  ”TÛ¦ ­tÔ#[‚³ÞRÈNç -(ÛÌ«õ^&pÉãD–¿iÜö<ŽÎïÐÅóúÜ®–‡Yu~©úqÿ û¨žÙðϨº¥žTpe¬tôGP‘( -”gá¥Êë‘Ó|L«Þ{0‚ÒçKÅ„?F^w¾‡èW*:9¤#ÙJy·ZËûõê•r­ßïg­hÉîä��Àß]>Ë—è]3,U„÷©AòP=²˜ ¯UP9пA• -3}$ŠR66f -;³tS„©V_[ûV�(Ý·a4ê~ÏØõó¿ûùOÙÐGÿ*6ÿŸ,ž'ˆ €ñ� Ñö(¦Œˆñ¿€ü¡Ä}!$À^€À1 -à¹FÄ8�HÝèQަiwL0¼óðýwn<7{ÝÖD$Ê p\Ë¡ÀËï$ðd1Â#À;Ÿ¡G~ Èöý�“tœ¦N�Ëà -ë�ýÔçß“”ì�˜ýãR¥Q¾&g€8a©Ó�üç œi©Õ—¿dÐÖU´IB¹Qª�€øòDøHXy‹à¨ê¨|.Pâd7( ›â½¥‚ - ¹G?ƒ #>){X„ÐÜd&l Nq…kCÑ0Bzµ Å= -³ø2hÀg= -à˜ÀPL�¸Ã¡Àz¿-A -üïvÛîØim''€Â°s‚ µÃ@N·tØiu¡õÃÏÀðS€ò逕Òàˆàœl°ÿ@©‡€ €®ü?G-7WòŸ†@ù:0þ§÷æ§o®ÔëUa÷ïDŽYÊ…à§O¶xPs‚ûcòË_$ø8Œ ð'þMNM�G‡£;+æÀã}¸ ë�ç@\KaAc–$83s~ò¬3a_¢ëÏž=+¸·ºïÎv&Ûyæì”£íJtÔ„�x7S)Åp9É…Ôå?9óÂä&í5 Ñ'–O)J¬bÐýu_h€)Áiø_Í{û@þÆ]pmƒ¹€ª¤¬z)à]ßÜê Eû€Ä¶¶þ�ÈwY_ºá.ÝôÐ7=)èF¿èaÈêó‡y^½ò -³,+»ÞAí^S ÛØê/åÌ@¨ô¶¦×T÷ Þ)ßÉ%Œ=ìëü‡sä ë°w©óîÒú¡/qú!òÒO€¥€áz‚låÕò¡púÊ�zí#èE¯·Æ}oÔ UoÕVWoß®­Þ®ÔV¹©KT±TQ™d¿!¸Ç)b7fG .ÙÖþ>5éß-g››@½Ž›L¸µõ`2!AüÔdeœ{ëu1€ú½Ý� +�€…ÿžÒ ¢ìùAbÊ †ðŽ à˜'O’4 !%€$áɉrº€.€¿ú³‡oÝXX4ß�òïa×c2 º ÆÇ…A£à-yçüNS�‡ßçÆÂWÞ±¼�àÅ“,B~‰0`‚ûQ1 5þB -Ø¡>©À›§”€<}Àþ1ð—ЪZÏÁv£¨[ZÂ1öûñðEØK ,£�K—ò/|í]Hì1}–q RН TBe *;—”ã—ÝM>�ZcmoyƒþqªåŒ’ àÝöÀ@«ÑQ$ˆ£÷߃±¤Bu1:˜À§¼·œè ßc}3 - |H„iÔÀào €¾†ÀžÔzéóÒûwš'Zöþ€€&ú¾Ï�ä`е<Þ0JôþÀ‰O—ü:,€üÀÀéS-?ÿÛoÙðQAþñ×hÿ§[þG¼ À €êÊLiWùë”H‡ÉÁÐPzj @AxNúH‚€BŒú^ÅøÿŸô½Ÿ"3¥e¿t üÂÌ‹ôŒ£vŸ×‹øâÌ¥‹øÍሒ)ù”ŽŸ?_F+‰ýê&ÏL2í�8…GïÁ(Ο¿¸Lláó=Å ~ö�éôìëÒ©KN5uqêüÙó"—ðØ/ÕlQ&]IåÍ{ž~åžøˆÁûi |Dß³ÎíG<¦`aݵ" c"­9ì÷ò|ÿQÿÑáa¿/|Þg¾ü|_pœçýÏ?{ôè“|_‹¾ô«ÿ0ÏóO>éõûŸ}Ö×…uý‰}²•-ß^¾…÷¿»¢‹…³(˵*Óä�èyþÃGÿ/©ÜKÕ<¯×s=<Ìò�+â,ûüѣòŠUªÃüÓCÖߢ"L©l9P=éXÿp+S²¬üC–ª®jÒûüp?ß?¨‰�ô>íö¶^Sþýþ'Ù#ÝS3x†ç¼oäÍwû�>ÿ¸_ž¯ê?k7»{HE²úî§ÂðüÓƒÏúkVäûL.¬ä äR3çg–÷U�G:qøHÙ©Þq%µ×?<8øûƒž*T}¥¶ß?쪊ˆV¨"ýüQÿË?TE¢-©ÿXÊú‡ ®×Ú®¾ pÈ-{Hþîg„àø™ÇÈ8 €–„€œ$�Ò'Èw™ �7ø˜` bFÄø’Å\ à[¤v' À�'Œxëíw¾—ð!Gû¤ýqØ¿‡³Áuœ‡€·Ðó�,áÀt@a 6Z6|fDH$þØî�øX:á&{²9Œý ýǰ‰f ¨—Í?a3´@_c¿Ä$€ÿOÃü@OJ©€ó ˜ Dp6þ¾Äu´híÌ´I5 -E>[ÞˆŸÀqÜ``¾çlø„@Èî52àÄXÉÞ£ÖXFGý €V¢pç¢sÅ(€ �ŒQJ¬ò³Ø¾uÑÊgÿ€‰ŽXFö¨±šæË#£¬÷€ëíÐÿà àÈߨ~Œ÷ØþÓdè`Wx’à~«Ÿ�àpÄ ²rçh@²˜è2!0€¿ûh�9N²¤.€{… º~ýë´à¨@²$a¨Ô¿U)Í—m  ðèP~jÄêþ ¢¿J (Àø8À@~ÀŸ�iGX¿Á†ÇÅà/ˆŽ8@âÅ3gÎ�#Æòˆ<;©„†aqo=k –LÏLŸ›.ÍèܳÓb„hLç-ÏŠp4À6}ì -d)è“g•¿ žߟ(6FðÃ[A÷F!¶ -1(htÛr%¤ºV½S]©ºC^ iÓãLÝÄêÎ�•;åò�òÊ+ßà\ù%#¶tµR¹S½såêJy~fòœZH2Çð6b>k¹4O?¿³RÖd1÷ï«K¯¼âL˜ÔjåÞeh³rg®æR´Oze~‡Š0]QªÈR9*é:}M N8xseå%å_ž[RNœ÷b°º©+]…¨H…øGKWªUí°O5ôåÔ.ç -gH|7µdJ¥És_™ÐŸË´îHU};ªmµ<ç»qƒ :~çΜšªÈ.É�t'Ú"úR¹ì¿¶1tzb˜ -€)3éÈQÿô£¿%>ÆONH�¿#×Ï=0ðK<õ¿žÿˆ'O’i€p!,~ùŸ& þGõÓ÷HWxnázê,o½ ïRiü£Ÿp'@:0.†û÷ÿøÁ�¯.<(FÇn¼uÔÐ`„€Î¼8J ^@ýQ}ÿèyÉó0Äœ¦ù#©QmžmÆ×—ÓñTt,-‡è>‘¶.K›!Içÿ@,014X -ø�¼�þªW*�"S6×?$,üüº ßHaPzJÔ~ -ûõ¡€ ØX¤Œ Á¿Bäà :g{;…àøš¿Õr¡»h€Ïàä £žÚ €#ú‡°¡,ÿÃàH€¾Ã{þ'õÿ¿Äö„êf#€`X¶�ÿ÷ߨI€ÖЀ8Œ[îï´·»…�·8rïé>aÎc(ŸbFcX+|F,ÊáÿµÜ,ç'û¢tÖc™$².®VË¥ùs3•ôçXæW©�ÄöÄË8H0h¡ÛÒaœMâÊñ^žëïGÚoµ¾«‚ô‡áxJu)ÃŽ:öµD ]YѹÚîüGu!´±ÞiëÔA’¨V­Õës÷T†Žp/µŒ¨ƒöÄsE2*’c´Ð}ºƒ,Ï™þ=|w©¾˜›V¬KDXžŸ¿0-n£'ýÌäL©¬&SM×êù•~F¢ÄwT‘*}ªµ¹CMëßb¢EÝSeÔjÒð+Ž»UËó�õ pS€p]\æ!¾6ä ˜�š„ÑüÓý/ÀëåÀâ??åÆ0y’$^á(rB€ØIë#bü7ä� Gìðð�ÀÂu¢†¼€ÓGŒçh -�Œ‹ À{ï>¸~9ùÄ‘·Ðó@à�°0xÀÌÿ… ÎHþ1¤[Æ�?ö†ûÃ#_À X1öŸ¦ù� ?¨îÆ— »ëcŽ#¿Á߇XŒHôØKâû{¿÷" àT%ýÝ/ý®ncàà€aX\\€n÷þÐÄÛ``€ _Èp¿ÑÝÙ ýÄó¨õ  à”Q�µüéõ:ÆX$FòÍÌ—Ø�Ÿ6càÀôô³Ï:¡v}dþ³ZMOŸŸœ~vúÙÎMêÀ Ó¾"˜˜|vr’…K¥sÓaøÊääDx œ6,ÿôÑÿóˆ³}vzò¼j3é@‚Ó_93yæ_�Q¡|�Ò—l׬ó6gƒ‡¶Ík-8ÂlŸíæ»Lüa–ß©÷sFª“\H‡Ý»×§KÛ–ò�ìÖÄí�U&;è¯ÖªŒ ¸{7Ë÷×ßïõ{?É«JÚë˜oéš>ÎÙ–²Ùʳ*3(áW·«¼¡k™Š¦"�Jüp7»nK*mšÂX)¸JUÖvNïDþ(«>:èÓ? ÙäÝ¡2Éû=Uä'YU•ØßßÜbü_ŸH‘g½¬ìvPž:‚¡ôsÝPéþ"Ô´3¥Š3¬)¯Ý+§–ØÝÜü02èE'ƒ».z‡õÊ?özŸ(‰.ÑBçv3%9ä²<�.€™ókhí�»3ûãå ÔÎψ•C-C¨ÿË_iñkôýÏœ FÕ¡ ”÷w¥I'g±¤þé=:X“ÿÅåñ±8°Àâ‚uþ� ` �ûn¾ýàí‘Q$zŒ@bfªT€Žxü�P^E¾õðÏ ßZ>|ûE1€®_ÇáYþ óøtÒå ¨?ªï°?B|:¥pN eˆýÆt|(©5->¸ "  /¥óS�œ,J—¶,Êg ðkðU&ýï°¸°ôãÒ¢<ç“$é¼" -9ý·cà |$@tæÇwaéˆÀëd@·‡ÎÁ2J9:zÊš |W6ƒ5›E=,”qÂ(÷ÔpÜ @ ð2>/z$’,CŸ@æ3¢5¸ÅQ €äúïÝþ�,­`££|a8âà�€'û´l%ÐÑí…Vcgo§ÓîšIØÓ@¡Ñi(ƒm•F&:¼=n(|݉<Éàg[{ºQt ü‡‹Â@*P L>œÿM|�Ó,PÛ -øO’±0øŸÿôRù¥Jå¥ôl >Õ»•[àùÌ”ñ©KÞ,Õ–‰£w[/ûReµtkY¶N0 Zifš!m8¶Õt™6nW^b�qü¸†k¹ø‚’]"0�€D¬‡¤âú'¥XiU’1â‘LMNÍLMáéïžùgðI`ã‹Ëyg¼|qæ¢*ADþKË3“çΩÆ«™ÉgTÌyœÏx1"-R_H¥1KO¶ãÜšîQàWH•ð÷Yy¤dN_û·×²Í¼×ÛÊÖ…—ÒjW+• Gÿ¥!ˆÀØ9e±ñ.ýëÂðÞÁÿ³'üqúKÎ�–LÀ¾y1dÐF}Š� �¢“H�f®ÿúAŒÿÃË“Ððq¾ÿ΃ëÂÛá-ÐÏâÆâsƒ@@':HÆâD–§û ð~vá»LøãDöx‹Î¤èÀ€Àƒwß)âG�~éIbïøùt,�øóÔ"Gˆ{JÍ?„ †x0X(‹8–ÒHÃÿyvH0 Ë—ðî·;Vù(Ø? ƒgíl×Êu³8_ƒn¢þ z�X -qŠ? �¾`X_á{Pɘ ùàÿ§ ` -K>¨÷î K(€OùZrÉ(",ºÎ\ÃeŽYŽû|�0�〯ÌûÐs$¥yG|˜YðºPü!�½ûð‹�Z °tDf€C=ÆÐÞîjÝi,´M:]�}€ÆŽ¸†2ÂáÐñaÛ’Fwqa� ;‹Û-’døõ“FŒYž8 -`<‹°Ü©¯UÊŒøUô:œlx€S_gNÑ pÌÀzbÿtâüãâøëÓŽ‹SššòìuáðW*9Šî­[·ˆÕGÒÛ• Ó¥ùôþA×ãöqäK¿�L]ºD̦¬Ç�QÈ_²r–Ñ„Ï0NÁãÿ£ @ îÏ·^Áà«k ûŒ»ÞbÒ,邨rõCB[qq½—ž{`Xž¬¬Þ¾mo9]}J Ã[5¡.®úÙÖOò;¹UkPàM—ÖÖw++ABŠÒ]‘¨Ý æ¯Öæ_͵^ß…ýà8Ð»Õ Ø¸ÓsÔb_”B+Ç@GB çÿ{V=Ü`ô¡ŽŽU¤–-¹B�yI÷¢/`j&fiˆÎþ51‘tY”¿•åö{=…Žõ!ŒKŒTðg@‚¾<*|ô¸VýV}�XÀ»Ìœô£þG?ò@û€ÿø3†¢øÓ  ²SÀ¸ ‰Àƒ˜ è 0`` F$Áqy|,ƒPÀo¿û`h�ØÀ@}�Ò¨bÇÞMe<`ø„ ¹÷™èØ‹�ë×7°¼ï3�áèöXOû| -)@” -¤Ø€’¹9gL )O­ù#¾l†y<µ½IØÂ�‰¡Hrì¬;2âIöûs2�  ¨±úQû¨œ7m ¾|cc0 -@é(Kê»UlN -?¯ œ�UaÐjdVYWa:�½H9�G@~ÂÁú×mà”—ã€}ô9êð´£,_×-ü®nSI €Á¾Ýz³e0d8J_GßÞi,`|XÁ|8f8Õ`§‹  m€Öt`i(,�¡Ðh‹H´·E&t\TAg¨êÂbÅ“}ž8 - °è ~èàH€#>î%8ÉþŸj@—ÇIŸ$¿<†ÿ ü“àŸ˜óÂFC™ÑA½tõ?ó̲Þé—ˆY·¼|KI Ú úk/%.MOk!0=·ã¨Ä93êýÑGóµ�ì"c´15sQW&¦=Ø’ASð€@åBž9ƒçžPyæ™bæ¿/,gü/zìCÔSìcb¯è+âÏL ÆŒÂÁõMú�s…qk‰ Ð�Wï–+¶Ô¥ÿ8"`ËÖ÷Ó·7VWk·˜ï¤v_@¡„£moõ²;�t•6‰Í—¢ö[–?Ü£S¼ØZó¤Á’p9\Ñ™y*ècÂná?ê´*Å ŒàkžWþk¯W¯sA1„�^�pÿÄpÅX)KŸÎn&S„èÊ/‰Ìˆºe'ÏëÑaX³i¢V›÷¼uGF`@ds*’­}zð_÷)n¯ˆ"�†ÞÄÝBÍ­v†|DÀGúoÑ÷oõï!ù“‚1ð/ˆdû?Sy ÿ½<&#xͧ�q @�(¼Ö� -@Ïw\L "@ãÁ»,`XLˆ8°X#7È�°�x+ä{ï¼£oq⸘¼û®ð^à±\úµM"/ª&/Ú@�`�‡õq˜�½“a ssߣ ÛÒüè�ЇOhX8œ&†þqüOÄMÂq¨¤Xc�'Žy$ Αž¶s±¤zÅïK€ÐËÂ|Ô üF1‘j-Fÿa’±Q…›¦RÌÉÂÙ£É ÷ƒþ €Sá”�Ž`2 “ç8@âbu–PÀ'�øƒ´£¤4î—¿ z·Z 3=ø­ãÀ]ã€m0Œ· †l Ðà½ÓôÉÇøµìì' @óD €ǶrpÊ–Ž ý[ºÒÑÍØ‹\vÚ�ư à)GŒû°(F„àg)@âG,øüíc-¿Ãæ) ~bIŽ™ø¢Ç ‡l E `f^õÂY¾4së¶Òü­åŠÕ½Š×Ø{aÚ/ðö¿ ¿O„hkÀ/D¼}‹€s»xQÙ^Z¾u{yâY‡¶áŸA_—aÄ�Úþ+úßd˜ýÚ<¢¥?QΊƨ\fH `æâä™s‰L~åœX†²WþÃ2’7Aâ»À’AðÕ¶¨¿�²k/Ó- ¼[ëß©Š8­µøïˆ°É•Éå ñ€åÔ€ªúŸg+ŸÃØÏ¤ÑÀŸ N€:LeªYþ -\ÁF›5Ü,6•«[©öéßü5S-GÁ…�V‚5j^ tsE4g­^ üÇP:„üëyA�0Ð ƒþѽÇ%Au!C"ðàús¼À�ž�@¯ó14 -Sóp}ÐÃ"À1�Î{ðð=AñÂâ�ëhä]�µDÀ÷þŸw¼% .$�þ¨„@éUȲ=n(â@Þ‘ú¯¯jc€°<�$¨?Y®|íÊ€%CìLÄáI­7"¾&dB×$Ü.ÐøD�¼rŠãÖ²X’ ÀÝh悼t戨̸^Ï<ý �ϸ Gð3ú²m),s8@ �àw9Yà¿–#£t¹¾Æ{¼’ `Ä`ó²ë[1ge5p?~.ýNò0ÜuüO2f°µ_ê6н½h¾P -�À‘>w¹…ÅûÁ°ØÔ¥ î¨à iþ";­æNÛà‰>c€†Ž6´<Ù°3j€$ `‡&ÐÕ½èT£Ùi6š�†o¦;ð±DÀÐ02 -à$€oF<Öà©,§I¢¿Ÿ €?>øÿݼ9_ŠŸe°1�yTu±€g¬_:ï—ú�·°üK‰Åàîßpœ¯lè\Ìã;d‚ýù‹—^¸È!± eæiù «Ë·oMÎTbJÞ$ • 9;ñŒ%Š„/€Áÿ‹õœ�¢ãœÃøOø�sɀÿI1L ÿ(¹. µd‰]Ô­³�›Õjuu ,ÌVªÑ‘-¾ �vÿ½†ïƒÿtå;«ëËøØ�„LÄ&0½oe+ÿN¸×7j½G:žƒ�?©¹  è^¯¬áu Š¬¾ ð´ºÎ¬\@ã’Ú4àkxó•ƒOÿºŠx‚ÞÁ�i)Ðߪ­‰8ê�­½Ok«ù–¶ìÜ~¥¶Ê�èIb -0¥gu~æ–»D¸1ÏŒHU²lX·H¾¯ŠäYõoþ¦×Ã1;ÁP‚·è¯Qß›¥r©\Å GÀ]†|@øÿw+Ð׃ð`À�´ÿ_è_&Tþ#2 -Ù|“H“ö(€QÜѶ÷X_ä˃ $>0°¼ûà�ïŸéúPþ£# YÞ± £dLû»H:0�ïû¤>€wÞ~pýú|¢K Yˆ@4fÐaesãúuüpx2HÿX™»ò�¯‰ÌÍ >Œý_@ó?¯èÐ<�$)Ѹý�ÿÖ¶Gõÿáœ& .œÃ².´Ó‚uœ:*¢0ªWèÈxµÃ(€ág°‚u^—Qºà6¾J8ùõëɃî4] ïym ‘ëzL>Âûá(Ï (tF�·(%5{ü\Z�ä9H€¯ðõ¯†þþ:°�X·ƒ$ a˘9 Ýû#ûù5¥Ÿ¿á>[=%ð6¦‡~²àd8 °~’@“@y]É ),;… ³Ól’˜êIîw%ƒîˆ@tŒYÆããÓ(€Z¥L€ßÒ †ò'}†bõÔPàÿ?ýÏ›ÿV û¤O’™)ý/œŸb˜a¾Ç@Ä÷R`•ùi#À f/”AÀ¼˜‚X€ò -.�d°)Ø Ð„k•iœcp‹ó€ÈPèœ?#ì ³ý0ŽÒO’³ºƒ[ËjìKÿ6•r‘ÉÿQW¹(pÓud?žuÂ#„!q€Úžà˜5h·"\¼SÁÔ�Õ¾�n+¤Û4èå[½-�ÜVm¹2¹Z[_­¬./§V6“!Ü^Vý]ŠÊmÜÊ?ÝÚ§+>ï{r¾�Øìÿí0+X3X©” •ÂJ/Ä–(UÅÊ·ÀW`íÓƒ¿ÞßRÆî -²É6 cøöÂ�,´ß;ÀWc£×Ã@jWŸ© Y.—ˆÛäg6Sª¼Œ{ Zd÷Ž -¿k @À¿vñŠø£ý|ŸŠäYíÿ8øk§obÄ�B+óG!^9�›N•XÀõ{÷>Ú½÷qŠò��˜H ø×üÿå¯þë_ÿêýó_&Èá4!ôK¯˜I§°@ ;GÅôÐg’^­$C €ÀÃwÞýþ÷ßq¿ÿÂuâ,^¿þÜ «ê€€}¯G€-c” ÉÛo�ð1â¿ýöƒ]øîXÄðb À�ðE;$™Á‰’°ýidð¿ò  -ìÊ¥†Jjµ1 L2Á”{¨î yG/2${±çOô  -…ÀÏÒ / -€b�~�N�K*#f„@„QcD°Ïϫؓ•N‚n›$'ŽÐjt|ã¿ôX°EÒÈ@"0Gó�8þ` ,-”ñEçõˆQ¡úÿÞïI³o(ÀÆæ"€*Uz”@0 û …ÀˆÀN¶òa  }°!¾mN~!€ÅןjP^ñn,Û¶p\‹S-Ê«Ùi¾þzãÕaqü€¨vª~êó(,áÀoÔ ˆh€ðô£oHú?€ÿèOü¿ÀO–ffžÕ_¾^æØD Þ 6^ëŽd+ ·þª€”y½ ç/â XÚZÅ]À†‚� ¶A qe�ßË·*ëË¥é /éXà²Ó3ç ù;”¯LΜ935Ű@#´ú‹,Ð ˜ŸKAÎ¥�‡-ü ) hÁú,c"”5¨‚œä^«¬­†õêÊ¡îpygþ­×¹ûyOKÌúÓ«ë«·—W£ M¤“2 bÑ«¯|žoeyÂÿ æðÚÆVÖ{­WY ÚâËPÎY HVV*K0öÛŸ€)Œ,ŒÄ{t糃Þmm¢ž¯�"¯…‚jk NÜ�èüºTÙT&[ûåj&üYÅÙ í_wc/&…|frF¸úª-µ•:QŠï‚ÿÎ'ÙEr¸H/ï~¸ö÷ÝÛ·�_ºO$뉕D}%œêõú½zÆL�ÿ?e2z*àŸýœÿáÿÏñ+ñeA¿þ=ý�'‰‘{ä;ØXX„,ůõ£Â…è�Œ’¼ûÎÃ?ûþŸ=|÷á&LïsŒXx΢C ÀåGá^þ½cÊ¿åícŸïš`ÀßPµ0ñ ‚@ÞyO‡N�ëO-àñ¹ò4¡ì˜úc1ÖØEº@åá×’ÓPÿO6{I$�IXØ ÝZx'PH:="äå"ø;0‰zÙ ´‹¹ ½l|½86 -`X”Rü=ñàÿXv#£ùuÂÔ!ê;ê€zäÛ ŸŒ÷)¹Jt3Ðt'Í@Áã_暨ŸÅ§½X€�´¯-òaGè°Ÿˆ€-t¼Y€fAºøŒu>¸ØƇÀÑ€= -@…y*ûc,Ç|ž`ÐÁ×ÃÐÚ}iµßTÂûa€Ö·¨&íUø÷Ò½�Œ‰E+4 À`.€ã>+õo… ùœlxr€èÌ Œ?I’q@Ê�-Ç}b>þ'‰µô›8êëAÀ8m´ôq]»½Z(|Øn› dyÈ&1Öû³\ºE  Gm;7n›$ƒ $Äõpæ"z1€)ÏǤ‚ÿ¯žÏ�#4€4u+éaxz9{‘¸…·¨LÛ0�KQžž#@â¥qèˆl`_Ú®†ÉÜ’ZV®ÒÇ^Gu–à|'Àë¥Î€�Õ|ruõöª)8­óÕ”…po=ëß]¡ëX×o}ãµ^�¹¶²ïTÊ(Þì‘ö_¥Ï@˜nüOÂ$ÄR+º„䮣¸UQήI~¸òiïqM°ã}²½+Ql|[·øyµòò mûˆl½7ò›+ÙíÊ«a`ÞF=F CúcóÍLIÜÀMR«½RÏ7˜c(ñ!ìE׈$ÏûkŸŠÁ�¨Hb"JÆÿyý=â†`·¾»û±ä£™6ëË(iþž €€?[¶ À/ý�'÷üjLý��¶p¦+|¬€HÄ -9*CÈw>±XÞÄ*O[ž[¸¾x}l€aÿ-�`DOÛc2Šüéƒ Ä×�¡=Sþ>^XˆÀ ûŽJBô/(sß2€oÌÍ=�æ9éþZ þKÆÙd–ðKØŒœ�êÿNäÔ‚Vÿ'K8f,ž˜˜ª<Ût(%HeÙ@Ù\H Aãgø$@žÞ‰½#s _[Çæ¤÷ë_ SÂý��0Þ{(@ØF} üÏ}ݨô‹ØÀ)/Ç-¿‰À^»)¼uO9"d_ü}>Þ ø{Ë -´Ä@°ÿ&hßôƳ´ÛÛ…à An²ˆÜ·€@²Îgw¶u…ôÆŽ˜A¡ujÒÔ‰ív×Ûx }kØz¿ØÔ¢C -øÆ˜à÷Ñÿ @s`hÛ ,Š#Ð`3Ç(€\ØRHóñs`ø­}R$ÀÂè?þ›ÀTÿô?UÐÊ7K+G>•‘íøTJ ä�.€gÃŒÂ>úw[/z÷ûJ°T²ù å*ç-Žʃë–Ò2™ôÃâ¯sÚÞ¸-qB¢\§U³4(hgá¿`dZ ÁréܹkÇð ýé8� €©Áø?#0ýY¦L¤þÙ™¯â|F�ºpù7Ô -×=kþËÕÈÔ}¾ì1oµìÎJw6`ðÄ�Oˆ ö ä6¾]É&V7^f €?²V3ð9çõrSÿI€x)ÞY&ŒÌòrÙå3ÖÏ>eT¤RÉ�Nò«¬°ú ”{Õä5ò p¸rîªRÀ{JÂXDeb_€¬_­ÒAÀMÐaSfŒÍ�­¥rò7””ý´oóXé8;y'À—Ý-‘‚ÓaMjÚâµDDT‘ê§½Þ”€„v…ðD†á\ró¦ð¿²¶ö-(€îš+ÿ-SÚðç?ÿyDú%.€ÌXüÃèÑGåWÂèw¥…Çü/öG-g´ðÎ� kã. pˆ�þL˜ -X|ŽþÀu½‰l ³ÞÀoÿ‡ 0ÂFdùÓç»Át -äó·4^ àH€tI<¸Alwx* ¶$4ÿâr%ðŸå7®Ì]ùÚø€ÀÔRGè+Äàïµ%ÄÅÎ °<»—i'2Ñÿc£HG*¬ÿ! ÄܱL°|l@€]¢D 5ˆz ²•Üž Ä{ý#'/ŽY -ðælt†õÄ“Ä2@z‚ÿ…À¶»èeŒY´&p1 -€tðˆá(€ãs„ŽÔàÿò—ÁR ]À-¼ d³@øŸ,À_«@ I� … ½ƒ1`@„ÔÉ`¸·B“ ¡L à°1XÇ^@1÷!mh‡Jî[âÚj¶È&àŸ®5ºÊGéEvÚMeßj,B,�|¼P%èÚXš… >¯7šîèþi2D_€oÛð?Šÿ;;>©ãÍ�〺-D|ü\OÀ»ìT €õÿBÆ �ÿ/.ë;öãU=~,iôa�>7Ãè9<ÿQó¤¾H,`s~î%§wFÂC›6É+ôÇè�p)c€ÇP²€ÖEïúy0À䂱Y²zfb9éëÉ€àS3€ó¥e; ,SŒ€ˆFmúÜ̼†r�òÄ"S� ZÕkwë| -?y{æ1$�îæ½—$·¼õ¬W]cL{£é�[ß³Úílry5$L%ɇA·<dK‡FFå ‡Øïý‘w³ÍõòMÌä¨ÖJÎØÙwE,é™hk=›¿—'Çý„îµ×6˜{�ñ‰ÒÁ«½¿¢ç /§×U•Õfµö*pýÉZ•.€�ôRE^Ëj7Ë$ŒÒ,v$È‚½€Lkyö -#ÿS&Ff ÌMÌM1ñUä�ö±pI¤$-±‘ø[° ÀÚZ%âÙ �É~ôã þÿöo­ûà¿p$ ŸýRÿ1ÂýÃü# þuÆ? ÷ÅID Yôü  - :.äôx™,ßþC°ûcÐê¨ÀQ @¸Œã<`ùÓÇã`&äàÝ·^¼¾(°·¥?á¼»° ¼x=º Aùo$ôÿÚ7®<åkZ@j¥cbÐ ‚¿ (��Bž }XDGþGõŸf©õÐ}€$Ñ¡î¡÷�#®áXÔ­ €VÉ0òÓ"Á·röß åG ú$€À³†". ¶Ú­Ýá(¡=¸�J°�`l‡Ä(€ÂàëüRÑE8ùEçX”B.CUG§Ç¡¿`8,ÿÃà|60¡�Xì°#üÓ -Ð8jhJŸ?nhn·qDÿ° -Ðq8ØÖ™Å7Ü aC¹¢”ÎòlkEŸ?�œî +VÀ1tx*# W¦mìt•è�7¤ô+!Z“,â É€·�-Ýè$XÞâuÕÔž;‚$ðàþ}›àB˜,šG|"àÑ.€/n8ML ¿úÅ/�û”V*/éM­=Ä£?�î— àQì.3æO°�  F?àöj6?íä�Õ þ¶’XÂGÜý”¡K“Ñ»"l”ʽ•éysëç˜ì `¹@¼`äÙÒÄd¥¶ L_Äpfê’;$$A4Äi*3çægžuÌbnrJ™ÛÞp–N€‘üˆkúÔú+yôÿðù£GŸj«ÿèÑa}«�s»”ÕZž÷ûýjí¿~öùá#ÂØþðGÙa?Ïú½¾À.?øüóÃ,+MÜZÝxí;öõÚ¦Tcå#š@²Y îgÕì wðYþI¾‘÷òÃ"öí÷>ïÕjå%tW¤~÷³øûÏ}FTÝÃG�úµ¬GEj»õZ¾‰·^ùÕÃþ£Ui3Ëù„øÝÇçk«ÿù#�ª­äŸ|zpÐË7?ÉóU_¼üT‰ºn(Ïëwò^ïàQO÷pÐßÒÍõ¶ò^ÿ³ýZu©LÀ�è7¨*»~¿¦ç©º0ØrROµÖ¿K‹|¶Ÿ×ëŸú‡�øW?Ö}ݤêqHE>­U{sHEòC*¢µ'o~(¹yÓ 1ÑÚZõž§ÚýÈC‰øcbÿÝOÆð¿Ÿ2!ð/qüë 7úŸ$�ßKûÿÃwÞŽà#Ôàmn(; ÎÆ<ÿÁ€÷þS ®€”-00"àñ\@à�>¸íi¡­H7ú±ê�à­该·ãȨ@eRd*Qqa_ D�Žàðï…®ƒ;ú",#Ø]ÌH@ ‡ŒGÔ‡ÒÂ'?ö9áÓ¨þƒQúa ÆsŠK] 1ƒäpâ\’�@p -€Ñ'„JðÊ̇ è˜Œ}l0g'À–Ôì #ttFHç.,ʇy¼¹×@_Ü^XV/κZ·÷uÝ5¦?_"¼WR%Ž3vå‘¡˜ D$pîk*‰Î^[ܾÑhtÒë;;Ý6ìCõÁð&€dÀG ,Ýd!ø€[±Àßöÿ–NÕí6šâ à¿O`BE˜7PW:Ý"’¬¿¡µÊÚ·îIò{‹|ô1q€~ü#3€¿ûéOþ3ÇþÅ/¤þÿâç¿" à_XŸÜþÆÝ­?–ˆ–úÈÞßÖ @�ÑIb°7ò�€ÿÐð�Ž÷�@4À2ë­ËC�¦ÞýQþ¼¯­õ‹¸oü�a?ÛQöÛ®/ê2)úïþÙ_ýã¿ÐžP€¢É`�pü7€_Ë´Ðjé^jŸ£b¸CÆ4ÿdæ€×Ø®ç`,÷ÅE --ã� ð ‘›—º °&a¸_åÇP¶Y ­@ç�w TTÕœ=•öØ(€X'÷ k"°Ç-^' €G ñÓ` -Às@8¤<Àþ„êaˆH€*>•/�ÿÄQC}žû= ä€�Ù"0ý é#}B±&ªòH˜÷… @È/´o*«7‡  ý==,Bkõ«ôè¹—~¿¸³×º;1Œ‚ångO˜,•¾»£|º�æŽto]ŠÆ´„<ÛÛVñ!(î\ØQ%:;]Ûnv„ì�n‹ Bu×-‰4¸†:‡ Ýfú¢fçõF³û—JÜÄ Zà ÿSI8wŸ0ÆÁtDçtÿ´+֑樀ýøç0”_±ÿK'{jù& \.y€Ãæ ›±è‡í:Y­æÒåWkÞ|¾ìÉà2áýz®ã‚}k†Z:M2+ÄE ÿÉ�M®W.ÌkK‡!0è™d4ÀùgŸ�Á 0õÒ3�o¢O-o9sxÌ­RŒu¬]PŽÓ3“x&xj -v,ø…%«[æªk»u!Ùp%«¬¬Ôk+wªµZ&%·.m¸²VÏòÝ;hñ‡}]u/ßÅÇm�ý^¶«$ÕÊüÄŒZ²VSÃÜ®”ë‚h"æ®áF¨G^«Õwë¯èJTüüã¾»Äëµúš6ò]ÆéeõªèÁ½5¢âP‘;!rµVe¶ÜZ='#Èc½öÑÊ]*Å_¥ºü|Ky)Ÿ,#jÁZ¹ìÁxØ­×v•¶®üTXÅ©×w¿Å¾’×óüã»Ì%¨�µ¬ž*R¯cލs¯ƒyñFëa›!Tz•“gý¥ªî¦ø±Z$ÛÝDýÇÆ Ñ�µZ}©º‹i ÿš*¢tE(—™%üE å’vpŨ߻Wßýh÷G»9 .øþ­'v, _üòáð«_ÿüÝp‚0m¿X"ZŠŒø-—ÀãÀ b“ ÿ˜1À€‡ÿ /€dX¼®w6Ž€ÂÒxž÷΋Æ~iþ‚Œ7¾«“)mñ±ÄÖ€ æGÀÀðW&71 - Y�ÿ†2gÅ¿àϧ­«õ~j Q1àIŽkþ^·†Â ßX¬3‘L—â �ŒèÿiCÙ¦ § 2gñQñ -)³ ž¿®Ö‹¸$€‹4NÌôÊcHxïeÀ¯÷$G|Œè^Ø<ê@2> -@Kiþøú?Ç"{Ô{wúkÉ7N¹ rŽPòdPbs�Ë_œ ! @Õ -¨ÞÒ‘F2´éÙ'‰€à €Çr L¡%4F ôH‡—‚͆Á´½ØÁk`p¿töæìâë\€!R5@Þ#üþ„ÿÒý;Êh§»'ÀmÝWUv¨M{§¹gí]5Õ˜§ ±×s˜ #˜²°0»0;{M§¥ø«Ý檋ˆÅNÇ 2Y\œ½¶°à^mvà{m­°ˆ¾4E…/[·C�ÑZàJÆ‘}h7Ì]Á³A<ƒæÎŸ�BÔIÍ -ƒR -²ïvÿâœ"CS€ÓŒùð–~j¹…_ ôpÆÞ«zM@û�Ô6´0¶×p\ÁËÿf&õ ½u}uÝ$ ÒHÉ·Üâ œ -+nË•¬6WºM'2,”¶‹ÞŰïüô䳓D<7â³ÿŒ0:�ØJ0…Ç¢G«ag¸XšÑMA$Ó“¥[L Mq’²Öt—0i­'ܳÜez@ÌäÈO>ËñóÃÚ^¯~ð“¼wpÐïõ>=ì|røiŸTØÉwË¥ìÛnÂl«VÙ°÷ßF¶^Ï>̳»úO>®f’ÃÞ¾òïgY¯Ÿm>êg»µuféëR]ªg¯Ö˜0Œõ‚RW -@µ "\•<ü‰ë?¨^à?ÈÎu®†eÔ0î€:*4Þ¹#Û&€PcÁaAž�Þƒú  D·ÀbË ‹âÿ°§kÞ ÀÂ6*àfŸzÔòí&@:2Z¼³�ëø­7·U˜UòFGçU ]"}ÿÀöý.ôí½¥mñ‚®ÎúfFÛfë×e‰ÚÝÙÙn5»RîµÁ˜LòžeH¹,,b Pªû­mú®éæf•[§ÝÞ¤Ûª� ~§ûAc{ À7¦‚9ˆÀÀ@Ùd€.x¯ÆJ=oA\(ïÈV«Ó‰Ì©ßøâ‘ ¤ÿ $Q€þ¥þ1ü'¨‘ôãÒÌä”4gañ¥[Ëxÿ'³@y£øêíli®\]±`eµ–m¬†ãÙ·ÍŒõY¥üÒ -àêT\5pôEæ=%>ð�…~æÒ ኄÇ`ò…gÑÒMÂ`yfÄà©8ÀEwb €ˆusP»0asBã8sѽ’³‘ñ3Ïà x•ÀýÑë-�[_‚Ý{wÏxPXÛYuå‘QVxŠÃœ�ÛÁÝ[ë/MbëXeØœªf™WÕJºÔóã PWty~€ÿ_®Lzÿ�ƒ<Ú´öíZ}£_]B�·ÐÙ@8žjÌ - R�×þzø$Þ$Z/{$‚ÇàU§-»¬UUŒ‡ä·_U.–jD9^ç6ûÕz_5ïõñVØÚÜÊ…Ûº2UE$c¥,F䨬x˜ç Ñw£ö›ZŽ8뺩úÒÝÜãþìéVH-›U8P‘ eGhÃBâ¼á__œÕäß - Àqp’à—_Ø è|‘É€‚/ú<Ž‹-–q -Pà¿-oÙ°pý¹çÌ®ßx»°àÿ'OhζÖ\Ͷ�_bÀ&ö€H7úµ$@NÇÖþã€Æ w8>À_ýFøÿÞ@®`(ôÿ„þú]ÕÏnžÚHPwºæ`XûÚÑÿ-ˆü;g|‘QØIXÁÿ¼ÇYÖ±�V_P€Hfy!¬'éIÛ±œ(èOÜõ©&l"`²8€þBæu ˆý£€!ü#á€!~„H£¸€Oå>>>ììÁ{¡~�¯Ãø¦Â•Ì£]‰#Ú4¸Jeûé0H‰õàŠ; Fh™ñ“÷(8€ë§ú ¨K’ à_?ø€»’Ä(Ûõm�jÔ06 -`vv`—F [˜lÀo(&srç-° Ho7ÝŸ�è‚°8Ÿ°þ€t…Ôo -ðÁìö›€íöâ¬Ôq]«Sîßn,¼ÞX|]êv£‰ëŸ²à+ü‡ @(Wàx�á„;; - ‹>àFÀ�Î6=D$I»ÝÂG`§ “a¿«CÑñ Ð×X$ª�j…@·Ói6¶ÿ²PÂN³ÕÕµèë s«ý\wºZBéfG„FJÿÎâlûþ^"ÛØ¸ibï¹ÙÜ€8FÀ숀Ãa€bh·ÛAÿÿ�Êã>øÿÁ,,,¨É¿°àš‚ ü2ÁÿÔÿ“åád= -`æ"ÝåÂ,ÆÿüÓÇŸ‚À½çpC¤V¤/Ú°îÄCk¿“Ô²Û€¯Ôß$\Í*ó圞¾vŒ‰”@±œŸ©Lb˜bXbnñypqyùö2Ê·H‡Ê°Àô¹yæ0F”ßréâEOExžP€#¹Ò ¯Ï’ > ômG·½ñ…ó©¬Z `„C@<)ò>R[¯NŠƒ¬Þ¡[ ìð©áÈ ¯Š ø÷þØíôþˆ‚œb�\}SaÇâ©‘o£€JpJ»½Z[ªF� -ñ Õ‡7k†ô²ëdÁÍHnë“RìßEØØÜêü×Þk[[½ýÿºX¬‹¨P]«â°ÿ̇àÒÌäùóSËë›QMÌúÙ t‘Öj–��¬–}Z(*R]{•º�ÿZ�ù€%©  ð`àc,Ã.€døåof5’ ÔAcÇ ÒŸ"Îõáû ¾Ç I€…q Àü…à€¿Ã�Q GA'ÿè ×pJR\¯rÀ A}ˆ @Þ#PB÷ÇHû“Dúáü¾>PXò< €ÿiš¿±ÚKï#Ò£mKŽS\�cDÿ<§ðFäÝ9I|b`06ÀðÕ‰¯�1.Nõ>*X€} ý±ÍWð~Ä €n'üƒ4 -à‰>€>šDtœVªÑQÁôã”Dé¨KÌ ðЊà/‡¤¢àZbZ;&AìÀ€€qá` €Õé!x ½ñØå·gñ¨[ȶ›”¡‹ úùÅ&'àúøàÂì#ö¤²ÎgU]%.ÐZ¤ëcÚnï5ÍV´©£Âénë"÷Û”ÜØk‚ÎdiïØòÉI@y59¢»(7>h¶ 6¤Ê¢Ð‹èîé°*ØSÆ�¢ÝÎÎÂl zØ ëè�ìúÉÖ´ÓÂ`Ö�‹¯Ïn¤FÕŠ¶@YªeE>ø`�7‚€­#Cð$€“?CÑvì&/èß@JL—w&Åd Ðé(øi¬@ûíJV�Ÿ/gq�µC½³W×¥Ûü¤IVk¥™)¦R~É -°ª×½r@m•Ü®à¢ç�1`¯@è‹¥é  ãô¤b¦±­ïï)ÀÔ² <gCç}[9z£]¥µnhc*¼p1ˆl•qàíªï'Ä5§Àµ!|¨A�6²êÊa„ÎÕýoq7·À:ë½ë­‰K¦"ž é›ÎG-K3XáÅ�²¬Ì¶6tŒF»@²êR -ñ+üWE¤K�}WFÕPžR¼éà�Y”?ç¾í’¼R&w©âµlíÕ¸ÞàN.<»õ~°±ù_]‘ˆ¤›ˆ4’¬¬§¦zûÊ~Pz@Õ†8®eÙR=w‹À@ˆöR‹À´~T^ëoý!üH ÃQêâH*u<¥À?—@¯ð„ú þsDëS$xÅ{]a?aÀÿYfL¡€�à†u^€' @HœdY þÈ#€Äù 3PÁaÀsàí‡þWÒÿ J@]ý/ÚðÐs<ߟ$Rø‹(€ñMŸÂ�g?Yó×g -ÄÈŠ#Îë1úapn‰ ò9bÜKÓ.Æ€þc?È娌Œ8²ZT¼²ô'q,8ŽY´:i@ên€?¨åà)�Ðü#€/�¸ø‚¨ c¶~Bh€YCj"(ô Ž»²±„ÀH€Ñq(µº¤°àŠ·7ˆ¸¸0°è\·õ€ír¸l�¯ã‘O™‚ºöìBŸ=;ìáôwÍÊ¿ wOŠ~k§9‹·^£�­¤ouß@͆tT ×ÁÓûÛA «Da\{¸á¢tzщnWúuG`/äoˆ«÷i…äÖÍb—×¹ÎÂv{O…J?ïÞï6í–€[7°0‹B%¶îwƒ8Ða1j�À-T^XÚÒøØüÿ„ ‰-ˆ^†:{{6ˆÑ27ËH‹,<Ù`l?.GŽÃ ÂpƒŸ,~ë_·R:sfr9££U~µ¶•æ›[9vèx9×6*•¹¹òn¶~ˆC}„·™º­^žôE�‘ÓVP2WK—.)?½í×Q ýš¯Ì•²C&‡nƒB•Ûð€ˆI@88`å"öèÀÌÔùè®?3õLÁGΊ“l¬nÜXB5t—¢ÓÓ3•:8y>;³J�3Çý1ô¡F’«»ø ùõ|¤µG _)»�»Ô=¯Üù‰Viª I�w,ÄÊ—n-ÃD•H,E%‰F ½ùqÕ|Rü�ýºÖüIòêRÚBÔâT$íIeV5`V*÷fUMîøcTPÿ…¿”Á±|e…Žy1�Ôæ  )™(—�õ~µªŠÐOUÄs^‹«€ôÇ%6sÓîË”1�À¬BBþ¸Œ¾µ üKt´¿â¾‘†Wu…“¥¿0 G}N ùçñ(,,\à$1ÔŸ,Î'À‡o߸Žâ¯Ï¬àváÅp��@À{Âo1€Ñ Ø�}o>̘´~N½¨…w(üýwÞ - À�4éßûcw¼ÿWÿå?ÿý?;. ߟ(sCÔ�oô|cn`ø¸zY˜ ŒF{ìèl”ô×[c‚ à@ÒI‘k‘ý?©öBÚJ9úI¦\â‚ÊþÄW˜;Ó›R»@€ Uç¼;�‘¹¼‘ ø=æP@7òõß{QY } -À±8\è@ÀJBä§ÿÂþ €6 - ©@¤ímìÎúÑ"oØÜÐOp  €€?Ƈ‚=` ¶)üGuFŸÇàX€ô·ööÞ|ó~‹X}à#>ø`ºÕÅ5„ú Þ¤ö7ºÊçûÙk ì‡ì0î�®‚ûÔ&)õþžqÂn7�½-ºB?õVå€ã¶ÐºMÂZÌÈvGù´¥ÙÏn‹~àe¸³V˜n7™`¨Ñ„çHÈ\É»J¼Øù L;ZìuÄ „ÿ�@úÿöºÁ} *S×5Ô*é�(QüeÜ™kÛøo @·3ê°%R»ÃÜ@ØØh<>À)2° ’„þïë/ð)—Ë6Wº5yæÜôÌ<�öµMFo ™ÑUõRzªÕJýü€m² @�Ÿ€vëþÞNû¾ô^e·à {Û m¼íÍЊàJ a¸vM{ð©ê]-é6§z‚Wìý;�ôóÖΛ&ª¦B™WY ¼ôkªƒ¼Ûîë×NÇ -¹È‚”|¡·ðXéDBv¶U3L`³x \EGÄ$è · Óœmt÷õín÷þ^wgư'n¡¶ÛSE I >Pö�Ƭ-*SÒtHtw†§Ã†÷•”ð¿Ó± À6,¨=Œÿ4È�«�–<$É1 ÀSÏPìýÓ?ÍýÆ2=AD—s“„w¹à /ZZˆû27Û7¯>ÿüÜ•ØÖ1}|v°ŠãlÏ?ÿ|‹!ß çy�37çç'ž/“d~îÂ…O&É¿ž˜˜8wî_Ÿ›˜˜<÷¥s!ñßù……ŒçTjd¬|•û¿ž˜VÆ#’ÒŽKÎÄ3ŒÀˆþ°†ù¿R{¹¶Ñ«¬ô9–Ò¦†¹�õZiâÖ¥[Ë·–Åq<¢r»–±4‹H(ù#œ·¶þ+j±VJ õ@Œ¿Œ¥@Öcçe¥[ÂcSÝn‹qÜ�ZÑ.¨5ó…ºt]„Á@¢ºô«UTÿd‡`B?û†TÖjÙ -¼/ʳïFð5�Õ<Ï(%QØÊ5Q˜æ�f -O@`ÔœÁFc@`[Àø\þÆ>~Ä@à }ˆ4ž Ä·I,ƒQ‘�B÷g™úôõi``ð(mê�uQ¼Ô�áDωkúÞö€ç#}�P,Y쇟Æ úÜkÐXÚ‚Í ÂÂæ¶Ðü¾°Ó†ûèÝí·›„ô! Ÿ_¸F�Rü�@Åã®/`bWNÝÉÊT°L¹‚a)ÞÚÄÔKáo,,Ò­ ¸…ì´îóë¶! ;ÇT?UmQ5jwÄEtcUÓ(³fÃŽwn-æ6V›¨àN»¹ …_È/oÛkQ � bav{OXÔµÝ�7u�-Ñ•vã2&‰öÀ ÷ïßß™å>lø]® ZT+ãg¯ûU«û1 0àà€À¯ðÞ½Q Àë ¶Úo"_c@8/ಇz›N¥ÍšVÕ+Õz™0qR_* ËÇ­[©¾T®¼D šJµ\ªÌOToΗ+¥¦öŸð£Ù9®¬e*´L»ýJð�æÿõÌ ˆ=33==99-.29Ad ‘К±€æx¢L’a!ý7?sáBib¦Tεl‹ã»ïÛTĵØÐ�”WýŸ#ÒÐ}J[aÊA-ûåòÝšç5”0 Ôî“«ÑãF|cy¶TÏú‡¨-T@P-«Õ\;ëÙ–×è4ZßʼIy!üáýKûXq-üŸÂ Ö§HðŠ÷þ“gàÁø?ôX@v#}l €:èéþõAb ÀêW—ÐùŸø9qB’%¿ÝÊc€ŒY^|àž�߯�þÒ‡…á_¿ç‡]kåß0À¸xoldqþ['ç£í!n åÁÿè�Çpâù²P{ØÕ�2æñ¥L&käZøk€7øz8¸`åD1ÊÀ‰�Àª�?ÂãÁ(Ãö �õˆ�(BÛX|a ûÛà•9£Š¹°ô¡ “ãï¼eë<˜­:&&€A€D‡“ €cBl¡Õx@˜D<@À€ßo„@µ@¤€Íîtï·:RÂÉ= µ_øÞÁ ¢fgÁþÅN³Ûl¾NØým‘ŠË‹�ö"Ñ�¬O^J‰kZ -Ù»{÷U²6ßÞë°túÅÙÅ=ÔvÕ U¼£›ÅpÓC§Ñ¶ëB)öº]B,v!JÚ‘’ÏP¼NcFÀ=J„ÿ¾{Tý]b @W‰Y¸Ý `+DK÷¨-.‚ëÌ.2üP9ûÈΟØ%Qy„ r×�€¢@u üO.<ÈøS’˜ˆI¼Ž—ã€Sä˜)࿨×îyÛ’~·ß¯W*7¥ËÝŽ9~x!Wp뮼ZË£ó^P­å?îcÝ/ç�‰‡Ÿ÷û[›Yƒ ÷ë›ý~ï‘Þî[‡�öó­ÊKsâÙçýÕҔ狗­l¶\¾Zëîð2(Ö+¥Û(›µZyzÖ�¡“Þú Ȅ̔fÎ3Páü™³&�“³¥—D1úª¢Ê…¸¼$`.—æ&¦K:ãK%å8e›šÒ÷¼§~æ™õh–ùºñ¯0½ÇÐ{†U`³l À@@SÁ©QO·[š¨áWé"V! è–Ôgë囸ò¿¶åùøE±*i­Šo|õfb"Øá%j1ÊWŠ� L¨ çËuŽ‹|ÝæêTSÕ‡åzV)«�kë›5¬BbÕ.lôßÖJefµòÊkx hû5í¾–xRÅk°_. âØ  t€ ÀÙó<+ÉËU~‰8†#·DÎp�¼¼Ö'c‘žJs3�á¿À¸Ài€>ôþ°ˆ °}²Ö§Idûð=Àuá¿>6ÌÚ Ð£¾Uû�!ÀÈŸŽJ ’ ‚]G6ŒÿÉááûïZ×g6@�~ÌиñœÀÛï¾ÿÛY†ú˜ÿð� K÷ú»…àà'ù–š -Ð+¸“@~» è3Bx€»ñ�Ö?Òÿÿ¥3œLÛQ ><Ì"ŸT†R/Ñ—'PîSÛ p‰ÏXÀäøŒÍ ñ®‰€®9âPÀ?2â ÉØ(U -ÅßLãËÄbKâ¢Pý£žkv�ÿö<'øoÄ õ¤Ð{“€'¼@àÿ ‰qE@XtIX”£El?áã¶ÀW`(𓾨Ì@â_lÌ2a¿²ÔŽp°C÷;�Bü:«,gÃ9_°OÙÂÊÖ]õâ„RÚ;̱çâhô “�pax fÀÿ^òý·,¶ï¿ÙÞ›]Üi쩆m¸Bdßnm îR 'ZD•ïî<×èîíýE{ÏEv¢Ãö9J¦}ŽèòNãò¢}péßiJÝǰ³ƒˆïÔ|XÿÃþÛ�z”Š>,´˜;´E�$¤H€dÛ�� `(Å>´bѯá/(+�W)ÏÌœyfRhå>3¿¢«•ÛUtÆLºþ#4Ô*ÓßÙ� !‰`§—à*Û”º]š)¯×è?ó BT*(—[·Wmb”,ëë�yiº„ ›èÀ–XóMž}frJêúŒ6Òÿ÷éâ8Ê¿*J㡆’[•™é ëö*ÔïSçÀ“Ù¹Pߺç¬/õGq ,Öí½ °ºI,ÂÒòR€Abµ„Úb3[ϱ~¿0qûâ%µ)å{àƒ.w Hªæ[Y24 -ÝŒ’tVBi@‚LÒÈnég´B»20 ["ºÒš¨€.rÿ„GqÐ@Õò*.|ZS6c7�ü†Ç›µ••MWd(q:I¿¼"ò‡x0C©ô‚ƒ7Ål -3„î—ûëżÄÃñBZÔ_©â#X³ Ì œW5C¨Míæÿ|ôGc¸<ÆÀÓ ö|½ð®%€?³€Áüç¿ Àá ÀÃwAÞq‡À1 à;xT€Ÿ@aH&ñìý Uߣý€ ßÿ­,#“CôñâKɰk ÀþkY胉,þ'ˆ1äƒÿ‚»„õÒ=‚/�9p)ôådjÿ!yÁ F2Ç’3È'ú”HHšàÀ¤ °áøêV’Ê Ü�ϪÃÈ(-cU¤*,òV¾@q'àïr²À-GFP†•~]£q‘±e <À~�þCÁoÃK®fÒ3 omo‡`Ø€ºŸ EÇA‡“ûüñqÚWVíö‚ €Òë2c¨ºf�Ë ÿÊ>?ðl{Á¾ðÊr±Ù¡&mA½ñ“”œU†l`hQYS ýü tU@Ç6Ðj/>·¸¢õ‹°¨™'LGéÞŽ“…�¾Óhã(â¡“ŽÔµ�"÷ÑXp'Aºâí´¶[�·²b`›�… Ý“ ¾ÛY˜í*ÓEr·ÀCT„@§±�iBÇñNPõZøà}á¼ÿ$ðØ€€ÚŽôëj.ã?MàkÅeãøï” \(N³Œ“eŠèY¬|q)›TK—&Ïœ�šºD@½Ê‹Q{^ÚU/D/öÊRõ§zg+‰ô6^ïÒ%C›Ôù�ž7WW·fÎIi¿UóH¿‹ž`P ,XP¦ùje•±ÂO×ãýÒôüº6=PïY°_Ø�<ÐH÷²þ/‘Jª»P5c k*€}˜…LMг ˆR(_±€gÎ|1iç?ñÅ_{µêÉî�©¸LZûÖfÿÎRn·Çj8M}j)CP¡Òä-ÇV¦x”^4ÀØŒ’�­- ¥ˆÛth˜Š±äµ%ÏüŸ„¢°(5ðMº*ÙÍ€à�¸-˜œ_ÅÔÊ=®Ït¤’ýA¶»ž à©È€ĹûJy3e-Ñí0c��ðŒtÖÕÙÕªÃú«E`-1ÊŸÜbªáüŽê =±€—U7ÕC_¥¹GIéˆÀ©sü³ùøîQÞ<ÿ“€ëŒû£øÿNÊýá÷ÿÓ»®Ï^¾<ûÜåËɈXÀ‚ýQ €.+,'€@ÿ$‰èhX�ˆ - ÂÝñ` @AÞ‹ 2=ÿå7'sßÀpüó ¬Wë¯þ$çQ@¿X%† Ä@Áþ–Ü4?èÍ!’ú@¯3ñ)û¾6v%ðð ™¾,•_bpb Ô±c -W�ß(ÀÝ©…Å£sÄàDÇ|rûlDÔ©Óâ(±ûÿà @÷ŠúŸòpöô<‡�HEÉ׋>šj‹˜¸õ,î°¾l` `d€@" ³Øó �èüÚPâE!¦àÍÙaÙwW½2tï¿qì¹…Å×�_sm}7tµ®Ó�m3j¥,T®Ê0÷GEZ÷[Ýûoþ£äZÌÍC-(;Fö³lIñ/XÐ}ru$ÜÙnlwT¡Æ¬šA•ÆXÑ ³¼š‡HƒJæ†PR݃þ�ööµ†€¯µÇ`D5¥Ð™ä; Âl’*C: T€¨Áâå…Ž=[ô'4:]χÔ"â’ß-eR´›®Hø¿×² zý›¢…Fðÿ4€Òyµ½�Pþ˜@zÖdˆð0K¿Ð—Ny^Þ¥™³Ï8`•I~Y¥ þV™ENë—+ëW˵ÀF°IÖb†ŸÕVÃslu5›9÷C\T\HdÆeÑ‹ 6oaIŽ`@ìëW¦í³Ïؼ$ç�ÐÈ¿:Ër欀Úß ô9,W{wK9‚Á’|~zFU‘æjÛ”ÔWòW΂~LÈ$0%¹Šb>ÁÑP§µpï?¬–sàNM�èP¶™mí÷ûŒtÛ¨Ý.M–.^¼HC—V#XÒºƒ²ÙZ™È¿ÄìYwÜ=!áþm¸;V¬üZÁ!¢L‰.èߌð žú�Šˆ‹llnõsýzV[éǺ¶JäAéâÎÕ¸ë^‹~µò©+B焎 ��V$+¯ÔÖã�A¥ðÌÔªP5l"JEZï/U°H_þ`¸r3Ûï} -(¨Ø«¼¾Á’|ÓõÐþÀ²Qû—�î@�6F�fD÷§Zb6 Â`ö2þÿ"×Ò(•]˜ýßzðÎø^\l @lŽ €/Ô·ï?d ý o=hpÒ;Êþ}&¾nzÞû3[Ä - @L�ý ‰nìʰ @þbëÊ× - >~Öb�Êñ-¤°÷;¾ÞQ ܦý�p+ø—ÓHIzI„ÿf±ã“9ç#IRì�¥‰è‹Y¡`ñ‡ @¨B 0`0 -À¨Ï7�;a.} -íý÷N˜ P«ÑQÊ=,\eägð£‡"Xx³']µº9b*t"<ùÛœÔOˆá>wø¶`ÒW6£ãR#�sB8]ãË|ë·q1 †�ß ©‰û£“ t¢mC{§Ó\£81l€„à&(Àq®ÓìÎ5Ö­î›a-›0€;ÒÀÅ'./v0Í»>ú‰'y í#ÀÕ‡Ò™ímámcÑ#¢Á[åЖxz=Û]œ -vf¡(xŠè.韧«aa¡Ùî�mk›:¸Û@ä‡.ívïÃ:ÈXUQETN‚Ñó8¡ \ŠМF @ŠQÍëÅÅy#~ú¤s N…ðD¾¹²¼òÍÊZŠèU]š‘*Lµð?õV'¼Šw~ˆö+8œ'!^@Xh±/ÄÑÑÊô¹‰)k†b6»—¾¹úR…™ÉG ªF”I@ºt+/M—Ù‹P=!瓯^ÈÙɯœñ”½O”Kæ&ä‚,ž¹ˆÀ˜û€g‚¤¹æÝm ú®ðÈ77Á.ï[66ú+å>€ç©ùT >€™‡ÑÓ¿/ˆž¾¥¿¤BWk­ ‡v×ky½üˆ1ó¤ÿ�BBCÏ«7•§ �ЬUk•b4?ˆˆÍÚÌñ™ðøSSòìþu8Œãðéøæà”ë”U«[¨æÚþv�$ éß¿SÖ2æ{’D‹Vô¬x,o‘DldùR]Y½ªjÚ£â¡E6…ÿüêG¸�åÖ>£%77Ì Šªò/íàwø}•�ùÆýüZÞïÝ —Ÿ» ˜Åðö» ˜Þ{³¶lxÇÀ€ÎÆ ôO2¤„ -± ÀûßÅ °€÷Þ/,b7nü_!_ÈàvJ‚žïpß?´U€Q?>jØÌ’^>„ÿ„ýþ°—…]5~±ú�¯b“·XÕéÿgÌ€Ýû)!ä  tt/Xã0`ÑõÏuaì .ð¾bƒý^{yÔ ^ˆ‡í‡ À�H†£œ<,ú’(ñ1„x­K�ÆÐM:ß�ÊIXóŠX‚…èÆ@-‚ŒôR£}XºÒÛ…ËH‡8ÿ>ylwßhcñ–Ì.q0©° ×<Ðq[Ø¿·óA÷/;Ìÿ¾7º,·_mVÇ.ëbàRå4ÁOpMw!æ!QÕ8ÊrOL$ ]^¢ƒ-:àÑ»Ûà$Gõƒ¯hµÝ¾ßÔ3±$¦áBš áÊhW@H‘WYß›Å@y�‘pTØ©ViâÈ Ój&GpRm«æ ]¼¿ÝKÀ2ÐjCf=ÂſՅ|Ñû1Úpd €rT)7ê €Âã ¸TΚm ¤ àÿ��ÙâKz)¿¤ÏÓ.Ë·ºh�¥™)©ÂSĬ�Œh~áK¬Ð­V²ú@8¼)hЦ­ l·fÎͼÀ\¸�¾uðrIŒ£Rú¦�&«±ÁKÄòÆÊ´�%y ¢OZ¿œ:?ðD -pvÆ~ Dx®nMÌÐ1˜t@Øu~Jø¥‡Ñ¬ÐW«K9‰„¤ rã°G7v’Ð^—’À])ºyÖï'˜Éî€^üì§+ø¨º|ÕÚ­. 0g$àF¶[DÍã¢ëèyV»Sv&²Ë³ˆ6°±q°ÅµÂkeÐY�/ç0m’M_?gÚfÄýQy*6Ë{[›[™~ûžª‡ütn½_c.Q X�‹ó çf)+ï‚è¹y>€Š3¡JÂùÜm£ŠT?$‰.Ïúµ<ßÄM´OMÜœy5W¡•67©H7‘�y€ ÏohfñÞbÀƒ·n¤>€ŽC0Ø`ðÖ;ïü‡¸˜ãÀY=4ÐõüÓ À) ™¾óÇÐŽ·„ò�¼ç°ÄXb6`& |: @”=&ï}MP}`@9: -à_ãQKÜIô�ýéÈQá8O!ôÿø$?Ÿƒ¢MÒrx°ŸD—ùJ‹Öœ¦o?°=4t¾àAœÿ ð™3kÕ;|ÊWëz…Õs‰`$éz˜÷×ÍŒ1ÒuËK \«e‡ýÿí¿ ªE„v}” Z¿V§‘d·70zHGÒ9Oö—å‡ùá§?ùü°G(oŒÏsL ZõóüÑçûL¥/]ºZþq-»›ÝS1˜Øu:cÞÿG½-¥ç²LÉjõÊüÿWªºêPåêø'gì;˜O/«×úû½¼ÿH—«fž¢—‰Š<:üôóO²únNÀÆT‘µ,ÿá~Þ{ôy®Šè@¹\õp=,7eè[­¦¶½µZcbe€êq˜©E®–ûn‘�?ùoŸüÐõ;<ÔØ)R)ú¹èÀ'‡}*²ÕgbmªöûÃOÞß§geàpšàŸÏÀÀc [§X -°gåM-Ò! ¹“õŸI_˜½þà� _½Œ2¶p}`çmþ7°úŸ,"ƒ¬Rýô ôO2¤#>ÎT—µ‰Œ„€€¼°ÜЉÅß}ïI—;*ï>êÇFz� €Gðw3 Ç¾ÅHCvÿø@#ôÄ@Å@î„âéL’ô¾ü¥ ‚èÀ1@=KI\‹ÄƒT”ôí® € ?‰P[þ¨ïQCøOèÏò ò\€×Ç Îf<Í@bë?½ÿX´Ç{”+˜”�iùlc¬ã À:4&€–@N8Aê/@�›D0`0èT>¥L„;­?ÇÍ: °²ºP…ÏÛÛÍ?ÝÆHÞP6Ê=𠵟KvÚ{*Aʯ¯#àëªÂÂA÷.`¥o4^7Ú6Ýß�»‚ËÕ¥ô8lo é,QVœÞ^d¨ý‘àåRµÝì¥õO²Õ­dÏ azå¯T²Ú·…Õ9�ß–Ltc4øÏ‰­õÕÊíÒÌt%£ƒ?hFaÁ°÷´ogrzé}ØSOà Y�·—Y}Í ÚU×O‘³+«·í\@þó¥Rí–ö°”n],1çqäŸò~æ¬>îЧ\~…ÏÜ‘�®Fh£+åò\yéæÒÒ�ªÎI´¸S^*/ݹ2w•¸HWµg¥|ui~¥ºôŠ Ä’Nßœ>§ìŠhÚ! æ.(Û„?˜'�dI/-]�³ssK¯(+‰ÊÒw~~iiîª*18­ôK\ŽÑFG&$¥š’y_NârõêR)w%š›#ÝÒͲJpŠ«7¯êª%eN@ÉUÝñÒ¼*âWò¹WÈ\iT Uwîyå7ý¼ngn^·4=9qnzòÜ™s“óÑ"JýŠÄ5]zeåÎÊüÕ¥%µHµªÖ¹Cvwh*ª­û ÔòÕù›Ê_ûèÐÕé8à‡6NdÀý©mé�q À�wÚ��7p‚a!wA¾å`àLœµøBüq€°ãÈó�?~øÞ{ï`ÀàÁ»¶¿ÿ³€øþ_�jˆÒ2€ý�í1úè?:`n|@òÀ®ÕË�}+µüN+óVßÕö ÿ wHiüŒ÷z`ƒ'�„gˆÿÉ00øîÓ"!?|À0Î@N…Qÿ#‘}°Hðë´WXT‡¸fÀ!àT€ †èÓç/ö ÷x’xÛ#aŠÛ0jH^” èˆ‘€ ^‚ ûPSÛÊŸsBÔ½F»û{ ãÑÿ„˜:ÍÈx:Õ¥ù£·ô¸³—A/¼;{��Îâ^s§yc»Ýi7[ÚmwB20Ñýð =i·¥•Ï -®©€ÑYpÚØ^\¸¦YmÖÚ˜ تl©ØÞ$‹ÖÝÖ5mê¬óPæÛv¿Ç’ mªªüÃÆÀ�aãR Ø¼Š›°‹£O©ÀAKÏ΋€_1NpYsû² HoJC7‚ZþÐ�|Ú�îv»+r…þ�@M(üöø¡ÿƒA=ÇÕ{œ`ñÚ€,"ºlÔ@gtê7 -Hä^†Nm®²±E\aºq~à¼óÚ\•1åHÑOPQؘm–^ß\]šÏOW7…ó·J1n¬Œê}3Ùý üð¢åŠàpq>ÁóùÉ™ÉóÏj1°ÿONé: |l< g¦0[,{x¡ó¯1ܰRšžW3…��ñÿ+gŸa:`8…?Ïè5†H£¹Kx3î¹Z»woéÇRÌ¥}ß«ÕêОüCúã«ô�Ûàc‘¡{µìãþ�ww¹Š`8ÕZ]eWjÙíõ›ÓóåÊK ¨°Ôwû�²Þáá§Ò•Ú/Ìz.º_½*]_ÅþU?4þ,û8Ë#Ãìã²êáj­Ù$PÓ \‰TÀ¼Îø×KˆÑ°R¯“ŒÚéòìµüð0ÿøÎRu­®Ñ¿q7Ë1ôóÔ½q¯FEò;ªH=Ïÿû£}*�å°¾u¬z˜eb=i‡ =¢l} -[«ª:–ݼFH ¬ß?¼³›å#–”¼¯ŠäWËÒ𫃹ƒ?Lkd3£ ³¡Àÿ÷ç@õê‹€¿‘@ LX o''€·°Ø0b@s· ëëwý“$ L@è`/ò³¼ûý¿ú>°>j08Á Ðerøÿ×ôšý‡é#6pÂ(þÀ6{ù®Cê%‚ðüüñ3H—*—Ôãìs–ƒƒ‘H�ÿ¾\OR'Ä",K€uUËø/j€}À6싊|‚r-Ïúü÷ãÃÙq Àþ‘Ál€œr€q €ê!Ý?½Ä$éýÎËßúÿˆ À˜ Mž>nmé‚Âà>[€8¡” `07@�N§›M€öv+&ÐoØX6J¡ßit¥<+5.ÿ-A]ÿÂI�¤¥<¡#â`hoï1þçZ£<5vŽ¿m4ÖÝ Hƒ˜@¦pžâ¾ÊnqGW˜à�IˆÀS¡ø¬Ã³I®™DE;�³ -“BC¥!]Ÿ„k¨lPžëDÌAT–ˆ†ò-QÙRª…Ș﹥nW”¨ÓâÖ˜»`•[yÿ~"—gñˆJäøb¡ÊCݼÀ_-·÷f�Ξ×ø—„hü÷Šf’°·à‡�¿Àÿm:Žz„èÒ9š¹,nûM;*¡®‡ß®¼ �T±ïŒ”ìe_]Íûsæù_ »y½¶U�K¡^̰gëÜ*“» €^dÜœ«sG̵+ÚœÇ0iþ,XŸ+Ëd� r+¹èdŽ8³ÿFè_ØÎŠ -Ü…ÕOê8{I€¾‡Òò-êà²J«„&X¾D ™)>‘3ó 0 >Р1(Ç,6¹>W³ƒ-:ø8qmCtÏõÌãÝxýísA¿V=4ªéÜíÒÅOE¼QšFVngëÉxRSf™ˆV̾Cv›v�ËjóU�%T– -I¨¬$»Ò±²Ö–²¾�©­¡[4:ù­UL í›9Ά‡åìÂ�Jö¿WË"w‰Âä$d�„Šì÷˜˜Ø J™Wçë©�Áïr¬;üÈïÕõÚíõù™ÊyI� ’ƒÔ=€`�Ô"¢+á“P¯Ý‹Ú(ŸìpiE(?RЉ�…Õ¿¤¸Vxëd H}º¾ÿ8)ðÊtAà­Ï}ùòs³—“ û¶î Ñ‚FÀß2°Œú؆à3Þ$Ÿ?~øð½wß¾±hðà!?Ðn€W€-„'Q†å4à·¼ÿРÏÏ�?¶áX€'�àöö_[J˜÷81Æ«éõ¯KÛK§ ©ÀYP_'|€ç2„íÛ›/]ìËIÁ8ëç+é^^ž@qW6왌ãK,‰X@~ñ ôV‚ÂPä4äXNŸ Ð\"z ŒPˆA1 @¾ñ` À &D,€a€ñ$ðåè8[Ìœon ;;oîÝ×›íõëtˆJ(Í׺>¸Iíìû7{MJ»àj‘!vʧÕÕ9¡ã¢àÎ\"n3"ØSé¾3%Ôssd>ªHSìFø/® %`·ÀUª—~³¨ïZÓ4{¼¿% w€X -;·F]18¸F:¿ÐT)®6ŒðÛµ0ƒññ±+�vS™ÓR³:i�¼ã.ª¤¢”¯òwã>·øzõ·ÍÙζš²-RÖ± ;Ö@ó… KǃÂö j‰¸¬q Çÿt2�dÇ À„¾~!tŒ±Ÿô¢0÷VÏgµ¶ú²Y€9C¾6§—u¸†ë”‡†Û@²¼ö��ÕÕõõÒœƒî1úY‰‘¥rie…à?p&É•–. Þ¨ˆ2”Ó(€px–€½3ç'§…ÒÀ �1{’Çr€³—–m)¼—ÅÄ0fÌ8È^ü¢€Q eçn€gΞe`º„˜�9@°>ŸÕ Uð˜Ð†‡>H^Uë‘„m_W¯ -îâ\ey†‘•·DæÕÆa0¡½oÛƒ/ÀÖ~zò¨ÏUÝ´”³N+ëÅ2‚�:Uofµ�z¥!Š_îÕø?<”—Ítª˜ÿGy0éŸÔ~nŒ“«b� HTL08•U�‹¼trCIð!ôÈ\>ôÀ³ù µÒíe1œó“S%JàJ.À$B‹°í»:¼óqÑ ÔÈ“×zKkö E}F'}6™?�Õkÿÿå`œŒ<Ì›¼€wðX óC â«’à{ßeÊ@׫¨Ÿ>�òã"èO}ˆó - À[xh Àûa)ðTï~?ÀÃqð…þ#À¯LùHì`€“ùúÿôIDAT À¼¡ß×çF#& €I@/ß\q|Œ€û·¼ÚßÛÚã§Áa§ Ìg ǽ=ʸ˜Ëœ’ÆÀ¾d\g!˜ê•01€/‡ ˜6À&$úl0î{5ØôÆã㳆I,#£Y^�!ð¾ä÷u0LašÞ*Lm›Fú7ŒáØÝusÄ -ôímï9ߎãøpŒC ¾€›DÊ/×Y‘hî:¨-î(”§ý”-˜©ŸqPäš Š°½�Ì딿ÐèîxS¤@´DEÒs¿‡Å¢Ííæ^CDD,Fl7­ðë60Epƒ< ]¬Ú«&Êûõ¡ÊL‹áƒí†ZE�¢fl† ;Ú a  ÑšŠ\†�1÷ä †P¨…ë¹MŸ9Á€´ðûô I¥V)Ýü7ÂÔIáâÌü<ÃÈV·ôfO@S<… ýÚ\-×[[Xêp6SßÅÀέ>£Ô¶6Ëóµ 4`ôo]ºâÙcnj¯ôÍ—ìE U� ˆé5˜.­âp‰8óç±Ð£þ ¦“@P}ñÌ™™g°—þ½O±Ž—É–OâpŽ—&æ+Ë·.¹ `R80CÎZ÷�a€žDê.¯°�\˜¥uÿj^Ó N·&½&ÀYh&�ÃÀ.#Ó9ׯå íV+·.9´B©Vº™«­Ö™½WMzÛ�ìà?[¨×¦ F®×îÖæª¶–ëËd²•:އ^mép•‰}˜�è < wÄHâÈæ -½4pb o~G°MU´¬’ÛæVÞómë^”ñfÕ¾žf€6é¢N*çöíJ­4#ö&05u~æR…ëT£¾DüˆÄªr­WÅËO¿-Ö±{ŸC†p:îFlfÿr>T$ø?�®Oå%%ßà-€àí "…@AF,BÿÁ(€ï¾}’ @þˆ( ¼-ô˜¨ß¤WiÿkXރأùƒþBøS*%)‚úãE¸ÄÑç¯\µ |²Í¬·¿»”öì=FÜ©oÈw[óOœH€txã?:¼áÔ'±ŽÃ8�$ž*“�‘Ù¢Œ\b˜ç“¯ C>m¹§.0Á(àÞ�Ï/>Î(‡>ú$€ÑÙ¡ Àï}õ«ñÂI¯r°9áú¿$™ ÿúe=L’#Ãp¤À ™8&`«„sÂïfg�Yw·p'@s–H»�a£ÿBôCëËÌ>„õ—€Œ�…N»A˜#pC0ªZH—^\@ùÇéŽTÚb` I••ë²Óý�*³ÀW ­e£Ólˆx b7ù÷Aÿµ¬oÿìsØðÁdXÖuǵàí{O¸«äªg”óÿ6¥áï4ÿRlC';b8ª-¾z�šm´‰ý×`¡nÌHm±£vV*ò²G;„Ð X¶Å%¨Ž -¡‹ -V�h2Ý€6!ÆÆPjí{qVþ'éÏâø€S ’”ŒsB€§ÿ Ýé�n €ñÿæüÅ›µ -à‘ë4_/¿Ì«_©³Z¹V¨¸Æÿ@0eã;L8¿ú‰^ç¯õ*Ò™…¾&ˆ‡÷ûŽ€¸æÕ¤ý¯®Þ^®¬–&ÊÌ/Àd -€ ¶<{�a€ p–`€"@µþ³é±?U–Ópuz°SK–—kåéjŒH¸¿ˆ!†!Â}‘ -ò=ûL¼»åïPOw–]Í*¬C�B> àdAé®ðÎÛŒ…  @R)Í÷Uü)VÃ_"]²ñZhÞQ -Í;W�UNwÃõØ–*I^_RE€W òÆk‘'žDUŠ>ÑõLq` Ó.¬Â8ü…â«YµÚÇÜ^T_ø«”פ|+KÝ0¼"Ï«­‘¡w c„6L)*µù™Õ™åK—J"j3¥U½²äo)Á?r@«œ�CÑ�rKµýúHEÜGe=ûgŠ j×ÈŽZ û¶¤íãPýQv", Ñ�"ĸ~Ä�|÷Ç,:ã ðg}¢@‚à€8#;\Çðç€÷™™ðíÆu)Ђ°¼üG¡ ø%éÌûs£îÿi% -b_ûw"… �Øä¥—(ÐÛOC;P?À?ïk¡Ç"è \¶šæŒãëFj°7„Mž×&‰Å¾ô;_Æ£?�4ùð �nwý{�<8iØwqúµð7Àã ’‘ë,ƒÙ9gøÁ`-Òß^Þ DotS€dH€¼Þ -@Áœ‚Å#@ ` ÀŽ»¬Á9Áœ2l, -µQÀmJ×–m)?ëï"Fn¥@3Ü YD`���; D[ÆpOġٰ·6qPÍa¹‰ÅY�Š¢5öÚ÷÷ö¶[ÄâUA*½µsŸÿ%t:žBXP{'‘.¹vM¨I›H� Ñ -CFwO"°mw~ –ÚSžÂÓÖ}UG%€ÂªµHÀöžôsm-2�²o!BøÏ¾Þt|c±‡¦Î(Û=¨P³éÞ÷mUD⪫"úâW öOQ-T#e¦'¡+"jy0Yq[åîìí} +hžç -€el Àþ§¿Š0JŠ3jR�J‡œ)'ÒÙôN}JÑ[}m­R™ù7Ò‚=à 7K• ÁD¥²5ˆ[_ËV+J„i·þJm_/nцšgÈ1¾¬£•`fcµòòòíÕÍÃêÍlƒ^ø‚”™ßg^»/y×ÀœFÖtÑêòêKÓ¥�’ … bꥫ^HŸÑpÉà ^SôLHO5T¥^€Jå›Óó·!dyžŸ¡ìXÀ`€³gö@€fµ�îus :ƒÂn&¿úºe$JUèÈëٚɓÖSº¥â+åù üW[Q¥¤’ }•“ý -\ oN¹ˆJRUˆè㊬gU‘³Š.Tj½a�ÉýÚm ïzÑ)®Ý*v_¥Æy%ÝRM«Õ}-u±ˆCÕ'9ÇÙÍÍDD¨ˆÎÏ)I!D(�vÕ=Ôæ§_�™¹„ÃÆÔÔrˈ«Â¥f80”GeåÈN4¦VÛ\ªë  ŒÃI8*YíÛÿ<>IïScËË 4† -¡ ˆFÄhýXyBzº®?ÉðöÀ`0$'±>Ù`µ?mjý±€ õï<üþ÷�äa¸~Ý])П½ðÁ?ä8ðàϸÿ�ôq7+:Â`'Àc£²ìµ^/[Ê>9HÀw‚þ­Òë ÀÂadgÎDôã¶¶x^€u¸Žà²ð}19Ú À'=Ì/‰_¹ô~gË…¶LH(K¿èˆH€a³®YJ¢D‘¸EQŒGŒÍèµø>æ~]óõ;[žöát$Âp (À�ù1 ¸·�ö î'ˆ °³ý†`V"üPB€7vºÊÇú` ¢�Oî‡Á•}»¹°ØaDÝ6³êB¤| }¥8·ö´%�—}»$ -£!Q¾Ü -*ušÕ��E©û@öö›ZÜWÕ[mæÞo·ÚDÚ{½½#ÐGM.N9¨ö—a! ;U'}qêSC4[Ììƒvö?ì:ÖÿöþB-¶óè¯zwu‡ô74w>`?âþ©²�?éì,Î.‚Üø?vÔÑ,tH4gEE¢"~MB!,\Æ ‚zˆ’pv1uÞ/6¢mY@'ZzN¢4�WHKªûñ1c “ÖO9€¬"Yœ�WêÓI¼�«€`>böêW+y�*J¸^æå:�Ð:0`F—œDš| •+°¸'ÿÏ¢õ±})c>Àßi.,4é§”£ë®‰XAîtÀKæÓ½ÿýî‚n:àï ÿ[§»otÑ¥±L,¶éŠŸhKéw�BS ”³n™*‹íaU•N„jІ/ììý€ØFí†4qþvƒÊµ;�F*ÐÁš±Ýi~Ÿ‡6} Û-êÞQÍtûÌ&€g¤n®ÙQÞP'µ`›Žƒ…mµ† -nhOY’éˆ<©Fb2Ä·‹�E€»Ÿµ-Fk‰V<‰ñ߭ΣƒkxC²›±´ŒŒþ-þ˜x�?½xPŸÀSOpYˬÊ2¼?´|F›‰ìÎ×SŸ®$Þé€ÙÖÖOtPH.¬]¾½±%ÈDÅëNJý7W Ãó7é�W&/™hSa¹R«l¬.o•§…ÑVÿƒL¥pç±ÎSEÔÿ'0€É)]{Y­,¯‡H5x¡T©M” $Ú‰Œ%ä9… «‚‡€í  ½¹ÀEAVí*ð©™ÚkK/8RpÎwOß<{^ç+K»´ŽªtHPíµ†Ú2Ìñ†]"î»D×y©Ëv•†PS« -ÿÿ(¼é1d•«à² VM^Ó/ê ñ5iGÊõ£%‚÷ê`ô²ó„t´Z틪1E?']¥Àc;ªÁ‹D–-ý˜œ#S~ßÑsw«ŠÌÏëIó¤Ô€Ë«f)¾œôw¹Þ™ -UÍ”ƒIÏ–*п»Tëãe¹No×dw�}Ö±tÔþE,†�ÐF�D¦/)B€xÅÛ7fŸ{Q<à�-_]X| „Z -'@¥æ‡Ä®AwL òÇdÿ’�@à­¡ëcàê°,^g@X¾� à>€ú‹cŇ¯‚øpýKpïM�¿7l Љ£Âà}ƒßQày�°ÔØ~ @¸õ?›pÏSz}Üa/ÀMCoøO4�!þKœD}éwC¯ôçcσ°ØÉ€g� BD2»£ŠE¬C¨ ÕQ5œëp ` pd6Àk’Ù…çÒ{šwúð­í-@€ÿ0`h�`À Ý À ` H@&è\lÜ]`â{´Cü:4bA,FühžÛ ·._D¤ý6v)È1°]§Œ· ‚· ¦Ï!ûá·ÁAÕÌÈX^£ã½)b€‡ hì^ÿ=]¹GL]¦ ülo›p¾P ÝAûÍl”ŸXŠx±Ýi1pÓ~»«$ÜxP ú„ém`w'ÖÿÞ›„âUµÄ$šMÑ]Ôîl/~Àÿ‘Ûîì1“O—‰�Ú0n B€÷@»Ë-6¡ín[·™ALã�ÊÓùîšì©’T‘æ 6F†D\BUÔj–xÆz®ã>øt €³I``ð€‚Hç%ºhÄ I©âì3è=­e¥¸NÍ\ÐK]:º)Àª@K€Å‹›•ÊÊJE X®oÅl÷ ÙÈzèĸåKË•ÕZVž—þFèx儦O¸áyÏ ì�…å催êq’ú>‡ ÀÞz±Õ1Ðÿñr©’YS¥:î¸8/Pq€’(ÀÌ¥K&`]¿·Õÿ¼¿µÕÔëõ?ýüóþƒëñ=Ìû�¶ú½<¿³TÍò»zöûžàVMw^Éó¯LÔH™ RKíæŸô•ÍÖ'ûy¾¿uø¨§ÚßÕ«S×+‡Þÿü ×ï÷óÃGûÊ¿ðÃêRÞ6*ŸÃG½�ìð ïõ~òÙïçýÃ]]¥oëð0,9f³êÖ-Ék¯¬d‡Ÿ?z´¯ü `c}¾ÕûìóžJûü`?û4ÏÅp>}”ݬ’g„Dö?Ó}ÐwKªž -ÏuKLµxK§tku5û¼¯z>úü³~ïÑ£7IÀ?ÝñÁÖa½\®é¶‰Dø9™‘Au©š¢Šè¦¨´ªò¡–G~æîæþö>Yèý0€ØòrÄ`ôÑÄñûü¨PŸ,VâCÄ,Þy÷{7ž[hü±à›ÎC[¾ë€ù1 €~7Àw¸Zã’Pþ¨ÿˆœ t`h¼óð¯ˆüðýï¿ÿð­ C` @÷19é˜å½‡Y€ÿ¨ÛŸ>8ßø¡€�Xô7Ì([Ø”£�I¢_#øïgaÿÒéó:£ƒà0Îúq ‡X#¡ü§…>º\¯€‚8S‘… =^ûþ#Fx}„ù€€n4�þËÅÙÔ›O¹Å(P?ôcùø8ƒÙ9gÕýšþf¯]{ƒ¨|ÈÁ;[âW8Jö�øµ € M�Âд `¬T Œ.A:­ívSHEx< 0·³½`"!´”j) U¥¢ï_× ^•Ð#°£ã¸Ý¹û¾ _—R¼“•’.pt‘+»ÅÅk J�ÂŒéA¡³wE…‘÷zfä!Ì?دŠ, råå(r" -²§CÛôC4Û‹„-LCØ&ì€*¦èìÕu dˆq‚1‚‚ìíö6ýj‰®„îÊ.¾ºÛX\!¡bºчmæ½è(�òÓ‘EåJqôs` Yù`›©~š�ž4“*Ÿ Î^ÁM´Ù^\èbŒÐ#[D·ÿMhVÚ=zMFñ_âG älj!þ/ÎO+ÒÓjU,Òñ�’^.•×RÔIðmûjmmÓu¥VÏéÒÝØÇà‹ªˆZ‡b§DVå¹à^ž«eÌ*€ ˜§×¿tsæbì$å_?éÄÚÀ0�M×¢¿¿¹ ÈäŒ4ôĦDþ•À“8ÀL¥gUàÎ‡Ò º­ÚôÌ-†ÚÑ€¶S3ÒþÏŸUƘl8ãøtIî¬T«wVï|kîˆ^Gx=1¡*”FB`=×ÓñêJµ\¾z•@wÚ¯”ç§'&'&§§g柟¸y“F%Ÿáù·R½S][«1wnõN…Óåê -Z*�¯ºR‹ˆ++J²R¥àê\Y«¥ù%ž9Š•‘Ä25T²òÊRyî*!öTÊJùæ’#ÞTöKeÇéq)œ%è`Y÷X%b�ÊÐC¦„ê+Wÿ¹U*Þˆ��囥ùùùÒüÄ ω7ž›ž¡ELò,Kj9jm)—¯ûOŸ¿IE”óÜ+TDú"]qä³òÊŠ›UùüvýiŠžf™µþS-à Pá-­Ø‘@é'H²üñƒ³×Øð\òxûd ÀÛßÕb( sG%¡ü¸ -o�ZâpýÆõ°Ð ðvr8ÑP¬ è�í`c}c�!úî,€ŸÀ -øÄQ#- „#‚þþÿÁÀBXÐ - ÷�ß±þo@X´åäô“ ža!Úrƒ}a0ø³ž€è¤ãïS]j@J# t_ö\Æý@ýXÿu–òÆ| -0: °ºtï`˜µ7À€?xoÇë|Ü0è(¤N€¡ yH:É €ë¡œ¢- -�Ú {c¯%ðÚó¶ˆrµò*ÄU*!v¥ -é+“îÚí0ø`{Vû ©á_WñC‰÷à UV™(ᢒ+#ý@&Bæ`ˆ·«œàRÊV;�¿GóƈÐÚnmwá!ç^[+êBéä̽×îìa@ÅÇÐw…JÒh1gw¯ƒÝ~_@.apåÀRÞß{¢R;‹ßÓ)j$騦Q z@yÚšn‹/tU2q5¸ÿîÎÂ"cvZ<&f+´Ùƒ± ¥"†"—tT¼n§1ÛR�$?ØÃ)Ü_X´új@�ÿ' H*ºèþ�üøT²Åÿ­ôxºÎOž¿0�cž€èÌjŸâ×Çèìdô¯gýÚ�ú#)xû¨ƒ\¬³(�Z÷¶Ö×éÖÝzmÿ V™_ñ(‚°ïêråg'@"ÈU*¯Ú¶¬ró� •§Ã•üÂ.þz¨Ìâ È�=q�K3ÌÜ;9ùì¹3““ç£ §ÈTmõ0¬áëž6—lUÈ…RV»UY%D Š¸t Óž%ÀY¨@LHTA"°oe­®{¯~«.Å•)w+uüôª‚°« èY«×ïé�áL¼aei÷ß—çç•õt…8¾ó7_ªP�sðeÈT]Ù}t ÕiM9€aÇZm¥VW†ý;Õº¦3Bõ;+ߪÕ×êÕj}I¥T¡Zñ™juîßJ•3·­ZZ°s»Fò¥«Õ¬º¦$Õ5=²ŒIŒ×´¼·v§,²—åØx¨I­¨ˆÀ]·©âõå#”qI+=�3“ÏLΗˆK¸V§"Kõ;´Hu­^Ït‡UèDŽsE�!]©ß#·2cüò¨â»ùyµæ'pšàI>ü}oÄL¬×7N· f‚:'û@Ÿ&I‰Gp|÷miâèó1 Gœ`Pj–É|ð½ÿð=WëˆÎ•§±èb,oKé8b@†à2üigj7‘',#p?üÌá螀+ÇGèµÀ(€�€mÀäI­?hsž‚:Àÿ²Oè÷;èÿ€´Àš“ìøç’h@0.+ÄÙ*-nþÉàÀ»ÆjûþëÂ@îøÒW}$ ]û�úÅú› $œŒÙyµÜþêï@zSi‡V “žî1šŠN�Hàd/[pú·bNŽRë›{{o´ºÆb¦Ûq�”%z`IÆÙ~q›Žy¢ü n»J‹Ÿ¸ßئo_x\aXXl‰8�{\­üœ)xÄá¦Ôìö_îQ{�–꩟pXgÚ;í®8†ôÿûÄd‰Ì'¾°-V  wÖdô/ŠDd`Ûº6î0?ìtRÐcÚÁ¶(„ˆÆĤ»°Ø¹oÈV%Uaáy—…öâ íF¶Òø£V ìïèñ*Mßý]±€6wè&#«Æ5ú"TYÌ -ÚX«vŒ¤;-Œþô«Ä½*ï…îý½½VK J¨¡†Hºƒ(Ú*9‚ÿÛ‰¤YÂÕQG½´ŒŒþü‘{f3ìS|1€jiæü™¯Ì”æ_°š3KH€ Sªµj-«W×îh%ÁÆGÄÜ¢«·H)�ÕîV—æJÄ�ŸÖëõÐ×i¶É˜ÜM3(gó“ž�:ûñt¿¿¿îѵJ©23óìÌ4vú“:ž™ —B°¯U0€SåÙRµ²$Fb“†–óÓ& ŒKb††(¼U„8ÀÖ‡»Èá£þ1y¹+é6Ù‡‚ã�ëW—ª‡Ü2^ú~œÕ—V²zöQXì÷³Ýýü0»Ë)BéV_U¡Ó%;#ÒvYò��mþ캲yÈä?y¶ÕßÏÅ ôD˜ä‡I}ô=X«æ�zj7’DEòZýp·>w3ë+]VËkÙ‡5é_ÕùFÕÕv³|“Nþ\LM�Ž)f©VÕ©{å¼§Ëw³ìCìBõ^ÞtEöëå•}Ud— •jëc½¿óMPuɵGåj¯˜k—>ƒêm-™·a£4ó%FŽ–*õÝ|ƒ¬þ6%ªß¥7½º�Í�³{ù®Zléß«©êyýê¾NÔw‰Ó§"?TAÅQ!ò±~c ËtêNvŠ%ˆ†DfëáU±¹1½€ð'ºÎ ­O±Ä[Ü[  ÛC �~*y¨<… ü{àH@³Ï ’±ÕC €@�®²$ø•„òã¢, -ø³¼e€d°àŅ넳 ¡þ(ô�ŠÚ�¶û6X?€­ýÄðÁÂ0> -``ðËü_ÿö0˜«ÁQÓÝèxذý9ÅJ‚X®ÀG?`[{$±…Ý„À&ŒYlÙïçK¿û;z²ð†rÐyå$�ý˜ À "ÀS�Pâ_‚à`°“€ý¦;àÿs×ÄR'€^á~k#lëË5éˆ��züK†}›ÞÚi‹ ûŒí"ëEÄòiµÞxƒ€wÚÃÐOÞª£õH„» ž×O -«PMÉZ(Ø`¥½ðœ øÜ‘íâpgó¹‡ëƒl*³Ûhvºü€ê‚Žb+AP@[¡£@Ê"5¾Ým©PÂaÿ§™€ÎiÔ*6<õ¦mUNpI^ !²V;�&¡ Û ¯µumµ[{]8tgíÖ ðÔÄ ¿XÂb³qmqÐöef"ª‹=t?‹înØY¤i¹a5_g»¥bµÕöø~Ýv—'�…¢SµMtÔÐÅ£p�Ô$¾ ÑœÝîî‰ß´vš{¢/ØSÔTXD—@ÿ“ &i@¨ö–Ày‰.z¬¬:±xiþÂ9ý»œ;711===g±Þ†bË<“´”_¹så ¼Khv+¶êJõD³“Ü\ÂÂK~+sÌIßÌß\òÖ…i âLˆã£sós3œt"áóÄüÍù æ§/0}ŽÒMNLê{9Cíïù?*ç.¤¢µž~núÂóº©ùù‰iU F�9¤"4C“ò¤#wkµ¹•�|”‘µìc<ä¤W;`̓øí¡W8©3•ù™é æ-=,á6éŒG6ŒHcÖËÒ°ŠÃ��)AôµHúkß«p%¤`W«”#"Q+Ï•wë«ä@ErU¤:G¾ÊËv2Ÿ‘^Ñ*‡¨ª'1,Raí–Ë1o êpwC*ÿú]úttŸÜ­vx³þaΠ N¢¢6’é/M–ðÍ _‡Lk·ÅDîùnDE)£o­öqu.cž@­¢g5ŽR‰ˆHppS«bù#ÏPÈ~/¿S?Å\¹»~—ðE*Ãä�(áÊ @ܰ’pÔ „Aý?Ñ ðùTõ`ñ¶ðömeoð€ïþñ€€Hj)¶ðŽJ‚ù#2´£N²¼8Ñ à‡þâtÿ�lŸ¿@~-‹�áçWþÓfˆœâDGî2–T([ˆ�ÞÿtÃç){Ö­Ù R ¦—yBÚtL� ð?H€3 )B -õ—i�ìJ€Àfþ„÷Ê4 [[>RøXb@�úõÀ1€� à«_õû�7»ÅÜ€Ø�× !¼µ¯n¿Æ�ôÄÁßì$@ʹŽ ™š;÷�þ°H}¼Ñ¤“ÁЂf�+E{›©~MÎ×ÖeÑjì4š÷�…�½6:ëžrVºf ¯Ÿ˜ð¤J/þçÏM–^ BƒÀ*�"³Z~¯¼¤"h�BtCq¿ÙÒ5Xµ6öŸ¬DE6yðô‚«evØ/¦�·Àøž,Œ�o:j�¤DÈШ£¯óœ$ ŸO“‘<-ßÛ#€ë öŽXÞ%éá_Ä0賌û€|øŒË‘c6¨$¹â ècÀp ÿ<�àÑQ,F}ô,0’¯W¿aü¿¢½�ÿi$7|Kÿ×R»ºýBé�É€|”ðÁ¾$�Eø£¾ô;¿û;‚eÁ¾T~¼®$ à-œ?Ñ€ b6@£~±æ˜òHjä+ø~õ«v®·èÕŽ$üoï\[ÐßD0Œz…³bó�󰀌†à˜€0yQº§ˆ@Dþ3€áá'¤�ið”`AL¡Óltº-ôfƒòýîý…N³Ûø ]çQyF¶Æâµ¸"�ýp_^Àà,–A€À�æs ôÜìA%vu%žüííËÂìÔMÆÙ)'X‹ãÀ>I(!‰Tñ[Ó]ß0ïQyÒâ[Xð ЦÔã)kɨk�¼Ù™•âîN}?ÕÃÎ{Ý�ÙEÁ/Ä$ª£ó‚|&V�xIêÞhœ; -‹n]�:�Á#ÍHqÎ[FÇÁ"5Æp2å^pjàqˆˆð„œ–‚wÄF:ÊŽ– X'ª�»0Ä€!8Åþ�‚\,~útòˆÿM©WRggfn1†õîÕÚÊÕÌöØ„ó¼ÿI®$ýÏv…>ˆë»6úŸ²±žI?üéRw�9Ýx­“‡ ðÚU+� ×¢RË÷uÉ® @z, Á|x‚®5Ò Ê^­ N`2P ÚŸ´¥ÞãÎLM²çqá€K *óùoåÔ'û8S�^¢ëä}«t;«)¦šºx錳N>‡�üYº‰ =ÉÚZ5«Ï]Í3e@%u™ðY€—Ím'IÃn Œ O8W_ªV^˜™™xvuùöª�澘W*úøfÕržW„Æℸb\¯Ε‡©ö«se©üù6iUâójŸ�†«„ À$Á‘j6·Æ‰ù*ÈG¯ Y9hS¶Õ®ååò~�‰œwd#ÕMOLç—²üùr–¹ÄÊKaxáÜtmFívfò"OÛ ­[ZòŸ@ä[ð 她7ç©çj†ÞT!Ñ ¨ëcD™à‰²þ(Xî¥.ý¸@’½føæœn H8öœè�ðùiÄÊü÷^³<·øà»Ã.€Ó,¢ }G%ÁüZ´&¯,‚óÇøäëÑcúð':éíÏ�)ý#›…5à„¹„÷tì Fð,ôŒÖãA—·û1ü/v sÈ¢  VÛÙŠƒ$S²+®8Áêÿ®–I ÓZ¼|ûÈ€$?ú‰ËŒñý -�Žœ8osÄ/x�DX l ³°Ì^‹.€d(^Þ†ÿcn€Á”“MX–¦‰ ½î‡Àëʦ)�\Èâyë€$�Tcû~÷ g®Üf…“M�j÷þýÖ›m�§p±Û¼Ýja„;Š�n¯ÜHÖG5¥‹Ë0“��XüCš8ÓìwÛÝ3 6¶;adWÚX¨¥CÛQ&ÄEÛˆpvAÜ6¸­M‘‹…Fçv�V×àèÔ&7lú¤ŠÐ6fñú‹Cjqˆ9èÀc¢K鹿ƒÁXÔBº9:™µ·<¤�Væ&h¹f[Š»šC›q3­Ž¸“˜†´²�Þ'Z„Rq³•Þ�êÏßBãunêiu›BmþBŒÿ¾Q?l¦Tò†‡Œ{Ä_ɸÀèÏÑâO;†)ÿuO#y¶µ™omT.�?;¥yÞ;Ī\™/ ›õšfìW¾µ¯ ­yûulj’çæ›Rd àwu¾QYž9?s+"ÞÅ`x{™0xª1À»<_Ñh•{€Å¨Ï&ÇDFعTºtKø>õÕŸw´‚ä°º”¨ê_¼ÃÖW×¥µ–ɰ&Mÿ?&ÄÅðüÌ̳ Å }ÿ!$NùvBêõ«sÒ½++övçˆðX’2žvPžÁv“×ç)?1ð""X t[ –­• îÂÿ‘²ÔXI�ÏÊk�vN1´0dµ¹%5å -£4Hµz[y«Ü*�k««ªÉ«Ú�BìäJ³V_¹ºV)¯ÌãÏaó8'è PmN÷ËåGÜêðÕ�’ -2»¹ö¨vsþ.ùY–ÕœçæJÂÿg&Ï<3£¿•¥zlf•¥\×±Ceá;Ú [£ZÏ–Êõjuen´5èçíS%˾óÚ†>™º°—ç¯dÓ“ž¯ɘ@¯hÿœ²àñ€BôÎ7Pðò×ë¼@$Ä ý8Óãÿ8u¼+ô ÀÂé€1Àoà0> - |Š8BòÓ|8‰…~dT÷ɲöéæûÇÈ@›¾qò\Ç,ú§¿»Nï’ˆ¢àR�Í?«Ü’ð?í%pÇdÀ ¯�° þ/'ü×�8fB�/}Iú¿`¾Å½þ íI¤ìNñðö(>ÃmKa0…ø¶ÿ’´þóÝÁ  ‰÷wl§=à1ÆDèÆ8É  �=å�íîei˜Ráj®�ióÍ=8Ybh7XJE}£ý&Þë~©Û,[`ƽØÒ.$j“qHÕÄ�õ¸+g°¹@'~«Ûô·QÐ�Ï�öÞâBý]»H´ˆ@Ou�Ziû ‘JP׸+å�”fçAÎ1âN(NKÈÇ1�vºZû}ï:·=Û“H$âfè½g„a³Ó¸L7n€¶<Ÿ¦î„�Ü›ª‹/ÓÞN‡K)ÑuÖB:}³ÓÕQ²äöÛ�®8IèeÈP#ìØD ¸˜ʶ’¨¦mñ+[”Ö€ìÒ³NøCÆ ñG¢bç ‹à OOüÝ�~}iYªê†´Fá_™)kÝ«/Áo67ýj—ÔÑ0Eäýv�è �ׯd6¤"`˜¹%4¾Ø_zý3NμPbbüÊFVž¯ïÓ1në¸õA|Éò2ás/]d¸ž É ÐòŒôuæí{,¸µªª¡nD…‘EÞ0 -ç±”áyQŠ)å¦L™ø³Ï!Y^›»ç‹Á¦ üGÿ]aL\R÷A·ì&y#‘ĺ¶&Ü­Ï•}õe@š{Ô¥ÀóþXD‚}ià¿„Uçu´nŠÈËÕ|sWTÄRçˆðz! [|‘PRNUX½m�ýÛ4º €½*+Õ«‚Q!]akþ›vøòÕ•03Ä x<§Wd¥ÙR­Ÿ×Ëó‘¡¥ü¯/”fžÅ‰‚.€àzäZ[²ÂŸ$Å‹�¨Yý -D`¾_T$n]Â�ëóßa® Q�äð8 €íñ—{‚€ E'Ø£¯M`F’„Î�—¢ÀÑ€Þ:b¸ñàíÓ||]a 0�KàüQy¬àúÓÄÊø~bÌ#¢öº; úË’‘ÿÞq8@$paŒxí;Ç| •ÃUÀÿÉø¢Žèô: õ9t¦°�Š+9ɾEŒÁ¯¤è@¤ÓTkI.ÔÀpLmq$ùØe€Q­ßߨãì¨À/â!gÆ3€k @okwÒ§ñòfXréˆ$²¶$€(ÀˆiHà ãÎÛU¥Ýî0™.:mƒò•Õo(#ƒœÐIÚ©@¿+�s�u«Ûºgañþ6!ô(ok½/ À*Tå­¤œj³Ít7mÕ¨û—XºÛÛ³‹Í†òTu ÔÂñ¶Jê,ÎÂ�ÌàH`NÊ�Ðf’B¿@Ï€ÎÑrÊÊ>J‡‰�‹ˆè¾å'䦶ڭvcOw¡ >À›@0¨C‘„@fÕ§Õ¸¦FÒ¶uoµµòf³¹0«R]'‘¼\ -FåƒèÚU…¸†–PéjkeãDp:"@jk=2Xƒ¯ƒc´è‰pQX’áÀ ÖÙYìv€Ä›O:€‡,.üþ˜ @$y¢ê? ÿ×=QâŸ3ÛXÆpéVeÕ¶êL g -‡ŠSÚ踵¤C:g´ÈëwVQçõÒ—Š-PZ[žVè'Ò mÿRm{ —ÍÉ P?Õ à¥ÕÌ´Õ¸¬¯gY=>Ÿâûµ¯ ,Gæ8: -@OQõé§Ãúƒdø_˜Ø€§ð�$•óGdhxâ(€}Ž¿DGU:"~BµÃý -ÀÐà!sW®ŒY>z¯±Ø(ç¥ÿ$ˆM=ŽÿÖì�tKb#�9Ì!�`‘¶¿Œ%ž³ ÇÓå >$”}/`ˆSÆ møˆýH÷ÄQ¨|#¸.XŒÿ~ó#†àca–hÉ`„ge‰ À�à]€-'x°eh¬š�kÌÊ+)òÀU_ ×nííÝ—vÜœÅÎÞhí‚Wß�7EZ÷A£û­pbÃ^­Û‚?4fÉ'pH”`V@O_¹×ÞkuéYçÁô6Õ'ðî'ÎãV¶¦¸ ªá3�–0¯Cǃy}óŽ#H÷7yêVÈfq–ÜT™èÔHý Ò²·‰ë'6`÷Ý )õº£=p_‚òÎÁuO7”@S0é¶aÎ¥PÖäîúù»ÀC¸v�ùzÆOn_›UVÊCê¿ê¹v‰Y´£ú/à‚¹à¾-~ Öï©ù÷Ì¥tF5m}pG¤ ‡ eFyÌåå@� ©Íü Ç FŽÆCþø{µè»'ŠÿS±Lž…Tz•ÕR%ËæïôýÏ/ÅI¸¢-̹¤%´#ÅÀØÏOúV«™ ÝÒuKÿPø¦@ÉoÆWÊ¥™éi" ÛzÝ/OWL–‰Ö ú“l €`!çÔg#n$àd™œ¹�*}¹òr22H/Ì·D.<�} çíùñÕk A­Ïs!o=ëׯ”ë™� -bT„nå+zóÙ…/H�~A”¸–ß¼YËæ!BqZ ÓÉÖ¾Þ}J^½ -$_O¸K+ -o?,ë!èš~Vž{Em̈>ÄÞJ¨ºl¬oe7¿vÜKˆ«%5©VT‘úÕÝO­`µ5‡�Õn‰^ÎJ••˼”}!¢÷>«43qm}7ù:fµ«ÌUÖR ©gc'À©9ŸõÖËŸ“½vLDw·V]«Ôv¯ä�Ý:+…yP‘¼wº|gcS¨¿… @ »}ŽÄpvɰ)¯ý¢‹Þü ’ªŽ$Œ>Qþ—´Șàq>¿é(€§ˆ ˆO>7Nð’€°™O‚ý‡ß½›ewkÈÿÚúëg‹Àóc>ƒ¹ôw~Ä@�X,:ì¦>‚ÿÆu =€8` }wÞâ/@�„¼ô™]%%6ž;gF:سÀ¬Äj×�>~wC¨\§ýË6�ÍÅ�ÿehi™pÔ’ç\Ò€ÿ!ár/G ’x¼À-ü/.èŸë‰þ-õϹµQ¹xöìÔÅåÊêF¶ºRÉîê•�B ªØ¢+àõ©w<ïÃõ°Å˜±ž=Ê^©b  ²2ÿ¬€ÔBƒp­F�5 ï.ñù[aG¯Ýœ«Ú­ÕíœMm„¢þ_a„Ñ™ÐæzàFðnUý1&€©‹`ʱÔne놂`¸À<ÄT&ñýSfÑ °•o~¸K îYº9û‘`W»R¥×Ö"ŒCÞtZ/²¼œõ{`øfÎÝ+YØ›ÕòéJef>Üÿè†�lÌ„x½�Pcðí[HjÏ$ÙŠqWÈ%*Rݽ7WWE”WUô¢Ö\dkcɬE×leâÚx™¨ØªÒÍÊýŸŽ¡€ºXtREVì»uB¸¦ˆÍ«•<Ù/Ê_SáüŸ™šœÐ¹¤Šà9¸±‘ßSQ½�oÛØÀÑQÙí×ê�^S}T~ЉDcP‘Þ'ýƒS>‘ðµ�×¾ À  À݃ÛôwxÜ@+Î�h8Å`Tz¹ÊHµ.$ÁôcÅʼ‡>|øî[€§ˆ *`@>" çÇehК¼N°ÞOõö‘‚œýý=ÛµÚä§Úr8Éàpdï’qS�CÆñÜO zæ�í£Hî'‘ÀFÎIÜë‚3fpäÌиë«$6�0Þ�Ø8Ä÷/(G´ -¼ÖT�øe<Âô¾FÒžÐ:€´Êð±¤w8—Ã'tM@8øûŽj&å148ë?¶Þ¨ˆ®é¢>Î -G‰Ï£é°Æ^ÞÆ --àî,Ð….Þ°—¦¯}–ëZÂó Û Ý€Õ¨°ƒòÚlv>h¢ÜâùO¢˜f‡-á$ñz„Šiâ -Táû»8Kµ¤ÜãD/ÆÑºÏ8­]zÚª‡çR ºo -ÊfÕH(ä`ÞÎŽ¶“ùMÝ7‰R�&­<اƒBUÔQ]"¤Ai§ã^p9D;4:{{Í= ´÷Ú�.éZ¸G4h^!2 -•m·%Æ‚.®2í °ØÀµÂE©@?%~jÝDûÚŽ2s¸å.If!UJÑŽ‰‚H$BµË]%Íæ÷Ä0,˜ ±#ÐN.€1`ÜÀ…À÷ -/÷øéà•ÿxO!¼.7–/Nž�š¹µ¼ººq ů>_íY_œô:w§µõGþcCü‚H²ÏG�Ð@tÂ,S“¬p`þþ©É3g¥¯?þÏœ¹4#àÁþ_ñ¼t/ –DVö/*cs -,SfÎ1Ï<ì�{‚í|\¾3çqxÕWu÷êrïy9’„ ï?9)JП¯ÔffðŒÀT¯‹PÁ·6j›¯Âæõ›)=²Ù�·±VçËUOÕ¨Šä/U¯~$L"²b?Bö³éÔYvÓH®Miüª¤9ˆá·²•g½•þA¹Ö,Ó³ü³ UÞù¨Zæ-ŸÄa|•@voÂî| «=_žÏ^5M ufrrÞç¨ýÖÆ -‘ µ™)Õ�U’<ßì/ý$¿“%›p’­\¼a¤ŽÊktUl`öke À[–ӟ☀QF ‹/j�ä[û½ý^/•?"Æë£2¦ÆK­ÿM|,ã#’`~L†>�™ t?Í `? ÿÔ§ -:€š®Vwô¿ Å‡ol~í¤Q,ŽZFF¤¦.áþÕà?k‚ñï­SìzøAgí~ùËú§åXÐ�! °3‡•ù`ÊœþÞïpY|à”QýCċٯ{‹ñCþA ½ßGƒð>g…ŒäÞàИ€2q@˜œ4ð?7pXÅ.nÏ - -þ&¼äH%o(µj"l•š‹ í¶`Åßjù~Ë]ó -Ð|£¡i£5ñù;Bþnã2ññ­d -…r"$hÅ=Ý 4ÂØ( øÕqtR¡ÒeÁ~³ÕÚ»¿×z£Ûê`¯m{«û§Ýv·sï�Åv³)Þbú¡ò¤‡öTÝuµâ/n3À@@í„�êÕš(ÄJÝÚ~£…G¤Rè~T³E0·Í˜G1�EL«ÝÒm‰aÝ'o!7¡�÷î·„úÍY&pŽÇ¼Áõ¥r¶îMåôAcA*½n¾ùñ‰ño­ Â�ˆ6·ß. -ž‘ã<•ŽHU -“RR1`Ì ÌŽÀŸò9I ?ÂÙ…E½ŸðÑ+"žÕDÂ`ucóÑÆú«óÕCóus£¼­^Å­ß}ùî++�xá ’*¥ù󶄸Q©|Ó;"t ”„OåJ¹~óù•ð˜,K÷ÇXú½ð_œ¥Kë)Lg'/Ú äTpv‹4�î6IHÂËðö²»Ò$itÁÌyw(ÇgÎøÎÂÌ!•^sg÷‡ÚŽ |ô0p48(gÖ»-œ¯‹ô"dA³NWægúx!Ø A²±i‡÷@˼¶T�¢2p{D|Uˆ3XT¤¼k6@g:1˜lGm픫ŒÔwç ûâ`UÇâÉó�—k==®ƒ¼¾[®³²!‚9­T0Ò¯–³»qºC¯GE<ÇQ©¯Öêµç³W PºxS�0#Â…+‚n*ÏÊ"q™Zð×Ï]*}½ïê»y5;4"$8@„SÅÀoÀïU¶"@r<æ@~?:õE}BˆCÜëµ;& ­O+óC€�`ÌÀ ’>iÀomxû¸  �à‚tŠèvÕ\ú»ZÇq<Àߘ -àÊñQzE âøAñ,è…P¶Øy\ÿ×JÌ@<Ã8Ñ{¾ ÛÑ×�÷¶ÞKœ„¯Sœq&öÕá8Â�úGä±~dqâ(ÀÀˆ�>oó^öÐ_’öhï0`Ð/ðâ-™*«‚HÈRh00�ÉÀ $‰ü�3ˆ‡­ ùÚ7}Öi̺ÿ94ç¦èõm´…NÂ~æÔÎïwñåk½2‚¢bÇ$‚;­¦ðY`%EìV"ç@€îREâ`2Â�ÇR÷‚g·fwçò"}\ÓÝn1-°µ;; Ûvahc¯{ÿ/ÿ‹ànÂ>Õ¦!ÚCçn„Xì‡j"]EkÑnÂzfVµÝHÂæŽX7ÔÚStLUët÷:]ØŒÒIï6»Í& æ¾ø�Òܧ3D§ïv[Xì/˜Ë-ÙÙPTƒ¶Ôên}µÊlËxcì5w>¹ Gã - :,h‘æë ‘€…ÈEC<@ûâ2M¥]T©º­b€°øá³æï`Ì`ô÷_ç$ýþ3 “õñ„Äõʥɳ3—–—WWõúY¿¶TÆ8­W8Î;È:º¨ß܉Äa "{eå0@µR™`¸Ÿ±$³Ö\Âi /À™y;°—ËYùùè°qþ®rË"`¿Ø€H�=m§g Àž9ëa€�7LÎ,×n¯Þ¾Íð;àÃï°–Ú«}0)Ø€`ÊÐcÞ£3öë#¶àÂ@›J!͵œõh¦�«·z‡[=)®ýÚÌò¼”üA¢–3ÜU -ó 8©¦f% ^—ÖNÙì©Õ?® €¤ì„«z.ýù‘³ÈËÄrô†�¬÷hk)[©%Ü•hck«—mlÖ^5m€Pñ‚åÕÆ±oã‘{\dV«Wsò„.A¢Î=#RG2å´±U+ïãÝ?· ²•míæÕú·v{p�B`"¹X‚ç:öYÅëoË^¤öêI>�,¿�à·ÿ½ˆÑx’$À.ä‹ú¸ ÀÐvpÚ(€S,¿¥@²Ð,n�S¥v×>zœu«úþ ¾ðŽ�Ï -`œFþk�ú÷Þ´{%Á Ý=»ÅbÏ‰Ì -$±k7eõuP? Ù>Á@àØ("ÓñÞ-|À}ýj~Ðûžx€v°€º×ˆ³Ž Ò‘`‹¿ÊÚ , -€p®Óè˜/×%¨â]Æ�ßX|½)ºyY¼°ƒ:&¸·wf…ÀÒPß”ú+Ȥ#@ à>°ÖzSÇ]ú"áu…•RüEðÀYO:ìsÄëu>ºðO…©ÄÏ_ÄI^Gqµ‡;µ‡ïF¥ãòÖm\^�b�Íàþ^‹)zU*ª°§ ðÂEZR¼E¥°¶Ã$$Í®hÇžýüÙT¯¨¨O‹é·' n)ï¶4{*�Âάà¸{_à.U¾»ç‰ü”W›œÑÁ»ÖßuˆôØ T3°ZGt_{o¶<¬öc– ¥R&­D�T ¼¹Ñî¶ôú¶‰T‰°Å ÷£ë�"¢>dM8"åEѺüH 6³ÌwÔn¿‘fxŒ þ$VõãøÏ¾$vð4�›þ/t€©K Y_—vøÙþQü6ÖyC�Ê/ ”T­M½pÆâ_—ÿe^÷¢ÿwª‡ÂÁ|­²B_ÿMÀšGÏ#¨à%FÅÙP)U²¥é²0źN -û­¦ÿ—’£ž�ÿ‚`ú3÷NNÅ ýgÎÿ‘Ó8@é6ÎðRW¥Àº°|ûÖ2A£`ç .ȸ à'‡–¤Åf‡Y¾DØZ@Ú‡ˆ‹\ (QË.Õ•4θ™Xåû?ùC^oyyz~>ሻÈu™ôpP"uˆ€v{çµ/ÕŽàäÊi#_©® IÞ¿›—™‰@…ª½¹%DOD�HnóÙ~ÄþÓu*…K”ß§½U£×û¼V.W³­Íxíêñmmíoº"ÒÛ2ÉûoOêƒ?è8°õh©vÈ­“+!ƒ_� -èQ -€Qtéó‡qX+÷±q¸&:¦|èåï}zp°¿µuÐû¼ºVÍû©*ÂÝ“üdQóÒñ ÐÇΈÀãF<>à}ò­°œÊŽq€ÉmØ/â }ÆãŒX,¿…`Är²µßcL©žåüZ:4ZÅP›õ6ËÕ;ÚÈÿ¼›�Çò³ÀÝÚ=Âþ$Ýߟoøa®�xb€ã£ÂÀBÒ¸�âoüyÆŒÃO"í>€-¤Ó¾pÛǸŠ+Šn%Á®ƒcyäó{± -Ü"lÎô`Ⱦúå±QÂ]üÖA^Ä,¼ÈéåîòH íDj¢^ñbñæ¶è¢Á†ò;n� L¶˜Ä—È{9D°­åëÛ¯ v‹Ž€¿Ó¤j¸ÈµÅŒö ;-©â­�ÚûSe!?Ãè@BÙ¹\æá×y€2ncï/ÿr§smVž·uÕ³ßÒYÐX˜åØŸøbÒ žwZb#âÒÿ»�àþŸª�úÛ}PmP•g®Ž…­û{oˆ“l‹cPªÔiÝ,f‚EÝËÂB§!ÞøCÇfzpßâÂ_îx¦f?Üív:³JØ–ÎßÞÛn -ø‹ÝIžÓð‰p›Àü.iŠì½¹'ÒØ§Ñz£»Pûç�m vÖuz³ M5€n _]½w�~ýnÌK Œ‚‡hw;ªNê€âìµ YÀþO‘@.šÛ‹ ¯ï4öôLw°—€�ðWð€b õSÿç=^xnnm¬–Ο׋\@/ü?:xT®~ÿ·é­iŽne@¯d.IŽVÆ« ý÷Wk� LZD ÑÖF¿€U[ƒDg€ôÂú͹R®-÷Õ²Z»�j‰ŽN?ÀEáô”�:{jjò"æÿÉɳ‚êǘ&‚ VK~k"ÊãÂò­Û"åŽy·‚)€K`Œ`^}òzm׋û»KõG�~˜Z8Ïÿ[?ûÈT¾G®—ëŸj-É}®åG4Tž|zøèÓÃÞ~i¢|ÁH,ÁßÏ{‡ZåýzžIµª–ëuæåË7÷•*ßìZYY«€<ÿüó~ÙñýÉÅyUä“ÃÝ]Å;QWêÕO8öÍ2‹Ñ£GýþõŠ­½–oˆŠ|ú7‡‡ýµ¥/àETàA¿ÏDÄý�•—2PAº^Çáºå㊨è¼ÿùçÙÒ�:åÒ2µ�kóÙ¡°Q�"÷Ò³3ª%‰ïŠÊ|Z_ʘã� ý÷¾òçvóü³ƒO?ýÉOûÕ§F-T¾tø¼ MÝ_?ÿèÄO¾ñÚVö†àÖ�€ž€?Uÿ¹ò³ŽËúé-P¦ý^ïq@’`û‹Åx» O7 -à À T·œ};îM²™ï÷áçýÚ•"‚G!AûÜ*Yowi%ï £AxZå1ÂÿNøˆ�~mndJ@}æøÆü Àø(€�Àû*}ãÄQ%påL†øÿUéáŒÜ ÀÀ¬Æ tç“@ÇÅè'Ї`„H¢:MVãØ?Á`dVè$ð =„ô»ùtð� `aÖÓñâ~Ã@« ÌÚ’ÈÀWÄ�7”»E>yŠÍ¶°ðÇ‹ -£xf¹CíW>³ ª.–sM‰Àx¦èvñÇ3Û°ùàÍ7ï«dšŠ°ª²Nîu§­¦ -C�ïtg;í7-H€0V¸¥ t[‚3ãÚ¨�²E¯8êv³ƒê-Íy§}ÿþ}]t¿½s_maÑÙ¾¼`ŸB7Сöë�YFÆ?Dc¡E³Ì7Ð…í©´…´ñ�½ncñƒ�ZØýé‰P lØ™ÅÏOG»{"ª½˜ƒŽJ7yQFº€¹ûvÇ•ÕYøßmuõPf·1R4Õj -%hŠË´Ÿ›Uvn³œ¢µs�þ‘?!‚r‹ÒÅBÚ]5c28‚PKO…4z>>(º„µ -ÔÔÓáU»Œ  §(Ÿ@ýÃã½ÈûÙïå½þOú·¦&/ݺ]ë÷�>ûûµ¬ÿè3½�õzÎõ2ìÑ-úI~Ø'Üï³ÿãPú\®L›§üÍO>¯çýŸÔ*ÕìÃC¦þÓ#.8©ðï½ -¾õ+åÒ %ìgîçµ¥¹¥J=‹~í£Ñ²u‘�õåܾû«5©—Bé‹Z]ª, ±—+¥KŒ839uVÐ 8%"àÙõ^_o¹º_-zÕáî°iKÀV“~€ -áŠÜÃ0u±tæüÔ%òúWgŸyæì�;w^ÑçêüÕ¹¥«W—––¾õÿáìÿžÛÊ®s]X]•’ÝíQŸè¦n¢�ŽÓǤĠ *T¥¨M¨)"MÔ„z…M7@Dë&¾Ú¨oãžìJ*ºðß°9°š¶³aí]ôÖ9çBöEï]•¿ê{ž1@�¢Ôò �õsþ\k¾ïsÌ9+››õzZqÅ|U«ø{°YY¿Éõ›lV7ëÿX¯?XÀQ°ÿ»^�Eˆbñ#$îò»bÀwpWÅÛDlÕ‘;ïjL\¾^ß¼Y©Þ¢•½ i.{� ˜®¦XI«3­?¨l®ÔIRl×ë›$g“”Ô­‚ÆÖÏ\^s¹RIWTÙ©?p§´Ò# á¤9ˆ„¬l²UßäÄ-#!ÁÜÍÍËËË7�t¹Z_6”?\žŸw±ÆK—®ÌWÈš¡oV6oŒeù1D2%ÒtE“�ÿþ�‹Lq¹ù©š‹äâÏ­pp m4ÊÂ¿Øæi<] @\9ïà'Î]høN0ñø ñ³/v§!‡„õ#ÉÃQ³r§™m5>m促°Ý\®þ{¬ù|p0*p?Y  òÏJ�ùg„ȈÙ(ay)Jö -ÇD˜�ê·¶ÐÚ-˜(¯ ›eÁ‘áÓêæ®>Û}°÷ÆðÉå›ÝTÙ÷3áP€´ñ7ß1€ Œ}b;kªI‡#¡éOàüÐ5ا?…�©ä«Þ{×M Þ¤"ħýäà$÷¢ÿÛ :FÞî£î@ï‚$�°?mʇ èÊ|T²`5u ÞTlŶ(zÖðweû’ €t Ö‚F%C@4<�#ÐÊ­Þ!:æŽcåny)¼ØÛª�åÀ,¥ÓÕžÀäB‚¤þð%»ä0 RNÃ)’À´Ûµ¡7€„p|pøµƒÑÒ)6ýþû:< Ä}ÂÍOô_Ð"á˜y6 ÒQ -ð¢“c81-Þ'®¶Z½¥Rô=ý¡ƒyt1fEú¥Ÿ®F 2½E0wM §ìÐ×¹a¿Ý‡¼„G»'‡$¶×+íB>ä^û(ê� BkoÑQƒ¤R×¼ß/w�ÌÁZ¤XùêµzIº¤vìO„²è-ä­¥B zÄ¿0…Îáä.åP*÷4çtö ©@¯ø L q0P>ž Ÿ�I@üñ5¡¡Î¾å“þ\QvaîòÜW„FZÈãq¥Þ ôÊl\ÔLW×Ã|MÓ,<Ø<—�|^Tªõê�…+s . +Ûa]…ðug~~aÅal A½ò“••j-®™½ºº¶¶²¶ö±??M>æó óac½K‰ò&€„óo”÷ªDWô“§nûêÇÕÚÚÊ×@V®º!ÏÍ][»ô¾SbΔÍý7kžŒòñ·¡6G¶ý¦ ,‹ìÙ³He‚<{6ú÷,ûÜC¢‰Ïõ�ﮬ|¨ä™kß?B£¿Òñ/Êž’t©áf6nÕCÑ—MqVŒq�ôªñÀõõ³¦zó·£ã#m}’�¶>Ï#Iü‡ò á -AzPϲ ä5ôñ脤°qòÿÜ4ø”SÀÍöoTëO�î ×ÀÐÌ3‚#6�êuªœ(IÜèÄy¡)×µŸR�š}Œ¾y0~p0rƒÝÏGcãÎ>79&ä)ßÙÁ#èG$äßOògŸÔ3!�š}šàš ¤I>§€€íÃ/x'³q›cž -+Àÿ ÀQá@`©€/4ȆÓD�"ô©c ’åM˜[¬ø¼óltpð³›7×õŒÜçO³Ñï4ÈŒ¦<à €qiqÑaCn;Í“]hì#¢>'Q* @u}×~!!> ùMâ³9õ`óó÷gûâëoÏXN}^›`v-€(艉ãoÿ�åè³O]À¿(.' ×ÙÓ/ÜÇ šø  B/'àHºÛez‹ðκÄßÛü.EO÷» ü�Ø óI-ï)–‘b/B /=½¦ó¦fütǼ%@R ýÁé@€¯Å¿®Ñ*ÈãåbPÂ�†s­P‡p2ìê·¦Üs"Áv©ÔÞ¢â+t‚ÚøS*EAˆF �¼úÍÍëö¢YÞ¼yk¥Z¿y³r‡ó* SY¹…jxgeåÖ�[ª…j†ËjË˨¦(ˆüÏÖûól&-rUÑ=~¯\™Ÿÿ‰[^ø7ó?™ÿɇ?¹reáÃåXª—Ós^á–Ÿ´ðûç—ìY©.ÿ�‡¸A )Ü9"!LWþþE'Ž�ªÃ#kL{F#˜¿8æÇÀvÛ,$g[ÚáÅâœ6yÇvÝ“OÙŽŸïÒrnìÖV›"à ‘�]w#ÄGö*È�@‰¼Y5Ø:ÁÝh'Â>²j¤vÄñüÀ::бn’Óv¼ÞÌd �H !‚û;O#Uùn>ÛÉ0�4ëÙh˜;ûï#B:­4Ç2€À`�Û¸…„üw~Ó†Ô:s¯óôä¨×sÛéÆAùÙ0ÛØØ¸·¶pã®æe8ª{ ê§& PHQXjñ£ë‡Çãf�ôç;º.ËŸFËÏŠ„\, N4$ÙW¾c@² üy>_¿ ÀÛM™Ð¯S\.ÆÌˆÊ …†ê$ À³#‹ãààw£ß%ýî� ¡‡'Ég‰{Ù΢ €zH>ÅC”Rµ³c^ - ÀNu3' @øž¾>æŒ7vŠýů?üW.Z 9ï@šÏV}Æâ?X[Á„ó„þÉD¿qTôN ÙÂ=’² ,Á!¦ª¿ár� €û„ûàÆšbô`_}Ó¾ü‡‹·­ñéǦœ6½hzmÜCa¤Ø+rRÙpœñ&›üÇ ±ïq:úÂ`§8ª­x"��&Ñ-ТÅ.*6Aµ5×*w»‹åî^œ7†à@õ½H2ÜEèS«>„çèU€86M§õCÍð-]z‡ƒn»üQ7tZÕlY€àæ€EØCdÄÁC¤wxø¤˜¸—d·KK”¦‘ô-Ç:{_¼Cß'CìD7@§•8�ëìšZYB§Û=,}ÔŽÌlF¼ð”îàPÍ¿/]#2î$¬%mý ('Ðß>�}”þÌ¡ÛuRD¢;$( Cÿ°|û�ˆc¼GÇÀ¢Ó°”T| -ÜÍ<[`1ío‹ô „à�ŽDôúûKZG\Èѯøw~A½ã4•�¦-oN³·ÝØØÈ¶—÷ÞñB^[n~$-æÐÿ={DYiT˜œ¢q&¿>æ+ÓA��ObÂhû‹!˜ŸRšÕ­É�VB$À†ÛoAŸ„磧p Ú\S#T+/8Äd‹ZóEõQ½º£6Í>"j’Ò‘Ÿ�ÛB¹µLïë^yﮃ5Öj÷‹Z=ˆá1 &!ÉI¨ÔyþªY€€#Â#µ\?æåõ¢Oôü;€!$ @Z °�3+É™9neý¿µ„@xe¾QÒÄŠÛÛ;¼‹' ëj¸)kH`NÙrY2ÄãaMOO�éHç&2ý··~Æc=Ö^Œvj Wî7v�†Ç'/¾ýÓñËWÇy3[¯jˆÎžÑL�Gãß�wwPÞÐ@ÑB�´5ç¡—þnt4:z*K@•{˜ ´kÕJµ‘�_ñ’«¨pÓNã^m[nAìÒ°°ùñü§Ù1�ùmLí~-Û O@@FϽµµ{ºïÝ»\_zÎÁWçæÞ{ÏÕûà  Àí3rín­Q]iêj¹°³Û¨=¸îCC$ 8@Ì x�/]6๹o’À‚œ§ŸÚøy¿G•Ê8ò0Ëë�©<ì¦ @ú¡³ÿd ?i‚þ,»³¬s]À.¨°¹åÈþfEg¼Ò¹v{{÷çò�áð÷Íú˜[¦+æÆö¶kèÓ<'qœþ,R‘Œ¦”!,£íßÝ}ž×Ô™ÅÁ‡Û»• -írä¤þ©&|xħ —�¬þ÷G½Ê™ÜZ�Ÿ�ê1(1ˆšr¿¶vMç *‰]OeyúWHP"aªHÈËám~ž7DMá|ìdËõ“à å½ýOŽp ¨¿ZŠÕ/P8¨¦Ê’˜Õô«¾M¦>_¾½@œô±è'øAP§”£©@€dX‡Oó<ž±H.$–j�þ:þE<‰üIgˆ>b4iÀ£í‰@!ÞBõ“™Ÿ™°¼‹€•ïäÁ³ðH�e? Í?�~úޝ3€©ççxã(€ô[üiÿ¿”'Í= < :áò•ýøû‚rhü?bëû ´ ¸$]§ à3€©Hþ ?€ Ú -0c˜A>�ò¯3›x¤Ø+ÂÐ `iÕùg,… 톤}$9 - Sq†<‰tŽ+4ûí’.íÀš=JèžèRva ôXpt°H ·�rzé®C�ç2˜è@z u‚?Ø”�l–SôöuˆµmøŽ³ç¹„ßcÂ$�[1…ÉPïFC&\mâ–.Ú<À'B.ÚµoO¿$ {ˤ»(tKM\—ˆ¯vgÉuú)sª¥×\û¿–—ô]4ɺðß¶»£�Nß邲 ¨ý&˜ÿ¾ º²Þ£h$l¤É‰ -à üï‚€=n€è#¸/‘ ¨7�OPý[2Ž˜'ˆ ³a_„ë$ @ÜI�Ñä-, 9ŠpÐYuÃ�.‹(ù^]ât‚ýÛüQúíÛ)¹Ò�ä£Õr^€öÞe\^ñÙÛÛ<$]E@:WH¿ Ñ›…·ÑWqû~Z `£±½ûå7*?6dÍõuÁ‡ ±­ -Šp½­Ï©4Å uÇÜxÕjׯ-¬5U«Û¨¼ÒNÌo£b<ç½¼¦þhï|VŸ¯Žœ&§ -öÖª–NÚ«ÿ8ë%pUe}úo4\^¸×¨Í®]›&.´ÿ4¼‰µ”p%¼ìŒÀ|Ú¡Meë€�ÂI‘v+Ê q?(®µòã4 “Y«½€F¶ìrßÖ´x¸ýùw0ºS�<äö„»‡ ‡ß˜�ß?BCn<übRæ4͹•€ò—®æÐN€KÝ31‘BŽÄ]êx”W‡ÞfÛy¶â:†ì 1ŸÖë¶õD  ÆµDt€HÈpøåðçC ÀýF6³qo­ó5ÄÀ/˜íTœ5!eªÙx4d’’—C-»HsK��åu @ÂË×d¢úƒú1 ã/ fó­kˆ,B ÿž uäd¹ðÈ/˜p"a °¤´E -~6/YÎû„€Ïë`b˜ùl;àÿ3Ÿ<4�Ÿ¸¨"‚iž†#}²‰€yŸHtX\ïî�è錀ñÜü›Âíú�~Þq-ÊÅ£f,þ¡y/‚Ç7?‘„ÊÈ÷?� ÞÇÎ÷@ja›“�Øà½Ì@3�óÄþl0±©þÿgø$°/l$  É `æ”øI�¯�„Ö^I;F2DÀ)Æ#v¤#Ú¹N€¿ãHŠ™ T“ÃG�T–‡—÷Zv1€;(ÇŠ]ÿí®æj£�àýÛÔÔ��Žý÷ŽÐï†ò p jÌvJß²ƒß¼=r ‡`¯ª¦vï>%P2¡‚¯ ‰tKhäƒÁ¾pÕíÛâ;@Ÿ ê -ü… Š�ÎÒ’sµ)ç'aàˆPOJ fB¿½ö¿•KÔ2IÂ|¿ÝrR=²HÙ÷õ‹ÔZ`Bùë ÚKÐ -g$vœ Ì€»ˆ¡Sj;Ä¿G„…ßÐÛïtaDp« f��n…Ý¥—P²ˆ·À,Gi’ÖŒ&¸Œ3!y„©˜“0Yå:>Á9•0U{›Ú‰ ©@çN`¤Ùíip¾Ã½=ÇRDáúdÌ+±Ô£ á¿ÜàTˆð»ŠúávíÆå ˆ.B€Öd½:£ñæFÛvÚÂÉç'(äˆ{§ßolá WÖªkÕ�üçÑ ¦…aA°Âmèk$Tn¬ÍW§sè ŸPº�jè“öA(®]wʹ¹¹¿öߨúòÞB­Q]ž„šÄQ€†,ò«õ+þ û€Xè2Ú¿Ÿ×,(™¡XjÙ�ì<ÜÎë›3Å“wñ ¹Àxfw–ŸA)R™£$ùÙ*,�Ò‰Dvƒ|) ÆY €PÃgÎŒ †-픉¡ÊÚð<ÿ8Y:¶{p«Â^ªIJ‡ûˆ´Vÿ4¯WOŒ#Uñ'aÐñåp÷¸S"]`¸›,4ì¹h§$2BôÎ$‘òrèÜùîñ£ÆˆV>M‹°“-oJŠœœnsΉ‰`‡�²O"ßlj5BéM3rîB €¥ñV™Î°»û¥3"¼I(I#i A�™¼\à°~�€øÿ»ÿ_û…X†ÎëH4p¾ƒxG,�‹} àÔÀÂá* @”Š&”©€i‹€'Ï’�GðsWŒ8ýð÷·ËYfçHI ž5ÕÄáô- ˆ=þ@ß4ü¯æØ üghŸ€£³KbX@€´ÿ×ø�¼Áp±@AhàýùôWîO?¢c4ã!"E�·Rìþ ¥édaˆ{ -@ûŠGb`9·¿/h �jëŽ*¢Ø±C@vx95?ð" XL½û|§ð °°»?¦Æsœ]ùPÜ�Þz  c�Dö –à‰Ë¬9Jž;¼½ÏÝ]@ˆ¬¢£¶‹·ÝÃÃnµºlga£«z]ËÆƒôêºà›)JÒ¦PµRt´ìö¿jQØ€.é�aö@ohþÿæ’†²SÁ§Ûn�’œ_‡¡=QÈÚê-î¾aô[d&º4ZµúNç#8 -7Ûg°¯ï=×¶ÈiÉÅþc]ãF@ˆíÅèÿØ×5€P£h õ:­ÕÕ@çŽKð€ˆì¶âíྔÂ_jiÐ":§)šˆÿÀÿ= b6›Ôr+l, ñ=åce O ñ ¨åǦµ)þ þé{– úýA¼Ço‘Ïx!%sï]]¸[s ¡Ígò¬Rq’Ú¤"“ñ©œo·S‹Õ¸17·P«Uª1A… ì£ÖßôbrÿI>¿–‡Ryï>(}÷® àÇ °¶à´ý0€…k—æ®_ž ÓÿwÉÂýFm¡Þàv6lg”X\�uÃpu!&‚Äò‚aàKÅä=ÎÖ‡4åY)˜ZàÍ›VW�$?"çÉàŒ@Å{£ñ)›ZÙ° kå™@Àîë]TŒ½.ë© ;µ() 6Dg6ííÔÀ]Zà7QˤàÓz]â&€›XƒœZLJa(fW¶†îÇÊ -S Àvöô¬€–þ¼`ÒúxGxÁÎù©½ÿ ôŸ±Ä<ãÑb…rÆP(»qʯ?Ë�Ä™'>o!€Ý_Fv!ã»8�¼føÿ¾Á€O³Y@¿àRs>gÅ—QÍ:65P¿2� @Œ¸h€¢TØ(,ß°÷V€ˆ•DÏø¤�ü@þô]L pñ(€×-oÀ7¿ñ àò„½þ�Jù¡ñ_ùñ•'”+½Œ@¸²Àå·³xG:b¨NtÞ�îzƒÀ”þÇ_�ÿá0û) £hÝ ±1GнiˆÕo§¢ŽŽ÷{Gì#�Ë­'8ìw[—öÎîHåÕ·ûý^Ÿ$L§ -" ±<„ôB�žC²™lbÐ{Òý4 „äÓ½òŠøÕKU[ÏôÂNÐfÐXáƒ6:mxu‚]^g(DÑ%%_;ÿRƒÙzûýª~êŒÏ�‰”- ýÈ™sèw…zËÐr#nÇÍw˨ãŽGH³€Ì©Èû%¹ô¨,Ž -Õİ¿ï¢Eò€cÈÅk\í�ä}0µó_ä:‡v¸KSÇ]¿§œì‰`§í<š(ŠðH´/ä_JKMý^Ë9¹Á\• ±…б»ÁšáŸ2‚ôÛ 5Õ@mO@·üé¤H¨­vO/@xMwoÏÎ+Kø«@¢3ð_Ö+²ÛIÍõÄw›†@pé`ccûËaÑdyµêï‰ÖÀNÍBK,d2—½  ¦{ÝZu¥ú‡ÿ=Ìw¶·76>¹6jwo¬Ý�eñÁ�–2W¯¬©«ßó@èÿ¢þÚ݇ªì7œµïú -×IŸ€¹Àéèß$×7õåš3æ+„f¨„{caÖ û_L*4Qþ 8Y …`Ò¥=c(`zêPð£°vÛ bsøPÚ³=µ|Ê©ä²Uø|ªàÑ뀟€¬þœ’>ã@ʧHÏøN€§LäHšÚ©@ €°å-Qd�3,-(,š"´ÌúPY¯ù€ES€Â`�„oò’„ àBT1;ÙÍè˜dåœ�D½ÿ _ìj˜t¯[ÒL€¡P^`xÐü_t €ï¶lĹô}�ÀE£ÂÃ'“¤›£›ˆßˆ…ƒ²2¿Œ(6­¿ˆ‘È'>gæðW£f|ryùööoš Ðøâ7|êæÑö£”»›ëŠúóI?ŒH?ïÉ?cª‰Ëâ{Âüûb -Øà#"É�BG�íïÿŽþ 0Û;à/8€6€×d¢ÿ¿£À„šb7è}Ú 0‹þ¶Í�3¯™ -Pì$!€}¤`©3ë0aE`AÊ…“ ‹æ«D†½Yì/”V -M{ìKPSA;ÕDƒŒÞ~6cÿqyðd°o¯tÇõøä aGpû ŸœîEݤÆöCS7õB¸kê”ѶAÞ_ ~¡Þí—ÊݾFksdñ‡ÂÜÿEwJòäPã·“õ´â(·Öb˜Boçˆ1ñ×k-–ÐÉÉØoQKz¦’®ë‰ª‡dü7*Ç ¨ ß&köñC -‡îísÔ”Ég`>.[äØó÷ÿ¹ã¼ƒÄ@=yÐnнÎ×¥?ï×ò@2¢<÷ŽàÒÉÎÜgáÈŠ`"$‚Êèþk¯‡/eØ[ÂTΑ¥äÉ[úû0 ³;°c¤ß/u»ð(o£hÃ@j¨æ°Mìm».Ú]`Ÿšã’œýc“¯S_Ź$vX3[o_u›˜{7æÞ»vð•ï³Ôgõ S1§Ì©¤]ªÂ…¼ph”&‹þ¬TP8¶�†ÛÂ;çœ{°Øð=ݱþaÃ]áß‚„ÿlh H @7€k €ëaˆN€·Éå…Z¶¶BûI�ÄQ¬\„¬þï4à W‹å/_žCó× - \¾¤à›·ù$œ>gyý'¸ë’ÿú ÅàÂ�ÚXE€s€D†¿oÔ�<�€ã\ÈvÞ¨¬4s£ÍòñÁAàJ(aÙïnf£©ÉUPÜ«ùË£ìÔ÷g+•cvØ£Þ>­ÛQXÖÇ�šo°A†ˆêÊ W2B_ßÕÔ |€�|‘™© -+]­ô°?n6žs¿žÉðfíÿüÇGc@!1 - èPÎX�_I_ïj8stÆ@:t±$iÐEð3×_àðÚ<§€„ÿ§…Q ž1&¿¶“ÀGŒ0;@”�yJ¥¢À.€`–ÊEbtç}Š  -È�OøH.‘ýù£ø3¡¼|NeÈ?J€ïÖöü VüÓØ7Å�Ž%¸²XØâH!nMôÿwô˜€4€¾ pÞ�&$‡Ðô'@‘b/ð_|]ÿ?Z› pÎ7܆ à<þûè«$Æs*¨¨ô¼:±'�UÌ1[ÚüíkÖ™ „X-óW:�^ÿ°¥3ú)z)IŽþí”|ÃU£5TW�‹S|‰1Ð tËr¬o¿Øo9�¯—ì`8—’»î’ë’`;Pè]Š×àtŠi‹ÄÃü•?Òþq�@>â|Üèwÿ°SÚ#ÍÁ|ú½¸?éÛ ˜�Ø í@75íýÎR©‡µÍß.tóòjùI!·˜ü¶©K“€�Q£#:A´í -á"�Y¸}û6boÐ)Q•ýÃÞª£ˆÕI3ŒRîi’ÑûŸ ö9:€§éìЇc(Lï'>ˆ£u Ó~#y¾»€ó>hú ŸRÀÿ›|Žð¦à�8•¤ ®ÜBצȳg‰Tœ^\9ÝÊF'¹M)�éöîhK�(É Ü^h˜ø´Ä�S €SÕ'䆰ÁÔ÷P,ãÀsÝE&3Ìׄ¬Óg<!ª×?ÓQBöNá˜2~N¼:WVôü׳éj€MçY fÐâõQEO�°ò®>³GÏú¼Öï5³J"w~™b•ý�ÉË;ÎPXÒ=HŠP €ï“±øöX¤…ÍŸ¯•Ñ' €7ÏhkòÎ�¸Ø±ûp!‘|Rîvò4 ðy2Ð3FœŸà­£Ò_\ÇßTæ?,qˆßDÜüÞߦyo¿w)/�Ë8)þSçä-6€×ýN @ -p–È_|hÿS,n$«Ä…�†¨¢àÔ0îI 6#° åò>š´€m·4¡‘–@%ck¡¸:ݪ©sè•£;ü%`aiq)z��£$¢õäð àÜ.kÐJ¯±;Tò�ÂE%DÓ7’4Ëv¯=Ðf¾×éüB§½~ÐqŽÜ®nx‘Ï~gšjpaeŸ` _¼W^*»r�ˆªü¬.�—´æ ¡à°ÑòA:Z„Òï,A$8èÉ|Û›`>¡&ž r%è]¦}©UðÕk�è:FÔãšòí¤Ÿ(÷¾&ÅF×èb\Ä.ܗܹ!gè©Ñ;ßBÙA„Ñ…Ò±þƒ(™ ïî–W¹<P -Ó5= :±Øω£4ú–EìHÙ„úvw�B^¢òV…u’ž µüxF|R¨à„þçà?u(}üâO �*ƽë—/]½qOb{èAþšY%€–ȸìT\ê?$Í·‡®Rׯ/øAXÖÖ+š)ÀnCŸÀõ…µ»qÃTÕùÚ‘½ÿ u‚èð+¿q÷¾P[7@Àµdx7ÀBmkmY’áBÃáh0 :a¿è?÷Þû—ÓÈ‚dp ø­¿YP¾�s€‰@áñö&€ªetƒÕ0AÈ |¾”ˆ¡!k1Á6`¥ùT3La¸©àia†@Ejb˜†cëþY²>`ÿ ÀE>ÿõ×,ÓÑe;S @¡XŒ<$Ðéc£uD�Yµ9ùùÛ|ŒbûŸœ û§°«“ƒ+v¼Ù0ͽÿïfàèiÀì<< V‘¤³B=o ’&7¼ó<aH…ðxOR;µX9¦ßÒ3V7Ï[ÎøDåO¤èðhX¾Éÿé‹7û¤8ƒ¼æ°“çi$@ÁÎZfGøuÎà�kÌ JåNÀ;Ûâôïÿƒ€çï£ÿ_â]0€}ð¿@ëâÆÔgùŸ‘´s‘  ¸ñ¼À~p) )Iñ;Á?b³|úI ýk�£ð“$Ñ·‚ˆÕSá* -QÁ¥Á_]µóøßöa1�^ P0. NŽöQ,ùlØWKå’"†æ-…!¼íäù‡‡û�÷�¡W³8�é§Â­2«�¦€PzÙjÄd€ëúÝ=ÔûÞ fÆ·\µ‡ËH9ßÑSßÿJ+CÙa håP F ys!…DÒä@& Ì�ívi±´›‚.Šw?­bÌ!!±HÌ!ØmÆÀU~œ&€]®é;�ÞþÔ  çG öý}­úðâNç£VO‹K(þì’ …›—wž@ @øo„¤ºÞâAðÙ2øó'ŸlÈa¢/ÀóRŒ8�ÀÂáª4 -`÷爸‘‹|v uá9áÿÍ0\¼çFøœ5Õ¤Ãñ7Lÿ`LXžqˆ1apB´¶ @q‡*Wb5ÁÉ¡SAñ‹ à¼À,Ð 8ÀŒ#à)ú‹¸´ø‚Lj…AC¢‰ôqgbØwI ½’Ä-uÏî' î:� ð3ØÈG3|iµu,ëí'g;—Ù‰‘r -à_v~'¨SãGãäÂ}{Ê%ýž,ÂUy¸s2ŸÀ¨�@2½÷…¶R MÔ1wòƒnçáO°�^ ^ÂfBi•êß×m/é€lÌþíÛ@±ð Λ;²µJú8ÐŒŠ»¸(´ó'èôõØÁ[-ç "jиßX=E-J¶�üA«W†_X„1½wÙå±J9r¥àlTzëuV 5¨·y¢ «1iäÜ%ÖHêè�©½pòwgP†> Z«fܱ/…ò´Ö�TŠ­¥2É·–) ¯kIú$K¥vʵt².3Òj‰±î)˼½j—J·Õ^ú¥³(¸ÿñ„U�þÅÿ)þO;x.¾‹[w! ¶�åªî*öõFs¹’T\õÂØ@Ħ_Iÿ_¯Öœ|_ÑT¹ž|j·î4r¹….È':öGÀúÄ9Ÿ�Ú•è¢ÃJ/öÛõo@Z¹÷úµë×®i¸tõÆå¹÷ �Õoã k�e縱X«}¼¦ ÉÊ_ó -$óÿ•9Á¿0þ¦[¡@áÐ|çQç}ò7ùe�ÏB£;o8ïðå¬þoÏ™ó€­æÄàAþ«S€Ç ¤¶t4šZBÝ¢:Ð\_@”þ]hHèÿ�S ¡˜6’b Œïh° àMJ&>Ÿñ¥ÀdFÞÐ` ^• _²¹›úÿ 3€€oðgÏ\¢ØFÎÌ@2·³£TÏgej8;À,Uûsæ˜ÌìçŠßÆÖy á½mÀ›çH¥ÂÆÄ@Ö¬¢€äs’bô¹ ѯùP"õB?i�`mï8 -€÷ã;G¸{û$#,þ¨\à?¬à ~ñ(ë&�ýé>(ƒ6|ŽÆŒAq,I±u‘ €Sþ�÷¸¤V:‘þ|͸Ì2pƒÖßÖÛ½~g�è% ƒŽóñÍ¡ÎrÀ^ýèô{O%²’à<Xáõ[©§a¿ß%—D—pœôüsÌUØEµ…Pb„èfgYÒ$•HØïÐüTP(¹�Ñ”`@lÅ»o€=§2"ßjï@ÿ¢N€±Üq\¡Üêq³‹èÿ°Œ%Ø 'gGJCvvï·¨½’/8)ä“*ÀŨ‰%ѸÓ*µã";�(J ÛG·g5Ë®¡a̤•ëŒE%¾ùâꜯ‰MùW?&m4…©ø¸ÛØ#Sݽ˜æ±Ý‚Õ,--}/úq¤a‰@äŸ|ÅÑ$ÓŸÔx¥ß ¡d4î-̽wíºëèªgd´=õû�æÊ�t ²%3ˆwlñ©ÓDÄR;±Ž�Óí&YO>U”ðGšÁô^Ñà¿ þ˲ê|•Æ =]rã:4 M -pC±¯_»±péõä³ÿvôG®Õê+®5ÿ W‹C„‹ žâÿ_�F‚›üÕð€¦¾>ÀY€dxÝ 5ôjw¡x¿Ñ`‚'…L›æw±D»Šþ»;<:õ@8¤ú>lG˜Ô ±æ“@Stʶjy"EÖÒVt-GLg-_씜µ<Ê>½dÞ+ª¤™o^`HXjYþ2ÆÿéÈ1ÍlÈ7] Å뀨(¾Íîë€×|H}a(Fœ�€[.$…ÀN‰”Üø™­§?k€‚Ü)“ÒOÅg,TÎ'Ÿlðn¡Ü‰d%ú‘dêpfÄ‹Ó(€Y €§¥ûº µJú%ˆ³>š½–ojþ CÀ…kœÎeu�æ³ÅAŸ¿…ýØ‹?¾N1™ÿåJÂÿïýèÊ�â¿@óÆ'e=ð;áA\ ÐýthF„ý·ØÎú@Î1€‚àœ @óuí;ˆ“vÄÿ°á;Ðê’ Ä[ -üÊlò;íUšqÍÑ1íÛи•_;4á?ýý `¿¼¤Ó:ؼT€ù)NÒÔ2Ê~ç�P4üÚ©7KHö£ëÁŽH‚ fÄ~ˆ79ã€!9`§ßîv÷»ýÛ½Û%pÐHLugŸ¨MÎ~­Ü™�Û| -Ø -ÄêÈЊÐnWìÒ¾‹ñÈ4„ƒŸüðåá¯ypp ¿FÇ ‹U\_lù°¹j‚¾W)Ú´“ˆÿFUŽƒTV -¹GŸB{R`½Þ¡Å "ï/…";ÑVÐq�ž}"ˆLÎ2ÝýFDý” !©¾SDKq÷zŽd ˆve%G/:!hŠWB°Ì?™[õ~o5µ0'ÍP€Uv­$^ñL2ÓÐëµ÷âe¾P’b±±¶pùÒÜ -`•å_…ÀRÿ€" ‰¸¤qœ%ª‡ù£ÊJ–oe£qžU——onÖ£““W¯Æ££¼Ò''@oW À‹áŽÞr"ãŽ}Ú�R @uŠ™›$0Õ? jn9>-M—P�œ°£×Ÿ2Ù!«ëYì¢q�WPSHÌîÄ6ª+™ Ày€”ðøÚξ|‰nJE²8líæ›ÙñV“bâj#DJ"°xkœ�hÈ)€øMN­Ù;ø+gç0è_å¯�‡-äaãóLD™~›Å[Sk¬Ür¥¨ñïž~^Y¾IE5Ç“Š:+»>bÊÔðš@lž�òç?‰…�—æÍæ3ö‹Jˆ“T¨Ì°ë*—µTm…5ë¬D…ðd¼æ `søâëÿ¸Å?Ÿø©çäé�/G£üóÊè÷?ÿ‚€£œwóLÀÓ©‘ù’ì�TQæºiZg7§HŽLzN]p;~teM}Æpúàý‚“x`"W -È¿ÈÀIï>ãpEp–|¿‰¶ö©%ö^åŸ 0Ñ]# 6öP*4Q@†®ò› Ð‹K] `ò¾Awà`@D”q -^‡èÃÏAÃÍ÷¿z²og¶ºúçEb´Ú ñs¼¯×€š?W�þû\Ëñ4„+ÓÐsµ_ÒRäÀU}¸ Íš ;{ý‹þ@åVˆpÙ¦Ž C"ÑêG0?Ýð à|h¼ ¿ÃêZ S·ÜíëÀ]Çâ÷;:3 ä ZHI)¡3ŸØ\þˆÐ�߈Ç€M äËLü;��ÇÝ•} -=;öƒLX"Ój­†‹†yÃíçƒþׇ=»– 5 ×ÑüˆÑý˜PØ7|9BÎzN÷Wn-•׳ÔVXâ´ ¡ÿ¢äõÀ„�¹–¥k•ß6p·Üå *Éz¸±]Þët÷ˆ_°´Z°®#³ š0ÀD&ÄÐëíµã�¾Xê[�\l~ïÒÂ�{Õ'µI”Õ+Õér7ň®Ù–Úƒuñÿ -ýݯ­ZmáÚÕ…Zm¥ÒØ¥Q³깺vïú‚àÂøÏ¿]ëó 5r2ÒÑ×ï¬ÝùQÜ·íÐ ðš6€KsWÅÝ€í·È{׉|A ¿�Ôâ.4`"… òþû.,Ðúåþ_\z«ÀÔT[ørÞ�+ØÔkó¤û7h`ßæ`jÞ~„ÈÏÁíPÙŒWþã£ü ~k¹R?8ØÊc>bçêÇ6ðÜbjóa}ýh”FBf^ Wbê8�`XkÈ'§Ú¿K&Ô0e¡*ÛŠC+^6ªÕl¼ûEJr¤Þþû%J1Î9;JBô6½ÀÀ”B|ñ“¿y›ü¥@ 0:ÁJ``*õ†½ŠÆ�DŸJ#á³Â5S @ñxÖÀ.€ê©�~´ Pô7')xc}HõnSO^sÈnUÆ'Ïò,*êólKlæjÐ:`*°„ó>zÍøK |‡€ƒéþ™|YÒMþpdŒ£æJ�à -Ì� ­¨Ÿ[0äò�êf¦…ȤÛBžã+ä�>ë¹ËHñÀ¹f,‡ù, ùîs À�Àyú<Ó¨P’ÃÐèõˆ_oóˆÞxà;| - @`Š’ï�f'˜¯«[׿=ö à:Óþzê5']åà G¹‹3æ£êÖ¨ ¨Ü:xvÐ|4=EËllÓàŽ¶ê£ñÐÈh‘wóãÿÌÖÇÇâ»9Iâr@ßr0O1y Aë¬×õ -PðOd<Î�ÆÇ±X@¿Ç(xÃÑ‹®ØÈ_=>"sÏ=Iòñ«—ãñˆl€"dVß¿§F’ˆ.m‚+[ÕüDÆB~"ŽùµýEþr´…q*G£—¯6GÇÇù0‡Úx˜¼µ<›–ñË'£ÑñˆÔäGðØÏÑ̈ð¿(†$¦aê0±ÌúÀôÂd�aŒóO­FêÇÀc#?ÈwøI5U>Ï£¢r*ê`4Ú9hFEQbçÓ(�ƒ¬NʦÄrò„k†2µ|šÕdç…GÃS5Ö'ൢá㨨I=Eúà†.ò8+Ƥy³À¦£LžåÏøósô RóÙÇ™ËNç•�]AržÿÝáñ«“*5qtD¹œ¯¨urò|t<$5GSÉ‹_$?EmQX]þGWb€ä ;€.ì†`bì�/þÓ±E§ý¸çTfõÿY@º|Ö  ³  0Ì8Î࿸)*&€ àPH`#;û�UT:¶@Õ>µ5·ÊKí0¡» ÐÆ"`Sî=<±O_ Ù½Ó{â‘ý^ÙÅjÅ Ô`÷E‘zº ª‹òžÙ‰Ä"¤TU·k€zß¡cÜ“ÑÞïwYÒRÙí&wöPÝKƒÐõÝC)O™è´o/ÞN&màÌ,(Ûîî�K &g4ÄXB -²Ós=œð¥;$ÂÁàëvëðð_¿þzàŒ…èïNæ+" –‰¤¤bü='üÐ=$­ê1Ý^¹üu¹ßê¶d�–n9ºEÚ·—PÞ]A ¨‚ôÆ!‹‡ƒÕþ¡³ðöÍ /?pYåÃûz`û‚*i9üúÂa‡L¹T\T¹döÑ#êX˜’ÔX°o‚ˆGaw–:ƒ'asyrø„*1> OP"®³èCäø�,Óèÿ°j�n«´è¬ ðò˜µL;¬¼˜Q8^ê %×ÞÓ VûDeÜâ}ç•u0<€)š¢PÔ¶ÑX' @¼˜ˆ. ;‡k7®-Üm®T²}Ä÷p.Hãü¼¶¡A¼`ók ½ôkµ Ú+Òt}ˆ�ka¸vã YÄè7s€Ëk;;wVjð{?úøÓP[»q'­ÿ·0_ÌX¸L�?._ºüÍ›}( ËááwÌ ÆUH�+ùðÈL[4Úbâ:àÅ7übH�Ûò£*G�|þùç™Æe~\(ü%äx>g?{V_®ŒêÍO¶Õ¤Bòq¸þq¶BóÏocwüíxøj·Y?8«mjq \‰ñœv×`³¥»¦ƒ;ät�ÂøŸ${¤§z3ËŸŸüñä埾ýöå ¨ÒlÂã¡q}È`3Ré|>z>Êõ…ƒYlñÏgË󪄡Š+·v�ì·`ü½’ÊW³2|9Ê7ÁR"9€9ŒNÆ¿Rƒ�~(\H%¼ùÈ„ˆÊ€ˆ3~u2å@ö©øt¿f8çð0;Ê4†/å¶�G�"O[”Š®[Ùç͆¾³EØVT³>z@E=£¢¸Æ+*‘ P¢ý˪õ,Ÿ11¤‡NJ_´¤˜O,µZ*ñ$£çã“WäɲŒeÍÍ,ê©™�­¨o¿ý]ü¹EEQ…p®çQQrÚâ3‰8IzÇ ò5€£lÄYĹÄ>ÍF'©ìÇËãàyÙÎèÕÉðÕ¯òJª(8e5¸´¨sM…Šâ¿HNñ8°úÅ~gÏ%÷¼NÔk÷Û{ƒîªº<Ànþ fV-4Ä5‚âÐïí³íʇðø¥ÑÓ¼B1ÿîÉ�“¤XJl[!�áÿý[ Àn¾Cø_H¸VV&ÿ• -¿•ê>ë~Ý\®Ôë•[•›ª›^¹¾^߬oÖê̓嬾î�ͨ˜­›7á3¢ë†áo;@#,ç,µú§T§ÒÈnÍÈ?Álm¥P¹ªºÎïòòƒúúúz�ÿjµf¦b" 3¢..UN-”ðY €]^G,ñˆEªjõêÍÍ:ù]'ëõ"ŠØV6×S‘ù©px�¿”ˆZm“ršM[@Þy€³óè£à×/[Üt*Efbc我=ˆmVoþÍ*ªRyP§Ú¼ŠŠòS/PNUÖUãÏ[ÈnÚ8c¨7RÖâÕl}x(�[!ªKc ˆŽb!4�üãß,{õ䔯TR\ @0€‡<%¯[Žœgb7ršònž¬�úÖ³åf<|<5÷«[oÖ77#}“Š¢ÎWÔi†Î|&¨](ón|/,ß÷Œ?øÑ© @ H$ 6 À•^s(äM6€"€S?€‚Ìš¢i P€³6Úz›û¢9Nw#�ÿ˜5hëïrƒøoÀ]^®;ǹ$¬÷‚€�@À¤çÀ¾u+ã»×kÅø‡–#± -€÷…†¨¡\¥ ûîˆ>êçÄ ŒpÌ ‚pØÖ¶ض�£¶¿T"Mý=C"J2jºåUS'ö›~^ÌEȨä5pж[„Å™è@4”û=uzyLô¢kLg5¾#Ê‚ÂQR1–áðß:‡n »Ýö ‘·áADh)(AƒéeR×ve™�Ä‚�Ëå=Õè”(�Òÿ[í»W. „m„ÜÔ'ÒþÀÉþD¢%bÇözp£è"ÐÓ/ªäTZÄÕsi nt¬ …G�ú@�#›.èH JáÉàI1 -“R'w–¤ÎÂCÃMKTÜ~à¿¥&¹Ú)Ôriqu5æu\¢ÎüÏ ÿ¹Ò¸Çfz�_—ôj;ÿeÇèÍIvv³aŽf’“ÐDP!PŠcY}vŸX•Äã:[7ìëo4i^iYÕ_@]à€0`cƒFLq@¾6_ Î6ì…3àOo,ütázj4öû ÷î߸±qïÒÂ=ánîjõ›åòÚöNu¥ö�hÿ¡ú±~€®DãÏN~]ùvŒ¡rI;Ã}Bÿ·¡.|Š&sÖ y}Vò]ñ?pe¨àÑÔðkwÀ;ƒ),�F4¯ñ‰†žV,£œ›õ› „f5áŽÄÿYáÄß.o¦ÍøNBUNfqJßC«4¡ÍVÌêD]† kÞZñr+…P½uçŽ)RÒ¿n-Çv¥Z¯üM¥~c@a5ÒÊmw�Êðÿ‘%Þ¦‚½¸ò °ƧÔ}Rù0ÿ›SIññ…cnUni#’JeùÖ2²ÂiöÜŠGN/Ù|0iÛ¬`bªym€¼Ú¾üí¯Su‰¡¡¹4=|%Lð¬¨Í›ÿ (H‘bŠ2›•¾g5uк ¡pRõdùE S w¡¥ËšØà(\è�Ÿ>�éè@W Ô_í‘«®%«@OzM ’(;�âˆÿí¥ùŽÃû]§GÒ¹NûÜBühà°“'Ü÷M‰àwøaÿp`!‚Ć"gá •)Í2 N>À½†ï¬?ÜqJEb™$uÁ0-po©¬ñF»HÏ2 ?K×… ,Uþ iKå=!_«ÑbÌèÞ -p¶`o�¤Àt]²�¸`ó §ï§³|8ÖhÇÆ ^öúÿhäZõšÍl<äõGìë;xþ;�~4Zºq}“í§�üd4βÚ]p¶Q«ÜipqÑžÛ”4jw×jD6Áñˆæ†ÃÕåLÂýÚF–é)0•»k7înl×Ö66î-¼?w÷†]׿®]+ôõ‹enM‹²s™�:j$ªV#aY­`×ç ðçi€\åsmÁ­ÀÅ󜀈Ø3>¯ÁÂ�ËýCN-[_þñ €h| 9 ˜­&„"}VݬZc)~Ž_Œ¨§,:�ѯƷšu´¿­Æç§Öf‚=o€}®/H½¶µ1µ4³æŠª£ü†gOÉjlÕ�€ ÏwiQgÍæAsVÙú\,f¥r¦Ù$>"ÍÆVÓ¤zå#¢ŸZŽÞà�å/‡^—ç…90S�f‘%žÍHwšI·™9G•ÆkbÅŠ9jZ÷â@¼ƒü¿Mäs*‘+N}’œ� ñp{bøfø¨9ù4š�4v[ù)Ÿïþ?ÔÄ™ŠÊ¡Ùèà|E�Ç©¢ -žŒ*›àìy€ æÐ`EE/J|¶>� ~9úÝÍ_Ž)ïúz­Z�.#R$ŠGE=u$OFT•—*ª^ᥞHzG¼còËÖÅ>ÉLm"¿Êí\ùܧ?dôïÿ­^ÉÒCC5QQÙ¿GEÅãàoÓsÁ5ã÷B©PèZü´À£vüè{¨èÉÀÔ'¸/ìÃLo¶D8§6€)x�áþŸµHIŠ»hü±c»œLû=çpSR·±zž3Ì�qq-:nÒä[í¥ÎŒV·U÷^8<ê?â¨{·)Œ^é뾄„i¿Êš§�ŽÖcnÑÁ¼Áá!Ê-Á9±?ñ€¾.©±«­¿Mûù«j}eùŽ6ÇšÁ‰a¯¬ÜYAùÿðÎÂO wîŠáÍ]úË÷ {Â4ØÉÆŽ8ek…ÌX& õÄ h2£I”5C.’<×0À—€Í-K-¯ù(4ÝIv²ÑñxüòÕxøüøø8¯×Ÿ�óÝñItÀï £ß�¤p0”×Bài4ðÿhä,-!^ÄûSàJXÂ�DØùäÔðèVUW¹�“ç''/ß3îÑðUÖÈG'' ˆå�ÍìÕËãÑ«çÑçÎaYöE -#„ÂÝM·NËð€:9ÙÏ ÀgZ†y2Bð9ø!~ží<% Î.h - ˜5ýF©Ç_áHö«_qÀ"°<¢D•N"Á€LÀwøhÐà·¿Öiî¨øäù£ÌÌ@Èòìi>:~õœ{v¨¨/_SQ¿å?«�Æ»»b#²k'ø ‰±˜Ù‡døÉŽ^üªZ»Ààý �ó�±BÉÂÔ¡ù£å&ôÛxŒääääw¦1åûh4zɃIFŠŠ¢ÜF'O›Õƒo_’¾q’ôXs Oä>Î){Iˆ¸6†ùz%|O>ÏžrîZ§µkEYPÈê"IPH˜œVLc¾ÏÎ~.æ?µÈ”xƒ é;@`›(Js¿ÚINkS»:wê÷Ha$ZÖÅ"ôèÀ{ð‰§.A{Ù\X×C¹ ÷öü%×Ú³œìz@Eþy%pÝY°ë'¨ÙÝä›+§âûº�vßç.R×?4·¤¶¼D2(‚#Qör”K{ÝriUD7ø ¦¨µZ–Y…8ß)Þ‹‡=Àm¶8&Ô[@òsn7LÐŽro uãcˆ%×É€¸LÛIp �µß•�u!<΂`2(¬’ë“ðžÞÚ(8‡¥²¾�’ WeÔ©Â…fW¢æâÀj©ìŒ VïjL¨$ -0‘sáÐëjn»@nÆ÷<0xéÊü‡±³|«r«rs¹rkY».J— ¯[¶À›Úínݺ™nNò“ùùùŸ¸1å}‚â -®«z釜Y¾ó“+ËWæ®°u*?ùÉòüO®Ì_¹ÂÿóÀ©²éùïïy @Á [µ©ÀAse]GùÓV„ƒêNŠòá‰ó -Ä‘$`åø`süJø<.Ž(IVâMIÔ+‰~b DN-N#ıÂðjÄ}ö>íªýûü=µÐ)~%Õ…©ÖÝ¡æš~¤Iç¦RðžTgŠåäÏÔàÔT3ë0c8NPdùá¤Tvvó”—dJþú7z‘×úTQ3_“ŠRoRxÃð$MûÔ@M98c(ÆãNê�dY}¹ž¨O"Iú<"cÃA‰T˜�ÊÚK¢7«¿ÿV¼FôÊ+ÎL…€ßæ ©&Tânðaà?ßͪ+3•®ø4Uêƒ{ÑiâÞE²Õ‡Ýg 1 Ú9ȾxÎ0åþEÇò€ó©Lfx³ €K £°Ð*O¤€$À?Ù‚œ (ô`bøç7šº½¥HÉvKh.wú®§¸'ˆ7qšŒ]yˆá$ˆ¼J¬pÃÍUðUu¹ØÉ½%¶#{„5tàG¼ïDzçô�FرOöŸô£—\»‚^qÜúêétöV]£ˆáí2ðÂ?êvèØ:§¤?ƒ(Ö¨æÚñ9×� è㮚g¸'›Î~¾•ÈPe¤*÷vˆ»üqw¶ì¶ZƒÀ\öú(êð�Ø@sÖñ^eAÛg@´íöj)eÙT¶`Ç ,h;µ@ç±ÐÌ p€VwÐZÕ[�C°3³F|í°¤h ¤²7ØoÙíž…\²`-îT¾^‹²Mz—à1Vp¸d€ð‡­v°O~-Só6§û®]Ìa'*Ã�4JpJšÑh,)©ã[gþ[}åÅR«'àIRï× ÀT^ëp»{ø¯‡ÿÆÜ³ͺÍÏÍzLßË‘ÚÆúšÊ_£ÙD�GP6r­Ê\¾ù ÛëçM`e”WÂñ«ÇÏ\;°ŠÎHSµæ(@íïYþÅÎ.g ±¾¼²öp…ãõF= p&ú�×îܹ£w–J±nŸ6‚�QÑ'&€Zmaþý¤¬Ï½é/®$?ý·Êå÷ ¬V­ídÍßkÇ÷ f­ºö~ -’æR€ÌÇ®…âçÒe¯hˆhÿ^pÑ<ç�ÿI® «ƒ,aW>œø„`÷" ÀÖ¤ñT"]Ž�{\ÝÞD?šââž$ËUª/‹}àwŠÀö"‡¼Ñ°5kX¦Å[!T£�@M9Q¿£¨« OBcsçØÙÇ39é|.H˜‚ET,ßäà(-_d°¹›Ë7oŽž¡x_l‘Ôºu‡ùMRLoÄ�H¹•F¯hý67ð5÷HÀwÌ0õ`!èdþ§"ØÝõJÓ=©¨ßƒt¡­Õî­-\]¸vmîòåkssW§ŸÉÏÜ;Œ •² €‹ñ¿�Ë“ |P‚ðå Àë>–хˆš†¿þßãM=)œ‚ÞcISvKÝÖûmi)Ó§ÍÊú‰.‹IK� �íï|(¦ @¦ @9à!b$ý|Çô²Ýðøy^\áÙšjÈ¿¯ù ww†fÒ´'µe4Æ+)G»GÃ_ÿq´Y7ÙyRü'%k)î‹;Ž - Ày€7X¦ q*z|<7oõH¹r+î ›Œ«+vÍðüe’i*ÅqÆ!³uñ‡Z…º ÇiÀÓY`ß‹•€Cåéùò›cÉ»ž8'R€7Ù"˜d˜%³�EÀ… @ÍVô(0H| Ðê9ÌÆß^6öA=�Ê%Â?ÐÇIh! Ž·:ƒC?­ýœŸ�pŽËôæS„W,è:ë^¯§ß¾”À±zÈ!ˆd¤Ð´Ù�~ƒD@R�ÊtÀX˜æCçÖ¿§Š·ÈÈZ.ïù%¸ê—¦E5¹µt›«Ëð‰ -µhb¿@«�›"ˆ„Ú9{Ä/~‘0“Öê¹ÉÛa0¿àþPfa;ô…�c*á6� j•{à4„¢\Ú+ï•–4B˜H’éª -�måÁ„Lr®é*Ò-Ý]¥ÊÂPο}$†A=èöµâïÃÈN©|û1±Zæ -›^MP«+�b§|},Å®f SæÐ>SË#!Çâ[lS"½C9;{Ý'ûû\î - L¥Ýj-–Ì'Eß– 9Šå -ü?×þ+‡€Þ~ñâ] µ˜(†øBnð -׫M[]Þ^_çpªCâ½ØØ¡ÕÓ -¨Œ@sÙØX[¸¶vß«hJ¾›éŽÏéÊ�‘sý¤w> 'BЉúôë§²v÷ýùŸ&}½˜ }½YÞ–aÀÎÁ»±A¦œì/fXX[xþ>aëö7'¡ ä0°6¿üŸ4™3€„i§>…dÍ·ã¿­ðÏi†ÝÐàá9Š×–’F¼À­àEÛŠÜ*Ø=~™W�ëmWs´…Ÿát÷Œ€H+ÕQ˜ÿ]P(N¼É�ðó" @œPŒ -ä4/ÂJä‰ mT�YWÌ(iž¦‰ç#[(¬�¼…0O}¶/ð(,‚™ýO+MÑ*tÊPÿ�ÐHW–°ÿ‡ÄÕÉ4žÄèËa$¨þ7GZÁ8Ú€¿èÏ6|€…ƒœ~üH·}â§µ -àG¹ùqkoO€.èð¨¾åÕX¤¬ì¹n­>a€¤Z$)IKO¸=€msa”À!(Ø’“°—Är/¶Êúȸ7 52ñµÈU0�"ø}"úS„քΑ�¯M¦³ôÚÅ À{W“PÊšœ{WÇ;Ü .c„bÎ,l~¸ÜJÎì´Orâ0¥ðUo_Rº›¬(4¨Ö"ÜÆ!”Qüco‡%'µ1‹ƒs{>½9üW—�(ÿf%½iNtùÒÜ5À É›—åõJ–«Lª(o9/yÚpŠß}@šT4ˆÂýûÜÊåµ×®Ý¨íªæÑNpfCÿþÆÊZ¾¶p#P?^}Æ*÷jkÕÀe¾„æ µ4]ïDjïÿpMuÜ©{§øü6y¿ž×$Ɔ%4F²v·vW°vㆋο?M‘Ì]u^àžp V~ý* -ˆ¼O-� ù~3þOpåË×-[Ã7�ØŠFØž…̹ó£ä3ÈC^©�)W[ö™6øì„úÈNãVõYtµ7“Æœ^TÆ‹,�ó­×}>Kg�œÕAÀý£ÿþ€ GL}Ò/eG]ƒWñÿŠaßðÍKÏ#ìÊŸ$³•�š›Ã—¿ùÍ1eVœ@Þyßl2l¦ä®“D’7ª05^¶�zÒ†…©Ô>Ùâ œ=r�$Œ'.WÀîp…½s€ôWhü© ÀýfÐ*}¢ûOþ§’»rÖp†€GÀ@ÿôI�{É($Ðj÷ÂÝ+€êmÏ!÷` -×9…\$æ†Ú¤.fîiNM×Û?Ü?ì·b…}ZxÕNiÑsÃÔ1c -á�>ëâixä©q/é’¶ßôŸ€nªûêªÝ%.¨ÌGˆú°÷dàøAö¼!âÇÁ^ ·„Š/|Šž)k©äÐöÀ%yH˜¾ÝänØ`å¥U{ÙJà>"0Í«®…¸š Íq{¨×s"ÿÞ [rØ`˜ç¤’` ªù{i¾»AЊ ¸TÕ75ü·:û|à ,Ž%çÒc]éØéîµ[�Éi¯óÏÐôÑíÿ¢ÛüÂZ°�eM‡åC’Kˆ�0YÄ)R¦ùDÚ´{¤Š%ƒ:1h»8“ØÈ±%ê¿Ì¢G$íEx“ -z §„ýT{×l�B£ãÜ"Ål&Ý#6m Üoµ8¸1ìÿgGPmÝÞáׇ‡ÿbͯÔëR[»úÞ¥¹ôD¿·Ç�jžÓÐÚ0DÓ¯xÑJD[·�Óê<×Í)µp÷�tå{k€û�û¶îÛ4¡…g£•• ð½›x?¸ó©Ó‹ÏàòÇUôòµµ•Ÿ®À~zjp.€µRƒö�¶ç;”eîýƮԘҔñ.`p m7nØ0_»q#L{)A!a ð÷½¿xïòå”ã ÀÔT[øLæx#þr:€Šå¬€/òÝè!Q¦ÝÔÔ�òj}Í{š4/p1Y„`sjsëDŽÕ˜Þmr{ú9EÆs€$Bÿ9 Íx3sì[$A°ŒößM„‡!Ö¨A´¼øŸz�¶�s¸@æ"rqÃp½7�ñð©ñ 9;oØ=®T*€*)ŠÜL²F®'é!éîEi÷ - ÉáðÖ(Vi¢-?Ê>ç¬ 8çðÆy4Õd^R{Æ3Âu‘œp„£¦Ð¹+�ÉÐÆ *ª1Êg-A"“¤\¹ •É�|_dØÚú”};8ãÏ+ë'&]Q_ñ¬h1Š Å·…µ;l®çÿóÅxøÞ`ø.[�IžŠzŽÄÁ�¶ÿ0Ú\iþ‡í‡gŒÒ3Èi=IjRv6jöàp*¾Ïüó$NÑýGÅ:v\ À"oû©@”OÚ~l  -0õ,d²ñŽ~çÀ ð�Æ6áÿÙÙDšà@·C^3¨a¦“€|ZÜè;KmDLðœ ú�¡Â£"Šá¢¿×.9cLÄ’^c‹0 ýÊÂf¯n)†ê.Ø;üê«ýÃ'‡ávN½}øƒË ¤€V]m''ŽAiº¦‘ÊNøÀ“F`G£¿<#$¦ãÕ¼O.¡«ü´÷"—}<ÌÝ.D =à¨c¼"Ôç$ì.ý¿«KK«fB»vIë³>áÐìK`z>ì û¸kOoš ð ÿ"SYÖ¬Ô%�BÛnlïž©¨/áŠf'*Ê~ò´“77óßþA¦6ë0±¼ƒ€l‡ӿ¡~ ä€׬á"·"ÔlQdŸ ò±U�ë‡ú2/[Å÷Ùªn+À] žqÔàûqàÒÄpê0ùL†pæœ €½´Ð;ùœ'g@Á -0kHíj¤iŸ 9o.8"Q@ýwz›„ p¿³ˆ> Z¨×£"¦‰þÑÔ÷ù©ý€”‹%`“¨ƒGè©|RA ÄZ,õžapØëØïìƒô¥’à QýrÀ>”\¸@x&1#(™ä$rS࿚i×¹è8}0ÏQ8 ¢²ÏEBR諜ãFi)‡Ý£|Ø�.¬®ÏûèÔ(±¢qû6ì�«Äw¨ƒØ§Q œ&ýó"rF”]4./éåd”¼.È#aW� �Ãj—ö Sr)©"¥½==.å)nðAÊL·ÓýÿÂèl] ûÔwßrÔ¨™K,% |(ÔÙšF‰‡7wº}'¯þýÚ=ûô¸±p§@ü°\‹m0º€…kà(çø¿…\Ù°;4ðÑð/@ˆÞ‡Š.€7®I+æ&>ÿ|Í2€ôÏ7aÍZÈ�EñðÌZ¶‡o”WÎÎpÞàB VZôIýF§ZwÞÂa7ÕMñöîñŸ¬ ÇÝ{(G±„DH4¹ÊŸmàht{ð0¼æ/—2•¶NŽšõüÅ q%Œuòä(YÎÎà13ežÎŒ âããÆlž&ø¯uߟ‡ñ´QóñäMóÄhb¦ÜhfÕÂÅEÞu™ZXˆå «‰š2ÉþÀzÙäaÉŸBN+*þ£¢Æ¯&OF̘rõ¦™ã [šþ#KVàß=l¦ñ°FEÍdj÷ËÉÃGEEÁ�ëybŸÃlfÀDâáó:ž¼7ûTÔŸ‚Ö §L­¾B §R]O¤Æ¾²#™ñç;DWN B;À—=-اæÇ_lyƒ€ïÇ<@éïœ`ÿ]~o!0Û3 €Æ¹øvÿÄlèC%¶§&qÀL8lüùÓõ ”vZy ¾:–-}Ôî ž<¡!W˜èε½^ Å� b\ZdÊK´újÒ¡Ç"å>©ksîÉ“Cîþª7h¹ wö{\Ý[á’î;”ôQe! Tù6_â%91½@9aJLFØÞ‰>`ÊŽéòG�ò’…Ûq=[{Zåe)Q6IB/Gƒ=|ò¤ÕÚƒ©HZ4¦{9à,Àm7výTŽË“ˆ -…¿‹òÎ9’Nú<Ʀ¼Âñs%ØÅ;âªP [ -_Ë”Vk"‰CƲ·G† ;@ÈGåHôä�=êzDÝuöába[…½Íjd³T*]@\žÁ>Ä;é‚p-6Çø›"O©êC4:ÝÇa¶C"~xI©Û ¶" XÕ¶“‹P.E!".÷Âäàˆ F°ù/.©Mû¢jª7œhÇ.€{wwyS+1)µÝSð@ -o1‘0__N뤭’�ëÞ�«W¯ßuÊß _¨bÛ�•kú=h½b}£°üC€´Rïõà™ý…Q_‰.€dªŸ‹u¾sàû�!í #u0ÄÒÂw]hØÐ¯k -€\I½ -  ÿÔ0Áþ„þ~´ÌX7ÎYlXß"ÞÄÏpøå—´Â!Ë(_oüú�zÌ…Š8ÛüžJ“+E6Z¾vP,«�4³ð -‚Ql›·õ -| >%cy¶;:É*UÒ}ÚƒŸÂ¯Ûû¬ÐOÏ�b% À©› 0€Æ³Æ­jh‡üÅ µì‹É"j˜d)õ—‡<D¶³çY=ÿß¿ùæ›áÏ¥4©°&ÃÓ&‚–»--˜x•îƒP -î4Ofêøy¦:NéSþ¯òF…ÑN"‘8µj`É¡)Ûë…Lm–iKYJ>ì“;zdÓU}4X¸8Ÿ˜¨Jà »(ùösw;°gRÏ×îab5 ”–bÑA -›Ë£°ýGõWý_BHŠ;/ôbäQLR‘²Ò’Ýe`”#þ½Ä€¸%œ¢4Êô-.¶zÐ(n´Ž=Ë¥5¤Ã -D¤WáÅ'.sE‰` ¤ßÙïwQiüœ,ïSŽK·¥‘¦(öèˆ!ÈÒ¢> £!£œ ‘xM-$�¹,´=+É0"ú€@¹~í€8Ù¾¨ ¬¸—._[páü�‡�c•ƒõ*/³/)/ñi­’�ÄöÎv–×–ë*.ÀK,þo¸Ðz}Mû]»`€ÙQùtô•µ; 1Iß�7Öî&ð×p}þÒBY×V/" Ïo‘¹j#¡ò C˜nØ¿pãºá_½teá‡Á’ w%üOŸ (öhÕO-E«6õ 4RKû‰ûŠm¤/ùÐPÓþgùfã…Š¥jY ¢p¯$‡)šXáÔ³ŒìŽòÊÖIàJ4ÀâJ:�Úõ|¨Û¹Û£á¯!Epg„@E€(ªW9ÓRûd+ð½Vϲ•õ0( /7>×8IÚ_ú%墢CEÈ#3ú¼>üÏ߯LÃÂ1qšGâ' €(ªªœœIwF‰�nG:Lò¤o½ëØ�¾Èr‹p4:m„uFÈ“yˆv& àLžÂâT€eÖ¬ßjèo «®­Ts’ +6!6»ÓŠ’ŒÍìåokžvó4ž!�­ôé·¢Ìá„gᤢòaf8\Œ˜*ý·¢@ab"ƒ»Ç§Êú™šàÜ•^Á4F!Ÿ„•<²T£z*›ÁÔˆ�4¤Š"µgá(ø2?ÒÅ‘<ífyssô¿û›_I¹á|?U”_QQf**e÷y^[E†ÎTÔïþ9·“ó ÔV.¬¨OO+*š–su±¸O Z~¬ À•+¾ì§€Y?ÈôDìÇ¡�´uÚ€¼Åð:˜e…à”8^|Ð0Sã ;�°&ŠÀâU«U¸; à§œ-nñ鵿ºÝÁ W^l?ÙÂ-pŽ€ISDóŧ·ïÙËæDh0‹�Û�A|ÅVG‚Ç©€ûÛi"„ëÈ žH3–‚‹¤$éÇo€ÀƒVÛrm[þ`�Ýѹ]Ö’®n¦æÜäûÈAzB(j¬NjG&]…?ÈJ”D…XNQy5E›~p¥^žEàæ4O�`Ão†ÇC•Ùlwl<µ @!Û» œ‚Íyz*á(yªg[õ;ód/€ÑD\~YQÂ%1YK»_òKžNFë0µo†_Qìv÷gM²c‘÷‰èùœ–¦�ŠjDE™ú™Lå§µCÞ¼î" ùBŸšíèl�Cg+ª.ß -ÀcS©�²m2W @¡_ñ'U$�LQÈÖÓèø?µoþ³xø| ¶�I -áh½$ÍÈÕCgÕÖî8ߤ¢¨Û×+ -^af‰ëx¸sœWWÒ8Ë %*j;,PµOf—7It$@̳„`: °¤¿ÉWôĩńùgå£Ðö“+à[l€à8í YǦ ´Ò€’$ŽGi“Ø…»JÓ“ûíöi콬½¼¦‹W—tïï:KKÝÁ“C®ÓÀsöÚ+€Ë -Ã�–ƒ¥r7V ²Ù�îä8ºT–>hà”ª�Ðñ�/0ªïðÀmïMx6YC{‡®Å‚‘ÒV¯üÁâ½´ -|éü¦O}GÞÑ%K1óNÜ0%¢Ë€…ã!Ð{_?�ÎþåøÉü+ï¡}·Ú¥½@¬I¿Õî•IhhºÝ=Âo »y{@:M´1$3?Âð•´T.eòÁíI] �UK¤E�æHYÉ‘�\N²¨ -$òê–ÿfÍÒa‡»¢>-‘¨%=î„q¾\"™â°ÎYø¦¸²ÓáÙju¨9=.dt}rº* \bh_ÂùºÜ B±%ÏcÔj;Æ"fý3‰‘6Â+zH�lzà>FQ#ŽøW)#µâÉâ�šƪï-ܽ·±ÑȆh̵@LðmÏì;ú OMü§\Þrž?… î¼·6wiîÚÚ½ûªßÿwïÞãŠåx·"wx§×#ŽÐý„¾q�Cî:PoaáÒÕëá­7'Vû’ß&sÛÀ#'IZ wµDƒ?ï_)Fh ¸øŠïÉ'Iœºti÷Ô0qÖšÎP4‚ß!ÑûE+™ÿ<Ú -¿\ß:þŸÃ!mrhãu\'3÷H½TŸS„�UÙNþ*§­w.<)ˆÔ†!GPFE¸R|/’�Éml[FÓH@ÊO£·\´t&•õüˆKn {r�,ÛÎ ‘òƒXš©W;õá °òçd6’g¨ðYMˆ-¿Z¥Zàî±.':Ì.htš)òDpŽÈÓpg}¥¡SÂY Àºœ”»S¦>™äˆÓäÅlú[o4mU/ˆ@Ë69LJ²1‡$w9ÿãK£M><©6_¼HX©GFxe�«i ²œÄd'?�8^“‚³¤I\Œp$лĔ›©Q¶²ùÖŠâ.g;03U»ï‹8©¨ƒêº}? y�1™„ôŒ ârª(è',À• Ž¾Íª£—ßüZA @<|È4OäÂl¥l�PQëÕ\'@Ä;<8[Qr È'yZ_¾€}[údRQmÕ¼ƒˆæ3.`záp: ÐóOÑ?®KàÌA%¶ç mÿm~€³ àœÀÔ µ:Z~›ìØTÀ�Ù&‡ÒÙí:{®=ËëbGüú_FUý_~©ÔÛÿ*®üãj[UÄ¥Å�C³ ¼éµJΣ¯ˆ`Á>PUrzGÛ× @˜Jh™ÝÈ�7~ÉP›Ón M`¢¦k€ŸÜÌBb¹ôÁ_ÿõK^ú‹4WŽé!§ÝÒê«¡‰+lXl�a��ß¶ª-*¯©Ý‡v£êìí((ášT‡v,Ñ4m8Ç@+ ²Õê¥aûPÔgc¡°ÅDn7Ê%×ÊsfÂÅ¿þàƒ¥réqœåú0+X{_í?vÌDŒðk)™ ø´¯B ¼ž÷ôh4Ošìé/ø@äÓIwúNšÄÕ%è\$Ê�ô kÏ'üÝŽéÛ-K™¼´c#öÊeïr�"ù „Ç_jÂÚqz±Ÿ÷�4Ù!VáU”¥‰H8I¹;)TÃY˜xš$FzúTÆû1®�/Ô¬ðÆ(€k×Ê Às½¶Þ£’éÖ“^ótaˆ.d¿UBË�&Xp™øòj½q ®ÐÛ,v¡~ — -$ÀõcúÖ$á^¶ûmV©Çäír ->¼ºv u.`e7{‘-W·Š[‹¶—ÊâòU4Üé�õç¦í1…VL/£»VV¿U=È•í4d®SjÄ);3CèͱÃI‡ðÉ•"K‚KE;Ê«+¯UT8Ÿ˜¯TQæÄ6À°¿KS€³\ €DN-ÊÐ'°× äG~âÐDŠåüšèû³úÿäXÈ… 3 *÷y †Û±B 4P$È> >ºß^§ß^l©¸ Âàž®â‹Ó²†>*ã¡Êf[7€XPÏ`“$“q» Ü‚§×î]7õ1­Î¬é•–üŸ>p–øV U}UsE€ŠG‰u6%ý¶Xo%{Ñ#ε`xû¶š>G½˜ ™®]aqÑÉ�B–>ZýHHþ¨ páô¢ãA·$ÉÄcbuV W&*wË{Ý’óþ’ø¸ì’‡�£%–®©u !¥�h!GßwZ"°Ÿ$,.’À¥�͵B�öÕúðWÖ×.9öÀ…l–@~Ý#$Ê΃fTp…n�r ”tGÁtíèú}‡–Á D'“¼ÝQ7±M�ó !#Ò¯Šž2)(S5}“øvÃÝNy¯½XÚ‹@"P”Ô™CH��“¥ÃÙž…ØÿSP9rŒäpøõá¿+ŒË=бç›xF6][±7¶7jéóõÊNò8£þ þšSÃõ}”m6þC]Ä—˜Pf%ö pÿÞšÊ?è~ãÆÝ�Úü<�{U¼`*1=�·-ÜYXò×þJ=ýú�Âc?Ü�èêåËs rõY¬>'WôþþK@‚8Á€Ú?qÔÞŸ�É…Þ›»ü— 蓤 ÏE[S Åa«8õ8mæÞ$¶Â1ÓL¸í¥¾óøzµY?~ùå—båîNºjZ`ºŠ%G& øÉ$@ØJM„ -^Á-~ ™+ß?´Á;£ÆJÅ6Ø[ý·Ú\Æ1B2¦T¯€ Õ7ú,¡tÒ(õ.«;=o.¯;”Ð, /!�~©ñ'yÊ”YˆáÇÙæè¥Æòd׈LED>;³ìÔë>Dpîæµ -ê½yšüq_�+‚¥æåP,WÖ)ñIó³åW1 —scáØHž||d - äž°‘5!“Á|&]!7”�¥I^fòr"ø2ÿ¹Û;IN¥§k‰ž@oª(šôq¶R»ÈP”W”¤ï½õ¥…4l¬lR-QÅ1nTTñ\ySÊSQQÉÍñ“¨&I€<à~ãi£R‹ŠÒŒoG·e�´D¼QQ>¾3™7PQ?�I6*8MQQß-‚~ùÇ®ø£x7ßl¸ç°}“ýY -€L þ;渘œ2�îÉ -Й€Â€fN “¸w¢½Ùå�:‡úï`¼Zø!Wî8a.ü«ú¹<=­>*ܾ Ä--µžÜ¢· J‚v»¥3žø/ˆ�»ð�@lA¥…x‚ꮡñ‡ˆ2ñ ûˆîˆ}Áƒ@#Å€¥@³Û6 bê�H9ˆëÌSiñ{AbÊÝè8¼ÇÍÝòâ‰,•ü\ÛÝÁ1�z´Úμ‰3«½Ö¾Âz­ö1O„aFÛí¦íû>Æ>Õ¼,ù­ô¼¸øg©Ã´^«º:Ýò - B«oyÔê–<Àå#ÿziµ£®U¢ÅÞ™‡;�í&P  -­¿#äg~�GÙvþ5²vsîÒEQ…QâíÖíÐâAòn¿ßm­ºN�†Â×bbIøx9õ¼¤ ›1Ý¢‡ú½rçöÞ×�U§îù…Ó$~Ôœ 4+`{K˜×a·qÂQâñ’˜$8‘W[ö]øYxd :”Â@JÜ€›{Ñ�Jz%—¯­i©O^{ Ô¤,§½R¯™LR–¤«t 4Ç›Ú$£) -Äe×Ö®_]¸ºpcíèïî½{7�Zm^¿û¢Ý;ê/î � ¤Qúkw¦Ãÿݸ~Ý®ú¨„k¸L¿ú?� \‡ àýÚ.‰J€ðTô1@,tmM«‚c Œ/œÀ~�v§ùšXžM,”�sõ½ù3iü“B™L³n°•¿r" ð¢÷�†3¸Â}½Y¼e7J\MÓ6¸RßNôÖ_œW€•ÿZžÕWªŒèùϦuõIâs‘&7|ͤoÔ0ûNRÚ*‡¡œfvèyÌéQˆÛ‰ÚˆRo³[¤i=¾žÛPä)©¾XàÀò¤{G´§³Ñȉ'="¬ q‚¹ fPä Ų±yK  Ö×ï×�“bY4ä œŒÁ¨zd1Ê·È™{�|§ê,µ$ºèÜŽ‚±pMj‘§ÓŠÊ4Õ¿ª6†0O&"Ô×I'F€ÔS´T“WÙg·ê_8âT¬¨‚©R -­¨¨´L¾Þ4õ-Öné7I‘ M5²ÎŽ¥ MÌmì92Õ„ìÙ°hù¥°5"ÅíE¦f>{:NšÕ¡ÝÓŠ"ûE×SLÕ\ð=vÏTÔº“KDHˆ·9ï_xƒhÏ’ÔTW6‹Š2S2ê¨(ˆâ™�”©w’Ù€4=pìž&£Nø+ºdqðTŠ~ÒößâpÉô)ð0é$À,(´Rhæ `D?‘¨Û4Tù–¬o»·ÓŠ4h‡j•-Ð :áñUdki)x�áDl€4|»ì ʧ²Ê iõCyÒ ÐýÒK’ñ 845’�^y)ÀÒÒG\„–zƒvßnûv¯W~Ì…Nßóøq•Ú÷½à1‰ª–·ÎÊCÍ0@ñR ó•|øè‘·Ô`äçþøúÔªÕõµ;++óËŽ60ÙK%ôÿV»¤w•äX%@5‰Üj�ûö,.ÂL#Ê1­=xJð‹=%À¸šßøAÕý;G´»ÿ… QÐü‘·�>Øï Ô½¸Õcyð÷‘ïä¡‘ÑÙ‰á8„õ»PÈ�ј2= «ÏST„} §ørYñb&‘úXº1©)*ÚÑPr`êé),D-©|ÆøIm 4t&àZFëIEÔ´’»ñ–¦V4¤°rN!õ§*¶DÞu#Æð„£ÿ£y³{#Üï×î5æu»{×þáÔð‰ HtÒó^ÀÂ_ùsíêÜÚ\2×SkšŸ ôä -*aê`Pª(zœhX7ƒ{€4B›�ÿøq°aD1=èWa(Zþ‡áà³÷nSÂÒü&"vóãq½><>>þµCé8F³*DXÎg¤à+YþûƒJã¤pöKm:©p {R– éËÜ)à³­J¥îjëVV@Í8µî&_"%Â{—)&ÛÍV¶\å½`>g¥€•‚Ú(ê™ß67wGÏ�íŽ OæYÎÀ_ºi*E4Áv�!ÿ¡oY„•íð²G”Ñ«�J9LV -¿ZÙÌš¼òÞ[<‡Mæ‰H>ƒ¤L¥<‘+ÕþB Y6Î×WžÛÃéxML‚5{óGëM+Š´DEqÕvÃN‘Hý©¤XÌê#î‚d¥„O*jÇàŠŠr A”P½Ridy3Xl&L¡pË)R½¤L‰ EE‘õt]TTžg•fª¨$çž HÂiž| ó?5«.ÄÃ7¡Äoàé–$ÛÚ5Bbw÷ÅQ½2~Qä)U”UUXjb²Ë#ÏRQ·jq ·Ö�ˆ9$U”/ÐÙŠz‡O#ð>ù:à5QX/À¿€ûâŒ=îŸR€ÉVRô§`VÿO§�7XÎÛ´tÏÛLq1‰ jZnðõŸs‡B²:ð’Ü:ÄÅõ -:¥Kÿ¸¤ç{j�1�Sa+�¸ÕíZöïGW3?=� -‚5pøÚÕ1u Ä5c@?œBD­HgÀÍG¡ëO�¹¬@�h RH©J ÝÒÒ÷¾'²êû¦ŒvLÕC6CñWõ_D) ºàØú¾öüVýÎòrµÑ¬Ö³ÉÊžŠ�µ-OˆµDăÃÓ´“g˼FgzFÓ ÁI^/ž{6mõ×î,ÌÏ_)«â—;½ÐI²ÌÎ’ è:ƒ‡J«QE‹«{�Òßí.í•û=ýû{ƒN)Ö@VíwçòÀÿÛA�,WvRyߢŸ 0€þ¿Ü.÷Í-‡l©”ãÓC¥õÛmÚ­¯»&ªí’ð@ëÊH -WnY/Ô!…Âí&ÇùöZ¸‚p÷$?{ÜÌV¢ý½Rýÿ‰Ïgº„|!ñZžJ_ín¬pc­¶±½1͵¼àœå<Óè×d$ Ê^�|ýÆóçà}õûµ»÷îÆð¿{gá»{ï^í~¾à(­úwÏôÀ�Àgÿä=„³ÝŸ¬¯ºD_1J{€ò›äýZîãTôÿßûX‚‘¢ Ⱦ6!—çæœï·€y‰€6ÂN09–>—(ÍŽx~?y~´;þÓ‹ññøÕ¿ýÏæz=ÿýñoNŽ{üòOãÑ(Û}~ò*Ïw¼c˜�vvòÞž?ÍvžÅ(ï<�2^œ“ñðø'G/~üsù‹W/õSˇcBqÂKR¯$Ųù,;°ý`|2Î_ŒÇǣшÖÚs®�Æ„;>yy2�³GÍQÖhçèøäå(¼<^ýæ?_¾åÏON@˜|t4úÃØßñ0'Þ‘(ÏÞÉK¢=yõí·£ŸÕ3ÀòÅ þþôòxÔœ/QŒÆ££ü(ãZnÈŸd@$J¡ŒÆ9�ˆïå«c’DDÙh|œ?I°@K>âçÅKR\_'O`R3e±þä¯N^�-j�”Œ†ÇÖ©$OÆqòŠSÄýÈ6£Á¡ÑÉÉ‹<¯×›”÷·/Æ\÷*.<žŒáù ¢�H´yÊSEýéOß~K[EEýöÇ/ŽIáóI·¢ÈÔï­¨àÜð4ÏFa0ñîTQÇÃ1UK̤Ê7¾øcÊÓð¡ÿᬬW6'•ÿ.Ëžüþ¿�ó”§Ñðhä:Q„NESX'Èóñq3k>§¢8~<æÀ¨YofúÍž¼GEq'q’çã£#ë\Vx´;zI��ÿðêOÿ ͆¿¡–~{üâO„°»sÄ#àR ÷í¼VQùÑè8on>z~2´¢Ø=îfÇ<Ç/Oþ§ÖjŒ‡ï•U­�'–*jôû -;UÔpx¼“mA,©¢¨¹ïþ ÿ¿/V‡Z»o·ð_œ - ŽÌJL˜P¢ïOtÿɈ @˳’Ð_¡ÑVãâsÞð°&d¥%w/–¤)u[-5Ɔý´øo+ø—¡¡(½'P€j ` ë‹ÂCx»ƒ_Ú À3¾û‡á¼àb¤g‰Ñû± ü¡×/-‘ÐÐJ]é¦�vLÛ縈Oì‘ÜpÙw®½ž>ˆ1Ç=!ÚûJK‹ßûÞà)°¥ÒJàþj.\¯/Þ⢣ï€ÌR¯LûÒhT«wVBïÊOQµSà&@/ /€Ý¦Vèá55g+Ù¨“5'vEΟ‹¾ÁéY­ýûï_š›ÿiµ^m•Àô4iNààa·Üo­ZŒmÉ•zOÚCØë ¸´Û±$Ü׿îA2 -èO‡c÷²ªÎt@–ŸªËoTx[wû«5²/WO@´Ž¨~UÔ¶£¡Í¢Þæ9ZŠ`ósvK»Ù|tW’H³y ÓìæÏ½êiZЉçÝápLÅm5š·*õ­úúzµº^Dߨ³¼0ª1*WëB³;à÷Àd6Œ%.˳“qå*w'�N§K›¹½Í&‡äe;OC‚ôÀƒMÇ™½Š#Ãì ñ¾Æº„dÎ<=z$6„æ£æ£zÅ ì c‡Ì¸0x[–ºðgrs³R¯×7«H¸3˜þzêݦÐ<LÒ1Í\”óm€ò†Íͧ:²àHCä‰{¢ =n–3 àÆ ®dE_V…Þ qÂVÊT!Äþˆxo�ʦ,õªà5I<”ë¤¢È Ô†Š’˜‰@Ìu�‡yœˆŠj6ÈMdÇÜzÙ/³“úƒúATŒ&îñVòFnѾ@"M:ç9ö¨Y­øðÃJ¬¨gÕI^"ˆì)ßæ#Ä""Ÿ›Îú íŒ²Ï úèåYÌ‘hE‘§z£ùàf‘'òf:\˜®,*ŠxžZÖ[‘Éï–ƒ„øN|j˜µœEÿï=(vO)ÀéV�ôoñxSRà¿VùèЛ.€N²¨¨¥VŸæZ¿--û¨Ø�ÒÞàið¹¤Uþ¨3àJ€\•±Ôÿ�¹wC(£ž¢aÃ�¥àÀºº­Ý�ÌÁ¾gÎwÂÇH‡µ8l¯?èv––ØïõZ‹�þ>ç°¸,!:. P¤`Að\ï·{{.³CÆjÞÖo‘sž'Íáeÿ½K‹¨Ñ„GÜâ›\Òu[ýð'kÄt15…;++ë¡;†ÌŒèuÖØÔNƒöH#¢4¥#âÿö¸QI½o? ãÔD9M.nñ•:ï®Ýw¹.<ÌxÂi‚GÔÈÉ GáþËÒ€Z°s£¼¸ÚZDy$ZÕy¢;Eûðpµs8躤r{y8,³Õ§D© p™g"³ûå¥Îàð«ÃýÃWý«óSš² Š•ò�Aqm˜hiázÐ+©¬‹Û7’žÎÛu@6´ô36oÛ‡tQ#„Í)þ@uÉáÁQŒ.¢$š.i•>FW§½9bètò_M?hc¸<#ä6jÙg®Qb3Ѭ¢­ ‚ ˆÒ¤øÂzt<~Êûj»3ÿþèàmAmÍ28€Æÿë@zí>ûGÇÃíû׿®9ýþ½ÆöÑ‹ÆúzcW@Õ€ÍÁ¸G®*‡PÑ>uI”µ»¯¹OÝ…=¡vw~n~Î^ÂrBÀ«i"ÀPÉ/&ï]ÙqnÍ­h³> -ÆEØ�Üu:²ŸÎ§®Šä^xé½¹« ã ¿ÃÓÀ ¿có²6Æô˜e;•w’êƒjµÂ‡ï×ä&­äzuñ’;•Ê-þ�8y‹ÍØu|¾â á-ߌ CŠƒ…Ä>8ÂOõAeùææãX¾µÌÝ$ ¯XY1\Bä—­p ™†Ÿb$r6«Üý ¾¾¹¹¹^ß|@`©V7ÏdÊÓ&·Tdæ)ŠÈ�8»EÆÑTª›7oVÖÉ™Gˆ!) OùCz*&ƒ<‘ê›{Óóæb…ÿ;QZì.ß$Ï+Ë霒é"›7—+õÍõÍuòD|éÄȉ!Å”dºyó&T*UÇîL2‘ò䯕qÇÁ8þàÁÍ›‘'Ä™‘I¦Öù&;TTõVVV¨¤¨)/¹C<"GVÙÊ -¹JÙSŒ�(£â,jÉŠÚŒŠªþýOÿ¾Rùéß¹1Mâ��ô[¹Y�­¨;\¤ß°qœ¯¨e¯6ØælÈ~“UKñÁòòßE£¢"£He¾Œ€‡/Î~—¬¬þ#WÀô €ÀùéOºtr2uLåŠÀÏ(ÿë¼± `†ÐèÚ‚«:ž2á$1[_‘“/UF�GH:©üÀÆ»¬QÀ.„}—�/—ÁíÞ“CÎòߨÑkËÍ¥Åò|ÁÍÖ½r;Vù£ÝoÑ¼Ûø €Ç’‹ö¡½Î’ì ßZ,K„/.ኌv‚¾'úŽû¢=éô²u¹ÜAMTüiuu¬[üàÒ_C¸r ›ŸÇ�òã²-ïZ6_kT–›Õ�«¼®wÖ›ctÉd½#ªU5ˉL,1b*IKkGÖÄöŸE'U6DS€À=Îì{£}þgi˜®å7~øþÚÜÜ‚Î=Ö—ÇÏ_ŒGvlšÕªk¥^¹  3Ô¢év’&çð˜ï ž€êìu{.BØC=§N1D€Š,w…T3N�¬–­¨ý¯ž´ÿµÿ/= -­OQ’e�2Üá£â8ŸÊ•- -°\rµa>ð€~ßêKó!ÆŒ@í*Ó¢xýå>J~ÀÐKN§g+ÚëìÙ;ƒè—Ø%B¨é÷iòá´öºúز×>I­®’X«.Ì_º4÷áÂ�µµj•¿jýóʲżµ^[oÚÍ/‘OÝý@–_U�°n¢”mÜÊÂü•K—æWÜvj’û-¼ûO­XôÑj½º‚Ž¿rgÍ8îܹ##Lkwªkkü¬Ì8ÿá‡ó!Ü{åÊÜ•¹÷/½ÿþÀþ/ß/þ»ä}’W“pV©fB]qš�•;?ek�¿ù.|¸ðþüÂÜûýg -,”çÇGnf$ÛÛE]‡ÒD¹SÞJÔÀ&H‰öëð«­-¢RÔ뛞¶eÞ´°7ë4ìBV}«ù�ËÿÈuh�¡+ò1$„Ñ–§{Øå øæMõæÏª³YoÖìh›9.x?°Õ·á÷áìf�ûj5Cà¤-9!€Ë¡òÖÁâ�ºYß"zò”âÖ }FÜÜT£WCUç3O& œIy"úÈ“;¤Ï£�ƒ[7›dÈq£Îý\jžÒÇë}ÂÕÞÄC·\ÙôÉ3ÙÍÅ¢7¡óˆM.A Îúú¦ÿq�@?ß¼YhÚyöy3ʽÈSIŒ«¨¨"g©¢¢¸-¯¨«³>É7O‘BÄZJIÌþñæÏ8°ÕøY½i8™b—£¢È8/–ñ²ÁõVT³²¼YÿÙæ´F&µ)'r3É륨¨—¤ŠÚ¢¢P³&e\Ÿ~ÚüôgIe6#;ëéá«WnR±ä—[&Ÿ•1SQl¤l™<·šŸß¬�bËŸ,YÞÅIòdnR΢¢$�^¸ù7TYY'#$Þ<±i¾¬¨"O)ƒß)ªA®üø?¸ÈðV @¬xFâl€¿Ô'´¿È�FÌ]$ðtt8iý”ØL«3ÐÒzÛ\-�míQ�]ÞÆ]C}„èX²6ø?èöì€poJ@¯Ziºìõi×;Z ¢e\ø¶õOfÚüÐü»äZµôˆD‰GÄ£ô–Á}·HÈ�52­ßïU]'ç ¼ñˆìF ÀÒ__ú^©ŒÂÏ™°dtëÒR»[Ë]§Zð¯€Ù8»?™ßÉê•4*$ à—µÊ£ÇÿŸ²4WÔÎîó š%tT_?çmQ‹¹I¼w#œ™ÃY ±]d÷×Þ_ 5²Áýz¨eá–”çÛDöè§+Ñ °Dþ[�u¤ SºP­AoÖã:ÃmÀ^·ßá¼Óÿߦ ÑÄÿkJ@µåúäÉWûƒÃ~7,8N²@©ÚµB‰”cIg…zŽ2‡o¡’× .pÕ}(ør^îp¹á˜×ÑÂö¹iµˆ”×~Ü£æƒCè˜ÐÕ@à‘Â6Š^wmé––º‡\ØÙÿ/ºgúþÿ3éHT<$x;¨8÷——ÞŸ{?\^@”¤cO´ž­7ÿVB/¹]@5%0!|yyþ -p:÷ü�µ}«¼/„ÏÍÍ ÊŒƒ5÷Aanà:þ¯ Ö,{A#OÐ?eìÿ}¡_¹Dâøðóé½»üB)’¨ÚþÄ8>äA“¢+WHëûü‘Þâ–wY¨ÏÚÃÆ‹/ì�ýN¿8~urrœ,Ç–ÿ]û¶ÐC“}ü§ÿõê„ÿ—ãñø9¯ÃÁèü* °ˆ6Òñ¯ŒŽö¹¾®ÏÆÏ4•TÎãWã“W¯&v4Æ£_ü«“q2äŒòƒú­z}ô»ñø—`ÁçšxùµÉ'4ÑÇÃØ|ô»c¹K¬ÏF®8ôm4 eüâÛo_½ÈM™Ý¶ãã—äì8úϳÒ3âø¿ =›Õfvòíÿ:yõ¿þôí1ÁŸgöé#Üþ9_£ÑÓƒ”'Ž=²0>ÿÑÖ˜À_¾ Oc�åÚŠIXó€”äiÃΟ=mB&H‡î@f¨ÈYÊÀºì qe;/^d£|ø”ç¬ó;£ü›¿ÔëáÕ·ßžŒÂÞ­#ÄÉñ õb˜Kɹ0%}›«n[’®¨<8<üª}6=—S„;PäV¼…\ˆOåèÑÚÓû²Óߣ¬ÓPP‡ñË7º"“â-%×r‡Ž5(/}䡜«ÃO“ÔÊÌbhqÊåîRù° …Ä€ J.ìpˆ’U|—ÃsøÑ§wÖ(Cb4$jpw7zívŸó¦V+¾½¾Ãq•n+ÉuC±¬QunÝùåõ[  ,l:öħ¾/ϲZíÎO×\IˆügO—uDÓå‹ÊÝ婱W >kk :qüqFDáðÚ{£\«E£îË.k´¶lŸÂšÖ¤ºv}áú]g=¾áŒå2HŽL|láŠRü‰Yq�tò´‡ (­äøÕ¨Y?8ù“ݶá3ÝÇñì¡C2 Á»é’�6Êщü”¦tTùåSåøÅ1”â¨ðú¶_—F~'¾…¿yjR b4ÎÀ•<ÖšËòÝÔâ4ĖŤ+÷#»£áñ‹W•¸wLJ ¯4GüýÈ™þ‡C}þFããá×ë'ç¤ò\îšx õÅA¶ùÿ™— µÚ õR°=@Š<™¸ÈSrãÖÿ׉ãß¿=?Ê�Rž†ÙÎN~|ÌøÇqz #‹ðŨYyP<‰ä)   -¹Ýýì¥Înäˆ<…/œ¡RÎÉÓzåÙ_Œ]õwx4zñ\F3©"�©¢¢Ì×sô…TQù«¨¨ŸÇ¤ÄG¤nòXË}ôÑÒ ÙRQ TÔ(pôÿžŠznXDÏõVÔØŠ½Êcô䙊ªÔŸé_AE=ÍwŠL�ñlI*ÌTÄÇ+wüâ%�•þ†©¢žZQ¯ /QQägô<*j×yùÈÍLEífGã“qÖÜÿço¼˜Vчô˜°Ðé�žeÚÔyÁ�TQG¿ÿ�j=ùáuäï´¢\ÙhDýiLR8#¶ ãÅQ³²N8䉊ÚÕG²¨(ŸCÈD*À§ïüÉ'³¼³ yÆŠ€. -x*i§ýPôý¹Ðà-]a(„Ö7L¶¿S>D{ƒþh«…M—µ»iÄuó.hæ�ŸÂ`ÿ>Z½^ûƒ˜( ƒ?Q[/pôL™Kã‹°í;„.„«œúÞ$ØÞ;i­PÑ*-™(Ÿ%í’’Û¥˜´§Ý*ï•oÇB< H!¹èªÿ&RD ³�Ø[À�|ïÒÒª -k§CŒ|Û}5ëw–?|ÿÃÚ‡ñi6M-gaØ~‘W£;¿àz„}²aï�6- ŸääÍëóä0éÆöIµ1*’ë±cÜíPA¡ýáCÑÞ)èœþeíÃùmûâb^q BãáÎî¶ýÕ×8ßX[‹né–yˆ~ûÖ>¥R.wz«}'Þ‰ª±×m›Âá¥=ú) -æÖêíïCìktÿšÚÝC— Öã‚3<û½„Ñö"¤.@(E³Ž¢¢ô”k•�ØÚæÑ  Pê�º‰ªÑh`U•ÖŸ0I�]J†¾_étnïüšrt‘„Ð�'¡åãUÎw7Öææ®%ÿ<«) -VHzNks|<5ëU}¤9Ä 4+4“¶›ãÖËn༠½¶R©=Ïhùõ´ºØöau�êqxB;<ÊêóñІïÈ õBlÜ þ¶v=-@=Åà€4à5Ôö«—ÒþËå aB° NüVËÓlö29ÓAmcãÞFƒ�¯-8àêe‚�±þ¹‘|Έúsi;F˜»w“hubkm‘8rô»jmt¨sÄ“Kc»]¼!“áWv†Å ³£ì@kÃþ<|®œn?;¤=>>Qõóñ¾,û}€Qzõf¤*˜úå§êʲZ9pé!oX<•*q¦¢$i¤[¶ý¶ðË1š"IÆFÍêî‹br3Eúf2•ÞU$òã Áòjõ(¡ÕqÄm@9:™*çG�Ê:¸˜N%4 '¨ÇêqleBl�0Ì×#Z§Z%KK+Ö†›ÔOd!òdu¸mEíüjT©SÚVÔ0Úž£iž,ÖiÑzƒ’*ªYÉóc˜Äî±Ó -êÒ¤DÇV”Q¥»’�sFŠ6+õüH°œŠy †Ì‹›EEñ¾}iiy—“êé.�=ºU㑟ɓq"ñ¨�¯()C£’¿ˆ!û1ÿ|#•_’׾Ȕ QçãáîÏQËœˆÂ‡¯qDœ©¢¤#“§/îÉŽò­[›¯WT˜jê[Ÿò{_ÀŸ!î€}1-à¬àõQ± 0'4¸@q¢¶÷ÿO~ÌWì]ä�F؈§Öóœø/OÀ¬ Ze‘9t}ë�•CЀ;dû*ùqå^¼º�‚®ü†>� I¶ôà?”Öètbå>ˆˆ¤­ ‚ë�€BÚ‡îvfîŽ~DŠ£‹Kå½öžJh«×o}´HOàò‰žÓþ(¨›Â"¹tV£ÛÀ©ö¿w鯗ÊQ9i2©üDÏë -0ÎÏ••L—ð8�øx8ê¼Ö€%æÇµ*šÓ�Õ]$*f$×ÞeÏ–Ž6ÕŠsÒÍ”�â. ã46¦6R‹‰BÆCì„YŸÄd¦µ»NBs·v}þ¡q!Þ~Ï].ñz€ÅÎé»ó �µ´œ–üëþ5Fž—ÂÑŸüZ) 6…S÷[€ w̼ץ0`kû1�ªØÌ{�'Ô\jåâr+ç+gú-xK°×ßãI`�]ÛQ˜ 4H:åÕÕU®*\,r»´ù,.íYŸ:ú#¦–Û; -@ˆPZ)!Å‘J=�ÀŽ&XH­Q¯Ù½:+¾Tq½;ÙóæJ3†–g»Ã#ò¨a pwøÍ‹¿¦‚¼#®¼u¨bé ˆ͹4¹IÒ2NÑgFjKþ%o–)1IS³ ¾qE䱑$Òv*õJLDŒ˜%âÿÄ>áYf£GjJM¸û�×ñîögÛ.ûGD»ÃßþAøŒ !ºE| k½qìÝâ%�GêÖF¢·j[“I¸eœi8v®W1ípä#2Eä>çÊi-�JuRQQO΂msœŠ¥¸çNÀf#˜GT,ôaFžbïøÅ ¸ÛäñTk‰8¢¢Fq3B†(¶"[©¢N#T¥O&…ަտJõ@°ŸæÉ·ö43l¤h¦R¯yšdÊ�9ñ0œ‘âjŸªGyVY�Š"è“c]°ò¢¢~ügð®ÝQãV½ùÜÃT‚�Bü‘'×�®ùd|>-‹w�³¤W}Ö  `‚ñ3P_œûAø¾& ôéýŠß×ü. îÿ3€ `ËnÖSÄáÀa¥…ª�:sò:ú¡âÛ0Ûxëààt²ôâ’Ï POÁzÿô]¶Þ‰UÎmû‰Ì{gççBå]'tÕ¸Áa,ü÷º}§Â»¤ÄDwööú]ûnF“èDÚå.(›°�À#Q-–>Xüà{´úéÑD5áÁåõºU©úäììÔ8EÓÓËñYÑAld¶ciO^ßÚÖ'r‚­Oj<}hn.ý©÷…<öf£n7ôòr¥R]_¯7F•_åãW¯þtf%==>Þªv ÿ›ú» s+¹±évc(Õ–€øòzî‡ÀÕ�¬f¹Â<ØY`-»ÎãUÊoo¯ý1%ogOì/—>’$À–_u÷§˜ŸXÒQàûO:ûTe·<Ø/÷cya -Îõ›¨ n`OŠ!oÿ ›�Ãöüñù)Û `D\ðï¿d¬Õ9„ÁÙ3N}þ]'¢­áÂg+>Àýžý KTpÒîþBNR¸‰è`<ñÒbKoaî=+ÙØ°A±)³Uä›ÏPeÀÃÉ‚Xô€8‡|ÃAv{U®Ìײ°¿™É� ؉Bî×¶s¶%Ü´QÛ©^Yû6vŸ8©¼íš—¦Uúuü/(€ø�îìý@|€ñ›äò À´QÙm¬}( å¹ù�š¹Q,:�êï]b+ýrº…œÙ™#Û.„óNb{Å�q4Â& æ::¨¬‡Zù¸a™:}á)t%á•€ÌxW0š‡¯š·šÎEcå AËaØc�á‹o¾ kLº�ÒU¹¦]ÿe}ekVØ$„Xÿ´V‹%ïv6GÞªW\!!Ó%u‰¸Rmæ‘ê+åN3�˜HÝöÓl«Ö2cž¶·Õ6|³OÅ󋣺 kà…V—|ÅWÌû‹üöxøÍð‹ÓJ«G¾We.BLõY?>” æc!¨o ç{K¥V·ó$à»ß¥<V,(.Osz§Lj=þŠ£�û²)ôy;|º.} ð�ßAtMH�VÎ'9€gˆüÐiv–JБ=;eäpÜÐïÅþ‰D2[½ÛÐ §‘öA”¶å¥&Ñg‰¶ D´w ÿ÷.]»^Œâ§¨Â0éWXFipÆõjnw"…¤ªcCiM=l¸¨¹í�»v£v凼ãÿ¯ßcÂÒê>ÂïÆví>޽-"o<ªÎ߉žƒ¬1„Ad€¿Àû5ýSE §c°žòÞœjx¸¼‘@HNt;Ée†õå º â‘Yø+»ÒàõkÎ- ˆà�$ -îÝ$ÊÊ֗Š[/ÏúNuÓ’ý9¥ÚP`˸E£íb<·þFÎ!@uœ4VÂû€stÉá�Û^•o†Ã㣣’}Æ�Ü@K³ù«GÅá+I±d³ÖhU²–¤ÂÏ4RY©fC~á/$2ã6/©ù‰ž j42…â+Ê9�PÍA5¾­�z,2XÄ4Í“,ÅÃÕ\nüòø7Nçx Á1S?IÏgÜ`,y£²~�OíÔäk‹àÉ—æD›¢2ä�í|ÇÕ—µïOó´“­Wšã”§ü ¹a;õÒìPQd‘ôÛ8{P›­( fTÕ”*ʘ”¼Ë|Ž•¦M$ÿõo_@d"SÃáoÍåV¤G ´î©¨MîðMšÊ”àåpV[1…bwmÍ&™"Ñ·6)–HÀYÔVP<|¶”äð„žâŽŠBZuú¹µ5[QE¦RE�xò#Ú[k؇/UTzøt"˜¤ç3.wÚ��¼ySóÓL¦Ì¢%ÊI:À~B.TÄwøG~ôýïO g-1Ùïüý‰ÿä Àœ€}õüôåÏy?€CÞÒ€Ì0šq€º (.¦–œN^Ý9ZiAJ¬`H?Mø¸ÓB_*µm6ôA‰&¸ï\*—’‡V_êÐ’±m -�ŽÝÐZ–B©W%õy‡Bð½Cð¿?è€O€=P£gúa,6Çaà¿Ý+ƒ1@G|¼Ž«ƒ   K‚šRIˆ]ø¡KªÏÝpŠz­º²RY¯óºÐ ðÆå»;Û»kó¨äQñéÛI£�ž8[šl¥*û2Ñ�²ñ8àėÇ’殩Aq8ªf$yÆ–óüUîê ;¿Ð?iÄk‚ -cp¢Êõµëïƒ,iuƒãqõ9F8/°4TWÕP"y÷}NƒDŠöWÉ>UWl{å=»Pú;.t Ñ -¦e•Rä|´¤ÊZ€¬U¡¾3Ø/·!] -Ô6S‚è6åÇ�«¥¶ ë±À”�Ó,Ór¨êॊôÞX^*i*ЗÐ.ˆ0ôú{Ý�³þôH áxå^yñvÈóØ¿Æ…¨Ê©Dù"�<¼ý÷._ž»QØk´àÛpÐYj´4»ÇÙz•ª°1 µñ>)?þ9ÿôIDATM1öwBAˆµ÷?ž›§\¯†fm§9àêP@ç¾æú>÷jÎлÁ[–š¬v%bÞÞ¸×Ø¸fzÈÂý€þ«®œ@„ÈÇ÷>ÍÝó&¹|#4~šòAR×>lìÚE±Pÿ¿ë*CÑpÕiLfô¤¹~b€âïT<>=uùRÝ»K<Ò´¾4Á¶Á äÑï*Õ„ jhÔƒ�b¬ÖÏ`4¦öh{b�4�4o5 @~süÛdÆ*i�¿Ô›€EêÆÆ#´Å¬¾RO=S+@ñÊéXi§»5I»nw9É+.ä  y»Ç>¦ÝÄò¥m#²EdŠ3¯T|AÜc^ä�Àæ•ÓD€[•eð5ì¬ê³.9ªä±�ö»CÔÅÉý®�šÏ�Ï5E7+ÕGö<� -í€y&C¯$öTtÞj) äi£ViZRó/òã_^U”2ežHߨZKev Öh¬©¨(ó”–Lj{¨)}Æ[•GTTÄO&ÈËÙŠŠú±¢¼ž0²ü‘>l;¼®ÉSä)UÔÃIEEžf+j›‰U›"OÚ~8‹Š²O‡ŒEμ€ó'‹™Š"O©¢ÈÒ§AiR¦Ì’�p›ûVTe}RQ»Çß�©Ó<ý|¦¢&yR+¼µ;§2É¡ózí´fÞI>Ñ]âå¼àu €?S'€4p:VH±" §~€>ß³±=ý]L¼".B’ @å,€-½æÛh÷uéo;¾«Sñƪ||ÅÌ1*…h…@õ!G]Mð‰Ýì Bz�Ì œ€d¨MÒ²Gÿ‚« è Xv¦¸}'…ÒÅ [~•¿~¯Œ¶ŸF¦;)|Ò8c¡˜D>ìûeôþ%x�7«wr7D`¨CÍUé5Öº"­)�õõ*³zkùVÕ'Fo`Ÿ³Æ#t¼ííµ+4¼@0í1B»ÄÛ Q�7Œ§²R�Ö ÏHÝAfñl�I<¹HÞ¨G|J¶·Gà¿Ý1"Šc’d¸€Ã½nÝ©ÆàòŒçËNK[¹µ�…÷«Yb¾ ¤  ñÙ.êàutÓ슽ü`é©WÒ–c‡kùÊZ´ˆrŒü‡²îô�]€8ê“Ð@ ¶Òà±Úº¦Ðû­ž³8SðƒCç‚8ÄMÒ†:¸·'\‹üÁÿ›8ÀuFú�¬FíÎrC{ø‰ÿב5;\bH{‚‰4�‰DšS,—Sla&ˆKØ~oVOûŠÃˆâ3‹ðrØ0ÓŒ«OeÎé�•â{À¿RhFIx'RÓm»ÝXÙÊÃQow÷×Cçq7€oÒ²r»£Ó6˜¬ÀCp%ÌS…Yå«–Gö8˜"k‘tÆ šÂFœ¤QŸŽ¢wÛz7d�@)Q‘ß.Ž ãz%ùïñ~‡í~gÚ©�ÒÇýi{z»¯åQV­äá'¿³û¥F3£ pä‰�â© QYÖ\Þ¨T›N#î$ -!1ã@䉨øK¸®¶n_¸ ´4l @%TíÑ#ó`šÉL,6¯{ƒeÊø™\!î¡Ó�”ÀJÂlÔ'™âg:+¹yJ™bsnâí!Oß$Rsü¥ìÈLqaqÏ‚�äÍõ[S›H˜MRž2;N+JNN<³Ë6Ê'¬);J¬(²EþMÔÄüd�›©qýN3žb*êa6Í“mòô O%‘¢j OVÕ„ÚO¦¨¨X§i÷ù$Eä†g�Lq]ã&ÉâÈ”Õx‘'·¸ÆÄXWïøÏpþýô¢ŸuxÍ a}œ’¼6@q?p^ac²=ÁÿC\=65œ�ÚçÅ#‰°•l"' °Ž>âðÒvÿíÝÞ. ·ÿ$îã¤<~Ürq@|-þàüR»èDö®ËÏsÜk :ù”ƒ=iVß–3îrjq{QM �ÜÐßë/ú}Ÿã{*Žì: ÑCYTm –Ê}m�©@1t~ƒˆq­Ϙvû{÷œýýê•¿¼2¿¦6qîò¸û0F­>DëZ›¿GÛû��VŸwì3@�gE�e£ë•:oDÅ ®êÍÆ?7Ô±ðÃW^[·íä1=Ч¸‡�@ëZ><ŸŸèp²^­Wï8Ú{ùÕ;N*þÜ|Ã;ˆ·ÛÀË{0„½pz­1�"'i™¼µÚz­¡�ÂFƒÒSù#$͉wEóU*ÕNù waâ _M'i„RÅ<b°c)gô÷¥¥ÕäiUƒXPc–| ?ÿÆÐsÌaÄ4èô¬”4À$…}Ô{"þÅv/å¦^w©íÌíö Ï³Pr@ÉþWÅóŦÃé !Ý¢A ÁJ…]»qõÒ}/¦Tä >ýNåG“«†a;ÀåA¢+ §Zi9i04ÔjóókIgW®PwþQæÕôy6¨ÙTìkWªU€9äîÃ{GÚÿ‘I=ÿׯ±IPWÑÕ ðžÞoÀé…{÷k~‚l×îè _‚.©{Â5�Ö®^ûÿÌ% KAhÿ~Š�´lxÀïtM*—w•`É;U€± –PáhÙ[“…ó‹‘$ ×›\kܼÕУˆ,Ö“5”8bk�@d/àÊr}ê‡�z[e>à6®�ŸŒdT§Z}Ô°ï~ -H�ëÕeÅOB6¦„w)KÞH¦Ž!¦E„KhI”é¥:nñ#ÉÖ¯’@¤Ú=rQÙ¦aJ)Oh¿‰ÄdYýVuš§$”œYª¢°Utõýôêþë!D:¢ À!o€ä†u6OÚÇcµëÀoNSQö¤ž¬¨SIw dkô³ŠÎÜQ,”9B<Á;eO�7«p»™äƒ¤UÂFâ¹:Š¢¢|ŠN+jË9›’'R‘P8ÕVQQ¦ÌGP�l’¾õ[EEAL´!½þ𙧸Ëô´¢œo‰BI•� Š‹ÎñÆyŽÄ¤A…¨ÊíÕ–‚ƒ{Ĥù)´¿Î/¸Çx¹m?TU•{çÒh ¾q’tc0úꪓâ�0-ÑÇû;úÀQøYu�§Kó*ú½Vt§R›[¨…Óçmë|�¤´¸ókù†í°÷ø¨ -ý®�ÅëðÅîÃÚÊ:¸í„0NÍ=MØÕÚø¿}R]ÏSoA^ñèúJÑʈ‰èÏ=ÝêÂÍ‚ò†”ÔÎuP] R±]‚:Y Ðj”ú<´©ùNyU°º$o°G'tû(ë¨.I[É=0¦¨—t - \ج.:…'¿Tõ— @M½Ry÷Û7*GˆÂ@`)TŸ±xf¼£8(DeÞ·áò¥k ölØìŸÛŽ:HÀ«Í›üÎÒbûØ÷—FG��"»_›_¹/€‡ÿ¹_€¿ü¢vÿþÆýÆFV ƒO«Wbõ ø[» H¸„ £ôCïG®‘ªëSm €êß ×ïÒ¶„hl¨­Ä(} -vAÐ×oÔby> <ª¿à.þ'0ÙšìMw.§byWñe°Ó¿Bi¡ƒ=²HmKòœšàBfª€ËK¹ ¸:iÜòIŽ'ÿX[2/R².sMÀn¡}ÂÑú­XªþŒ,â?Oþiœ¤à �:ŠË(x(oJR¨`âž}=RžH†à�`…ó|åX j¯� �ÍȈä¤-ï6S)Ovi¼à6ÕÉÓÕQm¸wbæ§™,$@dj*¨ö_p»Ý\¶>)O€óD‚gá'mdˆ¯TU¾Ûc™šª¤ØNÿäŽfŸ“s~]}±Ôþç0㢡w´êƒC×å-¡’+À±Ãµ´l½mîÒØì÷Û¨q=´8Átt@�ßw8—ت«;ò­†Þ ¾ö´0ĹHW4ü’“Hz ¾¡q‚=G¸÷À}û("i�îi¡`š*P�S>¾0µ; µ »+×>¼27O+º@;^T Ϧ>%Ö¿ÏgíÆÝ•…|cã³�í yÄÔý•áø¸ÑøÙÍpñ¯¢¢¤úSñ>ž?ÿ†Õu)÷®¬aw·xb‚]øø"1eF%n'…ÛiÝ�ÆÝ˜‡n~aeʼnë–W*Õuž;žÉÝGY3Û®¹âìÚ|no žÿ¼d©IHË¢×–>8y-¼9fè/ï•;¥>[ ¿.�½æ€À}¾cŒ^¬÷ì¬±çæ°Û>€)X8€Ž�+Š—ª€Ä©ý§Úê[#Ú_zT„ BÛ}˜\«`Iþ3qÎêâ”T�CK¨Âá!¬¡×öÈÙrçq<>›V·æ%M VkÙB:•ƽës09ûÌ®ep?Ô�OͶ}1[¼û6ÅAø�b;ñ²{u˜ i‹jËwÔ¶„)Ö -·Å/’ʺöI -ëÿè°–æ@jkÉRÚà6“ÀeTÿ¹ë—.�Ù¡´¿I‰ø¨·•;LHð¯À�¯-Îý᪠øƒóé/È@±©îŸþØå€Ûdù]? VOhj‹F8€dÔ¨ÄÀŠÌYìš -ÛK!émˆ�‰ˆ�ãWͤ¸‰•ÚÊQþS#4£GMœ‰Ú2Ժ؛(®�-^†d3÷âø\ñ�÷ùO²}d¯/dDSûÃX®6="ƒ† ïHPiÛ¿ý0onB"�œö!™…LY X’„ŒsôèŠe2b”Gf(²DÈà–z7-ŠFŠ"�ôF›éZžä)ôåÈSŠÔ H·ûs,Чq„Zš�8<: &uR“‹Rîõ£‹` é€  –{òn ýw(:A–\×ãas -—»‰÷(n"bgà€7O;•s¹Ð#Ì€<{]^S{Dî­%‡þøÜ­Õ>ö`È}ÎòZíÖÕ+ÕOÓ“´¶vgáú_ÝÓ ðU·P, ,�$¬~oîòŸ”ö7Êõ{1t�(ü]±£'üU°ƒÁQdšÞG_±=>ñP?Ù)þø—\zO•RŒ}‡ZP–t2Ü&áÀN3Ìë4 œ/£ Ùž"�wªÿÛ¸ngÇ¿ÏVùHskžð$I„Éë`'Mº-¾‘l\�w#IÑâ*15|j‚k58·ïÛ6/™6“„—Ü ÒÖvB�+øLˆ€éš|)ÙÕÞàwâŠf�éRü¢Éi¢&×[2»';€có´ûó¤$‡|Áy,ÓsWLø¡ŒfÀÔàož–8°åÛÏ*D„ š ôHoóz%;a ™)ôPö#MÓ<¥\5´ß� ÎUÔ)ds�uä­s£†fê˰”bp±‘gg+jT¯Ð{§õ4©(Ó^s�ëÈS®þ¦¢Vê“ar›B&Yðg¦¢8Ö¬/7'õÿL’ÓŠJL- -Å85…ä㨨âá :à5þÊÔ¸g¦P�ܪ}~AE¥jšTÔ´ ÞYÒ{þš ˆ>ùK¿!ÉÀ?ºÈ À9Â]D¤ÿðÃy¶ÝšŸŸÿÉôÿR ¿bKò:ðÈô*šý(í1Z]gà³1ï÷ÛƒÃïQМ÷¿ßûmÖÕCµï…â†×ÛOÓÊ•Wi¿i´Ùì9ƬüQ«ïüîZRKîUbH¹sØ}rxøDƒ~{oɵ†@ÑBç}¶£õæÑFµTM@G§µj¯3Û�ø]5~ Â9dŸtïñ^ðÄÑ´XË#¸sÅ\ªµå*ÕjGúÜÜÕëµû6 õBƒáy¡©àÿþ½÷Öæk»÷þû–Œ�8Y¯ê˜»NÐ’}ê�dG†ú|XÌÕËu_ºí‚dòþ¥ÃA´0f;±´*O]ÞXñÍÐ5Á®_€'¨ÉÜÜÂOkYöôÀuÀ›Õ´ž( ­¯¯¯|8?weþʼKßp¯1›Gèï›�hmý'õ<½¥Âñ^´Q­ÒÚë Í ®0©Ö*žóI’ íÖÒÞ °8è–{å´V’c=Û%�-ØàJéõXX€sô!\;?µls²ßåÂÎÒêžG­*ëÓúÓbÃê›ûúšõgåC yh¨ñ°Aí:ÝÛzv”[1F�÷ß&�â„®×’ZY¦l„xImIkͬZI5éÕ¶­fÁ­;Q<…·QlÖVîÔZ ºóûãV8„ø D÷|c;Q@± ðÚÂO%“kÔÝuµôÂ0 Xk¸X¿}À¥4ŸA-r³V{¸2¿6 )I €`ªÛ§Ïtc²SŠK`Ékì]>â -Zel³Ka[àѤ¢fU*Uw¹†ÜòCR!{:*bzyÜ=Ê›7ù±«É'ìdTŽà%üzÓ¬ŒÏXfdË&XÇ/j8 ƒäú†xdë¶³!Øç$qÈ©‘§~‹H]$PÙiÖWP±ÝJOVzíS¢¶·óèÅSCŽ{L~þÀ³•�Q òáóRãÓ‰þIö(Å`"�F�f-³âó*©á 56RH"Œ7Œ[b%Ø7~­W„D=ü,*ÊÔ¥”ůP‰&¸óåi·Å+$¢<Þ�8¡ù¤¢¬”o«ì|E5Ç›·¸»Ø›Çå9»Ho e"ÈÎ}0ÔŠÚ6nÖi ã¬_Q·×ÅÄÌð_äɧ ¦¶RÏí|QÜT„¿�g˜¯zJp\•E_ßÑÏù*ò¤ÄÓGûœ¬O³rrÆ0+æ)fHìóÏ”d8gØŸ|Ò�àÊd à�tŒs?úÀ"ø‹ñ ½_ñ3»¿EÀW©Óžÿý¢çþ¬�aÒ§ÍÞO(íÀR{¯Mkì‡ÚùíR‰#ûûå²M;Ú½À'  Á¦ý& Ûñ¥PÑ[®HoW}{µÕî?æZñr òwÃñ�CÈCçð‰ƒÐ9¸X"]È�øBbðyâ®íÏhàÀ  ›Õö:]øÃ^ÂàËã ?ÑÅ´ºò7®ðÌe�µÚX¿*fZí‰ñ2ºŠN(Pƒ¦|c~­‘~ûdñ -5b­Ò­Æ/]-€+£Ûðˆû|”k5›Ì‡¼ª2†Ì‰tÔHåW<ô<¯»_°Ï^$¯Á+ýŒs1ÂLeO-ü§}Ÿ¤-5o9œéàWyžÿ2Ž£©#b�˜åŸ¸hÌšŽhæx.óGŸgU‡°D]@ilø€C#ª•Vš¡TÞÓ+@Ì/•–>rg¹\Z]åð*%+–÷�ÈaÐ;Ô­¯õ˜Âî:Å_öÐÞs¾¿Uy�Ä‹* 6Øéìé“áÔCT¸«1wylZ=*Úá#Ô„Í'«ã MŒ– ÿRûÄäy6¼Ê‡¨{$1(€�ì÷Ú·[ß|$^Ýlwg;ù,ÜEgŽÆòS�·}I}U©ÖüYuÅ cî°� J8ilB}¢Î2Gv -?±’Ž#g½Z«Þ™¯: ²âRý€»àóÚuÝôþ¯^s3Í4wyî½kAèßÄ"’jbÙÊ|ò3˜˜bš� -yY`Pþ%ùN䵆îM’´ÖÀ~%JÛ«dÚ²Š+»¡ƒñÚ¤;ŽŠÂV‰K÷xwžk–úÓT±æEà[õ‹s¡á�¦¬˜Q0m®@^O°õ«™‹/´‘7xÕÄHNPSîçã-ÒKÿÏJ„±%q#íæÙÖ2¸â.¹¶3Ï„Ø�—IEEžŠžoWŠŒìUce“ãÿÞþ®·‘,KÓD=€‚w*'Br8]ÔMª\HT"H—J`8TÊ‚¦PÈÊ•0én©`é!ŠéçbòjŒæZ*t~‘¿ÁĈfyjªz^s”=sá•sNžÆä]ÞÕOèùç}Þm¤>\þÙ…³(‘ö±mÛþ\ïZk¯½·O®ŸµP ?Œèç×,³Â§ø»˜ ‹ÕF#Sû °øáðâTÿÌFÌïo–D*$TD1nip…óž>G‡ÿሙ«ûݯkâÚ íã)†Ö&V†ç¥§ó‚~o ‘)~B�ƒÁ~oÅ“ÅÏ{?f¸éyÙ`½ý׬pÀ¿§�ÛÙO¿Ä‹Â?�¬À•ÞÓO˜ ˆɲCÁ„ R¬ŠÓ“ »ÝsöløýË8ühnnް؈ÕrùÞà§pN/ýÝ›¥[‚ô &*”}³ €5ùæŠå£ ƒòO™‚åm\˜Þ?ìÕ~¶Ú]íyi¾®ø7Ê"¦zø·õJAûvç^•Ú/8�R§ÇV€îL\x�1_,�‰fìÄû=°Ðí¯.õ~ƒ»‚Ø�™`pÔKÍdÔAÈáHÀ–öçlB«÷³ Ý[M?ÏǯÆÇI´f‹=½Gu¦V˜Tw[[›ëL(/®ë‚ÅXÕ+ðPPÜXXØj”$#w¤í³üš"@$ÓH 4š487‡-Ûfbôɸª»´,K^tÞ�“ևܪ–ë6'qöyñ¼4NAû:+ɲq³æf›nm8ë~ˆlØË¤ø&ÉÇIÚŒ–«Õzå§Þ˜ˆLÑæIZrk7ÏÛÍúZüÍSŒéxì?]]zúTuåÁ}©W$K©˜ûj Hlª&ÖzRM1i`UÏõž>}Ú­­º++ˆ_ÝÕš´zÁ¸Ïl¦¡Aì÷k½5‚ß°�qœ«ô?8¬­ eùv5ùv·�É ³´“²d> ›¡ØÂ†‡‡æ„èy¼\oÁù‘0ÒæF@3pžöò¤’ŽC:X1×^õF�w ¦¥ÇHnx|Ý©×S{³ùAÕÖ‘3¥è¦îô3"j§ -ïE¦ÔÓìäÉÖ…óA?*rZ*O;Ñr2*n𨾠-EcžVÉQE5Õö]QÊ�3å¡G“y‚îð¨ÏC}‘¥,Mò¤s!%cnA¡¹ÈЄK¨¦£‰ó²LATT²ãŠÒ™»ÑŽ·N/ÈYUTT4™‚&o€�åܸô•©¤Ú>³½AE]T ´*°çfÂÐ�T?̓ª¨„ŠR– ú"ÅŒCžZÅ’k�H«ý΃(˧n¾ˆf§«^ùb*ÕüºÉp÷ÃGh?Ï–³Hø·æÃà°P}‚îáG`/ÀŸ^»ÎøÑÁ­ýgö,¬3�J—x«NDÏ<í -Â�.Ž{èµüñðÖÙ#L«««ŒíZO\•ŒৈP¸-€W0=Â_ÿàðàPèaQK¾èÕö�ü:ãŒÍRòž²·0bÁû‡�®Ï¦~ ë’i…»˜®uD€Ú(I³Q=9Ç -™$ÛQ]çlñJK§ÅéG Ýêìnm¬Ã¥ì# Q¿µÚ(`qëÓcìÑZ5Rx®H^œ½ðÞd¡Í‰§ÑZÎJm¢&vvi’ÐVÜŠ+ê xò€~XL@ÍÑ'ˆ±º�’úøª¿iõÑÇv -ò¼€L1¨ï*HYÚf¼[¸0ÝFwó,�*Í|´'Iº­\à7X©Ô+•ÊZ½ùm -§Ç£vT©&Iô´ûThÎ× ßë2%§@Öù•НUÅ<üÂà‹h°T{ÊÒAGHaµ§Oy®ÆZþϨ–p„9þÈöþ¡ü5QU…ê£-õ÷û'+Ý£ÞÁàD"&WômGÍl€eàä™$BÚm°ðÈ'=w_È"€Êckq޽\‚êûÅ‚`Â~Ìt›(1=Kú+ˆ’ä‡c|’â<­ÖU>Ø&]¬P¸Žl^¤ÐÔrÔø8ÎØ·Áºi¡Û+½�ðG˜cÆÞí9áp‡=A6ÿ7ÓeÕ)‚› iÍÇé†$€ÆÆºÔÿ`Y°u�µ¤ÿÿCûö°zïÀŽ-L.êÌYù!D1ÑŒ]Ö¡># žIºŽTmûχÇ0ÿ;¡ºßûäþªoø_¸Ï$v©ˆ¬F@h„8X£ &àr!ÔjªÙ<ÍöΟ$í¯yV÷e™.‰ñ*w+tªƒ4kÄ�_¶6ï–]—�Úló©ßD(Çb´ÕÙRµÚHÒÜ.xbZŒŠ1EPЦiSºZ4j¡ñÖîî~ͦ^Ô¬æªk¯ƒE�à´=¼�•ÎNg¨ÊE€Ƥ�ôŠÁ£0Jpïi·Ù£  ,ë‹\@ˆ èiþ$ù42%ö<û§‘²®À¤4�K¹¯Ó MÍj½’<õkO{½Ét½þŠ”q¦ª@ÀW!3ˆ/ù@2»ª žøôií©·] l,�8 ™�U~T]O±,PÇ]æ°ßs¿ï$0"H´èªuQ‹ƒîªäƒÕöáþo$H\àM -^«±ñÑÉàäÀ/˜JOYüÌÃ…Ùm-âÐXžCIbu ƒt1À>ÊúUåš½@¹Ô  ¬Be¢ -ÃÐF(â0”~Ô|À‹{|­±ð¯?ª-^l,°O/€�:ˆÀíÛlŒ>þ6º ð7ÕÕõ»µ•G•O�^ -"\D/B…!~âáñËYqèËbÓ‹ºLV~�|ƒTùåÖˆU¢í&öºŒHàâÙaó6hL\«+Òöi‹øœ*,=… -½Òá ΗI¯Ù®J-NEî"PžLõý_E´C9Ä¥Q²,S;þ¹Ó‡ECq´·›Ž°mÛ`¹À•Ý4·Õg3ÀŸ“Zä)èŠ:× f¨í\!B²Q¦ŒxfBÓ£Œ%›Ùå½ -òz€hÎvæK™âfGüÆy*$ K7)0•�ý‰r½M€š¹TÙ0T³õ‚Ä‘<¶ …T_Z«V÷Uççó0ø‰`î#zòí…†4?[Œí}]ÈþÕÿôRñwKhÏfnÅT@sQ}½&x�^�)�®hØ;ÿë ÎÍíF +`ÿŸPÕ�¤Ö±H¡üo¨'�|œÂx²ÇÖ~7«Ð¢ ’~sr¨×Þë"€°{°ÇUa×?]˜&Ñ=6þ5ÞXÝ\’ÞÙ­Ý_aIûš*p·cßÐvôSæÎ'l1©†�y稜Á"K[YSÀ.s¶XOG5¶æòP˜ž Š4.ÏÍÌ”¤ú§ÙÙ)�j‹–òÃ_ 9F€¥¢,©êWÜz}=n0g÷BÑf+Zó<ØÈÍR­­ƒšá}cO5¤,ŠF’ 1Àb/w €xÀ#õ‘euú¢[HNW˜ 4>�z©Ñw³hys_!sE²@Μ)ÕŸI¤x”&I»�¬U¶Ó¡$›þÏTÒRÜ»TÏýÕ¿]•š/@å«•/>ü_KØïp`œ7j½Úàåpïk1ÃÿÁ "êö�$°û¯ýà .tñèw¦Š± $óÜHhªð¥îÃO‚¥g"ì;g&ª«³×Ú\—Š­MÌÀÜ5«¡6¡t­ÒT(Ü”˜…Îà¸\B5›TD ä'ªI!¶6‘û.h3nG¥8ߊ‘Ê�zô©“¢£KK/ß¹Ëz}XD|pG\Xãß$„!€O%Ú‰gne�ù`åÁ.ä)†‹‹’î–ç˜ `õÞèÊÛ»N�™ÁwtbS@øÿÀþŽî}iÊÍW[,™–œ½�ÔÒ(ËV‡â‰ƒ_6ì´�l*¾MÑSØÙqZÝÉ<ßJ×ÌÁ‹Gxà -©¹³æ«€×x°ñ/ÞÁ¯Ó-R *±t—"ÙzÁ¨]­'O¬'$ª³1Ö§Žä øýÖüÌy‚Ú(– Ó¡þUÝXŒ�>}ø ¥�ÄÓô*»­Q*Ýw2a]Õ°Bt:á‰k¸")ý¸Þ̯XñMSHøS`jÌSÓý÷8k>ØÎÈ fh¤\6¦÷ƒE¦BE�‹Šêœ¦õä;’¦«6Õ¨p†Ež ðºr¬@ˆ4z syfeâþé")䔊WRQͺj¶8�’RùÁ%»V¶ÒÏ>»VQRXHõ¢¢TdV7‹·…·†Ý"ô�wGÆÖC¼¤`ª(ÖH�¤”ËzÂÉ�ý“'V®ˆ2Iª:"T8óÅc„„&’+”�³JòzEí�<ûÿ¥$<—p¯\*7ª3sAÀ‡ø¡ðÞ‡B}‰�GS €ø…z¿d‚ê½ ”$â ùÅ¡&Æ_¿;E° 0Áû®ùH ~O¾æò3Ø¡Ùî ðË:Átoæ{i�}tô}ii‡ Ö¢×ûƒ—7/€Xe~žp\ÒAÿÿÉ]i›Kµþ}ˆµ•¾÷ žÃIºX* ×ë/­b)ö¤/Á@ LT¢ô�Õ_oØÿúàk)”½Þ}ZC&©·EUvß•;Îè4ÎŽÜUÑ”þVÌî­ÕÎ/[[ë⣋Ò]- -(Êsæí&Ñ²Š®\ª®ã$ÁykK î— 7ÖEd,µÆ™UšógA�g�‹6Ò¼Qµ< ¢éýjwé3z>?g,̃Ýû²Óöƒd¤Ð;®@m-í—5g •vn#ÄU²VòèòuD~URì⯣qº,¹\1¬¸Tù!T†(«(cn"¤C@”�@CÝÕü³x·Ö!BŽÓZ‚µ\RÉ£ì<ô7RîàþÑ|Bí G,³·"\(H ¦¯{{cSÞ¶FxMú|j/Û®£§.ò$�M7Ibg8Ì÷ö¼¯‚þ¨¨¨ùÊ…­Æe¤Šâ–’ÀÀ‹ß4ŠL}›¡†èj‘+¢¿ZQéæqöŸšËÙñôü‚”8Zѵë®±¡ÂY`ÌØYáïJEIJ².ñ(ÿ’ìtïÔóŽÓ¬JTt -ém=Š”†zú¢Pä ·U6{Sœä¢ »‘Nè‹Ic˲óöró˜ áÂ”Š©�“ @4|vò üt"°{ v~‚ê6°�bÆEqd83Þàbò::T`søÃÃýÉ €d �#Á?V‚Zßþ¿é‡9}ÿýþ¾¤‚Ÿ -/º÷‰^ûµÐ¤g7³`à·� `¡¦W‡Åý…3裊˜$w„þàäH •¾›ççã,ø?�2Ÿ�²çéÔ¼*Ï„ÞúR·m¹¹T[_±0ÛªzÆ·ê1“ª¬Öø?`Ÿ>)`ÑZ,¥r«Õ9Æßi1{ }R-bK˜àÞgÕªµvÕ̪y€�õÆnµÑŠ…þ -¢žËÚÖ®Ä<$‰?bÊO0ð§Õ晾 3Ðk Ò"Ÿ-jkY"Q”�A2ÆA±j·sÝD“¤[­Õsqã/h³f ê jäøõ˜A]î3Jªh§É/*õØÃé`_ Ûë?}êi›6±ˆVWWX Û=ZZí³¥RÛŽê¼ÿkƒ�T{ÕÉÑJ­?xŠ0†ø§ÆóTUÄd�•§¿A ÀLÐÓ÷ ÃJˆÔd×MÇ­ƒ'i8aÏï&¥Gh�‡l$¡£‰ >ΡJncQªvyÁþûAš0ä` é<ŽÖ¼ �&¡ÿ³_ýnhÄr03‚½¬Î@I(QˆCž¿ ª2ˆjh¼íÙ†«mÓAý§^.$ºù]Ã?p� "¿�n/*>EN;å-Õ’Ú ^âå! Emx�a[¼ _ïMEVÞI�З…KÞt¶“Ÿzó~æ‚‹te;ú½x¥˜­YæVºÇ6±ö·`å&È�ÚrÞ®cn0R\vPêv·ÐCw‹1à½ÑörÛ“ ¨çФywv£C8ŸÜ$Ã7ú@½~ÜF±MDÍb WU*oVWdH+?IhíŽÚÕ\Éã]»øìnfÃüb>_á¦@òu ËNõ7,1Ï :)w4„$6�(ç‰ +°™}“Ö›¼ŸË—rDž”+2Åk +wiôØ8a �3å}¿øÁ*J€ý÷C* ÷¶Ï]Ü¡:â´sÖÉ~©{Å:ú˜qH*Aœx½et©¢.òȉ)qT”ó×ò|Mò]x—®Ä…ŠÒ1—q…‚üí¯Ýl|ü Ê•'eÿzEñfFM=y/4¬ì1ž�*r½Mi—¤ö¦)e‡ÀAF°¼£WÂý VÚFx½¢ìkEEQF…à“�‹íîªIOòãoª™òs?”Œçss÷^³,ÀÄ ü¿l׸ oQ {Å4¸÷÷ø'>ÃVp à¶0qýEGÓQ€B8y¶¿t"][Ê×!“ôu²ðeE´¯21³ÿ~ÿD\¾·Ìaá9ëÊÿ/ùbïxüS±~̵¯�„«µÃ�· Ò-ËLP²ºý³ùjÝ•þ!SÎ-ô.Ó�‡ Rfå¡£ÁA–�¾Ë%ç³›¿”êhäYò´NÕ®:‚ZD`ý�¡'´îí©5­m ·67ÖAí2‹È§êê¹À¿.ÚV3d’ÿf—Ìß¿°ª`UšÐù¥êÞÌPmc=/—!"&4ô%âw^¬›V\˜:éî�2¼3–§Éã,ÌQÿÌ1"K<î!ÌÍ7@ö$9fìÔ¡ýÔŽé -ÉyñÖ>-‰Ä_”Ü/;¿TŠ;êk‚ÿ¢Ï¡ÙÁj”_ýµ¿3N¶2UËSÔw†WµVØ:)àgÌd¨þª¤·î×\}úŸµaºÂ<]yŠe_5)ñ€Ú²OhO·XÜG�GµŽA¡àèÄë2°Ô«áôQS“À œÂÿÞRWb§NNÈ Ì4-$Ô»ÉÚ�×é#årº©ÞØ DGY¾]gis˜ƒˆßuNϘ¼%�Nukç­|ˆ§ÄŽêÇ‹²ñž‡.âu›ØÚÜÊ°à ¼!ô±€´sþhŒ0À¾Bž·÷vÐýß&,†¥) ‹PWÂvÀ’xÁâ⢙ xWF˜x»02?ÓCÃÄ�NÕlßë5c• `‡b©¾¬„­4ßnž»}Y¯”�•cÛþeÑávUÊ�q*ŒVœ·«;LßW¨þu¨^¡ Å°¸ø/÷Ò¶~pËcKBr/D()Ó�s›¥_çŤrœTëYfüO`ÿí±á¥)¨$ÂìËÎcƒÎ ‘DWýFiáØMGý^ C’¿>¿tÞ•ó" -Âzx»�o›õ쌧ýÏLBBºa¸äÈÒCÂ�èIϦÕñC¦|çzž(™N-'cu@Há³c¶÷Užé©]ý‡Š -™ÀÓ,ŠÇ¤íREẠÉk -Æ´'Õ€“�½Jñ½$OFP²ãðéP¢BЉ_Oﺢ²íef#9µ4MzèB¡¢tÀí+DÌ窨ߺšLíã|RQD¨6UT”êBçj|/vplÜŌ㊢“aÚž1�ôÐZœ)Äè9›ñ~2Bý)2*•p�ˆ…|r4ÞYvE)˜ èb’"ðÏ43n†+ïM€9P€Ò>zX•΀àáÄ`�¿‰à–ÄüÅÆÄà¿â¬÷…©0ý-}l`Ù~�ñÞˆ]èž<g·#�<8<:ÖÆùÜýÞšß#¿‚_"îK�g5Î�´Æ#\u)È ÿ=€µCI ‚‘^M|ýH‘ˆÍ Žö8zNÁ�À.«Ëô¼OÍ>‘?XQ†Åh˜`·„Z—Ø{ù±ê �ë•JµÉáq»"¦AA³˜HíB�aoO* MHDmæñÏÅUYqgA¬¹,æÞÆkPpئZëOQ´Ò†Ø­- ÿ—_Š |I[`aaÚ§x>J_üp¶ÛÓ›IYšáN ½•žŽÄômGÿ¶ú3_Ì5EŽlW“NʶÏl.°�WžûHq•ÖPt¥íT§Ñ zÒYDÐDi^UW³Ò‹9#ÏJ¯•´ÿe A’L] j.+ - ±çg¿â²?è×ÐÏiÖ -«k«RÃï¯Ö>)æZ˜ª7IŠ‚ó}=±Š·@—‘LA½–t¯ Ù±¯€¡Ÿm ð÷¯±/´D¸.¦ F½ÚSÅæ¢Örˆí_B�¤¿B�ü§æáj Tì­œÅ�;w Õܨ“Ÿ�àl£g÷;”º=ÖšÙ¹î�F£óüÔ+0ކgø/çÿ8<½È½áyþâ|E4"Q¯iO4"¦“A²¦¾;cñÐ<©ÙÍV?�Ó¶o˜»�Ü¥ªsÇ’�lÄ5uî;sw‘ã ÿo6ÌÅ{Ã,gUõ`̨VãÓÌ‹U¶Bëðlǽ­ ‰‹ˆs·oÏ%á= Nö¾ŸtÄ&ôJ:�Y°’’gß$ÑK¸§Ò sÔ½SPG�ÃÂ1†#˜°š ,Î:Êêí‘˦¾ôÁ÷†8ȲØ3· œµY 00a TGN•Çò¡³ï;‚ ¢o¿ŒëŽ„ÙeÏ�-(a;Ë~«J*87XYìÙ§c?’·«#Á@éXl°ƒw6âÜ+) -«_ç@4Þf•NŽÈ —É/©y¬�ŽGEä yŒGjÔ..èeÞ©°fÊþ ^o!ž‰ -ÎuaŒ³ÚF[N…<©Ã“'W”^lŒdIO§_è�o¢æ ƒõ¥<…zbµ‚‹Š¢-ëéÉ—íeÉ)Nã$SÔ@ˆfRQÎ3wîyš°¡I¯¼+äT 3}wç ¹¹VQâ‹ñƒfá*Vñì(SGÆ"OÔåB‡®“<â´8S¿t-%�dò 7�>�¾½RQd–¶iÆ©aËè±åº,¥#ãûª�$i²YN'ÇV}wÓÂX.rŹòit`÷ »¾¶«­/‘Ö‹wçæåeűÓn«%ƒþ�"håÕ†Ô»M {ñÝ~¹ô³f£ñ©øüìà |ïH %ºPÇ3?š .žk�(ŠÓ­lx~þr<1OaÚ†”Êüq…)0q"vÿ™1D‘QãvD Ý9fO´"<#…6„A`_ÿê.ø¶«Êu†@2ÝßÔ/Z‚˜PD!÷Ð>ùh˜FQ6:ËϾ;û�r*¨«kž_±ê-1Ü×ëw}S"¢ñ~ÿèë•Á FR=¹vö%Hàó±Ú÷²€]|AG]›úz¨¿z"1’…¤ˆKÏö>Á»“ᆀ–$Tè¾ÍAW%€"¦Dh •¡Qž›iÌUãÍTÀœf⺧jÊ’¸ÉPÇ1fœB\³Â †‰N X¡XŸ3U$½ªÿbœ·³6€&Ošj[p�¡�xä¦)Ý$�£µµÙˆª¥dwݪ^ - 1ƒDD¯6©Q@·Š�ßf¸U¦–2–ˆâ8‹ª¥ˆ!Ô0 š_(/lü)1NÖø³„A# ?Gáà-”Çã³÷þŒÃâé�³—/†R-)&»±äé8iŽ‹…*­êuҕφRÃL’»l~­Èl ¸¶°ò›ª -?g߯’KïÌŸ’hÀ�Q -¤�“Ï™¿iÄÆ)-£¢5XsþCø&Ò†Œf�…*SáÕÓñã°D½¸º¢–,.!ÐÙètÎÏ^Œ$×(¥Âx^š·—Ç` òÃ#9™"O{†•Ó¡dG"¼CXö^5ë#½s�DCOËI¥¬üZeß°jò(ãv”H�ä�{–»s«1¤Rð¢kÙÙYGÑ㲂èIq‡BNµãúr4.ä ñ q«½Wù(*jü�¥ÙS¥T�©dÓQ”ü“™– Lç‰õýuŸ‹bº#P)`€7Úø®3;€¯p>~`'P»ÿL!èè×GbÁ:í°;*¼ZOw1âŠ5¯Jgaè¨0מˆ=÷<PK;da€ÚàHjýþo¤ÊöÿAаŸ…Ü?YV�ÿÐþþÒj÷™^ j`?¢�:üVjƒnŸ-õj&#�ÁÀR_‡¤†ØdŠ{~)äi õÈ[e ©©âZª&p›LûCÿ×�­NyKG[[ÂñÜ™jÜÎŽQïxÔ�}8ªÚ%¯™_ÚPȰÒ@&šwoîUÊ8h-6Â&pxiÅéz£TªŠ‹W«kkUQ¥Õ£¦�CÜ\I— ¦7ÊÕG9JúãV¼µ �oxÀ9/ -ÇœlgÁ>¨`€ÀšÂ]Í„·a=ÇÑ�naOßBqs’ â(Œ]T¬Ì:TŽòD"@–ýÏg^ì«ÕÁÆÓ]•¢¾øÛ öôþŠð=L½Ô…ÕU<2%Ö ŽþV*¾º'é GV4©YôV@~Õ¦å¸n#j ªØ“nùðð‹6+ðcA?óh’B°ÖÔ…0èV\¢Êrå�ÚÀ¬í-¦ñ  TY^[«#VõYþiûÎ%ªV…ÝM¦ŠR=kkº¤5§ååež^®ê`™xAˆ…­Ÿõcúøc}ýtöãyú›7â˜�ÕßÌÜì‡3"vsdPÿ!4Sª°ÂsèÝ%ÅÉë|Xš›�S̳úQüEðNpÙ÷ý¤çâ|‚¡Š¸ÿK}K@ÞÍFÿ2n·“WêO ßH"Å(ÇJ«Ã—/_êôì%nh¢üÅK±ñÑ‹g£—< +a¥°çߊõŽÇ´üd¶q~>þý«WçãñïÇÃ|4H¸kn àÎ;n¶³ÇJ”°¤9‘ã½úãþøê÷ߟ砜±|ôýËóóóñqÒ\®~ž·Å -@wΫ1‚ç/É�:ÈïF.žŸgõÿ¤ì‚ -#åb”ŸŽ…z§ceJ¢�J!äIbÄùH½f4�ÿå�ãd;³P·`BiÌGç, .[ÙþO£ñw¯^}ÿòì÷ç/NOõ¢i²]ÿ;AŽŸ@Ùd³BåÏ%2õ[•êËÿ¢\½:õ" ¯Pøt|N¦FbzËì?ªWðÈHeª¬Š[�Ðá+ÏÏ_("ŬÒyÑNÒsŒ$­¨(À´¢&T®<åJâèìÅù_Ž–UQ\Õÿ±Jt|ÆÅ»ô *êÜu>>•ö [ª¨ííˆ5—E%QSÏ¿ µ—½øÃTQ篾ËÍŒ]È¡¢²$ªÔ·ÿ©¨¨tDE�©(As¶7,*j4/#òüÕyv©(ÇP Iªé|™‹Šzq©¢ÆTÔ UÔþ8ÞþEŽ üb8TEüRò\õ4~©ŠŸ}> -¥––lGé7—*JEà �²"SÇj3ÿå_þøêïý)ß ê¼$€bÀ% ä€ë>·nߺe À½ª×po=2@ÃeßÑ©Eƒ[VÁÑÁ§€N'ÀÅ(ÿÏžíÿ­0«ü /E\�ÙHO;mMüøç~‘]ûxìD"AW§â㫟÷ON -ËB¸Jë£ÿ¤öT\~UÌüˆ7H¼�°T{æ… íôïq…îêMýþÂà@†Lžž¬ÖÏí4†7¯I;KÑçíØ¨ÂEÕ‘Ci¬é–�´.©D^K·ZYU:ùÖFYœT…Û 2Õ ¤°|�ôy£¬naãÅŽ.Bnð(p1F+ñ`Ô¨NÄL -úûùú[Æ* yºµ+´Íh1_â`øˆÁKP"…émœSÔ˜‚íK±'@à €;y$U†u2 -  C’¢„…O§Ó0¤©2�hO•PËÄ%ü—�掴ÈÂhÖiUkŽ¢Î—êF�Îï:ÙÎç‘Ä(=ŠÄ -á°hK^c×`6` -€%€K¤UîR×sEaw€®~Z †›§O©mö -h5’ú}öq`%©ÞÑ‘ž¦méeø˜¨‹ è>+3Ë䊀~AÙöƒv;^+±À^¹�‡(3ˆ,NÆãdÛ’ S0¿°-vSÈX°®Ã~ô•4Cù¨¤IôÓ(ITÊ,¸,Š%Ô­­é,^«ZÜ@¾[UÕiçç±ß•æ«¥ò쌺·êI¢\ ý¬ª³àwžŸX¢F¤X›j&ÞÁªÃ®ûò�{¥[’ˆÔÃNŒ*ËÂô(œøàòçÖ*�÷þ¨pâµ :;µQˆ¸œeù7ËËŒ¨Œ¾y.u' ¾h—Ý&ªSnþ„²ïÌÛ•íäÔÍ%j6·›‘^¤r§Î$‰[T�µ·+Ç�¹«ˆôÝŒIѪ†¤½ÓÆ N7¼$›žä˜o½ZQ‘–ä•åvûsÂGŸS§æ ©ŽE¦°ºµÄÍæCÏ•ö7d -Ÿ¢6‰Eù*:ŽS… h'Úa0Ô_^ÐÆÅ`B¼y›î+š#þºœ¾äW1þ¢^ù»'ÉçÑçÊÔ6©L2‹u A*äÉ[ê9᪨üAÝ5bÅ­’â4¹¢ü¢ÑêX=#O$ç—riêI>iщr,qŒÒsšÛŸWŽÛ“ŠjRQ®'q¹iE%êq8ØøŒatºyJ’¿«ÔÛmÊ@µÍ ¨–î( ™R2•/�«7ï<>þæóÒר(½\ýU U™u×DÑ9Ñ*’iE-/·Ýø|#ülKpqE9Oäþ‰+*IûÁç¹²@7˜æIáÍFB®¨÷¦¹ò]OÞ½°H˜Z˜ˆ`: àŠ€úîíÆºȇ1£|øÖÕâB¸ÎK·‚ùX}öl²€Ïg"¯€Á¾nw¥  NŠiy\¯y´]lð>bÞV|BÝïÛ�›‘|)‡ƒ“£Á‘n®² ¯ýDájŸ1„!G'GL³ÐÕ–ž*BÞ#É 3€.c:�V)ý©€I Hï¨VËâH*’zPR€bØDV/nЮ ×ÙßÅŠ¼X—‰ßÝÏÔn’J%FcçÝòÜÂEË�pïAjH³¸´!h�LpÚu „(¦íozö}– Mð¢´É¨ÁZ:â4{ä3 £ããü·y?Q›ª×·¥r~^¯Hžá’™lº—±–Ì�¹Ûa%@ÚbUÛÅTZ’ÀˆõzE‘v§^òTWÑû! -Šê/"\®‡"UúBp‘­euÕS‘§¢Â -rE¹ - (âà"™WªI7]Œ!SkEE] -íXxóY]¾TQ¾§�Uà‡!eHÒˆ²Ië¢ú”x¿!E¡‘)î¿ÇgM ýÂàY/Ï(–˜X®ùHt¿ð0ØO¾<' |erÉwK·‚o>*üÔÀ¼•¯_? ~¬Ãé¦4´£Ciæú#ˆXî~î�R.ø–V¦ -ÔÑí-Z0¬ë½à…+Þà°w"ruÿð¿'…a%«ïÀ„Šù™˜úêRÀ¦>Ây�æ’tŠþ¯hõnÁ…}…}Oó—nÂ_˜°- ™ï ìÅùc6çþ?VÓnj³=��ž�$@¨4šq+϶ŒÏ´¦ Î…ç/ËJk©tþ€ÿVÿÍ—§ËöXë–�¥[z4‰t&Mœµã·ÎY(M‘nmĘ „*Ha€ðxœçù9¨¢'v¶½?¥�B$6î!èIDÆÜMD@ÛõòKľ´žAðÙV–­!Øâa‰GôË–‹Q×+QZ,@jjeQS¸*�×ááxô…÷59e°p|Úa4 #ÜEó¯ý­ên¥¶Š‰_•ÐßÕÿÒר}h(øª¢¼®·¿ªûBvF�0m  òY5H!~£:èÚaÿpÀÌä ¤À¥.­–'�X?ð’@ö.hïyRÏFi¼0w»ìµ”Yã¡Å˜‡‡m BØ/ÍØÞÁ1"^ž�'õô�,/BÍ´l;AXvöö$:�ÿçïqJc©>®oq~\ýÍ` *7ª‹®uÛj£\š¹ÇLÓݰ0ëöéOĬý7ÑíEµBU›JH’ÜTúDî&S ñ¢Z�ýW˜øÆi€„¯‹§Eý¿/Iýs=ɳ'Ùô2 ¢ˆ’·ÎŽŸçùýv¹þ9ºjÓ·:„¸��ñ¼:;�¿u¤Ÿbm ͺ½³ÓþEýÁôOµñ¹�5¤Š=±±¶Ý–¦ùØJœÞŽj'íãíÊø¹5P¢@8vßu|˜iI‰õc)‘Ò—Q\ƒ‘Ïbp[²âyûÁ7Ù“'67èyGAº$(J»”4x\ Ûª ‚ë–½ƒôžvjAÓ&õ—g˜ïv.y4û†ÈõŽ–ÚªüâøXʬdÇÑùË‘²òD™"M–+g¢DRaÒv^9þ'§Çla"°sÒ>ÖÕ I‡¬¥¶š„ëí PQãe)æ!OTW/WTžýâA=ÒszÝÎc*Îy"5ö‘aðÇU”}ÞBE!â¶I�Ôñ�åzvìwÅÛ”)**m?N9wE‰Ä–Ûy}y<ñ¸¹¢ÐÞœ©ñŸmç$ÿRE%Ëù±šÂõŠò þY}YϹ®Óüy¸GEé�PQ#UÔØE§¥L…ŠÚi··+*5ûûågß�íDâ<YUEéû¢¢²ãÊ7ÑqpBßïÛ¾°€úåF™YÞéf>¸_üù'\œHœáX8èéo2 -h‡/Ièñ¾„þõ!{û�¿Þ‘W„~.È_]é Xîm_€Ì\~æm‰¼\€4»ŸIw_ÅF —õÿž‚Uìû½Áo<Ìküûñ,8 -ÛËýû(ÔII¸Žú5%ÆÑ -‚¤2êHÇÇQ® -@£u™h&¡E‹'3ç�ñ•²®ê+ÔvÕTGJ ŽÕq"©Î•†0NмàiÚhƒ¡i�jÑÝNZ*Å…ö¿»ûÅ=…RƶðÜ�Óì±`!«VK¥ùj‘&Ñf¾–§‚qq¡Ò.#ÌPÜ4ª0-†©‡/ÎÏÕ†·«m¥>jTí�™™ùÃ16musq’úvvn�w½»°,bðŽš�Ÿó6©š,’§ÑKA~ëK#œp�èGÍ>®/'£1‰í*p=©deìÊ*`8ü.Ë…tÇ/q:ÓCYg/­öjKOŸªæðX• :,ä€%&jö_¯HÓG}— ÀàÐ!Ö�.Æ ´ÿ§ªRióªõÞสZaX1ˆy~’K™,ÀJ�lú(‘‚–† ¦¡vxrUp¹]"VŠc! ;å…†@Rx©Â–@f¿ uç2…#á?=× Àw -ì2Q¡ñ� ¿' - -¥“Å•9–†ìt 1PÃoÓ>ÿ"áùá¢ú¬.4ʳ%vVg¾~ÐÅ?`ξD€‰ÍþfºÛ@Ì”°Y“¬ôƒý¬8´±¾¾¶l”f抙(cXïïê_øL¦'Ø@Þ›Æç¯¾ÿ—ó³æ/ÒüÜãç°Ä,û'ø¨ØïЗÎÏw>g�GôÙ;+W‚ÉŽÎ?¯ÎÏ¿ÿþ÷çŠìl8ÌÏFùó½¼£ÈÀÖÕQ²]ßÉŸ+>-ðét΂ Ðyqþý«ï¿;�^|ÿÊaýBñüQ¾SÏþø§sÆ´’áÜ¥øÿOcžÅ(M¿apþx¥ùÙÿ®„9Szã«W£v”eãWßZ2$O§ ~žë‡hFÿï,ZŽÒöh$ÜÉœ'²¬ÿ<ÎG{{óWßÿòûï‰ë»Ñ(?=Ï‘9‡Î”’úûWíí‰`w|>øtö†ãïsûõñr>¿ú~üÝ+åXüŒØG£jrö§ïÓ·ß*5Œ©ìu�Þjþ¿F*Úo G�¸Ç[.TÔÏÿ)’Ä¥Š2’)òDE¯¸óqÕ“ÇÙ?_T”¡{x¦Š**fU™úþl4<«¸U•K˜jçÏT¥ˆŠzAù 7íðb4â—Š"½BèÊ·ëÏÿô_\s®¨Ö.ïä_Qè‡Y„*eWTîŠÒÛò=Wo|õê?¶#5­WN«Ò ž«õ`´t¦FÿÒVEµÛžýME�nï8©QQcåI™"®ñPI ¢Ôø^ŒCžþóyºý`»¨(ò4ÄQD5T†ŠRiŒ_¾:›TÔ7ßäËéwEE�B“z7Ýbi× €g\± úCFý›|.[Dà{!èË�Ïøž\c€�ZK½ga_�W«Ï¯Ÿ=;°ÙEí냣“Á@2@±úš¿Ã¤-¼wxÆú�¢w>,¬ŒúöWÅðWYÐ.vßgOl÷ßeM9€œõàºl- Lˆ© aö¿V,¨�]½ª��p´¿Ò;´¬0Ø*}�w¨îÛÍv€|¸¯Hð*þ,JÐ�›ÒÏ„–¬ö -VÁaì8!«UHùMØÏw ¬O›;#¡÷†ø3˩؀d‰¨€Ü .Ò´<»n>œîn}!–ÌmIøLWõ~anUfKs¥F”îæ�uÂÆÆÖV%“º¾¾±a%θã81»’M€h}pQÐ�Q©¨Õé d¾¤ÖQ*a­[®V·“ŒœÒŸE�2ãG -$4â©€4Ž$:çî)[»[ÁíA9Ë•Öz¢÷9»£(:ÃYFº2¢„uiçlô¼¹c›ÀSGzÀZ”§µý§ýÚ -ë-Ûp€_]YYº/‰à“PÇV�ßÔ X¿ A·wèzG­W[Àª¤ûžÒuÀ¤CVBòì­0�M$õ¸Z éäèïÕ¨ - ÀE0¥Îp§Þî¤ë IÖ^ÓÑuåüÿ’é°(y?¡ÜÚ-”+YöJBKÁذ£Êpqtp)Rÿÿ÷:ÍJSFCàïQqÃ~~DÔ–¿k’È«�ÅÆ¢D�*�ª,¤Æ1´˜y¥>iáô7ÓíEìE&·7Z™ˆÕ LÄÛ¸{K2 ¢$Fëû¬÷;ù 4=€|ârøAt:Š’ŒsEö¯¥í†V¤RÓßÛQ”äÏÓÇR(;øÊSâ -¼«.!yK%ØÈgÈ‹°‚Ûé·;õz"�4�qF�‘ÒÌ_ü„ÿ "f§�£å4ïàÒE¥MâBì§Ûë¯eý²ÒrŠxuÉyZ?¶½¬�Ü÷M–š[ù¨Yo¶óÇ4 ƒ[‡"Wž²©=y²ô<ÉSAz]~Üd'~Ïk ñä‰9•u¤?&œÊÛì•„§[!£ÂÙ�EHùã Ø ó�'3+P°Èþ(¯§Ç…û%å&øCnPYöÇ´¾½£4á ˜£…¾ Xw™pp¹¢˜ hBdêøˆ-õF…ü _Ï„´Rç“<]TԈŵ„Ö¼’)½Ñ©fFÁ¤¢ŠLé*Þ[“X¾KêÙ�†EX$OûçÍÏUnLˆÀ{äÒ£´M.y¦¨0åáô"ÉÔ”Èíí±4;/ -4‡w|ÔOo¿æШ~ôan²¼æpɸë?€z<Ì(Wïáüâà*ò'áÈ©a€2P*P½lÀóÿ×HÖÚB «Æà.·z¦€Vâ'hç,/µ ÄG@¤×>1H íÑÿáäŠöPjÝop ì Ã�nÿDÈÎò/GGƒgƒ#æò�‘AA<˜ÁÆðF„~o€4 ¸ž -4z=°3ËŽÓJ”ƒùéÖgÞ#ØI%ê—~.>ý8‘ÄI³�ê�òxYQ®ô´"PÿŒüPÎ -A‰iÒâ[i£<öf £ýE»ÚŒ%Eœ�Fq£„¥|l›¼¸¿b\,/,.¬7æó­�ÆÂBcs‹a·û¢£ÑüCÓã�Kê&J—x=�âIÞåõM1ÏWí$ŸÛ;W¹À‰6ª–æfnÍ–Ù¥0R~’¹s•çkͰw…^,È"EÏKLÒÚÒµ„þÉ(¢ÑëÛâtΤà=n4;ÞÙíŒFgy�Xˆ>MÑñ¥ó[XYù[á¿ä�û+«'¸oô»Ù!ÕÔ$¬2}°ösÐÅ>š¿Û MÝÚ'4Ý•”GC¢éæà„1"µ¡ÚÊ*¢BÑN�ŽNŽþ§#K¡ '´×�ÝX`ëÄE¶Är.Èó6;B›°ÔK(èP«á|7e4ú4c¤Õ)`ÁŒ™ån #}¡£jj~,¦¤p±íB¬ênàyÇBÿõ`´Ø(o¬ŸçJq! êTÝž†fଷ€â›)X~ù«¯~Éz­­][60ÿ#~xí*[Ê·Êwï(> ž(Qð=ÊésÃşܾÍbv„÷ùˆÔJ¾g=ùK°R�ã¡lGi”ä'E¤z�§ˆC(­ZùU®„P®ý0vU¯&VÄ==ÌZ#fÎX£Ù5:Mx,�*é(ÝÃiÎ×ãA e‘ï*ë <‡Jó7§]#�N•ô;€+–L$wÂtæ(^åLpœÔ§ûL�°PÚ[bÙcùkEéÅ¡K[`ä -¡Zò·]QÅUäSsÊm9õ�qR�G�v/*ê�¤~ýÁ­¹¹…ë³ìpÍð¶½&³ì?€ýôT_A$˜ÂRÀÌØ6”÷Š5a¬HG¿>/^«û‡GÝbv¿À¿»ð nÙhaûGÏØ÷…k¶ -@ Üàű�¤Ïs‘=}‰hÀúöÿDÑK÷þ ññ;d(X*�õº®$€®Bö¨…8‹!c°ŒN÷{ø£ ­šU”ûø¶xsVŸ2xÄ�fkIÏFLL˜p÷„²sVó¥1\ž­5ÅY·Ä�Xh¸]ÑÅ/x—Ž*=�˳%Ç -�R'çyÚŒªÕH±‰)ë µLXÀ–p�6Õê^º) ØØtÏ…h•nOt+5oNÜ7÷¤ÐtvÃêBzØË 4b)D£$=Ç—ðñãÌËØ�2¾•nÄ�ÔµªàùjuM¢«Õ|“íÔã<YûU¿Rš�r�ylœ ªË>²]mŠ]W°‰†<¥­À.yZ¬[og‰¤õÿJ–©”B¯Ãü¿ô×’VVÐÿü×?þ1öI0DÂã.váO:ûRÿ© Bl(LÓèIÀ¬þ÷÷kKÕPpö§-r¦öÑ]ÂÉK’÷¸É–€4¿n×…w‰:gÁ°ÀÎIª� ªik‹©tu BqسêR™õ3ÅÊ&ÔŠØFsô2ôtŠŒ›á§Oÿ�.#ì; ·Üú"ýuçý>¡`þÏíä•J‰f@‘ðå3±q~¥úÿ?P–Õ Íû ÍÝ™p4� wÆì ËtJ[ÁwG&üߤþæÑ/¥•ÓØoôíqTÍN‘]±˜Vqùú8ê{çÑ£É &È‘$º�†ÇшÕóÃÝø3n�¦T<[Hæ/lÁ7tùVÈ©*ò¤LIÆJæt¦ˆâ(K*Û*A“.9¯Üöcz.d^˜œ~Á0e¦R¨&Êbˆ <£‡ôBd*Ô}�2Œi„hI‰þÍcv[¯¢ä•˜ -("OJ&_úQ -îµu�_TÄ !‰¦¨¨3�k„×ëEIjb‡åð×Âe¾\Qa µ«\¨˜Ék6ª¯ç¸` í�Ì}×a(Ò %ª©�)Ý&½¤›â¢qD,ü?©(öžæ‰‹y[5b˜äRE9‰zOˆ‰·) �_QQ¼ŸøüëƒíŠÁ�é픹ø1òÄ#D@±�;Nìœ_TÔ»IýZ€xÔµY^àÂ@xïC ×|5dà×>Âò‹¾/-`‰À_·`®Lá³ã ž€à4 Vc¸áíƒú^ÐÇ߯~FßÅŒ÷Ã-ëî/õ~Óß?K7ᒀ (gÈ÷ðÖ1ÿ ý÷ö?©Ùó t1ï üòžþðx!áH ]Œÿ¬FOŠ-•]jêþâôÙ#ÉžTS�Äà7ª‡ º-\Ê›Ûùùyuþýq²Õ“vž÷½]Š÷ÔìÁwU·¶66aÖ…‚L®2aá^k«ÏÍ…í}Ã[±RÅQT]®T›éhXˆ!›Ê‹ëëâÏÆ€ ®?¬vÒxCNijˆ0š´Ú6K¿Ä M÷¤ÏDâFì°AÁÝòºÚdgÜÜ‘°Ü�ÉA'?Ë·eÉ+ÃtS�ç>Ôë^ð¦R©nÿT2ÉgÞ| ÿ›s*>NH§y_Öy‘=¨Gíäs³èÌ«£“ w•’„êÍ6#k©}ÔŸâH¿ õÿ¯ÿ?þïVÐá·ÑjX1H-fµ78|úT'Ý`Pý«®%íuUéýîÊjÏ&€ý-‡F¡ošÌêêaï�õ�ØýG¡' Õ&€££n(¶)eùÙN]iÜ(#,,ªÈ{Ì´"¡ÿï~§¯Só:òÇ3p7Îq}Ùþ|È¡\ß�5 ü«ÎïTØ® ø ] °WÔ ÏÚ«_öÌ¢u2’ð­:ËÃ9hàÛ’¨/¾ ±xh+‰ÚÉwÎ!½ó8úF­>¤Ó‡Œóë~ÁvžÊ¾mW¦ÁЍüˆÓnˆ&O…¤”(k·ËYõj{ @¸gJ%‚T`I�^ hC-ñ¥·`r4ì’ð«¯Õ4!H¯®]ª¨"SþæÑŽjŠÃ1ÉõcÙ(¢‡ªæVRæD!åEbqÿS¤üs‹D;�*ªÍÒ‡“Š*šŸóä�€ÒÎãz”�§O$¸„g'"ͯ�ô‰lå+äJw;�mªñNrH?V&ÕAY£¢D«é?å°ï uk àX)¯Í¨zŒïô@¤‡ÇèN�ìSø/΋Cßñy� ‚À?pZÛà«ÒÔñ Këê׼¿¯{€ß‡(æX”•�Yõ7è-y5ü¸Ìý÷¿î�î+¦ €à–öÙXÆã ‡‡L Ðë­ÞNª„BÀ¾»´ÊT€�'è)üÔښð_5ÐéŒF»Q…Iv®þ‚é@r{8)¸±Ž˜Ûâ ˜ÌÓ'Rr_2§eZ«j¸ï?Êây¡âúÆ¢hÒØ -ÐO+(šÀùñê%-Ƙ@X­W>OIyTT›[8ž+"t=£‹Xd(W¥<‹_ëY^ëÆ„�Ššòäž6!¢§  €2µ‡¬+FÏ Ãu¾Kוః¡7$¤èQt‚JTG4©ÌWKóF$¥B߆­­­MDg¥C]±�gõ��Õ%§@Ö, ÍãÞÃÁéËöƒ(ª´ÃN�2æ‰F­¶ôc‰÷�ÿ÷ï~¼²ß•hÈ M··ÚÅ3�¦ UIÞïNz H4Äjäá5Œý£Õ%|Œú…§ŸÚŽ‚Ý¥-�¤�Žþþï-Z†– -üŸô‚FI5ë¤ Œ¯© -È(Æšìlx6ü‡üþûÿò‡ß ¿‚‘©ôœ1•)œ@ǺÒgõá‹¢ePC -g ±”Ð9U¡‹‹[�|iÓFQ¨Q£Æ6¤ëü|XnÌÍ©ò…ÿ±Å9w{É·1„)o´lˆùÏ”ö!@�1‚€€�›Azo¦¼,¸L5}"÷—ÏÃ%}l œNn}a8xŸOaØý??¿b ;,X·áŠm—«}»hC@묦É/…Ú¿Påï!cî€ÞgK¸5òNÝÇÑ ¦K_GË—-ŠÐ/6ñnA¢¢)‹�ÛU·’ -t@Ð'=}n €Óª ³_z˜Ý³q™ÍÏÄõÕN€®p‡þ‰ðÈ+ƒ©¥œª¥¼f -mü6 €�Mú¥u¹å=¾làkõO‚ón˜yJ>»°jPè¤Ûüd7+,!Þ@‘' ‚`x¬Ò˜Zø×�pÊÃÖzƒ Tå«„¨9 ™Â¤fR'²¨(NØGØå0X¾ô@‘ƒ¯£Q(ý&;¸6@ºÍe%صے`_ W“ú�ŠGƒà13× €Iï!dx¦š|xÝ`•~»bÕÒ�"€¢Tƒ  <ûç´’¾Ä¿õý,î×Rá¯X¦{„!€×g¼î0Ý 0à=_A׿ ùºÁ� -þ¤‡!ÀlŸ Âj«b­b²Æ÷þaoU ß/F÷�aB …ÙÖ�åðÎÛ?`ƒ oýã¸+'bÐ ÚCàû'’ 絆j‡‡Gµ•ÞÁ!CÂG}½Z¯’À|€•Õ§ÌÐU ÜÒ÷>5ÞbJZ²¥ibînv�öù G:̲á(Ï¥à -³ñùï¿;ÅýCV°Š–šÅñï� ±R©g ;i/"Ï÷£K¶ÄÒãÙ†”0.§1«h¬é5uì¡ï·àÊøûo…ÖÆ+å5Ü uÙ€È]ÔøãN y 03®ךnà‚i¬ XÞ -s9UÛW¾Ôe¥îœŽÓ8j”ï•Áv0ó=fh¿sW¢§å¸Ek ÖÊ(Í–fçJ¥ù0EÞbŒ -îEå/óq;¢DáÚ훿@J•z];­/Œ†­é•2¡Û�qÿ%,Õþ¶öõàéSFlúhùèÿ¨ýlÅžj1½¥¥•``¸±®Ëtv… ‚]Ï´NÉ‚ûýÕÕýßèÔ¢`?HÝK6€i ‡~—ç>¸s—AZ�ÚHëì«üåËßýªó¿uþåq;û’7À¸Qiä­4^oè* ¦÷Â»Ô -«ÕŽh¢8ТF‘·0B4‘0! @À"m5•¢Acµüÿh£Á”wrHO1È��›ÕàA©  (ij@%晥”ªŒFq”ë�çYR­37Šä’ -ÒÁŸ×ÅêÍ£Ñã„ÕƒB±ÊmméÇÿõÿǽòµ¤;¼8˜ÈÏ0Öþ—°õýûÿ±ßëªÒñ¤¾{_#ñ¹ÙÑ]϶%á ¸ÏÂÑKÝÃ+SÚÜtpEð\uò+ÔÊ^±Àn¼x‡e%mgdÆ®IgðRâöEñ¦ (yä1_²�Tv©º|#¡ÔظX‚‘…€\4›ib(•%îba‚èõø²¾.Žðf @«¥šŠãaÖy)pSõÚ2$ø÷æU¼Ê~€·î0 pîö_)&âDå#ÿÅÙkúâà–¹ü{ ŽßÝÝÿs»y£€–£_,^ª°P,í€+Ðä—Zx‹ Lq+ʾh’Æë‰àŒHC>,Úä7bŠçïÕcn·¬Â/‰ iÖ7¯N‡W-ú„p¢S€• ¤¤ ‰xEH‰Äàf @‚ <¦»dË·ýÜe üFÇW,f j«!0y}B¡?Juûà‰GúÈ—ëôý-�é!OEuÂ)ãt!ºdÐ{œVUTõÂpQQ”�^Xx/yÅðÜC§žØâGôŒÈE¯Ç¾ ºËÜI°+ª°84udýobÊqwl¸pÖ‚ôrÞfSÍðý-ŽŠ'uÙp1@°·RѯÃÚî€×÷˜Xôƒp} ’ ¼@€x¾~§ß`þäbq0ñà›Úà·:ÄOì—׺¸îÐñk]¾…û&poX*ˆ'ÙHâ€0]gì/_í-}2øÆËz˜zíüµ¿ÿ¬¿ÚíId6€^wÀˆ�ãU8Áó½IW¿'¡BÁ’)H/VGÅ–±•›*Øl¼‹·T?’ga¿¡Ö¤È¶Ûì ´ý6ËŽÛãѵi§–;[­/Ô8Àë8}T-§ÆÚ…òí»��¡bÑb‚c*Çjl›i£TŤñdçx'kVš~ùÿùEÿW²ÖêBQ¢¾¬6±!‰$r¬aܺBÓÊëéP¡àôvó¾{waC­]½'—`à_¤Xâˆ6‚­›ÜëgsÓ~«5Š«mìA/eâ“K^´ß(¶#Kiú"«“"˜œÀ­¾c¤_A�sé´žŸJEÞMÖ*{ß=’¢?j¨åû÷¥×¯¸EÙr£JW•ªMõj+K~ÿ^í¥ß{ú€¶àæÔ¯ö˜!J€Hm ¿ºŠ)ª%1UHÈ¢¶ˆªv.(Û=OêÏóÖÆâíÛwî–oQ‰+“�ÎKÁÕ˜Ç/ÿñû3Vb NíCu]øa¦ª'ó0B…ú��þÓ¤oP „bþ{øÃ2˜+�²…Ô§7HÇ¥ò^«ƒ“iy#@˜€½^ýØ€7Ñ�­–rÁ_«ã-ÎZ:´@!^4-¶Þ›)á¨8Qê ýí_§ü×®üù¢›ãûPÀ1Ñi&ÿ»Ú/½G—ù‡ýê 6O¹aPi"nÓ‡Š7pWTüp3ÿUçå;|¤q«vÂm}ñì…@q†Ç., ÷#ÅSNZ�,1G¤üs8$ï¼f(r•î -~‚P¯ç/ô-BOpT"&Ÿs½ÜÄÛ|xÊW $|ë·X–£0§_÷@èqcà�ŠíŠ �0~ˆ ø¼Ë0¼l ¤gï°L|œXgjÕqÄYÃQÑ—bs}8O×,\@ -½ÑÀ¿}‚@\vÖ¥âBóSã“ 60(…EªI÷nº×¶€�5œ¥�:ßTyÆqÙÐú.­¤çizú>€Ð«Ýù®¬h @ð¸fxÓ^ L}„ðú€ðÞû/üÙ`øŸ ègb–m°ç�‘øΗja|àtYÔE¬W€/E�¡{{î1j„º<ìǯî‰Ð}eÿ™ð_Ź?Ñ»ƒà¨ïÆáOñëuøváæè­ü¯ -GÐ#�F=%µQGÞ|… ¡Sï›cüÇ«ÅÝ4´q_ýXnÖëkQ3MÚ¬]Õ–r@íRm«G«f©Ž‚{IŒŒKéú:Î{¸h7Bƒ ¶yý·NÇãT¥?[n¤éžÎõÍŠá‰Sptô�‚“&q´V­ÏÎG³ËIçðFœ Ýn²!Ëjº(s¢IÙ H½d-c•^ð_,ž¹ 8ªÛ$¿×Ã^áBÄë·<l4�pG�d-ã‘mû üŸ»åeâïòˆôc‰N#Ûèzô—v•I“nù.ki™�'JÏ >’T%ÿ@9š­ -åÇ?þïî¯ümW²�Ñ�ñZÙ{''’ìì‚íŸÕý-ì÷V%@È ˜Š06©¨Q±¬@hD¢þ… À@ÿ(0¡K´+U#ÊÆ­ÍÆÜí;åÅb)@UÓÞ8tLåG‚N&eú»gB9„7wó\pÔ¨$ä}«=!ÄqÖ¬¶Ù_yJQX8òî7ª0fªhU#iÀÉë[år¶ÅSöÊè¬þ#05üM"@y¶íU&Óø³lK íB´±Î2ë¨x‰Üš[˜˜¤Þ3ÕÏÑZÙgºŸ¾™ˆP oÄ]ââ-åö}>*’ ¼Å`Ppøˆ_²Xî¨>õ�JTÚòÙ»} Pº§û7ú<˜ømYqù%"ޫLjnGÚòÔ ¤Yß¼ú’€Y‚U î+O>¶ì]S,yEH˜óôF[Â#¾¨ËÜös×,àWfpGqOñ…œ+yŠU @­ ýE>�8ᔇo°°˜½Ã t­Öîÿê÷’W,Êâ—¶µË'„„é@¿W-f¶¡¢ - €®†Š² ÈSx4ø\X¸Hï!dxÛtºP0©&¥U?Û_¶8¯|(=8©¨ C“Š2¬¼™Š^­.ª¾yÙP̸² ðÞ‡nð°¼]ŒôÅy€ü‰%À‚�&>| - €Å{ö-–][YH±:<:ðA�¢?ÛWÏ=~³§!XšKqwlÀ·žÇ&ptrp ™ÂL]P@<âÜ_׺_±lKô—–<âoÑ�buei¥ÆšA€ ›Èèp Æ£j<EíS*ÒUDÍëL�;T5ÄQµŽŒ€£¿mwjä>©ÚBWõíI†+)P3.é%ž¥Í4@ê»#R˜ òáh4J¢5tmžv$¼Þ­K‰B%úq¥ÿaG¹Ðô¹’ÔëÅ툅JlÁ’¾iÊ�øžÇB–¶µ‡¶ö}ÕvÁ‰<É$zñ^ý ·¼Ð(EJöÏaþ Ï ‹pêZ»Q4–°Ž{ {’~e)ˆÀyÁ^Š›[£­ê£—¡K¨»Ž’Q».¥¤Djït¢¬ó*•LM—‹™Ó¬VÉ0¶ùY/¿c)–�VT“Ô²›€ý8V—tØ;ø÷¶1õŸúº¤<Ôþp@Òƒh%ãjCj2œŽ—m\ßw/® -õì|¸µq÷ÎÝÉ:®ëNžŸŠÅ¡�RÂfLlÚî[–ÁZ£œõÑ òí@º¹×åºÁ -i -ÍŽ¡íÊ79ú‰ªI‰*7Ò�þÂHHÝÚôuUâV«Qíä[s ¶×3¨ƒ#€CðÀ RÀí É`}hâ[â ?D>‰ë�µ‘ÅFõV£áèæ¤]ذÀ�ˆ>œN~Ç3èöí–´«÷úÐÑDø$ÿf:ÿtB§‘®ø& wEAƒ“ªà¿ -{¨»Á¹n¸Õ 0\à[4±œ�•᱋YÆ•¢ƒøŠàÊ,] Ä;¯ÍÐw¥0NfE;U,šú5úåÇÃoó(K`ÄáÃ÷…bI§.Àôº÷DÇX¤šÜì N°nê�"Ð[�î]ó 0ð¦YÐë|&Ó õ嗖ךҦÝu ·!ÇkWÿTT˜pÝ -ØÀ³5Þàpi€/†Ôù¦ÊcRQ—}ÚU,®(‡}#�Z]ýïõ½–?ú0 ¼—À% Øþ±ñž/ þ è6 §^ ô7˵'àDËB�xVžþOX!(Ì0IO[²êÞeW dâÖ€ÚšâÃÝ ÷–ýï˜ àwè÷�¯÷÷¿–DÁð¿ÓÀK+ºÈä¤QMð¯3A†žÒ#±×ôÏÒï¤ÞI×>�wêçE½Ra”=<‡]`ê•Jµ·óñÙKµV·Ÿ4mדQèRœ»ùsÍö~?^Ó«Ô²7íD¶Èz‹1šç»ÖÿÁ#–ßL«Š4镵2’ÔÊ¢(‹?e|ºØ¸Fø¿>Ì•7˜�(ýÌJת[w;5éѨªÎ™Ô£öpl~ f/Æ��þSôdÈÂ@ÞõH±ÇÕù5p/LP˜+©ÈñQ_˜mÍ^À®:ªö�+À’ÔþÞþÉQ·û´_;²{`_aYŒ‚v¡†eš �Ò­‘z_âXD[3]¶ xIíËôâìOùv®Î/UÛk¨¤ðV�”¤­\�C€®2d¯s·¬dþb¼—}›�dù·Ãñ÷¯^ßÙË1º†t V2ç‰<Û®'Çô{}3é2Éø -Ç»iœlµ¨<šBš®#¸nÄK@2%p)“cïï(QLÂØ�2@}÷ &€¹ æa¤ZÚêx|f+&1ª ~_csfŽU§ÔܹË:|$eHòYø ¤3óH‚ðû}ÔŸh'Xâ-vT:ø¼fP_á>§þQ�ªZnðh_ñXú2™Ö³ºÿºàÒ:ª)‡õ‹MŠÄMÙ#;…b©xCšõÍ«/ù Ð\(–¼ãBP$ê šo™8ᯘð^>�|[¡8Q,§€×}T>¼"U$�È®ûðçšø!>®¨�8ˆNyØ EEy½Hn´¸|ôoy;k=þÎï%Á`+XÈÌ/[_†¨\ôŠæuuÀâ–žW_|Ý È“âÐïu ÷€LqÞöž>†{n¥:­¨Ë€JúÏïžðEÑ¥M]³³Þ/ Á`!ü=ËüûôÊŸ( \µ³÷{56ïAAG3?<ò¾ÿGú Ä˹%üïöÙ’Ÿ@\¼Ø1„SÅC¸ÚþQÿäˆÕûŽj’ÍÓ»x…ÿh‡«¬0ÀpZa­¿z¿†v‡ ‚`iué~­w(¥±†�˜�`|©-ŒÇIµyªJG)b+Ôj�Fqu4Ç�ì˜×T{Ü£uQ—!L×-Ú»y@ªGÉ£ÓÖÀ|­š¢ •æÊ ”.!ÆÙ÷^ã§^¯7Óñ«ÑY¶ÁJ>’hy"“~v€ÿÓüË’ÍWªÞQˆûYeÙ–zïp—¥bB*ÐQ!õ—DËõŠd�¦š�(�Û˜ #öµC`�Á¼í…=ÝèÜëx©°DíÀóÕ#ÔÎô�§ÁZ³žé@œÏ$ݤ»[ÌUÄB�6Jò-)ê/gÃt‡m7ò´±l6­\ é˽ߧÛ�œ˜I»iR-)ƒ ™Ú£š'ÓwÓ#�:–"üüêýžô} v,Ҥvp *}Êú“l0Ñ=::úš¡Z¢á´§12-`•5‚8+�ë6€Bë¹BYýA’4å[·éI@cß|ÉAa;rS3i&Û »~{ÇqöÿÆS¢©ßúß$ ÛнÎõÕŒšÑö6û‡2Úß®ÿ�„7{زGë„ØáSïò1¯Ô�ºî<]·<_-ÍΨï©ßÎê33s룙[| 7Ùþ'TRêkÞèTYk¬éGý¾Z.IÂTÜú�!ÌÞš™+žø¡ô~ۛͪípã,~éïgšå»f„¯p[_<ûV€·Z -@¢6þ‡â�¯[È“€®¬ h-[8ŠB)2GžÞÃ\qøð­ß €v1 à5€LøOÓaÉ»bû7ö b'ÀÑGÉÕ% yâ@õ>³®ùHÆÉ:_�ÚŽ¢g"„õá<]±„t]TÔÛ}ŠYö¸TQPˆ 4?›ŸÞààYS�¯ú6Ï*O¯YÔßk@ÑÝ ,qR^÷¸a%À7¬pÙP¨úá'Lô±ÏÂ/—øûxj° `äv£·±(/xÎŽÀhéúH�Šn]Mš½4uÛb1øW1îŒ÷žðÿ°w‚Ѷw( @<¿û 7= à믥$zo ¸~Mz^—A€ÁÁþ'BÇ¥••^mõ°·´Äx@­;q®Nósñ„Øcÿjäÿq2ñ®õå‹v´ÜŒ›BPæ±µÕdP­Î¯�.DÈ–ÖÃŽ7ê…¾¢ÆH_ œËrÁÖfÚ¬ŽPÑð¸ÛØžýžý«RÖ÷KÚ’ñÈ{­­�…»‹ë›lÏf!@¯ f’Ôéw‚h=!FU’d3Ý+¤SéU½ª“é‰0”A -¹þrØ��¥ó蝹%IÒ>þæód9aûmÝö°=c - /n¤Ùi·_¨Å±_i£#Åh“âuÉj³:Yµ™ëZØ›¶!>(�nöXå@7õXin}ë3å¥Å‚æÉ©ÏCqSöÓJ¿¤ÿd�|o”«Ï<âEÊHGóÖõrÅYm°@°Š¢sÂ6¾èü ¨yõk««8t„‘wVÅ÷%°’sEO2©{Œ>jG -å/ zJ'ƒÃÁ…pÙ8_%¡¶±¹Î TJ³Q£.à¦×ëÕ5AöðnX×·$=×Þ®Ôÿ趬g{wl>È‚þÏ9rôP#Š?•lýTÇ ½·mÖ�D¾)1í²Z®Ì—Jóèùªá¿4Wú þ¡€þïhŽ-éC´ÐDæPì’.ªÕgT¯³!ο�ÄéßýÁœ¦ -†‘½Ù ÀŽºÁë>:Ñ?÷9õ�ôWï±ÀËÃ7�¾n˜ø0€þ©+~±‰÷ê1G·3±¨ …4ë›W_ó¸dPº/¯ àÓYü;3úŸæé߀§^ó`P2&Oz·MœÉk>äË5ñC|,±„ü@œpÊÃ’¸¾ -N€ @X@ºúf„Go¶„!€à Û¿ü’àÄëht ß«rÄ—žß}§ÀûÍg›ú„z¿zêíëÜ``À¤¢xãMtEýýàY×}¦v4â[ÃØ åâó}s€@pÍÀ(€ýûkâÅŒÞcÒ?Ÿ�€¼1ãÞ‘D–럮 ˆs»ëÁ°÷¥ö17àp©vÈ‘y·öþ׃ÁÉ ö´§8a÷zP÷kzÕ~·|—ø[]ê­,-=­ÕâJœ²,X¯FÌ,’ž©*UúS¡»ÚE¿(1àdpr„ ; Ð`h]Ïì÷=v£¾�.lç¯ÓH¥ƒ 3®Þ„^Rã):s¼C½"8eÿ‹ -[ç,!n’Ô)Ù\'A˰ø·UÒ£c6Qm§ùÙhx6:S˜!»©æ§gãj[/2áˆeÄ ®mbÞÙuýÇDåÙjµ± ¾ºÎ.®è.¶UÉÝ;¬ìy3Ý.{W •»gP'J\~ÚR›Mÿ«¶óñNqz!i×?—Ãgz@Wx¯Ï°Pµ|nœàV ÿ,4@@Tüˆ?‹¾’`ë+>¸jP/S ·ù½Ù@ýÉJØŒtÒpà‡Y‚Ô¢>\ò°lÂñã×(wüxÀ{­pÍpáÐVªðº@�»cPÊnöМ˜³uþb À;} §E!PÚÔ†£»ê kõº`R•—fØÀF†ΙvaçéŠ@(Ü×|T/Üu¦Þä–~ë,€¢;¤.zÓ,€× €+>Lö½°\üñewÀâxúgWAý_š oP¼öW¿feµ£Á‰¸ò�Ôÿƒòø÷�ÿ⼃ƒÃ¯Y@{ú«ÁµáïÂøUV{ú™$88ê÷˜ýíX̯»_wŽžIDè‚ Öøxº»ºÔe+%D�.±÷ÛêÊ’XgÚøx'£!$ÕÊšø®ë’6ŸeÕä¹€5®×+íö“Dª–\ŒÄ²Ü=­¾Å? ¨# ]#"C�?¥)‰›f60l¨P¥¶Uª’)à÷R}@�–¾n×ò-vÕUËSm«tÎÆÛõDà?_­²-Ð^:²;žW†gÍ Q\Í…Ð; Ÿ�‡CÔ·ËÆùrTOšÙÙùËq®ÂÂÒÒÑïnÝ*ÍGIZÿ;oõóíè;Á{ô¶Ã=.a‡3Å"R¦ÒÎn%ò€þ˜ JwÔâÊ�[ã‘å$[(37±%™ ñqSQæÞHcôOÙ¨�l#ü^Ý$‹¾ŸªH)'Þ1Yth+nÌÎÌÙAwQç8íd�ݨ»Ô?ì÷ûÞ0ì -IÒ´îß}Úï±À€©þ5¨gGûxIÚ”­l)%RÓ¸*Lm°“ëD—ןjÐßfQe^™b\Ø.~Ùd¤t×ÎÌÄÇç’á“BzàÞ¬§Øc\?UKðÉ|ÄCgy%É‘9EIÂÔKÕª51UÜYu§[[�ÜÊ¥FŒÏÅFpš0MÖÀ ðKÀ\C {’Éæ&ÓK¯GÿÙ²ZšG,Uf•eâSŒÜž›øø_ú„¯âdz��0ò݆f•)xÙ{Y”j�¿Ë øÍ³¦>�»ïÔý×-¯ïPÚÄ{õmtgj Þ4u×`Äf­±Öx“ÀS€ça€kŠ%¯ sžÞî@*ôrÐF—¹íç®YÐ-nXàKû@.NdÑ¿­@È'œòð_îànôš`o2 @™ÑíPP: »ÉÀé×-=_XújEñF½î2é=„ o»äðöY�n8*œTÔU À[×H‹Î|‰Þ0 àŠ@xïC ×|XÇc: Í^ðn[ÿ¥ãÉgbðáÅ:HøÙñUÛ<Ÿ<;ÂqåßB@ ©öpߣ£ƒgGâÙè`<ïŽ -‡/1w±i ‡Gû=¤€ÞÒR×… Ô°÷úö„Gå›8ô¥ï{¶€¯­Ü— ê)kqšW«ÇÇ{Iô1ºø´"upÎâ;IRY‹¢ê}bPjFvÅgT[Ø`J•˜KC/ž…\·nSð UN€âcIº™åqivnöG¥y0mOí¨h¡¡5{n™ð_Ò ÅXBÔ+вm'9#úx¶ª(3Zçfú"žÏÖ$·þ,¢åž!R3¯;´eQþ¤ò ƒç/Ù°&?ÍZì÷#&…‘§ÜˆÓã‹ôv½.)!Ùɤ©ª‹ï˜#1oÒÕ0_]´�Ùº±¦vS–˜ÙØÊ[­M&l¬·Òùt( ÿ<[›�ò³!0™·mûÎvޱ$¹Ä��äìlX”€ð',ûÐÊ3·æî4Ô1Ô¶Zý½NZy”÷i"µýÚÊÒÒ�íì¯6æŸè/ù‰’ñZ€ÚM¯‹´`‰�Õ6$èV1ât£  è[—Ii o»2ÕQåã—–ËCÉ3eçìj¾óª¸�ê\O á`á†{¿;¿Ø �•ä[¯„NäΩìiB:¤ÒZ¤œKë/=ô“…ÅFùžû¯‰‘@/ð€ÝC=Nˆ3 ³xSâ —3 -¤T86Ŧ^9™¼ëÊEÀßý�ƒÊ.>7ÎàW?ê7Xh><®Çü£ÂD[~×,€ÇËð€¾xöÍ>ÓY�ttÕ !ÜŠ¥iÊ‚}º†gçJ !*Od‹„¡Ž®Cûœ‘9u.ÅK(½]_~�~ùy_pÏá÷~ ‘ámë¨~I#c’wÅöº€²ë¦ýC|œ`×QQQ—-ÔÓe 9ã@õgLÖ¸äPÄ¥ØB# ©½ê0>iïX ̸æàÐ!¿ãKI‘ïå0i|ÎÔ|Šu\Q{�Š®|‰^·€ú‚üÖx€Üý7±þ‡s$g:¹b›Ån»µg'݃¿g Tw1^8¯8müï߀ƒÁÑ Çý¨ø"X2Š»¢’övtÂrbîèóbÔýþø²Ï@·/UP�Û÷»Ë>?ð{OåÚï÷0� ûÂÿ¿¾¿tuµLŸ”“­UÖÒ¤R‰"Of/H�‰ ãJ¥™æysù�š¿Yc¢‡ç…G2Ä ±‰^�–„H«µ3UÝ—“®¬†™%Õ¬1OéÇBµRüi¨ÜÐÐ|¤_‹ØküÑ^†…ë¡tó4ó¬ûðÆ<­þ6ž�)ãe¯¿l­ê´ÑVÜô€ÜŠ&Ã�<­ŒòäA’þñ+†t‡¨(ƒŸœ�ýñÕÙøü¹ z4~ÒlWèÕõhM�Å#Ól¨&ï^Ú§U‰¨~Õæ–~ÑÓïah”7ÒÖ:󕢯vöÇqÞ¨ÆÙ(wד„~–)¿¨?¨ÔñäøQ²“lw^ªó;™¶hPÂÂ5¥Kÿåò­[åôe®r’‡¹ ú†ü<=èuWØ"Ð�õ{]<„ýO™ï¯C5Úa¯×?¢ émŠÙûÙjac‚n²P!×IU¥1�¤¼ ¡9ªÎ6âÖÖÙ¤�CÍC4.èkœÖ“s݇å„,š$à!ß…»:?W:�;ÃÔOU§þ'“-¤§cZr¨%i•çñbcQ_ªÊ;åB÷·>ÌÖ‡o¦¹Eñ·ðš�⿈˜*Øl”J[ªƒ; LÿgzÿûÓ_�ïú`YDïœкÑ~É}‡€T�7û³ -`™0a}ñNݳ½µåNko¢,óv#:øÊ<Î�µ…ªdZqc ¿J‘˜-\XL³Tâ�A—Ö¸4   ¯à�*OïéàLq[¡8Q,ß²VêZ £4‰îßz€�/N8åa[<PT”ë´âð>{\³Ø °ðPD0,ÈmRQï²è™€üï¶p?�ÞCÈð¶÷ö˜T”¢T§uaë¼aÀ Ú?tã,€‡o™pÍaÞV”†?ø ýs0Aü©IÀð¸DÂÿÕ••ýg‚~¡÷ÑààÙƒúž‰×˜÷þþï¥ÿë’$¡µÉ�?{ðGý“`5à ýO–j‡¿>P|Gý¥îàp0`˜ƒîª^¹TëIŃ©÷?ù™'‚õ�ökì*¿´D®�ÿ†×zEøJ wˤÎÕÔ%Äi[5ÕN*Ë…ÖÀìË݈·>kx?>ñN\Ù9{W‹’ÒŒŽ'‘ÁU*¼l ;÷Ó¸‚_{*}º±�å•݉ì,Bø“ÛjIÿ•ðB -ÎNð�ƒ›òî¦ Øï�·²tþÓq¼Vúp�ˆÓÝê|Cpâ!™¨!´8K4,]·+ù7iÕÛçô6‘Þ´Õ*æÚÏÝml�;/‡£³³óqž�¿I£¿k·í* Z­VJvBW‘85ó´z|šµ„Bá¥>€.×y¬Þ˜>mT’oÒJ4:”Ù‡O©Ú˳d¹}|>>>>ÞÙŽž<¨×·ó³³_)�®�-Ì jxv+-¬Ï•Kó©zÂŒºSU•íö»+÷ŒI‡1d¼H-Gm‡M!&øß«2{”ÝEºÝI…o’l`àýú_Ai¼èÅ”Êõj)i6²/Î\Æ6½˜¨Jú19BÑ_NÆ…=_�$°@•…Ô÷}ŸzØ€‡\9C ýnI¢fÔ¤Z'«¢þ1y½¥ùYÕãÂâb¬n­þ+¬f v�ýß ,,²Ð"n¯D'™+Ñ>Êw¼¶ HñÜfµ§É?Sø¹tñâ@9~÷Ìðè©}¶_©\TPæÁ�Y«.PЪ‚f¸¬!«`fÁ¢ºôvîè’D„ð”“VFÝÇÒ/B`6EyMLU¢3Wøo ˆ|º pelœ›ôY— -œ$œòc Àûø„辿/KдÓ××ÀfÁ –ôÿ?€›WüÁ³&>öÖÔ­ðL¯„¹i8ºë>J­Ñ8Þêð†½ Á;÷ø7] èÆ×ˆNª®wÝ Qf‡7Y®ø(†Ûåu¯ë€=€üèƒ@§Å!ß¾yE_^Á ÿDªÿ3ÁøÉàˆyü­Éëþ�n¡þïž=fÍ?¸0_¸ÿÿ»lÙ.ÎÜãŸðõýAw‰5ÛXùÿpuô&è á<ýXÛeó_ ý7VæïàUn�9ÎâúO«‚yñV×` qævTYŽvTI�Ôþ�Óêlj©ðxoHÕb•›8¥hâ]u½(ÇXËÎÙ�‰Æ¹jqﻳ¯ò_¦Íju¾ÒØU¥ëéÆs·Ê�u±×qA¨Šêûb­ü4�×Ö -ÍßÞˆ±êuf‡k�‘’UJ–JU%M´EÞï‹4žÎ™Z!ÍD Y8�“JÆ5úÍ¢Yh°rl#–ÔŒ¼ºÇš,zPOþ9Ë�•挑ÅÛŒ˜+U«kMåsyÄLwf³«m¦»6•×”ŒÆü\yq=ÞZ�磤Ò�”.÷e&'·3e-o¿xu|ÜÞ®‹�‹¡qÛÝ­˜[ RVŒ‚ 7�èËñïm¸ˆ·sÊ ¾œvÙ)˜ºÆæcxïî?}*é�‚jûl0„êvDPÀ™„�Kôº €Îxõ/KGJ'Ü$fUüòÂBcýÓj)mDÞÜ�Ô­HnKÝØç㌕".H÷Ä<ȳWƒÈ`n(½µÍ‹"¤>qW¡öE€5èÿâ+ -»õ�OË%ð_ÚÿBy‘¹˜ÁÀÖ=…@rÀh®±IÂ'´ÉðËgDlÌF\*m°¶0±�G§/¬ “�)ü\ºxq@ |; Em‡5ý ×€¸Ï©T–j2ÿ {\X^Û  Ó -¾åb™ÖÅA�çú²°Ö¨®-T-ˆ±ÿ bBµM?ч ú"€K½Ð³œ8'!aÎÓÛ}‚œ©KdË·ýÜ…bùfåÊyƒ\ ¡Ð_óà²kâ‡ø8ê nÇ §<Ì{E7û¼Ï^o÷@¬©äÅGÔº%’QÜâ2‘ÎÅgîpk½Ô°õ®ÁÀ[}nœàÐ{8àmzñ[Ö¸ä`¸ç†£âÁ›,¬0­¨ *úðMtã,€-Axmñ ŠI­›YVúÎ’ÿ… ÀÍ©dpYèvÅ�…½'Òý™‘½ðìÙ>ùH y·'Ì?Ñ¿. $ ¼êoœ5z+¼Y"&-íŒýÛ‘ÄÞYäŸo‰+µ#]ÿ÷Ù@î>[Åó(BÈ„НÛ] ÝÐkÛªyF•j"ˆƒ -Þ-jå*pÀ×5+èËÒdù§* -ÇÓ‰Cè$ Â!O}7`¤hž-y^µ6Ê…Òžê?ú­X+K¸ -ÖbvßÛ-¸¿—U»~1:Ë7½8BÒdÙዦÍ-lJ¶(;ÒYúi¤×¦q©ª„ –Ä• ´ ŽD”4ô@z§â­Xšž'&¨Ââì|ÄžþeI]|’ü+Åñ–ši'Ëql?Ïž§X¢zµU± (L;¥3¥ÑzèbåY¡vÑ1é.ƒÖ[ 5oIœP‚ÛQ}¤n¦Ë«DÉn>e�f‹îé¢ô€:›Ù(‹›­ñ÷ÿ8Î«é· -e�wk#H+žÀ®qµ.I�H’ý>[O°ÝÓß#Oª û¯õˆÒÚÊ„®H -GR^£Ào²Öæ¢$kµƒF#i|ÜVz÷Òq`vb,¸š¨¨Þa@žRžáéO„gL>@9C¯ÒŠd†€û…êOɪÖú2f ÿ14ʳ 6šô€ªÍ «ÏÝšû`.(Öÿo–n·Ø=ŠÈ l©¡1-uq£1[^W“—f¾pûÎm$cýûS‘¿·QÆ:€fÔ0Ñwøˆßhòƒó�š½è�³+Ãm}ñìÛ×À¿—U©þµµ)üÛ  ºŠà["éÿ ÂûIPqÑ{œÿ!@ÁQÁ(l¼DJ�aØ©sΜ8§ä=ö êjQøÖo!2°@1 à†u¼ö#oõМ˜³u¾ìüê¦Ýø,€™™gggK3.hñÑŸÀ…fÃɽò¢xÙ¦þ×Õ™˜ó")Wg‹xô.4JÝwÝ ’XUÂ:$&_›t‘Y_ev¦43[z|ÉYÃä4¦*êŠ@¨’ÿ†u®Ì€Á¾yauú›f4ª}€›f¼¶À…àbŒú÷qE1qèÓ€þ|]À�tÿ°w$hŠ9ÛMÝÚþàäd0x&T?tì(P/|0àÃõèþ!+ûâû¦çûì·Ú=<éwŸöŸv—ºlïƒVïÿøÇR õ, -ŸÈ^ãz4ó´2Õ-†û’@ •G•<¥<¼&î€?®jਾ“ÆUµŠ�5Vïܹ3ww�½›UïçÍ*³»_êl”�N½Ä[T—®¬xˆ‹ÕUYvoN}kN!©[u%^ª ê'ÉÎNs­4ÛËãé«d×8A1IÍâJœá›/@ÒÉ1€ÁbŽÅ¯Ôbl8�*Ù9æíj&àqê0ôÛ€ÓSç‹›g¶9]½�ï<°™Š"cÍ[ƒ×YšŸç’ô�1>;þ›åz½:?[š-ÍW×g�{³3s33¥Æ0ÞX\d^CÚÂ2 d§Û“`1IÓz4zŒ@T·›ª«êšzé.0c˜zøÝYÖlJvIÛA`SŸÊZ[‚>f Ø@›ë¨ë}{†Ä¥‰Ž‡¬9-I±x!€^H//$< ¯‘jR|WìÊ–n4>�J±dq'd'#¼-“¾ÀUÒy¶¯Ÿ’yCàºæ†\ßÐ9ZEG¼C(EA:B°›¾Ú€~Ôž‚çÿ:>ªÅ¢yZžCñö@pxüã –Æ Äáp>íð<ÖÙg8n”Êȼ÷J €„ EíE~ß›\Yoû„~@~i˜ïex¿½¾zÛ,€P#º…$ÌÎWg?Ä•[)ŸU÷qSÊùœõŸc\½ðøàZçcv³˜7N"†E=T+�°¬—ðˆÖ¥Ye…–@q†È]T³Žã® -éŽ�n¦gØð†Y*ªk€ÛÔ—Â`˜ÎóPÏ—~<€S�q~!ÿŸ -~ÍR»ƒƒ¶úþ³-/—j_Žø³ Ï¯Ÿu™Þg"Žšþ¼C@_am9° -0¾}pó�wt—Þÿ´‹º§âvþÎ<±ZÀý¾à_|Ó3ñ7Ò­Gkó�8y÷`�„š ŒÄ®ØÝ#Å´µ©äÄm2Q‰ ôh–V$€#¤ÖžŸ?o{–»þ$ýfL\¡ Å´ŽuÔ´[s›±x\K DPšµ³íz½RO’zµ1,^ìˆh™ú7\Š÷v*QFÞ"ñq)Z—¸*|Þ1PMžêþ�a¶\þ#»çlg+¾Ñ‘¤Ÿ¡Lb` ,Ó#<žÍ“e *´^]B83È]IKÃÑyt>ÚKs¨èåz MK33?ªF‹.²)€žóL3(I—£¶Þ…7€eˆ”ø¢�ñ°ï3÷ô¥DXàÃPOXzÊ1 -+„G· «¡HÊUC �àUªEêÕÔ»­ -›–$HRËbúpXeò ŸBûÔ€>Ë÷”¶OÛÔW̳ܢ­WK$¹W èÿá‡Î -£�ÝUÉV'g¥ò‚€àSÆoñæ*,R /[èZzò²@Ü:Š€…·øãMVS å�²Z¿”nèHÄ2­Š_¾ïZJˆ¥ƒëOã¿ðX@Õò¡ŠZYšý@À}ÿgf�Àù®Šõ‡X(jaýÛVtÓ˜ZÅe€é<Ž•"Ÿø2‡w.,þÕQ×™øwPóöëÝîꪾ$œìžo‘€£gϵ%³aüõ¯Pì{ÿaÒ�¢¿±€@ÿP<�A‚AoiE¬_Áû}€^½ÚGÿ×]Uˆ1HúÌâ¦Ä¯ÒZ̲s4à ZRB³fµÉ–¸"ÆF©v7_PRÕòP…Ö` UÅßD”Tó׳Y¶ì öÛ©_š|½Z—V8>{’ïÁgxƒ_„ß`¹lFÜÝ|'‘ ôÄ2; eÇi£Ôfû×·�¬øÓdE[[Y»ÑÈ8±ÆœTãG -~�…ïåvOóaV�ò3…®$as^“²·APgB�—üÀ$ææ?â-°,ž¬È”Ébb"Å¡_Ñ®M€µ²á¨ž³ø}úé§–\X�X†�Fž -L6˜×@h=�›DÚö¦·»ÇuI¾.nÎH‰¸giI1,ÐÇÕõ…´ìW3<Ÿ¦ê¤†+°”k�ÖË&4Ö™ïQ»¿‚uŸ¶æÝ€$ â vÖç6kþÐ~ú½ÚŠÄHƤ%\µ¨uM$'êu’.ß’ü±Ù¸Ë„!oºNº„Bª×]Òh2Þ¤¯2ªv'b@ÅTÅh! \p£›çiE­IMP"jº3™@}0`€HŠÚ“ºäZ„ - @$¦ -ï Ÿ7›Ô’Ó]ó+¸V!W¸¥a`Gâ¼c8a  ,0Þûö�šƒJâ ƒÜ_ä ‹!ßH7ûüð½\´åR ]ÐâuàS‘á�߀¡ÝNB5áàïœ þ²Ö÷ןc%.A€¸ÿhBC䈿bÀU€ ô/Rlë”{ªª9O �0|±üF(D‘]XæuÅ©##¢mt‡_`§„‚?]�×3:!ö9 a¡HèñΞ"˜Åà@!sjdnTÁ wÙ û~ÇG… ¢- J:*ûO+©z˜ô)n¥œ¨Cnõ¥ 4àÿ̇]XLOMA&;Ùg*.,´î†Ø®A á '>l°+¶˜Ñ ‘W&caðzj@´’J Ž:Ÿ…m2¯v¾æ�ø>�—šª4Ê)XîQúU†0»(ZêC’³{ÝÝòÆ[-oØ @¥ãöð €SNùñÞë>¨/•o±€q? ÿü‡_÷½ ÀþëD¼õëDJÿÑ>ÿ1ðìDàoþ‹  ÂH8x& ? àþ„×ö»ô{^¸Ï‹Šü÷„1vaÀèÏ3+KÌÓÙJï¨ßûYíhÐÿ ^ÒT$Ý•Jq¦Š¥¢tGš®˜†Tõ¦4ë°xçz§T>,þ¦ô)¨,ZO -ì©^ýÛ4CãËõæN;c¥ß<¯æâY˜Ú¡-,Jå…¹™XÚsgx~ž%Íú²'ÙZic¶¬({ÀZA`=/õõ¼Y b…¾Ò¨�a"¥*/X"”¬Úd†Óª¹…øE‡�ÍuZê“䇞|gÁ�MD±ÅDàr+YY¯$!týŠÓŠ(¦­´u6ªuÄ¤ÛØKDiu^¹‰«•ªQŠ­ëXuHB -E¡Ô-o‹­¦ÒçŠ$$ö1S2bôºPæº  Ýjµ¾êtþ1ßN”ª(ÉÇùžb³í‰1•ÏX€HZ}_ gi¿‡€ä�Z÷¨†+£dÆ•ÞÉѯO޼0õÉUÀ…à½N-FTp,ßa h½±Å@(öf|á°A©„à ®,x`Y�¡I¤­Ñ°£úáH1ò!?–u²ÎCÁU¨û‚ÐÏ¦ç—æ¤bPrfQd&>lX4#5ÀsóEot, ²ÒVÑDÿ‡¦€†: -1Ã$mŽAðb€?äs¡éßø êÿÒÆi£jœÑ:ᮨ°„aØ‹½\ª�\*ˆ1Z€uûŽîq>™ØXû‰´Ù,ö$à<üý€ý—�k_fÄbóÖÖ.é*2‡à’€âˆòyI¹Ã`P{ç%›Iö©Ðÿ°Ô8ìg¥}ê2G°ò€7€k„£Ý¿7µ€yóD"!s~¾ôáu ÆW‘t÷ÂP�©�Ñ€ |P~Ì&Á€¨òq—é:vúf‰ƒ–Ž`’å`°àu €Ç¿­€O›Áƒ*G´xÉðY¼Å“¶À]t-À„H‘O,.[œñ9,ê-Bõ¦Í¢\í|w¢‚XǰüpY%/r^ @!€yfaQ�!þbEîÛ*’·[nÞ €u8¤Õ]·¼¶À €ÞÚœü7Ñü‘î•>žXþà:±IßV|¶ZJïÿý‘d�ÁѳýAWðŽõ_¤“aá?è.=u ˜óW¤ì÷™³UÌ´9ŸhõÕ—\ ®Ž±ÀêýÕ})üìø÷ãû÷—ÖÃýÚÒÓ§ÆF3“ÍõM®Ç¤ *Jö\%Y®&…ú/¢ÊÕ@ÔlUsŒÛß¡I@ºewi5pS¶¶µY©·µ�³ æW9ÿ|›á�0†³•ÜÜL9�O�w")þ¶€ÑÄô(‘ÎÕa—7%Ð7ûƒ£¾zå(­Šiê–R‘Eó‰nNßRd0aÀ°]©çàkŠe ˆÕŠ‘ì}Ù’îªæ*U[­Äòo ÈÏÛQžnˆ÷[Vv"‚~È'ü³pò(«+§¨ã��-–¤›§¥(ß’ˆ#A@ b+-´dÊÔ#%í¤’åíåf˜ ãž'(‹×*dN±¸¸`�³,µFþ«áï÷¶Ç¯Î�%(â|kcñîâ"~ cÄKýÚJmEBÍF¢ã'p‘<€ý_š¾‰ÇÊáÁ³“_Ø€#ÀM6'êujeøT(³ë 4?�³¦d–�·˜½–°Ì;dW�ò�zò<+\¯Ü0t±óÒÊ«X;UÜAUT’´»<õBKºÁDfxå�NÂx íÏ#õÒbªR_ -y^2™�ùèÆ3�û¨/O̯Óe±¬fLýœØMaÜ\JóR ±ò¬ -aVA™õýÞû#èBÓ¿é# W¶±‚¼§àæu -ñ)„eÒäÿ öp©N‰ÆXþ&ÿ+€à¨cX°0 à«H Ô²>€Š 3��‹ýÎÃå lW©ê„‘ÈË>ý¦þô¯Hu Qmæ²@ª‚Œ›hÏÂ[X=º\Ò£ÿ…÷°þÏ ‚l(@§°X•öTRÌß››°×Iã% €}ˆ\HÆm‘´ tƒ [ëNRþ•-¥€{Õµë€{¬e©¤nò›ÃK‘ž -9Õ7Jÿ…À>A˜X(V¬ê>Òþ×%bD[: >wÔ™£RÃÍn,øøä²@òG©ŒàÜlé#•ŽJÛ‘7)¬E[ÔIí®»zÀµ®g«Id € -ƒ<“—C¶ºPÒ ¦‘ƒŽ„.õÁ[wÞápã,,Š_é}xarEu³ |ÿäà߀oÈŸÒÀÄ0ÿ¯õ>yúT<µÇ>?ƒC©b]©ô'‡‡ýž×ý•ê/Ðì‹ 39Pÿûa‡WIâà -)ä¯a.€0iÝÝïþ¦MXˆµõÐjmui‰–$hô=WÀµ(BøÏ2ÉŠó(ñïBE‰I³×oÓ.«Tœ¾‘Q2UÃýï`Ráø¯" ‡q,TÈÒíè§Ë•úv”$©X|D/ËÒQs‡Ikðí-w ÅFYIðÆ2ñNÚö؆{¶Çé|‰ÙyNXº‰Õ]WÍ«¶âŸÓ<ÑyY«8CåOm¥QµöÐáKš¨® -Ãa»£|§åìðóhey’œn·'剔Cûx/ÈÔqÊc;ÛjHÔfË’ ×ÛP"BU5)y­³,ÊØ—UTá,<©Î õHžÇÕùj,a@\f;;’¥íʱ€ÀƒCå@-¯{$YDqH0Ř�€Ãðì,aYýÑø?¦{5áö.%œZ¤{O÷k¬ „Ðï®ôûÈ‚^BB¦Z Ô­õVÙ!ðßý @-é² ç’·/Ñ' `q}c#�¦CÁõR_“”"Zåi}×n†Œ3 ýg�,AK�µã_�¦_x!‚ìí%*A®Ø‰˜1€lÈ�’$ö^D•‘¢~Gisž»õWÆ}ϸ}ÝiBwÅ‹ÖÎ.ë @å© - ʸ1[®®›OX˜»gXüa€Û·C.ßö‘úŸ²m0ô­ [”84± 7þ·îÀtþ+C0Ïæ L0ò_Ââ'€Ã™x«Ç÷ ˆ€€’< PŒƒ°9-0‡‚]„½ Vtá\Þ €Ë ÿêsap;€óÛ –1' H±ÀyóS…`jÁ”YÐжöÏ¿Û03WŽ< -ÙÀf‘]XÌMy—-�¦€Ò� @0ˆà}Jº,Èl½Ç€H2‹î -xM-ŠS_ÿƒ@ðû›X\ 2E,:¸f¸ä@oSŒÁ ò|Û €_²ø5³³ …à|¨¤ ‹Ê솄­X�º«twQ}k##˶zP¶(CôÔPQ1ÿƒ063ã~ün ÀM³~Ð^\XDSˆ/d~ÂÉô(ܲpYÿÊÈ+K³± ï W{ÆFþLÅFÀ›OLwÿÀžÿ’„ÿƒƒ�Dý_Æ3e�aÖ$$ÿhrµ^\5<Ó !£v¥Æ:ÿ–þúþŠ”»~Oê¿IÜ¢Óúò|·Z*™¹1¥NµíUϱÒF•( -©˜+Ť=� ¾¶ïÞ•Dõ”#GxN=�% vlßü ³ÛÅÉàSbBb-©×ÖkD!» 5¶¹Í”"é¼lú+m{~.�w«³�ÌmÏéˆS5$R%>è(H5‹Gž,{®N­Çø7CŽ`wã|í� 13óÄ,Ë›ÉØl®Óꌶ°b0ŽÒb˜@—èy¶“䬧ÌÓ€Þ¢?Rɱ ÀY�l*¥¬ƒ©{•ÖZH/’ƒ³4Vk¦“„ý�‚ì¨Ô–¿I¤‡¨„qˆ ~ú°Øx(»-™ 6>üÝÙ:ÍW:Ê:ù¹g l ÿ«C–E»5~Ðô½Y$µþþ3I )!Q®ö�ž={ÆnÔ àš À€Sõ:ížåž®œnÜÅ/ ‰'šGyf«@D€f̣֜(JÉÔÉê;ÔB€™–ÕÛ  }bÈZÓiêM•z%@— ¾'„4©Æ öÁ,ãjIŒLuþß»džÊÜÜíY© -…À7ŠªùF5$sŽ*PIÇî"^ PÜ -ƒ«ô$f¿H’¸åM†ÞŸ>øàuŠ7&Û쾯àýöP)âðß²E`^".¹¨¥¡"0¶? Á)�o'�•1ñ{ �6‹ �p+ L,DYµ¾ûN(„o8S®rëÒ‡?]½ð1‚@ì^íäQo À¥Y%ÄÍãøãú2ܨ£v2£xðPøØ>Æ bNBQ"�‹YöPt ¹©ó3µ<ªþè÷K—,öP‰`PzÀ(,̰€÷_¶�[}é[‰/,ö¸bp(µÁ€¶7ô``œÑ®Wj„Øšú(ˆú^Å>�ÀÌœ%ŒL-é9fΊ-‰³zœŽ•8_ó¸u‘o=N–…þÊðZ(ü©@UpaPÚÉ3ÕÄ1ñÝy‡À�³~À^ð ê‹•Uéþˆ/§¿ÓëáàŠþï1z+l—u(õ‡Gû+µ°-î�ø(ˆþñì…ñ\DlüÜéì{¥_lpx¦uIë÷Lÿ¾ä <W¥.À_ë[hÐï¬S=}<|5NÖª¸~ -<¬;úFš¾È›Õ(ÖU[øq{uÓn,Ä­õòDª²%ä‚8–þ¼¯•ç+Ì…�“ãÜcÁâIæè"1“웪„$Á-¶ÈÏ[b³ó%6W�«ÆíçzÄÌG$žÃ©P³1» @iS#ÿòæ -¦£Ï‚,*ÚLÇ�*–©6+.WiÏûûfmçG3å•úoI�#æÉ[¢ÔË\Š�t^’Ç efAH{§°Lý÷¶Û,IÀl·u½›³’`A|È¢Š˜¶ö^¥I.ûFÖnFÕ�ͶéJ’QØÈHòÊ8l`·o*’,KÚõQ�ÿ"¢·Ø•悳Ùy Fmx3mIÿÿ‡—ÿ˜d/Á¥|ôeWæË‹)ÒØ†¤ ¿=~t FA»©-ÙDmˆÖ!�bèIòÁѳF À"S4è1I‚ÔûÏÎG[X %ó|Ö¨XÐÛõ!Hº …` b€ðß3•Åñô¨®‡¹ð@u£ú dí ¡Ð'ÿM#tÓ�ÙK [êar*.k2ôíV-²Pœv�ò "€x_¼ñi$!`=Þhþž¾ ‰`ð.°Tóqü?„Àï7PÙƒ(`ú ×€üüÔ€%•þò½ -}þšàbá Àÿ+‡gƬœá}Ÿá±›Û‡^·l jñ~[€3ø0ž^W^(*f°|°„“à`è³ þ}AR^/[ðUÑ~³8‚í ¹˜ �¯x -Òãû¢+³ÀµÂÀ`ÄUÉèäE7ñ¸lXúð uêð¨<#žæªözy€Ò2ñ°@ù¸ê€\€èrÕ <n°ÌxÔ[4õ�|Ë,À¾°,F¥*üÍÌéãê,€ÀÉDŠ{êPšûh*8ú+,>ÛÚR/”üB×»Lwø4Ž…ÿå @¨�K>Î3b_X˜À,€õ> øpxÉ B¦á]÷�îp±@0ÿ[Ãç+Ⱦà%ø™ˆ.ëÿ,Ëðß›°ôöOŽ„áVä»KbÎbÏœ‰–( Pgñ¾ÞþÑ!¨®�À ÀÐØ>©íK8è úúCc¨WÔ¯--­ø—îÿXß?þëû«=êßte6J“µ(³ˆ×Õ*7ØüL”Žò¤úÓD !øÑëŠþU�0A·ŽFÜʶñ3*š;jÌ"À¸4ÏB8&¯, -+eˆ€Œª+ZEµ•fCœâªÕÙÙH]‚8AõtǸ,~ƒð!‡Æ6W–ÀŒ‘¹ÐnLB]_Ï�XÕb“$ªW>öj½"RÓÎóSï);/cþ× `ŸÂü,Õ³‘x&ã�±—P&‚ÀÔPi“Òê `;J?e+Ãu ØUŠ;ã$í�EŸ’ÀÈB=„‰ÅK.³ÞŽ2”î쨤¾i/'^š`²‰!U�”¤C|4ËñzyN2Wyƒ¹†¿{ù2ÛÎÏ‚·Á$OãªÚwÚ¢gò`€‰“5$�YˆT»ý%"ÖV»µUµ›ƒ“ƒ© ø@hZ©ìn¤ÎhÌ€¼’¸¸(ž$¬”†l'@#S€ZÚÍ�ÜOiä…€Pr©Œ0°›žz–f‡=.ê—ÌHy»"¹ -Y³„#ReP!:e§`¢Š?½7랊–£¿»…»ýÞð/n -ä TXDMô¡F$üW¼nüºUš·—ˆHÑz�aq†h¸ýç?‡ÿoþ`P{ÑO€î¿t"÷9å[¥øß°@±„Ï$H÷•�@ñOôBy…Uþ“œ`ø—¦¨p“Æ�~*dváëœ{‘;ƵKT­†Ítù'�†}t‘Óïð Á >~ëKj0ü½GÍFeyá ·O,À�c`Ýw=`3€ÀÀ¿Š"X£\Ñ?ˆ¡¿àþ»DÞéÀ�^/ÉCw’ª - @Pfï!ˆèYAi#U̘»[Xnôà úðËuf½Pa0Z¾,^€N”Ò—¦>âYp]T÷&•…€zÚ%„ €0 @Ÿ‰0±,J->öÒñ|/Æy™î(†;á¿þlPn¶8fÀ_ÑüûÃL‚¿`À{œ¢»jüýK#þô<Ü ‡Jú­«ú¿�ÿ"VdYÝ?Ñ‘ø-jü^{K]œú{ûÒ“ÒãÑéŬWºý#´:7ð÷¼Iê?#½þáà ?æ3ÌÏ$/KÝUAÿÒÒÒ�ÿÝ�—B›Èè_ý=ZKŒ­tscQŠ-“ÓÅ3FR9ëÛõ:|²jT¢½6Ê ’];_ ;é]ð_-¥¬–|‡r¬"H¬{Kêw‚®~îUGQÝžd�"Õh…†š¦ëŒ*(I -Æz€0)—œ2·=-•‚mB¤6 dšhŸ–,Á»ŒÁY)ÖlÞ_¤´U—£ŸV–#)¢È;Y¶]5ƒ\â®èü�a= BÅñö$а½.�2¶3‰± v;;fU0t3QÜ…5WR6¥Qºs–ÁÙÜØÜWšícãZEI&鋊"®W¢xnâÚ°cÊh‰‘„Œ)IÌ€´ï®Ðì– þ·!k3±{²È%–"%H®2ú‡ÒQd=V‰D÷gŠÕ•¥ÕOz½OðA è¯Öƒ_ ý%üÚ€·§ÒßU €DßDM>þ,^¼[¾½�ÿÁFl„„€ �Ë—S3©9[ K¤œÄF_¾bÎ + ØŽÜnZÓ!€Âí‚8͇ÔpŠRå0H�ùÙÀ‚Mw¨O±þ�æÂH½uÿ7S¹ÑŒ?Wë‰9q­«y‡%`c£$nL¬A�ʧ(½à ?ÿëŸÿü¯n670O}A)<¸ÿ­Ö(|þ’½”yö¿ºQàB(ì5+晄ÓÜe¼ßwGSð6~ß»]S_ÕIaà‘Iaså Mõo/X]+¯Yý¿þQ@ÿH�Ÿú€€²®>Ä ÎlZŒ~XL|„A -<¼�Ç^³Ü«ñº -® ÀG×fLž¿É™R•Ö«àÕ´ú#[vb¸íY Ï;켩 oö@]Vð00c�žqÖ -½dS €¸Þz¤¾„­ë51XLá@WÓ5Ü­ ¢.ÍãÈŸ - äŒ_òø Fìp×ûŸ-ŠMa@Y yÅ x,èÔa³c†¨O,¢Û8þ>}¨èuäb6òSó�«>’®î8Ez'¥X(à¾×Ô ÖúøÖý_àìÃóÑɉ0}Õ×Ïa�ýüØä¿;]ŸQ² °_—0ï²´‹~l+ÐýÚáÑ‘®ôŠÅßÞÞ|×–þÚ€+ˆ?V³I±7ÓÏÙk#ÎOÍ/¶6t ‡iT©Ç Kë…ÚG›åÇl�6»o‰‘¤*5£åÌìœô"i¼ - Æ#C Ø‘™@5Š$xHf†`œd�fé0ˆã:¤ÒÌñ@{]·/ÚpHR Ã.YIh‰Xw/ÎÍÕ ®§IRÉvô-yf¹¾½üà›v[°þ$ÿöÕ«W<OÓfvÎJ€<1BžP™pÀT açY%Ë¥„«a0 p ý”Ï*kÅ‘TÕ<’ªJ?Q°ˆ…;3jU8$�‡½ë$Õ×¢6‰äÁã¬Xã[Áìêú‹ˆFiÒwyfF_ÒÀï^fM”=Ö6 -SñÒÍt]͸‘æ#�q´™buÚï -þW˜Â*AnŠº\[]í ˜g‚0üëÿëKix5ñÈgJ¨' H˜�³ 96‘|„`Rg¦ã¼ž¾T©¡û»²T€»oÔ  íêz¶ Öi—@3äÎÔI ÷%S�þ�õO™HÓ´š^¾æ¸ãà - -¦ðR'‘¶û©ÕP�ÿënøXÉJåx¡<5(ÒÛÌý@ Àüÿù_ÿõÏ`ëëä¡/ü_$ü Àu ·LŸò­rþËöh4šM$€›mœ›é‹mƒË`÷ô¶n­aN¸;µ ¾%HÀ ü6ä7æÁ,?Yû‰µ/8)°vAz‹ß#õ_iÑ#>æ†ÃM¾'‰Ð¹Ó‹ÀGAe4Ã×Ë`$vp×[P“á™ÂÙ  Ñ—-¤Æ¨£v‚€Á@:ªmÕpBµ0`¸@.YÊ7ø„Y žõ Ð1"±€1ª[·¤S]·��Ûw - €´a%ý²@ñåÔÿo´ý<‰[Ýfbƒ€O'ëHÀ·�Â>îg—,Šº4ë!€¹Ù¹K³Qg=àfi®¼8õ,|†àƒ¿ºÑ@Úö$ÃýͳBžUú³ÀÌGž€*úC,Å,€²À­Â ‘œ/þƒáy€_ÿ„KŠ˜ÿ[WôÿÿþK8HçÇ×�}}ûµû5cúAw -ízŽ/Dz¬ôÓ«ÞgEAñöÃ�ăîÉaÿð {¨°pná?o­²?\Íø/üu*:ΛÒì¬Ã´øVkkÝ€�¸ÕI¥˜³éoR�ÐÁà5…à* �¾heªæÆÆM\•ƒý¦a|-p¼ cû�á¸�<ø\zz5ŠÚ4.DÑ|•ìÖYÜ& —8ÜI§L$×{Ë3Ålƒ`î'IÄ&šìÐW?JŸO—†à¢zéörû|t<�Òãcm?IÄz¶%Dvv´{�ÛÅóÑÛ3ƒ½Á@QI\˜Ði»ž1€qÌ€®í�«U­˜µö:/nùÖÆÆæû–¤©µ¨2�ÇÅcC× Yñ R28ÎÓºÒãËÈ!B8 ñg’4Œk qÍIýL÷F�Îðì,>e*ÛápøSñ:©8‚d4±±THÚÚD <«v{½£^ ÀÊ}¯þR{ú”})‚±IBÀ¯/{õ.üTM7%‹oÍÝÁ!Nj@l>ÜSi‡ƒ F% v´Ò\xž -¨Ÿ ªƒáiÇ“1�>4ˆáÑyj‰”ÚåÜqb$‰£ÐäôÍFNÈo*‡ùÒºz/»•ç< }`k=ÚÀ[-wÙéYú�b‹]“u›8QÜ’¾¥yµýb…�;wçî`pôwnëïÝŸ¹¹?ýß¶ðGÎ^£É6Ȧ¿h¨ˆ`O°¼kÀµ½È9Øí0ûF À0íµ5ÃQq[Ð&¬—ô`ô×1ž!’u‰F’Ð>¸)BrhFyD§@€@ö¦¹xÝDÿ/Kÿ«k?ÑÍ€Öþ„·û¿ø~ã,|ŒËBQ,pwb(|¤#‹½AŒ`ðçè ð"á glõþh®üé{ûгuuÁ€GåK³&>È!—,²+>ö#àuJ%@@Ž‚€-s:=…À�§Ü�ûa€‹€ êûÂáÛ–×`(¦¢�ÏÎI‚ -YwÊæJ‚L[ÿY¼©h[úµh €zpê…T ÎÆåu”ö‰ JeP …,öQ°”%i¼Õpó:7¬èZR³¾¾À·UJä.; ï#°>èÿÅ…p1È÷>¾uEÿG­ŸêÿGìÝ϶ýLÿ´÷{µ¥š½û™Ú/. ³Ö³«zäh °ô1ü3üß“”Е4`_®ý•ÁÿÔ—tpÔ¯±è[xдº´Tï_ºO6ÂÔÎ4݉ªõJþŠýWP¹¶6$©­³’¾Ê^µ®ª• O6l óºTGþ•†ž6Jsê=³ª‘äpÄW†zÔ4_“gÅ”Dy~þûóQÕql -tÓèc8©ZÕy±ïEá­‚ù‘À—:¶ogg=–w;iD;N[§ùã”ÝyÃþX�Ïrá”UBh‡1&õ\ÀŸ›¦{�¿Íòñ¾gÍ~QÖnï$ÛQ½þ ¢ôØXÁÛ%PH6cöûšJèãÌ€´x]BIçº ›c�µìT%A)$Qe¶Ò�4@Ù)iÊÆ´lF£¤^‰ÒoðPð@`ܺ�ÝEË^…Pžk$ªž$ óáYº�Ÿª”¼s V€,EPˆãL‚¬oŒ›û$¥jvj0…K(®j ÝZ_�M’¤°4ñd³Ê“£© @Åó"O"‰&·Ê[ñÆn2¯Ö"ftHG;úqÎ -’P’äžãÖ` ¡¹D'$P'X¡‹ÀÁÎ3jW"U^ *¤-”�`“2•ÄÅ ³€¹¹éNÌÿƒòÛ$±E s”(‰÷J° @WÖ³¥l1¬1$m‚É·ç>öx�ÏŸ$üÿ×?ÿé¿þ¾ü¾ƒð£ráë=,ï¹@ðøA{4%ʹHm¹¿ÙÀ)¿Õ°@#2PqÁA%è97“f²#R»úïèXÒc³¡G$x =DtŒˆý‡UëŸR5èÿ5à?~Ρøædrìï©€ÕF— À§+êÍÀèt€cym€£°0W®Ì#"0J­8¦ë …º@.Í¸É ´Wáœ-Ìà¡k³.,zÚ…2:§®Î;‚…äb/¾ù*,8L,˜ - €ˆp…ÀV°l4R�\ø\¬ �B©|m/d‰ÙÒÇøÌ° ¨í¬+Ÿé‰‰A,�Nxƒÿ�-âªX(yÄ%õF€ê… øHV¢O3 釬ðÎY¡9L-b,ÀHƒSŠ&º¾R2Eü ûs¤OB÷n]Ñÿ/ãÿ³g[ÅwOXÚÏî~‡Ý¥U!<º—txôÿÕÚêÊj_LÚ¸°èÍÝDŒøëPaúÿᨶ:è÷%$ô»û,új¹AOã<ˆåw ¿65IÕžúyR©ìdQ$pf­½-|@áyì>Œï¨æ×l™ �¼båŸíˆ{§k4ãõ�lKjÙ¸“¢¤J|[òãØY[Co2~ŒS°^%*ôüÓö“'êpX�vÔµ$†' o‘¨!p’þ¯NèØíÀ*Q]èÿfÆzóäF°|†.Yô¯V¯Ýè (T*§€Ðëü…lQ*UÊÅ,€Ù½uR]ÊÇ\<±˜“}¶¥ÂC¿Þÿ&³R|¯Í5 ƒ×}xÃÜÌGŠï/ð ¨…õ7¬ â 7�˳”t'{ø[M$þt¦/ÒÀ­7éÿ‚ÿg¿>øõ¾‹)@È}•eD°hélK«ÝýÁ +­Øú�ˆ¬LÜûBþŒ'Ц[c¦Aw6¿²²*]OQØ'êB‹ÏW+Qò{9Êó½\Ò—®åã1+¼èàü<©nëWâÿÙPU6V¶ó—ž-ÂI˜òN,½]å­b–0«vOumnÐÝE‹ xî3'øMBÀœú€âTæôÜ”¸ðçP½Ð 6‰Q ¾lÿa¯™·ýëë_%üß`¿½þô_ÿä/8ù¨ÝÒ®Ô»h¢¿pÊœû“h˜êr³ÀM{(»�Ÿ •'&€·ØtÂ�@ÈnyøøëOWëa¨hç©´}¡ýΓ'ÔOžì´ýÑùŽDLDb/Dë¸ÕŸ ÿ¡ìÝaHÞ¯U ý¿ZýÉšÐ_ ̆Q;5„œ|.]qZ;¿˜»wG¼Ùð]®¼6 @…€ €Að4€–+½JOˆnZ ,-èMa@ùGFžË€{—|X PE>æîEz(hÃXBfýÏ©/Wf< X>œ™Z£$ÏîŠ*x[ØàíŠÀÅ:<„àò^p¦O?E²PäÞ `nÖE„& Y*Å—|¤ÔPús,p­óMf´[Þ{U!²W!k ü�u.ö¸°8唟Þ{ƒÀm”?Ýe€Á�¯€òÝÜ¿á\_·.�ÿ_Áÿgàÿ›ÿ°¬ŸçHÁ¯Ý/º«Òßkµ¥°ÆŸT}]Ã� þ÷ žƒµ^­ÔÛ?êí¯àü?8tYè}ߦ=_BD-Žç£ÙÀDê4ðŸ -òÈ‹òˆ„:­½­2‹XÑvÍçDQ4‚o˜›Ä^Xw‹Õð«Qœ‰±¢uZÕê(F… M(–ixqŸÝltž{3鸂F–÷ã,Ž¥zÓ´‚5*Õ= ‰ëBnn‹1eöìä0BÉ\�‡3JÔÆ&óߥPcL”Öœfc� x?ÜMjð? ¿’P°í`OH3I:à?H‰§3Í õÒß�Ñ8JÚíóÎp¯5ÌÇùXX)naN'‚Úm6ù�šRYŽÛc½ñ=H"¤rmUIÔ¹¯Q -§Y³ó�_Š“·v™/ N¥âSGel…aj¥Na[žý Õ$Í,·ÇgŠŠÄªßIТÇÔ'öÿBˆ‘SÒèóŠ„)‡Uy ñã$pÈ{ú¼ÝŽ¢v~6Îñ�Sâè¯OÙ+º{´¢f¸ÌK¸—ìï½?8 6‰’þ‡Á Xô§k;;˜Hnül«.’d;ŠJNu#é‡Õ{8áF©êYÕyt|œ3:n'âö*-´¾Ñ¸rü¸�îL)„�ŽŸ«J Ù“¸õ<+–¤G -ð~ÇYþ@ë*£2z99m·7‘¢(O$ж÷ijª¥Y&‚J…¨Š0›[åúýÌŒ¹÷[H¢)�â'*é,;vfX8Ž£õ4-œ€'èëÖGúš?ÌqzóÿíÛ‚{€ ÀŸÃpÀÔÔÆEXtVåþ%ëÜ`ÐÍ÷˜ -¾oljÄs4sýÐ -'6€×ü86Ûg J˜Fs-ÌÁH„©(5ØKù‡ÚO2íüBÇÇÁŽ` - ¨ € LUJyªÿ« -ü—¬á”4àÞþž\áìÆY“u -[àî~rb&v=¢û¸M|ÐKA$þõ®É,•±BOZ‚¸Ñf‹ì¢¤èµiaPØÉJ€·¯Z|î²àÔ€¤¾nÐGza˜ûpæCݘ̸WEX™a‹ãj5VÍ3I*�]­4mFf.‰a”õÄc+–à¿X �×8�“êRÊ.,âfB À·…£¯ ß“Yi,1ãõu,贰е©F‘˜bX€uÞápã,€÷_@Äm¦;gÂõ `úA -°$À ôñ-ã?ú¿Õÿ üÿ¥lIøµ~ÂÀ}}zK?“ªÏ"«KKûoÞ×ï‚ú–àÔúShޤý‹SÿFÂÑjmÿ°?À*`§AÌÿRýW–jª‚´1Ç8+¢ÏÌHinª�ÿÇjÒÁ;]<6Ïš­jAFõnm‰©d/`»Ø®Ñý·†qµÄþ44Ó¨±–Å[Rw…ý[¨,Xx -œ�“fýÁr½™<ÉFبš¶Å³Iš|ŒUçS‰�8VG1¥N®x°ÈåÅÆl©gÏ­Ò¯}¼,È&Í_³,ñ¿/‡Ãß ‡§§Ãáè³0tÎuaE=ÉwÓÇðHÌäR€ˆÿ‚:/²z{Ôìœ{DZRDŠ1CÉ8=ÿ^ -ê7¸ -¤bLOêêËuÉ jCÕ‡*³Ön>:�òÑK±S'† ÌISZëW¿üò—,¨„Óg$x=Rn?·‡æç”ãáhÜþüó4gXÃä‘ý*%fjujê8ºR@�½<©¾£`§B¤šÖ& Y,¢#žDˆ];kŽP˜îJœ¬ VŽjO»½îÊÊÊýŸÑHV‘<U$€ÖþÕ¶ö÷+漣·äž™›]c ÈHWê•ÒÇW>®DQ¥Ê5h¹R]^öѶž$ù¼ž†>ÿ|Ib;ª¯ÕJá–ðS_þ#9¿jíª½0¶±Áœ«HŽ..ñc½9Üÿö·ÇÇ¿Í~{üÛ':ЕoŽõk@�vRZK˜€b¿&N<ú[¸¤ÿƒÿ^4˜wÓƒ „"ØÅÇOU%\ö€óëâCXÝtÏðtBGQX&ø=õÐÁÔ€Àk|(^ýNtÞeñé†Y¯Y”(ûÜ]¸ìÀ­›,º©té Œm¼©)�µ!QH÷‘|¨g/|Z. -Šl)‚ÊÇ3õXÚ°bT°8úT…†9ÌÆ[·Š(mH0¶êÕP^¿âð™K´¾î8� 8) 'Z@Œ@ñ¨ É{°3Àï>h €*C‘Þ}—ÀM³efpxÉàZÒ½«>Y.ÖðTÁ;ê{Ì?À¿/\H¶\ÿgóŸKøÿë_ÿš‰ØB�x�õ~­W[wî±u{¿·Ä&ÿ½þà€(I�iƒ8 -ÿO½°@ïPâÁJŸ5¸Á$ï·ÏÔ%zuNU_šQÛ nkêûbžÂ\²“eq¼<ö�ä(›’y+ŠÇ<ÚÊΆF TœX�£Bu:¬ùøx¢î¶†‚T–÷]«àë¿]�Í:§Ë GòKãŠTÄFTb~‰¶åxAfÖë'¬Nb5þÉÕµøSiµIô­#ÁÂi´‰€¾ Ýβã5ï ƒ’msk<þíê|˜FÙy3‹æéÆÆV§…½]é¸ EÔEÉ¿d£QšJ\g–˜Y¤tU!º(i+¶|ŒËƒ$6½~ÅDDbˆ²C•Óikk'Ì€üŠÒoÈ^ŽsiÏãã½pY ¯ÕüˆðKéuW˜° -ËQ!…@±&àÑÉ{�ÏG9sÖÅ2ÐK?U‰4Û�wÛ˜'€cÑ?�N†= ÔäŽGãóñ«<=Î�G†óÇyÖÎ�†�ïNǯÎ_~?>ûv”çÇ*ÑóÑøù·Y´Ýíý§|œç{ÇÚiömš ”Gc¢U‰wF£ÿ4åÿ‹”_ -ZÒßfúH²H•A¥†Zà#•¡7)QOö(06û»opœ“¨&Q«˜Rñ8Ëž¸úÄö²ÑóaÚˆ}šÂ sæ'’̯>þzãg ¿d°|¸   þô§?ÿ‰²’ÜŒà=-ï±@ðxÇ^°ö¸ùsa8»ñÏÑ9ý›lxÏN‰9þ%¿\ýþÆÿo„÷ß|ÃI8YøíoêØƒà2舘 ? U´ÿ ý_WƒþoüŸ¨-¯w>MÕ wU[w=G&£‚RVõçXí¶Zj°�˜¸ánê…%2ã8j»¾ÅÜ�ÅÚ¤)m”ËÒžçŠ ÐÜ¢O…�Š%, -IÙZg¶J«ñ�Qv[-%^t_´%þ 'Ê[ö&‰?¢n&ë›UW¡þ¾x·ó2ÓŸ7U±Jo¼É­¢â%Š­‘~ªrÐ3âŪJ¥\Ÿ97§ò’ªiÂð¥‚ì¦Ñ¼eÃq<ŒâÇ�ïæªzÝRh=ÿcáqE‘(ŠFu°�“ÍÍÍT)¥WŒÔ~¼Zší¥YœEŠÑJ×F¼¡_ -Ìr@°L|¼™éí0 à € -X)hDŸn^¤œí*MëÈıž* t�Lª…Ê8îü8Fn,–¯Ë�ă۷ÕW±%{8ÓÉzêH†—à€Ûû†þ“râl(W¡3„)rwïðŽuÕs¼)�Rb”Š„ÆË78Ôÿ­+þÿ—ñÿàà×Òߟ¡uùϤP]–ï¿¿ÛÓcûèý«]IXý‹|÷óû'‡,ðûìÁ×1  þ‹±w{=ÊÏ\0nÌ—bÉJsª ²´»« -”ÚP=�„;ÍãJ”¢eÒªÜÒAâ­ÊFi´·]%aÀõtCºk4Ò%ÌÙ[RüÕˆÖª¥y½#I³çíJD½¹ M`oŠæŒ$€(…ìj%LKÙ(3®. g˜¾— ÄRÅ�²'È+Åžy¾“3õF JÊC¢¸’‹bR² )l0|ÁE�v=e‘nº±Q÷jjb«‹ gyÄžA¬W ¶rÀ Äq†6*–ÕÞŽ*Ñò‹&6ΆgŒË+¸š й´0òWKkqK…ê$í!ãiDÑ�rDÁ­õ2šÝ:ð�uäŽS%É#X<öT6ÜT%i¶Ë¸M6ß/rŸåÿ?æþ®7®,;ó)ÀP[h›”ÅdðÆ„Ó9ÿtÆ *YT#˜<ŠCEñ#q˜äI*º2meeWÙ…FÁƒÄtÂ`ƒÈÁ\肟á�‘ŒNÍf”8bMºÈ¶ RÞÕ]~„ò·˜ç÷ìAR¢^Òp»g¯çe¿®çYk¯½÷qS¶îr @óø+5ÿ‚9š¼{ãÝ”>7ÄŸÝ >€à°!þÑMÚmÆ5€V%p¹ˆ£ *¢_1Öy7�,VI–n·Ú½¯×ó-!×°W½»z§ ?£³|§ð,OÊ”z×—!VM²¦\ek¶FÖå þÂ(eÒ&Ó·)„ ôzi“y†1C^"—+J>þ¦a§aé·F(–e¼*`]ÿ—¯•Sýô²‡,ÿ10ú÷ûó€@~§~÷ìé“Çöö{‡G‡�ôiïpopxòè±·O‡»@GÿÎOß> Oß={ªwß=å]åé·OŸ>ytt¸©†ý¾Š©�'¥™lö‹Á�lðãǜ¨óÄ«�÷ê™öèݪp£dæc€]ýHÌ�¿ÎátD�àïnÊÈþmýËôßÞ>(”�Á`o»Ø+Ä{z»§Ÿô›hÁ¶ÄHeÂMq4<èÖþ'°Âû1þ.:¡ÑN´kWY-' £køÎ²^>W¹mBÂßÿÂ3Á`À†ÌC@Çø¡k\™:-ÂaHäez¥DioÜ£NÝÒC¿Í²²‘n8Ãä`?•»WH¯4f"HÇ‚T�`RÀuÙà nÕY8ŽUJf.©É)úJŠºëJ‰˜å£¤›CfÊLŽE¸Ú‹…xdƒþ +èH}ëÊõ$€õ�™«¡ãøËxZ�d+IG*&¸×¼—‹�À®£’ôŸîÊ;Hp¿»ë=ßû "ù-• D©Ûê1)P´hŸ\²ï�ï dñ{9¯×’;­ÓYÜ�$÷&ã(³àÐÕÙ2Û~L|%œ‡ºª1õL˜yñå¿ß\Œ¿œ#@Á¨y°I4+Lœøì(@Xð åÿåÉšÌD€K(¾¥¬6§¯(‰Q”0^OËS‚¥Nd˜Ž©Ž=ÏyÎB€¦ºn™ };Èë«Ý<ë­cuè«qþ¸$„Ç?�EZR„ÖNcÚû'Ù›‡a)¬ßûpÉ3aÆ‚ D°ïsqªg¾òÖÎ80S -HÖE90 ý…�™gFûÒ€ÿ_çc< 7t?2JpÀÞá£ç Àw�½ÓCàÛSðí³g€§¢"qcµÝl·?®¦›2¶ûÅáC�ŸË˜™¯ø‚ûT£òf–‹|“ÿDÚŒ´ ÿma¿lú~Ž™/›¿�å¯Çô?<ˆÖl( 0€½!¯‰Ë@gãH}Ñ ×Þ8þûŸ×1þ;Ub -ž³¤§¥3šÑÊïÓ‰TêH³(~K‰¨RxËÉ1ºzKh€ê<ÀÂHÁuó¸"®VTóS3mo{Ũ Æ n"Á¦U›©Ü0ë]T™Õ'5 5&éNÙØ’%\3HÛX^‰§#á¯>{/` Ÿ(É·Ü騀dÀªïÐH6¤:%Né£TWŒq7`F�^«Y%ì”IÛå ¯yIåâ,Á€Äør†ÞÈKµ*­¤•cË(ý!Eô -bÂ4mè,™tž1ø_øú#æ@ì³4�“¸t~žŠ¸Nc6.Iš—øz«òVXáÃË&–—PÍ\ —§®Qj"N2¥à6¨ÈÁÙbD´UºÚŒ¾�·«€,«œ<Áò ?ÔDzr€1¨`yêëf³íͯ=Ù³Ûï -þ Aþ`Plëv’~!Ëï€\ìˆèýÁÞðB€«CiÚÛîoæø >€HÒ4N„ûŒ ÛìÇònbÿǧ� 5't–eË ·Š1jl¸{À3Kª•¬¦Ü Ò5ñí\¶ððÖêA"�4éÀ%/t(«u]•�—†ÐŸÑĸt{%ªŽ©j«‡jÿa]ÂဂÅw�{¸äyÛcá:ÊÉB ÛïXYT4ª$˜Ö Áž×…oÇlñ§¼‘ -[ù¼×s²yG—¨(â¥xYuMÕ²ÞvØå©«tf WÌ¢Yº"£ç ÊÁ¬ /“ٺ”ÀŠŠ’¬è$¼–�]–Q©BW¡¸óA¼_Äÿ°ÄÎyQbTüKêÒº Šy9Éjöu@É`T–Y]o w_Pò_�K*1æéêY© eúŸW�²»· -�"ð·?ƒä‡Ô(ºîuô«Á`c a�ºÃùGø;÷™§©OþêùøÿŸÌÿ/<þ?vþß„è@ܸ÷Ù§øõ?c|ÿsii{ùu ¢?–‘ÿÉgÿ/æl¢;|z�™xdÒ}úE+ …ª‡¹{¬¤³Þð -f (5¬{l×îõ¶to7½žgj¿.•£ryÇ;¬g£f-?γx1•=�ÒfǹKŠ÷÷ÓzT«×ºÓ5m7TÕ–tó0®•p”c«áM··0˜ #=‰úYÔè­ IÖ+ö7ÞLãz|}ƒ4·@äý�¡"-§/æ�µâ§‚ÒNö¡’eˆ3Vp›oºîQ¥C€—!>Tßì¦5)­Ôë×JÔèá,r¨ƒ„çï¦Õó]�¨þ1Ö�Håy¿£,ÿÕc¶µOuµ,éÛ,uÇ +-{Þu]è#®òa7©GI¾»¿k¿¶cyƒt†£ž(@ÒË¥&”¦G(A¢Ð»a%Ýì.§õzÃ"n£aÞŽ¢fKTƒJü¸íbÉz¶ÓdóålXˆ%Ä{í°°B+[ÿ˜¡¨�O€DÀkŽ�¼– ÉRåê´ÔÉ­¤�?’‚Q:Ñw¦Œ¼´…åÑ* -=ñËZ:J»CÏ;£)á_-×ÿÕ©B¬ƒ¿]¢&Œþ­–žOU$Jò}Ð_ï¶ìUÑ�‘± àÒŒ‘™=ü¢\®$c§B“PÌþõÀ¼TÍûZYåæÄ¯lÛâu"ü?ë0è^€ÀCÁ d|-(Ÿ8ãøÝÄ0Ä †Ž€yJÀvðØô7þë�_ŸøN¹ÀK|zÒKbnÑn7ÛÉf» „Ëè—�#½¬|}°wt@>öõÊ{†9,:4 ä›}溻D*ÀÄþ/ãÿ…ÿ)ZRz±hÕ2œöp¾UYAT‘Ô¥4?¿¶’¹H� -þhØn/…5Œƒ)8Y‡ ÙÌÔ>Éþ§qè>EnhÑS ÝU÷M’lN -�;aX F¥_%à1-‹·­,™¾%|Ó•0ž½¾ý×àg¤q{év²põ*Šš«'YT1() -.½ßˆ›J4«X‚hN¥tx£2]q¸·:M·™ŒÀ1KËÂZFÍÔ Iåt^%UD³É–ÎÇ$T÷®ÈÔà.‘U¥×àBE(¦P‚O]'/ÁÀŸéËú]ç”熔qÕ¬ 3©Ù!ÑãÁ=.73¯ªT½( @Œ¿tøé„P~Ò¯³s* LÔOø[Ò%| ü;¢W$Ë·òMt§¨ø^ÏÝGNñ¿Ü€ígŒÿKx–*FÀø›oòÉM÷Aõ°âÿ͛ɀ€¾ÇûñÇaË Ûÿ÷>ùÌôÿ) àão‹%”€^çY­Z* ¼ˆµ;•]*à”e¸( }+CQ­À*QžC¯háCO‹t‘µeþ«šQÂ’ªQS¸÷Ál¤`ÖáÊbažÔ»Ži“¨}£¼ù`üÇp”áÜÙªíD�]²]Êv‡û¢#ÍzœþÓõá7‚.ëj÷Ý%JO—¯}]ÆŠ‰mƼ—™/ Ü� Û³fN 9»@0‹íDÀ�ô(Ž¥áÒwd·ÒиMß¹l{ÕyÐy7oæ:]Ç„n&�'íH§HWÊ-‹ëC2Œ¾Ñ½d.c1^¢}Ø®t·Õñ" æ$²׳⿳¡r€ðBzEñ }'J|;JÀ/ýÁ}�ü§¬ÿ7Ìâþ®Nêd¬”è¹�Qç$ífâm~[dI½ÞÌŠ½Žú.n 6zÎ -ðÖœàX� ½NÚKRˆ—=|ÍÆ™g:` –ð¯tÑvʃ)Q&LŠ;%Ù �º¢3.“S;^ÔHq?­Æ_éËð]¶îðµ§TêhEêˆb*EªLÖ”­*�éHÏ¡€Ø»7¨€?¶ûÿ;$ÈsðOO¨„–ÈղʕY&ÖšœŽýOÞ<÷xòìÔð»ñ:ƼÎð€†üó€oÏÄ€Úð°‹<à>‰€�å_â~òRàEÞáÏQ››™P{SÖ¿ |»î…ùvPìçO°ÿP_*SüéãÑC^,GÊ!CŒÀ6Ûý.Ѻ[M­ë¼ý1ÿ¿T´¤ÎÕó‚0.¦ZSG2°‰NÛ'%�èuT–Te¾$Êšsø~P6êÈX…: P BÉÌó’|”Žˆ9ªt¨­#ÁÁWºï“$zOFƒÿjø+A€Q°n+™môðU@ùuáâ5ýä#�ºJ]ˆP|ÝÛËi$c¢„NIØC$˜A€¥&ëpy¢øÀr«1;íY‡ºƒ’Š®VêE–T­Úp¬„-A�¿g¬Ôª»ýí^K¼( b“°5Ìp¡J–)gŠ•â–ÚÂí�ÓY*çß]&[Ï{ß®ý‰3³9Ô‰oÓ‰•èðWvÃV¢\ OÓÐuEèÎÁ:' •«ç¯ ®OU÷Ç?CÊô�*o%³sÒ+ÌÔr´â«Sã àLqQ¸¸%9øMe -  >ÿ' -ðŸ�ø±ýÏ&~ÒÈØö7n0òÿÉçŸAÀÒÿ3vdnà§ÒÔŸ|úé—Ÿ}ú…(€.̲@úÍ΃Ï>y›_îAÔh/*µžÚ6³0ÁQªB5’¬�†i½žì�•¥Õ¾Ø¯êŸZûSz%A,W¯ß¬²�/³¯|=F‚PPK�éýa÷½ˆš €{�,– ”c‚ýzGÉð™� XZ†äýÝõ(mDRïXúÞª'íæÅƒQOÔþ8FÅ«Êg\Õ_s5”æÂ]Ðwýv‡!õ$.—¢#ª`> �åiù±r‡Ã>Vº­èuµ�rÁù–HWÛ*òX$€¨¾es{ŒuÌZe4ûyÕó (¦ _ý¬ÌWX‰oÀˆÊ„ æ[…Œÿ8ΆÌ[È{‚ñ’¡¢-Q5A#Éâ@ข”ŧÄ+wÍlG§¨Wn‰T² ˆOKxØTÍQ”K'„ˆ 3Ãè¼Ü© -pã³/X`ŠMógŸ}NÀçË¥´â ”Ôwç¦{^哨ðá^Ô�:²a\e…d}ݾý¨Ü…ƒyO-â´P~]©¹��‡“”ê_jOzÏ -YÚ¢ç®kmÇ›9$é!é„‹}ÊF°€¥ÃU‘åÀŒhždö -‹k©;áP` ôZxyñÿÒÑÓç<Ý‹bs</�ø—xÎÆœñ”1e  Fþa¯õ„O"{i꘿.¡Û2ãûø …ø$ùÐVþ`oäö ñ -÷�ô8‚ <„ˆ,à)èooDô»}Ù¢Ü,«þ -ÿo1ì Û?ŒA�¥­Ù}ìQ ¡C ªìñyóß62ÞVCA yFÅë­=Îyø“éìch:ѹ~~ŸÛCÐJ –Tƒ Z÷¶RšesêÏÑ€ä–ÉËH`SÔxy™]¦Ô%¢ zFÏ(Q¾kŒ� I4—Ùà”‡¤ß¾,B#¬97K 4ÌFf1GEÉ¿*°˜((pv4–ºÑt™r"G(9~S–,Þ¹(.È–PSÜ›<<éøý…´fl�— qNäråOI>ÈnJ¶ÔHÞg3®³‚ó7Ë"ÂzT7.ëÚ¼Ã Ž—¸f”¶–®•—Â/Áÿ½êÀy -p)K梖ÊG)&:ƒ(Jt€‹Q’¤žœL]š)�ƒŒÖÿ¦2ðÿ|ü?Ÿyþߨþ—å~ãã{÷˜™u�¸>ÐÜ>4à“Ïn¾}Co¼.À»7>ùü‹Ï?eˆÀ£"!ÊPÿEæÿÛÔUYUù¨Õ:EÎ*qK �ÍruAßË$ôë꺋‹ ï»+§F.­·•íïg«Q·[ˆ%èj�¸)H•« i„…¦yV�’L5M5…ކîl5³c!T@†ñÉ’\p0vv{ÇÉl—Ù[s³s�ö`t|\ùþ°ÚŽñ¿í~Ȭ.Ñ®­–Ž|Äðq×X[ç $×:QлÇŽæÞÄòC—û,#iةDz0Ò8Œ4¥åUó^’�¯û°¼Ñ°X-z묶ë–*�ãqîRtd7­~P]pqgS<ÿõÝÎñ|€;ŒÑCN>RZ{�¬³_t›¢Ç£Â�[„¾Ã6T$¬ÞǼ�š˜”in+•-?’,Y yïAß—ñìD-sŽX9Ò‚Õ/ÖÅ«Y -œÄõ¦½å·0‚FÆ£¦Ÿ— @MK´½âQJc~fjæ-ÊmnÚå"ž„[M‹Í}Õj’æÝ*‹ýIT¡]U! H�K•æ¯TgÃýfú 8Ê*§˵—,g<ˆZnÐÙÖ·D ÆÎBl… �P@˜!h¡)@å 쟼ƒÖ¦¾bÖ¸âM�qL¡Õ|e¿¼ø_�õŒcžŸ ¯ø_Є°2sÆÐa†óñÜ�÷_îð‡8lðØÞh ÿ÷öú{ÛJ9–>°.öÂ8€þøðPˆÿðèÑ££G�úƒè @Ä@§05€hÁmÖ -ê{¥à°4€°ÿ£3ãÿÖ±Æÿ—5‘\MÃ0ZX¶µ*´zDµì,-Øã¤o x¨tkže›Ç=Uë 3SÓ%=¼Í¯ÍÛº�Õ§lg#3e”h¾LÒ¨ŠM!QïåŸý+b@ÀÕ\£ƒÇÞa&\ž_ÆæÆêÖáA¯êjÄ:@´b‰@…SÁù‘-Ï”ÄäÄcWás¸ i’iâuáMf#¡íXBbQº¦Lx–œ¸Kc6so)]‰‚*í9®še_åµd¤÷hOC) À½„m…ÔÃýà(€s@•ÔªÒÚ—büålÊ'’3“‚“½ ›ƒu®s¼�’×(/mñÍ.‹¥ëæ�àŸB–Wò¨R$ìbVöm`�Œ zäì/a4cLȤ·ÜêÞPðÅQ¶gÇÿe^¡c ÿÿo -Á?¿! œ‹x9@“.ð)‹¶ˆ|þù§Ÿ¼ýö_~ÊžÀŸ…¸�ÿc6æùÆÇŸºb¨æîÕ¢|¨ê£rU^ aQ™%u›zÚÝ–Yž¾3<¥ž®C°nÌÂZ2ÉŒõþ}C~À7]„·ê×dM�0eÀµÑ8ué¨ü8KÿIªÛ¦ÜŽ�‚�ñ8�v‹ÞÝNoø`?‹ß™}�íEõëzÞ�¯ÑùAÓ»ß�»eÖ¬� ,lÚà¨|·b¸?ÚõVW‰ËJlyë§äúÄlØó^ÈQS@”§Õ´¯þƒ‰g¨d9’¢7êÆC™Î¢…tmµ‚ÛÒGäF¢Üt³zµÛï¾3N–a<‡7Ô["-=ù‹ÞŽÙŠ -¤ØŒãl÷+ ÑíŸÐïEfg‚R2;C™à²¡¿+ç.IJ¾×+F«ÝcƒdX0º”Ûs�V:jÖY�i¢Ì²b›½ ¼PªqUüõYàA=JàhÀŸÝ¹s'}ÅùÕÍ‚u¥ê_«ª�êV¾aʤ31ˆç%¨šS6J«ÙˆÌ‡ºƒ4Òç‚äS^¯¦£Âñ“—`ˆª°¬ï»<+°e0Iú§ßrHµéŒ\“ -@6»ã‘_„GúžJ˜¯…2àAXR©Î2ö¨¦;É2Àó/˜çqö'ÿÙö £þÅë¼&àÅ!¼ytËWz6ËpŸÄÀ¾ûØâ^ë`,Œ_ÛLeã‡.Kûô=Þ//í}YöCe�QaüÀùG‡OÄNøÈ—‡'øÄŽŽ "…‡ÈÚb‚xÿì–¹ã¿SâðŸÌVõá•dImôZcIf-@y;ty5Õ$ŠRéÎ}΋CÀOΜwÀýÌ•+‘Ï]:~ššò‘j5nŠHŽ£žö«£ì9³†R"¯t‡tjˆ¡Ç°¬¤ë»Óke‚* û·û1Wö$gC!•M'�jÿôIDATf(ÀDª%ûdÚ®¶©¤†/1×H†š;ûÉUP·TÌëñ¬WÆ@k�D)-‘’áT™I£Z²KÀ“; ñô„ÔÙpm¦²�™ x­ ºÃsÝŽø¿PFãr¶ŒSvF²HÖ…¿öá\9¾ÉeBí¸, åµÇü^ÏÄB˜�@îÂT�¤ˆ"|¦IkE§Ó„û\§%Xä¨�~<cݰß~îþÎ}Ö“=çð¿ÿÿÏŸIÉýKü¿ñÉ_ Ý?½ù «°Á0Wß$¶þsÀZ—Äÿψ?aý‡‡ƒàØc C–¿€þäáÉɉì½{ôP àáÑÉ£“C}u¢g¬Áƶ™ø«òÁ’:øJü' ü�i/Ã, ×XÖ¹§fC$9Å…©.r:¼m¡òUïè³åÒ"6¼å!€RN/&Ì+=˜ÿ¥»Pr;éÕ"Á¨LŽSr êÖ¥’ÐÄ:ÃF^„ÙÕ&–—/]žoø8_ï™<( jÀj�²K­ŠDªá:ö�R‹od9}‡4²9bè}£d¤¡?ÓÜ™70ÍJFq•”³@¤Ž<•– B·$íù7q6ê¬{¤Bb¤k06UÊ‘Éw�KtºSÀø?–$#>9\ÂϺÞÙÄwk³qJ–ñð¹ý•E5öà´æÜóKs/ÝÎ?síÚŸ¨ðlQ¹ž–w� -„¶²/ÙB„&$ V:�¨¸®’ðJ%x}¾§à<þ‡ñÿ³ñÿ¥ý/üg)a;Ü œˆ|¬wŸõï}Ævÿ7?ÿôÆÛ7þŠ@ˆN�ÿÉ_aþfm#½áFR�R¶ô§jm&2†µÒ¸zej6f‹œ5Qwa_þã°šB'3ÈWbu±4f‘á"KYÿfŠºt’FgG¯ÓµœÂYêrYu"#Yš™ÑìKûÉ‘€¼(vìïïæi\‹›|™°Â>}tF§®ýëmö*g H IÂ$5Šn{Qé -b�.ˆ ww‡y›_ImÆ«éõ:úN™\Ï»ùÖ°Ø)¾Ö¯™yi™Ýn=–J\ËÇóhpKKô3…€r�¢ÙìÈ„À�%N¯CÉmb&D¸U2u±FI²Õ÷¢lG¯º¶¬•lë.dÒM鈄¯!ù0Ðu¶F£zÑd*¿CH‚j€H ¡7N_™�Q_W¾™þç±)êã!zM++’z¬KN^ÏrÆuJ8vçjÖ“nßK¥© À„Ø °à³°ÒËþ1eHÁÖ�P§š�òhö6wk¦_JqY"¸SÖ!”eŠF¬ÃÄ@üHµäÿÜQ¦Þ.©Óû6mÿš6T–™I€H¿PêíTP~‘'f>¹ûJc{m¤ˆtHS’Ïè¢ —*(tÒÃL=�ÑA¾ZØ%Ó?”PÔ‡9Fžæì‡npîÿªZß+=%þ‚ÀxlÑ�c¶ÿWÆlNbpAØüçý)XUU¾Ò ï½§/‹ø!aa'T(.[^/ :Ãû2ûüBzqÞŸ<Æp#�åÿè‘ø€ €x‚€ÎìK@P .ßNR%Iö?–)ó#�ÿ+­ü¿‰î{þ¡VâÙk-á¶ÝÑ´ p•ˆ8<{fèMù®½Ò<ªä×ÒTFV®ˆ_ž‘ÐJXFÜøÀÌCÚH’ìÇ Û«íѶP-ãõ€¤¼äÃÅl·ÅZä�%ÁÚµ«S3•eOyÉl8``• ‹¸‰Ui¨V•Ÿ¤\z€Ë�i¶åm‚4³êlðó¾UÆ)Ûãh2ܘW˜þ•õQm†lÏà?ZQ`ëù­VþÛZ2ROÔ'R"œáßLIe¾ rðz±xgºœlêñÀiq2‚аuÊÇt£aüž¬‹ÒDZ¼t;xdTä×®¡¿@¥‰èÎ^^>·S?§Û+×–¸v�ép �dE¬mà� -xå § ° *DJ¿XÆ¥™ùáôýb áÏ�ÿ ÿõµµìûß3ÿdçõ÷v}pÿ{z ›þ2è/eýÅç,üÙ=l‹Î"Âàæ�›T޹ɲ˜eø¨eC µ²Ô©ˆ-ÍU 4”tw±^nÏíÌ9·yR±Le�mÔu™5Õýš NG¹üwÉ0$sQ2­ÓX™šZä|µÝ¬K³}~h2¤ øÝÏï¤ãfšmÈ<ïõv‹ZÔJæ¯^¦Ñçø.Pè0Å[½Õ‘?dˆ‘Ñö.˜œnìï€q:uG™Ú$Þ(ÕÙíÊ[SW*É:•æIŒ¬Ã$f¿$½k%„¬„e€z] ‚´O<âT'$Ä+†<éži\_Ìûyÿ”ˆ”qÈ»7>ù$x”ý–®ò²ÿpA$Î�9-Ñìx¹¦óª+4€4[sô¤Êõ8g!FgdÝÀáD)‚@‡Ò’wÛLÕBˆì`ÎD æ°T£Ò2‘eñ2ããÖôm¢ŠPǨ"é‰à -Ç4˜‘…%Rn8Ò²@âi -Ê Þ,ìœ^ÊÒR~›¨W†tA_²$,<~ËCmñyÀËbìà€µYoî;=�€ª�ˆ*¼ÜÀ‹H»í¶Ú’'ü¶™ÌðÄ>Fø PŽŽ…ô'²õùÓ¿><~tò_ÀÉ£G‚~}懇JëÑá NèÏ`{;g�Àœ b“%�ÿ¶ÿ•† þ“j ‡«›ÈŠ«Ì3ÎzÆžÈà�ª]ÍI-ð7K„�J^Zˆó™×6¥æUÚþ:xMWXS;TsÀ-퀲ßó_†å0©™´–�ÞL«•ÍÉ3-8+vÙf4MjV03¿¬¤+ñLpêq²ª0xÛ¸‹Š#¹½v;ŠÚYÊÅ‚OëU7˜4[~9óÚØ­Ì6n»'xj1wI -ÂP Cð�…œ­ ³šÊL§ ïB1”YoTO˜ÁÄ—­ÒÔÄ‚qUøÐ%—@™eDYQñ†Ô�{N¸UQÄR.Íɘ&å¬Ü pŠ@f|´py‹nÅʦütMå‚…Z¨èúdÉGUÎ…:Õ¿+ý�àR%’¥rÙßPDÎÆÿ•Áþ‡œ±ÿ…ÿúF àS&@>�„ÉŸ90€(ÀO¿¸÷îÛŸxà'ŸÃˆÐ72‘ÏÐo½.@¨!› •²žÉ¢¤vU·^èFÒï†ÅØ€óü†è�×G@êZøÛi%+à�à€—$i¤–° sêOn8.Ь3Ìâb‹qt‹4üð·Ã¼Û]�WYæ_#¯ùŸw†IÔQÅIyÎËxÍuOaAoX6»ËCOzmzœ¦ÌЧ5"ô’¼(vXó@7KWÙ[.½^7`ï`¡ônéà´‰@—'ëïx àœêéÛJîÐe‹¬¾Z¨C C0éB�·åiUøÏb¶�L K Øã,�jI¶ÛÁ—Ô"öOý_Bš)Ur½N¼ÿp¸;Êëâ!t]d½ˆRÜmÜÙ^nLOÍÆa‹ý ÔJµY›˜o›§È;[E÷½j­Iì|ˆj* óiŽT¼EwC*[à¬ ÄØ€À€ò”—KY±ê Pù…[ÝÆ,ë†3¨rF¤=:ùº8z¯¬RÄ«ü¹Fÿ-0)Š(Dd½ÝoVÓ­ÞÖ×̦0îüo“Þ¬ØQóë��Wb²o'k5¦ -Ph¡ZƒxìX!—ؤW -â˜a)`#Ê…�±’†DæÀØDmâ°•#;_V……7z^ü Šý€A÷Â�ûU1ÿŠ€É:$Æ.8@­d5Á>Kñ]ì ùC­»mÇýõû{…ìÿ�’H ßÑžL~bðûë_à~òðÑDzóeëþ²ÿEeùp�Çbú^_Ÿ”ó”eæîmlï ¶û,;ÝV -”‹5ZÚÿ ¥¨Ä¶ˆ„°Ï?L%¬4víšOç¹™¸�a2kGQÖÁ�¬úþДz·âƒ“nÎ|�_™�i\™¸s$íDð3]çœG4­Lˆ¯Nõ :„Þ -b¸!=çõnO -~Ó[ZP«’yœ ªÜÐ;ÄÉœzTÒ“2àtÞÑ}t1’Î5ËN16ÿ×0¦ Ãhk­Ryëê íØä -r,¡„ß -׊´^lÑ�x¼˜¼Ú«bÇÁJÖé�¤é:ë»è¯‰­)µ¤ÒðˆË û?ÐîÓ�·ÏÊD}©$ZëF]%Ó#(!å-éS€¤™'Õ4»=® ˜™×mP¼zÙ¡;J•%�çVbØ�ûßh˜*¢HWǽ!~Õºc"` >`^•ó;Å"Þš7ûÈ‚Áü†�©çüÿÀÿöÿÿ'ö¿¿¹ÉèÿÏô j˜÷»÷¹‡ý?ÅpïË�ß~Wü€>EøØ;þÀÉVò‡YºXm¶ãj²ArCK¤V²¥Ùé«ò¨%¾Ôù{ì©–°ÆLºfõݘ�ÛÖ‰�LºˆuvÙ¯c%ïÅ«²ÔYâÏç©�¦ºË„·gEW毕¨dt6Æ€]]nw¸1ñÔWW¯‹¬–€ {Dð(¯ö7Ê —íJ䃊Êi©ÆQ"¸�»e$"ìÞ]ŠÞŸöÓwª^Ÿ’Ôeòv[Ü¥“ Å¡M‘pÝYÈ·ðû{)€’Bûí¨Þdì˜5M”¬Ý¬®n€ Ç5½g¶¶9d›‰Œ�;Y×»,�CûTÉ`qà°ÒϲïÓnµž�"±.CR™ñ£þô‘‹t»ý­~/€ ÀY$ ¬Ä¡¯û� øRÀ�"zOX©&¤²ÀۊʆÆóÙ@=M¸Œj$¯;òè�œ®fÖîª(‹¼÷@ø/¢ ÝX'êSp³HWä´Пã–ZbÀ‚ÐbAÍ'Dﱪ"~@kâ÷¤¤ `)`U˜²À_¶‰V¹Ñ‹£0¼´´¬ÊMØí 7'W}‰äýì�-~>€¿‹fè›W{þWÄÀ@‚ù¯A, @¸jŒ×ÿ…>€fSæ˜aÛƒ®¢´*±¤×q~zæ׿Œ~Fú=z*à‡ èé ¿¡_YÒ·O= -€7@ðÏ ÙÝ&š°?`6€®¤ùËøXH‰ÿ‘5ô;ù®2±æ®Vâ¿©öZ�9Ce:³¶ÒSÆ€YÂÕ%ê‰Â³DÊ<šíz`V˜¹¬ׂJ°ÃüZÀ’%ÜÖyY/�Ð<ú³õðñ¥Ñ��Ý^=Ýê´ò¡Ž€g†o& tŽyÚLÁ1€gýÿ’¯ê‡p†Ãi‘ÓéœrßFâa}®¯ - ´Kƺ‰(è0Ö$*+AëCFd¨ñÊüi|0`øæ2…z=µÿ¸gëÿÇö ÷nÜôÀ¾ì~ée½Ãºg‘ŸaØÿüÿ}óÞ€¹vÜüø¦«Dúp˜Çl±S¤‘g“9ÉÈzÖø#pß+¢Шú–YÖ­×»¨ÒË=ùè¿*Ëÿx8½SZÝ]´Ó)ædbK‘V­Ý¢š…‹»L½GRÚ…”O ÊN\( ä–«€ÿzW;»²§'€æêjúÞœxDˆ`m!N{tù5:À;æ™"Êj¹æ�º:B"jPýTÁËÎ�EüN,pÆÞívc–¶)P'J†p=«ØJ¤†�@ 0Fl¶ÄlÅ^‘§1l¡WQHÙº^ë«×â4�j©—?jCr‹nÔ [ ³�ÝÝ$$:Ï¢t”ç«õê"»Ã…ޣʵ!ÐÍïçg)ÀØpãÆôôÉà¿5 =åÊÊáYTõPJ©RD °!¥äŠ -þX:Êw}$T÷ DoàsœÉGUo±?Zíj ůñ¨¹„£E¨8@¥É6vè³›íû�¥øv~{6hk£¿JI*ÍaI¥u„„å&&A(®xdC¯à½`ö¯¢f–Óò - £†¤å‚Mq‘ìõ7ƒàÉó1n_ŒÐk€î—­ð¯8 à‚½x.@Œyý2@­Ñ±i÷óM¶ù8òO)ú;­žß‡õ�5o¸¬?”©ÿøéSúO°ö…ýOôîÑS=ÏÀÿPà_§*¿C<ÛÛÛŒ¨+—Óƒœ÷ÿGQ­zØyaäH$±E]XX–.„X7ÑX$i²VtëĨ¢ÕrCàK�ò¯ ©úWõK°¤ä•™O˜Ýêá´üŪó "Nü’çiýXtVÄ­œ�Qý,Nœvkùzky‹QÈ……k3—¯.,3ØEs×RÜE `! <›(“Âá*Ù¯î¥xX[¯wü+,–7Í\]t�²ÀØbJÐDt#õèå†P±‹V”¶E®Øµn¡>ŽFœð¬7Öôk'뉢Hí“uûÃ.si(|3WuÝk—`܈ðx*¬ÊŒ›]%«Ä -5 _äFOή¿÷›¾LÚûj„u?2c€rrU¼¢Ò€Ndk¼tÆ Ã'ÀÕÐWu_†Zy¤2ga™7n¬£Í�-•h—²P¹4u­‚¡œÈÊú8gÿÿ…ÝÈsãÿ2ûùîßûⳟ1¦�ý¯#? ëég½ÿôË/ß~÷æ§:%D -~üñM¬Gê°È“Å8e�õ"®²¾ÝXŠdV¬¯‘©:CD£�`°ê(¿5…gÅàöÜ›7–^å•,ßhzzÞ:A¬S:²¶·S‘f±R”?Í Î`½Á›r"½0.NG2¼ón×ë«]�ÿ¾>æ¹G|;C)u•·:E¡Ó,²Ô®ÆtÚâ§ÇØyŒ|«-ÈÑuÍþ„�xÜ�8@˜Á›Þ®à}÷4 i€ƒñlàð@žõ„Íe €RYÆ î[xJüw�pSè&ÕU&(&Dè„eAî$IÞϪï‰[¤²±Ç@Æj^¯vÿ©W†üäi9ó.Dþ‰Œ�\¼¨7ýÿÓ]0-ku™Å#÷4�¸$ÒZE¾Z�ºž=Ÿï|�ÆÝ]2[^`aG„@=`=]d¾C‘¥×›¢<:ÚwÊ›·{5CŸênäݱàã�™8öxà]1Ï+åþ.-#ß -eëÒ¢1ôM5¤b˜ïn‡:p(fæð Õ}6ü׫¤[Ï�{âªéÝ�ᾎèmÑxÜVq¼›ïŽ~ûënœêØÞÖñ?ýv´_à/ùzwwwßÿ=X”ºþŽ(¡*‰æÒÍ×â[ï±:[˜XTk-¨€0ÛeªgSž•ËgÖ¼º¤ö¥æ¥”;së¾<õem©²\Q9‹ 6;ž6_�g@2^x›ùíôƒç<¯Ü àÇ:Nðoi*ÀK|ØßIbÿ…ý4öÿ!Kü¼�°á™×ÿðDïeæî�=öŸðá±�þÇOž>Ö?cð€“'„0àáá ×9:9<8R–Y`¯ßg¡ÁTä£)üÇø—Lðßö¿þ+Œ�5ªÝšJ§µ,²&²¼%ó~‹mF©UX#-4©Çk†¹%JÒÞ°�VZ×OT6aªjD-&ÜɨRº2©'r†ô �¬[ˆ& 6 Xú©¼�·7ÙHcÚ´>d[êÌüUS—ÊR›í�Dow�s)W¢Zû»y¶"Zy­²ÜêûÒiû;:X=†ž2Ì–+þÛîǺC/Å}EI†$)ò-á3€ ³MåL¹ÀZ¯Fê jÿ �•„Ô+2ÔE‹b·XO–+¬x ú[ƒåI­+“Bv]Ýp—åÄUHêÌ…~©ð†£Ý3Gy=øzGZ©%et´àêrË ,BÃ&„Ì @�|ùòå+W*ÌïrwÊ ýÞÌ�ÒDIêÕù -)Ç€#PÃÊEIпÝtâË•yuâ…%òç“ -ÉÂÙa€Ëb†øKA`ËkTÄã%»öw¹+ÁFTKOE¡�ð�de%ï´ :¿BrTÙê÷€çíÆÿ/²ÿ†½Ïw?øø“›7~ M,p¿wïó/d÷Ê–?f÷>ýòÞÞþ˜ �{ͺî7Y«žF’Õêi¡rrgRÆ4[¤Hçæ’a&«.à À¼3ž­VýŠˆ„¦õzº¦‚]j„Á}+HóT@ñ’VGeüÛb³Æ3²m×±³Ôùh1ê‡wI§7Jãþ0]­/ÖW³âx4íL¬=×”ç0®4ŠÕ¡0¨”Êjξ9ªƒœ¾4nÜhãW9p²(Á}ÛŒÂVµÎ�À©àÇÍÕôú9€ôÜ,'3x0�[p}'ŸväŸó´º3�¹½¢þ¤Ï¡ Iã&y��" kB¾¤Zôñ j“M/êg¨bC~óý!}ó8]Ä�½KƒÛ’m|Öß+D$Â-b�·ž_Ÿj®Öãûî¤ìàõ�[ Ó�]*ƹl+©zâGþP$I­`p‡jS¢9@oBÍ0¼ÝèJ) -pê�ýoà_)]1ºü«4&D:%I¯ë;t�RÁ*ÿÝ6]X·7Aÿ6Þ‡.ôÃ)PzGßÿZü Û×ÑD&ô¥œu<;AПóxU|1ß�ªí Õ0 -õN¾–ÃãÿùÍo†Ç#—­)£n}qŽ•ͺAÅ·ø -�|ž£BÞÒ¿ºÁÔ= XjŠ)$™�$PÕš*•žê7g›ø`¨Å ÿp°åì"År8{>ï0æ^ ÞÐýo@‚ùÏ‹ŠðÕ>˜AÌÒ,ù;ÀK¯D -þ�ý‡ÇÌéè¯aº€žÁ}þóO„õxüõ$nBêÿ�Ÿè Bô5G1.@áóöýA±¹Ùm‹Ì -òY}˜zã¿Çÿøâ€ÚJÀzð¿•ïìôòP:æ@ }â8ÙÌñ+,Ö“aW�X-M}ZY¥öÕ -áöÁ¡%ÒM©~*üÊL$»¨ÿÊß9Í9IcGBcT¢³¤ ¸†=ŒÍ(~ý�˜íWê>A‰Û¹ðÓK½é1lFÀY’_z«ÌÄîè›üæxÿ�]Ý}>òB@IE1{�è|™¬jÆ¥º¥§Í_KW±ˆºŸDœ‹%]ƒïHzšõ�”´›'·+3³ºxP+lØQMÔÏ”òa_ýÕÃyôL—ˆ¬w3{‘õ­þd‹H¡½æç–×…JúbÞ ¨Ã�Ê•?dcBn„rR³r¡IHµ½0yA�è#äl¸Z�Q.ªÏ [«2IUñ·‰ù»4UIRi;δÈ. >ú@ï™ûKøDPâ88PÕ9{¾-Hó¡íJ.ÐÉwFdž½�]Vd]¨Ì*å3•XH𯫔û›ÊÔ öÿØüøÖþŸ|÷±Þ‹¼}ã¦þõ?]0üñå_¿}ãÆ�’Œ‡ÔLV—ÒÿZD“,äÙ{‰`K".0'¶˜ä�+ÓÓS855=3Q®ÝápшÁájËõz{]Ìgâ¿"8¥S´ÐñüË,ûZd,ÍYb@(,®×Z µ¨Ú´ˆžvò}L¹�Õë«â˜þ4ydƒ½ß‚ß7cd—Ôvv’¨!­!WMÁE#œã¾q2·tm1O”…ÖT#æCÎÄìì윉ÀP=õ¨ß•CgcÈxˆÀ™—Ü9çP]�Ýd0Ø�n½“«Á0(¿§R2„ =Rƒu›qéV½ rQödQÊâkåI¬Å¹åk™¸õ$d”€ú~G©L«õ¤(ÕPa°lùö y7^L‹o†ÃÌã°wî:%.ZD¨§$%6À]s$>4ÌE1ÿBßòu$vqé½àMø¼fjyã¹¢ÊøkÒ€Äæ‹tQ*ê£ý¯Ä䄨ïîF»[ô»Y;Ï6ûê¼Y›› -`uy15¿ÑñoG£aG‹e6tq+ÈB„ ¾Ú×ÕÞ–.Tº¤÷õñ7ßý é -!¿àÀ›£•€Å�ù(p‹ÎÏè'èÿÖ¬AÈ£¬-¦Øs!]É”%0Mûmž -n­»®üÙŒ2]JnG&„~{8°à¹€ñ^Îx­à{Íx£pßé à;Àõ•>}T¡@t¡½B©Tº÷}OôÃØ×_0ûÙÈ?éAýÇ'� ÿú˜oŸ -ôÅžªúŽR’‚ðÝ©ø�ZuºZ�ªsÕ¹Šnq…æ83Ç6kO.òq労¸’ñÞÜ{\þ�wâp'.ä7¼¯.’�Rø>$DOÓÓQÕy -ÌEõh‘uSÞè€i!ó]~vNI©’r¥¶Lú¢Ž–¨ŒTP©×Uz“,qšD˜™þcÒê.¦Û9Kçefzö�f§URs!¡/ˆ³¤îUß9sk}¯›¼7jCižßúêpvö‚J”$åÆ0;wå�¢ÊÜœ¯èj`Ói¶�¢Fý¤ é8å„S§ßãõèú÷�©€ÿûK€¡ü¬ýÿ™ãÿ0ï�ÿ2ûeÙ|óæ§Ÿ¾ýgú Ôÿ‚  ü;8ðãÏ.zð)ႌþ7½+o,…ŸFYÕhúròé0ž�6á¯Ësb›�[h;e¦Z�7úU/`‹AœÆõv^ì “²Ì¯ò°’e[y±·vF™ø¿Ìi}€A“ucŒtaM8näC]³�5ãÕëiS(ü'2ëDƒò¶tFl’KØÊVÆzüB³¡­‹ -Ò�EöÊÑ…™ªëZý -~7ƒ€ƒ$ë9Ó ;ƒ—y ¿Ä\è1¶‘W¤âqL<¤9ÍÓ�J‰á»L¶P’Õâôé#ˆ©©€!qŽ„bþÉÅ oÖ£µ‚• ”N€<ë Sæ:v:w•Ñ‚Ñm±Ý$®FIo¿# `ª -‰É¡0#¶HN‹»iÿ -§Ói±êVÒQÊ]0kýH8›eL)TY‹f5rR¨�ÒÈ�~n©'ßèBÅJ -`€àノ`�Å�[‘õíÒ@I):_ÿŒ`#xÀ}n«¯òîâOðãÖÛÀ‘~{úç<úrgBd™|sÞPÇ?œ³†…@z.ÚX €[ ¨ˆXÄD¤–.™œ. 4ƒw0ýÀ\:ãXSÍ«‘S‚·Ç€µ,ïe]¹Hö /�t_ðo´€ü›ÿ_å⺷ovE!¶=ïßi$ž_†;¸ò,'¼ÿÑ“‡O=1�Åè ïñþë;?žèýüŒ÷"'�‰À #EàGG*ȱ†›jKí6À/0ÆÒ)e}Kÿ•¨ÆrgEu( ¦Nì³Ôä rQÊjúÎ*Ø\WчøSMÿ�B¨<²¤Ö¨ý˜ÕèØ€¦¢ž²Ð’¥ÞP-ŠãéÈgú᪖fS:�A˜@b”þ22®ôܨ;„Ê„µqEf-^6ZSq“oõ Ý%V>Äb„Mñ�§£:XU×ëâæê™Û�ŠÚn·ßÓ«ïÔ¸å(À™·tyÚ‚íÒVKí..ÆNn ëÇ5ò®’Ö¥Ûb_dREÏ]0ƒ¹U3ÉV'% -¤™ -(fÛ&ý‰̼5[™+7íÝ.{™ÖO!ý,õÊÜÕJÉgm½¦ÕE��ÊÁuî×4½íeö¤!u']ù�§gU—J¦ŸR‡D³å�NeæŠú¼ _9d°Í©ID5ÚõZV�˜e(Q“׳ººžt Ô‡2 MÕÓzU-ÍåMSBÙÿiÿ ê¡çíÿsø/ðñ_ Ù?ýD àæŸ{ÉŸ€ü7ï}ú1áŸ|þÙ�·½[àMiªÎ¯Õ#ÓZœ;¬>ˆ,�Ò¯ìïE±ÌP"-òÆl£³¬¬¼ÜREë€5æ¿°EuwË^w ˜•ž‘Ö±” w¤jãj&û’�øÞ%ëYN\F(,«{µ•R÷¨½w€öö¹�Aq�%+v‹rt<—ÙæÙoÅì;]C;‡`K­7ð_zÖPzÎÄìÈÂ?ð¢à| €“b¤æÑõLÚ+=N!RzÖñ4oËTM§ûb½‹nqn“yÑ/ -�žÐi4 ¾(žœOÙ‰i=΄¬ªj”à^n@¾Õéõ~ÚÛí±Î—ÎÑ�ñ\÷ -Ï|´‡_è�ã:*Ú´.R{þë�vÝûìÓ›÷n¼}Sô -ðWú]ˆà¸÷ÙÇo߸yïcÀO™UãÌûʆ„2ªFмÞd­èÂèɘG̦*�«•¥%•Àh”wãa>üz˜ÇÍû»’'�€Õð,+‹N¯Ë€¿ò²ž}ÓIêwÈç‰øèe4g"º¼X�Sµ’á(»ñ”¢6IùJsC3t�]!7”ì'u©Å;³ä¡ðn¹†æV3�x 3Ȥ¤(ŠA±³óê€çg„dQ£º…îN ÀÄÀa‘æƒ���²�NX«ãˆcÑðn}1Õ±“lUXA·Ë71ͱ6œݽ]Wª•ÐÍ‹¬ÎƒÊ|O€ˆ~Ý�ãØŸ›ãÑꊜïaB† vŠîêõÕâÁ®(ƒN‘Ns0®ë¸Q”ª›ä£ÝÝj ÷E" - v*Hr§dš"8€Ay¬oS€‰@¿Z‡¼B‚€<KÏÅÈjW’7º ÈÀÈÛp¤Ô·›Ä@ýöxx0ö I_ã8€ �¨KK O<R<¯òüñbÄîÏxÔÄR^ð¬‹JH¯±èí³S_�ÖÀ 1FýÑ:Ï瀎¿Ð [¾Q ¸Oblþ“a¿4ãË|²›„]ÿö†`?"œ3yäFù1ô…ûŒòëk�^à¯gôù‰¸‰>ñ¯ßŸè£þ8G‡=%$ÐnÃGf/ -(;˜HƒJÝÙñÕy¥R$Ÿwñ Ñì¤ñ–CÀp©ÑWÆ“<˜3Å–Ô¨Ft8ÕÃI& ñϰ�4ŸÍ -6ͯH}Úù©þ«FÉ^½¢“,ÌËÊZ›­õAdŒV½“7Ž'r³•„Þ Œk’©%ÁÈÕ™üž%¶šbÚY8CÏ>d¾9�;4«Ñ³é*LõåV ¼²lûšÇÈÝõIf»Ò?ŒºŽªÖwúDgXXæêÒ±Åή{Ô¨¿‹Þb’8sºJ«�;œ¦œ¤¯ǃb¦ÐtI}Ë!Dÿ¹÷Uô¬fæÇ\cñúËnLy!pX¢ÃrɃd °T3aß+GõtÄœqÝFzMPinyeéËË/êâ³³>Ï !¤�œ&óãní°CqÂØZE¨{£>­C“„˜³Fr¬¢Áè%1€N�eŸ×ehl´#ÙÉßK¦~^Žÿ�ÌýWØÿ7>þùå—àü'ŸÜx÷“ψÿÿ/„~üñ½OYX"vðöÍ›j5¿ã"Dw)¡P!¼é<¤Ý´U‡Áä–èH· c‚ÿÛ7ø Ï¿´ó'7udA�Oo¼�Ušíü:�³ýãÿ¶kÚ¶è’ÂmU•Ufø—4–“ÆJ£2ë&d>VYQQöë©,úoFø”9«pl™hDˆ|#®·‡Å¯�r©÷û÷óQ U@,b­²ƒ)¨Œ*Ñìl$ì ¦µ[ÇúVQïž ˆ“è'îbqEò=Ar¯˜xÞ3À.Öoʉ�sÜ^!E‰ûájº¢z'X`à€÷p’ ¨Æt'Y3O9ÊG¤ùW_í è!Y‡¡!ëât@7íÖ¯G]‹_ÃõͺuM(€IÏ颸ù0­EÉ&—-Žó8æ�»Âq€üC÷C³KéÖtàÈ„E:›�PK£"_­K­¨ùŠàÁ™Ÿß�²a¶ÕS;@)• -…=�ÓX5ú"ƨFX“`âÐ-& àÝîæcgÿK§€q %]ÆèŠ¥ �m\À,€ß<8`À¼} Rbð}bdñÛp& ~� „>àœ¡H””€îx€ÀÿœàE`³xoøŠcîE1ú ûeë¼Hʧ@þE1‚}ã?ýU¢—ù0¼Eh˜ûß0ôïéz8éñ” ±í°�Á8mã£& XÔ{QöëÝÝýܦži†¤GÊ=ç¿Z”zß@šÖw�J–-(mÒÀšŠR¯ì -� -ÊzY$ÿÕݘýµr-H˜�O'«TªQc™u‚}Ÿ±b÷Æe�<V ú²�%£Åä›ÝýÑn{qÁ©ÔUj¬}F ”­ó™é¸\$@Ïiæ(¨¤1Ï6A˜éSîÛÅ}üË*€õÄ碈]q=_Z÷µœ: ÆÂ¥©J”eõº,zs™úùØøçIX?Áÿ—ÙÿÌøòËÿúåÏ¿ü³ÿÿË�?»ÉÎÿŸÜûøc±€¿6 @Oü1e‘uFY=}S`LïÞ¥9 - ·dçiT0•M¤V~³Û˜ªÈÂò‰Eq4r9L¶Å¿ ~^ÖG¸‘]“¤Ìè±óç;©jŠ(>Vo÷¢ÌÙÿU¥½TÎWìÓ³ :c�4TAC–Æq‡—twAžû»™‡¤!�c…WÁWOí„e¬N1‰¨A7²ÂÌy鈙 ¼>ôÆ2eàú’söùíYüÿ™ÀÿË/™;ð³{2÷o¼ýÉñ,ú[® ôqÐÑë»ÃA=.Ž™öÓŸövJ/ ðŸÕYŸ‰ÄŠ`‚œb@zeºÂ¾6X?5}¡z±öÖ¹!„jTKx–=æ®ÂHVÒ¯âø ­gÃûÜ3Ëî�j¹ª¹Ü7YõÒyÙ…x¹] ª§aZ† Œ…O`¿¾%È?´-zð¹$ygö�3Àƒ‚+Ý£\ñæc�žbgç+AÃËgŒ÷à${Ê4Ñå�OÉE€¯Š¯¾([ö4›õZ\‹«Q´×»í¬^ì ó(z_‹¶P â�;Ñ ¼¨ÍÂSTàŒÜ5‡¬©A �ž©G8 -è– E¢FG¯ÖY*†¾·ˆéA†Yƒ‡˜ ¡_¨gEg··ûÛ]› @õ®z\_‹…ˆ "Œ8^HÆx‡ïÇÃM^z’X(€—„¼ò1öxÀ8@ÉÇŒgô³v0¸ `ì9c@?¾Âð²u†þž³JÀs1Ì ›¿Q Àó³ØÏ€WÆkí0æ"öüoY@nO -xr8ý >àPç¶…ÀÛƒma±Çÿþç`}Ùôm¢÷?²ðD¸ŽgPׯxþ üÐ?f{åó©ŽYÐWÏ|ư�gž=Ö…O˜_p¤üã -V�¡*Ha9þ_«û_€rŠþzlxèHï{�»±KI‹¸‹xÓ -O=K’ÍÜC”¾¿,íÒ¼Ymä-0r~I½T”ò6žj0"ó K­x6Ê}f¬;I/²ê‡d ‚7�'¡Þòž:r›µ+�ʕمË"îÙH;¤B 4ÿÖUáóü­FÍŠ ´Hy³´¡ƒÀœEéåE&´8Ÿò™gÕæ(ßâL6w‰¥V¾ÅÝÇ©ê‰$dNÐl×<�wá·±”JŸ Ì[Y(zÁviåë»IµÁ -™MìÌàü—0Ïèÿ噫tÏ,±à(\r²Û,ó¤tߎƒ¡G4ƒRžåìj¿«/¸]H jÓšÏ�R¾Ã´× %×¢ª²ñÖ'�…k“ CèÇåKø -‚kañ9/ -»‹usÆ«ŠKtu¦û ·°`3ó²¤XwÉñ†25±ÿ'€ëÇöÿ½rý¿Sü¿'óÿËŸñÅöïß½ÂîÝü?ró³O¡lLðÈvä ‚ ·¾)r指~¬p“ÀrðÖ/«õ²¼<›–Í,%i\Oû„ Qk¤!sÞ}w}Hó~úÎ"‹Æ¨üQ�ù7IÌò¢˜˜½õ´ñkÓ�ñŒ!ëëYªø Êë³ß€¥ ãŸÎ¡¨®ÒY1¾ ÌH˜¤¯ª=õ„®àQ€Þ®ìô—ÇØfLbBb°ã/ò ¾Ò•éâÂÏÔ©Åqt½Z•>-=ºòPy²R–†.}1xÿÕEVTJ°ª¬ØïeÍz½žu‚Zñ‡v˜`'ëP®رUÏØ“ÈšÀ>´bGA•ÐG’ -[Þövu"�+YR/²ýÞO÷÷ - óò ªz/Æ¥Kõ’8šŽ"Nv!’ÛRéÀ0Rá¹jÅN€›Fø×Èi À­31/z è§€ó1£ãߌcµ}õ:x&1,H Ú93 @à%Ý¢>Œ@ÿÆœñH;Ií©¾Ä8^ˆ�Bxm €Ìâ’œ™ð½öøW] ð10 Ÿ‡þ¢yÆÔ-g|¶†½^þÿ@ÜD¹dåŸ6ùaŸVö#þÏÓûù`›ÿÙ“o•Š'�•pN |‡ Œ]° ¯ÅX˜‰ƒžIØ"H€‚·E6?H•œq�ñøÿÿ+5®S)9YÏ–Ê€Ûcüç%N†qµýµº^øn,좭_•ùñÑ ls¹ˆÙŠ–3gÔ¾S¶úµ Kªå”Ò.gM9S…R1:,˜yÃØRà(±g�Èš^)c¼¼m·¥Qèk•™?¡5+ïA]t‡ K‘šŽ*cïEÛÏùZ5vp¾ñ_}bþÚ|£¥Ä“6¤›uúy¬4ãi€ö”èòNÔ9ñ€‰RRÎ1º‹LH¡+êw"Þî ³þþÄ}¬Œ˜¹6w+eM¿eÇx3­Ò¥†aŠN ÓöÚlJy¶XGasW§FéUqÀسn3uufú¶ ‚9*«lØH–t¡cKÄ”q~<ö΃þÃΊõ^V¥çšVŒ¼*E�LÝB×¹¬¤/$E½ }Á` - — Æÿñ‚ÿ3øƒñ"¾ø¹)»Ýd&À'z£Yàæ�{ŸYfq5} ¥–ç;[Eº¸*W%UÖŸ!…G£±Mž¡:Q×YLóû„áû €4Ô$‚ylîµ-/h+%`Q/Ã,J j°fM–œf ˜$�/!¸ëÖ¥ØCå fýÊA ²è�l ¸Ô…ÿ³|]2 j±ýäVb9? À\"x€†WÅx ÌÄ0‡ý¯[èÅ€Rã(²¶S|µ<Œ‚6jõZ­ÉŠ1+“ Šâ«¼ë+÷z_ïnÉTßÒ'o°4áï®5Y¶î Oò¸ZMóà/aŽ}´Â°¼²´.À¦š �…ùkª©ÙxÈÄgVMÏ©¢Æ”ØF<Ւ€^oç§ÿðð “èÙ’gõ4–—VÖY¨× P¬Š@Ì ?Âd`[@ŸÑ ¯ø›ÆèàWÄx€àøÄŒg(0€Á,€çb„öJZ÷ŒàÌ:/™ {}/ÂâL¾w `nè~Ù:ÿг^²ÀïØp÷yÀûfà®ð\„ÿ�<Ú3ûïÑ á2õæçög2éI‚Ÿèý(¨Ç@@ßs -Ö¿ÿH²ÎðÒÀ:üñÉÉc0p¤Ûj£›D´ÅK”N�ÿ ÷ÇøÏÒø§2VÖÞF�ŽàÐosð›çiÔ©��r,a@ Øð®÷æ’Þäͨ�ózæê‚PÃÚM¥v@¬.4–²d®‘®M”•p1„Þ±!ø©ä)Ðéþ¬Î'Å#õ€Š‘á…›þÊ[×XßþŒÁ‘¨ËqóYåÔD#¤:'Jøû%f’"eºcx¿´„YP©,'ÒØ(ºúzžm‰4ð¨o(Ÿ²ìø ÇE8(ïeÒõNi—¬$bi%‚]ÐÙÊ·Ê ê\ãb5Ò‹µÜ± xì‚Ä�¦éû ÄÉm%ŸòDtáz˜„¦oÐVe°¯AֹʄÈË�kR7”º¾²Ô¨Lb$bú—§D¸³G(D=¾^^n´Z�Qú0ò�æ ¢ÖâF^NMÍV’~=–® ñfrÆ`ó¿Äú3öÿä;˽{_‚þ_þüçâP†/ý7ßýäsÀM"Ÿ~!]ßSkde~£( ,¿Ë qo´Û¦ÄŒ×,r%‰s¢dcWlµÌ\™�2Æ^# &¹ßS¾Þ×Ñ…Ðˤ֛:Š QcHó"nä=7‹õ¯S6¤Òízù¿ëtá±ƹ칱¸á€ý¸Á$$ý.Cà2š{³–ñÌ -'K üßìX hLuÏy ´÷Ø `ç«—Åè�Öpš€ý'c? ‹¾õÅïcÀí¸É@]ð�à'ÙÂp @ÑcÆVGUô û¯|þù°óažïÓú�ë*Ñž;Yu?Ò¿Þ²+®š¥¥‚h²d3j¿öš…Šß sÇ�ÔÙ« 䩓ŵN¾ÿ?ÝÝÿo?Ýšl�§$¨‹°·è“Nç;KtXÙ«”u(½“­­býq¼ü�¿ðâ,€û€ÍÒðÁó1¬8^ ßß:; @dˆû�páw2+·ÛªM`ÈrF5··d->6ŠüN/˜–žP¬‹ú;™×úøí·¿�¿}öôÑÑA¿­ -bÙô··7î{Åöf>8|èóuºícÞ|gg½^1µ¹ùLå7|ÊÄ=: -þÏz^pñJ€ðo½€Sü›|W¹ÅB.ç}Æõ#Õ¢wþñ²¿aõŸGO„ÒT†¿þŸÈøì?Ãöÿ¯JÇS¥XÏ*wÞ[q�‚°˜á-Ê?S!Þ0ÀŠ€{Ûƒþ¦çdi³YêG §ãÿ¼©ˆCžþžÐ¡¾›Èˆj6âÛÍ÷…á@EÀ�}) ¦DÆ3"´ç˜Ò“®ß›:+Iãj´ÂÈòµFÃ`„_OâQt1rvј“”é'œËá燬Ҽƒiiq6]Ÿž­7$KzúÊ[x˜0N² Ê$[oåÕ„Xl‹ïÆSÒ”’tš]ž5™$}VZ;Í&¸¹°ÌÖwAS#ëÒêcPiÜNO(<+i .Ê; Î:=ÁÔå}¬˜Y•K˜ë�XlëIÖ·QQ�G"dXâ´1Á¸á©Ñd§'ž’c›1IžÖâ6 -Ë÷¶ìHµ¾#xffcÖ –ùϡГ÷°ÜÇÿ¸L`Àý-ÉÐäèþËw–ÎG�HÊñ`eÈóÔ´Þ‚<\k$£˜ÍZ¾�Lëÿ"ûÿùõÿŒÿŽÿãÿ>EOŸ~òÉÛ7DðÿðɧÇ»&F…øe¨ÁÒ0vë2DZt]}âQ ÊØœ_n,å ö<þOUnë¼5±ä<š‰ê_L§!©â÷rrí@Áð=»½æCœÇ¼) -ÁPZW€6ųRµ®&•¦Ä x¼�«=4yÔ;¢ƒuøËá -5Cc>?€ ·Àë [^0Ø¿ÂðÂ^$LB¢tâoÔ‚KÀA>.+. Fë,X%ø�¢ºÙO²¯tߣ”Äà>Ûì•CƶEi.F«mö{Û5üwD¸g¹a°Ç–CÇX^Ê�udÜ-Âl -RO©z¤oØ:0�£UUC{1ð�ûÿ°ûÓýÝÿ¤~©+Èúµ˜äꂸ»p˜ž¥´Ž³á€ú€ Øç|ñJ™xÎÅ”H—nc€(™gÛŸÛ `¼àAX¥­Ò{º™|@œ¶ñ@ÄòÚÒð»íCã€GP™È*V�Çà± Àv°ÀÁÞPÿÅö`[èxxòì©qþ;^`��‚V}þö;Áµ®o ¯ž>ñ\µ±`83 àÍ×€¤Ýÿ÷ønn.b×s>dÝ~¿_ ö”É£OþÇUÿðÑÃÃGaΈñ{ä*PUxV¿ßcùSò,Pìá%϶¿*öÙ“Ç$”ˆ¼úRuÉÕ¸ú ˜ Ê¡*:ôûÛ„tÕ|›±pÿÌø?Qd¶ÏpÍŨç;Ñ`7/5Þ¿ Æ6èf6ˆŠý3cì|í\»™d%’òEdʼn†õ4SYÐûõíöF×Ù�ÙÙ\¤§«ê(àŸƒu¸»ÎØ:ð&bÂ,‰þ!üªqeö*kí©Ã ˆ a‘Zø»ˆÚ#neø—4¥|3¼×eðUº5ñèÉÒ’×éoü‘(AÀ0ŽÒȆ†Š¨…/Ò[ÿëGž,»†¼„ T’]މŒ¨YŒzñ bø[˜øV”Úì(nŠÀ3Ädb±2�«ôë5î–ô%¬÷à{8Í®†¥x.€PI1G¿ruª23K €×RÒÂjø+¬Dp•èà zu"®^5€ÉÌõž+�d=QÕ"äÄ™I¸úø‘•E$„›£f<|™„ ýóS[lÿ¿€ÿ7~æøá?ØïŽù«Oþì¦hÀ=öý¹yOø¿_dõ�,ª æ”�Š4vd‰Ä•Æ“XÏ‚$gqÆ+W*ÓaçŠpc©Í{7F„‰¨šx¿`ß³/,ª‘Ö‹a^tÿ£É È]š‚¯¤~-º1K]Hu0ˆ5`øY»ÛéÝíÜýˆY ÌÂ83` ;†1‚]N=aW8� pX¼:Ks@Z$!@M—N6ƧÎÙÈdþbïxD²k,ÏÍ"Õ׳ô'Ëá@zÅÐüHoû÷ï§éšÚ"çL›Ic(¡:ÍÁý¢Ÿ­Öã|8º«œº¹–ø·ÕºÃc÷Ë++ÉV^ï«"{Y÷8'C‰R«\^nµf“^’ ‹¬YK“X¦ôƒØÿ‡ŸþÃO{[PDˆ®õtYVÏO`g½äù  ÿˆð¶´ó_þxu À†I^X PÍêåë„•7úù†cÆp­ðbìh �ƒS@ó¬à[@ä"€aû[YßþüTf1`ó”ór[@Àˆ™ -(Ú`x4TëU—F^ä8çxY €÷'›päÍ<ßkÀÅ8<ðÝ龜<ëÀA+[²Ûí‹3 Äþyî?KõØ>xÂb~Äö=#׃§Õƒ'Ç? æ'¼®&¦ -Úóïi�ž&šOÿù?òªÀ"‡‡l<È·7»D¦ÍF|6þOÿ<©uMÄt_½*zóÙ2d.à?œŠoNãÇ 8ðõÏ+/þYÀÚ�‰9àš€ÕŠâÏÊV}lÞ ¶Æø�t¨º<šú½{9*+ô²Ô+¬¾ÚÊ{+¹Fc¥]™¹:uu^Ö5?iÛ,mDÌÓ§jd²fÇ0ýRîHÏø�nm Uï)GŠ”ÍaÇ¥  Þ{é§[åÃz”€Ú Þò -¨Ž2”}RïdPÊ…Z~“wÆ)_nõ’Y†tùæÎ;æNBÐ+fAÁõd”· f@+i²¬SùžzðKšÈTï­&Q9ÛS"cEÊqë}þêÌÔüÌ´Iœ�¡B80a·ÔÊüµ«%�x)ð°�,¯ ÕÖ\Ä4L)KiÏq±Êjj4nÕp2L±ò0nŸ®ªö&Rzóìÿ çðÿ¿þÜ#ûŸÿÏî}ì?¹ùÉÍŸ|òi¾;Êã(7Ù¥í)Ó[½á±à¿;, -ꇺ ƒ7(ø�˜0´±Ò˜ž�U=U¦Ø¢ÙlA¥J�/©Ò£dT„Qµ±Öo ÌøÖ­5LK-vwca�ê¦[îE…¸-»™ÓªxöÙIÈ kGò}@‡ÐŠ:!Æ]3”‰`2�è‹åÅu”t|ñBø�—Ïx~€�fbtyæ;Â3‚ŒóÊ12ÿwv(’0P�kqMðU"pK!þkóöpPÜï÷×tÛq¹¸1ó¢÷z£¸Ø_fmQóêA²ÅCŽéuÂöåeæé’ªÆ'Œÿ÷ ÿßcÃÿC=�ÏaüÿäÂ=üïº0Ð;ÐEþô)ó©O£¾¹ƾ R¨:Q=±p�×b,àÑÃ'�X àèp¤2Ýôûy_ @]»©ÄI—Ÿ±ÿQí%ø# ¢•pÏKç8—�åÁbΊ¬š2\ -f‚Ëwô’¨œšÍ$0ŒÑ¦­�œà;vTÏËF¡Be#$êaI'cÃ]�}�ªzºº5ÚU‚š -ÐTÎ"iüŒ°îžÔtwe/€?¸\™Kz'±IÜð*:Xè™lzÝ\_q2&R®æ!§äL:3©6ú�Û@*KV:A�®ëöxâÊÌC–õÅØ0pÊÍqt� %^9)*çÍ·î‹ xÎy.Ï\ÆÏø¿J]&@½–´˜‹þ/ÅöU¶ e�âÛQÊÇÙÙÌd(q'¥Ä‡0ô ”ö=—t§kS•ÙiŽO•XaÓŽŽè¬¯·–“Y^:]PryæÚ̵°Báü¼ÇFIƒ¸PJì& gÏ0ôøó¶~vN¦.Í4’"®Ëè ©y3 ÓÏâÿ+ìÖÿûòç§ãÿ¼è•�ß¾ñ £ÿ÷îuŠáz³ -ü»TZ´<�S'>ÈÿŃ}¾öÐŽðŸjUYŽ9 ¥Vä·¦g+ÉÂÒÌԵʒUi¹mÒ:Ck´—cyɡԮ‡t…k–÷T+È{Ãv”ÆQ:ÌeTˆj³¥{+&¢ Dy]¶¶– GI$0 9ŒŠ’ÑûQ¢»¹i2ýÞ;³Óþ>€|k‹Ä“ŒSÀE1ªø¯vv^½ÀÙ'V=DiÒÕy¨1—øïÔ…Ü€Ë$–"­ ÿUƲöOÚx èí‹­@ú÷íàìRÌÎõ*0ÊVG°�^1r/Æâ"[Yò¡Š`KLZö¿ª‰ý@Õ;tƨ[*¯Jms±©.J”FÒ¸vµ±Ô˜eGlŠCd&�ãîÖîÿ÷Á?ì‚ÿºŠi¸'¹½>/-x7|¢ ^ð´’;ôcåÛ @�Aç`ã¿Z.ŽxaÓû¥€ï¥™Ïx~süâ:€Ú©Ê!€fÚv À`ð*o6Xƒ€wú*€oñl¾èCâa@ ËX]zìïHžóè«ç<x«¿ €1=¤÷ß6 ä�$ù…ÍÜÎùÔè…‡ív·¯ºeýÿ£CÙü‚áÿ㇬ÛÃî~À8Ào7€+ß$€=ÿª_©ý?ýVìÔ¾äýñ…ÇpxĆB -: ZO±Úì:3°O‚šôû©"ëb,V’ª0iöˆómµ�¬€#åd«±§t|ìa펱@�&¦vÆgX@°â} ¬py«ÆNæ>¶œ'sÄæÌD×Å÷9¬TVæ›!:ŸÂ·tä›  °{+ KúàH‹ê6 Æ`¦Â#J"šElâbæRŠÏ�èß�'I«HfkV=aò|X|�àû©?˜ºÌø?®µ®ãØxQ‘©�…‹ Oü˘ÄñБ -º©ÔS‰ÿž¯2rmæref]@™K£1%­Ä^Ôå…™ràÒÔåËWÀ@erËTÀ%iQâG à Dx³Ki’Q‡Ê‚ÒRÓA¡ÞLhGþ9û?àÿø»R~Æê?ìpÖþ÷Q÷îݸùéŸïîÊ,¯eCVì=#¢=ëýo÷óõ¶jJ5¾§ÖŒŸn\wdµ'‘q‡!õʕ˪3*s,´e�…ç —5¼¶�EÝÀ—³#Üïþé~¿Z­·eþókÒ�dPbóIÖ¯èlåq|¿›3åEÝ5ìó@ÃÄy޼óÑ]fCÃÍØuÓhPe%×IëÔ=ôÂ^ú“.$8öÒ¸õžñíT@.¤±€�œ úyâÈrÍZ£^«Éü�ñdcÒ+À˜Ìý~ßY�Äè½!V(¿[Äzμo“8 {8©RˆT~Ü¡Xž·ÇRéŽÓí+eµ¾šëuù]'¢½Ò÷ZêŸ_÷ò$Îöÿ»@�E…ôƒ®˜uˆýP?ÑÇ…à¸À ÀH¡Ù¾@gÒƒ«ÿ¥�7‹0ð,€ bD¾ù탯ÏÄè Ö&"yÁpA 0sÆ x[ÇlëSÀáÁöù< ôóç=†G¢Ër¥<çbìxU €Ïº(@ߺÿwî8ëám6ší®€Xƒ -Œô�aùóç5߬y±%�õ“w¡gd|…ßÈ©�ç_Yv’¿}Fq�OXBP´B,à)<À3Âüн=% |#@¡&U~jÿWήXá!é|©{Ù˜R$Lñ·âʲªÔÃ"ÎÔAÃ@óŠ€×ZSÿ±¨FÒ¸ÏÆAíݰhAWq�–ŒÑÆ2Óu,2X0bÃ�òPÝ è©R}QêqX¥ŽFÓ•k—/W˜àô}’£Ù°Tïí4aU‹‰KÐФ<ÈÅ;@I,N˜š`LYëç[%˜­¬+»-é< ‘aÍ�@Ô‡¯¤30dJÓäÉ,f‡´ !ÌØþŽ=I7«‹%8ßõq�p#‰¹L¾( /HJŽ(¹‡Í6¯ë_�™Ã…5PÞl‡*i­4QÁr�°‘ÒsÍk9 @M†Q¾Rm°Ó§CµSáL˜l,xÿG{²¸žmðã‹=gðÿöÿ�ÿÿÅ™ñÿ þ³îï�›_~Qô’zÔd©Ã€ÃAT2ìûAœ«�©ôÊ*µ1PîT‘>‰=4ȤŒÌ奙©©{_K—0µ‚ ÚNíÖªÐØ Qž¬ ûY/y-²]„ô/ž){ø…nZ  oþø>Gë@ Ít“IËѹ˖x�¢·3x﹕¨|n’‰@-âl P}ÿb€ÌQ<û/‹{”Ò&ÑÏlPÆ$ñûq£Þ¨Å2ÿ«UõãŸ0î0ðȃZˆ¬|ä€þýû�ê”"6à>ªTîíæ± Ƴ¥ä÷ö‡yZoæÇ4qz2Ã÷b÷�NÆóöuïF¥§+SÉÃãö¼Ü˜�xë,•+¨>z~ûÓ�ì°,Á��ã_ð¿ÐàB/€àü�@þurq Àx€ì/áùx€¶÷S^ˆ8:>>:ÀV~ÿü?CNc6_ Ú@bôÅ‹1{ç<aà| @€ÇÒPè9@ÿ)°`û4ðõ{èäó€^Iß¿í:Nðoð]¥d¥ ª dÕ‰Øÿ§¿=Éaá_†þYöï?®zGð;“ZÀº×'R!t'-º²¾ Ò'jÊ�€¢fNä_à'2�9‚âubžÀ¾@0«Ã½ƒ=uºM¶˜´…«¼è/ñÿ,°cIª¯Ù xs:™8h“¬}GÿxÂ}€f k{Ðu€ínû~#oÄë">çŠçÐ[Œ�|ȯ š%³‚]ÌÔ©õá–~ôïtxõ,ý �*:غG8õ�z°¥MÙ Ù^ìà0})R%‚ ,ÝÀ:ôêd­Š5êo�jÄ)WÒù~ìHš›Í$Í«ÍaØ>Çö�tÁBƒ�!!ºêz½ˆ«‘=²üZ²+„ -p�pz‘¤+©Q ÌwÙ™Õs’d `cƒzþ 6„§ÿËÐ&$ëFõäveÎÙ_�VxXx§—´XŒ7­¬­ñ-|bÍ̈ëèXrŸâu鱺|'s|¿®:àÒÔe€«W¯]»Êk„rP³Xʘ°âk:5ž0§d^YÑ©1²z­-0»óæ@€ðsöÿÙïÆRÆÿ{þ?øÆ$Í®ÿ7nÜû4&õE™XTŒJ@UéI~L:¯CdãæVÏ{܃ç.3 V%ŒIM´1k¬ÕZg®yÖ˜šé¬›r9‰ƒRuêñf ÀZàG¨ž…†>NŠ:^ŒÄ¸pí‹sªžA;�®f#Qô^,BÍ�ØÁÕè e}ö>êݵàÂ(@¼ð"/Æl[¾*D¾RŸ‰  4¸Ÿñ„�(�§žõ°ÀÝCÅ{[øO@]�®g?é² -@épR9#à?çÙ¢\Ó…•ä^‘ÇÓÙ;½»Á˜ïކmé -Æ$´7õ?ügWÕÞT¥âíð2�]ŒFj:4S­Ì±íe¢îü¡·>ÞQag½ov;ëa|Llн²Ä´¯]›‡À ´{tZ· RÚù/\PzˆÐ¥Ÿ[`À.‘ÏÅ|ó›_�ˆ(÷èL;+@Ãs€—Í8ëÈŠú²Yg§Š„!{Œóß=åI— x —}q€ ëãN<¯Œàä×Ç\°ÀÿŠ€�Ã�&ýUÆ À>¼ÍM�IWti{À €#ÙáG‡'x˜ÅÏäñÕÃNÙ{öŸ>(MO‰òs%�¨�CýÑÑÍ9FŽ] á�Y‡‚IÃÓŠ©4loooŠ´¡4ÍE>±ÿ•|7j‹¢¥#¤À°Ü z},ižVWƒ&˜ìXŒ Ñ° õ&Õ:+Nšy­©óé2uÙ-k ]ž€u< �¬Éš›–Fœ´ö{w½â7½½D.Ý -[õ(�ÈõKwÆJ:8_íÐIþ¥„xýÆü:�3&À)•öÊ5ê»J/‰]#å2ËÐÍcéêèRãã–Ê �ì"–Âö/ýzõVän±Õ³ÂLI(€â47cð&é¹2ŸW¿°0_¹:SþOB¦®†0û¤Û %º„ìŒÀŒÌö¤®Êû ýˆ…€PKJG¸¯çT§Ú `rz:Vê >Í$»ûkÂÑÅL˜•ákœ‰ EWgˆð\@=ÁTŸsQGW´þÇçã%=G� -Ÿ™™úã™Fš�×$xca€çí}u‘ýÏú÷Çÿ%þ|óæ§_‹ø=UzÎB¥.üõÊzžÕeë²qr=+Fª$ ¥Ä«%4Ÿµ$V# ;=J¼‚ `:á#�Q#¦„‡£$Òm„H Bu¨b†Ù‡`z7½þãUFu¹«Þ¶n¨ûºCøš‰æjSè+L^KÕ]ל:éyY€º“RÒ¹Ë_¯s—¥t¥å£·rU ËžzÊYJûÙfî¾"àü:¤V¢4µÊYaÀ <df½)ˆ# V¯^¯V£v7ý c"¸ÿù/c |Þ NÂwvÖãQo‹È}bþ#Ñ›£Q*N¬•5\en‰ÚFcØ­‡tÒøÉn1ÜKW·Y›MpÓ©`TêEï§Å0ïìªÔâlÿ×9ßcQ,ã,Pƒ§SÃÔÔ—<ð:/€jîõò¦1¬pf%Àó1£ß?ž‰Ïžã¹€ï5 @xÍ[¦ÏÅœàŸ!€2 Èê"!¼r±—z$cpfÀ÷Ù Àü«Ímz} €sÀsàßý �øQ£Æ€Y¿/óŠ£ôØ ”àÿgÇ?VþıöÁuÝ\LD·'U€:ÐOõ½¾RMé ;à|M}ñ -ÀX“ )|ö˜õT¹úP¹‰ mï1�oŠ0âôã¿R� êVia€v_NŽK^Di¹\`€°Ó@ŠÖÔm`™)ö·¥ óx¶–«êRËxÁuå-ôS¨g幯RÆ^RU_1òo¶¬Ë¬¬Æ––:]c"ÀV�[ |?v¨#F³•…©™ -ûõ¢TÑH`¼göáØŒ,ÒKu\~WúÓ´¥Zîs)}�äI5éú&¬Šë¼œ¨£dås¾€…••¯†YêÑœ2`w‚¦¬Ž™åE‰0º"7`B½îÙ˜nžÁ$†5ú/Ï\b¦÷Ì57B�\Ôk©òaà=ÏÇt½(/á3‚¿@fžU`I$¤Ç÷µàòÌÌl<‰ßˆ³ø”m¿2@€wãZ‰ÿ—§._»*‹d¾²0/…ÚJª áŒ^^y™ñSeÊþŒyü"ª�ù¤H¿ÿ^ñçíÿç×ÿ»ñÖÿ¯ÿ÷"þúéŸ %’T -–Ø’­Ó*)ºqµžf*¢n×ó}ùDÒ<:¹à?J†ü@ù­¬¬´TKSo}o¡x…`ì[ ª*ˆ�˜Ôu.ÊÒúbu•Õ3ÔˆèþM-B'ëb³\¯µ>w”$‰€ë-aÑèg@¨Í�dÛwðì;ç‚”(š…ª;°9Àóë„¶t ù…³ž[€„Xàún$%ý“ø$˾Ú)¾Âñ±žÅq3f Öˆ˜ØMK€ÿ•PFõàI€Êè8,B¹N…¬ºœÌG#T¾¬@ì6ètFÞ´�£.¡V9Gç©dy¼ŠvR•zh…>°ã]*�(c¬D¿‡R̲žr'ŽÂWTªX¹ÜýÙ>z& àµ^“·òÝËdâxõ^^ Ü à äáÿð}b$@ 3x>àL lž‹y‚ u_pxÎð=b@îWÅü+z^¶�Å8jøÿ9Qä¬/2¬$2)ß'ŒýëOõª2‡æ€ã¥)•qÚŒì®ý«Hõ–¯¿s�è azuŒ Ãþ"@^PPÕôøÑ“'†ÿ'^€A€#¸–DµÇÆ€¨ÂJü‡¹Ì9þÏò@�„î$ø¤Σ?VxÑ]ì•íùTÔ´ÊwHy¸Z[.|˜Ènl$Ò:º.k°«ûYA´ôCc9o¼dÁ�“¡0Þº -¿_ µ¥¨Ãè·’Dcº1[Yž¹<Ÿt6¿•£ÇrÆ!u.­åËð omø‡Ï¤($4í§Õµ,‘Æ_‘bX°#ĉ£¹³õ"[T}c,pÑ�]¥—5ÙÆúÅîR‹J.+д²°åX�,™½eÏûÒ‚clp u±A€̱�a3î‘åy+ý‰l…ËKøÖ?Ë N…u`x«Ô˜0¡àXpè -;#!öQtŽ…(ëÄR3«³4?/"Â`kú^ý“J9@Yun—Zi%b}µ`¢Zƒz Q"—§*�µ£”•¿�Laì_`ÿO¾Kÿ.þ_Râÿþh׳ÑARê'Ná_R]LËõ‰‡Y=;æM g|)ZØÑk‘§Q”f=j?,7s‡‰aK•é _ÚŠùlïxwƒeg†÷ó™×*  vÅ+U°»Ñ^Ö”]ýûüçª4u@UªÎW�P+RÝP=ÞÂjc£“m6›?¦‘ÉЖý¡îJút§ðLm€ÁÞEÎÀsA´0€R.ˆXw €ðç•€3ë�Äø®{IHšD?ƒ¯_ÙÃ×L^ q½U¯W»Y{` ¤Tš&à­ôuXD|Ø9Q×+vwG£Q�$ùÖpKï”Saw* - æÎ¨ ~©™K3 IÆ,Kwl*Ô#Ê~£2{å�âõŽ©PïB'»SäEUo+X%t�…ydoט4^çKéêÉã_²@öÁó1£ãc–æ`a ˆð‚ÏÅ|ïYú ¯ž‹˜L�‘æ+Ž;þÀzáSWZA] ?›¾‘ŠÃ¾"~!-ª¤ÙÒ/XYU[-æ8ï9Ù;x7}å)<ôNp`ÌÐ`@h�î�•\–³TË iÚ(VÙ|gÒȳÄ3zÇyZ‹TÓj­ßeLj~$f3ÝXX^±ÕžoÝÝQÃ[ΩÓR%1| çÑ.0§jMõzØ~Û6`:îS€:¹ \©ÂóõDZÐWõ QHÍ!»ª¿€��»˜w;3{>`‹° UÊx ™Ì Žð%läÌÆ³!àKc.öŒÑÿÔpÖ0žñ`þ×kÕè:€2ÁépâE-€ ü—_r·(D _Ì}ùÙÚ2›Ûfºòí4Y�1#R;5ÓH""Ú0{|TÀ Ógo7¢Ù¹(¬šÁO”•tCh¼Js,¤ª!³Ò­+ À+½wõ?zà«eâx] €(ÙéJ€àþi +þv´Pz /¶²Pöp»Ykv7··÷¶û2LTj6»ý‡Þh†™d‚ÏR kÏ‚�‰· óS¢cžžìuÛ›ºÔž Ÿam„ùe2+Å'!Γ‘ -ö ÖÇ`÷ÜÕ‡ß …ýÓ³'�û}¡†?“õ´'0ègi­9 €ô�jƒ-Éã­~ø½Á—4ò­lè§'è8<õŽ$¢E¡¬2r„ò°Ná tî#ÞBx�JDv¸ðódo³ÕTXv˜«Ô”C%m³p¢#¸1E55šŠÀØ�8Ìf>Ø ¶q”=<9zŸœlIöð«`ª®4e À ÊÐÃÿKǫ́ÒAºRõ–^Âé¡€¯ÛÊÐÛM5fÑÇJ¦­ãï#S†ûsöÿø/ûø?µÿŸÃÿ}á`{E¢7`� ÉV£Ú²j(Õšø¬ @œŒ�PÜÍ3�šÔ[ÐïÀ„C¨¤Ê @¶®ò[]�íêEè×r2¹7•Õ‰ûû‚–(eí¹n³š–«Ý3K¶„;¡�nÇå�CêzÝŒ›«° <’»A®�âwíøã9ŒL¿÷@rÆPÆlô</ÀËgœ‹ ˆ/×& - „ÿ³ø¯†&ë”Ò]o.³@½ÁBÀ„¬}À°ƒ=D0P®`ÀÄ <¯‰Àèr;²FDèQB,:Š"Lj¢ÄóŒDž¯&qUà."a€Ž¬u*ÕJcŽ`c¾ÖùjëÊDg=p q�Z=ÎöUƒªåÆòÒ’1Ÿ_”à%^.+ vþËǼ¸ÀkÖ߸½@ Œ탴Á\4�ìáö¦ ¿©Òí!q瀇�°¼�� ¥žÔò«¯õíÉ Ýd4aO`Èx=;ÎË,–Q™eB5‡ €‹Ä~÷n{á½>yÐ\ÖºDïùö÷ ÖÉÁvÞ`÷±°8À‘ E[œepæ[~ÿ;#¼.¡�PwáEÿáVºžS«—LJLHÜp÷ðèaUôG�5×õtŠX)Œ:K>äW–Á`B”²§�6£¹ZCÍP �ÊGGb:‡'@4èïR.…áô ¨ÔjM±†Må­`”ä`oŸ<Å%/þ@ë� ø†‘þÛßÙ'@–uy2NÚï@¾êÀXï/yøc8Âi~üøÙ·�DxÂ{{<PàääHàð>1-’~¾¹ÉøR»Ù¨ÍÍ–ð?7­ŽE=ŠÙåÍ8š »Ü!5?G‹õº~­¿S—V×k)±¿ÔǸΚŸHT×)ÂÆ(ŠëÓ‹Qunfzf6ŠÃÎõ>BçÔëµhvVß7êïT£z]êº[âVŠ4ÃÑüÊxöí|¶îCÒj5%oöÊ•™©©?‰b¹Ð GÕÙiÝ|®ªKÔÞ©®Žï$\‰KsI�7‹.7Óë‹:Ú7ªÕÄ0fg¦g•¡p†EÊòzµª[Oë§¹H:N žHMÉæÁåU �þÊ¢ R©ÍE³ÿ~Vši†ys3WÜ"33³$Ù·Y�W«Õxn6äƒ,“Àð›nÊÜYˆõCœV¯“ò J‘ŒøY2;;;­ë_ùÃé*å£ït©Å¨©B�£ÊlYãAfÏ$hêòÉôŒþft”Ønuz–ðn—�Fx««„3g*JùõU -ýÍxÎÛÿA^°ÿ=þÿüÇþ·b‡5ÖšCíâK÷Wk¬KD„iÀ{Ùîì¿+à -ÄLÿ�]Yõêl lí.|ûˆçðÒ€ צ–—[ŒOmí3v©%¾Î�3ë-q¦%GQ€;[ÿ«ä,ë§õz?kãÖ¥k¢ÜË#à‘„»ói}Sµæ¤Øÿbãq°Ú» €„Y'1y¯ôŒƒÆžzÆ1z9�€È&™à¹u” ‹gý!cád£[|5(¾b -À:­�EðD‹ÕîO²îØ ðS%”ÁF�à@S¤ËÉþãpÆXÙÙÅ9r%ÛÅû×À­U©$·£ôX)uÍS˜º‚)`¾!k»UkÉ -[ SNÌÆ…á/KŠQ;}'JE[ÕÜX‚ð/00¦¯ô” à52ñ¼v€2@¥ó\ @TzB €r‘0‰Lñäp¯¿-Ák¿ÝN¼@=cÔ›{"O„>ØœzÆþSlØea\BÀ® çhO-#ë÷s¶Ø;ØÞVJÓ¶,c\P€ßý3F¿øžê[}RêÙo€9Ìlñ 0R@½'ì×Ó`¯ßOQsð0¤Á 0âr–¯RÊ•�@}ï/~÷í“£>sî•×PÀ<…~³ m2Û1�¡3ZNÖu€Pè�¯ˆ)-ÐþŸ{Ye&ªA—€ÂZ³;8|8èwóƒGºIRÖ@ßð ò¿RêMA…NÀöÙHyìz ô1œæ6�}¹Ü”Ù�W§†÷8Jô/r¢¢‚’‰¸À ž†0në} e‚Å€”ò'l*ÄMØ1ðÑ#ï:øèäñ‘èËž’" úÊ6Y Ùô€ÄéVÃXÕ¿DV°�Ðñê{â©õEeN¦_¬OAJð‰Ûõúÿ!Âï'ˆƒÔÄÐ+s3,ð¬×9‡íÁ¸DU`$äðÇï¬&5ÑÎ.%¼e‡’EìJÒ½~=4sÁÎ)–Væt¡™©+• -W•¨!‚èÅé¹·¦H!›ºsH3§s`ÆWNo¤­€K_‚¤6ê�(HC|ÄX”á(úC~˜2+Aº9³7°JWÏp¥M `Ž&?'S_¿ÞÂ"UÄ5Ôb#ú#%”S•‹³‰y3x3û¿\ÿÏà…ñÿšP#T†jžÕ "+öw»õzš›€À²1Œcýhý +(†YK'³”ã%wÀç»ëcü—ú¯\©ä™ðwxœÇ««2ÈzÌÑ7ˆëøÆí2n6í§QÜfn~…aŠ ™ì/òë“F¤F¢ãø“á·Ž Ï» ŠÃG4øY0Î4€�ô �ê‚"³ïœÝr¸17£¡¼S(p [|‡=�_V|>`M×&ðBÀp°óUð$jŽŒ«ÕëžàQRíUÅ+çíX^]‡pÉ�bw4Ÿ ù"cÊdy¾ª¬“o$2Vf�ø,®f[®E‹'`d-‚gÛýÁ ²u•:°®»f(p1’ ³ô¤â qOI#d€Â4Ì�Ní¹+bbK8¢Fwpp´·½Ùß;Áz” KÍ(Š Æ$€f³ÝÝQž„¹bGG�Êב޼ v°üÁ~½rK›÷¾2I#C¦Sß…o\!0Wyâd(€~ÓE��gßÈ4X › >’pœ1Ñ]ôôpsé½¹5=›¯_Ö‹b«³ƒ.—€žՌJ§—Fiîs+.݃]sÞ×i–ÖJÌ—\ò&@ºQvÜ^”5*ëŒãá¡�áßÊ2ÏÓ¨;ÚÕú°^¦ÜQìú =ËJJálžø…§z÷=±®æ±+±ÈzÃán¾ËêO ˬ•$'Ô2O¼45ÅÄA¶#‚äZ-š®Cß<T­ÜÛ2€|äÅ}ÖÞSÙȦ^oÿ‡O×ÿ{ÿ÷�ÿ*hAk!�&¬Ñ#¶Ä¸)"¡HÂs&b ÓŸ¸ZÑ�¯ÇÒ¿*�ï� „ŽÿÐS½A¬rÖ�EÚŽ»ÃÃb•)öTªš+WS9‹êFQ5öG¢ÛU,éaY›ø†»im$¡¢%f!^²`³ùã¦[p`n™\ ƒ-½ÞŽÇ–g§ÏÎ UGVîpq ÀîNñ•°x‡óK=”Yˆ Ç”ÿ¥8aˆ=;ö¬{' T@®�ÿ¬÷�J©V“ŒPݲ¾Zëô‹<©‰fg·çfçèE�§%ÉrÈWß_€µ/ôà_'ÇŒ=g×XÏ&+^pPä^êíba°ˆú쑣㺠û)ŒîàèñcV¤r€& � XÄå_¸#Yè(`nŸmãA eôlp¿Ç"ý~wµÙhNgQ0ÚXÿÏ\€«/ Ú¾´®eL{z2Љ¢ýÁ@¦)øöDºiSd-?R²„µß=³Û߉3âëZºÒ3.‚Ñî“X½;ÙÃÄÀßÝßîËÐÍ>Ñ©Ïa§K8$�+‘U]‰Ómk@¿•‘.°�V¦™ÜEHMOw{ïèpOàÑ#°õ)kø�¬A¢ªNI'ø©™,Ùß$"‘¤x àãæð ÐKžL¿¯€ý8“‚„þö÷ëW^L ÂJ€úê;(Dâ»À_žˆ¥€˜…n3±£®Q¹v-�OãwÒ˜®$ ó[Å$ÛoWÄdZÁï7ªn)+›eï{ªœ“%‹r™µŠ@V¼,¨½ZYÊòo²(“ÍÞ%ù¥“¼8°S1ì²/e>¯1£dIÏ«ÄÐöNJX1�ÍêlÿψdÌ'2ˆ÷Ã2Ï[Ë,ͼ‚R…´–*ðS<A®^} "õ¸Üꈢ[—±ÌÑVOe.�,Êp�òr¾‡L�µÿ°?oÿÿwºþß ø¯‹�íõõi5*§´^O«õn± tЖ(¡ð*éI©rØ–8n¶úAüã¾ð«t¨q9àŽu€”9vЇÏ³(.þ€ìFê¾lh–jí°´jUORfVÖ]­š-û }ïh8#)`#ç¦1ƒùÆÿÇcë¡¢~d€êÀì{g=[Ž]$ÈÙYe @΀ÿ^ôœÆœzNEWnÞÑõ�` ‡ ëö@¿ÖY°îYUü`íƒìŒ€Ä+™B8æØ0–ààjJ@ÀÿÒ�›‹…£ôŽ .ˆÚWë’ë×»ìlÄ�Ê�’ÈÊ�š›8Ϙù™Æ‘ ì¼ÓSn:|=¨§ - Ÿ^¹þ, - kK�-¼fF÷*íü—?Þ,€YºØkbd[¾TXyV¦§,ÏG™³÷ððp»] £Žssq6xÈ|´ÇX¤B ö¤Qp�„–-çgÿúp»Q©ÉfÆÊX?2¾M€LÉtïȘT½#þø íŸyµ Ï1B¿£½¤Ñ*½Z#ìZÛn —}]\òaæ“®¢ JØ’ë�#? 9OöÆ#ïÛý¨ëon¦Íl�x°Tw£à> ·�.l—Ö5ùi’ÙüèH`jfvN–1¶}¥–m«0½h�Š•)ýa�ÝRæAQŽa¨ÅMB%¡5oØ; €õd‹?ÁZ«|ƒÉ®'½'ŸÎ!òJð¢7fNÔõd¯´‡Ò¥ôƵ¥t›„I�²ÿu3ï -Àl@%˜!€£ƒ=U�xQ...8ð+Ù †ÃkèK±Ž»Y ¤`;,i0“2íMãN…¨—ÊRþÉ<¥‘”f’ÆÍÛ1Uö7©–—Qÿ‘1X*\�Ùk‚‚¦æ™lY|çüÈa:ƒEJÄXÚmIomåÅ0®I&>.˜›ÜÖ·tƒk—./,�ô°?Dc=g)øzV.TËñVËe’ä™ÀZÞ!ÚS¼Å£>RÂj–|Ç<ãZ+eq/äå…Â%túN<[!\ȉûè3>Ha -^²W)Ì& æ‘ïˆÀúy�]Y²be_̆²ú¦»ˆZQ^�Д™X&@ãû¯&R m¢ jÃñ²ÀJ¹o‹P¢]¾3ÄC—¹:#²”'õL¨Ìó-Õ¼ôš€\ØÑwYg_Àñ€ ˜›½ÆEÌÝZ�޳‚×[W·;ÒeÀ”2`îûÈÔYûÿÞ‹ëÿ…άÿgpÿ ?ªºYzÊȺúNµé‘Š QMéûžA;¿ŸÖÕºdïvãzÒí¢�¥kK7£—¹‰m¿´,°2se.aͬNÞÛÑɪe øJÓPƒœ›Ž94R¢KNš·ë±‹;ŵP"ž=e]©1Ò~„·ÍÕf,•¯#½`h©J¢pÙ0.-±Ÿçt À1“1šBÒ2G;²¬TŽcrì|µSôÙwè³B €Ó‹”#²§KôÁà*`÷G 5¢ëÕj5ë®y@¹ -ÿùé]}|é•55Y] ³„À±ýÆà2£e«g‚ÏóI�É2©-åŒ<úZ’¤q«Òsv1‰ÜWë£ít±Öî<ØbôsŒŠ7áR÷¸•0s…®´ŒÛ/ós �)À˜@N½¾Ùkäâ€÷8·àùu&1¯Œô+íÿ}t(˜-@­»-Àú±vCûßT¤ZŒ‡� vlOéáf³Rˆ^ñàMNÓF2`��!¨2Dã\çb€½ v¼® `­Ëz•ág÷ÒFœ¶»BlR*ƒÙÓÔÒf¤ô=T"”°Ñ×ô{À^§~ë`@}‹•üàçÓ‡{ÝDÜi›)ûÖ½+Ø·Ùœˆ0:¡+>m'ûB¿#8�ó¦\ˆ°ž…®ÏÔBYPo¨dn«Jª%±@à¯CÕ&šít³+à5€ ÂýýO€>%.°.aÒ_ _Jœ˜H(3%†$�‡/é; -G ¥Giºl|–þ W ¸É¢îÀ†f�ž<>!ðá#ˆ -³-)ä~óƒÍö*;b)¨d×&H;XœÊ�ôKÖ‹=À¯ŽrV¡’á“ôR‘V9Åûñ’(]¨ÑLZаÍü’WSkUã3¨ÊDÙQánB�T_GM[EníK£u:»Öêî¬H°®”¸ vË>tû¥OE÷%�ùùÆrØmHßùâÊF™��|Ô­›�(å8.œpšï¢4K5c/BÙΔqg*”ãéJƒ€RZ:dB”þ¯�ë¼Ó¨K5¤<#¬Êd‰©„ö\º4S±-½~œ‰ùB౞u<2·M5ø¾S¬±1£lNX‹Òm¯ ?æû!ä+üs¬$0&»´„ÍW+½„ÓòGK‹‰º;yPCèuØã¾$¬M(z `Q@¯ ¤Ô$Ë9åOþͰ%/D–Wg.…µÙ¿¯L½rý¿×Úÿ”:�ìC†úì[� ê*‰´Eø¸íȪÜá†9 'tïÿ2} éi](„ -g…c³[-µ\Tß2 Ë5Ü’õ`Õ…ñд.1?'k±ŒNU½„~¢ÇÚRzÏk“®ÄyP £g|Y7þ1”›�€àÙ¡›õ'.¤·u÷£Þ–p”ZM’Ù¶P}Ÿ dcNÄPÆäÅWʹ xÑÀ ºQ ÿ§€3€L-Rö?cÕj´ý„€ÿ8.œÊÉÏ,Ås$ìøfÀ®@ŽéP�v˨Jhâþ¹×dh†t8½Œ·¸» ÿËΡ|U½­QZÿ ¹Ò×é°Þ†c ¼*x/õÓ%bØ­ëU±ÁƵL<¯_ =] Ü>àkð÷å²É|æv»Ëpýž À‡� µ•¹Ù¹Fw ÃP€Ä\@#‘ÍGá��JP4ž“ò>‚ÄÍl“éíÌqesæ6Ò�=:ÜBÈ,ñ‰| ÆùB“« ­žy ™¶777Aq -ŸHs�í#�㞘Ç�‹0² —ßÿ^ Ã,…¸�¢~~vTdÍf—E˜ªˆ¡Ûïw³f{ï! '-Œˆ@ü³¾ÀÝ.´TžI”ƒÈþ“§ONºxLô2[É{¸Ñ››ÞNGæ"Á�A¤Pñà’ˆ“„åt -kñxÀ{ô`üë&0/ЀÿÊcYTz-S©Ï¦6T‰òKõ�¨?š9p†Ž6�á:º oBeBæð5œ<öÆ€ªý“V#!#Tµm‹Ø`—¥l ’¼Ð桳…Æòû£<®Ûy /àƒB[±ZÚÕ)R쬗$�Elcu$"€Ô‰2zé’À‹et¥‚lN�Í™¤)T5Ü ›zïŒÀx5†e½]&îîdõZnêø‚ ï»Ó -’¥žÌ`¡XÇ–!;¡Tˆö§“E]_¹Ú¦Âõã3K -JƒPY\N7ËóM‘9á�Sbã1€-¾s•ÞíÜýhë®rày€*÷é÷Î�ä[[Jnˆ| r: `°Bå—Çœ]ÀÉEJ€`¿…dY2ÁÿØÐ`¶ŒXÀëÀNX€T–sÆ|áù9F¨Ìt_ê„Õ—…ÍK�­b'ï_—Eí¸ûZÔušjñÔÆR€ô¼.¨ö¨W»^o'yèëiü'jQýx ŽBoRg^^)c„ø Ò/ñüýßýí_’®ÒÕÿ’ǛƼ~€|^&›™q3Í6ómV¢•%z°×–’a¶ÎÌLÔÉ"}†»X^ð'È`Â8`Óyž>ÜnJc5¶—é?f,,“4jͽ#¬OC<€¥ŸŸç€Sz -\ðíwÏNöڲʗý…@»è3…!€ÍÃ'�KL€ÛòÿYŸt,{ç@Ç�6“ö››Ì,L'6»iÜÞ;yÊéÊŠ’ušŒj^Â7!Cè“'l¤7ìV¦/‹.Íé_ú®’nIw4(XH­Êë+–ºÀ ²§éö·íyyè±Á?t‹Eµ·ß%¬Ü¯»‚癩"&7øö�8rõQ¥P¡ô‚ýÂÌü:BW‹ÁþוÉÈÓo‹ÞuÀ’€'�”ñ0{sPlgݤÝdN‚.GÓè¡^.ʉ€(x™:�œ!¾³HŸ£Ú)1Rª+ÎÓ! aiÌ`u|î$ó 2¢ F‚E”´~ÐO�š»P2jV»Ì¥²0ðæqK)-ï ÐÛêH dêܺ —,%fŒÂy˜�™ª\øZÞK!ä#XÎRÿÜXB ý´Þ)wü€˜eòõ݇�}ai^ÒedûÀŒ…^Ã%Šà€Åø¢~µgÿ³^H½>ÇU£8û#”²P¹¥Fœ `uæÒ¥KS×p30 Rl.–“ÓtAXç-˜Üæ3äF÷6éâë*’¯rwʳÎhè©â§*EgoÉŸâ˜Q�WÛ÷}:¢´Þ!mR§ÄdèŒ3e|+L¸dð—/_þc§ô-Â*boº  -7 ŒÃp´f 4®qb2ÔT¾xÕú8ÎÎÿ¯àÿ‡À¿ Í(’Õ]@ŒØ›[†M×U’¡ ÿ&«/ÖY¯�¬Úç(lÓ¢PË" :ae%[aAQ·«jknl“Q]½‡<Û­1•¬¬eȤ® À”%ªN³!».°ës.£¶y0ÿ©“x5v ø?ž «Þ&¢»‘Z¥ª7Ç“®"—¼7ý‚@íÈ?Y^\ xxÑ5ö2|/�°`,aÙ ¨ ô¨5Ö˜bÛ?9ë á jØà :�¼J¯®µ³óÜ‚B€Ú'½r%¬ÛÃ(@ƒµ†ù�7³ÕÅf¶å¸ eÿ¶ÌÿÊ­Hý_ê(MÖ¤§âBµBßÏÛ5F†t³le¼.-/…žìDÚ°8Uõ/ÀûÿþýßþèÆ»NÛ+dâxõ^YÁ²h¯ˆ8–}ùJ9�qÞ—­¾m?´1`;‹fæfp¨ïŽØ/îé“oÉv|öD–tÀ£5�ƒí \ƒ;ß�:�·›ûìÙãÆ&û�Ml<}Öî7žêaë”Qá|8Ý_w³€<;¤ 5µMlöm¼öÂÒºØÊ\¼©ëùXÛ¸îÿà 0f‚}¾›�a™óOîµàs@¿ °�¥> «êOc¹HB8_)&÷öÿ3QOP½Ý­Èc€Ï™Zº} 2†9,W溑C!Qऌü0GQ)EœYÍûÀ‹¾…èl -Rï7º˜s<Øà1ƒ!xâH©RЉŽèžÎ´€êkÛp÷#Q€�ŒS–÷fßó÷Ô™„Å€õ8•c6ì‘/Œ(=ž9±¥â´Þqeuƒ;°¢ ºr{ÀÿõuA.Ë×êÌ\lwÅÃÄ7ôoü'‘ã9„LJZôCåÊuàùrîoƤÛÚù!pùmíÃ,–-�ŵtCÕOƒfeŠŠ{(:I®G*M*ŽÔnðQ¦¿¾‰-…’-¬,PÇàx~FÀß ÿÿîoÿòÝwoüJøòǯài€/]à·‡2/_/¬²¢? Úh†¯±Ò–Eë@Œ{#6*&‚Ô‚ŒJ0�y|´ÝðÚ8‚7¦loï‚XÙØq-Ù;þ€Ö^ -ˆ?#¯ÆëÒ†5rÃ/„UO޶EÚíØ„KBìF­ÒÜÄm/ÑÍ |åVBøî!N§Ó¨«a1ëý““AWØ›mç}‘¥p›Y€jʃ£­sEºÂU±µ}2ÞsØ„Ê�‰ß>ðݮLYÏÎ1Pi™NB4= 0îU·Ø….QŸg“63%É�ÂÆÿ³L/f?åM,÷ )gŸB&3úH)ñ[X6‘1}Ô"an"gðÉ*f ‹áMxDÄÂïðø‰S.‚'ˆ’TÔ}´:ºÚûx5 Šz³î}’°�nc’/”s ÀXŸü!ØÞ{aÓgÃ’Ü#Ôøbº6xe�UòKÝEƈ•ÁÙo¼2Š ôªÄ˜¦[ðŽnª³¤/˜X¯�mrNHÓÜ îpyêR¥á@ÿ†!,�žsú?RêÝ6‡’ðÀY|x� -�@Æ&󸄳»Eg]vÆü‚g2¨D¼ÄʇŒg¨h¦ñ/”zC?“/§E—½¼>—¬'ØÇ¶VH¯ÅøOK“xª]eAª”+éQn§ø/Âb²Æq ;²_‹(åÜÕãzm§Áó+�Îp8Ü�¸@e-A@ ö̥˕,%~= ¿*`g‰¯Ž -�æÏÙgÉ+]bƒÂËJ&Bº±…<1!˜`D -Xu€áÿ%ƒ$ SÞø1UÚÿA^´ÿÏÌÿ¿ÿ•ïõ/Ø…6€õT nÁªPcyy…)}*¦·¤±lÆQYº¼]ï†}üÇ‚`%_iTg£lÍ•Ç:!¢À“Ô1²„”w“j¼Yx9l‚5òN%noÝn;Xóç\<µtªÃ5²ŠÓ�-ÏÎ(ô4µ©�Bt\™}'€‰  ôD^Ü gÀAü+b^> À+üްØàzP;lÿE"UCµ›fþE;DÆ~* Ã/Ü€¢áZ¢'ÿÇsȇ„Ã%Ó’QãÓŸZ¾ŸÇ]Áöð ³Ûãˆ-q æ|ŽÓ,¨¸uœDïûq$T–~ScP�…=­-¦Á¹&YÑO¥p:#üÿ{<ùÃwx㇯tL<Åà ËYe À 눰Îý«Å6[вþõÿð@V-‹ŽÍÎMU>(Od -ùÁ?У‹R˜BÐ_°µÊðFðyX4çj‚lÑ•m¦² ðöæ�¬´/+[0õŒ]Ê{º¢[tèžçóù#G€Q'©äf´dý>|ö›Ä -“Û‡P .'ÆàË|÷Ï\¨Ô��ÆÈI-)|r²×NÚlÛcÛ\öÿövŸÀà@h �*�!|§1þ ^õoÇü£'éÌLMMKÏ©ÄðìœÎ÷HE{xxtˆ=o³i¼_Ò©ÇÇ,Øíçâ ¢^G'‡! -0ìÿÇ tWðšÄP¬,Ä[°›L’WRJM(udÔ'ßÐ(çÞo©0H›®ANôÞ×Sü �YðÉÉÉãÇJÂÃGG'LÄyDðf`Ž -E¤gü6½ÄjNf]s6®¡–ˆ+1ºz]k?w%Éú€…Îtz.¸>$±‹F]‡mæó%ÐOøb³–îAd @˜#Ëì2`Ð]ºÿnØ\^ ÐíIG£(†·ö›…³un èh,{÷Z‰»²’,m*P-ó™·M˜¤\?ëÒRaè>éšÝÛ¼±íGNÒ!.‹N±4-s@àǵ ÌVºÆp Žh©ëOx{&@V¿Úý$àW¿ú»ÒpãÝ?üá»ïÞøÑ/¸ðErq À‹{œ›ð| Xô:‘y6�<ö௠àä!C¬ã53se®½'Pxò;‘�1.…5Ž9€?ÆÀÑX#FðíI¿Y©5b¢ß -ÏÜdËhgq–î‡Ád Õ�-<ÃÔX±‰ŸQÍ$ÀoÝå¨`«âî&;íyL¡ß*ɨ«ÍÅXíøÄý/Dsjôøçßýsðà†`ÄëÍ“§'5bÑ ý‹ÈÐm¶÷ŽØs? L€³œ¬:y–ïž’w}EŸ°€ÞÃA»bsŒEÏg*s•æ€Åüð¨?R‰>z¬+š@X„j8Qä)€M ìy�£‡à=òü7Q±K(s>(UºHXÉ»H¹üî÷“5�ô tŠ´‡][Þæˆ¤»Põ†b�ˆiàßy¬Z~"ö�BÉ?Á+DÉtÛÈX¬ÍÍ"iú´BBÄFÌ|ÃË÷°åÀË÷tOõ;p†�aô·)€4“^˜HÚ$¨7-O¸¶;(—Óx�¢pn]®5jVeÞ³&”ÒKe·u0C·¼Éß0�cõ%É7¡_ryÝ8ejv)2caˆÜÆÀ±õeŒ°� fU{1jÆ¢<6EOa0M~º›í&¬ Lo3€ÖsçÖ‹xc¬5€§¼)õñG¨«F•c®ØoQûSÀSMk®r•µy‘Ë3,´CvHyVÂ!åÝhɆLøºèF«T �‰èWG_*õY’g£ü؋ڵØâ—TR^•k`@ûþÖúx@ÚPÉÓ-V”=m§Çî…[½¤ž%^˰_ñ$pžYŒˆ²¦ëç A¸,’Q–»ÙÚ›ÊÔÿ%Ùÿ/‰ÿüqÿË®ëõju±^|B™N¾%fŽ#ÄTGÚ‹ßàð?µAÍ «]U )@•R£ÅvîSoé�“ßí)ÛŽëÝ4Š’á¦z�¦ZK„I9çtÝ)½CËîµá›sQŽ�Uq‡(ÕצاLoqlCbèâ1؈åJbŽ Ð$ï�[ -H}æþ_ð aׯ$ÿWž,¿üÕßþÍ/ñ‹¿ù›¿ù%ò£ýˆÿýù äÝ?ÿóÿïÿ�žïµm!U–s¡¿8@u‘(Àn;#Þ0Px@Ïõ#{‘�ÉNÀÏ��;£ç2 ÀéØ)ò¸ËB�Ê¥ú~Z±ËèQÔSl`Þ„2«Ô]œ^e¤•åEV¯^°t20–@‚KÂ@Àù*´¿ûû¿³àG¸ñîÿò—úâïκþ'�W­ ªŸx<pa Àb - ¿Ndú=~VŸó.tB†¤n¤m¦çÒâPv©� ·§xމFÃ*58‰q½"@ßÉb�+•¸™2Å èßô… Vvd2x†t´°¬·Êì=ÁèÅ¥�6±àìÛo?ÚnQ€?� º :^—…£Fñ�kç@ît†™Ù�YÂÿÃC62òê&]bøË `?ÿú‚T)s�²ÊÜ|æž~ïÕ¡.—`ÿëóô•+ dã™—ÄF!ôÿ0Lfd‚ä&óǃ‡ #½V¶p›k€¨z=gÙd;ó -|A8FjM  ìF`4+ÒÃÖIDz°$¢�²8G�ìx§Ü… i‰ºÎêƒIÕÓªý5*3èͼ ÜY&ÀîowÊ€và$¥ô,Z�ܪฬ&x®Ï¤œ#‰Àû¬ô§ÂŒl¸Ïl¼@å-‘�J‹ȪâªMâ˜ë¸,u®*ÿwѺEZÏ:�ùË—Y¦ÀN…“ô’¦À¬;—QËÉ€�‘ ~ø2õrûÿöÿdìÿœýø¯g¥Y¯¨-Veý_¯J�Þÿ¾N–ã0þS‘­N Õi³*Š!ðÙ”µ¯‡2‘)ÙuÂVw„ÊTNjmeÖô1±Õëõ¨™ê4] Rš[¨ÅhÙšTy`¨|9q¸“!jŽªN!A¾Þ\mn -ˆ¶!| Œ%JÀÝ�Øèý'¯ 8{nC@‘ƒó€_þò‚ò_üâW¿üÅßþ³þB8ÿË¿ƒürŒýÆ|‹ @èoüÿÑô�ü_þâϧÿìßÿ¡$x„&¢D9ãXN`+Àèz5û Œ=;Æb/Ú@¢Ö(Ù•Áð²€0-C Î#°Vê7‹KgAIÌ ¬Æ9¿& †½âPЬëû¡å`„j+�á0‰ÄîÔy�úb\÷Ÿ%]|c«ÀvH!Åö@×í -°ãZ­oŸ°}¿ÎwªüÂßïY XÉ|6åï„wx˜÷ȃ{ƒ½Ãíb;ï¶€îË�9LgøpÆÍm. (ý"}öŒµúE�·S”œJ‹^>7Sc·#J”°:½ä¾ò¾à_m ÐLRñ\Ö6‚Œ˜~I ¬ð§�XbÈ«ˆn}û»�¤àÁWbÀsg”ôéacŠÃ ¿¨:ž)ö$ v¨øBøX`ð[uC7v!zôðð÷\Fv†`JR×üŸ!iv€T’…e¦É¨;Õj!HŸîçÓ;ÒgÖb%œ“EÛ¨ÎYtF”! ©` �s�,ïéû¡Qž¾§‡5†Û>Okù>ê=‰6h±Ú�tÀõýÝ}©‹Ý"ŽÃØ,w°hæI#;²}A_¡_¿‘&%x à%@ݸEÚ¹”óê´¢L¹”pÚfÀ‹Ä1 @IͼÌ@ )¨u]Gð™L7Z�_ úž”“UŒ:Ñ€ükÙ’½^#ò„#©«eÀ¼W˜¨ÌŒ€¬j{øç!w¥½ó^Zí†qi¥S‰1ÄúK¤¸_oÊ ©W¤÷¨ i׿Œà_e¾O¢…ë”úReuµ’eõlŸíU9™EŒt%åR€*ÇÀü-³ßÆ=º,†%ø¿L@ðH<`^ àO畯Ž.Ò’^NÖU-š�1}o™zÉúvüüç÷Çÿ’ÿ)'¼.öz‹Ñõëxj–š½R�2ˆµ8ÏÒð-‰½,‹"ªÒfT¬žÞ¢FL[ˆ°%c‚µ¼nT�c~ÉB§€Ô²8RµÞu½6DÛQ4K|ÎX¦®0P�7ÝnÆ.ˆP­Óêý×Å€æMð"ÙÐF"¹è™P° òÎ9@/ÿÕßÊ”ÿÅ/ÿæG?üów…÷’_üè?ú›_þê?|÷Ï~¨O"�üßìà ÿÁð£ýò?šü…Àø‹ÿ`À4àßý»WBÿDþðÏÿ‚«ë´_ý*xXX€€jw­kø÷J€�<¿ÀZJ2þŸŸ@æ8„Ò‚¬¬¬, �Ý¥p<æ]Á¥Ý~�Zfd†QT‘D‚)¾‹ºxx%^IU”‹†DQSŸ“S2?R| 0öHsUœ×_öÿ'‚xCào!'€ü?/òœ‹�¢{~;®l\¸€Œº7�Å`ž|!x|rÐ…·ÎU®ýÉÔL»Ï4@±!ÒF¡=& šD€¡&À #g€'¹�°2Ù÷†^ ÛnÔ’í‡Âw™?lY]K8†ù"x„Z`(…¯úÛ“½Mð6q@8�(ë4›µ¹€ôè<ÜÿeR<–Þý~–ÀOd�?ÚS×Òå¶�¼Ãƒƒ¾w*ì0EÑ·æR:Kï`8¤”œ‰i0~®’ ¼XA/¬ø¸­£ -»æ×²lx6Û嘒4”â¥c�Ðí ÿY3ðà�8Aœ/ |nV;Q~Gñ�!SòÃ@N^�eÿàw¡ªøBïœ øåh….kÀéõj@'YðáÃ#¶lo2•Aª¥…•PWAR[¿RVRù ܳщ˜u݆¢E訃ÔaéCôHk±"­–à�„ž6S>ÛPÉs¶£éu„�ÌÔa/ôb³žï@Üeœƒp-»ãe„2(m‘ËíÄIáÀ=¥©´m|Çɵ™©K3X]üJÄÓ×Ì…Ê“j’`¢†£‘²ë“X}ʲQÊ@)Bm~0É‘4oƒÿ�l}¿åøæç‘7�cprž7g‰·©Åü9P^¿ËnÑ•xb‚Ýz¯°À>K2=eµ%ùÿã?𒥳Ũ»R. š$Ë6%xƒ��‡T’ -ø«ì dÝ ×ˆ?Eå&ÇmoU“˜õLB.¤²šO²z—  ?êW©5@Г¾ím) l—«CV®Éü÷tÀKÓa.àŒ,a™A ×µu;fKÀdà{ÉÔ§Âö‹íæÿ�ñÿ9ûßPM»ëEÂÿH˜S/ú[¸ÿÿhW;8ðÿc¹-µ:ò¾DáÜ|[Áø£PšÓŒ€H†½,ŽÒ�ñÂ~´giorͺ I>Ìâë«é±Y˜ncO¿n%æXV…/ÉX¾naÀ‹Êá"‰.Ñ%Ôc³Ù\Í7=€x��¶2@ÇÝUóòDuß…í¸Àßýêod…þP–>/8ÿÑß~÷/! ùßèûýåÛöC<ýö²= [ÿ§Àö?ÿÿAæ¿þÿâ‡/õHþÝŸÿPG[t�?ü‘^~!W«‹ ³æ�(!€æ-ʈç0pvtüvÁ€õ�ë€ð_ -£m­ðˆ€šÕ…Uš*#5ˆ¼6fç¬`(¢T„�pŸÔjF_®Ó(�"ÉІ8@𧜓’”ŸLt×_þòo�ÿ_ýŠ!€ç<�Àø?þšuÎÎí/Z ÈkEÚ6O^ôÿéÓ£ƒn�-;ç¤o¢„imx -Xö ÁðÔÐé½ Hz'Àc<_vRk$mÖíñ’x^R†µûâF:x„Ý/ Á ß¸À+½È‚Qºœ~þÕŸ<l&Ý~ngË -°KY€ÝB ! \‹åä9m%BDB({�{Åöf·Ù>|¨; -qŽ:^gèTŸÿ;åËÞx˜é”±oÿa?�½\œµZ¥2ÛØ<�b -Ÿòfï:Y*Eø/®NÈoœ´Û›Ù¦òÑ÷$(@°ÿ™ûÕ"à4ß>áõYÈs²ô§"û½~öù Ô·ÛCÏüÿÿhû¿æ¶®kÛUªnÅQ|–èkEÐKTŽ“-…oY%‡…R - -a€¦9#¸&ˆÓ4Vê<^ÿ¹µdûáÆfk½�>Æàz�TKûC{(„C@€táPy.XŒÆ}@¸@ãQ€Ù²¾Sm*ÿ¹BdÆÄ×\ϸ ×zz:åYZ0rЇBHS[?©¼é @ ðÞ±)Äo†'æYÐȸ©”bH!ÄÝà©×ÝE„’ "o'4øï©Vîš‹9s€‘"”4>¿_Ç8;õ“S1îkPWoö>í¬­5c@$¶pqà?¦¾Øvû�èƒ6âL¸·¦2¨Wæ®·èfî8dœé€ô j�©ú � PÛñ(gY ~ºšÕèw¯Eø�Ï2×ÔX*U�»žgsó7‡ªpoó`Ò¤ÀY’Ü"G/4ÇÁ먾¤ú”ÜEâ'VšõÒÓã[r•qÁcôÓt&eAVó)]� €çéÏWž <…³Þ=€5é3ûx>À©Ÿž>øEÌðK�²R¨ô`þPETëKâ ·ËIÿN ßÿÇúÿ�ÿÏ—ö}1ÿ33—k—/×fîd+w²;BÿMá?]þszp3&Ûm®³ÙiVWÏfÙ<±ì¾oÐØBÚ­îozh_x’›#}i]‰¾púºA£*lTkµ~yÂ�EbÝèf oš±F7ÜwÓíÚ­$.c�η�ÞL?²€>�bô=Š ä‘4ŒhÝÒÖÜg_‚ñ¤Ï@ük·oqmì¸j\þìÚ5% - ô˜¼À€ ÷¿À¥+pæe8„2º&¼ýå¿ "yÝþöÛÛi×ðo1©·à˜uðPÇg×P�#|€@?¦9#ñõú|‹ok—¥Œ?á{ç†p�µ³õ»�5вB� â{šÛpHHÊ ¥çÀ3±píó/¾ˆÆpåê:2öLÊØðòOäQúþ‰0F�@9ÃS­‡¿@þ�PHw£ù>[OV· gpdÁv¤Íu¡ª€DÙRå0 ôðþ*S÷º{ƒåö‡^r‡@»z{udÆ”¦kÐU, ¤,8<€dï¯gíîòzUPíÕjÅ&d™&­Yñ“=áÀhôç÷ß?%cT!çÇOc­"í¹ÏáûGû0&Q‰m&¼a¼û꺔[Þ(È„jçä$5uÅ`ŽÚ ”Wˬ·˜ °R‘y,;í\}yÛ€˜ðú/ŒöBÂ`Ðê&©lk6ª�¶ܾ/ö‹òèŽÈDWý}y©Q|dC¥x3Ñ&íÅ!vØâ,-ò„.~7#WÓL®T0n<̤ø˜ÿíïÑuq Û½·³wG­ã�€º‘ÝåQ:†€J9#É,s¤OoöR^«•à.±S²Ø–°½D´� @Pt=Ëô᜚×EéLÍVG`4ÀX_øñ¹h�T»š¯éXülý4'S»þõ{æ±(s4Ïõ(öï_RÐ5ûlý}Y¢oWX Ì£x% f€Õ]H$ÖÓ8~þÎü¸“N·@Zã¬�vÚⱫì?àGO õJÇSä„Ï\B†éJ+<zÌó 1ùP"™ÏÕËÞ -iÓÉÕ\,½0X‡ þ{À[ç!›:|�ÍVh¾›L˸,„á±ïÛãL&Q²ì›¬Ú ÅìM)4ç~È`Ä�+ƹ-ÄÝ ƒg®~Þd©•… ž•b)"I’ý÷tfì¿yކ'�é†@ �³ )Kw±5;2�ù½ÑÏ`Pœéñ'‹™kËgÜ0Ä“‘î|Yµfîß¿.-Éà¿…QSui.Šç„rÙmU»:I=oº¤ˆó*%¹‘޲Ë1ŸrSùá¡§øßˆP.¬¾¹Š -Ê·HÅËB;Ë9€Ù³Ê«t½\xËfÚC•Ùˆ�ÂÁôµ -ûÿmq€þ?À°hµ––:ŸÊôL‹yBt¡ @Ìg¬Âùa>ãa€!TWŒ¢&fÀq€&JMGŽR¨ui1ÝŽS?­,ܪu‰“pup·dK ŽïŠ^âôøMðDèR]ø6ýô'ÌÄ ú3ÎÊÃê¸+‚ºX @w…[]ï'ü;%ð?¾ÿÿøñÿþºéïf§Z½<]½,©Mç‚ÿlôgÁ�UÛ_?Ï’”B‡ÞR2;ÝZéÕÏ¥1_ \Ò²„¡4ÍóQ»;’á_k,�zepûn`ýƒzE$@-QÏîå͆ã5 ˜F”ŠaÎáà{ »_Îã _-îáR—9¦<àVÌãvº¾]BS�6(£á<ÀŽ+þë¯í�uï"ï]¼xŸ,€‰>鸯נ“6¾ø -üÇ`PŒ°  Àý± €Kï]½ýùíÏ¿¸-3Z"M¿¼òÞµÛßþ™Mö¿.Çx`!Øÿúé«ül€š‡ø§Ô\ECjõ{Z˜¿ÙIoÝÊóðŸG‡3‹1© Y.”­V[i2ÝèúË(á¶øQ ;ÀÌåU"¸[øÛ±‰^èè^ZE܆º–€›Œø–ƒÏ{ -ù¯¯œ ?Ž˜œä8™@tm1³ pc¹.Àór¶±¼Áµž›†éé”/¨$<^6 -”ÙÊ8�½-Û·Ì-ˆ£] ·A¨½è„Qøñ“ï=%-¨d‘Q€—2Ôÿã'¦äýøñÞNßñ[tKË0•eê |S‚ -E(dÓ -ϸ’Lôo°Ãîê¾�Å�t†ý‹¬{ÞcÏ|„�ëIïú÷÷i�X6€ë%ØÌt˜[LnLzUÿ`_¶ò¡õý>ÃÏU¼Æo¥Zit·÷ˆE�¬°°)Ùø-™°ùO, IÖ¸ºŽûKÖ¿,n:Z˜“Ï7ãí‰zCzW¤€¬zmÂ]m�}*¬§îÒ\ËÑE[*�>y'?ZX�BN¼pe¨,^�EhD<»¡û˜ÊÉêºØ£.‹) ftð{hó¤ÓO‡ya/ˆ3¥^:j6þVü¦$<¥Izˆ=Ë¢›<�æñ04âD€©™È(+žuz*Ó®_ž®özlí(o?_Œ®$<«GМZŒefl8ëlØää¡w&3HgÏq ³à‚>Dß² à…†<ÌZ…ry>3Ï`Ÿ¶nPǘ?ií‡À2Ùæ1êI @Yje�«¢ÃÀƒv úâkq­nƒÐÉ$„wŒf#’A0ž[X¹E°ÜÖÎ}öh‹ÅöúݤÙZÝAR+?ÚY’©¬™¾/úÔÉøÁ÷Äî Ö¶¶÷{§7�nk]‡vöt%•â"SÿR–}]©7åÕ¬�´w °³³±šTõð -ãr¶Riô·Äp\¥ŠÇÀŠ'¢§5`¡D‘Á?d„(Ì8¸*5j 0–kô¦Ç¾¥°žè? -¿1è4б¸PAgt 6 ]¨�Šà°²¡_G§²HûPµ½}æ2¢`cku•©º,PÐEt¬¤ ãXF¢ÏóÌí:l5í�ö¯KŸø(ñË@ÔV-m-Wóañóʰ£ËŸš€qggë`aéGFluí©dº5ì6ò]ÏjB‡Ÿó2†*Ì’|:–¯ŒòÁnÚhúGî¢eS?#²Ô.D$C/±ôIO?ÿAÖØÂ¬:û”„ŽT‰òAón–·«ÙXsêt˜=Óê ¿€Süssy&•¤Zq^ Ûg?H[ó:D�‰û‹M=­?)ÓZ%�9-0HU/_Îtbbo™( €Ì:¹@%Öv]" ’:ï#¼é•§3mˆÁcÜè*ìÁéìx†›œ¼�Š ›Ý·‰%`ª>�?S n³ô�8Sñèl`i°Ã6NíJ‘½ý]í0e¯*¸-N³³±±ž/·é+¦3“�~âËÛûâ -Ôž¢F¸ñÿ±TD4“n{9_]ÏEÔ¢u·wÿAô+{0] b‚ërbì çq‹µÂì²ÿqðÆqA=�z™þ}%›¸´Í‡™Šn<7ðP-ÇÌjK.Õ‘�mÅÐ]X!�!Ü�~~á�–©ØÊFµw¯›ü=ßdVp}S‡£Ü©ø©Œº­š'µ.}|±Sò#F�_›ãÞe êI¦¯¹¯ˆì}~x�S6ׄÄœ\øª‚”`0d­Ó�×7~¿˜wwõ#ä`þ)£­!éÂåœp†»÷(c4lìêÑ€ºj˜Ûwò—š·Ón2³šš/­¯©è<†b“ŠZÆC3hDT>W&iŸU~ªu, žÝƒMÎc3Jw�ª™ÀR§§'Jc–ƤÐ@}¨}ëÂÔ·¢¯\mj7»’í*ƒlmwöÃá®kªzZÄ:–×ò¤TEkݤ?Ìác]OÚ.Ío1VHªÓUøŽ•T§`&úTïC;Ôî%ËÑ�Y>¸—;æŸáTÔA•á”i/Ö’|w—Iáté[?�z{JÔ¥^™#(AB<œÔº^Ÿ›K{CÒQ=ï´ÒóSSôÀ­ÅÉ….€cñ¿Äþ ûŸ‡5Èy³Zü_®^ž!øÿöà?h!ü7÷Aò´~¶Â4—2ñfÏ. I¢ãÂ.-}Qy×M€?²i6q7A)ó�ùVýìÙºäü…¹…NoeSß_§òóÅ`¦¼†}¾†l[úu-”.€�Á~Žªqü�?8@w¹Ùü(»• 4ÿÝ€Òo°-�×>ø¬@GAü"@xèÀl}~€ €>ð„˜Êíý·Ð øÿÝ%b< ðÔó.€2À€ÉÙÉ(zûó+W®Ýþö›oÿ7è†}ó­=ïž)2�èö«±ðÓà@3¥‰Ø´»ô5öô|wiÎt~þéJZMô•–½8S£‹;?êC1Ô·qÓÜà8Þ P´‰šüY€ðrÀ b&åEóXÇÒódñÐ�Çý+…�p,@üû�ÀþÆ2ãøõ¨o´¼^M5[¬ˆ•“åí¹xØîc¿I/8ÞŠ'è�Qut©ë¼@VØêxr�6î{�¶n™RkérÇðA˜¿s†`¡ƒŽn(' -ºù÷¾:×_§�P~© Ì�ݺâj] ]¢‡ÛÊdœ¥Œ )¤ÔRçþÎý=st¤VC°½•‹¾¬oo •7³äÊFYËfB^:´œ÷eëk(š¤ïˆ€‘y  $}L£ -jE¯ŠvþþûÀýa*¦^)iµDÀ Þñ@üD–87!¬{˜ÅG@m‹]HÏÂI ýã'2þÝýÿT0¯cO´gx7ÀÚW²G�ûx¢÷džM~ÀßwÞ±Üz c>"H�¸+®fˬ¤Š¿Èc–o½YjÕê¹sÕºÎë)¸Z­ö½¾d3Iš‹ü7‹ÍÅÅÆGNÊ+ùh:ÑF£V«‰ A‡ôç³³5™J§OŸ�®ê¢ó-¥h.6k”Á ŠÝ�.wÿ¨Ë”7Âôj!PÊD¥úO¦k}�t¾cÁS­œ›:}êÔTeV…¢FS?fñÜÕ¼ö[=íÝÏ ò”示•«ù/I~ý±” -Í[‹¢r‹E œ™©VeYV§«Ì¢Ñ°æª»“S“nã SW©ýZM© º„ô®T¼¹IûÛ¤9Ë|‘FÍÊ9å6ufêÌO¥µô>‡Î³jòJe¶‘¤ÍDš'Ó2þˆ,‰¨Íž;«¦²Ö¨«OµÇ¢>˜ÉÔmÞTûé„n꩹gYŠe†ä³Ò„£u™¿Óº§NŸ«<½(æ¥V-E|WpNE¤µÈ!E«àén·¹È*‰ æ(åô™‘þSg%žNRªW!“‚µæYÕ”yÎ2^R|N*§^Ãþ6ovRݡ˂HÁÿ²ÿþ1ÿ d0dÃ^ëœ`ÛcÏ×ÏÒ¢¾eð2Ý\(R/mæYíòºž¾ŽäŽàq:o§ó�i˜ÏÍ]¸À\Y+B•š=÷"F?“0‚WD¢‡�êA¯fušC@©fçù;ÂÈÛ×®¼wíë¼ÿ7íI€¨ÀÑ% À‰ ]#;}Ïz 1 †»¥$Žˆ8@ºÂ ƒ=†¾Ä .1 ;Ù೫Ä|û¿}óõío8‚àâÅKïþ¬È e,|~ �D+éï0@ø?ÇD""½e@éühUer¨™u·=Ap05S=ƒ¡YbpQB·tê3Çy®^» -öÛçò¼àpÀ«<ÿþï⯊(ç0ÚœXl,º[ƒŸûÁöjKF­ž ªr“‘¥Œçæ¯M�© -m«,ÚùÐw¹« Ù‰Ýn?ë¯æëÛJÁ¯ÀzK†¼@[h"0ŠÊnÏ–Ä×Í–—cpÕ2}ü1â\µiksK9vÛ«y_ÉùqÛÜxÈ,V«EÉô®K¸4% 3ب$Ûn}:˧eØ,·è‰ÀÇä`Ëóí÷ÞnSe¨Gk¢mi…R®¿¤¥V1ìcÓI¤]Ö&h®n{)�6í)Ì%ü>¤˜H�êͼF¢+BÜö<@ØÝ�ègÑMPr¬~pÝ -î ðÍÜ¿÷ˆ 6ð�ÿbÚŠÿpôI—Ó5òƒIΈ¾††xì?f £šˆH§=ûZD´˜Æ”2ú3_‡þªÂ�ÅÅééÆ4€Ç¾ñK¨#,’€{–íZufvF0“LO7µ×X² z´9 P)ÿªÀ™³ÕFí× á—…“E0Ïårhv± ì„4jÓÚSNNPˆªþP¦ªV×õú8ŸIÏT—ÿËG³:mýÀ_Q™>7­ŠÔfgª(5Y€ršÍ…¤ *h<¡Æ,&jƒ_G¤Òj54OD~šÍÚÌåÚ xêãHT[¹6f~]Ó¹BP€éPŒ”…L�ù—ÓÂa€Ój›Åé_×HàÆ°æz'³Pظ-¶Ä-r½Õ -¡9©ÐvRóÆGº¯R]I;ÍZ÷>cÑÅget�þmõ÷:f¶P6ºÊP¿žvUgÜŒ…ˆÅÍÔ¦EŽÊéÓSg„ÿ?‹*�SSs¥ê{î,\A÷Aû“Ë)¢ ),À_òbû߯ÞìehÚÌe‘-»£çé]1Îò’ k‚”´q®^Ÿÿß~»>w¦• 'p»`ÑëÙ_ôWdÃAÖj®7nØ $vT° Ü÷Ki²¬Qüç`ü\ý:0¬d£FIº�S¤zv˜Q€‹ÙÁ =‚ìràèØ E€ÿ oö•«6ËÍ÷è7{j¬Mãµ– Ý àž @btP€]�Ämý€óãrdL@ÿˆˆÀK—~÷npœ ŒPfGbŒ‘ª.ß)NŠ€I€~�ˆŒÇp=P­äá´u} À\Vˆ¿Â:Vî´XòÂ�†º›bÈìÆ%þÝy¢;!ø¿�«F7¡›3"Àt(äXÀ•÷.E €ðÿå1‡2à€çÖÜݺյ·ùä‚!h_°�Íz=Üß^nÊN‘aËtõbû~ò7ùÀï9Æ ÜŸ"›4Ѓ´Kï?x* s}�õñp¤ceo¯‹°|ìÑ*mÖ–å€ dÃE´‚ÜÆ¦ a>I—¥ŠØçöíø�A/Û|‹~2ãé¢6IErÂÈR6¢0ª‡•ÐWY€Çø5±¯Å–¬~ú»ÅfdÝÑ gSI÷Ýj Óˆo†Š=â: –£€Î×ë³ÍåÏäGÔ mJÓ ýØ3ºé±…Ç Ë, "0ííuUMÿmþ?Ðx¿Þ —éxDØŸ‘ÜP¸€’ö9äÃtñ?ùá‰8ÇcØI¤ qƒXÿd¢IÌp ÛÿèÌrL‘:„&àË�¢TåÙÙ_ÎæwÄ7ûüŠºmÙÅúèQ8¼£Vž¯òá®hi–ã�&Iï1¿H„ûž­wßhã)Ž ³8¡ùMæky:_?{¶ÒHºÉåö­¾’dŸ:Wý[é¶W—Yo·ôíwCùS·Ú}àeIáf%­î=OY=CUÒh´¡­úTåÂP|)“¯ïî”ÓºûÖ¸JFƒpµ±ŒC°¾¡YÞ_¬%LQ6m:ÊÚ�Ú|še„(ÝtC&¡9õÛ%殫‡Fòž.gƒ²ëCí4šщÓô“C -ꛦ´u}WôÇ ¾JEÏ(¾>uº«xœT›Ý¡û¯‡Ã�\›Ê—òn¥VD¶!N}ÁÄ}y5_ü}²Šæ»L‚Žäy¿—o®éý\Я¶ØÍþ¶Qö©*žÌ·:õ©©J+½u§«¶V›gºe¨Ž’Kÿ½ª–RõÜ{# Ÿ©OÎVÄ~ÂB™o_�ù•�jåŒ~ªCùåpzÝVg¦GB»Â¼“ -Àc +užî<¡µ£¿» 󗌲x +¦ð‡Øõ:+3•RC>IH BH¹JÍÒr‡;d�ÆpȰÃ&«ò~gÊ'ˆÜù_ a’Ô<0”(­Ò!£<-aСsØø“^yöæ÷_�‚�w�  ß x,¸¯BðFGJ@•‡s9˜�$¡4šŒ¦³Ùl6Ÿ/Ž�OWe@íAÖ{¥µ<…B—€w­w›�΀—°µLë Ýj6×»ÿZÍ/ûٶݲ-Yδl·àï*€fFöÐñ�÷Þ{ï½÷Ö)ðÛ¦•GÞ?…÷Þ{ï½÷þ þ}Ú ÿz�xO‡Ã²,Ë2pƒ€¼ €t 4HYŽ I§¹X6üˆõ‡9H#„@X¸§è2œá¸)ˆ"×ÿHQ„î +�|µÖwß}û-6‹8•L¦RXJÆÞ•¤@ HR4*Ťä†0™J¥’É"Æ)˜Ä˜?òIü#œÂ)¾D<™ÄÅB*•‚)OÂ$„8…= Q.b\À8E"Bå{‡¹£6Þ€1ƒ0*IÉ  Qw%yK0‰ ùî;/¸{' sž>-5Žžî°£#æþß_þé‰Óu†Ã£vކC6úÜ9RSåmJ™ù„QJ™3Ô�jŒ@Œw˜ã0‡±#ÆçáÓçG‡‡Ï˜3|òåÿ:újëÃáðËáááSFÆ ã©óäKÇRFÊL Á˜Ýwž:GŽÓ:¬qäPvô%sž2çð˧_ÕjG‡‡_¾Ñ ’Û¬â¶ûø:_€? øQ„*ÆXÏåT5%� ¦“él6�/Žç'óùÉòhZÖ{¡Ùe~êJìu:�Îc{w€––iØ­æ…ößeƒO»ÝnÙ{ò=íVÛîØšÜìXÙÚßßï\8ï-ÏMV¿ýÞ_¼÷Þ{ï½÷_þâ¿,ö_~Ôë¶#Èáp!yd—Q×2B(Âsù…\I/ +b$BiQCi„@„"aA(â#@tËB EàÆÿk�oë|íY½þþûï¿ûöÛo¿)âr*ƒ©TJÒz 70„0 S–S) “)a +c\ˆè;. R˜Wá‡Âw„¸€Íb&“x£ÀðïBèZêà ƒÜˆ! Á(„ÉTKB˜üö»ï< p{ ôÐ;•ûµ‡ £[1 £R«Õj5c«V«Õ*Fí¨fÆCU’ Œè:)éz‰PÃÐkŽCÕ ´BkµŠa¥îCãáǵŠa¿ªÕh­bèü¿Œá}ÃÐuUÕu¬o†At�cuC�«µ:cüÏzøP¯Fé¡a0ÃýFhí?­Ñ7²) „@`%w·Q0 ׆�xo0Ïu o + s8—Ã*„PŠ£ñx4�ÍfóÅüØ_ð™ï¥3·(€–æõtZZ¦}\�{Z»ÍK ­Ž•‘­�;�ë°¤€ïý¿p9ó)}o,ˆ?þÓiÀWÉ2Š „ÂK=/†@H#€.ÒïM�4B@@Á*p↓x÷ÿ.X¹„ÿ½+¾ùJR0(A˜Ü€Ò²Ç„ÿ{�7RÞÇ8…!L&¹"Àá×8ÊëI÷âÇ—LˆJïJR4…£Ä8•ò I±„0�Æð”b0Ê×i¹Ü‰ASÉ (Áo¾ýöÛï¾[.7»�UUUQºóÁ#J)uÛ³wÇ94† F™é”ãÛt¿!N¢ÃFÃÑ»;~-¸�~‚%¯Æ ®’€�€7 z�€«×Nqa<—J£Ñx:ŸÍóÅñš°–÷ßÊd²‚°¯Ç/Óìt:�;M-oY–e}üxÿq3£ÙWåZ­–m·]§Ÿ¦|Ok¶š®°í|¦õWÀ¶ß{뎀9#Y–e�¢(J>¿¬òmò&âÑ¿(r;EÜÝŸ +Ãa€6B(}ñ¨Õâ_¢(òÀ× ðýwß÷Ý·ß¼zõò, R*–ü[ЂïÁ $D¥ŒFc1˜J%a Æb±˜£R4"ÁX4åFÑX ¦`T’pò¢»XÏ=Å2$>"$¢QIŠE(E¥@0ôÚÚ� k×|ùêÕ7ßò(àõ$3«¦iš¬Jwø‘ ‡5:¦É>£îfο’¢Æ)¡„0Ó4Ír¹l£,RJFc´Zã9ÀG�Xƒ1öäó6d¦Éï7£t釂 !tÇ4Íjµ/¦0e̬š¬Ê£UÇð#‡‡ æè¬j¾AÿO@É5ý �÷Hß8p@�‚^�À½þþU¥oâ +¬æÔ\Æñ¸TÌf³Ùd6›,‹ X^ðL¢è*p ÀÞ.—�ÇKÖöìvó·|Ï×j“x»½@+s/Ûj5[¶Ýj·mÛ¶dëö2²¶mïïïï¿�Ø”åp „d%"þ4@|aR\;p·} À/3R�(†ÁªÙ2-ˆ­~D‘'@Èm BŠ"+ +Z€|§A ï_»À«W/¿þï‚…EIˆþÄ-$ƒ’¥ •$•¤d*™,¸Á„°(IÉŒJ& †„°LR8*mHïB(}˜Jââ‡É$”$(IP*&‰$$Ễü3p1• “$J‚pì‚”¢„}þòÕ7ß|Ëó€wVUGïRJ+üÑK¬¡3j>Ùr‡&¥ÔÀB!EBhÙ,óÑÅLIÕ]BNÙ£:¿»uêªÆJÙPwØç ƒr Qn)Z(s†ÐxbêÎ3Fs*üCjŒ1F�Ï�Ã-fšwõtÿ�¤@Ðm +^Ð@ÀõXޝ)€7 @Â\NÍaœËÅã0.UF³Éx6›Ï§‹“ã“Ó›p) ¨íZym×Êg›�Nçñþž¥Y–¥í}òø ³'kö�ݾ¨šív»m/ÿ3é,WüçyÙêX² ÛÞß_­þ}  +2 +‡Ã²/ø³,J»Î`é@VøF Pˆ�OqlºÃË /§1�€×Õ¸É +¡ˆÛBŠ‚ùîX™¾vSß|óêåù3çn%��åo~3"î/z¿·qáK7î\lqŽ8¾]à–< £�j�j&£Œ+€ŠA)c¬Êœ†ãÈ·`¹7ÌmøîÛo^ýÛ«W/Ïž= À”»¢O" B I +že–„˜àÕžx_º÷Þ€ä>·‚Á€[‘v‹RÏf{Rù»×/JPÀÒW_???ÿ·e ðýí#�¾$à�(c�ÏêUïîné5ÍFã‰Ã(-BXÀ�/D$$Lšì‰iˆËUJ)Oà5J;Üa¬Ê¨Ó8<üÓÿÓq¨i²¿9ügJ°ÀÔ<¢R ¶)¥¤HH¢˜,T3ͪi2JÑ/tJ)sœVeÔaOÿôPWï¶XX¶û +’à5ú„õa /ÛôZ�/æîN€xªXÇ8!”¤H¤4OfÓù|6_Ìæ'³U#�oî–@¸€]MÓ4Í@[Ëk»–¥Y�Ûþ;Û’3–¦ýù@Vd$‡Ã"ïÀ� H»&Á¸£?E\¿¢äeU¡r»}Ðæ&E€ÒîÔàÇ ßR\Eß~óêåË—/ϾzúUÞl’àõh! 1!Æ/=L]Ýà¥0õ¨±úÕËÿj^×j%¤^ž=~î‹|¸Þ“ó°æl Ÿ±£#‡1ʆO¿Ï£'qЍ:¡Ôd”ˆÙ“gΰZ¦ìèépȆÎc¿dÎ3Ç9ü—«ÕœÃ§‡ÃÃn¿æPÊž ÙovHK˜™C&u¨I¶ 1Õí"=Ÿ>ûâ©ã �n­[ê5ÜùâÈé2ê>}rxèl=|Z»[ýÏÛMëûx¢4Àt‡�V!ÀZ'à…]Vw¬ärØ–"Æ`:žNæ¼pr¼€oA_^Î.7®)€¼–×4m7³Ç«€»»–ei{�ÇûJð ,v»eÛÛ’3²¦e,û’Xëm€"‡Ã¢ŒVÈg½J@¤�(„A(‰�N#R6ú¯(,†8 ¼2àZ ÂaQ EP$�B‚ +@ò2À§dY¾i,ØMzm€ß|óêå9€”¼éöûÿµ +\FEàJå ÜØv}ÍïHÂË—ÏŸ¿|ùü¹[ðàVC�~Å0ذ[c5‡1æt»løðéÎÑ�}öç3ÆX�9CÿH't8¤ºQ"„ƆŽþ9c]Êj”:5£Öíökìá�±zƒ1Ö«;_|ñlȘó÷�mBt¢ÿuŽØGºaTˆNaÎÐéy�C ʆŒuknÃègGµ§ÎÓûõÿ +<ÌwMy¡Ä½ïÑh0à .€#:xCÄ9œË©0§æ0ŒKBi0�NÇ“ùd~2?öŽ}×Ï’3!AÝ> àÀ®–׬L“Wwµ]k7»÷÷�;v>³×ñçüV€m÷G»™Ay®Z-ÛîØùL&sÞ½��Ѧ,‡Å°,#$ËÞ �Gn@X q/åe“/Ba!Œ”MÞßò+1”FÞýG +‰ápØm +ñBÀ/þnr^nÔ^¥Î_¾|þÕÓ?}½SzÎ} Ýá&¿á[–åǯŸ?þüåù×~ÜZ ¾i Z­²gŒQÚh˜|%_ƒ™�Ûi0fVÍj*‰ãËä%ŒùünîsÓ4MúÈ)¨2¶å0ÊÌd;ìŸY£Á?Ãd&¥U“RLË”ï@Ð1Æx;‹Œ5ªŒUM׸Z}ÄFOM“: j²CÆXƒ±ÛW€,þ�:(‚|æOÑè«Å ¾$à¥wkÀ�WT%¡4�§³Ù|ºX,æ‹Å*°€¬Oø íîîæµÝLó óØÞË[�Ž­eöVIÀ Á|Hk­æÞÀAKËfµ–Æ?-ûmBŠ,Ëb¸A@ZQåg2 +§Óžtw¯.âiâé<¤È@ /€Bi´¼â¼M(Ì¿‘—BîïòPÀ½ÿè]@n +àÕË—¯^žŸ=;ÞM!x9tÿ�;OŸþË×ÏÏ_žýüß–�K p;Œ*c V}V7™Ù`Œ5ÝÙÙ1)el§aš¦Ù¨¦R4Q.ŠÜ¸ƒ½DÈ6Í5(5—ËÞØ«RƒUcÌd;½!k4h•™�†iš¦ù›fòM‰žŸŠ +a´À¨IMfrâ*c öèÌq{G5§áT¾ö¼ ¬Ò*A!À\θMSÜÔS¼8 ­€p'‡¾cU…0.Eôþx4žÍgóùb~ì¯ø—sÊYn ,ø7ƒ…Bš¶›×´¼–mtÛ–få-K{à ¹T­ëpÏj7÷öìv«mÛßÒ2.Ö¶ +Úo³Px1P”¹HÚ[ä  +…1‚øÊ€6„ør<9ˆpã{ˆáB÷ ]R7xù¼|xùòüù³#Çqîü�vý@àŠáßyŽŽŽŽž}ýü^ßÜú‹>«ÑÓ4™¹ÓØúœqsÞFÛÙ)cXL‰o�(!Ä [NÕÜ1Ýüþ¯3ƨi2ÆØ�ñüÞÎ5k˜;&«8Ô]%È׃Ã8þ¬Ë–K*¼¢0t(«šUÆvœ‡l‡±êmóÿüŸkpé`¸!H`n æŸV!€p·ÏJÂ\.§c5—SR¤4�g³ùl~||²8™¯°¿:Íl&Äl/*€|~7Ÿ×²­O:�íÝÝ]-oñŒà +Íu4›Í¶Ýä?Ú­Ì=ËnîYv»Ý¶íNKËd4MËîíÛþ‡ëíU²ìñRÀ2 „@HĈ§Ü*€‚ÐUÒ>(JZ² ")HF²Äp8K ‰W*Y¾A¬r€^àóW¯ÎÏŽ'Î-ø}ÕÜÌ_à?\|ñÅpxô”ÀÍ~w—n`ïöW(eÕ*{äPÆ×ƒ³C}ȪŒRÓd¦¹Óh°r +¦âEo5 ­PJI…[;¼ÀûøJ©³å0nð»Óš|€i2Öh4v£Ý¡IË´LÈ_¹ ¦:ÔÝ?˜A©C«Ì©1FMZeŒ�;¬çÏð€[Í… €àwr-Á|¶à^P¸ÜI@!T1†*VãR„ô'£Ét1ŸŸœ,Ž}Ã>´²2Àºµ¼¶kå5-ÛÚï<¶w5ŸvZ×)¾ˆÿh·²÷¬vÓr@§¥e²Z^Ë6÷mÛv/¿‹û­Rd$‡EɲŒÜ …�D!Œ6^_@Š"#”¢¸LÊ€Ð&’‘¬¤Ã €¿ˆ B¢(z;‚]€ÜÆà[¦Vm¯^¾|þ/GC‡RJ˧§§§gg§§‹™côOgõJÝŒ�z¤Dz³ùÙÙÙ˳³³³³q½VŸžž�ž�½xqz2sêtxröâììüå˳³“yŸ’ÁÉÙ‹óó³ó³óÆÃúéWggç/NONG„�Þx0z=VÎǬ4�Ž³ã¯Ž¿âƒ3Ãùúëççÿv¡ø& °ºAŸ3V¥ô¨fš&_í³uèð¸œ1ÊŒm§’8Q.]ã.o³[î ~=¥ôh‡™”:[ŽY¥”™Œ9Nc§aš&3™É¸±_ƒ6Ìr¹L-SR$%Ì(c´ÊË ´ÁªUÊŽ¾ U“šÔdÙq»õùï¦û…€×ý +€ þÀ•­À¼w`-ÈýA‚·wª‰\ç`N…RÐ.à­.r(2E!äI€ôr¦ º£<éH¯ +@ÃîÎß´,È€4¿ÝJZ _…¸X)¯&xËv@¯ðÍ«W/¾>2 æ�;§gú.zƒñÄÀùÙ‹³³S'§§g§ç§çç§'³^�NÎ^œ�Ÿ¿xÁPœž�ŸŸŸ�ŸŸ�1®`X?99=;qrr:"%Ý^½2˜�ëýÉt6^ÌŽOŽOø¾B?ûçç|àÛµàZPw£”%Ã0ôŠ;ˆkü”Qj”–¨a0j�œ‡Ür°”ÓuC7Œ’QÒjè†Q3hÍ©3Z3 C§÷©A b†QëSj�­ƒÖ ƒ�‡Æ¡„„èzNW1†q)¡ºQ¢£FkÞ7R3*Ôý�‡µ5Œ[óÿ�À*�ïõy‡;~-«Áå›V­À«NÀõ¤­ Ýš „ ˆs8§B˜ˆ'$©4�§Óù|ÎÇ�–Ž@§>´5ëeÀ|~7¯i™L¦ew·µ]KÓ´lf¯óøÀÊhÍξÝn6÷n@æže7-‹·uZÙ¬–ÏkZóBÀÇl¿Í!€"£´(¦’@Šò3%ívï!ÞÒÃ…§kðy`RÄ*ëÓnÝqsjì�ÌéÖJÝJÍqè#Çé sú]6tœþµ/Þÿà-SK’Û ìîðLAy»ðz+ðå$`0 H·†ÂÆ9¬r?€Ò`:žÌf³Ùl²˜Ÿ\Y°-‚.øh––Õ#ÜÂg W)€ókP.pv2ïѼX€+VÌÇÌÀñÉñI¦`�²áŸž¿|å뺭 à%ô ƒRêlQƒRÃ0xUð³-fPJ©ÁÍÓ,ÂT‘ Û¿¦ej2Z5MÖ`C�›y¤bƒRJuÆ�ò­^£”V¨A™Sf&¥¬ñp‡º‰�2)—ËE s î^ñ¾÷Ï5*¼GxÇxdÜèÿXù.Ç#) ¬ö‚ ¼ +X-¹Ð +|U0(HB0¸9PÕ\IǸ„s0!m”z“Éx:�Ïg>CÐãããcß"ïv+D!$\jv€•ÏkZ6Óì<¶we­}%Zí¶÷jÙÍLfÏnYÖ +š–ßÕ¬ƒK�@¿Õ +)²K€%«¤=„ød?âëBÓé4B(Í¿0-ŠÀB›@ò&Bi$#EQ”´Â››ðŽ`rÅ„ _Wà ~à~¼zyöìÈ¡Üàçôôôôôìød1éåjÓqÍèFãI¯¤—z³ãÓ³óógçççãšaŒNÏÏOÏÎÎÏÎÎϦuB‹³³“Ó/^œ���{%Ü;9==}ñâŋӜZÑõÓ³Ó³gççÇ‚KÝÑx<îzõJwÒ¯tÇÓÉt<žÍf³Æ6|úõù%ܸdy(­|¶U!F…jP“R³±E)%dÈ™i2³˜Lš¸X,–ÍrÙ4©Ù0w V£”´B©� +¥”>ìÄ ¤bðÊ‚Á(5c ƨÙ0ÍÓß<\6ËeZ%ÅBJåÃ?êÞƒ\üÓ +5)¥O ºt¼â¸š—÷Ýh>àµP»�@n€?-»Ö +|„ÛÆ�Kº^Â:„q)BFãéx:™ÏóÙ±Ÿm¿o\1¿»›×¬¼•·íÎã–¦YKäe­Ý±Û—`Û-ÛnµmÛnµ9ÚÖ \†Wàí…{ Ä}�·êD| + �^†Š¼™Gn0íNÿ€•¤W¹ +@á@(x%!¯þw7|¿€¯Ž†ŒÏ¸/‹ÅÉ|>›ŽûX7Œ_ÕûƒñÑ´«ã’3;>;=;ñâìô|f”ŒþéÙù‰›˜ÖJ¤¿89??=;?;;9™ÖsjÿøÅÙÙù‹ççS¨:¬Ÿœ¼8ùâüìtbàJo2�&“q÷W´b”jƒñx<Œ§Óé”B¨sôìùK«àn{(e[Æ/ ” J‡ ó°aþš6åÄ*)Ëå_—MÖh4>7�jɤ”PJ ƒ_yúpH à Ëþ‡VMÆ Ó¤æNÃl4ô*_Äç�‹Åbº]Äû£k%b†—l¤O++£’+âÿબÊ€ž”_,Ç„Â>úÿ¬p§NÀŠ{(5¨Ñߢ!}Ä£”P�QÚp�FiÃ,§ V‹„“š¦yø7fƒQÆtï¢WøF©V1 Ã- ZùGJÍÆŽÓhPÊL³Á¸àuýÃr™b˜„ÿ%Z¡´B ǨB)¯/çWÞbákòÿ+»ß¥A‚Wp‹€�e#ÐòQ¿@àÊ2` H<³¼Ù—0ŠGŒÁx2ášl2÷¯óßÿW|“­ÏHÛµòš-¯Y–ö ³wÐik²ÖêØíÖͰîeÚíÖÞÿùÁoùý׬ƒÛ·ľÑìm€’Óòž©÷¦ $£4(�ҢȠ æ�BrXt ˲¬È@ ‡=° ÜF¾9,tG\jrp䘄BF£ÑhÐ�§c–€F½7Mgóù¸ÛíM'§çg§§g'g'óA0===}ñâüôüììôxÜï�§§g§gç/ÎNOçƒ~wrz~z~vzvz6Öõ«Œæ§/ÎNÏÏNÏgýn:›Í&“Ñh4èÖKq½?9>?;=?999¡”R6|ú¯ÏyðÍ·>gÐnozÄ(¥l‹¿4*”š¼(·õˆV ¶ãT)ýù¡™J0&„˜fÙ4ÿÚ4i™ÒƭЊávð€Ai¸%=Ji�™¬Ñ` F)i6ì¡Y­š¦Y­šf¹XÄI ãŒÒŸÿ’RB\n0ƒÔ0hÕ¬R“RÇ |uøUý¿Á•à ¾ ; Jž%HP +1i½ +p±øŠN@A +ºÃ×mJH UœËécœ�H2>OdzÙbvþ¶™ ¢.`WÓò»»ZÞÒ´™½ýN+“ÑÚ×ÀÞ·í}Û¶î=°Û­½f»mÛöÁ¾å`¯s`|ܱ;�Î'·x¾�eY"@.déM_€B(-Ši„C^À¦ Ä4d¤ÈÞ2Á¥àÖaÜH¼ÖwyŽ€/Ï¿zv4d„Bf³Ùl:õ{Ý +ĤÒí�F£ÑhÔõgóùbv<_œÌç‹éx4Ï�OæóÙÉ|>Ÿ/¦ƒþh:›/fÇ‹ããÅl>ôG³““Å|>›�LkÝ~¯;ž-N‹ÙÓÙ|2ŒÇÓÉd4ž ÝzÝ€z}rúâüÅ‹óóósÆÛ>ýš`i x[À{ŽV£”mÑ•_Õd[Ôù¼Á\ŸŽC§0)l—ËfÙüëOã±á–ÛÀ;¤nGðCgÕXX5uX£Ñ0Yä”4>?l°‡&3©išmVËÛãŒïPjÔ¨›5`^�Ò*_+äUço®»ÿ>Óú€Ûç–Ã@nPx}nÀË×&A�¼˜!xƒ€ÐÛ蔋ƒÁx<Œ¦óÙl:›O—ÇŸºoå� †BÂ…`WÛµ´|~7oÛ�mKÓ,MËdöìN+#k­»u-nôs°oðùÿv«éàÀÊhÚ®¦iÍÎ�Í·|òÉßýy!9-¤ð2 W| ,¸ý>éH:�d ˆiä¿ÄŠ D÷ïåM>b¸€,º !·€ß Ëiào¿yåÆçççç'§ªª®Zïu»½^0šNÆ£A< ú½Áx4�ǣѠ?ŒFƒÁh:��G£Éh4�GãÑh4�G£Ñ`4 F£Ét4žŒGãÁÀéõû£ñ`<šLÇN¯×uêõz¥„qÎ9=?qþâÅ‹¼Z÷ìùó—þFÀ[ƒÇ=CÇqØð¡ã0‡ý#;jü‹ÃŽ}è°g�CÇqØcÛ¤HÊe:4͘ã0ÇqÆXŽ1Ö­±!ûÒqž:;¬[:Œ9Ìqž}îìvŸ~Ù:ßÀØÑÐxâ ‡ì7æ¡I©I¶ ¦qÃa”1ÇùÓNãsgÇaÚãÔúÌqž:OXãé‘3tWúð~`9ví›�ü›>„e' ×¼Ð +¸0 è*�B€RNåûÁTX�£ñt0�Ígóùduþ¶éýÕl¶ò@B€¨iV^ËkŸxhÚŸúp¡¨µ¿pàuZ²f·ÛÍfÛ¶÷íŽme¸hv:ûüÙÿÉ'Ÿ¼ÍX„äÅõD°‰BžïG¥Óˆ÷)²,+ +Å%6o +J#E–‰> nA¼èMÞ>;€ï|èRJ)=????™9PJä1*õz¯ßï�ÆãÉt< FÓÑh4ަóÙt6�Æ£ñ¨?L&óÙ|6�ŽýÁx<žŽ'Óéx<÷“ñh0O¸àôûýþ`0žLÇî›û½~¯V«‘R®6žNççgggçŒ16œ<{þò…€ïîÐøCÏ=ÆCF ƒ” ÝÐ�’Ñ3*FÉpz”gåé5ŒŒÈ=ýt]/R*ý¢RÒ ÃÐõ’atÑ­5V1 £d]ã¡Q§FÍ ]‡Z¡F¥Ö5 Ã0«3J Áº®ç°�qI-†^2 ãƒ~×xÈh¥b” �ÞhT˜a” êÔ Z¹âHÁÕÞz¯ +°2‚KK°å4`Àõÿ^î^? (’Û3¸VÄùfœÓu\Êa£[«×jõJ­çôúƒ~}yÖl<ò@…K!€Æ @¬¼m<>°øó;cÙ�›Ykï·¯ÀêxhÙû¶Ý±µŒ¦iy®îl þV@Vd”’�¬( +¼®)  þ#W<àæ>ÿ•@‘B²‚@Ø „…DÂa·±´¹‰€Wà3®HóF¢[€_pÁ{vvv6§9ARKF­Ösz£ñx<�Îæóél:›ÌæÓÙd:›/ŽONæ³ñt6OÆ“Ùüd1ŸÍ§Óñx6ŸÌf³ùt>›Ï'Óéx>›M'‹ùñœÇ“ñd<Íf³ù|:žŒF£Á¨W¯WJ9£f�þéùùùy×qœáÓÿõüùù«%VU€k à¥ÒMê¸ËÀ™þ9¥Œ²e¥¬Z­²Vb¬Q†)“Ó¬ò`�2jü’”Ñ­Qʺ”QÇi2öˆRÇ©Ñj•RÊvÌcUÊæ|h²†;áǪnY�F¸±8OlÕ(Ÿûe¬æÚ›ŒÒƽÒX’Ö =®K*ïã‚A)°¬D%> ´´R–¾Và«BÞLä­�6®8RB5‡s:)c¬ã\<�'â 9}UªôyØy +— æ¹o¸eÙöÁ?tš®°ìŽ%Ëšm·Û-nröä]®öíæ¾ MÓZ�ƒ�ÿþï;�¿ït:�Îßÿ}§Óé¼ÕPe<€"®(@Äðé4B®#ˆ×à)pŸYA)ËNàôåØT6Q¡«¡ •P®nZ/òÀ˳¯fG³Ùl6®@IÂF…u�Áh<Oç³ùÉb>ŸÏf³ùl6�ÏçóÅéñl1›ÏgóÙd¾89^ÌæÇÓÙd>]xFr‹Ùb6[Ìæ<·¿˜ÏçóÅb:�ÏçóÙ|>›Î¦ÓÉx<õ{=V+Uj©OÆãñÄqgôô_Ÿ¿xùê›oÖýVóŒ×€QJ Ó¤Œé÷÷ÛaŒ™îL®Þ` š‚…b‘š&¥äç”P³f� +å³”¿Ä fš”95ÆjŒ±¶cš”χ;�ÿÐFƒ¹…ýrœÀdf�R�Œ: Ó¤ÌÙrsç®t‚žðª^wÁ@ ð<ƒþž`@ +ø[�/¸�xpc†`0(¯@„¯À¥’QÒ1.årP’"^�€ºZø¼ºÿû·6W—ªy˲¬]˲íƒN§©i»šö cÙ6€›°Ö<Á|µý}K¶öÛífËîXÖ~§åÀîøöÚ|MØ'o;ÚH‰xë|DQä €ÐÒù/��¢(²¼©¤Ã>!EI#YA"ú™–}@n (i€ $Š~�æÃÊB€o¾yõêÕË󯞺èõz½n�HWê½þh4OfÓÙüäd1ŸŸÌÇ‹Ål¾8žŸžœ/ާÓÅ|>›/Žç''óÙb1_/æÓÅÉÉÉâd1Ÿ/æ'óãÓÓ“ããùÉ|Æ[JsNƒéd:��'ãÁ W«TX·V«{�üèéWÏŸ¯àÖ`ÙP¡”šÌd”=üÜaŒ±†YeUÊ(3«LwvØv2…W“@”RZ#„V+UJ¥GŸQJ‰IÓÒ!ãƒ?£Ô¤Ìd¬êòM¶í/RŽä ,Ò*£ŒÑšN)#”2sÇd”m5¬Zýœ5LZõHä;<Å +Áàr XXÙ©¹‹<�ï� ËváõVà`àÒ4 ? JÁàu­€¸¤—J%‚K¥R.—HH„0!TW§½jÞóÀˆKßpÛ>ø´ÓÒ4Ë@þž€½5ìíí]À�Ýj¶l[³ö;Ílv7¯išfÿ¿ûûûŸ|ò‰»ø-€¼:dÑ#_˜v�Ž „Ò.ÜÀ¦,#„²¢ YQPee€Ï)ŠÂ׎ð>#À§’eåvðÃzð›W/_ž5{:dŒ1Æ}µ*ñ©uû£ñh<OÆóÙb~|rº˜ÏÇ‹ù|vr|r<Ÿs0ŸÏŽ'dzù|1›ÏNæ‹Å|¶89ž/ŽyÉñÉññÉìø„o™:9žÏù{g³Él<�G£z¥Öïõz½n—u=p¾€G€îäÀ3Ÿ2ÊèÃ!WéŒ=¢”·ü2ýIcg;™*�2!e¾ã—V‡ñ�)ýc�;ƒ6ŒÒÃÏØc;;Œ1WÞ3æ8 f2¶2¡åò6�|1¦´ÊX�Ò-JMÖ0Í'‡ ƒ±Ò¡÷�ð?ðòþ/®k�@Ë@0øÎr=¸›äUwnx=py@ +’›/ð¹p$)ÕF©DJ8¡$ÁL¨0‡qny|hÛy bè¢#ˆÿC§å–-ÛÖîÉšm·\ì¹woï"2Ö�ÝjµlͲ;ͬ–×vóšfw:�Îþ'�ƒýOö÷íÎÛ +€ÕVžªB@V€à(‹bQ#^¿X¾!Å ™+ pÇ?F + ¼ÌzB° +ÐJ\7ôƒ¿ˆK€ó¯Ÿ=í3Æë÷ûýÁ�FaéWÎh<Ïæ³É|6YÌO'§‹ÅÉÉb¾8^,NÇó““Ùñb~<ŸŸÌ�ç‹ãÅl¾XÌæ''‹Ù|>�Ïçó““Ù|~||<ŸÍÇÇ'óùñ|>;>9^Ìf³Ù|:�Ï&“Ùl<9•î`<8½^¿ç8Ž3ôð-º=øƒ·N“:” g8¤ûŒu?wzì3Æ;b5V£Æ?;CŠ ¥„V)¡‡_Ô¨Ãjìs†N·ë<|JcÃ'ÃÃ/ŽÚu˜Ã†ûŒ1‡9ŸÕœZ­{ÔØqœ†sÄ=r J Ƈݧ~DÙpØï3çƒn�:Ôyrè8GýãŸá,—úŽð@Ðwy½À@ °4îÁͺ®AËõà�•-¸pEÐc—@$!Tu½dÄ(éXÍ©ÞÃë%½´<—pyȯ:.2²e·4Ù€eYÖžÿøû{wµfÇn·ì¦•±ìN3£ñ4¢Ý9è|²ÿI§³ÿ‰ýç€,€ŒÂ(Ä¥�ªE1ímôœ²â­á˾dYAbZQ’QX‘‚€ë*žV”Mñ-ââ&7áî`ÀŸ¸"x½ÌðÀËœ?æ*€~¿ß�º‰\¥ÖMF£Él6›Îx¹ÿx>›ŸœÏçÇó“Ùl>�/æóÙ|z<]ÏçÇ‹Ål2›-æóù|>�-æ³éâx>ŸÏæ³ùb1›ÎçdzÙl1?^Ìç³Åb:›Íç“Ùx:›NF£^½7�£Á`0àøjM¼¾Ýh)¨�¾8üÒ©Õºë3æ85v8œŽã¥ÝtŒ9¸xŸÒ!F‰ô)c5ƒ9O6ü’1Öí)cãÃ#ÇyÈæÔæ +ÎѰ^ù¬[1Œ>c N�Wü1(­Ò÷É6#e62ÇaŸSÊØÑðÉ“¡^ûÌés†ÆðhxD‡U~åû«"·Ëǧ‚«8>(HÁ@p¹@Q^t'y§�g +ê[~9X*€˜½Ü +¬B¬—ˆaR˜BÕœŽÉ*p ¡KÃ@kø´­åw9Úš,k-»Õj6-Ëj®Àß`¨ñvAÛ’ïY¶[Üå8Ø·ömÛ¶;ö'�·q@@(â¾Ò¼û ‚à@Dæà75â:ü YAe7ÃbZQî(Fв‰dÃHAa°ª*HHF ”Žxày€4J#ùºÀ7ðݪàülá`6›ÍÆ“®š«t{ƒÁ`<�Ìgóéb2›.æ‹ÅŒ_ãél¾˜Í&³“ùt:™Ï³Ùl¾XÏfÓéܵ�?žÍxÖpÂk³Åt:åiÄÅt6_̧óù|:™L¦“ñ ßcƒñt<�F£‘ã8Îѳ¯žŸ¿ò–~·ìx}Ón@~Xãðÿýÿvö¨ê4vÊ·QBeÌl0Ó$)œps÷å†iîܯ°Fã°ÁÌÜi˜UFÙNãOþ¯'{DcŽó¬vH¼%?”™‡ fš¦é|F+„�1M“’œY.–©É3Œš&e�Ã'ÿןt‡=bl§qØx8,{vcþù?ÞÃ#ùú\ðïXͼØ]¨È—ƒü³�+ý–ŸÌ½äÂ]AK¥R 뺮ëÜ圊K¥‡7(€PH¼ ž!€lÙ­¬,kmëÀŸÌì¶ìvÛ¶dÙZ4»ÓY9|lüqë÷o¡'˜iä¾x÷@H‚ ‚�(ŠaQÜ$`zÓ�‘t¥ÚÜDeeY‘e%FŠ¢ð��(›vF?ó’€( Ü€—ÅUô�då†i ×¯×¦�ÎÏžM8&“Éd<íª*é ÇýÁt4šNù†¨Ùt:�MçóÙl>™M¦³éd2›M'ãùt6›º£ãÓéd6›Ìgó™[7ô~y6�Îæ“9_89�Oç³Éd:žL&ãñx2 êýQ¿ßïÕëu6üÇüüèÙ×ëøþV¬ ÿ¿O¿¤ìQ�×á¨S¡´JîÆÞŸ›”\HP¢B‰YelØåfŸÜ7Ф”RÖøÃáw*”=â¾¥´ºŒø¹Õ­u9E¨IÍá–Z%¤hrÏ V¥”šìð¿ÿáp‹W �F©AÝåcëû?‚A~»—<�@p= ï¼Ñ?à† ÁepÍ8¼ìÐÆC€ÀZà2âÂVõR©ä^ÿœ +ñDœ/¸“€nÐS–¦eeËneÿ�{+ðÛõû¿2ng-ûÀnÙí¼,ïuÚZfw©ìκ+øÛ€t¹/Ä€B! !Bb8 +‰"Ú‚«–@m*Ëî?Þ¤€�ì•CHK(Š¢Èa€¸Ó‚„¼©@ž¸r=Èë×?øc€e+àËó¯Ö0©C\éŽFãñ`4OFãÉx:�§³Éd2›Ž§“ñd:›Œ¦“ñh<žŒÇãñd2�NÆ“Ùd2�§ãÙl2�ާãÙl<�Žg“Ét:™Œ§ãñh<™L'ãÉd2›�ùrЫ%=‡1ÆÃápxôìùùËã�Ào8 Xeóä_ÖØ#Æ>w�†A+”z—’Ò“– &�é:!„üÚd õÈa¦i2Ӥ̤UJ)küÓ?ýái…²*s�Ë•+Ü׋R“Ò“Òj•Ö>£€ižªå"€irã_“~yèlñ¨Ÿ9 �õš) $¸ ¼yžÀ�¥ý¢ß|Už-ðpe+ðå*@Ð_ˆE¥`PX뀪9Œ±^Òu¬çTªÐECsQ ëº®û`ûàC€µ»»›·¬ùo>ܺè*à\«Š® ^P] êàèPÞ1)5éå`ûZ\Lw b0øŽ ¬ª«2ಠ…¥%h0è@à�B °æ +¸¼¯ÉMº_àWAþDâEâ�¯‚8‡s0®×ë½z½Ûëvû½þ ·:~ìÿN¸ +¶Ýâ™:»m{ + ›Ñìü½ XKì-†fööí–ÝÔäÌ^§™Õ4-oik¿Óé¬Õ³Ùlöm€¬È +¹x(‰ á0A:-Š¢Ùt¯?à¶`ˆ·Ê` €¬È +÷RX–³Š² D€YD«b¢à¼öà;¯^žýëì Öu çJF½[¯Õ «¹œNô1HIǺžÓK%R*ñˆaTô’þ�”*¤Dô’^ÒKX/•ô’^"¥RI/• £T*•tBÜ/Ñu£Tâ¿m”ôÆXÕ�Z­Þ¯WJ%>(çàÅË—ëv wÜ äËøP½:ð`^RøÃž^¥¨«®ÀÝBfòæ?A!&¸ |‰ûý­ôÏxoYVò¼�í]�ƒWVAO\È8z„`P’$‡PÅ9UBIïõœA¯7�Æ£ÉhÔ_ž;(»u\äå̵ðŸL“à�œÙëXYm×Ê[ZƲ;ßáõCKÓ´¼õ�ýpuºZSÜößÍ"EY)¼ +À^Ë€Øtrû�y%@i¤Ü¸$Üâ�@.¾z6d]ÆX"‘HÄ¡Š+µšA»u—6¤8„q˜H$$)žˆC^†BUÍ-ÿ>‡0ÁóFñ„ªªBsªšSs9˜ƒª9&xkyÂD<0.mH°Ôc%£VÉA˜SUUU‡ÃáðhöüùËWþÝ ¼x `²¿yòO_ÖvÖ«s 7À.åþéøòî +À½«^ÿNРĽ-~Âʵ?X>ÃAÞá5?‰¯üp÷­ñ‚€'ó¥€ ¼ã&òü³øûü«Á.lºÔ +|©Ðý!( ‚ D6܉`Æ!„’�ëõzÃ~0Œ£éd´<ë +` '€m»Û»ìvg¥,[“3^pϲ¬½k ešûvÛn>�4;V†¯z`Ù�Nç·y-“yð@ӟχG£áÓgϽ­ß~÷½7 à-6º n®|tCp©ž^Wð‡B�?Ãy_~p)þÝ«yB àïXkžA€Ûê zÕ~!Êõü;WÀºvàB@à +Þò@˜€qI’"A­÷zýA¯?ŒÇÞ£Í�û«àXZž×ñ³rF¶¸!XsÏZ%ýšÍf³ù@ÓhÙZFÓd®¬ŒlÙ�½¬¶›Ï¯)€ ?ÙL6“y €çË!Ë2W¢«Äwûz�ÝiàȪqèJ((,†P^v“€<@á0@JxH{í@¢ ˆ7‡¯_ÿÀ7ƒ|ÿ½Û +üêåÙWÏŽX·ÛýÍÉÉÉÉñqJ 5Wm¢_#¤ú@bM¨žÀê x×ýrzîW“ÉŒ� ‡ÃáÓÿõü…¾>€Û$À�€›,¯%ÿúB'à—7ô¸!@e™–¼…ÝKîíô¬À3ýâ½e€÷vÏìÀäUÿ¸-¸p©È}–_êôÀÕIàB@`¹<|C�âq‰;K’$¨õn¯×ë÷ýÁhíøçvý +`­ +àY|·íΧ�=MËkšfÙY%#[6¯äíYÍud²ÙL6›Éf´l¶ÙñpÐÙËòÕBšew:[™Ìòúg2Ь¼•!€"ËÜÑCFÀ€ai„Z@V¾ÐMfQØÝ+ÊË@L/«Y9H�Û rp{ðz­àì«ÙQ—1ÆNNNNfÇ(%T¬^€OàK +`=PW9€?çê£ùâd~rrr2 ‡Oÿõùó%üÛÁo¯úrŸ_›(&.䮪|y{ÀÍïw–y<~¹ÖsW  ¼ãv® ‚ JÁ€ä®å~Á‹ðF†=.Í\ +z1‹k* IŒÇïJ’$ýDÀõ^Ïé÷��3Œ§ãU`àfØV^Ó4«%g×мÙl¶ÝÙ·í¶öÈ{�NÓŸøØÊfVGV2òÛ×Ç!EF® X„6Aˆwó"Q ‰)®öws€�øvá5(ùõF „E¤,=×¹öƒóêå˳¯žŽY÷³Ï>;===],zp#�õ¥¸KàB°T7…ž'}.—«Of³ãÓããããÑ£áÓÿÇÀ7>?�×wšðUœk«]•¼Xxzk`Ã{b~"£Á@T’‚�@@ +Ä‚B Œ +1�JÁ˜$E% c|˜'(�¨ ’$HÉhL +BIŠÅ‚ +±  ‹X4 QIHBI’ $E¥`P’°• €Á¨$IïQ)”$)(y«Å‚« á�`0*a,*q;Ѐ¥d@ŠE£�X  ÿ!"E¤„0.I’Ôn·×Œú£Ñh<L®Töþô¯‚[—àÛ3ØÌd²®ªÏ<ðp¯Ùé4³œšõq§s`e3YEYª9óv&‘+P„û€ ÚDá�¤EÞŒÖî?â�¹ôça(Ye™�óJöÒn)0B·†?,sß}÷í7ÜèùW³£Ï>ëv»'''''ó!”0&º{½áV +ú@âjpSà¨b\Ÿ,‹ÓÓÓÓÓÑ£áÓ]ó}í.¸¹ À p§*@áª$àzàŸ®UË`ccã'?ÙØ�"?ÙØØØ‚$ý„?»ƒnŽO’$é'A~U%oçDzHè-í½÷!ðŽàvúƒ‚”–ÝzAI’‚”$)ø‰ûP„À;’$ñVŸ—OO.¿� ?‚’ÄË”?~¾#B$(IñD"ž�¤ˆ *íuëý~o4ŒÆ£Áê¬ ï ®ÀãÎ^VËkšö;Í€æºpÀÐìξ½ßÊÊZ~WËZ/P¼ÛÿvæÜô¿,ËŠì@!YAÜÔ“‰Þà^­‡¼øÇŸüK�ÞT|p@Z ƒ•n/€(ˆé›ðú‡^¿Zì|õì¨û™œ÷¡„K:¾«À U€»ä¼“À¸¤×§ó¾€~8üãðéÿz~þâ’)ð¯ï@€»ä +øB€ý˜*ÀM«6c0•¢R1c0‹FcQIŠEÝá_I’$)*E¥˜c©˜a*&B@ÂP’¤Àò3bÑX4&ÅbÂXTŠÅ`,%‹E¹4ã�‘Ä1‹¥°”¢Ñ蔂?YÁhL’$Æ ŒÅ`L’¤h,%¥˜ä}#’ %)ÞØíözÝþ ßŒãñ5 +À€x3,MÓ,+³®¬åÝ÷�å + «Ùûö~3›É´wšY�+ˆf§Ó9°d9«d²ÙŒ,+rF‘³om�‡K")pW_q€U��ÿÈHAaw(›2W¢˜^SŠ¢Èá°˜F"ð¶�£4B( @$$Þ¢®XøêåùWÏF;Ÿuyp2ïC ë%ÃÕ¹¢àßYX\*a6ž,NÜ$à“áÓ¯ž?á[ ʇ¸ |U€Ï¯­àÿ€*¼|$)úî»’c0™„1)*‘ØÚï Áh0è6àÇ`,Š#©d¡�JS±  HQ¸ù?B(Ea4–L„qSÉ$ŒÁd2 !„©„PŠJRL +HQ)*ádªXH E(I17`T’xëO !ŒEáF +&áê{!ï¦Rî£Bž¿ˆH?‘qIŠRP€´Þív{ƒAoÐŒG×W”üoé<îXÙÝ|ÞÒÖдÜ`€fS[kÿS€¬Ýé4³|¹¨Öìt:[r&“Í.³€™·|–G–e9âú€€<EÞ¸ò]�Ä€~¦(ŠœE”õ•7³Š‚Âa!( +ò‘ Šî¦Ð«[�_¿¾d ôÍ«—/Ï¿þÓQ÷3ÖírG¯” .•r¾³LúªðUx5>£YLt\ÏæÇ'''''ÃáxøôëeÐÝ âuÝJ€7QËÀ›WÌ‹—_uÿ‘Ä¡“0•‚P‚q +SIa +§R©T2%¸N0…1!–R©b1ULA“bâˆûÒ»B˜‚<ØJ&aÂT*…SÂN%½?4•JÂ8I‹…b1UHAcPÂF%IФ`@� ŒÁÔ†)“ãÆ8¹-R)!�¦R)Þ‚’$#‚$X©w�n¯×ë÷û|×Ó°ÿ[HÄËp·}{ÐvóÚ®¦e39³\ €½ƒÎ¾}ÐÌÈš KÛÕ´½N§c[r&“‘3Ùl&“Í(™ÌÛ× ,(ü.ó�¾@!$Šé4ÚÜTPØë½ßÈפÈn@Q”l6íÙŠ)ÞfÀ4JVQÒ"€ì|E@èÆa ×—ðêåùW:Úù¬ËvNNNNf3Â\‰êx�Ò`çr»/½¤—êãét~r|||<}q «Q€[ðÃ]rpYÜV —Æbü!„¦0NBSñ2Æ&S©.`Œ“‚‹Áh̽»³x±X,1N¥b„Gp*ùƒCˆS0•"*†I˜Âc\(` ‹\àïI→D¶ËÅbã"^~å»\I�(„b «)œÂp¡€1†…"Æ)˜Ââb±ÈóB$"IRpCÞ„x¥Vg½n·×ï][´íß¹† @ÛXšµ»kiZVÎd2ÍK9€¿åQ€¦íz¯½ƒOìƒ=Y¶ö;ͬfYV>¯5;�Ž­­Š€ÙL&ó²"#Äë€+�F› +aÅPØä÷u-À-›að¾@~ÒŸBÞ2 ”æ9€ÜÀà–V`¿'ØW:ê~Æ>ã�@“ÖI¥VÉ©pù‚ª_ܹ +p üd�¸TªtGÓÉ|1›ÍfÃ?~1|ú5Ïð*àww˜ò�Û«þÀ5�€·Tð¥SÐ 8‰90Nð÷%S +¸�¤(”`*™Âc\(â¤X,‹…TJ +HÂ�Æ8…ñ‡|*æ0Æ s)Œ1.àb±PT ÆŒq (¸X, ÅÆ'U qÒ H¤`P‚0…qÄuõ,p±ˆ c¼�ÂEŒqªà@ÜØD�Þ‚‚dÔjuîÐ0èúW–mûw@D!tá´Ûm›¿<`YWZëà +ào/*€Oìëžl4³ZÞÚuCÛ«¸ù‚·n@–ýH#´é]ápˆal®§8$#BÊ&€’å{€Á¦¢¸�@i�V²?S€DÑ€¼’|O Wa¸® è2žý§£�ϺŸíL&“ɤ_×õJ­VÒùóÝ{ý¨*@NÅê%äÖÆ¥J}ÐŒÆãñxüä�_¸}¾­ßßùúÿðÃo¤×øÜR¸|Ha�IŒUCU1Æ©ƸX,â ¦`,ųP$4Ap‘‹Œ¡qGŠîó ?ÄÕ䇺ח ¦…ƤX(¤ +\ÀÑH¹€‹¸@&¸€qQ%)#H’‚«¸×ùÇ‹LI‘âB¡ŒSÅb±€‹Œ=l¸%AAâ¥J½V«w{ý^¿?¼yàZ‚¯u´Zív«ÝnµV +ÀÚµ4-“‘³7`7レ{�WìjZë¸ÈzM€™L&›Íüù@QP8 Òiİ(®€Ö’HV€è*6EQ6ÝÅ�@L§H‡‘’U QÃ@VÐ +�®;ðõ +àõe?w;ègŒu¹·>)U*•R ¯_ÔÜ�¬ä.ªIÿQ11 ƒVJF½^¯×¿øãÜ� Ÿ%àw=ÿt‹#PáÊ$àÝ«äÊS&ER(`L·ù¥.•bŒ T·I™–I1µƒ)H +…bp±X¤‰"&¤ìÝzLn,�É6)qcÂTŒ1Iª˜”Ír™?*BÊåmR, +¸PÄ*%Eþ Š„‰Z$8•LÂw£0$Œq‘Ä?“.Ëå2)JÁ´XÞ.R,A„wÜ«ÿN0(B¢dÔjuÖí:ý~à\ w/À-ø»]-oåó––ÍdîeZW…Íf³™_À¾ykײ4­õ¸Ó±³™¬â@É(>H§ÝA_àZ÷ˆ« ͧ�ÒkØä9%«(2â!€œƒ4W?û™ lòq!N�H»‹BÓ×àõ^ðûï| +àì«§CÇqG×u½”ÓKF¥R)]xPçð�¨\ ¿®€•Ša”0&†aÃ?~1ä›ÁV–€¯¿¿[Ð;·Í\™¼k€æ®<”'ª”=9:¢”2¶sß „:CJ‡U¶M˜”LaB cf™Ð²É†9J)m1ujRª«d›B JˇOÌmJŽ®RBŽ©I?7Zv fVfî8UFˆC͆Á¶ eDgì ;d «´L +«ÂrBJg„0“1ÚøkÆe]f2Æè!sè6­šË¦�wxÃ;‚�(U*•Z½Îúýz¯×]�K½$€?𠸀eYyKËÊ9ëæöx ù·KørKÐ<Øï4³ÜbXk=îtÚ™¬+þþãŸ�ˆ $¯Zù€Ï¾Ó}úû7Wò +÷þ‘å°dE‘Ý À +¢ÈCEFm"„"éôš=øu]€¼ð»µqà§GŽã8N.—ËA¨–JÄ —Æo^È©¹Ü…q`÷k—Ðɯj†žs÷S�ŽFO¿>_Û öúûï_¿^ZÞáܽà:?€ªWƒÐ_ê:¦]B )�èX×õ!D'ŽAÖ1Æ8ùnBB!&q†„PJ‰N"a B(%¤Bt¬«„�èc]ÏaªëÑ1!¬Æ(½�±N ¢3²34 ¥””ˆNV ¡„` ab¥$%¢c«9¢Bj]§´ËØûºŽ)¡| YXÞ|/€ èÔêõ^·Ë[9] €Ðeð2@çÖ�ù­k³Úî2à)€LóÀ>hfòÖ«µ:�;­L&˯>”ÌŸ "„”DÒËf Eq}¿³ +ÜU@ä›@8Í€ü³üŠ«6ÝÑbÄCŸðV-ð¹ó¹ÓëõzõÁ:1ŒÒåTWîM«|¤Ð¨ª9õCUÍ-_P¯T*µZ�Ö¸ÀÑÑèrðÍÀ?Ü9ð×o\¸îTi™”©AÕr¹\^„”™^&„ ŒAHp±HŠ„�rÙ4Ír¹L‹…Èöv¹\&eZ¦”’2M”Ír¹¼Í?ÁÐi™�rSþ¡ÛeGw«Û¤lš&-oSJtRæ_S.Œ 8N0Œ!)B +D'”R>b”²½½½MTF(¥„T} +@<Û!I7Œ©ÕkÝn½^¿U„®R¶mw:›'ó-_Ào× -°@ûÀ>hfw-+ŸßÕš�Ç�V6“Íf™@–3&࣠+»#ý!ß4ઠˮ‘¨ 9 Œäë°2ýÞ¯þ'Àññññ|Òƒ l_qÞ´ +sêš!ÈPÁFŨ�F“Ù|6›Í\¼xé­¸ã À…s“#Ð¥ÀThùšCM“–)e´JMjR÷¶’mB¶I¹T&„`S60!L¶9(-— ‰ÿ’´LÊÛeJI¹\UIÙ¤´\.“mB¡„�m‚½mF„ê´LŠEB¶ )›&¥´ZÞ&„PZ&Û„” )p§bÑ`²\&„|äሲmB-—)Q¡îŠdÁ,€^*•*´Ö­³n¯V_žu„n +ì¶ý÷�޽ëÖñ²rFÎ4íVso¯ÙlZœ@}U€æÁÁ�½¯ÝÓì}û ™Ñ¬|^ÛÕö:�;-¯(›U²rFVä?R|ûÆ�QÚ­Ê<÷§¤Ã< ðŠ?ß +2psñÉ Ð:d„PDV +@F7 ­W–!Àññññü¸‹çJ%’»Ô릪ê›Urj.çWWÏjÉ0JÝñl¾8Y,‹Ñ߬¦_»­€opÞ¨ +P½kÀ¼á4œ2¥„‘2-›U³Z¦„�mJÊd›é„�2†01) Á¤\Þ¦fÕ¤e“–Iœ£¢J©i–)5ï“ퟗM“VË„’2¥Ûd›n«Œë‰�²iÐ2!¤HÊd›–]-S“Rƒq8”Ëe³¨ß–bR0U6))R.SR¦ôÈ ¤\&¤j•¯5'”–/O9ëĨTê´^¯wo€ \¬z¿ßjÛŸx°òš&gîešv‹‡ÿÖ/àuìÛûyYͲ,mW³Ü€×Ùíøs@DÚÜ”ÁZp“OFVyYQdEÉ"^Èn†Ý2 ("­�V²y%-òL‚¬(››²×z„^@¾+SÐï¾ó÷ÌFŽã8Îéééééq?!©ºŽ×«€®Ñ×›Urj¯)þ™k‰IIgÓÙüäøôôôÔUçKxž€oüðÃo�¸³#Pãúó§ÃCæ8Ìp=tŽØðËCæ8ì�6ØŽÉTF#Çt›RÊ(a_6�!kì8lë!Û¤Ú8j4ž8sÔGìhxØpž1æ8Ì:Œ1Õ ´ÁÌ“úSƳ±MËÃÏUƾh0Æ F(5wØ‘9¤UFU‚c)©X}ò¥ÃœGlÈʪ;ÌaÌi Õi4F­U¯@DÍa¬— Ã0Œz½^[žöÅ2 /¬WZíV«Õn·Û×ùÔUš¦É2ïähî­ ­®“‡ù{Ú¾mw–hvwZ-›Íd³Ùl6“‘ÿŒB›¼•/½¬ÈK/ .VŠ¢(Yä· öªy°éÍðJ §äëÀë®Xøõì‹%'#(å0ÖsðºóF³+À[ù½Oò¯WUU5J¸>ž/ÜVàñЫ¼Z®¸s'°ÿܽ +ÀîX¨Ýpt]×õ­-]×õ_ê¹ÖõÜCCßÂz©„ï«ê–ªÇ76p<_ +£Ê}JrêΩ9«z‰ê:Æ9}KÍéº^Êá\ëªÑÕœNJzNÍ©º¡«[:ÞÊéz.—Ëå>TuÝÀ¥Üƺ®æT½DÞ'üŸqB�Ç#‚�9Œs%oéî‡lÝ7Ô­¿4¶Ô­’ánû¹ä+BˆaT*•:­Q÷å@»�âÅÝàÞ±;Ÿ¶4-oñ>€{<°¬f³iývM÷ò7]ìk÷4Û¶yÀ²\(™xGàÿÖÛ @$ +ˆD"?€@¾�”Ñz/ ,+Š,+Y·8‹Ös› q�Ï# Q ‹iE–7‘âíF(²ª\£ø\íú4ÐËó¯Ÿ}æ8ã~}(©%RººÞ•ÃçV|Ž'ú¹óŸ'x´ bÌsßîº Uuo¼ºŒ'TUýP-á\ýh~rrÂÀpÙ ¸êºƒ!ЙÀ;äþú?€«ªÎMǤ”¡ýK/r¯é„Z¦”PB à ÞäC¶É6%„ª&%„òd&Ø1–ÔÈÕÑuJè}/•H)ai�’A¡d»L©Y&Dw(¡”–)ÝÖu¢µApcœÃ +0ØPþ¿µìn'.ÕˆqŸU·)%¦Iͪi +|Èx n¸VÒKF©â;>´Z.Ä‹}Ëów�OÛš¦q'ïŒ|/û[–ÕÜ»d +â�ÎÁ¾} ÝÛݷ탽LÞÊ[nÀÊhYN7Pþ÷‰¢{WQp 4B¡É?F¤×à•Ó }! (ËŠ²² %Ë—‹È +RÐJd9ì`SQÚ”‘ûBË$àu!¿ÿßs|ën}ùüÙ‘ã8;999Y ½T*]{ÿ±û£ €\çT¨zêÞT“8—Ó1GcU½FNè%\›ÌNNÎŽ���‡GÑçôíÅY€7Àw͘·8qøâ.Ý¡•_„÷™Î“uîÄÀv™Wîci£ˆ1Á˜lóü›ê�r™”I‘”ÿŠÂhœ Dßg%L¡Åm¢2‚ !åmJ ¡)‘ªÙ ¤P¦´¼MHnÊË„BTã#ZÀ'á» RcBxÕ€€Ðû†ßaŒRj2“QJ…È;Þ|ñª(Å¡ +a.‡IÉ Æò´m›·ú¶W] »ó˜+ËÒdd^سÜí Íë°oÛÚ=kß¶?if-KÛå +À¶²²ÙìÒPùwàëz¹o? @„B "(ÂÅBÊ&B››²|;ÐI@xeÀÈZ!qÈŠ,×Zœ¬rù, +ó±b È +RÖ‚–¸®ð‡µ€�¿8ãøl±X,N=Ç„_ïÉžËñ¼»$`€¡šä +`€Vyƒ»g5�ÃX…¹’Žk³ùâøÔU££?=þòß^­ �¾ÿqøáGû¬Wr´B«Oo>ì}J(¥ô}J +¼$G©QæÕ7BÖINÚ ¸€ …By›’mBURæU:Ì%ƒnnQB¶ ½O>²]$å­2!EþD§©ƒšt›�r¹LHy[?$¤\&åm²].B¿!*Áã#P -9bÿ8Äÿ›bÿ™ûç2”¥wçNŽ÷_ð¿9aþ þ…ÿy­&H˜c.  ç/¤õ³-Ÿµe/ ø_RC$xeµ”qåã3f|áZu±®ÖRKFèÜÜõ¹¹…NÖÑ7£æDü=üB& Wîú²òÒ»,:u‹eJɵpN1@hýÎ;ï¾wíKÁ#€_x  üG À·ß”™ð„=j@Ä|®ƒW¯¼3Ž O`Òð5ž£ƒ€ÏÅ"À=W~(c^æP6ÏÄ|ý­ˆÉçÄ0 -—)ðÎÅKp(dL o¾ùæ™3ï¾[šT­„»ÿ™€~ 8@ wV’V�»(YÒO�iž“¾ÄïòþÍu;ôó2`)\»^€Ï®]•ý_„¼À põU£ž‘ÿwxºkhçH €A¼x�ìÛ?Ö|ÊàÜÊš³ŽX·[U�D“A¦Çö.oÚÄ ÿŒ‚ˬn³Ú_ÝÚÁá�Б¾#(ÖnïÜÇÌ^ÍúË"X÷\Ƴ,ë6;y!XàäÖN•�@R&2®yºà¹‡sz{cc{ <O³€$ù˜Kõ©|¯¥¥l}çÀ² -诺Û]™ÉâÞS^&ÊTøVWóåî20•t—É“?ý…ð€¼áü0SÁ÷©ï€DZ_›«Û€êGŒ%تU�þÂZžß•Êùê¬xC‚„ÈFæ!`-`½öd{‡^wE9À|l²¹ ôaò{ð„Á~öAm÷¹Ö‡t�„z{L Lâñ¥•‹ ¾Ñáb~~àù ¥ŒèÖýûôÂl¬¯gÝ�qàCÿ¥þã;N_ùzZ[”Q£G“~<Òô¤â™F÷öp�¯äÂÇÁÝA/æõÌÅô½ÍGÃF -õz>èÈ½Þ ×k…í­te�¥8´ŸçƒÍÍ¿Ž†ô´ö h– ¤†Ã5&@èû€»5ø³�¬©<² ïÍ;¹~ÒùÚ�,OÓú-;°í-aZ–6šÙð/îó/ÃÀ(—vl €ô—@Þ}W/É%µð8€:í¹‹Âÿë:âß]DŒ7p´ráÂ1KÖ�Ú§²oÀß±jBï]Ã]¹!®¦;H(æ„@-�ÿ - ð"]1 -à1…ü×&ÀkæÁKü?¡`¤b‚<´ÿp{µ þ úic+èšbHwé@É q´{ÆXúäWsð_Ð!LÝÆŠdxȽ-“{›¾Âʱ´@Vøj®‡8›¾ÞIãÅr}r ZOÀ> -0d-?®“@!úí�­óÇÞã%+•ó -=‰Þ!®t À‡ pXþî fçSzgˆfÝ„Mz’¤ SYnQo“ wäC¤¨Ñ¨´Vï3""šµÀ]éWóΊ@Þǵ"M— t? Ë0ËôFDXAPPÍË¢¼×Ýý ðG—¿¶8.! ˜ÀoOù,Ömì盟 (†€€�»þ¥³èÀÁC[ÿtHà³ÙÆ/²Þ'Ý‹‘€¿,WЯl�6Ú#ý,ô\´ÿShjŒÔˆX% X‰~n¼ò;�D�£4 ü {·Ä|ùénsºÁŠfÙŠS9yª¼‰'P3x.¦”<™NÅøõG²%% 4Ïü$Ư˜(^Û.¤icñ/=RZ¸F§ Rc¤`ÂéƒKC¤\–7›Cé%µðæJèzU³ÞZ¯§&1‰¸\);%ùÔå.?rBE*@ÞY:}ÃqátC’× -x>–ËW*è×ËkÙÐ3—Xd~â•79VêX2áû�¶–�„Þ´÷JOè³wý†é¬,Yr�ÆRŸ@ó´57õVåãŽgV.ۜŤyK[Kž­‰VÖ‡ªv,¦sß>Ë{¹Ì_Hûë•3õuš›ûàÕ±îarp›ú‚²-qî¤ò¬+›Ñ‰ÇàÿÍ–ÿLÕø/óeÅÁÿ›b:¨«%üÖ?h40°ÅäBM9]ï¥7;úŠ,, ÜðjƒæLCö˜ZlØndkk=2’è�­fUÖº¤†’JG´äC™¥^ýÎ)IåŸ ãZõ?4?,ûæ™^Ê.¬"Žp6¿æ‹¿ôX^äx -X-< b¾Ǽ÷²<Ä|…1ëT%øÊs˜ØP Œµ^: -ÀÑ£¾X�ƒUÚ+bŒÿbü‹ ¾¡ú+z"@/:M#²IÀBžÑÀ-ä{®Ç†~ ›z‚‰m3çwO’p‡,L[%kç†~×2:ac/ ðÿ -À3kœPôCé–£ðLÎ`èy-1ü ×ðc�©»¿Ú¬Îbí -‹£ ²¾£@�°ÐYu†qýØü´«²ž™^ŸAzC"õ>Ï"·{80¸í·g?¯ÁH+:#>à½2×Ç‹ ¼à }ú„Ó /0\‹U(Kå]÷ëë[«ýœ´múùEÈ´m´'w©§C}QŠþj¶¼º±¾eÿ?lÕL&ö[¸½±3"Bq{]IYy–¢úZIó�å�ňhbX>°ý±íx( ©nÀ=øXì6¶À-€gµ¢?È•TáØÞ ¥x>¡°Hÿt©.áø×�z õeïàéßçMž:ê_¢#¤‰$N©ËÄ p謶=ùžå“Q`Và˜@n>ØÏ@NÏcÈ�“RjÞ&p èSUl2¾ ý+M î�¼+ã'†Hë—c`CBàq ˆ~[K²ó²ZÂ`3±qÿ%BKƒüBGO¹tÔúmƒg²QR¢_ì’PžìýX bÁ[' g˜Ì¤>m¼5tš§ÀMÔÂ?Ód‰vüп–.d /îV¥5w=æušû¨9î%�T£!`Í�ÿã¿@¦§´PQÝCõxÖèA  ©*b¼±Þh>ݺËD$þÿaŽeü$vZ^—ylðgÉÜŠŒæ¶Œûd¶›3�²”Ŭ§nt«âYü<¡¿�1:ªTR&©Ý¢¹á½‘Þ‡:›fÝ™¦Ø…,kš�¶×´5wÁ¬#‚ÓÀ¥ÇË*Ó´ÚXs 4ú¸ÍU;߃Öù)VdM@&„¿´*Su/ºÆpD¨8WÿåÔÔ[Z´Ê¡OãDò¼€}GdOà¿´%ø/bÿ‰ÿËeþß¹ãàÿáð¦NJõþ×ÖèÝüàƒFº´dËtOÓsMݽNöi§×Y¸ÙðU_"JL¬*§5ÃÅvNç³Nè¶êãá 0Í�;¶…y;ÄûËæí¯ûºeráC\nÒÍÔÚ- ”˜ —ÛíV³UŸm¬ßhôÿÁ˜«f»Cl>ÏÎ-r¿,Æfu¶70ÿ÷XŽ—iBÀBn ++z‡�F<Oq|ÿ„Eu�#ö ÄÊ×TÄtà{¦W’r(ÝS!�í €0!ô#Æ,€ K"&7¼öÂÇIÓÆhe¶2Ûüƒÿ¨y»Öè{é¸`€M! º9¶»«âÀ YZKXï¯ÓÈü4®rD¡„Š £(ÈeQêN60Ê|(ZÇ• rî|×®ç‡b}|™À×ú9j‘Eýv½•Ñs‹{¨T.Æ€«á!ú¨¶î¡¨"]hƒ4[Ñ“?Ðñd«½ *v�žKËBˆ �Ðj‰vq]n6�ñLQåyXɬØ@ßñ<€Ð:K•êŠF5•É.ËE—/Ó‘“à̓ȇ - ºÕ”™ªæ`h¥Î èe›KCªg]Ÿ³ò´¾²²|¡°TEÞ¸I襬Ÿ6!PBÐéÜÌ{é‡ÍúÛ^Hà§ÿ7ô«’ž=ýþ’'Ò7.—ëuÖÊaZÚßpyByÞÀ>@ï×Kü—J±ÿ—/‹º­üüoü?„ÿà\àsôkµ:Kg>”-ÙùDõÖ=Í/è»’ÌΤ£¿² Ý¬‘ {+d·uØš�…Žñ]—¢D£õ>¤Oá—¢y|†U�4¢c @që°.Ç.€€#­`S¦¸@ò€Âo\ odCúõÑQöÈÂ?êÐîxÌóçFèí¸ðZÌ0^ Ðk¼ÔÀ(€É׬œÀ3>?À¡À¤࿸"7Naþ_¯ëÞÜÂPün'éÊÙ1ñmö·|)lâËóÿ1J³1" ü‘2ŸÀMø³@mõ…šÓ1ânñŽxÉZ/—ëŒÐ=Ï$“õ_L�®èGäðûµ¨ìØ$dÿñÃí~RoªB8Ù̂վìrLVá@†Ã]²Þø×»–�q ¼Ûb|�ûéÁ¦•×å÷ö³°�áÎ =á<£á´A_³‘?ürÖAÏ“/ ~ð@Y2Ùnä`ŸØù=Lv.‡ð.¸6±`¤^¾º‘{Ô¢²á¤„@€}c¿±NÖ÷œ`§ã íôFå%Ú°žñF熲Võq6d«]:ñ3“ qµN›¡Q³­þýýc¢=¦Ý±*@�ÿ³³àÿÇë¬:Rrk'Ä>Ñ÷¸ŠÏx æfÀ?¯pûƒåÊ‹±|€þÌñÃúÉ »„O3IÀþÆY“\p©GèþfÐ Ga–0ÿ™Z„`go{{ĬIÌ †#謲êañý×£ -¸ |5�úágé`-ë7ÃïŒ}LàD–Õ�ÍÙšlÿÒ" hµê^¼&÷oŽCvéÁ¨Lýä§ævT*iåt5-æ @5©g,%�¶ ó¯!/ñ10þw:ÕÃØÿªjŸ�ÍÎòwþ?(›ÏðÂ|¯qÖßîŽ(«êµVdÞ7²A¹þ”þFÍ6ý+Üj1Nµ$a�jH½h<.^ÒFkž%­Ü`Š¡Û^¸„ÿ2 ø¢º@·¹Q©1[P&€so 4Ãà€ @Ä€õ º´¡ŸñàÜ7þÇ<ÇyT Œ€lµQHI ÀÅô¦À«:à˜€Ãy”Õ‘€Ò@ Èèjœ, <],¥øAñGW•',~´þU�#îÐË-):ºâ‰pƒPö]žÌÖÚÝL?ì _ß[„x0n—~Ùáøì‹Ï@ûyGœ< �zëÂyQ› gψ¤ªß×?ðõ[ð‘ÎЬ;ÿpoµ­§ÌÿŒ|ÌgL`qÐÏv:ÇØ a™~A¬}(|ÝvozØ‘B‘xŽe½ÄâfÇQÀÜ; ¼Þ˜æOà-à5à(ãò ×SŽFjM èWž¦Dñ AÉLi‡ä4DGÆ®›@ ô'¥ô†w€wè—`N_|Þ÷ÅP¨ñ‹áe‚¨²ý¾trmÙôCD6VEˆÚív“Õ û÷Þ�g§öä 76è_¥ ëލ‰€ -§†¢ NÈ>h„H€nŽ2ôãºg�„` ;°®Oð¾ëhjnút؉é`€ËGêrãUh¬E¨v�ª=`IÀm\%j -#Òn»)³¦B @,jÀ÷%�Ñ“,~ ~üÇÓߢ‘~e·èw“ئ³Á¨¬‘ÜbÙ6…F�£àްuØiµn dÃD$øs~äA2¶¢ž–LŒ¡Ö½;~ŸJ•Í/9´+|1›§àKé¾½YðïØŸPŽ,»‰Wy¥+TíP]v4DC[RZÏü0WVz½Mò‚ÑÙn®ëUQ#êâT×XjXˆç .ïÝt:h�l@ÓÒ~éƒEdξEÃþ=C¢Lñ¼qY€-ÕAaG¤Í€Œým%0%²Ò iÜÒ¾6lþ›pœ¸�!Ý8¢eÍ”tÒ›Ñæô¡ú¾ZH^¬`À±<;â í(�RÈ•©Ly>€Ÿþô a•ÖÙÓ"ÅŒÀˆ2­×G~]y©€�Öœ'þ=Œý¯ÞÉîÈ´õïà)zÿÆÿ -ï¼n±ª¯;“�«*3™ñ }‡¶jL‹�Ñz"R½óF>p ‹ŽÉ`ìŽb™¤O|ûýåYè,,Í·*õ_ÖuïK )\u4SÅ«,4¸¸YâWøÚ‘Ø’ß|‰unÀío š“1j\Ú-,O޼Äð%>0ŽBOzŠQòWx,%Àkx8ÀÉf”GbnG €ç(<Q�ÅDÀØøÝ%! Ë—×¾¸öÅgŸCžø²ñœ`@ýjý%×y"`¥üžÓ¢›;vÂ, †ýd¦–¤ëîÐÝ£’ð°ÑÏÁ>µ¬Ú8<'� Â¯ë¨_k¾>W¿ðÖÔ™Jká:«ÎÕõDç±þ"À<”å/È?~°·Þm&²ÿR…g¸ó‡ z�©q´»!D”yŽz/Òâv²¯QYþ^^žx2檉êf3ßL€X~½p¤)BùÈN߈°ü-áµÌc!£_$@Èý�p9eë@õí�½J¯¤zØ`ª"e�¯ÚÅ@ Œt‚1ýí— è^È¿¿¯ª£ÙíÑà¬<±þøƒ2Ä'!ø—bPÈ ‚ô‰‘ëö»mÆM7™ �N7*cøð{«ï3PÒh¶ÝE¡l”×a�÷YmqOð ;h0.Œw€œw&þ‰meª;ð�‚pÂf>NÏ -Ę@�ñ»Îá yBø<÷¥<ú^·ÈßOÇøà€–Vsˆ®Ñ¼ë[žv1tÂa°Ý�f+í&Õëí§À­~~úóî;âÈhÿ1Ïͼßhê9©‡(� -`Äþ'›ki«ŸN÷s?7 lÊ>àKŸTyÃrA{U­žè»á0‚ââ˼?’>Я'-*c†ùǯ„ \I|�÷PóÞ�E¯yËšHk÷˜ N½àÚæ¨Óʳ™îšŠ…¶”«çé¹#MÅ´ùøÄ‚õy:}#/àŽÙ7ý-(аŒl¬p.–÷i£a¿QMØFáp^ïˆó'g4R´k¯Íb½jt·!΋ñ-´f vqÖˆ(±©ŠŸÊ¢‰\¦‹ 9°¶éf6³hŠÁC2žˆ¨¤Ê+ƒ¢Á+Ų€ôT*UÀ…Š—8@î Y½–︮ÿÂÀÐ_ÄþWûwXùÇsÿ”cÿÿƒ#ðÀìú+�@~æƒyiÊ�êüÉj1T±Äd”´¾Ã0ìeº;Cm9Í4@àfga¾5ÿËÙÊ…ˆ  î šO7µYg:@ k'‘µÎè|¿‚À€onGÀ¤ b̾ŽÛÐîFžçc¾Àã8\ àpÀ fÔ»W P€Ï…ÿamÇ<¿ó</ðŠÏ@o†kñÊy=î°àJt|¡Õ˜ð‰Ï?¿™NDèW¢›<ÀÃpËw—o€;iàzJÝmNÏ$yn¼—ð…�çLxxˆ|®[öÙ‡1á É_1 -à5côth]¸Px~qæôyËÜuðŸ'ù‰…ž`‡‚Ûätgó#=gÚ @fxñΠÁtç¨6™Ì@ÜR{=v_ï2'Ãô–س|hs dÜŒ¼øzÃèګׇ[[Œˆû£ˆ�gˆÚÃ=™Ê±ï·=rñˆ÷âƒú9(­Lléè3;Á8bj_@NŠAà)¬ì+NÁ.ýÞ;Ì °M­ÐFY‚Æ~¼ CeérÍØ§ )\äÍì¾Lya,¦;íùtÆ4ÿ¡Z­²ž žµ3ºhÀUeIO†hIÀ¿0¦¯žq„ŒwüGì› Ïxªg4ÇÎç¿èlÐÙ§x0þYHràn¢ õñÃ8)`ëb¼ ÐÈ“8olä}‘–‰/¾$K¦g�>`(? �†ß‡ŸžüpzR»•åâÜ<;ÙZÞðøZR ‹üå¸0‰Ðô{#ýô¦Á]#¦ÓÒIé¤.)¼d•¨ÐFÄÃPPuåïßjîÝB’” .’Hmÿ¤êRÈÞhž² -N—Ý]lôcå=kq±ê,Y¾Ò»+MgÚ£®Í ÌòáQ"5Ñš©ó%>di¥½îtkhDmÎé+4z.+ý÷‹_ÿo� ÈVÞ˜N²dž~y–(eñ‚‰F -Í%<©˜fÁ�ÞÉ6Û q*„–.Û¼£-ú±Ë–ÒÂ@r'4þé]GP=.ð9Sƒ^Vkx‚¤d]áE%µöEMn´ê•3²ÿâ�g§ê"Lg€#ÜuÄñaÀÉn=ŒO,Ç{бìðÖjÑÿOìÿ ±ÿŒýwï?mÖI�ÿµðLÀÿXZ.¤Ù™¤¥'§ûÛ ÈSÌÐmbÑíìd£Ú0 F+­Z#ËÝJv¼¨-q±x~7ßš½0_>µžšÍ€?( ˜Ä�!’ Ba!pÙ0ò¨ àZ`óçq €Ž„àp@xÆk™€Ž‚cbÈ['´I²’|I c0þ¾D^<1Ï3€Ïp{r€o¾e&@•é€ãç0þÆ\‚üŽ ÀßÑdÒê “§ÏDŒÉ×®êwª;'Ñ]8à;ÎãJ÷ªø�òuæk¿´¤ÇW–T™ŠO_tý ø—Ì'óbxVÔh =wî¤ó ¯éг!ºês×/¼E@A®ÏÍùQÿ:"4f‚“‡{ëi3¡Óß. jã¾P;Ýè'Y_•uÌ– uµ§ê!¸N¨Oö£Àÿƒ�XO±€%ø´aƒœü¸äµéMFDhüÙßÇ:سZ-Є“w¹\¯_€¯š¬`Î¥d¾ƒÝ*OY²Š€’à;|Ó‡ò|°ÿà‘X¼B'ÌOT%ô�ü"3\zçxäj -`'@=ÇÐNš³ŒØp úÁmLùhaÉy\,©ÛL£ÀdÃèH¯ÈŽÊÝÛW31 -.Æ� œ22ÓÉOØÀ]ÎôÏl€²ë�à¤Gdèÿðø)XÿC,  C*`2½֟5T9*‹B#G <„Λ(¡[±ã›�ÑÀC»¡¿Ö-fGjé6]c4ó„Ⱥ½©g«p�_™~;Œ¤n¥ Ÿó‘Œa€eo¾ @8xNê× Ž®¤Óé]”œJ4"S_áýIÊß©˜}¬1Ìôê1O£~—úùõh¦ì2Èn<™W£•Õª¸í$ú9{Y£öìÿGOi§]%¡×܇²,ODÛŽ57i±È6Ž~·&;zÏÒ€$—ꨬÊû­8Èx¯^:ÝðbófZ*„µr••ÊëÈ0ƒ0 T‹f³ß˜ngÅã -÷…ôW~ESð`SæìéAUا;JwÆš«­õ¦&Gyj×[ûÇ k4r|™¬ åW¶­ç6É‘RsºfYù Ð÷0·qbC! -I«~¾Â†ŸžúÉ™©©©ÖÙŸý‚e�‹>€ë,•#î£w4¾®ïˆ÷±@Ù3ýÖå™þÊ�;wþ�þí‘ PÑW"ï™NgdDkòVµ¡zÓÀj)ßvÚEû÷º­á@MXtþ#Pzúô¥óDÄÕ³^ùå/]ˆ>7ÜЉ-€oÆ/¿Mz ø/ޏý ³ècp° 0é0˜—1ÏÍh=ïÐEäg@Ș|.¬õ(ÛÞÅ(Àð;à+b<À7Á€ò/‰àÂð<Ä*IÁ„Ì¢Ÿ—g:À÷Ø¿‘Éß ¾õþuòí÷!?Æü$Hªµ˜­�3~¨Äs%iI{3€I@)pWäE£^/àÂ3€©Ì—@ÂÓüuä¡�¨Ñþƒ‡÷ón£é^êÕ|•…w…„ë`ÎzàÚ(«m!F� =ðZ¦5Îu£ÙC#öóÚzx›lKmë €V°²ïõ„„É#ýÓm 7{<+.ÐoK] ½0éÑA¿'ª{¤7 !·ý;÷ (`Á¤•²„E(;½‚JÀtÖèÿ�˜×+_Æ=« [`*!ågêG[â&¢à?*ztœÈN‘­G€xRWr£ÒìoíÑ�²ýYµOˆ«Ãò~šW˜-7¡‰bT½T›Œpß834I0Ïu‡ÀzB -r}еÀ{Ÿ.þx�ý!(ðDŒA ±ôuíSúÈ�Û¬#¦zÁÜÑ>m‰µ•ŽæPu7TÇ~ß“Ä\þÒ#Y2]»å§dHô63¯“ÞÔÏfIÒ2dåÄÊ>:Ý¥"f:€Ñ¯¦’•˜´ù÷\R°LP䨻�ÄÎ�Q.r^+Šå·YK׌$á �JtD‡”ˆ…Ò–$«Í?ñ±@óõáØà;ò¾‘v…ÕÐ2}�ÃUO Ÿ£¥æŸêý?<�(¬GùIs´TròóøÁðð*ë=Ϧ[ôÕüƒ°}`ñæ-ýa/£²½­$oÌ´í»8á škä輇á¤�š%µ.® ]ŠëpA] `úü}Øl¢®²P®çcQÁ&ÜœkÍ‘ð+Fм²ƒè4õúGJ”ÜU�³Sg~"ùé©©ÖÔ鳪–kw=zê[-&Ø›Oç¡-¯)/òð>á˜S�—gý§÷ÿ®ƒÿý ò‡÷¿üwþS±}o²ÌKÏÍüßX” ˆ¯BøÏ7€vŠoAž5Ä'«Ü{Ž3v¤R}BðÀ@*Q  R—.€¿Á?Q€iZ7ð#€4ø¯­ü�‘‚ >Œ2šGFðÿ%psèxñ(Ÿxv€gg”)nÒÀ`€ñT@á`Eà2ð5×°þ1€éË æ€”1€á(bÿ%À¿Þ€‘ÚW¥:àÛÎ��W -·Pßyнm3¶QÞ}èPŽñ7öˆˆ¸Å_8 -à5Ö8”Ê…ëŽ0¸~á,£&Vçë& °ÆðÃc†¡ìô»Ì�ÑOm'ÿÆ“û‚V¡ö|@ kƒ¼5ð áÏBXŠLvVÆý/l{ðÀ‡XöE„}Ê à[™Ù†Htáµ[øÌuÐ{„Û²ü‰Ys¯Qëq�¤ÈÈüA€ÙÄ.ùÚà$²·¥•Un|<Ôi(Å}¢t•ÛÞ‚¥`÷ß߉ˆv+"4‚qr˲�e¦åÛû‚n-,àû -ý p®rNÏóª‡rwuÍjO¶ -cØ�*$¢Ã|L8þá�ÖÀ?+ “ ž}oÙ˜w¸_ì Þñ˜0°h�ÄžðŽCBŸ°“¸ï�X0Ø¢%Ñ}£Eè¡Eu‡Uy©J`;¦inUƒ@²Vm6éËèƒ'Ú árû70hñ\±Y1h*ût�Öom -`}RGùg -DÛƒ?=ÔºÑYÇÏQ¥ãN?D�ÏÜ“±};=€¾'„Œ_!$óF[ZDu’Ü“¡±Z¹Ïji®¤^¢˜_=§¸NÔÅÚe½Ít±Ñ½;¡ù¤ÈÐ þ6’‰"èAâT¡¦5]AsÃ)V#¢4Õ4ŠZ>ˆE‰ŒäJ… À)ýÐc}Xã¬4Ï3ÍÑ�PAšŸ³|æðÀÂÙ qâRó•Þ¨»Ø G@†«Ä‡$E£kmpow11IëÄÇ!—¤s“k#¨ëCõ,Ï7ö´mG -¯‰FçÒØjµ.¼Å\\8ó³©*Â~÷ÓcúÏ3¨N:3ÜþµåÄ€ õ:#ÿïLöþß”ù›ÿÏà?óIR‡¼ÙÈ­8W¯Wg—óµÓ6#…ïm̦ô×a÷£é{¸¹já¸à¿››n�›K)Q*.ÁëN -2>Ç@:Ê7<øóHëQB’çGLÌ ]ïÀ¹éÈD €ðœÀ9?à?À˜ £ß(øgÀ c^¹€çˆ @9y €ðŸ„+ðø/8þâËk_à@Ãe2ˆ<ÿòI×,ž-‰¶˜&š‰¢%qóà½jTågð€×_ À¢o3]X^› À3ÿr„\çÁÿ"xùža~`r¢Áîo¯37¿ƒûËEÌ[ؼÂAÜü½¼�¹- ÇT¶ËŒÅ‡ ìãô7¤Ù²þ1oÅ @6æšøïïìx`ÀÛà aÐÆ}‡ÿË0ÆP×µøBX2‡O÷òuîmÐåxp0íÅ0ý9n¯„ŽíßNW¿y‰ñNÎö‘»´«’ƒ¨¨z®—3¢ÆD²!V±µC¯ÇÎ6Á� �è÷Wc`k}{ŸYÕØþFU€WR9‡°àb{¹ëpÇ` pM©“®á_6þ•�ƒ31â�ãxî çú{úô �û>p‚'�Ÿ~/æþ‹�È[œ$[}’yLÿ Qª—„YÑ à&$/Çr»+üo5¸úé�Uý²|=©Ö’;Ã�`cEèùÝZ>ø.Ï7™\?æYäÈ8ÊòQžç»÷FÃáèÿ9Ê=û†ƒMVñÔSx÷o£Ý{ÃÁ`S‡îmJîýíïkä»ß1›p®ÿáàîPÏi2ݵH‡ÝÝ\Ë×›²æÄÖò•|s¨ †<¯GCÑ ÙiÌ“á†ù@šzû¾u!h˜§µé¤Ë<�×XÄVÚo6¥j(¯:…æ+½¿íJóÍüƒ.àZšßš�¾I©§ÿÕïýÿþþ?“ÕÝ¿ÉÈÌ{Ò|Mš4£!³ÿK»¿Ž6×TÞ¦”�ü³Áp&ßf"Á3EÂc­ú¼Lg/W.Ì�µJÛ¿“oh#_ÏjµfWõ”æªÊHM+í7£|D5y…曂÷{»£ÍÍ»ÿøÇwyÚl$wFƒÑhx…þÇhô�tnjÍG÷þñ÷´?úÝ$‹µ¿Hñá`MÙ{Ù©0ÝÓÝXSM7É\­2ü®Ù÷ºÅÙˆɽJ³½¯äjÑáŠòÉúÔº.ðËþŒ9ÅÊžbg!íÈÀΙ—0ï ;wT3'âxò¿yôf—Ck%àÿnÿàüÿå(üßþé,¸#¶˜¥yÕC.êõ³g[© >Åd„- -çƒ.‰íöÒöåéF¶Î!(Ý&’O¡�,m/Ýt‘4¥ À âË/Å ü÷&ˆmPz¾ -WüD r4€Áõ±1¶S'<ãµ< -àÅ1¶ü�±>ƒŒ €$b<«¸ à•ó(›g×8œ€Y cŽŸ ‚Žx¼aÄHÄmŒÀ4!]Xåì£2 ¬º: î½ø8·ø‘e#Ø¿U[1}Åa5Ûþ>˜´œãíg<'�àŽ½Ž€A4t”€_LÆHæêàÏÉÅ�ÿ@™�Lsp½Í:À]æåþo¯ãýÞ fÊ\@O»çùrTdž Ì>z‘fÐ4 �wztd~ FvŒùÂkP›“œdçã�\?س§Ÿì€%®~D•‰ ±NfE@yè€ò`KoäixÈÞ?Ø¡`òÒ•8D-”Óc1é(ü5a!ó:ˆPT[ÜBՖƸž@ÌÁÎÆº× -p6YÝ1™a]ïYIàe¶.e ¢·  P;Fëí?ÂÙÁí €@WÑàLÿ¿ò  ì{Àý1ðN‘lƒ8ö½Ç’Nÿþ¦ø‘â+ú„ê»` -Bß -�€{p)w÷¬n¬F”Cs¶ÎL@þâw»ëúö_±rÿ-àëËËÒîfÝa쀺>¦³, o µ›Õ>J°ðY¾š$LàöV–˜›ÕúÊ@¸ÂúÖ‘Èâe†Fʹ³F©Jχëµ�z²¨æMÚ¬˜ÓN,RN)»]–ÄID<šÍ®rv» kÞéÏ9>ohW…j§ïwÖè‘Rœ%¶ºÙGµ¤»n�¸&‹µ5þíÞGœ4JyÒHÄDXI'¿ËqÄ´dÙÖå|Ø¿!4ðbŠ Uœ­Vë•sgÏVÎ] }eX¼WÏe·žuÿظ,ÍUkÚUy¡¸žPj®;LXi­õO£¢\Î-U8I¥³… -=� ޲yo7éê¤5är :óÑí®šÊõ P+¨úùnMôH¬…Õ“eÿ³bTÑæ¬K¤<|•·NÙP™:;õ³©3g #n¡¤�¦>Õ°èÈ­¤'”×ðè™ÙªW¼ðOLO�ÿ±÷Âü—°š=:œMçR¬^9S©ãˆ¢kß2îWøs:™HP[w¤¶Ƀ]¸+¬�O:=f‰rÀÒ àBå—• A(U a)=È1áð‰´1 -@Öù±1fÚå Û`\ ÏIb&æ8v&@ -b`!cÊýþs½ÿŒpÀ‹f|åZž@ðOa:ñ<p1ŒtU–þu <_Ò�¢_Þö]ÇðL@«)Kìô‘8°çXˆ›¤üÌ~Ô(€×ˆ‹.</ˆ¸>7äžXÜI F¦1÷ïoµYÀ#Õ×™«Æ"ÓWæ¯ñ§½¬a�ëà>³è„Ï7:Ø´ÐVÊ™œØþ7!,ð-°c\ÈŒ¥¯·ÀnÐ<¨oË/(ƒr!+,uá3hMÞŽ -„è�tlw”hf: ’);zØ#~�#®:3ß–å@ -J=¢([úðu�¹•u‡¹…Ú_Àˆ°Eaøú:QòzøÕg“õÓ)C«Fl1�n�i—û¸Tv¶wh8W› -=ÜÇ CTÿ˜þÃ<Ð-|g¿ˆìûá)ÐÍ1ð�N(@Øû×ù'?³¨l–1+¥l‘‰žÌl¨,ÙlÒ\YN¬7é§r¨“Îy_⌼¿,m Žt“æÊGM Ìeu“R�}ìi¼£ËÚéNMY«Ê”«Ô¸G¤×9¹ -@qâúÊÕÆ0ýõ&K²•TÏ -%X=š˜ºþCóÈ&]µÎ.ÿ‘&Él’[uš|¬¹ÓªõTT&°ìVl‹�’(¼…æ¼»¶’šò°æb|.2GC–<Ë3}ÍU¾@Ö¾îܲÎÛìÇÍÐíçý�gúY®Ë9ŽFúd @=­2Ua¦3gΪVÿKõý:k»Þ4dk§¶á‚ÿ½žàºg°Lo–Ö¿=4øQó_ø_À¿Tƒ•4òdºzcA·XÎ×ãq›ÓW²Œ  Y/f¸96ÛŒ‰l„ú�ÿŸt>ñDÑf 7:ó­Ê/ @ш±Lx€>Á-@ä³² à˯d€};‚_ata¸K&=q¬ˆ8œ ðp€’ã ¿¯èðëø€Kü_ù/²×íx>àÕkx€oÐÞu;ùZÆÿßÙ€ðXëŸ5‚ €Aoj]½«yTI{Ž:ô¥¼ÅO�(!ÿ`èõ‘˜$Êž[ô£b~ÌZ<.ã# ôƒõµé -Ýg@ÀAò¬JÜNêíõ=™Ó˜ØjX襀ÿßc±ˆøë©'„ú£*=Hqï>徎‡ÁÊh1Ø“GhËÓúµ�pÂÿ 6~ -øT‰‹t¼¾nà^§‚:˜  á#Ðð‡ïnø@TàûàZP*îðÞ¾Ìÿ-Áÿ:]Ýöb«^ÕsüÜ90Žò¿äùúp½»˜ wéK^Ëÿšgw†k¬?�vïŽ6{ý|¸û÷Ýït$'-c…Ü|”1/7½íƒÑ?î�vÿ677ïîþýo�ÿóïÿsó»Q~'_O’uwÛÿÇ(Ïÿ2üntW%æƒáè»ÿ¾¾©«µ·*ú�ÿG9ëÚ‡_{8Ü~w·›4’tmW©„ʽüî½ÝÍš�ÜÉÍ•*|=&u‡:‡æ»À Î óµÍÍ]”Ìòá_ÿ±ûÝ=úÕ“Z¢ÝÑh8¢wBÅKóÍŒîÝûŽà…Íá=i®×æÞËûÙ_‹,µ+Ù¥ i>Ú­Å–"JЮE„Â?lGq áJ«z–¹ñY�þz+í)]™©}iÀa¾5RƒKóÿž.vóÑß67GƒÜÝòwUžܽ7é¨õ¿ûî;b¬y6¼;"âAp®CJúÝî½Q¡ù_ÿþŸÿ‡4ÿßwwïæý¼Û@MáÙ½]m¬íýU×é’\š¯K‘ápý.|m}è¼ÉÐÕÙþí;aa£ÛÛ½7 Íu\·u�/µæ®¿ýö[o½ývåzý}¼ÿiõl�y!Xb)Kçð1$vt“¯ÀÉåõbð»ëöû‡€Þÿ#æ¿þôµ øO ÿü¸ßžm¥+øîð°n€¬—壴1Ó̆+y�@TÕH6¤G[ -óƒè/\Þ×éyiÃH€gð¿ø4Dó_z !ú/€Çá Ç1@¦÷Ÿ -p’Q¥`b¼ùJ3éøÆ—(_‹SñŒçüãÔZ‡ó] àÅóÀ&c<ÁxwưǾŠW5Ä5¾¤aµÉ(>o}Ä@D¬{|÷ÁÆâÜZ 3Ÿ&¥„cb -²9Îð#Öp\pá`&@{ž#¯X€A¤ŽÀ«Õ„•г[0àˆý@@œév“»?ÿ@X!v4�ÐU8¬Í‡ Ñ f†@ƒ-;»^vÀܯM!­Í_h�v9‹½�¿ŸÃ–àö‘ã�-J ÞÙZ)²�'-uˆ1í:Ì6¹ øÌDv¸LÛÒàà‘Ò=z„ -Úñx<`v :x ”~ppßÔÙcvBB ·eÀÓG`@³µºx/ëðÆ�OA�WªçMd.·SV\ÕU[[Ì™Hÿ‚{F\ ZÌ"€V }‡L) ìÑÀ˜>íYìàdøð§:¡$O"FPH-`S™i'÷ÆD@ brFc?Ü߃‰ˆæà¹¿Í0€ø±Œ¢ððë(ÆÆ°Æ-†Çì´"äáסó¬”J¼ã¤%:�ßj6ºÄ�a”[”Ô'{ ¢Cþ4ø�{ÿ+ò§«ï;YW ã÷§gpad1OŸtP2È9]w6;ù±Þr±P!Ëõ£…øjwŠ£Ý-²TÚÿÞ­æ›…æ+"�ëtÖ<_¨‡ùY'"³v��á…i€©Pj^|ôzÿmðÿùçV¤R£9b�.+°cZóBù#‚i*i̵„\ˆŠÀÜuæ´›OÇš£’=KŒ�$“¼;“íºpµñ¡æútÜÙ¡æy{&éç1«¡EIŠðÿRƒÍÿý¿©±Üæ�¸ANè'�ð_j¿DøAÔÌM!Ñé,_ë' n;¹ë¤5^‘É[gIßÈþŸz«òv¥rýýÓïgL˜2ݰ6M¢�Nü÷š1ÜÈu@x°Á%Ö¿”ÒúOàú�I­‘‡aÿ‚Çþ¥¬í«úúîßËÓ™Fr�PF5¸~ý\_4I€Î¤ àæÍ…›�V«â‘‚‰I™Œ°1�0GF8àY@Ä€õ›ÎÇ{ï 0~-€—Ì茜ß8` ¨-çðŸ{Üpì(€“ÌðçÐå_/àšGx»%Té€e¶…Ë4„àsb€ç/¿V»½… xºH|ïù‚,@ʦèQpó½¶àG¬xûk…8€QÏÅX 'Ð)@ÇÎÁÂý�”¥€¸½Íœ¼éGŸ¸@A°·G;+w€ÒsØ€¶ûBð} TœD/€âÊš]›îœÀ’ä�¯ÊB° ä3e�ÀG/eàë•�ÞGn6ÿµ¡�B{¶Vµ³ÏH¾@m4Qž:Ê¥ƒ -@Àp—‚¥”‰s„½¨tåHÁB?èŒÁÓqœð‹Û! æð¸Æl³r@ l¯ïA¦z„<ðjÁwS©ÎÖYãky9cv¥íuFUlïˆY¸(Aká�è^Pc¡5 ЙáÇ| „sþ©û´‡‘¯—Oó‡÷?®ƒ%�—IPÌ%ÁS¸÷ÅX@µœXdÿ¿^Û;&x…“V½z®Z©šL -kääü(Æ¢'%½£~LÆM ²EB¥¹ää�Û—ã<c€™RëɼÉ.ñ·ÙGɈ´!üúø1Æãñï³Ø¶J)Sýx=¹×œq¦Ç¯5*¼`h!ÃdºûŒæú ¤Ž®�#úè­åI-ùaÐbŠ!‰CÁlœÈš3ÔÑZ5'4'ÿC�æ.á_ÐÅð8¬Õ³ç„`桤œõÜ)Æü1EϸþY2Í…⑇á Ì…!jnó^Þ­vG.Ÿ!\šÛ�=®^oð§Ð\z³f€-Ø�[h®Í -É̼ÆRÜ€%]ÝMu{|@sûM’ -2ç.¼ýÓS?a=€·¦Þ®Ô+§«¬v pf©àŸ‰€t›¤'ý{ý˜Á…·ßà?1öûÿÎþ[À¿ð'«I”‘ÿöèF -zù¨Û¨¶R�‡€fÙ(×W.¦OpsÃÿO&\t2Ï×é ”K ÿÆ'^¶#õAà…€À5Ç”€�8>àX€(€�pbhÂÀá(‹“�ñ`€c/],Öxž¼8 X 戙_`09 -À  ˆ°€¦ScÒˆ[åì«x•ƒà³Ï¯‰T©E¥ UdeC9 /ìŸ[8ü˜()€K(ðŸæŠ¿ Ü6;âþ½,€ -ŸÔ†8`b€cb$�#'Ç€§…‰ ÎÞV7Hÿóï^<àvùã 'H?:Ú·Üô€¾ñYP¦O-Ö6ÛÆÿÂÞô%% €p~ W€�Û@ .K\ß…úÚà*a©óôK;CïpuñWÀ· wi÷à‘ [»œƒš:@Aë¨jªb¤ÖÞÁ>à ÈIä�È@ü¬AtO€)�AÀq€ÿÖòF&„¶¯ßÇ/!,¥!™g·dºu„w×›M5írcuË ìlP¹‡ûô.’äÛ^{*ÓÃöc>žˆ€æñýðXØÎ, Äâç¸ €]œöé÷þC (J?m¢–à "gÂÛ# ‚¤Ê"8ý¶NÃÓÓ4™—gÍô Ä€ãEßgªi&$÷“O0$¬‹òV#Þꤞûa�ò{²ýÏ…ú޲æó~5aòm'Ct]¹ú=KÜŽÁ§à<ˆÙó5Ù�Z¢òA@bº?Âùí’È¿k¥Œê¡­_:‰ü‹×ÑΰÐ¥õOßBZÃãÍ5¥æÀ2 ÜÝKâÿFX8iò~ -ÒIŒÜÏIÔ¬\ -Ð`U—ñ_={v~îB}N˜“vVhë#š[”sk:‘æ´_ÑßL³.Å�̨8ÚἘÁÉÁUô^#dæ -r¡Rÿëà?Ð\gè0èO´ù‘Ûl)ÀмçªeY»ÕÊ»ÍFÏ�tδÁéçÎO�úÉ)|oOUΟ;]Éæd¿ÀáKªáçŸïù¬d»v”þÇà7Ç­fÚðcFœ0€iÁÂðò¬ -ZŽ(i˜”°Äë¡xR±Ö©ù`�îm�v‰ex[‰1p Õ?©°ÈÓô–Ìèññ$yVó¸PÇL ydžüÏÚø¿˜:;waî:þb�ZGs‡9,y•^k?ŸdIcU I8šJGs�(ŒØ­5’ßíz`k¦¢ -l°VìQÕ­9Í”fÝÅZ©yгCi©h·yÁ¨ŽòŽ¡I£6\ö†ÊMº˜s�óõ Œxkjêlýteîü¯(°,‹‰Kâ„0džP~¬@ÏQú!ŽôþßPÓ…ãÿ]\þó°*¯Ì•±€›�¤Öܺ7,}/Ü}f’LàZ4�É-)Æ|Q½ÎÍ¥%ñºÖ³Ö¾äÈL€Èx€Á«ðÈÜ¿"àG¯Px(ò…«ªxë!) À—ÂsÏpÅSþŽ^€&ÀóØ9®âtèõÖ8Œ(æ @Dà‹0ÊiÒIÞm©Ié\¡mí([Ëé¯Ù0öø§mã³Mužó”'pE^4 -àd1Bÿ·K@Äà8{¼ຠêDÞ2²ƒA,m?ØÛZÍ ð’<úw8� dPÕ¶µƒïVŒGç%Ô´[½ÜĺÚ*söÐñ1¶?H/älc� |JK ¨1å Þ&'`#É€.‰/ o‚v(�œ)R'¤ -  ½02GI gõçXB]`0ä*3ŽÃ&øÝ–¹5& à€yV²¿³-ˆdY€Õ~–t7ö .*H×(Æ>V=˜�•i7+S¤Ñê¶`™oÑy°ÍDÅÄ-˜K©!¤‚=Bhé}Šƒû1�ïèúÔŸ‡* @üãâŸr.àñwjýN6]yÚ‘B .Ÿ 6U?ÑXAŽ««y¹� ^?Wm4š…-hîâ|±)HñðCèètæCr™zº f£kJ$dz” @—‰8ð³¥TöAçÉ4çùWâCû³xÛi»XÒQ:)ÜòF¸Žõîæ2Ø H¼ô6)YRuœ!¿ðÃSÐ�Rsa©ˆ@žÛP˜àíQÅÍ£Qû¥¬U³—ÄŠð*èÒÓǦÁøˆÌ}P¯¼ÿ~½Z­œ>Í�½¾ ®dÍMžÑ¼›6?23Ur1òD�¬¤ädcÑM/¶T‡¤­ÿ¨™}+^§8MòF�rtÍ˦BdEW¦~z -@¥rúýËÈ’›çæbM–%тʿþ)€¤z„¢šj î�ÿpÿÿóÒÔª‚>ýMdMàažwh=}Gÿ+|ƒ{½4]%Æ_5¾xT1î -.€…Ž1äYyÑL€�A'�ë%ì¥ -èñ±Â¦ï€#™ˆÐÁ££Ž� PùÁÈ€q 1ÅZÏË+×ð<þçcЉ‚ä/®�g¤n€øÕ7t„w7—o›&‚|öÇ!P~f?jÀIbŒþ… æ``�.€ódžï�@ö�Gïcò�ö·Wé¢&¾mo‡™õ{'®N%H€ƒÌ¢‹»€5ƒ¾ào‚WýItBcXóY ÌÛBW — aaŸö›Ù�Î+úÈÆ—y°• 4ƒÌtµ¯Ñósš8cµtX¬Ã…¢”ðÐÍ1ÉCOÞKÙú·JÆA6÷Å,”Gáç ÷CU–0o@ÁŒîï±f¾8ÀÆêòêÖMÂäòà�4 ˆà`VØ?[­Ôõ¤-ü_ ‰™]q/úܹì1S‚Àè@í<P[9–¾µõcx·kŸ#С½�Ú"&Ö§|‘®pˆ#i7Jäœo šF{QM°Ÿ8€=Ö|ØbÝc&ÞIZM¨õ H‰ËÃFÍX$)ž|Ú¨Ó+nÁÄ×Gž'Í~¾"„�T¥D‘\&U6üÜÂßJ§Yã´; §C’ñ®pHjðo<6þ‹´³4kךB¸±1@eÁÞ,6ÓQR͇ÅvˆR-É– "€Aú¸G=ד}­ôoJ©¹pVÏý\&>fs–Í´úœ…x¡ø”ÎÍV³Ád¸ØÀ œÇ1^¯œž ¸p] ÊsrØâiº’Šx«¤SJŒ&DQ"'Ú¼7¼U»uL*2)À²xiÅž²`¹!Iò�T9G4—¾ÅVèî6÷!"0ÝþjFƒ�q©²²çƒ¼Äo°ÿ§Þzû|åte¥ÂºÀØ0ו¢D½Þ'Ÿ—'|ý¨€ëE Àù·ë*õ)“c¿álþ3ùÄPè/üÇî¿Ns´ˆè­µjÓ¬ Ÿ¥›j(pð'··X`–© YS‘%¥¨z¸&Âa Ës2†�±i�1�G`¡ -$ÿO0^ `bŠSš#1 ?4ÀŸA‚|Å(€¯Š€XŒ_ à7Ïü¨µ^o€xÎ01Ÿ¸hIŒòq €`Ò€ÿß�e‹Iõ.›ÿ³«±yUžkÓgŠŽ~çøñZþ1ž øÀuOßójÙÁvö˜ïÿþ6ëåìßßœ¶ìÿ¿�!(àAêô„3П€;ƒ¤ðTÀ…‰ -rÃÌ9/p ÓR ckt­„9À€cd3Ú€uÆ; z,Ôô@\P«#\%ä6ü‘@ý˜wÙöQ;¬o·:%ä‚€;s ºæQKé|1•ðOå€üGD:r Ô× qa㣵6´cv´·ÅX¹íu„5‰i6–6¼¿-û™½û÷yäÌVª³³Ì°ì € ÖVVb&=¦;Ä¢.ÜuÐÚE(öKÉ?–!o&(OUžó¨^Ò¹+l#0i\€2˯ ™zú£k6G³^Ç`4ØÄg^$*$£›XW`”Jz™ÌfI7™Nv9¯§oŒ_ iÃLÀ!�ÈŸNÉM²~ZkæB=œeq�%"êÇF8ÚŽšÓY>N`ÑQÃ(Š�©Ë`�6s† �A$BxÊ\ˆ%-®ÁÔú¨’¦Ó1˜nBk_œ¢xÖ=ú­ÙjýÿPoý|’mz¾Ze°Håô™JëB�h³¢{%ô!u½Ù&µîpbT„„FìôîšKu“®AV[Ùt›—¹!À4Á¡¹RšLIßj­ðÀh; -+%*cô�FoÝ@©@ûÓ)ÑmÔº9üé°ÍµáMBô{K Rù™êw�N€²š×w©·ÒË>éuNøúÑ£Þ®èu¡‚ 55u -åÁ~>þ óßðϬ=õëssóºâh �¬U­ò5K:hhp–ü_ù”/9lSmFsF[û†ý?…„ @LK°pŒ� P¯Â`ˆÑÿØ ~q €€v9H€`tÈœ$` H{Þ@AäXH¶€9„âð$…àù€W¯àyÊ™uèÇÎÀ(L!3�€waÀ›¨>`½ÈˆJ)<_~ã&+=¤-ÿ>ÿ¯ˆr•}sÜjüý¨Q¯Ž¨Ëò782€c^¨sÄ™¿R¼œ-‹þ÷û««¹€gg[€…þYªwO ”{@pÞC‡û  T\9Áp×Çw™áT€c§õ6¿! 4“Ï…ù¯,âJå F`X6b;@àû<·Vª Ðô"€ß ª0òÔê²%Vb¢vtsNù „ô‘&">i=ˆ…ƒ$ï%²ûa±hÊõÂë¡]ÙÉ¢ ˆÜ‡*©Õ6è,gÌüúPè¾ÎÐm3á߯@6;µ¶Û”‹)ðÐÅ@\̶¤M·$Ù©õTÏ 8tì¸fLžt³Á /‰§9H’f}¶Roâ Êöß<¸’Õj·Š1r‡"hÙÜå™'šˆ3ÁèZ²8죩`Å*�èCˆÌ£Z§ --±‡‡ª±ü'‚" 7)“0³ø¯3­ÉJRÌó�¼.(;:iÖ¬ve–û¥d�MÛѶÚ:èŸÒ�r‡„—ZÇÖpv,œþó ½‘v§ÑŒaP:ÒëŸrq®£5øºÔyN øëÂ$äô¦Éä”zM@ ± “[ž™¨LRHÖÉ›2I”`Ë^�žÕú›tÍ8©Ý´ Û›ðf4‡ y[šWÕŠµ#1~ë ï’ý›úcSÇ—´ñ!´ª›Öª1¡ÏX­Bs5ú‡®b…É€¦NMQq\BW•¸ÝŽ_D>9Á»äõc`‡€_ž¯O�=5U1öó*áŸÞÿ1þ_7AY " ½´U%.…ÐT†øúŠ­x,%ûñð§Û`)|Žô—I_§–gåx€¡'@¦ðÈLÕÿ‘y@Íc='0±À{1Bè£åÈ,9Í@$R€Ïà îb€ÿν:@jóxóŸY „Ft.ü#*åJD�ÔTj¬c2 ˆ !(®+½yèˆ]‰ù€‹ü?ôþ½ñbÀ‰×¨_8ê(çøÅé©ã ÀÜÔ¾RÒe=×ýƒÖF·Ï 5=ú÷w¶™òÇSèÛ¥m|fA mtöª‡pÁ‰Å]Ì�3ÁŒt )@oÎé]èLVÐ -`@-höiÀš�@ho’Ne@$d k[GõNjß>wS%Ò;:Z(Jj½[?�«3= <ˆéJ€ø@:ÖÁ Á}¡¢€ZDÄJĬš+šLîlmo0iþr›iÔݯØnwÛ]¡}_w®Z©ÎVgY8my5[í¯oÍÚ#¦ñ�º¨tDŸè/(Hî6øá‡Gv™ùÂøÇõ†xºú‰´ùØs8Î œåÏÉi,Ú‚BôÉLCª1·TÕ†îØ³30 C–Ó�ÛÍv«!UxÛþƒÙŽÝÖC.˳zãÙ7!�Î==ï<ÃL®§c8Ò“F6PÂÒk˜ˆýoX„«Þ�ò&±!!�¦Nýþh!ü—!Mc·ZË�ÿ²eÓ~{_,�ßâ‚òS—[Ò!oN§²ä”«.$ëÀ[6éLÇ�á© ó´Ñ•]f£ œ‹öP˜�:½�Õ{FsƒšÈ  z7>(Vÿ2‚Ž}O¦*S§O×ÿÑE+E‘ʩԜȀ•d:]9ìlétPÚš[qd-›M¥yx?œ™³Ñ'š›tÁÊû7SõÌþH;Q*’ûA^¢ÍÕè 7:ó5š’AÀ"ÊjÜæ…¿Dµ ‰n€ •SSçe�c‚KÒ×ÿ ¾ÓÑ•áL?¡üS1*_�Щ©SgÕæüV'ƒÿKø·ýÑ.j¡až5¦›¬Á¨ª²’¢ëÑ=4'”Uߣ6 `¾Ð¡ %?Ž“£Éx 2±ÀÉc&='Z àp€Á1ç'|,¤$‡3 \(,0Ž€ç]¯\ ÀóÄ0@ëùc×øÒ£þàf4,ñh_ÇA€ÿ¢µÊ{ w;®rkâHÑÑïmå÷œ 8�kò¢Q¯ŠQ>ꘈx±àúõåH;i6šõF•ujô•yêIê°M½¡nغÂ`ùÁ£ÇÄþ ±õÊóJ)à‹p ¤*põñ£'�âz3x µ°06¶ã)à0ô€+:XÐ8å<´iÈÖ&,ï:¬<D0]9G 'Â0ð•.Ö¾'ÖËà“¢_ð5E©Îs5úÁXwÀ õNX AÚ—•,¸  µˆêÇV–¥¬g»ž�­f]ÏɈ˜¯ -8ù«Ï6Zz>ˆÐÍBW±4.ø+ÆRºÝÂꇰ•è¶Pûº‰êÄõ ëY �¨V‚€éB|æe`XÀ“ï¡ ºNµVCiKõøÁ·+šÀõݧ‚ây r”6̨oË@oôãØm/'I³Z™U�€žŠÜÈY—à/z�ŠH;ä‘¶{//âÒÀ#€¼;%ÐÄ�ƽ„c ìXô¸mA…àK|N&�Ù!<ÛÓöü8⮕¥"æ¼ÏaŸ Gˆ©Öšö0ªp¯'¡yÞ»÷·A Å$Åi£ÃX9D5&¡’TGÓ›qalA£äE›”}¡ §ÙÂö÷êðvX çñ 8 ­W‰$‡-¥¤B»fS“a‰ÅQ}³pü÷z£¿m2@ N›gµî¸ÍË€ÁäÞ© •�M‹‚Ò¼¦¶+¤¸Å“ý úvâ¿p¯@qŠ;V)Áï"�Uá²Ò%¹j]?OÀÔ©s¿4ö ‚-sЈRÆ+XXùUï’01 -€€³â"Úã¿°Üû?†Ñ\¯œÜ¨6VúirÕÉùrùÆä:X3�p„OîÿˆµF`€#G=€€¢ÿÒ&ý¡Èôþs£ŽÄ¼z-�Ç(Ѥ ¢ÿœqœ’’ •D @9 -À1Ï3€££&cŽÌðí·Ì¨"U©—͘ðLÎP¾=tËf¹ €XTxD@T3X€k¨ )ÉÅ÷€m_¯7ÎØ?gÿ/\ @ö@ðÂQ’ã_*Àb/j ïôêúö–GîìxÂÆ»É@=ÀH•‘Æ'@ÃPi }œîôþ¡B–G2VA@hÃfg(€H¸õ4cè=Èl,ÂøWb÷øËÁo¤W)&úãˆáLpéluPÒIF6¼(Õ°]�#ªÊƒàûÑœ¸Øæ0IšH%÷¡: ÚëC&»6 •V2/ €|�Îò­õu†Ì'ͦ‘)ÑG›Úººsxf"mOà K²$€7)ML}ô¢Žn)J#èOzÁzlÀÿ=ÿ íî?¥ëßÃÿt{?t»p‚|Tqµב7mé6pÁ®Ø/vÃ<Ò�Õ¶7Ö7rVùkÇ(€‚Hž‡,¥ŽþÆw¯‡¼ñ ÝÎr=Hy®ÜÛõì¾b–˜¿Ö¸ãgeòá8¨%;èäØÑ�CÐ3á`�'²µüÍ¥©E‰dͺÈ!kWEÊ ÁÑ�˜WèPšU÷Z3Ë?Ý.ŽÅpÀòlôݱkƒ´qkh'/Bª -$ºJÍÙÊÓ P¦Òyœìò›köKà¿ÎÁfôE‘•|VlJ¡¬5wdþ¡$"´¹ÊáøXs:4²áw›…æùÚr�åvÜâ1PÍFbKP$Ë-ß•Úl¬f#)SéšÃFƒtE‹ÓæiÒvxFd‘5ª+9öøZåÃíÓÖ겪õU¥i‹ë¬Ã”¥ .,øÿUï’Ö?ë� õ–TQ“ëÔÿÇðþÛm!Ý×òµ´53{ƒÎ)Õ·•1ç²@QϬ·ò¯½üOŽt[ÑÒe£˜z6ðq¬¼h€_z €�úåW2ç_ÖKì[¯}¬°i�vãÿ1k¼j&À"?®GJPÌøûkô½_ù�à7ft Àq€ÍPxtèÇÆH+‚¤¿*^Œˆ°ý£ø¨‹cÔ¤¢ôhìÀ­åæâÃHøÏn‰_s€^ÊÏ àG�xE ]eÏxcŽ_  œÏ¯ý4Û^ßTOOVUÍV7Ö×�&ÿ»/`П‡ÒG-”¦¬$ñŒ‡Å,¬K@OÃ/†¼0]`ðX¬Ml(™Gžãõò¾èDàÁÿ@™„˜@Øà …’4ÀÉÀoeÃEs@›€w±£´ä*g×GdZsHÛʲ ŒCèyW-ERô)PY%@2³²†�(Áòýmmol¬näýe5%íÙ¢m»,ÓÚíVX™­³ §YÞ(çYð䂼¡›¯ -ªÏlHIZ0þuVºÒ€?„ùo÷¾1_<à©é•«?ðyêi"`îàæR6�£h^Ó¦î.ƒÑQo–Vùc) �­õ~±`»Yg$CØ~‡R=êXà-€+e6=.‡„Æmîº'@ötÒÔ““Ç#æH6¶k1woŽ�+|�U[怾Ÿ8/¼üKÐW vhÂÂÝÌJ'ɺ32åUH‘#@Z<�ÏU,¹ÕœNi® -ÄA=àuëÏ݈›…æw»‹Ùf/†}8¢¹½é>DÝY­)µ�Ã©Š’uó¥¡Z�­ÆÂ Ÿöèw^yûüg«*¤lŸç„ÎNjí¿H)¡y1<zk››Àlf5¦¤ÑKÍ ç`2ØTÜ/ «æµC/Š„Jc€q››¾Â¦È)†ö= -@ÂNØÿeÞ!sôÿ@&̤Ç{«©Ÿ†-O*?*`b1¨‚`¡rþ¹ÞÿþçÓ|mm0;ËÐ?ÝMµCK,§Ç׸ðp´VVV ð¯ e¥y­^µDÐíOŽáMÁ 9à¿�|~c¾l}sûÚÕð|æQ·o_{ïh €PMp3ð5†>9Nz„D²=JNpO €Œq�¦óï¾s…¾¸ýõ·*²�} D"%Ð+ .º®OôÆqá¿òÐ¥öü¯Žˆ @{0<@ ,cÀÌK'0¹¬Ä£Ô˜4aá }# <vvЪP+µ3©‘Šß‚ˆ0ˆ(Ââ¾`ÇèOË‚öNAQÞÐG§ûðíd À¯®ˆ¾Qá—wˆŸ>ãÏ07÷RÀÉ\Ë"³JxW{«}b¶¶˜ ŽP0Ïý§MÁƒÔ80>¬b¢A„ÎsA - ¶ -˜µkóÿ¡H°lã¿^ G¸#<eÁðö” -+Ýy -ýÀ;þ$ô`3Ñ� �£0 ŸréÎX'L Ÿ$ÑŸs]¶Ý>š*yÃO ¨]hˆ·8£ä‘DDÒûL@0ñòj£û¬’´}_ö²d£ßgi`µj;¬7s%–wg*@�Ëò(/H,�ñßìDT -P¶Ò’tEUaöß…ZZV½¤`Þ*B¥¦Tú¡Œ ?;ŠÃn‰hE•¢bM•|ð Å£?¨ÒÖpuu5ûXõi6g+çfggÃáŽØ‘5fé5bë)(œ4²Á½a¯³¹{ü¥Í5¯Ø[y&ò,*'½‘ÈÌýé&+­„ø™ªO&��#†$º„×Ñ;°åÊD¦l²æõí¢'ì˜ Pšqt)c1 Ža 3áçRzC8í^í,¿·™gƒÑßdFîeM¡cϱ “CêÞJ^¼»"k¶Z®c(¡QØa¾œP�.g£-q)Ûþ…'à: RϪ ³$©ã«Ê·fÞå3KñH†×;ãt’õX˸·ù�ÈË¿~—×ò]¨@&íQtB¢Œ i:ZÉÖò†p®(@ÿ¡yfQöí¢Í‰›ÓmžŽš5/QÐ!·ùa�KYz½òÖ©Ÿ€ºü°lXóX°¬Ê7"®Ä{²¿ïˆQjjÇè™:Ïôüõ£æ¿§º˜o-äƒÁÚZµj†YÜ:þó-^)îq˳FæƒKÿú˜®hµAž @�𙜠Ð�€R -€! -àˆ¼ùÎ;¯~nc_�õÞ¥k·¿-<Â0Yð“€o•D“¾4á¸òί®xÀ5°²T~vPÆñ•_½ù—Ù€Å`±"’’ÿ±  €—þÛp\ ÀE݇۟_= ÝUˆá�(/p¾&ļô¬àÔàá°¨l‡ ˆƒ }ÿ´"Á¸Ž€Øz‰n¨|tøfåÀÕKïžP8îÛ¡´ÿ«/pÏÿðÇ‹ühSHƒÎ}Üã 8 E -T˜ªVx®\|ï½"@wæå¼UÏxŽÌð‚™CŒ=¯’¬/”úX¨”õ�ÿ�¾CøþVüai=º†1 …ƒô0ðØ¿¡kÄÂÆÇ}£(� -diGµ–Ë,ç„ñÑ1Á®»‡ø3 -† š0 -#p¨-ýˆô�;‘ðMzÁ|Q”A‚›�+›‚¿èp~VÛÓ tB -�•ÊǺé zjOª¾ZŸÀƒ½‡Á’„–¬ ´=dZàþªxUw9¹Zî;äßQ€H½É8À~•u˜X�ÌŸ nFZzùcZD -QštÀ�A=¿Ç3 … ;ÖÇ?`î±ðqèÆ–î6û¿gíQI}ÿµy“¡Û˜Ù¾gŽ:¸Ïª–^;;;,Y´±º¾ÚElêéÉl†uO³0oŒüFY­¶0*Û3l{=/�‡BôpÌÿ> þÞm2JÍOK€ Фø§—ÚùYô|æ ÏPÌHÃP{�ι—¡ôS×p aG›»]ßQ¿ÖÌGzHKÐQ…å*®È]ݳ=¼³8-»N‚æ=½ióH/A.DûÇæŸÿ™-ÅaV¤ÅP°i/·>˜DXšƒÀñ¼÷Œ¶ÃAmI'! c¨‹T¿�CÃ`„å� l™«_×ý“Ó4Y©¹ÚGÍ29P1&ÚIó|±ƒ$™ -ÐUFÆm¾”®e]ùÛh0øŸÃÚàžI—'üµæª®Ú\›nsAJ”Í`­Y†/’•pN ';×�p¤´´c4˜¨¦BQk› k™˜=%´¹Îè8�ƒðÙº ûÿü¿œ:Óò¯¡Î¢Ç@Î5>T$ã¤ò£c(›€óõ³Œ(<ç/\˜;4ÿ ÿˆ¾¹ùÚlµ{Kü-nœç—ˆ9¢¨ýW-x!.Z¡˜ -BwÄ߉¥ô¦ì¡ç“N= ãù¿#2>`�)X¤xx_¹øÎÏE®\3dF ÀmæÎ+¿½ÐÆÀ>�Ûà“2 -ûø»vñ�w<€Ž ‹¯]y÷½«Âsa™R uàÍ+VF™Ð1nûß—úøG¯ß›4üüôÇ0À‹…à8�äð¹ò¼vIz+A2tF ðb5B`XŸ„u/×ûØÁ€³`\èæ“ÞÒ5þ—¸(½œ3{ì�%¹:]t~’ƒ¬hJü!ùp•ÙŠþ�7¥97')aãÑ÷ª¸¶öe#³’�¬äƒýÄñíííìËøÇ^føŸí*Q«füE `• €¤›Ñ0Úa±ÊDÙxiÇýŸ ÕìP©BmÄs°ïij‡’: t@¿)€’1ÀÇŨ ÁÍÈÕnz·†“RiÝjÈýe€XÈBîïQ*ÄXQú5’F]濤ÎÓ-æ#/~Ÿ Wº�Zº{gess(¨Ë‡#ì÷´Ël)’|È2)ÿøÛßTÔf7îŽ6‡ÃÑЗ˶Vjz¨Wr>Ùp¸›gÝ,_Û.¦ýa6Tói8ÂAm(m Qw¿£Œ´›õó|Ø×yŠÛ 72}•l˜4³Í»¬N¿–�6)`r#Ðg¾2Ì»�j2Ò†µè þZh~Ëš+µXÃwûîï�ßË’üïÒü®”ÏGÊfEš«¬Rst·æÙ­|ð×Q#éŽDúÙ²r9Ô~ü]ÖÈÿA›ë¥vGsê@BÀÇ’ôÛ]ckmsÔmKó!lI·ntGMmÍ¥­šÂó=ª µ ÷¨+œî*[�¾’ »¸î² pžoÞSP)-sÙš÷R<ë•Ó§NW®Ÿ¯/Ì �[ =!(H Ë›ðt¼ZþOˆ(=-ž¨"õë�ÿJhü_i̓ÙnWšéVIÓ&7«Ô„H‡Å Eà¶1&ñ"*^0s¸O?éÌ©Ì10ºÛlÅ>¨°Øa±ß¾€§¯¾þæ a³(øZF¸ìÉ/¿ùÖHOºÏ9¡m€Vµ9öÈÚ·7|€Œw þ«W~õÞµk¶ÿU²\{ï�7¯` - -• - ËB„¤²Ÿ‹K$Žÿ· Î !³º@ê ùÙ»2É• Î<á8—Â…Êhr­èÙøê˯¾üò)x¬àÐPÀ?=¢Jk1Ñ ¼…/@ €£‚y&A"&Ðíæƒî=ˆ»`;ÞW\»zÅ  ¼G>áwí(ß2ŸÂ ±€ƒøEÌà¸ß÷ ëßÃ?ƒ¤½Ì oêÛÌv4€y&V|a Àuðçå}=ÜYÉ®/»u½OÏô}º¦…ûöMË6% -Ô{ -D×8d܈ÿA”‡¥µª -J€Ñ VíÀ Ü>€–-u¥Tö$$W°)ŽøÀ§‡†<Ž>~BHŸT#¥3P^¼+;vµ ¾«@°T°²–6èø°Ì8ØŠÄ•QŠÀÄÀ\o)3j BêbÕmÁšÃt’˜#éM@6=xÉðÿŒns€ßc-%ÆÉl³ÕîöÝÍ"ÙŽN® —0 Jt™ñ¢d´B%×Ñ*òzJÓ~ÿä)Èïp�cÿ §EL ð(ŸÑ‹†Ò{d¬ÂDŒT÷˜Q�ð‡%ìíïàÀ°A`ƒž�`2�0±Á€®ÌïZmñ3ÁHâÉ—Þè&ýpKÿÙh“geç¿õ’E…,§TØ@|ºR@"0ÇÀÄ�Ðïfµ�Z:'˜ì±æÂMIºd:Ôí'­E\ d£}ú^»ËÚ�nY¿–ôuœ1~èƒQ&äâEY‚®[ÝL¤fqzcÝåûÚðyH€Rö×îYóÁZÍÑÚ‰¨™`�¤ÊZH)ÍóBóD¨?SÓ‡’to„¿Â³ìåùj·ÝôU¡Fƒi*Ik¶ú¾Ú´~¾ -«o&y#Q#Üa¥íLaz£0I¦6U1‹—IG\G'°fÝ[*mס�ÿúß²Z_M¾ �ê`¹Þ»4Š8‹4×f›6WÕt+“¾ª¤"šÑbÍuE¢kÄ^»-MP1™.ió€Ú(‡uÖÆk"¹Å±tùV–ëæÜ -ݘ¦¡^™˜ªG/@½.öÓPCXãŸ\^?àèZjmÏ0Ḡë'à¿Å—m  -,-Ýò÷=me=1R}��ÿ1kÂ’?é�ª3 Æÿ›úëÄSM€•À ÿ{zãå·âTq$1~€Oß`œÒíÒ›?ãçoþêÊ5�Ë`}1•“I*°!^ëÖVôçΛœE”˵KïüüÍ‹×nßÖQ¨·?#.�è¬o¾‡‰l„ô5F½ùSº�40S"Ü-å7Æÿ7ŽsØ@^›öŸ‰ - ‘>�`"íÍІR ½¸Ê•÷®CJÀÏÞj,.~T�¤ÕZ•ÔæúéšòÕ™Ëúã,Û!3U©:ååZ£×L×jJÀš‹d>£œ.7j–™")º R˜;zûµ�If¹Ü¢<ÒWgªµFÒ¸š s -W~k>3£äÊFeDÞº¾zùrM­$Â6e¢DµǦU,ùœ={öŒþΞ=ræ¬u*5¯¡9¥©Räb¹¬œµ;¡yUšs•ÿ$®Fm¦aŽ�|¼ˆþ‹5idŧ}´¸¨¬Ú+Ú'ê®&úõŒ - Ÿ²ÎSg]öjÕŠzT¯ åàŒfftÇ&5w‘PÛQàôÙ3§‹g7>{®h�ßòW~©N&ÿ¬€a€S§Î2 ažqUö¦Ï—ø/Û@'[‚úÔÍz;�þt©H ÿ-á=¦ÞŸrwßôF']ª¤îà©Ïñð¾P1€€ þï1úŒ ÿó!ê\–ÁB¡ÈŸ!o¼ñóŸ¿Cº¡ô*Cú•À<ÁÖþç·¿…ŒAÔá.DÐîà¸wß|ãÍ‹ŸÝ¾ÍáÛ_! z�Ã!¤zï�Ÿ«]!:€�E�ÅéŠäÊï.]¼øîEX@ @7ùyüÇ`£»ð\<éžÐ E¿úæ <&3ÌÎ÷åWÌ1ÄèÂc.ýhùMøð„NbøÆ · -À²ˆ ƹÀ7ôè`œþÓZ…Ë)<jŽØ—Ä-Š[»Î:šZ ¢CŸ}våÊ»ï^Dð_Õ"öò=ƒ8EþüÂQ€õº¾©ÇxNP7ø¼L<_&ÞÖº'°ÛŒí{àáN æïcÄÜ?ld"^LG…Ž  ¸ @áG×'(S@©‘•Ó?ß&;fªÒ€»z×)"xÆ~‘Ðâ‹�…ð®�¨°È>R˜#ËÌÀ4X€KŽ—¬ß^`uŸø¤k„>h?Æ>”uh'Õ”‘] -ÖŒbTý!„Œµ—cA?ó&�šÛÞ`*e–fnÅu–Ò‘èî!2ð˜h}ˆù¿Ã0ÀÀqeKœ¨OQÒÆ\%øŠŽˆ!I9 H1`,Ä‹Oí=柺(-õxò$nøÜonWn)Õ2ök�1x&ˆd^H}CÖó>†uSà/ûÖOR�ÝÀM.[Ë["+XFa7×q™ŠMÖ‰M72è¢Ð¨‰ÑÝ&Í"3á:½é%“?g¨›,cƒí~í£6Va:”/»vy¹ð`Ä.ëH;í»—›‹M])KY&uC–µmm›ÁQZ‰r岤=-ë5TD#R¦é¢5gv&4á0f»TÔ¡èäÎóîâ´5gÍ¥–ÊòYÔ–`Q·ZiKšKãåÅZ·¥Úµ1¬õg—�뀸ÿ\6òo�ÙÙ:ÙÄgÏ�€êë¡ÜRÓ…æØÎº,ùxú£tÕ² SFzwá¸Í9ŽæŒÔ´ªR3vÿ8ÝÍ­j7YÔeEE|„I©¬š§Ýie­;Ëb~*úPst�¨€|}Z�Ö\lÛÆ§Íu#¸xt�«›¹æjó™ZwC:v}“Ñ]WÏž9uúÌ™©)ñžJEõ®ÐRs6êâr¯%?*`bÀù#ÁÜ… -ý›*ÈüàH—ºž%!-–JSÏ ]8 -°@èG¯—@·‡ÝBÈReꔀžÙ"8xê1áƒ!ïñ–Ñ¢•òCVgØ­²#²Ž?‡¼ñ&“÷ãc×.þÊñ¶ÿo KÁté%ÂQü!ˆ»"ðó‹öõ“û¿]}ïW“°Ižo¾)�B;Yçë†Öû¡ç¿{ÞýÍ»pLx¼€‰€>'‚@Š^yïÊg·ñ¨e,}¥ÿ5º3@ÿB¾QÞï]=. t¼yæÍpÈØþõ*” -Lf�f¤%½ƒH_µ…ËÅ�B´�Sùd´?Í/‡ bWÜ@¦ÊÖ\‚€?»BH7ؼA›WÔïB+ˆ;ÀÉ ²fq`h`�÷ÏJ…¨à—x´qá/™èúõ¹ëοP„þC™xX¬˜zŽMßÛ‘e*P&. @¨´�} -lòaŒ’° ÖƒÇ@. ‹à’1ä@Hªd`ÕÀªtôUct“Fÿ\ �9_Ž_˜ñÎR¡mC6°¨sNQ\D†B’À7NH‰ó6â³"ž²StX�v -;àEdæ´ÊZèè«ípÀ|HŒ–c&€ýýûL™°sŸ^€�-Í«ùF�ø -7-"û_y<³¾‚)£-•ƒrT†^cAùëÆ! g+˜ €ú<±ºŒÀ»ÿüçþ~^T[¢‹•ˆ0í¨vœÑ!whWYšAéMÕ:�í¯ûI熧 NÌÉÐF:5ú«ýå¤Õ¬6f™ºÆ�6ž{Ñ'Ýÿt´; ‡8ijí ç.ÏËî²R°;LI–ï×uŠ„ÝL€Ÿ�ú$Þ�þ¢£i¶>Ìéœî䃡ø�Ðü®Šöµ±Fï·> �Ó§p¦Ÿ+Ï4ÛªtI.°þëp8Ü%“ÁÚà»Ýáæîè¯wt9dÝöåÆ�Ý‘�ÙΘû¼'Íw=]�ƒ ȵԼ«B¥y¸Û®%Y_ Í¥0õ¥G£{:œ¥·´ÝêÃAº˜¸zðï�ahî±xÚ'Î1O¦…»î9�ri½ÙJçÒ•N‡ÅôÑ|xï¯÷˜ÐO—-§µFŠæ1‡"š�ýLµ¾?Š6Ïw•Š‚¦†‚*k¨VØMk‹Ýlt?Ïÿ²Šæ"OY}´N G;Dh뚢ðÝõ~C$‰‹{Ãm��þšç+½mèä(­}Ü^·ߩÅÕ‚„Œ†ƒÝ‘ª¢6ÿÇîppïž4ät¨¤�ZòÝŽÚ�U¤:÷’ÊT&z圞gõ´uýz£¥L x=ùñ€ÉQSï1‡(æ?€Nvk ügÍÀFeî?ÝIá<Ÿ^C²�fº@§8”e0 ðÿºc.¨lUÁÛø3p¹@¿â ÌÑ€hÁ£ò«Û_}ûí—"§~þs¢ ‘ô™@¾­©þë"¦´I˜ä>îk×ÞýÙî�ÁJîW�F¹!Õ;o^ùL ï^Ä–»Ìæ"])¿»æà{áwñ7ø³¦�ˆ€S \¹ŠÁŒù¯rTÁ¯n‹\¢g#J À@3ß`/Àá@€ßD Àéc)_8.ðÆ€·‹S—€e­Ú>I‘×.ý®àÁo| °í³Ø(€ZR›¼¼=éYÜM‹6!o^t¦ªLŒI ¸uˆ -øóŸÿýÏÇöâ…ã=‡1g_ê¸~=z _,îXe²×\(ÅØtÙ|á˜fx“± -°°ˆ1ñ‚ÿX cú!  ž@¦û3¸,zPÙÚ€»€xÆQÐ( w¶„dcÜÕ®‰�25S³ Ï\B"r %»:KáÊ}Œäz‡7°ÙrЗŇIjmD¬+Y©4¥ˆ¾t ¢(®œáz3ÀÂt€æð²9,�À°>&Ú`켄QáÀ@÷ùl=iìÑtì0ÚrÈ `ô׋ñ‘z‡vh�&  =àÚQ‹ÒµwE©�´�§cÞDt‘Óñ§ §}¨«\{*¤¬Užî-!|Ä$ܧWc›Ù ×WW3¦7j°¤!!ˆ{HY_Š~ú�Õ[’,ûG·Aà¾ÐäØ@/fá#ËòâN.uz2ÖÁNg|Ó -ztB!š7Ï¥›) ¿&é‡^?Ïê?+}Dó••´ÑÜMo´’bÚ%Ë3�¸Z ”˜Ð\{£¼Ö]_òЈâÐq›Kûâ¤ÊJkR<ÆZHhL×P -[KP—»L‡°Òû´HgüzùZÖc-ÓšžèR³9b\e)þÒPaÖ�èGÁÈèàEq¢“½^?fpdÀ±¦)nÕU‰�¾°pUënû?ªBUméû“{!}zLý§^t´S -¡$ð¯§vx`†|ðÞ[FŒÀ ½ MJ„Ò§ñ߯"ƒÔ˜¬Nùí¿Ópê á7'¬ß}ïÚ×±.&½22…9èH‰K�Þ‡É×·¿¸v‘Å™DC.¾Iƒ6è°§³�žNˆÀßW�c*à7ˆxVì¸F6ÊO%‘k´ C€ÿ¹Ì}tRÍôúêÚW*�Ì�ó@2`gÞ9Ó“Lô°ù.²ãÔ•K¿,«lá?¡_ß&àÒE¦F¸ åUŽðÝÐÑÏŒüÊ6zøwzÕ ˜‚ÈËðÉݽrñÍ7ЭÐÀÿ#<ȱàÂÛ‚x›ýÏzÆó¼2àú«=«²üó­~ØÿıÃövMÛÛ“iÊÈ4w …l /dú²mÒà–2œÕÀÍI ð‡Æ ƒ¹þu €âBüÔB"C/WÇ%‚?2rè þ¹:è…iéôïâ@kŸ±Ï”ÜÇ>¥F�ÑAà] ¬‚yŠÊ --�µR ׃˜Nf"�}l²@¤â÷�ðiàÀ}Ëv˜—a"CHU&à쯳’ž%¢çê�–c¼°ƒ¡Zaw¨”‚"›s¸`ü)ð,w·]˜ûî�¶ž°€öh[þ$�Ñ@kžÿ� (šÁUS^Ü^½sH¼ÆÅ�AIç½\ Ǥõ�^¿Ñì¯0ÐNG -Þ”päñk�¼UM=5OÖ[VCà]ŲÝôte]Ân5ÆlcO�#5¥òXó¬�”šK�a_°È¶TA��&¢Ët š“— ¿×kÖúyL3`:‚@,Ì?n6Ïzµ ù………9Á?ýÑs-Ò H7­ùŸþšg½îl2QP{ÓÜÑH¥H™$In]‡^ÑÇ'L9†³Ù@Û·ÆÃ'Úü†.iãéþÐ<ˆõ òd&.ub !×K¼eåEhàbíéäŽÏ˜uù¬O3^š�îðÿÄæÊÅ3oªMtB#6@®²�}dz‚Êò?Îày`“¢³¿˜:}þŸñô ýÇHÅ&Ý`@îï`þãØ{àÈô2>�5  Ò ,v0å�Ð -Vídgzã*Ç•öñ#•!™E”–sN¤ì~xH¸‰ÈTÙ¸ã¿5½‘=%ÇU¦¾\ïÂ7åÂU.ªx�ýØ‘Bª U¥†€®JB² $}dÊK…i�* �a?„@‚þ œÇü^î³\¢Ìø¦d€0“N•þêr®vd…Äæÿl£Þh6ÛÝe€{û~ô±Àö•#íªÂ¨#¸ * }]_´}*^%(WSôÒô‰ˆÀ“'´†@¥~Ð5WbšâûX!@µp/³pŠnJÃé ¾Ç}:¦™1÷§K»I#fÜê-¡/|¾|¢†ðX_0¶§�aÞlæ8 ´Ÿ2Ò] ¤rOƒ› `§ñ«ÛS -�ÐÁt{+Į̈#lÊî I>¡©ebßÝéÐR=MÑ\e.¥÷ÒZšcªX½SAÏ“wAqÉʰ][ÉÓeèyFÁ5ìH—D]’¡*ÃŒ¶X¥çë,ÿKèéÏ4@/]«º µ&þ�Ö£Îã-Ú?�@X¤yÒÆ €Ò‡Ý™t�:J-½·¥v1cÒ¡K=C'ÛLkw˜r€kÝŒ¾Îèå6ïäétúW·¹X–«ˆ—#Z]`èeñzLˆ£“ù°Ñˆ-ÅâѪ¿ÐØ.€·<à}|Ôß«“¾~T À F´¼:Ѥ@Ïß–îzÑý/)¹SÇ«²þ¯S0€%(áBJ\àŸzù[•óç™ÑéÐp$€þ‡:Ð` ¿@�€¡ˆ? -ÔŠÀ:[Ç6Ö…Tß~-ã\øÿ†€XA®xaN 2}Ä© ³ö¸”pY‡@~þ®0é6“ðß&8˜r0õqñ�‹²Ôµeý”£2‹âJ€¿óÿwÚ0U1 - Cµá€c‚½�²üLù RÅT>�ázŸyF‰J—Ò¶ü)è÷ô€àß^€˜À»€KÒˆŠÍ8)EÃ^’¢hò¹ÚM\‰~³‚Â{`ä/Eͦû3ÞrÆú :@ÇÈPŸ‘«/vCû_Å€ €ãQ;Ãÿ¯.¾w•Á Öø¯ßfÿXlõ¿(`ì ðå€W1€uzpT›l¬ ¾îoÇ5tïs¥€ x`l"³¬7NLÀ`{ÑAÀq„-R -�tÈÈ0ià þ Áà•vÈÚØ�Pv‘(P];>à‹Ü8¨”.�Ô�¸ž¤ö†KЖ£$D¼ZÎ÷f BKìâ²lŸöq]¡Q5ƒîøø|šŠ�ÀOÉ:+=o ³b`ï¥”Ø (-K}\\Ȫ�¹s„ä2!¿b Œk†ˆH„*û͉œó1��È:3IÄÓfR�>» À!"ï†í|‰eýIc}xôQŒþCÀ=# áOW†.ûŸ€Wxüz/bŒ•1ÜÙHù{�Öæïƒs\‘!]\T€ÿ`…à7ï^¤@טˌE•»¨æD¤ö¥kÐiRôP2Î]­k­¡kU·'<2´_Ù£@€@l•)/‰Cùb§§ZW/‰ -�‰ ‰êB»ê¦¾ãYðèxç#¢/ -€ëú½h€W¯h)€þÅB¼ºcÁª Ö¨Ù,È@@üÜ^W¶/Hrˆ€à´PD6¸/”´€Ýgå€RÀ–6HahÂÕÆ*½P cT@Àj9­NãÌvró%ÅvJÒhOùèÚïoî ݸ�œŸDeô -ÎÔç¼´®òr¦¤õ¶UVí~ð%!¼m ð€ñòÂo™Ê¬œ»wß‹nåxÿWYô—ñ~ÑÌe�ËÙ²Ž+Ì* ýˆÓ_mkü—2´�´B]tr¥yùu‘"à©ëD«Rª¯wÈIDY RÅ…œ3ÏP5\@G†r�©ž0éÓ¬†Q¾ËÝånWÏ¢~à‰€ à³÷ÙÍm?fA#N̪'P,¦¹`C{�ºPoˆ -È €PzáG6\H³F2ÂÖApzbE:®gda6¦Ó‘±^J`gcÉê¸h¥st2ÚÒ•½2È>J<å_)Kâ-ÂId=yñâDˆ�N–æÉLÊ$<ªg8 ZmôõVrÃPjLsOÇ(MóVÃñ€: #ê+)4—¢Ãútk”ë* ¯®øœpØ -g= ªZy‰Î°W5YP1(8Rš¬-†%u¬z8-`&(ÊfÔžnÓæ%Ñi+4×U¦‰(—¶Ua -Sãä활˜ -ÝÐbþäòÖr‘ ؇­éÖîÊZ²›î.àjîZOÍjkû8ï5D)†-*‘ù.Úã8€_€’"x:$ɇ'ý¨€Œ(<çߨpÏâ{¢jŠ zŸø!:&n¦…Tø.ðg­cžÔÇÅ\/<êàƒöñd6Í -ÿF@�î²æ¿þêÚÅŸÓðÆ› W÷µ+v„„ÁîÉî8>„`RUÂ¥S?÷ªN}ù…,àÀ%ðßÅ’Æm (b‚7"7€Ô1Ð &,=2Ã=ð8@rå½+âÚøÌAwRô�°8ò¥'¼ò›ãéÄ€2н¬JxˆÌjÈKï]ð²)n€b¥ü)ñÚ:Ç„¾ -”G¸-W¥.€Cñâ„ß q÷ƒÛNÄ€Z‘ s6½û•è\EzÄ´~uñWÁé8À¯ÿüç¯ÿüí7ã:‰x� œ@Dà§§þ)@èŸÞµ%È"@F,ÔÆì6{,‡¥ ô1ÑX/àÀW-aWàÂr\ø"�$]€¸àÜ’˜©:j86ýð=k=òú:¢+É&�¯À:½Û„�‰ЦÀÍ "w§u:$Žû#è@Šžp+/Q�T.{ltº?�=j¨Ú‰ËLƒ–äðøáÁ�»èþþãPÛÑ@ƒ2py5ï/{0@¿pÿ³õf‹.€ÕÕ­uÆu –Þ± @­¬ŒQ”…£Bmæ«ÆL÷«]œ(j™'Ož2€T§¶O<9íàL{!`jÅÒAôaŽÑ©¡¢ô§2j›¾ÿGûºÝÒÄþŒOk´žçËý6 5f‰cœ�Õ£NÀ!¸1 &€pˆ¥ùèø˧¾Àº–ôÀ,Àh>¡óÄxK\’= -„`ú'Õæ¦ÃÑ�Ã\®+³³Û˜ŽgsQ©#fÊ: ô/ )Ï[1ç/o%9dB”`b#‚r4/žûCÃh¶Rh®Ó0o"eáÒ€aœÖwó•¢Û½ôŽPƒH<¦yãl�‹ùR€Æ»5¤ogi Í ª�€¾½,JKûŒ/ÚŽ-©cᤊS Í;Ãn-É{äXÖºÔ–Êêèzî$š:̲nc6ߌž}Iñ�— Õ;ykº˜+Ø÷�T€~hΦ÷ô¯´ƒ•ÅY·pqÿƽFhqS¿`=~Ze´øêœ\~¼ Ößá(€ãb*•ùy¥:OÝK -7„Ù~<4ãNU£B_NeŠ.€—ÆÐãs¡"Xîã¥�DpÁ»‘%à…€wß)Xmðåµw…†oüü�wÆ`*°V0ÔfºDI?'Þ¯@T‘§ÑWõoI(a�\¦c -@A8¤SñVæ¿»â¥÷y÷À;;„uö×#¬X¨írÊXÏ=€º_‰èÄù±z/Û Ba - @ %FÈʧ¥€Í¼â ÎÃUÜ€s%:`ƒX7]Ä»ô—èŒÚq¢s&\‹c€Û*¹zQLK�ÄOzçâ;žÈY¬ã+1¯{p(~(è x],à…óˆœÄðŠõVW7¡d®.÷óuf³e!@Ùÿ÷qàd—ô}߆ �<FE(;À¯}½Élù<°oÐu1E�0H°Ц Í>}þ€krÑy“À:p­«tDÙ>~òÇ8—�Ô™ÚÃͶ äZ!ˆd׿°ÔPöä\¨Kv¤�Ê(¦3ª‡è¥6 Â"‹·Èf`îï¹€sþ¶7†›w›êy5šG}HócºðºxÎåýþéØÈâÈ*…)“4GwÁ»TÃŒg=¤hCÕ@ˆN‚ñúˆw׌B•bCY�Ÿ¶Tï:Ô?#f£‘>gÜ®¯/˜.7›³ÕÙJµ2[•ù%¸¤àYÑ?e9¯‡"3Þ`«¾ÑHs¬õ°¢�#H[¶3R€™ýà›­F+«%�E�¥¥BláòA@6jLû˜û,2G½¡!¨€#m}ªÇtöÑx@ÈÀf²‰Ñ:b•æÚÚ’Z·'x#;'n%Âb]Sø ¬9œHçï¥�V·Ñö<Öa)½9ÖÛšÜE¯Æ•„cX¿c;¤ºLïCÍ�Ú¢9 )á£(S4»›*xÀ‡ðu)–‚ªA:·–rV îe²PË6/ÜÅ]ŠíèwùéZÃf-ß4þKíΡÏEé �¬vËFŒz7BQ;)�®GÛ<Ë>íe�Z¢ -ï_œ…yAqåç*ç~Q©¼¯_�Xjø„¯.ËìŸpL À{êE;I2¨YÁ>ù”HˆˆÐsÙyÚP™"ÀGž‰Àk+[N�qÝóJ+_˜ŠÚ‡hûpWˆ%,|„¡*L×ÿ7"|ãÍwKkUè}észËC„@NXÇnÀÕë’ÝõdñÎ' ¸úÞ;ïüê¢ÌPn|çM€õàªg…ƒN§ô1 0° -!€Ç:Ðyœ×O`}Œ/?�¥…ÆâÞüK/ðœR-LTòxI€ß„ À^¢=È üF/p»F¬ íc�ôHt­—Jóa¿Âé(qšúÛrIÁ÷�¬µué]iG¦ŽàÔyZW°º¯b,€H<@ÿŽ ->‘ þÊQ¯"€ËËY°±Áj@¬n}�öðÿÛ? ÒJÌš -—Œ1à ){S"” -÷3@nœŒ=z�4À”ÏðĄDz÷ZÁ©€c]«ä�޳ ˜ ç¹\zú3>žÔ¤w?�°,6C&HÈae[`¬iA*Pê«užÃúD@’—@Sà�‡žâåôOä`ÉzÀLêƒÅ¼åQó4«þYkQÐÂSH2Ûh&:Ô§w€˜�ûÌ&XÀYZ©ùBwtb$ ô.ÜøÐÌ"ÿ bÉ2ÿýIËè庖†?!ÊöÿÑYC>¹£¼>xDÜ'3 ”*äp†uN˜¨2ûËÙÊ/ %|•â”Nú4æ_D�e·š�•]w— ôjµ?LJû5v>5Š&y-ñÄóÏ±Š§‰á_F’ Ü…‚Df³{=/œ„Dp·¸$,óF�z³•7GÑ-a |2¤sɉ�ßêúô¿ P£_8FsÔ21³ð FPè'—”ðïFwë>™ô¬*đȼˆÇo}XܨØMofÙ é%µá0ôÎ}ÎB˜†r”Jj €³—Ýã6ÅitÍŽƒ¬Ù¸å“¾Iyû“8»©s¥ Z¦ºWå$òÏÆ�ËQ­ù˜ -xÒகõNT?wwHÂðé'öЙQþØ §3Ok -šˆ€!P¼ -¦÷m@"ÀdÂã?–0WYö :°í T"ÂÖ ”^|³ˆ�D¶Jj@qð°Ðß`­ÞQŽ2¾Á>ÖFb� Õ7q0”W•B ‡Ãù�üÚø?&o Ø?;\PŠq¦Ö¸�C÷¿Ã y»rñŠô=VXrX @ÒP@]U ·¸€›’>�­…Àx+@ë‚!¹¡ \KŸÒ€K18ü'½7õTpéŠjÃ0þsGô ëW.BÎ�k19à]<ïðº‡NÁ—Å\S…0ÐK×@ -üy‘0¿š~ßI¢7\Óà ¼ÀñéÌtGç4“Åì?ÄWT€JÀ ðDS ª-xá>þhÙæØØÀ•pÇmm\„Òiô)€‚)À!€1až/´eK—¾>ÂÊ%f `�rüÉA&Â!íéj”bÒ_‰¯‡68üÀ—ÙzGq×Â¥q™ÑÕ¥KaÇß + ã(ÄÇïÂ~Z¸;ümÿßßgÚañüån¿Û]21ñ[;mG'h×èOz3ÑÙe‡]˜j©­0ìò‘'ØW9°€ ¡SAfhá P(ìVA{úÿ9®Cn’ØSÅHF:j¢Vb]£™h šBŸTHæÿÁÿCs€=†öû}=ñ›"<Ѫ³U?H%Tk¢[ÝŠS²û67ÃÅ^Àh#ØR”pt,NÐtS§³AÞª·Òa#¹ÇÕK²¥õÜõée'|Ë:KíQ" �Ž&dÉ�ÓxÒõà�Y#É�¸ˆƒ�¸:‹±g,¶ïÍ9nX«[i�Ùpj…aÇ"$/@Í{C¡¨ìèd³2â(c-mư1¿Ô:›¤£Ùj` -8‰Ä¸šÓ‚Ñj#ëR锬£·ÆÔQ¾.,©KQ1t Rt+«±®°3œlA -Sú˚Ȧýk*+xGà. I}DóÕꔜ‰TL‹HC -ëÞÈ[4g{¥—7A)ý¯¢&™Gó ¯ÐYq ~Ú�˜„ËëǼx-€"pÒP1À 0G�Jü@ÀÊÛ•ú1Æÿð¨ëxbÆð§„z¶—1çuÞHRp€£"¼°€£jÌ%¦_€‹—Œ*Wß& ˆHŸÀú!þ\†+ÐJ@wægÊÂýq�ÛÁŒ€²Ò/½ós€PH2va&¹�Ñàäˆí~0Ø]?2?'R8 Øb-µY{…”¥8o é"�ç„>Ã?:�:p]T2¥–t{Ât⢒ +ªDð¡›J¥ E�¯ÖÇEἩ7Lx Ëš”O]*¤�º�P2°´S˺Þq¯Žx˜pÂÀ·õd†¾Ú `™|,œj˾‹©N—W½LÍöÖým„ÿÉ |ôøK“Ð $áßÐ/ì`�P@y¢ìr@¢CáyÄæ[ú78 †Á©Gö@²r©²}"(wþq‰§ó/9‡Ý€œ»Ã‹-rT*iªkÅž�ù'¢!Jb@ -Z1¯–«ƒ¡ HË1@[™-%ÕÅzÁw\q MBðAó{Œ›ÜÆüwÿ?k' Ø©2³úXÿõb5 ÙF³�.¯æ«X×jëû;û&Œ4¯ ïà¡Ú…¦Õ§ -ÐÒÍ£°éüýc¸ö^ø€*ISu¡vRœúšQ¨…‚ÁI€~íp+>öñÀƒ?${Û[;ÑàE –Ûmº¨€ž‹¬ÜR<Ñ%Å‹ òTw7n‰tÂi‡“µºY³–­¹›XÐý ®!zÄö6Se!ІðÌ-Ì×Bw/|ÃìÜMªŒÐ·*%ÂýßìY–ÝËXô'LÌçƒ4oj§eΚS ->ýÈmB ½2ë%�ô&šk_Z%#z…Uèa‚ÚR5ËZ7ú²£ÓV£Îp1º¿‘¤ *×%ÕH †"ºi– í8Ä……?äÆq½ è T0Ŷë.Ô9ªŠ³‹äÔK$Cûé°Ûnê�Úk"9ZßHHL›çYOJèÌ”Ì02塀”N‚Nv“&éj6Ä¥èô²û½¥í -õ깩ʹJåý A¯ÿÿüj€‡£®ÏA€G=sÄ\¨Ïv]q+–ôô[�yv}ì8_xèx&àˆ btmÁ - Ì) gÿß1L”¢ …ÿoÈì·Á)P9ô8¡Ðd �„cÆD𨢠àÍ` ÊôÒ0Vù€Ž³m!P9rºR¸È�ôú/]eí*÷3/˜Èuê¸Ö…y¸7‡¨À"¾P†t‘Ç3Â|ÃôðøO -šCC!°Å‡£þ?û™P™RKüWa¾X‰ -/°Ý9îÿ½§c:AZW ŠÁÕ¢dAꮪZWA{{¬’«¨Òeÿ;ÀÜë«/¿ùú+HÀ×ú˜ÿ_刀W¯€èñRì3ƒx“9Ø“´ÏÀõõõí�mÁš8@99,=�öú Ë,zÄ|;¶NTüBÀ‚Y¶ÞÝ�íml· VÓ )œ£��ÇFwŸ lÖ5qÇ�²Õ›þŸ„= Úñ™ªTwPž’BÌâZG„� (%è#^ÂLJ) àTE© Øðëß°Ìœy²˜ñÛ1±½Ï €²˜WWeð«9ei -2Õ¢tVZ?7;ëõ€ºËËHwËa€â; Ÿvv�¼4s;â› Vzßmêã-Ak�ç0:κ´Ž+b¡^ª©)‰žHy×DÄ‚Vc*@âÿT%1¯pD\#PšF†Š0ƒ}Ãöâ©LÝâ9<›•ª:2�F½Þš¬Ð clˆ'( @Óé°É8¾N¯ƒ}˜æµÖGº@Ehä„–$)á¥Ù.3שÜÂô•Õn°<›� -‰ò(¶·+ÐÅ/ô:"u•$Äø ,úÞš2Ê’én�œkV]êªë*2ȧr¼àš7žÁP¢„þ´x´#ÿz­¥ÓIð…ë.NåR³|»àSï=ðt�Õáæ§i±ûù÷».³1mNû“•Z¦ÇB¿bÓ)q—P -Ì¡æ¸àí%Ð}P£‡æÉ(©åC4wÚ ±?úZò¼–¨ÍUsñ$'’ja0ݯMd·91š½A¯YK»ÒNeöhmãßz«Îy €mt ù�X~T À Fãˆ.<ø\…îT®”Á|JVz$ëq-ðPÆhÀÑQöÆèb 81@Ñÿر”3ïŠ8´¬¤ˆø¹p%ñ/¾óÎot<|̃Ëá%>Ʋú%xã�CÖðžŠÁ0UŽ…ììd‡V¼‘‹þIŽü' $?‰³tG<™¼ P�kÄä:ò"«‚Rxßú‡¸4QFì¿ ÀRF¼I€=¡“ -r} ýfA?Ì VÅ´?n*ÊôF]\°²Ð€À5 •Åü/�)§ýT€ -à~ ©Ž^:¡d¿ƒo©©%b¥àömáÿW_õÕW_Ÿ>Ë·õåÏH@‰¾‚o½’0ø‹ÿô`8yzI#!>mucc$@1€¬Pçqï`‘€Éîâð ,�¯À‰�Èð@Å$uÅa@‹Í'2ö�\Þ !�"|�]_ñÃSsB�|*ð‹í]îñÓÀrБ+¤†´6>züäÑSmè4DDt@'”&/Gb µ^º”\|µ2ÑŰA#àh—ÑB‹蟈¹¢ÿE–¶v¶×YïUð_g¡›³þк!þWª³Íd¹Ë€ O´çp ºYp²|fœqJ2?>r2KZ£šö:�OÁµp¥b% •œ„Û»Œ%“�Ëø¹pIØeÛ’…Úèߥµnfì. -K„5‹Mæ¨ .÷˜*à^¾˜`d’…C 4*…â ëFa1Bé<œ Ô;ךƒi$²Cs!]ÖhäkAk¨>!R@ÐÉ+O§[tW+ï× ï'Š� -Í­:‘ôŸfC@¨]èa>G@¹B¿ bN=i�2r›Ìh.ajâ8�”1f¢ÅbÊ­j6 v´w0…RÊ^ökx -›^é’‚RÝ͓څæk ‘¬‹ˆ²Í“ jj+Z¼#ô� -ü=À�÷`…Ñ1 -@OØÎ`]2î·J7@ý¼nÚÜua¾Ì³9{�Ò ¬Ÿ�PáàQNà§²›§»ÁBRB Ë ¸R*ÀÇDÀïy¹ÿ�7~öNt9›<ë˜èK—ø€þE/ýÏÞ˜ô¼†Á’‚4wC”‰ ŽzóñˆþŽþFHýð€y~†!Næ‘… §n€bav¡ Jü;öñ1t€3?+—Š@†¨­S5zÎð1r*àwÛª/‚¸Þ óuOÊhÜÿP½�ÏÑ­ÀÕ¾Nâȧ¯á9€^¬¾üå5Ùÿx„ÿ_]Ÿ:=%®xèxùL€…àå1õ´ýñ‹ÿôTgŠºŠã»gë ñzaãÓ0÷pÿË,dj8þ¿‚ Üö8ü ˆÆMý TA fÿ  9�,0G©ô' œ¨5èÚãЄ`[ë86{¤Î@µ§Oã -¼ñ,b6xp -ÑÛŠ(J¥tôòñ@§Êñ)ØçƒúZЖ8-¡ ô¦zª§*�¨âqZo�X W½@Ó3b/ëí>€nÓ‹æëUýe½:Ëg“€gÂl³Õ^î÷Y}Éc.¼S.î?f"S µ--U¤¬J—†fZRê‚–Ú´ŸŸÊ«Ò>¤6/ªÊ¿Q^jè'oiȇþÐÖÐ -{4hñ‚xRB*tŸÕ�‚¬!š.2‚1¤âç7è _@ƒóy,Â:Î39•ÝjT»¹ìʈBŒIJ•èxîž^®CFøÙfîð5P¦Äÿ¢_º û®]ËÖ…E‰£ŒXV&ëåDh÷zB¶,Ó¶d˜‰~�H±ßúðF¡¶DéæÓeÖG±y2�J« ͵ÁŽ.£ÐüfÚùtÐYÊ\|­¶A€“ êL2d,ÝH?¨c›Hu6`t m3¦6^BóÉ ¯6£]is�°(ߌćâi $6ö•ëtû¨æ’±æ4:cØ;ÙP,éÃÓv·9“¾‹ @q€Ù…´#:â.: µÍóÞšÚœ òT^´yoÔ,† †æ“býE�„ÿçìÐSÍMqryý˜Áñ£ŽŸ`¾ôÌ ¼•ëû•Sg”Mýz%ÀÛz>˨—ÅO_Î8€=?±�‰ð<x8ÏC½‹@šødÓ1káxG @èÀx-â3�ÿ8ÀV%]˜ÏîdF@u¥-�­88ö(_w¬A©.Êà�.¯¨Gb•«c×®†öOn…�l&`áÒðÂ{ëø€ŸEîFêE€ÞØ‹YA€h ^Y<'Á‚{¼cÄ„€P¸p”T„„àókß„&”¤s\Aàjc<1„e€2â¬Î°®O¨÷+.e¬@ápŽ„’¹?W.©�ßxÖ Fzú-¾­c€¿#Ïzg|õZúY®þã¥!L:wŽ~8½Wª®FÒ_ߨ¸[ ËT�€Y(xÐÆLÁM€“a90ÇÈØŠÃ]GŸ5>æúpFd>GJá0‘Ê’œ\™ ßXõ>÷â"QVO˜6#ß4ÄXè“\ë(KÙ]ä^Š}ìí‡N÷Y xuuu¹ßNÝ€x �E�ò¬«§yaKû¹.)wú¯wšq,½ÇMÌ»C½�G‘®t¼w†vtFW3„¹­ó]Ö—Ín¶)…÷»¾ñÅÜ#�ñf ƒÍÿüÇ`óÿOÛßìÆueéÚ¨ „mन-ª“ê$ -H†Ù3ˆ6‚É0Cf2>3±h†¸ŠŽÊ«aÓ ]Ãb0¥ä.n…%ˆ¹%°¡JAþJRϽ¼û.Îó¼sI9S¶jœAFÄú™?cÎ5çxÇóg�œL&G'gú©2;.Û»—l�~1'P ÿç§Å–óÎA¦ÒÉ÷~Ý4pþõCÝó%˜>øpÞÔc¹ù=ª œ�°»Ÿ y‘n8ߊÖÿÙ,Wä³Öìå«ü“@:™ü/øÿc‹¨/¹iì{ó8NZð†œGçÊ œ¤Âvë³a'“+_H¸¿ß4ßÎÆ5ÿœ·jœOÄ“®xæsÊN€ke@ðŸ,~×Cd¨v¬z«‹/ ¶ ² Î{4�ÍM=&äþï–¯}²Ô[ê 6U]ÐYz¿‹ê›pÒ‹ï¢wï Sº»¾~ïîÝk¿ZPuYâ™Ö Γý¯ùpã3žE¶dh/õ®- ~­6¤Û‚òÝ\øç(O>²ë×?º~ýÚG×øûèZùû;r€…è<„'d|/s·ÒCÓÚ9pÀ¢�Zö ¼eÛeÇX² LÎP„üñÄæ¸ÀT[ÔT’aÞþPf$t.©xÕ¥ dxŰRËäÍ+ÊãÛ�Ü - ezBx€N³··lõæ€^Ó4¾4r¦;tÔÌêaÕÌÏšðk�Qsvv† ?jöÏö›£a¿_ŸÌêzü§“‡“ÙäPX¨Ç'ãf:{1õíõ%ÉÆÙk³³³'[ÕÉt6óõþ¾›¾¼|¿©¿�M€”Q=={ü]sÐýßdF¨‡rÑü)/± ëIsøø=~â�yÜZ¸IÙ;0ïÈw-°Žpí*„"Å áMÐ_]è˼‹…ÞÍ% Y%™Ô¾t‡:¿»´V¡­ßUXwº;Ú×ÂÇ7*XÕÛ¥4êT§s(T b�ýæMÊÃÃûu8çñŠpB±Ð«Ö@Œe‘…Ñ5£Æ¼^øøã%Ÿ1O¢”ráú?¡Øü]¿~ýŸ…4J¸®>BÂ)2µ¯^±ßw)OÏ\1ßU¾\8º€2 –yS½P]E`¡§JÄœ¯ýã·R-Ü-€Å_öœþeÉÿù“lcWöÿyúèÈ¥eGÀWÏ}!ð9†n�°2œ4®Ë=ɇëbk†Þ½‚*Ð"0Ðäa�¾x«…m~Ð4òB¦èH0s%_›óåü÷PóŸÄJ袘™Ž¯…‡Öþý��K"ª_pMeEÏ~¦’ YäÍ„IÔ!)ä'8 ßj>™¡àMlvìÿ—ºðŸ<ÁXF8¢ùwu?(Z,é'-aûCŸuzƒ�á¶Ëø: ÐÓçOMRßÒÁÀGÄ6ÛT)¼öùµêKU{«¸:Âk -=?.G1÷ ^žžŸÿ\ö½ÆP|hç/_GÈ�´wÆþÏ"@ç:¯±ß[-Ææ¦¬ãÀYCÒï�Ê ðÈ5Üès²Ñß Ôžw?5DH;¸ß_í�ðµ Qèü‚3C’"Ψ»urŒ¶·«æ€ûýáàiBGäCfÕpeÊÄÕ­~·?Øò¤ȸ^ùŸ0¿÷ëÑÿü|X{rÄ‚Ÿm¸Ø -çÄU#’$2g[î{Óa¥/ç†r¸@λp.™÷ û⑜WÔœ÷»‚Þh.([8?¨F{fi.Þ¨†Ÿî :ȋť…Å…¿º¡¬”—–îmÖ_Mã¯ÁC�ïÑ2Ê“•Üw‰µêsP“ìqLš&·½7ì[x€g9÷ …sÉ¡ ŸHÿ‚óy¥ó-çÛ[ƒÑðSêü€m£)QÖ�-½; ÿà”acŒVFGœ��}Rt-BG§Åxƒ"D\@@&WÀ1GTtüŒ@oÂñ%`;?†¼ˆË-½ÚU¡³D·ö2‰Ž� �x^×oðã~�kSÎòú[þD|.'aÛ�ñeKC^ß··eƒd|�®Á9n93¥@£p‰º’û‚¥» -–•ò£�SUÔKÌe·Í=ª÷FÇ�¢¼}å0¾jÝãGòÁÚlW{YÀ£§�°²3ÙÂ1rò©˜q?W­a4 k ü•‚êÁðaÉ;œ‘b -ȇr•ÙÂ-ù£ñéöqà“ã'ÎjFÛy; °·Üé,ó×鬬vW:Ë+++ÝO—»Ý•îj·P¿ÛY]î¬äoùïȈ�.|:]u"i¥D%<©“|wåÓOË%R&|·ËyçSÓ\iÓY&#¢y÷JF¿)?�åUÙá³jdó„ÏrÀO·¿BÜÂùJ'Œ÷ýJJ”‰`IDú4ß!x[ålšÞ§«ržh�ñü—ó¶42Çy”ü[ÎW–WúVÀÂÇ­y—>^줢MF ÔS¸ÉÙòââòíååË|Þ¡þ*¬È×~/ VÉÓ:÷±„óRÖ‰‰rceå -ç>’Ôü©ìdye«”éj�¯ü¦TºyXá%’]µmX§ðµ|ûöòíE8‡~“²Pª°±´¸xcñ·ÜÈEB}èßÿ½€á X£Ÿ½g€«sæ€;?™pçr€ÿÚÑWöh~ê0{Ò«[I\õÜE€OÍv`›[›W=wH\H]_ä’Ö;ZÀ]G„Du!òÂ(f-œß-€P´sÕ ›|ˆôéPã½À¨às�?@# N0pï£�4ýç€ø~B× ±àpõƒj«va•ôn΀MÁÚºˆàNt¯x¢ðì0u×ïõÅâXƒsR�ޤX%½‹¦uÔ䙹µf<›<5kÝz¸â€?€*÷ÐÈ¢ ´€5�/<×n¶åx?}¤¤õ@뷮߼Iq)SYÂ÷«k ‚yñˆõÅp‡r.ÝÔpç*Cñø4PÞ™ð^@t=U‡îü¼°¶¼ŸŠ Ì1áooÏŸ=hŽOO�OŸc™MY&2�€µ © Ò�F0VH Bë?çÀWÕº6�p!/ K„.N¿ò`+áæaEèV¯ œÞƒù-øJ›á<¦_!;¯ÿPö÷1ƒ,ˆ)£h ¤÷6+äž™ŠQâm/A ºr­�&�•\�õˆì™2Gj,c*l·OÏWbid«‘¢&]¬µÄúÙÞ«òfwÈD·]|þÊ·/©B¼D�@Ñx%+ÎJ(¬føñªº‰…ÈSЩa!¬#þTnÜàÀ÷ü•™>0Xç_º`¶¸ôêUô¿sçþ»¬�ƒ'nlì¾F{ÛÀ ﯶc««Ú˜™ÕÁ¸™:U}ÔmmŸÎšf6}1k&Ítz¦KXïºÛL–¡ô¤ÆÂXÕ–}:ªjÐ|¸999™Îœ izü ÷õÉ›&·¯iJÔ9m'ñfŸ §S¬X· ØøÃr=Òí^�ê=Sšè o˜Ç6§‰GnSß7Ôì4£ßOg’å3‚M2Ø0Òi€á�EKn$»µ-çÂnîXu÷ªQó�ñÝ ¡nê_Ÿš]|âµ¾ñ–ó½ý†¿ïê)œ—©Ö»;Ê?Dc+M.ñï4…¦. 3x^ ¿Äîï R†A¯úœ‡°8º_Wúî›C9Ÿ6ÎnH�ߝޭ1”¶­Ôy8¯F£þÖœóƺl¦³‡r9~°W8§®¬„|õ»þ…_8ÉýŸM]ÿÉ„T:¶ß=â™…g‰Š$jÀhœoWƒÏõÊTÕzèpÇ�ûu³C° V�¨lËð騶>”þ¯ç˜ý õ‡í””9wïüd"qÍc d"©5ÍI±œÿƒ} -æ‚Í"ÿ(d±æ<êÞú ÷™ÃÀ¨ïñ�¡©ô?¹˜p˜`A…ÖÎ{,€»ñ¬¿ãdàáÂŒ.€[¢*G·tGr„šKXÆí€v¯ðkÅ€�q€Ÿjøfýܺ>÷h' f,•MŽ9š{‚Û‡¸àŸã¨âpéÕ)"Þ’cŠ/ç©’Iã¸G}Ìgd]SÈâ°Ò-30Júüîaã˜ù_fßÎOž=ž »ÕÉœÿuòö/�Ãù %øzÒ¿ªM}¿ÄΧÛýƒ39?™�pN`·¼%Üaá¼&âá”bqsrBÀi5ÜjäΧàæÉÙÙC8?{ðÙ©6±£ [×>r�`Y»Œß¹î;Q&Híê^0rwÝitƒ%D– zÒ|w6›¸\ œïS\¸˜Èzáœ"„õiýûíéÙìdö�Z—óÃ1•Îí?Qß–ÖŠœžPTØÃog'“½a·~ü³³³EœÍPð^¼xöì/�§Îy ôþŒZnõ¿D' ”UÞœPÃ'<ÔfJÕ×õa�{9ÜÛ][‡áÏ{7–Ö(ÈæÎîtRïl‚Ê›õ\õ³DJ×T�~‰–nݼuóf¬¾MÜ[àlhiéãk‹ T+Z|‘³žû­FZË‚¦s”õ€ÕxĽ@2_$Az±ÅÉèÒ-\û$h”H;ÚtKÜÜ×äPXü7GÂÓ@°v‡øá¼»³çí @¢'\âXd½ Q.–Ð$H6>–ñiiSƒR”“›¸¯8�ÓüÐ!€^Žvy›b}ôѵ…�þ‰oÿ?ç(Ïm«á¦8)TBÀâÇ Ô°)¿0Y -‘/©(Op -D{Œê´RÇ éº,t3UnÚ Z·>bϵÛ�Îüq¿ÔZ4«ÇéæHRK»f­¡Iü°ü³¥º R¼kFHVR% ¡ÙÓ\Tnݽ… -yëÖ?—2R”´Û%M4Ò.®-ð”KyZî8ây.Çü¡AXiü©ÕüêãÒjßOÚ’?C±u5X…Ð÷ÍóÓѶ«Ô´MŸœg@‡µ$ñÉyh?ˆ"-Ñ„&¢çG/@úöÇ’¢ðU€Hpuð¿@j;¯P�n” °‰\àJD÷º;¿‚1ѹE^ES0"�Ì$�“�)*&’L�q`>dп}—…A’ qüæË¨í1yYJ–âGw À—ço´þ�Añèøtz|°7Ü=zšivD*#õ�ØöÉÞn €©ºíû€œpzêNzZ¨è×oP¶È&�Y¸æØJñ_6aËz¶–ͤT'Y–òZ1†¡L^·?j‹rX«r¤_¡”ÉŒ„ÿìhøò¥/%´LOŸ>š>y‚jòàÁÁö¶··‡À¿îZ׉–e»Õîîx4»Ä¾Û­êíÔÔÏÊÔ}ß“&¤DR+ÿwvwÜŸ¿]_æ5gîOWˆäøÆZÌýrM-ÀÕpYÏØŒº>§ä3nu¹µ°ûÔUªdŸôÁd)YíæîÐÅå1ð´¿±âÁ¾ûØ7þä%6È„¹¸–Õµu¡f´2ÒZÎ]ÇeÞ=Ê%bCp�›f´Ñ5É ™h|’âîæú:r;6ÄGÅàäãë±N°"-"] -«Á1OLj»G»ÓÇÖE8¡àMX%‹Tüå¦~uÓíc©ï”pœ�Ý�É ¹`�;Œ¯V3Ùv÷¢äÙxŸê$#U»+û4ÝÎ Ãè©ò¶Î÷ËÔÜæºò^ôqkS€å†è-mÞ]ÛÅL»»¶îjÒ4§¨ðß5ͤ_"ª,Ð ‘)´=DRß\è!¢­b5÷–¢2€¸ÛSLçàãUÒí|ëîzQ-JœV‚'»9ä\Ç&Ÿ�ÁË�›wÈëÉ&(X`ï@A%ût ã%¦hiY¢]˜Hà™¡è)3œ-nÞɘ³d1Pˆ“qà…&u÷ž¨mBp‘£–kë"‡ ×{|í®QÌî:ÿþ}Ä-]ûŽÿËÀ?ÂË\s~ÀÂuk¾ ¿é -T@Šž’´j¼�ô^�sÍü›­°p÷–­ç^ÔkÂ#O°k1ŠcGΖS7y€)R -Çú68©“iQU½›7®™q¼íú†_¶ÿ%• â �ÑßÏMˆ9òìÕº®/åIõd.LñD C6Ÿ†ÿÔúÝZödÕtWŽå¼”ÈèJ…o¹¡åç(Âþ}$šˆ¤ÂBÐâíÛóã½áh¯Ö;�·Õ -L"ˆÀÁð“€î€¿å{"�ߢáˆû`¢Æ+"º‡â’èŒl½Fœ/èŸ�Î=9d``ž’„bÀß÷oÀx Í¸fŒ/è¨P6£@ŽÂ6ü‘–. yà\(�²P.$FPµ(J™+á€7/_=õMþΖ;=:}°7ª£sJ­Jm)%²L¡vêRà Q:“ÑŽ�<:6 wj§¸ób¼ *f-HصðhÕÃX¾ü¶`~§Q¸šŠáÐÎaFçÑ£Éð(óÀTM2ç€ò@qør -šb¿AÒT=S]óª)YŠbسÊ55°()¡”Ûm�¥Þ�k T“ Ýí+5ï�A☫6è{I j ¤òrTéÖÍx/œ"—¹~QäKúøW|ÎBΧ¢f”á$¶Zô•:Zë-Þ¸»îÜ…÷“fþ{©Å§·ÚÞÁô¿½~ùdo¸�9j§OŸ>}ùú¹ø¯Ó;à/ëVP!Êk>Âf E4úT’‚Ñ ð�ª-`_ü\]ïg( lüÕk÷��ÝÒÀ IGðŽI&ƒÞüàf: *>yM0ÝãÑ(�ªƒ_%!‹âa-ð §?„™TŒ*…åŠ÷æœ7ÏÉy¦j,»àé©ûå�†ýíÓ'1³R³2´ µÖ?�¤?ŽF{{.t/€ç¾0>€ì¹ø×3ÿÊŒI'sÔò -¡” �\åß‘þYê2ÐR>P -aÅê H TQøÑ¡á@¾^ç%À/ÏŸÆûÿÄ}ŠQê‘›Íõ�þ¥ÕNgiuI£²ìÍ·;vãz`„ ¨�WX¸ -Ôƒ±ÌµÕ<@"åùÔC0Æk-<åÍù%Ý,À%€¿ñãiw8 8i¼ENõ¾I·�cô¦ò]uf½f(À#@oâVƒu^O`Výå 9¯Ü0hwça‚-\º3­QeÈø^«Í!IlÕæh”­’1œc'ËùtºÕo8Þ×OZFÝqQÜàÞ½u»³ÒQ­•hÊE«pyE -éoý;ºµ´¹ øoÎÜ©H­K\¯ª{(-穃p>ZéW‡y0òÎK áuU—¹¾‹ñdZuë‡.¥0@Òr!â¾ISm*TúŠÛ1Xé!uëÜÚþ©ÜÞ º:£úâpá£%d§¥ <þýVG?C׊|ûyBÐßù5 5B³Ç!‹è¿ƒø,BunC ¦åáùø~œ –@ÑP¯·IhÇs�¾t§*—®MV—”?¹Hižò"_3Iœ^–­­¯×ŸÝè ÖŒ‚JRRs¬˜ûQæÉö–>.…ó¾AÚëóŸÞ]ç(r×eg ^Tg¬Ý½3�›Ä´H½ðb%$aÔ›m€ xt©h€ë@)Õ!ð›9¾�ëêY4pð½E|X¹‘_žçVrà׫ªýñz¯G z°�éK;©¯¬µK-å<Ú�‰yƒÂ:—X,"4Û:M�L - ëaAŸ2Ø÷æüÑÞv=Â:u/ '.È´·—˜£ÇÁy@8ÑþT…V`&è- «âs1½uü «„óã´@ã�o<öÐ÷?è\�ekþ%`½u -sÇàá“L’¸¦ñ šééO,÷%xû#É¡EÆ9ê—“µÊ -~‰ÜŽL€ŸÉaÀZÏT”àÐñs§Cdiä9˜ýüù£GÇ åƒ,åíÓsëÁ&@Zü¥âˆXÒP»eÀуSêYª„›PÛçÈ[ߢ´`OÑ_›}ªW(Wð0Y¹å>†™%=Dzú ²’�aùñX(zL«×¼vgׯ\Šøôüù#÷~tzzŠ -øàÁho{{cØË6†âÿ…À7㔽z›Q·+ÌoGØ­f�!`:æö¶ð"¾Ñ àÀspgç+p‘?ÑÔŠømœœ€£ãæì> -À$¼$ dyŠàÞû;Míî÷¢�0œÐaQxé°k½Yד _]÷Wà|»‚ó餮NˆªÆ‡‰f ¨µæÃyµ"ç¦ì àîÀ…Œ¨i„= çãYÝßh&–U­f~3踾~o CÂ.ÅZÐÏÊ$‰†+^ ]ˆœ«´p³·¹»_©P©Bßç绕:'Snܯºý*u®Íçz[œk ¨TlÎÂyT´..µãÜUØÝç<9úèêoºý‹g·o�›|K›ƒ{ƒ{½»ÿ`IW�Œ·t¬Ð6«if»ð߇(kŠËÈÌ;1ŒüÖ¼(Äô–œsU„ª3=†ÐŒÐÆsÙ˜¡ÜnÍù;½�õ»»P^ó Ë·³ÈÖ���Øf2XºÑq>[ÉÙÍ-øv•ÖPhK#äraÀélaÎI€Ø½õ¥Þ ­™g9Lêó¤Q#DXﳋ�HÖvwëD$ÑPÈÀHÜ»wÖ>ûØ™urš¢ ?Pkª« ´Ô¶ÓŸ´L]Uׯ û·œr(îŠkwî¬u\l`“²ÙQ-÷Ìë²ZÖÝ…á÷)) §½jлgEX -�˹¡­š–õAÏ)}ëV»§Öˆ•èºÌ£ºÒ�,¿o+HŸÈÍ[¿´ -@µg>ø¯w�*ñWo¶¾®‹ÎâÇ�ÏJŠ®(áQÈŒeÔá_FÒ2ZÎ{ëýKŸyL­´MÄoñ¾å:¥Lh‹G],.¢5g¾ëû>¢ÃûIÇ6€¾©€†o_>:Øv [¸1€ ÔÏ�Ò1h‰ÅáE%PF%lõ4©=Ü@:¡=á 㜋op¡+çÞçR°6@VRM@þ⣼ù!LúÜäßø?˜–`ÉI ßÐI)'ý%!8ûQîÂRf¡§d®N“j áIŨðÌm#Y,ËïÀ¹³"_éµÏ -Àƒ£½Ñö`tô\-)…!Eª…SS münã׿v(½·º1ÜÞ•]ƒÜØ7/Æ�à”‹×Ù’çü�z4Gj¡:¼ÇR¸)%)·¬ø·JrÅ‹ g±8P›�dÉ%~ÝÓ�<ã~xùü%ö?è|ê…ëÑpàÀâíÅO–:�¥}n5�¸%·1¹»¾ó;zðÅîI³;Õ:4Ì%‰™h„x½®Q‚EÀh[g´”1õŽã ‡úxØ6yÝL07¤^Oä#£R}¿3,–6ÄÝ+XÄQBexa_·_V÷û×Èû2àj:ÙiŠ*Q"’�Âyqy7�í*�˜§Ù ?)«9æOÄtä|Ÿ:ꪣe -xŽ›÷›‚Qœ‚èþ±®ò׺L‹X�ƒç?R®q}w¼Y]ì*YþýÖYëü¢”)™�‚¦°²äåp^�0®6ºQ]¸:gÝw îRyj]Ôˆ™š®!.’I]»_a»ÿ/BìVË®”âDŸ¹~ÝÕrÎ÷vÊ;DxßRôaƒke–óÏѺ`–ú¯ÄìšÙ:ªW‘¡ƒÛ‹‘¦†�‰€ËB(l½ca0èóÞ�Ûî•Å’Þ'�¹d.D*–¤€ƒê³ÅÞ=4ÉÀ�Lª�Ê's2 ÁõÐYìÁŸœ›Hx€µÁ®…X‡C0óÞâ`àKY(‰*œËƽR"ìèL/‡È|€Pô¿%÷f„OAC¾Ö7{ÿWS�z@já¬�MÕÿ(«èï -@Ð�zî’‘h6èÝH®©óÔS¡¶RüYK¶T:´ñùç܃Ɋ: b{I"ÒE¬U½� �æ”p©ó!ç%¶\íÍ5·¢0dñ=À²h~ó\”™‚§Ÿ:o€:ˆ\þ3³Ï-{³D3d@ÊÈD¿‚`ÄMd>o|K@ðÿ‡�¹ï]±í-¯Ñÿö‡l\Q#Þ4J(>Áo!0WÈÊ@a"~Œ|ƒêHÎ¥ˆF"h˜£Ô ±š�æò+ fpÄvÁüLåæÁh8�>}“ÛbYÂâqoÉt�hçÒç•ÀÎ8:>u®…ãè®ðí ¾eHŒŽ¿žL9vÕ>”Jæß2Ánž™Lòå‘EiË®úáÓJ)æ -CX.ïè×1ôúµo!zþò•zòè);>z@±ªá°ß[ºýÉâ'‹‹Ÿ|²¤ˆ—zÏ¡îjÞ O{¬@¢  DxcNàE€DЀêé¸uÄ@Uʈ²@%¤–بÌm<@ëöÃù�r M±R1 -}~&î•$e2©n†K‰xb`™ou}/?=È�ˆw÷w'²P,·UH7-Kì^øŸV&S·dSÂqœ ÉRäÀP¨.¾Ø ‚޹¹[gx\(Rué`;�Ù¿ÿÄ|M©�Š�•³Ÿx-ÈÔÝM8P»9?9¨vÎw*Nºýû:Q¬¬¯Âya=œ;IS<·öøÕuÐTý~}Xœý…s£ìïFéjëªï¯ªpÍê"U…SHQuçÎß S�Æë7oõîÔJ¿Á=Œÿ‹2|}À*Äkûéy¯ª<_"G„Þ^ Às�o�®Eà*€�Ìuô´\»|½W¡¥uô%µhé‚Ãr˜e tPÔÔiJç¾›àœCîù›Ë|Y �Û=‘«\5އ÷6w -VÐ` -k�E›m›dÑŸL$)óÇåý ‚óÛóuȽ_÷ª�±+íSZR+Ámñá½P=¸Ñãܧc(~´Jc$k¬û{³è¬Ñœ •€niú—]õ°Èx€¡Ì”[.t‘„ ãáœÚAI+…�6«É&ú‘¥Ku¸/•îU&0Ú·ÁF¡ñb¡aSSQoJÕxÙÃ¥·©;=&p ;ÂÂ}€ÐÒ\#*ªÑ¨×»½Ø‘s7X׫ ìÓÛÒ -ðj)¶»B››ÄØ-l—êÉ#�&°n§š‡ôҚͥ·ÜÙä)Yü÷|6•ðï%Á ö¿˜ëìºï¿?t°w0rÀñSw<ùÆéi:�1J‰ƒeKŒ7S#xÀ$�Xöu~è·¨„Ђ¸x¨a\I�@oA�X¸âª‰FÅ@#•¤ÀvÃÈ�(V‚ûí˜}"”¾ú–œ¢üèëþL2™¶Þæ@nr÷ÇçK’½5F=£%B&¥à~4‘˜bk¦ƒÒç@öÓçg®—wÀöÆèô¹ÁJ–Ä*p=§Õ_¯þüOÛØØØþƒ;?8>:Bt}ùòósUՋׯ@h3+*À÷¯³3|‘¼OÌj�é@¾Èß2leµ¤–µÅ‡›g§cEüçøíÛWdÀMÞjäV/ŸóÌŸgéø Ïñ²óCa†Ý�«ÁS8¸k6÷ÔÐíá8™ü­å�PÍÔIäW´"\óûÓ‘Öë758zƒýÇÇ7%µ‚SçüUõA£žzIÓ=Ôät‚FT8++1ÂyÕïªÐð™PèoC<⪔RvT’?ÞÔA¯ø�bfݽ: *N`/:= º3¨�¢Uîñ˜¾Øü°¿lü t!0#O›5W¼Œzi€¹-Œ&ÔŠB€’в »Eb9(½Ðg° Ï�lV‚Ea ÉoÞ›—i0ÝXL¢ FðÅ ¢Š¸m€Áàs7ƒ†¼@Íu–ãŠp_9€ç]¡˜CëÀ\¿×[¼×Nšä²r¾=YôúISäÂëàËÛËyGI!*`† +k°/ë›<¸>R3XL‹Þ’sUÕ^'s(„¸Ê@<íôzêõÊ#¾|Î�G4€¥5‡IÈ3�jmöQ‰HÔTóÕ’µRàÊMí †Ë¿å§ÅÌ^¯¢*âó¶xFQœlo0N,#îV‹ƒÉÎ.ïÑÅ¢{q®Î%ƒÏÉÉ‘®ÂÑZo±S¡ä Ífä`€›þ,©–«£§�ÚývbéŽÓ/ø¾3èÜh› ]t©·ïëm]4›¨|¥§ä2�w¹W[®¡¥æ–Qn¶O&EO�ì.ýåŽC€?Gq$¿�’ qA ðñõ«GNô��NKÏ_žc� -üA|ñDì n÷­HE€kÑ"¼(ð€SÂuÄw4ß!ÿ #æZ‚§ÚÊüÀ‡[J1ËÍM•›Áû¢LHù5§·oS†‹›°õƒ¯vP€ÜuÌŠï ¼L$rŠæ@�yìÐ1‚=¤¥¸@¦cçØÊÔjÑk÷î9úôôÑ©Îr_ùs”­-¾©Â²X;'=¥‰  ‡Ûõ4€¬t;ÀçOž?„Ýàµ3œœ—™—q½�µëÝJNm…UÏÕ{d\EÌó< ¥ –›?RR‹‰#òpæ|†|» °eq‚7~Òø"Àƒ7®Ýô:…qT€OòJû4íq8¬æ“QÚ+Hè4@Ã\’°.ò vvšºS¿ÐA|Ê�*Í0â~ “P.ÖãÑ`e˜%€Z«†{Àñ²Z�‹F”£åjJbŽT_™ê%I©ÜŲ“­“‡÷_Ü çȼjòuë¸Ð\°÷uø›)' ew{& “£—/8ɾ¾|'QáÕ¥»q¨î"“�Р¦«üÍR§.‰úñbë -ˆ `Q ¸P–�F,fÝïÚY ‹:ï"Z.C^QºÆ.i°ÄðWO»Cg#†k‰«y«"ï¿JùB¾ QÀ¨ï€Rß~J ÔÓ¢ãì´u¾;êö›Ôy”¾6t›ÖœG¤Þ¹*L=ÔZl—Ôõî"æîµ€¸m?”>h!SghwJê‘¶^º7èÜòÌž uÿžî!h#Çwz7:U_$É)öhÜ8­ô.?™Î8‡£Á½Ùðö´Ù‰Lw­£Áçý'äE¢U½ŽŠ´‘�B½È(ñ*•Œ¤ ¨©É^Q%ÿ1÷›½µ~o½êÿ¶ãŽÄ1å|PÏ5Ès)œ“¦)V㪳?Ù!û6ÿr(ÃïþÝ^ÊÊ‚…�ÀÂòp/ÈfKóV ¹ñ©7ÚÁ¡¢”Oˉ4?¬z½Ïå %mÐ`ëCƒ]”¡«œs¸¹#ã0šË5æÅYÚ¦õΗ×Z-ë*™šFx�,:ÄõµÀ5€ŸWìŒhvÓþeJ‚ö¿sü2PôùÒ�+¾ ¨ÚUl3/n—ÍŠ*.�ŽÓªé ¦»^‘(@iG%9;K¯ãÛÙÚËÿ˜ZøùÇL †Æ1çoŸ�'ßV{úèð&9éT¼Ð–IPDR€”¸¯ßf¾›¶È -e-�¨mÊ�ß9È­7?�Y.rðãy�ˉ²$ž5 ‰­¹•äÚÍ~~ûÈU0�KfC…/ÚQ„eÏÊ@ªÄ=Êeº†.éÄÁ½¸à¹ÒÐù4_»q?túüôÉéññÑÞ^5ÜØ~ðüu”³”GIH«·o»*´´ÚßpCû=0öøÔEwO|ö·Exåj@aš ˳Š'>_˵”"$ØãŽi¯RÃÿuÎä­è…0m”™çnkàhèÏÿ4šÓ£̓½ƒ½ím·Ø›¿ ð'ïܸGÞýj¥3ŠÿXÒƒÁÍàáv‹‚ 0*ÜHþjwÚt€Dê`Q†.0´"y-u. ;N¾ç×�б[ï$,ðôUP®öÝý“Y I‘ï�3 ¸Ølr0†0úRMھƇAô �;À(<š’ªA3í«ºÆ� @йsAFÚ6Ép>èn.Ç ¦*)9@bè]- -Xrë–+À[PÆÔÀhÖðލuG�>Fp˜³0S*=œïS ¯d½ž †g…sTu/C_P»¨OraBß ømá‚ýq 赨JuµÚ/o¶bçä" °1.Ý©ñc\»Õ®�ÒxZ—‘€ÈéÀÂàËüû@´Fu“Ø!§@+'›ƒîí”c‹•;%Ð%y“õó¾¨»Ú ’ןÊΘ÷Æ&jˆÈp3¡–¨ˆ6•Íò2iêCyNo^HôDÈ`„„ôG SgMïFžØ¼.ÃTâ‰gáDçö<—.|ü”Hr}z.w€ÒBü»ÁÉn?ª/,ÉìaÝ­'rŽr¡zç…4ç‹—àó)~¤à'š)Mø_¸ 0ÞuÓZÊG¡,W5X¼à¼ÃBmMHQ8àœÆ3ìun�ô°¬e„…ÿÓ‚Zá™v"mî6�H�¶Eïî´•×fqï^išB8vãÝøZ|ó’».Iz]Ô´¨ø ¿[ø‘ Iò°òL”B$äñ]”'Y»Ù¿x/ßQH$�Pà�/Cÿ‚yéÿ‰ùÿäyf›Á¶E¶Òõý¾°‹/)s£Aw™2 Äð·áºËO8×�Õí_‘³0ÚMõ]�!è8Þo9Õü—Ê®¹�òkȵºêöó ȉ�-ûvm{=’.£™ëK/ÞAh¥ˆÎÕ¬¹º ¬ ç; •@êìhh .«R›Ú‰Òå\$ u¾?Ûú‚a«¼v‡¥yåY,7ž:Z�¥h\ÝQªRoŠë -¬ie­kÇVãzþ^àB¢F‘sÚUwÊ@8÷·€Œ¶\`±èÂE{ˆø!¦ÌkD~çµ.‹àzY8V}©3”cÿKôÈÖ<ª4ìÕýÆU¼s¹^¼æ„PÇH^$b½Ä"5­Ù SÏ�3Ö×W&S8 ¢mª.Á¯šõ•èæŸHQ²æü ¥@¬×ƒÅáN ùæ3Wˆ“{p„ê²Ü©‹�°Á|á"8ì«Ò™Ž_èÈU×¢¤J’HYÆÒƒÿ¥¡ÞZ´‰þ -% ¸v.èºþ«›·–2—=$ªfÔT7È<¾Äs7çr,`§Dú�åªßïm¨¼D{ùj°Áu¡M•M0RWdQh±>v"è]ò™W莴͠,/öý2¢¾‡NîÂÜŸ£ÌÍq _m•¨•öÑYº¡ŠqIõ`\ÚIëéâ‡:Ÿû‡lû«Ñä­ÿÍÒ½ÒªòHŒ1§¾º´3^í”æc…þã�†ä{ px vŠp@n,ݧG{ƒ -ÀÑñ“§:¦Ë,@`¢�™`]P]äã�³âôÀáñÏc_—Sƒ“†ø«@R^çóÃ�š§ œ›\æ¡DÔPN ©Þ`,ÿ¢|©ù¡™ûÏ=‹¥Á¨ß“> €’e[€Ä‚òEoH -Ö7’ŒG~¼å -È2òÕ+€sêã€ùàøh*Tn †GÏßX€p—͈,¿…´ÿ?YüÄ6Óé †CjùÁžŠ–Û.?yòèéËç/ãЕ‰yo^ê [¸µêå‰ïÂ`)u&U„U¯¶þ~£=ðŸb¿V?°Ö|t$9¥ãÍÇ,˹»¢ìù€§h~GÓ{£½ÑpcH¯[Uø5«›Õ½ü)‘·Ø7:«D–…ê]�ž; -9å/xO�t*]'éûq£Sm(@«=*”wÎy0«–ûí½’Š»Þè8�ªˆ€ªšVËÜ¿Ìø*ïRƒB¬vjøFËhEJSMçêCK;íüE1jê~Õ8Ñì5±#3!zm¯h*Cg@ÍA¿Ór®Ó\àtLž^¯@*�‰ºÖ»‘µËzVÝËëêV—YVR<WPTÒÇÚùÌ™i;ƒ‰4A>ŸÂ9¹¡ð=ío\r®6VBÂùE�eÝùœI†îª`±Š¾Uê|-•ÎOVpõâºDös,Bœ¶ªàîý^ø¨}ÿ¡³¿`Paõ‰Éÿ—ÿªk­Øü9Bä—–ê ,"kå‹kbæöò—uõ'!M9Ð]�8_•Ë)I0üüF:èeô6z|4%¥Rñ1(A€–/a¢/$U˜ÿ-}ôsìÀ©(érN(K'*™uø› -ÀWã¹u·¹ãÈ{Þm§s{·vR—”(]Ž¥/:–œªƒ/—3C….ÉUZ&¬{W2b›GÈT¹ÙéD¿‰Nâ¿Ó~~€¢æ�Hjê”-§Á+Ë¡µžƒ9D„®õÌËÇ/…ø¸ãuNyj' yn]¨·{=õâoâ–Z݉ÁŸ%±â½,Ñ/,@ĸ~s~º7Üv #“Ð L¼yéߤã#‚cA4P÷o󠢚XÙ†šs*¥=—¶˜‡0ìwV~[ÜÑ©æœÓÉ<¼`\î&UwÇÖíj†œK´µ Åß]úÌFú (ßî�Ãã¼víN븎FËS¿¾ÔìÀdt.+ª?ÏàEÉ8)^Ô±”@¥r¬s=�QµT� Dë‚‚ÂxãÂÂõ®¶óT:…P…ÉÍRÏ—ËMÙÜ­;�iT‰P& ¿\égÿ€�+óX¨¾(âq”ô{·;¬8pÖ‡ü[ùÑ]°¢xhV(,ÁãEç�‘�lmÚ^ã÷²WÌùkEUºüîtµsÙZþ1Xx¸�‡Zþ~~:Œj`Ñ�`<ó0¢»XõÙF§øãù(ó2£¢ -Öh[Ÿuµ²*>]©]«Ñ¦ƒìÒ� -×(/ D™:VìÙïm:¡ýî?€>\0ñ@]�€ƒEƒê˾Ë@U>†ó�áD˜sâéüš7±Îg— -@›ˆ·Ój.Ál•BãTÕÙpù›}k§(}QTÛÔ/’EßRªÛ­Îeló9q)0a\Y‡’靈W0ŒAþ/HÈ %9B•_‰ËžÉe¹[·ãPÁ¿M—ñ-©šKûhÃbSuyÔ›­&œZ£•]¤…Ú@?áqÞR]í][¸K uÁª«Ù}ê·÷&5b·œ£üvƒ¤õ� ÎÀuà-Xø3à8q ó\�rP0O÷ûßÜÌ?N;£ð?‚Hb}œÿÜ0\¿õ¶V}ŒxM× —WÁdÑ9°fØ`½;÷A^ÐZ×�ÏwÀ–´ï±ðK¢·ÙÈ ?¹ hF-1A?Vp_” ‡3\6  -¸•'ÌnËÜJ�ðòyVÌù2àúÀ7æ O3@Š:0L%‰ÏiévK´@U `”wS×ÓG³'.Œàü©S„æç/ -ˆÞQ¦Ħç赉7¯�‹!º›~¸—R‡p«`]Z&�å¾è/þ©Ïùyùûß}ˆÜ‘Ð=š¡>ØÛÛ{ ¶0ðûËáü϶¥à¡»Zç6f:S.Cc�á 3Z0²;¶°:­WêÆ¥ñ\är™vo‚´4p4ÒMwg<ífv AÔL%�R�ç™(\Ö÷.‘Kac.#ZªÑÝî7YªfSˆ²�÷<“ê«9ç‰ÞÔÝ -üo9¯õ²s³ƒ•_8·fdο¨vdz­þ4>‹ØÐs"5%ýØ�=P>¿�äþÝ´LAB¬ÞÒº2À�ÇV໼u.^TÃîÉE+3¡œ£ºTõ´‹uqÉù~Á)´\•'jà|H=φÝoÚú¾äü�:WüÖÕj÷²¶¬»2Ÿ3b\i'Xü -L×þ/äiÐ’»¥9D¼¾¾ž”éCÿþ -@ž®Ò2èFdÄ2° U«Ë_f+OBß՜Ȁ°Ê4 M¶AÕ¿=x’ÄrÍ6¤ÚÅ×PùÍUãQ¡ÞIçlØåЋÜÙ× 8çcIe§š —©ÒÒÚvÄÂ!@Í ÿD�ÍRU}ô[X‰iÜwÈ aQ¢}÷ãA#\› -ð~Fι/B²-Nªe»R*"̸†=3Ëî¢ÔIy’KŸ,~Âqï¦öúM²nžúÂ�{aÞtÈ@%k³,o4²!ä‡u Àun‘`ÐÚ�ä\ˆk¢ªò‹/ö½À“L­‡I£†ÏÍͦvUWl«ê»Î* ’U¸%ç$.M8·�içD Ðüî/̰ÿ9'àæ-ZqpÏèÑ:("äò»¨ç–˜Ÿ&JGXÏLG�Nþ;Mg£ØXh.tQ86”*æ•É ðnkÝm6VGôi;ô{>u°ç½6vÅ<Þœ?ª«½ƒ½æøôôé“GOž:àV@èK2áŶ2dïeÎ},hÝ?76ኂÀÝâ t´Žœ ¨-ž`I›œ˜\žOéàŽj�BáÖ?rýø÷£ ù¶`œ ¸1çL8ô€‹üs(gFäNJÈ•Ì)D‰€­€¨+É@öã'àúßtžƒÿ¦ëoœ¢ÿÆÝMgï�žb-c,6¶Ý :OñFXŸfÕR ÿÁÿ;««ýáöv¥ðàøAã<€G.xâZ<ßÈ›a2‹ÎA�ì~Œ¿…GZ8�.ëÙ^É›%×T¾wz‡:ŒDl‚ÉÿkO³ÕpÑ^ùZã¼øéù¹ëNOÿƒ{”‰Bõ:«�Û‹0 6yþÒk«zXÕËýü\‰E~}Œ¦G§_J‹bß;Óû�‘йýS<—÷^ÀdâîË·Ú˜AÒËP_‹]q¨'oþ÷‡ý­V!VìµB±ˆ V½C(™­0/�´‰êâÙœq"BrîèEÓt†‚&]+¬£ÉÓ�¿B[ºpŽÜo6ú…ó½Â¹iStÂ#yçùzÕ_¼=*‘$’KÀ—Øba,´>¤ÍõËÅ€]÷}ôÿÍð�äÚ2GÜ!w]‘Ú9é[…"¸ûûÏ9ß)&_Ä…®p>tGÅ_pÿ¢îŠâ‹@à±AR2E±ÐZô©€g¤¾þÏxÐà|á£k/ܹéGJ§Ã´¢dŠX$–"ñƒþ67¯ÉÊ/Aa)jiãèK²Hc÷‹ˆ.$˜à’tìd±A£³‚�_¤†E ñ¸ýµÅ¤^Ém7ƒ]­û!û2´ª”{RÓÀMÜ:ËÚX½;‹�ÎBz ëÌÔÔùf4ÝUµÀ‘Ú1HõY~Ú©õ—Ëýf§¥àÔGŠ_² ÕH$/Í•öìh5Êœìîz“@ëëƒz=ëÚ eà"ŠÜ�¥Á?ü±­ÔM�Ü÷Æ×_&7Ïj³¢€ÓdXJµBÛVz®vªª³Š9_ž—ÚêKrÑʆº_Ú°y¾Õ¾‚WN€ B¡lLf˜Ã¡¥öÐÑ•†<s~_gûÊ÷ýÐÙ¬·Ò�ÿ¥ÞÒgjk¤Runu,@TG*ІäùÉžÚ׳H'õ4®sÜá�¶+~ïž3¤”Ñ@ý9mpÙÎ0 -ο— ï#¢Žòò�?:Ø• @nOóòåùy |ƒ)„ dj΋ÎQÿ¹t‡=P08üWE)€¶¸œ4 Äþ âê1Ô•/,tS#¯p£š�Úÿšý?Æ÷ÍAÐ|Å[~³j0¿žÍÀ+?DYH˜¼¢ÀK|̃ÕR‚è0Ü�z+,4Çj8”8ª9þ:‹}qž*À1€9úÃ`cxô”7yò¸TcZ í8«�^�ëk�<8:¢²ãzâ†@¯ž›z|.7½�~ñJèv?˜ßrÂw9Êkëçé|ï&? ¼¾îG¶¿79‚rì댸‚ŠñòmÀéŒäՆǾàà ÞÛÛn¬ºuÑí%×  Xɽׯ ÕŽÏÛEmÛ9/WB© «þ¬èµ¶ôiݨmº Ñx?±v¦ù‰dp0Ú#4ŒºžVÝ£Wfø¹30iiÝ’CäL=ê’‘s0üR+&‰^™¦^ÜD«»Ý‰îÙ»œçA)�lKÄhê7öÚ~ýµœkÒq¡pžnªçß9€÷ nê ðQº…à¯IÄ嘉M®ˆ^쀄w°¬2Ô2'Q²…ÿh¿Ê<À8Òµ@nªÄÀ0çGŠHONº&¬uò®¿éS…^K¥ûŽ¥ÂrÞØÐrîA8wÂ_³…p‘æK(µ>ÕøG|Y"w‚®“srßæcɸß‹’Ñy þ__¸¾tããwJ )+K¨–âÑþ�Ïz(}{P¹+BTùÊÕ�€Ri-9éñ -‘MêÑ¿In`iÁH"÷=$–•gÕyX ÈÖb½í6ÃÎPÍeEú>]ûʆdÙ¦D|Z‹*íò¶¯e"vá…¸¬6*€–q)ÏîàŠêÏ~«Y´$Ov  -YïTu§ïeŽã¤+诎FLNùæŠ!y¶ö*Zzµ<ÿƒ ~É…©µTô‚ëq,ÖËO&©�+à«�” È2‰p;³þGT”…Bø±ì'œÝƒÑ ¼Ax Iˆ’ɑƵ|�¡úæ–¸óôßèœwÌ<“›ÃíÞöƒs!ê|E+™ÓúK(.ˆ®å«±¼ŸÎž<øK�»+ NÅ»e_Y„€Ï1�B/ -ŠåB)P' 6¬qË!¿F‘H¶[õMæÝ^ˆÄœúÇ_løòü‰›?y:s ,ÀƆïZhU—ÅŽO·i‘|£@¯ôí¢¥YÚÇætÑX âÚž!dòtôûá´lCS´ôý]—”f¦£éWBÈ�ww›º³e0Ãå>f -)dÉ‘þ•�ìºúýpt¯`Dlsø>sj9ï¯Veçéÿ!ø*ù[AßrÎ� -ÀÁ¼da§ÉnDu2®¶/X'°œ‹»…ss@JíD s,þg3P��Å%«àŸi€±%B·2¾šQ€¨e½ P.d�uã'‰| ü†²+9ï4u×ÇÄe*#üŒË>Jg=¤Î[Îùá6ñ6º„ -çNpª÷Çn‹4·GS·X-�Q|Ù-E.{àDo­©õâPqÁ\ºµpÍ~ͦËL¿aâÂà}Õµ0öË$“<¹ñd2A{�õ °@|.A\h{»¨@P)bK¢¼¿gÍò†c[W9¢ÜŸ«VÈj§ÆÆÃ•/ÕÁÒ Ú³ßa+TŽ´þMد/Zz’Ù—sø-¹*÷wvuF\Q]†›j�ÿˆJ žN�¸†‚¨ýÅhÚÛ>ô(º H޾æ‹_ÄÓ•í -ÊœšYyl=[èÍ[ <ÆvÖʵK7oêXXZ§;Áð$o o+ÓþCÓrAOR~Y -àœÓBWû(•îO3íwʤˆ’H¨ÌSIˆ‹¸>ÕRIàùÆÔÊ1”±vhÏ„œ�¾e·ºó¥t~€o -wü¥×v×曆ý¡%PÞ[÷}iO¼xnUýi°Ü�=Ÿé‰èné¡–Ö$?|û¸ uwë0•“ËÍ‚’ã!>µrÙváϸꮖ—�¿Ÿ„€Ÿ¡‚œñ[‹y®8î�ܤöôÑó§X¢z¤µüuƒÜ0@o€–9üš?ද=^pvzžÈЇ:ø)�Ø`%”Xm%Çq.`¬ÅâJÊ˧¸ mô¬d�¢yn’¿Ö{a2�sÇ¿E• *$Ÿe7$a¼ Áá'�n¬nqÓ1€s,æ'§§e'`‡ÎÍé� ˜1‰´œ*^ô˜x�¥ÕÞÆ`8Ú®÷j7tGàct€'OÎ}ø�àD€7ª^¯\²'lƒêÔHžLXý¿zJJøF9�m½\Ì=`ßà®û{•ÔÜiàœ (�þ—ÿ?Ï(Ä£ããƒ:k)’˜´xû6ÿQÒøZ¢-¦�N§ý.ÂÅFÉgnhÛù.±¢{ÑÅÒÐëñ¨;lî—Y»[7¦ ¦ÞR9*ÏÒQG+‡ú +vSƒ„R¦„üœà ÷Í�Jé¯ù¦ó�ÈFDr糸I0Ts8‡ýëÁ×âk¯Üi À_-ßþÐÎã–¶›çͼ™÷Xî¹\Àî=ëÀ¶š,˲vwµæ?<¶­¬æï ú�¼ý!€"—^£=@7ç.£+pølzÍü+¤Óke@$+|'hZ–eEI_Àª0›Eá0‹a)Š‚.7Š / +7å~X9‚¹eÀ—/_|ýŒ'çóùütÞ�IzÅ(©WåìÝg¿®¯B¸€º®.„¹\Î+¸Èår*&%\ŸÌçóÅÉÉÉÉGd„&ÜÊ~‘I±XÜÎ ¡!z�Œq‘”ËL5)¡»É¦3ƒB·É¶Y®R»(!”ð‘€DµX$ ¢c %)(H)LH™8&¡&!eB ¡ ò¤Ä5Mf2³ñå—_JRPJÄ!Ts9žÉ +¹z¯WI†$-{7!„®@ ‚è«p Ðj·y eÛ�N+kiVÞÒ4-{ïÞ=Ën5-¾Ìºè ºôìØö¾�Ïìqä­ü®µ«µ?¶w5-»rúT@„_DB€Ï8Š‚àB€P(@ôßU„t‘—€ +A››ˆkxàºvlÊ|3ðÒ”×òV �N§AZÉ+(…\È +ZúEÜÝ Ü˜ô–û¿6ül¸TNj޻‰!†îÛ ÏÏRð,à2ÀXU/&¡»o~9wWPNÍ©9UÍå š#¥Rm4›Î‹ÅbáàÕ7߬9½i?÷ïßWÕ>Èmmmm}°µõÁOº¥Þ¿ÿþû÷ãïß?q?þ~<�Gq)²±±±±Ú®9Œ±z¥Ô`N�ƒò^;^7.šEZ&’D1ÆïqÍîBʘù nÁQ1Æ:½OñG¥â_éR&åû”R,`L(!&¥L§d{› - «¤ˆ ^�$Ý'Œ1Ù†JR@ø Ąʖ�‰Œ2Ç1†¬jV™Ù0YµZ•$þ¨ÏA5 ˜�Üê%ŒKD¯äâ‰k�¾"ð÷´[-ÛnÛ×é43»< eeùže·~k5=peð·Í»}`ç3ÍŽmÚÊæ­|ÞÊk­OÛyM[N,ÿæßýC¡Pš¯î‰x›¶9ÖDAx€ DñŠö2O\@ÀU +ÀmDaÒé´ Én0âkà9¤¬R�˜^PòŠû)bDÙt åMÏ„ƒoÊH¾%àù‚¿zõòüëùx €Ù¬+%ˆQ¹ª8§ªn€ý!Àª/�»TÈ]T”©�Çc¾`4úã“§_Ÿ¿|é³s‡�Þ÷ß¿ÿ§ê*Àÿg €Äû÷ßÿþûñûñ÷ãñH<�Ç#¡��Ðu÷_ظ- ”Ѩ;T¢´LÃÍÎaj6h™B‰`ŒyH�é6»OˆY&„�N¥RI1Ƙ1Z$„>“2)'Ì"!EBþŠÐ+›C�Ðr™q±Œ!Ä©×6sC�ÃSòQ +B(IBʤLå25`�ÃFãÐ0cŒ±c•JÅÝ aNÅ9�ÃxDï÷Fý^oÐëúÞ _B!jÛv»ÕnÛí–ýwŸv¬ìnž‡Ê~{ëŽsìïç³ÍŽmwZšeYšeiÍOÿ¶¥inì¿À¿;à䉤ˆpomÏéˆã D– +@Ýǹ²ºÿtK­|ð §W@òJ¸ �N#6óY¯›ÀݲlŠ ep]`mØËœÅ“€Îh4�ú5WjãâõWq.§æ® Ô‹9€äU!À_äTþU˯Æ—*µ^¿7�Çãñè�O†¼Èç ø#pÿý÷/(€– +à +ll„®@h#òð†c<Üú`KßúE¥¤ommm} n©jN/©ªªê9UUsçâ’w§!yKD$UW¡‰Ç㉌Äãñ„JT^0MÜO@UÍET5¡ªü3t¬ëÜÏåT—$�Çñ�x<®&TUWÕD"¡æ"÷ùG©Rä'‚ ñû UÕ UUsú–ºµU2)?}hK%ÝÐuý¿ð@ÍåT˜ˆK¥Þh0 FãÑhЫT|U€‹ðKà¶Û¼˜oãЖ + yµh¯RvûÀÖ´VǶ;¿×òV^³,Íê<¶5MËpŸøwÜЄ@( @:ñ®ºÛÞä=¿=À½[róÝÿ• ¸:ào ƒ4'@(, +¡e+ðò?n'�«ä°«Ò.Ò¤Ó(ÒJ^Iƒ4�è:lÊ2â +E¼Ý@7†k­À¯ü¨×ëuª—J•ŠAJô¿ªær9ß5P¡zEð¼9Ø{øóO¬Ôêµ_‘J�1Ö‡Ã#ׄàõj9èë7Ôÿï¿ÿþ}¿¸‘x‚@¸^llDâ7*€§¿:ì�±£/Cæ0JÙРԠ”2W`ˆ7ŠcB̸;¶Gè/ãà/ -SR¥o—Í*¡ æPJÈ6¥*o)`”RV¥CVe:)—1Ž‘¸³½M Áüˆ2“’2¡”V•~„‹8YÄ0*D !Ôa¥”RƧÁœ!súäpÈ(sŽzO~ã4$I’ñ„ÝÁ\B*ñë?�Gãñh5 Ø[Ï\î!Ðn·ïNt:^ðÖ µ€};û Õ±íN+kYy˲´½ÎãÖ4|«ÍOúƒ�èmØã[6DW¡»@à=òßo¿Ïµ +Aˆ¯÷æû=âB2J£´¤Ýá< ¨È²‚®H‹HQ6]€"i7‡Ã®ØÜD²ì­ @ô¦å[îÿ÷«å ç_»0 ÃÐs9ò«:­\R¯­p¨úrW„‘Sÿ"aÂ$„ªš„ªz©V1JªnT*•_ ‡£áÿøê +ðÆUÀ-€Ÿú€zE�{¸Iü§x<~xíù§Ã':£ŒÒ2£Œ™”n²ÌÜ‘âG“b +Â�T2™J‘�mŒaª&qC) +!.Ëå",â"æÚ¿XÄãBœà?Ä¸È å2)³ˆ1ŒmŒ“ÞLÃÜK¬X.—©š‚I¥˜$IAˆ ¸HÝ‚aü’RzÄXã Ã4)¥l‹1J«ñx\‚b½T*•t½„UXê Fƒád<¦cÿb€kXJ€v»ýûß·Ûíß·íŽme4‹·òiYY–5ŸØ»­;«µÜ@sÐܵþ¼öO€¡�Èö‚BTs—C€\Ný Ì�BTUU±ªB\*ÕH Ã6 b ‡£¡—pý@~~úÁ}/X)õ²ˆD<Ü”mD"‘Ä ø¢ô9[ŽoSJÈòÁ:!¤€‹¸\LA!aª'Åæó)ÁÉ$Œ%a2U,a™`Œ …b‘¹组âB‘‹¼ˆ1.nÀ$Œrñ@‹ÛÛÅŸ—a!!ŒF%AJ¦ +«Fñ#½¤Z¦”Ò3YƒPjšŸ F)¥’$Å¡šÃ¥R “R‰”¦ýÑx<šŒ'“Ét<õ™‚¶ýÈú[��ü¾ýû6°;ö®  ÍnýÖíºí»}°ŸÕÚ,ù¼¦­@{ išöã®?Ÿ¨w ¸Ò…<p÷Žr¤—puÀúýG]£R� €4W"’Q:²L¦Óî~`(Š’æP$¢"%/§A‘ò3…' +VÁ¡Àë¥!ˆÏÝ€�}UˆZªT =·vÿáZ _¨ë}jîÊà/°ºî4¤—JF½^«×ëÝ.y+ð¿]p~ÓY ÕÀý+À•…6®'@è'ñx<¿~èPw˜Éh•ßÿò/· Ä`p�1.q 1‹!‚‹«• ˜›~'a*…!)rû^~RI ± +“0‰1&LHcÕµMI +J&“0�a +' Åb±PÄEˆ“Æ$) ùô5#„&„Ð2!�ßüºúT§fÕÑÙ¡ bµT"%b†A¡]æt»N·ßë;ÃQÿÊ ÝÒBâÊx…€–ݲ½FÀ}Oä—hZÍßÞThò*@öÁïl»Ó|�·ò–eå›�7µ¼¦e³2™ìƒø:qM{ð@{ó.ö=/qùí»'^Ú-À;‚"¼…'Àåû/_ Oøª€K\¤—­€HQn”æ£>nà¥Ñ2@È]¤øzAèFà&Ó.�y9€ét:�Nº X*=ô;Á%nÖû–¸¨þÖ’.ézm0žL§ËíÀWØ‚¿apKý©º .)€Ä• +`C¸¡ øŸ"‘x<’¸ŽÞ0)5«U×#´L¨Ž±ëð‹q0Æ‚$SÂŒBcpB“ÉB +ÂT–q&¹Å?N%SÇ=T`œJbR(`ˆ!ŒÃTª˜‚Q!L%aÜU…L¥ +0£|ýgbœÄ˜Œ cL!Ô4MóH§ôÉÖû›ßxPq©DJ%BŒJɨÔ+£T*a½¤Ã(]�ló€(¸ß @˶—�ÀyžHkv«iíYw€fØv§©YÖ®eYZóñã=Ͳ´¬–ÍjZVÓ²M{�Éfµ7¶^öõ„üX®8("   +EPEJs="Qä÷?‚"À»ÿ>{¯Ë³"Û&âv^ô.ºfÞ.¼i ¤(›a™{»!¤(2H£ô +b)y7 °®®^óqÀï—–@îrP‹Åb±Xt%)§ß^Õ€CP½*ðæïUU«¥’^Oç'‹Åb±øbøÇ/<|ësz3ðÁ–ê î¦66B× ´án2eלÃRûû¤L·I±@UŒ± +UŠ!Lâ$Ná” IŒÂTÂh4*Á¨$m@a &S0S�¤`”ƒrwï”$IŠB aÂb¡ˆa b‹%S|G„PŠ’X,ÆY“$•äKA€I¾>€›•7&„RÓl<Ý¢Î}“²ß6cqIŠÃ\©TÒI©fT*F­N+¤„uŒ±NŒ¹  \`Û|»¯eYykWËÊò=­ÕjîíqðÛ°ßÊX.v­]˲¬æãÇMn®=Ð4-Ã)àžqý¹1‡/ +p�ÒAˆ �¼0q"¥Ó ®ë„"—@„– +€ß\_À'd¤l"%‹8¢»!€P:�N+y9�Ò„@ÙŸ)Š¢ÈhóN +àõº%Ðr9à˳¯žòVà““““ãã^BÊ•J_ÿUñ­U€õ2à !^õb¢c:šÎùrУ ¶àßÿ˜i@õõ¾§îß9°±±±qS �Ç×hvXjðÀuå*`ÇI 1ÁÆb)XH¥  Q)“©ŽF% J1¸‹B¾þOŠB)£QIŠÅ¢Þ/mÀ¨$II‹Å q1•‚ŽGc±X*Ut—„A˜ŒÆb’�Å¢0™’b±(_$Ê1LBü!1¹õp¹a6þT«ÝgÔ4ÎŽŽŽâñx<—Ã¥R©R«TjµJ­[¯Õ*à †Q3ŒŠ±šôåêÚmm­ è +€à÷ß¶mûÀÀîî®–Ídîe[­æÞ² +àïôuØö~ÓÀƒ%:{»Ö®¦e<Èf5M{�ÍjY<øQ×ßÌõžý‚[H§„bpD89�°Öô?Š\¥x€ÜÍ>‘4ß â ÍU}:½rA@þ™i€)2Orij‰^áà®W¯/Ô]<ÿê®Àɼ—� ê>÷!„9xEpu#Ðzð†ç¼õÀê8WÏæÇÜè‹áú^€Uýàƒûž¸­ +à@hcãüeüýxâº<ÀQéIƒ±�Ï«´¼MMRÀ�Å‹˜–i'!”R0‹ÅA’¢R*KIQI’b¦„_Ü c„0£RÂXL’ø†/G£¦0„&‹©T±(mü$•bB F%‹©ıXL’b0 +a,%%£Ñ Ÿé H’ôî»zCê 0³ÑxrhÜšÕß8ÃÆcLŠÇ!ÄØ •J¥^«ÕkuV¯ÿŠrÔ+¿b>K0?Ö¯ˆkË÷?å†rFÖZ­f󮨷íý¥Ø{ܱ¬Ý]íÁWð¿ÓÞ,.À�DQyŠx�€ü·# ·;€�( ‰€(" +XÓÿp5Ü„�¸ë—û|V)ä€oå��¹kE@É£t„'PVQ6ùÈ�ŒB›·àb`©ž­,Áó”`ç W½0sê]B€ä…$`î¦ ÇíC$IŠçr¹Úxº˜ŸŸŒ†ÃáÓgëxýf‹>PÕrK ¾�®?‘¿ŒÇ#ñD<W·¶.¿¶>(•ô­­-U½�Ç#\PHñ ƒöÿ®³!‘óe‘ )�D"R<OäT}kKU?ÈéúÖÖÖÖV"‘€—H¥bTêµ:cÝz—ÑZ½^«w{½n—ù|Á[­¶÷jµWU_%øÐiiyMËf3÷´V«ù[oè +ÀæÓ€–•·wÜjÂų«i»Ú�»ÿ Ä£××@y£?aAñ4 Oz‰BD@(B $ +"@k÷?¹ €àÆÿ+Sàp( Äð*Ho;�Â[•« �ޤ9ät$aùgŠ‚�¬,·„{�oìøá"Î×rÇ=(A«ü~B¨Â\îNU€ÜZàÛC&Ý]T0ëÓùñü”/]€Û üÀ­îûÀ�«7d!´Á›ñx<~•)pÍafƒ±J¶ ñïU†1I’‚k·+‚|I¸ Á@0*HB0t·y…  H‚$ƒÜ¡#(Á@P$A�¤`PŠ +0Á` $w÷ ò]áÜØ7 „€÷�’…Q1NBL0&„)5ÍFƒí4˜É“$ ª¸dTj´VcÝn¯[ïÖ»õz·×íõû½ž¯Ð[W!¹à/·5·Ž·«e²Y³oW¶ €ý}Û¶÷2»üË­Çkï"ø&MÓòw!WQ ‰¢à:›x + ´@EÒ¹`ˆ„DÁk ‰‚io+J§¸2°r÷Z�Ãá+r) +’9½€¢(Šœö¤‘ 6ór!@ ¼¢ðâÁ +¢à®U~¸e?ø÷Ë*À‹³=Zåæ(Aµ7Þyç�w¤T¹±¯?Èá[C€›«8§ÂcÒ;‚ HPÅõñbÆýþøÇ?þq· +ðý<ÿ·¶TÕŸxƒ*ÀMøOñ÷ãﻈ𿵗A)¥Œ�ÿà$|JQ BI‚R0VŸðÿML +‚ú~Y‚�@põ%�õ/ ‚þ_ øø¾Õµ?M„`@♂O·Ê Nwvvc,‘H$rúC£R«Uêõn½_ï²n¿×ëõFÝÁ`0ð;¡\a5 È1às |l{дl–‡\ì]P.lÛæOþLóÀ^*­Õ²:¶µgYnæo×O€]-—(À�À/G $ +¢("o�H Oh„ŠD<B!QˆxSO‚�4ðúÓàªÀr8-‚e0,ŠiyéÈ@ZvAü�ùºp7I”åCˆnDð³<ïؼ¤(ŠòÃu¾à—ÀK?æ‹”T«0‘HD$®æáÅF Ûgn®ä üð?s��s¸;uí¸øŠ›‚.soФ~°õ�ª~°uÿÍ«!á&à&ãñx<©TèÅ—Q©ÐGŒ–Ë'yü.I’$À˜páBúYx!ð^—>á¶O %I’ �Fc¦Þæ;XƒUMÓL$ë¥R¥V©u»Ý~¯Ûïõzƒ¾Óï�Π?¬�.àòn°ud=d\ì¹ãÀ–µ€åØû¶Å°ßÌæw-Ë:°µÛU»ù|^ã{Ä´]MÓòw•ÿ‘túBDÑßÏà&ܾF‰O¬Ýw"^·`:rM�7m*i^Lƒp8 \�NG–Á¼ xAÈ -©4ì>ücÞ>\º-‰r4m MOqC$¤q!UlÃý„šépûÌløšK™žGÌ„z±Í7 -À`VgzD’B<±óU¨=¢7çùímãªN|k¢ì(V8üì³Í|æ-݉àÊ@€o¡wyàÂÂõ_e–•þÉâjmÁ³X -� !Aî)¸yîîîôûÍý Q”²rÉ%Ç2ÔRksR"ìì×ýN=©çœ§Î'‡'±FS—¤ÌÁÜ šœ‹8wÜFO/ây³ ¸®õ.Þ¬‚Óë\[ð%t¾ãVqéAö„ƒsa?ðS >H ðñìŠE'tðÃ]Œ ë»Ó�åáý4Ý@jÁ.]éWhwg:F©.ý*"M©óÍl�x…жLÜzO‡«#‘Ô>Ó¾Ç�6‹Ò*UFrÀo§>³Ò÷y仇°ŽîÎÝSRÖ±r]È‚šKe„Ì¢ÐUmi:ìv³>Æ'·¿*d�'ßú8d\BI’C›vˆjßüN‡@™X¶Ì§i–Í+n-Ýùx¡çŠ€ë×nÝqIØÍÖ䌢L��òl„ê…“o~ŠÂØúÀ¯2_øšVÝNËy|}�¬è-qÙÿÂyµëZ ”®xâZòi¡\NÀÍEÂ}tã)ü¦�XvÈõ»¿ø>@þœxÝA:k¤µþ%ê«ôãXhËÔÚþê\E¾l¶V†.ºh|»õɨÛwVò°<Éæ2hvçÍ%£ó)Ç(éå%iï'±èý¬Ô¹Ä�7/ÕÛ£½úè8#Ò`‘ÞË`46èË×FXD�¥œin{)Djºæ�>¿¸‡x2Òä×:æ+œðƒ£æþxMø•âÜu.kïE�ž/€9Ð/Zñ¦æYIA^JdZyWPBd¼ÁÔÔû~Ëór"nË_håíCÜŠí¯ÎcaQ€´ŸÏß™oò.€GO]pt`W·�ŸR“±4þ˜ó%ÑMZü÷¨¿¡0¢®ë¾záÑì‘3ð¨sT®¨]ÏÝ襈]æ_XAß·ê¿ àóçEñ^Î-@øÕu¶‹n}�TTá´úϳ�¡#;Î8ô…ÃÌÝÖØ€:¶GCðÿö’{-´*@ius*=wæV7Åeÿ“Úî�ã9Ùj¡4ôYE \ìÿÇ=¾]˜®uú.ÉzºS7�¡o¦-Ñí0ô$º.‡‡ãònÀ“ƒ-ÒU¢ ¿l)*›“j»M/ñ󋌫°.ê}3'‘¢º$Æ;Ý·ä"@8«V�eP&A†7nñÝì7e}\™•`ðövÓï_pÖwwa[ >6÷ݲ Úu7ÒÈŽ;½Ï²©È%«²Õ·b0k3ëÀ’þ§vaý­¥¼|.0+�bÅÒÜ,D@V�¼õIÝß²Î[ÉiÔZ³S@>œ#a o!sÊѰ۔회Χã?ž ѵ¤›@Ün£¤@° ¢R²P(|­õ{w\ðÑG:K]è»`SV�DFœ_”#N~ÀgóÃ<ãfÚ4ÖAÝL'ÿëí³Ç“ñÉICP'O9]Dóy%„â ]®)‹TÑJ9uÊ•iã„´aUOgÓ²­…w�#ã5\j MÎГÆÍd:®'M=\ÙHÀ�¡P¢¨¼Ùô>aÏø$Ý*$”Ôê�Ùp¹z™$W¾6ÆÉÉÉ=ûµñÛ ©¢“5Ó“z%œ×µ:êˆNxû͸¤•ÔçðrÐYݨvà¼}wGÖ7‡dfØÂ9Ê‘(2œ/÷GE±åé[=;œé3Fï ÖPì|)¯Ø7°Á>^X»›WZë ÞÆõLNþú×dzñÉ,œ�Ç“f6Î8ŠL�bá|Oç§™Ð\)Êd:�‹‡õ`µ³ÁC™>œÈz©*Ú°ú¨œ¥pÞb«'Mêá*Ú7ÍÄà|Q |¦SŒ‰“¤�®»[UÝ5ŠÛŸ�~:îxsýîϬøØ÷�tJ_bìÌH+¤ŒÆ9cÍÐYîQ_$BÊÒí)3ù�ìçqs‚�£9ÒZ`}ê|š¡,§zø¾?®9=™4ßò`KØÔa¿ú¦ÞØhžÑXßOû`ÂÏ�óÄÀe æ·ÏOGÛ£zODÊ+jžŸkìúŽ:ð€j€p†!;Ó™{A¸àžß9ñkŽ�n D²`lœMQJïA¦·b) -[rµO÷'aÄÁCÃ’ïár2U�¦·Ø÷àœŸ)1ÂyXœ4‡“éáþ> à”7$äœskŽN¦Ó�¸’èà‘OôîÑÖ°yÜì #3:¹7NNžý×ãÁiܬ›XtûË�á=w>+›µ"L°î#W°µ|ûJÙ{åÎÝ; 7ŠKýÚµ¥ž‰nŠhge ½àzETÕ ç -—ð<çüp:­©ñ³C -HñSçˆ' -ŸûÃ~ý‚ërNÉäýÏ““Ç¢èää„'9>DäΦŽTâY’©rŒ¾ÐjZ»Uïέkn™²póîÌ�O–zHY”GJ‹#d€þTk‚~àçÚô(�ú†£�fòoí´‘ªšZ¾æñ¨;=HãèÉ÷´l «Ñý}Ôr’víL|ÆÆÆrŸÖñ WvhÄü`eªµ�X pÚ´Üìg—%+dÝÚˆÚÖÕ€":¨è&4:j¶©ïË -]B½•:‚�“­œË( -°±ÇÓ™Œ¿.ÕKHáùä¸;ýfÔ2šÑa¹Ð”'1¬¼k~¾îjk¹;ÜÞNiÕp–ÈU™#Ò”s4¯šœ;J9D—.Ž€>V-ˆ¦ãY=yPfÜ¡Aº¹©šÝ�›¸v“†9U5ypøG`‹Çe¬_ŽÙLfËÇÍeü‚÷fZQçTÞÈËd6åÜw‘÷WV¨~äkµ·?Ý/E -ç>}/-ç<Ú\5ê§Ý¾Š, ‹`Ê£T÷¢iúè€ÐÆeIjk¥_ÕtáÆðõ´˜ë³3ëöúGºÝÐ ²ôÏrßé|^9N×±�–;»®û¦QUŸ÷V;Ë}Ò[¾m+º±\�2($çt;5z«J*Aº]w‰· ü£¬ó3é|§ªeSÇ,l.p(ç FÍìg©`Ï{|Âfþ@Mà¿}ÿütoT¶~ôô‰cÒÏ1C_éBv  qÑD› ‘Nu—Þý�q{0Zä3ൂ‡Ö²Ú>þ7‚yK¢² qŸ ÀWÌu"�¶¶­W9Çô+p±õ8däX¾.rL -IŽ/pÝK»ѸHöeâ�.üè©k \.•š1±U¬m]í~¡¯Þœ¿~•½sÝ -àÈ!€½ÑÆ`ûøÜÅäJ¹R>ÁìB6‘è·}-°ï&ζ}ýrÞ¿ìb€§�Üc²æÁkñ_ï} 4)îcå¿ûîäeú>¹ò’ûjÆáÔ�³^»³à¹p†f÷Ü ËÀGOÑ@Ž} Àƒð¿m¸ù¶¯/ð-€ ·8z×`#¾?B¸tí¢ -Ù]ÄSZ¯ Ad«÷àO¢‘kðì"ýìø}wÃNO‡Ë&9L‡È¦æ±B\2 xK§ñ¨v¶îÛЋŠËû ûÐ7IèëÇÁšéÙÖQs‰Îm{?âp¦�N‘è‘�¶ð;Øè.ÓË�qCïG\Ç@�à|¨w"Iá¾ytQRÝ^Q,ZH…´]�Nä\áÎÕ;øUìÈÀ°ÛOU¨ëYôMPÄ¢®ØêPŽvëY¹§”í­÷?ï}Ž -°3)w"\²ŽHŽ D¡Û|~{{ùöm®a n,ÜøÕµ�?¾qãÆ¯n|,]ûøW¥aÞ¸�Ú3»Ôùªÿa� ,`˜k‰9¿( -DåÂK9þÍo¼`Ì~OÖW:˫֤á)�ñ:DRþ¦ƒLêš$ß°›gJ…ЦG¦B¨þo–oì9î\Ëþ;úøW7Š=´´ÜYÊ!òñÆÇ TÇB9»M5Q[¿¹Áóîðк¶–T¢ßr;ç|%�Ôš’ó~yYÎái•r¦îW¬–¶ê.š¡M¶ÛÝ"׎D„÷‘ÈQðèóó·ï_Ÿ?:îù6ÀãÓ'eàK�B €?±¥  _¢xÈQtà´j(à§RÁ5—èAoÞ¨!ä¦_b+â%¡ÚUûE§@�x“™ûè‘Ccþ€²a.-’_d-cŸ_GâS …¾“UrÕÖñßXÞ\¡8äÍ1l’y‚ñ1‘R7þ»ê.H.ò¦/_¹OØùô¹CæGMsp0ÜÞØ>~IrÎ0eÒ0ýïåïÍÜýü·‰éØñ·}`…£œb„?qO@+>¯èºß¼Êø}FñåB>äNÕÈÇXÎó¯Šb Cû�Œ£ Á�£ èP£8éP€=5³çOŸ»!áQs䀽ш¾’ €hÓŸ|"þó·hŸkÿìW„‹�4­sÕNE¸ XVÒ�ièå~:‡+ÿÒÝâw…pvQ¿¼Ž\$ƒµ?Rªÿ›O·~_ÚÈÛJEä\<@H×"JKr†ê"Q•‹íIQ~«p)9qEá/<™yh®¦ûñk�a$]T–W|Éùœ½’×rgë7vÑ+W9Ú�rù[ÅT€nü‹ɺ|»ÃG)²xã‚EÉ‘°#~Z1ZP~yQ�£|Q¢E4PÉsá Ïá÷ÿ#á\Þ û…�¡œ—zã T)´µ x™·òk)E¦™´¥­ù4÷R=…(I°QväïQú?®}ìFÀŠÉ"-–rç¶›þ»¦)øaä+­|źàò-ŒB ÝgÎ+Jÿ9W†¾²=ì/ºm±,Æj¯‹–Pª¢(ÁÁŒ²rlnû¿Ù*~B^¶ÔRs|¶þð/ýö® -�ù™y¾¶´R‰CfÐÖ­ýX’s”RÂmcÃ÷ûŸ{yPîåI\á0&gŸiò çjX¶0{‰�-ÍÍA9þ¦�ÖF&&f¬–Z@æhøÛåQÓL{$Ñëq€hXT¡“™â¡¶Mô£k ‹Ÿa�Ëãö¼/:‰<µà9RaÕÂu´mÎy�Ùu­33dj�§½¡F(và<§ÃÑoºê±á|pÉû�Èd¨ÉѧËÃô>NyèV•$7ž¨„‘…_^" Ø‚/¯~©ü“›ohøK·n£¾vÐ[±îyË7Ð,;ôUÊü×N¢vø�ªD­Yéè(Rç*|-/ËyÚƒÙÎy/õ mýÛdk~Ù¦Z(ü¹ý­�-ÚÏÏü‹ÞGBF±‹ÅW�òÍù£=ôÿƒÆIOTâ#Ök,~„ýÄô(‰8¥OÀouñ�»8j@PZ£˜3uòNVC’­*Ä�?¼qÊwR¦Äð7À2× ¨�3‰òÉŠ£m°v"šBÖ8ßßÔ ä PS¦BDó0„Ì&ÅéG·‚³và"E.,é—:°Ðù<}rŠ�7çnoTÇÏKâj*$eÉZ®B—øO[à€Ñã�ºОƒ�ާºœYë<»0ë¯÷õCe%@ÑI|ÖWùôãñ®*êZ.@Å÷Ÿ¤¸ˆNñêü9‡àµK<ž?ñ� ŠrÔŒF(%Ã� n/Þþç"¦o£Ì$Ô³ æüB¸Øë�‰ˆ�tQÚ²]CY@8…ÚEC¿ÚE·ÛŽØ�”F(”¦¾…\k…\™[î!•‰ý„;\�”„øF@npN«õÁ.„+ÂRwžsÎ!Wa�¿U”íKΗ—©†"\ìe-çØOm2tQ„n¹¡˜+Daèuuœo]rÎu˜ õ¶�\¾æ¬HÄ+m¢ÐjgñãÅÎ"B±d¶:À�k —:�E¹r;pu¢»çCê¼. ‰\@”0ŧžûÿòÿXkÏù’H-A¾r¤pn�†$9€sÏ—‡rMaôDúŒDQþ8Ãòß »7:Cê¹Õ�-¿ ü]Ó^l›”ÒRè�ÄìW~óß kâüúÓÉ´i¦üA³YÝŒº{{Îl¬Ç3_O¥ÇC—x½óõx2�}÷⤼¼iä�j}]L‰Vñ_lX5cÓáR�üÁœþjÍl­ ëgD*ƒ!#LŸ¨lª“³¿Èùt2ýšjš}×dZ�tÑnÞK-ø¼‡‚´¢.‡ñ÷ß?T ¶÷öŽÁ…€ç¨eÜàþ…DáEG½ñ@M£šBàÎ1öùyK'p*tGGh/ºà^tðcću -~¼Pô‡‚Ó* nüƒê`úœ µÁm'V™¢ö¼q¢X@?ÊÌ�ß;m `¯>RîdÔÜ ´…,;,®{ïr_Ðç²ZQø÷Kåludþ•ûôh8;à$€Ñ ?::mLS·TÄ6¹üIßÛGZû?‡ èØ«O�O� xzêK˜¨w�¯^¾qûÞvìþ-J€°þÖ -àÈCQÝ -Ι‡pójâ”â¾=íÛÔå\aè+ž^þñÿ»˜ñøÈ-Ž2„òj±·—?á³€n[:uˆF]!KlaÛÛˆÊÙìŒö[�À”òº(bñ`–.J[eÞÒ”.ÚéPÖ1´5::²Õ#gN¦ÓvÑñÔ±±¯'/^d,]zÐ6t$Æ„^:Q.NOè/íV¸LN�ëE,ö>Ý|:ûëÛÇ„ËÑy!\‹B²pÐ -î<9›6ª<ˆÅa=¢ÏhvѺ¨ýŒYVõQá¼í¢ÍþÐü 9¦K6�ž½ðÝùSWl}Ý<þîrjîç0p(wBª®Ö¾³„ŽìÈÞ.éïf�Õ=N�.HÙ¥�%_‰^éF¿sWaë*Ád‘k?ZèUÍqSõ«¾¢ÇõƒÑÆÌ—£ÙDႉpy|ö¿-ý^áü à‰p™N‡óÉ¡ß -Í9?”ó‚E‡ÔÀ7#ê|<Ý�›³é×Λà†C -ö“o¿;›ÔÄ":8Ü'Ø_[ZøèúÒÍw�w÷B'GÕµ›®¡îô{*„6öÓ‡-„ÉCg¦8ƒ�ÆQu‡Ó3gS9iÔ$§I8GÂ&Dzö¸ZVsä9̉f‘Ù’Èö@b®•o-o.!í‡Âh(£¹…¸+ùªã®8·Ä™€Î�TPÈ™¼áƒ'MxÙálkÓY(ÜÈŒ¡?ðÚûc§ÛÃu×N‰úGÀíEµŠàâv5¹ðG[¢#ŠF-çh*e‡}8×öæt{cyK�e7ÓZZÊ<ËPö™[é—Ù¸›T›ÓÙù¿·é–¹¾7ßÍœ rÇÝ€Àl国MXJí¾Nƒ­¿³z©s®Í9§±ŽÿH<ûk�!û0uRÊžÜp~à°wn¡;ûsYé�~tÎÊßòl•§Î³ò%#X»ÍI°Zs›ƒ=¯ÌŽuv«MÝ™ -©cîîTëK×Õîjõ»§»¹ÍŸË �O×ýÚïqîüVHý Ê^‚0(»PŸ�>›+œ«eÊùîWarz„ Éi3ìfü¤¹¤s9æ™ÖÒ¾ŸD^ÛNú~ -ôü m�?´YÏ�·‡{ÛnO“iXˆ.d^ ƒ �ü÷´µ¬8góÇø–r¡@·°ýcæ:ÔÎa¸LpÐAµâuß €¸ØýãßÞ”1ýKk�ôÀüÁ‘!8’'¯'d)ˆZ†„L=!ó�P~Êð>SöŠ÷ƒ%6i‘¬nŠR>ÞçLüwŽ=ë$@]�žœ -›š~§/UI(¬ª‚!9ódN¶íg@�ÕULÜAp-àƒc‡•ý€2ðê9€í›´âQ9ñºkà)V¾§\Ï�ô}¶ø/»$°ÈÁ ñß 8ÅÐ׺øÿéù“'zÿ�Žù;Ú;1â0GÕR0Ò–þyqÑM?Òœ/¨b‹sá2|±Í×p�Õ\£µo,oÌ…Ké¢E†B÷Ûv¾ßݘÏmÕjà -ºr1Sv`IHYí4@{Á~}´Ñ¿ÿ]¤hºqè)]Äbƒp)\ÊOX¾‹r�{š´ÂÅyAf·ÓrŠNžÉñ ‹TS_tÑÆ™ñÚû¥‹B2˜>J&ðiäW<ûºž ;Õw“¬öÊ^抟],¤ˆi&›K7–ò $½�ÒÒ-÷ZãÀùHÙÈ1v_V¯œ§h—îð~Òýj.ÒËû ªQæbrZ­”�ý}„‹9ç\¼ä|?7=,øX‚ÖÓê÷ÕÙ,‚h^¨}ŒÔ‰†“æäÙt°¼FÆ©¡aoªL__¸5ßßÀi°e*¬œ+%«�~ÇAŒü»¶‹ÖôKa>5î$oJÞœ‰úYªÇ5+ž't2µîÇÿ6O¶³OÍÆFj4>�íM÷Hý–vmèC†\Ãn÷ug¾Æ©$æ˜Ê&s§CJþ …¾ögYÀºSªï_¿êx%LyìVLÞ ë¨þð!H�öAI¬{šÜáã` êÒL«”® ÎÄ% -Rv 2?í »Û^º‘g™•O-³õ¹½WÊþ-×›õŽèçî¡»wÝ¥ÂYðy‹%dã¤e.ÜÝt‰ˆ³@wк@á`XõÅr-7Æãÿõ_)á¿ýûxŠêB»�óÕwf‚e»0 ñë"ºþZß Ã/2‡±:@u‘sþ -ß…ìPiêý®Uç‹1Åy)½ÌÓ¬Ê%( ½WÅÎnu/X_»~«t·¼Ûçno}s<½·¹i»�«UšË½ta+‰øŒ]¨]Ÿ+aLé®ç¨Ôùƒ�Ò…?9àoU<¬‡sž•7\ñ{G©¢È�É´eZËî¿îîóg H%·mæ=`{?‰ÚÄü{’  ª½½Ž£œ;@àµP«p"DJÅ{@*œ ˜:õM« l&p]ÃÛ׳¯²P0Ú¹wÚà U0¼Øè?üð#)‡³ RÕøá�>þød¦�j!‘„™f`r×›ÐOïæ°Í Œ’J‰ׂeð‡ó8\ ƪl쮊™ÏŸ¿ÒðàÁ͵·}üœŒŒ -6ë«hëè’ZûŽÿ¨e`´]¸ùÒ‘Cº|-¯ïDÇö­~7 (¿»oÌåØÕ3ò� å4”â·Q-à†Á2# Úþñ_<Áø�÷à:p0ãÀ€�Ú{ÐtðÿÏ¥5_Ò;Â%¾àV{×4ò3.m¯*ÒËáÊü”vÛí—.*úG,Ú†®PTV· ¼|!W¾ÎMˆÎ�¢¼1>‰p±÷*Ù�}xò�Â¥ÁΘìö»W„ ßÀ»€… =¹ä\¡Þlt¶î#D*ú™Fj@D¡»Âe'œ6[¡-ëþ]tQ¿”ˆÜŠÍ±ÃÉ -ÀŒË¢ý kÛ„ýj<ñwgs—«K7x -¾rí“¥ÛÊ –�Gebòµ…[­°�Â> V}9XÔrÞγ¼.аcåîV -—–óˆ³Â¹µk5ÎÙ·´áÜ�¸a¿z™D�$U=æÀ4°°xîº% u~P_20:ÀÍì E¸SF<®¬eþPú0À¾ðèn°y)ò´êTXÍ_Ó9ói…÷£ Éø mf¸¼QÛ°7z¶BÕ&�ÂïU¶§s½ãy Ú¬êßkßÓIޤsu® `�’ÙaíJü�¸R½ù¶¾`ÒŸ`”ëþÊM(÷ WÐ6ßô‡Sø¨l>>(«{òï'ã¯Q\þüoãIå†\r¥î"ëÙ2É ¢üä;d{ðC�‡è±¥aE‘ãö@\¤—•õìYêû‡ÑÖÀÿ5·¸&ª -ä¾½’æyýfo@ ‡O7ØŸöûÖ¬f—õaìòX&3‹ýG7 -Øí®V¾¬Pì/¶2ŒZ”í,gÍy«½[ÿ!$æ°ì ë$�«|§8�ûp“q[ç6sˆ\©º¶«¶W]››¶ù}¶;/8ç?;ü·”½µõÍÝ=5ÚúnµÚÙ¨ª¸Ù¹xÊrÞßÁëïÒ/7ïœh`á~gØéËy䈊‡lsä�×vêýÃaW�Œj5ß2¼OÕ¥½|ý¯vâëg©Hþ÷�'FíwoÏ�1„ö4EÁ=ÑQ OŠ_Üeø\pj¿xJäxÛ¹hr1¬Þ@¾¸�Ÿ·n·cø¶b/_™“WÜþñ �C¹~Aæ¯�§$�ö¼Ål~‹wÁ…~€7òJB°Ç=YuÀVuqW@· &dœâ¶_TA‰RT†7^¡àP_•}€ž¿|ª }züà�CRÛGÏ š#™˜õQèoß·ö Uð÷'¯ÚîííÕG¦Ç�œ -xê«ùu¼|òü9™ùÿæµyÚó~Ôüõ˧Ӿ܇#^žóíƒóì­{ÌGÉyw•� -À¹k= #78:8‚zûQRܳ͑ÚÛ´îÅŶr©9�ò‹´h΋;ZÚV¸4õýÒwgSH3/‡.Úßj»è¾o*p”†™ ‰ª�·ó\äLi;ž¶þô°ãéóöÉ3ºÉ¡ÒÆ7f»˜@áRs®æ‚R˜Æº‹�Wà?4¼áRŒd ,».AÁî>zaC'|4 òÎçŒs™cq3b…(Qå1=á|ÿÙvÇÅ$)î︩ïŽ.n؆°¾tci�§ Æ‘H>Ê£¼Š<6uä ôù† -Æf•Ýjd”Ý“†É}Î9´�­8c~ \ÔGŠ„‘á (‚mj]Ö •k„¢ˆ èV¼Ø¥Î÷Ç`–kòm¢cE»OÝF�Pt€~ëÀ’R'@~Êu·Ós÷£þZÙ`8úÿƒ`ÅÛ*`•Ú�ÕÝ걬ÝÅR0ýûûlþ¨*éöm_ÉNKºƒ.4Ýü†hãÛÛÛ\ÜV)Lûhæg=E”Ç­•‡ÍE§ zY�A^BÜø£Y§Ö=ʉµl¢ìúpx†»ãéÆö iF·àžéì�—šî@C½NK.-]ôÏ–¸œÃo8vŒ (³_Ò–‡'æ•Æi;™%ËXÕ»N5µúÀ^ øÿ÷ëë÷„}÷ÿ9D¸³t+}´pwöE|_*5 #&MNS?(-´}×�Œÿ]ÎW»Ûe ÈÜ9±]Í9ÏP°Ô4çþð_?«Éù€iìºÃí­Ö­Ù4Ó-ç-�{éxmÕ€â³/­ÃíÕ|.PUÝëÝúhIûfñWGo­‡zNŸ% ÊØnÕéô÷šûDÀÅ@öŒ"@yærGÊî…H™•¾¼Ê¹ÌÑ1óœí¨VÜ‚mó¢’äŇâȹÐUÿXF�(,'Ôû¨ŸLÂ^ ŽÂ9'(£ Ò¾¢.¯¨/k -ô€TT2ß ¼çÿG´à±Ö³‡œ´hB ¥b/'‚ì-þK®ÞcÁA�qYã -�Òì'�\á&6/°œ7¼Íb�¢*HÞ‹¤—«¥”ù-©Ïâ+€ÿè0�~cšàåÇ<²TgÄZêáÕ«ó×�ÐçOO=¨�¸}zîG¼FvØÃ .©Œÿü×Ê7øO+ ©s7_8m|+À£¼†ÁÝùÁç Ê…ñÜW3U ~à?WÞž{áÚï×o^º3Ðù› ÿsÌ] $ÿÄWý§šÿŽ}­ÑžÃø}§¯¢£´@&l·m¸¥/æÂÅmÅ$AV±èªî‹.ºl�²mÓÞ©â3O‹MÝŸ4¾¢¦Š!jC÷V¶]ÓlòÇsŒ3²é'í(J¥þè Ç¥›î˜víº;ÞZÌhéÝÎg®‚i©h#„|ð߇*òÄ/*'XÖtëïÆõ¿Æ^Lá(—Ø@‡“‡œú2ž‹‰Y>�·æmê·mÚ|A>¸Ì]ˆ9vGeªAÛ^¨ÐòKíÔOj7òˆ|Í›£ÍßRk*«í%ó%çÑ–g[ÕcÏÈ7mÝg›áthòÇÇRé5zyK²Ù¤Ú ÏÕ–ÆÎIY8Eߥ¹Œ–+4A263QÞÉ"°gc´ÎêýfµÿeôT}UƒÁ½uð³Z__ÓpGgÀúº -À-µSçµ[½{¶ -õOšÙÉpcFÒûúо‚ó¢ð„ññ'(Û]�Vò&YÁ_ örh5Û9Ã?�“sç_¨  wF‘.&e;¯Ü"¤Ô,¶³Ècáø+Ï­¸€|=%øî¿ÂuN£ç@äW;¡À‰kê×Qn¶wûËdо¹Má�„tnS»ñ蠷ΰË×çJ�¥tMšMÃfe8�sŠf"ç£ÙåÌ› 5g¾�®Ë£ß»û³¹ž8™ü¹È8nGËüj¡çXp_ ËñÛ'§{ÎHCp,Ú%b/Ï_gÀ¿ª â„ﺀí39w¢€· - ÊñhÃGXBN×w‚Ñ‚œ\j‘8÷¥ãü¾1Ñ„AÃâß�ªcby@ßÕ‚0KE—à'3ò<&†»Ëá˜+)1’¤#þü¨²Ñγ#�ú†ÞÍ�äuÿ|÷8÷}€ÓãÆ!€��í#·öŸ²�;Ið÷iÿG ‹®KK®Yí8?t4ÚÄ -?>~2uFT€ÓìÃ�µäúêÍëóLÈ(QHÄøœd~ Ššß¾ñíMí=ž:€j\ñ[«V›""Nî!ZµÔ“½E`wó‹ÍÞÒ ‰_§¹H'ºXõ¦kSg@ÄL)A¾›b]D̆ó8Oþè-‡rþ].þµÄÂeÎ9r1•nq‹Dg"Ð}Óz«A¢ÇòÜÄ-hùL&bÃí^³€ÐÀMg-B(2’ŠÍgKN Œípi㌦S¬ë!žša¿~Q¹�Ÿƒ ÔI -~"â-ç�¬òc‹ðõ´�M¾Êk¤ ¨’†~é<’ÁpXotG ÔLÜÖºqB„UlêÐxº¿ºí±§Þ¬õjÞÔi.Ehy“Òb„#5€é°Bu €ŸŠÿ|;FwëQ–e9ZÉr×2 §êæ¥�pö¥çØÆh Í0}4Lý\¦¾ - jx_Åðåæ=}ÿ›Úþ¤à¯Uëkh˜Åë÷îÅ ��*¯ûÂ'=©s Š’>|¬“¬Ê>“´}pî¥UÉä-ý�ß²�¤l—šÎ©aøCñæyÔÃÎpVTÕ¦™ì�­ô¶þ¬%Ål£ß:¯Ë¨Lîe'ÎЭs¨­co[­°JØ{kK ·>º†îZ`W$•RsrB©ÚKºÿw@ðß…µ˜£Qµwp�÷új ¼™5@ü�€Àà¸3°¤Ëß`ë-'/½Ïszõ:Ó9ö½~žM°úu[¨¼<núàÿSt˜#Ñ¿98¨²€¬×ëÜiY¼ôüd -౨ œûrFÝW,*\,ãñ¿¹;=—>Zzé¢ÍtcÃ6¯«(}p÷q‰DCÿ÷‰»“*‘hçªòR�Q�«gÂ%½ -X)ZŠ]4ŽX¬º+b1?ŽèÒ/8�Ü)œ•ðn#>p`î_m&ˆJŒGu˜�œï�¿Õºà°dm•óË. -ç²®8)6LÖ/�@?èN¦‰ iTäB¸ììŽõtcM”=ס› yû*v´J€s\�c#G‡CE*ÂùTá ]u˜ñ³ÂÅÁ˜’}Ëy¦“C“?·X¤ÌÖ3jD¡�@™]=­‡Íã¯Sl©ç•îŒyÌèR­½�ÍÞ`M)¥1™ÉÒwÊ.r°ŽLý¼×ZªU7ÝáéƒÙƒ)*=Í£©»õ‹òÈò]EC…þ8á1�ò>~7S¶¥ÀWÚ9ÔÎ\iÕÅ qß -´íluk-5­IK%Ù¶Í·�Ï{¿«�ª¶A„‰�j?U­4·Ú9¤’Ó ü„ó¯j'sŽ÷·ª³9ºÅ”Mˆ˜‘$1Ù­šQ§ß6ô¼ð’óbô ¢åŠœÀÀƒíÑ`¹>+(Ê£#a3óYëÞqH ž”!ýT‰.Úcñ¯ßÓp÷îÚú¦ -ÀÚÝ;.˜[¸~ý£k·îÞÓÕoZb2Î*YV (UÂ}²ü·ñc3Œ !r^Žd7Œ£‘— žò)ÊÂéÒv·É„D¬vŽSÇØÑ<îñÔ9^ˆp�¾ÒÿV+QRéÔ¹­^ÙÂ¿Š•úlº¢ôÖ85®;ú€*@^ŽH9Æúû˃ݨ¸úµâh)¯ù”6~·¡“ÎB•æâ"ÝÎ0ÝÍíK)9Αo¸†‰ñ‰Cœ—a ìÛŠó&þlkqgË4kï½—D´÷’>j½òÀ8§'ü͋ӽ! -À±‹=}ä®´ÏcõÆÉŒ’ðúµ ÈŸ¦¸W “¸�[¾´é=CÅ@ÌlÇá š¶£ûþâË©q4³3ï±Þ‰BJ1ð=ñßf7ç¡ðŸ ÙáWO�0^\î4 û_îI-¢¬ -”yÿà Ì$U~£È¨5èå ”1·EÝXØe2½oÐq#_žëÖ¹ƒíÓçha¸ÔL*÷]ºÿç{5â»ÓYío ··«ìp`Å7Ǩ�NŸ>Qý³�µïÒw ~{_]$¨ï™jIkì‡Áø ¼ò…ÆtÉŸSÿùu!ÀùÓ§�°þÝvà4ûÿ•€ÛÃ�Ìÿïô–ÞÕÒšÿ޲ÜÚ¾.N¢kåâpydC'�V06˜íÞ†Ng¥ÓN&ý Un±îG_EF¬±ž±Ÿí¢ÿÞŠÅ4t{„�|_�.NF¸¤D¸”„5œŠpQòö;yƒ›ü‰ýÃ{­0™ÏU€Ýr¡pn÷׺XNÕñº(§­%� ,îŶ‹Æ¼)á|*ãü·"Ðç]4‚O­Á’”°³ª�Øþ*Ò¬ÿ×¶Œ�¬Ý\½ÑÛÿËž ‘µÿCa•¨íKÈ"^`RÌtúãØtjÜïVÿôIDAT*•bq^çr(çUç’sEŸ‡( -­p ç,£¶²ÍÝ"Yký,»õÃÑðÕ*7,™)@+Z43PšM0´HAÄ£ó©�Èægµõè!0LÌ=7Býoеpð d[(¼Ãk=~�€É™íýBã¯À ÏuZ-gV¤3è¶áê ¾µàèÞ­P¬Ñö¸ Ëp4ìNNšæß&'™PWj¬iÜq8'ªM�í’gPÖ§ì=@kîÏÿñžý¯§ÒÃi˜K•z%lVoU�ßá¼$ÛNŠ¥�N} .)Šý2žöžÍÔÈ Éøü˜çdSGa¬'ÿæ„™“q�LH=7¯]sV­Ö9€Î\£ØQ…þGµöÕÎf½y¯§óƒݳM;ºKŸ¼ÐË!½&QºB”ce€DD*ž¤’%zÒœó}Kòp¸ª&`#‰iTDÃîø$­åäñÿyÌo×�÷^,ÞKb¿¸ –¿yþhÏEiǾÎ%⎟kXb¤ƒ5.=Sg/¡Äô8“òŠƒ}î½çg|ý]ƒ¾^¹ áÿM1ê³P{Óôæáœ‹æ“–î]ø’GÞðÍÀ¼ãqà?L%¼™‚ä*ð��ä@6L¾¨ 3Ek“+e*_¦ðçNŠo@>AU÷GJ±¢OÝ<·Î€§Þ' ¸¶’`Á³«TðUÿz§Ó‹•­ ÏžÀÛ{{Àpst|\€Ó'O瀳œÁW€êÄs=À/Ú;Bðê5OêuÞõÏÓÍ‚'+p#» -¾tmJËùN}ý¿€¸šr~°7ÚUC§n‰üú'ÔUZ  4åKÚh¶¤[*u¤4pº(Xæï¨SO… ½@ÅxR^fQºèøO¾-׆®X,Š®m==Ô.úìñŸÿ8iÇS‹Ð£³+“^3}�p)ÒåÄyAýUÝÐP¨¿.e†±¤¬¼à¼ý­ºÛtQàð!Þ -—Ë.J>û³AWÕE>Jå‡ÿ"\&þË•.šH…§ÖsNôªÛ´Ëó Ì,‚ô-êÀª¸Wun÷Ü+W»B% Œ|¼píWüri> Pæçü£‡af„#h]‘=ffS$[øx\­ÔxHŽK¥Ëy„ËäÏsá¢T%´Ÿ åd|V ›‡F15¿[ÚÿÚpÍîff–»„uÝûÝZoéVìÿkQ––~í ä{�»¶|(SËÕo ™ÿQxOÙi.ãéC=Óô#ä/XŸ·ªk¸¼=ãžHd­~á®bÀÍaÔ©"EwtÔÉòïÔÕFw2£ò€¢Ò̃¢dœ6kû™þieÛJWÁ4s‚ñÈwwO&''}vvr2~öŒlÙ¢ÐUΉ4žÖýíikQ®¯p®ª7žì•¾ª‹\§™«¸¸‰œš‹z9·ô7d²Yœ;ü´žØCÕ–É -žÈÙÛó¬šNßùíJ‚ÀÙ:�ËÿÞ.j&ñ¿fJ óG]»Ù»GzLJõÖ}4�#%nù†Ây]5U¿Ÿ·~ê°æ«ÒC¡ö�áÖ=’ߺú -Öv`%½¢�õ)èžBh§4û³­~-žª¡›L¨÷ä="ÏÎO'þk©ópE*ô}íGmõu€·âÿ¿yëV™PÆ«67¿úÊçGƒXíÔÕ=ÃÕVÁ™¹-¿»ªP–"l|ð6ˆª;œ<¤Îu—%c¾0�dòÒIÕ­¿1¬\Ɖ»;~69ùîÙ³Ç'g“ÿ:qxÔð6’÷S <ÿ˜\Õ؉rB:ˆõæù)’ÒEé(.xŠÍ)Ø”€×¯ƒ˜ÚÄ‚dAPÇÜ�O_Þ÷ƒ«þ=FÐ Î5Ñ8nâx,�‚¹©`0—u 5M@Ñ<ŠèþÆTÕU‚íí$ÿ„ôÛë¡ä/‚g!¾IäÜOÔÑÊ*AOrK¶aI€#¹aÄòm2–Õ4¨Ncým_¿i7Ñq �úª�Ñѹ·*‰låê;x÷/ø/¼jÿwÜ–“Öân�á>€½½#ä«“tyîÅ ߥà9g--Ò¿uXz•½áþÛ7/Q°ö‰è¿ z -LËöóó'èwYÂÀðŸõh¾† -—îÔÎhÛòœÔüu´MûªpQ,ÒEGJS-¡ÈF­-c�7Ø4t€Œ­Û¼‰k'l»è={vròç“¿ŠF OϤ(581 ÊÄpcFÏh…K‘½…ŠpA,öW³+Ѧ}P†µŠ"]�äÞ@43Ö¸�ÞIöû°¹ÝE¸Îížf<.…s‡,*)Ȳ!ZÎ.'ÿ1ù¯à¨Q¤ˆDË€,ÚÙ7ÃÕxË~MPiç+ á"@NÖ«Áêâ ¢šAK7йãLã–®e€ë·–Z!3Ç& þagCþϾ‰�LeëR¸èu©Ïö:uçA ?„úЧ†pù«Âåñ.m¥[ö8šE% ý¾9±Züo ^ƒ€p1XngqgTÞ»0^F2Xª8ô_ˆ,÷Ãì=û¡ôaC2TDd¸eíeaâÚœy(K6Ë`ô ¸qŽœÍ%¥ð¬ EËòíVŒb™6MKïNÿ×äßO&Q¹l´¥ñ•ˆ$õÇ`�R]HsšªjןMþmbw©¨rŒÍv^ñÔùü°Þu‡ßΣ['Ó�eËvLÇøÛGŸÕ®®�ÊヂåùÏøÛ‰j=õ€ÂøÅKâü‰`?Câ~ëØíº×¿??þÃ`{4r €çO\Æœ;ðoº -@ì[u R@”Ôñt.–|œõ?¢4¸Í¼��ÿÙÊptp°wPýy]|âÿê•Q€¶ÏIåÿáòNM˦‹"\Njå%ÝÞ–.ŠÊ^×3W@¥…·Dó&¿UÕœL¾û�wz$Ë\¼T[ýŸtÈ›ùìO@r½€ZðçœÅ²Òè*çÕ:w眛µr½Øä 9‘$…öbk¥‹Ú_] K¥{*Í!¤þIóïsáòŸ˜ÒmœM)‚Á8vÐOÌ~³º·‰`Ð7YŠ¡±µ‹TXïÝÿ3`±Ý ‘䢺k \/îÒ)&ÉWÝÁÉä�ÿ!D›œáÒ‚ W_T�Z_Fá:œ;1ÕEu‡’žŒÿϳŸbQ{`šÕïë«•Nåž² ­ Vܯ1ÆB]MÎënõדgŽ\´Ñ"E¾ð�wbž9 å¼Td8×$áŒÚÝ9ùó³Ç}L/5þÏP‹;ï!@ìëÞ8Ç súÍËãÑÆÐÑèãS_K÷Dóñ%øÿêÍ+Šˆšñ€ÛkÔ!8ð)tÒÀç•0´%¯Ü×,æø &9:Ùf3�`± Æ//†òÿ#*æÉÿ8Ï%�ÄsO]éDÏý€o2°!r1!Dw�TDZúø×`ªò—XyX0Šk-ATÒ댷¿ÕÐ>}‚!}üèô¨ñu€ÃícwØ—]qÿo²ý÷€:"�É×j´öÿª*Àˆê›�FŽ4÷å==:Eˆ à9ÈïLþs-}çþÉ„Ö~œ«œ¡ hòŸŸ»Þÿåà•ª€¦?êÃ+Ô‡-ÿ'O2·óéÓG§§j/®þ{p0:ØË®üºýmÂ6ç^ç×s  »sj…KAѫ¥tÑ4½z:êNÞþÇ_‘%m-ÛÚÎé¡ûâÕ´¿¥”¤—.JH•‡Ùä±DEÑãÉ=þ¯“Ã4ô¶›”NÚèO¹l #ÒåM‚SuW±{±èŠ6þeÛa6øä}§CO¢¤+ÒEûõ�<+Vpéb^‡sOÔÑwÏ2 ¹].SÇR{»»³É_ÿò�]”Ž\bÛŸ=à»v݈p‡?¥‰# $`)bÜ(\–;> µ1 ‹¥…On_¼%»\xȸ\ô«º?üÏ“ÇeiwÉOÖZoÂyµR#’¹ Ü+\¾‚DãÉÃgÏž=žÎk:ûPˆJ˜ÑýÑl«à¿`E0¾r^rAhóNÔÉA÷ì¿&³¢.æñꩃ—d–'<íö%MèÍ{ƒ{™ôïìŽÍÚU>Ñ¥[znÞÉrÏkh7ï®RœôÙjß'?S+ÙÎÏÁtÔï7µ�°Ârm¥üzò¸, $~¹A¨õ%7Û@ݾI?ÿïd « tønt€ÁÂr៣Ù^höÌ‹AÔÍ‹ÞO³Qÿuîÿ·¦µ�¸¬xAÊÆYÕ?@²•bÑ­ÃSU7gå2œŸPãÉÙ4MÞO"×{I‹”ʨ>ˆ ê½y®0Ú;8Òýœ�ÏŸ‹9UCøÔó,¾Bç[7Ú/0 p Û�O¿@i�6[÷Å$ÎO–ï�ŒfÜÕà]•ÓT(NRûá´ˆK À,ÊZ?íýàøÛ,ðDnÔÔ> «¢¡Û¡õ02èì„…ø*¢Ž84 ’¼N�÷œêåP °²Ô•^»Ÿ¤1 ²º�ÞôÁÞh£:}š©¦"è7y—®Œÿû?.€Þªö´ -@­ -𠃧§O²P_ƒ®|Œ_Œ༾WY‰€b†}Ÿ±€,õs±À�N@ ×/_>ù’§èΪrìÎ?&û„¬ÿLô €{úÿËÀ>€N;`É!­+y%Õvv瀮vQ}4Q;öþ´éÎþëÏØ¢6ðñ~‘Š¥¡G¹EÒ̶ì¢vÙô 9žlÃ]Ë“þ¥?È‚R 8Š>rûÅÙ[ûû¾+@€$ÆÍdÖÔ�ú�¯ý�3—óm“SGñÿÓçÔLô¢P«ÎIÓñ×Vë²Òý6_ïAf6ë›Ç�“`ç¹—`Á+èÂÝßÔ¾¨"�܃G¬Á~<pZâÊyYjH)]ˆÎºíú89·Å;ç6eÛ�—Z¢œ$ðµkÐ7¦ÝÇ/Ÿµù• -ƒ­RŒ]©ªi¿ÚHA´{ëü;pà\@ ïŽ[gqª�YºyKk™ÿM_m±º:µÚÒML¿`tá|ß�»Qãá¼ØûÑaæuº¬ó½:;û[g$2�ö§/Gjëœp4>$ùý@<}´F‹Ï$XN4%7ÿ¶"Ch^nûá…T�f��«øö³w¥%¢Ì*¬íBøØv¨Øu7ZR§Upêó˜šI`ÿH¾ãét«~öØÝ4¡9çNæÌ~܇0¶3­ºõÙ¤4ŽbŠ&šŒ–ÈŒËnHï£Wï!ÁW° î‚{è/í ¶÷2ð´,^ÜKNÔºEÚˆ£@Uá¸@rߌ/S4ýÍBÈv @7B!ŠÒN#ÌÀ¾Ü¨D)0Æ�ß»@—€Y¨´Z†þð6³ ‹é_Bó[˜Q)¹d„|H-ãY´è¥â�€ªÃ^*çb¹‘%õ%¾­ *ä%Ø«;];}°zŸž›.‘ÔYþ•)ÿïüÙ˜ÄçÿÓ\V{¾iÓWRö¨FÕÁAíœ|‡`xê»QÄžœ£ø -½üo^f8Àß²Iôæ¥ ü^=Ïp?çª -/}ÝŸOÑXý�äøÉ“ç¨-§þ¹üïÈE õž›žlôÊÌ¿KÀgœë±°=¿KtWK:í±¸ßØ‘h¤ @yò°;{6{œ6^š-M8]ÔfL­�Ñ~}æìâr4 _YCMúºqŸH9eó}ÇõÐ!#–ÈHtÅ¢ÛàF O§õ°{àÛýDsáQ^èŠX¬Çh0±8=Ùhè¢m~~Ë…‹œïîè€sÉ.š  fWÎἋ6vÑÒÙýÞÝÍ{ ª®úÀ—nËýœÎ�å˰ëƒèõîåqG%ç"�”÷.Ôµ9ÏÏ’]k!ʹo9£âôÝé¨{_áóE¸„J�_pžË‡ûÓ¼�Ä“Þm.*½Ü5­Zð ŠVŠÅÒLüÕøÏniÈÉ_[&7¬š½ÿ$ÿ–à‡Óµ@³É ôðÛïž�|{|œÑÎÎf'ÚåäpJ€`I3µm5ãéìOî;ãúêÔ…Ê×è�hçófÒhÛùE„îÃÙT׳éhû�-žNHæ/ßNŠâ“Ç�_<ªåÜ6ï{f¸U5‡'g/‚õÓp>�§g£¡ ^ΧÍ7Íãoá„°ãdzg£âÔÓ³>:Ôf?ñÍv'��Ëeª›»›ƒµ5©T2ʹâã¦ï®rÀ 7ð¥OÃÙ·³9|KmÍ^ÌDñÊ—ØD›³ÓÑÖðŽ¥ƒëœÛ©szª/ã‚s"·œ›�a4<«¶òZDÊ@7ofgT"uÒPçg'¾d<ýn4œ6�'““dz/þòâl2y8Ó÷…ÝÜ4‡‡ÓÃÇVºûù ¬J?™ž=£öwò6 ¥¢ÈT¨;Ôá.-zÍ%úîêéá6º5L/�JÛé}> i7ܨ5Žä αÞÝígLc¨_ÔÛ¨t<7œŸÀ¿�qöøÙ³ª_Î�6¦ãÇèur~öâ­aÆÓØ?¤í6“ÃÙDÎm½4—1µûþ¿@Üûàu�=ÿ5^ßuÒžþóÑéÃPfµ=ù)¹Ã^Æÿçþ 6û¥9ó-"K§\qб¡ i=xlÖr¾1\ÙòR›ÄOÔ{þi7"ór'>²Ò}K(ö‹’�gé´”_à—ÐO?ŽÃguøÛe™pº -)Ë8¿)F²£#Ž>ýt´-Ûá¼ÔõE1¨ðOÍ·p}Ú—ó­�ÁœóüæµzÖøÑ7ÓîÊA5Ú+ú›÷Ú -OÐLa2eœå>n8X�Fó+‡(ˆ%¹«äŽW”Âä�ÃáÊo‡ÃîjÇjX\\Z¼}›jé”-­ £6_<ó[r4ýîJ˜Ýh›O<×%:XsTO·>õµ¤Vr—ÌB¾1=­J[¡5üÜ_ ;ÿ˜°W)HtÆþëçÇ#ú¡.hÌÎúŽ_½9ü¿ÿ^7€ˆHÐƉÓÜ5„àyþ -”@ý"ýÖ\ç5°ÖÜÎd~pÞyƒ|‘_#v¾WDfñškf*àóG`þ•ôýÂì/Ƽ·L*Ž€6ˆhžk¤@í.=\M`?â¼—¼nM$´9SJÊë×ß²äâ,jCôÍ´:Œê'y�~=î?µš$Jm%e5 êÀ•¿·ÚÿŽÿ+‹ýï*~{=š¡[î<Ø{Pf8 ßGÒ_óUfüGˆà×ùGCp” z‚ ÿòNástU€,ù'1 ¾thêìÅÜ…p{Ë7Äcücð÷÷¿Ð²€o“¿ú×¾¿|åuñ¥GÛu.º�»tÑá…pù2ßi葊MÓ]ñµ´è �}Û¨‰nm}ZrZz+ -"ÆH¸:è~ªX,b"b³Í¨t,ÅâÊòh4.ó×úá²Ñß2ƒ"þå}¸-çål¥;qô�ºhƒ¥„péºGw-Ý{¾<NˆÓBÜ“w__^È æ4þ˨uvîì9ö®�Rj —o´/ÈEÎÞ^òú‹ÎøXB,]»¶Øq™W.Á4˜¨¶º�ÌÅ¢’ËlÄtÔL‡ŸºP.ܺ.NåÜjB"Àº;C…š²ŒFË@êÂ%/¡(ˆHˆaÿ7[xúÝ^·�x, ðñ�_)(—Ü55í+ë_Šê;ب6úŸþ7èZÉàÈõý­ß/ºÅÁÊÊÊò2ÿË^]]]I3nɦœŸr؇—~w•°R§Ã×§Ë®ÝÀ‡ç¹jB÷_­Pge¥CÒ݃¢»E}­,'b‰ÕíÿÏß|êaYù°Òéðßž„J¨�­O—·úä¹Òý4œ‡…$?ÏN2¡ò�ˆÒ‡ƒ0ç²^âY^Ù•¥‹“ÔEKá–,[5Ñ ¦A&yãFǽÁmŽ7hŠ7ÊÓý ÑD?¾ññ�„º±|û·¿%�® ¤Œ«¥¨$îo¿Û!—nΩŠ0̃¢Ô¹f -ç²îÏ–œÏ+AÎSç~Yé&GÍ™°I{út™«- –ÒÔ%¬&iweéþfe£³p¥Xö¸…@|K·-ˆ´ÚY&¹ÎÒí�ÿÇÇ7(ì ¨ ô[B­.—g5ÏŸ£­þpùS�ÊxXöÉtSnηÚv6�Úÿô7Î!ŸoN.S~µPÿ�©{Ùô6Àöýëóc=ǧÀ�€CçoßjmG� –Ÿ8CÀ¼ž|Gè]s?·Ò9TÏø¬ø hæºkƒÏ1Ó5ùsö6Cz÷‹º@$òÍŠcSç‚‹ÊQR,G$ãŸF=Z†± ´”2†ð£Û{FȲ\�€@Ñ ë�‹CÍxOÄq�úÂzêé•*€êî”�•€èM§ç¾3¹Ý] µÆïŒû¿CêÏÿG—Öþ/R�!4ÜÞÛCíÔN¨º]ìðh<è5h)j?{#4 Ì[Lôº=œN§3·Â­ëÝú³]_Š¥bFh‘PmâHU{µ£ôM=Úㄳƒú 3üƒ^´Ö ³�ÃQü¼ÐAIBÓT_A×/JXµ=ØÕèR„®ãžžé!–»~w{z@^èfQµd櫃9ç$ýÎe]ïpú]ïBi«Ž®rÎImD -œÔ šªLE7¼àÜZ‚­&¾‹)Ò¡¯K@�Å ßëÜþmg0X[W8ðA›C«sÂ\; ]G€,|¼èBOÅZv$ :ô‡øÊ{ˆýíp®÷Çì'Ó£-9�•ðn�[15õâSÓ‡óÓî–#5Ù¦¡h„VY個GORç͈ÇGÕ¦€–‚Ë Ú:¯ù�HY'ٟʆü åÿ””«%ç3\o­ˆ’Xç÷Wõ7¶¬’иޯú ŸÙÙã6:|…Ü»~ÕÇÉ´pN¿ï¢E�|Õ… çC¾Ò\t^p®1h«Qíÿ³Sïí´œ§”F$­éôÈG÷~ÒUü^Í€37.ïû}óæüto{tà"@½ÆÏ_'˜œ:¾¹ ¾iÿ: Š,9n7ÐÌ�AZÑŸ[î«÷½V~¹!B‹ÅŽñçQÿVÞéÏÔ�bòçöè¤IC”'$_E•ð -ÚˆnêÞ7¦l8xÏXm*eÄ¡è¦Ã5NÚ˜F2[>äg„©©êÀ–µó6^€èB¯œà–ú¾M -Žnï?'c™´„ïÿ–Jý)ýÝøÿÿ½‚-ä0=ôÀ‘÷¯Ý´Wžÿó—çO�w½û/]òçX¿£ý<'R)Pp÷_®Á ÿÁ}ç>�âÿÿû£=ñÛéÿó�ÐMæ@»mþ'›ö»¨mÚ.6Ús²]ôÀ~N�^í¢\R¸` §I×Ó'¶]Åbä± ½tѾ\4t;… Ý>ñµƒtãš\F[Ÿ^ô(�Š äu†!ô…pA~ÁÚŽÂervð{Ä�Šø±×Ée+‹pá·\›öû²Y+Ý:«YÀ~µ'ç�ÂåOó.ªè±Ãù -1ÿ-çó.Jàãz/Üå3üýÖ¶ìð€ËçÈ’¤ Ó-¥ÛîîVzÿ�8©; ½|†6pÛ—èëX¼…Ô½¹Ôû’àU}¿ªîƒ7>‰ƒ~7V9i¦ÎÃùO„Ë‘KV" †ýßwFÙr²Z$ªÁ:ä+¸x@u·ª£æ •n²¢çì�ø%käYR; Äùx<žÎ–ïýÎ' btaqañöR/Û¥÷i@o0ørŽÈÃýpº–Ü~�N¦§³Ç«­­Æá)*Vàä8ZÁÙìdb“òÁ€CãfòpêÓ¿ONÎú-ÖÖ÷¬:›¨&'³ÉìÄ)4Êfœ:~OàÉøëññìÌQIÛæœÚ­`ÏO–'ŸªP¦Êù -Í‚GG9 ÆÃ±’Œç<û÷þSÿ}”em:¬Q^°o_»àÞÑñL XòÚ}€PP «;ªy+X -圓€pê@¶ vrÛ‹ØÝúúµÈ3ÿ>è[Ðüu¿)Ô†(ézOXæ>¹‘‡¸ßB¹$\—Ÿ|£!DÑ1OÅ KNá"©äKç|ž«-aIWHR2')j±ãK‰¿ÇÚÖoâüÔ‰»ôx’.zˆÙiuÙ!.cì´‡“€®\Â0ÚPíDš‘ììãVØ…y«`¼;nªNïËÏ.>Žv&ÀÍ¥÷ëa¤�OH`ÜN� ÂeCœr6ÉÃ9ÀDF–óŠXôŠ~Áy¥A+áa^'õÁ×&xb•žLÏ7T S´ ñÀžæþÃ$˜ø˜ž(*<ñ›½iŸß¹åík€ÖR4°©ÚÜÙßO2ÓÙ°_) -?𿹰üâŸóÕNfn5÷¿…¡ªþòvl*¸Úqî÷þ~;ƒµngræ…HîŒÛÂ:ÚP«q�xÎÚL0ËÚÒ¸¼—Î9‘û,á®P–KR¦ -5[+ý‡/Îl_.#¹$R—'çX:�rØ×J”Г¦`2úŠ0{½n'c:5vL“ŸôO#’ó9#N‘¶“iZâ¬ùfkÛê'þûò§œ·%a× -n½^Õ_¼]M›ÝõõÞº‹Sn•€]çq1ðÖfïîâ�ÏÙïÁMò�nIȹª¥À0ÐΞu9Æx2 ß­ôy�û|x,F•(qÓtÃ9Ç\ÛFþ))¤2ÍVÕÝný—ïÊ Ù«uÎÃáZi.ÏTœjVõnéÓ X×ËöUwz=g>®òù¥8N…µú7—nØ1í¡ÒZ¿ÿy†ö –‹Bd±Ó4ý½TºeW›þ)Éyî]p^5ýNuöÝ,ï'œ·uò>jqç}¤[ß7ü‹[N`ûþüÑA½×œú.:ñ+ó¹‹Ì lúO¨Íœ:^îRw“éåÒß5e mø6^?ÛE„.Ñp·p^O�)‰(:�è»(wô­Èù¼Ó)Q·ø¯[bk”™»X³1Wß¡<:–,Ï÷u¬õ‹‹½^=¨ÑzÙÀ‹ - \ ࣅ[w×?þlPV{ÊËñ ˜åáÙ¦C­ÊåW”®aôM¹ƒžœßÌw„q4û¶«ˆ(7 4µË5_[Û¼N å uÆbI ½u—1Ìw}ùQ{­­Rù(jµ>|Z54Úë×h¶ ×nñG)ï -ÿ냵5ËÒÂßR Í;7:hµ4ìâÞZ›¿ (Á -Ï~¬Ê¦þ}Þ×ic)\Ì+~ä>TŠÏSÚÝÍK6ê/÷áüY{½à<çý”¥áï£8µö·ÎXeßž?zà&@àŒXòêiæ”9Õ\çuY3 “hUxcâöøm¡Ø‹¯^|ær{>ý˜úÄ!©ù~Bý�I#Kú’:—ÛÉæl&M!8ϯ¦{÷vü­Óž˜^ÅÝ÷§�•°e”àooMÛÛo¢=pÏ2˜nt“@¿K 8Šßßå üRê#o^¾|É'÷ç�ž€ªG{�S�zÔ?2ТþOh>þïúÿKûÿ×`. -Aoucu8tj§[4ªâwÆíÃw _ÝûQÏ^¾ë5öc÷«!Ý¿ÒEïwQ7묑-�ÿ¢¡Ûô#Á¹AgTÇO[Á q±˜žYÄbð2\�ÓBqX$éð^+Ó‹p!h8wnÝßÐ4Sø‰p)4_öWL°B—A5Þ}¦@‚Gè’sŒ5 78ÿv¸µ}BF2°)$ŒÄ¥‚‰°ÁѦ2rp»_+\„Î…[syëN€½{…(.ç Œö»àQ©Ù¤sYç&E¸Ü/õ�6.»¥ÎK‰æœgS~L jx6//ì—CØ›”'Óž–8 -f ¦^æÉ¢Ü\¸v£¼ ÈÕÉõÁNVSÏ©®�êH׿ý‡|л @ƒÈ¥~Í»>shÎÒR­›Ëø°4—LÏ´Ùä‘QÄâº*­Ea ªŽ:£CŸ‚r½tki>Jó1 Ï©´Žíå~3WáBÎ/ê\>¸¦òRížl\*$Üîºvñ]ÎOš~y-°»bJ\ržöÎeöE?[ó�+îm¥{†b³†Ë¶6hn½ÅÅziÐÛ½Àÿòʼ ø‡®/-UK7êêù�>ø!áp—.êcIó)eÝßµ÷5“É!Ú«œ·¯eFK„”ï[Χu—>Jó‹Ê`á<_©¥2&�!v;£ŸçÍõÏÒ_¬oÏΪΨ¹×síªï°¾yóÖM_ÜÛÌÞ0¶ÆQÓºR‚ÝÍ¥�©×CFjú’ËlÒYžjaÁ`‚ž¾� |šõË‹V)ë᪠<'/ùÚA$]=Æ4 -�œ~æO/ñ{é¥ö¨È_<@ÞÛW�ާk€ *€c;kÊh¸ª‚àøöµ¶0 ÙB¼›þ ´nÝÇ%!Ý`¢.ä€Z~#°®µìO®#ý¸É†½ µþy‚ц&*‘]Vð#0,7„ב iÉÈɆ…%õ‡5 N‰VþHIøÕ Ò ðç¿åƒÔE™JeU'ä¬ ‚·Åý.ø>±¢�ºàÑÓs]%z ()Ü?¾“ŸRëÿÿ{û_�`uiµßlo�mtàDR>=â™D @3sƒ†óGŽíùµÿQž<Ê·ýäÚ“ó'ú&žDq8ÿåMåè˜äœý—½ÿéd¾ÿ^²ÓÌ?ðdÈõ§”.ªÐÚ%Řo»h+\@ û–]tç¢'K¥U§yKé¥ño¯vj»¨"�ÓÍ9¸§‹Š£_‘Ñ΋j¹žrµí;‹Òî_q O'p@aˆiÌUÅ!œ;.ÞŠ\'ã*œË�æÖdè]á"•y8%¤„Ù^r³‹î ¶ëf§9¿è¢ûΕÕ´ÚÁyÉ:ßA|_Ô_dâ¦ç›X;˜Ç”uww€ÒØ~Bè }šávÙWgw'CõtÑÈárЭíS4í+Â¥´çÈ@»¨!>}÷>:úÔ.ê«OºsMIÛM÷ÐÑË!œ˜|R)~ü«b1Ûª(\šé°3.tL;PÙHS«–D&q¿;Œp!;9oY/Ñ#\ÐnJð –TÒE“Â;]4ŒÌÃͶª~IòK¾DŒˆÄb€Ak¸R›;›ˆºáb?CÊ!ÅQöö}@z GJ#>ûZQI™ã‹w©J½Ô nÂ|+u²ãP]�ìÿN¸„ó¯@Q*¥Ü -qÏÛ˜ù‘n墠bŒúkßÖ¾À!¬©¢Ä$ôÀ­¨öYAõVÇÜ>˜>T€Æßô7œAwAãÚWTZœC¦ªÞ"�Ô]Z¡”ñëDMWëD¤òì¡�TBåË�*ßRkżžW}ÙEHO?è—Í Ó@¿©:ýf0Ø«c‹®�e› õh\XÚèÖ:/æä�pn¨öZáüë–u=Q�[;Úû*/²é „{9§4[\K#òfazÎ9±†_n–½çK_Ðôo/Ö¨£k¾¨"ï¤UÞt` ÿ<ëëwî–2kÞ�tʨyQÈ-bû²PÈÚ›Wz3®%ýK«\¦ã¥#áhS† ¥•¡¡•g,½Ây­:Eïôkê>Žú”®öW8�x‘!ÉC¯ìV+£é—½% âÀ•è×M€…ÿuËâd?gʇ�b·FX#�š‚íÛ‚ëö(y�8�Û Ê#𠨜„.#ιՌѢeÝGÎë­åžgSÏ´‚LUN÷ªÜÏüãï§×ç/ß8ÅO @L°^>3À¬Iב»0vmì~wŸÿ¹à>Ťçbkn£˜þþî‘f ¬ÁÑ|»÷¿�c�\üîv‚ŸÁ¢"Ì3ù!ºiû–¯'Ÿ~$ c¡ˆ”¡•Ø‹á>~ü>Ó¼jü -û^ T†oõ(ˆõz¼B–(r‘ëTNûÀ·ï:åN?»^vLë'å-}/½Oµúò>·çù{šãÿßÛÿâ¿Öxïw.OßÞÞÕzìùŸê8>}4ÖŸæMÍè.ÖDY{¢ ðg¢€Z�Öfýÿ3ˆàЧþ ÿÎÕÏÒ÷á`óiuI†®jñÀ ­ùý4×Ôi”éÊ…h”0ÚE¹G{Õ -.Fμµg^z…õ#ô–NTnt;G$Y;ÐN¹˜v�WíN|£}”åB˜6ãÉD·(¡Ú„fŠp?b`rq»8/ä#ÀÎ/ÒÂ-œo\—bóÏ9µ¶ZŒÇd HóJÝ_iЊêú$œÒ?K×—óÚ±ÂÄ›Ž4¹„…’s± "g ï l¯Ç¢¯Ð&ƒE‡‚ÿKK·�ÿ÷«¼¥ôÎÝH!?„'R믦fCíÁÜ~¤Ô@j–ô¶Âë‚Ùì~;‹œó ù2ÏjuxµÎÃ9Xä¾È—užÊŒÞµ¿;~QåµÀñ,|ôO¿'(ÆQOIê þÈÌxU¿£pü`ú à«HIjeƒöt)ji�Ñ„)5Hmǵ_ÔÅfFã…õ=,Ëì?±­2Eü‘¡H1í…x~£\(—ÐXì-;$P]n@=¬¶‹·A�®ÖaÄÑrÿ”¦ØŒO :IÚä¤Gáyî6*»�ІWBøÌËÅKÎÇ� -À7¨ D� 2mçÅ®ž —.8ßš;: ú¾Ø;ÜŽÂÑ:ùÖŠ— §u|¾¼8¤9VkÕ=[å­¥›·|²NüH«Üô-K‹E@~h Æ*hºÉê -ç²Ö'³Á|¼Ù+TxQ¾ ×¥�ÆÏé²q1BNa 9¾Ô=jÛvå¦`ØÒ_ÛÒKEIGÿ?OOÒÒ%Šf¥§„9­¦Õêhz¯w+êÌÇmíîÝ5Ðm«~þš?Ôׄ®ë¥HõâÇ™ØòYoIy®‡«ÈÍÒ¸iaüY�d»{¿éɹ ™ÚSN´4tñÒ‹ø�»ä¾âk8påÉ%çÔ„þ£0ÿ^rÝ×{©ì +`Dpm™¾dILÁÞ¼~ ˆ½}ûö•ðïý©"©^ú9†øç.·ãÊÖª1ˆ©Áâ€:)~ƒÝ¾½¯À­þx�Èœå"êÇo�. z窯ÚC0cRÕSà»’kÒ7°³!¿4ð*MNÛž�ß—! -õ>}.ªçx@–&ÁU•8'*Ò÷*BhJàûKל?•j;ôÈ… mÎ\ˆsüÉs«ñÒOñ¿µÿóæŽz�¾ïpÓ_$�Úêðù˜~™H&E#xþ(þÿ§�~ž­·œ?õ¡á£û¿¼¸àÍÂN²QTóü‡>ï¸ Îß‘f4¢º‡t°ì”}¶[z¥'|ºÍ: Ýq�K0Ò²ª&ŠCí"Ø›G(50:­§“ ±H+vŒÒ†î)r±Ù^©çsBˆÄ¹Xô´t‘"[×èlØÍd…9YÕ¥`p.…"ét7öûs ½+\”ŒÄ�ê¼ ]¥zºèh#ïiö'ïvQì�tÑœ:ÀPÄœâO“Ö…¢–éͪ]e$þoruwÖ_DÜôzwo]ZZÈÎëμ¾´¦€¨á•Lvêw„ º‹VÜ\º|é‹‹"\Ìt4\b!\ÎÅs8×ÝÈ?—AÝ‹ÆPa¥k7o*<T�ÁôwÇõYÕÀÌànö‰]p 5Z<ð¯tüïmo*Á:WšË/Óµö÷—è+JÒô‡“CÔ¸¯S:NæÊ²ÛX°£ûW�± ¥¹¤�”6cÓñ¿jFËÅ1j}S(Sp{)ÍÑŒt§ÒÅ‚QµÒWí²)M¢êèA|†ø�n9a,g…Â\8§Ê.´³+œOf[y)P!+ßeZB˜Y ËP5ßl /a”gì·*‹�Û5³�ü†v|`Þ_Z¤9*©î­ç}€ÿo:/¥¼ àúÒÝÞ`õÆ`s}­·Ö/VóÀ¡ðF�«4•XÄ9 ±HMs6¼¼hë¼´ˆðœVÎóû -ÀuÔ;¾3ØÆ^¾T]|߀nAújø÷Ý=xƒª¹˜Y#¨X²•}ÇÁ.¤KÀõëñÌëî|l�´”Gd ˜,¡PŽdØ#%&@Q|Nè¢p t9è÷¯øtä¼ÚÎÞéª:nœÍ›Z‰¾Þ6>6_òT6ÇWš„{ò¦>àýôx¹ 6¡¾aw†Ó„ŒQ ¬€c/}ï¬p÷}–¾½}õZˆuEImã‚éo¢8Ð^º™_|íwqÍ»Ú�k±ï�ñ=f4h][<^··Cœ« ˜Hî -ä¥@o1Ò$µ‹+å�Š€3.êˆhÑœø¤à™ZˆùAap×Bs"€®‚ „8ñ87Ë´ -©ÊPtkÀrø‹½yý2ó_Rcå½:§VÝ‘Žz°öHs;ÊÔß“`û÷ö�b xµã¶€h47äQeϾæ�c(`;讹ObîíÇsÓÝ_v ôâé“ýGî'íAÏÿуÚ-÷F{Ú(ƒ w ŽÊý½ÐúljG*­4Gú\�tÚënõ•R…“ôU»èàjCÏw„ ¼ýCð´ó#‹ô¾¼^Ë[¹Ä€H/�Gdˆ0'Õÿ—²¿ë‰#Ûò½Q,-ù´uvÊÉMs³ÔReš;‹“Ò£¤ gR˜Øf)¨LˆMå³? —¾à3PäSB‡&—Ù¦Oùpaµåõ´ñݺ[:Ÿ ü-Îÿ÷3’Ä…]Õ#2ãe¾Ž9cÆü�1_Wô‰Ø.Ñpß;iècPí"ý SG+lÕ.¿l·'•4ê….Q»à þw䬋ЃâM•‹üºrA]¹P;Öle[²‹Ès¿ƒp|¢~PU¹UŽy0špRÚEÁÄt+UúÉ×;›ýq¯ªTƒµF$ÄZÀfëxè×U©ÜKti^¹À®ÞPdΙ% tF »o¯™�Tí¸á_xr~לë©O�Î(qIDË(ê0ä"“£nëþñçR@.á…̴݀§ª:eWÕu°¢#L¾ú¯Ð$Ë”ewkàVÙ&¤Ö ½jh›RŒýZ«W4_±EÝÅÖW.4´ré¦(G¦Û£"“”Õl4©¢NI‹ü¦,ºÄ”ûEK€lxØä8=õéQyìͲ¸« ÅÝÏâw–S¹�#s~V±Ãö„>7g0mι“pîyž€‚ó=•܉ž -8�ôÊDÍÇ=F¼QYæy!à_Tw<œït6[‹�’õ‚’ʬ�ú}þÛ‚4i¾8f÷Þd(éî6ÏE*ï4Œín²„"whfT9—?^_›Gà[âµÿl¥Ø§I‡¯ÀþDÊ e$©Keq´Ý’�¾Æ,O]™_h°Ã�€IbXAÎU)ä�ƒ[<ïAuzr•‚¬Ë™2½<.¦…ôÄ:êB€RÍć[Î9#d\ moWuòý"¿Be¹÷µcOå=“ۃÉÀËååõëËwo<¤M$äÏè7ý¢E܈(´B{Øžºí¥� ›…¹hû2– õ'inâ$X¾VäϾ€ø¶–Ž­,­¬ƒùVôèsE"ó9I>à:Fó§¿ßzÿÞáÁžÔþƒI,_6 —°>7Ö1ÒõðÛ6*)ã>ûóqª|ó¤ÂÆwJ9§Â(„sí­dgŠO”šÅ•’<ëY’ný‰*€�rÐ^‘Cãèäå##xšÐâ$_œY�'ê¨?–Ienâ ÐOZS>Õ6®j¶£’NÈç2çmê�šêOT• 'W.;I‚sǪ2Fšóí;º(DhTlm_ÝòA’!¥ ÚÄÓ\µMé¯tD[ª*]6¦ªeíµ¹Æºü3§Ö1ªA¯®\œUpþBœ£ù#­9BDsÎY¬•Ý&Ú®ÊZÑ»•º ÙOOÅþn»æœ•‡|U¦ûÍÝÅ"Þ©Þ¿*˜˜[HÃ¥N-» €|Š©eÑàAwûNþýa€°³-T*X#Á† ö~Ò“Í”ƒº!) z¥Ã·øŒ[p -’'B¡­Kâ„ ýþ 9Õ+¾A*eÛ½4Ô,õ@ºÊ×`%u3) ê¢nY 7åäìw -áuÖ]92ÄBEƒÔ0¼Í"˜ì‘/Æe–éý(!Âm@q§WBòÄ9COô ¹zûùTCÇ-ñ^ •—Í¾Ê q‰<°è=nfhºK�o­÷‚ÿBÿð°±d …ƒ¯�Mðu¤°œûNDJ��4läX¯[Ε%pÓr«LÚe÷ã­;S2ôu"B[Z+”"Óñ«x²zì�’ACCútô“1§*_ÙK GC©Š½7{Bÿuú®¢Cƒd¹èR|úÅÜ£èý÷WýÝ@ñŽ�ùŽ\î”ëUñ|ª¡C”^¶ð¿f\œ£¸ø#5Oƒ ¢0«äÅÅ%ÞÌiGhôeÚf�FV§™wP0þŸ>ä××oÐnßøÀÔwaÿ�må@¡#ÓŽ>ñ à‚ž *Ðjè¬us&zÝÈogÿˆn}7²Ë•»üE¡½Ë±Ô}¹pÿ ¯˜åŽP0!0ŸK–Ëž9ˆž9 tžîåÃnåX€NŸ°«Ÿ�-b`&¾hìÇÈŽ°úøñWÅ*Ž$Õï[ÌDúx}û×±O?#îÆ(ÜBؽò/þò»[ŽloO‹[SÇýú�ÿ�Ê2é †Çz�%íö¨ðzCzGl|)Q€†´´¿ÛXéGÖ‚~=\œ²ŽÐI%ýb8= -ŒüWÅÄØ?–ùyL·l�ðþ·m.j÷� -?Õb]1ªHª”S­PÒU‡õ«båÞÊÅŠ´Š1÷}Fãø5dè+ŒzÔó¶@‹5wì -+š¸¬ñ90~k>l:ò%p ÈMª¬ì�ï“ð¥ÚªrÑT3¤è'pƒ }mH¤b§?*ÚžI•Ä� Q¹ˆ/ÏMf�|¢©r)Ê­UþB(ÚÍëÊEîø7Ç:c3.SÎ2–^D½ˆ½-Òô8ÎýÕ¿™€u´‹%Õ·ª“TÛ -OçkÊĨ �(ÌÒlÇD)»jÎ g¶˜6çr\æÍZT.uh¡Û|,~b%%»¥å¸/¡‹�ìpÒ à§þ�ýáY!LQ¨.�›A©T1¢Ê{¦š61¤TœKôûã4ó_ÝŒv�ß÷Ë–áðùàB¥J gãl¹¿,àDj´�𦤻A ¥¨ë±*š8q&è�?eºh[•º„E‹J)Ó•=ò½%7ô‰ÉMy+2ršddYny1 ß_š ûÿÊ 8ˆC}oÑc7â¼Ê˜óN£ýr¸~u&¼éàçòÄçß"Ë=ýc$^©Ê$zo�¥AUsûu潊x¿iÀÃFcmCÀC=„�/xÅ›øT\‚‘Ä:Ã$Ä=±ŽU·­ø·y>!•NÆ]¸D�ú�Š•nZ3`BöGžÓ:‰�cá(�]Îy}ß¹©7éF‡‡óF˜u4ÌWóaë<œŸ[°°±ÉÂGu-!Ê -ô{2f³÷øQÃ{›Rû¿%€\\.à;b)^ªŽ»M!†‘çÎt�T$˜Ï$Î'¥Eœo«Æ3·¼“Û¢F_¢õ÷“ @PÅÊÌá¡tJ¯:�f=±`0èOÃ= ú”x�7#ü@ÑС½p¿,dH‹€nQä™gk ]H�:ùíÏ>‡ü ‡´¿?ö6Pß(¼DŒëK¢…¸‰>8’Êoÿ -ϺpcoâÅn 0¦#¡öD€ô ˆmÜ:�fŠ) v,ñB! ôÿð^óñÆëí¾»¾¾ôZ»Ò·•�Ú¿±ô5K{{K÷éÿ4Æ'üç,îtV»ÝB2À¶tö½ÆÒk¾Ÿ ë/ÎGŒòÓ¯by¿s¯ñ'»“ÓóÃSZNo÷_"GÄ“gþ¡ÿ3Ì_‘ÍEt�Æ?ÿ¦ Õêðíü–TuEóz¢£ eá*Ñ$í¥•q'4ùDëÊeÄâuO—JúK |¢â±U˜tœ:àbg?o±ÄÀ0lsvÌfô|Æ®šKX•¨Ëµªk’ñ-ᙪ4“J€ÜÕ²�i¹8óóÑÝOtpäy†›ÑpŸ¨9¯?Qå“ê‹2—Êå°"ÁØlÿ8©'D,®’ú�ÅÞ†Ô -)è[óDò:dÚmz“õ©24S®\¬] ûª‰kãMÕre,2Ú™s+FëÈýBœY (©øŒ{ä?Ñ0 \[IJ—1ð0i¯¦²Aj’›µêÅwŸ@™ˆê�PUf[: gÄ”NR¬eúIì$�J•LtãÂ"ȨÊv÷Jøï¦^Æ­H'¹Q*÷Ÿ÷eÕ¥…>6Hâ.ÅnxvFW™î¼yH…BW½ŠkxþA"lÜú]vht€3â,ŠW -C‘ó à8} -]’EvÛI €ñ%\™s[ê]gù•­jΡĒˆÓ�b gSïk³÷C¯Õò¸*��çç:Ñü/zð0�|Øè¬÷Z‹™‹]Œ—CYîõ\ÒëÄÅ\€ çÊó¬]ÿÍ\îüI”8GèR&È@µK7ÞÉTž›sþñå ¯Î¤H�vžSrRé�ÁI¤i,©ÜÓTm·óý6±f€ñ¡±Ö—0#ôŸH®">Oõ¢·øÈôÕ­=묣˹}‹RgþHðËÁVûÎhZ³Žˆ.¢NîËWlïéâbÎûÒ_à¼~3¤Á.EúB]†¿pHxúâ1Øû‹4Q±'x(÷ONiÿg‚93ÝÙpÞúî SÛj =}ÌF¯×ª/ÂÕºu=_w�ßžŽt¶Ö�…qÚsþ1§I^Q �J“žE`½Ÿ>Ñ,€W�9|É 3k2üC7ŸŒíb6ÒJCÑúor¤1‹Àözà™ÆœpE€ñ Û}üÈúI7™ùáÆ ò“_;)�ûPš¶ vOBU!¡Ê úÞG÷èÿ¢ÿ ÃY§›{W<·„¹’‘'x&œŽ„ò§#r(^Z .xp~.1�e~O*9vï�D=)ÿÛþ¢ziÐÍÙžƒˆçæØÖk"Ü3 -ÙoˆÒ¬rHµ7ù„ä‘Ñ)ï’<…Ý»•Ký‰ÙäÕÙPZK]Ç'*éÂØo`êu½Rz•?q… �Î5º«ÅŠ2`êPêëu['.÷Kó5pVíìÊ%4b}o"àP÷xCp….>¸„),‰{†ê©d5øÛOt‡Ot@/Œg½ÞÞÔ':EûÊz±$÷z 5³”ÌÐ%M�Ó¦Í>6‹&Êu¾ë¨Â¥a‘}×… np5«êE±;I&:"Š&$Kx -²+-Óäª+Ú”Ük(m߇Ý`ˆ&\±p í*Fgº ûÿo.¨¾¡ÛŽŠ¦¦.€sèŒ$€šr]Xò½Y“Z)5‰^NÞÃ!aÌQF]VÀx©~Jà€Ü‡ï‹`‘Ê"BÑ(´d£^~]’]`T÷ë-*É»€‘¾-Îv’£…’:•˜žœŽ‡CE8ü_Œ™ šŸ$aHQwy�FuQÝ–·Œ—˜—¯ÉT²<ÖGÃÛS‚TÐÍ8W}êjgpžÞ…2V¼LÚ»ð…§ÐðW R €9O$çìÎHÃ0<�ÝuÏX–bS"Ûf¿h5iXF}hxWŠš¦Ys�eɬ�;Ì”�4ÕCo¹F‘‹S·éƒ%ÏÒ³U·nÓµ-‰Ùœ×ß�› Èôx¬ÊVÔ.4(Öt›éöφÃÑñm/–`ôR·øF Õ4PñK>§‰¦ËªX_zèI€sóþè:C!?à¿îF ÔKHf;|ž”ëºà_S3o€Ø°’¶Ã*äYÔ.n¦H”£ŠO<ô�«á±Š ÚÌy¹¿­r ú*¹é•Sœ§ù…ªÿ¢E˜ƒ’žk¯xþš•d¯ß¿¿~ëÕnPu¥³0«�œq„ f·˜c WÁgwöé�À¿J··/Áƒ;úôÈ-èî[FØÖ= 2 “ÿc/?TuŸ¸—½‡"bý+â -ëË'!Tè1€žå -g²µY(ür#&õäÉ 8cØŸ/¤\LÁ}"YBé›î±[â›7¯…ïwOO$Hy‹�â/ÜíÝì}¹ÿüçìöRÔ§Ø•@;€‡jx^ÝŒ <<¬Ü2:=?9”âz*Ø?=Üc7¡½Jè�BcÏv1ØÂ�ÿÿ¬ø%°‰õ­ð›q©ÝC*©|B·=uÔ‹·¥±¤O4êÅ øD£rQþ9ªEè¾�þ�il5Œê ~‹¢E¹Ý¢B·2@”T ›ÒF?tϧ–*Q8¢^ܯº+ ±§ZD•�[• -w&ÕþþD‰\LƧ–*qîïVœ«¦÷^ñKeû±´ã&| ÁC`ùfSÑnIÏ¥ÝÓˆ¿ã÷þ[ÆãG%1 öºYô³Å^,ìFWQT¶±°r=柛$¨‰Y�Ev¹Ҳ£ -ñ(2ÝQZQ/Ær;U¹Ôol¢ÿ“)«ÞÿGÜg\XÉØu‰.IâÁît•µ*­I À†¯©*ýß‹ªZ°"•ZRÉâ²Û xú]b�6¡LŠíPY>ߪ”ÓðDq�úE¥<ø‘¨ô.LŽ@hTí·ë¶qÁPÜD®�§ôr’7*9– DSËF“é*1dzîQÝ?–ã·¿(ãÉ–Þ“€«”ër‡C‡@Än»€¢€ìC<'䛩‹­]¨¤ÓÜqµFÎ)²!íâÊf�JâóüDiסs\lç 6‡<�ÍÝk?�¡û^ER@êxê&KÆZ�¾³Ò°‘5{}¤;<ñ˜09Êù]ç9/EÉQ¶wÛiͱ¬»(ÆG -çÖåe%¿’ãȲäÚ|ó‘**yP¦GWÿùJò‹ßØ~Ù³€«š’0MuÕÎzê·’°½°ÐXZ.Œüw‰¯Úì}+ V¸b¥¨ãW -)H¹‰°E¥j—‘_�rÝ&¢Ï8?çÕ« çªU»MqŽûx_dã_9„ñ_&CƒðÈãÌu¦ïX@&ýd{þ[Û€ ÿu'ä/LÔ…1ùº3R -¼ÅC`Pjû ãõÁtæàùò‘Î|�ÙÞäÞèh´ÇX§­Þ�H¨L›ý ªÓ6`]‚‡Ôû†,ÌŠ•ørHØ(°ˆ 70CDH5º—…‡ô“ ¹Óù†6™ öë]¼ЇÌ‹¤€µ€™ùǼ¿×o..v¯œ<ø•»‘«÷ÑáÁçúÿü (Ïévµá¦‚n/ëfNÖ` ÁÁ^)ا9@ð�š�Ò/ì÷<=þÌ�¤�˜ÇHÏm6ÃC˜`ì¿P^1y{ùEvšÿïµðù8JØ}¤¢ç¢JIT)Ö'ª³ë)l©ûå �3à=FÏsN¥—íëq#¡atõ·¿2=HE]½ÛìO -º¹õ#�¡Ì9£+ƲÛ�uþâ‡�òÊC~$ìË •‹¿ ”8¡;­ÖãÇñíZøÒ8€TŠî!ÏßÞŒ®bè¯�¢š¬)èM *âL^ <¹ÅŠº>ÉrDµªOt|fÌ@ƒÝu»¿HNB áãp�T!¢~µÝ’¾ »P�¨%JœUŒ'Ø¿åÀ`äïGÿ­º ‘¾7*Kèâ£Ð/$, 0Œ5ò­9�•åJÆGn="ÃÉxÒAcú$Ó•­ß÷¾/ªŠ6=éô0F[:®Ò¤c(]гAûàX€Ê™ç6hX[ßQauÓÿTC€ÝïîˆQ.Õ¸Aø1ÙMä7LÒMç’Dë"Œ—z/¼�Ó5眢꫸˜ó¢ín:Õä5ç½Ê.~�Œ_&á…OîW‚y™ëìøþsÝ þÒ}�}@ã£ôbkò‚j0S(Šj^#ìdH¾î�ûÂΦpËÜÿ|ô–=vžËJ÷¨è -HbƯ¬ÔøO$ÙÇ• ™AH¤ÑW pÄŠ¸#7Û–Ÿ,6$w˜Ò`7pP7À! ršlŒDcy@.Ds™ÂªÞ³,Ð;¶ãc9@åŸiä§(ß•09²ùúrÿÿDÿ׃$›½ú;쀬(ÜÙ÷˜ˆ0 q‚)ŠN¢þòÇTAήõRG­ùgĨ8uXà ›At· àÎ8€Tˆ~KuÁëQ©P]ùQ qòm1hm¥Yñ¬âµ‹HÅ[R,yàÇbx¤š�j@‡‚°!.°óSà³eto’ªêÐýÍÔ�;CZFY™;E„+eÕmÕ€ªÀÚIþâûZUöjá"U…;E+3#¢[—pNåâ¯Ï)mºã¯psTžÑê =ú¶‘NNlëÊŬëªM€àC,DTƒeùMªEW—T3/T×zÐU¿³˜àiF4,,xåõÆjd Õ‰£P Y+ñ€>ª”¥w­õ˜¢XTõ_©fëÅŠrT.cñX'‹Sï*Fûe»ð´ŒÔô–,ö0 -pE¢ h§ o¡Ê=€ª”¹b©�I§Jêiâž¿F‚ðŸÃÃPçTÝì4ºúƒu€jˆ-â%x0FMJKÿ§2ŽÑN¢t'SVúª¤ûŠnÊ4 -2ÐÕ8†tº ôRZ"y¾ZgÛï¿¢õž.á4ËÝÅJÓwTS•gå¾àCl›sXþ8](ùð›HiØ©Úõðx;Ÿp.@Š›~=zd <ÁÒ0†.+ð$�àg²0¼e�þ&‹XKh5Ü%µ£\‡ÌÍ}Ã:Oi ¢iÙ{,5�øØ+×Åõ�þF‘Ô/n§v1 �Î_$Î-ý@zU±ÂVÓ‘çf]<ª~¡ [šq¡y W’ç°är#²<¹Å[K²D1*Û»£Íµ³Ýþ/‰µÑYßd/€0¡�n”³s�¾Õ—Y7l ÿu�ï0…ª/„HŰÜkuîSÍè ¿[\¸Qçcq>ìï 1Ʋù6Bø -%¸ù±8Œˆ¦]¼0?¼c«YÖfó;/}ë&«ýÿðŽ8"ëÆV£ ž@é'iæP�Õë‚è‚ÜOÀ(à« d@@n¹÷~ÂVZîõ‹GA¹.¬ŒpŠ=D@·è-c„K¶Õý?'âšò–¤;–?±)ÔÇ�<²@÷ -ðïJ0äĈ<Ðö“™uÀŸÅ“éø !à=ò1ðÍõë×§#òÔ�ó‡òé‹ýÿ�ÿ‹à¿ˆ^y®à²>Eê𮊹GZÓ?Ø+¶õ•zÆLÿí-áW¿\V;BÿŽ¢I- w€ÏÚ¦ÇXÞ¸—¢tÅ×í�/L&Ÿ(›,¤�Ó_¡ -¼� ÝÞ3jÚÉô-»¿OŸ§¿;ª?®DÆ4|h4h•Ò‹€vãÕI9¤S—±mªlR}3!é{Ì2‹׊–,ª+* ßéYˆØÖ]T9Ã㹑… Ȉ×à«41 `‰e̬J?²%îå�[Uʪž´œÂ ‰CyŠ!MR8Á¡´ Ÿœ1wÈ^ ¢³Øq…»mt¤³øª*§Xmœ°`·,¤”¸åéÅ„ó\5ypNÖ#ØÈzÄV¾‚>ƒ]d: 'w¸P`y¼â²r¯xÊs2}G_"tE @�çöe©Œ” -ZDâ™òå†c+Kk ¤ÆT�* yëóKðÓʨ4üîñ½Jè’m�qEd™Àhõ)×U\œ%*øwáØ¬<õ>— ¹œK"P¶¿ÛÅ8o^2ßQà³i±C%^–ŠI$‘¾›Þ ôÆË4¨\ÕynJ¹bKNñGúF1m÷âe§`õà„ÿð^îçXQЫv £Ÿ‰eÁ9oÏœ# �Šö¶4âmÊG´\Ýb¤×“eÏ\š;ú0†;* ­–Ê#o‘w¹sfæf>|È{¡`y­·‘±Ã„²(@âms3Š "—3P§`�üÔë9›¬c-¾&ruƒ ÃmR”ƒ˜d¬—¬OC2Wy‡4,ržÃ¶;òªÇzÑòצ¯ë6×ë’î u§z÷E¬(I“½�Ì5ÆôèÀ9z"Ò&�‹3‹7l1MPCrà;¸21@/H,×zŶÞœÓ+Qó'ãnÕ¿çûÕv»<ˆ”E5TçÆWH@ôe¢ãXÖ—£ù|q-ý_úì»wר)Õß�ïÙ7ˆ6šP¼‰†MðÓO>c|ê�fq‹?&ßlDQ—>ÿ)úïiMÀuj!°¤ ÿ�ð˜ækä2rPÒåuÅ�ȱ#:è`˜ Í•בéÄœ~w*è©ÖøÑï½K1.S¢!RF²õWN®þnþGúÀI†|øpsM‰¤&†¼f2à99Š€:ëøÞK¿ÓÿOéãVËkK[Òn5Ò¸AVn²o»?€¹†Ûƒ¿0–Ó­ƒí7Aê#PýC+­þ5ü#WÜ$ÌÝ?Àeí^òg½ù½¿™ÚÒ÷çŒ;Ö—‘†Dñvë£�©ÈÖßf&Öl¤YE?}ؘÕTKT¨ùÑ©"¨ò&}yT -TTàEU¾¢b�:2HÞÒ]QŽº-¯K(F\·ˆ¾]¾B_0†9*`!b6¸åB§‹+ó#¶¢í¢×û±?fn“*—´P|�5ÜŠòÂÃëÉ3©\–äE@ÿgÕæ¦±@"•Éq¶¸Ê.äª`¨v%xàõÙ¹oÝU�IaµW•Jî=éäZ–ªSk‹»_¨ »Ã�_Xþ@ŠúÀ³Ð&„Kyôƒ®DQV£ÓUy® -Úã¸$¹ U�›pQ|�‹&+*Ö³æçæ%¾„þÓ›ª«£ì•ÆïP¨ÿÑ 0“0þ«G½®#iÊô">ð^í¿:ŠUVļOwffU#–‚P·²‘ÞK W;²p{4eYÿÑ [<*S~Ó¡Ëe»ouQÕŽlØ«Jvugo%Æ™PÝãÈt½õ5•»úÏt`èR ÷Çÿ'¢.´Ã~•E(ô‰½ò*릙¦ ‡I,'¿c @°_TO^\Š‹ôè*>Ĥ8žB ,w²ŽgèlµŽT£<õ¬ÔÉ d¼Ï˜™™[b À"MYLˆ¸ùt¹œ²�R6érµÕÎcÓ¦‰@Yç¼�”íCs.>˪…<ªüv›‰Lô�)£eæ4�³‘¥\ *‡ýò8— ×ñ=ï$À­ÛŠRÁÕç¿=Úì,±€E' ± -›^ÚHDÚÜ)P->šC@÷—ÂÅçË'DÝQœ·3¸„EÅëQx½lÝ�é½n§¿éIŸ]2a›8'm©"@Vb€,í2WÓæfIÃhÔŠÁˆXõŒª’Q¶Ø'Y?gÉ›¯5,¼v; *�ƨèB Ab7Gè •#›S,|í ¿U Wƒ¦HVÓB/×´_¬tÇæ/¦4“ÃÖèëÔÐÎõ½@ËJU"ôzËBªÒ¨þY Ð˪m0¼‘Þ”âß$Ô¾HÉúï&âú$žvʬ=BS¿2-?Ktù_^o��}Ɔ+n`=-Á™ê«�Å;a ŒæÍî‰d]¥U%N]¨¤Š[ÕòÖ¯�ñ|›ˆºÕ¨¾*™��Õ Þ‘íEo"ë²Û:Ù¥é;؃ó³ÃXáCÅ_‰ ÎKD±¦{qîôF;ä1„Œ_Qhª+Ì9¢´ -yâ|ÂXdJ ¯ÊJY�VÉá¿%€¨BLøàÁÂòz/G ‹&ryöM€>Òà[äQºÂa9î¶s Â2Ry -žÍ?TÂy¿ÿc乄ôƒ½ Ý‹Oe"7ªgrÂs…ü‡¥nFCáèñHß(‹u)Ó±L œ¨�òн�NŠuK­Þ `¡±¼è�~¿¡ -ÁF>“Ÿ^o¸8“ö>ìHV§d'J.”¿ÈsÖv�lcdºle*nH ^@ÆCxx#pxR�$ŒËvYÉ -f±²ú”~—Œó_¦êäTŠª¤�gu¹K¶–e_ w‚7Aó˜ 2‚OæÂ�’¨Ãਵãtxà›„âÀ¬[äÝ.ïuƒi,Í+3ð—áÑ" lT{_ðÜ�¸Ã?aél¥ó_o~4w;ÀÌAˆ$�¬Œ$ Ц ?ý�©�HRùÝ>àpþÁXBóæ˜XJÈJ>áÊXn�H& ÌdE«þ4ŠÜ|¸¾y祢 àòòüõ¹›TŒ'Êûz?Õú¿è·ø¯ëãÇ‚i}fÑÜ&'ºø[àVåH59cÙÒ�L¹Ï£ËßCþ2âXí°ª¯>YÇñÝJ÷�ˆbv/�\tQ«øoN@‚*K(®1SJÿ+\ˆi Ž(¸²ô·i -$òMUŽøõÚåÄúö†ÏÚ!8š]3éD#e€îûRÑ&5wò6ö:3æšp¤Ú†–bìÅïnÙÊ<|ýåî-…#s5iÈ*pôdzmC¯ ;ýR?€å#‘€±·S21îlöX!Eìì� /·ªŠÎüÈ-mÀò”õF ›Ô.¬-°ûŠª¦‰àV]¨¨VW%`ø>2[Wq¡JÕÏ~&ß(÷õœ�én)$²<¼Áe©L¡@Ùë(Ic«„¡®šÝ-+êb×ÛùF•/v”inPEšF0�‘ò«ºRÕ)­ª4‘sšYÚêÿ $…lZ`ˆßýKÉGÛζG£ÑÛ³êh¬BVV{ªÿ<Ÿ§cý÷«òìXÑÈ®ªþ6FGû/+¤ÕÁWÇö5ºR åp(?>‹ÒWU·¹Åö2ü$5T%kÏÅ�: <ü ôؼm0(ú£ÑVŠà`d¾,š¦ -d£à+�òìh4úål$«}q¾¿_þçÙ+s~lÎÅòð°<«ªcì«òªl··%b(H¢çŠeŸùpû˜óq´Ÿ•ÅAÞ~.6ñwçbå@å2`ýà%€j€eé}Äýj\öÚ ËuzoÏT,Ÿ²pÐ7zÍÓüÔ~þ¸¨öʼnV"ù6¯Ž_UÿKñ‹óý¡¤ †2Š;Þ‰rl,é5Ÿæ|¬TéNœëUšóÑ_÷ç»EKÒÂx ·r€üHƒsg�ž”¾=ú¹åž²ôìíˆU`‡�‘œP}!4N*Ï1 -�Uµ")«*–g”0Úåå¥%ê}¿”kIñ’®TÖUÝØ½ -þ`îÑb§·±¾‰âß+„mú>¶„Ìýjtö£�”ƒm½ |0*_ŽJq~0¤p$ÎÅ—ªÍJå„'Öt�¯Ê¼�‹óÊ…š„Öíp„Ñ)�Íý´Wº¯ZtÈ -rìeÃ΀`Úõ{á¿·tŸ?MÞ ÀjÚÃâ¦nD?a#Å:-€žÔpÑÅí×-ýFîÐݱDeß´ºs 5@.ÃmIàã'A¼Å„x–Y:";Š‹g -˜]pŸ`iü«˜F¬v)i„d“F6Â@j €OüÒ>!±G<é/ô‡úÿ^ÿ›ë÷﮽ÿ]\\z ÃƒÃƒ½SÆå…¾ÖþÏÈNð/)À:;-6ðé´� „Ñ�nÞÍ=&@g €*ßW¥óƒ´;_uc‚cK@úrï�ŠÐ}„@[ª>=Ö‡]ÇefšÔñѸ5=ËËÑŽJù�>AYS¥P¹¨ªU=(é_…œ:Íš9R?¿­ -º¥ ¨Þ‰xô9!(›ëúèѾtÖŸ�_�Gª\ªýXgýÕ1ƒºŽ�ܰ«ªÑw9ô¤«ýrtÜm¢{©æ£-±ªÎäs¨ùŸª\ «c\1Z§ÕîFr¦ï•T‰sš&ý‰`´{‡sÕèã³RêË®êø$Õª`(â…MË*ŒªŸÅ9uQ÷‹Ñ8Z‰qªŠ#TXòöâÕÍŽk½µ;ßY^^˜C“^C#Tçª+-×€šB™nÚS&Ja¢B×K ßÍcCØUÍ–4ŽŒ ;]ƒé¨a‚™é~Uk0®Fç"Ry] ™”qG@ r ‰*­’qÕkfr¸!eê)RË�Þòò­Ã› ?�F7�ôŠnÙRqù -wà_lü.‰�ݲoåà/_J~ +å‰ú…)Õ‘®/å쀊—:ù'¿áÑJ®¬*+IÎ3¤!�Ÿÿ’USDÊ‹·ªšßTùV3{žu¹„ð(¬ Ë9 x б¿ÕÛ²ÝV7/åBzèŠ` ’�¤2’wx2Ÿã~¢L ªUýîËñ`‹¶ƒsÅ ÀUN~ä%°œ“[0çå‰3~ÔÞÃ/%}ì–»*À°œ«\ØíËÑØœUÛ[mº®ÔÎ.� çI­?ÀÁîvž¹@uK.Ý£�T»Ûë´W;¹×m=UeÁ»\JkÀÜ7š™{óSGÒ£¥àöä- -@:A¬�9•û/_:Óõç%ùE•£<+»FsqOI,€s#»ýü7qþvt0È›íçYòI7l+Ç‹ë�‹u¥?e:"ï ïö$l—ežµ¶Hš¸±TsP�G £Š%K�ch<~R b7@¦R9>n0—r*¡]9%Þ†ªõHz½Æ£F«Ócó¯qéfK½HÕUr&–”¸cå¹ò�Õˆ”éÊl8g”¶rñC%Æ×‚·¡×-*Å9s¸ÅùV›Ž¥†mâ1ôášs$…¯‘Ç›}‰?΀u�<ðâ’A€¢·i¡?;êø Õ˜ã†¥|@E¯ŽƒùŒº2X¹§ngw€Q>`g6²óõ Á§‰y} -É øçª8d¸6KÚàŽ@$ˆžXH’Exâ6g>¢ãýÈHC§@>%¼xr ^Ð÷£ÁqÛJMwß¿›DÞÝ0ð;¿A^b.àåÅëóÓmÿÊÚ _'_ïø"þG€Ì[¬ÆŠ_‹åSô9¡ÔÛ€¾úÎ*�üÝJ›nøTÝ6àøT«Þ×Gç%ã¾=Ë|Z¸o@|÷S”.ª/Õ=*�“‚~n5¿›�•²°¸8»8ûhöQ¢™G ÿ«iv±ÙúîÏ­Uù[|\ûUúÚzÅf@7\ïÒó'OòLl'Îùa<�NÝÃ7e_óIä_Íyd�.Êü ²X "P2Ó&¸6ñbÛrí #ïå[™²ò¼µx› %ï›YÕ�ÐãÇMŽäY^à²Ñ|ôÿ�úD¶ÄŸÊ».Lªz•b§EL¸´�­øÇé�6+rèìÈVžüY6é RàNÁáðË„îòÅc  Ü; ÁºX�˜@oöûk¶º»àüû(Äú1(Î`),<ÒàçPÀù1�›ìžèûúñàÍù?Ýx,àduÿä 3�;ê¹DŠ�r@¼‚M†›õãF†i$úúƒþ,Ú/!ÁáÈë–¶ <ÙÈ�ÜáÛyÀ{ˆæ)êÆãü$\¦2§÷Ÿf�›?¼c1À÷×ï>(·@ÿk6⿸®œ² -m+Ѽò%úbÿÂÿÇX³âÀñhûñÌ Á¬#¨a…D†2|oÕcyH0ñ�öƒ%E‚ª‰(Àþ ÏÇÌÌDὟ\ -ãÎׄVÓ§­Û?GQ½%ûô�Ïr諨µòÝ¿Lì§m ˜»t^mþ¹�qWÆúÈ7—D5Sú -Z­ì»?«n‘K¹æûuXT -µ{…Ê÷¼*³q®zN®¾ &&4¥ÈQ¿a1+Çß}÷ÕÄâw:’�ÓlrÍ¡YŽËas±ùÝãïT¥ÞGfÏ�[‹ÿÏ–^ͬ*˜TÕêÓâb8¥n!Ë•8þŒiÓgŒGؾ®šs T[˯ø6ÎÀt‹eŠò|*K’­ªô©LŸäº¨Ýšm ×…‰_X47;·8; âê4r@¸’½�>‡ Œzý=²5ȳ­|+G2Ëž.ÿød�1…_�‚²€àåƒäþ]2Àßßß¼¿A¸¾fÊ$€ðÿòüôòÔí)4®¦U¿L†Úûðh– ì³€PºŒë|�øÀŠg£?íq« 7ù‹,Ðõ¯‹�Ò§ßé¨dJ°�ˆ"¼¥;ã(ý3.i_¦ø¶(ƒI±¤Ð£ «ØÙ -pÉÓ'(¥OçøîÄ]fd’`x€¸ré‚_­ºèË»L“Ÿ®tTé�ÜžjqìÛ­?"H}eþPuù,ÂHpù—?Ë©?D�¤z;M=Æ -u±Ý’EלW¥#GL×�œ®zÐEb\¾eÇ'®Ü% ݵ¤ˆ+ àW‹ �aö�fåJÜvZ¸­¶fó\îâÄ �îe¬ßC4ÏÄy'/þ,KÆoˆiIq”çN¶âØ"�uΘä{¹ã¢´µþv -¸ç6X¹RÖùª(]ºyÙ\‘m�g ×¥³ß�_�«ƒª�KºSååèÍøêíÛ«7W¢jtT]½¹‰vûBÐ =:˜ÐYˆ"´Éw·ÕèêßNFcÚóËñ¸uWÚ]¹x—×Ay2�OF—ãªúIÞìè­ø« -Æó©Hþy¹K‹’è¸::ûÛÕ߯£ÑqpŽã—ã­•\)¦õ­ªÎ®hü:(OIìÕxüöíƯFGÊ�·çæ\§Q5–/"£‘RbÎ_º�8Ô7G¾Ða­„¼Èé™è4U@ž±Ôݳ§�§�ŒþñNo]/t�•ææŒt,<éÆÅ¡M#’­öaæøíÕÛñ1£-©8‹ó\œ+w®ªCeÔú\ªÁ˜\¸ºúùíÔœ�Ĺ’\î(Ïç’�èa¯”åc²iW¯Êíÿ’-ŠÁ®rᯗ'ÕÐ>8¹Uy{%£QÇ�z]]�ëÓ�Ežï�®ÆÕñ¸ÜF´ŠR;×`ä -3V:›½MqͨY¶Ü}©l)«|%ÛVNlÖÕê+WfÐÇSŽÎ*¥g �+­?]��NÊ�IŒ£SqÞÞ³JìɸRáÚ›pnGò[]ÉPòŽ8H¼§ H<Ÿ @•—z§Õ¹8÷;ûÉÓWHðÏ…éc ¼¸|à À7ï%û=Ñõ1@àþ£¡ë'$”‘»ìŸP@ôõh~PÎ33ýxNmòŸÐñ…ÁŒË A0'ß"5 vމ2×ݰ 7Œ´7!>} -á�w°À¼Aœàä𓤉ZÙi€ßBAÄ…”ÔÓà°äD"ÐÉ8¹‘Ñ?Ø�Á7Ê$ôÿwׯ¯i9¹x}qrá>?›+ ¾.í�Â÷áŒ��A?f.5ôÙ|Ñ@o¾ (�ñÇA`ºÃ2úÛ"„‡UZTÙ¦>€DŸõ$ €zæ¿«Æýêzën{VY,õŒôqê+ºÐ—\•§*¸úÜû¥>S°´“Ó*|À`(*ù*„ˆaU�+UE/ÿMEÞ£>’¾(ÜÓÇ©¯€úG”LUí”/½±`9ôW§ÊE�©réf-›G¯l_.¯Æ¯\+RÕr¼[õèT(¹�}¬˜‹]�Ã+S‰_ò‰ÊϰºÔwŠyYè*ԣݞDäÓq;F õÏòmj�‘8a–CÞÃEÖ|¼Jw‡·“õžå/ø¼éVdÌRQù“/USæ½=¶™O!Ø”+1‹~Uùo£âE™5ÛÏt¿ïnò -¢×èñæ:½åµ^££ìQ -UÂ?¾çP�ÞTlz£r4¤!Ndfï™ý…œ™s/ŒLk!E^8N¦³¶X^Èß¹òüˆ,…;á$)EÊPJÿ¹Þ¢÷Ö-‹ÑÎp¤×OÝÎØ¨]Õ\ª_‹öjo—ÊþN±SõsRUÊx¡ -ÄÚ‘ÕË”;2*ò§YvïÏê¬P7ÌÌìü‚ý�ýk. šà tï¿À¶bÚç¨F!?±¢£rr_/F÷ËÁµsá©øuŀƢ8 Ë}Ðý´Ý«Ž¢ lã «]!ÛÌHÏ·„T”oËLÈ¿;¨vR úÆ>„â§b¯Èrq®<ßg0œ8¯Ì9åfä¬LçÜÃ9y\•;ƒ�]ůCï\hÎEܳf@5úÿ޲n]ÄI�9éâ7îĵ¨˜#ûÌëázÜ»«’ù4€µsTu,,oî -¾ÈÛ-FP^êâ2¾ï€*3Y«rú$?�-FÁÐ6¤ÿNõ†¼‘ ¾v½4ç¹2Uæd¿�·ÚƒŸƒs‹xÜîÚ×$;7_x^¥Ò>ŒÆ´5DáÛ%™/<9>} *"éEŽ07³À8@Ûµõ5…›ž†\S¯Ø´ºÌÏwe+¢_Ë}["øôCÕ";EšfºS¾¬Ž¯.÷ØãÉïø…Çñ%ß�Éæ4Yø-¨ÀTWÅ–„¨ÝrWYp[\^Ü&ôKd˜ÿ -ÛÛúK`ÇXv›¿¼xíQï ûžï. @À÷�‰p´i 76J*`†½`˜}`¨œ€ÊÂX¡%æ~2T'ÖÁàWokü -- \è+è—#�ïÇ+}ùrA÷¾D 7õË»;ó€lp„¨A—,)$… -/ÄbíF'Yðl+¯Y$ A·°¯?«2OÐ"Þ�Ü ÒŽ|#ÁàƒÌßÿ#²æÃFKꇼtýæ’Í€ªCfU Xy5>æé…T�ùûù\ÿO=kë?8™´ˆìGÆ ôûWŒ’Ñ®JS€FZX�×U9æM5I|¹A1à¡Ê=3®ù¥bt1ˆK_8·eìâ�ë*º©ø/mööIëfà’«DéÔÇÿ9UYvÊš^$ú¼ì:M¾ím”V©E€‘Â$^}D^KÏ Œ; gú›ÃàD›“@}Ž�>ø¯l¤"KøæÍ."£¡D ��GÑéy×ÌïK^,»¬¹&S•Ræa\)ic Ɔ‰D[Mf‰FM[QEÇ4¼|;$Ó™ oä°p›{~÷ ÓoÔ±AûB'¦ŽIofž'fν œ+àà\÷ûÒF‹b™D ?1;0(„5S�2"ÝõË£ƒv·Þ~´Ó?(8ér‡ÊâqG‚¢ß[ ÿ±ÀÃofÄv€*˜ýº°åÙj 0Sö+ÿ*†åk‚³jÐÌ%=¥dP?±Àíz™×t K;»¢¿?Ø0z�ÿà‘?Å€±J×?]¾![¤þó—À @FžŸzå_–ãlïýEŸ¼²÷kô5ûOˆ÷áÿ¤@ßX«ñ´Ñ €ƒgÄ¡‰çL�ÁpO⣀?æÿÌ3-«Ooû¦#�¦Ç�Eæ¾>�À‡¬ŸËèï±°$”3e³EU`&™Y&óØ%KÏv!(²PóÌ�EÑZ-õ‰EPÑ~\SÚ‚ƒ9¶BÅg17¹ÓZÌ,ð]xö�>º©oT¼íäÞ—<-Þ‘BÅ�' »KEÕjõ˜íl’Á;iÒ�ë4õŠÖâ‹ÎÚrKðæ={œÍŒ‘-3czÙ ùéuØ…ÞŬ=z\?5Á†—÷Lc2©ÇÍ¢®ªPÖ×–¤` àB¼)Ii,L“R¾YŒ²ÅÞ�ÑÈ� 'nê„Ú"RA&Vì6(ÓÈРµZ‚©µ‘“Íþ)Ï•é›ûd¹(Éf�˜(s½w âF�Æ<›ƈjVcK£É\@¥Œóšg*øßü:.‹µæ_ÿ¥Ý7TËÓãÌŠ=&�Æœt€1a‚tLÆSn%@XëæÔ¸£‹pRaKªÜYŒU}%ÉÄ9p§J�²©«þ²›ì¾Y\NYŠ9êsñiA¥&†}[xag­À.I$£Ðžo± åQœ{S'snðvÞ⬸´ˆH*l -æ¼lwi?b îç,œž�¦ =/KAƒbT.ªEæ’Púð�_ÔÃùeJ”ÂÓOß´×ßõû£ûÌM -í -˜÷%°’’G Dx¹e½ß�™ú„¸ úÌ®Úmpæ“ĀͺPF†k€kÍxD£«>p³FDe«ÙcÃ&OBklŽ–’l]|B†óõÎãź>œ¦Ç�¹˜Õ«à˜:�G{ûPo(nò³=ÑZñlVU­ëAfí3^”ŠÌûÀävgu±7ú,÷”¨t£ä‹Y½�5Êo©�(⥆]¶>'UgÊ7²2½ÄNAçEŠKÔ†t^®B|Ù(6­Þ&óÈ×ÎÒœ -øC/¤ú”l°Ði 4‘0‡ÛY¯žÞG*„ÅÏ�ÿ‚ ,¡ªÍ·Yñ`D;² �6èÀJPÈÎvvËa5ÌW•{ÞiGŠxmmEž¾Ñ-ôB;åN5håU?ÕèŠ)Ù(⺅©ŸFy+ß—†`ªô‰×„&÷aÈ,Ï«½öóª‚áe-¹LD’$`°28J(ÊKÒP‹FÝ/Y¹&/~·[ ú;U! ,„'&»Aý”– ¾(þú« -*™•/LB-%òÛÆ·Q&%äÑO#Q¯£2°Ép¹¬[”­É¶ -ìÌ-hÿáV0ñ.GÕhw¥ïÐrA@dzpNR�]ük%H“.Yõê8eÜg˜ë#nHí¨hgäµ tƒd•¼*ÁÉ4¤#™.->R-8×aæ -µØ®*$j`½¬võ%ý*'–Tœ] \¬³J`¯ØÁÝ‹IØŠZoB髺mwBw8q«öë¦~ae™µò—µ…d³�x_$á÷$€Á_¾rl£eyã’o|¯<<±#«Ú¾Žå€Yõ–ðÑìiÿ*2 pX²°?ˆ)ìuu¢¹Ðމxº»aÝ}ˆöuÝËÙ'ÌQ®1¦ 2*ÛBF„ITBß¡§ ±%CÈ£ÎøÌñD°8_qc<ÁÍà?þe„LÄ+D¬ä@žnè P ¸Qæ„V\asÞø»”I¢÷ïn$|þ¿~ýæòâôäâôð¤deþí�G£æ‚ÕWHÂr|1Öot -üO#˜U®J ›oK¢Žv ‹Ôúÿ-î¸`q. "ÆÈèŸWWÿ™wFBDã�rÇ¿¾c óúŠ“0ã(>§„Â*ð­Þ²¸ñÝðêõ¾kÄa‡ýߦ ¥Xnj` -*:‹‹É`Êüiç)3 AÂÝ£©X\ìí'èC W�p�ÎëëúÊXJ}#¡·üêû ö€|Iúv|Kk�B¢EßY«JŽ×p鄞֠¼¬`=îíU]|+�ž¬�ÄÚý";Öûþõæ5 -?/Ym0s¨ÆèRøÅ™r£!^$,¥ˆtqÈç\n$¬×í.�IE!ÑÅK?p Ækî'bFºôzO‘3¼?Ÿþ�ÖÓTF–¢ðá!KI�«‹FÔ�Êj7[Ld—:` r2.dã~‹•¤ÔÀF¬CàG¤,< -*èÙºûó÷aÈ¿{üa@hÂEµå‹1 ¶“íõ±”i—þãý­LN„°F_Z A%‘Nú¥~þD“¥ØFƒ•mv¶Ld3ÕͲ¶Ô ÉÕøN™‹”}é(Wž �õ·ð`Ú¿Ì«b%+�Ä9ìÔTkÒI ‚ÑãB¨âVô¤çǤØàT•ìûÏ©°Ís? ]¾Xd@3¶Xø>­f-î:‹�sŠ %Æ/O:o–a©nxø á€^‘uzÝ2oµPï |ú÷SÆb¢ËnYîGe6ð -K^J*Ÿp[/¡ñÑc�éUM2=ŒUå*ã§{[DѪRåívZž‘n6��PKknIOäÈz]!ÿœ*�©ÑN¥œÏ@e_¥ß^ú£¢Õã½+'$È Ã뀊$Ðb„².·“R@§~Þöp¤ z8çr+/@6dˆQ^Öû–Ñš¥’"�JW"_!�6ÿí¹‹”’´1ž Æ../ÙÜþÚm‚;æ « öZuBà2þã×Ô×�®/ô9ytƒ>þ ó 0@m7v†‘Ìüh$Ž h–×�]QåuÇ€(wqXÖ°”ÁÜA‚ˆ1+²$‡pO3î=]ØÖQÊ܇Û/Üòÿ1šÿY(²�Vy À›ëˋג›NO½ºÒÁÀ#+%UÒ£ýî%×cTäl¢ÁwC]×�0Õ�†è¦ñÔšNé¹ÕùW·¸�@”Züg €¤�´E  ;= Pw·Õ¬°?(Z\ñ>|8}~ð«Ip%-oY�ƒÓŠð©>ß ¥¡/!½@«ÿìz£1Á3;‚žÆî0½Æì"üÚ OS⑬.ëg,ì#�¡ƒ€Fk˜ƒ)_׋ÎìÓrM²{MwÔw»ì¦ÇšzÒè‹Ä§èV~ È -ÍuBJüì#¡ÚåYª2Íϳˆ_èK�¹½Ž å�™�Òó¡^g¶!Õ˜ôX$ïLª…gTpæÈè«ô­é}£Ÿ´³ŠìsðvñuzM»YÅêÑp.°ÂÔê%ˆÏ³@W %q/Q™-º-²Ójüszw�ùoCâ�‘hª:ìa£#TÚHJ(‹V«(þSj¿3ׄLP–+Ù¦Î%ª˜_qN"”wD>pš¢rÐnTdq±‡>�±qòŠFÇKU¬®æ{²P*åœäqª7/!¸!÷^Ycñ€—¯F¹wQvSغ»(7XÇsçªlåãbs�ïVU‚¾Y¹5nc³÷½±yS‘p� ÙÛQ™ËÚƒ‘³ S8WQØþ¬láb ”"/êàû_PbîîñŠ%g¾@,Z+òí©èâ2¶µ÷ŠÀ—oÞI@Àóýt+0w—€ÀR� -tÇž[?gÔ=+L¦)óz†€Ý£­cŠê}K`eõÞþì†0qÆþ}˜Ñ - ¹A^Å Š -è&x~² ¥P×YŽñïu�Ì*¢ª>‚ƒ5B�‰â•…ð9Z'ˆKúþn>¾ݼÿðþk+«ÎÏÏYõçTR‹ÿœ*;Oª¯®\úTlqq gmgÒ �/�O Ä�70œ�!&žƒ¢@4ià,³UÖ÷§]‰G"_M`¿H<<|8¿ “[‚#n¡ÏC±ƒQѧòžâ¢&Œèa“ìiÿ�¢;0ºÔXoìjrN‘½½ÆnÐ_�'¬O ã1¾ÆEÁ$P l† @E#wÓº~½ae`á<Ýê`°UrTõöøUÈ‹“õ|‘;ô~…ÿ+�úzò<ýŠ0Â,>´x1úÇ=<("�nB(€Õ[ Ð÷(–0&š¸ -ù%•(¤’íÑÿ¸ù 4ÐÂ"ÀØ2™%”gÞððôòõ›K=½~�$)®_&¾•ÔfVÿ¨Øt£Ó€–ŠWjÿwM Œ[`&=eTT·Hu@túrÏÚ¾Þäïn @Š)Hñ'z €ç8?˜‰ÚýsZVÕnH_`XWÔäñ\ã�°E€>7GUž:¯§Éµ>dhÌ5¤?¢9±ñmjT ’ÚK«1¡ -‘Gp ã>Vœ 9† -J­gö’p$nS4œs‘΄ ’;ù αât -¬Ú£ÖZxÜ€S;Õ×p姈<â[š›Û®7ô—âŽþÛ!~òÔX˜™[ŸwÆê™eÖ±Šòârò0«R,Ëè·øH‰ŽÌ}<Éã¹…o…ºóè3±%fâV°«jNtËo"¡³³1¹†OË.„ï6LDŽAÌÎK´IYÚéÍÍ1_qAïÀûÁ­Kº‹“Ó‘è6ZåùkÊLÿpNRuúü˜*~ï¸%Pm4•ž~¦Z5º@y9¥#À�ÏÿYdo=‘tG$Ez8”%ÐЕ´Q ?ݘùJ—‘¦*® ©ÍU©Fe) fŸ >¡»]å Õ}é9 2b%@Ó‚¦Ó•ÿ^fcsNÒkÎñáÛÑDt©‡ r»�ÉMB“¸(N��ùÜ ý£…B´Yd³�S�«¹Š(Vz‡ŒgÒ;V`£a§W”+Y!WìB0:øu8ÖËòªjWGžvZç¹$0É!ÅT!ˆÒeBívQîO2Ýäüþ<ÓQ‹ùº=¿ŸÌt %Ò»–Fø9,Õhµ8+7×C–:”toH£Ãí¿yÁƒl¥8J Ö:¿ijù ç»E% ÄEEý›Ð¾J‚ö/Ãýižùðþ�íZÀöþõùéùùÈSÞ¿sÀûë÷^X?@8Ì!Èüä¾tA§~�-€k] º~Rà pf´½`]$l´#]Pع‹P¸×ÕNõ°gþ�ì@ÜÀ63ù·é¨íq‚1Cú |Ã*?¨öÑ›€´Q·à“-Ö°Óð'E ›�HÊ]=$@"€´ýÞ]K뿼iØ‘x"én*2n…àe»5ð+ Ó»äa}wd QÍ|7ZŒ¦Èóü�Ú|�ÿ÷ôñ¿¿¹~£ËÍÍõ%mÙ± Ð¥à‹~n©»P*ki d£…ÝT:WÝ„6M?¿!÷“,{1f eí·FY8Ð&@=†€Ã`¶µuœˆéÿâçÆX//øÀK‰—�<Ž$D?ááÏrA´?ÄèÅy±¥¿±!î+92éýVÿÝBúß½W~y €k¡?KŸœœìž_²6'þ\”}IÔº‡¨‚UûUâ†C4©0­iÖ•ß„TÝ•ï!€"Ï h`T.hÿ¯HÜÈ(ù%GI©f�ħXT•OÆXoÓߌ©ªkÒ�O]È™0B7 dü¨ƒŠàáÜ7º1¸ávX¡J3ÝËÔUT‚o(Šøù“±ø–ðeXŠøáÿð¡´Q‚Ügvr͙ݼÍBGb|ÔNAÁŒ~øÒÍ|hÃáKÌè03âŸHaˆ*µ%,}�;\ÜðhîÛÅÔW!º_d˜[T[Úôé7´èÉ€E‰)ò­ä)P‚�iÌë—à;6¦çæëÑ1ëÛ¹o$#rgÜÏœX†â �@nç”Ê3ÒsþD¬ú“‹dQd¦�œ¦{ûTŒ²GÂÎe)§°çg3—£ ²"»âI"#yI‘ Q…ûÍìÃ�âlcÛ;µ¿9èûþýCÕl]m–å¨Êª+ë–©=�E€­õTVÿYdÀ(ËŠPA K `z””ð ž”Ek dÓƒW’î RËòoªsQïÅI3ÝÓ€F¼[Ê?áLˆõ‰ºƒ·pèv ¡Ôû©¬~)³J¢ËQpxÂ9͹—èž&¯ ig±ó®b$æj"„æ„£HrjÜË:åbËËFLÈ…�~5 -Þj´0ÒNŽºùˆ±u`\ß‹óÅqðT”ÃW•D—JÌã"‰^’aR¦OK]È)žè§ë Ý.¢m@�”4éìxDÄý”÷®$0ˆ§Ï2�·¯ŸãP~¦×ÅJ€óÒ—ä0Hè¢gL r6 ¥ åûÕ8Ë÷ËÍÍ5á?«xy| Ë -OˆÎÁ¼ð´¾ÁnÖª›.T\TJ+F矗 ½¡^ÕmƒÞgÅe Ì(ˆ±¡_"áú—éZ°ïq~HRZõøæâ�}lÎÏ/..ÙçVºnh¾n`àÀhhdÆ¿°š!~ü?ºÕƒW ×ü˜ÃoÞ`.dÿõ×OŸh¾´�Á´x¦>÷áiÖ€±¿2¶ô Òµ^:˜1œ¤ŸNà•=7 ÷¢ö–€J F©q @rŒºVÈ q ’…] -D¢››yôHÖi¬€È¾�3ÐÌŸŒkßÌÌ[y0GÈAF,”XRòà¶@º>N'¿ù‡b]?Éøàï Ê(œÈoư›"D¤—x'Æ1cWÝ�†øß!‡K–IC÷?7Q¿LZÓå�8ZˆïOŽ,„~ú‹ÞƼÇËã—¡ßÂ¥$‰I´uó $ÃZ¹W¢�(Ò§HãåàѯˆÔâ"L8[”W¾!ZæXt1�;‚˜ïÍÍ,·�Þ›cNf_)â}F¹wÊt§‘]6S2}²×éƒ<šaòûï®_S}©û㪽76¦È.Hõ(-²bªÂ>~Ud‚ÊáøÈËÖšÆ�$€}ÉCiØ5ÂÔ]êT˃Á“ÞD§#8z½í�1ôB̰£Ú/éÄnæU.€ ÀÑœÏÎf¹6„ÊããçÛo…ç -tŠóÔtÁƒ8ÿ¥l3pl·2æHõs5‘]¦”ƒvçµ £_ÍyÀB~0LHÖé [U¬`RÑsù¼Ç¶,ðræ„’rîqpeÕÍÆÊn©×Ìç£-‚0Í9â•Nïà¼@ä9Û¤&Œa½ËBQ' tV²6=é1ÎIrÊtH·nìϽü°Ý>¡tÚ9»…˜Ø@yú“ÒÉ7m¬é{’š•ðŸÑÐó¦ÌrPû£ª=¨vÈ«ÿ ØÜT¼ä[¿Øì÷‡8cPåd5£ím ùJ�Tsîw8ʬú½°ŸÖÚ¯ß\°ƒÝáééÅÅëKÖ¹§ñ@'É%x°]- -@Æx ñMQ²â‚ÚÀ/Ò�¡q€–C-Èï%ûp­{ Ú`löb¼7:G@�`^(άDÝÿøÀOüÙj@Ï6Æ·å,"`Â4Ä -Æ(p%(7mÔ‹"ŸÄÀZÿAõ¿+#È•kIo^³àùÅù)[S Nc +}dådÞ—ˆ:¬†VWj<¸fsí?©Ó£�øÞn~—äú!£Èh�ؤÅ1û”Œã"3ÕãPÌWöâ:ZhiHI¿‡w[ŒÏa »ðAÄF�€Nà30ú�_rˆ±ðE9@W°€{‡GPÄ€#Âkpo?i Ú™·57F ðfà~HÀ¼[Ä3¶vÀ_Ïø ì0À\^ J‡9W(J†lÂîª2Ö2¬sN¦ZRKÃä Ù/‚jW•<±€•ËS-†¿wAº”áÓÿàŶü0"dv°�EÔýýÓç-qCÉ«² % ~fN¢^ÙŸôRÜ ¿¸Œœ"#ë«â”BŸÂæF–õp²GOB1ò¾HÑ-‘Þv¤'~2£PÎÍÏ̱_°D©Gµþo{|á`ú˜™‰ -ûwŽº®„Xj.c“¹)•©¿ë¡}VÁ¦áÑ«½­òlXVWÑP‚û¾"íÿ(Þ~?£‘ªoF¨?Úm殬£ŸV¸Bãî¶|s�7ó±ªxLÅî­ŠË~?AÉÀÔ?.»y]�¥€Á'8¯^�dåYUîÿÂîF†|H0Êe_.FV—å¼Ñ.}rÐÎ�<‚;sP$,�6Ý û ÷Ú¿kÕkdK!f™*•½yª -¶Þþ +Ò“m0–yöVœÂ¬ðH±cÊø~³B;E5·K6Ÿº:öG“<Ö•ì‘ÇúÉsuÅ °™o—/³vì�0¹8Ï7!'JQ -óªÝ®ÊmëàBç©f˜šFKPPÞYRZ$Æú›e¬C¬†å~ˆ7ùý³³Õrøãfgƒ¥8XΓ~IÊ5%–%ˆ¥~ìp�ç»'y;Zïqçw˜w§Aâü [‹!£í&6Q¦U^ŠrïˇqýKt-”ò¶?1v z3Ú”.N//__¿Ñ‘ôöø�…­ ‡3är…ëß'MúÆî÷È¡¡Þš5&Ë“Ïþ ›cÐ}óˆ Ç>¦Ü -©ij`;›"I (Dœ�׺»ÝÀMÿ„%àÇ•„†²\ŒÌ„ò¤F�óÿ`èãÇ”P°' ÒÐ ã'¯ßÑCòæ‚€ÓC¶U8UfÕÍ)™[Á(�/Ðß@[ÿëÃu"u$§¨õ\Ó©²ä)8c†ñ„®êç …O+òh¬˜&ÿS7:â.‘°ìv€Mƒ«¨°S߯ǪQÙó3ÄDÝ�Ê"¨ À,¸‘™ì´` PT‘uÌ„/’¬wÃ�ÜËU'9E0Ð�ü¹ @Û™„˜­�Lt‚s8yD ú餋mŰŽxkÊž:ç&-“¶Õ!äPãávÀ|#�À€Ëm €Ã5-L�p¤RÑ/!åV ¬GÎ/² “çhP¼X*.·DÚ̾nì×¹œZ¾Q4XÒq`Wµk¸òËy0ûP,¹ÀÖ‘å¼FÝðÇù…žÄÜ`b~#]ðÏ¡T‘,~‘@Ø¡ØI -!q2³;~·¾êCôø=ªFªçÓ-[ß•Yñ7ëÑÉ@ª¾èˆí«ãcÍøoÂ+¬†£_ÎF?Ó.}6:>>�ÎÎŽCµŽÊb8’!êvy€¶®;o4< <¸x 7qK}=x© -{_5ûø`%S-~ÞVÞà�åüÍÝÀù˸�Ê­Á[6)¬ ¼]¡¸ƒó£cI#¯þVÑy!Î�~9ûÙœ�Äòhšó3q~<:–�Bòî2ûU•gùù¾xQÀü«àœ¶åDB©MÉ*�^¯4Y¨Hmá’ byñ%[/]ï|¹×gPhŸ�5ëq -�öü}�¼¸“Qu,Qkü˨�-¾=û™Œ5çf‰Î�%(Tæüe5{dÛA¾õ¼b§áúeU±oh-%‘ -çytøäJW– ByaXŽê‹åÄ'I‹™XiÌÌÍ>xþ“ý6µ-÷¸¾{P»ý>l¯Ês÷ �WWWo¯ÆW±ë>tP -ŠÜ,ÍYÕkÞÞxûUu„*-ØaïzÑñøÕßþó—_äÿg¶ŸßH%ëI;ŸèfkåùhQ¥\íIY{A„i¯ÿ ¨ñ¥Ã•¥7ãÏWÚ[£ÑxDPú Žà[䟰wvp¾›8Wmÿ<+¯^ýíj…ˆ»è«/(ˆ¸z½®,ØÒûÛG£›*©Ãn h4¼�”ˆr3óM£“¼š²v1þùoJ)é®ìÛ�sQ9` f‹w±||$@ŒWÕÙ«Wߊóÿû•½K.é)ÏÊ„<*æcs~ HX˜*�áÓ¯¿z`½¬Ca×¶G'è+�pi™²ëÞ@�#Ç#¸‰Àgbô‚nTè×!@`üÜ!ˆhæ'b)ðGšàøø )@à�ÇÆ‰Àô‡`ü×Íßâwóî=Û¾‘ ðæÍ% ‡‡ì«´}øúúæFRÕ{Öð² -rv?}Œ-êôúÏ!Š -³®õÂ,êCß»æ¼kd„¾%›rAæU¿ÏÛ6…®KXÖ�¾ú^AO�¨­¶‡•Njÿyƒ§ÀÔ*¦‘Z?¯*�Nú‡cH}—™ñǰ1÷�Lä!Åòpç°"Lû—c'f`Ç-9ϰ­½àpQ ÷Œ0*ùQ^ÅBlCþ´=À nÈZ˜³Ê ¹è,I‡¹à­¦Èh;ôÓ=ô[ÃÛPµ 0TϨþ¢Hvra±d~nþ[÷SÒ€ðíâÜÌ¢$‰oœ-¤QHì¤Ð½”�ÈBÖdˆ§”T“qøuHÛÇdžæ™Y¥Y¹œf˜¨°ìu<˜[ØP°¸Á¤n0ÅùÇwz"EÜ*ÆI}µ%Žë¤þ昙iÿʲ�t�¶²|ëI{ÀhyÞÝÊžËì¹N[[ú í(ÏWžÈzkË{¤uõ|‡@�$—ÿ,k¯(øDnçíöŠ"KäÐ|‡#ñ`@Ïÿf]LáÀ¦8â‡wK´%^ž¬ˆs¶ëŠq³ž=ß’ïçâÕ¬ ÿ¼õ;ÐI …¸3ç…°k^SöÝáÑísеÝnAíöj«½*{Ý7m²2»ØzÜd�ÒÇlc®B7›zn˜·iz´(I¿¼ù]NzŽC¸Wþ‰Ã­.±uóçÿ"ž·rÝÉ/cBº÷ÀŠ�8×tzòd+qž²Ïä[òœèÃK¤n«Ù|^;RžË*üÙ‹þ2�X·[*ŒJɬJ1óªMN?»ªÉ�Î- ÙŸWòn«¡<ð,Y³`+»XŠ�”ñ~ÉDtKOþåyÞn}žéfÎyžæ<{ògqÞvε•kÏ'œ“ÃÜ}‘’®? þ£�_è/å^h÷þòd»78¤àâµ$–²a�F¿3Ä€¹ð¡(ƒ·¡øÿã+þòÈ)zÓé¢ô‚¹=[_?ß°Ç.ÒÀ Z8>@óXÀs€hÀ™x‹B#H?ÙK „†boÙ î�w=Ù²‡e =‡(°3í „Ï ¨'Æ2BIÑŸ5‚`ŸY€ -…‰ B÷�¯�ðäÏë×燒.·ón~ðúMä#k0Pùúþo(VÐAe·h;®Ù@\õMW~~�+_ââÆZÒ„ôàP'-ÖN"ŠxJÎøÅ_OÀ 5vŒëÄ—/÷^ï¡)ã{¼ð- a¢ŸsãÖoIJŒž\¯erÞOwXúÜÕ½¾äƒ~§I<�Ê8~¾Mæ&±æRç†d »œýe›»éCöÿ#ÿýƒJô9õïs)BŸ3ÆÁ-Ð?ÈUnw+w+l ähÐ~2è -ª$ €µBÖ$®«hÕ°ƒöŸ£ -ŽšØ6wëd?­ -€tÊÚM)|=Å  õ«Qn˨�yþ/‰sNâ9j~Ñ–àd Ü4`B¬˜'=Ý[s|Þl²’zºYW\óW]K"±´ý¼Ysž‰½Fl vWZ+H.-ËÀ×þŽàÙR ðê8Ǻ#L@ñ$^ÖŒD„àÌ &4A¥Žx& Xò# Êò'ÛÁ¹xV.u{5ç‘éö—ç&X‡Ä¹æœPÜ­"•é…~—Êtga„,×ëî*×CÚØ šBV˜VN*wW%G=² a§ùXg§Ü¤;’à¡åMØ[«ÿ-lXvUx’ÉéFŽÍó&ƒ8CÔdcå{×[ÍŠ‹’®\ØÊzfV Pé%!œ| õeJP?ÑüïÙ(ø‚.].NUò«ÓÑù¥ˆ&Ú±‘Ü´ÍÜ¡¿ŽP¬ÿqÃR¼‚J™©ÑÙ�оrCï?J¹!ÙnË7˜ : œƒµ~²Ú]£¿Ž„Ò2¥×@~DCÎ<É5{ú(ƒ½(à<]lf¥ß¡ÜÃŒ“‚Q¶‰A6…t#¹‡Ø…è¨ÿ -ýƒ’-xg íÿl|yqÁN -{¥ŠîÉ%2’Ô{rìÝu,t?½Wu¨š7�U縋º8Îu¥ç›8Åcr÷É"9¼¥ðK]L o¸·+\ljßí’Åçcl-¬IœÞÂFònb<Ú6|Mž’¥)Lq ðG¸SÁcCÝOŒ˜‡±`‹{Á62Ö=7v¼ÕOÉ�ïÒ%ÝLL&>nÉŽd,åU¸³[�¦¼‡a<†5(†€§Ú]bò“)Ù‰¸³ƒú)€äMMÉT)ÌõŠBL›ÐÇÓ„sƒ - 3å²B‰·š<ú\?$JïJ7ÓÉš¸�&Ù"’¸Ù)½W9pÊõ�ßÚ)÷6ðïU¾�EaŸîkGwYS÷ýÞ1:<¤±÷¤¢¹÷ :¥µyoô¿Ç£+ÝÉp08ØÐCU'ãq4×ÓÎzu5:»*óñÕè'œŽ«j4úiüv<éT�ªÑŨ*v¬­æööv±WÒŠ›§�ÛRY+w²Ç=Íë´ìW—'í«ÑQµƒ{x0'´„ïïÿ¤(ÆU¹7ªíüVÍù@•‹âÓÍ º�Þ˜ó=q^vż9W0Á¹PŽ��G[ãñ¹›ˆÅùiõÓèí•8uòS5:�hÅ�,ñœ}àåáëö€Ù­˃Þ˜X'Žó²ÈÆÕ>ùÖÛØ©ŠÍ^§óŒð È`Ô9ðr¾ñìÅ@l…xƒ±¢T¾ýo¹Ñ]Ü—{щñò`4–y.‡Êì³³×í«ñ¸: ÎG§âüÍhûdœ³oÎV3æÓ*‹·o3½:88H· -ò :WŒ«ÁŠ’Lo # Ê—?�Éβüé¥{�Ì[Ï£C1«rPªA¯EÓæÜ\5~cMÚ¼À\‚�/<$BùâA†UÙsÿÀfÕaË%Hq‘gJGu|¥7Lቱ}ô " À¦ÑŸ‹, �Î,h:@føËF?¦*b‹•4}ü*@‹)I,ÀD„�Þß8H..@k‡W°À‹È:iù¯ß\ž_œžœ ÙîN/ÝXÂŒŠë÷×ÞIvúbL]‘Õ5ZTµ®ýT¹Õud¨ÿ·Æw¸N>L,›�%ãÉ5™sžÕ$y�ÿ¹‡Òêœudénú6‘LBXÙ)Ù%?ÿã,ºÀs�T]ì.në3ÝNîÀÙ9e]“+µÿälrã,ƒ;y“+6¸•¹\è4ñ`6K¸‹�#+¸ 'XÜR8Óë£ìÌOr.Œí:nëS"¸vÎ9ËíJÖ°‘›ÍpöÙ!à÷ Rý¸+�§Â,+z÷MÕŸGT¹‰F/Ë—ån± ÐVÕOC†©�Ÿ][oq¾ÿ²;{[æo \é=bú_bn‡aø,|3àWfíüÀœcW¼� ±ÐÏŸH&b¼ë­¦å¼:s·w±ÃBÿtz³·ïÖ7:Lì|Km#дçA1› -ž~m13,ÅJMÝ“§Eùo•²B‚õÙèo•$$(!JwCóPuæV8¾ÕÌÈ9£¨íÁÇr@ž“ãžL‘ò¼—Æ­êíP/\°ÉîLUÃW‡©°ßO oî'´T�J¾u|!ô›ó½ÁÞ^å­_¿¾d& ¸'¥Wøýñƒ\x–{ éG9¾ŽMtzðÒ�¥�Y7BYù–’Τ}w·Çz ¹€8�ûïÆò0òêF¸¬pèá­=v�v{¡tŠÈnå’ht§-28ˆˆŸàaAÌe€Ý"*À¯øY$ÈëytƒþôNðLÓ©$¡¤[k#½WÎyÀ‹ó‹ÃÓƒƒ½í¼W¼~'k)þròî†-¾6 ¬‹º,peÉuc]íG¬Ÿ«è¸óÉÆõŸ µÿ] -WÔÅ©¿v7É$¼Ç‰ëçë$gޱv[³›âÆçÚM}S[Å5(Yès·-©Š¯óD�ŠÆF‘zß"=OøI>’/ÿÃqÜᢾ‰smÂÉ?M“ ûüœBubÃIб&ßÖϺÖ|'‡áCìÅcP} £;æq›n"«kC®¶€+ËNá3þõa_q“ÈæâMU³¬ÄK8¼=ˆ&¹ç1ÝÄ) ŸOì‚¢YcB„ꄊ±¦ƒÛyø²y­/žË*kå±¶Mσm*](€Ç˜µÖÓ–Õn{<&R£ƒ€L ïd6•,ÐÌ+£�Hئ�¦Û½[îJªçL__k΀¬>[p.gNÝR��Ñs�ží@Š„U¾3ïú±‚¢n»ÛúUÙ°ê›ÅNÁp÷M�¢°_º?³½0ãMõQ³°cc^¥f’kæƒi{ÌÜ[»¤i wØ$ÿu¿}0²ë8%„Ÿ¦Åy¯™ <©ν€ÜåÛ‘çù g¹^:oA™>n•¯ŽYÈÁ‹ 2_  L´#oçb&Ŧ¬ØXšS…C/Ú[u&"ž’4Y©Wƒ‹^+c\¤h½`5à T DÜ…à't„-ùl§"œ±Ix}›Á¹¢0çL£€Ä¶^¶„™ýèµøÂ/õ9�˜Ð.H÷œuwðxs^þeoïðäüœq€Lt¿~÷æÃÍõG -ü%‡ÒÞi„G,`ˆ?=îi^ -— �–ü3 Ó¢ŽB- -mßÖ2 ³ -ϯ1+ÏCóhЃœüõ ·õx´·:™�£þ6ŽGEÆL;Vº£7Àn« €ö}©øi‚iÝë�СG’BË¿¤Ÿ�YãïúF‡$€wt\° à‰€˜€õñÆ‹‚ÿ_&UaªñÒO§¨Õ\¦j?Õs¾»[N(Y„�‰yxT`Ó-Éq]§óä&.bªŒ-Øü–Çä.(¬øÇ‘}®Ÿøqïçi"¬‡ >ûB €“¿tÜŠ±ØX¶6ÀÌnÉ@žýçW.aêç‰q˜Övw G:‰Ç¤%k]ü«¯üÒ Â te'K.)¸;ÎÓ5˜¿} <ûÊÉI�Pä”~èËó¼[‡CG3yŽ«ïlaÞÜ ÙÎaÔ±û6Èæ·?ýk»[3…qXÕ&¼ûM €½Ô>Õ&æÎüLŒ& -ãÉÃôAmù{5­±·°öÉxúÝXJG´#üΨÖ÷ørêÞ¾\Q¯ö¥óWr£JÞÐ r¡›q‰)Û‚˜BÚh.Ä ……oÁѶâïFò)¸zu|ü×êeÜ‹xÉ‘ùcº|•7ós‡b�l/nå–i‰â»æapÁUŸ…‚އÿçÛ"{‰tA(IB€'.AÁy;rÈ\ÖP•E - ¢Ìªñp¿ê—7–Ä]ï±6®p‘m¡¼AÀƒF§kŸ/h WNy@’«xÙa;9 -‡ù®9 †�«¿•íÙ…v - aIYÇ%ˆ%ñÇù“ž­‚µ�ºÈà`˜ä·îesÞªÞžIÕ?SxRØ•é·y¾¯g²v°’Eï�Ãcya†Ïó¬²bwÖ;kÏÖŸ â%õï`myy}­Xouªz¥àÞF>U$¶T"óö–—/LkI%þTZz’ù, -àoÜ.>Ž™i^wXJ)±Ž@©0gŒ‹èêÏ9KºþýÄv¿nÒ¾~'|»‘ðîÍù^±wÀ<@¶ -öž€^ÓžepD`?0©³À…¤,'èQÓȾZçÖ“1µ€Ð`"©ì†r�l&‡Ü~úDc}N¤‡»³ü™–ÿÔëD?E<YzˆG{ô=�éjÂÎVÑ Ÿ¶M}Å‘´°¯Ýú6|¢)ÂÞ­Õ]\LðìëÄĔܦ{ßÞa.‘ŒcÌP¢[¯¦)sÿ“GµKßÄ<'ªí¹øuøÙ—[ ¨. É žäî��j¦# Â&Èæ07Ç{uaà i‘}SÌñ˜nâ>|kªÍnÉ.œ]~¯)Ù[}LßLù‹±<Õvõ�/µ³tÓ3Ý?@ {§Rï~ddDœ|“>‘Á‰+Õ«Á꬞åm!íÂ8À±´KpÊ_¸¶Îw³¦U:žD�UÆ š™b'¸qÞ¢á6V b‹a¢bÇ$HÈ*6~³ïí¼¸ªÄ®ŽU�«©5k#u­únK`Öùð¬x^V‚I -À¨¬Lâ�ym -ºÈ…�hjÙ?iýìä3Me¾Zö7ûRþ…ùnö§åŸÕñ„Ž B¥ó_¯jþÁ7sw•+£Fû¤é‡Aìì+´Úu.‹,»ÄÙ¡Ÿò :¾-[eµ³Ë�Er}Ë9­ -Âÿ^Õ¥�à úžW2�å5š²ëïvY6‹‘Tç¢$6FF‡ÎzçÍÎÎNU´X1y£á¦ÇÔ–9éÿ´,u¼ ?ZC”S†w•™þPÒ€² ×Ùì´:;= m¼°ˆàΘç:ÈW2Ç™ž-¤» XÐ�M”«ùÏ}½ÉhGqÁçQxýÞ¹¦¡„B|0ÿî9K -çýôΚ*óÕ$xU€çƒíboïäää‚oÞ]¿¥—@²�»@}·Ÿ€¦!üRši¡(;üÒO�C©îcà–§k/äűÜÒIdßn�Ç,ÖÍ ÝDQƒ¶ìÐÁZcÄ],(z¬�ùÁx´øO4}y×^™•€\0‰˜«ßüýƒ˜±s¹!å7ïß3€îopq~^�Û½íà åfLý{§ -~©€z,~u�<¹q}µ`úé”Lâ)='Qø¨)œ¨ -½Ó@Ml âá2õÓÉgc˜èv%À0Ö Nãê»Ú§]¦ŸIŽÓ“#6Õ7 -*1 ÙÀÆ��©ÛdgîXô?êÿtà�38‰!ê‹¯ÉÆT»¬ÿS”œ>PxÖ˜øÖ7õC}�ĈsÎc>sG<×g‘ _Õ|%_nóF䇅@ã ï5msÜzH¶1oJ”<êŽ#Ëâ~ŠlV¹7á�œã”î¨ßë¼rÎ….9œD2ñ3åEž`Îïµ6C°�Œ`€€Ãm}Į̀–ü�#ïU tÌHßÞùA2€ñŸºs7!PÔ£´ñï^þ_´v4ªº­ôØÓp­;Ķ4AÅ knW;¬õîê~“êW 5Œæ¾¤»v›ÕÙYßB‹îK�pL“X9ʛݗSœÞÇ厣5¢_Ë. Ÿn ´ãêhœ·ËX?·o¨e‰B…œ'ÄÙ.³v��lxŸß ìö²Ì§€ñ$ ŒzÍâ¸b=°î­ å7\˜g-j¿øÅFGþå©8Vë×GWõ*}’oêvöÅRÿ>œWGGgÅÊ`�8ÒÉynîõ¬‹nª¬I €×(̺Þt@ùËh(å¹^¾zÏšÅ/£ŠõŒ`@Œ€£ÕÐW"QŽV…€™÷øÓ¥(ip€Ò&¢€½W$¬+6‘œnX°)zë�åõN¿óxµ¨— - Ž»Y…¢xlÖÊ(RÊlg«w�ʇs“76{W£Qñ=# -úl\E^!ç2Ø©ô}ÜO�ô_"�SóŒ5Vbë¿×§ƒíÁà b"à¥ðÿ�tØ÷ï>|”öËZ€7ÿþ•½ù�S*vôû+�Ä4ºÄ w »÷þc”Ý Ú¿î±GÏàNÐ]~%¤~õã |Fsççú[õwÿ�ýKpÐI¨ÍèÁÄŠOnÐ-ñÚ£BAì ]À±ùåI‰cu|ÄÆAÈ J$éñŒ`¬„^¹öî͛ׯ/.OÏOªÔpÁ²ŠŒ«|O¾ÑF ì½�þæJÌ•'«Õq#º­jý·ù•ý„Âbb4±qè£`v™ŽÛß䯓€âó•mª‡8&.'g6¡Üfal/¿uÁ�$“É™aì|˜rãÇú^×-aNØáÄŽÂe²‹ÇÚÒýÄ<Ñæ p£H< lÓ9B�‡úù¶ä3ÅtøÕÞú¨­Sǣϟý"on©~bª|àGÿë£~öÅdsðßoð¶ Àÿ¸¯�¥_zªŸ1©Ý¦“ÿ~ -²#…¯8ÄØí…&<Ç­àÂ�sîä)åeÎî&yþÙ!ÇL¢ûúÑÝ¢FW¥*Ù�nŠvý�>:Q¤ AÜHõ}9z{|vÔm³t[ð• %U[ó(‘ê›ýî[ƒ‘`Å7*gÔýHLa󞸪æmú}QuWÙL;ý⇢OoŸ� ER“û¬®·Ï¥.1õƒØ‡‰�*}ñ[‡²ãž‘ôèÄù/ÇÇ£íÌ«A0æy  j´Ã¾ì¶‹±lýÞÔœ ü»ô^P5ê~×=°‚»Æ�8FÅYè,-/ þ½DXôý<œo„ì�³Ñ (Uü`& �ǘàÜæû ª^�ÊΔ¶¸Ôœ£Í'é$9®ó\o7eŒŠÓ®cwÏ�^PÞ;)ZÊÏ Ñï øöÙÁBÉ@‚a%=º~‡Xìt¼F‰[DKÞ h­³& ×Ã!iP‰Úô2ÁE§ÙêÑ)¡ÐÐMõ¾Î´£¬H¨3]ñÀ dÎÓÊîøÁð hOïÕ,>-/ÂyÚ ˜çŒ…!î?²çÆù/’'ªùÇw&ü]nçÛ{ƒƒÓÖ¸}ƒåû÷¬ÄnlðAÚ´@Ü€ñø–F.0¥ùÄB=ôß(«? €4žÜúÿIáC.Qæéí�]ôúE>Î~õv‚ÍáÇÐïvx�~€p‰:‹µO@9AJ›? ŸÝʘHtÙB" 0ÈøF2‹¹ûH ŒrBoàòüü4Zºùáé´eYÊ�wo®ß^ßó»¦ÎsµÇ‘ˆš�š-êõ¨éTZËõÁONÂ’Ÿ�§+qQò£P.ÍȹÖÞ9ãÅWY"�<œÃŠoÖx¶ÙÄi툄eãtÕ—`î3²58F“¹3ËΉ!îâÀeºãG>Í/ÌÏÍKèJ«ùEvÕ¤¸ðd›tˆt�ÃÚÐWÿ° ó8É]\JRƜ䧓÷Šcr.9¬�}À¸˜C°Ã“^­ã|0‡{³�‡Á�ÃÂÎþ1ð)ŽÈºð2áÐ?†vÐvB<:ˆ]þ¹ 'É1?l0¾}¯ú¶ãÃ61G똎?ÖP‚{Ô°ª*z' Q…)ŠÚ³(Xû ŠžUÝô¶ŽË‚-h¶Ò’íE±— ªscºèÅe·YþŒ¡tBŠ�Ä€4À`¥Üj#šjŠN€ý©jÞÀÀaŠ -Æé»s_\Mv€¯%“³Î�.ûð^”G^p"º$r39¹ƒåz/ªüyqf­ñÈçϘ¶h>�iE¯ÙÛÑ­ÀŽioÏÀ<ö¿[ïXCf?·èÕ̵ð€è²�X{Nò<¸y$›Lwtq¦÷ûÇêlÞϹxÏ{îvéå‡Þšó;y.¹E:¯�Te²±õŨx’+N·}ˆ›:ÏË´­Ó.ÜíKÈ÷äÚ„ñ²êôÿi  ‡  Üp(Šy²_l®/7Ö•1�ÂqÞGÎÌÝA»‹|ƒ0ÆA¼‡D—°“¬[5R -gb¹Ê$»ý¥YPo¸¿½­ÿÑâü%b¶šàè»þ²,à‡ëË“¢›Øøâòõ…¥„wŒD ¸yo4 -ü½7>xîævD�¿ÿ�¹v‚Q,tS…·2¹X’SÆÕáèÛI@;ä Ä0¸öê:�É]¶ö9 Ü‘ʾî&÷9hÈG€$žDK¾0_èŽð€\ð+[‹ahØw/��L™¿H²¢ßƒtëDg ðþæâ�ð_@58ôºùÉ…§ý ÿß±à_>`ôÙùýdËûè¡êÏyÁ• ªAµ!€·Òêm÷œóþìTW&C.ÐòLcyn~ùáÌf -¤2Ùmxr…êc~aa‰…óÔÅáÎñ¥3Š�|⃿|»6N·º“3;áoAp(÷Dçjœ[3Ñx8³.ic M¬Ý^MÉGDåè¤ö.³°ýÃX O&óî=Ž‘n±i"Ž”Âú¯CFØMžå IvÄ’-ÞÙ†OœÏ-„{‡‹EbÈaø’<)”……5¶Xž�%’¥ËTÖ¥ðÂ{DçÐíÖ&ñk’�pè7j×:ô .î$t`'‚�‹ÁY¸î°šÓ{¥‰v Á¬ƒXûRIQlŠˆˆñ?b¦tØ“-ô�ÊÙ�5O°˜ÂZžy°<7·Æ{µÊI¢ÑL¦tÊdn~�­ƒæÎ,'·äiaá!½1¿¡?4�YY`uå¨nèO¶^µŠlKð@öº±‹Žqi8¬òvI?´ªÙ½hK¬X³4¼ä½ú®Ñyœ�ªs׿&EbÛí¢ì>ÉGrìÀà#°HdÕð;;¯ŠVîÕ‚ôLjÉýâîÁÿš•[Î…�ºaZ� U‰–Ã":/¢ãÂ$¨Lœ×Œä[¥„’rKºçb=q¿-EhêÙwY Ü:1ÀBDïhá•§ToˆÎ/áJq…­V²§Ù†`�΋à\Œÿ¨<'û�7¨äVæaGº°˜ò\Èh1êã�µèÄ:-¤4/^J\(Ù�È´óÛ?õ@>=?==9 ò<Û>9Æ¿�ÖÏ´uQß©BæÇ äëš¾"êf“ - 'ý}Þ bÂZu$–só�Gó ¡�W^W�IU>ÿPÊhOøßh¨j�[Z`°ù-x©ê–È¢–­ýRcM®ç;Òä\Íš?v±ÍÏKÒ�qò”|q 8ñ.MÄ$�s�Äê¨òÁÀ°_ž›Y—Xí=ñØ8–…òI¤Ò'.8áŸDáGP`é.:6§Îñ_^æõ¡Î,ÈUÀ†}§«‚2˜Ü&:�ËüüLc�¡>à`™Ì„½8?óßoßÅ„Ha8 y€”uK=Uó�È9ÅirrT�ÌÌ5’W»‡`n¼í Åh p^bÃÜ< (¨LÖÅ´Âl<šó–û~×£\¸ ¤¦xÀ?uÔÜÒ#ódrÎÅ{ÕÛX“ï[&Ò‹âm>PÐrŸ°ec¶2P™ð{%=Ê9ìôÒÖcç¥å¹G˱¡B§,Ô1EÁ˜¢Äƒ¥Ns&’O‡'/�…[ãšÎÀ=QŸ‘vtúưÛÊ_µ}tB«Vt<=Ï«|t=` ûpÌf© �š*;¯í+Y»ÂæÄ%n¢\Ä”/;ðˆ�¼š4¸Fï[ù•®LµÎï£A³[á8*~zàÎatŽÄ·™pÃæÅGl7‡/‡!†Lsþ¢¬¶FÌ_€± ”TLå*LÖ•’¢ÛìÐÛÍ®wkÿ - Í·³´´ä‚U·<*à~RåÉx%5å¢8ŸdºØ?®9ß–ƒÖçy.V^0Ç/.`ª¯xw==Þrït)ÏÃYï…d5Œ¾ïUÅJw°“r“'dº/D#¹ªü‰ív$6äI¬ê1 Ðßð¿ì©€1@aÆ>É››½Â¥†i€ ˜¥�`‚þäñ¿Ö7\ÌùUV¼Ýa@È9“ÅyÊ~Þ““U­¶²¢ÞÀ0á¿ÙæÎû;c©ú_¦8÷Ó»K^Ê=ãÖ­Ÿ^_”y–ï•ìì…ù½ctàGövó?[• ü(”ä@ï6>3ÖÄû,K Ð��ØÝº÷Ì¿h×—Ð=�ø‚|а�VrØ2:dBw˾µõ�ýÜ1|;‚·‡x¼ñ�ìİY—™n™à�Á|z6nh�;wtpŠ&€�,ô# Wö½‰­O¶,|Á¤ -‰~Žë÷¬£t½¥Qé^ZWå*qšJ6*ït¸ú¤Þ§º±êõ)ûÊÍ6‹�0Q9.ÉV®„ÿ½ÓW`Gf þ¼¤~RVe’‚aCm»°¼¼¶¼¦�¹ñH8K`ˆ+2þÂBgîQ‡ŠÚ~ä) )Y謙Q\:ðØö¾!æ¨ÐíG ½ÿ>sKk�GÎ2Ò*̒ꆙ'(Âlþ—×KsË�™‰7_rC€ -biyVgÐw!å]¤Ï6œ—µ]r¨†°´xÙš¸›È„† VA. c;4l:ësaÞu�‚Ójò!²TY½¾¼$ jv mÈ)‰l1)Ctñ¦‡8Ùl~þ¿“˜\Xx´¨LwÖý‰¸àD¡ê½JtRjõ^_ŠCL(CŹÂQ -ް`@§K’”hg�L�oæNo‹–N²Å %¯”gŠ�å×D��S2›Þ+îñî÷°1÷HoˆÍ�f—ÌœùSpòº¤÷ -C°‹0i_Kb�2ß™d=ŸìV¯av�â7ýÍx�³ß#U©®ÐûeEÿé¤nTJFÀÖªÊ †Wƒ·˜Õˬ½'CPt‚£ªšé[[\±ã|u4e3(uU£Ò¡¸R«× ›÷ªî -ÍÑA¡Œ‚DºèYOŠHZ¹4ÖðçGÀ¿ÛšÍg½åí-ç°.Û?®ö=JY o1QâB¯d$àDoΫí­ÑU? 2c2”®V®n›.{´˜€þ8Ö×Ö˜€ª¡Â­÷&ôŸ™YhmÙ1‚¥Èx7IÐÂ]ç9 ;eÅÂH‘ÅÕ¨X�óɘHÙ'6 ™ž—åJõõ0 H!ÚR¶]ŒQåk”ÍGy“E~L;ýÈJ‘óSŒ!›üP–U»}ÀÛ²«rX¬7$Úº¬/±S—hy©óT…¸Akc6Ë>úæË�Ù§žË#}N! 'í�äEß›È ]̹¬0ŠÜÏ=b í)Ö£üRZ˜Qá–,äÅõ÷“ÔÔ/Õ$|xG/ÿ{ 7Œp €’Šûæò��>{á¢â3>H°-¤ mÝú?Ø*Ü–f 4.>rú ¤H:°DG×5 ]gøëåwɱkß'F bbì—3N¸D¦@pp(`_Ø»e -ORtTxEÇW0 ;ƒ±!¶ ¶Ðþõ¬‡Pù-ðè†4)�ÊIA’ƒ®?\¿{ÿZèÿúü✀ƒƒ½AÞÙ>¸”êŸôÿë7ï%X¾º�T#ßO½Ç�õΚkN#-u -ä-Eý‡u˜.ÍÎaöèŸæù¹WM¿17·)‰u­Ók,nðyBö@�ªOEŸúÕÿ‰¹$úMá RfudBdÝ©^èÈ/`%õT»«c‚ê·�8Ï -dY*\Ü)¾¥MAø:!­5f�M¦O¬bXQ:µ ˜X^[_[nt�za–â0 _æÖ”âxJ97aÎî&‘ˆuc`cŒ]Œ-?À~™7Ö–g…¾úÎòœ±–ðEm &äE¢Â`è1__ßX_ot–% g›¯ë‹ÿLEé€þ;Û†圌7‰/cB�æZKK�ÙHDzÄM± *é1ï5^LÄR37MÊ5ê¯5újÍ�ÅE•­)Âû’ĆÅÞZͶâòEÇ-7ŸÛY´£ÙG�[º%Éu~­’ÓæÖÖµ�CÒ ô^Åïg�…p’Þk‘ -os; -UáNý:˨@õ¨ÀBxÂr¶à(5Ð�‰tC99P�Z±^@—Ý6±²‰HU³N· -\^Œò•b\E•î6v!¬íU¥g˜xÛnÃÎ{E)À+Øy¬»BkpW”?;£A“ò¼Òóð3Î-§€¢„a¡Õz_Ë‚Ñ*oï:@ù´‰ˆ¶mO27‰—ñvVŒªuVžùÙügøDZ0êöÔ_u›ÙŽL¬áF €ð¿£·ª7¢_è`þþ±bוt’<ñiÎÑÿ“ùì’\$òÜ -]Gƒ–’E¦oA’J -1˜r]œWƒV¯:çÊc¥ëûÞ†2,–u{‡r¸Ý+^Ôy~�¯ÄJ HXŸ¢HÇÙc®$ ²]�\�Åâðx¸Ó[ž›¡� -‰&Á?»+½BþmˆUqéa ­È�{ÈMü¼ÿA;Sa´Ê÷´T)ÏKYX<âYÜ”y; _ŒÂâA¼WqîÞü×[Ô�„P‚wšÀ_ç›woÎO”у½C‰çL@@`ÄMß¼!¾àS¥püL°  Ë´¶0"§[ õ“”ë›�¿þÿ6�†î…šä�Ýæ ;Àî^‡íõñà@±‹ÉFx\ÀËÐ'‘ã–7\³¿.?¦ÕäB±àQaàð×|°ì"+GÿÔýÅ-Ҁ̘'Éþ¯ß½“ö~qzqzzpxÈ€­êüš%Ü÷OξÖÍëû‰’t/•�ÎN|VÔÁÓx j3QÕ¢®GMKOŸÎ6ž.=mµÿi±ÑÛäËÅr¯ñh­×a ®êÔÍu}£®vßìqÃ}©*¦IogS•îâœëâ„'x�Ã% %|€Åc¼'ªgÊ*r&SÅcZDÿôh±StPûLçQ§'0_ï”�9$Ò$ÇBƒŽøöÒb /'j�ÖGEëQsÇÃO‘„½E‚sËBx¸³ç `FI°‰25  K'’þi®Ñ#1ÂØÎ²ô~VÑÍ56§3rÖ¥ûDÔËbM²Óšªˆ9ä7¸R¤ä\0W,66• -%¬Áö=A“­üÂvER¢Ë­F«5sl»*VäûM®ÊÉ@C2…ð9™5Âwt2€K‹1k×Þ°ÐØ$pG%‡xä…4ýƒºUê�îðBâxECß‘øÁµ±øO�z¯ ö—y¯r¾¶Ùilü^qÈ{YƒsgV¼,×Xœ’�ðg·½Î⦠-²D˜É�Ç?$¸n£ã£cvgª/o–`Ôäý……nÑV ¨Ù£j+“ 0ªº7àˆ1ˆª»­‹ÊÏVS&(uº|òàª& ß¿Hcº º\࿪ô`MÑó-`Q¯*Y±Ö+ÀÊ8ñ­»äöûôž³r�gÙaF'‚~Õ(obV@Í9ƒCM®UüâeÞÎ=$Ÿ4}�tÀ}Mqç,ìdÏNL½cä»à ݆×4ùÛÑW'`fæa£±×/�†y^“Ó`¦óŽ%—”ç6#ñJ}´Üá\|ÑßCèÉ $k%ÚJ�*ÎýNܲ‘R&qƒDEÞÚ92]Ùc^WÝ0óbXµÛ–!•Ä‘êhg}‰ö=$r -)5�J½>C–KØ4ü÷¾ßÈ•e3ºŠÎ¬l×zÎ¤Ïˆé ’r†õ‰‘�˜#Mæ3Ƈ@Ûtm+Uõ;’€D¢‹‹‹žæ¼MM|ùí‘�þ~zýæRú?­ÿìls}`�nwó½½êð\è&àÍDú>|H“ŒŠhÑ`£€…™±sVÞ¦´Úƒ¨ÂLVÓº2ä|é}� ÷¼¥ýH(<|Š!ü8°«‰Új•?À[@íY'äˆ#~ˆ†pl˜/@‡ÀnGø¥WßÍ7Hr -7ÀÎ4{ €õ:œó¢Û^%(ßpBÈô½^³`¢fÊs>ÃK0Ùf¿l¯’ãz·#E~Öï-³ÍµI£bZZjñ±KòÙ 2 /T™1@ÕŽÄŸNM•nlðy€ä.)ãdú®€Þ¦˜þ¾ØÌ7]\¢ÅÈDjoåżhv`2�ü·œ;{vö -Uÿ d ÿ2ÑHÍ‚uRþÑkß_ŸÒ ýtrÎR@¯¯ß¼‘RûáÍßîww¸~Ñ!Ž¢L?P+�m“n/è\ƒò˜ ­Ô’gÝ¢ncæ3¤~�ÂxÒ;$‘ø¢h¸'¼b:Ù-ÂÄ‘ çî`˜¡YÆ€)xøÄ(?H®Í¬3 ’_,È€î¯ñÇ_ù¤üR¦]0àâôüäôðp°ç¥€=™ù@Ö ¼¾¤�åJ]h¿9zEku¸ßVÙÛª°³ÖUÁÞÖ£"#ÎÓN«è¶f[ª/é ’™CYïI¨ì-!ƒHu®¿bâp•,Œ5²á¾_êR¨~Odkº]+³ÆÚ˜~æNµ5úo8ξP2õkR‘å­ÙǪŽÍbq6ÕëÃõF@›J�L=ÃFŒ-ô«‘;²‘t²&•PLà¦}Óë-®‰9‚ŠŽ™=í’bWl~¯jQ»¾®§õäU¥ÞŽÊõ?“ygýÅãÖ3–¨êåà»Ùæb³Ñ|üÝjéÁ=rÚïeÃh“2rÓ2"ÐR%Xœ`•®r¾¹y&(­Z�]‚rм -¶,‹^+AŒþ²™µ:@áxDu ?Å™ïŠlö»ÅÇÞ<æì¶ß{¼Ù÷­Cp­ß ÖR`B_MB1Å, ¸5Õ>6ð¥ÓX‡Mp‡oaÌ"“¤õžJµnd;bîgå…“§<ê5zÂtðÔò‘ë:[L -Œ°1#›ý͵N¯`$�9à [8ÜØluœs -[þz�U<ãß'Å"ªÃ¤ÉA)|ÜR•#R}1;ëÉg³�‚Ȩ4yUÇŽo=0ŸrnCÑ‹�àE¤¬ÓkÚÜÊ‚9Ü×+ªÍÕ>ÔF¼ºZ¦ÓìC¾R*eH1}œÙQ¯Ì[ÿÍ/UìõkU]IF#ysQŒ "Ab‰�7wŽu[¬.F)rù‚9lUpšntýŒf¦Û9¿txÀØ[”ãáþþ�¨ÙT¢4�‚./¨v©Rc½ÍelDR%;ÎUýÚX$èú>êm©mý„òþ<–Nx$R”›¶’h”jtFÖçã¬é­ƒTy;T©è&VËKÆo¶ºaíb{+Š+ñ6ˆŠÌ¹Q>!±¿�”�¡Báì”oóvé=„ º©YPßÓÉú&¢Q™·o$‰uSü¹ÀIO¡¼víï²Â5 ]þEi¦Ÿ‡&$€9Ï ô¢ï¾û·Ý) -c]ä9cÅmÿ¤I2—8$+%E1âK'±¦‹óm•‰é¥}D´�ò_„s·tôÊ^³­.¡I»Y„d°CŸ€¨,Z-É ÊvngÃÞ2ËmаÄP�¿êŠÎÓ§ -u“¢2‰¿Br‰êb了þäõµ±”…©±¡¦¼´ÛiXŸ°õ_o$8§5ƒ«ÏAyéŠ'œ‹gñ­Ì -΋ªý5J€ó%b Úû7Â,¯lóþû˓½<÷4ÀSïŒY °Ð†ºÀê�AZH‰Þ]ã§vgèFí¶êúJ·–™½aB»��°±Ï€y�Â%�2—ààÖÙð#jü"{ø&Œ-S¸‡báã'9±6o¡Á›mþŠ@±<­aã(nøÍß�ýzRâ…þ…X9ñÝõåëׯ/..˜Xt\^¿WvÊòýk&X¾~sñ¥.€T‹ý–$ô%`GÝ'ÌŸ©Îtu9!C÷3!Îb«Ìz*­ïf[ÙN9<íK¢ºUå¼õG´æòŸ²`, 6ÆÑ!�£¾J¡ªa>q M2?Òîcú¾ D�¶?AfwØø`^¶èKP%ÞjÎ6;úîõ!–�û}Ç®:_•{† rû&òÁUŒY�²H‰*ಷ(ÝÈØ…\s³Ù[¼ä“¥$€á²�Ä€‹5Ñ—ð쩘ë<ž�mIÇ[/fÙåÜ(ØÛ|̼'‘%€ýlD`"Å�ÌBèßon–Bº�EaDbÔ#çTK ÜfÝZ-<9xØ -sçZHVÅbC ¯¼¹¨÷ÊŽáE‘‰E§n}cSÀNøRb'9±±é»ÉËÅH¯c Y' |¦+“»¢#ÁNR—œñ˜@õ;ñuœKd’õ^…@­ï›bRïu¯h)ÿ"“7{ WcuÉòûqVÔÄ;pý76%9¬­•�Ç·UŸÜ«¨)ë6Ëâq¡ò÷9ÍLáüëšà]·÷Jo%Ô”ÐH0j…´=IÐd—p Dù7ÜÅÌÊr¼ÍP³:sn¦o9—ß\Zñó|ì–‹dãæ³+ˆ®÷º�¬’,_Æøze.'ú�ÿÒ~�à¿áv”¿n·|U–?úC1¿€óŠŽ ÛÑ~b½*Úå˜÷Psžþ"0>g‘ܼMeW€·€ GéÞË[‰­2_Y±ÐÅ®z,äÉGѰ´ þGi¦í¦$ѵ¸ÜÙ�b2äK¦!.E�Ì˽sY¹ÿ3¡KïR¹Nâ`>Êk¢"ofå.ð?á\¼«¸ˆóË‚bä õZ¡ú‹Äf?`?ž¾~óîò´ØÞz3@AœÐÿÝ›ë÷Rmcœ`Ÿý:h0à -%�RÔlƒ½õõ¤]»ýÞo'vF -˜±ã?Vü?Ñä¯`⌛zË=$½\¸}±»!ŠŠ@pAìòedÈøýPö ççÞ4X®|ƯdEåPÌþh.°!“ •ö�,…¨å9vý†‰§§ÌÜÛ+zÝüàò ë&¾{óîÍ%ƒõ ¸ÿ-ùÅßGýVg¸UUJ…,ø6¼ŠâB™ÓÇw[“öÊf6*Ys±M¹§â,Ë^VöY([áìpï<å6ªsW  -éÖD€9*Pl§Õˆ -ÀÖ’xõ™ªN«7ÜÜP—_Ô×Ä9à.ã�¶^•E·)µ8¾‚â‡aÑsÁ€pQa«6©?ùóWOC,„ç UŽêßåbGH�à½!;”Þ”8áGg(P�Ä�D˜ÐD#Bâ1â{ÙbQ¾èÑq¢Ü�O»·¨|ÕP¬�Nc!2(¤µ5ØQH†ÆғΪ�QSÛlHT'·ûö#Yr(QŠ0í‚°þµÎE‘Øj.wÖr·¸¶$šd9·!% {&ŒÝ@äØ,²L¯5‘zI(L¼‡xÊ6ñA>)KKÅW¶Z;2ªÞ+B@¹ÚØ(]²ÈQex]è‹X¥7D {FQ«Ú-²æì*ª$æýá Å{�¬Øl)F§†œ&eà¹lœmNm°àK!ÁNïõYÓ1]x¯d]±)Èì)~=Lÿf¢…óëU­UÞâí0öIjçÝZx8JƒTµ–}�Œcþ¼Ëô�Ò­ïªI�¢Â] V,(5É8ïM u€S:i•µòÊ›ã¨Å ,…àaC�²vðç]qË1n^®Cï«©ü96Ùï— û—rÉVÕHz´eìTÜ%ñRVƒç,ô9mÓ ý}ñ=#çÀy™-fÕ&Õ€ßÙ\EUê/Äš?1 T{Ö{5üŸ W ¹@k² -0¤üu¯†äž´(óŽ8Y´w±d ùál­ó–,LWåJÁ:w_¢˜u‡ÉU&™o<œô$ty ¨”ç�¦ 9tE”·Ú܈Äy¯wÜ_fí̘D‡ûå µž•oÄÁÈYZ–Tƒ,v¨ŸøXÒw@™Wy†,d°;ÊÒŒ„©â2á<Z€ ÕÏUò$!Y^tÉeýD=MD—ã2éú÷ÒªTÔ¯Ðå…©­Ðz&Àû×§{ƒ½éÿ§çÞ ø £Ùd) |ÿwË€>u)ÁR¡&ë'+ÓB`ýôlð`·r'l•¶Ž‰(éí¼èö�øºàŸÀè´\‡<€,q#8w£?ò‡É®h‡5_‚‚¢×ý'låc¯óo[ÿôO]ŽV©ƒCLl]n÷øøîæýÇÞIBpº~}ùú’A€{ƒm¯À’ ,¬Œ“lõæÍ%M÷Ð¥Ëà=ôsÖZíU£qxVIÈÛanÏhŸn ýTJ*æÕÈ/_¶£a9êVY³)=–æ¼ýb¿dÓËîÈ[]TUyUæGå°(‡ŒÊQ�•¥ëœ¾Âz³Žb?Vµ%†}Ðå§^ÆÄœÍª(77$«�Ž÷ûåY¯¥x¼©æ%SÁ�†ÌUB±—\<Òª³?K™Žª�Ñ ÏZ‹�Ý�¤öÁK}m•ÊóãêˆqÌJÚ«Që˜n×r¨o_ NWŸþXbßñžÝÇœY”E‘�'òW´èßÜ¡u¶Øì«á™*E™6;ß‹›�b¤ïvúUµKÕ<äëÛõ…>d`|fƒ¤[EgVP%dDWš6zˆ8rN 1 -DÛPz6%5�$×Ò½7ˆP!÷w”§´%—¥bU˜9ÌÁ¡ª�r8;Ç™”øêø¬Ø?ºvVû#vA#EW•ª0˜̓ް"ªZekqñYÑ{¦ˆuÿXúWG©èm -‘Ê+½yßA¯Ux;•’Î^¶¥ò¨dÌS¿dÑÔt8:†Ýb¤÷ -–�T"6Å£Þ«¼�{­V¯<:Sy‘Á.tñ^•R1sD¡+¾}¯å¸tZ³lŸR”¶�Sê‹V¥PIs\eì2ãš�†t¥@ ŠÓMö2é³ �°zM#‹¹|ÕïZA)OûÃc¡r¿?*V«ÐWwGH¨è.§ÅUår\ Y*G�� vc[ÚBØYKÍ–úÔDJ»*ÛѨÚÚ*_U•~^ÓVn¡B²�|AÛ£¼­üôÓ¹íA™¯lÛ¶1еü)o®‰’¾Oœ££JcIÇ.u™µÛå‰sß�G@âÜsçœ&öÔñîÆpN‚&œëv<ʳò•>�£êˆ]dæâÌš8?È·òóxš¦ÔŒAì n4æê=ª–ÉÇzQH–!]–ˆÇ1$VSæ<  1·äÊDË«}q¬DF†+ŸÍ9++ï–;H]æ¦#ç÷GGy{o¬ÂQéoœ ÖÍyÈ’ºÊA;¿r‰†kRA3çJ†~ܳsÀh¸Ïw=ÜW±W¼èÐúRõùôU­®´ó1Q†ŠËÈëyI®IÓVûýu*?T0ùŠ 6Ö——$ö?]ìHfU¡CÊ}¨váÍLžoʬ£@!'ÏD¦‹ÕÄ8§¸ìÁùöJ^�É<>crK²©‚(-|åt^|™VâÜO¯/.__ ç_3Àë¼{}²W”lÈJ€oØè:Öd -Z°Çü=M äNPM¯wŒGÐïݺf4ÇþX®ÿßYŸ‡ëð\½»/ø-Ðæb§nËçÂý¯žß‡`;\§ ๽CFX(�-] -ö/;·)Ãüpy#>þá® ùu#€‚ôøò€øà‘“’Ž./ö< @€$%6ð@N_è¸ðK¿‡ra9£?<ð†…­ŸEM–=ëtZ«««Y'=붦V;“:ØŽí ,jæU“ÏÏb~ÑZ�‘¾ôåuðÅm—p:�Uº¢¹¶Zu§t§%“¬õ�Üê®Û+bÚ²<å�ÕEyw§~Oj+>õïvÅ©C†äYÁꆵÐP³•gm…`LNÙ¤Ú�‹^3©G9AH'÷ƒâ€¼ê&ÜÐ7çžÅÞvö]n{PIߟVÂrFL´t�¤FC�J•òJ‚nV•¢Uî[N�lZß-f?È8™‘ó"¹H¨&éc¤Fî�X›(Ïf•ÒUÂÙP�Œè@û^·ý]+#›”ñT‰3o=qaw«Žf•‘\¾k=Ím%ãUÅ,†V󮨠gQK�uð${¿d…Kà&)“Å‘Ý��ü›-’'Ã<˜óð£ÞjkQî»™Â&)²¥óªD;½}ÉY¶²Ê{Õ�“nFÊïJ^ñö²f¡2=m)5~‘±dÞÈ ò‚å#7íú½ -Uõ^¿·&¤Xf'‰˜¢™¤â|•òvίª««qqü·� -"dzµ?à/‰GÒÌ` |ù÷ññ1¨üåÉøêêß«A¶uP�$n`õóh4�˜l_*Ïå{®«K1¸M0²–Üä?�ÕøjDÏ Ír3{ºƒ©ÎÞ¾}õ¯þê·Ñ_Çcy}Y�FoǃvÖFŠdS¶Ë«qY}üe ` Çã+Õ÷q>¼„YÖ:*¯®ùÏ’"NÊò¥øç£ÃGGÁù™XûYÈqT¼€óªbÞWWÅÖVN0£ŸF?%Ϋ—«‘dõ¼×Ý6ç`¯”‹éÑ�ÃÑøX9Qºñ†f(½Y²×qÀÌ|#S$ã«ñAùËÕ™�}<þë~Êó’y>(•EÕèLˆ&7eõ“8¿,ólw’çp>z%GúÎo9_ òöV)Ÿâø–sÄÖ«±‚¿ƒóÑy>fYDò|tõö—·oÇg£ñ+e:obT]�OT�nI²_äàH‚ù²×Zf»#ÕrÓ�äÿôIDAT%O¥ÿ÷$ËEé•¶0”#€~ùLš’ºº„5E8ßeé‘eÅ«]lµ»ƒÑøDÃöOÕO£ñv0º¼:RHôì˜ø$ZçÙ |iÎÇoEc d­Š ïúh|u¾ÕZùÊ‘ þ „à±€ï„ôo>ç½àA¬ðú’mxýþÝ Mï=€žp`ñƒ1–¾eÀ°öïŸ> -Q§Æi£¬˜©É@`/E\Ïú!Ø úlË/aº‰ÛÛGÛpR� ˜èò�ïET´@pËߣ]Obú†§ˆôãG¸ÒU¶îïw÷:¿ÜÊÀÂÍßió`h¿®TëÏ$ôg™¤óó“ÓÃh(/ ,£åäµ; ¾Ðpaº‡V[ÍÇ\³î¬QɈE•ÙÕµ©»öªªÝUPWueStžI:ÈVÛò×®AŽkÖü3ð¢šPÁ5±5[ͦGnA Ì›õ V³R;M¸ÍÄiè45˧¢j~gæ 3¬¶%ŠLíJ)ˆo¶Äï3XgE\9˜à×٬ăf›4­¶Á¾ànUÅ#®àR÷ÍæwDÚ–�?¯´ã"i2õ=¤=~¼¨ë¬²ÿ qn·Z�IÚŠî�mHìåäB@»HŸxã1í+jœÏ.*#‚#üËNû!åù%§b5ÌW%ºµ0Š''•DûO20Ͳ? Qk -õÒ ÿÍ�Ð_\JšÑ+_p†ñ­6g•zżåÛPáѱøÝw‹bIñéÌè%¬üKFÆ~¼:ëBŒ1ƒáNïµoÒ¬#tð¤Œ_µx"�Ðx[)mY°²; .•hvµÅ{×ú5‘W�Æb3�Õü9ëä\Üý¹­lÐ{½Ëœ‚çÏè Ï·Ä®X— ÔîªrU]ì v–MM8ȶºúz©|{Ý­^®§LŽõü|åÉ�€$gw6Õúxöv3=‹Ûì·¾½�oµ›Éów1|îèD -Æcj÷0R¶›ùVoKâ–tk¢Lþjÿº+òçOŒ9‹r¡òšM¡.º[âörÝÁEWÜ›©'ƒ=iù¥œ;†-³Â‘K6yÞÜú‹’îàŃ13­üçݨ0ÙŸe"¦ÞAãñc}4‹¬ñ5ûÍ#–¬²0;×p�Ñ‹…g©Ì›Šæ9·]ç9¬3T#Ïz[ÁùóçOöÆmpÎ`ÜOq.Wÿ’I:»Í4QÜoùBì“Sw�?ù?¶p­—ëLGÓ””çí­œtœK«ïkðàísJ!¥–¯„¿*Dd¾‡¤â®ÊæñãÿfñzŠdGM½ºBżšm ¶‹­æÊ Rt—ÄxŽ”ÂþöàÉÊó­-ñMé•`²|OÈËìIó+Gœû‰Nìkº«éx-¬¿¹~}²Ç,@vf ]Ù2¿¾¾»¹ñz@àfqá$z²L Ü`¬ ¾@'kîÝœŒ³FiÀ3kþ‰@YßÈ™»ÐØ1ñÕÃöh…³€{‰L& í@W AÄÁAÂz~îJó?"À&ýp›ÿI4þð(F$üÃiö,€÷ìŠè‰þʘËó7磓ƒ’…€¶..ú×ïÞ¿»–dõ†!i°Åo(ļ{q™^¼œ–d‰„!^ºÙµè!r[»Òª~¸_®v%dÊ„iK;å¾n)ò!-A^¨Éh|”09>Eñ&-T•å'LZO¥|t;–å"Í~Ráä+W D(1¶â±G³n覥yŸ…ºéÇ2óhU·bKÜ=>.ûRZ2R‘Én±³¿»C"$ ãLn†UÓí -~¨Æ¬}ú‚E¿Ýû© -Ãv -W'Z²ÕRÒÞ¤  öÊJÊòöB©yÑk½eþÌ;w¾@õRNÉ‘R¡`*7�õZÊÐ’fΕ¾œÄ9Q±Ó¤®•BL3ÞH¹õÌ=â8DËŽœ“ÄŽt_)ÿ/{ù¡²@Ù�îÆà˜Û—ÑN‘¿€M¥³Ð{Å{Å#éÚer°¢Ü©v1Ú/wéf¯ù¬ªS/þv\XоÇêcª•WdÔn«Ð¡ Ñ”í{ŸäÜ÷RŸ`¤5:P©¢�Â|˜9å& -Gä"±ey5äm`s4mã^I<ÆàxTíÐÏÀ{uAûSïuC©mv¨•a(2*KLz ë”…Âð@.©Ü1TM)Í»*lf=ˆöM%gzaÁÂ]šyþ¨ÙÌWVV[+Q£R³ -™„hÞ* ênmé]þ †X®HHÔ¯Õ^‘;UÈr©ªWÊaÈ!Í–ÌWåôù¿<Éä.“‚oã¿Òº0ÈT-ÛIKœ!ó4e Šc³s—»=iæº_�Wœ&ç¢à¤dl=iÊ."j{0çŠC›Iî–x‡\ˆ…D¼\2ž¼˜s˜ ŸPó‰Òp?B~@Ê9iÎE635ÍEP/Ñì#ÈàozdÉYª -ÉCÀ‡© ç]ñœK¤OœÃ®dÝ^‘}Þ ÁÎ#ÏÛ¹´²Gö‘^— 0!áÏ%æ:¥wD -jÆÉt‚žÊÇ)r(*Ï‘pœéY¶²ÂŒèÑ£¹Yð±))VèÿÝl’« žÈ¤lÈ�sBö«ku÷�ܧËZ¸~ "—³§+Š�d·ÿ…ìÎÍ�y�âbÆïå\¡Â×(AýýdýôÒ-ýRh…iïß]žJpdàéù9ÆÒþ™À~@"á¿ ôÃ?˜(éCMŽvr¡iRü­‚�iñ—` ]ð*87–ì!L Õ{½Å¯žÐ9@0n-Ð-ÖýñSØ›¸•™RDÉ8°ýFÒC0ö+ -â ka»e:(Ø@’�™ 0Î’ÇúÙ˜ŽŽ�ïhêþ{'à÷4‹Ðpñúòüôôðpoo{[À¹„¥÷ô°Ð†P^2�òJµØ}Ô{±Y ŽªÕÑxŸ*õX¢Íœ±Q‚)ÕôöûeuöªüÿSöwËmeWš.¬Œpä×Ñ-f%-æIëı#’�Î2ˆ¨€L ˜D ŽEâ2ûjp¨]Ã"h¡eîR –¶X;µu .…¼[™g>«KpÝÅ÷<ï\ ˜N¥�{�Öšk®9ÇóçcþîÌ�‡šd–ˆmœþj³=©gÓA§±Ã«ÌgK_kiŠC·ÜãºÞÛùÚÆy2Øleïí;›auî$p´_½1À3¡‡öFê�sS䤶£pX‰ØŽY9\Þ'=íØÕvíÌ—ýŒ„%dõ}w…J—· -ŠovË$Žåq8Ⱦ3Ø�8)Ëù‚íaµ¨úçÀnm"t7É1è0:qms¶¨zuµ˜É Yw˜tóÃõ~5ÚU¨b±ÊÅpˆ:ÑGZb˜þÖ³ד�ÄÎúCOõ)ñà¸�žÓ‚~îV‡K€øÌ¡ðÖÏݪ„ˆ8ms¸?9žU¥†£så.¼…Y0·ßo†{vt:Ú8Ú'�Hn؆1æ$Í}5œ·ï»Üõ„Û3oÏ„u(ž@ëÁ¼äk›gEèÓéGæ�&f‹³YÖ&z6]õýòüôÝl¨L(•F°þÃ�Ú¡äòèZÕÈ*Ì€E•:0©-áõoé -ø©{0]¡žOQuÐÛÂ5ÍiâÊh3�Þh°zVOÔ-=®^õÍ.iïë7oæó¦¨7cwlæèºÝÑxJÉäÉ}ÕÐŒPÛ5_ö¹oVËùèà€—”Sºìë¹�؈ú4Š“]Ù-£va:Åä&òæéÉ)Ê-ϦG¼ƒO^)jè‹$¿p2ÍaIôºä.´ùË�M·17()!ìØ÷m\P³ppΗÿ‘öÓTÓ¤%2.ýá›wVß/�dlÎyr4êÿF× CIÎç÷ùÓð´\.«ƒ›%Œ aú§õi<š=¥œó¢>‘•J/òˆ«R›ÿët48¸ñ›å)±bï�ä­��O³_øÖ…´r2kuÔì oï쨩gÚÇð.mM@¤ùèbÉø€Jè['æL5êŽäüÈRů ã^“§«gÓ¹žq7×ç0N–4ËDÍ«T5e%ç�௄F„�ZÀù8ÙÏŸ©þd¢ß«�) -ÕüÑ£GOŸºàÕË·.|¥ü½]áü¸¼ÏéÎ*{´Û)wÜŠ²x>â®f5·`|ž¨ Dš·(ñξ?zŒѾ[ž–�ÌÌÕÚñï+Ñ*ò¶ÏâÙko‹f¿îOðWû1ðjOEBFCH€I”ªMBÄî7¡&ñýwN†ðÀ¿w¯²ÝÏË—Ïž>]>>uE• aA¯²‰bQ°>Jɽ�’uK$íÔgÎK]s6©ð(MnLÌf¿?[t´ÁZ× ª>œªûlaëP!Àë–Ví0+½ZºÅgëk[hgk ¯ööâŒG( j¢Ñ>‰C·î�Üž¬Ñ¡ +Ue +*ÁÜïËþˆ÷ÿi×ÑAxÅö.Q<ò rj±ê‰ÃÄF›Êó˜�ÆÃêîµAÌÝRø¡Ì¸qEw|À5¡×£ÞÌ©yíʽ[eÅ{=&*}Ÿ�}Nÿ+³uìAØuÅ£‹$,p¾]×’!|ï’ä‚´Tí8Ã>W¦Õä’H;iœi¯;êR=íÌÜ•¶hc‰·~ËEï–3¬fµÛËÅŸkaƒD´Ì ;)mP½ôVHN)W—©¸_m´/³ÇRƒŠÞ¦±ì+™Sœ*.qº‹ŠÃ£ä«ÈìĵŢ;Dw2SU ý/éP�Ú¯z›×òqBôÐé+­ÐÀô†»‘œ›ÌC•ǵ&„°—Òâ�ÊIÔÇ�égíØíŸ6Î4\6ËçgK畹³.€’Ÿ/2ŸªYžmƒõ²>q"eZìû�£´Í¿ÛÒ»p�Ÿû9ˆ�(õi#B“£ñuþ0ÚÃô~Ašúƒþòìa=¥öÙgh°!£{.@ÂYuWÍðUet„À-^a"¾/çr¤zqÜœLÍÉaÕüÛò„˜«žŒˆ÷“rÞœáã[§ì 7÷)d+šƒƒ)aF·ð–×à\ÎŒ×!s"¿ 0W÷K-KùfgµÓ8'ûf\а«m­Qì,ÿ `˜…¡Msç³å±ÜrGKðœˆÁÄÙbU£›•î‘€,†ÎMsþܾE8Gœ&{áp¶õQ¿È}˺¯G¦`i‘ù³ÑÍf… -�#9j(�#>y�7�íà*2Ÿ’¾G†Áã¼=íwFo&÷ö“³Én7ØúâË-WR²ww÷hCzÛÔêo¥¤"�[–o+ù Áò]Ä–È«úé° ç·DU7™«aŠIà•@þF�ùŠB�÷û¨:-çwi?Âù¢>žEoleU�¨'uô‚„ùÓôøïÑÓb”øŸÿœñ÷ôt\ýf<ŸÛðÌþô‚²E@Ïr@ ß¾0²à©&¼¨*Hë\ ªÆf”ƒÉ<tý>tô�ߢ¾’.ÚîÁâ`sîZ”Ž~à³t1ïèöˆA`ý{ÇýExïðÿ×ø®† NßþÚ�øô¥×M™,P‚w?v}$ýïÞ}÷Î^~e“—8`üèÙ‹lˆ4_8Aàå+äûqrBçÇ(m/­_]w=#“æB©¬$áI¦ê“ÙöصݪiOÝ¢áÔŽ„cߨ‡ˬ©�B²]»¨½i™o©²:ñí6W·ú·b]M1Í>ÕvÝLêÁhñûY±m‡#A¢Âò(l„°àýÑ -å!L…gðb�@`æªíôö  B®Lä%6[pZÓh{XcTûÅ$,ka -ÕzK–ÇW}ZùÉáî.©ÂÅmy^˜ð$‰Xvjôjè}—zÃ~ûÆèÚ°º@hˆþ JÁ‰a:gx³Ð¨Ó;m/�Ê59ã•\¥ªšjœgµ -@Ñ€¼ -áùÂle³†‚õû“% -`3"d¿kMÁ—PìºMu·¬•4²ö™wJÉ�H®n ¦ž¬ŠË—Œ…9K™>ö¸_ÿñ÷¸¶y‘…I!'²—B‡À,fýñ¬²)� àClU³r‡„VzÕX @Ц¹c.©‘Ù�•~G_¹;ÞȲA,p59Dmr„kv"sDþ#úy -ÀÁª°]ì’˜PI”ëìÌ(�Ä›ûÛ£¹šj’h)¦ùå iRO\¢ˆÎYðPŠ ùÂøîðƒ†-蔲ù°9è:”¢¸¦ˆy?ý(*_¥S¬„ËkÓ“’oBîwÿ�%/Õ}{ÓZÎe'Mƒð¾l¾éOy¡>LÚ€b2MÇ®çŒ#Úf0ÿ\é8n÷Їø½à¼>u´F¿ëWû+ñ4ÕÅrjŽªa»?T…ÜØøüê•+_ħ¥¦8Ì–Ä®²ƒ­Y·+Ãah´'Ÿ3P¤.œ§7eMõ“AwºBhÊI¥ô‚ÖŒWõùÎyõ’Ìí­ à+=b^Ë<ä;Yš˜êzt#k !2À­€IŽÇ~Ù ð%š¸WíÞ™uœ ­åpÑ8)�/µÔJûÐ>�ö'g£�v'B˜ýÀù˜›6sêÕÔ•Š€È%“Öå¼dµkâUâaû›÷ÓÔZœ'ì×®|õÚÑê/�µg³.|ôøéãv}Àë·¯…½·ö�«`ýùމ«—ªéeçZ@K¿i­|„Ú¨¸d@@V*×í%jåß7 Ó�K0~Ï"wFNÀ<Ï­“ýøõ½õø±ü î£!´üì×ç¹”!Œ’f³@‡´úqç†d:ëÁ4›t÷EŽTÒÑÿìôé£9äd›G�Á~ðÿ¢´kzöôãÔæÎ�ˆL&S'ÕlÖ�ý Hq’l¦å¦,Ð<ް!“ç�ÍØlP”Ö@'KŠ¿¾aá¨û�è�!ši‹ Àë @GW¿·&í-§´ØzÏã˲ÌÕnÞ– -þbX�©¨EÐú—Šfí*“q‚E…E9yÜÉü® _Âݯš»ÛYÒœB¼fµåC½ºt\Å -5‰wÛDkÖ‹@À -á,ªþâ� QÙ Mú@ô HU€ÔØög³áNSíß3Â+w£ñÎ~»ïéÚìΆI^¸JßÍz¢%HÖX$‡è:Ç'Äh·uKr•š ÷Z±£®v1£;-yš7 6ý­�ïM%ÿ¸ãY'ùÚ£¥"ɉN¥ãò5…a^à•BŠ®¿ý°t°S€ä*Í!EçÌ™±<êÕâw@DfkÂð�B%Qh1UÃe–—©t¢E]$Ä­ª-pa"ê-ýöU”dòÝëß@éé—-+©Ï²DMÎ¥ü]Ñó?¢~ÎÈ¥aÙ§À«–ihqÂÍ1 -@½�Á‡²È B++Ó_Âd�=»ø<„“9™¥ŸµëëÙ0»÷H˜î}Oä§l¡äŠ€»ï�‰k«Tá#”G6úÉŠfÚïGÃ�Y³YìcÔÓòä䛾ù”%i^ðú˜ÌB´¼çŽ:¬wÊëM38ÿ :[ÿ‡ -çÑzŒÍã #39(ØA3‹¹õÍ®Èè©=a`ßÖÖ/ƒþÙ9ïÊ•Ï3:LL.é5ź¸FÙŒX¬:]eÞ,âæ•Ìqâw²À;œßG) N¾ÚmµØ‡{-¯7œçu}Toª›H~8ò¬åŽäõ�"kTh�£„™�i¸Š"Dº;õJ¥Mš¸P€„š3É{ÃÆ]°{»²º¦ÞVOÿ²×Û§Ž*”Ì’¨¹®BHž›ÅN‚ÖÌ*-è¨ZÕ*Ã1œSRœ±éC´óõ‡œCeKJÃwাÿwþ -ý�ý�Ý à…SÚ_½xñêÝ‹g§Ž�h§§OŸiÈ– ooß~÷ÎY€"`,aáÐ-rDÍŒ øû—ïsô^As5ƒr -Œ•u³;>¤Ñ-Þç¯tÄ«X®» ÿ/�ôï2‚�Iïuâø¾Ì)àƒôØüƒ7ÂÕêçM¯ÊE-Œþ5S|ÝÅ�¤3£¤Æ­„P ¾ûþýk§<´]ß}çº÷ûs€gO7�MÇ”¸,T’Xþö­ô­¦õ#Šåõ¢B”ŠR÷gÏÿ'J(Ì•‚½ï6Þqû@©ÌugDõÖK‰Æ¾Y“Q!(4(èN>'•ì·†éÜÀ{ –¦kRû+›_m lA YpS×ÛížyÒî¯ok°®7±¡ŽÇÕÿì`WŽAÛÂÕÉy{™¥Q!±²ßHý pk¾vgÿ÷Bî€öt´db÷öÜ�`Ý­¡“FÉE½1Ç ž‘ÆÉr˜-nö¢~Ùªäa+Ú5©’…l»—U‡æÇÜ‚‡4Çbëì·3rG5#4i†õó?¦Ð¡°$O>à ›õ¾:;ÞAÍJ8:˜±‰HÎi +eâ•ËôñL4£¸5“D ýAïvï¶{'L�B"‰…¹ã€µûµ%¯ÿ–~–Ð=pÿ2™Xþóp²Tu®'9~�EQdÕ³e9Òš�Œ–B�ö« ”Ò¿.Ž’æÜº§ ž÷»ä"Øj“né�ȼ¦IÛO<¯‰ç‰…À »·?�ÝF…óIåÛã õ»?jFàf(üÇἄҌÈ9•cæ‡6 .ü@¹. -A½<èL�‰:tY¨º-†�|ßNŸ”DçÞ ]c@”�! 2ôùÆ•+v‡_"ç2ñ—L9§<ö?숟Ã{î çÙ†PÔ¶ù墾ž Ó¥]îÓü×·è¥IIs¡Ð[™»ÓãZæ|ß�HNé骛ñö´,y†õrðçî^»‡ð=€ëšM€Ä»¹èõHy´„ÞánÕ6!|`ê¸ ±„Z’W¶×JØä|LäâÇœ;ÎýŠç�¬â¹V?üIjç'èÅ 1ê…þñûx>�í8]>~öìUŽ xåIÁe7`ð]&ŠþþÄ^v²<¨é¼@�ÕÀI§Â¶ÀžßBÜý@Ö© ?ðì”=ŸÅ\ç-]ý÷¶ôˆæeÓ€â±ü”‰ý^¢ø}¡DEÈ"º3‰Ëx2M LgAð/¬z—!��ïù -þÞs¡.`�GÉN€®ò{úâi3tZ–9 Ð>€gÏ|òâÅãåOõ8ôõ1"›Ý–G ¨ÿï³ß“ù‹=máM$éIJ–,³ºï©Û)ÖüÓ:4ÏSÖt9¶Ù×-å$eÕ)´¢™¨† ?6SüTÕW¥¨êµ¦ºÍa«ÀL žÌÕÙ¿,—´ø¿§ùÑïL „§Ù¬�j‹‘Õ2wKç ¤o°~rœžÆK•âòUž[¬Ú+ôðP�4šŠAxÛqÕ¡{±Bieøš�ú3�lŒTƒ �º}Q! BN†ýsbqAD²‡pvRû¤îÿŸ\ü6ƽ:Ýß’Ý $ä¸î.£Øµ îÊŒ t8[Œ£”¦+˜o‘ªxI³I–;åW�.õi’Ñ4«˜;@ÞÚ¡ØLþOD7Ñ» Ô‹rÒMÈL„¹ Š]lî)XNFd lF�ù �(T… ¯o•1§$sxû7ÀK5+ Üh(UiÑŽ)oE'æç;kºâ4ªDÝAkEË$$þ¦š`›ÖÕä„Ð�g³ñvßU.²_õw¼Dú.ñ¢U'02…Â3r¹©ô¢˜õQæ�YÐèðq·¿¶E ¹dÍ9eÞ}���,'ƒðT$�[ÂØËÔÏpîÃDåp å¼àÇ•ÿ"ÔRÎ'÷O7JxÿÛŽÓXÚIN¶ð”ì@[Õ|pŸ\5€–¶T.ÇË5V;åØê€ð;•ΓªÓÍ"�w¹õ $¾–y]æ>¯Éfh‰Î�wÌ'[HªWˆŠ]5Ó›#j�ªKdµk€Hu½Š*rËXŠ WòÍ0ªóÑÍÌ%HaÙïm}úé•OÝáøs7¾Þ»¾»ïžV“agsx[u¶´œ2Ü+G!º°#—¦Ý¡*î/‡7K¸ÄT:+ -ç^šÉ°„êBÙĺq¡)dFŠ‹œ§˜Ô4£á*xFX:ÔOR1õ‚ÒÌ»p{Ö©kÏ�ÇGÓ£#G< àå¹P÷Ú™oÎxïÔ¿÷ïíÇú×È�I-BoËu±¢EÕùÀv&÷ÇâN'=ä£ ›B‰ðW‡XðÅ¢ç./êŠZ€X=¡íOÐÙ§.âoüãV75‚„œxõœ`Ô$dÑà ôW ÿh ebÞ¿WIPÓq<@ À.€ïÞ;#âõk7HFdnôøôÑühªðøO^dw€§Î®xúøqÁû¿¥ŸèøýŒêálŠ{öoXŠZcÑp� …PJM_‡”о§nÿÖ¢!QˆKZ†÷ÙjÔnoéK”™4 �X9¤Âó,¬´NÅ$«†›å íK¿ïÙOyob¢.ÓRŒªo±Õì6!¤&KiÍÒW\ÏŽUêÙŠmøEuhN&³“”èóÚyiÖçüÊÆ.‘õ2jD]HÀÚÚ�ÜÓWûþXC`/\÷žpÓ¹ò²u4õüw‚�3ÓÐ;?Ü/ãecS [9'á-;½2Á¨²§Ú�lE㺨ã„ÜÓR² s�“†’~—aöqÖ;³ç‹ßiÜÊÝ¥žó rïÞúêœÐØ*³„Çe³¬��w4q>Öá]Z€R4ÌXZ„¢ð…‹¯µÙ}›Öd^mÀørºÇÎè£Ðý~vÒ8MaÒ ê?›¯0wh®Ø¼dFy�6†„®�ÉŠ”‘ó•¶tâì* ¹.3Rj»-hÒ¼ö.}(kÑiå”q§z§(v!q”„ÂE®9i(V? Iu¥U™ÿ.©¤yðÛãê&E¸tJ‘ê–s¾Æ�wÊn¹!Ë5Þjûp>í‘>/ªÑæ[¡OÈhs2éÈ,ñ?… ”¥ˆ.fž¬lႉCK.2§ˆ1��¶/)]»_n\ùäP]dω,[Ú†]€Âm̃´.-þÛ¿åê¹²ñ…£ûׯ;Üá(üw®)¯¾V…ÛÜÛúÂCTl J‹ñëò3ÙG¦¥ïÂ[¸å §½Ñ>:X´�ú°ö”èËœgÀзdhñírv2sNLÑÛâBh©›ëròQj‘þ'èñ3lÔgeÄ: -À«§�ŽÆÓéüèÑcðõìå˨¯Þ½÷Z왢fÔ1Vü�/r -Ù9¶Ï+‘Õév ¶.ñœnq6öwT�ïדï}7—ú+ÝÆ‚¯ï :�ÿ%’¨¹ßíý‡1{þ -ˆãâ¼�{äR뿼fŸÁ_œ�ÃO¸"�ÞóÅŸ�ß—�;A<áõ[—O–mN=z4­FƒÑü±t÷_´ª§(§§­ ÿ–R ~’šY³ê:�MÑæ£t÷r·¹îröº_cPc1Q$jm±S»\ï4,#¿-Yn]OOùESL‘eçÖáí«ý‰… Jxžzeã­ú.;áïÛQ­{|Q[ …Ñ7°ÀÏh®¬U lòÛh% µÛš/«mǤ5‹Ä* µN­‘¬&_u†«¶÷.(VüÞv” -+pý뎻Ìó(àH ¼mR3—BÌN¤‡³Ao‘Y ÖjT.ìvæ’W'ÕµÛ‡ÔἺ;t}�ó 0âÊ<�Àÿn�&Ò~lš„îØBá�Xu;tEW?ÝYü rÌÃ’pgæ¯Iv¤É²ÚÄ‹Á¬6A8*_ÂCZiëÁØ2V®üÁYþÔ�Ãìà†Î0”ÿÂÙäAgWÀlöïÃÿk�Öy¹Ðýˆ4€;9pÂøÒÅX‡/rÏ¢Û@ -<$Evû‹'_.¨™02QF³¶à˜«…¹"·–Z@¿D?¯`T?J¼RÛÀzAØ™:k Œ¶G+ -Š,�c�†1†«¼Mˆ&¼Ý¹| Û¹ø¥f�S -˜ 5Ó® tË <<øp4Ò¨ AÓI}öíbáÉæ–Ÿ52�yÌG]-¸È†–sÄ‹¸Ëdr6;þ-xØ,2��ˆ}]B±ëB~ áÆWI÷Á`þ§5çê<WwbU[NûoXŠ‘^Ôî h[ŒjvæIÉIç|ùÐ_椠T1¨ÌòÏê¥RÜŠÌëÅýtzcàÖï w²!Èhü©hp>©×sÆê2‡¹G¸p~Œ*+\³°ÅX]2Ëó!ZfÕ4ß6™÷¡ã`{c% _ÕùÈ3FÚlÀã€?þ¿HÀ­[âÿîd¸µY„Gú•G¿7°äóࡨFÎ,ŠPÛ�º -‹²eå¼(q.>xlÀÔê[5³ç�-éšsñ?R»ãp”G£p>N1T�»²ùy x=˦ÓéÑ£GX°O�ÍþÒcmÞ½}ýèÏ8{ÃAg;Öµ‘c=«³éÄEËŒ ¨p¯³W!a_Àš…sõÁX/ÚÿÚèÅ«ì!)OÀv; Š»>�í¯7·!ç¤Ç‰gâÀÄdÿ_§ ü“=¨3ðbn´ÿ�ç�]’þ÷99ùõë—¯±ð_¾DO:=m¦Gîøè±ç*¸üÿr}zÊÿO)Öâ�SÛâ�÷›çüˆì«á}¸Es¬»µÌ,¶h€QÀÿcôÊ Œ™ËÌþ=×¾YʬÏBš—ܤèî\ÅSPˆúšF[¥Øi­8/}öÛeXi(â/…�Y�à îÐE–ýjæ@°ÂÜñïOÂ\3{Ðz‚ïaˆÈYûd{OÅAF[ªÒR§5l'#ð°iATâ6"’¶U¦r­×½õºÂý»EIÓá¢ßÃÒùi(ñ­ïüçÝí�‘ †¦VÓÏ›ŸvÏP¤~ï–ä·=Î>=i8¹‚`TÃÇŒ ‡Ë5 SéÓ2ðëEË£D‡3Ï6&è[»{NSP. ÐÌkí¢¿ƒ“m¤ƒB|‘¬+^D(¡I˜‰#‡!3®4€EaÌÑb .¤)|~P?·à‡cîvæø.4iŽ;ÕYÂðŽ( È—2Wdáa�%ÞÒ­”ÎS|á)ºV§[SE1mJ9"$QÎ`Ó«SDW””ÒÜçÿèÿ¦[Ú\0Ÿ^6yUÊJRÏÆÛÃ¥µÂ$ KÚëÚÄ“ã!'ËïQÆMmé°ÆeÁL¸SÝ�/�ÏunxÑ¢OY-PÕwºF)µ¡®Ï<›^ÖsÔÊGÎý¬&�Qñf¥¨_�ÝjGé7ðÕº™~ã±øÉî=G[Îí½Hÿádû@²ŠDü/@ -çâcˆ––ƒÙQÊTy“|ïìtvð$øLf"§0ç99Ú¾@`O- Ì¸Y_„h2�^—;뚺ƒÛú@Æøh9GÜí0@!S½O™¯ëuÿ -= TûÏ -uiq[œ0²�?ä�…«ž­š2¾äCª|d~fã$Oi¾ÊÔËá­/7Ю˜¢­/¯_¿u½·›Īô¨ÇîÆ@À<è8â©Á÷^»^¨Ÿ3> øðp\FƒÆ‘·Ky§Ì´é<|QÙâ‡ò’sŒäÜ]”)-} -²¬?_Îi ëˆÉ‚„¬“š�S 8?EØÿ*€¯^¾zú¨rà£ÓG§�_x€“Ú<)èu6(ƒ¨IlcPUˆÌܹ¿¦g½ØÎö˜kvâ…UA]DUw½óõLôŠy›Gy>ÿ'fyéž/^ýFó« /Å…K=ñ-Æ ÞÄPú#TTBŒÒ�myÃrœ¡°e×€Ú @cÉ3u¹çËt¼/f €�3!Þ½Ï�?ÎtœYe#€ñ… %êå á>~„ -ðQ2#?NìÐP¿é.¾µÿÓ¼ÿAþ¦�´ù;iPJǤ,°±YüÓÂÅæT³Agä\[+þ­ãAó‚büy`�Ù*ª†Wo,ZG½G›ç|v5h9ª -P`j'ÖQi÷€³ŒLÛU|Üt�u ÿŽÚR¾í—@=±¿xv¼°¦¥ŠÁ2 -Oè “{6.peC•¤JöõÕS÷G_`D!¦D(”iª­œ`¡"%'\ ¹›ìã~‡¨2Ÿ‰0tx3áL†›ÀJë¾×ûõ°ÝÖßErhõž¡õ\Ǧidg +6 -Ùº˜f±&Ýí†|¶3[þ–¬±÷Äèû®^×¼‘v¸®Ý�!*&<�/'äÀì·±×Qldë¾ ”µÄTâÜ”\ž–•Ç˪s¿)ÊÂÊO®(nrEӬРêç «ÚÙz«ÐRœ÷ð0¿é I€Ú „Åì÷vðà±nãÏhûv’¢p©äŠ”K -ùñ©r8ÝÉøvÏOUˆèdèÁìÁªÅ‡¿ŸÕ@ñÏax¥²ð‘U ÑŸ"}f_Ù¢ÚvQ<û…`?8Z-#Yª$3»R:Ë.•dIZ¼Z: 0ë]j‘™á”@{xU}›ú|Aò|$©NÐþs?i{]¬×vû9° ‡óãúøìw é¢nÏ–Ý/ѦC �JÍ>uXe§>Tö@²ƒ9EÃd„„ì—v¤gƱlïÃyyÑFTþj¿™‘‡žö|i€Ÿ–I€Øì2žd— -ãN:Uæã'N²-Ë÷Ýј|˜ç?„ÙL51ƒôˆ£ŽÿÛËq±ÎQ�êRÝÉHJÁQeNYôMZ̳•ƒ>‚”9 {h—a攢C½­O¯xpLûë=·£Ž¢�ïw¶SŒ -üG2_£ü““" ]çѺRî÷‡B6ª‹5Rv|Á Á_F×}ºöBY$ÚI k¡¸ã¿§Œj^^.óú�1¯ÅÁ¹ls]uCÕ¢„†O=E90±3@Ä— %}%"oÕ]ìè0€‚þ$Ýÿv‘+'ž¢€ò§*ƒÁ¨~Œº$þ¿@™ÿOø8­ ý¿%-±4{³çýúlád64ía[%Ü`†ÛÒ¢ÕT¤n½¨`•ÓTZ îÍÎ~ßœ>˜MúÝx´š§ít;ÁÆr(‰Šüü:׆z2¼º—â�Áç‹Âvh{ Ù‘ÍÏù°ò´®¹k}Ø6Ùж‹ÜNN}ôØì/<ªyçwüIõh{ ¶MEˆõáGÔŽŸš8�M›Ñ{$·îLï œ+¤²]ÕÖ¦1œO†ñ œÃO$ ´cùNhiîOë‰ñjöø­&¿Í[L²á6 -@àK“õ$*÷ªàÿ.UôV÷÷ë�þºõ•Æ/ ÂÄ÷r§^˜?drÛÒ´Ã °¾¿/œ�cûûMµ™¾‹è„äú)ÞÂL‡Éºêï$_>ECËÀP"Iˆg"SäÚT7›œ²„&à¡Ì"¦`c£x¾9¨—ä«û½­,ó4¼sKHF5X§ÉW_%É€¾Ì­g¢¶ûF.b”)ÿÑcÚñŒ$Ól -(Zlä‘ÞÌ–9cëà‘æ“üW´ðÿu‡9eÖÆ7ƒå‘ŒÈ/†ÎšßŸYQÆ" ‚³=.œE9A¼ânZn?–í¥€€×}ï|«÷ÞIVØåP¯Ê0�ë)Ú’`=¤¼dv—_m›‹®�áP‘ªºé÷©×¥ë`dV¿8•úÇWó' Ñ8w§£` ?„ï²2â*ç Ê8»6…ñzpP¶p‚Â:eHñJ^ÖÕô|Ô©š¢l€æ’°³³³ß«‡û�[ã¸Ðõ/·¶¾ˆõ¿±ñɆûìóvø–”<±ë·´‹sûÏênߣ§×œ‡•5甊 xö籎RêúhÐͪ!)ñçÛ €ø&Õ0:n²�ÒÒcYWç,̺z2QíR¤üÇMˆ›'®Æ� §ÆàsT™O66¾¸þåuçÜÚ°¿‡Ö±³å¼Žv%‹m€]’ö_~ÐRàëýá�}ëD5ÄpI\…k-X_ê­e]C.ÃP£ èDxÅ«Œ+–A�k29§LäY¼™³ìÜKÕÿ j‘þãä8?øÿÒµO] ðêÅÓGøq=ôøñ©»áæNïÜ 0 3  a,Œr*j%‹ß€³,Ô{Óª¶þgÉ~`Ö.�6�[„àòF® 5jÈýy_‚ðÿ‰E-@O™ø×ÿü+šÈwÆM¸°¥?ßÝJ§Ã{œ|ã{ܾf:ìÄêûÁ¨ØýÜýM£ZÀûw¢?ØïI÷#¹§§�?š×GãÁÐU¯^9–bÀãÇKGZÀÿ[¢ö~”šÙó³³Åù¿ý¹F8ãúù·‹…ç?ÒŽ-–n]ZöÂt°Š– YλÕj±8_.NVMÝœ5‹oÏQš9[¬žÔÕK…úcóZ/WKZwí"Qg/Wg9¯…ÒL¹kÐs¸tJxí–\î•N󻤭í›ÙÙóÕâìüÛÕ`´�»Õ›Õ“Ùlå†ÞDM[Û¬ìSåµ)-v³lPHÍ™§‘âcyòüßΞ4³å¿ðr=u¬«ßxxæ–ËùãÎHIïêœ4Ù,�—ÏW„7ýÓêÏgOHÜC<5«fâæ¬Î(&ˆœÐ«~çÞÉì÷¿ýí™ínêÖm´¥~ßýÔEZÑQB$NIÀeÖLg‹ø�Öµ¨öû¿Äb óg ò¤Ø==8÷j¹‚×áÞ±Z|ÝÀø`X¯ÞŸ+¯šCg{/‘·S'ž“q«óó -…mñ’þç'Íd¶\߯˞rÍq2eiÞð�ÍsÇýfÕp¶œ-¾}n¯ïr1;;™Œºn.ŽÄ›ÉW„ç\yZ;©›óç+ϵmæ°†HV‹ª?}ó­ŽQÚ4«Õ¬A4ÈY“¯gg0÷¦T‹32çìß–‹z–BG¾¢9€Sëú>E…„5ˇýju¶ø–’º:©gøxN¡£m2[<™Tƒ™£s%�¥"Øns¦\GÍbù$«Iûcržâ3¨ž?sF8ç›åsK|#ËcŠË¿­–ðôälyùïJ]v½ý»Ô--�áÆÞØÄIYÿAÑÙìO  åìÈ.ïuÃZ8]S0&›´‚) -ucWT\ øB׺;ÊP÷WVƒî)M'¤N ·‚r|#£é_8nÛ|QÓbP÷û�ª†Î¸@^ɹÓáü¹åö¼>�DM ~ȹL«2-Ñj—~Kªû}�¬ -$â?}vkÎ'oÆ7�%b‹î’àz4€N¶ÁÙ½wè."ׯg+  !0 -ÀÐe,¼ÀÄù]FÊ»ÎWMw@aòé‡(¤(£}ØÂÍ'çX!Þ¹´0¢œÈ'úòZz‡«£Î´í»£1èµ=XJŧ²#øøÈ7Ñð_¢>ÔçÖò8¦€}±u=sÑ_ïìîN&�Žs‰þ("1ñ_\ÛÚúºHBX’6x@“”Ï’½-*‹c»[7h9ï ºˆæ­�ÐÞJCöÑëêä°šý©xÈ÷çš-š�Q;ëüãtÊ'óÔ] à€W/N›ñÁx<ôè©ÊÁ³—ewû÷oß¿µཧዋšÃ™ç¥Wÿá!Áâ®Çêé ž†üÅØ˜�á@´Ý,é©(â³xíL; @wßâßí{…è 6poì†ôŸj#v'ü�B5Du€P„mþ]Gà­z¾EyÝÿ*Ê;m1CÚû¦-BÏê¹/ª:��!™˜•“nõ÷øÑÑ|Z�ûãùc±ßa]�8?m>þW2ð#„m[SJÆNg¡-¤èãp×óTÑ=ÞÓÁ¡Á€/nÆ£év� ìÒk)RCð,õQŽ’¢øR©9mm³{ÉM³F±Õ:¢ß§ÐmbŸ¤öCÈÞCfKãts0FN¨-Óz\Mõ¤Â>ò¤ÎÐx„ë¸êÀ ~x:�—é¸aŽJ†§íËFð0t–ŽC°>0$ý–ø= Ò‡>#(‘ؤ(Í„�dDÇ›´R�¯wú�ku/ÉtWnýáÓYLƒþm~¼òk´•�—ª©•ZÝ¡¾möûìQøX?>ê÷oœ å¡«.+HH†ÓOCÛtobeÕˆÀì!ÎÂe™%)üoÈWš3$§CþâÅc> Q>sâk¯•�µ4�àH’¼Q:(íQuÄ„æY¤¦Å•%š:¾¤ã^$cG©ðéXž¦î"{‰pvƒ;4�§ö´›Ñx:�^Î×òê””¦¤ZèZæh±L$Ì�¶G#2áZÇÙ‘;¤#MâV§w;)õdØ�à]œ£Ï¨1Zò�Âx哘 Õ-ü�~Þ>Ù±×.3$Ç·Mî!)4ȃÉ1€:ûS½�曩¥P¬yJJ1¥kLùà}» j§ Lf÷ ¸x—x¡te´Âˆï¦¿sáÅöÙ_Á(!k�ö�Xû²Y±`Õ™|XßGpµ¬œ{úS¡ÉlQ–nÚ/ç糃iã­(ßP±çwœ ÈEÔ¥ðNš*'ý¬‰ç-øLáβrÑ5ÆGw¥•hU€�¯;Õîlx«Wí‚þP>ÏìæÝ¡a')m(·â!‡ºœ/©Ê³ÌÔ•Äà ƇY gþVèøõÙì·|_ê(2·ÜK¦Ç¦À9—¼™–j�ÀKÀ -WWäò|�ça´®Q|–®‰Ã­­�O®¸0ðÿåõ[àÿîõýÝÝýÉáNgb7a¶=YEØØØê]_vaƒ± ŽÕô‰âC‚ß½õ£ðVàõ+·ü}Š=_ÑLÆÓÓÕKDYª^©ü}Ó÷DÒÿÓ®{(õA÷¦�{Ú‰Aßó4Ë1’7oz¬çÅÉ�xóäO»=Ú—÷%‘½àAâà œHš—.Þ,Ç}J¸y|ûµÍ¯<3¿Ó¿Ú~øÈ‹5&(WNÓ”ö›þ6 8¥yä)ž‡\Å:ŽþÁ x’à®pS/9‘;~º¿Šß|ù¤¤Á[æä Üp1ºñÏtpq¤·}’<ÛáåNgks»³¹W �ñ7Q9†Ó£;·×GŸ’Î_y@·ßǧÿÜøgð¾Ó¹Úž¨ßžëùâ¹ÔÞÁjg»ï­m¢#3¯aTCæ…¿á“Ä6èz³ÓÍI­;››²´Óé¾'Œò’ÿÝ®§‹+®�î ùÚŠ]7Ÿ´¢‚³â�ûÄ~€¶M‘yQJŒGß{§Ìù9è’[Êè†$Í ¸ etýþ¶¹‰Ÿi•<øµD?W=ýÿ’ä®]#!<ò¸ÕmX"ôö Xb¾�‚�”ÏlOéC¤T‡ƒöxßKtå~=½ÿ�¨;r¯Ÿ¶™Ä9\ä4Ì¢¸Òì�Ûi—Yª}·ýÑÕ‹äj�ÜÒ|Ûæúî¤~Þt²n1„ò‰(Û‰4Áº{³¢PZèjäBÙ!å>ž°úÇvNÏ7>ðàç±á|¶l9·«ž=o€ŽpîrC§„ì2®Z…¬ñyÞ­Ž-d.¨£ÙB¨_Aì&«.¨L¨WaÓDÜv›h—!€Þõ/÷Ó þÉC¸rå‹[{‡e¾IK¤~¶€ß"sç,�-û^t87Õ�í¯Œä7¬ã›×šÅ #é…2qኒiãqVÓ¯½™·û�¬…>ì�ëʵ?úÊV�Õ -íÉU2 ¶âÔÛú¤Ìغ…š£p«‡€jÓë¸U˜àßJ¸UTƒ¢Aõº³ç¶V÷&Ëa§jÖÛ�—FB…s­¥³j{¸>¶%æ¼¾ »pž,u ;C/÷H^öJÙË¢¡ÿ“tô÷h~H�ž>åÈzöôÕ³—§óé0sÒ+ðìÙË×/_¿}õîÝk°ß p޼x-Z@úÀðŒˆ´ÚÝ¢, ªuï—këDiA1®1å >—�þÅg d ္X^B->gUÍÿ„ €GCÀ-öº¿¾å$Áð'œ£œxåh€¯Sz,â“§IÇ÷žvœ™EY°×#ËÐHýÛ÷¯=7ù• þ^=[bêÏ=Âܦ�PС¢N-?ztÚÊùÇtÜ<üè³l ûUztþfõíŸß,ŸxHTóº_Û5o£3¥ùkV§Xaø_®Î¾=;£µMëúESÿá|µ|Ô,M}@ÅY­¦Õý“e5¶‘Ñv¾;ª&‹ÅÍ…>n˜QS1]j¼\e¬ÓÎe»æí÷¬ë‡M3'ŽjtP­Þ<þç7gD\O›?µ£±S{ýå®Â¡Y-a²™yèùrõÆ‘ ûêê9WççËyóx±|ˆ‘ö‡ÕêÖ¤08�hÜAON;oNl i–VÍÒáìÍŸtsž•%£’ºqïv}½zî€A]{€XkðìiQc©HÐÃf +DÐ,šüƵí¡Q=irªZ5üªs·n¦ÖÃÔu‘‰ÿ©FºþM--þÃ?è¿‚Ùçç¼]UN�ÚóÕ“åî!Œo¢÷‡Õó{rþæÛfy†´›¥gÈ!~˜|$Ôè -€°hþ?‡´Ø�Ïi¯ˆÕB2ý¦ï¹³í¡b -Ž<y4ªq[9DAF(:r[qy¶zóÆñ ²wµzî?^‡ÍÝŸž¿y~þço‹3c¢É8tê,k®šoÈ׿!q¾ü…nzßCÛ¦(ÓêŒÉ“e}°Ý«êGd }J˜ÝRCx�9‘mz-ñËþt¾\ž‘¯)t0÷äŒ<\4Íb2D™ø!]‘µù?øëŽÌ¢²g?òÀ§È&Œ E]¡væ�îiù×-.Nh9D€¢‚£3OÞ뎞è¹…Ã~Œ¶AWN–µ~{N§dß�¿$AZŒ–úÃYCˆXtH6±SyŒ«®¿é{b`ûpªÍ0ÌVEY…óÉÊÉ\æÝ˜û�Ê]á¼æeá¼±&¡YpӒچϭ -|‡sMíQ]zæå\@LÀÃÛf wÈËÝžg䎙ø… ˆÉüÅ•+[»vbÎe;�æ.…óÉìx²8éŽ1ÅÅhÛ‹¾BG�Ax8ê@ë”E&9ÙhÑow )óô«E£p~Œ ,F”k™�=ÊÁЋrA \TCs>ÈÜÈÆ(c73ìW—ª|þÅ[½]qýŸ½án5éxìw&²˜‹Úßi{¶Ð‰Z tìÛQS5ÜõÛŠÔ| -»pÞÖÚê°™öôrÁy’%ç).á|8¨šÉ¾R[—ÕxIÿ4Ù>üä_ív?ûãèÅ˧�ÜìB%ÈAAìv Ì°à�†q Ò~öïßÿ%€ª“8¨V%¢ T‹²�xaY¼.ÈŒZ€_î MðÅÝ‚À7¸ì—ûjydØ{¬ŸÿÅsºˆÄÛ8ãQϸFEñý¨ -µ‹@¤tà¤/ü†-5†tF�.¬~5LSTB)*€„F„ùïŠN÷sœßã€Çõã§/=_é1ÊÔã§4š�æG(¦£™«®>òßÔîã·\Í«7Η§õ -úI6¹¬�Í劚úÉt|üÄ!ÿÙ 7)™-ΚYŽÝ¶Õs×bî:JšuÜ\—ŠîšK4rZ!gúà¼ç!ý©BBãÌÑkªè!µÅèh9©Ëóæ›ó'<£c‡$ˆçÊœtÐøÃé�C+nÊxdZ–$éŒWhø=¥•”ºM¶Ì™4�pŠŽSx4'j-V¼Ïešìnýfv\•ÖŒľ<YÕ†·ª‡U¯F|°¿¿w«—EÀ™g—‡]±új‡èÓ@ñ¨FZLª²ß®¤ÂÐßì¡&õ†®Sl©´ÜVZã Ò„ìtØ_ãfÒp¾¶h“¬ŠL–§ãé¿k9# -,4�‘»(—ì@µó‹*Zi'6 \ç5î oq6{€äÖã†ÂVוÔTœ.ì:@ ¬pÖÀauœÑòmU³4Ó@,1EŒÊóa˜;ŸRè"é&ä5­Ñ}½4Ñ@ë~½¤Ðá 9#¥ãzöÇ²Ò ™‘1›~çö“x±\I6Š„§² ÌuGç�‰|%Ï,&f+|yMè°È¯@ÑD@WæóúáñüïÿõGEú°‰¼cY!y4 -¤Y�RÕL·K<ÙèÞ)}ÆÏxHþÈýxè*ù’ÓYšp²3*›H…¨ûù½�™ú‡¦¿ÓnJC܉Y¤Gé"ˆ—Àƒ¡ Wq|8èÅ6œ»††L ¼Q�ÒüûÈ1“íêÜÐ}—’á»Ìôu%$™_sn£±ì÷_\”Ñ(Æè·ãæÔá"™-ˆÅËÅŒ¦ðƒl;à¶zÀÿLP¼åÏ�èª9W“&˜6(“H-«p® ”`Sï¸ã)Qèp¡T"ó"tپؔªDI;tm™Ö4*#EjÒhäÖ":Ò[™›µSAuu¦\#T)î¨Ñ7ç”òöµ[í€Ï¿^ß½ž±Ž[(®è¸xêb&«+…¶6®:Ðþ�ÿñd €0÷+JÚj˜]¸ÚâÄïe™“SŸe��-µ¥!ƒ‡ážUä¼!?"Åø,±ü=JÇÚOÑtŠ1úhn/€=Öv[ÏçG¿9Bp^€9 À5oX¾e;`GÃ÷ ?˜ù]¦’g¦ï‰®Ú ªx+Ûaï¼ÁZÒ¼Ç Gbçó,&n¼V;¼ß ÙÜù (E 0¢ü+_ Ë×2ý hOp龇“tí>Ú*Kt‡þã¯úóÆ7[øw)#š‹¨ÿ~ùxm*í øîméxûþÝkü½zéi -Ho~”Ó¹ã&�]B™ÎZIÿ-Y�ÿ�F6ÄÁ‰zf5n³3^,G,œÙƒ'ÿ¸99>®gÏ= þü¦Ö÷×Û¡QÙ‰š¢”±HL2ËOECët4Ö]`otm”µ�ÑÚK9Ë-¿¶3Á’©Ý““¥1µd–yì…T=䎶µ»<á»9w_ózòûÌ­ý8 ; -@[e©v¦òi7øÄgtý¥¼ß›vGÊ]ª)_Y1@ìr§Öîr½Žo“‰{öî[#SGZ"�=u�½Êíìu]Ô¤�fª,e› „’ª‡*·°|<³n=zË÷oEtëVÛJ=¬ú�™ªRqâW‹3óÙùÒÈs3=l>™“ßɤÄò�Òà: ¡êõÄþj¶4gÜê�|=;)›TxÂJÀö#ùªªc *ŠÎô@­À·Mì#=Ô’V„-YÎꪫF¤¶†Vø±B—°Ž§äëñƒÉÉs—žÒ”k—þ‹ËøÚ" -€}Jv„B¤·Óû:bUãQrD#¬ô´êŒÕ�\þ¡ÈÐ{^š�’ûüCrµžåòÅü ™â¦Ò�l€–K™ ÇòšvÚ˜iÖønŠe½êŽÚydi^¯¸û@óË=‡÷ =³ÚKð¶èBòhÎá‡Øý.øOÉ«=³GÒN½H½QnM„ê›sÇ}7“`QÝ%há}Æ2 -_÷xƒô’„7ýó‚z’¹Q˜ºDõ8 -@Éüª °a;¯ÃŠÐQ8l¨pÖ5—\áïS€ëÃrÐçI L=¡õX4�õžG‰²$\ÎK™³‰*|ù²2ŸLh*Î/Z8ÿ¹ - �Œ“]EæÖŽÒ½`ˇ%½´òÓP%þ$mTÝw·LäÊ[Hkwëó+Ÿ ¸Ãß—s8�Ö¦ª®]ã�KÀ°÷µÊÏæÖõ/·þû—_–•8ï1Bh ª¦Ru±I•9ÆÆz¦�7ÑÅ‹œÁÀ7õÂùœÃùߣpóSd¸%ÐÆGGsû²�ŽÒ1’Ù-pîq@þ9è ô¿{÷�° –Nu!VÜÄbŽR ”Ûþªˆ³|¢ -Ôâr4ƒ¸é�Ñú ðŽŽº{h�ŠÀv"ˆÓPÛá£ãQ: t%”' ¥K QÜÉfÜ Êž AÞ{Ÿq ’G&ƇÑdÄÿ¿DåAûÿ_¿Uhvø?}zúT´ŸŽÇ#$Ø<ª`åÄ©�ƒø&þYÒ>NäëaÝŒ´ƒRy0lÍåu6SS™¼> b°Í߯ô‡þÛ¬Õk¡´rßK2 5¥ŒR¤m -ÊeRk•#÷ÅN_ÖðOɵð^L6j¦ýÙìÁñoqàåá]tu‚^¯h•·ñXŠXsøX8¡Û±X·›=[Wyx:¨ë�=õÝh'V‘¶!¨Ý Þ6ƒë réV­M!¾Õ HWL\»þænÇ©·nèOr2)‡ßPÿ6©¢>z]54Ϩ¾h0Ù?|€(y§—ý;B -À„@‘L©/�kÑ­Ú‘ËÚùéwŠ˜K“Nø,¼·ê¸ß÷6�*›ª•˜“NÏ -ŽìVU�­K�5¹Ë^¥)ÝþàøGtä„«ºB˓נHå<$ïCk= t$ùV‹i_<¤ù³�6¦õAë6Y0Qkª�äëƒÅ™êAÍþ¸X,RˆHCiçj€]·ýú6É£aÔ3Ù{&�žþë›n2‚ÿÎq3Ña­eîGt¥í ø»t0=wV£]Wza’ä˜ñŠÁ‘Õ;Úx.S�àÔ’©y­—BXµW¾éµU6óÈü05÷±®íÒ¢`�ºó`dRÚÊwéGjGy›v}^<ØÓ€ºQ/Ç£èD'Ôípž�#"!e“ \ÌNÎáÜ=™cF‡ä¼ ¾«ãÛ¢s÷Ýâs5*;(~ÆVÃÄœq®êf:ç‚,‡.¡Uo»¨â~‡Š°¿K&sóeé�¶6®|¹7p?—iß²y¾6ŠeZV§»í”-ô>ð¯Mk[F PÌl¬·06ô”kž -aˆO~·š=;û£þ�ÿßgôÕ�©CÚ$͸[§Ë?e_ ÀM@ˆ?•—6$0VÒƒ‰ŠÁÙkVÛ9A"Db}{Nù°îd§7Ýww]˜kjTÇ}˜D©3ì¹G ïìcðfªA¿ŸMâ�Íú‹ˆöû›é$A7B^1v¸øµktÎAÉÈ'áã„PЯHL‚K[(åOU­(D˜¬i‡Âá® ‡�² ìÞjz;¦h2ù½&9¿ 7^\–žš„TÕÓþA‘¤q©9¥�`°¦y"”y²ª+·9ùøqC©‹'´Îû;å�¶Ð¹cùúôrËdÐèl¿rûãâ�f�Ë'Q£H2jÙ«{�tÇ´„ÍøuïKï}È·;K‚ô~Xí .R¼pHö†Ê/¹Ÿ}Ú9Íè -Mß?¤ƒ7,ÈÄš“o]ñè|'µ8Ö{|¬¢œV£Î/ËÕ‰<[�Ÿ¯œˆ°rvLÈqˆt6 ÕèðÏýÓ¥+ ûüùr_\ûúú�ѨŸ ¨z$ O¸rصž¯–ó£ÚY.É·ºjç‰ðö¼žÖ¸ÎëñÁ�;;âä œ7g…ó ¥»¥ýêM=êŽj—v6²NÒþçgOa…¦ðQÉ9íÊâùÙ™ -Hô¼F%'�óóåŸ~Ày¬ÇÓþ}ÃÌÍÒQ"~ó¨Z",4�~ÙâqØ«*ªŠxÇ]«|â€/žêse>ƒ1å¾€�cBs4Î*d¿rý¬œ#óVè±V,v[f¢ºÅxªÁÒ�0îMx}$ò"z¤©tµ¤€÷¾¸òù_ºÐîî•ß6a2Ù«zÝÞÐA)‹¦ïÃtCÑšï´ -ÌR|iÂä–F§^öáœD£Ñ¹&:ÜÎ2bŸNGóšâÎeÊ·÷�‰tùÔkDbåO)ªGËœ$çïï³+çïWò{õ³ÏȹÍkèƒáxú¨vàôé³S�ÜLàãÔ÷wo¿‡à¤ø23îûœ ,â -“ &ßéø/ fk\SU[ðø×ZÏ ÈÜÕUךÛ�c÷tà¦æÓ_O ±ÿÿú—qñeøà»úa¤Á¨ø]wúk=“(‚ĉ`yËÞSÁ—I"�¼î>ïÞ¾UÎ|ý6þ=÷ïñÓÓGsŠÙp4 l^Û¸Ê߯•+W¯HéûÑŸ…çïÐb¤prL+I iW‘Q6ÚŸìßJ#>êŸP¡f³ÿ¹ø#�°ÛìÙ@ñ(¹ùg»õ—ÙÓÇqgÔŽj t³FDÂ^(f/OPÏ]õ@DÓi·;‡?®DŸCĦ}Æ­M¢;Ø6ÔnK*Ñè§|Ã5‰Hœ÷[?BZ®º}8/Cÿj @OyÉuùM¿¹1-Ì%͘4• 7á»Ûk—t¬ikÇÁmÉ��Ï$š6š¼­žš£¬Ë6_d© =Þ”èn�5—V—B¹'òMÔÈ\«Ì—«ÁͧÍ}|,ÏUõ›"ôP‘ùhú›íßÎy;æqäJú®Oi¥®ÌH¶dËÐU1Üßý�í¹Ü&o» -@�Æý}$ê~§Óëíô¿Úv5†^¬).Ô}ôC!§˜wzY]¤Im� -ˆ¿}ªæTءĸª»¥ƒÂût™Ëоä¼Mñ¬9ô¿P¢tlhãäŠ)ù{ú9tõ“Ï6­£Ó£Góyãæ§îu/þ»CàÛ·ïìp ƒÿ|i2‹ïÞÇ”ç?Ø) -Ä‚ot� ¬ö6N-È ïBq âÀ¯„ý<4¬ ° i  3¿Qðâ[\À‰ Í»|bÝ�È®‹¯ié‰Ð�OÐež€—zS9ø þ‡J—F‰öû÷¦†‡vcÀ�ýî„,ø~ýÒU€žús*þ;Þ?ô:„VžŸÒ²}”hí'/GÙž£ëN­kÛ?µIŠ7=ž�.ÆGÇò·M1í~Û÷eÛ�¥¸VÆö -:Kk7·ÁAlç[½[nh?¼6®A#ÌQw ÔªÞ‡�ÌyÈwÓmO,�šæ°‡áR�bm¿6Ó.ºÈdvìÞÄxçãžîÎmÒ_éo­GOU¹ ôPP)G%°„FÜ\ÑJÚë�Ž †<�=>aÍðLO½=ìµD°ÖâÆƒ2z®`²ö÷s²0@„ï@Äá)§éǰ0kœåtõ–öö³û@kÌ64ÏÔˆ×òíyòRbðîÆT­übAõûˆñA�4}A{¿V݀܋©¼\÷иEcúíäÞäþå“ǤE_£ºèÙ¡Õt[`[#ÇOBdš›   v9êy–繤®Ë!2ÙQ‡È%ËJ¾Æ/T¼Áp­�4{à9Âøw�Æn¤È.�Hò°³}÷BLp¦�¸ÕÞ^'Qµ3ª€�¨µsø†‰5ÂY¸ãKŸzÿ!]¡Yü‡tóæz¡äh{»{ÓE—7ovnìlß¼±Ýíîl»Pt;«³$ÓU£…:òlw}T^§-îÞ¤Yæöfו¥YÜHdñ¼~íÆÍî¯nø¤¼ݼ¹ãPëçÆvÁ^f± ¦{óÆÇ8ïód§³íRÊðyƒH¼éäåš�müu»p޳aeÉ%q—¥šºDxê„ó|ËÔ�ßüÛöaº~8 9KØÐööææÕ«›ü]Ýô²ôgn\ņý×ôÙfíã5ɹ²âÓݾ©Ìå+^p~q&!ˆÌ;|vH0·0™�„e†µt£ÄSV%ë‘zÉý…Ÿ_Ý Àâ\ȼ»±�à ¤ÞÒÎf±ß®�®ÿòéêKºM3R¸¶}íÚµ6Àk¤^Ÿý×Ï>ÛàqçêU|”Ä×𨱄­RRäß|¼Äù7rNjðæ’ôd9ºù«íoH”ùØ’å»CŽñÚOüí”Tü]úäÊ•O¯|úÙÆÆµNu¢ÏN³°¿zñÒ€—¯ÁÿWïß¾Õèöù€®Â´–²ˆ\àSÌÄÖö^^ã=Ø®5¬ª¨å/|9oA¼6’A÷òðÇ�0TXþ×T€_û=Ý�:BHç :Ñë–·¸H0rƒ¹Ìó¨ Aˆ±ú½6…Nxàóþõ{w´ûÿµ›½8wíä³ÓÇHìèèh<èÓÊ©4"Ï âò?ú¿Ò¶b?"ÛXZ»&=åèʶI¼h‹×-øùø‹lmMÿ¼âny©mN›‹ù¥û E`Ç<Û¡*¬N·¯´kÛèj»À’L/i­ ,üiÓª€â6û˜[s—F[q¶xÓüÖ“~wÁo-°//– ;p�18¦Ó’– #õÁ”(Ù + -A9LßEqµG)«Ñµ¾g€íö«c…j†:ÓO³W@Û„9€„‰ü“{è8*„9ïD»CQß]‘ÜÏmà¶Ûžµä® ŠN…Ag‡ïLú� œ{¸@ù� µZÎÒå¶îïDŽê°tÇ� -ç\ Yq¨Ëþb§G -3<ñ ;K3žŠæ �°² ’Èw"ü º½’+w i* -­äƒèbl46Ã_Mof怹·öTÕóHY…ïÅ®ñ,{JÝlñ[ü£¦òö1ÌÙq${û¨0�¾Ý¦kê÷:n“wxrÚ°7ƒ7Žëœ?K»( -2¥nâ'eýGt¥õù©yDG¥ïøá´žÖ�Ï¿9zZO]!‰YŠˆ…û´£{bYi¦UGK×[ÖÓûS¾¦ÛÚ§U½\žŸ—Á�ÕùyóhêzHžÚÍlGó»:¶[ñ<úçQÕð ! <•ŲÎ;8ª�’Æ®�ydWîÜN_sÏ0R2V—Úõ´|Û—]7ç¿9x‘`07ì{¨NËb%F8�éèJÑ9œ“iÓéÍoÂLç…ïÕËóÓæÈQ ã!p‘¾�bubq�nŒåOrƒ \­Jî«ævÜ0,Uƒ¼öÌ;òýË­­_n mûØÂ/lbûʹ+{šÕ£îySb‚Æc7)FÛ‡s„>œVÝ^3îõÑÔ-Â.s�+Éû4-®†1«‘‚£†¤Cº™öÿù.~Ì*“=äãÀC]aª�ª9¶vr¤tµËд^ÕS{ri·yýhù8˳´¯ÿYÕûòkJs¨ßOMTZþÄÑšnm¹oè0g&û;nE‚¥>_®ž.—OV«]Y˜”§Lµ2¯Í08�5_ÍçýÉM}¶æ¼ðx‰sj<EÉBÇJ ^ΧdÛOÿý¼€lx°¹aÎŽ]è"W>{ùêu¦d€û¿ ¿ûž+p‘O RûÚùz@©°-âÆö°S¿°ÐÛ'â¯ë>\á(t{/ü·B¹˜£Eð²A¨‹Ÿ¿À¹Úƒï'¨_üGÛ;!Î—Ç Z\7’§CF,ÓQ|]õ%þ–{�ßÀ A¼}÷úí+¡ä%º€»'<Φÿ5 -À¨?Øé º�BÕŠðøýé•¶Mÿ™ï~�ºöÐâ¶�¸dûÅO £æ|ÿ|ck8q‹ñãp~rV¨�KþpùC¸¸¬±šRsË -’É3‘¤žèNªîÁ}dÕörI-çÍòIËù‰ó6–ç½{8'ÝÇ«åÁ„\>ÉdZD3™Ÿ��,ÿäÎ -O›Áö}$ÎOÎVJ¦¸¼@­ h}¶hNfTÊ-÷غ޻þ™cY|äA9¦î¢+ø³g-\×·¾¶8דa§3tnÖž¦@ÚÜsðÜÝ?=\ý©99=çæAó�4Më³?�û(+ÎO!Õ³æ!)ƒïR*–˪~ºÝìßoÎÉ/JôÙÙó\œŸ šýª7ÿ/`äÏ/®\ÝØD×qÀüÑéüqsúØMbügh§ -à"xÈ5ñ‚&Hd]C§æºOì®Ëýˆÿ6zƒœñÜkg*(- »Ÿ€^ Zy˜ 3Ì8óBÞðÞéí9PŸH"º ­eC|wòâ:”lôÕ¡'8uÿ×À/Û‰L®ËÂÇwî†ìZ%QÈ!’—î¢x:/놃ÁN;æÓO#äO#å§Uû•†Œí«þq{\&–YÍ&Mc9jÛbZÈÙrt;¬mŠ…XÞœ ÚZ¹�t™Ó×6^4»Âb¯W�ûÕ!Å€ëß­‡_i‘æœ Me¤E°Ö -ègUg’ƒJ�K³’J1i(êÔß :Ÿvë'0÷ÇÙoUJd›�,æ¥Bͨ½nI › lÝŽ’!Þí'áMÝ?‰!‰þ1¶aðÞä^ÒŒ¿áv¿�g�µÜÓ‡oºL1´‡ñ‰�~<Ú΂<»ÿ¡½;wâÍi„Á÷ÐÐ}‘�Á•ghí¤5<äq8A¨ª{;¶ ëÁ»ì�� -ÊÇ=ߎd«0d>@q°ãำƒU�Ô&ÑMÒ_ÝbCc¬ú&sŠN×ÒàWSJ‰:óŸàKÛC#Õɶ; -†ÝW×¥®™Þtf^°7^Œ«PÍW<—üÓtÇsª(t™\ïIÌR¦/š Òç. -Àíݳўœ6ž{‡ -P¶W¨väëÍ»)J­¢*sd|¸k5�ÓÏì˜Rà -Ýk�™î€ÀØ"ôC -…Œ;¹xCëô%iê)ßãfÔ™þÙS#—"CÑ)í©uÕ}WÇB%‡éðq¿ûé‹÷ &Ò±çîƒý𯃛£c7ººL*nZ©HÀ��ûáˆnêf|î•âÄ·{æS™§üòêNW¦îGÔrží8 ’,„ÁU}箋Ð=ù�¬€ð>«ÑëšÞÕNé‚#×Ý$¯w¢Ý£}»ò)Â+o¯3¡"BÚlõ6å�À‰Ô5Œ“ì'RtÇ–óÅ´?zz¬Ÿ°›czKûç´q$:Aû"¤ jñ¹². Duç\–žbZ½©DÒÉŒ�q„Ê;üT»_’®¶5ü²,°â�Ö²kÃdd€«œ(p‹*·³SS±G‘�Á®—þ'²²941M:ý+¢¿qk xm9Own8or`ÄrÜéOQ`ÞŠçhª_ â§ °ùôÉ•O±ñÅÆÖµ�Áh<>zô¨yôè‘«^o¯ÜÜÞ �_ºøí­û¾Cxûž ±2_�þ\ ¦�YW´ûƒïAV0Ø'\Ùó.ªû.Nª@éôféÊ�_‹Ë8¬•„2§­$ÐDdzùÁ�PõœÎü¿|ï&ÀÑZðlÏ��tâ"jMQäìW™yÿ�½ÿïø¼§^¿�ý�‚äÆÿ�Ÿ�žžÖÓ£é‘S±œxM ÉŠõåóÃoþJ”’ý£®‡gÐ*™óD|O’×¥el=Žº43™\w<{ð[ŠJ);m}Ï<®ûMÿ`Ýáî}ßd" ³¨G• ŠÙ³W÷£.74…Vˆ`] Ðh)Ê\5›¨WæJM&äAGÝêy³ð¼µãj2mSÜj'€<´$mn)Û‚Ys2O‚¿qÁ±ÆUqƒ¨~ºFÐ#LÀð^5¼–Cއ»‡{©³&bg õRu}8¬ú×úHøøçÎîm{¾¥ao§@¿g|ß*KÛGmhi¥ÃÞ¸LÆ•ž…5õwÐNÒ+àC½,²]QÒj'$«Ó©f¿Y÷ïí¡¸Ú@�'G l�²ÌAO—HÀÊl@eMÈ;{(õ‰g�ÇWKdYd K‘ñëØÍ‘ìËG-rØ '—¢¿í_=ºY?ouÎLNHoÖ=Oy²¤Zíd@‘!õú·�§˜ì]'n)×—vÖ•,!²ræˆô#ô³‡Òª·Ë“˜Ú-”to‹µd“lšTMYuCƒ�å2^Õ«ª3u ùB÷l°[ -ª‹ÅRëêr­4às‰4ñ`%°E?ž­UæQ“F®ç/mûõ|I:¡ÎÏæâbû¨}6©@ù¥beݘÊË}«Ì…F¡ßòKêxÍèªð~a1”�Ô´I/âw4Ï_ˉßÔùaMq?¶ÀŒýÝ0»~¹ñéÆ'´n[½Ây!ß:lFæ¹D÷ôƒêN|²%ç©ÐmCã—õìeØ5ΑFá\±|ȉ0_§×Å'ê$’:YU˜_�¶GSTEØò샌 žØvÿûç¥g¼·ñ_¶vI[¶ø+½�¥ IÅFæ´¥9 é—NDØ«v:Õ£’�UŸ›"t9�¾gÔ¶RbÜú¡ñh|ÀRKÑÔ]ôQÝègöu+Ú”–ãKœ”‚ñÚœû&… ÑÕO¯n¸S÷Î`0žÖžà2À% -À³¯4r_bó¾ô0€×Xÿ¢¸Š ËXü½Ðwîpš~xщ¢oÖ èOĵC_¸ ¶QDw\[ €§Atq™!¹‹OëÀ?OÔZ}" -‚cøê <ú'ð9ÃO €¨Ð Z°‡ƒ�i‚‘Cõ YÉ”#å-�$Ðku ¸‘�ׯ_¿tf$êÑ3§>~tä¾ÊÓLñuûö¨¿h»YŠÑùû§w1)�^3꯬nG&æX�¬’ÂÉêˆà¡©GýÚö–X8Í/ífrŠÚÙØÜé4!âŠ@q¤8· ´%;„Ûÿjp_‡~`Æf:}P™(`L;MaÅÕ9jãÄÅ�;C:Õõ°[aNÞ(¬>KX!˜¹¿Â0h«BK™Ôœ«RwÂaüuV<ÏÃö™* - ¦ìUÛƒc~ÁSwê ÀlJz­½Uo»—uºûûb?~|Jõv 5UîX¦ôz�,wÊ(¾ôîm!ª7¨mð?$‡ù#Á0Üôûh0DZÛz´³ø÷«=g@9ÿæ†�-Ú Iù#ˆ’§éh q3%_Õ÷ö«�?~¤õþmÜ×Íp;Èq™JIjóÏBWÝ\&ê{A ú¡ÐÒ묠�ÌDÌä¿øHf\à?Ðví×á‘E­ÂDÜQJr“ŒòapjŒJ±=˜_ôì* _yÛäч�ÿáßX%I¦EÑæ(6Ë~¿t“·4‘9Ä‘xJö�€Þj#ÔÔK»ã»/_{™·|‡ÐbJ·®þ"—êŒ^R1[\h¿…L‡ Ñ nŽNŠ -ÑR™&Sj.<ò®®m.`кóµ±2£ÈA"Ãw¸¥â¶¬;¸~2Ú•Cô!KÑëp®TêjªùÙ:Ç'�yŠn‡õIÉÝQA-2õ~EÑ_ö®RÚ)¶©âÿõ/±�±š�Qö¥“<�³|£­ð“s5sYh<Ží€¤åk9Ï´ÿ:+jZæ­J†²æ±pžþ,8]Ëü‚óþà8›%.<>Záò%EDÞl¸¿ô(×e_§1‚ñ¹µàóáµ+[éá/›†lg¨ÁHSŽ{[¿tÝ׿f9�– ›©ØôØKp™ ÚNM8¼¡¼µfÝ [8wÌåüÍf‹I=D¡ìL?èPø4ÍÍàÎG¾FŸº}ãºKÏcwš—³€œæ&9 ýÞÿ�÷v€Š¢¥h¬Ù 0?Åt¿…SÜ�QAV´¢!±[4†\Fè­®¢µ_@ÿ’B�—t6€x*Cº´¯6‘ Çá®â]UC� �[ÂTEÉ­Ñø‚âs¹Í{&ë»ïÜýè�z�øï‘n†àJ€WêFžü«ðÈuõtjÝë¡”N€«Ÿº*F£_aGÔßënžQZ¾z1j÷ëšE…Lo¤ ¤ާãYuàAê\šºzBXûj «a°´Ñ5Ó\¤‚Q„×=Z)Ñ¡Å~ýU¿áv‡÷‹oü§ g ÍÁYµ}šBg}¢­× t�PéÓÏçR߀�ä,MY’p‰Áz5êþ -–„X »a¶®Óî`iãH5ÖH°Ži‚¨g;U€Ü­†×úµŽ»Ã/{׿t�^@{Ôyvüa©ªlöE"^¹S¬ÿüE$kàVÕ»ÚowÒÂÉq‘‚þ¡ô™H‘Ü­j·ê\«nçÔŽ².¤^áv! :R<¬û;Káo–§d ¬ë :!$Ê+ž;�}ÔÞð!íJ­À&YBâ—ÝaY€~AeÅÈ=`öUó.ˆt°]Ímv͵MfÉŒ6{Üj­ã~~Õ½1m¾¶¹…?ÛW·Ÿ=À–‹¢ú�(«Ds-öÔè=w_B<·{½/[ü)2û$C¿9ˆ­ç±ì…ø%LŠ0"s)Ù? +xøÇ *ɳÇ?÷“zÕï_ª%exÀWnAûÈ>À¨ûm\>«ÍŽÛtø#+”ýÃû¼Œ*“çB©«ƒÊ‘�É¢¡Ý×–Ó/Õ”K[t‹¢tµ†ò7‘ùÂ)ù'uAï©.;—â»õ¿HÈ[…™Þ=¹‘ïÕ�õZ‘ *Rçr—Y—9‡€¸4žÅ—ôEé9Üw˜dŸÒZG7N­¢–yb>ðÿÅŸ¹¡M¹…_WHEÐ÷þ<íZ[²£?…_|Ëk‘ùšõqÕ¡|àÊ«0ÎQŠò¸l#u‘¼�!°,†ne.+î�I‰VKwOŒ÷ ¡—fÈ)spu«Ý p£·õ -€\�UµÔÛ¡›éÝÎVÀŸ;àÆ#uçÚE_FÊÏ‘óüøå®$/©Òeà¼/ñDÈÿA/@½¢Á£¤l£.êgÍxËù…Ï�ÐLŒÿ$Hÿão>¿øócãŒïÀ¬›«8ðôåÓ—Üë¬tÀÛwåÀì|Ô¦!cí ýàfÐX¼õ¹žj�s�Åý>ª�œ4äj½îy·üVð\”Ö¡ÜòS¬|% -Ã~ï�Z€¼¨I¯ŽÀo8Ë }Ñ@ø– £4àôVànåÍT9–AÂ\öÿx�{T€·oÝéý;5·P&/ž>Fxzzz:ôh~”YýA¿·³s­= [1Y«8Þ’ëŸ^`¹ÕÓR¤Ò9`èœ{³û;YÚ¦PèÌWrV^÷÷ÛB÷!_ÑëJ¾vÜX./ú´¬À,Í¡)¦ŒíW§ýΰ²íÛ=þûV6RJáó:->IQpæÇº� -2„;)ç³üˆ~ÖVÀ @Ó¼¶äz‡(šú›ËТ”ìS"yø hI2GUö‰ò镸–Äüð’Á&üûàÐÝò Ó6u:ð¾D¯IWjÁÈm}H9U$=ÕmÕÈæMn ½ÔòT4èpU-.O™‘Iñå^é °Ž´;Ýe²% 4:ëí¢Öˆ{Q÷b¢òù8ªJÜâØ©~D&8ðñFæ&“ń̫ú›·­z© ×Ý×ã€Üxpq@µ(%W‡îù]K)�SðCزã5ºŒåáç;Ù"ÄÇ)±kCm„Â(—XI’ùÎûöd‡ZW„N -ÀÔÙŸìOE ìBÄž¤]„I†&û»ö|²±õùð—m@¦´“ÔÔu'ÛNÚúMá¿C)¯;Û©ª©\¬ú¿D6¯c’s/TNu#oÕÕRÌx%9Þ6C0W–>KzÌ_ÎíOÓà)P/þüí7Ÿ«*9×®uzv 飩[¹ ðÙSÍÿ—vv¿ÌÊ7¬` ÀM�5ÿß¿ÿþ�¸/zkëÛ›¿ü‡ÃçÜFO�[dÍ €_@:È®Í]ô �Õôí 3¢¹o;ÆÀ‹q³?§÷&ÄÀ{ñ“‹¨ 4>ˆ ˜wc®.†üÇKv5nMÿ¼¢“ýëþŽÒÿï…*€K�ÉËWÏ^<}ñtõ,ËÑ›<ØP\ó´µµqmã³HÙ¿ ráS?¹þôÙtìc”L¯›i¿Ý^Œâ¿O똲 -Yü“ï9  m*ò˜OêD)É~qýÊÀʛÒ>Õ«:íƒOA¨K›Ü¸–qÙñ¢Ø²!^C'� œ¤š9 :ŸëðÃ40ƒO¡”aËk½Ô÷’Ìé¥þö{9vyÚî jÿåÁm#ÇÅAéæÓ_–UPË�긳åR†kx-Jˆì¨$°.¦:»/€Œç2w©º6\R}ÅÝDÿ A´Æý­ÝáUÜÚQ�ÝÞ¯ý‘|îÚÀÖŸDˆõÎæ¨Ü¬]eoß} ©Ô™ÌçÀ l¾³ïn‹»`|4€Œ¤òV6B¤»U§s\v�vwó®bˆ6À+”¥“ 9°jØÎ+ -© ‡wl>k!ìBtÚ¸qœÔ'Íì8›3‘gU÷<Ùg¡Cël3�|5óÀË¡í“dÐ=þÚR–é¢} ¯éuä•ÌEe!BôzInÒ›GK�:�9÷©ô¿5š&‡MƒÙ¦†kÌC?K ]móØÖɳv/ŒQ"3Ò\ÛÕNIÃ!;fZÀ”¢¾èàFŠúU%bH‡)þâV DvÊLÅ&9þ±êœ.áÃãYó­¢lÙ#Ähd�ûвo­eLàƒ=á<¹ Îòª¹_Nn9—ÙéèF{úŸILIȆ³-šƒÐIh•J]À Œj’ÕðÔ’UwëßÓm«a¯lšßjׯç0 /¾ØÚøâó�Ï?ݸ²ñ宨Æ[‰DÒ¸à\é ÜÀÁ¡Ç`އ™›T*u§ãn×…nh |"ì¼_iµ*/GÊÜ*fŒÈ<Ê×<.R—=ÏfÏ›j¸¨;MÃëIºk„6 À/�·Þ·àÓ+Ÿllô6íà?CŠnóÓPxcX~�!„²ð°s ÃÁ'¡@Ñ�¬ W#,3 -ˆ·‡“c'tÉy:]`bfJÚË -¡Ó zžGÜ q U˜¼ùiª� Ì|¾ùjÚk¯|öÉÕØÿ[�KÏx|tôȳ€Ý èÙ³g/Ÿ�ÿ»î}÷Úó€^c§P:ÿÅ`á2;é¼Ï¿è)æú8  ÉúÔÒöŒ=Ü4Î}G«û½{óØÀ#Çpñe1;ýïU -4ì ·ýÁ� Q´nó�>ü‡)Bv1"®ï]€'\îj)NP߀q.Ô ø÷Þ®C“«|½~KrÑ}ò‡âS6.�sžžzŠ‚Gÿ¹•—çžØ°I™àGäþúúWœAõq2÷ëz:hŠ6N9™yyTY]tZk‘ç£>Õ–"wŸÛ2µ„´ïÃÚÍgx´nª�PW°sÝX–nJéô+T˜¯ÝýºOÁî€3Šîd2;±§É¢GÈÝU4g¢–:{ÊYE‹°’vÖ£¿a6¾K8…‰5£÷›q™ð¡©È¿-š _4}ÒÄ3XšqÛf»ÒV{�ªµ—ÝuQLÈpÛó{Ò›¿uÝ&*@+š+ÞL¿?Zº#jºû8]ÿåß— êÖUR§ö¯tލ4ñj‰$> aÙß®5ÿ3H …s:OPOl=µõi:›}�àCA ÙáîÚF®0;šNg}RÐÞ®êJZø–ÿVvv:ï번ÝØlàò’CÑz¸=wþg¨´²i2gÍb1{�)r4ÄÝóu¾ZètLÆ![RPŠØ¡ -€(G fl�88·H98:5Ýkå¶%åiËUzÕ£�ÆÖ½ZÝ7ÿvÄ.b?Îú–ÂÂ�èg)ãÀ¾±ÉÒY1¦Qq•Ò¤™Ÿ†xÑ -ò0‚#{%Pe¼«%ƒä§€‡ÁÛŒs)Wáw5?˜¶³Øð"#.£Äþ皊þ¿xA©êÛº£ÅZàúçÆC¦4ƒ2bæ¬r¸„s8´:{9[ º#çæ° -Õ]¿þ9×k.ü>M’W.8÷Ì"k€i¶�NåM'ü¯÷'g.~ٌƗÜ]÷¤óæsW2aµÑ=¿§Ù7¸�EµŠ¬°;3–!ãÔèò¤®:];¾/HfËÂð†�u�2 J@|Ï–ƒƒÖ|Gèyæ,iDz¾œTÓm·‡ÖJy�Ô�DyÑüâ˜Ó�°µueó–à.¶¯Ç�oНä$®—�|�®}u›šž‡R,,) Ù"J‡Œ l*!ªW£õœnʼ�I‚ÌŸ=§^vGY›¡w - L¦X”�~‚±õÓ÷l7@Áž‹‹@RáülSjлœÍ–U§O?}ù;÷¥ïõ+-èXý\ ð 8£]èrñ=.ÁRLh•a]“\ä²–.öŒ¸ûffþ%Ó}_m€;ÿÁó µÊ‚‡óoPyÈSíóh¿Õò„oƒˆž Áßk�¢ -åÝé„]Þ‰âÁ•ýöoè‡8 -ú£ù€ÿo¡rð«gnü,g(æ 2àÀV;ð -*€zf?Ÿ¢‚yý‹`ýG(eïÐ!€¥Ýãr�úXŒ-�Ét3ßb¤·\ùñ_”‡”KJ›¯¿égÍj -‹”By{x\6�‰=œFHÛ¯œø¾ÓëlQ| gèÊiÒÌÊ ¾å­éœã’®bWùÓZ�qa.‘ÈÕ³y¸nÝò‘?ël(Z0m^½Ý,œÂx)ÉYض$X†P+⮯.mñÝà·2wèÎ={V£9Ò;¼6¾%œ¯yýV}éH*i°€¤¬ðÈAX—üéEP;¸ßÛKÏ�wÛ NáSm±½Èï~ݹV& ¸‹’ëô`šØË¦G‘u5 v€€æ�ùcé'DÚÝ­;[#»~¡Gìñ–¶íNhÞ˜¯ÂC+×bR­Ï�I1i[_³ÃU@Y„ÛÔÃ�­¦”Ùüb5ﮦbo¡¤ÐµeÒ|–ÌÉÃeÝuÈ ½»(U¥X‰ÿα¨{ÛjH¥d9K„¸N™²Ã - Œ0%-“ÚÍøïµ&€`HÓ -6)û²dÙþ!]i»Ìþ.%‰-�RŒ -³Ër&þXÜ œ¢¨ zÆcXÌn¯I4m¸G?T¾-�’Â6È‘Ýd…}UÜçÉ8¥½,EóWð‡'4€Fß}l:þRI¨%̃žómò‹k]²Ÿ“}âѕԙtçõ–3�Z¾Õ¦(mŸP[pôÊ7ü–À«Ãû†N‘-³çå…,N™"Hm�•÷(±8O–³½áUŠ#E¿Tš2°ñùÆÆ'Ÿo|²qå6�S®2P�º¹(:L¡j*°²Q%5kƇýÑôfYñ­Y‡§"Œ„ÞnjA�ž~’èP]îy`û Ì#CðSl·}þ|6í�VmªlvL¡ð)ä Eb3ø¯Âu‹ÿõ/”½û>B9丙ÖAvkaÝ<Éš+ -±§®”6�Bb«²œçzyzh{w¬é¸c)FÚçÓƒÑÃ4%åUKÍ¥2kà‰ÀuO{Ã]à’6»³éì-í¼Õ´×ÜјÁƒG¿96€–ßzË'eEØâÉÒÆD�ØÏo.áhÖP)à2ÇÇèÄzI†ºË©ƒuÅÅ2ÖëºY.ËÊ-Þ™¹ -u¶oöW¥[ÐùQ+6àͯã•VÛnþª ÇRßîî§÷œ:H]±>ú%ïí/;69E-ˆ›Ÿbи\•‡0pJOIÁf§´ßÒŒÍ΂¼âOÿwo÷¯Ù+*ñ³Ÿü‘Sê°Ê[ê*ƒ ?Nì_Ï`ËyUÇë]q̾'_{â(n:ßÚÛÛCÖé@¯‰B4iêû£oÀKË7’›GrŠn¶jç‘d Ñg_RúÛU;sÓGOš†’=_,3�2tšq€_„•T—þZ7�”‚%ž¢$’ã乑…ó•‹)6ú[÷¼Q^÷'‹åp3û…”þ�èw[Q668ß�„qËL‘J½¨ºÕcyVŒe’ÖÒøç%9᜸-`§{™óº³TëûÊœJPÊ*YV”Y9_T4+b.)ÁEæŠÿ·\Ÿýïæ@ØUæÉRl¹p-Ddnÿ ®Õ­-g3�žÞÖg›*éÝ÷4dU|t€4&¼ÉwokscÓ9€_o}ùõV¯º†…°g¥ïpŸrŸ–OF¥ÃR\`bVcÐÐá‰:]2¾åœÖ�/8ï𔏖sjž�šOjíû«Á›‚ûüS¬Ðb�óÔ€®y¤ƒc¾£££Ì<}ôø©†­G¿z&ܽ~éNïÃw¯3 ÀiïÞ ÆVFÛ\bMgh^Äg…õ ¯:Á{çì‰Ð~Klþñý‚²¯Æ[œ×ͧêÞ;<À�A%j'ñéß8忟 õQbëûØ_•Àg²�~ÞI:ììKüz~ç–‡ï¤$ BõÉ–Héyõ!!£§§nžøè¨ž:ÉÊi€;;t«í@¾ƒþ~JÀ§îL³Æ½GW³zôf �g;R -HΜšÅ¤¡¸7ç«ó7ÿëÍùóùhž²/¡_SëiÝWîõ†75�tûÍ*ûV¥… ø¤º©D£ZŽ9ükXõ:W¯Qž=¢^‚6'� ‚FÙ-*—Íüæ¹Ì­Î -l~Áí è“U˜{³ZݬO›zîšWwé²›Õtüërùí›07—¹þæøó U°§°_Ž »¾OHM5Øn‡{«ù¿Qx �t,À{\=•¯ÒÏÚ@ˆ°-m§T«{¢<¹.†BŽŽ)J”AŽÁwrŸÈC¸Æº¶´5ƒn¿qÌ„¶¹ ¿ Î)ï¾1¹_OŽPâÛMfh¿ ôñÁHÑ -E¶à±ý[ò~±ø÷)m~a-ÒXSB3 -ŠJ÷ñu'°®ëÕÔ>X„o™üçÎppÃ4ÌÂh <ÜûAoÖ¯|‘£ -µœãêîÁÚ¢dä"¨®“ÉójsèbéáA¸þåz@dÙÚS1,Ca2kª~}ç‘x8ç &À9NEæhõ¨ÛÍy6e;œ§Ï\Wážëè®…V¸T�ªõ¡ÙpIæÊ±øß Çi.û�™«ÒÈÓÊ〯|òÉÆ_º�ú�³¤þ0›¦Zi�œš}«·õ¹›�%A½º·çd�–(x³È³äD]SbÂù$›ù˜Ï«jÔ­P×=ðoŠ †ß‹ç«�»F(‰dÇš�áOý]�þ“«Âýgô¹ùôJ€$·;Þ¼¶å±NöL§ó£ùQýèÑãSðߥO_¼zë†7ö¼sýÿkþ¾s:à[Á²¸ÐÌèTÌŠ«.ñ âæ6ÀÐÕÉvà×G†Á�­7_0�Õ¯gCô¾b—G1ЬHÇÕè5ÿ¹àÒ> ^ÿî/oñj¸:†C�ÿ²@T¾ïw^ù £~ ù{ þwoß¾Óú‡ß÷ÎÌ€—n�ôò¥g£)�žž>š{ÀÔ‰8Qw2PÀ>ß"¿½0åò --ÊOüu;;Ýn†èww:�nNäðü>9âf{&‰ƒà7·s,†çKð»­ß›9ƒ�úž¡qsûæ�ǃ´çyx¤ÄW9X"‡xèÔé\+§zl”³=þkÎõøìêfyášÞÐg-'{yç«îÎü´ÌIÞÀ`N¹ðBæº7<†Š+LÀYÛ  0×¹ÙùÆ“A §�Hø$…P°ãù)åÏìˆ(çdìÀÝöæµk�k2VQg7a�Äl�„Ï>CÛÜüʤJ>À?o�æÜäh�üxˆG{]ãB„á! sŠŸøÛDkV2—iûêÍcž^ƒ±H Y2õê¯r�cDÊI ×®mÅg9eäüqóÙgÜ%âDø™¡ÿ’“¦ô‹¼.òÕ"sÃEgÉIdÚÍ_•£^�oë„ã Ï²"yVrs‡Ü⪼ͷåQ§”ºäë6ùL¶¥ä·åÀsML×5yÙ¼vþMC9%&´�x®}umk¡„mƒæ­›Ý_ÞZæú>²ˆäÄ5J�ÿ!ýÌ�€&'ö#4 �ËZ¸m3;Y�ÆËåCZGôRÔN º¹?õ@€ûõÙÙ -¥»D=AK¢mVßô§ÿÚ¬l’Ý‚Öíc|ea½6.�¬�=ñõä9Ñ=yþ|µªG£ƒúùÉɯgOܸl|vv¶ Ý -hk‡v|C£?pÿƒß\ÕžøÒÞ°O딦§YžR[F7¾ÑFV§ê�Öê)ö8'uH²µ�ªif8ãJ¹ñ 1ç‚x…vãÐN¶úW ŠJßÕv"Þ¾ÝÛù-¶ƒåßÁîÅòÝìPÒ-ÐveQi·Ûð=nÄCJæ§07?­»_‰¬ô£°1ÍöØõ“Õóç'è 9ZÃa‰ØXÓƒíi�Öß,ÏsN,ñ¸² »ïùè1æÛKOBu”Ö8C¶v>Žé( r«i!î‡ÛNÆZ¶¬¥v£cy~ä�˜XùÖË~¯·®±ó­鞆nQÛ;½¯;½Îg�>¾o[·­êêò·ý±àë­¯ ªs»Ó«\³—Ç…v\ñ‡ÜPþ;‚§Þè¶=D76]hÜ‘¤Ùg“QWýmžàmXrÅû2GË_Çè¿X Ù±Sa´Ýwp÷®MiòB[bzˆ�ÌW¥�è:OA´”…bPCÜøt„]8ò|Ú‘Ý+�¥l9ïÏ SØÜ9µÉ ûæÍôÍ×¶p‘;eÛsðáyšñ8›GºïßDdd)Ó0âêî…ˆ:EÁéô?#ÏîŽh- ~aŽë6_!Œ�-Á/nÎIžÌqÿ£¿+�ûåÿƒÿúáêilî]®šê°<ÍÝןˆaÔSÊ82du:â‘ !p¨Ç£î7}O]%„h\Öó‡v|»$O_¡V‚®öóRº<žÆÃh -5ÛÓ¸q'÷çÿ~:¢žçœ�¨(@ì6Oí­}pƒ*2?Y�¨ÖÊÌÛdYú½2?pîôÅšPÎçÓÑ�nŸDþ€sŠN9G²�N¡7-çÔZ�ÒN^S¥Yì>:Ðı£fÕtˆ³šµ…²_úÔ~ñEu¨¾Á'’1nÚ²ƒÕòæ(§ -=Å2)QaQžS®�ˆŸËçÍt„&ˆÉÛrè”s _Ðoþ Oå¼í)µ� ýM½i¹O‡“òŒŸ¨goÎcÛºZ’/á¬nú™sy®þg—ïíØØØê ?Ûë¥ Ài¬å´Z uSåHüvþA€(�f]Ýîoc3õ×CúH¡F¿!â‡ÅE§}¼÷§]DѲ YXàÞjÔ�'go¾=8Zs.¡t&eO›?PÚ?öiNÀM�ýöGôÏd€bžBÑ:nÓ1:² $Cxüxþ´yüøé3ÏȦÀN|GxÿP|ýŽŸ5ÚCÎ „pA¿sõ<(+"ëÝßwvÙ÷�ç ÆÕßÒ+�+·¥Ð~­EîMÁs€ÛÐqP¡ ŒôÖ‹×Átâ#„Làÿ�󌛠»ä‰A~÷VÂPä–;‚áV†U,à˜˜œÐ Îà¯=¯ß�úý£û(‚2B�èųgö‘ §æÑÑo<p:r�]l´ˆôü+m®ö‚?Ü̺�õ ;Ľ»&U:¾þTu‡d´ÊüõÛ{RÓžyHÅù9VîÇ3Íò{9ÿ¦?_ζ=FGàOO(J³3kü’æ{º=ü7§ ƒ5nG7ÜßÝŽvK]vÆÛ×”uaŸØìh¦ÝÊÆh*eÞ)Ë0·júèê4/hÒ鯴×¾wÏÏžkS�0$ThFÝé’òj¨�O½8y¢}÷D²h¬„Ëy§zsNdX¦6ÿ4…´´šdž‚Vç —åÄfiÒ-õ°råõ´´D½áÆÕ-7ﹿ�œê®ãd3q»SGå´]¬œÃá~µuu˱~'à¶ë|»Iµ·7Ü«ö†ûÃê6¿®ÐŸ¬ìÎ/+ùíÞ³E@,€Û4†´ö%*«æ¸7¼ï €«ß�&ÑíWÕjØðüîÝzRŽÑ!êÝý=Þ¬öw÷ìªÞß7C\ndCá :MsºeIí™(Ršb�‹%ÆáœŒè�`l"7šíˆ™ž[÷ªrÊ4€ƒ%ÅÏê¼M5)ðQò•Bgÿê‹úfÀßrµ´ñož|È×åó³síRœ�›lxÔï °Õ™É0‘GAÎGYn!R²wëjÏÆŽæ¬©î×LñPHº£c  ¶± ®V«“n}~&s¤Û"ÿƒ¿úgܵ#�œ«¶IêßÈ�°Ý7ìİ÷¬{cÛCZ=jÖSX;^Ûéás_¸ù«Òëd'ÖºÃäÒq½qjÆÊ=¿7ºߺ&0ãÛ;ÐipuoÄ¥<÷=¯Ë­=`y’àZÎ9¯V¦å®í÷3ž -Œ£LxÜî xÙïþj›ßIP!^-kJà‰�yÖïoo÷q5�¼W’´ÓÝÙÙéÚ¾õzÛW·;×J/W:Èìo»8øêÖN¢’ÿDìUËyçF'ÜAÈ´p_^›†p^x i¸®�èÅyǤ\¢øÔo8ÏÕ Dª'ý3®õ�•y¶ºÜèâð�¾CEè’¯¬Ãé^['fã³ÿR:KïÞæW›_móÙù»ülšzëa»sõêWÛ×¾Êc³®“N;®-5k*¬Ë1Fæ7¶¿Qèk -Û-É9:ß�›Ìš:ùôS¾?þÑÂÿIRðåe§§pF®p ½ÚO3@ g€}Àà[ððÝët†¿sW!– ×ùÿÂ1„­ ލº32æ?º‚æ· ìí³;¯fºh­…¼ö�Ò)�··o£D´wŃz÷�Лo5œ[ý\ç6Z* Ü¥‹À¿PÞ%6¨ÚdÏb9ËÔF�Þ¾Rãqûñ_E û$>CB�O» �Z4úx¶~®¹2Dü/#¿¸ò‹tÿçŠkÇÑ>J4‡¶ñíw]-�ùŽNÑêM -¬2 ä0ÑÉl±(Eâ7ÐtÎw¶ÜkŠ�©§ÑxÊ� ² ÑRï¶ÛßñõåÖ×Nyé�yâ^kÒtšiËÚæ¹æ72lãrf 7…¹Ålñ»“2йfî żÍÀW(·|ã�ß¦ÚæGdˆ#¤6Ô™AØ Ú!1foØì8'°$ÂqH²·5ÜÜ4A»™âÀ#Sè$»½;$úÞ¾‹ œË�{Ò¾ëlßž[~ßrêùq¹_û‡[ýÍkÃ^å{·|ñoCH+¼s¾~4½^;cð‚²¯ÒjÔÉŒ ö�LÄnÙ8<À�¡� Û;(jÑ2·ÇÙ[ÊG!*:oÑêêäøƒèœqQ¦ { *À>Ë1ðÐÔßhŽ´²ÕŸ”&‡‹ºC¾fe´”G…®ùÝâ$Ó ?O«¦ß!`yW‘ -9#ó–b*SÄÝDåêmµ^:$³Š¯u¦b¸jÿY8L ÅW³§]$_|8ŸüÒßäÊøgÐh€e�¹9¶Sa48 †Žt¦;{Ó)söœN·5&u½Lé‚c¿eÑéÁhz³ï0©]3ÛikTyn!ƒÔ¿Ñ~³ÝõGƒoúX¼°ðÜ´z1P!<‘*{ÆLÛh4Ÿß€GMùQõ›­Ý%8¿0+ä¼$FoZÊIÓ|ýÛqÿ’±çÎ�’Ñ´{ƒÆ�¸íP)>Zœ“’ñø`tó&±�€â�wšF{‰Ö5ïnº ;�~õ_í2ÜÚrHÌq7IÌì?buabP÷ààçéyUÍé �¿-ÜèÒR8GÊ#à°0®n˜C…óƒøÃÇΓh4êÞçöIòë“»ñÅ«k™+ôù”TN—7~3­Ì˜±ý?%…$kT¥Ëi´³)ú»LtÜÜú%©´t§×§˜nSÞ=Œ4 .GNšÒW'kúÞpR�~E–)<“'Ka4<¥¨'·p~°}P8‡3E[—£–óÒQùÚøi·û’î¢^�Š<߸dÊÇéŸþ‰¯Ï>ÛØÜ¸fÊL7@–5í�@5—>}ê^Ù ÐŽoÁï-ŠÀ»÷¯ÞÚ=.ºb%¿·£¼€h ¨Š�Pµ¸S.5Þí˜ß‰þ*ß½} æÆ®W Ð[ðÚ÷Ds>�h¾í¾Xà[ÿ¢ô€(ºrÿþ/¹áç<"ˆŒ(´k õe É ÿ™Ó¨Ù�Ï·ú³7àýÛÌw|õîýË×¯Ý Ø£€ ½”ž=SBO•Ó§GdÆ`ÐCÝ£°l|£ 8êüOT�òBBK,‹c~šlãµÅªå¸ßÎóû xé1™%¢~,åÝ쟕û¼Ï -¾ËÛõpËL³�¤*�<`Ö¦ø=©&>²ðO*þenÒÜ«ë~ÖÔ†¹–»\—X!åF/‡Õò`{œö<©¤x=.Ëhãuj´&Ñk܈&^ܬƒ( ”…låÆwAš•‹º´°ƒËkþ{ׇ›�½[IÚÅ/€ÙÝÌÃcÁvÜù¾Þûòöz¶oT€‚î|ñ¦w¸¢ܪ6¯Õ=• û ¢¸J€º'Ê•åÿ­RAd»U¯o_� -ˆP.B*Ú¡’„v `ñîÕ^æÒ+ö¨-°â‚ØimM0*@™ÝlÏ ~ŠD›Q§©<].rUt™ëŒ_^¸[D‡?õCs?§ý7T+ÁŸÿɬjꛥÅ1ó݇|µÐý®l€ßò6 -@Œn[@H€‰Q'ØWŒŠ}�'¢”"Ó¨W¿È×òSfg‡Íê¼ÿTÏ?AWÞü jì#9_ÕÍ«ÕjyN’hÞÙµêÕ£ú´y¼\ž¿Y�·Ýi½<_4.T±�¤¬|X½Y­^œŸ¿ysÞÌk‡ Æu³²×­iì›8Í,_ßÚeUÏ–Ož¿Á¥žWÝ´ŠåÉòUSOí·µƒëìÍŸÿü­=cOÎÎVo¾ÿßÏÿýÍÙùêQýhÙ�6˧ËÕ›7Oñy*Gç„KT/Âýª1zêFs -뎵ه}úPßrÕ “Xã¯�—pî¤Í7çËGK?çš•g7Î -åýÂùâü[É=^,W>[žÔ+»ÐíSBZ6'ŽI4‹?�ËBHÆÉ“7ß.Îþ„ h6êMTjrú~í¾›�ëV»­�­Þž¯ÃùòÅrnG{Ó½âyk´+n «=.7õ°ïi³x@ôjªKÇìÜPZ.žü+íÑ]$Gë'3ãºt•Öiáü ÎM2œ“]Çu$�KªƒN…óÕŸÿL–´œÿïïŸ?ÿþì9Ù72:häüÕÿ¢xÏ›?”¬þIRqù)ÊÂE�Êi€½>*-Z‡ÛÎEÿ§§�?{üìif¾xùÚ < -ô{ýúíûׯùϰ¿ ýÎ)�þz`�7é�_¢´¨ -àj£sgw{ÞÞFMÐ³Ïø M”Û÷bpGHpÎ*ä‰aþE”.H.ZûgHêÆBå±ê„¡¿{í½!¢±ôÚ pt-C™P’ҵƾÅéÕ«wo_»'RéÀöwjij¬•8=}ôÈ£€ÐqÑæÙ`sã*º£Ãé�­{€:_ûå�Ÿ-±|ŒlÚ„^[Ý{6ìuÕ¥|ba_4Ô6ïå}@ö÷‹ÙÅ)Põ°ßÅ Ja¬~ܬû¡ðÍ[ùº¾6eŒ�‡|ˆ¢ÏÐ]З¾K®4æR²h©³8†K™k¦ƒùhn.1—E—‰Ì9S*pä.²£(¢ÒD!PøŠ;i**Ô¿Þœ6eóƒà[Þ5F Òjå–kÈ”êdšš“ùÈIo³² Õ5ú3§[—Nª{Õý �V§Í7ã7 §`é!SÉë“EÙl©‹�¼Cû�€f¼>ÝØúkŸ–O�‹çë¿[œýß(:ö`W†ð�Yc…¼ÊºE{&‰n…9.á’Aˇ£›°":C°LÕ\ü5ÞÂyýp48?“G=e™(µÖäru çaJè™öá܆"Ddz u\ĘêJ«³È.‘Crüj';n—Q7OØ6¿*ÜRxŒë‚s>É`ä±BHã2)"LµœÃŒÒ´²óƒà—Óîòy¤ë¿Ï0=œè%?%᳓röÈiá[Îi3ÝH"”ßßýîþñù¿,''2Ô5Ž´Nb¿L¦ù>÷¶6ìÿÜS~¿ü2]XVÓÛÃýºvzŽr)¼äÔ>zMÕݲ.Q«GØYõ -_Dz!·„-Ÿ­Ìל[úº£ã%ñB¨.0¼~hª¡ß-ÿò/ÿÖ ã ÿÎïëõg´%}ø¹ôçlõÍ õœÎ4•³ÍÖÐ<àÇâ} êa÷¾~¥à?Æ0f1 Ù~ìî™÷Ù«€6¿~}çÎ"¯`ß®§ÃÝž�ïEÜ<±ñ¦½ÎOôaYOHà2€­Í|—‡Aíhy9Ð^‚À³wÜ�Æü;T–¬åÏ=þPAûOÐDtéÛÐ[¨Lp²ÃÛ·¨:v�”¤£=}áF‰.xzzÚ¸ à‘öÿxÜ JÔª ÄúO�²aÝG(öw)û�Y�»ÎOµ5oØøû�alKÙÌO²žÂÜï–v'åšÚÊ——ør·oš=Jüh[¨¤±¦"×í} MÙ:ö¢ã²á5²¦Ã»Þ´-±8!sõ7Õò>Qý�9ï{Ôß æh;à�×ãõ™t2—FÎÈmleN>'Qƺ§¢¤’…ÁBý]î8w'xó§~õ Nòbw‡ÍOpZ�qøå ÈìA{ÔXÑZ·öË(hk«¾Tk» ¾ô¶×m]~ÉÛ¨¸jÖë×B×±\¬S!ì^4‡�y!RîŒV†àŠF¤Qiq’�/fG0�¢›Æ&QE^í�9NC(Y ¸'_iYPÎcå¡ÿøT JŽ/ FkÁ_® �w'�ûeòóšÌ×Ì]èÔÍòU…ƒ§(÷Ú|•�d¡è„bg2H¨+üåÆP“ˆ‹ÍÜ(tuv?âÕR„?N…Ø:ÚßÏ[pùõ‹„— µlS±£ë'ÁC„¦Há{MÑz�v‘×eÊ’ì(¹¾¤ôrq,²DWΔ“x-R++¹X,hÏyYWuÇ=r -9>“8/s–‹Ö±ýáÕûÓª3ýV�H¸á\Þ¹(œ·D³ð°(mkâaÔ„Âyyá”�žÓÙžW# [‰”2òï9˜ÊÖ¿}õËÊ}€C_¸À§W>ý| ¹P:¥¶”µ?÷Ýýª[e3Š5çmD2²~ òè ç¼À@žèÍi0¾$ëÇu¶‰8^Ô*qyÑ= U4½Ìê¿ÅJÂÂ�TRt©OöSSñÚÖ*­Ks'Àì�sþ·ÊFÀ´i`:½ÈÙbî‹Q‚ì#Ô¾ˆ©^sOsêL‚‡IŠ\ކT‡Î~á¼™M»ÕyZí"ñêÎÃ:Å)êhÓrnQ­Gƒ“ø’¢¢pÿ4 ì?I½A¯sÍ:Nèô޵¸¥��öèôéãӧϰt3åíÅËg¯ž¡ ¤<¨èéøAGÏÇ…Å~Ðü�F·˜*B«” œuW[5 Ö<ž€aÞpŸ£ð1ðµ½}ò�GïÆo_‹™N<ñ…�¸QcÆK´ªðñ:!èMÍ ,ãƒìn(“Þ»§‘!ëA¼òöÕ{Ò¤Wß祷°^öþu¤×­ðêå‹Ç�Ÿe ç +;¨0ÃQσ677>»òÉ•­Þhmþý²À̪ŠÂ�‘`1£I\×" -Þá=¾K°�pÅG_ý¾Ë„B¶³Å5f[ªoV ÛÐ^þý¸uøº.ö—óB¢<䣷ªÓ™•镪Ä1‡‡CÀZU%,ç¹[ç©Â™'3Ö¯TÑf–ø‡Š9c±å­pm+• -þqUPðEpk© ×E’LÎu�Y}‰Y6ó›4+ÞÈC!"¬&º6R5ΉÍ0^î÷;õ¨ÝSî,wò.“ „±?ºóÂÐpTKܱåä‚îóRëÂOý‡õa0¥+*$ÿèïTÚ%UC¬ìƒ�ze ‰L‹é _Qh§¿õCšŽ¨DTQ'áŠÁ8&ˆc·Òm{/�Hé²"4 ÜJQØîê¥È›í±3ûõ"Î{ù^ÓúòðyåÑ6õt´]}Knh8WØÉ£’ˆ5¡`zê ɹÙ�yÝ®6‡‘Âþ¬Ñ2–ó1œSuàêž¹%ÑFä—$¨Ã -†W·ª2åvëóÏ7øÇjþôŠ3çK´aGÊô£\ø›£êþh§zƒØäÜ�¾Ã¸EïÍEðÑq:ºliê3´pÎï4¬Ð¤D�†­ -€o«��Óý~ñ?M&Oêyç ©²Ùq(åuÍl¨Ÿ£�Ä•®ch*Ønö«þv�‚-ñŠºP;thç"5¹( ž˜8´ã4É2yŠsE8‡‘´Ü”�iw^Š oµ=œ-猿苿/œ7Gîcéü�к:ÿ$µçÇÉ2ìJŽ2F¦Gõ|šI€¨��㎱‹Å›^€|^½V ]ˆ¹� PkôÛcîQ9ØôZÚévaAåt¦ Â.æóÄ÷q|ñ1€@µj�ö9>„k\ Bdö‹ë¸ -Þê -DŠþò²Â’7šâ_ÛÞE -ä~Þ‚î™Æ��ñ–}~ÀyXÐGVý½…£Wöz ÷ðyá(@¦ÿƒþøßÚÜFw럨WëÎÀ5NP¦ŠøË·*À�~„Èдƒ“f!ÆÖ´9”} }ëÁ¢Ô6O)Iëâ�ßûýîÚšp>(ÚšMChq!Èm—ïht‚9”ý@ è9ôìVV)cÕv�%Ç]˜3Ú¤9ˆ]�‡2©� -Eq/(î¸.ýznHk��â %ØR.w0†’à&>)ÙI–~ˆ„ÇmõlYXd¿jÜÖÿ‚„õýzÿέžÃæ­C ÿü¤ë>®C;€x@ûËë[ŸÙ‹âæK{÷óXe!ЮI¿y­¢9( oçÀ®*‚ê‚][ÿÝf€Gþoõê­Ní{vÿ'æ]’ô�ºO<Ë¿�LðÓÞF ¸§2P -J ŸDÚaÀcS^Mb>Dr‹VVŠÎaÁ£”ˆVtd”Á@´ûéW6Ky£©Ö=%_ïi $_í}§½¡­ÍcJtß±½M°)uú¢ :9åØDdÚqä:,NêwuX÷vKbÔn -µy*żIA""Jü²“ÓÑZæþöïgì¢ÁЇú“ÖäP½2™kÔïžü¿r™Q÷a/¡Ëv«ÔNÛnÃÓï0*d)ççx¶húãåÃ;Xmu',Ŧ)‹¯ÅÙïˆ-îËíêá¨(³’E½½ŒÜËåÉb᜼ŒÛÍ¿»ª]¾ÍjþÖœ¯ ¤LUÌÂpNðf[5Yü.y)Óð„2°<988Q» Ad¤B -%K¹¶dRö‡õg_g*Ûnl|‚ݼÕÛ»èpºDEæ‡Eòhp³>Gtr"çˆ5R—ñuú åààŽ‘@’Ò/uxrÑGN -,‘‹“QÕ%2Wh»/¤Öa4š%�f¹íú[›´¿%9'¾Ý-4™OIÕç_l}™Ž½[·‚ï_÷z×ú‹%jСmÐaug@«A!z0 ƒW›Ã ¦˜ªdiJd;Щ¹ð×,ªîqvׯË�"/Á:9bÏ‹)øÀùI×ÝÐ~Àø¥É±?úÃÈô€úK?þܵ~ãÊ•O¯nüS8L8=:z4wwÛúôñãÇ/?uÇû9ùæ™ -À 5€r: V²œ(X±i�+¤×hÖ �+>߯,¶_¿Ž€�îU ð Ó/ÏÇ^ƒØÿy_lÖò»í> ï¯ù[kø²£ÁA;û³Ã„aÐ{7õ)s\¨±ï£¼«r Î Z£Jó]–<šº¬|xù–”¿xæ..PÈ$ɧ�Ú]€ªéh4èï`ÿo`ÿCŸn9¨òqjsî#d%° yF¡­–kZú´Ï�]J¶ �±íŽUç¸?|ضY‡Ô7}Ùd7³ßÏŽ [ ,w@om;¹<`#>�z€×º+;»N&Ëá6,ߡХ(C„Hu|R9Ôi R¬+mma/\Á¡ÆåŰn’ ‚X1g¿wØZΨ±ãír*&d<�_Iq…šM¹’çde]}æý÷PË;ÚÕ1]ýþ&e¨6»ž²ƒÆû� ßÛºjCöÅ–{zªêZú�¯Šì·z››Uïk'eЀ'××ó4. @vì7�M”-¯¢w îýÉ=Ú¿º¿£ žFž'CŠ`†ìîï—Ó€FÛ½ºè (òÖž+"ŽhÈ„º hÀŠä"רwÞ¬æ3ïÓ¾ÔËQ÷¨ édëlI©«UU6ûã¥ÌÀ”=×9ÅÉ€K¯~ÍÞêx´“µ‘m'@ØOÀŒÜÛ¢T}Mèm6ù“ö|ÈL @ÚA~(4ó›#÷Œi ÝßþýÌ�€$âl ]�T'C$1–Eª(-î7�¥{Æ ÉŒ)¬\ôlÝåÕÚ˜b€ý¢%à³4é%3ò›¥;Чäu‹3–vÄÇ;|f³3£ÇC=¯×c…½RZý â9±ÎÓåˆ5Úœ5gKô6•!<8„Þò-�ªe¿ïø1’%ßT”“ã²!ôšu8oF'ú²š‹êfšÉ ?3r7¥¹êlRô3àó¢|úɧÎ ›]ÊÐre@Î×2Ϧ¿”Öêlæã“™ªà‰§ÕÜ$dî�I< çÑtMèZë’óÂý¢õ=¦º•ùÚx™?Hf¥uÁSILl_ˆúšnÉÅ(UÕC¸òÙ†©úefÚçWh¸³Ýk&gîíG§@sR”~ªl™ê³‹Ê»m/z°'a-çöù›-–Ó®ó2’eÆÂYŠË3›Ïì÷4œ)Šõ¸ß�4¡¿‡#krcZWb\úùðW¦@dÝf{ àÑtZÏ3€ðô©ÝνKÿw™˜^qàXõ3Y ]ÅNáäç>0ïÖÁ¯Ó`:�Ë;AYÛû`~\ëb'<˜ìÊ;ñÝÎ…øʹ -F‹Ùü~/š'çú;PÿÝ[û¿w¦¢ðwLŸ/àCxºñžÙE ©„U®Õð�n"‘з$÷íK�Ÿ›g/Ÿ¡­2 L@˜#5w W£Ê€e‡…-oBYâ³þÍàþQ²”“ß^.–îŠ~ߥó«'´¸õòäÄf™Ò›Åù‹³3«ïïš'nàåúìEsÒ¼Øô´¹�×ø[=îf½¦Æ ~GôÖšg°â° ³J ÷Ë-÷¬Y«˜8b‘ogÓ É0ÜBk±ªOêÑÁhùüÌ¡Äædé–bó¤Ѩ�Š<%|;œ`zÍ!DíuW‡Ú=î÷íŸL(xaºt»ÓÔDhG>.l{²G™“¤¨Ë‹âꬕA;žRÊÄ…p×-_o드èi@�Z¾e»ÔñÍkTIänG ~oõ¶¾øƒÁiA·lìûTYµÝˆnM‡è‹¥¸¨>G}YTý©•8ÞŒ¿ˆt£Ì}ÀŸ[@C‡È£Ì +|þxZCôGö(€•€_´ë@'€Ìý€�ê¹ûp/^<Î @Ù8“à^¾c5ç�y7ÆöôÏŒ×jŸÜòç(A™?ýôæ -ȉ_ùƒ3€}Zâ<'•ü8 í0&0¿œÆçKb?éZù¨(j)â9?ïŒDÅ"ý¯ßáj8¤Ï�‡Zû™õgçêTÆ>HuÙ é…'#ýÁÿg§O«+=šOÕP'§]ý$ -@/Ë4?Fmüˆ†£´‚�[{¹±ÿ´uÇYG³Ò,žN§÷ùà‘2LCén.§ì¾#ñæAt¿Y�/ëSˆUã2 ê •?_-©D®>�Þ½ Q¤)Ô®ú±h½)Ü·½ßÚúºÝÚ²>iŸÜv3ºáÐ�ú½§º ëi=ýóÝ0·Ì°Ãô~�öshÿò>=iŽ—\§Ç[%à,ÏÝ´Öa“V ŽÒ¤®V99¥9½ÙÌÝUaàffºLÜóÇÓˆ+â™»Ö’ïr¨ô¨†ýÍm'¸nnÁ?ÿÖV>ü^ÝT-¿µ[¹E_¡¯�ùzKLµïN•^ض�ï«Ô‚/‘Â2 ÚǸém¹ÄçPÜïô†[¥´…U�wy|ÝY6ƒjŠÎÑ4‹D†½�k_u:}âW@û•R¥žÑv·m#�¹§˜Ý]Œð;p¢Có=£Ì)H‡Ìµm̪åYã^©®jÒ^¤m™'_§õê›O�4Ná r¦ŒH8òʼ´î „š¶:[’UnG¡ËÞjM– Ýntã7Pò•<¥ÐÝ/ùJ«EÎ�7ËÌg3¦‡*<²ˆÖ´w{õ 毗å·ðc7ñðögN ÅéÝ%Ãáû>Ðä’çÎs s®#$˜«¦7FSæþ–~Þ€âiç´@”`ÛN±�¸Ñx¸u�[1öND«¡ÏßiÞ½É@š² é}½4éY€‰Å9›uÇ^ë+ŠuÛ¤Û¦ç‹æÞut-ÍÓpOe¡FÎ=­¨.Ún�Jþ䜄 ŸŽ¶Çâ§Î>©&÷> ÿjúý7^tø7œ·`Ä·CJnh<¤|à×àÇÒ± ,hüî9lÙD×»=ÜìÜ -þ_ |òIæÜ)£ðD¦€cõx_N¯�IépŽ.ç¸È1â7?¢Õ ݆‚¶Nþä\Æó]&VzЖìxºgdE@ Uæ“r\éZ˜ÎëíÁ¡Mÿ`@ÚùéÈ$[…tP½ù!åï:w\µ�ÁKÃáõŒfà¯xШ†×:OJT…äü÷rîW:МP-åœFF�e�/ÅÎñ�î}|Ö¦~ZÙ�ð†Qªþµ€óS4è]s@::}·U¿™ÎaÕæ¤›ÇOÛán€W/@B€ð†±›â¨~sƒeíøºÖ3?và&¢£¸‹÷ØÜ8|÷= þµÎqp”à;ìrmv€å °`nŸ>”i¸¥»^Ìnñ]/ÏÎ6hƒ šñ¨(í„BcÅþG7ÐÜ—SÃV[x§þ¨×¼²/îëpÒcz>аþ¹pFä³§e ÀSñ¿vÓ -9�x¯£6œ-¶úã£ùÇÉ�¤>J7�Z·S‡nt;Û�íîÿÞ-»w•=²BÛ7»ýÝÑèàà Ï³ì`ænìÝ7ºnQµ½ÝÍW¸¸üp›Çî²åovß÷�ík�«îauÕ=ó¯ndãvþ7ød‡/>eWûíí¯ÊNòÝ›-s7ÝçÿF'ûø»t™9·ø‚9¹3¢DfÜ7n¸oT˜ëÞ€»ì¦ÅžnšÚ›8Bßt¿ñ•¼ ‘>7�ç¿<6bÓ»ýU¶Ñw²«Ÿmå·lJ&ý>—öð/IÊ¥½ý×®mêéê•‹ÌÚ‹Ïþ›[›ý€.i>ÇûeºòÙ¹¢·�안óýÙÅ?\í¸ÿƒQåj_mþê«M%K*¶77ËÙ �û�}¶éæ\»YBòýðÎ{$ÞlM¾Fl -ÎPÈ”æÄ7xP4¸Drñˆôú|":…YÞÆÁÜà¶Í×dÈ þâèžx¼îK!óÕBçö6@Žó¾L”c `�@ÃybZÌœVÿõ* &šþÕœ…`Ú;;%ÚÎ Ë‚ȭߺ;޳X¼A!úÛ¿ÎÏí&ï´—¢¨j¬ˆÄ­XA3­VSn€~¶À­y1ô1ÎÁ™-5;ƒ7åŒú¬ôK }RštÌ9mµÙñ¢î�Ö}º—Éöœ�QkVÌN4ŸíœïYþ¤QØ^EwÞi9PÂyÝŒ¶« +€£<kñqA(«É$œ¯5€ L³æ€Œ…\�à-Á| ²ÿ”ø�Öv¯ÚŸ`߇Ã^³7êýwêÒé+O³—9¨Y…�_Ë|8‡Ç{dè\×㛨ø™ÛÜrÞŠÜ�pñ­Ðÿ5ØYªtAíc=ƒè.¢Eæ³æÄóôÿ–óx-”9—«-¦hüÀÓ…�C”�Ü{¿üDüEwµY’¬F޲~­Ï ¼îö¶>ÿ"32Uûß.<§Z-ck\&lz7Ò -�ÿþ,ª>êt[ð>�ª'éíÔþ“j·zóbÿªËOR 8§#¬Ö­«ÿ±eú$U·=~äVÀè/ìõvC@çÀñó.ýB™°l'»³çí¦–�s× ¸nP,ŸAv1O±}õ]Qˆö7îcÛ Î8ªp§F‘xô&Àg¤¯óÝÛWÀ„ç—àQ+Ô4ä p¦T%DvCïí•à v>¯³°Á®y2Mjâ¾ßùØð -ðGzñl‰õÿ8çA"7'ùS¶< ð³_\Ùè §Êñcd#ú1šŽúÿã7îP6Ø›f:'ØEKçös5�VKW£Æ­N–èºNk7™ª¹oIóØ�&êîÔQ^Þq[©i5”¸õ§_uúÙ÷·Céîkûw¶:Wù¸¡ý효ǙSà=¢�ºÙ6½õ»GO³uÚX›-*ºÌ!�¹žŽêW˜nÔ8זƲã÷ÈÑ�¹¶üéru¾ìÂŒoš6ßñ¶;§p=>ݤ*Úr»�ÈF£›|hSxé¾ jmåz9;Fãù3¾<{rÝ>.[�¯{»{\kÔ SÖëlb†öo‘v þ}öYùÅßîp˜J¡pâ$~seØù›�+¿,ýžñ„Fð9:ÔXê!Äcèë¯û�kýþNÇ5"ÝŽ³�ý>Í Mx; €{;à³³Ù6:‘ ámþû½¡Ãüìü¨�¨ªÊͲeØhtd`n:Ïo~ƒØˆ.’«íp:øÆ|s5'ÛS?ºƒ~òuL׿+m€/.±Ã �0-^ë|�§Ð™¯æ6þdaè6(f%xØTÛ¦$|÷zˆùË-îû·oM㨻M+˹H�°£Û|õP�d¿[Ï̩ǣm"þÍßÁÿ‡9Åú µ”¦´�6 ×£nµ*sÐô*P2Ü$$€j~sPÎt»ðe§õdrò»v1»ÝͶèµ+Òìæø~µwyƒ6o@غtiÞ‰¨�+�<Åe<ºø/œŸ2<€çÕŽ'4ÀùArt øo*!nšnÿC�ƒ¤C³5YLø9iF£ªÐeÆKŠS:(äoâP¡ùÛÛüº¶àsÏ}ú *À½vØå®ÐÁyœÖœO›ñÍ!<ýPæ%œCËþM·F_p”_9o{Ò[Î͸O;dÈe2tG z-ÅÚÉB“½ð¸×ÛìašîíÃön&jÊ¼ÆÆp€ÉU˺_òõ°ôèÛºóûðþ´YÍG_õï.›Ù‘a§}ô¹Û’©©™q ¬=γz¾mÿÅ?m¦Ý¥ç.ðbý°ø-…dàµff¾/žïf%_�d:—÷�_Ⱦéôœ¹íŠK$ˆÊ‹t{ØÜ]Ýê-UÝ º>t¯—&§Ö—�¢²×‹Ì^k’î7Qs.ÿMæ>-zEkL§¹Kqá$vžkG�*Œµ)2FX5 kÚ¶8^B÷ªãª3P ­CK4Ы€‘óº´í£þô¹fz dݬۘƒÕ™ -ç§�;�Áv–‹Am\……4î*m‚¨œ‡uU† ¨iÝUÀz´$ ®k_pŒÔ;Ýs~ob‰øLÒ{±PÐ(¿`z8ôC-þG°& z_ݪ¬[¿¤â¤ À>€OQx%ÀIe$q͹2_s^9pÎ×½-ë1€2'j€¿á×z ŒZ0݆IÉ hßú -E©Sê*²ªQé§è¨m˜£uò‚Ö°èÈËhØÛ@ø$[åÿò—¶´&í@âp€…á’ˆHviò¿° îûÜ)¿PÝÛv~OK$)ñDuÉø?òç''Ó~óÄw‰s2¹0®¾˜âÒÔw, UÕÉôá·–Óß¡æôïü=~úx¼c/G1Z,=7˜ͳЭîŸ=}±zù²,p"°ÿê-pó_àÔv>ÅX ¨.ý<Ñ'° -\·s…wÁ¾Àý+p7Èþ�“î}†j  kú ì—È UHN§�Jƒv<þÕ-¢dÀÁË·(Þ¹€€¸ Lø†ìð�à•ª�½å‰>ÓC`|väõ·ÄkBs‚^�~éšÐ‹—èD/ìÿ÷Ðd¬íy-þc$—¢¾³Ó¡Ô T Ƨn¨ô1jsçG4ª«nÿ‘U¿S7äûŒ,O¡%8TF±ÉúC×”Rd)(T‘#tÆô2RÆ…—xZn/ˆrG°i?RÎG�«ýQ- Rf-ß�ÌÛ[E¯Û�*ýå¸ó&ꉥ¤ëÀTú¥R9 gje6r=õUV¸ÔЀ'q΢|ˆQ·.·çý¹G�•ôYmÀÐýjô«þ(ýuAnÂcZ;7ÿA±‹a}Øù¯Ð½“é°/B;=?;ºþ/Þ®[O¯âã:°-è‘ L -¡ð—ã166†¨F<Ï6àîw^¦9Ãà¿|¶Ñ³Í£ÅË÷ÖÆãâÊ+}øk'òÉØ!Ìõ6;wµ‹û×¶÷€ûÂ85:�¾üd@OÎѧ»¬A™SÌw@º˜MØw›‡‹(�(QÌ\ÁñæöàQåÎ( ž�«y¿‹äZù¦q·P˜!hЇóþÍÌ˜Ž¶mm“¯#7OCm<­.¶Êõ!ÎäiÃälYû5 -×é&N(X¥lµ„ÑÈã�«½þCò´í÷¨&Î0©nþË+� í?„¯‹½ÜÅ`¹LWĵø·&uÛ}ÚêA¿O=µ©$)»ª>èÔYJ?YOúKªœ´ˆÄJys˜Úi‰mq]Uïl6[¦?Z-Àß3g ¦\LÙgvåcDiØ yl@±é }¼9�¿Ž?S -çž?'ŒÆ~Erw©GcMYrÒ×Ém�¬çUO»;?â^à|qæaúkÎQÙè"~§ZFÿ=¿<#dXvƼõõÕkž½!©5[øU²À`"œäü¢yƒ}ØbOðÉzè"N„Þ6´ýδ>þð,T»š¾ù#B?¶ïEÖ›EY°–/Dùã6½EFn8šbæ Ä–ŒÊ¦s-9ÿ»=v¸Snêq; ×ÃÔÈ€€*ÀÞnÛà'EžDïk‘ s£Õ_Þ@ű -HÛ{ÑÔÝé*œË�Ò(œË%AÎÕ(#²>Ýv¯×�-s: -~šŽ5ç|÷¶Ê€¡ŒãÑx*¦¹% ZÂiÖºað¾t"äj ‹eOçú8¿…ƒŸ‚ªfµ> -îƒÚ>Ѭ£ Dmˆùíž⸪C{'kŽ�7™âÇ3^!L»ŒÎþ< #„�W˜ÿ¨j „gß�L&ÈÒ1Àûh\e: ƒâ¿j -ì�ý\«! …¸Ìų̄ÿ_¸ÐÓg`ûc7 1r^Þ ï‰Ê–õ¬ØÚÚLÕ¡>N%?FóéWõÜF©ßÍŒèÖX¥±†,5Žã:% •#œÖí¶ø^žJ³W-i]†õØå6j¡mÈpôÕöݘùÐD;Õ Ý,µû–õ~êS‚­§Û#jÐxŒà¹Ù³¶árHOrQ©ÎpD®Éx)å÷Þš«ÔãR¹ïT‡Ën__“R'ypW‡nÒæ§™£2:cˆ ÍÒávµ²mS[°-²9Š]Ÿ>ÉáµM€Þ×W;´[4S_Rg¯[oMI´|QO{Ô×[»½�ÚØøÂÝKݾÄU¿Ÿ¸ˆé“�_Ø�mì^Ýül«·‹eÿÅ/·õÏ?çÊý³7AúÍ­O66P0üý·®ü·+Ÿúœ€i¾LoJÇ×ö³¾¨~{s«ª©Ï-`ÆV2� hÛ±ÙÃÅôpC6´€©”â¿©¶Gõ RmûÇÙÔD4ÛvùþÑßsàý¼ù‡ãvrÀxÔ o” nˆ´œåQÛ• i=NoŠÏpiÝk­¹ãÙóL Š‚Fý1¡ âT�øŽPm•#tÓVÄlͤ¢]f·œ©çJÌ*Œ -ž'ã!Ú‘#éA|iÅò£|©—÷»n7ì#§JS=ç�"(“ çá‚È(AeYg^‹îF[a¦¢jó}±ž˜ê°•)¯Pz.úÖõ;jøm�‡ËêæAÙßϘœ¸æ¼°èô:³Ä}2@~a8Œ)�h³x³ZËÜϨ[e`˜/AEÂßFc)+¢VX ½”»”—ñ°—åq±6?/6€5YÚnwÜG}­”¸ÐçY<Ôz0›†ûuûn¼ ï¤:Bp~¼PÒß>?™!ö–óª�–^ - Ÿ-Ÿ¦Ö †Û¸Ô£›Øm^A±æþ.>þ{ôèñш„’Äk[;½¾Ç[Uô6Ϭ¹' ›ÿQ^–c�^¿p3—Å©DuÓ ¹XÑk$~#¶–Ñøô¼ÇØVƒPQð_ß÷|S·lº“‡ðAc_Ó�›¨ ªè<÷y'U ý'ü„ Âðö•±Â‹¾ù‡E‚ëy¬F` NjŒ.``¯Këß¹~®~0»:^=}åòÿgnüXó? �ÿ££é¦–ø_”Ý�ÎÖÆæN8F…úÿÜ€N¯­†E§QbûX›È“,¦§ —‚W?ìš³< ÍZyKPæ6ZÖݧƒí©ç r¤‚§ÓÁÕ>ðìÑUâ>hÔ¸Z®êP3¢€V)Çy­dÔ’é¶Ì�F7§ YŒo’S´¥ç¾uësgaÿ_pæà.>4M»Ë9År]ž­ä£Ñ]µ›XüÆ^¢L,ÿuus”‘;·+ôSûTh“à¸?¼Ê·“¶DL�¨¨7.èËb4÷°{¾·uµ·ýó*TqçûØt©ó{å ½«_ö®\ݲÀþ/®m‚ÿ8o}öÿÛLÿ`yçÓ+Ÿç�O®|~åÊm�­áç™;d„,t0Š6¯q±ÓÛv Œ×1® H—Dp‰žã×úõÄE„kJgLZàܪò­ªƒ§�Îtù!_ÑÝ1¥§ƒÿã›å\_mK[f×Õé dŒMkyBF�7¶óºéè†ù -Ý·+»^8¦_ÉVê€r5mýÙŸ �\­ÉÖ¶,š½aNšTÛóÛ›4°…-ÿíþíÛèUÿ*檓%çÐCK¾Ž»£õö¦kæ²ÑqÚýÑa½�Šý7tåž-ö?ø+u"$öPAA#ñYi†¹¤™Ù”Â)™Ø\}Àëj‡œñˆ3K70iy © -�½9£M`£þû¦?ÊÈ)à3¾¤K)Z]#0‰Ë¦¿=°‰Å’®[A@Ô 8–íôà8)œ—I€â^nù.!}ÀyÔ• -€'Š˜MÅ}HNçàdñïg3 T:± 6J˜©f-Ù ÜQ�Ò8ìîoY¦KÀµ=WÒ!bÏ".(^¨2ðWX…ór|Ž9»eÍù‡¤Ëy¿ƒiYLvIÓȽݰjÒ|»ò\ŠÂù¸ïdä£?¢Œˆ´QÈROä—€öw}/ {_8Ÿ‘ší¡n&pÇ¡}‡KI˵N›Ëp5ܽþE¼\wñMMÙ `Ø¿æöNXkÞè›|›5�Õìüy³,0›fÚ]/ã*`™sêX›œ–óªóa‡ÌK‚ú)*HÿQzº|zúhÜ»Ö&qg§OecêÆQ=?òXÀWeÙ€oÿÿËÿ. ˆ�Ê`€æò«·ï_ -¢ÝÜ»o°Ø�@ÛŸGâ-Žñ+jGƒ�Äxž¨*ÏøÄHW×øÿ·ö½m$Yš?® -ÆØ–¼VY¾ißhѺ+t;›´eåšFª˜R‹]¯†—¾ðkHQU9b=ÅRM³¿îß^¨k°µ³èWõ{>ω¤(Yr¹wçP"óOdÄÉø÷œsâDÈŽK~Äg=¬ – @ô©PA  À_ø@OÅ0…ÎÑûÿ×O<æµ ÿ—ç4Flb„øÍ„$=òŽ_ò'vE@ógöÿŠX,©¶0<éç}uòûHº½¾äâí�l8�FæÝDß»‚Ü@*Ò³R½¤šyÖQ¢úA½pÓ°ë�µ¾XÅcÚR\s¨ãQ)ý�ªëc^0ÂZ_ve¶j~Ù-l‘†j¸Òcû#µm¦³ŠÖ«˜úžü¬zœ•ªÇY÷¸i™³Ê¿5Gÿ³ È„‡éî`Y_¼ÿÏ“<,ì :ÿ…e¢³FmçJ�cCø'Ù W_Ñ™ˆx"~”uƒ¬^kå*ª^üî…Ôë6ôù�êËÑ8“òªœ‹õQôXô+€:…<-wUéJÆ�Úru/c4!¸vUõa¿©ltºìQ!ƒ…Ò„ŠÁvñÿ˶;ªHÙ¥#0Ýd;§*8¤=ªZZ pQQ¡ÇFòüÔÊéÚ6é-}’À‘!Ç$•|ˆÔÑ‘X¨û"©Uè½:¡~ê’\"3‰–ƒ½86�šOEqÑVO‹÷®Ù|Æ‚º×y ?!jkøQZ�Û�d` ÑyÇ>«�Ü1©(N“�HÑ8›Rkor‰÷¤Ã \êªo@«c û¢FÊu_uÖ ÍùdéåÄúLR$þò”nâGÉIÀFZS‹skc 6±(zµ£†oÝ¿·ƒÔ{‡¦p/ ªX—yN·£3]My^°çtÛ/ˆôÓÀp“2‹¢¿W2 @ò ¯ã«’åÈ“œŸŸ{•|q^dÞ–Áœë‰ raÕ;’ÏŒhu,0 -†ÈõD›çƒÞnàÑ–m…Hè^ v{ñì—ª,a5r \IîXvxᔑz¢Â"¢È�ç?þ˜8[eå[ËÙ�ÃÞÊùxÆ® 2Ö9ÿ56àßHß¿{óý´ì«ÛÞÚz ÷c‡kÉkùÀ´Ô'¶Ú+y¬€ ð÷Ê@’0Ÿ #AZHÖJMבï `QÂZi íÿþ“.ûa| „Ô€·PüO�í€.¶~C²nœ+…³ü@ ¢ÕÉÿ!-)íÜ!”Œ˜¨(4W "QðC‚–"|Ë!DžÞˆ˜Às¾fôǾ¡wÕ¹Ncæß?ýàOî}_³Ðô¤:‘ÄÄ.À;,µ(Ï#YÉŽ -Þ+ð&b¶ÅMD£<îvË—ƒáa÷_½vE['\q…±*oz4‡üÂ70éGêRüªr†âwTLòÛï={Iù—‰ãlüg;s¢§ÏŠ£Œå«â”/E£&çú¨³\Uø±{¤nH'â.j õ5ž˜P#­fyŠ=íÑ,s -‡gµŽŠqÕ)Íq†_¶„ªØÝNÕP$NÁ�.�—ñè^Q'¥óÀ+r 0a¼|™ Ô·{’ažêB»ÛÚ»GôHZüÎ@èïÖêÿgŸóƒ"¯‘ZýÝ­âÑÎÖÆ6@l ‚À]]À:¨ÀIEˆ=±ñ™wûÌë‡lÝK.ê9â»·ù ÷U§÷`·‰žS*ä·;`i"–_/wû‹tK€Šò¯^&�[ç”+‚]§©ñ¶�œ :.ó/Y%¬Íº -©dÕÛ¦S(UšèõW¹J°Û“Õ–+ä:G¥“æªb=ªûý˜J…\§g) â¡è‘90SàªÑHXÛ�—HT „ÿE��¥‡ôʈ3U•w…bº°€úX¨J&(^ý|’P¡tE7IÏnër,‰«¥Å$q/»¬‹OMuírm�zæ -Yu|ÜÉBáNŽI€xã°¨Nߪ@FçêÓO%Ä>7ÊJ[1.IJñ… dVìæK³a1€CžªÈ�øÆQ¼|¾b ‰ä±¼5çIxÑOŠ[|ø ÂÀ�­zZ‡ö‰T\õ¼©OGË¿Ú! ÉóØ%PÁøsa?*Ñ -=´&êéHïî½p¢Fb ÃðÙV‚Y‡·É…¡jJp®ÆkÓ šžªüË>ò”dÝ¥{³2½Îû�û’KRº Uë$v±æN¿ó]ªt©7¦ºé_Ó_Ԫɳs?´ªt£¾$˜çÉ€ym*]–[ûÜ“Tð»Ý�˜CHö¤€KîŽ&'ÙxâJ^ÅEuy‰9¼÷ò²x¼Žýþ|ª -Jñ:*€ñ'ô}í -+*y·� -Œ¦;?ïXTÏ@<žVL(ÿI“5o"ÕÿÓRª°elƒ K??|ª¥€êÌ#¹ &Xe,ýD8'V¬p\7‘–˼)²$P˜zX©cîu(Ò¨¤8ý)ïXòQüPëœë‰ÈôêT�C7_6õx¦@ãz~Z¿¦Û<ÿAâb>ÿ�÷?/«|ñ~ÖÌ$9ñŒ`À3Î…UÕ?r¬ÇJd±è–µÃÐKUUCõŽçŠY±‹Æb†ßZœ ñÅÂNêR�Ò‹�§D“ãLéÓúB Çµ:Å z7ð±�p©–0Õu‡…=Üæ2 q°ù`gÀÈ7³d¿¸G+¡� ŽYë‹ô”çl2oNè›’'ŽŽÉ¯t*Œñ <ëX|ñ«×æ/Tqt…YȺôk€â[½ÛÙâ|FÎOËC¼Fdçz\!HŒd«z¹X�¡zPÕª<}=ív¹©è<8QM%8ϧE#΋ÁŽZ±ÚðvšüdðÌEª¾y¾ï¡7ó|„ÍM€úïTí—äM–ífƒ*4þ‘¤;—˜žk9oê÷ -ލ"/̹$qNN‰½¢}Yÿ¸ø%«%)èðº(¿£Ùz]¯ -¬¾�ÒßLµç©¿Á€aá—„õQ}æ™”S¶ô @óîì‡Zá±~Ûþ|âôÁàr Ôþ?ÿ"ÐÄ‚ŽÊ�úouTÕMÝ2 Ü�qŒ�ê?)Â�ƶ{ -� �Álä.J=äKÑu…#*%ÄÕ?±Q¸mñî"$ê?ìaB€ü0ð/Qýÿ‡ô¨‚#¥Ä»ýé'éû’ tâwÖ¿°Ÿ h”gXXâî„ÿX·Íø¿y/ËObžàÍäZq [BÁz±<ËlPîü”³~0ÌèT¨{Tᶆb~ d€AõnŠ]a¥Ž²{¿;¤�ëó£þ„VŒ­8ÙÿC/ÍŠ}VDñÖŸ\�øYc¯ó‹†uEpÔFæ(ø‚9éUOêC «A]]«ÖÏq"sU‰@X¢¾6{¼§®¦îJ2o­ –†íJ®J`V±› R#žÄ›Ã P?Á–ß\Ôûèù<\Ò¤ö㼋àé3ÿ‘°--Eèž|þ6¶î{SXŽ[–{~qê‡z÷ÙÚykç÷Ûàÿöƒ £?�îÎv¿T|0Æ?Oè"Œê€ÇöŸàÜ‹9›^d�ŽÓ�”½R6*1’®>ÿíKÝë<Ç·”Á‚(8?;ù�´ܵQÖéjQx�´ÿçÊš$çøÛù´Î;³ú”uŒ ¨\÷¤u+ëûÆY².×ë?î.Œ=-úlר|AÍRL¡]›<0)åc¯^V^vm½\GßP®õìÏu#‘áxÚïR¨a¦ÂQ®úÖ HŽ æ$ f! T’7»Ó:gúÿe¥ë³2œË5,D³ã.#æ.W1'î½É›àaøºú™l¸Šüy�agIñf—W]B¶ ¢ÏÎ'®h4¼j(u“5«•š.©•”ý,ËÕ;Ûš2„ëL]¾¢8<”Vëç¥ÞÛщ>çÓ2ÜÕA?;ìç‡zR!‡bêÇF·âD‡LÂézº›#zØHdÅÎL‰¿Cq8¬»»¤ [¼�SN�mQöX•WqèÒáî°R¥jÆÅ¹3Údâü°Ÿ Xz0<ኈÂÈ¥kK‚ó<Ëy½@º¯¦A©ŽŽy¶ væ›úÅpœ}µó°Ge÷.h[zb„¬­³ÇH'ð+ÎõòÞm¢§“¢ ãì¤nο̧C%yîÜ Î»z08?duèANÑ@¼b^˜ó ÎõŒÑë‘ézF¡WÖgJª×€PäyÕíãbÙrÓf¾j?J"s f€í]…ì;¼·^Ÿ8TCcS…”+Úÿ²Ýaê—(eNo?s>eNº¼»ÞÞ<øŒÁ†áá.¯–R2-ç:�Kå?Læ•î¬8?ÜåÝuÑ9µ¿·Q ý-ôý;$€³aöà.cX(`1�{`ŠsíÎ&!€�}„ˆ¨ÅÆQˆAaðÒ€ÉÜ!?€kÐ5~KÕÆü¢�¿ûp6…úZÑ‘ô†A»°GŸÿ ¿@ ÂaZ)[À9‚�#$„€áq -ÿ‹K`àØW8, -ŠÈ ÞùGÑ÷OïtÅâ��ïÞÕÊ­wßÿà,#Cp´@…5ØßQcP©ï{F¬ÔF „J€�\{n :>†Ýº‹eÙÇœuÙë€<ÖÚsGž½¨ -,c—ºÜšVg½î9N}UÕ›üqy¸7Ä— ©»ªaá’ÕúdÍŠŒ½7è—AV -àù0d©kÌ7ýzQwmìÇöoBOcãSfSëéŠu"å[iT{±ÚŸä˜ª.÷^T�%urÁr}.œÙ™M a˜)RÐ$µA€…%Ôô3.ƒlRï£B eŸÙgÙk={Š@ZõW0­"Â�/ZùgÂhÁøÖýÿÊp?#þáÆÆýϼ8ÒñÝ���Íðÿû‚Û­ _/ù£HŸlwˆ -‰ôìg[~<xÚ;lU¯#´D8ôë-Ŧä®¶(Ö]/ŠC4–Ðÿ™3逩„L§ƒ¶\™oòÝiÖ¥?Y¯Vìd]‘·�Œšâp�Qa@窱Õ8¦ ï"k–UGå:Žr�¥ñ$ÓU¬^U¢«\í±y•Útü+ ¤NQY—»yù»\õ4g6<ÅD&ÒÝT_U® OÃ×ëP®êñ.“À`1c@ûʵq¤;Ç¿òA„&4ROñBÝaÕ,Y4‹šA“Åòbéñçº^ΛÙâ|>Ǻ†?JÖ,êk-KèAdr¨ºYNmÑÃØæ‹7º|`'Ÿ6‹æí¢aKfk–Â9¯Â�íÿl±\ÔgzfÉð³¹ú®ûЇ–·�€}°×Õký;LyœÿõG8×%ñç³ZíM©šóØVù¤ÈwÙ´Qi—ÅIU�ÏÌ9ÛGN‘nØþ¹daÚXÝÀ}¶œ5çj±ùI…\©*¤þt€!Ÿ·U2p7Õáb«)§M‘}£6Ýâ?¥<™°v¶à9êè4ë«Vø}_®üÑÂ7Ýk]²Ï©.P ‹F ËÚ1¬}1½ñpÄw…ÞûmÕ�AüPS)Ðq²ÖsBÿÅ4+Ýž‰»É¤‹9ê©Â!Ä‘i ɺ=YùŽ“i'®"^Tg5 ²ci•Ô#Ú‰8I¯4‘Ü»± k* k¹Â @9Œ&0ÐiªK«´îÊÌ[ÆàÑ“3–…ô¬~é)ˉ>³-'€�ÆÿïáÌtO×YëO¤^­·¹ñÅÐÜäÕ‚îmÝcè@?ØÚyú0ÙZºƒ¤!âþý‡æ¢3ío{xýßöÆøGÏŸ!XÃGà¥}.©€3^zíwQôVZ‹R’�k} r.²N©Åh.y2 ;‰0\Ö|Ögo›j¯z{½\OU®ÊuÆ¢(×,©ÿÐz¥%îêj7 Ýj’Êõ1Ÿ˜AñŒ¢BysÉé¡U”¶\Ùå„:`òBû“«ÿ“�Äâ'’úUœÉl¥bŒŠk# Õìrp:òžÒ¥ë&™ã ab$ü}�*–âN¤º_/…¢ŒãÒ4Õ�Cþ‰cÖÇÕ»¥ d_àn9ÅÕ‹‡£]ÒѤʲw …ÞÎÝ%Àù ÖÏÍù|öGÝTÿ€å ¡Z\‰ñhk­gðUÕ« )ë‹ü°Dúaüœ+qÃo÷’" ÂnàáAõŒ=C„þêúö‰$ãÒªîlÜ4Hù[ç{õÒyŽ}§*èÅà\|;Ï'õÌ»TõL™ÖÉÁ(¹Ñµ”ø1]Yü¢ª.Ênrï¬Ê+ozù µ=âSÓþaõºV_j—<œïÅOû+¨îÜÝÚ¹£fnÙÿ',ïÞºhHÊ~ÃdU ¶· By¢@R�Ýh‘‰•± Z‰±ªúsçά«œ·¬«ÿÕ·9Wã›Ôþªçl‚ð+àœ,ýYß¼•„kÒfóÞÖç›÷¤À -ûñacW€|x"‰QZ£9@?gÈ&Ï„ûá§… ·xÀR¨ûÓÂR�ðßXË ¡²  ~ú‹Ç@ôŒE¡Ç™P!yCˆ­°1¢�À·#1Zÿ çôÀ;Ä„”ÄŸþôN‡ºÌmE-zGŠºžäWq©ž6öâE2‚��ø^æ_GïôZü³çÐÿÃ÷5Ò¿äÿl¸ç�Ò¤ôYÿs˜$(LF÷:yy† öÍn! ~*Ôú—z¿)%'G!R1ÝXê{î!pu6Ò5¨<® –´jJê°¨#êÑ}QÚ›ÅUg‡1‹[]õ°80Pô²ÞSºr“4Å,\ Ã�,¾i>ÒQF#ºâÉÅ,“¢S,RÝKÌ©vª=ÔEø!5y÷ØmÕíéZàF0'�FÕÜ+ÀRÍó¢>ªÎKmI¤FZ˜Ä†^F/]µ€ØJ ûXì ’–:š5º‘e磂I�zXº?“Ÿy/ZÆ�¼py¥ÿ‹PÑÑûwî ÿcJÀÆ}+ñøóÛ pÿ®½ŒøõD:eþ“>ž<Ü3¢6îlá²Ó{úèQo0~²=è=`aU¬óú <;ÀãâY�2•,x™Nýöüú[”0¶QŸG #¥dÁ“MÍ� ”§¬#<9wt´(²º²GÆ**Q^T3—«ŠuòsÝU´ÕùUr¥[•kõ]Î|2WºÊr�ÕŠŽŽê:œÁ{ʵޭ=’¡?%nÆú©T+VfÕ¾¸Z½^Kõ\Ýãjß×+dÿØ'…Ñß‘ð%û.®Fð¯®Ü§Ì¾ ]¿%!˜Tùþ[‰½W¸¹{È_¯j?|–KëÓkÆUâûkß 0**úªHL’¨/«.ž9§U§°jM6wZÁzp.F™ÃgºÊù7°ûçêÆÀWÊX´Î9»‹Â1L·œ+½£ê—aLÜUì¾(αú8 -mÐë't�ò½€¡ÿCÁ¿šV4 Õø§ê}‚sé¦É˜NK\§âX2Ï�Q€“ïA=&¿cÀvñ…tEH)ÝÀ4�ǨÙFoüÛxo f9Ý>#¿¤0„GjÐ>–+ '¶ËƒðèñÚKPŠÉ`/¼§»¸'20�b�*¿Tbâ„e|‘ �6ü bo0øë𥠏ûés¿Âï9I¯ŽK“û$…“1O¼¢‹ðàAgÀ­��­N~â̽…æ·‘ÚC5™ÏO‡oÊ ¤±5ˆ63UGÃ\�:ášýݨö"ê€_«êƸ;§ÅhQtYk?ú!õ4ì 仦!ÕK„ÿ¼éh4fÓ¤)^ÚœuWÕ}v®Ö*ÁwÖÔåð°:·¦Ø²'æ°PwCbŽYkÌQa%{PY}FÿX½ë”�~‘/$WMw�¹Ö=ÖM€}=pm© ˜Sk”>¡H+)qûùþ@ÑŠ}+ÙÖXÔ&)#Õð��/ØwïÞƒîlÝ¿ßc*€Á]"€™­���{Ìõü£Æëƽ°è¯ã?Ë„ 1 <ÙÜ´“‚>»ÿþ£§OÔKöžŒ�Ì¢O‚?¼ŠoÄ­ŠÁ¯3:îØ®ŒŠœ¹Oæ?•rš­ŠC$%•ëbódK—kÞé-pT-Ùœ‰®Íš¡bŠLfs—ë|9{S—]0W´V®CU®X¿±\-WŠEçJbߣ ;iŶÜ{·bîùZ¥Ó)Ť~P•evÙÙÇ/庪t¨ŒWiãH¤ºþÑ�âܨuuÑé3M\àÃûP×… Æ£q5S§–¿ùx>ì†Ñ¶%5¦{z+2Vèi|\IެÉr�b)q…×õ´NÒ¢Ÿ‹PU@Ê?c��6¼b€H׺jÄpnë€b€sä›ñXr“‘È��»‹²£h-‰ódp/`ÃÛòäÏóÎa�‚-½VdœÂ:Ãí/[Ó!¢´H­H‡6­UÅN‡�D‘vØûRR0-C2ïÖCO}‡õÃû %Îy1^‡•)­VÄŒS% 9ý–”�mž+ •fø BWœ{–ñ’™„ -hHpyiKû% IŸ(,™^OúÑxœÕJ™¼äŒ<oæ±î¸Ñß»w_Jƒþ„íΚ¬*-³v08Bê×6ï=I»~ôž²OýÝ’§ÚB¬ <)UæJ•ØûfÒ·ØF¤÷mÈïðÙ%êp%µÊÓ ÄdpîƒU.ÝD pn&O8{;nû…`;�} ÀÓÜÉšÕ hã -Ø|ä -#q6*u¾yå‚TA©�¨e·h䌨°^Vø/@¾"~yœàÜuß Æ-Kp‘PzÐÂ:¼n£ß+œ‚ðªºÃê†Âê;?2€#ãPñ ó¹3ü L ›æA^Ig–c0û=®|ÉWB2€"<,‚XÃA?cù¿vö÷looÝ¢ôò‡�Œþ€–¾ù3?—p:›ýRfÓ¬a^²û>µo¯ÐªÆ"]L½j]¿nšìP+šwg­õ¿˜Q•DîKDt­?ÚÉÙ¢ª÷¦ÇÒø|OµƒÖ©–¥jv¡Q­DjêwèÅëzv.æÄÝ|öçi·ì–L&VãöwMß#hJ‰ »j”ÅÓÞ|6c¬J|6 5²uš}Ç.Xê|Ì\3þW)'th&ƒ›HÍ�ÎM=ˆ»Ëò‚›ÁžC*=–Á|2š‰�,ëf—¦5X:®ÖFÿ¢žj€ˆ¶æpG­÷ɶ|ü½ä¿HÀVëÌÏ%ÚˆHq$UÇ -6€Áæë>  ZÜÛyôˆ½GD&�ÍÞvØß2È‹ì):EF0ÈeØl2RþVõdÆêµ� ©'`DR%K,ŠzOÁÚÜ%V/*ÉȾµÂQõsžÍP5#ë9®Š#=t:{¯rõ˜æEÕ™Æ&O«j—Êu‚UxÌ”í‹Ã¬T¤—åZ×ó(WD0«ªN_w‹TUy´¨šÃê˜n‹J龘ÞPKÙ¨h‹ÑR•îœGÍ\b…r¥›ÏÿBñì_®>q;`‘kÔx‘ïItQCRŠHŠhN:➘ðŒ¾‘:m–”½‘�-�æØOV„>þ¨á -è?pT¥ˆTÎÆ J–¯nM„ 0%.É ˆ¬æïOöKOÏD4ƒ•xª%Ø7ž¸¡@3KÃ$Ή@œGSŸÐP%$`е²µ2ŸGñPéÁurßœ 'õC ‘ÚM,ǘPÿ°äæ�ÊôÔ6«ƒjV°Úók�mˆmµ0zíôÌ•XÎöÔz©ÃÎb&4™snz(Ó5 8_V�/W¸ƒ0®¦)‹[5˼A›çÿª¾f]^»”¸È|Šæ¹>�60Z/ë,k”fH$üFàDp¨š½sWÂÿʿǺ½U{Ú­¿]"ÌcÛ[…²k`Ûƒ×�b5‰mÉ‹ôiÎób‰·Ì:ç‘çAQsØ7ä9û^HàX.3•…q~#YÓ¿• hS6ŠM�}ï㑘‡#`ņo‚&“ö;pg@PR8)±@R€!8°UPýß¾ÇÛO„>­sÆØAÚ¼¦ØûŽuй¥Ç Á»��Žùס.!>„Ì cìô"E@ÝÕͿľ"ÊIS'?–|x#ôŸ,ÀX�H‰Dõ}í¯¤a¿$ °Üû'zùÿéÉÔ³�%¼’ºÅòVStî (>ߨÜ~d/À³³÷ç7}þü^ÝÝùùûå²)÷ê,›4Ÿÿˆ ’Ž–ó×êU¾£cŸf‡Å1�ò¬®NU!tÔ,ëÚ -@-9`ÖüòË»a7/§…´·òX²\Ãvß‚n\N„‹¦¡›M^]Õ×õ¢Z¨Ïê¦y½\.¼Ú‰žœÖæíÇåò|Y½(ÿ1sóõï :9_zò°âó¤äÃÅñ_Ÿ#×|‹¹×N¸bÎí_Y–bN˜òÊ”Üfš�éÕÅ.Zö¤ªñ™òx˜xšÿ(�y>©^×gâ»ùó9.2 —I<~Í›f®Ìªú{ÉÕ,y„�¶ôó·LÖãûâ‹­ßX;_ ÜQã}‚qÀˆ.Áÿa¯÷0nIŸù�U¹þæa XHö„/, ÜÛÚéÜÛÜê]úxQaï-¬þƒ¡A4‡bðp“Íþ”?‚™p "÷&ÅK�"‡/‹—�,©BfDÜTŽÎ(2®J•ëÏ?7ù~~L¹’qUùnú¢h˵œª®0­¸9SÆêÉͲ’æ>W|Ìu®ß_Ìó.&¥.ÁîPéÎÕ‹×�K2‘Z·@ \¬«©ËÕ�æa†™Êõ4˜k+�˵T¹^ü²(:xµ‹9ñvRœ5e^/© -_½žF¹Rƒu®põ[¡VyÎà;Ì-/Îçv¯‚¹ÓùùâÇóÿ±.#§Ï' -ÑÕ*³ë¼“5Õkò± ¸Wú’€D wüHšz¹œÉ3ëh¤ûéTýrBÁgê¯S‘„è²+=šWU¾&¼‚ŽÀ- |BA‘$%½ýnyëþЧKÓ[%ª§ÔÇcá/lH½ý%ç°+Yƒ˜¸‚4P�gÅ^ñš˜ù>…ôÒð/2ç¼JpNt‹{¹J&Î Òíx ( Pø¯ßYõlðô÷ ž$ký¹iаvzÏÐ��]6¬ -Οí(æ\™žÞìÃy]yY°5`t,›”ûí~9Ë8™óQlá¤÷j‘t�¿ö#kK�´0’°\Tý,–ñè˜XZe‡Uç®×“ì/àaïaø€ì£ºzøŸ›Û€z °å´ò?<Ø•9Ö5‹TZ‹Ñq“+Ì9‘©n8»¹©—uÙÀº~á¼Ñ#ù¾±WMø{>IDAT”½$%’q—}¹o#éôµÙaïÁftk:ìwÊ΀v`ŽÆT@&(“>«oAJÀ 3ýŸ<àThŠ °µ]X0l¬æª(ݬª¯�Ôw†àã¶ñ_ÑÊÎíÄ©õ¿øáûÅ no™CwIFAÐå±Ið·¹Æ#ŠÑ�� ø‡pJ¡ò¿{sÆÉOp€ˆCDzëéÙVþù^¿Ói-à¯J�?faðä¿­�Ž—‰Ûülã~oÈÐ ®“7’¤«>صÜ@™òøñ‹ùaÿ°ÿ";LÓ^ &~v¥ãv³ü¿í1E4®Æ$ä4›4æ½2{¦Ï ®øB7{uø"ω�³NwßóH;q»ÓÑ…ìÅ.3˜¹±ß%aîˆ< EÔχ:z¼›½8<wvèb"u -ÛÍ^ìí—Pw�ïþ!ìz«¹ÖûݺÇ9TJ €9k9nôNÙ‹<ÞÆÄìštÈì,|Ë¡n¿Ûùr7ÛÏö÷=K·£¢yð`{g{{ks+&,'ˆ^§[.¯Ó‡÷u…‹qƒînÝ �Ë´½óÅöÝØV3c¶o'1Ø�UÎ=_˜YÆi´Þ¦³¯ìhß”™ÁúáM;��3m.•”+ooJW™5,Ú×3Yö�»¹¯A—E¥—媟]•ˆg�1‰*å(³ÁRØî‹�·¥ÊU¾U®³¨=M.;ì>þGqž©Ä\¿ÊW*׈cŸšÅGÔ»Þïð¿]2×UºéHojæ˜wwýóI@Ò�£q¹×5\$²ÁÂ0ÌÀ:�©h21,0™äÒ\Êa¥‡2®vÙÙ¶Æ\ݨ¤›‚FGÅëj/&ȦpØûƒ‡Ô£ÇÉà]ú� -7Ø-.¤þr‘1»½Œ€#Áh^”ºé©gÂ+‡þO&#†€Q c�êdR†cíŠW½[+T(Ê¡ø @×™%gv„7]Á(¸h(ÒmqÌš }I¿ÒÞ‹ÞƒÞ„u6qôxŒ`UÛé1¸$–šl·Ÿ8‰};ÏÇâܲ ‹.s®·¬vcNPâVa/KK$Æçøµˆå$0,µ[`~LpÈhZÚ'„’n¸*eVå+»Ù|B©C‰7SHHRG‹ŽÚ­Gülò³}ß›üÌ-²ýNoÀ Œ&Åö�Õÿ0 $™YÊß„OnZú?~�ІíÕ'†¸àÜ&f~%}å~ FJ¥’®Ç`C&ºª*é€é ,ËÜðù¸ šÖg'e†[=$¯ú@‡¬˜y 8)Á¹júæ�þ�.¤€˜ ð&Ä!èÀx¬Àµ~ÈÒ·c ]÷Œ¶]é_‡gtÈ-«°«È~ -ÔÖ‚„Ÿ�ˆ A&]Š'JÏÿðn�`Räý¿¡ÿ ÿ-[쎎hÞIT1ë -Å]ýy=(�‘œyK$à_Bª,½Ä€ú}<"ûöUa>×Ao€@�ú¢]ßLÒ¥p¾(‡‡‡Ý\áèMtbæ´ü/©Ìí ÐC:|õÞe.YMÐù -}‹`üé˜ËG�”¬¯O¤E™7ĸ8“n%m��(n)Â\jÛÙã|Š$bR‚~L‘à:d¦OôK–¾`¥bé†Õ™=…(Ï.¦�e<Ü—ÁÌåa~˜åå^öJw¢9ܹcU.L՛ǰΉb«z‡Vª”,-2"„ŲÙ{õJïÁ�G½‡le«û'E‰™š]ñ% -t÷Äbœ±ö,“•Š`øŸ½ùÙfàò%­ ìßý\_ØþÓÿ3\ÀÍû÷Y×ï>V(ý˜v6·ÙT+žZÑg±™H2uvzLE�?Ä€¢š¹ý/^/vÕ;€�P.�@W™2,IKï=´…Æe¥÷ \9ÕYýj�œ+U®ºX/¤Q®ä›óÖY¥ì)¦õ •kIɇyU�ñq0K�]®ªe*×ìµÊF•+kÅ5¯º.4 -ÂåªJ§ - J÷ø…ÊÕ•nU®'¶ °$Auò˜¹Dº¡È¦S*]U•'âŽk¬N'‚¡ê�D?ØôyY½SÂ9ý�*§j|}š€ýXÕQ ª“Ý.“ÉVîc\ñ•€þ¥=êÇÝ9Êè ¼ÖiÍO;U œ.�ªªB�ŒNY�«0 à#¸îˆ†Åó„^Þ5Jèt0(;Õ¾ý¦50 -31Àè¸î¨:‹Vœ<è„ µžRƒs ëIt¹Bm†Qóá­uƒsÇzRUݾôhLõ‰ s+Øl!,½3àV÷ö{½Y=HûkÅŽÀ4€­‡=1E¶6Ý݈j•ç ù çGŒÀ¸ עˇ€äÏ$0‰ÿä —ÈM‰@U¿[àS@ä{ð<Òs»’ç£s]Ò›.Ú­ŽœJ"OFq¾ó6á‰p–€Oz=âðî'XÿtT ¶·Ô¹°pkÙqBbÙ‡ Àv8¯ÿËìwMuìá áyUÖåá_bBe½K¬¿ „oÙáãýrñK•Uouþºú·ÑÕóóŸyÛ4˦™Õ‹æ{%@'­¨šL"ÓiIRh‚-ùµ¢&ÿtJ¼K1$u™UJms6¶_,¦»‹ …¬¾_|÷®>žê踚.ê“iy˜/êšuY#&�Ìšæ|1s^,ënÙø-õÝ4Õøíùû‹sÝW4‹·XÅÚëªþq‘5uyÆ;v_U¯I²b´Ø›3�É HÖ⸠rÉ›lì;íÜùÍý+Hí6î±|°�•vùŸÝ¹wçÞ½��{÷îïÜÛºƒAP—v±˜ �žù§ƒÀôÙëmyÍÐ#ÛÑ;ôž¦ÞhÐÛî°îrU©;¡ -šNGï3V‡pŠ�OM^Õ’¾Ý{}âôûï›ô0Œ>�`A2ßc4PÄ) Úç·ôÁ©[û×õˆ‘pŠž$=�ï�®ò�Ç ì$AòŠŒDyæìÝû$¢÷/qg:=cÍd¤N”R—¬ÿ[ÝU6y@iÂåâæV§Ç:'8 -Þ&�o!µƒ9³{éJ—±3g´u ¥u“ï®éƉ|VŸzì@U o 65;¯g³…̳3éUDµ9Æq‡(ÅNÔ#Ç<Í<ð+Ñ«šéOÄÚܯÙF3üÃfeß3¼:æÑÝ¡šÕêñÔÓê·šfåô8͸�a°h0>^³ºÉÊ^†ü®!ÜÅÕ#›k‹£Z’Ú¦µ!¨IÍÕ-& ³áf=wáøVÇV"¹ZåÁËíÍ‚]v˜Áÿ yåŪ½[lþõ™:1}˜ÀÆô™ °ñY:Á Àz€×fníܽ«+’®�žã¦Du 1•¨(0ƒšAÂЊª÷»”m>EŸ9ÖåãiZy^=žTPgˆ²n2›�¥•ÔMe’3”r­˜¡¼s¹JŠS¾èé£ê´zA -6"ðÏÝ5ò&+×W¹Jê$çS¥£\ñÔTô‘ïmoÎê�,CŸêˆñŽ®sRÿ¨J§rmjœÊFG -Ì©\OÅYbNu¦8"ÊQ]*š“é(ªiKjDâ¹uú4 =¨þ]ïgÛlÇ�+¤*ãžœ†@‡>a­&iË‘ÜÓéô鯇QLBýÕ -Qd•„"Æë‘ -üÎ~ÄdEºM]iÍ+–®V˼ ì™5w« 6$L»{ÇÕˤE_ ×A€�óñ„MvðC¬;ÄšRmaÈl‹ra“ʘèØ^Î3Ä築s•ÈÁÚXµí¾:±\ìуބ=6¡Gî± -¦2|Ìù¨X0 0 a×9§H,èå%u�Y=¢>–|Òr¾6%Àã‰�ÁóXÞjÅyqœwëÙ7Šo�s(ŠiUDê Þ*χvÔtž“û-Y7÷5|ÔziئØìOòΓ§*3Àþ�Ìa©ÆÅæ’ñw¾R>üW¬º•sÖº:’ŽÒ¬˜þÂ`Īº@Š;C\¤*y.qq°Ì³Æ.žHWßõ6:‘ŠûgZ¾Ñ�t´"ë¹�v¶<`@ÖgíBd¢!v;€ïÍɉ°+éÃHôdÔÿ.!@¸1úþð-¡@·}gŒƒß^SÏØlø¼6ˆKïn„ÉÄ¢Pq °H Êí3+óŶ{>h~Ðe‚ž‰ D â^�ª#|§øލôŒ¥&‘E§Œc(8;>¬¨òHJ5–{² ðO5¤~?FPTW¶Ã Öà"@ö’_7RêÝn S÷vê‹OyÁP–2WÊ*ß-¢+6åêrÔ°T‘r!0#�»éÅM= ¾s¦žø_ôu®næÒæUã3s¤2?V¢óѸTWÇÑÝ”!¶SãÜ//âî´¾¨›Ø§ÐuQ·v³5æÀJGùQÕ•þ©Ã€wÄ -æþy6¯‹ú*sx>±CƒkÏp®Y7I®*�„‘'bb‘Fs•øÑ³Üž7ÎnÞoLÏ(wûK…XUºV´ÓÁq·P¹ÈWDÔÊæšIæý.¹S¿š˜[/×bÌb8éX<–^žE £iiaõÚçÓ|ru¤¹²OÇï:L`ÌÝóñ<D¥ñŸµ¿ª®û{Œ @t÷2Õsó˜ ºjü€—QÞg,µÑx �—½ÚC;.ºtÆú�¾™4…zôªîV?‹%®¯µdh@'yÛx/ß»ˆ(Ãwr…Îõ#ymhÈEÍù ¤®«Áùày¼»ËY4�˜îµÇ‰Ç6��]À¸ÁÀ†m&¬r:šyÏ–Ûâà‰Ôÿæ3fÊDÑÀlà¢Xz/²ç¤iΕkN&8·nД{Ã6Ï/ßÔ4< Å:Œ«Yp›B5ë¢rÁhò*\LÄ×Ο†hŠE?_R¨ƒkYkb÷Ýëýƒ:Šß ¾ßHÏþ‹Pïñpœ�Ò\¼LC|Þ†6�hÕš½Ô¯Åâ²^�ª‹€ÖS"(dOË.p>™U*¸á2ï¿e)FÓ%ë/ÕmÿÕmÄ^vRg…d'y¶³uwk{ Àƒ�í6ÈðI“Ž+°c$YhVIÀ8´AÍou -ƒ·:1Ê -ªuP¿{78{%]Égg p äêìå—a=D@×íjð=X0K9Ç;_2…q•ëHb -Ý™ƒD|Ãø/��¤ÎÞqˆ[ ê>oÂqsö}#±A‰6JmêEô'>–ü×gš¬ù’Ê“âd¨Î´,ñFþ³þ/¼X6º×wŽyx%rú¢›¹…p�¶pž³‘›ZµŒNi·Xº½¤Rw3€†Ãª|!�%fcCº8üÿ‹ ŽR¡–�7¹þ cѰª:&jvÅÂ�Ñ»{ÐK&¦Zb Õ`®êŸÖ0‡±S*S±Û_HàZá¿Yéæs䇶ƾ(sB‹º_Ÿ�¤¥†mKD8 ±f.uÖbn\¡Ü˜¹�â¨�¼"=’A4u”$n.x°þKAÉžªÅö673o~JÞ³?At"6äcÈ—p‡9|@¾‚²bÀ�€ö�ÀtV - ·c¡@iùw¶îÝé±\!…ÿïm=|ô @Äh›µBè*Š¢³98�ÙŠA ê„uš^Þõ·Í–öU!(ÓþÙ¹÷ãqþö”Á‚U$7�qfqI½‹:ávZ[‹rŒQ+ç¦9«Ê©Xë‹"gÞT:)çùî!ÛÄ­:§U­Ë_Ve·8e§¼ö¦=¿¢\Åß¼ê× ¥}ºÚ¨Võ(×vtWÌI¸*Ø]Nªê=+ô]ÿ|’0´Éßu¹Zd}ª6~ቤ“S;$`½"IIVâ˜P±Vvê±×I�r*$QÒäܼ´\Õí«êØôºÎ™”y o8¤‹&Gz|XUûå<î§æ‘Ixfª¹=Þæ½î¢�T2á (: š¼-ö¤³»Ó*ðŠ<ëZç‹JÄSñ�ª¬{¤¢Á”F#º„F‡{Ðè$|âi€È×¢XZÈ–-ÐEL§Ô³qÞr^HOœ3“³æxŽû"wC­¿Fèæýà<—Üåkt"î!ökDžP”©´³O;rlº¦›uE#ÖY_oÌUÜø¸„_Dk£9íÝÅøÙo<<ˆÀþ'O˜Vd‘™UÍ“ðÕ>bB,Ôæ]_��˜Ç¤äØ%c²ÊkQ wKZ[5ú À<§êçì,¬kº31çE“g5+fQ_ê× ðºíc€ -Lö -/›¼*ÿ,zØ5e\4\$š�ê­à‘asA+ì5øæ —�úÃÂUnVçèë5N[ÙÃ�ÉŠ•«ºÂJz­aÁX¯�PZ'ÖýKI¯­ÃÜà@ -®DÓ¹¯({óý»å#=2Fûˆ¸æ•ìïÇ )sñeÓ›iiaIÒ’ª¨G$áÈäI/�»ùÖæ½�þ€¼"`¥QØë¡Ekð\æÒŒé‹i&ͤ»;mjêuê9שž¢ÝÐiF»Å.HWœ0ö?êlöË‚áñê¸õ V,#š„ÉK¨ ™Í`¸«Vã~2î_ʘi~’­˜óàİ©©ÀyP´¥\̰–҉װ׃ÿ‰¹÷³¬úÛ/^–v öÑU“¥˜I�ÕMà,Àm"v³Æø,ÎéHèl“ê¥N¼Ø§×¾JxzÔ»»ýä ÕQDÆñ+tGÎEÀlP~%Ü[�òE4‰ ‚|køH;lx-Z"�ì`#ÁÞÒžô¶{OÕoz}âA}°½]Ä«‰PX.NTT'{¯õžIc°Œå*€ý\÷çïç.WåªÅ8 -RêPP(I®–XZ”¬hUé~.rÖ„¿F£æ´¿[6:›Ôá¸HùâŸA~•+ îø.>]©\¿s§Ýú繪˜zÙ#F"DT]J ò:=¼Z=N•.Ñj·÷–Øí>�‹]Ò§ $˼¨j²¾òÅJ¼SÍXGZG W72Ñ©d§ñd‘ï•…”pý}@Š u‹ ™¹% -0+êr_-‘6Adþ‚œžBGPF.]P»Ø-$€èqÇáû‰V^5}`ÔÚo\IÓÙ´—„"1½ÆXí²çŠøü7+ÑE1´œ‰ºšîþ1>‘ÄÕJ´¼$6Hë ée$QUšp>x°?:`X\ê¿pô ˜ZL+T^¢sÄÎ%ôQ œ˜þqOþZ=J&Sbt�ÌpKÏ’KžëOu¹/ ²Í·DbŽ™v¦Ÿê¥_u3VG‹š•] úD¦±¢:€˜FXXrD,©uTÀWÑ èÝíô‚Þÿ®¸o”—B¯_$€•2¯s€<&BrUAQú}r#Ä�kDÄJòÞÖ=©–zƒmö gƒÂÁ`T<ØeÝ¿è(L¿O¿Ê:ÝéØ “$€(W²î|ÎÚ8óò�ñqKH.E]õ$�Ùø©â¼è^]Ž[kTx‰'E=¹"�ÿXÂóÝRÑ[[ -¢ÿFÑ‹rÏ+·�Žn¹�r=ÿÖ•.«ÏU®¡)‰!ý3ïîRnä©£êø;è:w×ZÇQƒà�õÕϧ -þ#�&CHVÆ&™@¯áîx6:QÛ%*!‰æýÏ]Žð›:Ø<»"®è_O4)»JÅ-ËmÃÄ1öçž´l•¦=’¯ -IÎ+»\KÎ¥ŒV JÕú#éx¼Fuçn‡Ì=]‰.<­‚Ð*׌3ˆí{U‘í—¬mGu"–Zø=80[•€AïÙ`·£íbÓ³{�Z—$šÄJXæ,u«‡[ÎUu8hª²¨¶�é£Óè¢L“.©}–µZÅâ̺€ýBœ_’2Ö#`…|0á‹3•‘ŠœGE«Šçª6TK,BD‰ú¼Z94ÙèàRq3Ô6ÏŠ˜æC%.E—ͺµ^ÀÓCÛg£šÕ…vÕep`YI-c4úf–8/¼V‰“MyÇɤwýWðu+I«?a©¿“é°ìw¶6¼zl‡!€^¦Ó1(•ÃWC&VCpPrƒP±Dç2‚¨>Ô‘þ ãq[hϹoìúÃ¥Z{¥<�ÞØNÉxR�ð5Àìî1x]CP°Î®‡8DûG1÷�¹§;°ÜW¾€D H*݆=a„?!AbÕrv -Û8$6@PÄ:|£\bÒŸÞ—WV–á9Èûl$*ÙH2@o¿·ÓyÀ@H[›ª4;šNÊüäDߎçC¢c»‘Šf†vÈæPm±Ó«ä?M…îj*)„C6ó̰¢&{¹ªúédRÏ&RÄNÕ!Oþ¥êÖ ­MêtÄ|ÔÝѤÝëšâDÀº2¦Î�î=ìɪ˜“غC´,Ñt “ºÚ…3Dá–ÜŒýE5îæÒ�ó2jî³É·T¿®èfu·JZX2 ¢ñs¤ê¸Ïu嘦pi*ö{K;ò𡘠=xr/íb’w$lƒþjƒO·Yˆ_ª7NJê¡€k€y�ÐúùÙ°éýnÕuˆ0`‰€[[~3€Î+¸FŒÜù «¥ú@½&þ€ê :Ûúzv0·î!è[ù‰�²�Ô•Êur:ù#Y÷-*¶Êµè3xÏKÓo@.Wý®rÎjv]^+×`o˵`]?Š š,‡¬d—ʵT¹êê¥À¨yê£)WïæL è\ÁU®ªtߊ;ÕºÉ|̾®t+^(RuüRkÒ½˜ -zïj¹rY”˜«*I'd]§+ŸOP¤ùŒŒóU’^°¥$)ò ™ÌÂ7QÙÛ¸nN&¿äøÜ@�G­ �úó¤ªGðºØÏX“4(j§³H -Ø÷D¯Ë6Нªì 1GSkD)es®“ Y§ G ÍÇ„á%Ž$êÝ̹™,Úù‹pþ2L JÆUÖù�sÙEú¿…§çŠƒŠ*šm÷¤–2 @BíoAÉd° ‡ŠXQ‘¢AHHÿ†±AME1­8Ï«´5ØUb$³K2`p)iÂE“K92çÎk8þõé© ØN£ºX› ,A®çW Úôˆ±"’«–Ù]d”â{;õ†xøIn?�œA¦ tIŠñpÛ¤2þÿÖc½3Z!@ ¡I›ub…Q¨îØ‚kâ5çúŠê©_8WÇ‹"û.Zø¥ìL_Gë�q¨§)“ JÉÖ„¨æ�á’²²Œ…úUV~�q-Ùv®cµ4“²A ¨ÞJÐëß6âK"”?ÎO†¶\Ÿ[�&a¥Õ:éŠ$æ§± sîLZžíOÓ‚ºvÇWzPÙà¸LÁ9MÔ„Á Fjk—â$8gò…N5Á’Ëê±üpTQ%þíãgÉà¶ÓºfJ@t©&¶ó©I‹º™ÒTÄÈœW8_,ö¼À…(å•I­8O2@Цõ5b6=#éö߀ùº™ã‘áf@± ,ª‰â*«,{£þB8>b–Gê¸T -Îà®ú -õ÷¼`¢§#¸¥)þ Y³½íí�"ðV@½:"~É7ç×B€}cÖÆ‹á. k‹ ø&Ï¥§1€œ³iÈÐrcS±ÉY¡7 Äb>Aô­à }ð›çfžÔ îêíll|®7`§ÇÆ€¬´/�ÿí(íWÆ·DÁ˜Ž r X89aiA±”`Hfï�¬�\x­Ã0pæ5ulÅeŒ&` /”(�&È>>á€|K⇃韧áEOG¼’R— py‚"¯V÷uAŠSâ†NO� ‚3žåå| ÷d�ÌþSFAèý†}©þü?Èú꬙hR®m’yw…;½¾Q$w%6Ýð‘Ày3¨vQ«&M–«Œ)ÈÅT]±®Ð±Rê’‹äk-|· -C¢jÉU“J5–bö킾X§Ôw*…¾Ô¬SŸDßœ~¼ÙDNÈGÌ,:V»m™«Cí¹7?íf’Phi¡$$Ê‹²“Ç\6}H=˜ÄÝäŸëîØš",zè-=ClÅÜ1�!�¬, «ŽØb® ÎÜ[ŒŠNïY2±wîöž>zúôIlV¾õ››P:=HG7†XÑúÝ8扒-> 0*Üùìþ¾Äì+ÒëmîôôýôÉ`4Øüƒº :÷OYÖ£§JH³d+ÑÝcœLÊL¥¼&c¦“Éé¼È??_ÎNëæü—E• ¹IŸ¥¶ Îßq5ÿA>µwýå`:a=Ц–,&•7²4rU/ÎßÎæJ^/<óг%KUˆxsé¢Mõº®ÿRwëæí|¹XŠ8&ÊÅÛÓ_XÜAy[Ï.~ùßuÙg�ªš*¾ª:cɇ±P^M{öþ?þÖrκ}ÿ:«ZÎ=gXÿ*ÅjѨ›ºjÎu½>o9¯ó¼_³_ò¸YÎÍ9¯Ú¼•"R3 Ä‚œZ—ªBD6ìY¥š¥éè`4ðjÀBÀ�ÁÎ}ãuºüù?šiö�2E\/ìÉ?nªMÆœÿ8?ç³ÅÅ/U·TˆX‚Ðúÿ®*Þ5oTqVœÕ›z -¿ÎNs^ö3q®›ÍûÅì-{T¨3hç9+L§åk=½hòüm³Xž³Ð¹b¡)°$Æòϋ׵ò\™rñ¿›+ïÜ»·Ó{Âä>µ,õ&j£ª±ÍûŸ/þ,Áåü¨ÕÔo—?3±×ð/õCYd�¥*TÝj½ª ðTMÉòñŠs]Ì;Ó»oÍ.ª%øAë-ÎÇus:Oœ�£qñžb²Ìo0¾hôÆæ|¶øî´ÑŸ¿®ÿ658+Ió®¿R«ÎzÛô^wQbÔK -þ“ÀàEŽª«¶º¯‘-t[ëÄ'ºÀJ”àF¬’§_©ç¶H}·6] uñ!Îû_¹ß&ƒ·Ú•x )(ž œòcü×ÃâCHÌ¡,ˆ¤S‰ð–+t‹ÐoÎÞ”o°TÀ�¹" ™T´úšN ³Ã#R@®×b©:^�,Èz?}/1—IRbñÄmš•e5òA™I�”%vÙ™à†Ï{¯$jú}ºE–¯Þº¨XI]BlQ¼Îw�WiÐ{;ú^É–”L™¡†èÄ5ÚÀê`!ÕÎc]NùB)àäe¬�V&ˆ'LóÂSíN:^üTÂÁü›$£K  )ìå1 ´@J7R„™ùÛš!¶ E!T:h³‰¡);u™cu–-ŠI¤_YÒ«€0˜›�Š£Án¯`I΢x°™ û{�z�¼€=ö®`øÿ=Ë*&êÓÉE ‰^TüÑ£Þ6E¨öïö¼®øh2:°Ï"„Áû Ô*×Ë™"rT�¾™Hÿ«2¤�uGʺ”’% N¹B,ÛD¦ªTôGÎI¾ -'®¯•ë,·`7ª–'»™'cª\‘«‚¤ -¤#ÅÌz¹©OD.W±A¹â¶×­æŠ@: -è¿^®—•ŽB«§—ãR‘"�™[§O² ù*a_Q•/^-$ ¨QêšWYtïëþbVŸž2®0;ѧªßîæ -;dÝM4�M¾/öˆ’†"¹Âט*Åx zžŽò½CEÚú°*¥w=Ô›¼Ñ�„a=V²ÈÓTòü¸|< -”�¥:kÊF (U²ZˆQ�Àùá!ÓÖÊòØ ³M‹Š‘‚ªÞŠó?Öè#·$'x�à\‰™sA{jC<�Ñi¤Í1§N/ÀHfiλ]r¤å<dݾ~\…£7ŠËÊ›¢`dx�w2Jm°ß냯˜•fA£±n¨_µ» óÅȰT^°†¤’è‹�Ù©*°3]ò�*kSïå9 ’ ù®gÌ�8W‘Ùwš’pn÷Y*O/yž8çA‘8Ï̹Ñ{ñëÉâÌy΋”‡/,c ‹òì”NZudJÔÊ §£Š @íö ûÄë_ïÙëuz9k8UÕ7HàäÅQU6Y -�9€¶òC™˜È<Š#¶!;cä/©&y¡\è{ЉÀd7¹–ç,¾­*F‡«G(DT]ªŠAça™wáCÉhד^îÕ9Ìׇ¿¥ÀëÖPD~æÃþþ¶:ª;zcðŸWÖûìã ÈŠ@Êp}Sñúù+øRÖñ¬*ié ÿ}AØ©T�þ› ¦ªÈBb�X@˜µèþ!/ðoq!´ïsƒtœ¿â¶ÎO—C»!@h÷ÊÉD¨ƒ÷¤IâDEË�¿}CO‘G1t"þç®jíÐÈ4j’"LÿÌûg•tQ¦%÷mûb€Méì \|Ðë+‹ø#“n¤(ð‰eX'ß2«®ç¾sêŠÁU^õ°³þ\¸»æ\’dY¯–*Mš"xH_¬.¼ê6³Ø‘›fEXá%'Hõ>x+`¥q®|b=)[}±LêoamR³k ª¿Ô‡À˜ûÇ¤Š«ÿÖ뇳“nþVJ'zBHsh½>œÕY}Îâ©"`L̵z-ãsáàYŽß�¦mó¢�âóè\qôuU<¨—zú´z°Ù{òç»§Ï©{’Ðê¯bµe‚Ï!w7MÛ›Û�Ž@Úñub³Eû ÞÞ÷··wünûwʦ5"Ôœ+¢ÿ(Îÿ±/ÞÍy7ºzW§B™&ê(7T�àœ,ò›ìuãÙÛÿÖ¨&4CBÜߢcgc“õ„“¥ì"„! �!°Ì%= | �ú4$”rĈ¶ð樂àñ1½,$"è@b à+�= [(×%”q‡ä/ŽyZíáýrŠƒ=¾–•Nª¯ -]ãâ E‹'˜µO (Ä!ÉG ’„JÂ~¥Èuª#]'nW¼Ù+²ˆ·ø¡Y¹Ñ³ ý_@U`Gy‚¯²ÏFà­� uAùDÎÞHLuúðSVã °Î&”2òV±zOVÈš‚—t°³@N#ßÊ;Ó½3õÛîa­ º73xÎASõ™`GwÆÖšÚa}*¥qR—èõ¼².H×&Ú¯Œ¹¶Hìâbvú¾ g£Ë«€»Jæ-Ý¿.º oUôX€›$DN/Dï ŠÐ¯mžà6Š«]\ÌœßD',#È|ñ=ËÒŠØšŠRH„  ˆ„�£ºØÍЧOz5ãÿÌR¶û=ƒ”øhßWèÎ�{÷îß¹G÷ƒ2õºÿ³{�Þyg¸CÐû÷Ø)ÜtOŸûŠùó¿È)±ÎÐ�­Gﳯè“Þ3iHwzE￈9<F̪߰„$iW:>@[8.÷±‰VK�±wídVþYÅì»¶´_–«ÃJ� pt4>-0ì+ß(ר6T!õõ¨šÍTµÐ€.�ì8vus$À[&æT[f§õ¯Ò·Ÿº€(¶�P -zckNÒ"Qµúù‹Ý)jXž×'b,�ʸ&Å+ôá©ôjkSÓúñÉÙwÊ·3ÖX– Ò("RAÊ­U³k— ¿¯ÎÕ‚L™ïJ5¢WA•Ó‹U5kz«¡S�aMêï‰Ý3H9|Œâ\ÑÍŠ$ôž`øûeIõȲüðKqN ˜’˜qM!y ÓǤV_«7›vó3 ñ¶<Œ/9‡u1¡–ŽzŽ_S<©L'T :¯ˆóŒATÇNÕº¼.Úð‘=yÒûCï«Nçî&€»[¿ÙîÙB—³÷‚k“�÷.éç_–Ê[^‘bQÿ'ô}æÜïç±¶zåîôß²>{Kïƒå<æ'‹sšװ-ö0™¨)¶²Ü}EÌÎs)ÎEõÆZ³³štÙ¥’”u›aEÕ힀‡Îm¿ 4ªÞŽ]<½AÞƒ�N¶ý•õz)é^ˆ ž“ƒÌ�:�¯: ~0šgÝ·>SÞ+ÓUßk©JIÄÕSÃ| -çäˆØ'¬8Fu#Z8WÁTÕ¿Šs8Çyþ“JâR¸dºêЬÑ_û%gnÿÒzâ€I¢;Ÿolê½·™ ¨wö’€lü Ì¢Ô]M°_X~`©*€Q°o)À^‚¶“¿Rf¹¼Ô+ëÕÒu_áOHP×ð•®Ûi(ÀÎÂû¡öŠ¢¥²+‰ëÔ‘²(CÐ3 -Avq´‘B�èH2f -"N±óB‚9‘<¤áõ(¤aŸ¯!MøWvõ1ýï÷ÿöÿ À�ÏW¾ã[’íš<£ˆo"*ÂM¤ÒžÌ¾UO¬¾xqØ-¦EµìäïÔu~}1CùT�Ö-† -W4™ÚgRÓÔ©ªvØoϦáñä¼>|¯çZ5NX{œ`Ebý|ô˪¬…×@�F` `™~ÜŽé‹…0wqòXÌËlÏbO`ÎKlŠžÄÂÁ Xd¬`¨"59Iqã{:jæVcÓ[¡î' €™“DtZ­ÚP'×-Z‹š/Ÿ/ÚW8éЈhÛÙàI¯ü—Þ3ïMO ®%æÆ0Í:ݹ/Å\áz -ã¥zl4àÁ'OŽvz£'\×ùC¡÷#†¥Ès�µ|° B;7 "Ë= ÿ¤ñt  Wmö*=øÄ‹‹Oþ)$S Ug%áDÛœ‹r�L.¦ù/^¶Ï÷%P­ü!�Ò�³ÒnRǘ¾]®TaÀª\]éR¹. -•«*]7£\#Wº¶\[g2õ·gYÙîL"u½-W‚*ݼÉ�m9òjqH@*�%=W:ìíîEÔ:lõfN5Sï‡;ÚU:­7ððýµ{Ìšå…~/.–[.æ•cÛuÈ9®³uU_œ×“I}:kfÜRä -^×?þÒ(“êÅû_æËzÖ\,ê³î`ü·_–§³óÿX¾?g¨®™_ðh�חʳ’áh®°GÃYÞý×_Þ6Ë¿²IF}z1×Col¦áífÍ\ .Î ËÌ/.êjØÍÙ #q¾¸X4‹÷Ë÷»XÌ'ã·zÆ›8 _íåwÕ7Ë÷N~öV1Á�Õ§o™×óq½Xþ²`-ð‹eý¯Ùaù¿ÿv1›üù¯Ëó¹jš ? ñ T]üI9^-y]¿Ó›¿Êš_ÄÝÅMõN‚ÿS±ïûÆbýIÈ«¨·E]žîloÿ�m2vîí€zËÙ|¹¼¸øå‚}%È žn$M ŵøÙ'å¹7~ÐÛ³•DóËoåæüg±r:[^Ô‹¼[üõoÍä—÷çp^�Î.šz<†sÕŒÉb)M¯0ç¯qŸ¨Ã­¹¸8§Þœ“q³³ÈsöHiæ‹ÅR7•js¡R.ûÎVÝþQ9 çó›Ñ€‰»;=5Kz±£Ag;ëÕÏ&˜µh1Ô"å>SG¤lTÏŠ)$‹/¾Ùr¢67˜ÿí/uµœÿ2?gµŽz¶œ‹ófÌFÜÊâ¥0üèÝRï-¡Pø]y8]*§/~~?S¤ ^·f×s>«›¨‰óÙR¥|”gÞ³å#�êÂ�-4Ãõx'vG¹‹!û.€¶‹ ïw¤é29¡¿� ‡5ȇÂõÃ!Ë4a 6’[u�®ê,ȸ�NѹuÈÀšôo>èÝê©ãæÖðõy…dÑ>÷JPìâpÖC\æ‡üáyЀv‚+’6Šüä~Á )%ÙÂA$nKŒt:vhpÖXâ‰�^9Ic7`äÙþ>µ�=€�ò™¸³oQ¡�Üt3ÑÞDÂ;uÄÌñšÍùn^W‹,;S'‹bK_Lgœ¦ÛYœ„ž«æj‘8‚BN÷±ÔSzÛñ¢Ê—@Al#n ¦Â aÕs©¯Ë½üuà-(+t X“4PT‰·ÙE¹û¢RG½ëá[E3wߢò­ïè%‡Šµ_Ε¢¢p˜˜ûFÏ�+iŠBÇ i†Á«‘(/EU8‹¹4æ"@qÞ>ƒ˜!}#Fþ `÷AOBÖÝÞÁÃGjÅ­ °s_ªüuýccç‘Ñz6x+žJ†4?;8ê &ÏÊ1·çÀ¦y‘:>2åà™Îõ÷èÊîBWé3�«Ý$9ÃE[ÿ°ý°Wlï'0°©ØdôuZ\t †5ø=&Ø$û¢\© !;U}ö’]åB8‹0ˆŽ)çc×ÃØAär¢êJ,ÇïrM4/wûªtÃŽ× hËõíéd|­\óg“y·š“Œ.\2w†øÙ¤»@àžé²Ò™9Ó�²8ª%s¼Nïsùè\…nva’¨DÌ|¼üLfÍÛ_ÿð0)IϤ¦ãLÐòƒwáánþ:æÜ¨ éh<&CýX;IR²Ì|~.CU'?«.& µÂE��Ém¬â}uÃI岨-ߺOˆÍñò í±òW4V|‚e$p Ë*Ù–h¶UõÏ -0n(IåÅnŽXÄÃ!QPéÉÊAÁùdQu³ããÁ`R-&õ_mÐñZ -��2Ô™¾"�¢\ÝâGs©gQþ¹˜ÓBøÁ�h)H¬O/ˆÿ‘ªúCÖ„Lä•Cy6¨™îæ¥ “oVœ+ÓrÌ»®8/UÌUFͰéäg•Ÿ8R -2ò\½W«ÄgÊs%¿B©LxŸ$F)éÙ¬P«käK¢±’|´u¡}Ï]úû£b³ó‡ªá•ï’g& �uEzÀ£§±²×3†Efyf*#døz6ZbâT´NAÝ7¬ŠiF¹`9q>=î¾K•bEœéI*ÒKŒO¾ŸÖÊ�)Ó>BƬÛh°Ï4ö ÷[Ðba*ÂMI, ê?ëïKPÈzƒ üן`ѹð×�œL>Ô·eƒWùààjǸv-,ú¶­Lá$ -¸‰AWÌìA`@×|†*nO’—¢‹À<–Ý0î3"a)@,IUÒÕa�@4±õG8®»ŒV(˜Ò³ $b7ì7~ûŒ|ð ”ëçÊŠBQog?‰ð{Ùº¢VJÁSæ*³”a·�ºÐ?4Œ˜3›ýœ—Ý“ºL:àˆmÊ™Ù?Ÿ�»º˜Xðv0VÇ��Œ¦®]T\âh04£=HW,Mð4öráÄ6[P¾L’ã[Û¼c…9¼l¡ÿ(_íõÙnõ�î*'ò>ïWm]�ˆ¹‘úŸÃRš{}ƒ‰Šøà©º[ϼ:<�SWÍ·ˆ‰Q‡~§²“§i€‚1˜sGŠeZЩƒƒo&Bõm³ª³Û¨Ááv·F[’o™¸wExô„57MLÞ¡…³‘À3ýŽFÙà[瀒 ÇkI)“yf@_žEs3ÙaàÞ֖ײQAco°³ýº<8à½'#©Q'¤Ù*PfëH„´Ry鄞`Vöß³ƒ+…î:£ø]•«/`ÀX ‹1åšÌܦ\)Vd»Ÿ‹é½ô4äºi \—„bûûA¥rÅì^$_#wº›%³\®µ€™a�Õ^û‚9s©.ÖÌá·b'Ñ$ôI䔊€ÊþζxV¬-x�6¢#ü8Õ‘Du«F§Æ"¿¹Þ»»›«-9¡Í=¤K.ÝzFÁ¨>1ò&um÷ÅaGó9­Ë»Š¾”PLÆv:)…æ°SÌ A¤Q’Wƒö™æË)‹„à ÈÞ(�ñ¹oâ‘QÞ˜sý'piçñ¼£Îõ?šÙF·yŠNWìIS¯$ŽÌŠ @!\»Ø1Yåç8\,"iÞùΩW‰Š _HÈ´ ’~Á½§Õèáæ6Sîßÿlkç)-®à|ƺÎ}-»ª×°Ø¾9õBg-ç’ĸ)àT—˪+©Kñl¤*;?×¥”éÞã¥A8áBT.ú°]–P'³ýž�‚©šQ¨~Ö)§IÇßÔe–1­¦>Eî„ÔOwîo0Ê÷ÐK‹žýasgÀúͼ·#õKñÅfº�½óf�, œ‘ d0¨‹Å?�ês5¸õꢎƒ¯îsHË«*j}Ee!/9‡Äyt–ãq½(ûÝ¢f<õv -æo!´Ù}ÃY§Ãi±ùº‹àA8° R@�$ °F �úÒ·Ýã@Ñõ¡ã*mHö/·8ä¯t Ð -� ð<Òç;À˜y -Ð' ¢ÁâpE 5RÐ µK9DGŠ�(!!±8]à *‘�PŽÇ�!ÉŸ¤°Ÿ…žÏ˜6Ä%ý7þ ú%ý·½ �õÿ•°µõ‰‰À«l»N©È? ™z�èà$ºçÓÝ~óØ£aÔ•=Óg­L¥ $%G³hÓX:’æGÍÒ!õÆbu&i:º“«ULý«î¯4Ç:O[rrUý‘*—£©JõÏÌDL}ñ¿Ìß—ùî‹z·B/LÌ}«î†•¨éÄÁ>o“¨ÎóÊbªÇ*�Žvbe\_ÉLª¬Á+®¸ï&©«rdâ©zœÛY,¸q·B? È£É?}3ú§Ñx^ìv·{©ØlâeÜõ7>ä5z¸µæƒ)Rý±ãy”y:¾öf�öTx­‚¿ÅP%Ü»ïшÞÁÓ­ÎÝíÞÝÁ ÷ðË=}vĆßߤ!~”ØÑ�r¢‘p4¡§![ؘ)rGìÐ�Wuyxîrm{nR®ä�.›5¾ÿuÃìÇøqŒká™îR®ô.…NÇßZìT¹¾ÊgÍîoKÊUR§Rxûv¢3%O„ªt5Þà“EŸ^‰T¦âÒåªZ•nÁ˜PÜ1nÒ´•®Í»ºì2BOë:Ëò¸*ë=$ä:‘ -sWiƒ0¿FÎ(x’¼AÖèËȨLÒ§ÎØi!@Â!tD‡¤L.ü8N:e¿ é/5³V -ðIQS®¡ªE: -ˆ¡z@Ó>+ý’¶®}Í ¯bNŽ�d…J‚Ù°•&ãÓE½W,Ôm×£×M8‚-pÅIË>›DÈ)] 4ißáHíRÇcû )c˽}l³ƒ±9W£&N/f£èÕñ[çQ,ÑFt5R4IR�Æoà‡[˪ÃOGO7wžf -å¨áÞ¨xÚ»³qÿþÖC u½'E¶ÙC£á•¥-”§Ž$°œ—Ôn©#£ÏHhTH^„OJ“ç‚óH�׿’$áÊå -ãí 2Çï  U‡¨SlŠW8—Ôκ˜µ>B�7·PgŸí ˜ï‡&»i ¥ÖΞ–:Â:XlC·ÝcV -G­2§oðÙ?béé2æF]±¦ÛÔÇ%Õ# -Áh‡á£g ¦»ö<‰râEºH_÷˜–¢çôCOžåŒyPÌ ’б&¡@xÚ‘SXŠ_'HF ½_Óe›d—²Š¡þ㻵ùyøÿݹó_·RfY\@r¸�(÷›hÆÀÚü_ÔŸ¿?Í˽ÿ¾÷��µ"&e=³õ·µ�Zu›T³Eþ—¦ím]¯8¥® —_g «½sI_ü;íÈÏ(.k`ªPtXŠwVŸÖ Ö¤ w´Òg”Ôä_ÔÏçïÅ‹ü°[ÿE—-5'æ¾�6F\0=ga‹É2o.Ô$Iu�hý<7ŸI€9õºfæ Ô™ZÒ7sUµÇ>Þ029Åœ›ì…Ü+Rfô6R;™ÌšÁn¾ÝéÕO±?E÷è‰Dù!ô�­«À�§�:3�MÂ1‰Ôè8VÜÔ}ᣥwuî§¢±r{•¸{¢í�AïII['[ðT¡ÞäÙÁÎæWÿ°½-üw¿â.ƒ^ãgã?6õꛦ»”¾Ff�˜¿L.×z^ås;Ú)çRÖÁad…¦|sÖ1’šÊõ”áVÑZ¹2ϾfeaUºyžÿc¾÷Ú#?Üu¹Jbp¹:.¥à!Çß,û?](Ékå -aŽ>o¨tq³-W^ Fvt¦¸œ}Ì4/Ž›ÓY=W¥£*µÌÕzA17¿þù$Àð#"K@½ºPõP±’AŠó²Ï"·@÷¼*i¿g5çÞ7.Õºr¯Î&u3WG>#èˆ& -‘G. ]Ó¿Þ¯ß)�,DF"}!Lúv0ÒåG¯¬ŒþkÉÜI¸‘lïæœE² ñ²]±B8ysN|NAïE-ÅT­´iñU•Ý®ª¨D”z¶œŒ¾nž˜Úyµ‘MŽ -é\� $•9uWw‘õÙ3¬õ)Ƚ‡ïß¿³õè©ñJHm¼c!;v»q‚8Gò¤È¥€8lb½ªN}�گĪª»gÎóY½PÉ�‰n‹K8Š^rîüBHÝÍ©^ -¤ˆÉiÅël‰Ù²]$̱3}1éæôlé–#�ïݹsÏn;¬Úù¤§îI:¼~äöA›+ƒžD…†ÚðÄùrPecÊ žÌU3ú¨¥Á4J^à\Ìœcw! g�… ²«­-ÈŽæ|~z˜Õì¢òB ½•¤ÈZ£ÕŸ=Ù>÷6£›Ÿ{E Ì€ë„xüIÒñ�+xÃ%^ ˜|„¸ú““¯¼P%:A½YYÜu iÚÆrÚõϳûq¨VD ÆCÜàGÿ:@='-ôsf`r –tG,*Yg°là§ðv䮿+XŠ3‘†9#ÿ¾à 9Ô»¢ñ#%µßÊì#,uü·šgJ(™œM7ÓÅ-´x¾x?ŸÍçó¦Ê_•»ùBº– ¡ÂÝó«d,›1fzÁŸþkÜEšåŸ_a/®Æà|½ܺ�·«N£¦³Ì—óùü—ùŸ—ï/æÍ[iܳF? Ö,Q÷ß,—ú_,–ï†Ý|¡ËûQÉ.–Íùù÷$V.®Oߟ/ßÏßÿ8›-~&Ý¥§ ý,Je ÊC©ÍÏÅΩfÉŽ·óFÜ“I ütš·Uw0>-Žž¦ˆ‘Òg÷Ý$ A߀þÎæÎƒ»;Åà ˱júèÛƒçÏgBhz:)O6„Oêñx¶\ôK‹9ø)-òÑØýFåzzºX”Ëùbñób¹\^�c ü…ôC¹ºÜ—õÛŸT®MŽoÙbþ·çõìü|¾\ZP¹N•ÿ ÊuñÏøF5¯óÓÇùw§ºçJ§‹sU-Ý¢\‹ÒÅ-Kâü"ŸV^… ,Ir sc©ì*×Óæ"s¹š¹)×Z™˜*�ÊU•®ùnùã»{ÇRѺø îPÍûæ|q®zrêJ§Â‡¹såùµÏßa ÷DëåBÀ©:W:à~eÔATèôÍî™M!ƒz4±(šb÷_Å!e$ ɪjtщH!�ݵºt6{q '†~ý‚§�3,ÜLeó"Y=`ƒx*`˸®óÍ`#àŽáHñ2ÔœKâ¸Â¹âºÑ,– ²tû�óÑù86uD«Çক½ÍyiÎaÍ÷“tãcþyÖº¬<³ àÙÎæÃvµ­ÞÀ�5B›Ð-„$1ŽõCç¨ÆëœsU¹ÐÍžWEÖaüVIŒ–,¤­2ŽÅ99e«R}¼›GŽZ�Wx]å’äÖ*? <×Ew@g©‹f€`uñô!“†ï{øŸ~žƒí˜žƒ 0‘ºIŠ;° nN"WÊlw�rHKá6œW8Wm�%ÍT+½kTnÈ^€g·*®ôÁù¤ÈX lü1Š©„·P,cüC[›ôX¶eoÝùÍopØÚŽé€&û¼Ûú-Lô@¸°_:Ó¯²ÉßûFqd‚þþÀ@­€É¦ÖÔýŒ.ë1‡Lú¶$ -âà ýæhG§�éÏø¯G£í$‘¬E¤È'°åØu ˆ’°ˆ 6øµ‚"Îø½:zT_úÄn?¯Ò�èÖæÿÝÝÀt¢“4JéÿÎ22·³ã̹�òÛÈž}ÌùÓÃWÓwÓa–u»âÎ^ï’ˆ0ld]¦þꛕ5†Ãá ,ç‡YŸÍŒh(H¿ï }®äUùø�ê”âäÌ#øCøñ4aùð�àÙ‹ÇÍ4¾®TÝ=OŒ.¢.#,f®ÀQBÄ‹^�U‰94w‘(s{s$ST�3æG1'•1Âs®‹\)¦»6O'æÌ$Éòøáà0‡7³�îNëü°š*�rH/Jjû]¼Q0íH¨£vÛ'»Õ€áþ(•S”?¤ÞîïÈO‘©òqoÅT�»%ƒMÊ,‘ýCliÒ-?œÁî‹:WeºÁÐâÆ�ß0­ÓZïîW�A�ª³™öa2i/µIh¿ë×dEþe”‹�jN1¯¼Ê×1å…3m)ë¨Ç.×e v7'*×’r-‡žÃårívÉu«J@w«ÿ~ØLë’[úèÊ�×§Ð\¦äŒbWP•ën3‡”³øw.Wσäåô±:2ñåJDê…V±êM¢j©ÒMU¦ÕTÕ‹‰Z8sÙaq¨ço¤ úÇ_'zÐ8R¿9w¯:SWì(ª¬ë…u´G“Np¸šèN‹F¸aŠá”É¥Ê pôèhvt.TKjTÑ/öîª&ïxZèÐ1i„.*ü·O (hín2ɳ‚å“ųYhÐC3±ÈDX.³‚ðåÑÜoc=�4)ò *´Ò…sÁh'£�lVË�œì–5’xa]tŹt»Û)”aË@öñ®Ï’ö�ÿ_ú•\;èáh»…@|‹+=.ôËt�¯y´bÓ_GH€çÊÕ…Ü!ŸÊZt;ì̪Xz'ÉŘ'Ìb›é1”é²J̾šJO±ðŠJÆ™©#g¿ˆ“¯y‚�äݾð?¤+.BG ïïH¨©Oùý`°ÍŒA»ðŸáA‘XPžëµc½`\„ì—%v÷wã ¯| ‚ˆÆXŠˆäë PHÜí÷‘èˆøI8rŒD£óc?ªŠ&Ñ%›œªÖ|„v:_ÝþN¡Ó2åOoÛº²áðYš - [a9Á�†€_!júÚ�1s#®Z.8«nS_èûFáLhj,À‚µ– @jŽÉvu ‚gâ¦Bô,  °«GRlmd„çM¹ƒ>ƒÔ|ÕÑÁ!èN¸ãsbסãS, - <é…ZÕ¿£—Åâßjþ--ABÿþYK1¹NðŒž‚ÇÈ}âmT ë®4¿ê¿«þÛc’ûÒ¯çê7éþÕ@‚ªæqYê5t¨®‹À¼Ç%õ_džËŒÞiÖ=A¾ÑÿêK}všÿ ¶z¦…Žõ=ÅsÈAã¾éÕpšw˓ʽ¤Y9]×6æÔê÷,{Qšûò¢ßpM„Ð2W–»¬Ýé2lé[‡ŽȈô$êè­»ê�Õ©ÅÔÜÕ¿Ó?eØc‘ÆD¾PiÝýÍÝËrZ‘¼“6x‰�$ê®$7}«ð“`ØÞ Ê/IdvrýúÒ¿ÀQ╟�Û|IY2õÆÝ{;_€ú0Å5¨#y“ÆÄð/Ì-§»U¡ˆASeiëv"ñ¼ÑÊ]®ÝÌs…Eʳ¾¾ÄM*‹yÊ9ݧ\ËÇÌ‹�ô2þ•Ã7‡”kL¯M)WÁ1uîЕ.òBÿåY÷°dÄŒŠH¹–}Ë+RµZ•«Ö¶\i{”$’Œ™;”Hà;TU…éc=ÅÌh^2Î5ú$€¾e/N&cª¡ÁÎìÙ>º–Ð$Ù§ÝÝ™©‡6H)|L¸êfúUÙøŸmôLøâ´^¤‚Q@S¦.º8ª‡{Òþèä�€~R8ÅÄù4)× qÖï§îÿIZÌŽªñŒ>?¬†�~çx"ÆCe].QT`AruÌX/‹½®~^à|rŠGaàúŠsiéæÓœ�0w`c4çŠ ðêžv«bðR™žðc}:xÖÙüjÀ4Àû[;�p‡0磱}ÙÐØ?(ŽÙ`’<7ë�щBÒSZ0QUi¾iw—žn0>'ÏÇKÆÿuæÝµœóŒ`ò¨˜U�‹ŠyÅ‘‹Îž Ö*?œÒÕ“j  ¶6U©(œ�êwéåz2²'ˆ„ÿ&F(öwîí<ŠmX™ õÕ8ÓCAâ €_òÍþaÅ„(.‘}kœ�phõqˆOT I•w3jóG¨B/¿õÏ€ÿ¬Ï¦©lôV1r7v4áN��ߪÒ`%›¨èº€]CôZ`¶´vA«€¼‰õáÀú@7�ËqO×ýðÍ�Þ×óÈ "ÀÜñGhó«a˜tà‹Dc\â†ãTŒzL'‘Lûç\ )@ó&ôÉÀ¸0‚,YTœ‘Ê`ârÕåúš5¥×/ëŸõëº)»å’êÄ:÷‹÷ä3tº˜–盫\ó¶ÒQ Q® �¨,.§Š§ž�Vë7Qéþâ™Þ,—£ô¦åTÌ©RN�›…Êu¹ \û�@WÕ‹rUÎU…*ƒÊÇfúÚ#)¯ëzšÿ킱•É䛿¼ÁÕ!êÕ5ú´!€@!�(;À< C -ö¿c�œ@܉£w hùš«’ j´èb0-í;> ¤Ó©ïÕÃlßÒ(ü0HWÂFu^t*Ï…¤nêKá#ê#½}Ì»$oUv ÖÓ† QÑûÏ’ÒÌ4WŽÀY^˜ S½f° ãÞ˜~·ƒ¢ììK¼E�†s˜��œ + -' ž#�U§¸ðË`AžŠgбIÄ”×^Qï‰m߃�íÎÁÓ^ï¡÷ð(œO¼v'æm.ˆ×b·œGÎó•ø“Ðœ0æüH‰©)–]5‚Á3ûÀù˜íðª•\§3̜뤞vJü(AV®Þ²eBž¯r�$©Œy·ß¤ÉtTýúàY¯g €'ê>}òäé3 5³~ÁSú>g‘1 -þŸILŠ�%ºôË´}‘¨Í(~ߊl0j³fT×Ýüûχœ©™\­/î!º 8ìm$ ºýÏX€†5[ -Šz/ÌÙ[icÀd? eEàÏ€”ÿPŠQ÷‰Ç&}¼¡Ós,DȽü -sÄ�­S�œ€©ÁßÂ{°C£Cè"wbH bã–±#z° "R£»nè6 ’C¶Ð5Ñ¿“ç�Ðð€@¿OAÌk à¡ß‡¹^{ŸQgƒIóÿMž<‘,½Ÿmn“eXM~‹p ¥Òù€`cº¼¼þQ0šŠ',|ùÂ9ˆºAÓ -ËϘuþð×i&êô%ÂRKREAwbvW‚êêôE>w•‰K®hZz«†ç—¿«Anª¬X°IQ$Ù¡Êÿ -+f'1ÇTé>bßÕY¢-¤ïºég‚z/ÛA¯—¼Ò‚9µk®èTW‚&ëUq$¶‚ØÂX$npŠ5ù Nƒ³êÕ Gs¬ÊÎb½ÓSÖÕÓ—gàHQÅB€í⾒ܶÔ[y§sâ’¦7xþÃ$Ä»šš”·»ÒæÔ„9£Gòn¤hƒ',vé_ĬC¥zÇ‹môž¨ò$Çb{ ©×À‹JÉ©ïyJ ³àm±+ÅA™ƒº–’1¹\õË:ñêæTòN媬_Q„v¹¦rFÅñÚû”«"¥\¹£4TŽeÁªv0^«tt¥‘óDî ¢¦fã{É>âOè°^®ƒœ\ÓMª:Ïf®P[¬í:v¼Œèu�¡ys3Wv‰L¨¿FŸ¸0]®ò¼±;©¯ŸÅaÖ)q–s¨«]ó%Qûm)ê|7“^ª*"$¤�½Õ»G@ˆòQ« €]”Ý)‡É]>pÔNëHUˆ_Ê9 MûlxåHFpNL*:x—Ú¬ºá fáñ�®šô�<®Â˜Ýð` K˜ú|H%+˜� šŽ´c ‡æ®O5«º‹¹ßÄ©æjV[CZƒ¾’=p{ƒÎæ[D=�³8‡ßÈs²ßy.V¼¾³›¯ÄÁJÿ•²Søo ¹ã‘¥¯JND„Ûä9•Òœ;/ŽšÓnýKÔa‘ê3¡VÃI›åÈrúƒƒn®¸âüuž<}z_j=mõ)&ŽÞà ÛÎ0ƒXHñùG—xm‰A1rô{}õÅ¥vJwWp½Nâ\<êò×bý¨Zdår�sK}+ÎÍj"ï¦S‰.ªUéâÍd|¼í�ÂþëoûÁƒmV²�Ùlúf=@Sú–2¬€BBðÐr˜ T**@tòÔ öïã4°œ p¬ -H -kÝÑ%_ã–>щžvðø³¼ò{RÓ}G*‘ c¦ûI8/B`ÚÞÙþ"Yœi¡÷±1üýdáµ€·º‰R!@ô´x]¾9§¸7©¤„ÄÆ@�”/]Ò -t×4¬5€o­NÝBÓ¸>쳜Vªè-0±>1Gê|t¹™ö£ÓrZª—-sÕ!@!fˆtrйÍÌ}ƒ­`!ÀÀ ÅÛ7�‰; Êà;€žÓ› (V:ÅCz—Ì•J_˜K£Ð-€7¬Ò©UºYŽŽÔHW ïϤ” °W9{ ú/W` ¿û�ÏèžHƒÕ /Ýl±Â«•åž®KâD�î˜^M—øV)è™´_ùñQyôLÁÖ>J�½hK;;w{½4PR*ž>A�…õ†l]ýåS5EgÀLå²®]f]”«zñL‰5©òÝa”+z$µ`-ëŒÿʹظš�%¬—«#uZ¨ÆªrôARòÛr57f∔™j‡÷ÊÓMºëK€a{&ö¥ý�@)Fý`שKæJ¤NTœÂÒgÕH^T…HÌM\é\÷¯Ñ' ÒᕳDÿqÍU`•ýNìÆ—ÉOWƒ¨.ž# v_4¨¾Ã�§5I£¶f¾Þ­cdvÞª‚(Ù…+tä ?hä&ÕmeØ*$i -�ªAÑô…w\vÙ&ÎGž~/j9Ç€Žü} ~|@\ªw.ºÓ=Ó3¦}d<uûòu•ýjxnzÔø£·ÓÃñ'~'iÎa1[®°n"zE˜¾Ú¤¡±tîC¡%Y!î')Å¡²×A5çÔ=_åëÖɾ±¥ñjÐíT/9‚ðñ)N½mÈúC朂„óѤñ.”!SŸS¨Ñè˜Vë1š¬Å|âahg˜†rõ¼è£�­û `@‘(2V8VU+µõÁE‚ñL]ÌŽ»us©s}çƒÎ.wMÙÓLÏNPTÖ83êÕÞtY¯<ªÎ3Ifp®ìR÷ªÊÕEÕÆibU¤q£êf95íV`ЭƲh8%Ù�­�KtÝà!=ÛaÐò÷àäJ~Ä G�ét£?hmÈ6îv·û ôÇ3†i¾#´ˆÛ\\9«€ß+ˆ£ô�e&(k’6ññ¤#˜U\ 8Xˆk¶àp@ʶè;¢äEÉ#Ïüÿmçšà‹•ô@´õEk@N"ª›ÈíêRwç¾8¯Ïõ«.Cµa<ù#Cêôl’£O +pç¼ÆÌ·k16u,hŠÔu®ˆô`]}×o5EÚGjÛAhŠt·8&qù4YTû<šGJf'ùËÏС16…xbîð]rÌõÍÜi“I¥Pð¼}’WÌ©C -æDIPŠþ$æVš¢ºÎÕ„ÔsUÉ@+l->>îÌGÏÕ?¡^?a~ÒÊþo¡ü_Ê÷l8`ê®&—ð‹®FD+sCsÄ£ò�-©KÓ/d/“ Ä¢#ع£@iÚðpãá¥@‹Øcø4–t×â½�Mã†ùLXèÛ¾¶óW€H³ ÷P¦(ÐÊ G#ÿ.Ë5d7e¥7v´@Å¡ZdÀÙ<þf²nàåê:¦žˆâˆr…,Ø@-PzäI†tNQ®!tª{n-~/"¥r¥Ò™’ ÆÀ{å8•Î(¢8’Þ¿" tç¿òA�ĆMÊä‰I[gx¶g Êž/ÿ^%î׋އ»Ù¿ªÖªzÿœµM!ø;Y:¿íüÖ›bï㌳†\ã¦=V 6ž -puÌmãµpàå:•GOsÙð&€s4~Þ>xd¬ÿ -·¯«ñ¼Y°à¢óˆÔyÌtGñ{P�à0FÅàdÚ?Böï !(�m¸,"ïüš`å ®_Ýü€Ûˆ¾‰è¨?°Xé2ĶHcW€šÆº€„{»@mRÍUÍ¡EèØþ eÌšiÕjR0‡© €+¨™»f°ó%PÔÍ¡-J:1—È=©ÐS?€©¿YYlªæMa&H0v$åÑ]Fu||Ôäyíd¯YFaPC´@:öʰuÏKõÄÇØ¬Ê~ï‘{+·µgî㢓¤Ý -j鼜†²iePx}W’°C�6Žv�)ðÞ‡v´@ýÉU €€dx6xjÇêçk†&Ê7å2}@¸]Šð¿²`—5²nRgW,üAEùˆÄÕ°\–«Â%©³Ú@Ñêöm[®æFàåúmTºqÖW¥Sª’.×Ôed›®85âXYˆÈÒD”+B@‰Ô‰ybe` YÄ�ß[ÀUúÄ!ºU`Ù•).éÄ̲.û¨mm»JÉÐßí7/s)þvížÙ°&à`=šþZ©,Šný–v«cè%=*ÕV)ºÒ©¶Uy²àá¯üP,æ¼µ¬\éÂÓ6DÝÀ8/&•¸h Ó+¨Ô7[òUøˆKD8ÂðcxÆ+I†OŒ9É{Uš’ ÷ä«ÍÞŽ€ Y(ÂHAŒÓ-£,’®+ $­äÕ »[Ïô‘šDVùS�5ÖáÜS$Íùu €2Ï¢³%'å*Ç¡G+;�Bª|/ËUVÃ9éEo°(õ-’…ÔŰ^ �‹tîß5 7°ÀëI˜“˜IÕ…üPYÿxˆ€V¬œÓ',¼-_®-Á¹âå×€Ñ×·Ñ¢¢ßJƲ4†b;{÷�ì`nZY„€8 îã ÕXhŸþ,ôq æ(³±  ò‹ŽÍ!µ.‚ä\—ÑZ³ŒŽÐˆ¨å~(vÜV¯,ˆŒˆ"µ  #ÝÔ§Ùð¬¯òãÔÍÃÊ YÒwRÙð�@køÍÝËe€D—>X�Mn"šÕM¤î޾ø»Ö Þx4®¿½Ù@¯(@ †>°¬ ÇêÁºúîRSä_ëʘú`ôZ÷ºö 6Ò9¬,öPð¡êzÙÔÆk€ î,™}\­¯2Çt/�–Ûˆn¶Dh‘0ƒsµ5,ý-Âà @O°zͯ$€ä�,îØ$Ð?o-´274'‚` ­ÀX¬·R?õTÀ �Ïp¼ÿpãÑSUžÖ ~å‰8ŒÁÌÿÈ*ÚbEcØ}-õš ì”çäÒç]„V¹z`‡ Ê9^·—E—>ô@º6©Ou ÎÛre XÕàÒ@W•+ À©“qgÖ4�æ @„v¥3­,/>´˜©k´¡Îí×>è˜â[Q8Ý(Èu @§õËD’ép�FŠ @n À» ª‚`¸.(%VAPšÔ�›,CzðcnJô½D1ZÃjÌg|ÚÄE] v_*Ψ†Áö*ªKÒe,/óc,ÍÌ}ÿ÷­À9HMVÙìŒ^·(ÕUk0xÝYkˆ!€-Á9lJŒn-\N/p�ôfº”+­à®—ÉàýÆÌf"÷E)R[̺ÞH�RâÚI;M -�a[Š¢#¡“_±­‹×-z% 7Yh½zo½<¼ˆ¬ô‹u /írð¼ÍÝË7V³K€££2,Ñú¨-«ñ“èn.w;P´nÿaàîmå‡1è¶? - €ž1°©¾ês:¬;w6n´è•ØÅÃÀñ[ÐŸŽ ç (�l8´ùŽ�OA^®³¾Œ®î{™‡â„_Ÿð�€CùUtfDoÓÖ ]ƒ1_jãdùB „'xzèÒ "÷›|¢À]g™;û;ŸßÙº»(!ÜŠÿŸì@̓¥±×,ê�é‹ípÀjË©…Z €êœúU4Wµ�ÔmüW‡æaÚ›-c6¡½ð<[GÊÒ­ð¬ÔñQ^YB:™ÔoûáÒ‰Û›)W” >•z²$@±ªEø-u}å(“|ÒúØp£@ÕZhµ¶XÝN>¶ý·€,ÑÇE'I»µà�Z¥—± j-7úÜÑŸªÊ½«qÇÌJ«@ð̸ó² ¤:å2½ÖÊ`Ëœ•Æs²î @d]"C,9g ê6€@Ä£ÒU5‹ýE¹Â�®(<‚]ªt¯í Û*uWº$`Ù!KtÅ©Q®¾³¤áˆŽƒ¹¶\?ðX³(qó¬(®Ñ'ù¸l-áæEyB:¹´è/¾(Ûë¤K+ À y j¸zèïèú€RS¦!(³•Ȣ̰8×-z†üáȵxÕË$pƒ²Mœh°8EÒ¶ð�¸d€—X¾CÆ RÔ ú çaXxÍ`ÑØXH€•à ÀþÃ_³\rn~õ¥û>¼BØZì�PÕ>¯.RåçXœ£ºé¿�|’±ò\™2ò¯r•ãK €ªò½>"½ÕлÅðŒîbÍ |)¿w÷±îðûA¯�@O˜“˜YYàÝuÎêΔsú´Þ,½ñ%ç€c2óöOoÿ‘`hÿæolú Ð<°ReuÀ©èŠ€‚‚ˆú„ˆ -‚‡ð¶€ž õ`)ˆkÌ È¤æ¸ëOÈH ±CéAGÄ�ð0dû®°ú÷ŒÙë -qšGNBHiÀ"†ˆ±"„GÇ“ -lè_ù %ð¨~aULaЯÞùW|~sÅ `ó ‚ýÚ,·«HÝ�zÝK }‡~¯X¤ðª»â²/YÓ_³ '¶Ã±ô¢jŸâ 9�âf€q�œÑ¡©sºÅ �O`À@¬�ŽÆ—Ì¡ó´@� JCJÑŸ«Ìñ -æJíT½ç­>UÑ™=o- ¬ -³µ  �¯D€|.}henhNdÍ€ŽDaˆ>œ|?¸Ñôßø ,/-Lb À3äIÏÅË?±£á¥àMûr?Ñ@½âÂ¥€ËUua�[ão®[$vºX9oË•ËiÜ飩ËJ� -"’ð÷÷XÖ}ÄI�1<\¥Ož ¾…Ó�‚\·ì]³Ü@º*mToU|Ì@ˆ”9Ø‚+N€7YT]%þˆ…6Ö¹bÐ ³iÎõµÎ9‚>W9O¬“ -XœKŠ­ú�»5°‘,½Á‘ì#)$�'Îý2×-"ÛºS`5 ^:àk>7Xâ]ˆ{rià+¸¾d#‘.À¹-»Ó—Æ繚dk¸|aqŽ*¢á|ü� P3’±,ÔÌmÀ 0nò8½œŽ¯[˜L|£›aòHÓŒú×|”A|³;�D—X¿ÝàÇ<2ä~]wÃ@VÞúêo£fØýÏ>íŸdpä"�`@Ô ,gARªÁ^ß‚l>`-XÍõÖ «~Ò8l´wt¶8‚fsj®ù&Ub1ús“/®ëK’@hãôó:„!O]ZHK!-èÅ>Éàé6ö~~gKyéá7%|ÑQ«w»jÀÃ?€Ö}qò³³Cü5€Ú—ÀéïòPO³Ï¯Îh-¿2  µˆ�Â@½.Í,(|†k>W,\2smkY÷8¶ÀàF[˜i�€¯§+ €Hð€ ÀÖš€iNj¿î$i·ê�”šn}`°.aÕ À€ë@ø¨9Ý»æpÍ>ÁŒÞýv ì…€.FÖ}‚àh$¹ÎGX¾¦X?ô`hÇå -7âBá™åj >×-aØq¥#1b -@):"CºäL…Áð¡À‡³ÌÆ5ú”!ܧQüÈýÃå édTf×}Ö•ù5ZÍècXù nð°ÏFÒ£G£U¡oòÐ3äÏêAô/}Ü~•9sÞZ¨æ<|¸Ot5ô;\%. FÕÎÊA';S -úßTm,°Ne - â^µ ‚:�á=GÓú,€[}(M凮[náœY¸ãÚ ¥�é,[Ès*Ž ÑEDÆéålx¢)y^aijשZ«·€xȃ�ûHÏü5 €º¶Û}ÜÝøwôP>û €!(`èƒïu€mO“6Ž!ܺ€W�j,`ìy3a@ø©ÐÓ&wƒ,pÌ/Ø®ñe$çúš€¿ÁhKz�‹ Ìëxmñ]õàQÞ†XAwÒ&R€1ÂrÃÀ~Ë,€•,è;¢ü4€«.|ˆê&r»º�ÔÝ Z¯ZÔÝþßϸ"ÒƒŸæ�·ë¨9®[&øÄ,„×Û}̳ðדëÌyÀð×|s°d,ˆfú1€¹¤æÖÛ€À“d@øˆ õmó¸É`@½Uø|¸€’Z³¬ù0dèQŠuxYYvžgÍÐ+9ù©c+<xÝà[¸—†\Ï��¾ìtÞ–+•N¨L¥kg°„š ¥µ Ù]±Ü< B»Ò™>6 €&q�>i@ÕBy±²¨’è⚀­zHI‡í×´ò`àÅ5 À�³È[ŽõB‹ã°¸>sK’„n‡èã´ˆ~Õyc6͹¾®r¾òH”’»NºÌHº}ö¯ZÒÀ*ñ”8×%á|̃Èí À§ûÄ»�Ú‡>·pþZ Ã@©åÏø¬È}QŠ´õXŸ�‚ùfµ0ºn`_j¿8½œ.¶€ÉéÉp³£�ï:š|žY6ºæð´×ÿ¸À¨H>Hän z©ðHU�‡Ú6£hs ÙŸbœñù¿é{Ýà!€è¬D7YNQ‰1ðÕm³ÀYaìGfè_œ‰2ž½iÿ�?BþßÎø €$ÜùüÎæ½+ëÜB”ðMÆ©�½b°v{Í 0våpÍà±bW“¿Ó@Ð+ßâ°fàá_ó¸bXë+�ªÅ—€+³ü–ÄŸ‚c­ÀÑqøÜhHëX÷ïñ}¹€èÊ$[îÿ¿øè0yÞî€ÑáÎ�Ï”øM³èYÖfˆs˜¡„Ço‹Î úæÃY°×Ž�CdÝ'ú8ü³˜’ºêpÝìÒ,€ð@G×Mj\j&Ct…ÄDø;|Ö,â.,Ô¦+ToH&úµ�á“,d†X«Ÿ+Ò%[†å‡>ÉpùT; @—h`É€½nÐM5Ô#ƒŽ)Y.}�3:8_ù´œ‡M�%†Û-ž>ÙC[YüøŠ…°Üè qG‹zžŠbZŸð@"¢—Š0â'/è¾¾6 @et™y+âækU¥dÀVh €}¼ XlŸSåsE£æ<|Ès*Ž^ vET}œ0M)vuÕËÖ@÷CÎß?Õ³îÒð¡0óQ sö“€…¿”sú´* ó"D!ºÀ9ô € àfúíºC[[¼¨Í‡ë¬Ïؑ쀀Ÿ? ö¹þ £†dðôsD¿`mÒ¾äƒY`»C# - –û¡Øq=H“†Ý£ÈNHñ’‚.;€‡$?Àq žÌß××HßI —ôοº@ÀÆg›WÖ@6¹‰hW7Ñ�€úª`åëYcö»&ÄŠê—}±ħù¨ºqÙ>–Z¯XÖ|¨º·û¤!€5€uæÔ¨mb×)€è“-Éà €Ž�c€-6²¯fx! ;ë³þn€›fЕðVáðá,j‡ÒûЀ~1Å>J €þ�Ö-7ùP¬Æ%ÿ©€È:�-�×-’Þ"Ÿ¯øHãSÑáéiZ•ë§Ì°iÇ̉èÿÙ@“ø€>É€W¼´$å=,ý¿Ç À>cWÇT‡×g$ ﬗh}Ò#knÝW,¦¯Axñ_�6Á9€p¹_ü_2±"]^­pÅ �àƒF”}âüC ÀX™2Q±Üæ°0£­€þJ¤ƒµuü%b#¼k¤VF‚¶ìNÅóËg‘çj’7Y’S¤7øXÆ3î‚®Z -,)>=CmAøT€˜ð+>R.?n]ñ ,.}âkU[ŽùT€ -ºþ}ÅàYê­Ü}¾õÙ�ý£ƒ‹FûíYÿè ¹9H '8Ö‰e€øã`µ¯³¾¬àq/†â�Áá ‡W³!‘:Ïð(dmßÉéšÍ ×`Ì—¸ÊEÅÈóŠA‚§‡.}"r¿É'úl¤‘@åó�­/þ³g}¿U=Q§§Z¡Ê#?îé‹ípÀjÞË4«G¡OõøõYæ�Hm€µYêu¥ä$Â@ËÀ#ˆ‘$(Vµ.™¹¶µ¬ùHWüõuh´xå^Îü_ƒ në³þ^x¹6 àÞ €p¸Áð E o~q€½û§ø('"ë>ÕµòC¦v]õ`À7#J‘’Xù€ÿ®tá Sʉ*–`ñDWHV¤0·ø@]@‰[tQ×h²A|ü£‚ÓK¶z´^Àdµ°²PøþZÃòuJ€Á5€´àúCbZ2² Jé+Vlg8WU¹D’•?V:-A~èð5ì+sþ¡ ]ÀÊ¿¿ø¿F\Z­pƒ€î¯qÄ%"¼îç4Ž„zÏo¶ì¬  zé�#qN·@*W-Wyh‰›¯©JÉ µ´>Ò>§Œç×}®ÌpË!ãTé\ ¸=Ä6ü¿: àɯûè;͸aÁÌÇ-4‹˜@+¦¶¬Yü¶+ÎÝCñûilýüqû_?Ö‘±,-f Æ˜µ›]ñPPñ·ö� ,U4ŒÇ9zê#˜ýÈ,Ý�ë:ãéøþ»fx/€Z”¸#'¡@w¢køLOØ7&€þ•RB<Êk \›p«@Ì�H€�Ï6ì?s€”|)]:SÇKàöCiûâÖ@}ñUÀe_¬?ÕÀ½î->këÁ¯ø´ëè�•ÛzL¿„€Ôž•À'ÏH+ÞêÀ,€ÖÀ@òX·èúÏñ@ ßo^1㎾nXÀCaP£¾……€®ÌøÏö€®ÌXYҀ뙢ÑO; Pç«rÕɵYô¼–ÒVU;õSJ� -"úX@磻ŇjúUú´Y¼âÇ,«uøòÁ´ò|Ì€ ³4_ºbPƒi}t�÷w[ ºbˆö(,‚ÏøºÊù'ûx£›|F­`õØÇ}”yŸæp³ÀŒ;§¯ùðu#çÅXu(ù(sÔ—­ù¨Hüd¢¶/BLn}‚u½€$:ó¶—븉§ü˜@kÐ+Ýìà…ÿÖ}œÅƒëëô~ÿ+눽�¯p<šÔÄ,8~‚àë„87Ñ ³èªô%…åƒu.g\Ù ]™¸@k~Q¢ÁYKªÁ÷uPðÕ]�% €.ʤëáĈo æ¡´€AÜ1E(Çbôç¦¾Ì 2wtÉÄ-®Á"É´kÒRH ŸhH“ȽÏ7Z™IáœÇ7%|�qêÝ®­0û–Æ©Ž÷ªÀú,€´Àº€‘œ CÑ£Ð'ûü³nõHCWf¬ÒºÁàŠÀo©ë7­ �ñv @; dUË]³Ä,Àu À�k€@üè$i·¿æÀC×VÜÚº& ÿ+!|®­` ¶E©ýJÌ>Ò.`† ÀÇ|þ®Y×|.ËÕPR×}Ú…€( âSx»(ו’„Ë5 vˆDºBb"=q‹Eû‰ë|@ÜÁ}ä#ÒOkhó#ÀH'Ÿ8 @—nñ¸i%@51e PCKj4€X°@é’ÐÛó [è>„XqÞZ¨æ<|À)ª «¡ßá*qéW}V€}Tn×}nœÀ:7[(M凮͸ÊCKdßk)èÉðR¬Sé•åk>-©ò¹¢ú}ãue^Ìp×A½¼nH>0r«à¶•_Ò]¤uþp»À¯ZÖf|èÀ›é€§Ct�sè“,¢uº<¾²ÀöëG-’}¶ñ‘Y�:ûû_±àí³„±Yà˜_Ð�öXÎu¾õð7mÉ@r‘�y|oÂ�ÂÅGħ'ÅX„U‚£y"uópÝ’àÚ,€[}~»† àÎFLüÏœ ó[,¾dÀ먋ýu À'ù8ü-ë¬í€ðú+ë´{¤…€Ôå§äOôÅ)€( -èÏUæ`ÉX­øVÖð,Úì“Wæ¯Iÿëî”îG|Öf\ñX³(1,úútAî§Z"ëJq©À7ú\›ð�ÎIÚ´V®Èu®tXÆÌàyº§u ÀÖ:Š�¤iW©žüÿò/Öve¢IEND®B`‚ \ No newline at end of file +¤lr;�rÞM8ö@¹Ð$_°ZxîÏŸŒ 1Æ%]Wƒ„*„C|U°–øðæF ŒUøa,’PÕœ +!¬M¦3_ðõóçÿæÏÜ=ð�ªn}À“€o^¸1ŽŽÄÿr€�+wƒF«´Œñ†QIòî}@øßxîüáÁ  9 +˜P—UsggGUU¨â1*•Z­Ûë÷ƒAÐë�ÃÑh<ŒÆWÀÖB­Øå7ØÒ´Œ–‘µV«µç)€uØ>Ø-­LÞ²,«Ó±x1¿ì»ù¼fiš•×ò»®¸% °÷ܡӯDïù¿ªe„Pˆ?÷#„€ ovÈ}#B‘td%àÓA‘]»$»!@¤9D·„á°A(‚"i€Òiàö¸I@?�½A—@y€4B |^Ù”Ý> M„P$ + Bˆ ýp‹%Ðj3ˆg Æ«‹~BÒKب%”+pK ^]¼¦H…&" �TH.‡»ãél~||||üdødøôëç/|›Á–5€×wÈÿ» +àÇU6n©¬p*F�2s›`ŒSÂr +Â(„P +ƒÁ€.z à‰€@0 ƒîO=`ƒ�`  ù›�  ø»É` èþª{Âò‹ƒüÃ×â�`0‹E£š0•L¥RS~ÿMVeÌl4Bã1j•Z�özÝ^¯?F£þ`<�Ç“ÉtyÖÀjàìúwVÖÊhÙÌ +Í; »ë@³šÍ=KÓòZ>¯åóÚ®–ßÕvww—;µ[‡~}øÿ³ö¿mdYº J ‘6O‘«z9I;¥$eWx3SC5£¸•LG' ‹´v+£;væŠØe¢�KDáĸã²3û�¬º�. ˜Á} “%v–§u¨JA9Ó>T_]õ9²ßüVBÝ~lÌË©ì‡û°#øC’�Y5gÙ–mZ’mí/¾õ­o}+“ÉM˜@<‹ÇcÉÙ™ædrRؤ’©Ü$$žœ >H&S©d*—J%åV®\2™Œ­„MÁ•••¹ ·šKFÓ€7’ɲU/%„Ì$teee5—Z]}ªändäþ¯d<“Ë$W6V2©ÜJ.'w„ll¬ÎîÞMÅ¿®Ü vz4É8(J…VjûÛíxK`dàÍ%@Ayïvú¶N÷·i¥Æ†£Ñx<�F/Gƒ¯ÿi2 øû�åó…½R!_¸WúïÜHü»Tê]Ù 5þ ±àc3 °€=bìÈê½,ø¨ÞÓP¯ÓÍMmyK¹¶pkii‹–•MZ^.×µeeYQXy¨¦h]ºµ´¬,Qí:]Ö–65­¾E­òæò’rKK×7µ­­ÍÍ*Õ´2,SØ,/•«å2�–·Ò[emsiyùÖ²¶¬iե孥ô­ôÂÂB,¶ Ñzµ +”Â@g,3ƒ@pÔ Ï¿bG_½^O‘Y•Æöv£±Ýétöúýáðp8ŸŒN®€ÖD|3ìý§)<(>Xyð`w£ØÚk·ÛŸ·›Í�Ýg{Íf¼¹±ÑÜàó�€·q)è%s [øÉD2�ÅâÉÉs=Ê )€ÌÙ +%€Xø^âò…‰\2•J&’©L&™ËL`%·’›ëÈa€dâFH’ÉñébÀd¸0Œ–‚"X‘»BWVVd ÈêÆªì„À rCðjî;À7—D @Žäw´Êövm»Ó¨hëëZEÎÓ +¥•J…V(¥­ÐŠaPZ¡†^©¹ÖZ×ÃÀpJ+”5h͈F⌊®­RÑ+Z©„Ô Ò`Û°ÝÙï÷†ÃãããャÁ×ÿ<3 ü»o¾ù®5@>_ˆJ€ÂÐxÛ8`âú»‹©¨ �J]¿~=1ÿøgÐh”ŒJÅ FÅ0*ºñШèº^(Öµ�n+…‚²˜N_O§•÷¥ hA¹­”Û‹J¡@? +#“ßS”¥Â+·ebº¢(ÊíÛ×SiE¡rtªð^J.þTEÛ,4­PH)EŽkÝV4M+hZ"�N§ÿ(‹Å”‚¶®iš® +%£ÑÑ+FÍèÔÒFÍ€ ¤ÓØ0j�šTþ÷ûÃÃþp8�‡ÇãÑô¼ âW—{{OÔ"�úwÔ­Öîî“)Lµÿæ<‹í=ÉŠ¼¹±ûìÙŠÍ� >¹óòöGo¿±üO$’Éxâär¹d<�ÇcQìWHö²�½¿Ô¤ˆhAT D‰�©\&@øü—±¼Éh-@*'s½Ãqà&ÿL.“É­äVW¢�«7"HF�¹‘Le2w7VCîp#“L®L`U6’ñD"þ6øæß.ª€Ò üÿ�É¨ÐÆöþ~‡m× £PÛÞnl�Æök�Fc»±]ÛfÛÒ0²½ÝÙî4jÛÛ¬³½]kHëØv­±ýÃFc{»1ùåíFg{¿±½ÍØvc»Ö¨m4lP3j�ÎÁA¿aÔŒF§Óé¼ ¾þ/ÿõ·ÿ2³ø;@^>ï/h¿O ñæNàõÔââ<Äæ¬À–ÅØÃÀ0¨•]£B%4j››eÙPE[Ò4�jÚòf™š››e¹»KÓÊåòf¹úmi²C± hšv]{oI{oIÓ65º¹Y^¤š¦-iÊ’”–ËÚV½š¶¹YÖÊeM£[eZÞLi7ÓéXìZ,­È(5 J fc¬!a뀢(Š®Õj�Æv‡í÷ûýƒýƒáðXòÿ“áÉè� Ëç·h{{aßäÅbñÁJ±õ4lJ!@Þýæ“'Ožüõä|Ñþ¼Y,>Ý“"`‘7‹»Ïžýe³Ùj=i‹œÏÝýâ \Íf¬ÿW€@"�OÖÌhÉðŸ¸âñÈò�%’ò ¾»ØÊ44xr$“™dòF&,äbÀLj&,€•d<ˬ®®æ$äVV’7’©Lfec%“ËD%ÀÊ ¸›Ë­¦âñD2ñVˆƒÈ�[² 0€Z­V«(Fcÿðà ßhl7�ýÎþ~{¿ÓÙïtÂvpg¿¿ßßß?èoïwö÷ƒýþÁ~§³½Ïö÷÷·;ûûÛòeA¿ßÙßïôû�~g¿¿¿ßßïìGëæ·Y§³¿Ý¨moï÷ö5]7jµZíè?F0³ø;@þÝwóRÈÿa]€·–×S©i0T g�€;lg‡@ J+TŽÞ1=äFšF©rssQQÞSº TÛÜ*kå2Ý¢eZ­V·ª”Òjµ\-3º¹LÃ�?ùð^¤Ëš¶¤iš¦mmRz›Ê_«Vi¹Z¥årU¡e­¼U.—«eZ¥[´LÓš¢¤Ó ±ëKá �!€R`ÐgP£ë1X\\T4ݨ�mÖé÷÷úûÃÃáñáðøødx2_]<}ZŒO2Ág)À<„‰ ¼X,>P‹­§³ àÉ“I2ðîÓ3E2€Vk·Y,6‹|îÎç0 ø6óOü*ˆÇ§€éÏ'fjÙLNŠùgMÊÞ }ÅØŠéåwo€ —ÉIZ¿º²1€d,\þ�Œ4€Ì�d2“YÙXÍä&ÀJ¤È�·š‹Ç¾…ÌL|3“ ôꟿ‚ *•JE[¯4ØÁááA_^þþÁàð ¸Ø?<<ôûÃÃÃÃÃýáðð ppp0<8îöûû‡ýþáAÿ ßïöûýþAÿ ß?8èôú‡ýýþáa°ßï÷ûýý~Ðïìoš¦†aýúÕ´ 8] ðÍ·Þÿwóù{…Â@þ¿›�š¯ÇsÀv,‹Öj(Õ)5(�–©®éTÓèæÒ-º¨(¥e t³L«å­*Z¦4Z0LåNððé¿.ÃB颦iëmsS/Ó2¥·aS£”nAu«\5«Õ*ܦ››-—·êÕjµ^¦Uz[SdºoZ«„»FdÖ+ƒ†lö‹Ú€•J­Ö€Æö>;è÷ûýƒÃÃãáhx|||"³Ãsbß +íbè,‹Å•bëéî“'€ä ½×n·Û­b±¹±±ûìÙ“fóéÓ]ÉŠE^,nLotšÍf³ùVó_æ"L 1­B3@� +iATÿÇ#š�Åc±¹wŸ‰ÍìèX™€»«©/p"2™ $9ÀÊJwWW“±d2·ººš‹‡ § s««�I®¼ÿ~TÜ C©·ÀŠ¿ `{{{»Ñ0*°¿xxpØïî�‡'ÇÇÃáñðX‡ÇÃþðdxxx<J¹èd8<<勇LJÇÃápx|0<‘’Òð |ýáðððð`xxxpxxpÐïïwÀ¶···�ŽŽŽþñ¿Fq ¿‹$€oÌçß�0€?¼ ð •Zœ‰Y°Ã˜Å20(†´F £¡SMÒJ7—ÒŠ¢(Z™ÒêV¹¼Yý ^¥$¨VMÓ¬­hò:ëšF5º©kt‘¾ÍòRZ¦¦ÑêÇUÓ¬RjVÍjnÓ2ݬ–å;©–)ÐÛÒŠ. €Ü†ƒ|Ìv,‹™pûömE§µFㇵmÖÙúýÃÃáááñèäx|zr,ÓšÃó�¸ž¶÷öÚÍÅÙ ½;Ó|ò¤ù¤ùäÉ“f³¹û×3çó 5€Å��bëÙ³ÝbÈÂ@±¸! Å�fsƒsÎùoò�æ…Ü�‹'3Ç + 1÷Œ�žý‘Ö/gœ’³õ±09 LëÉ%cs«~fàÎ]ÙHÉbá†4¥rÉT*—ˤ& ·ººrwuu%“a�k2«3 “¼»±±º"K€ÕÕ\n5w#öm"àœèw¿ —ýöÕדPÐãag]ï쇇Ãááápxr|||2<�œ G''Ç£“Ñh4<9>>�G£áÉñp4:�$�ONNއÇ''‡ÇÇ£ÑP>GF£“ÑÉáÉÉÉèdt||,ãfŽ‡Ã“ãƒmI)úý~ÿ«_ýêWÿ4#ün2 üÍ·ä¿ûîŒð‡uÞB&³Sp=‹M‚Áàc=Ø¢oša0yùªtù–²¨(ÚVµZ­ÒMú±iÖ«ÀªU ¦Y­›¦\2ÐiY£”þ@® §?�ËÃuZتÒ2ÍGCý@?¨š&€Y¨V)5«ÕjݬV©FË[·5MQÓéØË0` +```2€¦eY2èöíÛŠfÐZ­±ÝØÞï÷ûÃááñèøx|r2�Çß +³@|:0ÜÞÛÛkJð"DãO¢5!³¼á‹)‹ŧÏþß­b³õt·Y,676¤ð·!ßïF“ó&or.—6g 1¿ÙãHÄñé@àL’þÙ›€ã† @þbF>Ì3±ÜÊJN�Vr+³ ·š“3Da9‘ÿd2—‹Ü„«+«+wWÃ8€œ|#~#'s?37’ÉdnuãA&™™€ÜVîæâßß|sq ð_ÿõ_~ûêÿœvNö Zcÿðx8<<�O†ÃáÉñèääx<ŸŒ‡''ÃÑh<�NByx8:�NNF£“ÑñÉÉÉñÉÉh4�F'ã“““£cùâÑht|rr2IMéd4:99ùúäðx8<Üoì‡`3<üú믿þ/¯ÃÍÀ³KÁÞJR!È.@þî¼®ÿ»Ô»‹·gK€ð¥ÓÕ&”€š!ï�VßÕ²¢-.•«å-yÓå3ÿª¦ù±i~ ÕjäfA-DJé»í„êÖVµÀª`šUÓ„*ÕÌOL“ª°cšuÓ„*¥UZ]¤š¦¤Óé?R(˜J?2Lfݬ ¬žµÃ3CP«H'ðþþþþA )ÝÉÉh<�Nϯ€ÖÓbâ*˜2€Vû‹½½'¤È›Íf±È#x2 »W@qšüé³g-i¼¸Ql6›œ7‹Myå¹.Ã&0É+¾2Éd&žHDÛMã3¹ÆÉ™f@"‘H¤&šÀäþ'“QûP®FL&“Ò\tE �H¦2¹\îŽ\ïÀ�¤t&3ɤÜH8¯ä’ñÜÝÜêêj&>Ó��ËL4€»«‘°²ººr÷»0€ ã¿ U€×¿îÿ"x ‡ÃáÁ°£(°0ކ''ò™=:=�ÇãÑx,¿(Æç§ãñéñxt2>�G£ÓÑh|:>�ÎFãÑèôüìl<>�G£ñéè||v:�NGããñéød<:�ǧ?ŽGÃýZg0úý~ÿ׿þõè¿üæ_æ—‚|[ P>5Ë +` ñ6àú�ÅÅ9 Z‡#Zmšf‰…!À˜&cA€Õà#0ÁªPE«–ËÕjªU +Õªe²À4L¨~òg #û˜nJÒnT¡^Z E§Àê¦ ¦iÖó“`½n˜Õê'¦YJ·¶Xžjš¢¤Ó±% +¦É‚¾üÄLf2fÖÝ©‡ÂcŒM öÃN¿¿pÐïžœ‡£ÓÑh4Ÿ½ $¢Í WÀÓöçŸïíFÀÆ•ð$r´gû€Å• <(n[Ïþ×v“G%@±ÙäM.W†É¼ æF³¹±Î CˆÏ<ܯ�L2™§c±iko:Öþ(5%Óû‹ÅåÚ€d,�OÞu,Š˜–‰d&™KM@&l>dVg@˜(0+döwn5€÷¬ÌÀûPº±D"ñ­F 0B€ÿß?ƒÁ ßï÷¶•õÚþÁÁðxtr2:99ŸŽÇãñxtzz~zz:ŸŽÇ§§§çãóñéx<�ÆãÑx<���Nǧç£ñéøü||>Ÿžž�NÇ£óÓÓñ©|§ãñùÙh4�OÇ£ÑÉñèää`xЩ5ú‡rÚäÕ«W¯~ó/3MÀIàͰøî„þoÌ\¿~=vý->€y˜ E¡P( +kë¥R¾tï^á^á^I¯èz©T*è¥B¡P¸W(¬—J…ÅërÀâíÛ· …|>Ÿ_/ôõÒz¡�/ +…B>_(ôB!_Èçóùº¾^( +…wåÈÖ× …BáN©0=ù|A/åKë¥õè‡ù|>_øw·¯_�ÅbiM/ +¥uÝ(È¿�’®— +¥‡z©T*­—äQEÑujÔ�ýþA¿xxx||rr2:�GãS™ÓpE Ð~�œ2€ø• àóvÔx\ajïµÕø”›ÅÖ³ÿõ‹]¾+ Ùlòf³8sß‹!ð&o69—J`|zÞ ‰xLFLwÎЀäüÛSþý¦py@l + *ÉpïàªÜ3&ƒG¦ D€ä�•YXÉ­æB `c5—\‘‰$É»3 ô%¿\Üð¯¯ŽŽŽŽŽ:�Ng¿ßPÊúÃãÑñp4�ǧgãÓóóñËñùø||zz>Ÿ�Ÿž¿<=�Æ£ó³ñÙéùùøüüt4>=?;??=ŸËeŸ§ãÑøüìôt|~~&ßéùùx|)ËÇÇLJƱÝß?èlooo›¿ýío§€h)ÐŒ€yÕýO-NÀŒè˜¸þ]‡�®Ïä‡Ê®f@°�Ù#€Á‹k°GAéˆc]Ò´å*¥f +Û±˜ôØ‹ `&Ì*ý€2.l ø˜õz�Å@®èÁ#`ÀLÆspʵÃ=ëE˜–Ü�øQ�¥P¥šv3�NÀ 7x Ûþº6`Œ¿j˜Ì„�ŽÅXÀ^È@[¯ÐÚÃFc{¿³p8ž �OF'ÃñéÙéx|>=sÀd5Xü ðt¯½×æE¹$€æ \élïµÕ̃§{ív«ÝÚ(›ÅÖÿül¯@s£ÙÜhn4y³¹!wŽ4›¼(‰ÀäðÙû�ÇãÉ«A@ª€Óå7à¤/0UÂû‹Åg~C|v†èjP&ÉL�È�|#šàMfr¹IÀÊÝYú¯$“+9¹ ,–‘�™@¤dVW#pbˆ'±ÄÊÛ�€³óxýåÑÑÑvc{{{»SSÖ�Fÿp8<>ŸŒF§§çg§ggáÀÞÙùÙùéÙùùÙÙùéh4:�ÏOÇgò^�N_žŒ_ŽÇgç§£³Ñéùyø‹gçã³—gç§çã³ñøìüüt4>�G£““““ƒNÇ€Îö~g»ÑhÔûÛ¹DðIýÿÍ¿½‰\O/.^b`àm°8×LLѲ,Ë*PÀdŒ1С΂ºÙ³˜ õ ´&Ðåå(˜ l‡™¦i‚iY (…*˜Ô …z>¢Á ÜTl�Ö‹„¾|ÄÀÜaÌÜÙ1MË2ëUJÀÔu�Rª•5åfúZŠ˜`þ…e°ÁCŒ5€±Æ€1ƘÔj5E‘qµÆöþþ~ÿ`xx؇£““Ñxtzz~6s.@ìmÐj·÷>oÊ`C¶ç`6üéÓvø­ýEKͨ!I±YÜýÙ³g(Î_uÞäœó™57šÍfüòI^�h°wî_:1ëˆä€)ÿŸÁ‹X,1/!¾2©T*w7·š»q#™‹‚%Èä’™\.9£„Úß�äj.—[]IN vVsÒ +œÊdr«R\]‘ów“ñXü[À7—T€ý×yýŸk?¬ý°VÛÖ•J£?‡G‡''ãñøôìôììüìt|z~6ŸŸŸ¾<Ÿžž�OÏNOOÃ§Äø|<�ÎFggãó³Ó³óñÙéùùÙÙË—gggç/ÏÏÇçççg§gãÓ³ÑÙùÙéèx<އ‡‡‡ýý†Qc�µZmk–D5À¿½Å´xýz:•š×þ°Y€Dâ­Ã@J€ˆAä)�ÞR€‚i+Œ=‚ º¬,k›r3(+˜&3Yx¥M¨Ò(P”†=:“‚Ý”¯ª„¿%”ò3”ñL  +@?JšF©V–"@І¯Ô#`¬ÁXÀL€:c¦ †¡(ʺV1jÛÛl¿ß?è ‡Ãé8=ŸI)à +'à›Àß´ÿ¦ý7í¶Ìýü‰ì†>€ÖîÜý�Ý ÖnµÚ­V»ÝþbW]Y™2€�bëgÏž=mîîî6‹Í"çÑ•M†|ò3¼þ/~å¹1ÉdRÖ/—ÿµçw�„�ûøE¬ˆÅg ñFˆWs“D�d2)@&“IN½€rrÐJ.·²š»9Édé�É…©À««+««wå Q,žˆ%B7Ñwb¡èõ`0øòðððpxxظ½¨×:û‡ÃÃáÉp4�Fggg§§ã“ñÙùè||~þò|<�ž��ž�ž��Ççgçç‘Jx:ŸŸ¾�GÇÇ£áp8ìïw£Ö988è÷ûÏç`f-à7Q¤éLçom-Ÿ_üw×Ó‹©ù.À< ð¶qàÅKÀõYX /.3 ÄÀª›ÖB`u«ª)Ë››eJ·ªÀ +Ì4™¦Éêu¨›!nL—€-Êef>hŒ ˜YŸŽÖŽY¯›uÓœüTµ:Ði˜¾¬¤Ó)�Ê¿5€£ÆcŒlÇV—‹Ð’(­Ô¶·�Îà°?<<>>ŽFÃÑèôt<>?¿É +œ #A/ÀOž¶$hµÛÿÏ/v‹ávÐbq…·~r&KÁ[OÛòÛ<I‘[Ïž=k7ŸH��¿ÉU�žüÓqþ&ˆÇã7nÌŽýÈŸ›»Ó³ ­;L„÷ÿÂõŸ€_è%Îår±Ù&@.‹ÅQà×ÝÕÕd2î‰'¡d&“JF™RÈM�}«+Éx,9VïfÂ�™Üêƒ „@,–ˆ%¿¾¹8ô/¯¿ürpxvvvvöòÕ¡’ÖŒm‰ÇÃÑñÉÉx$5û¯Ç£Óñøì|$‹€ñéH*{çãÓ±D€Ó³ñùËó³“ñÙøt||<�ÏÏ^žŸŽOOGçç§§R <�Æ'LJGÃÃ~¿5­R9<{õòììììŸ~ûÛ‰õCóäóï¾[¸—Ï/^¿¾øî<¸÷wÞ ¶8oša½^o°áTÔ>*>�%œŒNF'ÇÇ'ãñééh4:>9� �GãÓñød4:9žœ�ÆãÑéh<<9> �OÆ£Ñèt4: ‚Û®UÖkûã—/_¿zõêÕ« `Òœ×/ÃÁŸwßÍç%H]Ðòxàí"`êª.@,–Ïçóù’¾^*éz¡P*Ý»WºWÒõJ¥’/ÉÜM]¿§R×åÇz7Ÿ/ä×ïÖ×õµR!¯PÈçK…BéÞ½Âz¡°¾^*”îî +…BI¯P½RÒK¥’^*•ŒR©�Ïç ùB!ŸÏî•J}½¤ëòÏ”Ïß+¬ËVBþöíÛ‹©ë±Øõ½RI§z%¯ë¥Ò‡¥’®¯éz©�/Ý+îåó…Ò½R)*Û¬³¿/IàÉèd4�Fã³Ó—ãó7Àƒ ˜k¶Z­V[B@»ÝÞ“À‹ÅbQm¶/”òò_ÐÚ¹²’  XÜhŸ>{¶·×jî>ÙxÀ/\÷y>ñt÷énëiûéÓøÛO2qãFR’ÿøÕÿà2'0¹€çpB^þh‚HZ‚©)D]€�„ûCr««™D&Œ'WVr¹L*“ÊdRQ`2N$@nuu%·Y�%d’É\*™[ÝX½;€÷W“ó°úí à¿EÀ—_Êûÿê7¯Ž ‹‹…ŠQ«Ac»Óï÷އ£Ñá¡ìÔ ��Ç£áptrx8<<ì�G£“áðððpxÐ?<�ãcÃáð`ŸŒG£“ñááðøð°ßŸŸÈ�“ýíÎöv£f¬+Ûç¯^¿–ð_{UØ7Q Ï ‚ €òÀºŒ ‚NÁQ?Ì`ŒAÐ;ê}݃à¹Þ‚^` ‚GŒ5X}SÓÊ”*iMÓÞÓÒÊ­ôÂÅ/‡4£±Àt]×@£š’^¼™¾™^XXXXËçó¿ +¬^ϲv‚ÀÚ1cÌúå?|õâÃÁ'Œ}i=ð5S”eMÓèVÝ +˜iÖÙ ]Öô,¶ÜcfY–i2Æv€1ƬދøjÐè10ëù_�ª¦iYŒ™Œuð4ÀbŒÑõ�iî˜[UZÞ,+i­Î,ë—ÿðüªôœ±�žõ¼÷¥Ñc9‘±^¯×{¯P(èㇰ½ßÙ?Ø?�‡ÇÒíuvzvvzu@n–�°¹Å ­§“È�§OÛá4@±¸Q|pž4[»»»»ÿÓÿ´»»»û´ýTê†íö“•læÉퟴÂ6àÓgÏööž6wŸleÉß”Ò_(Jüxú´ÕÚmíJ}2þ­çFèå�¿=JIÀôúG—¶Ÿ�Å" +0�âq™ß“ +C�2‘94eRÉLjš +œ‹@f†¯ärÉx<€ŒTÞÞ�@Öw“‰x"OÞ]]}ÿÁêû®D€o¾¹¸$X2€¨Ì;PJµ‚¢W*FÍh4¶÷Oûý~g»ÖØÞît†'Ããa{›u¶;lp8öÙv‡±íNg¿8žv�ýýÆöööÁñáññÁ~g_Ž›O†ýÎv¸{B×µÊþéx4 +¿Æþ˼xÀ¤6´tz‰ê t¼ ¿¼iÕ¹3°X¨�³ç¥G¬P•ö:ªý@.îÒmñ¶’þÞ÷Òék ×.Åøitº*uYÎã§Óé…ØBza!ö?–þÇÒÌ?ïY&c¦ÅêPfZ¿üåQ‰±:0˲¬J )Ц-k”Ò­­ª¬åY ƒV˜i²£0-ˬ˜¦ P7MëïùcìQÝ´,‹1�¶âš4 YfXÈPJ© ¦ä×ÍjÕ4i¹¼¹¬)iêì“Þ/¿zQb¬�eY½J‚1Ù·�@F£ÓÙîô¥™s4�OÏÎß䘀øÜ,ÀLfÐÓv{¯=Þ\báíßÝÝmµ[ZíæÊJ~¶÷³VswW@Hó7š— ?m=m=}ú� O&ã±x<~u0-"ÏïÌåŸÞþxÈâ‰+ —.ayÞÏÅåò)ä’©\*j¬¬®¬®ä¤«/¾{#OäVW¦°ñþû«¹L.s#™ËÌ0€»¡(™L¤ÉUY›ð«­KvSÖ–”›i…˜Ö?ôX lÀØÎ+¨| u*g +ZE§�ÆööþþþÁááÑPŽsŒeçå›J€Éø„$®€V«½×n‹EéὊÈó?íî¶ÚíV[þ×Ìf’òí�Å�âÓŸýlïÙÓæ |w7*3ž¶þpH&‰X<ÝãYßObV �Ë‚eBèd`$ÿM²BS©T*•Š­\€ÌdóWîÆ ¬È€\fZ¬ædõ/@&·²’‹ÀÊ\ �‘mÀdnõý!¸+K€d"‘J¤VWßÿýÕVW¬^]Ûq´?å‰�è¹�…˜†>ŸvÖ …J­Áö†ÃýŠÞ蟌NÏ_¾<ùòüô¤f4Æ/_žŸŸŸ¿zùòåh»f쟞¿<{yþòåË—¯N¶ZçT.û;?ê•Ze}[†þ¾<h¥qx2û ¨hz¥s8<>9™‰ž²_„+ÂMfõ,³À¤¬_1«Š¢,É$�jx‹Ù½ `P +`Ö+Â.¿Åäç&ûóìÑ×�3ŒQ:%9 j‚Y{Á¾ÔJi¹J5E  g%€:3cì!ƒf“ÌEY×éÛ�N¿xp0GÃãÑøôìôüôüìüÍ vq·æ•ð Xl7Þ +»»»­Ÿ´Z?iý¤ÕúI»™Y‰e= �€{?Û{Ön6›Åb³Yl>}Úz;´Z­o¿þ²´�ÇbQäŸñI&âqéõ ü‘O H梕á“ ‹Å©TNÀŠ”g \xw5w#�]€L ˜‹@N2€hÝ·€¸€\Vs™\&™Ì%“¹Õ÷çÀjÈŸ{ÿýVW=‘;ŽC8çü³n·+@pÎùxòãÑx<<ÞÖjûÛ�FgÿàxØÑ4œž¿|ùúåëßþæõ˱Q©œ¿üÍËßþö7¯_¿~5jT´ýÓׯ_ýæõùëW/_Ž·+ÚÁùË—/óúõË×úA•ýW/óú7/_¾1ŒÚ~ÿ`ØÑ4m|öòìå«ß¼zõú7'5�œ¿~ýêõ«×¯_¿|=nT*ûç/_¿~ùÛW¿yõúÕx›jû§¯_É + ªt^þæõëW¯_Ÿ¿jŠÞ¶ ½:Ú>8Ÿ�ÏÏgŦÓ7µÓs'€k±Xø3·nݼ%)6ÿÒôµ……k7c QLw,¶[¦”jÚ²¦É0ãt:}3­Ü¼öÆý×.ïæˆÅbjÆ Æ3Mö|‡1PgŒõê¬2f ªËв¤QZ…ê :ù’®÷cÁc&@ݲzŒ1u“1ëëúÀxÄäí˜eš2nÀf†" #X+•ô†ešìÃÖ¥´º¹¬Ü\`Œõ úDv˜õ°gš&PC2£É4 ñÃíëlŽ‡Ç¡0>}ùòì�mÀÄÕ ài+Z €Fø\êüeÍVsö9Þlíf‹ÒIÔT‹ÅÝg{{Ïöv›Íb‘óæç?ûÙ³¹³7w~öì­Zq“aMŸéæÅcrEXTñG°X,•ÊÌÚåjî\*•’óBñx<‘Ë„Û�§2`ÓÅ_7’€ìôË�Üd@Š€+ wcÀ�«@X}°ê á‹À ¸Î,xý8îèóÐ?½~3€þÙËׯ_þöuëÁéëW¯BXoРèWÀÙ<œ^bß|óoßü[úÖ­[·nÝJßJß¼™¾•ŽžÖ×Ò!%O§Óé›étz!½° ·á¤ÒéôµôÂÍ…ôµ%…é/,\»¶KSeYÓÂ]Ý‹é¹•ë «5®Éµ[—÷ù†aô,fÖ™XŒí0¶Ã«[Œ•‚)¾1}PÕ–5ÎÔM�~ Àø°Á Ë4ÁŽiÖ�ÖNt7M6€Ÿ7˜išÌ²X§¾ÃLÆ€@˜ Œ#¶Öد³^`™¦eX&T·ª´ZÖ–”´fšŒ™%Ƙɞ[Ö@±ÃLfÔ$®ÈPàZ£ÖØÞß?8<8<�NÆ£ÓÑéù¹tt_1 0ë|3<ÝûOOÔÅ ^,òjs^|2€'OZOZssA-U�`cx±Ø|òÅn~of“'ýdJ0–ˆ†Bª?Ù<ùcÉU;ÒÕ�0!Lêò…©d2•’"àE§}/•RˆX@.·²*=@á¦�Hxx#bw'Ó€©DêîêƒÕ««V…'„ðçøÙ§ðWÝ®í9^€ÇÞŽ:Zg|BÎÀù˳—¯^_£íJ¥öòÕ Ì1€~óû0€Óó‹À7ÿöÍ7‹·oߎöŠß¾­(JX¯_O‡{ ÓJ:�V‰‹‹‹Š¦ÜTþø–í"ž…ôÂÂBZQ–4å;mï�6}EÂÜÖŸµµµµÚÊ®ëÃÐõ’^ÑKúÊþ°òŽ®hÔ¨A�µJ!�^\Ì +ë…B©¤—Jz塞7>Ôu½RÙ®è´ò*zE/éÆC]/•t]/º®—t]×+¥?¨è%ªë2¤]ºŽJº®X2Jº®W*u]×õµŠ®¯ +ëeñz*¶X*ézE×�¼®W Ã0*óz%z¥’®¨ëŠ¢hºaÔ¶¬³px0<9�NÆ£ñéøôôììôåÙàA"ˆ{ ´ööž¬€i F‚Ékßl¶æûíŸ'PäÅ'4‹¼¸»÷Æ»ÿ6páò‡Ÿs\V1a£_6ô'€�ùÄb±\jâS&piHšø.0Y2¬\,äp&R s¡ (7Ó\¹�'®b¹Pxð`žܸ!Àû¬®âM`ž\ �}œ–ÀþÛÀv¥²v¹˜cçßRüó8=ÿo3kAd  \8‹š–ŽÅä]—“ +J!µ¸¨(‹¼¸¸¨,*…?Vo..*‹‹‹Êâ÷Ré´²´|]I§¿—^H§o*WVüWÀâÍ›i%½‹ÅÒ ó�BÆcÁ €Fƒ±4XÐéŒ=t X#Œ ss« +”V €GÁ€ z½_AïçÖ``3³:  Æ€€u¶�±Ÿ³€1Ì ‚àkãE0ÆÆ‚Aô¿b¡ÑXôô˜Å€êÕ +J:­1Æ‚`-�Æ‚clô¯z Æ:Á ‚BAQ*4dýƒƒãá0Ì=;?Ÿ½<{CàiQV¿‰ø…6à<ØkªÔb±ÈçŒ@Of4€'Àn«Ý.ªí§!hŸüloïg{»¼Ù|°Q|ú³ÿåg{o9W0€«/¿œì�ÅcÒÎ?ëý�9ÉÄt¿Oæ’K(Ÿß)¦_Q¬äVV33 `¹ät8Ú)0Ѿ�¬F ´…]€»«ïo<$€î,„€/„ë8@øè©¼ëù6 +ä.çÜ&œ#Ú¶¯:ˆ¶ÀW¿yõòj¸ªx=¿8=�™–%€vñ(Š’¾»¥,k𶬕µÍÍrYÓèbA£Q¶þÒ²¦-+KRº_^VE)—ÓÕô­›Š,ÒRÌ“»¹ßxn-/+KËKŠ¢ÅÒéôÂB,½0•LÆØÇð‘ ½:”è?�.  Ç L·ª›ݪR0Á¬›ìW¥ +�JÔß Ô †A)|D)˜¦e2fõXððEØ+€ºiBÝ Ø‘eÖMSÎ –dÿcSÓ4åÖÍtZ¡5À0fY�Õë™À{Ñcr戱ºi*Š¢U*F£±Ýé÷÷2 l4�dðå[¬À±°;þFhíí5w›jQ.¹ †%@óØmµžÎ0€fñɳ½½½½Ýb“?(Ÿ>Û{ûùâ‹/¾ø"ÿ-—?Jú�I¸PÅÌ­•±RöËÌû¢8äd” ¯pNZ�ç4€»ïç’S•™\¸èR �›/ro‰¹d"‘ìv]W8Žû#r‘ضÍÑ€p.3€)àexŒèÚ¶ª�œûÑEïm%À4í;i§§§ƒiËòDß//+Ц¤cÊ–¶¤iÚ&Õ6)Õ4�.Rí=EQd�_Êýïiš¶´¬hÚÒòRy+Š¢¤åߛ酅k±ïÅÒoÝå©hÊ’¶¬(ÊRLI§Óß»–^˜jr²7”çh ø€RZ{8�B»LßJËu:ãV¨³ ²c±ºiP +_ë3 ~ +”VhР“N¢Ì´Œÿ½Ju“5zŒÕ3(ÛÑP ´LËš¢(ék +¥”²,ƬÀ²v0öÕ/Íi¾S”ºV©Õ éÝ88Ÿœ�Ç£ÑéùùÙÙù«—oò$®ys[­öÓÖÓVëó/ší¦J¨W9w[?þñ�CY`º%h·ÕjÕvk»ÏööööZMþ`ãM0ßX[Ë¿íòOÖ‚ÄfÄþé#?~‰Ä9éôÉÍ@"‹�Éb�•¨8_¬äK\fá`ßL °2ãxsàÆ| p×qœOmD´ín×ý‘+„ø‘ÀcÁ9~&‡Û6爤۵=qÌ0gÐW$� xŽÇÑ&Ä÷]×sà;1€+àtvà›uíª£Äb·ÒŠ¢iÚ&­n–7µ2¥‹T{¯ ¼tS+onj›6eÛO£©¶¤(aàÚB,»™~P´²²¬(Š¢]WÒ©t:}saêž¶Õëak€VŒ‡c3fí0+èõz@«uZÖ§ùÜfϰ,¦i}õÜ4ø8‚JuF£v³,«°Ú‹ç–D +u0�Ao‡™&c½€™=�Q¦¨¶¬¤Ó +ý€VŒ‡ì³,Æ‚Þóç=Æþë/-34ÕS¥ éF£¶½¿½ß?�ë@Ç'ãñh|~þòåù˳© œÙoµÛ­§30¿ µÛj·Û²+ßjïµöZTõÁr©hî¶®LÚmí6‹O[»!lì>ûÙÞÞ^kccãA±Ù~ö–‹žü�ü;ïäßpùÓPÀÄTðŸyòÏBÔçO¤r)9Ù??)�ŒÅâ±ø ä¢NàR‘0ßÈdRÉd*—Ë„ ·¶W¿C ¢ãB"—`w»?r…®KˆãyBøÂæø™c;\2ÒíÚ¾p\DZßÈæÑW—Øѵm2eÂñÐ!ÄüØu}ß·mDDü¶.Àw,ÎÏOÏfÀ—S@zqiYÛÔ(Ý¢›t“Ò­Eiؑ際›››š®i¥ò5Z™.jš¦,--)Ê-åæÍtú{iåúÍôÛ`IÓ$fÐë5–ÓéôÂ%0™Ìï1 JA?b&³äP�eYfPÝÚ¢t‹†EÔÆL0ëŸôv{¡Kî_…0¨F¥—)Ìÿ0w³¬ Ò ˜´ñË&àŽñµi«³žµc™ëL:¢5J5åæ­´B)¥ðaNK2 ¾²fæ  (šœltúNNF£“ñ¹Ìw{5cj·CÃ^a=Ñ< €ö³ÖUUU2)ž4Ã`ÀY>°;š­šÍb+dͼùų·]}yÞ¹sçÎ�;ù+.ÿÔÆŸJÍ.›ó^x¹¼ê©\.•”zÞ„$C!Ü!šLÆr˜€ÌÕ]€\&™J¦r©h^pR¬|{ —L"v»ÂuÑq!ˆ¶í:\×q®䈄K€Ü¶‘#Ú‚#w‘ „;œDa#çrÂÚÜSyÈ> €2€ObO€£‹òø>Gü¿£œK +=ÿ MôNÄ–7i¹*ã¶)ÝÉSMÓèÖôwhÚ&¥´JËe TÓ`q"!Ü’}ƒt5¥¤Óé…k WÚ¦¦-kËK +\/¤•túÖ­›ét$6=z€Y�Œº5`†lçK€e+W«Õ­©È|Q², ˜ùü/,‹ÕטY}”R¶ruó“Æv˜eü²X¦ìà�ñcµ�¼Û=˲Ø: ‡œÊååeåVZ¡|%0kgDzXðeO†„1Æ ^—NÀmÈùïƒÃápt2>�žŽGã³³—ç/Ï/ÀÓ§íÈ9ég4€ÝV+ÑyÚjµ?ß{Ö*ªªº¢N@O®€'¡°ÛjµŸ<(N YÜP‹¾xë¹sç�;wÖÖîܹpùç"AgJý¹Í€óR@2,b‰D.ªr‘Ÿü®œÜ–тРÀå.@&“Éä’É ]€ÜÊÛ»®‹‘œ/„‹ˆ!@›‡ Àý‘+„ëâ~&l•Û6¢kþ#W$*Q³ˆ(� ­ª9çÜF[%„s‚‘Bˆzßæžç °?îgŸBªŽ/Ð÷Ïñ' e…!ïÿcŸ;Žã ¢#¾Sà²xz~z1zåÑ5M¹»¥,o–储V«4X¬h¬^ †ÒMJ·äþ=J)Ý4Ci@™ÔJLQ¤xíJ€¶¹¹©i›Ú2K)iEY^VnÝ àZ,L×-麾!ÿW3uý¡ñð¡^Ñ+…EE‘á½zéÞz©¤ë®†!;r•оVÊë…’.‡ÿïJ¥õBaÝ(QCöu]×+º¾fÔ¨®ëòCJº^z(g´¨^©èù’ .Ü^\\L]�¥ ¥’®‡¦bè+ºþP/5 V Œ¥Ri}}½ ÑZm{;�ÓÇ'ÇÇããÑèôìô||þòåËW“Ón?m·ÃÉýÖƒädFîÂ0�œê‹àg!¨’È}€²Ømy‘o4ùŸ(ÍÝÝ]™Þjµwl4ò¿Ýäj±¹÷ì[®ÿkïܹóÎ�µµ;wÞÙ~óퟹë±äÌ2° �� @”ð™‰2�Â)�\2@¸dÎ ˜ËåVB#PnÞ ˜LM£.ÀŒp± @ˆ�hÛ.Ú„?AþYWH + œ\´ín÷G?r…纜8Äã�ÛÙO]$Üý Iô]ÿq…À®°mb#·9wDV%D%„UÍb—{ÜáÑ#¶mÛä¾JÉ +¿ëùžã9]’ñæúQ >ÁÇ�}îÇù�ˆ玃¾ïÿ^Àùùùùéùéé7o¹ÿ”V4%S–4º.تnQÊnWt�U-¨ÖëU¨J&° ! LË,¿%-ÀKKKKR +TBfÿ&Ð&-Ë1 z]Q5eYQn¥Ó ±ØµX¬Ñh4ÀÆX‡± ~õ�°Æ¯Õ{Ñ{qôâhGƒŽöqµÊÀ0ë,x°/�/Žž³ì :õ ÷e‰A‡1ÖØf,°‚3MÆØÀú2ƒÞ€Y,8jü^ôž1Æv~Þ`Œ1Ö^ °/Ù¯cƒ^¥CÙ6PJumó½›0X/пôŽGGƒ£�õ|0è/zÖ°€, ëÚºV¡F­Æ¶ûû‡ÃããããñÉh4>;;;?ŸOïÿ«§ó0™‘›’y`!´?ß{ZTU5»²¢>i·vŸì6Ãu`ÍV«ÕÜØ(676øFqFœ€b‘[?ÛÛÛ{Önnw¿>_»�w¶ÙåÛ?Ù,Ã>cr;x"9M O*ÚfŸJûoJŽ$ãs�K¦RÉLT\èÌÎdfKy.•—»9ä¹CÈg6ڶ뺄säŸu»ÎØ.¢m“nWªˆ®‹HáY‡�P&pUÂÎá£ëvmÁÑóÜ¿õÿ¶û·Â÷]÷…ç!z¢Ë9'ˆ]Ä®C\!ºˆŽðy– ·ÛÜñ}g +@È„ã¢ë8œ;.ú¾ï Ïëv¿DoŸýîwo¾ÿ•–5J«[U€­*T)e‹”RMÓ¬Vª”Ò²N©YÝܤ”ÒÍ2…|ÖËK! xïúR:�N§¿÷†.€F©V.‡ ¤ÓÊ’¤×b±XŒ5�GP3 ঌò¦G3ëÃM€År¹\ÖÊað'ƒ�n™=Ö³¬0¢ƒ•Bõ€R +”Y2æ&ÃK&–ešŸt"9Ò€YG=Ëú‡@*ú‘Ì.P”tºl2(¡˜YŒÕëXÌ4C)Ò4MMÓ$lÿÞ�ˆ‡ëh/À̸N»ÝÞko„0Ÿ‘J™a ¥Ú’öÈ �€€í0º^ÿ]¼®(7ÿXI§S±……Ë� ›”ÝÔ4øã”¢½§PMYVnÞ”ÃAÒ 8I!�P¥7�À#™è½ÃLÓLi[åÍpéŸiš0Ðû¥õ–Åz&ÀGTÚxÂlð*˜”Rºô£Ð\T7¡ +úcæÈ­`¦YgF`YÖsëf… E$jï)Ê­›éM +U`%Ròç ˲Âôa`Œ±¨øƒ@ü +0³×nfWV$xºû$\¼À¬ `·ù—Íæ_î^€Ö³½/¾xÖn7ÔâÓo€;kwÖÖÖÞ¹óÎ�wîÜÙfAЯ$'˾&Ž�yˆ%“ÉÔ•�§„bq©õÉ iæ§|òç2áÂ�¨˜€PX 7ƒÌŽgr2)øb`E ú(@ØÙìg6rιCˆmGÀþÙ¤ " +»‹ÈÑVw‘snÛ*qT9QW¹Oq|‡sÇ&ȹ‹ˆ¶ë>ö]t]9è£ÀÇøXD!9>îz‘£�Ž‹œ£@tl.P¨~}!8¢Àl×'®ÿ#î:"#f€ ç?ºŽÃ¹p]¿ûÿè>ö¼nWE´IQ•‡s®ªêU0ó¶þ–³¾~;K+M×5m]Ó5]×t]_kè:ÕuªW*º¡ÿ€†V0 +T‰¥ …uM×u +úúzA)h…BA¹½¨,¦ÓétJ&}^єҚ¢(Ê픾¸(_½®1³¸#dÖ€=<’D˜i2fÂõåry³\•€iÖY©×³>aána +A5Y$PJi•Q0ª[4Ú•#,ؘfÝdúQÏ2MË +ßè�¶¶(ý�öž¢(é´F)… Ä&MJ“1“&cÔ€iš¦ù‡3€xd~ø›vs%»’]ÉFÐl>yÀ샿ù—ùd·ÙÜ}ÒÜ}Ò”5@»Í‹Åݽ¾�ä×ÖÖÖÖÖîÜÉßÉßy·Á‚ ¯ÿjî�€|xÇ#=?•L¦æ€‘%J±?—Kɔﻹ\2–L%É”Üñ—Lf2“à +€ õ¹0œKf2™Ô\ à"„x‚>: +`Ûˆœã¤@$ûˆè +PØ<뺂 Q‰ª’¬@N÷„ê9¼H¹Cˆ@ŽÂU]ávÑu‘£@‘ DÑõˆ×õdmñ£.á6ž@„sDW çè¯ø]!|— +\ˆ²ö÷2B +ôc–s�²®ëw»ÞcÏëª�) ¢m_Õ8===%äÍô¿¢SªÄÒËeZ�8쌭-`ú׬nÉ«E{ €iŠR/+ŠFéÔdÖ–®i´¬iÕ4 š¢(K¡-èÚ­˜²p… i[R\¬kЦ,+·n¦®][¸»Öxô¨1˜x>�w—‚>ˆ‚÷L`�ÉRKËeM«V%H˜Œ•˜Ñý€ $û‡†A)­RªQ˜NkU +Õ*˜uƒP˜a`îTv¦ûÉô�l|¾§)7ÓiE§´6(Ódl`€i0Ó€z½8ˆ½�LT€v»ýŸÚÍ•lveE�a!ìÎìj6wwÿò/eK0h·›Å�ⓊßwÖÖÖÖò!¼À'lrùÃ۟ɤR™\hŒÅòQ>€d<™šü§®Ÿ\*ŒJåîÞÍåâñd.•”û@“™LXH+ÀÊE àîêe'`2¦…ãÀ¾ïG!„@×Ct¢`²@$Ó>¢|`;H\Á‘b»Hl•u…Á ኢ#8± ÏÚœDŽ®Ëñ±ÿ#n»�vðÜÇB…‹È=—#NuJi_· efT-€ªò=(Õ”eÊ(¥[4J÷*Sº)…À›ét:ýGé´»"p“ÒÍÍMmIÓ‚E*=A7Óé´L'‰T>0 6É3à”ìX‹™[饥M-L0M¦›æÇ‘wpú¤¦BK tJõŠNL+0¡¨CÕ2Yä2¾‚:Ôë“…!:TetiYF‚Õ ^’¶b€�ç_YÌü93ë LÆL³.üÁ@ì’К€§’dWV2“@"@ëÇ­Vk÷É”+4›ù—»»¡'à àÉ ÿéY{CÀÞ[ ½6wîHøÊbì“?3[ÄñX,™IÍèÉØ¤ˆF‰0û[¶s¹\2�'#HÈår²ÁÞ˜0; �Le2!DB—`!¢˜P€°ÀI €HÂ>€ïŽèy.GäÜþw�s•تªª÷É}Õöº?ý;âpÎ9·?%¶“áŽè " +‘ ¢pÐQ=DŽžp]¡""º\ ð8ñ<‚áÈŽh#"º.f9¢@›¹Iÿ(2ŽýXpD÷±›E.¸ë8œWJa@l¢N ºÿ6±m›„WžbÛ6�~ðúƒ+¿éºVÑ•…t¹yk$ ¨²ÉM¨Jý¼ª( +¥T[Ò4�Ò?¡T£”njÚf¹B¥p+}3 ¸b `�ViYº‡hjsyyI¾^ŽÅ Ã0‚�P0{¦¬´Yiðˆf½èYŒm-.-keV­×MÀ3ëò.3€ÌbÁ#ó…iJø2t#Œî°ˬ³˜uätê0“ÉÌC`Œ1¤î©itSIk,0~ ‹ ‹± 0¬žµ³óÜŠˆÁÇ0¸Ô¸ í¿i®4‹Ú»»»OšOvwŸ´þÃ,´Ûí)xÒÜÝ ÀçOŠÍ⓽½/Ú{í�b±Xüü¹&ë?Ï߉îþ�µµµw' €±ðÁŸ™í’©d<Üð5«$ñˆI –HDÕ¿D€T*™ˆÇS©L¨ ¬ärð +ÀÝ‹>€É8°Í¹m“ïÿûÄ÷}áA„è ‡è†à³Ïæj€��«øW>GÏF!<[ Šö_q›;KˆªäÇžO¤G9A®rŽ6ç]nÛœ´9ç]T…ÀÐÌ« +DDnûÒÄ rŽ(‡sä„#çYŽ !¶�E$ò‡Nڈ袯¢@�(<"\Ï÷¦¹ª�ƒ¬:¹þ6�ÐÀ¶ß¤PJuc!�Ö¾”!{UJ©FXž…yw´ +`ÖÁªn)”–+a¨•bü榦Ñ2¥š¦Üšr€´r%l•µÍÍ‚¶Y¦)mi)b ×®]»¦øá‡¥B¾�ϯéúzÉøP×õ‡¥ÒÚ½|^X¹W0>|ø°¤¯_O/.¦ +…Âíüz¡ —t=_* +…|éž®¯—J…Rþ^¾PÈçõüz¡"§õ×Kù|¾ ë…‚~¯¢—J¥¼®—ô’®Ö×K÷ +ëº~¯TºW(äóú‡%½TW„¼»˜_\L_OÇÒºþP/å×òùR¥r¯d+%ýá=]/åu¹Ä$:÷þP à[@ëi«Ýn7WZÍl&«6Ÿ¶www›<•Ðn?}Ún·§ BØ(6÷ö¾hÿÏí�âƒbó‹9ïý_|ñE»Ýn·å½_“�€;kïLÀ ’²í–œ»ÿÑn¯x,–L…:€ û›Œ Æ' ©ˆ¤¤õ7•LÄ“rÃo8*Ýþ+|Q@fv1H’ÂѶm›|ÿû„ ï G8 +€hÛ3}€I @PäŽ*Ü.¢ËQ @mBáœ�¬ªÕó„Ol…'�ÛœûÜ&Ü–¦aÎmQ%žðQïsŽœ¨¹œ@޹csÂBˆÄÎmNð>Q‘ÛY‚mâÛ®«fI6K8çÈ1ãØÜFÛFUŽDꇢëùž/¢ +€ÌWö„ÜŸÛ¶É„ØÄžÌÚÌÿŸJ,–.׫� U¨RJ)ƒº•g cïhÕÓ4Yuk�R­LiE+(ÚŸ„nYM¶7•%EI+Êÿ ³„n]‘ù³@)-—©Fi¹šÒ–åÖ­‰páZ˜úµÙí£a £AÀvFÀl--/k…­z=Ïíõ˜¹SV€1Ë ßMð‹Ò@nÔ`,Sÿ2ÒÿIc°Ã˜eõäÖ£.«›u€úV�jÚrZÆu`õ `ìˆ1ÖØ“•:Œ ,ÆØÎÎŽüÄÿ;i­ 1�ÔÖ“ ­�ìFÐ~:¡ДBán«ýù.)›_ì}ÞÞk7‹ŠÍ/¢ ºùív»ý×ý×Ýn·Ûíwî¼s'ªÿïÜÉß™€ç¥äÅ“J&ãáŽß˜ –ª^"6C&‰á‰�¤R¹T*O$S©T2|ð›]Ö6.&ÉG!hËïÉ÷¹?Už¸S +p± è´µ‹.rôtÐá\–ÌDUmô‡£#�Ø}Ï#ˆüSÎmB'hbÛv×÷¹�‘sN²„ÂUns®Ê¿Ml›ØÄ&„‰ÍUU%œ£JÑrá ‡ Ïá6·9b–ËëÍmr߿ܱܿ‘;ˆž3í\QbÛ¶:_LÀ.JׯÅÒJAƒê ¨Ê}Pä³.Wnƒe2Ó²LK‡­%�~@5EÑèŸè”Ò2­–éV™j›Úò{ŠróVúf:}3½�Ž)—úË”–Ëeªi¥)º¹¬(7oÉT¡k ¦iš¦ÅL6‚ÀÜa¦Y†\BfüÒå%MÓZ¯ÒêÀÇuóÏÓ¬›õGùGá&“™0VªZ¦Võt¢ÿ„cÁtI¸iîfÝdfÝ0 nF~!ºE5ZÖnÝ\–â€ÀL¨³^À¤àÀêë³L�£Æò°ÿ>]€‹Ðj=m·›jkWÍdÕæÓ§³ÐjíîÎÀtcÐn³ÙÜmî¶ÚŸï›½÷y{O2€½g{_|þy»Ýþâ yóÛív;ù࿳¶–çÎ;wî¼»6Æž—Ž.!@B¦$ÂéÞd&•L¦R‰¹ + 1ƒÉДËÉÀT"ž í�™T.“ +ƒÌ—Ѷй.—¬×&á�m")Àœ +ð$¢ó}Ùõw¸'<Áå@ÚÜ&÷ 'w8Ꭳ:NWpEW8YŽHléíÏd³*]»ë{(ÜÇž?õî«j6›¹ŸÍª÷‰ms 6Ú~·ë‰¿Å®§Ú�ý®ïùŽïuÇ÷�Û(ÿT6ˆms'KˆšÉd³Y5«r›«„Ør_ ƒÂ>v³˜TSðýìL0Gì7!€Y£ÊµEå=ÍdÔ¢ÕöásfR +P…ºe2Vý`kÇ`´¬QJõ‚&Ãù7)¥Ô¤åD¡ 7EI§c±tlùÚ%°N·ÂTpº¸%UÛéô­……k×®-˜¦i2f1`f�QÓ²,s'\ý&€)gzé²VÖtF«Õª¼ÕæŽÅLÆL–gF( îX`šl�Öë2)¤ZÝ2 º @¡Z˜Ì„-*÷ì0Ód¦9‘ùë¦I·ª´ð‘²¤Ü*›;æÌ¬òסTÉ(1ˆºáaoÿ¡"à hµ.#@»Ý\iµ|wh6C-°õt¯UT‹Íö^»½×Þx GþÓí/Úí¿þkyóg@Täß¹“¿óÎ�;ùí)|Ò+}Å®xþÇ'+±X*™LåRÉD,žœŠOD€d2žŠ�cñd.™ŒG…™à++Wi‘à¾~ÑG ßú>!|VpÑC|l_è í… +ž ÜAD.¥¹,'D%H� ÍQ8¹ërŽˆÜSÎmŽ${Ÿ;ˆ¢ëæ ßs }î;œp‡s›ØÜA• DÂCÏF]G¨Ý®/<áØžÜ÷}âØz‚9ºH<â!zAÇá\U‰�ÉÎ! +´¹@ÕFb_QÈ;ÿF`ÛæÕg@KÇÒŠ¦kÀ¨šPƒRVX˜›]·~uª”M#¨n•5íO¨¦­k~@i™Ò2˜e]nSn)Šróf:�¾K_JICµZ¥•²¦½GStsYî»yëÖµ…˲¬(Ê7‹™R£3#ëMPb`šti™n¾@µ +@¡^g–eY̲Óë@ÀbVÀ«³{ LË´ÂÞ¾äì²$¨[&3,V—#Ãæ³c3Ù¡)íƒæŸ±j•V TÑ”t™Yc�LÆcûÓ¬›V0( ,æ4˜±zþ;h­+Nûiqå©€ÖÓÖîî“'O¢…^»»­‰€w%|ñô +ø|úÌ—o…?ú|-A€,ÞÙž)z¥°0{ÿ£øßX,–ˆÅcñÈ�˜H� ‘ +gñX2—L%ãqÙÌ¥’É\lºä*@"™Ìq?›½?{ªòýP6gT€È „¹+¤äÆUDÁ‰Í ·‰�(l• rnsÛ¶9 +ô‘mns$ª't8ñÐE}×ue=D¹ ]a{Žð…‡èqÑë +T}Wê‚¶�Üï"rô¹ê#GôlÕq<îu=ÒEÛæQØžðlD�‡ Aü¿í +µ8[„À³mò`«W3 -,,*š®ë”| Õ¥´¡3“Á“Jzªå*Ó�Ve&¯¦h”j”–i¨Vf MoÉäÏËV`Ù˜ÛÔ´umQN+·nÝ +ã…¥$ùÐxøPÿáC9µW1*ºþ¡þ¡Ì ½W*é´�J-*ï®kÑÈ`åa ¨ñP×õµh P¯†¡Wò½ ëšN+º®ëà™/•J½¤—Ö�’aº^*é%ý¡a†A+ú‡†®ë:5t}]×× …‚²˜JÇõ +­èº^z¨W*•J8R¸^Òõ¼nT*º^zžJE×õÊ·€i2öö.@ëJøIñÁeˆ0à[ -àóö^»øàÁ D�ÿ)˜wÖÞ¹3mÞ¹sgm†„Àfõ¿èù?™iHÄ¥@0-Rɹè‰Kä’!ÈŸ‘»/Of¢i@DGGd³Y{z±ù<ˆT€9 +ðÙgḯÓurmmU6ÕTÛž>Ǭ�ÜáÈmN¸�¶MÔ¨Î𼿠µ:Žˆ>Ê9!�h£-Ptª‡Âãè"AÏ—nD¯k;ª‡œs$Ü“m€°=`#¢´rä6r[ r¼ïÎ޶¼ü."GäÈÕÇ]×ó=®’ì„@½ÿ&`«jpÅa,íæ÷´÷t�RjcÀÀ0˜ñcl S¯0“=*iŒ @dÔ¡”~ õÃÁsºI)UEùÒéôµtìŠl0- ÚШ¶¨iÚæryYîŠ¥Ó V§ÓùÚ‚€±€5�ÒccýF¥±{~ô(`i‹´J ™Í°€U޽ À¬Æ‹ëA£“gü|› ØNÀ0Jlc?ÿEl‡±çúó Ã‚ÀblŒ ½wÀ`‹QÍTÒŠÖ64ŒG,ô·;A‰±à^tXÀ¿Ø…¿R ìyÀ’Èe';l‡í0V7冂‹Vàø·@«X|ú´˜É®ðÖSºÛzÚú½à‹ö^{cŸGÏþÉon×ͺ¹¶ÝÿwÞyçλwB+ðØcæÇŸÿáç/Ž©d.•ŒKSPÑvÐX"™Š‡�J%£¶A|ºêsbº"P’bÇ"›½?¼üs*€MÈ÷ùŒ +€ˆ�Ƕ-l;[ü̶ÑFîÛˆhBP wü®‡âqW :"á6›Û„Û<Ëm[%È´»ž”GD.l(ˆ/$=·çB؈6Ú]âq�GÁ=ázèÚGGõ¹Ê9G�Ìz?ö9çȳžm«„sDŽÄF�‘ íø>:ˆÄ–Æ`Dô\tìбäC°íˆÜŸõ\"ªzÕ,@¥¢W +±ëŠ’/Tî4 ]§Ô¨Tô0%ÛÐ+õŠ¡ëëëúúíÛ…Bi½°^X_/¤ó…u½¤ +…u�Òn/*‹‹‹étêúõëß»:X×Ö5]Ó +…ÅEùêÅtêz*ÄŠ|>ŸH4Jð­V�3"þ^7M`yª¤hÊ´R•Æ=Vê…½:ÐŽ:`R±3îÒÑF‰E"ujè@ °‚0%Œ€ÎXh&£ +záE•êTÓ4íº–Ž)ôÊ=ˆ–‰™&°‡`äƒ  &c»òô&P7ecc‡±)Èd!ëò,À…›ÿ&"xÀÓvëÇ¿/˜€èæGoÕë¦išÛïÜY˯­å'ãÀï6.3êføü�î\¶þÃ@y¥SS?`´*0žH$’©x<—Jf’©T2O$g9@2“‹"Á.vP¦m ¢Bˆìýì온ž�³9!øÔvˆjÛˆHlÛ'ˆ¶ŠžÀÇ®àØu9º]!�£@NTÙV'öý,ñÐG�ªïw‘{G ={’"x’ + r޾ìÝ9¡(L∈6¢ƒYasäÂ%¢ÚÅÿˆÄ."çªÇ Aù‘U�BØHÐQ¹ƒÈ=©p.Y@Öã„{œsŽè9§À³mõí@U¯üBݱèÍ[48‚ «gÏ+,c,,«Áª([²d`tK)è˜NY•JO€F«rEà¦róf:}óŠMŒí0Ó4ëuM×´2Õ–—”eE¹KÇb±…þçþçp/aã• +ø Rê™l@ƒ*)J«2̪0=´*˜@X­“•¼TtJa« +¦Î  +A½@iã­³`̬€þu¨uƒ*¬½þˆRJË?¸®¥¯Å +vhP ?£Qjyù>d˜é|QõÉ'Ÿ˜&ë¬7 @–eYñÙ.À¥g¿¼ã?i‹OÛÅLV�€Öïí9h‡E€yûMÓdÑóÿÎ;wÞY[{çÎ;W@ê�L˜Ñÿ¢dßdÉé¶�x´úGæ$©Dè–¢9n¾XÈ´É™Q8ŽÀûÙ¬-¯©D�) }_8³@—pOå‘û3Bzª|>£ë>Vw]ô\äˆDµmN8É.<Ï'Pdá"r…çeepˆŒúT‰°mÛ—YÈmª‡ˆÜAQt]Ž.þT *‡ƒl›s÷>Ú9±?uœ¬à<œL´ rmDŽÄA´Ñáˆ^—m› ¢*»�( +‰OÈ}2!ßÏÎÀ%@®‹1V¾yk³ +”å ¹š‹1 ¢=³Ш…º–VÊPÖ4-­h: =³eiÜ,ËÌßhýÇ% tU«eM[Ò4myY¹•N§c ×®-, ƒ5Û¬Ò�\€``šP•¶ƒ²‚²X¥rÀ4ëÒú¦ ¥Ì–ï@£dÐJ¥B«UV …@ +Öh ˜e10™¼¼t0�K”  ”¦4e1S(˜�ž¶j c�Y�€‹ Àü3ÆÌ«ÀÕ`YS­oa—à'˜­üYtýÍ:kÈÀ�µ0ì"°ÆÔ™u+ø$~áþKHå’òæ'ÉÄ$óKZ�¤.ös¹D"OÎp€\.s©@Ž8ƒ’;BÍfïÛŸÙÓVà„|_ªs¹se©¬fÝ®À,rW¸®ý#×µñ±¾;kÛ*±1ë W p»ˆ˜ sƒÐ"ËÑ–->ß÷=Ï#nmb£M"'ˆYD$]!Ÿý\ räŽêvѵ ¢­¢ª¶� í€Ä&DEû¾ÍïÛaB)ú»h;*GÛÉ +¹Ã9ÈÑã¹,�<Û&Yõû“ +àPUU%*¹š¬–Ó·Ê”j¬0`LÝKn\—Ýwös£J)hiåOê@5JµEE×)è‘(\ø«Mc‚c×®Íg¦·àƒä�¦iÚÒ’¢¤oÞŠ][ˆÅ®AùÆ`­z˜Á€M°¬C�RJ«[&0öœ[—¿0 ?æ@ÿ�FC¦�PÓZ7ë!PÚè| 2#Üd–eè3�Ô ¤(KQMQÒ±[Xý×&‹Öj°öõCËduÓd¦eõæŽ.!»;o˲â‰x"!ßÿ•"ÀÕðû—ÅK"`}òô7Mó{$å¿wîܹóÎ�µü• ˲vfïèúK¤RR÷O$‰)ÄC›Pbº4—K%±xbÊÂõà“À¶å£�„À'E€ƒ÷³ÙY°9Ÿ£Žã ›DéÙçhÛ÷Iö¾šµ¹�¢ë¢ÊÑé +D}´}W ëpÛ&Y‚Žã9œøˆˆ]�hÎ]ŽÜá¶@‚ÈU}·+|W �¢‹]DßVï«hsŽ*·ågk#— +!2&жe¤ «r¢ª]‡w…ðmû3Â}_ø�º$«"r›d9'¡Üè`÷~×sÑ· q]ž¬?ÕCÇAÇñÙ#ö ªúجš…žiÖác³¦) Ö°åmý€n¦• +”jT[Tôpjˆ–Ã@[–`I¹uóætç茠º5ÉÝ\Ö–nÝL§oIÇPX0=?À0Ñ‚ ò+˜ ¨š“˜¹Áú$?t²ê›±¾±¥Õu +l�AUæƒR‹U^@¸800-ÀxývyÁ×`ï>Ò4EIÇÒòƒ÷¤ÌÀjÁàW{!…2ƒ9þð‰eýÙÎ'ìꀽ¬àùóÞä½ü> `Úß½ˆþsMáºÉê ™t'ìÞy€eYÖclzÿÉ”L÷I%B#PrvUP<ž¹f8@*5-l]Î/PGq_ê€d"LkO6rÏ÷Wø]ò}ìúÜÉBG�>ÿÌžï¢@¯‹žgÛ(8GŽŸÊv¦46ØÄ—-€ûo'„\YдR®ÖÙ ÄL¨K- ¿Jë`² +PjhiE£´Buª)ŠN©®”Ò²FË岦i›Ú²ôߺy3½�^¸ +”.ommU·dÍP.kš¶¤ÜL§oÉ_•%€ÁX#|‡ €E!ÁÌ:ê±�R`[ÑúoZ‡ ~ÃóB¾´Ï€!�`&K€À ,³g1�¬Ýê™À Ì+ùJ (e�€RmY¹y]ÑÀ„ç“¿gYÖ‘ñÃXµé©š‘¥é»‰€Óóç½ 7‹$ß…ü‡‹%@û»3€Ï?o·MVŸw…åB�,™T €|þ_ –eUo*´jZ/ôŸGº c¦µ#9 d @�0ŽŸ*¥ë•ãC´º%7‡,+в¬(·–b—œé*À@(-k›åÍMMS”›iE¦‡4:Œ J_ÿ‚5‚£Á~À€  6°_öÙNðâ諞¦ ‚ô�˜Þ‚`;G ~=аt‚£;êtìèÞ`g|=ø@ðâÅWGƒ’1 Ž‚`ð‚ c: ‚ €�AÀ Ã¿.5€ô G@5JÿXg¬×`l0þ÷cAðâ«_ƒÁ‹Aðâˆuf{€¦õg&1àù%ÀÛÀê=ïYójÄ[@³ye 0 êõ�MÆØÎó£G Œè7°vØN¯Òÿ8{ n²:@^€;kùüÚ%»Q ¿\ÂûŸK¥r©œd‰x<™’}Ád*—I&b‰hùÇd è*�Š­¬áÏó¼l‘_¥ªjö³�ÿÛ¶™�&@t…P…+8·m"8"w›DÑÆÇ�»6GÛý‘m£íúžç zÜq§ë¨Žï¢pÑ·9_ˆœ¸þO}_zrÉcÄÇîcD!²‚û.º.:D8Ò dg¹@Ïè Ç·»Â'Þ$ñ}�s!¸ê#v]™øécäØåÂvÆó„�ÂñÌŠ°Õ |t¤s³DNstðLjOä䡃ŸzdžØ³€D qá@£Ðtº@ëìE©Ð` hŒ±G lÐÙÖuc=¥èzEªSª-*Ô£TÐõŠNu]×´hMQÓi%�þ^:»Ø¸®¥Ô ô´@75MƇh×'ËAƒR‡5GG/‚€A£Ñ€~§�FÀ¶Y§øAá6@ÀuŽJ¬Ñh5hƽéÑ€Á#ƃ~a&{4©Æ%f@¿óõ_°àçƒÁ`ð&�§YgŒYÏ�êæ$õt˲.@ =bu€mIÂ"à�]€Ø ‰}ô•Læd0 �Az�¤áO®ù¸M_à1׎!ÈG<çü²(PU¥ˆ–þhÛŸI@ß÷„‹ÈQxhbó.Úœâ�OÑæÈQ ÞG!Ó~Ñï +B ç ÃmÄ®CDögDEbîù¾èzˆŽÇ³®‹®ð‘#ªDx. +D‡Ç(:*÷�s�Øõ|ây>ñ8¢ã"GŸ#·mt}ÕwD]DÝ¢k# +ôñ±“(½¶—EÛFîÝèyaZ€‹¾/Ç�§6w\´_„Nà‹`RB.~�5A7ÊzVÀ Q�AÀ Ö9bðˆ5‚~Ãè0Ú…²c º®ÓKºž¯Pªý€RZ–±@ÿ>�N/¤/M¦*` ¨N�N8R¬¤Ó·d*h¯×ë J;Ìd;̲vØ#ÙÔ‡Fƒ=zÄ ,³Êò&T· N’æÔXIÞt0{½=ÆØ£0¨Ï„:ÀGR䓃~ÀXoÇ +~XÌ“•¨QcçÑ#&ë½è}mÔ€ê°UÖm ä_Á$�}mYÁ¯ kÇÆò/æÚ€¦ÉBkÀóïÜŒàùe`¦0“™Œ™Ð˜€AƒÁáe`æÇ&3Íz/ê r�‚?» ’°w&&€µo/vä‰dfò\O&s9YÑÇÉx"™Jå’ÉD2žˆ2Ás©ÜJˆ—8@Ìu1á¡ÕOR€yШހÌ7ˆð¸p…ÿ8tò«=�Âæ„žuç¹ërmâ �ø¶'„@D„# +.D‡«ø±¹ý™šU Ç, +»‚NƳÑE +ÇFîº�Q ê¡�r (<ôÐGOÅ®oËҹѨÄFôT_*xˆèß%ˆèâc’èsäòn–Û6¢OmŽ6Gôï{èw…j‡6Â"áÒLlÛ?uø}B¹Lî«áý'ÞÅ' ³¬­ô­2X¿´,•£Ðô>én?’û¯(Ð[Ú#}`1³jšt“l”-hUJ�°¹,k%}ýæeÀB9´nÑr´$LIËÕâ ±^¯÷¢Â`ìHû=ìTÀ€h / ³ +y¨V·€åÙÔä_ª³:³÷Ë^ïÑ ø$ì Èi@S �أП#÷@P˜&•ûˆ ã(|dZ½^¯#PmS[Ö(@}§5€F]"Ñ?–õ˜i‚É*lFƒËbÌ4M“}‚ߧ ð‰e½ gÍËŒÁ®fƒÁáá àã&ÆL˜€£ú´`�e]ÍBÀØ�wîÜ Wƒ¬½½ cÉT.•›€Ü�x<™Ë%’©x<™J¥’©\.‘̤’ú÷  溮páxžçyö„\¡J +ðÙ”`4(º¾íúBxB¨ÈUÇSQHÝßæ™Ð‘�¶J„ðºèéø÷ +…‡ˆÈ QÑóBP¸ÜqºN—£è¢ç;œ#f} À„È:6º®í"‘b"p²%èS‚÷9º2L‘x}´¹‹¸â£ã ápD¡r_2{—g<Ç%Èzݼo[å®kÛh;ˆÂ!(„°½®@Bäˆ1窃6qmÎ?儳DJ!òþU%!ð/|Ì,š¾¹Y·z¦ A‰Mó¦ßSH+TïY&T«@µ2ÀÝ¢] (-Óò¦¦iTÛÔ´%eI¹•^X¸œ ¸E�M�R)Fy 7Ó ±Øµk×Þòò6"p%<Š ×ë5ŽB5oÉÍ^=K@]ÀGTÁ0Ž`Ñ‹’‘4msY£æÏ/@ð˜ÉÀdçà+´Ó|rIøvðù`šûWÀ 8l´Ûív{fð™±�ß Ö@.%Dð6€YØa,•š@.•LÆã©T.™LÆc‰œ¬ ’ÉL2 JåV'p�Ä\×u…‹€ÈìÏñ’(�+Ù,~&éÿ„|Fl»ëû]D‰Šžïr‡{ÈU›pm[µ yìv…ïzBåÈOÔ/àÜæä>÷~ücD�xȇ{÷ºÂ÷9Aôl9‘Ž@‘AÇuÑADÁ‘!PxÜ."ô»(¸�ˆÜ&‚xÈ w1+D´QüTEŸÛ]ßåYÇA +ìfEWü­§ªœ›#r×Ue„ zŽç{j—«ÄæªÃ‰mûHlÎÑÉÚ6O΀ÙÀó=§6wÀ”mÀ^]:ëäÚìIwÍ0à#¨ƒ–V´3{ÕòÐ%-ìæÑÛ[t+J *o.////É�k€9=$—iš¢,É@ ôµ…صk ½Þ/çàÑêðˆ1fYßÂþü—½EùâA©QvÔYÓ�€­ äW°<·‚3‚ ´ +†qÔ˜€(üÛúsk‡± Ò³L“�þ•ÔM°žG `ÂÅÞP¼]¼’0K{ h4BC¤Í=†óÍÓ@j³%@pD €…;î|×€±–›­â‰x÷]!\7ì¨IÇ­ì9rîñOÑáž§:ÜA�sÏ÷<âw…p=Ž‰ŠœÈO„ßçĶ]¢“ëá§a$¡ms}©¾Ì¢G÷j쨳öá/:[l‡±ÁtŒY°¬¶Ts粘јÉÌc&cÖ'ì÷p†Ç%0Íçó|;€z¸é|²Qáí%ÀU T|"kQ6à·u"0¡Éd2•KÆã¹\êF2›vý“Q(øŒ +p™ÄÐ ‹Ç™C~QŒ(F Éf¹#ú¤ëÊŒ_¸]ÏnÖánÖ—æGx]â ßF×E!¢�œÛ6·‰JUDî9ȧXäˆ(?WåçÅ¢JQUt8'ž£ªÄ&mô‘Ûæ¢­ªÄ¶¹ð|Ïsdl¯ð9GûÓO̹=à· !]á;‚;Gî9¶ð<·ë{=_øžïزö—ÏaOåŽïØŽ°»ÂqœOA‰g;¾ð~ÚEÇóîø\ ?åB.(¾oÛ‚s¹#¡áoïûªT9¤!@õ»¾ï»]ß•A\j6çœ�ûYõ>±‰L›B|:h±t€cÑb�H¨Ñq +TQh!¨×·Ê¨¶離TnT´ª¢”«tùÖ-EÎø\ж +‰kJ¨^�-\»­ÿN ê™YVÀ€µ|ѳ¯_ËbŒYV0¬Á Ï}`ä;�Gƒ€™½AmÐ z�õ‚õ䃳`Ö¡J¡!ÓÆŒ� mP; +ŽžŒYVï¨×ûÊЃ/Á—=küúh°z0`?ïÈkÃÛ ô¯™|œ23„Ÿ¡5øõàEïùs™\Ðë}5x|ù¼7èÉ€ÉÏbÌb–õÉT`¿Ð{QX=Æ‚Aƒ `ƒíƽ{ýÆ`§V0D$Àˆà#:;˜Ü ‚^Ã8 +^ ,¶cõzGÁ€•à׫}¤è}†ô¬~?‚ç}VgAPú:°«÷kýÅó`0öˆY,üã׃ޯŸ?þüyðüùóçϧàF<ÏåâÉT2 o}*—J&SÉÜ´[p÷*�ŒaˆÎ!pƨF UI8±‰j{¡óßEDÂ}Çv#'°@Ìr.}HœÈ",u¢ª¾p|aûB zØu8"w9w%ˆ¶L*W?ÍdUõ~F�"€|þ‹OçÐbé2Ø ÷jÔ¹ú²&wì¥P½µ¼S˜P¥¨¶IéÀ…ÐÍ2Ý”·ÊÚ²¹¼´|ëfzáâ’ðÐB0ÕÊš¦,)¼(@,îý ÀÚ™ +fÀÿùËžµ#9?„Qç%]×uýÃ×Jƽ?|¨ë•‡�«èƒk yÇ¡`šP¥ÕèG¥pïÞ½{÷îý©®ë†aÔ Ã ºaä� +•†'ùÞÃpVÓ”°3&5 ƒRªh<¬è†®ëÝ0ŒJI/•JºÌ ¢ºŒÒD ÔLö ýïÿ!Jm/•J%½½¡WtýŽQ*zI¯†!½\¥)Ð)á{xXyøP¨–>ÔuÝ0 f”êÆ�‡ZÑõJ¥R©Tf2'ðÜbò£WŒ‡•ZÞÐõ +­ÔÞi<|øP×õ’þP7Œ‡Ñç�HHÅãñD.OæbñXR¦ý¤r¹„R¹+`Âb8A€y!pÞˆ"¢Ù¬,Òm5Ôòä<ñzˆ.J—¿‹ˆ+“×ÈÁ´ º2!Üë +=ŽB Gô=bÛ6·ÑF›g´m”QÕFçS§XäÈm¹í8„ çØràÐsGBS×ó|áøŽã9÷mäH®:2~”p›dmÂÑ%Â!A…Ç]á �>w}=Ÿ#'ÜA�ÜFŽ˜õºž‡ª�œ£ ¾‹Žç +ä(¼ìc×v!mn&­@Ÿªj6›™˜€'wœ�éa½€Ñ´F!8 +ûÊ0àhÐ`òÁðå× ¬4àçÁ€QE£ëÁ€1lÒ`À‚c�`«Ê¤¶·©mšZUI/kZäòŸX�C‡€2ÀƒÓEI+éôBúÖ­[7oÞºuK™e»;sŠù„üÓ H£N‡cAÿ!cá32øjÐ`Œ±ÁQ£fcÆ`°M«@«”6$<ÈH‘Fìcµ4¥m)Ä5¶¬Q«ÕjÀM`Êz`÷îÝ»wÏ0 ÃXg V‰:0j5è³Îp8ëL2€©æ/ô¿ÿ‡ž¼ÛƒØ³  �Á€É?×Ñ t%] >úè£�>ª l°vÄ j4 Ø`ÁÏÆ ¨uXÃhM­L3 à¹E�GÁ#Æ;0˜a4:vÀ Ñh†Aa._f‰x<@rZø'“ó"À• †˜ Ÿê€³³YޱíûÄ‘j±9ñe#0+9>çÈmNúNØç³m$ÄvºŸÙÂ÷}!|ÿ1®#DŸûŽÊî :„•›ØÙ,Qm›{œsá¨Bضã|jÂù�äŽ'=�Ž +!?å!ÂãÜ÷³¶@b䪣:ÈÑF¢Ú÷í¬Ì þñSRÄ0®å*`â DŸ#‘ýáq‚Ñh •Øè¨�].\]á‘Ljˆ'a@:±mÕANîߟUGþ©ãˆn~zÖòùÅXl1ŸÏß»·VÊ—J÷ +…R©p¯P(ò÷Öä‹óùÅë©B¾¤—ò‹‹ë©TjQ®ÏÈ¿»˜Z\L-...¦®_¿~ýúõT"võÉ¿+nÜ^L-¦R©ëׯ'.½ôÍ àBˬgY«³ ö�¿ìY,€š,s­Àúå?õŒ E6%«a{Ð�Ü�ÎZûÈ €GÀä8Do' %aGXc"…$dÖ…À ¬{÷Å5¥55g“æÆYÈ>™h¦+¬Ìë�¢}–Õûß¾2¹�`'ªÚëì«« 6™¡–ÛŒ=`ÁWL®Ec½Æ¯d,Ü€5Õê¬Î,½þÀG5 9³EgÉd-ì$ãñøÝ\"‘Ë„­Ÿ�\¹šÌ€;/†­@"€�j¢“E›Û»"+›y6Áÿ—oû¢À¬@´CÆNÏሜ¨Äv}Û÷<ßs»(\]týlX8Ü·ïÛhÛÄ!\náȪ¶�ŸzÜqPp.V„͉msÛFÇ&‚èp�£cãÛñmGvmîy*¢lA~ŸBlNTU½Ÿ!„ØÈ¹Óµ ·QîE�sŽÜv„@߯b‘Û2€PåªæŽÚ(|Um9ȹ·â»6w\.“¬‰ÿœp›s;"a€Ÿ +ÑíM΂¤Ó›Œ ‚£„…æQÀ?c�Fçh`  ŒR«×{ñÕ@­P—M)¬Î(ª3(4EÓ%­hвpILëu³Ã˜P tsyYQªÝ¼•^Hß¼yó¦Ü)ô'àŽuzÂ}Œ¾pÑ#¾\#ê +W�Œ{œ8�*i¬H¸çpιãØ6· ±íO?³?%êgä>‘6bÑáBpz|½¬ ùqlbg ’ÿ?kÔÜÆ•e‰Â`D]*W1ù1É×F î��"‘¥@dDÇAe +N3GèØéj>å<òI¤õ2ýtñá>“=~Ðo8LYÙ*öè +%]±>+ô .…jZò›Þôæg|'’eWÏLÊa;,š)€8+×Þ{íµ|_w|ß×-¿Ó±â¥2ÛÃ×…šÖé¡…žþ“Δª•R÷ìKV¹nY +d'˜þÌv3¿�¨ÌnH«Ë·òÌÏü,ÏüÝŽßñgup«Èÿù¿“³B ä« !Ž)!LÓ…hžD*Èž(Ä(`£)S’„ƒ9oÄCQÏ:[q/ƒÍugÃY]yo ˜ÀÀæu†½ð&g®Ã؆³º²º²Zǃ¬4”#ËÀù`˜àþ¾=_›D’´áeì'F$GDˆÉ‡ÀˆˆfL²®Í¥}7ªä‡ß—¥= +ûï1€ñ¹à+’íö|¿¶UÇ 5% 1�‡�$ˆUºdgz5T„(,× ”DŠDdÊÏçãâ 4ôs ’ÛOG#$9–u¥$D"3*ÿõXÒO0qê +�h¢QJHû$«ƒaœ¼ÓQúøã�?ùä}ô‹¿ûä£�×–°Vw—ߟÔû@ïq€†>ƒï4­JÇ.ÃØ.€mëûÙl¦‹©žîj­UG³Éäpr»ÐS]´2­uÖi]VZO ¥}](¿øvr[Ť˜vŠ"¯í~lBÀD©Y¡}_)¿Óét²ŽoËÿVGM•Vê–ÊUGëÅ¢’ßʲ֮¶ŠZé\©,WyæëofY–éV–©,+òÌ÷?õ}¿ã+?ËrÝñw;~–)ßW¥2�M,w©_‘ÖÓÙïgYmOÜQ¹.²ZªÔ™å¹öU-*švr�e™ÖºÐ*»l5Av?R)ßÏ +­ýÙì´øçÃÉäl2Ð�;㘦¦oDš.#sPõÁ~bàpÀT„˜¼&‡à3Ô}ým»lõý‹ñÞ»ô¾Ø÷ÂgÍ&o:cëÎÊêÊêÊÊÊŠí®4.˜Hùa8_$¸/¦Dci†rAÌ©D�7$•&²i?„)"¢ñXJ3–F’¤”ªä_�K2 ÂwÀ;%Éãà{k¸ÜêC¨I$qÔ­NÀWïödy^`ˆ(ˆäQð|,ë(” ++ó“ `hÝ›)8Áý}B9&’R~ý•”%‘D1™?þ‹ü  ‘eŠ) �%u€*Ú÷L ~ˆCqñ+~üñÇŸ|òÑG}òwŸ|ü‹�­ÀòÄÿâŒÈš¿ÏpQ#°6RZëN]dY–e‡µ §.ZY¶«[jv[OÏËËZg~kêÛ…Z­§SÕº}8ùv6+tQøjZè‰Êõ¤˜Ö F_)¥ü,ëèiÞÒEa÷�µÿ©¯|ÿ7YæûþB}ägYVÜÎnå…ÖJeZgZå…R¹Ê´žj�©¼¥”RJgj×ou:»-?ËT¦óŽÍT~¦}ÿVm®uGMk `¥oÏ´ošJwþQk=™ù C1]LkÕ�žvô7YIz«•û~Ç÷/+k‹�©ŽR�BéÃYž…¾•‡ÿm2Ñù™óŸ4§ÉãTbPRе D)úÑÂI a}â8Æx¸Å¶âx‘õÃc‹`gcùˆ ˆa!�o3¶Í›îZ� ºº²ba`uuuµñ¼sø‰¤,¿.˲D2øoÇ¥<ëË9² +z2 }E$„ * RUÑu‚Ýyøb±è€p#I£zºgU.²,�ʲ¼/Äýäß_"ÄQ²xZ.2‡£)ÇV(�©”ã±4íãÐBÍ©²ÂzßHL÷ØÎ%I)Iþ®,˲¬«èø¸´)i§@H‚äQð\Ji…ÒÈÒŒ‰æ¦8´?¶°þùY$øl˜@ª ²¥Ðxlß>S–eYÒèëãߟ"M‰ˆÊ=#I "ñUYš’ˆž'£˜Ùœ¹ÓY +`[kk6| kËaýïkŸ|òÉ~—¬�À�@ßRUïí²NKç·—Bþ¬åç³âòíÙä›Ia‡|~«sÙÏUÑQ‡S­´žÅåbVhýÍÄf~(­”VÅíI+ׇµ/ ïg3¥²ì—­]­|¥3uËò€Ìïø¾ÚͳÚpVä3­U–å¾V:˧™ÖêV~+óóBë"+¬˜¥�VëovýŽò³¼“)ý�¶{ú�¬£üLÙ¦ƒšÚ.€VJå¹Êt¦|¿£,ÿϬ)‘Ö·'E>›u:¾Ö¾Rߨèa­ò–Îu–µZY-V™Ò¾Ö~®À?Z«ü³E �0gƒ‡â¸ýŠPÔ§i'((I0©Ïs…AüY<€p‹³>[ø{1~ÜzàÝK` ñ èqÎk6™³ùÎÖ�ý¿Þ)Þ÷1&iJcä×eõÿ­,ešžy0�ˆI–’¤=+²<–RV’"sÆÙÏ©ûHpAiJ4þª–Í}-¥4¦ü1ù÷ÒHÂtÙ˜Ž d¬›ªüý±”4—28¿%<&±<+ &ɰ{"ì‚"I²3#¥4åIÿÑï¿–ã/p´_ÃGŠH˜ +’ÇÁ‰×ÄÜK)�åq0:w')ÎÞ ¡T‚hߪuÆ$¥4æë¯¥)�ñ÷¿/¥L‘�p4DÄQŠ)¥Dãù^iäB³X–¥”²<ŽöÏ�t)Ä⽬™O>ùÅG}´¶öÑÇ—OÀúòñ/Îh�>ùäÓ¿ûäÓÿüœ€¾ ¨•®‹€NG«‰ö;y+Wõã^kíOóY1Ó�ÉÄnÏ+¥UëS»ÿßÉí�ŸÌ:ÅDk�MЉÎ[Ö^CëÉd×Û™Ÿy‘*óù7­Ú‡Û×�Vk¡«íd»öÐ)=ñ'íû¾¶f#ÓL+ß÷³<ËŠ<ËüüÓNǪ;­V§uù—­ŽŸùÖ‘d’uv;~§“ù¾ïãû™ë–ò•o��µRþtVø~¦fµÅ  îh�M&JMóéÌŸù-�é¬ÈôdRø�LùÚ×S¥w;¿£t–©Næ+•åºP·Š¼8<̵R¹:Ê� "LJ¬{<ˆ€C48!"çl•…Ö0—1ÎmBί1ÎÛnòæ6cÌÙXwgå]%Я1†õùo²»î8޳âœç ++�•Æ9ð~š�eY³�çø¨üzL"MóÂ:÷˜$%•ÝÌ%$Y–68:8³ídÏÿ¢5—$ &‘Y<ÙEjÝ=í�nž<*­�@}‡´ÞŸ#i¢yÍ4–w’f‡êÜq,,_¶*‡d8DoNDH‹NåòNGýãRJ)R!jûˆ‚þ¸sD$HúB|UÚ7áØ[`ŒToI L’`ˆ˜”öë; A‹F€4XÚ;á‘R뇩 ùÕ‹ÍBÐq)åï¾–U”,‹ ‚}ûÎD#Ö~òÑGýâïÖ>Z2€µµZ °f-�N瀟¾ß8z2™L¬èt:íØö–V¾¯•ÖºSdÚWE®[‡j¢´Êt–e3=�LfE++&Ö¤[«ì²oýyóL:S3=Sþ¤n©éâr=%Tz’iߪ •=ÛÊ÷/ÿ²å+uËv~Ùju:­VKÍü¼(²YGg™ÒBß~ˆ˜¦S±O²Ü1D"�’Èk{~Öñ/ç�Në—ýÍ®5ïÎôä›ÝË—/·²–ïßÊóC­µïw²L©ì;üÍ4×Ói¾[Lg…o3…•Ò~®•žL”žú¿ù§Ýé4÷³o2�i­•ji¥üÌÏ”Êk¥±Î}¥´º¥µÊó¼øç.&Z©\�jÀ�¯n„qF$Äòw#A$"Ä`×wxØãÿ-"RtD´¿O˜".}HÊñxž<*K))µ=qÚ'ª¿ U�±ÍòTS–eùµ”¸ƒË]ÊQˆc\@Íq¼cÆ4BB”„ º¸¡¯dT–e)ÇöOgÅÃu¾ó••Þ +a� J)ɳÌ|¸xQˆŸ!P‹VM´�Dû¸/„õ�ÆD£ú[¤Óý¥&XPÕ_ŒPÊß—_ËòkYF{„˜$P-ï_7÷ÉG}ô‰Ýþhyàí ðã�q^ üÉß½Û8 K(° ™VÊ×�Ú³7×3k™7›M �鉾\ØÁ¿¯|?ŸMt®•.:ÖÐ{:U-­­HO;‹ À,Ë:Ê÷;YžY¦í^@룖¯§µ,ðr«µ{9_Ø�vÛKGi€E­·OÓ6Ëez$3&$ˆºîÚåË~‘ù¹ï·:�LeßÏv;Jç-¿ÈóYGù¾¿ÛÉ|¥c— +r­”{6™þfêû*Ël˜¡�5ÌgY®µV³Â6Hµ_ï)•ùYËϬ˜)WZݲf$·ü¾=ÑJ©¼(Ngä½U§ ¢ˆìÄ|I‰‘l±ÛÆ14›½0³Å›¼gà·½Åv_s›1æ:ÌYwœÕ…À÷, z×í:ÛÞæ[n×a¶°ÒX–Çï]fnæ•1GóGÇÏÿ?®þ@ÇÕ£•å£ãJ¢ŽhN'f~\•%QYVdNNæ4¢‘©NªÑèù��ÌIeªjnªò¸*¥©~˜Ÿü¹JÊãG�þt,͉1Ue¨2æ;šï“¬LTU?›Sß?yTšŽ°wª*¢“ùü¸*KI•©Œ99™›}ƒssòÈ$Çzdª¹1åܘ²ª*iÌŸæó?ý92Ç|ôÃqeN ™Ê�©ÌwTSEt<Ÿ›#çå¿=*Í£ù%ÉïúîóùqU•T™êØœœÜ?¦ûX™ùI•пž”Ç'æèèĘã£ãÊùãùóú×GÿýÑI5þ¡"slŒ91æÀ™£ãÑþIõÜT%=2?üÿÊòþüQEQ2B"CÕÉóùqUÓW¦š›òý˪.«:Ã>ùÏïÍ“w@å§àgJ«ÌW™ÖªãO³ÙLgÚ×JOµß™Íg3íS]èN¡³NK羚S=± ú²íëéâò´Ö*å·”ö;�N–ù~gZd:¯�"ó³Nërc7Óv­8›tZ—}„¨ë%HDÁ@’1B�Ó<0ˆé>.—VSΛé¼2‚°è³žuvwýÝËÙÌ÷ýÛ*?Ü=Ì‹¢ö2´NäZû¾><<<,gÚv —YD*Ÿu¦:×*/ +íg:¿ÕÒ¾5#VªsYû~æ«Ü×*·³„<ïÌf“‰VJ…Ößÿý÷ßóÜçHhŒÍËÊŒÍ�™GHÕ*2DÈÙ6Ñ±ØØhr<¾nZœ€nö8gÛÐsœ&Û`ë瑩Œ¥ ^ç|€×8cΆÓp+V4°²ÒX]i¬®®45Þ¿>?'?½šDý~;ÁÎNìì;;;žAðùÕ¥†ÖêiûA\ý<¸ºÓnï\ ¢À v¼ vÚm/‚`ggÇ~ý½äsûÿìV¾DA]Múý~^`¿0v¼��`'ö®îÕ"á ¢Àj…í�®îìØ/ìîìÁÕúN�·³쵓~?©E¾ŸÛ;Ù¿_öûý(êÖwÚ ‚�û§ûüê^Eýåk +¢ Ú{µíy;;Wƒ ðo'ðïªçÙ×äíÑÕ½½½þÞçÁßÿ}ð÷õ³¾_Ô�úQìÔ¯Þ«ÿ� ¨ÓV,û¢ÚíoñµÞŽ·ì´wÞ¿¼�>úä“�±h|¼¶4Xûø¼øïÞŸœc5Èó|YdJ×rw]Ì‹é$SºeËÿbZÌf3•Mì8 •ëBå�YQhe•8~>UjÖRº5[ljÕju>½¬Z_ëC­2_é\)eiZ­F'Ï”Îô7Û kGílH&bb矌_J!Æ÷IŒåXõkù™M¦BÄÀ—‡±”%2èÚ®ŸµZßdS?+¦j¶›ç¹ÊoM³iÇW¾úÿ*¥3՚ݞæS=+TË_ø*¥”ŸÛ½b=Õù¬Ð~æûùboªhÝÒJ+¿Þ,TZ³:yÿzôü¤4†Ì=cn“ãÿqò?~˜ßǃÿ÷€ˆF4'¿#š#cÌ|>^ÝÄŠæ'•1ÕÁNò`>¢ÑhD8Ädt"ú£© !�ÐÓS=úó£2Õ|~r27æÀTæaD>ùž?¢Ñ‰!¢›Õw8Ñü戌©æ�žÏ‰ˆF£2ÏçÆ|$Õœì�“á&Ɉ‘ùŽçTý—;æäÏ'DTÍ��OæÆ�)©¢Ñçôçç~>Ÿ¬îÂdDTÝ= cîÏ8ynì‹5æùÜ|gL’TóƒÑMí㇠�’©2ß›ƒV†¢‘™ÿù¹!*ç8996†Æ†ÐèóÑ~þoóy‰ß׺âŠpˆ42怌™??±oCÏçÆ˜»£=37x“F£›8%4:Õ^�»~ñwkýâ£÷ÀO̓ìCÿx,(ŠBééTw2?Ë´í©³¢( ][u:³Ùlv8ÓZù~–µò©�×ËòI +ܱV3ßïd~§Óie™Ê:—[Ê÷s_ù…â*¥r[>tZ­Ëµ¾É4 +J‘hÔÝÚB‘.:N(L�9Ÿ^ÔG*ËÊ")ðĶÓIbš"¥µ–;Dq$Ç‚3Æ]~à›Ì÷ý‰òõn®U–i?Ë;¾ï«ßøJeY69œh=Ñíç_뉞L¬KjÞÉ´Îs­´Îuîû—Õ2/yÖ*´Êó¢öJö3¥ò¼“+}kšçVA­«ªªæ¥1±³ÑH‘„¬î›ãê(1¥©*YUÕ|.…Œ8±�êÊàœR–Æ%‘Ay<Ž0¨}­ßÿúyO€U4†ŒLââ˜3æ8«ÎÊÊÊêÊÊjc¥¾VWWVûÍÿ¥”¦Þ=%CôŽKyDdl×{ùIÕŽ9’÷%I$’÷�Ù2šˆhǤg²††˜$ˆdŽ$QJ)RT‘”r,¥‘’l>ÊXUÑ£ßI)„\†ª/Æ&:*�¬H¦(eyüƒ UDGÁˆNõ¸‰íªYJ"¤)8!)%™±¬Õ½bLDô}pߺu½³¼O42ÇR–$V²<>‘‹;�ì%Gg^"&„B–†Lj´cì�ê>C½Ã;6h¤”$Æ”œ¹SJ„d’¹”ÇD„G²<~t´PS ÷Nç(˜Ü’‹Sç?ùdíã_,*€3=€O>þøã�ÏL>ùä“Oþî<hLêm¾3 õ|¥t–©¬•ë‰.nß>œ:Ë:Úß- +ÿ°˜Í +=SÊ÷‹Â/T�Ph?ÓJuÔT-‚‚üÃ"Wy¾Ûñý,/´¾•ûS�çY¦µ¯´¯3?óýÝVëòG i>Ä @·ö8µ_[`2DCdˆÌÕ$ÚA?©¾Ÿ??1µ±>aŒ1pÎ<Û8!Î6yb@ø™šê]uKÝÊoeÙ­Žßéd*SY¶[ËnOü|澯&“‰R¾Ê2¿£2e#�‹ÂŸå�…8IëVG©<×y>S»¾Ê²L«[ÓV¡~£þQëY¡ÿ«Özá:ˆë¤ÛyBR +!HQŠqȸKað°× L �qà1‚ðǷ™ÃØ[wœÇi¼#XµÙ€’CC¯rÞܶñà+뎳î8õß–Ž/ºN#ø0¥ƒ~)¿J…�KIz‚‚(E|¾s$I–Çe%¥|ô{)l«�èŽW�ìÞÀaˆ1cDý�ÌÙycŽŽ‚") …gï$ˆ«ÈH’åsy,¥üïe)Q¤H£t1‹ƒ$ÁdˆˆR”"âÁÎ|±K?&Abl]?Ò*�ÖZ“zk@¢iD¥$ùHÞ7R–¿´&§¦¿èÜ&p#IB$YJA)¢ �S/uêSŠ©IÆR~E‚ÆÉpxêjL)õKC²”¥‘òèø¸î ¥)�’j„ˆÉ0�†Iv¬ùÞ/üäãÓÀÇŸÔ Î Xk·p?åŸ4&çÏ¿E•…ÒS¥;Ê&eæ�|2Ñ“ÉDÏô7Y§¥¦³™Ò‡‡“ÙL+ߟNun�x•nÚoívüEº¶>œNõL)¥‹,ÏõTk�);$Ô‹ê?ó}¿Ãù¦ã4‰À ’9Uc3–î"$ÚH!¤ô€Í%�…â$(K# Ñà0êv½ ŸŒªGUE €ooóÚŠ—C›`=¨ÓpvU¦TîgÙ-åïZ¯Înm4Ѿž¨él¦ýN'Ó¾ïg»*³V£Z:ÓyQø¾ŸeZ©YKç~®n©<Ÿæy«°Šßh­òßä Í„BPŠ"\ulE/(ô•<îY»ÊÕšƒðºËÖ×�ÕÕÕUÇqk†ŸAL1t9çc¸ˆl2ÆÖ�ÕÕFãW°UˆãQpŒ!ä!o6›ÛÍ� guÕ>óWWÞÖ#hU|à’Ö�Žу¨”¥ ”¬4] &õÐìdR–Çå×e}Xö‰]À·ïR€dJOU¶«uæ«ÿ–û¾µúPýMÖÉõt¦‹Öt2›(­¦3=Ñj:Q*+”ÎüL«âòTë¢.™µ.¦Å­¼Ð¹ÖVD¨²Ö´PÊÏU–+?S�Æ1„!°µ5žŒ*#Q ®ˆcŒSF +))J0é;ÁèË1 DaúRÊ£1�D¦4'剡~Òm··ºgÌÁ"IBJ3.°ÐSA#Œ1÷Užç™Ÿ«Ž¿ë·rë‚àûÚ™j­g‡zÖjíú�¬•ÙÑLçyVäy®§µ‰ö³[*×:Ïó¼ÈU1UÓ¬ÓÒßj=És­íâ!ÑXë§$PÖ�[S"$Ü&c뎳î¬3¶Í!Ž ð¨Ç9ï…¡U÷l°ím¶±^çŸð‡Ç¢ qòo6›ÛëÿŸ gÕRþ;\]m¬Ö²À‹?X(jo˜Rdd)…CDDHt9Mç;FʯÊòk)�”_Ù�0"â¨m–À!~au:6_£ +qñ©– =‘R–ãq}§%P*¾�Œ¤ñQ=ÿ—FÚ¢‘v–lúQ‚€ˆ_“@Ä)˜ŸJ…éôNó€¤$i'òh–nƒ‚èF%IY–_×:’v)ËDÃe±ý$�´–BØ;™€R{~EÍòä˜H¤ÔGkꃘœÞÉê¢r,eYÉòwõ>D¹@Ö ñ‚_)~t>Y8,º€kç—‚­&¨ÖL&“w(@�y¦¬/žŸçùáô²šL&º˜è,+f6.Kù…mãù…žøú°°y`þìÛü–os•RJOü\¾Ò~žéL©Lg™òý\©,óµ&L©[J|ËaÜÀú5¢ˆ›ž‰ã8¶>�ã?DA;!B¼!$¢À²/„�Q�$¥4¦dˆ�9óv/JåÑH°&7€€@)Âjue~«uKOoe­N«ã[[ÏŽ¯2_«|¦•Ò¹nù-åûJYð4Ó…Ry®T®ülÖÊu–åZå:Ÿæ­iq˜³i®üoêÂTeÙ2(,tœmˆ1Åâ @�A)k�€¨(µSònö¬÷'çœÀg1ò…Ń8´*  ¶Íغ³²²ýž%ààa !çÍ&c¡­êîÿ‚4j4¸øü§Dõ¹$00òˆ¤ePg +s¤ç;RJùû¯KYJ9›åƒŠ¬B'AÄ!$HH(ˆjq+õÍ¢™pj1&D: +HJ!Å;-!è(2u®—”DãÅó÷«`y§ÅÞ¬ZÆ€ˆHíDÜ?ÓM°~ÛU@’N% +´øm!î�FRRY~]–RŽI¥ªÆ}J—.Î�@bɼ¬›&¨R˦$ÆB…(“TJ¢®i "¦Öó·4}»pQ–RJ’åòí%ËÞ„UN}øº±¬jSÐ3¦ çÏ~= زWc2™¼sþk°v~GçSuøO…nM­íV>- +�Å¡¶ÖØ:Ïýì°ÈìáÈ|ÿðöa¡UËNÏ­[ˆÒ~ö•éÝ<³ö>*ëhåwPàXQ;ò¢6a�9ÛƒˆHiššâAŒˆôHb%8¯¢Ñ��$()âKúJÖ<Ÿ¾2$Œ‡hUðŒ9×è;s2ª1é{îÚZÄ A"‚¡Ÿ¤ˆXA¦•R·üÝÝÎî®uöV­Y¦'“ÙañM–ù»*Ëí2‚ÖZgy‘ç*³úa_ïª,WZÛ�a•y>Õv9ÒvAf¹òýñx<4–¶`õÿˆ£S!Rc;ØD„n +ö „°v ®C]çœ_c<æÛv¨É˜ã¬¬4ß-–à…6°ÙÜpÎį,½ÁjH/ºP�Ûþ„  $)l®0"XKsÕ”æXʯ-_Xœïœé® —š„Ï £E…€(p,ü|ä LjQ¨3€ý1"+§‘RŽÅ™;UÁ¹;ÆÖ«‘Èî ÚSþŲ& 1-©AJˆV�/èGU}§±µ ^œÊ½3rþa’Ø•JŒ1AåUsºU€õ[GD&A"cqºq„‹ÎGt\þ®\ì^|%—<ÿ &ÉA~N`Qò¯­�®|ò‰ëºîÖ–{åŠëºî÷Ê•+®{åŠÛøö[K&Å»`…ñ¹_h¥fÿ-÷;™?�u¬‹�ÒJOtÞò3m]þ +�}ªTæ«éìP;ÓJ]Öµz×Ï|_é[™Î²]­}Û$ÏZY’ŠTЦߎÀ�÷Ø:_GSDhC¤#1êzIMšFˆŒo&(„�‚bD)$I‰ˆè!@ræ: êé!ï!REAÐn·Û]€ ¢±! �óÄó;~–ëÝÝN§å·üLå¹V‡­³L™ßÉób!÷Q»vQ+¥ó<÷;Öè8óuV´¦¹Ö3+Ê; “´\ùõY!pÖ¹-1A@Ñq‘RÛi Èq‘ì ƒ­1D`YA“óíæ¶­6Ö�Õ•�w`…ðç=Î9›ÛÛŒ­Û`[ù[XŽ>ô¹$PÔôÈ�&F”B‘&V8<=ûáÓX’6#$"V;gÏ +!b:ÂpHIôÝù;¡ BAäýQØÎ¼¤4MEm»9&�~]ï( )jý$ˆÏw(=í˜@b‚Hè�œá5B|Q{…š …@$R$Ä´ö¥$©j'O;0¨µ†h¢ÑRu6Ä$I ~¨ÇC$:ö» +‚H&$„H ÇõêQ�(@•õ�Æò\ó–°“`’$à× YT/ý¬9ø/œF£yÌu¯¸õuÅþuåŠëº�Û“I ÅY¸m÷eu®g– Ìt§“ç¹îLµm’i­ý¬“k�O&¾ŸëÌ×JO‹BOŠI1™d·::˵βüŸô2EHguÆp…URa²à�µÈFiÈ_z·$Û± Ð�è;¼?­W.º67ûiBH�(„]¦D¬‚a Nƒ"ö½Þäip)êWˆ˜D^»Ý"�€XE^rëVžu +µÛÙíd­Y®tQ;„·nùZûþ­ÂÆ�ùY6UEžç*Wùt¶ˆUÔZfª¨mõ¬5=œd¶ÂÊUÝx¢¸f‰¥uH}³�ŸÚQ8¨“?³õsp;ûã|šÛMÆ6ìÀYa�wÄÀ+ô�FïYéàÆº³úW àj�«6+hõƒO�ÂŽ«ÈJ1)F¤ÚÚÚfÜ“Á6}%„ ‹ñ©!ÀÓjçd‘ˆ8D¼1@ÄÅVbX·0$Ä…h•ú¦},R¬†ˆfq'ë@¡!aç'cqæ¬< ŒXì$ˆ£$©7‚ëwñê]ÄáÒ\E:&A©8*D”€X-ê0aEθ—Ø; YO ìk �NOø�!â0†Áé�L{´¬[쫪_SS´ÌUXt6ï€Æ•§ÆÅg^á�YŸBÄ$ÀÅ¿/¹Œ�-¶X—³-æÔ°¹¹é^q777Ý+ö²8Ðз'ßNl#p�‡¶-¨¬[–šæÅ¬.Ô4÷ÕT«:&Ó÷õ4Wup‡VÊÿÇéDéé̦nu2¥“ùÓi^øê–ö3_e¾ïï¶2BI4ú[/: c)%B< ø278â1„Dà\ò€Ž’ø—ß ˆÈ=Ç0ˆDŒñB Z3 +ƒˆ٣ÛÌi0HnÐ 1Î8¿nHi4¶ �”Œ¬êÍñdÔÝ+M®´ÊòV§ãçJÝÊýÜÿ&Ó…ïgZûªÈ¦y‘«Nžå™.Tv«Èý<ϧÓéŸù~–»z6©+ŸBgº˜ÖæzÑ~¬¯sªÛ‘H&²Ó?D:]-‹ê!,À ‚˜×ÀclcÃqgeýÝ1`8`Ì#€�ó&oòm¶á¬4�ÆêêêB¸²²ÒXi¬¬¬®ÂÅW­Ý?&"Â(EDÇH5¤©e‘H±n矙¨Ï=s†Á.šgP¿|1 +n&IIrÃ]B´sA¯J–ƒ}F. ­¢ a �Õ/K€Ó¨ÏhÊq�5CLé*A‚ÖYkÑJ“$ÄQð‘"BIBˆ4ÅT @“IÐÐBk~îEõOK€äØ?yü@bÀK’“äÆb—W –$ˆ’zqÌØ’$Q·FÇbq'û(HëkR�¾}pêr—1ÏqcÌcìcŒ_[÷<×uÝö×Ýt]÷Ê÷Êææææ¦ë6”¾=Y4ë$,}¨u1™L2_«\…Ö:S¾žj¥õtÚQu¤�ïwü©Ö¹VJûe+àYæûZOf=Q-�Y[À<÷ýL©\ÏŠ™"4óÄ»ŠT}÷‘�D_’Ðû:æŒõQEWûÉ ‚8–BÊR’8@ð€7Ù6oö8瞈cˆQP*¥$&€ˆ}DK˜³Â ªѰ½Í9À0AìüÂ>XÄxl«ÓÏ0á?b1óó[ëNÖÉ:?kåYæûõm¦ói6ó‹LYpîßÊnå…ÊgÚïØµC•)­þ«ÖE«(t1õ§:›h]Û_ + ××·°öÈÈN¤ÿ^ +a?Ö!Ëͳ@Œ#à „çÛ|›m3¶Î6gÃqœ÷£Á bbCÎy676guµ±záuacé¢!2¥±[ñ‘Àô B<׋?)¡ "< *‘.K\¼4ÄjIÔV;˜ 1MÏ™ð›`”$‹8$’eI$„¨¼±8ÆAíÖ—¦(0Dx72u¥`1Ȳ»ñn€´üöI‚”ž [DšïÌ“aI$ËJJÂ'B @�òK!Ç$D]p �p,,íXFyPJˆ´7:­Ä!A˜¢ˆë]�t~Õ$7è ISY1VEŠŸ )ÕwJ‘QTÕ?÷~¦"%É¢H0¹1DñSçßÙ\À6;+�mî±Í+®ënnº›– +¸WÜM÷Šë6´E=ÑZÏjÈnûÅd¢²étZh»ÅÓQ³ižk�kåOµÖ:ëøù´ŽøÊ”Ò­Ü?œM[E¡•Îôd¢¿ÉÔ®¯gZe:ϳ\k�ieˆ íÐAÛ î[Vl·%E +r67ÖcEAB´OvåRÈ/Å—BHaÝ0®q¶î,$­��æÂHc¬ò ‡8Jl—€3öë† €äY¼Žó–[ž±E‡_ +°6ï`Ò'IÇe6Í;¾ï·:�ޝ¦�ßÔyÈJÍü¼ãç™Ê2=¹•ç»¶ÚÏ +�û….2?S‹ýFíëBO3•E6Ѷô¬79U¦�ï2’ª>U¦:92Tÿû?¾\ÊûUDD£$c$U$¥1xPI‘"ðkœ‡&ãMÎØúÆÊùM€FÃSJ8@Qðp0›M¶¾ê\|áè¢ å˜d)åX4w£”å‘]©§”ÒT� Q•%ï :0<¥ÑN´1á D<6„äDI2D¤;€†ˆÊÚÌxõ�J9–’äØv"íU‹Î£-Ý­©Ø¯‚‘u]¤úTR²=Õ”ÌÈ3I2DD¬HÐÒ},º/„½‘íØ LEJD#ºFH)Ú…¾KÈ-xÀ‰m‰¤‚Iš«‹ßª:“ˆHÍSDB!å—’ÆÒZƒ� ¢*2µ„Rû}S[$‰e‡TÏ7þ$?ëŽã¬3æ­mÖNQÞY°Í=¶énnnÖÅ¿»¹Yw݆R”>ƒßN2Û,²™Êr¥:¹ÊµžåZæJ:Ë|]ÌüœÎr¥ÕoÔoüÎlV…îÜžd™õÏÊ|?³Ù¾º(Z3­ ƒv`uyœXyßX +"IR ÊXÄ|£q ÈR/"¬€òK!„À0f¡]–í!w#îu=/úý„FûUûdFˆàÌq ’Ä” çŒy<²=õ8@‰X’�¥´kÖ˜" &ÉXVIDÿ*ÉÙ´“·:~Ç÷/g¾Ÿù�Žòµšey®v}_åVÄœg~®‹"Ï‹<ËõÔ*ùJiý©Ö¹VŠöÕ«W¯^½ºsµ½ÖhüÚõ<Ïóvv‚v»ÝþÛňõÏóºA7hïìx;ÞÎŽ·°öÚíö•öß^qÛ[[îÚÚ¥µK—Ö«^®×¾rÅu×Úm×®¬­}ø‹�ÆÀÐñq)•Dôo£„$™ù±1²zôh~\ÑýÊÜ?~tTÆZZ#b5?ùãóùË꘰THD£}!CTýùÏ<dÆò‡““ƒ¾göGóù ™±yTʲ”D'�‘dÍÍœŽæ�æÇÇDT�Èj>ÿsbî�Éœ ¢©ª?<ôÇûG•Á$0HDûû#Bª ‘ü÷??Ndäxþè¤êï$„#¬NNæt"Í*iî›ýýê~b÷ªc2óGóã?Œ‰Ì‰©ªû®*C†äœ0¡ÊÌŸŸÌç¦<%{#;*�Fx×�¡?ýéùs#HRõèdž´÷F8Âêùü„Œ?:6r^™“ƒ9I*çU)ÍüÑ|þHѼ*ïWšÿCEc"ª &#SÍŸÿp|rTÍ÷qo1h�ð;cˆNþíù…׆ãØ`m³>ü×ÞÏ>÷mðŠmÖ%€Òêö·õ,pV÷&Ygvh}ZåÚWÓ"Ózj½7;JéŽXØà¯©þ�ïw²Ã[E¡‹Â¿¥µMÛÒ3Û ÈT®råSäE}JÐF%ÀÈÔ1ôBkQ%mÆØvrªÈ&b±|¬ ɳîrñ –(R$˹1CLúA;FÖ?�lp8´ €;c^Tî�Jù•‹¡·�›�7ËÒ”IDå#I·ò¼ÕéÜZäû¾ !³¡@~¦s_e:×*S¹Ê¦�|:�é|ÚÉüLiígZ“©E€ºÃsðùÑÀÙ ªh|$åó¹¬mçOªÊ”æù|D÷¥|nÌøÈ•?üpœ$¦¢;dÝƘVˆ&õ8¿Á™û+ްµ±ÁÖdï†:xR-êmƒ1@ˆ°¹ÞÜXoÚ�`ç]1pûâËó‚«Aày„¼ [c’×öÚ;ÁÎŽAEWƒ`Çë^»Ýnívûªg·ƒ«;í¶·€±�oÇó<‹gÒêßð<¯íí ¼v»íyWƒ ëy;ÿiyßÀnÍEÑNx^×þ‰‚ÿäµÛvYðêN{g§ÝÞY¸¯{žçu½Sð<R‹½í`ñ»A°xÝv°¸“çyÝ ˆ¢(ØÙ Ó*ó3k(x8³°�žxÆÃ¦B}Y‡[ +Ke‚Ò6žH–BÊRpˆ8„ oûMÎÙ6s9ãëŽcÝýÎ]±qÇñBÃ^³É𮳱¾ÚX­×€Wêf m¬V_'?œôñÄ!= 2%ÑÉ0Í­C&™“Šªç'?œÉÏ€øòKù¥ À™U ¯.퀬\`!Xùâ‹‹@ˆ½çbiå…iHHR¤‹Ñ½µ½:×ÛL)zµÈM _‘sD"Šeic}ë. o$§Z_<¨!âgË0 à~=µwBÐïdU[ +AíSe¯Ý»„_¤”b‚¦”¢þï) +B+Ù­íþÒç‰Vb!Pˆ)¨� +f‘ +‚¤<–T «�$]DÛ)J1$ª®!#Årþ�„8¼a¥(„H«ÈæÙ;šÈ¤)ÕzÀz¢iëC¿‹·¯^ƲÁè4¿z‚ÒNÏ_�ÕÆi °vÁp¥Áê& »énº››®Û¾ânZIP£ö½Uêv=̊Ÿ拈OåûS]̦ڦi(�ùþ7³ižçZ)_k_eþ´“+;?T~¦t«c×€”Ö~!HVQ´°3‹?‹k"`�L’ܤG•}©ÚŠ{Mæüu¼ðÊ4à +c¢vðù� +ãbhòÐd2‚ @‘"�Ç‹ôuŠãdTZ—Ø?ô6X¬O$íÀko¹çÀ¹•Ù"¤+Fž.i +q4ŠlÈ˸ÿËË—ùË�v3]äYÇßõýLéi~¸»ë+_ë,W³– AÔZeyæk­‹Ù?eÙDëÿ{v8[@åÉpÕirˆc<>þ—þý÷_Û™KBRi;é4¶ë¤”Ô«`<ê÷k[pà!çœ;aØk²� gcÝYm¬œùõñå—"¶F‚À9ÛÞ´‹ƒ+‹e :PtÕîà\(Dú¹€¸>†4² ÎÀý` ãÆ 5Ô?)´~7SúÂÀw•U /á'8®}w—Ïj::€”®\˜ÒþD­ó'BüÌ@zR�"M‘‚j?=€Ô¾¨c9$ÆìÄóh_ý<ÄŸñ�Ò^rÆ xÜ~”^�†Ó8-Ö>X¸W\×ÝtÝMwÓ�ÍÍMË”ö•VJÝžh¢²Ã©Îý¢°‹o™?±<`–wìó¿“µ'ùÔŠ�2Ýñ‹"ïhe_ÖL<ÓÚšç‰Gí‹A#ŽD@¤$ø|Ïœ”²$Y°÷šÌiÕRR‘Ò ¹5Þî&TcÄă0ŒEIˆÐ6Ø‹EŒ©õ#8D‘ÁBÎ68’w\·QÃu뫉q*æ^-#Î×.Ø:I‚Õ3f"*½j?ˆzœ³ÖGýòo¾Ùͳ­½ôÄ®ÈÛSÞ9œîÞž(­£¦:Ó™ø¾Ît–e™ïg»y¦”ΔRQ„ƒ¥˜Éòü#ìŽJòŽê�¬ÅŠöšM‡Y'ö4MÓ£9sŽí{ÕF@!Æ8¡l­%œsB¢ÒH)I¢±Ô5C�77zHIiV‘³m[I# +Ú""wV‡ñÄ�HÉŒcÕïRÊ ½¨.(œ_~¼›eÖÁ8WÊWJ. €2›žæ«\ë‰ïûÖYOõ?eY¦õlñÓJçÑ|à¬7Cˆ1�Ûg)ïÓR:´kw‹ |:è�jè[¹Ìo99†aöb‡õ>ðúúêÊù€pöÆ@(c€0ä=Ιµ­%€�Õ•ÕÕÕ¿ZYý+ë +и ¸|R�4J éèwï3º˜Èe á0¹QoÙ¿ËRDÄ`~–ˆ¿”¤ï€ ¿~‚ˆ @zŽˆˆŸSÀ{ `|ÆïÀ|g~X$g +p‘�Õ2€+õ?mp¥n*‰£;j6Ñ“ÃbR'ê™.&Öão¢|_ù�Ù4×Ù¬°ÿÇ7:Ó³B+­Zúkì±ëgY¦T¦ ôlc5<±JND" ÚÁhþˆƒª^°¨Õ�1$œs¶ÎŒ$Ñ(ŠÀ�ã8Žû„! ”|kK šŠ ‡( +‚½`oHD湩è�]‰qö¶�&š~J$ÇiŠ|›ñ…@¤"[Po; ytãTQy&‰J)PH:ŠJ+ÌõºÛŒ¹ŒÏtÇÏ|_ÝR¹jåê0»åkߟiíkÝñ³:g,S-UoV,`Ñ®½ÿãžI�‘Œ@)%cމduߘùüþøû9}?^UÇs¢´"’f/A:°îö)ưWMhr·±õÕÕ³ áN*�HD Â"p>pšŒ¯;ëöëVMìüE @¤¾å)Œ>T,{t +8¼€,K:_ü… àl @K}ÿ_ÀÞ€¯— @ÜöÏÀWâ˯ÞeøÓ ~šŒß€öã÷J€:¢ñsSË®lºWÜZpe±T€òµö3=›éÙíYQÅ®ÖþlêO´.&Z+5ÕZw2­•Ε%ù¹ÖÙ7¹Ÿkß÷³¬UL~ãg~kן¶”ïG€'T(( Dq?ê÷ÛŽP~e-�+‚ìÛ£òí�°ücE‘—ÐÜŒãíæ@`l[üIŠH‘%ƒñÂ&láðñHžT4Âdt7I¢«xbÆB2#²êMθÕû �úœóˆ3ÇabŒœ8F¤ÄTTEÑWRȱ!Y[�Ö×cã1 +Yø­|×WÊïX[ƒ<ËU>õ3?ókæãûZië‡f ¿¸¢~´�Kn{�w£ ðv¼ êGQ/ê�Úÿ% +v<Ï‹¢(ÚÛëGQ¿EQt½E‘çµ=¯mgØÜc[îÖ–wÉuÝ5çCj ¯kGÄžç±­-ïWÌù)ÙP㢀H\ pZÐ×?],€9Ó\ÀO0€ã÷J€Ÿgâ”ÈE ð1€wJ€¯Ë%øâ‚`ÿ|ðËw@½+õ”â/,Þe_,Àþ/)Øf­°Ý¿¶ë¶kPÏ3­¿9œª(t¡u¡TG“otaýlT¦”ÎôTO§ºÈ[ya—ûfS�û™¯TÖÉ&Ze»Y«Õé´"¼B z]ca.A Ú£dDV…#œ‰b³Ÿ.�1xÀ›ÀÜvdŒHQ¤Ðãaœ"JArDm̸‚:õÑða-ë9¶“$%t2—¥î\j¸þÄïÿ@•Áµf8@@ÄÓmÄžë0þ¥àá6Å¢ä}cªh´‘”ÑܦYÀšÃa*¤ŒZÓ¼ãû-»Ô˜«[ªÐZÅí¢ã[u-\§p–V`Œ]�¶ªÒŽü�Ò±¡²œ›à9Õ"³òÈ ’UYšd„ˆÉ!„` t!›vA8˜ƒ’b€ÁÂÍ�ãN�xÆÔŽWVVV.¨(ýI€2€–1€aÍ8çÝ.çï1€ùÏ1úI@â?Òøßa4~�àO2€ôgJ€Ÿïœ‰w:3ؼh +дMÀåBàææææyÈ2?»=™‡3e×}5›éÉLÕÖ}*SÚŸzRL´Îs¿¸=ÉüN1ÓºÓéø™•úSÿòåËÎaÐí&íÈn/¥&ˆÚhv†�pˆcàXõö& #R•ЖËXj©µhuTbÔŽ�€sãÁ%Ä.ð…¶ÀU!b•$.¥Hœo38~>ÿÎT7GmÏ‹˜E€D$$R +0H�3‡ñP4›öþl<2BˆŠ®þÃÕàæ?$‰<–ë ®mÎì‘@!)x+Ïþæ—»¾Í×·ríçZ)eÃE3_Y¿ÃS 3ÏT"pœíkÑÄrña'"Åyp‚ ÚãjýåÑX’44ª%}ëÇ!ï9Ày“Õ¾wƒ�œx1>Œ!ìñ�³ufÏÿÅË@˜Ò…%€8exýô@ +_-€ó­-Öõ<Îy·Ûí2Æ\×õºOþã=€3Çÿ­ÀÕÎÏ1ù2€öèç{gK€³1p?S¬Ú m7€6-õß\øØ + ÛÍŠÙÌ/ŠÛ6ä/›Ί¢¸]t¬Pe™?�ꢘ(­”Î2íÓÝ<Ÿª¬ÕêdZé¬åëÜoí®3Îàoa‹ôȶ�ô¹Y 9çÔ6�@†ÆÇ櫾×N x3lp”KÓT�»íÈ®xp@ìV¹€îukør,mÌÖAûXJ1Äœ3‡“‘TVÁcC0€¢®çu!©dU#c]àNz[ ¯„Q2Jpôü`�¤DŒ�ó&gëç_ýQJ0ˆ‚²V«Õétü,»•«<×¹RZ©â°ð}š[aÅ)ˆ4µQ%‰`ÃÙæ×]Ž•u‡"%ˆó ZºpIÛV0B„Ī� †8„0ä×]ÞdÛÍ�ú©~^Ðpê õ|Ày膌mXPë€Ïœ}ÇqœÕ ÏÿO÷ð'ÀøB`§$„ý€vy·»µÕõ¶»œón—1Æ\×ëv»]Ïó8§ ú¹)ÀègÆ€ÿ‘À‡§â¾÷s @’Œsˆ"Î!â¼ÉX�òÿÅ)À…=€SpìÏ”K8Wpî±ÍZl§W®lº››î•²–ÊÕ¬˜f³™ ý,‹B“ÉDut=ß/t¡§Ó‰õõle‡YžeZùªóËZ*?Íu|�q�mŽ CgÓM战Àl íº³Í9ç€}L�ªª" qò&Û^0$J†Ýµ3ÅÂxŒÐ  Ëy-íC¤R +¡ñJi}«9sšÇCD4W Á~5"S™ +ñ`'Ør]8ð5ç‡fcþ'Td"¨0„�o3¶Þh–Ç}’#B$Šy«³Ûêt|•–dY–+=-”?�Í´¶ñáŠdqJ!ac£É¯»Ô§cDAsÛn7‹…vyd¨•‘ 1I.T”q# Âxϱ¾ Ž³ê4«+çABÄa�÷ÀålsÃqœuçL pø“=€ô§z˜pÎëv»Ì³ÿä|k‹sK8ójøkîy]Î=Ƙ³É؇€Çó¸ÇŽã¸[ìŒs]ÆYý;lÓu]‡m¹Žã4.cîÖÖ–Ç\Ç±Ž +®ëºî¥kŒ1«¯à×¼kŒy[Œ¹ŽÓh4x÷ãœyž»êpàŒ¹klñˆõ¼K—~õ«µ5Æ÷¸k3Ûá:�8D¼×d,âˆÖ–m ®_¿¾¶æýjm­þ.ŽërÎc�²”´øé¹œ÷®u=�ñ-Æ\—yÞ%—1×uÇqÖ� XoœOx=3ؼh +Àëuà+Wl V^¹R@Öº•ùZÅDMtÖɲ‰>,&ÖÈ·fw¾ŸY¿l­¦Zûjšgªh)�e�_^ÞõýÜŸª 0Ö ½î ؃iú}ƒušóõ­kŒ3Æûœs@Jñ.%^ŸŽ“±ýŒ÷B¾á’0f?ñ‚„П>ºv ñˆÄ€Þ +�""É£Ò3DH�Bˆ8ΆØ$x°C<Äq q�RI•1ò:&À9w™Ë±ÆlB÷ADˆ†¼ÇÜ:ð‡²œc�TD‡Í°—éËß×·tžåy'óu®´Îý|6)f³³p¶×a 6çØ¦…'©)!bZÏ¿Àte9¶¶ ¢�Öfد)ØÁwkOǹ¨¹wÆTŒs.lo°uÇi¬:(Vßs¤Ÿ™,{4þK¦Œ-Rͽïr¾µÕåÛ¶ðc®Ûívÿš{×<λl‹¹ŽýRvžó<ÏcŒy=osñøã€À˜»Æ8c[Ì»v\§Ñp·˜»ån1最ÍK×¼-Æ9ç!ç×¼k󶶘ëüºÑh\»v�qîy[]=žÇ<ïW¿ªàš€ Îá:¿n`ƒq ×¼kÖ´®_¿î®µµ¶æ:ç þ쳿Zê3ÎáÚµkÞµlyÞ%w‹9®ÝÞj46ÂóðëŸqîyuãßRÿÍz°é6ìù÷}•k­‹l’eÿ¤'3�é¢ÐÅl2™´”Ê”¯fS•Ú¶ü¼Ð:WZ]Ö¾¿ûËËšû·q0p^Ço %Ö&†�sƶë5-ˆÉÎÈkGT +Ÿ“-YÃAÈV w"$Cˆ7\èAŒ‹¨W*�bÚÂ…gMŠBʶ[àB~EÀ·™ÃkëÖï"lnsˆkº€1Æ(ˆôBœcÜâ1@ ŒÚfgT/$v9ôxs{Ýa’¿ûãÞóƒMÜl6Cà�ïîúY–eyÞÉT®t¦”¿;9œØÄ´%œÖ–’â� þ[jè×Εµ›ìwi­T3 Z•¸;DûæÅ1@�óž ŒÕ~ —j›Ï³ž€ ï{¼ î5ÎØÆÆúJƒ]LVßµµ³ÛŸìœÀÏOêÏ¥e� °%ÀVwÛërÞõ<Ƙ˺Ýn—{ž×u½Å3÷ ¨×àcŒ{̹´€¾�¹Ìó(b›WÜ+‹5w³6ßtöü«\i•e‡z6›E¡ü"×…•ôg¾Rº˜äZjªµÊ¦³"ÏUægÊÏü¿¹|y÷ò/ ÑDpD"n6{1–Q�´©^Œ¡Ç{±D‡qæ\r8 u»N–;§•E^É Î·ë§: ‚žv÷gqš+¹žD„„ aìì]!šçÏOJ¤RU|{cµ¹�š0ÖƒÁÀî³ D$™ ÞIÈŇ"%Ý‘I)!DÀâÚ‰÷’Ã8–¿'Cd³h˜‡U½"§t¶»Ûiù¾¯TÞQÅÄ"Àl6›Yx×f“;M°Eµ^ý.�„µ¤O¥”Öâ`i @8@€ëuUϯ¯Õ^¿Žãüú�\ F£Á£(²¡"=ÎyèÛfŒÕÞžÿ·oßœm +J…øË”€ôSSÞçg€óú,[þÎ#Þå<‚~ý(â¼ëyœu=æ-Z‹ +Àóº]Öµ¨àY°<œ{›Î¯ÇaìZÝp¼e àmºÎ{ ÀcίÏ0¶daÄ·=�1ÏÝb›Î¯W o›Îª€µ3%€wéÒ9pk¨ÀuŽÈ?ã×¼kËÀ][ó.9Ný¢—59@ü™³úWgÀè½€-À¯W>ž4S€Ú d!v]·aÏ¿²çÿöd2+t¡¦¾¯µö•ò}¿£g¹VJ«\M²©öýÝÿ[ë<Ϭ÷UËßm9Î6"b˜RJ³fh¸‡Ñ¢pç@è^øh†q<ˆãÅ”�ÌÉ ^”˜ º¾M°‘BCÀ×GûI×KhßÈ8 RbÈàø{ó§Ê3îW£$A”8sš‹Ð‰`Œ".Íå¼{bĤݎcX̪¤�fÑŽ‡8Žm÷ÂI¼¤2Ç{G¥‘C‘g½±É˵VÖ:0Ë[j2Ó5fZ×n Ë9wX éD5 ,L³�gRA_JÍ}#I¤KEƒ°˜´lëñ¼… ˆ½'jpèsÎá:ô Çyo�šÛÛκãl¬^ØüñÍ›7oßüϳa (è/ì|p +ÐïsΣ³°("Ïc¬ËyEQÔï‡ ô‡CÎ#Þõ˜Ç¹×ÝÚrÝ®·8ÿܳ ùúù¿ =�Õ%À– €yç§N›¹[.clóÒæ¦5¹‡\»Æœº xú„õ<ïW—~µ¶¶véâ™À€_;3Xs]ïW—…º€8§nàÝÀ;[ð‹{1[Ø +À­-kÀÙó?»=)&³Bk�_žZûY«•:«—}u‘iߟJ™ÒÙ®¿ÛQ»ÎÖ�¡�Ï�1Çí5Œ‘¼cÛ¾ê`!…KÛ`< æ;„ ":‘!í&Q´–ò0%De…À¬–ÆìÉ>‘�¿+KSWÿ‘!LÁzBŒ¿’¦ ÚUe EÞ%wÍC�öè ÂmΡŽGD¢òÇèXı‰Ö"MÖð ƒáhŒÂ>þcùvsÝaóQ@X!I)â0 Á` K�"(Õñ[¾ïû_i]#@~xx8Ël$ài•¡q6¹ ¢¡ƒÅh’ÈóùÜœ�¡£ã²|dÆG†Ì\�${D)¥e5—Æ`*D…œsX㜄Œ±æÆ;R  RÝ%%p1V4¸ê¬¿óËqÞüøæíÛ·oþç›7o#ÀÚ¾ó'zøÓS‚ßöûÑ{À˜=úÝ.�úIÿ0„ÑðæoŽF£áÍa²0=ðøÖ–»n™‚çu¹×åœy?íx̳ `Åq\æyï@{Q¼ÓøõæE=€�ómïcÌÛZ6=�sÏ»¶é8ïc–üê|Îõ_Lb¸¾¶æ®µå¸ç`±Õrœ–ï€-Ûä÷~ÆôÊwÓÝt¯Ôæ€WÜM÷Ê·a ,íùŸM&ßN&“Bk­>-”ßi¾M·TJëB+íÏfjÚÑy‘)ß÷;­]Ÿ£Ã؆s LJ÷�¡ögœƒõ�OK¯m죋â8_)–ÕAÿj�PYÛùààòmÆ‘ˆŒ£Æ]øŽ°»3"3&D¤ò÷åQù ŽƒÍ©SÊý ’&ãŽ~¨îÒ(I‚ ðvm ÌQU"¥Ô—_%BÎÚ7€Cí)DÕèsS!bÇçÖ[�¤ †2" `€hªˆÊ."Ä©ïïúY¶{Ùït–PÎf3ýžËžÛh\ZóÚQ;p¯\‰Ú^Ûóv¼ÏÛ ’ÏÛív»ýù^E]ogggg'øüjÔnEŸGAEQÁN7r·Ü5÷Wk—.]ºô‹K—�Æûƒ@×½´·\·íºîšë­yî/~ñ‹.¼yóã›7oß¾yûæíÛ7oÞZò~1 ÷•€1€q¿ß߃þûÀ=æ1Þå¼0‡É̓›7oÜ<¸ypppçÎÍ›7‡Ã~ŸG¼Ë[̽.ïvyw›{üÚâä×e@Ïc¶¸¶èœ)Ø¢x¯À/ž0ví}àyÞ’¬�alÓÀ¥Kkžë^ºÔøÅšÛ¶¾›—�†»æº—~µ¶¶¶åmyö?×  þ0Ûpç\¯{–ÎOö~¦X8¹õb°í4ìó_Ÿ9ÿ6$¨ãû-?ÏòV®ó‰ÖZMtæg‡¹ÒÓéîl¦•òwý¬rð8»´bÝ£ƒ´Æ‡bÍ©ôˆ‚L …¬�·£d‘ç&¡ÐŽ"Û¾#²ilü’çADÑâKÇeY–Òö©k�J#k¥”Êè…ÀPòEÆÊèß*¼v-‚(êz^�Èà>Qtÿk!8ï@L¸ÕO±N½#š�‚J¦(DøÛÐîÚq@!Œ‰¢û$DÆÖ K<2Wçck_öeþ-?ëø�NGÏôd¢m'pv^]pbŒqXŒž7JÉXU’Iæssp0%DÆÈ£ç�æß›s2ÿ>��›!Òü®!YÍ�!Üð<BÎ}ÀsÛ€G†Ì>Ðw×9s]V;�®Ÿ¿œ7–½ýñí�oé/íŒßë@¿�ú ü6zºœsÎû¼Ÿ G£›£›7ïÜ9¸sçÎÁÝ;wîܹ{÷Î�;wnà0àœw½Z7À»]Î÷¸ñs@HÙÆ6J rôÜ€„Ä9÷8Ç÷�5~q-Œ8ˆ3ƶ·Aˆk<Ï#‘Á®Ó ç1`M§Á ¦pƒä€3Æ8 g!^çÀ# Ä8¥Ñ㌱hßìpÆ‘AÂùZ%$2¥„1«çÀXÀÖ߈<Bàˆàz×9pÆ9pæ4œfÈÎF@0‡ñmÆ6{=Î`ˆû€# "ô6NoüÚÒDôZý¯×¼k^ã”ÿÏ&“ER¨ÒJ_nùS�¹o-ýµVþ´Èó"·Ñ᾿«oAüWßà–`'ÉÞh'tÆC1íìã`€ˆ1çÂC$ä¬q@Dïî2} +“0!øG¢±,‰¢ ˆÜ1(Qþ®”’ä׈$�LPŽÈ¦ +Ad‚y›,7® ˜#49çü: 1tRí!FžëE‘1 +!ÇÚD$Çu÷ÑP—J)Â8gë …�U$2„q=º&8ر yh=ƒ— µž³Ù콬�„;ëuÁz£-3_ ’!& "Ò±¤1aŠˆt7aJ)¦õf¢õF‡^/´ìd‹1ÆÜZÛ{V°8!„ð[l›mo:뎳ÊV�wfÎ�oÞ¼ùÑ>ûíßßþøæÇ7¯ž=¸W=xøðɃ{ï={ñæÇ7¯-P¼yóúí«7oüñÇ×?¾zñ¢½þú7ï>8xøâõÛ·oÞ¾}Û�ú}ˆ¢>¼.@?ö‡Ã›wnÒ�;æÎ�;÷î=¼ûàÎÝwîݹSÝ»sçàæh8L’>D¶gÈ»Ý.g]�sÎy†½°¾ ÎVænóE â Ϻ?pÎ9¿Æ9çœwÙº³îôìh¤^ fœó<î¹ÐëÙþJÈy¯× #�ósVïqÛra«Î:ãœï3ÁãÐã½èzÝaåœst9[w·�WێûÆùpDZ]Í¡îˆõ8çÛlÝqÖÙ:[_·†. +‡ú[FPÿ �‹œóm¶¹Égµáp~ެÖÏŒsî„aØ ­æ˜ÇØÆjÃá!T_\õ’GQÄ·–üÿÛo¿]$gJ«V§Èu¡§?×v˵(ЉVJçÓN¦ýÎ &p�7·›À‘ ]ݧ„8cŒ…ðö‰¢„à œ£H¼`äYinŒQýhù¢Vú!Â�'8ylL\%S!pþ[HŒÍ¤•_KñI�$0yH´éT© .»I‚8!!¨ +J«CäÜ@¤6š$ÁÑ0hwÅ—+ðèØ,{`ó¤+eöšŒ9MÀ¿"’f8'¯s(û�$ÅqêgÙ-Õñ;�O;VP=)ÞÄÞºÃÀãö +Épay�$£ý¥�&â(¥ãÀ ÄT âxŸl𬪆1¶n‹Ã•³É@u–ÎyØ«¿rù äõ�‹ƒ}Êj¸·€§À›×?¾zQA”ô‡ý¼yûæí›7o�¼ƒ]Îa8öaxpóîÝ»÷î>¸wïÎÝ{÷î=~xïÞÇ�>xðàÁƒ{wîÐÁh8çŒw»Ýn—os�{œó¨†  é8l³É9ïñ^^çœózýågž3æ\â<‚�C MÞƒç=Çø@ÏzÄÁ5œ­¯4œž}·{Àg}›÷82â¼É9Ào£®ð8àkÀ˜Ãøuà< +94‡1¾Í�;†8F„ÅO.Eõç‘­o8ζÃÎÿðV-ô8‡ÀZ®çöGhÂæê©­£euÛ<ìmõ0ìY¥(ïñ�ñ&cNÃáæpÊÿ¿�ØÌO•e¾ò;y1Õ*WEqY)¿Óéä‡y®õÔ¶Z�]Œc€Û!gÛlƒ§Uß!¶ñ:ç쯷9àA;¨M@x/Mñ`äÙ±Ô‹–NB”ˆÐ�zD'$¬ˆxÑ*O‘¤””¢H…ÀÏŒ‰ìöŒm�”'$ô-Ã8B˜¨qØä<ª¿ÍÿÓ6˜‘�RÄqŒ‚ĸ¤¨*e½—)Ê€ÚXVl¼4ý#·"Œí¸ +0 ŘÔði§3SppîBDŒ‡ÁV´ü׎$£Q„UûËÑ<2²­M ovĽÅùߪÛCg)ï÷ë™!„¡Ubº.c++�FcÕ9ýµòêõ_À> –œÀ›7oÞ¾}ËûýþÞûÀy”$£›7G7ïÜ9¸{÷î½{>xpïÁƒ>yüðᓇ�?|òðáƒ;wîܹyp0JúQ—u»Ý.ó<ÞåœGý~|æBî8œ{¶œðùu�×oAÈ›Œ9—~Ë£ßBÄ=‡±BîqlcŒŸ+,BÎÙÆzƒ €à9ŽíØoçh§«aÙ‡:¸îòmæ°¥þ’;cÛŒ�Ö¬þ bˆ!F¤(†°× yÈ[_çÛÌÙXwœ…¡ãœC¯Çùo{§�kx"Þ½Æ[_mlÀ ÜXä¼7VV×�õ ÆX³^¼ÆÀÃ@Ïî±8€Ñ…WC�}þ[¥OGéN'ϧµ/xÞòõ4oýfš¹ÖJëLëNŽˆ1V]À›M¶Á£äN‚˜D}Îã<'í{þÁ +q{\´‘ñÏì:I¤ <Â>`‚rn¾’�pÇe0=¸J)!‚}t�"ªµñD Íñ‘Ü3ˆ6¨+)©Ô>€>ð&Ô¯óHð‡ˆ÷ÄöÁß"Æ +!HÄiœ +!ŽH�¹•�嘄À�;6ã ä|D)†!T^b’>ÙažIÚ@�$5|ÚùôSûæM>;7L°Ž(áí I’ái/&€ Zwp²{Dfoþ•XæÉbЧR@~�sÞäK +°âœÑ8|ù€ ìð•5·×í2À¸³€w{çÀÏ•ýþÍ»n.K€·ïGï#çýG7F7ïÜ»s÷îƒ>|ðøÁ½‡OžýôÓŽÒZm‡Îó¼ëõÓb×QØ}¿�MíqNI Lþ mjœ5ÒÅ¥ Ç½¨Ç9cÛÛµ'ÈÙ6ÀJˆ0¨5Äœ3Ï®b;+5a\·¿Ö“wà‡Ü<-,$ï @?ŽnÞ<°Ïþ{?xøðÁã‡�?yúäéãÇOŸ=~üôé“gOŸ °� +A¦¬ÈŒ’d/ùû$IptnÔó„°ŽH’>à¢>4[óðQ4¢ ƒˆHÔ5˜II‘‡Æ3ˆa�o³�(鎌G2¶[@1’7§`G.B¼cÄýýÑw:þ§Ÿvv;ê=H¶Ù5îÙæ?%ˆûiƒˆ’æ H­–îxÏ�‘RŠZZ+ ÄHðÛÞõëÐã]Î9ãÍ3­À•¢ý¼"!ä€^ý•Ëë`”Üyy® ø¿8x·xËßC€n?ÒÍ;wïÜ{pïÁÃ'?yøøñçϞ>}òâÅ«/Ÿ>{úòå³gÏž>{úøéãÇ�Þ{òðÞƒ»wîÜõûQ—ÛúŸG÷º§’e9ñ6k"@,*HnŒºˆ`� pÑ +Þs,/äŒ-ƒ¢‘a-¾A ’¹‘†qØÜXmÚŠS"Æ!„‘‡ŸY›ZÄ C + ö�íåö‰ 4tÖ›¼ܱi´øùË + KŒ0Ãæ6k†ÛÎzse¥Ñh8 Ûõ�K†�íïì]jà ¼°û. +ÄJ�qlïŸÅÀ9o®lÀªä«qáùWZe»:ów;™¯gÚFüîf…úÆÏvJ”ÔMJDôÌ ð&s¶qçIpz×k?«Ø�é"QÚã¼gUª1¢˜GÕÞΞ™ÏkG´J +�ð& }%ÌјmÅ…d ¢ýT�9²Ð–Òyˆcë6™$G6‘ØðhÁIn0"z°0ŽKñdG +YŽ£À ÍØÞñ»½¨2Æ ¥Œ›ÍúÈ'ˆOÐC‚Äú’ň1ŽF£ñA�»�Nç½§ÿhD ¿Æ9DÝU„û´?4ˆCc†ûû#ÂÑ(™ŸT怌UF4Ú7RÒ‘Íâ{^Í pE]Ï~=æŒq¶Íc›Ìq.Õ�>HFû˜ ]èEàáøÙó÷,¼ý©À¸àï#@ró€îÞ½ûàÁÃÇOž<}üäé“O_¼xúâé³W/Ÿ½xöìÕËW/ž½xöòÅÓgOŸ=}úøÉã»Ü;07‡Ðç‹ú¿Ï=��Z,¢¸ÉG†n £¨U‚#À1Á‘8`̉è{B¤&Œqˆn$xÑ«žWßï��öM Òýx2‡‘œÿéäOÙ6óø(Š<“ b„#DL� DHHmÀ<¬›7#`.çp£mNªj4B"ƒV>!Æœo‡’p›-òîaëþ1Á!¢À¬ÚJîqg…%d»I�ÆÊêj£ÑpœzÓ’oYŒûB¢8:©ŽšnÉL²÷�àp6ûö|ýŸO´VY§“}“ùùå\é™VJ+•Ýnå…öñæ�‰À†yD„iä·Rî4.]iï· Ñ$ !ŽDDÏ£¤¬{Ý B—GDˆÑÕþhD8Âýúç9—”"FЫ<BÊñ-‚Þ´�î 2wÏÀÏÀ \lò!¦4Â$9"DŠ"Œþv„Hdì~€1 &ˆh(¸Q‘ D Ùäø1ò¤àÛ½iD&I%Ï¥a7<Â#Â}ÓŽxƒ(’�ˆ’Ì*‚>½�{ü:D]|Fû£}�þ‹ Ò<8øÎŒ~Ežç]çpƒ3ÆÙ5ÆØæ&s.5êÏÇG ˆàz/å9xpþõ%À;A‚£ƒ;wï=xøðÉÓgÏž>}ùâé‹gOž½|öìÕ‹g/^<{ùòåË—/^¾zýòå˧¯^<{úìÅÓÇO?¼wpps8ì÷£ÅóÿšÇºõ•ôäó Š Š¢hïo£ èGQ¿ŸDýZ;ɱÛ]æ°¨Ÿ 1IŒ‹Ö¢(ê×_Ó ¨m˜“$â<âÀ9k8&0Ž0‰×ó¢µ Ûµ·9=AEW(I¢ks¼>&8ÄQ²¹ó¢îâ›'ýh/‰úQ!Š BÀ(bÌs�Í…÷P£Ñh\ZÛbžÝ⪿9FQÛ`õûI’\�"¾ÍœÆZ´%{IEî)¸ä8Œ3�ñnèYOi€(âœ9 'ö‚À{ý¿\×ç?Ó“Âïø:×·”Êr­uÖÑ$pÞŽŒõFCDžáÀyÄ8[ïÍGUUEß=’DØ€ŠQ@˜>ÇhD‹i@ˆuƒdTÕÏìÚé7J)‰ŽƒŒ[Äpt†˜£Ÿb×@D˜Ü=ÚG¤( +¢¿ÝézAxAˆx3I’!î#Ž(0$R$”‚¤”1@Œ)ßh2n¥AÆìí=*„v½qž •"E$h'à3ˆñ‹šÐA�õ.Ò; À㽚Œ, ‡Æ$KðCeˆÈü$pñ‹à×—ß8×ẀÞéùx| ð.ÞE€~tóν{>|üäÙ³ÇO_>{öòå«—¯^¼zõâÅ«WÏ^¼zýúÕëW¯^¼|õúÙËW/ž={úôÙÓ§Ož<¼wïÞÁÍÑ`ùü÷7q`½ó,|DˆQÑÎN7 �LUÑ“I2¬=ƒª."úJH!¾@ ׯ8 +"’$Éìñ�‡ÐDòªñ¿H)0†˜·nƈBœB€ßéŒpôîEIÍF3€dþÇæà€¾3£Ñà:ÿøõ0�-®_‡{ýìñÓÇO>yòàÁ�»7‡Ã8÷<Öí2Î<ûvî“€m�[i•iè`QÔ�"è÷�ÚÄ�í…LS‚ífì’%Ù)âMëÀŠ $$,úpÀÜU¶Xh¾¹é]C­A„=üý>  ö| !g=V°€ã°.?�9%ÄÄÀ)ÆqœïñmÆìLv¥±Úp¸‡µ¯(@ßxH@¯*¡VÉ!g뎓ô¡�„°®¬X“1+°E«À6zøA8?ÿÓÊžÿÎäðððöd2Q¾¯µÒ™ïk"ŠC‚HJ9'{&­ÿÂ�{Œ9Û± mZp}‘A$ÂÊ3)ƈQkw„ “휄�’¤‰\WØzç}˜ â Œ1>7Ì"FQ·Ûow cd9&ch!Ã(DEíd.E,Êì9„|›±hNBØÀvŒùZפHž<þú÷c zl›÷ÒÈ#"Û~�ö2üP ðÓ  2ô³ ú¹o¼Ó8[ܳڻ9ø�—V·Ë#Þ�úýáðæÝ‡ï=~øôÅ‹gOŸ¾zùâå«W/_½zýúÕ«W¯_¼zõòõ«—¯_½zõâūׯ_ýøúõëgÏž={úâÉ“§Oß{ðÀŒF£á°Ï=Ïóg;ó®³S}€È›# ëGÿ"®äsš�" +!1Îq+±ª‘ +a¥è4@$ÂEšÆ!ð͆�;.ãØž/ƒ‘•!˜6@/l²PŒmÇ+âŽÃ<Ä4M—r¢:¤âÄãÛÛlÝqغã4V‡²}<õùo9@ßúàˆÇVÔ=¾½á¸µø„ÒA= t ‡±mÆ C&„ÀCΘÓp!0€÷æÿËó?›ÙßiM•ÒÙn.a@+IÎGÄÚ¤€“ì[LAE†@}ohË $D�"cß +k:‘|g…H„ûDBˆ±<d_ÊypôA@ĸ.ìþÝì´½ÑùÞ�1ÒÀAËAó!X +QG‘‰BÞ㽓 2õbŽíÑ�þôû¯K�v­#è…œYˆ­“ Æ8í¿wþ/îŒÎNê& 3‘yóæÍ›×?¾x8„›wîÝûýäÎÓg¯^ýøêõë×?¾yûæÍë7oß¼ùñõÛ×?¾z|póà΃‡î=¸wçÎÁÃ×oÞ¼}õã[»åûã�o~üŸoßþÏ·oß¼zø €ê/ïüÇK€-¾D€þî>|øàñÓgOŸ` ÖN<pŽ[79 !R;4K‘ÄRÄÐî6Øâó|Óaüº7èÛ¦ôBã6Äa�o‡B¦%ŽË8ˆ¸Nº·ß\ˆ‘D ðtys¹Æ¹²ê°>Fs[\‡¨–4ƒáBñ�Æ!c '�$A 47VW¬ Њ�CèqàYé1X�§á@ŽÐœþ/ÏÿíÃC{þ'Z·rßWyI¢@ãÊD•I ±pêà® �uFÿÖþ®·�,MEe` L·O;4Tjñ¦‰lU�T k�e�,#¹èHG; +/½Â|‹»öÁôœ‘“Àaªp°±á:±Á¹Ë þ†%²;G{8d%A7*¹›`±â.îâ'Ðÿâ\¬J²åú˜ÓáL[–¨ÅÍõ¬÷ãyŸ‡C'§­¶)°êsÛÉ+0¶ÇŽÚN8âЃ<GTà÷|ßoà÷rY‹;€¸ºúP +ð<ï¡p5¹°¬ºeéOªž§¤ùü^Oˆï‡N!7}kì®Á}›sŸÛM»Yj¶Áúý²P 2B™ +«ü÷ÿöþ/¥M¼Ó®Th£‘CcE"€À‡#€›.€çÞ‰þ0ˆˆß /U—Lsí@&)e’¦Y*³,MÒˆ[�Ü@v–³{#€Ý.@vDr s»C1[­æË0ŠÂ0Ülâ�”±LâT&I"ãu*7©L¤”RƱúSnd­7Q´YÍ—‹ÉtˆžÛjÕ‰Úÿ„¨€##D§Œ1j1&ªˆŒ�óÔqY«ÕBÆÀmý’¡´Dó“‡w By•}i!sÞá9ªjP!ÇÌšŒQòoH¾w]F5B(T;X� Y«å¹Ê°Á«N˜ v“VÀ‘cв4�6Ѷ8rð<œP%*¦Ó›9î=�ZÌ3XSQY‹1й +t×ÀœËÁn3FÉÞ!c‡1ç›Všå¢P"¤L›”6˜£3Ûfm›5i+ Ü{íÝÓÿ»}þÿ¿þþïÿþ?|öþ÷1è°ÈÑLøÆ÷×�‚½Æ0ö4`:0JöÙÎX8À!eŒ9Ný˰êË�Ýv ãq´<ç¹ëPᛵ›åƒ +xâ³go°I¨Œ1DŸÁÿo>جAóA›Jƒ6w;ó�?V¸Õ¸ËøÃ‡C‘þÙ�GóÑ.˜ŒðÃð� ûלÈңꭖç�FÓùj†a­£x#eKËD¦R&Iš$2‰“D&i’ÆR¦‰”ëXnäzoâp.góùt8ìv‹æŠâ¤ð/DÎrf?³ƒª÷Ôeð í0×aŒ=e–ÅžrJ(W¾„Èí +…ªÅëpT>?v^] Ô6%û¤ÐlgìðB�*ó[cŒ=U$¨.Àf”4;J-ªiDˆ:¨cÁÎghƒÒ²òjÚ+€�2½5à0g(}Ƽ¨ík–ã0ä>ç6m0Zz Ê€%BÊå +¥´Ù¦mÖnç@%ö�àÿý~ýï³ÏþëýßÿK±ÿÿÓßÿ‡Ïþs`XÈ;`CÀ1hù…ŒØ ld:ú¶Ý†=õ@‡#¾±hªŸÏ,ÀÉ€cÇó€£õ²ãät�—/Uà]°o@üîÃ5°Û·àw“x–eu]o¢Q ¿ÏY�k#V€ükDô£”P¢°Å‚µe:Ú ˜ÿ›ñ•?q»­Ü9KåJ…Vè{pßþÿ` À¹©,q8Lwp_ +°¹?@ñN +�Þ“,gÓÉìCEÀµ.)€A·;™Ìgóy®×ëu¤ød#e’ÊM’J™&IšÈT&Y’¦'±LÖr#ãM…Q­fóår2ê]DZŠÈ]'‹QB[ùÆÁ*¸9 0o…Qư +”PÀ"òØ•Š:œ,ÛÇ\ÆÀa€>ïtÔ%û0ŸRÏÛ€À˜â—;ì9S8àUlÖ Mž[:Ÿk„ª(Ü/ò»QO£ÞÌ-½A+åò@ÛßßÛ;`L€Ò`-%©f•ƒ6rÞ�6kRmï±.kÁï‘+š|yoooï�vP"eBH…RÐÛ̶Ÿ²†Õö4Ç€\{ïðÿ>ûì³Ïþýù¯ÿõÖþÿ_ÿóÿ×a†È; ,:ž…ì–±/«2ÎÛíJå“|w÷Zˆ¬¡~ äFÀyŒ1à�ŽâÞ ey8Ï€Þ.‚1vø UÀœy7îKŠ‘ ¸ü®`YÔ¢UÝ{à9"‡ªŒr°Oð™2臇šŒ©Ã]@�� mUT/W*•Jã=ï�ðnº*¸‰bˆˆiúgFj'æ@wWèª ½?˜|°ø¯5 �BŽ¥õ–û«áp2�¯VË(ŠâxÅ2N’$N’D¦išÈD&2‡�$Meœ¦iÇé&Žå:Ú¬£M¸\Í—óɤÛõ\Ç¡„rttôòåË—/‘÷”æsž÷‹³%ÜʺóJt %´ƒØó‘CÇ.Sü…ÃƬ@É—©ºè©Î"kÛ”hež»xªB#è€À(5÷0æ²a;ÐnVrgT#eJqç±æC®Æû¼I•’¶§iûšF™ã¾lù9A¹]ˆÄä.¹U;rÖ¤ÚCK‘–ýžÝl²¶Ý(ï?ØÛ×H‰BË´áè ­cŒV´}òÜ€wãÿÏnÇÿÿéïÿ×ÿ¼0®;ù{Y¸U@†²þf>Öl3ûkÎífE£ÍÇÞ DD»R¡ [øŽå98ÌaŽÊ8G�#àWÖKœ›"€ +Š"À=Àäêþ`‡I· ø]Àª×�ꓪ•à­ à¹ÃÇbÑCß÷}Î{CõK¦m�ê ààŒz¨S–;ùpŽPeÀmÖ ”R®Tô`žNÀ»Ëüõ"&7Wš%óV«;š�Z-×i £8Ž™$I’¥2IÓ$I³8MezÝÑt:]ÎfÓѨ;“2M³,K²4ͶY–¨¿¥©Œ†£Ét>Ÿ-§³ Ô'©í4MÓ,ɲ­ÚåIÎFÓÙ|¾Z.§bgI’ïþ4‘i,3™ÅqÇÓzÝñ\·Õ�M»³8É2µ–®+°\G“ÙtF›0\G2V™~"“$•iš¤I’J™d‰”qšÊ4M2™$‰”™¬åf³‰¢õ*\†«Éd2òºžçPrttt¤"€±BP5îî9¸gø?„""x{ Gœ9MãŸdœCë{!†¿ï! +ô<�øÞô� h{t¢Q!ãqÈ(%A‡à{�/!žã8®ƒ3Ã×B,°B!Lª:%^Â9úÏA½=�ʦ˜Ãç”±&¥%¢ík¬­ö½#0—9à À÷_Áp(‚Y €@ ”–Ö…çMü'M¦&mö÷öö*¤\&eBèçü"JèáEË î¿öî‹ÿÿëùû;û±t8~_QHU¨?øŸM€1fÿšÛÍf£±×DìF xѦ�&k³èÂкsæä€À»–j8àõ¼|Ÿ1VÚïEW“ɇ@�lÛ¶_ŠÉï:`Y´nTõêß©à7>öÄðû¢Àâx¡@)âRFÈ—ª€!eféõ6ç¾o36÷gް›Mڤ܅ðçuÜ;]€?\‹!Æ››+K“Ít4šÎFÌjÑz7’I"ÓD!@*“$ËÒ4I¹tœ!Nf³Ét6òœYœ$Ûôm–¦é6M䶈îev»ÓÙ|:›L'CGŸHµ³³,Ûfi²ûKšn†£ét9ŸÎ¦Ãî,ŽS™IUsLR™&‰”q,ãõ”è-‡µêÞ|âÍâ4M³$I’„êD×õ:m¹nw4™NWa´Y¯×qœÈDÊ8ITÔ¯¢)ÓTfišdY*e’I)e«ÎàfGë(Z/gÓÉdäu]ÖR:Á­V«Õr\Ë8|øð�èÏ~a�Õë†õ•eFÝ0 ×xf†eº®ë–~ôׇõ–eÔ-Ë0ª‡‡zÕzV·nø±¬Õj9Þ£eõº®ë:9|¼G £^7,Ëprx¨ëºeÔ�zÝ0¬_Y†Z¼®ë†eYuÃÐ�´CÝ0 Ã0Z†~øø¨Z×-˰ ËjY–Õr~V§–®ëz5÷üÔ?ØÛÛÛ{¬ÿÌ1ê–aèÚá!Ñu½îÜ,~fäºé–¡ëº®W5mï¡õ•e-Ëj采zݲ¬�DàÇ�µC�éL'GGD×uúÿ8Ôöë [ÖÞ{çÿ¿÷üW# ÂAËñ9WžiпfŽ90ÍmÖl6¿Z8]D:¼Ç�5›öØp° Œ��sö\…ˆžܳ,ÀUT€›"@“±_ü¬ön àjò»?’ä’þˆˆ\L~×yiYÔ¢gÕª#&B_€£†ãñb�¾ïûy,hƒÝ¡ÉC%‡* ”!è-ß÷�CÏ‚CjÛ¬¡ €¼ ,Þ3 àÜŽ0¾}É$IÖálºY„ê¤nd,eš¤2‘2?oÓ,IÒe‹:]œÌ&Sáq"3©t™©+ÉR™¦‘렘̦£É°Ûª׉”iš¾MdšfÛ­Ê(Ò4•ÑÐMf³ÉTxîT&©Lò a›Æ2K“DƱŒ&GšN[–îͦÝiœ¤YÇq×uBõºN[ž7œN§óe´Žâ(Žc'2‰ó!•y¾‘¦iš¤R¦©ÌSUÜÄq¼‘Ñ&ŠVóét*F]—µ(Ñ Õ}ß÷}ŽËH…RÖX¨SÀ@G%ç2`6«4 ‹ÀÛ”Z`8ÀÔÛ;×¹�FÎ'e¬Íì²F˜ãtX›±bnÛƒ¡ƒ¾ã@¬£�Üf„PÆ=è~~H(c¢w…ˆ„�€¾®Èð¬Ñü%µ›m¢iÚƒ½=ÂÞœ‰+@ ´Áo 7‹ á«'fŒj{Äj½€`<Ú„6ú>UÂÊF‰R`=VTQg�0ü¾sï{ïžÿÿþNýOIt8B`8†P²°œ€ç ŒÅ3køs}hÛn6š´yÖ? ¡ u’²«Òbhþ™Wgò(º–…/Áuœ<ø:Ošìðgy07ź\]}8°o #&�NDzêuCò«_)ðEßÉ®ˆ»ýϹm³­PÃëÿämJ¨Å˜C}à aë0×è¬PRy'ø`ð�òþp-æw®0œGëÕl6Õ�9‚Õ&Žb™ª :Meq,Ë­;ÝÑh6™Ž;Š|—`|…•vè×=Á;üYžì«ÛLÀ€mç¬Ç@«^¯Õ³¿ó®ò"à=æ%¬Ii…å• ýœ¶ÏA0Ô¨}à£sÃÚ¤´|7 +ð¼?‹ x‡ðw‹?ü0½{¹Žë�¦Ë0ÕÉÑ‘nâM"e"“,‰åMÕM.[õVw2M¦Ãn‹Nd^ŽÏT„°{˜ [-·;šˆÉhè²£‘”‰”Y’&Yö6˲m&Ó4‘Iš.¡å�†ÓÑh赦qš¥iš¤ÛLÊ$�“8MSǛ͌hÚ9<„ér>éºÌeÃáp8$:ÑõzÝñ†£Ùl®Â(Š7q,cod’H™©¨?ÍÒ$Qq@–$i*“Lõ5ËX&q,ãx]¨Lg£Q×mÑz½^ϵ”U�î— �\ÁqÚc@t`–eQËj1n7HSÉ*Ù ZÊXë6O—#ŒQy[ºŒ1öKJIi_cðltJ)eO•=¾tœŽ£Ø€-&8rvƒP°m5ƒdEÊemèðö˜s8²Y‹QJ 1Gm_{pÀ˜=>Cp€B)CpZè0ÊZ-Öbc%V•#%ûÄqòÁ:Ö¦Ìðy§±··÷`ÿ¡’)SFJ2õy QàÞ{íÝ�ÿ?{'ÿïÀ îûz:`ÛÌf¶­€öÌòcìqyp{༟Ø;xy5ét€YÔÒ«UW€/Åðûçê”pë"ÈÝ.ì6kRJ›|g 8°/)Ñ©ÅVÄzK0Ðk4cBJÝw à—ÿðÍgðçtà&àìaw2™/Ãh¤‘C –Q´‰T³<ÉÒ,“iªHóu¼ád4™ ¡E‡Y°û·I–fª_˜¦i¶tZŽ7ͦÃ_¹­£î&ÍÁ!˲$ͲT¦*4_¹N·;‰áÐe�”©LS™¤Å3&2N’M¼‘½Çšv¤9³0œ�†Ýîh2™L&Êá×jyÃétºŠVQÅRFª(e*“L÷YºÍk‹yÓ#N¤LÔò©”2ÞÈu´^GaEËéd2ìº-µ� +W“Êl40ïÑ»*ÈÄ–Š7)k@óo é÷8G°Ð2eÌ*šÿ |ä¾ïƒ�®µØîSfwz:S,}7gá¢ãt +­D` Žvƒ4m`À¾KÏsfså°Ä¡Êe_ÒÏi.Ьíka ü3Œ1 ŠN‹çê¯jqŒÜfMFIùaNþ^gåf³Ã;Ü÷í‡û{{ +q��mÒ&¥M[gdÿ�À�øÿ³»ù?t:ðâ…ï׫úÑG°™ÍšíF“ZÂ9S(æNz`C»]ÕŸS¢éÌ'°®}¯Úõ#ÔR¬†§à¹NìÊ€ðÌB¼Éx>Ôl²<è�›.ÀäJü‘ÚwÀ²h½®?©:“«ÉÕ•ÿoeÏâÕ� ¸Ýf”6( z"p X0B>W0æ8ð°G½Yn(|q”BµëÀÓ¼Y×¢ pŸÚÛfo� +Í©Â6pþ×ÔÈ@®å®„œÉçLp<à¸À(ùš'Ë-¦­Z–ˆüÚçÐV™É^`åJ:À}ŽÕöN(—¢”2hÛ:+=ÐcÌy~Ï/gïîù'þèpà¾Q=«ö„à=ÞF+ ›1fUsUàñ—ŠÛGuP†K”1,Og]ÇqZT·Ô+ñÔϹ xt-Ä"È‹*øENêÝ€—Ä‹Á`ðÛÁ`0èÓ¿xÕï÷;iÖj§§§Ç�>¶áV +�@½^?Ó«îï®&Wªè³Ëž·oe7ûŸQJk�ÑÑB(³(Ã*²\4FwBÔïEƒÁë×ÿðÍégµ“óË׬ܧ¾wÅëuoÂ0œè„h��y´Þl6qg2M³$-Ê{Yh‘–7�FCÑuè$–2S-6µ½ešJ¹MÓ$ro8�Œ†.¸T2˲T¦2ͲìíÛ<üOÓT†®×Î&Óá¨ëLã$/9ÊLÆI–¤2I’8^¯GdO;"Gš;_‡›8ŽbU¤­¥–ëyÃé|¾ +0–›$ßÓYš(Ò`šd*UQåŠD¦©b'‰Œeš¥2^o6qEQ´šÏfîç2Bêõ:cŒ¹%´É9Œ9Š{ªðP©÷µ,J‰F£ÆT”2`¨Ä^rÞóÿðß·rf+£ôsªí—\x~õB£7÷náèänI®š:¢ì)V(S¦—ìócŒ� 6çœókŸ£Jì³prÑ©0[ôð‰Š¢)!ô—ʤ–VL¬Å,Ö²í&¥ŸìŸ0´Y¥içcß/ï?Ø{°Ÿ©PÚ`ŒÛLgd�´Ø‡®½Ûçÿ¿¿³ÿ;îŸ=1ªuDœ¥ååt +àæŒ+Ôœ÷¼ªÅ¥´¬<”„a,”ÓŠkϹ(òžgYX4ó�À¯}Ÿ1ö3þàâUß<®õû¯µOûƒAÿ úƒ~¿ÿêÕ«~ßü�¦yzúŧÇ�?þø£¢'òñé«AÐéXuƒÖõªçMT + JªðܾÕØ@³A)eà �ˆ€‚*^¦c©"¢8”Ðk3Æoh·x«e¹Wþ"Œ’½2x~NçŒú¼‡ ¡²··÷àÁ_kšF+ê¶Á¶uFöû0ÜÔÿ>ûìvþ�¼ýìÉãûA€À F+ÍëÖÛm»(¹²ÿ> +4Ô¸QnWÁ¬gÆBJ�¿tàðž!€ÊàÅW"8*PU@ÞŒ]\ôƒAíƝúæñy¿aöµO_]\ ýË;Ð7kµÚµÓãGw ßôOÌ~ðMÿõÀ›\)`ïV`ßôr:˜ÝfÍm´9z‘s°¹U­; «+Œ˜`àTu�6߉(5¿¹ç—¯/ÿñ»üº?¸Å�¸âhm¦!äЙGÑz-c™f2˲L¦‰Ld–&éʱ¼át> fÓa—Ž’,GÅÍÏòV[*WèMF“Ù|:u™>Jd–¦êNr L³,M#¯;™.§ÓÉhèNã4“ª’˜ÊT&jƒJG¢½NŽºëM$¥Tý„Ô²Z–E=èvGÓÙr>�âX1¥LS™J)w¼cU¨ÈÿšÈ,IS™%i&ÓDÆi¢8Q¼^¯Âp¹œM‡]�Õë”*Ñi‡1V!Œsa@Á(Qèä™&€ÃZшÅ|90J)¸B±Ö:þ9‚ÏE r!Zÿ¼RÒH‹ðý ˆÔâ®™àÈž;̲¥6iªÙÆ€Ñ&Ë7÷ù‹p@ÝVJ LmP +¾ÿ¦¸”P%8…hpµ¸ã°–Ř%ì¼¢qø€ ç«„צMÎ;œ ×±Ó&ÚÞÞÞþž¦F>/Óf“Ù6êHöüÃpëü¿•ÿpþB¢?yRýþû^ÀmVn÷�j�ÌÇÉ_ á.„ÑõsÊ®Ò`ߣ?¶D!ÐGië©:øÝ;UΡƒ/îæ——ƒËËÁ7ýþà²vr1¸0ûæIí6ôûƒôûßö¿5ÍZͼNÏ_½|3¸¼ÔÌ×—————·2Û¾•Ø* �mó—¢—“DÛ¶-~¡3ÇVpÌ-ª[®€zý=0 øÿÜŠn®÷k7<€äÞÝŸH)e$7SJh½Þ].×±\Ë$Mâ<|NÓDÆqzÐ�ÌçÓùl>íºs™¦Û8»±ýM³t+ã4MÂaw2›ÍçËÙdt(eªüYª¨8Û¼7NFóy.g³Ép%e+ITRÊd¯7Ñ�h„RB¼p'2U�FRoµZ-Ëñº£Ùl6—Q´Žb¹Id’¦Én„1Ë2™¾ÍT 0¿K©¶¾"-%iKo6›8^Ga¸œ/§Ïsi½^·òž²Íh³ la)n*s‹±p/×Ñ@€Q¢ÆZ"à¹]¦xˆ8æ‚ëÀQø"¯ ¨·qiOc¶ý_ ÆNt¬Êit€Y-Æ(i"¼@®æÝ(ÍÇÊ•ó%ïq8‚ÜgPÓ4íÊ¥ ÄY7ß'”1xCëæÎ]Õ|´pÀ¡IÉ‚€cìøÈ�²6à¾/ªW/À¦ûû{û{Z‰R©Ðf“±¦]gd�0—Á#€âü¿ÿïœéºñäûÞ÷AppnsÞdtÆØcÞd*W`zÒBÜ­ßd_Bù‚œ­Ìý€ã­F€ÂOÄ—hµÀ¹\ú———ƒÌ‹~ÿrP;1}óoïDߪ`PÀ+³öEÍ<}^ ú'æ+ Ló{ùÛË×—µ“ã½½B‰ä&¸  ʱ#zˆ¼Ðf6€XX?s•f:¹å„½æÅ¾ùì¤vrþ.|÷Ýw�{Æ�_¾ô°8­ï^ùȬ”³–N)u§Ál>_ΖóùjEaEa…«U4§³¥2Ø›ŒfJS/ +£0R‰¢p.£h>™Lg3åÀÕu…šÑ]…a¸ £0Œ¢h®Ã0ZG“Ùr¹Z.—ËÙhEaÑŒ ÃUø&\…«Ùl6�tëu‹Ñ:éFr“(ŒH’¤NiËjyÝ‘˜.çóe¸‰£0Žc)Uñ@µ‹°?˲,Ù¦Û,Í’,ÝUR™&©LãXÆqËXq‚§“n×iQjY‚‡:ŒQ +>¢@-½m#ûècOø€œƒUÇ 'ó0FæP¶ðª¼A ö9eÌqà™7€B ¼ô<ìÁq%eŽ@�cÑÃ6øÈ]C¼‚h¡ÍÏ Ñ)ÚôÊA«ˆœȂ߻ÿ;üèOžèúö¾‚€çœ�Ñ?¢B¨æ8€âŸ ÀŠ™�vUÇf¥É‘ƒûÔ¹0ǽSàœ¿ô<ä—ƒšùÝëËÁå ?¸€‹.¯úæßÖ[)À·ý¾iÖjæééÉ£�?Þ»ßæ@ÿòrpn¾þß.{y©`oooo›  �iÒmÚ€BéÙmÆìž.Çæ0·•Ïž€ã¾zççæÅÅ |V;1o§Åõß½Gò^zé¯$•2ŽçL¯[­–븎ã8®ç1Çq\Àu¼®7Šùd:[ÍVËÕr5›Žº]ÏÅ®ãxž×õ<ð<×ó¼Ñ0˜Í—«ùr¾\Îg“ɰÛv»àª³ëy® Cìbw6ŸÍæóù|­f³éd„žãv=ϧ ž ®çº®ã0—9®Ó¢d´–qœÊ,I¤”’ÔëuËq‡“I.ºŽ"ÅÿOåF&INPÚý‘¥[£(ÌKÓTÊL¦R¦2–k'2Ž£h­ÂùlÒu[-Ë²êº®ëÆ³jõðH×-Ë0êFÁ¡5 ãìÌpª†ñ¬U¯u˲ô‡�uÃj†õ̱ôº®Æ3K=Ô°ªFÝ0 Ý0 ]¯z]¯ëúáýÇÖ¿«†eX­:9ªêu½X\¯NÕ2ž=3 ÃhµžµôªnýB×ëÆ3ç™Õ:3ôC½®ÖÖ­Ÿº®ëÕjµztxxxx¨ýõÇ{{õg?«V Ãj‹éU½®ëºáT-£ÕR‹Õ2ªgϪŽa–eé‡{uð,Ë2 ýPÿ™¡ëê©êº±S ~øøèãÃÃC½ªëÕ#mï±®ë†~ïµ×¤Íf³Ù|gÿsýÉÙýÌÿƒ‚€p>¾³i¥R¡J5lh¡Á`6cH«Œµ›�&çh伫]À˜ à9vp^ûôؼ¼¼ÔÌï.óà··`0¸¬�˜ƒ‹WýóOÏûý‹‹.oG¯úýþ+³V«ÕT +púEp9˜æëËÁ.Èàã�=z|œ€½ À{¹ l»×c8ôŒ!8J†±6Çyîtv‰€yn^ÜŽ>»?øî»ï¾û?Þ‹’<ØïJ¥ÌR)å¬UWÛŸ1‡µ˜ã´X‹µÇu\×q»£Ñr6ŸÏ—a´ +ç«Ù »žçy.s”RµëºŽë¸îp8›‡óy¸\…+å¼áy®ëüÊÇq]p\çW®çu½ÑtºœGáj…Ëår6u»®ë¹®ë2×i¹-—9¬Å,æt]×e–>ÚÈLÆ©TóD':mu»ÝÑtºZ®ÂuÎPõ¿<óW'ý6Û%)I’d‰ +R™¤YšÈ4‰“X&›�\GQF«ét‚¿rZuÕÏz¹9ãŠü‰B D_ˆžßû�õZ-_ˆëßãñØñWWjžhl¢'„ð{®ž£DcÐ +T—›Y ÄØGñƒ¯ÆÉ†?8ˆþXøÂ®Æãk¶,@,~?€‡ }�ºPt2ÎX»Mí%ä@#_ +0~‡í¼•†ã@`{_ !z «‡~!Æ"¿AáZBˆà‡@û€öp!D1èVqˆB|-ÄKDÁš¥ªؤZ^}£””¨@ø¾wïU@³AY¾ÿ�sþDןèú÷=\ÿÀ9_�'–ÅlÖl²ªÿÂï5í1Ä3 üÀºò9­*ë°6k3ö”w, €åÌËcm¨W´yy9¸·R€A^x/ø¶?|[Dß~köM³vzú~ ÿª_D¯/çæë׃w#€�?þøÑããããÓÓÓ\á�6hƒÜ�)î¢ãFp–9Œ=w ^×iÿâ0?ß}÷ÝÝÀ‡ê2MâX&‰ŒW­zËí‚×uÕ™îzt]·ëu½Ñh4™Í‚Õ2T¾Zár>›ŽFÃѰÛzÃá°ÛÅîp4 ‡ÃÉ,\G«U8�Â0ZÍg“‘‡8ôºÝnwØ»]ŽºÓÙ|†«0Œ¢Õ|¾œÍæÃ¡Z¯Ûõ¼.¸à�ëz¿êv]×q¨>Z'Rñz¥”²^'„2o8™M§Ë0\¯ã8Žã$•±šÚfÛTM'gÙÛLÑ�³L}2•YºM·q–È4Ióá¡Íz…a¸šÍ¦Ó‘ç¶tBH«Õbà9¨³ �/sBH§è¨ø{=ä6¥À,Î9"b9¸ê«Á™è(vpfµ€R¢¼Ñƒcmîß(ÏC­Ï |Ä+°�ŸQSïJ&¨þ`3›±_枎DÓ´=b1uÁvæ�è#0ÀQrYFP,ÕC ¼–ßS)V¡Œµ•D0ЯòNGÞ^~°·¯=Ô4Â4,\ÿF«pÞþ¸€&e”²¿ÿûÿÀõ'Otý‰PÙ?ðñÕøÊ², €1ƃýkÞám€:üÞ÷}QUЃ:  mÛöÓ&¥°Š®YÞÈC×4/úýþ`p^_ƒþàõàNp“Ü×È#Ó웵/j_|qO àÛ<\¦ù�——ïG˜¦iš&k6(mx¢§¸ÊmÛî!S.~cÄ?Av%�v»�ûþ^\|sa¾Ÿœß—µJè—T#LW~¤Œ“TÊdî´ÀóºÃ!v»Ý!»^w؇£ÑD̦ÓÙrn¢(Zo¢õ*\-g³ùd6›N†“Éd:Mp2�L&Óér†›(Z‡a®—«p:™NG£éh4'“‘˜Œ¦³Éd2›¯VÊÁ#\…Ñ*œ/§“Éh4šL„èGÃѨ‹‡Ãî¨Ûu¬úp­=2˲¬^¯×ë–‹ÝÑl¾\.£8Š×›��Y’%Y¦ÈÇiú¶èR¨(@æ|D5˜$i,c™FÑFÆ›p-Ãù|4éº-¢¢ÞTäêÞ¹q,‚’¿âŸ!`n÷Î92€ ðx¡,|�sèþ¤Øls ¥¬t)¡¢Ž :¹nè@‡£¡ ‡ˆØ †pàœc‡s†…šÐXǼúG›ŒRò‰¦išÎú�ª"0›©î¢�€=ô{ˆ{oÐz‰j�5¡¸s`Š­Z쀌E$ð”2c´L˜Ý¾÷zšÍæ ýë(zÁõ5Ï·ÿز,@°mÔ›6÷}_X:"÷}߬1çÜ·¼1ç¿VfÖFiÇR£¾´¥ì½˜ã˜¦yaš¯úýþå`Я}zlîD¯/ïó� Hú|kš»àþ`ðúrp®àòžàøç§_|qjšýo¾yeöé{€ò¡ì€ �À1Ô Ë™'ÎÅ7ßü…Àw�J™6+±›�f"erï%“$•qšÈ$ô¯;ŽF“ád4Í&ÃÑp4M&Óùl6Ÿ¯ÂeGë0ŠâXYj,§óùt>�Χ³Éh2›Í¦«ÙlFŠV¯£(\‡Ë™Jö§£Ñd6šN¦óù|>›/Wa­£uFrFa8ŸÏæóÉt6ŸÌ&ÓÉt:SÀ1 'Ý¡kéÝ(NwCºN)muq4™NVËÕzoâM’HÙgi–l³,M“m–n ¡mšm·i²M³mªÆ‘ÒLÊT¦RÆRÆ›(ZGë0œÏ糑çPEh�cØŠï§+»G çȇ-§4‡øë+Cµ+íˆ"ç~z/oÿ=ž³‰,ƾtœºªòÏ×ð\µø÷†ÒŠVsoÁÐë Wç9WãÀv@T…�º7(%švDc0Ô1'1SØ îÕ7z€ˆ½^¯×Cî¿t8"ìLQ9bçØŒ]Ÿ‰�tçÀ#û{ûÿF#úC •2-ŠS:h6(k6›Mö䉮ßà ¸8À­í¯&mÑi0›¿�*¼Dß÷�/‚ñ‚YByØö|ŸsÞ®!Zì—Œ]\\|sa^˜¦i¾ê÷ƒÁ¥€AƒAÿõë»)@ÑP5€DÿÑ웵Úi­vO°'xýúCÀéé©YûÂ4Ío.Ì óâÜ<?à*ÌäDÇB‡åÒpí6»¸¸èßçÚ¨Ú¬<&v£Ñh¦¬˜ÈT¦!8Þp8œN¦Óét:›Ï§ÓÉ|2�ÎfóÕ2\Eëu¯×ëµÜÈõz®Vóy¸\­æóùjµœÍWËÕjµZF«u´‰ãx½‰6ÑzGKõ ³él¶Z-ç«UEá&ZÇ›MÇ›( WËÕ|>›Îçó¼<8�Íf“Éh4™tÝ–> +™¥ù\aùs½N�nw:™Í–Ë0ŒÖ)ã|~Aª¹¿mN>J³­*ým³·i–m‹úÀŽt eªD‚£p³\.çÓéÈkQjYÊG¯P»âùþï0è!rüÞAD¿×ëù~ý7jsþN½Ä™\×aT3‹1f¡žSòÔ÷ zˆˆB©ÝûØó}¿ÇýŸÐá»YYè!W>Ðö« ÆXË¢”RÚ D#ŠßæRb6(‹l€0ÛGä¸(Gìù=ôÿ­bG�âC�c¯¸óz¸.c :h8”h{{�5ö1­T*”ZÌf¬ 4s ô¬×ë©âÿxœ‡ÿùã{ÀYÓFËSº^È{> + t•ûpà¿VºmJÁ²,à<zqqqa*¸0‹@ÀM +pyÞIj·Š€ƒAÿò¦ÐiÖNk_ÜSüön àò�ÔÌSÓ4ÍoL3‡ó¢ÿ~¥ˆ‚–Á³\ìàÏë|÷Ýwß}G� +¡�ŠFìF£Ñh$ɇB™¤q"ã¥×rq4�LfóÙ|®Ú}óùr¹\-WQ¸ ×›8^G›xÉÍznÂ0 Ã(œ/W«å*\Fa­–Q­7qoÖë8Ž6q†Õ0 çË0\.WKÕ>ŒÖá:^od$c­ÃHùö®æª¸ZÎgóùr6�ÎF“ÑÐkQ©ñ~™eYvtDtæzÃÉt6›…á:Üä,À8‘IšÉ4˶H‰�ei¶ÝfiºU¤À$ÉrÑ¥”«�DQ8_Í&£¡ë´Zº +¿êCì GŽ~�§üÀØïá×ðìZ¥è¾ð}ýߌ=D޽bxÏW�\JëËÉ]ªòf/8ž b‡÷|�¹Z€¾ïƒõ¢š!õ}ÿ×þx>vò”£Øóóêâ)Û1dÊD+ƒãºž-TÊ‚ì\ÃÔâž Gô{¾ïû>úã7Ž@þ²€,Ž>ö8€°Bp +ÔüÎ+ûš¦U>þ’Òf“5Û6ûK€ö‚ 8_]�ÇW–õ¥bÍÁ÷‚9 #£‡ÌG¥yê#âxb]urRÅ×}Ÿwx»N© +.n®o.Ì‹‹<ø6¯¼“¼æ=5€oûƒËÛ]€¾YûâC)Àí.À?¾þ@àøø´fž~±€sóÜ4/úýÁ ÑÃ�`,tŠª †Ã€cšÿ3¡´Bh#� ú�ó_ÆRfYÇ+·åáp:™Ìç«Y¸ +Wár…á*ŒÂH‰mÄ›Í:‘2‘Q¼‰âM´^/Uë…Ñz³Þ¬W›Íf³‰ã8Š×›µ´‰ÖjØn½U¯?ZEëp½‰¥Ü¬ãµÜÄro6Q¸Ž¢yEá<ŒVa¸Z.gËù|:M‡]VÅ2IS©ø=GGGõs‡³Ét6�Â(’Š%§q§2IÓmÁ>Tû>Ûfê3ªA(³L%I*ã4M’TÆr³‰×ár9W#ÁuBÀÇhyèyj”ÑCô¼+@üÊC/7’ Æ×‹áKáyè!" +Oøˆx…èa`ð¬å8žë8Žƒè9Žcµ<ôÃBôÑØ-cì ¡ò…Z<øñ% +ôÔ&¢˜Ñâ“à¹U·,‹êôè°L)m9óÿî‰å!*ùxüÞó<ô”¢ €g¾TîÇ>ðñøú�‡ÑC"¢7 +Ð +ôZî÷ÏÆˆJ±çûœw¸ªX»Ío`^ä)À`ðÙ�àòNÐ|?¸ËÜðLÓ<===ýÓ]€ûj» fšýüü7M³€W¯ƒ[>_"cçæ€ÖÊï@ƒ~(PCsqè9Þh4›-çËp†óPç«p½Ž£HÆëµŒc™Ä‰ÜÈM,ãMÇQ®W‘²à\G›�2呹ÞD2ÙHoÖñf½Ùl¢0 +£8ŒÖ›u†ëµÒŠ7I²‘±Œ¥ÜÄŠPEa†ë(ŠæËå|6›Í¦ÃnËš$2Q€4Mëõ:m90šÎfóe¸×Ñ:–©Ld"óJažéçâéVuÓ,ݦÛmRŒ É$Md^�r½ŽÖ«p5Ÿ‰¡ÇèÑq]@Çj¹ ‡žãzØõ¼¡çüêÌqϺJBŒzÎÂõ<ðð†žã"»®ã¸^Àq<ððL¨ÍºVËó~åyCÏ=µ8zžóä™Ã<\èâ÷JP|ï¹KG- ¢ç8ÌqÀae–ÅtF Ñ•Ì�ç!X–ƒçy=OíÎÝâÕgγ®®‹(òÅ…çÎ ÏÏ@pC\  à8žøÕPäRHTÛ{@4í1Ñuj³¾d ½û¯@“�ÇWWWEôÿüùóï™Ãœjõï†uàm›s›÷V+>"ç@é £ïsÞJ)Üìÿ óÂÌkæ«{»—îœzÞE¾¼}³V«�þé.Àë?Òx'Èà²o¾ ýÁà27hyÉTîƒØA4R|8øP€” ¥•òmh| P\Ý8 =·;šÎV«Ù\MÇGëÍ:Þ¬×q$72Ùlâx­ØöR&‰âÏÅÑ:^Ç›(–›M+óÝ\•G&É&‰“Íf#ãX®£8Þl6Ñ:^‡›xÇR¦±Le¼‰ãµ\Ëu¼YËx½‰Öñz®×*%X†óå|6uÝÖ(IÕŒo"e¢ë:uÜád4�-£UÅÑF ™¦±ÎÒmš½Ýª šfÊÒ¢�+%©¢§R&RÆ2ÚÄÑ2 çóÉhè2ëè¨ð{éô}#Bàc¯×ó}ô_ZAnöáûþ×¾ïÿæ¿ý·±�è €·S~©þM9xÐW†¸¾J¾ýºZ ï£@äW=ìùèûèçCð@ß÷Ñ÷}üß®bkX”è9ÜŒ§3ÆX“²6¡Íf³],ÞðÐ÷ýž@äW¨L÷Ðg×êÎEž`Œÿ/á#ZÊu•!t¼¢‰xå PwÞkÓ’¦i%òùç m°™�…>ñ{ׇ Y)ÝÞÿß3‡9¬Zý» (Ìóç(<:€¸°ÀÁç¿þú×=ß÷yÚuzqû2ïû—ƒÁû)Àý`Þø, ¯"€Z­vzoðvàõëuŽ~jÖÌÛEÀ.Ìoƒþ`ðÛA¿Ñá�޲=@Žˆªsø?Bhãnð¡2@œ*ÝÐs»“ùr>_Í£0 +Wa­×ëMÅ›¼Y®”öŠ)z™Ä›uá¸Ëu¬@AÊ4V¤£$')¡žXFkå̵ŽTò-ã8ÍUüâu’¨oŽ×Q¸Ž7›x*vþl>™ŽÆón2Ì€¡qí£Ï±˜Tëìʾœw•‘# +Cädˆè#÷ýÿÓG„¡•ôoÉSªéÂ&kvØ®4zÐÉÇà€9Øãœw`Œª&Ñg×XÖ¡�¼ç�}@ãž;ï¨ÿ‘‰–ï÷zªîMí�¦•Èi]ô?dþGà€�|ûäÛ¿@ƒ)ÏdÞYX8æàˆ¨TÏat^Àß\ü1ØÕþœ.€ªÜ.æ!À«W¯úŠT»·Ø‡0øó"SÀ`pÙuñm0øvp9è÷_]\˜fpÄ Ó4ÏUróÖÈ h7иH�¤ÑÈÍ–ájFë(\Çëu´Þld¼–±ÚˉÜNd"3™Ê$‘2RœMœlÖ…Oª›Æ2‘IRèïJoä&–RnâM"ãd×�SÊ|‰ŒåFn¤”Q,ãMÇÑf­ŠŒÓÉhèÎâ4‰S™&i뺮SÇŽ&³Ù|mâ�r”jB1Ieš¨*€ê¨D`›�$çÜà¼'Yš$2ÙÈx³ŽÂ0 §Ó‘×u[¤Õ²mh·ÁZ¨@?¯œù–@Ììõ8rs(F�Û(w¦C`ž ÕúØé€ ŽàÀ8ïç‹_YvÀfÏ8ö8rßG€—ŽuSJ,kÛŒÒ2ÕšMÞy±[¼à8#P:xàÅ�ÿ`Œ€1€÷zÊžžxÆ»‹».€ǵ‚ ÀŽ¢"´+š¦h””i“5cmðñ/ŒÍÊ!% +ÏŸ;Ž +ÿ«A´Û Ê€QÊxO‡z9÷Ñ7"pxÁ9ÿú×¾ïó/.Þ»î‹î¤—´ ð€êÜ_üöÏgªÀ7æ7*PãˆýWýÁàÛoÜÕ�¯U9óO¥÷wˆ’o}7h„÷\2ÙÈ$N“t%&ÓY…Q´^ÇñFªr~n¦›&©êÈ8ÙÈTÑîã$Þ$‰”q.¯“‡þY¢TÅÓD&I'±ÜÈ8IŽ$2‘Q"•"g’ÊDª¡œ8Ž“XÆI¼ÙÄ2ÙÈu)©®õr>� ݹjò'I"e�’:u¼Ñd2_Í–Ñz“ùs¦J  SRäY&³·Yúv›fY’lÓ,{«ŒLÒL&i§iK)ãx³ŽÂ( +—³éh„N‹X.c À°¼£Î±ï_ùè#¶Äî¬Däx…>ÀбoŠâLy{0p:ÀÏðV@ \fœ §¨vÀ±ï�}ôQX�²ùqr5‘žZܺ…. nQF¡eò˜hÔ¾!Øà æ[€cßÿ��_£0®ðö�û¨ìIê…ì}ZL¹„r`Œ9–2į̂ͭ¶w ‘Ïi…6)m2fûœýë{þû@©B€9»í´Û”R¬Á® ñZ ’ø=t1W?ã}ßwÿEÀ‚4¸¯ 0ø@à@N."€oû¦ùEÁøè�Î\~° pz7P5€KýÁ·*Ḹ0MóÜT[=þò.) ¼ãä×üýk¶Z…óù_mb5(7JWLÉ�$y0M¶oóv@¶Ý#B2I³4»�Rq�¢0šÏ&“®q~Řrc¶òh8ðqž8‹V1ÞØQús˜“6Y¾GŸƒ[ìQGuþ††ÈÛ=: ÌZ;ö/ð±ïûØóýq+È{òùû9‚ã€Ulÿ<Çm3Æ,JI›´¬ú�TX´¸ï†ÅðƒJ0ü±qÍsŒà\E›¾ë8`À»Ñ…Ãcð°<¸18b RÒ4B*JŒµmßÿ5¿ç¿?•”þ†jsŠð¿ÝnÓ†R"eUx ØCà\5TTa…ó_ÿú×¾ïóÀEQìÞIþÂ.ÀMðí··xÿuÌ@Qxõª?èûíà·ßæpQ@Žq €æ ˆ@o@sôþÕuž±–ë 'Ói°ŠæQF)ãx#“8·Ø‘q§Š-$ã4ÉTå MR™ÄIÇI"ã4•U§“In(”f2)>o¤”©2í’Iîý‘f‰”2N“TmÆx�¬7qœlb™&rʼn £p®æËùdÔõ\`Žë‡„�zÝ�Ñh2_-Ãpo6i^–H¥LcUá˶éV gÛt›n³ÝtðVy•%Y*ÕpAÇRnÖa†Ëår:×µôVë—Œ±6tÐÚUÜø�þµïû=ßÖXlt@õ¨%#/òs×a¬eµ˜Ë€9®3<ÃbÿçÞbhíðÿZÁ‹°®ùî˜ïð޲ÍÛ-ÀÕ$›O'£®cÕëuŠ,D{|±ÐCDÑÿË’kxsâÊ �=�œo¯‚!âB�®x  =\\ _þ „¸Æ^…X,„è ËÁBø¿ÍOˆŸ~J~tþùú‡@"_yð_ŽÎB »jqÇŸ€è°/B“24ðá‹…bø 1ì‰Vë*øAøoô{8ÂÅOÉOÖ¿\AD�Øo¯î"ˆ q�€B ¾ DOü |ñ#öòÅ�Ò‡´Í˜Œ=¿Ýšü³ ï�Ð&emƘÂëó}_°ÕPpP¡MB3�LóÂ4kf0è¿ê_š�>zTëúýÏÎÕ‰þÍåëÁ`0¸¼º0Í‹‹W}óÓGæÀüfpqr®º§�...úýWý�‘W¦™�œžžþüÑÇ}tS¨½ê÷û¯N.^]¼ºx5è_šæëË~0è×>»€Û‚æÅ×ÌZMåæ« ³ß¿¼ì›¦yµóÚùÅ…iž›ç*)ÈqÎ4Í óäÔ|Õ¼¾89=99¿|ý°t+øs`2�Œ&£Ñ|µ +Ã0Œ¢M¼‘›8–ű:ÃÓ$7ýHÒ8ßì*ØÞ +å¶¾¹½·²úM +9`™¨M'3™Óo3¹•jp'ÍÝ@Uö ¾)I¥LË8Ž”xØjµœÍ¦ÓÑdØ�Œ&“ 9:ª·Üád:›«;Žc)‹C"óš_–J¹Í¶Ù6ɲì­:ñ³TU²T¦±Š¤L’ÍFª¾ãr5›NFC�Y”þ⿨V«gú“ª^­V «Z­žU«gUÝpÎïɳgÕjµzf=Ó«ÕªqV­V«Õê“jõÉõaõìIµø>㬪ë†~Vµ ÃÐõꓳjµZÕŸœUuõЯÔ÷=9;3œ'Ž÷Äqªº^­ZÏΞT«†®­nD-¯W«ÕêÏtýðððððáÇ�«z¾¸ž¯ùDÉU«úWù“œ=9sž8¿zâ<«êÕjõ«gFµZÍ儞œýììÉî¦ÕOlT«UݨêU]?{’ßyõ¬øòceztxx¨^©û®?”T*ÍJ³Â˜-„ïe>¤HP¾/Š2@G#”Òf™’]¾|±Û#*€®ÕúƒA¿ßýêÑG�Núý~ÿ¤v9èæàR ~æÄA³öè¯Ì�Ùœÿ­ªÐõO™¯Ì~¿ŸŸýùŽ==>>=}üèãÛ`ö_õ_}vñê¢Ñô¦ùÛ~¿ßïÿÖ| +¨©Ó¿fÖjµZŽ*¸4k5Ó¼0ÍóÚù¹išµÚù…išæùù f\\\œ›æEíøØ4ûýKóäôäļ|}ï€v“w®i0M¦“ér*À:Žâ¼\§išdI±ûÓ,)È3¹ìÎ6M²Ý_R™fÊ€+“I–e27ûÌãÿ4Ëòð ðåȽ»²4ÿ0MÓ$Ùíã$Ž×r­7Ñ*ŒVóùl:šN†ÃÉd29:Òë-èN§³ù*\oâu¬<�e¦º 2-l”eñ¶p0“Ù¶(fùO”®a1Ž7›(š/ç³Épè´,ZWb ñõ›EàÁ=!zO¾_(á¿y€ ‡À¢¾1pÏ ? +|¹§ãgˆ�X XÅ#ä¢Êp!Z`÷¸?þ)øñDZ�]b \c|³ +<ØEuç�xcx ñ;€á1XŠ!þËÃÀϾ@\®øi ‚7B\ýKðã�cñ-g)(‚2zD(k0øð8П™T*ÍJ³LØXˆBmrdÀîõ~#]BˆF +Jª:¦~+Zfçfíô¤Öÿ¶ÿí`ðÚ|´÷щÙ7Í“Ï.—ƒ¾iý~ÿÛ~ßT3ƒ +úý�ù·5u(Ÿ|jšæÅ+³ÿêÕ+uö«Ý§àø]è÷_Õú¯...^õ¿í×Îûý¾’¹ úèøøçÇ9ÔÌÚy­V;?¯™fíçµWƒÁo//ÍÓZÍ4ÏÍójçæù¹Y;?W?ÖE­–£ÜEíÑqÍ4ûóääDun®%"xFS1œN¦Óù|¹\¯Ãu$e,)e²Ù(�ÍBA7•Y’eq–ÉT¦Ê(÷óQsºY–¥Y¬RðDáÒœw——âÜžSy�Ê$Kd–C‡2K™¦I,ÓT¦›TÊ8Šã0 £p5_΂Ñ(¿çz�RæGÓÙ,Œ¢M¬¸Å‰Lb™Ê4͵~Òl›m³4}›nw’Y–%I–å6F2g&r³YÇ›8Z-WÓÑh躔~®·Û¶]h�¸æ(á^ä?>C@DÈëx¬Í˜ �¶z®f9çBïqôs«JßçÊ#z¬¤úT#A)`2T–�!‹–œŒÙèpߥ2¤ˆbð¡m7i…4�÷|îû¿ñ‘ûõÀ¶omJÇÁbñb} /o3 ™ý”€DT¿u:XýÑGäˆ=Ÿ£?öEë'(,xÕ4íˆJ¡¡$ùÞÿïO€JXâž%ztjšfíÄì÷û¦*»õûÅÑ^;þø¯Îýþ öéÉéi­¦àÜ4;R3kµZî +v|üóãwŠ€*6x•#ÆnÝÿhÖ~¾·w;xôèøññññÉ©Z®V;ùìäDõNM³ßï_öÍ“ãSE8<¯ÕÌóóÏjf-‡%Hzrjšç5Ó4k�ý¼fš¦yrròi­?¸¼üÇË×—¯/__V*%úN +p—pL&£Ñh8œÎWQ¸^‡ŠX/ó™Ÿ4IÒ8SûJÍÓ©: RÝP{]fq¢"ê<äߦYšÈLu ¶ÙÍX¾,Z…Ÿ" lÓ4Í}HUƒ!Ie²‘q*e¬ÉË(\Íç#1uEw8Ö)¥õ–7Íf«U´£�Œ“$Š$I²4ɶÙV…üÛm’Ê,ݾU‘ʶÏÒ4“q’("¹ÙlÂp>ŸMD×uÝz½^·mpí¢¨î0Æœ§¹c‡0ƨAò¯ðktnÑÁ@|SÝq}ìqäâÙ.@PNPJwŒ@PX€@.·csÁÈoqõ9‡ŒQZ©4íb�w:ˆ¹†Ð¾9Gsé@�@`ˆßᎣÜžF¯~�·Eµ`qÄ^no€ãg˜“ URÓ>!„²Üjô/€Ê;@‰ªz&ÎÇã_û½žïBH¥L´2¹‰Hƒ”Ê¢¢~µOòÝrzüèØ|Õï¿êÿÖ|”ÀɉڥçÊé/î1ÍÓã�>ªõÍþÅgŸžŸÖNkæ§'7ù¹¹kÿÕNO�=>>~|kÿï=:­™¦Y«í…WùG_ÔîÀG}üèÑcÕ +<=­©©¢““Ó“Zíôø‘€~ß<>>̓ƒÓZ­V;¹Ùý§µÚééÉñéùy­fšç§?:>=5ÍÚɧǟÖúýo////{ùÛKz/¼¼Û ÄawØõºB©tF¡\'qçÆtlöT1†�s`ÂAØQoÀÀEÝò¯âÜp_á�¼Ù¹½8Öôá<…§ùâÈ[â™Ó†S‹þ¾¤JÙ�Åý3Å`,ÖdŒA.<ˆÖ¿a*«¼@´FÀw·îpŽUÏÉG�g˜#p·^ª'·•P…B›,ÿþ|¸Ó`å] +Àe´©�|<öý­”Ë +H4MBI©R)“ÚícòôôäääøøÑqMíÇÚG{=:1óÌÞ¬Õj·‚ôZ­vzüxï£Z¿ß7OåUºO�Õ,v¿Ú}§§Ç�?>>>>¾ê<¯ÕLÓ<¿µZíô´v|;øèãG�=~üøøø´vZ«�ÖNNŽONNOOO~üññií¢ß7ÍÚññ±B‡ÚÉIíD-~zR«�œœœžžœ?>­Õjµs³vüñ£ã“ÓšiæÐWôÃKúgÀ;οR2Ýél6›‡Q¼YÇÉZæsò*ÛÏ#ú¤¨©r[ŠV#³$Éd–ïýd+ÕØ½Tl¼B™;UóCÛíÛ,M²mše¹~ßM«^&ª—�%Yî &7qÅ«h>ŸÍG]Ïñ”ô¸ëBê–Û³él¶ 7ëõFn¤\çCˆ¹�ªD¼U�@5¬ì‰بÞc’¤I²‘qm¢(œ-§“Ѱ«T�­»!Õ쌻8Cã +¡hÓçzüºÅw[Tù‚¿ÑEnÄ«ø;È9püñî|ÀŠ3úfq]ì?!'#ókÆÞ8>`�..²a¬2¡¹ÙÎyy qcÌ~ê:Œ1ÇU-†*¼èìV>f,°®sJ¸ðܡߒúÁ òˆã–縌�� ñ3];"„2û²X¾Ê9@£T¢R.߀]P!¤v+J>­�œ?ÎÀ4ÍG{ýÕ±ùÅ-0 ZÏI­vzzüø£�NLÓ¬?:QðѱyZ«ÕNk¦:Þ¿PprüèѧÇÇ�nh@{Ç'§§·2ú[í½Úéñ£½÷ ‡˜ZíôääDÀññ£c•Ï›µŸÿüøTý§'µ“““šYË?:9==>9>>­ÕÎkf­vüèÑññé¦ùÙ±€Á·——ß^¾÷Ì4�Æ;ÿDN«eQJ�îhºX.ó"`œꩳ<É’4U[(ÍKëÛ,ͶRù‚ªH_*|P÷,É2Õ{Û¦o g¾$Ëäöív›—¤T©D¢JtYÎ/J’¼â(eÇñz½Wál.<§Õ²,ÚjµZ­V½^'uÇM§³p®ãÍf³ÞÈX‹ËÜ Ùæ•‡|2!ËR5�ʼ´™•*h¸ŽVóùt‚C—µ(%D¥ÎìæügEÔŽºÏ‘w8‘Óf8rŸ3KÀ€Ÿ tSI7÷‘sÑó|O�w‚ O ¶ªÅAi‡çÜçÌEëê&DwWT‘êŸ3•Ñû¹8é×�jsªÄ"ÿ#_\T‘#çÈ�ó0ÐQ‹ëcÀÎŽ ��À +Åâ«|qܧ}ÛŒjZnú¯Ñ¨”Ú +èç{„5XwS€"(W)‘Ûpzrr|üé£ãSÓ4_™fíÑ.øÂüB€y䀀Úééií´f~a{[íÔG�ï–Ž�s0Ïk5³¶;ÿ¿ø¢vzüø=PÀéií´vä� nE§Ÿ�ÔÎk§''µÓ“Ïî€Ó/ÌÓãOw@´² ðnP'GGäˆÐº3™®Váz½YÇJ÷#IT`®H´išfÙ[¥³»sûÜù‹e[U)ÈäVµØŠöÛVfÊ’'/ä–�oßfÙ�jW²ÝJ¥Ù�ªº¼LS)7Rʵš +^M†-¢‘C¢Ôºë„êx£Étº +£hobÇù|aAGPòÀÛ,K·J#4ÝfY’n•€2 +IÓ8‰äf“Ír6�<ÇÊÍA mà©Sl# t¥PËaÐiƒ€”´SÜç C€ã@žˆ±ïûþØ÷ýÀA¸]+`Œ±SFdè¢Ã‘£@`€À³œßÊÞT¡Lt”õ‡ðýÞØ÷ ¸µCU�¡¥zoª=α˜/Rnœxú�¹&tœçÆ÷ðü9 <€`¬÷ýg˜Çÿy@4í�PÆØý\à¿´ PÊ#ZÞ#Í(¿*¨TʤDù%£Æê›¬¡gv£DÊ„þòðJír¥B›åJ³LÚ„¶›¬Ò¬ìiŒ4I‰VùR!DûœBˆ¦ýM¥BKåƒ["š¶ÿ`ÿ�¦=xðàÁn/k©”ö5í€PM£¤]®4*ŒüM³L Üh7F5Íf´TªTJ¥’V&D£ª¢Ú¤”PR"äÖ¥d¯ÂÊ”ü[í`ïÁÞ»—¶¯M£!¤B¨®i¬Â€–Jô—eJH¥R!MJ -k‡ïÀý<€÷ª€(F“á¨;šŽ&³ù2Œ6›8QŠ>*ŠN2¹ÍvF;JROQþ³Û™@.½™©ê[¢Fqe–$ùDþ6Ë‚,y+3¹MÒ,Ýn³¼“�­†T™Ü¤‰Ü¬åf†ÑR ‡ÃÉpØÕ=«io8šNça­7¹QÂ#‰Ì!Ë’T1�¨ +DšÏ(IU$H™$ñF®åzEa¸œ�D·ëPJ)BDD|)ޏ¾Dñ&ñF8Ö5ú×ã1^‹E�è‹Å›!‹ X àCô‚…!Äâ|ù;�Šÿð‡ëÇâú'oáy�ZçŽø�˜"âèÍ¢ƒo��‹`, ó{ñ&„@î‹Åáüp,Þ àß ®A(À— c´íÿø‡ñõØþ™=Ž6€`¨'z³@\Ï„Z‚|qüZ,ÞÆu¼Q‹ÿ„Á� Kà"@Eã?ütýãµü‹'{œ3`È ðe ‚Å¿V +PD4µGïÖ(m4Iƒ”H¥LJ%BŒV+?l²f[4J„JÉa…Ú• +¥Í +aebj7Y¥Y~¨±† Í<¼(WÊD#BHIÓh¥BK•í€hû{û4mÿÖ¶ÔH…h¤L5�V.W*ŒTš”@¹Ñ¦Í +£�5›ux³DhƒrP!D£• +!ä�Ðm�Ê-hV¥ä!aeZ:ÐJïÀmŸhT#¤\!´¬ýuÍ +%„”ˤ¡àJ+ò>¼¼£�ÈD ãÏGÃÙ|¥¨ÀRµã2ÅÎ-’$U†;oÕ_LפÅ睊——Øs?Þ­²è(êoªŸ("nšnwUC¦«¿Çi>oTe½i,å&‰72Y¯×kJ)¥-·;šÎæËU…Ѧh^¨.EšäŽåêÖÞnÓ·ùˆPªØr§D eo¢M­ÃÕr9z^«eÕëõª®ëzý¬zfT• ŸQ/LøYį̂UC×uÝ0 ½ªW«gO Ã0Π㉮ëgÕjµj�gŠ%ø³jµZ­uC7ô³3ÃÐuÃ8;;3ªgÊåï¬ZÕϪúŽéW¯Õ³³º®†aT«úÍâUýìL-^­>¼y«<Ôëu]?Óõª¡ëU]¯V«�«Õºa–±£ø½·¸eèzUÏ?3ªggºQ­V«ÏÎÔM©;×ëÊÞ°~fgÕêÑÑaµú3½Z5t�V«Õ£{¯?³ ð^ €VîDy +P¾U(R€Úìó‡ô=øäJíJ¹F(k²J³òPk*¨ì œ@¥R¡¤r MÛßÛßÓ´ý½ý»Ù¿•J…•+MJ€P»Ñ¬0ªý[›o–Ë´AÑî@“6J;(“F³R.€h¥û÷@é6h¬Â R*)*D¹\ù¤A)¡DEän +po ¾{%y¸œEØ�ΗQÅñ&Ie*e–¥‰Lâ\V³àÖ¥ÅÑ�Sìò½Ÿ*Ñ�´è¼Büjë§Ùv»M³<ðßÊâ¼ÏÞ¦9Y_ÔÞUqËx†óùÔc³8O R)¥¤–Eë” q2™Ï—«Õf³YÇ2Ú¬U/ ˲¼³˜eYºM·‰jümw&Ai’¤q’¤jàQnÖ«Í: +—óù»ž[§õ:_]]ý¸®ÿéëMà/~>.„ï#ƒ…ÄLÿiq}}%èÿ �= 1¾àÙ›ñâMpý&øé§…@ ~'DðÍB×c!âê þé÷?þðãĸüñ?]ùx-¾VŒB "�õfq½Äý @±wõÃBŒ×ðìM°xó»àÍ?½Œ”Jûûû{{{”r°md šmÎlö�ˆ7ã^‹^±x „¾ +‹ëk±ðý À"Šë7âê÷×]ãÇëÅ,?ýáŸî‹Þïijç¸x#Æ×Áµo¼Œ7áËÇ °ù¸Ólæh÷F•÷®’vP*•4�”JÚ¾¦=Ô´R©DH©DJ¤TªhZ‰�²§iZ™TJ¥R‰hšFJÚÁ�¶¯=ÔJ%R:(hå’úVR&¤ÜÜ£„h%BJ©”4MÓ4­T*•ʤtP*”K%RÎ/‘ +Ñ4�hÚ�v •´mÿឦ•ö5M{ =Øß°÷Þ™¼¿¯•´}MÓöµ=í T*—J¥Ò�V*•H¥T*—K5M+BJ¥ƒ’¦i%B4íP+RÒ4¥©H4R.—Jôq©D4íÁþûûoïÁƒý½}MÛ×öµRIÓ>ÔöµR‰h¥R‰hÚA©DJ%í@ÓöÈ�¦i¥ƒü“„� +)‘RS#å»ÿfY–É$K“¨ëát¾Š¢�LU«.K2™Åi®­�¥YòVµ÷³,ÙfoÕx}¦Ê…ÙVJù¶h&7är›ïÊl›eo³TfyUNë·…—w.Õ™Ê,QÚâ«u¸šOF›¤…Iš¦©eYVËjyÞp:š†s¥a¢‰ÒLJåû!“t'šÏþåuÌ\Ú¬0Šãõ:Z‡ál>ŸOºà´êzY×UÁoÌŒ_ó?ðN�s xG™hˆj€œóï* ô{èã�ÐBßçÊÁš+áQE%s¯ŠÐŽ×Ø::âGþ#ïøÈQ-α t�J �Gì(á=�–ð/lÛ¦e¢i¥½½ýýýƒ’¦iÚþþþƒÚÞƒâÍÔôù5‡r8Ïí?êÈ9ò‡Î uç>öP`½Xœ¿à>çÔawçÀÁfvI�…{öö5­R¦6þ!"}ï*—ËåJ™R©” )R.W*R&„TÊZ.W*„°‡„jWšå2!@©T*BÊ„Z¡å"ˆ.—Ë•J…RÚÄǬR)W*•J¹BIEƒ´’#Që“r¥I}H¡¬ÂÊ„¦2ŒJ¥R&D;,“2!¤T*ì^Îû7;s_;8(•vA|¥R)— )—I¹R.Wh™ÐCµx§R!¤QR¹{¹BÊ„|RÜy)¿Z.—+•æCZ.“’¦hïíþûö÷5í@Ó´=ÐJÊ›µÒ(—I¹’ß@¥\.¢UÊ»W…”+¤Bi¥Ri´5Ö¬ÐÛ¿²»WÞË’¨‹Ãér­cÇIKÅ©K“,IÒ<ÅÏ5ö³m¶ÍÞfEL°M“|à'ͶÛmVt ³D¦Û,“2Ë’í6Ûn·ÙÛ·Å&Ì·ãÛDÅé¶(Ýå`q"“hEá|:�3Kr’‘jZ–EiËÃÑh4]®Âh­ãÍ&ŽÕ,€"%¥r·õS™ç éV±’,Q*£I*c)7QÍ—³Ùl:òÜ%D¯ë;¦žg0ßÞá|p��#Ç*"ç/:�N'/«!çèûâ¥#z8"ú¹Ï9Ï ×Û¹?å·‰gà2¬¬>¯àÆT Ï9v”dðÝâ>¶ÆÈ9rì@³M+„�=MÓöTºz§fµ·w`÷lÎ;®ìÜÚ„¿49t:ª"¨¸Å¾ïVà+ ÄçÕ´4:œsìå5BÆè­·©F´J“Ùv` Øx÷¢�m4MÞlÚMJG”RÚh¶›”V(¥´ÁšŒúåãÏ)¥”õš¥;Ôh2ÖhRÊ>§6k7(mÒ +¥´Ñ �¦â$ÚMÚh6h£Éxƒ¶›”PÊ´Ñh6› > Öl6)¥‡JʨÓlä_`6k²F£I)k4•ÇŠº4íàv`ÿ D(!�üf)mä§´BͦMië�RJ+Ìn7ó/5Ú¬ÙlÐÕ�±&¥…�U·KéaS‘HéÝ`_ÛWñÄA©D(!äB>'¤ÑØÝy“5*³Rî0Íü¶Xƒ6š´ÉØc¬}ë—ý®,xšÊL¦I²z£É|¶ZG›$ÎåwÕ¸ŽRÐÛÊ"ÝWî:2{››n)Z�*óoÓ,•Û,Ë +æÝÛ·Yòv›[tzÜù‰¿MÓ4}+o„º¥Â$™&©\Ç›õ&ŽÂÕr*ïä…ÿ\¨Ã™ã÷8pPÕ|îs¬¢²ÜíÄ�@{ +½qÑœïôrKá'ˆ=äÀ9@G-ŽÀ;=t,Ñã úxh³vƒò1Q�¨¶¯=x°¿ÿ`„R>¾aøõÀ7^ú˜/€�N:à#XW>ç8r>Î.�Ü-”1Ö å›÷烊ÍfÛ.zŽï�Þ»c¬Ù´›MÆÚŒ1�Ýðˆ›4ï-Rúü�QJéçÌfÍf£É(c`·›Ê‰Ä¶™Ýf¹=1û’1ÖdU¿­ÞêMf7³Y£IÛŒ±&c6c¬‘KSJÙ‘rR³;í&k4cŒÛmõÜv~':©”i™”4íÁ¿ÙÛÛWûQÓ%”²fƒYŒ5‹›§”6k²&e¬ªv&p»Ùl6X“1°Y“1¬cÛmÛ¾¹sÚ`”²Æ!4�­”߀ûÚA^3(7H¹¬ë”RJ:Ðf¬Il·8§¶m3ÛfŒRõÊ2Æhƒ±*‡» üŽ*xšW÷³M×Mçó0ŒÖRÆj X¦Iö6• K²m–dÙv»Uãµ¹ô®Ì>ls.oV¨ñgY–Èâ ²,K·ÛìmºÍ“ƒt›½ÍërIZìü­ÒKeÇ‘Œ¢h5ŸŽ\w²É Fê®u�Bw4œÌ–óùr¥ ‰d«úžêð«œb«î+VH³,SÃé̵Σ( +Ã(œÏÅt8ô€é„�O>ᜠcާsŽ�BE‘sèý'_Qüod;Àî3G ( K?�#°ðN”´&8À;àŽã`õ¥â~ÝáŠ`›ó��Å�Å_æß'œÖ;œ+½Îf“VèCJT ë@Û{°¯i7ûï�Ö)ëÜìUXo%ä Ï=)מ (`ÀÜÒ€‚w3±­Þë*P2M«Øí¶ÍÚöýpÏçÔû‘1Æl›Ù³³¡ØyŒ1›!³Ø¡ �/)¥m`6kçÍŒ1ÛA¶R[Í­3cÔfâqΚÛfŒÙ`3f±‚Jus{À« +‹Z”Ò]Õ^lf"‡6S{´BË„”ˆ¦i·j€¥ƒJ…6ò vÓmmçwŒ9º×h¶”´i~qc¶P/4gjû·Aa@iƒ6YƒRRz¿ x BËD)0ZÕ\ÊÞ%]¶ÍÚí€q°ÕëÒ¶muG Ú`L§ï¼þï@¶M¶2I’låºÃél®ÂH&2”I³4Mò1€·[UÈÏ[ýŠæ¯Fn¤âÊLn3%¿›¥Û,Ùݶ™T£CI^Ìûˆjl •2I³·J¿#W�r-ãÍfÍçóI׳FŠB\Œb¹CœÎf«yFq.*eœ- Yˆ~%I–&2Í2åTð†s%óx½ÃpµœO§]t[-Z¯×ÿ憦Ó:s]÷i‹±qîü©œù:�ÀzÈ}¦ôwP±úœœÖ‡œsV*aá;ʰ*8ŽÓjµÄ­Åñ��±—O xàC%PØáœ³™Íš´ùPeÕš–×¾<Ø…­¤B(í€ Ï¡ƒ~¡Ó鵯>rìõÔ&Y ¹Â€�÷ˆ�ß¹±“DÌ@ËKc¥=•‘Úm`÷K‚½ÿ©6Ø6·í6›1ú  6¨/¨ýʘå<(cÔb lEk®V 9Ø�NÜ�´Y§@Ûà`s›©Å-f³¶Íì¶ +j€±_à—¥Œ�°™ ¶Ívc/òó²É š¿¨š¶¯:ôÑJ͆‚.æ8`·ó­VÐ*0§Š*ì`h3v[-nÛð|ÞáuC»¸th6k2Z¹§  i„PJ¡”Ò†ÎT*ø­™íüT–[j·:Î;…Ù÷¼�e’¤Û,‹ºîh2›/£pË¢äž&™L·Ùv›eI’fÛ­T�õ,I¤rÙI·»Z[&ó¾`’¼UD@µû¥”J‰³¨#õÀm¡Û‘%iîá‘ëI™Ä‰”ëU´šÏ&CÇåd¾¼õxøÉáá¡^§]Åt6›…Ñz³^oÖëXõ0dœæƒ¾²à+©TGõ7“D&q’$qœÈx#Ãõjµ\Îf£‰×u[”ÒpÀq —1‡1÷éÍ”òq&|ä}èt +Pà[ÈÙsŠ�³¨æêÜpó:ÏçI.¿ Å0ö9a\ùXLaAÿs„ñ²H88ØO™Ý¤íÇ´¬b€R©t hÚ¾¦åõkB)e óÙ DŸw8pëÊGÎùnvÑq� . È‘ó^:€À:îÞTm›1Föìí=x°Gö´�”¶?¬pß'ó'lÆÀr˜ÝnßÌ]°\í¬º¸9²Û`³§�˜;ßçòàÅ´#cŒ9 P :2` 61c¶å¨¡ˆÝü0€±*îgÆÀ¶™Jãlå‹dc¬¡*Ÿ�!{•ý{„U´’ÍÕ�«dÔÏÞÎg+3D±û°Ílf¦ñÐä¼ÃïR@êÈlÆš JÞ€ý}­DHƒª¡KJuÆ¨Š |ÆÀf¶"šÛ v8ðbPËeŒ±–Í-ñÎËÿN0Ùª ’†]OÍFëx�l”rošnS™�ð¤Ù6“yçïm>Ú“÷ýÞf‰ÌR)³·Y¦ZùYÁÜfÛ4ÛÊ,M²íöm–½Í�ú²,“ŠŸ—eJ=<ÍÒd›&‰Ì”¹”›õz9_ÎFC—ÎdÑ5Ȳ,ËÈÑÑÑÑ)óºÃÉt>_®Â(Š¢8ŽÕ<³Ì¤L’$ɲ]}Q ŽÀñFndFárµœÏ§ÃQ×u¨NˆNÈóçÏŸ+=LÇì©:%;y€s€àLpDä>ÏËà‚ :ã\1í:ˆ¹)Pu§Ð}k¦�–ó�ó Ÿjqa(¢��ÐÉ�hpö”/,Ìi|À�٬٤ð˜VÔqEJ%­TÒTýúÁÞÞƒ=¢òMP€Èy§ƒùâ=„º€9Ìá •ú!€ºs›a=g,>ÏÏJ¨S=vG¹5P, ÝÿDîÆù·i¦ºùRµþd–Jµ“wŒàb¾n[d71ÿÛ|"'Í’4ScE̶Ùv›äCÁI*e–dR¦iœ×–³ÉÐmÍR¥(Xp�tBt¢×[ŽÛŽ&³él…Qn6ñ&Þlr-“D*éq5ü“H)³$M¥²(‹7›8Ž¢hEëp>ŸÍ§Ã¡ç1ªÝ8ƒ2€ÀP$èù)Í�#rßÌà€ü⽈Àk¡�ˆä¿ñ¹zìØ`®Ëœ¼´V\Á™x×H°‘‹³…òåá¨<½‹7:~^Àó}m6㇔–)-«æ2!D+hý`¯´·¿Ow5vûfñž%r9s?Ï/€c§ƒú8¿ó+Ÿs޼g9ss˜mÛ k”ö÷öö4ºW&eÕ‚gŒAû¾_ì‚#ÿ×Æ×¿ò¯Ô¶¥t&Р;¸@C „@@~%N E}?ÈÙÚ¾@�¸¨þ¤ˆËþõõ®¯ÇÁØP-=…@Š—z«³ð}DôÀ@)µŒý…cÊÈœc´L¥eö°q°¯5¹ïÿ÷ë^\�ƒ±/|§x¤"h {ˆ +¬·0 ˆNô�_ùc;" @D�"ð±×CÑAä#ÀNO`üæþ;]ÀÒ)W�Fƒ1ÆíèÆcŸ#vàB‡�Eà` "¼D�ãß+ÓWŽˆß·„ø£ç^9ièyÝÉ|†ëh½K)ÕTÝ6½e®—úc~i¶M‡?ËdZ )"`áÏu3(¸MÓ·Û4MÒ·éÛ,—Üæäá4Kãtç t:çbÔk'éN\$MS�BH�¶èG³ù\¹„űê$i¡,’‹„%IšÈ8ÏÿóIÃX*½�Mͧó`Ôíz-FŽÿíááÑ‘ +‘!¦Cp-|_ @QèàØ �ϼ@½§,Æ…/° €sí÷Ñÿó�â÷c_Œß(1Qô^ !‚@,ĵð}ö„@!ÆW=a@¾x ®ƒñ +!z ÷œ{Œqü‡ýÀçÈÇU‡1F)£´ÑhÐ2­”I¹|@öööH>òÓÆŽ=€ž/Æc_´•ˆ«`1¾£ï Daý„\!âøÇ?Œ¯ÇâÊ_´Ô–@%9Àiiÿ@«h{ŸÐN“µ{ +#ßûµg¼wYÖW†Ñ²Z–¥-ËzbYùª†®×g†aœýÌ0,ËÒu½Z=3 ð ò,˰ξ2 ]?;«WuÃhY–eX–eg_U­–e–eX-fÕëêŠç<;3ê9¡Û0ôŸuË2ôª®ëú™¡–¡–aÆ™q¦Wõjõ¨ú‹ê‘~ttøøñÞÃÇýðáÇ{{{� ðZ-«^·,Ë2ŒâÎÏÎôºâІa¨;7ô³êÙ™^¯†¡–euK7Œ3ÃÐõªqf0õs[gú™ñ³¯Ô_ê:¹½ýÿúððˆè�kšvxxxtTýÙY½nXŠ�®uÃ0ê†eXFݪÆYýL¯ê†aµ,uuè>³Zw®»M™J™n³m–ª`†ëõ¦0ÍJ‹ñžÝÞn³4ËT0S3BÛíÛ,KU»-{›©^aRp²LfoS©*ÉN(˲·JW }›¥òmA0PÏ›%‰Lä:Þ„Q8ŸŠ¡ÓšÊ4•ŠDœ$I" !D¯ë:m¹®;œLç³Ù2ŒÂhí\O•OX–((HÓ´–$–Jø4Žâ( +Wa¸šÍ&ìzÌ¢D;üäèèè°^¯×ëzݪgUð,«^Õõê™qfÖ™zÏYÿî™q¦Ÿ��†z+Z†e†qf=ùJ½þV‹µ £nY–UýÊ0Î/ÿ¬˜-°vot£ªŸ)Ú¿UWïãgÏÎŒ³bñÖnqãYµøPÍ,Ô©®?®W�ªzõððð±öX{øøáÇ{ù˜À‘š +¨Võ3Ã0Îê–egÖ¿S‹Æ™aY-ë+u†ñìߪÅZ–U·,ËúwÅû¼^U[¦ =Ö�Ô @UÿÀµ÷¾Yе!ÂèŽ}Œˆñëñâ'4O‡ \€ðÅb�À\ÏyæŒÂC~èy^0 p<PèÿßQt¡ôΟaà÷~‡>Š¢¸N|ÃéŠ@ X § tÏ—CeÎÂ,g@Cáõ>úŒ1Zfª¨išÖBˆÄ3 „¨ÐÅu",¦ÔTBxá/~Ài9€à¹b1Ä.¢ð^�ß +Ä7‘#r!„@ö÷”´ƒŠêú1ÿ„uËÖ  U�1X ÁrØK·Õrð:±ˆ]~%ÀÃÅøŸÇ_ãBô8¢x7{— ˜³öÒÜ®˜ÏW¡âÕ&‰R÷¿iâ¿M‹áŸ$Í”×–ÊÖwœB™¥ª°¿}ûv«Òƒ‚’ŸdJ�?ËÞ¦Yú6-¤�’$Ûn“|‚(ËÕG”coÇ›uÎ'£‘gMbÕ:,² µÿ !õ–ëy8 fóùl†a´‘Ê-¥‰J â8ZÇ›8ÚDñ&ŠÂå|6™LGîӢúÑ‘ö‰¦ !„ ÝápñFcŽpÎp±à›ÅñÙDðS€�ÀñO=D!¢¸"�Àg(üñØï �/ÇÁ?ÿˆ†‹A P,<�ƒeà:Žƒ:†wýÆCñðÍbâ⯄@Á›ƒ1ÿR¸p‹…BˆÖÁGì g øØg� eŒ–)#�ìï= BXežó ĺÁûñÄ¡~ðc€ãï,âjñý3 |ø(r!~ÿ«-ö<ø’< Úç„P†hQj9´¬Àûeô}DäB£´S9÷¯¹ï�ÇU`-ÆZªXÌH3ÆÀõZù¨4px®xŽŸÓÑ÷­Xÿ”ýÍrãH¶&Š‚fi´»½j±M6'eeVDp–FƒY›³€äb å'¸m!Ò*¤ïzc gpA%ì(Þ­3t¥ê¤qÝ4æÙf˜á¨·¸ƒå ¤È¬ÝçxÊ2~¤XrRðåëç[ßGD˜i�EŸ´BTZ‘þLZ/ŠaËZ&©5.ŽN$Òùse6AŒÆIC†}Ë;â»n·¯H©„"£ •ÒHúÿ›iýoÅ'˜Ì�¸#CMàýLâäìÀâ"yç�ap¨RZ+m±á̽˜ è2øïøÔë‡z+­Gr⻿s½o…Ͷ"1WED¤9®´Í©aFÊ´oK;±þ(îmy}=Ë˻»‡õvÇHyËåËzeÃýv¤¶.›Š»‚e³ß—Ü)Ø?YDOSqذ¯÷MUr³ïP Ü·5yîðüpÓT$Ü’U›õvµÞ®noæ3qs€"Ûåù£‘çùž7šLfóùõíÝÍíÃÃf³^o¬¢‘…ùVUY³öÏn»ÝX¤PU•åv·Ý¬V«ûû»ÛÛ››Ëù|6¾ç�ô¼žûß^W@Â@¢D2ŠQ"*¢€ i«YËïw‹®§D›É¢�¿¿ú…tž« }Ð[ãÀÆghüók{Ï¢ˆ(1”1 +ø€n�g�þRa ˆqŒyÇ1¼Þï~wÂm·ã8®ÕïHGÈyþáY”DJgãš¹B(!­‰™ès¦0¡ŒHVZçÙ…‘ð:N·ëY|ÚHýð뀢Œ”Âeð™;œ¤�ÎþòM‡Þ063f/…‰´&ÄŒ”B"2Hµ:Á¤µÖ:ã÷ýÇŒT¢'‹L!RF™aß?[ÇÃ[ÏÚÄD”)ÛT¨(Â$‰BÃþ©×CÑ÷ŽºÝNŸñØ2× +Åß×h­G3˜X4Úž À¬5®‰�x\„ŠHÛ± +­µRZ›ŒT’¨D)¥Pt÷¨ëºÇýþ8NP)¥üÄï\ÏÄ@L�¥Äˆ�'17Eë �ÖDú/¹Ö*ù?8¦ÉhêušÎonîÖëͶ¬ª]Ýìʲ.˦®žö{;í·ßWUcEvÊýþÉJl´uÀv*�ñ÷¬ÎWÖ\(d.°§—â íkmºçæ!K3#ðÃÝ5¥“[&ó®ËvÄÈùžç ÏE“4�_ÞšÛ»‡‡ÕÃÃÏØ+ûUîÖU¹Û–å¶,w›Ý®\oVÛõæaµ¾¿¿»»¹¹¼™_¤2ùþ‰wrrÒ³oò{s¸.p€€4XiRIÁ œ”Gd;þZk¥uþ¯Zgª}ϵœ|âaæYdi`øøÏòçÝWéŒHó¬�2ÒçaæÉeÛ?’Bõ%X(ŒãX©„Tœ¨ÞNm°ïvÝN×q…ˆàOé$ëE”"EJ§”P{вLçÿªµ¶ƒDJ-ÎþN +“3ÊrMZ+5 ø“˜¯Ûu÷Øõ<¦ +ü?v”iRI¢£/¤T‚ÿU®h`Oä{ÉüH–ˆ ä$ÕZƒÆu6#R +•"\h­ó\k­T¢e™B$ù ©„ ¤uN4ä‚îû÷&€g€$j‰™ÖÚ��wJEñ4Ž!„Pà¸ÚŸ†aßs»]Ž�fŸ3¥”Ò”i6>jµÚfLòˆˆh¤4™6¹F£•"¥ôÒª,*¥Zë¿ä,ÓÆ  »¯ÛíºÇ}†±J~DA,Ü#ïÔBL¾#€ 2ÒZëÜ(­Ù5-"¥¤L-´Öùßò\«¯‹ÌåëU2.ÓËë»ÛÕýŠ‘²U]>‹ì5Ìþʼnýž‘þûæp!3�Ñ@Mi«Šö/öM]ï›æ©�Í­m*ÐXÉÞf_2Ư)[5‘²ªY¯³Ü=<ÜßÜÌÓ躥³®¢�<Ïù£Ñh$f)ίoooîîïîïWëÕz·ÛmYÝ´´ªå›í®Ünv»j³ÝmÖëÍÃj½Z¯×w÷ww××f>O¥ð½‘ç�x'''Ï÷¿ËÙÃ?3Xj­M†Æðel&¤(IP)RZk�ç¹&¥~ྡྷG©ÛP,ÓZ/é`y6.ß#¹o´Ö†ÐR‘�–dÄÖø•ÎT‚D¤)QT…BÄX!"Ɖ¡L á¹Žë:Žëp¾É´6æ†!:M±5~¥µþ[®5s kM*¡B~>БÖ9Ï-ˆ¼.Æ{Âóˆï‚Ño®ßÀØ8éKðØrýh ƒ%Ú‘‚ˆ)ù)D)só¯ BEÚ\ñ;3³‘s‚”ÿ-ÿ÷Ÿÿ-çàKkMJ-Ï>³qE”ý¨5¾Ág "n9r÷Ž¥¤½ÊuBŠ´Q ¢¢cëÆaØŸª8ì{Gn硈Hrñ¼s­óÄ„3@ÆvN +1Ms�kJˆLÞžQÕN�äy¾øŸù_xú"càu]÷øô´/Â8V*V£8G®'¾¾ˆ¸§2´r“EDyN¤ú4Òúˆ*‰x‚mÉê�ó†#~ÔgÒ7Z/Ie:#EŠ¿ê`üóç\k{gjRô(?vž‘6±cÏi€è Á}ó(øÍõ[€¦Œ‘Ï göéÔ –ˆRN˜Á q&g¨ˆ�Hù‚ç"ô�iE4#R‰J¥(Ï.ò¿±_á@ü¢&Ès�ô£!Ÿgrb¹×p6CëþðÇü߉ˆ0áäM„Ã4„p<Ããã0ŒÇžçv»}~/¢ÏÏ;×D9†ˆÑr I&„”ÿ{FD‰&M¤Teœj(EùâÔúßÿ¢5'F¤D×9îºGžw:qŒ„‚p]�Ç€Úi%…‰BB™Ö &ÄyÅ£o¬€²R?å +Iÿ=?¤Žÿ0°™ë™¥×w÷«ûͶ\o˦)­¶×üž,ø©²‘@Yï›}½*KÛê=G;n𧦩žš½ öMµ²`áýËæ ¥mjîV K„°Œøzõðpww}IpSÕûê03l‹¾ßß +1Mä,½`�“»‡ÕzµÛîÖ›õ¶ÜnvÛªä®ÿn·µ†ëõ†çînnn.Óùü_ÀÂ÷G#Ï;ñÚó?�‰´GT2é.?çŸâL9S”PÄ1ºR +¹B\ü’kû¦gD„cÛø7™,3|0Ž3žÔGú1øœ/~ "äÔ6!ùl\B\ü¯¿ñéÔœø„Oe‡`z(„'<ïÄu]×é:žL‹¿,�ˆXr‡°Í.”"Ô9)\üÏöñ^¿ç#j…ˆâ€b¯Ûq\÷Øó„Ç1bôÛë·€=7þÙ{4#"Mf`8Ñ9“Ðx‰H+�þ’+EšˆT–i­T!µÎ8oÖŸ‰�HÑÒ<¾Ø‚†5^ø�ËÖ™Ï*DDóÇœ¬q†XB%C8 C þ©çŸ9Nç(„ic`”¢ƒëʨˆŒÕu�Ùì`\Û&n®‘x¬Kk­Ô—Èd¡RJe?3“ûUnxÚ[©°ã¸]×ó<1C€XÅ&@Þ³³|þßgq†¶Áà1*H“J”Rô¨HªSÑãr±Ì^jÒ™‚«cs”‡YŒ«ÇG6^¤†²¢øø¹(H/?åD�ht^,ŠbˆãqØvOE ‚@þ´,~2ËeF´ ÌÜž}|6>C$4��D?c4�-óB›Ï�…Ñ¿H“/–_¾äŸ®(/ÌÕÕãc‘‘)Š¢(~.Àë:BŒ�@cBW"ˆSáE€HËG¢¥Ö†È* +Z…Î>ÿ\ýËD_-–_¾‹œ®æ*|\êLÿôj}Õ,wMÙÔeÍ@ {+^V�Mû¹JÈ·ö¾a:¿C‹¿Þï÷-5x]Wûý3û§åÞjöeµß3؇©�÷Á†<[²¾gÝ0f$«Êr»^¯V7×ò¶¬Ìó¼|¿/|!„?šˆh"Ó‹ù¥¹¼½¹¿_Ý?¬6ëÍz·Ùí6Û²Ú•Ûív·[o¶»Íf»~xxX­ïïV÷7w·w×7sJQNFž`à� ‚ï'Á$ò-òi�‚`Äè�(ˆ‚`4ùý„!oÞ¸n¯×ë�ø¾ïûÁÈ{óÆ}ûö-ÿÕÀ¾ªèL¾ ¢ üÁ0Q4 &gC†'E¿�FAþ`ü*9û:¨ê¦¬«²^§éÍÝÝj³ÞívÕ¶,ùoí½^ïŸêúɶâšj_s ��Õ<훚þúéY5äÀÈsu]W––¯Þ7L#¶ß³6Hý²sÐ0WOUnw»ÕÃêþîf.owuYÕeS?Göþ÷E�D4™È‹‹ùÝÜÞÜòHÓz½Ûm×ï¿ÞîÖ«Íf³~xxXßsñÿöîîæöò2½˜Í¢Ñ‰ï ÏÂóG£úÖÃÁÀgøZA ì”Ñiö�Ž¢ þ0 ‚ FL‚ ƒÁ Fϰ±h“?×ÆÏ¢€�GAøÃ ²ñ³À¢‚ø9|k(b2ÏQ0 ü‘ïû#ßø¾?ðO|ßÛ{ûÆbל7þ(†#»s?úÁ󷼫aÀŒŸüKÐÑ€�¨? +FÁ0F£À‚à÷> ƒ;oÞöÞžôø Þý£.@ñë3ž=’1„抌Yš(#óiQüÛ"""š§†Rc�–Ë+Sý)Å£,ÈÂKC&[\óSûi‘›O>áwÇ®ëyÞx,€ &Q!ñÊ\ÿúÃ8?üj)…Q«œ’vŠ‚4e¦®y2™ ŒÎ4QBxNDúÅ(1]â,À<#;“Y +³ƒqÅÆ‘¦Lü]%ʈÈ�r"¢”ˆLúb#á±Ç1ô„¢ïy®Ûít:ŽÓ9¿!Æ\XÕ™âyÏŒ´ÎeÚêµ b¢3®Õ’$¢,i‡<ð™?5 Òº=椱xgD×qœãcÏ ! ˆU¢H�úÂBDBÄÌᨤè5«""Æy¤TšTküõÚ¾^%#äšf}yy{¿Þl7ëÝ®¬ª]SVMSÙ¡Þ²±¼–Ù«*›r_WÍS³çs„ïŸö­FÐÞR~p_€ç�öMU?Ùyž}³¯ëÃ<°mE0YY•MY•uYnÊÍz½º¿¹¾¸k¥_ø.Îÿ'ÑHDÿì�F£‘œÍèr~}s{{www¿Z¯ÖëÍvµ^¯Ö›Íú~½zxX=ÜÝßÞÞÜÞÞÝ\_ÞÌ/..ÓL"ïÄyžõ/'×Y¤IëLS’˜ PDjöúM'Dį>gt C¥ÒäPÌ2¤EšHçùÈ>¤RÚgQS¢Š¨ •½ø‰&íP! neJ&Šä¬cCÔÄ“î*‰ã„NHæ²é:Þ”˜ ”"z–F…I¼Fˆ8‰ÔçÌ~#•*• <ì\åšÉ�2RJ›�pߺ®ëzߊ0±4€Æ\ýÆÇo´1AÙL\eZÛë–ˆ´þX5$@$<§ŒõŽÒy‚ ÑóLŸý{~c +R¼QE*A,–c$î¥$ȾNëOQÚÖs‘PQÆ•J¤„$"¦ˆø�i{b=Ñ÷¼ct¼é[BD€ˆJ[B5n‚5ή‡2+?K��Xº SD2ü€ˆ0Wê½�þTˆ¸Ñíp pÊìiˆJ)�ž'„ð=ÂêPr·?"$Ô’§ÔÏó¬}@KR1ÿÏÀ®n˜Ckww{÷°^¯Ö»5ÏÕOVH×€¸§·¯­†Oɸÿæ‰E¸ë}Ý쟞šªjš}U1ƒpYWåþ©fdàSÕV,à©>ø†ÒvêV$¤ªʳÛnïïîoÌýÎ*þT/ö.ÄhÔžáùÞ$ú—¹¸¸6··7··7·÷÷··�«Õjý°~X­Ö«‡ÕÝÝííÝõÍÝÍííõåååÅl6›DÞhtò¼ÔM„ªÔ–“• ®žY=Zn"¥ð<(˜—›uH!âEj©¶éŒç_)ËHëÂñ ÿ@¶Cd£¤—Ó¯™=õÚiwe�Ï?È„‘‰‰-nc¢ »žë:Ž7åI?Ì&&Azaœ2­ØÁfÖ8ãQÐÈöˆ’¶Ì¬VôÓ€@¸Žãº®'Æ0µ£îgÿ Úÿ›@Ñ„ +àüì3úÀ,ƒg8û€˜&¤2Ž’R{?Ïä Ï$jM:ÓJaIÐWI{&hË€¡sMLÓ�i­ÑGœá åL"ž[¹v¢”_ê¹”3+õ¬PáS€ïzÂOÀ�nÇéxÐCç ¶õÒZç`XWQ2>4#J%4á½Ùv�”¨)ûQ“B èOn+£BtÇ=ê�ñ•\GT¤±ç !FBŒ"l‰"<,¯ ÿPg0£,ÓDxî0/Ú>R»î_¯Õê~ÅåýÝÝjµ-Ëj[Uå®Þílf¾¯÷m}¾Þ—{žØï›º.˽|z†ýÛ°€öuõôT7u½ß7O\G|zjó~ý×UU33yS±¨hS—Õ®.Ër³-Wëõúîáöön½^­V÷«»{£Qt8ÿž7òG“Yš^\^^Ïo®oïîîîîïïîV÷w«»‡û‡»»ûÕýÝÍíÍ�¹¹¹¾¼¾œ_ L¢‘ç�ž=€çÉgÝ4À™D$Ê2J�¶ˆ<“6Dȹß�i@PÊFLå9³×j®s{] ã�–áLÊ´!*¢è…òJ PhÒ¤âÁäöÔX~n¦˜¢±ÆcàIcµìM™|Úu»oj¥ƒibÃPÉÖaVhÒ”)D)� +Ý'…ˆdËåúyç‰R¤õ£OØw;®ëºžâxÊxÚÿŒ@Hg"%ˆ¤óL%ªí“ÚàY£ÜâgÓC� AJ‰šO„J93–¢�xß�Î3e•P‰H/"zm´ÔÎJµ.1A¼)gHÈüçp}ÏïøÈuÝnÇqº"îј�Um`�çò•q‹+ tÒÎåÈ‚D£l›u˜Ífh, ‚bš‚bÜuºî‘7nÙS§€‰¢Ä6EdÙT¢�ƒ–eŠàƒD9k�+òÍìÅÛòëõºÀYzq1¿¾»»¿_3 +p»­ZaÐö‚nšòi_µ„ܨ÷u]?=±d`ÓÔO<%ØpUOûÊ’ƒ·Ì ‹2WX]Wûº3HóTïY´®9Úßm7ëÕêîæözNi:KÓªf/ϿߎÏ.æ—óëë›››[>ô÷÷wwww7÷ww7··×77×—ó‹9a*!мïµxI^ÕÞ«Ê’ð-ƒ¹‹”’opMš”¢_lõP¦di¾—g¤‹:&|‹ËáÀ&A¢œ“¢ÈbË­q¾Oˆ·˜i–ˆ-ßE΄ºÞï\×íx€” *lyG?`K¿Á�"N$ÊXŽ!6~>£öY€¬ýÖ�’Âu™ ˆÛÒSDšü¿ridÔ9)"ÔšˆQø„DY\ŸÓ«s” €á—ÊlE’Ž©µ~ĺ‰uÂu×ã5F¦âãüw»Ž3ûÕBDš%”ý»ÖÛ(�LP.´Jû¾$3B)g6-€‚ ªâ‘ˆH2í×á Qd~H8ê]êL³æyBD&zl�KDÙVDÓ‘k<–i”�X/0Žq +ßóz®ëv]·Óq\�óbŒZÑ‹`bZïúQ¢ý\*Ÿ: † +Dó™HQ`PJ€‰<<1&0¢Ûq]Ïóâ0œ†c¦aS +{‚©¼‡öD§Î$ ´Æ‰ +Dý˜)2Ö8Àì×ÉÙWà’ÈÌoæ×7w÷«íf³Þ2gFUÖUÙ”¬§a�zÕ +mr#¯Ú³X€ ß›}Å„áLöÑ$:›²¥«­ÁC°oö{;XïKËb©¼ëj[VÛ²\3c×Íür~1¿|ÐëûÿÄuOü‘BL¢Yš¦é|>§ùüÒÌç×——××él–¦r6‘!F#áŸô˜jåE ðÚ`üaжX=XÎÚrQ4"õy¡EçØ²´4p3N•"e²ÌFìJ‘¢ás¶ÏGñ<¸æcÈ�ôˆp¹PDì&È´ƒ,i‚˜ ÂµíĈ1ö@ˆÓÓÓÖ ! ``@‚”ˆ&MÀIµ\(R˜"‚„ÉäÅ)’tÎÍ6,þüÜ;PHƒ‚<ï[Â4Œ~CÐqþQ`"+®ÌRk­0±ùÇ_}Ãߦåòåf‰D®ÜI�ØRqÎ ûœMPZWÜF&ÊxVé…ÑZYÚcB|ä �Ö¸º°Œƒæ� ‘˜@¤£'ÄÈ÷<×uÿÉu»ÇtBqc‚ˆF³n +"&„Ädí/ŒóÈ×åLÎa&g-#�¤ÏYF6.9{,‚bÜqÜcÏóÂiØê¥ÄˆàþÎë‹g)D%›À€<ŸÍh™éŒ¯’ sA~µæ¯×õõõõííõýÝýz»Ùl×å®b•ݺ©ƒ¾uóôTÕMÕÔû¦Þsø_–uù þ·µþ§rß2Œ´ŠM«þ<`}@½¯[�q]?Yí.몺¥íÚnÖ«ûõÃÍÝõõåååå+0ÿêþwON¿¹½{¸[­×ëín»ÛUeYòíß”ÏöÕÍ“­û1¬÷©±½¿½·ã>e]si¿abÀƒ’`Û¨ìqjꊣf/Û9¿Êj…•5 w—åv½Z­îïîo®///æ¯Ïÿõ«ûß=99ñ=á{ž7Š�ö)'39™L¢ €˜®ô�F¾çyžï�œ¸¯b€_qØ.‰ð'$¢+…H4�ÅœÒ šRF)¥)¡ATŸL„ Hå8š�PJù’(Óšr£¯ åZåD” +» MŸ‘H焨¤?)S¢ùÉ¢s6ŽÅbÂbc²EÉ IÍ’¡…ÖWš2""� =ˆc!ˆ¾{ê!QNˆ(‡‘!šÑâ|N”Y"< KÞ9 TH‰2©ù‰Œ!C�…)L–iæÔU�¤Ðu=Ñ bR0ñ£W‘“<€çcDxèƒ`8øCŒtÁ÷9ô‡¾ÏLˆ¸õ»á»á`ðnøn8ø¾? Ãỡ?ŒÞ ‚!sŽZÐà] ˜¿‘1ö­õh ‡–ôÀEÁðÝ;0¾ÿÎ÷_ Àý?¾íõÞ¾}†U;NÏÿýÈ2,Ž,#çá»Ê`è3±ã‹„àÝ`ÈÆ‡þphwîý x7‡ƒÁÀ÷ŸqØÃàß÷eýOLz2øÃÀ÷½7=·×cVPÈóAƒwÃ�?ðþphß–Áp8ôƒáð÷Á�ç†~ÃWë«`~qqyi® «­±)Ë]É|ZUÅÐÜjokö,ôÛ¶ù›§'ûÙáÀªÞ×û’ù‚š}KÜ4uýT—MÕsÁj0áHeýE³·x ²ªšŠE»Êífµ^¯çó‹¯S€ù«ûÿkàyþ(šÀ$BˆÑh$"!F¾7y£S¦¶à8¯¡ìØ-â=üßàƒ?òtÉ`0üÃÀoÿxøçÎ÷Gþ °üÐ�~ üÁÉÀ÷}û‰a0ò‡¿÷ÿ8øckÿå/þà�ƒ?özÌÀéûƒÁàäd0ðücï�Â4¸='cò«_~)rCæ‹Y©xœ›G4Dæqùåñññª5~†s* ¥|û§dŠ�©”ÅùÀ�„øNDzÇn×Â¥œÌ1¥ŒÌ—/¹y6~iV)¥D�Ÿþ÷Kã3S,‰ìÎçæÞÌÓôÑ¥ééáÑ,MNT,s¢ á:î‘'ÆrC*Áó%™á Q-$æq¹\óXÐüºHå̘byÙ'óhLš>š ˜§t�tÿh–ækVÐ¯æµæiš¦óëûû‡Õj½ÛmÊŠ9A«ºiê’srÛÎã‚ݾižšºÞWUc«ú{[)x*YNxß¶ë'‹nʺ©jž)jš}SÚÚW ÷ûº®÷uUÕû¦ª›²¬Ë¦ªë]U–ånµÞ<Ü?ÜÝÝÍ/çó‹9}UÄô_ŸÏÂ÷DRÌõbσ±‡E‘™Â ‘†*¢ôJü>PAEŠdpqŠnÍ)Ä‚ +`-yNTèÇeF„æ1ÅÑya’ÜcÏõS"šâGD’Ñ·Ñá£Ûév;ÿI @J‰88G$2šˆð<ÁìÜ6ð­²ÃíO¡€ÔÖÙU«Ï°xW ¦(gòƒ°_.g˜RD¢¼5Nd†ÊlÙÞQ]d˪3Ëìe»NŒeî¹n×é8�‰Ë‘”P[@"3¸B²D‘-Þ:ADL‘­x¦mãŽäG Éò3ˆ(g‚;¬"äр ßï÷¹8ŶؑØÊÑë*cËåÜbIàL“Wkö//'Çÿ’^ÞÝÝs°+Y3¸®k&èª÷{Vñlš'¾®ŸÉ}êªbTïÞÂ�š}Óªµc�ûúi_í›ú©¶à}óTîëýÓžÛûú‰ÅGJÁ,Z2o÷n³Z­îo¯çó‹tö/R~ÕUê:ß8í1¶ÀóÄC;£E Ò9Òc�%ÈÆÕK�æs�8ÄÙ¡(0êEöÙ9r]×év/F˜ +òÑF¶@¿†H%¨2BäH`v€%ÍY5%>ŸE‰f$AJ˜®pJ½ŽãºÞi_! ü¦€�þ2>õú§@Àb9ú ŒRÛ¶‘-6Ý~S)¤„ðí¯ªh×——××—77÷«»»»Õýf»Ûíʪ.ë]ÓT—Ëʾ,Ø4åSÍõÀšËUÍ:!U; Ì:BO–”ÿbßÔõþ©Þ?5u½çê¡…üÔm-À +‡”MmþwÕv»Ý®V«ÛË›››ëë››ksýª„iº­v×qN¸Ð:áYõk „7úçÑhäû63`†îQ·{Äblýç%<ÏóN&<Ï;í Ï{ñç¾UãòÞx¯×éé©çyâ�苾ðNûÌÖ鉱/Ä©çy§âÔ;Ï<ÏózàzÞï_žçyÇî‘ç½aÁ¿àøØu]a¿é©8õŽÝ#÷È;uºvtÄê ®wðKß½ÅW†ëÍØó~çyöžÇñÃïà­¢ß?õú§§žwzꉰ'Ä©çuºÇq»®ëº®Ç�áy¿cçÿà±@~‘²Vf’ *ú�È´$Å”(ú¬¸‘Šˆ˜³·ê3xŽR¾ Tlà ÿ#â9Ù†âß#C”$J1Uk¡‘Îíq!kY‚Ýc?ðöà��=×ítb�CT +?$6PD�Áï\¡"£^ Œøþp÷¿Ü¨/%JøªE'½ŽÓR-�mÈoF‹¸ïñäULjuôÂäô…�@Ê<Ÿñðz­×ëÍn³[o···ÅÃz»ÙîÖ»ªªËƒnh½oGx9Ø×5«4MóT?1p¯Ù7{KýÅU�½mîë};dQûæ@ñ`hš}ÅMf +)˲ޕ»r·Y¯în®ïÖ,ç±^­_®îáq{qïxž'"µšê‡ÓêŽlðÏ#ÏßZ&¶Ð± Óé|ÓuÝ#ûÁJ»ÞËÃçXhèóÿù·ŽûrÙOw:žãwíµíºn×=u-º”•¼½ÿêŸÏévÛ?^Û‘ø/'¿ûÝKÓGî±ç¹®ÿæÔ&žÇ~ÌsÜn·Óév;]Çé8�o\ÏóNO=Ï;òÞ0ªý…+ét]×õFº¼^ÿôF8ž¶ë8|s|ÄûâéxÇ麮ãv;�o�Óq:�ÿ, ‰h‚Ç,³ĉBEê1²¤ßë¢ÓáºD3xÙ3}>64HŸG'ùoÞ#€<ŸäŒ.FBLZF‹ƒq"ÒêYû1õé+írVþ½HÑ?§Þññ‘Ûé8ž€É02¬ h9()‚Ï9Ña¾8SÏ;Oý”^!öÛBÅhö¡½µí”7JßuŽ�ûž'ÆœÛÅSÐÑ£ê÷EBO§˜zÒ(e�¾Úúá7‘…ÑZiMéƒqŽ8¼§×:ÜÐÄJÇ3Dî7Þ±çyB|Ǭ#ql¢,‹pZâ ‘Œ¡à#)s¥MnŒÉ?ÿÇÏ�Ÿ ¥äå0E$C2Å4EJS2(éÖÐð¬X.É�㜮ç­qúž>?. ¢9‘±Æ‰ÒüJk“k“®~^. ál"‹Tþw™"çÏ•…9L¤I?ø>áõ<Ïs]Çk3ïOË¥±áKBÆP`ˆòÜè«\ó¹úyù¹ A$™"Äâ†ç˜’A™&ý>šK"š§ø‘ ™9¦iJÂuÞsÇoŠD蟃€"D*þ÷²XÂÈk’¤Hÿ#•˜¶ÆS™&=‹¨X2§�™úh²ö¿Œh»û­UV«‹ sw¿Z­7»v ®+õ—‡`_=íë¦j*– µÕ»ýA-t@´Žao‘Á–=ضž¢²¼á0PeeÉë²Ü”»Õzuws9“—ë²Üî6ëÝúå®Çév;mÏÙy™ØË³Óáóðü‰#çÈÞû¯.,ŽìWw»§säu�Ž^D]÷›nç9è´àŸºÇu·Óé:|>mÀqG8G6ˆ¶eùç€Ïý‘Ûíj œËt9Vè:Ïñ‰ûZ8þ¥çzõÏév‡«Çq\÷èè˜@ÏñlpdóÞÀÁtÙû¸Ý#·ãtž#€§®;}Ž߳ˠ×yãv9'xU�¿ZQEßÑ$ˆ")ÏάŽòDFQ$£t–¾›œ�M&Qt6‘¬¸| A�ž nGA)Èèl2‘òLž½2|E‘”ò̪G2Š"ˆR™ÎÎ&¬–-Yq9`jàÖøp8 ß÷ý Š„?òý‘ï{½^Ïí¹®ã¼õ£(EAHyvY½r9‰¢³(•黳³ÉdM&99‹¢( +dðÒøa�E¢‰œH)Ï&ggRž¥ÁYEß=Çq·×;XJàHŒ‚È÷zþõ}ßùQ$¢(Š¢I¤ÃÖø ëQp6”M&‘”Rž±ñ×HÀõëµÝíúw—ÎLq¿Z¯wå®Ü•u]UU³¯KVõ9Ìô4ûŠÁ›¦Üï+®ØP ~¡Äì!LT[îЛøs¼`ë–\¼)«º±ªdÕ¦\o6«û»ëK’×Ûݮڕë×)€Óqºv_ ¾ÿ�ÿ×ù:è<~ë€ÓétºΡ_>ê]û©çÑí8Çαýc·Óu:Xtœ®Ûé:ÝN§ãtº§Óá°ãðé;í¾¸L�CØÿUxòÊt^ø³¯-¾ü]×é:G¿á2ºÝn÷¸ëtl õ«ßí¼Ê§ÿ¦sìóÛzxcmÕq;ݡ֫�ÿÚ ¥çd }¤”´…©}üx~^£µÎÏ,[iÊ\™)R ç!JcˆÛ؄ҥÉYþÛ\™<7Y1—HiJdÈQfLfˆè£>§¥1”™Å™1ÏjЍ(¡)bãÈPÊô�@F&1„0Cáy¿s1E":ÇV=%Õ†ðdZk³ø…… è™û3=‹x‰ ¥Ï;—K£¯2£‰Lž“çdÌÒyJ8u]×õú‚G�®Î‰¦ã©ú–l»° TR™Ö8Í0MS")A.S“kcH™Â“¤/_ÿ¾ºú×ÛÝz[îÊruqanîî7›²´@ü²©mœ¾ß·Õú¦nžÊz_–OuSíy<�gù¸VP3W˜­Vu]®j;?`C Øï÷ûªÞs<ÀD„MÕ”Sî¶ëífuww3ŸÁ|Sm7ëÍfóÚt»�NÇ^B/’Óép üUQ ÛqŽœîsøoýċǎ¡_=œºöw\P8¶ép·Û±‡¢ã8�N·Û.ŵÇõõáo7xø‹#_?¿žN{϶ŽíëÔåž.~t:6Ýùõ×v»ÇÖ v:�N×é¼v�¯�Rëí¬8¼?Ï_ãZ,FÇùâPÎ5!�&ç @dIâÇ(9çÛ¡�}&ñ€Ô 3@)Q>æ?åŠ+þƒHÒΠ榔«€ç爆”"ý%2¶ýwè>Ç—à/2ÚÀB!„è{GG®ãx€†ÙÑ(9Ç$E"ÄsCD”ÿ˜ÑÁø”@À$$HÝÇ[³X,H£ÊˆHg˜P¥ˆPwŽŽ<¯/D8 ”¡¢oB˜>¤<ˬ€*Ïv±8.qY¤"M”QB EÑäÅÇW`³ÝíÖÕnW­..æ7·÷ëínSÖeY²^ÈaŒ§ÞW|‹34¸<„õ­âGÕì­ðAü«nžêf¿oª¦~j*Æì맪yª¹Ø4M½¯šºzªlüÀp r[nw»Ín³y¸¿¹¹ÀÉͺ*7»ÍjõÊt;Ý6Q~q3;¯#€çGÒ^ÚÝ×7˜ýT›t:N·cӀׇ§½*;Ï.áàÚ,¤-¿uÜU‰—wvçëþÕåÝÆ×�Îë/9D�_�çöù…¸¯À ?Øu�œNÇO/@Çév^x»ƒ³ë¼Œ:�—/ˆ#€Žóu¨õÛÀN´›$AéX2<×D”]1¥ß9O(3D9š%`g cš qbŒý#M !"É Ï"�')³ ¦Dˆ†i³ ®UŠø¡5>‹@ÓlH€hEv.�†aŽû}Ï;r]Çé‰ÉrL09#f%ÒW‹á’Ç«d+>>‹€b€Éìyç’gË ˆQaB™N1%ŒR)�š+" @P‰ª“ÖDY©ê("«J>ƒI` +"²ÈkÂl­¯¯R€Íz»Y¯ËÍî!Mç×7÷«Õf»Û–»ªÚUU]ïx€—¥yë—Í¿ªäÚ  lªºÜ×MÃbvh`ß´ºÀUK ÀÀ¶°È¢u]•uSYe@‹.wån»Y=ÜÝ\Ïg“ëõn»Ý®6›Í Và_:mðßm;fç뫽óòo9è¼8‘í%Ü=¤N·Ûí¾8‡3Ðé¼*2t:Žã9Ç¯Ž‰Ó†ÔÛÃë¼8‘ί•¯bv¼Þ¿�/^8€¯}ÈÁ5½vί"€ç‚M;N\¦íÞ�gŸð3tŸ#€CêÑi«¦]öC][|}®L~µøÒÊH)>üsæÔB4YFhè/(À >LÈ*oL&ÀDâ ¤<³° ¥(³�ô #å3¢„ZFL2BÔ”exE-c0ÓˆÌ>HTÏÆ¿‹¢g`¶ ¾ƒp<žu®‰™ÂDŒcF,q®r3xa\ÊRʃq˜D˜"À´<¾–Oà\!E ¥D<êYì™ N!Q*âe„2™Nè`&̈€r;«@8�¾�¾v_áÖëõzµÛmv÷(ç×wëõz[n¶,ÍSÖ; î­ëý“Mð÷Oõ¾)ë¦nêªl�›ý¾®÷eµß?=í÷/òý¦©÷<Ø´Háf_Y¶°j¿çP lÊ}U×u½¯ªºnê²,Ëj½Û¬W«ÛÛë4�\ow»íf½Y¯wÛÝáã%L¥ïtùìvºN§kŸñn§ãœz|¥ó1êuO;üÐv»ÝÎÁ÷�=‡{ +¿wùbç¾{ÔíòñækµÓép ýÔé¾XöPuºÝããã®×ív�¸†Æ÷m÷�•´YA—K”œst½®ëÚós¨§9N·Ó=»ï¹Óív��®Óq:~…�N‡_H·s|j�|·Ûé:^×�ö%Y÷ä8�®{||4vºÝn×åOw»�N·Ã5þÚn§Óé:®­±t»Ý~ÇÛ×Úv^øÛvÝc×íö»ÝîQ»¹gXЯS�`©�Ãþ%ç̨5)$Š,éKº2}´1®e[œ!F-úWe”)B¤tÂã3Vü‚¡ñ–Ú�dÒ@²ñ¦xŽý'dV”&DaB†âÔms~$J¢œÙdŸ4)LÈowx·ryp]& ŸN8ˆJ(Â$ùk„  ÜîѱçõOYw9FŒ‘1˜ÿ� ÔeÕ<5<ÇS·½¾Š�,l�Ù9!x²Ó�ejž,HÝ4ÕÓA a=²ºªÊj³Ú­Www7—ót2ß–Ûíf³y…üòоì{ÇÇÇ®wäºÞ[ï�ëºîé±wì@¿ïŠÓã#÷øÈ=>>=>::r]÷øè¸?ŸzoŽ�<ïèØ;õŽ]aµG®ë»®{äzžãv]×;>GôÇo„wì¹GÇž'N��Ž�\÷èøÈ;í{®îѱw|t|||úö¸ï»®{|tt|캮w|tt꺮çxî›ãN§Ûu�=ïØó\ïèèèÈu�¼þ1· +ŽŽ�Žûáéé[Ï=¶¯U0,èÈÂzŽÜ#÷è¿yÇÇGÇ=ï�ëº]ïèØsBïÔe‚pÏ=>õŽÝ£#÷È;>öúýþqßõŽŽŽ�Ž�=ïø0fplaÆGÇî±ëy®ç9ŒY<ž¾ñ<ñ¶ìyÞñÑñ©8>>öŽ�ŽŽ��ŽOûÞÑ‘çºGÇGGÇÇ^ÿ­ç�ZÐño:⌜²'”)e4!ÏA6Ü—h˜®—)´¤œÍ$HœH,hŽHR Ò >HšJ6ŽÊÅ´«–ÜÑ¢ð%ÎдU…Édò|£Fa†cÑ6ˆ›`FŠKD8Ô%àü{å·pŸ™œq¸ŸÂL@¾ŸÎ$@ÄØ¡«â�(E¤L$åµ·ëz}qÚžÀ|T„¡çMß¾šO‹&Ó¨à¨ŸÉ f ¥œ´dàÄÆñ+°z½ÖëÍz½[¯7·³ÙÅüænµ^o·U¹ÛU<|Pýjé¹ X–å¾äA`KãÁÄ¥% +jžÇØo´âÁ-)@óT75sVÍ~Wq>PÕM]ÖeU•»rWî6w·77óËtbÖ›íz½^?l^â˜_LÍ¡·gäÔ¢Ï(¹Óo½S¿×!ú}o,Æ¡÷û§Þ©çõûýþ҆ɩp=¯ïy^_œžz4Âã?{ýgDñé‰çyÿ¥‡Ð÷à ŒCrÃ~ÿÔó¼þXŒÙ*D? Áó�·rzzzÚýqßm±øý¾Çè\!ø/žç÷ÝÓ~ÿy6 �ð¼Ó¾ñpÇžwzêõû§zÂv§½#ÏóNûÏ~Ð÷]—…Á„è O÷ûýÓþ©×âôô´ß÷Nû}†SOx|Lûýþ©§ÆáØ;zþv‚÷)N<Ïû/†ý~øú"öÆ¢ê�žöÇcÑ?å—ÝaŸ¶ã§§}è…ãp<Çãñø·×§4{€ed…ÈSÊ£Œ=Ãñ&,ÌÐà&‘á0—ˆEJ¡’)ÁPžñ”áAˆu7Ô~ +ŒÊˆã÷ ü¿$JÀ™œ=gÒQɦ1p €G+džr²ßQ"‘Έe +ŒÊ^î|&S@ŒíØÀû–¦KµââJi¥PÑH´à ß§ž1Ž!F =O}å"Œ0~ÿ>ŽgžD~{&ÄÊ­ñä¯ÿ©X­6ëMYî¶·³ÙüæúîáaµÙ1/ ˵ÊSíë†çxŸêÝ}Îèm(PÕMSïËf¿?Œ·8‚ºªXA iª¦Þ?5uU?+ƒ1 I]UUY•ån³Z¯îïno./&×ëÝn»Z¯î_…/¯è»FqŽ…=­Æa8¶PNñ­?y+ F/C& C!„‡Ó8‡Bˆ¾‡@!Ó/÷EŠq”„ãñXx§õ<áyß‚�¦(<ßj‹O<”ÓÀÎE¼€¿ @¡R6J(A4¯™¾>ÿëÕj³Ýnv÷r~}s·Ú¬7۲ܖ»ª*Y§³i¸¾W7 Ôoe>ªê0%°?ðú4î­›¨÷MiË5ëÿp¬¿ß³Ã°äàmtQ•u¹««jW—»r½^?<ÜÝ\S:¹\¯·ëízýðRè>~±PÄSûBŒ¿³Cò0B ýÑO´’:ž†1L§vÂ�ÄBˆ0Œs�>@† b°cáÿÜ_ˆp >òß +2x¢B(C€8ާüÐÀ”` +!Ä1@Ü‹Ã0 CáÙ#cvOðö;À“·â㱈X¿5 ÃqŽÇ„ïc=˜†Ç0EChé±CÇÂè Äž�—©0 §‚B€P„ÇÓððüLãB¤¶¦Ç"žB<…PŒY‘j +Œæƒ ¿'Ð\øq†±‡ÀsÁö¥ŽÃ¦ +Æ­µé”NÔá‡òòà<¨®µ¢ì U¨5%tŽHfR= $Ì0�ºßòÃsnÉ$QH™¢ŒÉÍé`œ¬\“e Rç*E¤"XÅ/fs^ŒÓ̸ËÎ@Oc€¦ „çyGGß8Ž€¹@”‰&£‰0¡�ÁÏíÎÁêÒ¯&uìá%¥�2¢Œù• ØK¨ã®ë�žžòH8(ŒãQx§Ðû‘V‡qE|ƒ@«%<Àï)ÁDeŠ2bNtzíî^¯ûõjµÞ¬w뇋‹ë›ÛÕjµ]¯7»²¬weÝT×ï-dz·È?¾Ä÷¶´ÏbÀUS×ûêªÚŽ@ÙL´ßۙ⪳uK'ÔÔuYUUYí¶»õúááîz>ŸMæ«Ýzó°Z­î_îý%Â4™¥6˜“" ,&Ffv$¤PÊ]i2„HŠ2ƒ˜`†SÄX�á¯)CSÊsµð!'Š16…AB "D,’4ê�KúH†N®Íg_#%4eÍ%eˆ ¡&cxPŒT¬5!Þ›i#*cPDDC¾ð$ÄeÅ@@„JabPç "æ„ä"Šc½TEf‘iDmCN +±@DC½ï˜” +ˆ‰Ð¨D&šGT”*‰(G,¢Œ +Sž«¥WÊ$ˆ_¿VBñ–$ÊÉ×q¬—‘„)‹b¢eTBd4¢4„” ÖZá å¹És“çW¿Á xMdñ—…ÖËå9¦h +Jñïya ͯÿžž“çEQ†¤¤9™ûhV˜Â¦ Â<_ Q¦Æ˜/Ÿ?çD?-‹�WÅ2 ¥æ‘ª¥¦å#¥iú± 4}, +£é£yü{™«ÖøI†èñLæ¯åoðø‘`–ò¼¢$Â"/@!!„ã8šÇùÏ ¢åOç˜"”¦Ë¢0DsóøwŠìÎ?B6.Ï +Süµ0…1æÑ�ÄqÎ;Ïþ² b:¨eàyj Ów�úpê}+€ÀhM¬šò]0QZ›%š”Ï&ÅuQ˜¿þõÚÌï¯HJD4˜Êô£É–_¾,‰–Ë⣹z<{�üÊ<Ü߯֫Ín÷�¦ó›»‡Íz³YovÕvWÕeYïš²´â]V$œYÛû~ߎûðeÿbñ°­ ÖMÍ ÿà`ÉBõÔ4U]Y2p®îv»jWîÊõz³Z­n¯¯ç³ ­·›ÕjµZ?¼Üü+¿ߟø#ä�F0j[Ÿ2Š"? +üÀù¾?D~D‘?ð}0èµëÄ÷ý^¯7ð£ÁHß÷ƒÁhù¾ï�¢È÷ÛV* ‚HøÃÑhä�|ßÞúƒQ0þÀ÷Gþ`ÐcV>?~ ˜�9ÿz'=ÿ­ô¼�/üß÷…/„ˆä` |ß÷ü“““““¿×ø¾rr2àýôN''ß |ÿÄ÷Gþhä�ü‘?ðG3õ�"ß÷}_ß÷}á�Fž÷L Fv£Á ÷Ç–Íp4ŒþÀ÷#$Fþh4øüZG£(òýÑ(ˆDE0ð£‘?1"Ö÷ßú=ß÷|¯×;ñ'½^ïÄšû}À쉾ùþè™Ñ÷�ïµÃÑ�Ù:ýàû(Š&gòAŒ˜°ó, +¤ôGþ`0 üè‘?ðýa }߇A4úƒ ðýÁ`8dÊÏ/§ïûÁ ðý– +4Š¢èlrö.ð£`èûà 8‹‚‰ŽüÁÀüh ¾ï³ñwÃQðýß [Gß÷½ÞI¯Ç‹Žã8oþ(‚ш�OÎÎÞ£(úCDÑðLŽì΃A4ôý¡? †L*DÚ�ü z¦+ ‚À÷ƒà÷ÑpD=Çqœ7®Ûë�x¾å›ôý“7n¯çù'-q£}¦ø5?ˆþ ü§_ÿ©¸»»_­VëÍöþbF×·÷«Íz»Ù•eUV»]Å·r]6 ׳ƒ¾Muhê©KËÿÉ¿<5–ø§±ÅA¾ýK;Ô쫺n*Ë5øÔØôŸq@Õ®©ÊºÜÔe¹ÛnW›õêîþæòb6™¯V›õúaõ°ºQ|=a§¦È~@D9ÅrÜ šc¢¥’€¤XÁ%A€�Y±"!Ä·L@!!FÍü]}!šZ¶2 +•ÒK`Ö +ø€JÑ1N°%Õ�"ÀRJ@5(@2›j€äQ†BØFsI˜\`‚8`Ý7)Çœ˜D‘�ï>ÀG1æ+&BDø�PAº-Œ% + Žã I%€€cŠÌã8j«Û‡vÚùA¾Ds(l&_ˆ€EÆ‘(A¥ô""æ¾a¸YÜcRØbAÛ—ÃÃÆâXå¯Ù9~kÀ$d>¹ÎÉ`‘2‹C)Qaþ7¡$<7HE@Æ}4çÏÓ i-h†ç‘L^�A4DˆdRB’Q�d~*LvE&1…!óxvNte�/ÌÏ%¥©IÈœ¥Æ‘¡�笰i†K”¶†‡¤5*€@x,ÐuÉ, +�2Š +Cz¤DÆ0ha3”tŽF)-Ñ00Ø0Їî†Ë4e°"’)ìÎçÉ !¥þ—s2ŸÔ�o'q8Í'à‰ÔT`9“óÎ 1�#Ù"!?�) +Òü¶H}…ô5cûÍëuÿp·Z=¬V›Ûٿ̯oïÖëõv³Ý•»ÝŽ!¹œª—Vµ»nöûýaä·nšŠÙ>›V¸©kæ 9�…ÖO\2¬ªf¿ß×U]?=ÕÕ¾²DeÍ�Cv%µ¯v»m¹Ù¬×·7׳Éåýz½zXß?¼<ÿúÅB@E¤Z2:DTŠõTÙM,m9É‚=lÆÀwÑx ¨P)M€j’kâIÑvžSåÑR'V� i€CŒø¦É–$ñb‚J)ESqå* ÇBÀãU!bÅ”{"¤•ƒ #ì"i%i 3¥5±(©VÈ¥Ši¬B–%¶[™FæÃÔnbÆ·µHWøVTk€ýM¼–áŒóHëÃKÀÞxÀì;!„#!!`d§J*S*»Bxf¡ü�q``1@¥•JsRôe á1–)Ę“´ÓìE`Ú*Á >HÄó" ˆ&Ñ �ûI›ZKVå\O«$A4¤ô§ïñƒJf€¹Ã�ÑL¾2NÅ�@DQ$ÆS` °çýÎu»î±#úÇ´DŠrŸ8% `Ž g1F’† N%âl(éËð"ˆ&˜êvç1JÄÂ_D„#÷èøØóDøÂVVDßõD,„€ïX‚”ârȘâÅr@Ö8¾GMÏo QÎ_­¯äÁïoî׫õê~{—Îæóë»ûÕz³Þl7eYU»ª®wM]Uu]UO6Ÿ?ˆù¶dÿûvV¸í<5õÓ¾©˜€ˆºjªªª÷û¦®ê}óT7û²®[pn¶Z$eµ.˪,ËÍf»¾¿¿»¹¼˜EóÕz½º¿¸½}¼¼r +‘ô¿iÄ)0R‚1¢ÊL¢ª1T8OÚbÌ4Ë—�~ˆcŒ•R?(Dij…•äÆÀ*ÎÊ…"…?XåàŸÄ-*x�¿? ¾&èH-•Šã)šèß5"ŒÅx ÇS€)ŠÑÔ@L�øVýS$ÂÐFád2™€ñùN~P™R?²bG®ùß"LÃqH…"Çq ( œ2‚¾¥!m¥hЂEþÌ•8Ÿs•jUjŠJéQn§ØB˜š^Ât +ÓPˆq(„“ï¾#%˧RÖöÙÛ ýÕš´•1£’„ðJgš!tÈWÃŒ?qÌj©ï%ZÞ/"B4™D0RšKéüƒ–ïo"óÒxbtf"cÁ8¤8¨$ÇzBV„pÆ…2>!ˆ( QÅqÌbK§à9ÂŽãDEJk}å“ÕZÅÙ éCû3BüÒQ‘’‚Éd2äf"©D!J@|b‚¢ëxî‘×á”À,¯Â;ò<Áϼ‡ȪGÛ©µ I†I¾2ÃoƒýÊÜ­V÷«û»ÙÅÅåíýÃÃj½æëWÕ» ©ëªä€¦~Ú[-Ï=—÷k®ßÙ±‹Ø×Ö]Ô6ì™ü¯®ËºÚÛÆ¡d>N PUåv³Þ¬Öw××ótrq¿¾_ÝÞ>ÜÝÜ>¯Wà_�ÂBçZ%ქâUHdÔŸ•RJåÇfˆÒø@„!D‚Å­¦ˆ?$¨”ÖÚ ÊŸóLYá(æªV:ZÒ� +*£®H=,«ŒñÙçL�y¦(a¼i=Eñ­¨³8†8F‰Â¦€9b'‚á' ¦S°èO!"ã#ƈJ)¥´ÖZ+$�k…/:CÓi‚W±Â16˜!jË Æ8Fë "ÀV:^g™þË_®®PM~ɳà¢Ò£¥"…J)ƒ±ØÆIq !‹×M Špd,­oΘ6@Çüj�eüƒ™!eJi� ÚFÀ ߣÄøhê€AÎäìkð„“É"ÄÞ/tž)¥œ"š kùu I+¥µþ±•àbù/…ˆŠ&¬Á̲½3THCƒ|B WJǡ蟲è;}xaœPk3BDKKŠ8û0C…ø>Ê$! D)ßãT4Ã&!ÆEžgÜNd ú‚IÏÀuœc×ë‹q ±…0ÇÇžwàæÆJ‰ÓXΓÂ�&B…yq¥ÙÄ¿án_¯››Ûûû‡Õju{‘Î/¯ïîVëÕn]–eUÕ,îmU<š¦dÆ.f¥ïºÞ[˜ú0áGS×uie[žàº~jªæi_ÖuU5ÕÞ~’µA+¯ªº®kF!—»ízsÿðp{sy‰“ùjõpw{}wýróú«µÌsK%÷áyXƒZªÉüG•“•Lx*F°ú¶!¾‹¸º�ıR¤3­µüü¯Ù3™-r° B¥ÔŸóœ´./d¹¹¯Ä©úËD1 +c¥´&E¾JTÜF0EÔB!BDZR±BüD(Æ1Æ ¦C8QÅ äŒ4Ýæ:Sˆ¬öLj +„€ +Už+¥UD€(f1(Äl'}”*¾²ßdZkø_ùJ«Låþ‚˜°Ok…˜ \Âx�Àt{þ»»šÓWQ ôPŠ”Ò¤…-Ÿ€œqc~ÓDQ@3bïý‡Ô q&#!RBZh¥Œ¡Px´L‚ðž(SJ“ùžq:˜X《&„fò ‡ˆ…o¸¡ F>  F…8õæû®Ð–ä/ªêfÏ`€–ÀÊ[ +¢Šq@»ÝnµZ?<ÜóTÎïîoooo._2«—‹èÇ/¹Ñ/^0@‹Q +Užg¹¦ óÈJŒQņs—GÀøßþ@™"M$?k­Å|Q ª$ ´Â$!TyN¹Î{(1ž! ’Šcâû{ò�btJ ±RJá<• N Æ)ÄqæÿÀA¼RJ)&BüiÌB0�B á´-¯ñÁU ýg�a‚€8‰ˆ§†c¬ò+¥T‚‰îßÛÆÄ`{Y�bÂà»6:ùüN£ðœMé¡Q &«ü/êGEˆˆ6¡ˆ§,WšŒ  ÌÑôã�­DàüW„@`g’QiEú/ÿªó�Á¸-žÈVþ âÁ O¹IDÄeÐrkIˆ&0‰”Éõ6‘'4Q®e‚ø>ÑšÈ�Ÿ-‘'‰'Òï™FM4±ÏÈœ¡B|ô X•eÖ’Š)ŽC!úÞ±ëº�c'lC<ÔêÏ:ÿ‹^Ü}mA„ï ’¢Izèú· æÆªAD“É$¢O”[ŠP@\úW„âÈé¸ý~_Äñ{ô ƒâ{îï±R _Ô=0QhKÌí4™L`‚FåŠË7³ÿ-øÝÍÃÍÝÝju;›ÑåÍíÝjµÞlwÛ]¹ÛUuU—uUWeS5ei[ö|ÄyÚ§®ª¦©øØ7UÕ†ø-xßTuýÔTOUÃK º««ºzª8P(˪nšºªªºa·SU»r»^oÖ«ÕÃíå%Íàâ~uwsýŠüÕõ¿ÈÿN´X|Îii¨ÐT$3Çü1_Ò"ÌÍbI‰d¨(rc4Z„1*`ˆŒ1K]è\›Årñó$_,¾|ÒK2ÆMTQ‘/ŠÂŸ¦X|NˆÆÐ²(®Œ!MT<³ÏEôÓ/Ÿò�ÆRZ“^¢YúWùóƒ…ÂBá9"QTäšP«…V¹Æ(BÀœ4 ‹SaÌ‘rËÜ,‰–I®�&]˜G¤|ñùJJ2¤ Ô‚4ùgMùBöµ¹1ÊЕùlÈ É—˜þ¼, +c–¦( +m‹å—Iþï‹¿çú‘Œ1¹¦sCY-óE~¥Íç…Îõ'¥ˆ C +ˆ.òO ÒÒL>É Ê +cLn2ý÷bñ©àõ5i(±\ÝÌÎG? Lb52`Ä¢<Óvx䌹îÐŒì#�rÂÏ:)LÚŸä<º¢cBD•+­IÓã™QœQÀdsÆ1”“±Ss0“ˆ â ��ˆ1&h!V#?ö…`e× …€£ÊiÒT:Qˆ³ÀÀ ÐÐâÏÖðÎp9°iÎ`2™D¨P¡²€†E¦Æ®ãõOÇa‡j¤ †„ëº µ„µRp�W±Æ kœP‚M�52> +P©—Ê@_k^ß·7w«‡ÛÙÅüúöfu¿Zo¶›]¹Û”eY–\—/«ºªËªáûÜ’|¶ÌÞ5ƒ|›}]1°i꺩ªÆÒ´àž¦®˜f˜Ñ?e½«-ßPÕ”õ®ª[ìñnWnËív»Y¯V÷w——é$]>ÜßÜÝÜ\¿ÒŒ¾�ž?ξ?ÊÉd2�üa0ôm3ô,šL¤‡<‹¢(8´Z”ÜN�F''ôýÈ�ü(Š&0ÍÒYE0‘“høÃö_Dï¢(šÈb0áŽkQô½efšDADÑ;)¥<‹¢(£høÞ Eb䟜øÏò�Q0�„í³�"ߌÞ/éƒÑhäû¾ Î&Ò²[M¢ Š¢³AM¢`´†Ã�ßóG£häùAÄö;j˜ °d—PVLXîv»Õúaµº»»¼œIº}¸½¹¹¹6ó—º@™Ö‡ÊÌóÜ�¶< h(S”f‹\J(7!Ñ<"$JÓ¶¿MpŠ„HFkRIBDš +ó¨ufÅ¥ÒG"úëYQ˜L£¡B/ð22M‘0EKb•™eFD|Étf �z�¦ñG±$ÇãH”ŸB@"£"�ʹ.‰¦‡|°s¯9ý&L£vvD1]§ZkE€ˆ€�#4€r½@nèGŒ$;·U:�kB"*´1¹1Úhm2m¨˜ÉŸ…´˜O§ˆŠ\¡¡¿Q�H&ú"€xŽJüZ—Zkc,£¯)¨h×o9þ)�R¤´B"m…=€VßN"Å 9DÄ9;€l¤>9|TH|±RDDØÖ6”"ÊÌ`‰ÄÂl`7ÁÆÕÙ#¾¶N‹u+�VòÍ÷„ !¼c×qºNÆyû¹o8#±ÆfÖ¸|ü:òØ^©Í_`6,TÂPNyîRxÔq�½Ó~Æx‚6×úÖu½Ó>B@¬â±øjç-€j�äã¯7"^/˜¥óËô‚.ooîîV«Õj½ÙmÊr[V»]U—MY–uY7U½;ÌìÖM]×eÍ<^UÝìK¾à÷çòµ­”,&X5<^\WU]•MÍÔŸûÚª–UÍ9DU—ÌF´+·»Ízópw{}9OgóË‹4ʼnœŒ^¬×l³‰9ÓZ)Õ¾dR„(sM¹^hýïÜÒSH@ÙD¬T›|NcL¸0ÃÒŽúÇ?+¥?XÕ9EˆEd”^š+­ u�™D|1éþM +U,RÜ牕Bà+5�¡ÏÍœïâ ªXåZÅ?êþöTÈ·¢Šc€˜õèy„1‹”z~Çà“R3¥y2ˆÑ +ìI€`A÷-�>±¢8*SÒ¤±ðœDEˆfdÔ� £µÎó bÄ8…ï„'”íù �"EJs�þs ÐYA…¹*t^EA™Î úÆ,�)ŠÇår¹$D4Ñã’¨0† bb_D”Q±DÒW i^\�D)±ÐŒÆ™ÏZã¦( +C¤³¿R@fyeŠüqy»|dã}^âçüµñYd–ˆ¤ "‰!D(„çºG`A¦ÐºÈ‹<Ë å Yæ¦È‹å’P¢1† }1†–EΣˆ3š%!™|NHTÍ0•X°êúlž† +cÔñÑiŽE + B“1K@ „@Rh L‹/ÆÐÕ¢@$CSLϨ $c !�ß2ÍBZhÒ†ÒÙW!ÿ›×Ëyóæí·ç� ¥Ë›Û뇇՚¡»ªªv»j[ÚƒÞ”UÓ4MYÖu+b'|ʶ4ÐTüɲfÙ¯ª®*; \ÚêU6eÉ�߯Øp]UUYVeUíªr·Ýî6ëÍúááîööö2M¥ðNÞ¾u¿"œúêrÉ'úŠÚ¼ )#TòJëû›ÖyÞ>ûµµ€ÓX©B(!„ÛIí$AnöPKßNDê:2ôã¿åZk�“Âsþô92)‘”"­0F\œÆq¬Æ0hÇŒ:@æzˆÍTÅ ©X+¥¦ãq!ô¦ì4Lãic†€>Æ\ÓQì£p)”>ÔâÇbª0_¡ÊµR:Ó +ßCÌú±ÖÌ�H×HS""T‰R:£Œ!’ÖYB¶Ý‰D„f¤)˯þÌ(«?"mcÒ€ ÆêG…Œ’HÚ0åÙüz`8<üvøÃ¡?‚|Ë‚åÁ_Q }?‡ƒÁp0 †¿†6EÁ`0x÷ûg˃àÝׯ}ÿ]à¬Ìû`0 ƒ?þ0YãÁpØÊªïþ0ò­Žû ÷¶×{;èõz=×b�ßø/Œû~0^ÇXdÞùÐüáp0ƒÁ`ðn`SÉa ƒÁ`0ø}d®áp¼{AÐcåõ·oßöz½Þ 78 ƒ·oÞ¼ù¯oÞöÞ2Wp0 ‚¡ ‡C茇l90üþ{ÔÿGÚí/)âN„¤ËëëÛ»Õêa½Z¯V&å*Kž®84gÁຬ™(¤ªš¦¶ýÂÊ~Q{§7 ‡Œ÷á.]×|Ë7鱪lš²äœ¢ÜUeY—å®ÚívëÕj½~¸¿»»»¹¼¸˜0ÓqÇù¦ýp^5”2­ºLLÐH³œtžë\g­”™ÐmŒ¯Ã0 ÷ß% b¬{Ï’~~˜)ËH‘ùQÿkÎÒI’ ⌟ü]UŒ€ü„ˆSà.žÄìB nÛMcƒ¨TòƒÂ8þaòÜ0´@ˆ0 c¡Aùñ Žmµi¤"‰`Æ*†x¤b¥þY)¥,RQ>�£¶Q רMAVOϘOÆEa–Ædýÿ¢Â,–…1ÅrQ俘¿Ò�ŠOËÅ2_.)5æËò‘É ]HmÈc Q^˜¥6dSS˜`^|láBzaL‘ßšÏÆh“,£‚Š…ÉÈW† Ó×ÖCÏ9r¡Xdd® +S¤ÆóWc>Rb +³4…1 ¥¦¸ +΋É|2¦¸ZšGc>\žú´È�Η‹ÅÕO™-‹å§e±\S,FO½c¯ßg$"BJTƒÂë ¨|Ð4…ˆ€† +cŠü§«GóãG“.fDEQè�f±XæË‚Šáùc¾,ÅbyõUÖoy¨ÚÇùÆq\O@z977÷÷ëÕýjµ^¯w»Ý®,˺lJžÎ«Ë’ÙúªºiveÝ”uÝB-›G+ì]—œ*T•% ¨jüªøî/«]YÖì,8úçÞ_YÕÖël6ëÍz½Z­înoæót6yî+¢Íß’�ˆˆT#"@E”)-užk…ʸb²œX!EðœDa̰1´Q%¨ˆB$LŒ<Ÿôßþ¬5=k×ÍÒgÍk©Æ1¢­_ñ©ýá‡c˜b[´?Lãx*A)ÇÓ÷!L­qB1œ„qã1�Z|Ä1cŽFˆ˜@Œ0Å�ý úJiÆ1¨øÒ7Ð""@&R‘Z]L´ýS¢”z�PiûZ-òœ´Î”R1˜Â‡è»1ëV)ÎPghZéN•�R¤^ü@~[”2E¤ð™¡/!De'€K‰ˆøÃ�.ÈŽó£R&xLÈJ‡Q¶4Xøüš´i�+Rmœg]šÒ ™ìÓ¬Ç:0‡(T&X¢Ê¬ÿBM"ëñœµè{§ÝŽãñf&/¤ËQ)jAhleÑʆêVò‡� ”Ì‚®³,Ïp9H3M”é,ËÙ”VáQ×u]– +ÄLjếó<1q™ÜÏÆ1A:3LNB¤3­ é�&�õî}û;N×=ñ'3šÏ¯oîîïÖÛÝn·+×»rW–UU•»¦ªvuU–õ®*ëªÚ–U[(˺.K[ à ¾Þ³âßçUÅ=�’Û|•ÿ)ëzWÚV@ëveU•»Óÿm¶ë‡ÕêþîîúòbžÊh䟸î7Î7N·ýxå”"17 ë6%J‘2’4i•eºÅG£‰l¡ & „͸D@ SDL”B•… +�H%JÚÚO�k¢,£¬ Îe;QÞRK€D +–((ú¦ƒ Âi_Äñ4†B€„PqNã)„–n{Èd%vW,ìkA!ÜkާöUÄq"bLã}Äã0V Æ!ðk�g¯7g�À­V7S`¡� % ×H‘¯ÔJý¨ø +ŒþB( }q L€ 懣¦P½œ>q’_-D$•`‚¶s˜œ�“ H|lé5™Õ’(!;Z¯è,Ce´Îˆ”Êr’…o~$ëw 5 +D²]wÛAd@@óμ€vY Qd:2DCD‰Â$Q± ÂxÜï÷=ïø´ëxH +Q!þ�>â“–• f&xY!®À¦Lÿ‘Jr>¥*#Å`©‰Q*d R㣎붪ւ¹$& \÷Èóø/…ЉR+}ˆH4!ÂO­ 3¸"K D_i¶ü±-Çt÷­{â�@¦óùåÍííÝýzµzXm·e¹)weÉ·uYVUS×uÛ,Ëü¹²®,f â‘¡ºdT@Y–uU•UÕTwÊzǧ¿lʺ¬«]]×u¹«w宪ve¹ÞívëÝf·Ûîv›õêáöþîúúržÎ&1ò<«¸g#�—)@Nd"†…“nG":ãÒù ˆúR"N`B€ ¸¹ì íÝŒ¤4‰"„+RJa‚¨2m‚œ³ R¶™�Ìl<9³í ¶æ-B7‚1 B8õÂ8Ž!ãpO!Š-ï¤åàÐK˜à‡)yBKÒƒ!¢¨EƒÆ„ˆ"æò ÆS!Æ!Ä1ú¿�߇íü ™ ¾èµ8Ù"îZnJ4IBë—¯ÕÏÙü`‡#°|%ž`ÿůuø‘)mQ%? –ñS)¥~KŒZÒ?ÍŸÛÙŠ,M§”Üֶ蜗ô¶DÊœe¤3¥ˆôÏh‚¶êðƒe±Æ'-Ho†¨p{L"¦ï¬qÖöÄÆó€Ð0Sªø‡°a(ú}ïØ;v»Î)Úú†’/ŒÉÙÉ@Ã4 Ä÷,\H6 E$Õî\QF¬}üsß�Rê¥P%–Âg|Ôí¸½–›iSŒ'Â>g`±l3/%¤’L’"bã´D + )R*Az�HÇùÆqºÝo¾qX@¶ãžx>Ìf——777w÷«Õf½Û­·%kíÊ]Uïêgø|Âùüsp¿Û5VÈcWVuY–; TUUÕ»º®«²¬vUÕ†MÉÒeÓ”Uµ+ÙK0ú¯,ËÍv½Ýnw›Ýj½ZÝßßÝÝÎ///d�F'=×qœ.û€o爈&‰Rˆ¹Ê2RŠ0!B™+K¿dC±¤ˆˆÇÃÚÅÔ<©žˆ¢HŒQiCJ!-•"$­tFI’$ŠÐDF±5f‡%<Ÿ"€ Ç-%ƒdES­„„c�)‚ÂP@‡�ÃÂч·6f5³CÁÅ@ˆH_ˆ8F� Æ(bDŠcŒa !Ä |WN…M‚1³Îâ H1EC cy®üOkDšY€ÑD‚D”ܶaÅ[‰(M`Pqlœ"�+u�H:ÓdÎ )~ʵ֤óÿÏ�`$¥‰ˆ~HЀ5>;x’™”3”sŸ�5‰•!T”ð%­3M& {[X'ö¹—!ú§Þ±ë8žÒÌc¨‘r&åžô$Ú°žI§ÔÁø2"B"ý£ÖZëLçÿ!MöB15É(#p�Î1ë= �ã±çzß~+ÀÂ~Íáí¹BTZkZJ$$Òö}Ñúó„2²å˜¯ÞÇq޲棭°Hçsº¼¾¹¾½]Ý߯VÛ5§â»]¹+«²j«Û²ªêŠƒªÜíʺªÚ+W—uUV»²®ù3;®éí8(«ª*7eU—eÅ”£ìVÊŠÿ ¯7›ín·ÛmÖëõÃýêáööæúz>¿˜I1žëZ×ÕýÆq¾yÝdòƒïAàƒ`Œ‚ úAECæC ‚!cögÜ·üq0èõz¾ïz=—y_Þ|ÿ¤ç�¢ üÀF#ÿ€Œó‡£ ŠÞù¾?ô‡þÐöz|?˜Cf8ôý(j»TÜr +ü“ÞÉÉÈôÞöÞôzî›7®Ûëõz½·½Þɉ?èõÞ¾íõz.ÿrÒs{ÿõ�ûöíÛ·nïmïmÏ;±„EƒÿÚ{û¶7œôzÜ£¿÷ý“Á`0œœpËè¤÷¦×{ëöÞöz–Óf0ˆì¯ƒà�ïû‘eÏñ‡C»;?ˆ&QŒ?Ú×êC~ëÃÁ`8ôexr2´ô8oÞ¸½““‘2ðýQàÏÖ"ß�yXŽ1×_}||Ô† QJ…,H‚LÓTJ ©¹@”¤æ~DiÊÊa8/ +v¾¸\ÂôLrJkÌ‘)ÿ[RaˆÈ3ÿhæ�Úd&£ôüêbi$ÈÓÙÁøèãcú.ÂÖ8…1çóƒñ!GæOÓzéÃÿŸ³·ëmI·…e !l{LkLߌn/Фu×l”Gl–̸N÷ýÀ`­–Í8þà¸~�½ÁœÞçˆh—�õeQ†1æ>> åÆ ߟ0°Qã›F£a¼n+°ì.‘Ât™gû§ÝîÓþ“éòÙ2вß|Úív›Ýn·ÝowŸvÛ]¹+ËrSnÖër½\,ÅlF4 TÀ\×¶Lù¯Ùh6›ÍoN&*ŒbüÉC‚QFˆˆói6�fY’ç4Jý<×I¦“ìé<ÏS$ç¯2”!ò^•k³] $Ìdˆ€K‰ä“‘çÓìé)'�ç” õž´Î1û�QND9¥°"=E$Ñã#"F�k’]B€;nߨ6³lÎ æB.µŒ¡Ç8\pÞcîBÙçÀùn5ë{ÇùŒqþÃ÷ã0á¡™!…¹ øZçw½>B 䌇€Â5��8ʉ²<§4÷>åæíkü8S%hžåùUŽ&†>Τ‘Ùë*'ÌrÊ}É9‚Æ>‡ÞãìŽåˆtI`Š rÊi>÷V„f"Pk­±}vB)ˆÄCÀ…‚ „ñµ4GàûÊ�D‚G<¥"AŽ¯Äƒx R˜"‚HoU$Ä!ÌAâ!0æA$„JFÏÆ„ |ïAÝ + ! ªèˆ?Ì9D\¼?¸þ¿º¶ÝºnY–Õ°@$‚@¿ü®k¦:˜mYv·Ë…J‡Ãñx2.–ëõr½X–›²\oÖån·Ûíö»]iJƒU> Üï÷»]¹û´ßï¶Ûr¿ÿ´Ûïv»ÍÖÜö»íÞ¨{Úïw»Í§OûOûO»­A�ív·-w»ív»ÿ´Ùì>}Úí·»Òûr[n7Ó�´\E1Óp0ˆ"ßíÚVãðc‰éø3@@«¬�x+ HŒÑ3‰Ä5"@Œç¡–‰”Ðïï›�y�@µ»šD@x4jb±ŒA¢ÖÚè-GU¥Ä$�ã÷"’QWY¨è0‘ì¿«$ÈBÎÝ<ìsÆïñ^¯ö{ŒÝ±6;g¶Ýn·k³»»i3fó^�³;ÆÚmÖ¾aßW ºœ÷X….pèó»! Cù§êîCúýÐX`k$�’\@©Q£”qüœ`ƒxBqm°ˆÕ^¥”qŒZkã Áïza 2ifÑçRdÖU5ïÀ—<ü€°Bi8(…ƒ�±)Bî#’—# Q'’¨³,A@‡ªŠÆÛƒ2C�ïÔèä°x\wýKDŒQ‚©›kDíBÄûÞJYÙö„œñ 0)@ËjؼÚçó@úÅâ©KRbc ¨QkL4’ iDücS¿×þ‹F@—^›ŠjEß:³,Ûn·ïg¾ÏLM†ÛvûÎÔ\°E %‚” 5j�:A­Òj„2F�ï¤ÔÙ_4ùÕey‘|!ÓÎìf£e»A0H†ÌÖËÊ3h]nÊÝv»ßl>m7Ûr·Ým˪O·Û˜˜ÝP}ó©Ýf¿Ùí·»ýf·ß™�ýîÓv¿Ùìö›}¹¯š‹v»r»ÛîvŸv›Ýf»59¿rWn·»Í¶ÜìÖ›r]®ëu1)ŠÙl<¢(躶ÕlXA%ÀT“#'‚ 3@ÿ Ún¦z4J­Q>zUî7A­�©ŒÃC‡uI›‡Õ0:ç cÔ@ïå[K³R‚(¨ÒÔѨµ‰(€ƒ�-ë·Hà¢Y¼‡÷Ì^–ôz=Þã½»6cívûܘµÙëñð†ÝõZ`·ÛŒõzmÖn·í?Ü0ÖfŒÝ¡{×»3sÿ<M7S­ r€À‡`ô9$¢ ¤Ô:ÑhSÒ$û�bÓ³¬5Pn.�€XJL´Ö(5¢ rn®„ %q¡i˜9aŒ]:yÃ5¾rÿˆ� þ*Ïæ(A‚”ÆÔóµ@&¤™UEîå•VHsSkD ¦h ŽªïP 4 D‚ûD¹ŽAʸ�€ ÆAæUæ,„1ÎÍÆ@‚ y�C‹Ù¶m_ZÍfã†G‡ÅcDˆ8@gZV>_æKè¡4Ib�S­�h� ãvÔˆMrN Gg.X³a]ZvåæÒeRË0~c·Ù]ïŽó8Ð)âØ,®µÎ¢ŒëÒà;‰Rçú Ž.Ëá‚ ðýƒQK·e²\(¤áx2+fÅzQ,Ëõz¹\—ûín½Þl÷›ÍvWn7ûr¿/wûÍfcˆþ~·Ûn·»ý~_n¶›r³Ûlö»ýv³ßîËíÖÁ§ýn»ÙîM^o»ß*±Ùî÷»�é8ÜìvÛín³Ûì¶eY–›Íf½¬ÀgfHøÝk«ÑhX�"BD"â8� $ʽüƒÆ"`LÙTkÊiše£�„€”MçO™F"r¸ñàì†ùµ¦_å™òùHˆ'BÊ 1ÇìÃ=2š÷”¦ Žòìé)GÌ €p„4Íò,Ï�¶€Ö18U[çwÌbÀ˜ßé‡2ä½°'{ü®ok®v�‡rÆ8´€±>ë…=Þë› ‚^¿×»ëUuws ûœñ;Þ {½^Èúœ÷G®Éè,Ÿ>eˆ¤©Cšò,;œ!¢0Ù£å?‘ˆž)#ÄfÓ©¦<£QF(9g¬q(µì1Î]8‚žê,Ë3|^Ž\¤“2àç�@F_„Ñø@à\p¡*»ÝãR¡Mãr ’HkµGˆ`Êà¦ãÐøp<€PP…䦈&")ÁÔÃë{€üâjq3™$$D<�¡ %cì‡Ö]% vÖ°ï#3…™ùä8)AÆxƒs¯îŒ†Jm)A-0‘UªD)¥Æ R'>×�X³Ñ°,Û®jÂ.„a’Wîtœs¸Ö• HýçŠ)H¤±5ÊŒ#œ€òo'Çˤ k6¬–ë j8L'³IQÅr½.—‹r³^ïÖër³Ýî6»ýf[nvÛrmØúf³Ûìö»�¡þå¾Ü–›Í~·Ûnw[4l·»Ýf»ßnvåf·Ùmw›ÝnWnÊr³5·ÿ®,·›ívWîvëÍ®,×ûݦ\o6åz½^ëŲ³ñpˆˆ|æZV£aŸÌ6Ï8t|×qÌX‰×qM2ÞñnÅÃCÇõ:ŽëÝ:Žãy¾U︮Ûq:®ã¶Î/,˺8¿8¿8oµZ-ǹv:ŽãùŽãܺ·Çõª Ïñ<ñð`B§ÛŽã8¾ïÝzŽÛq;®ãtϫ̼Žã¹·žç8Žë´..ÎÏÏ/ÎÏ/Ìø•IÔ_´Z-Û¾>?¿0ƒ&�ÆùÅÅєֿœ_´oüËŹuq~qq~qñ¯VËmµZNë»o[×Nånpqq~}ݺ¨K­ïÌÌŠãºnÇq:·žçùƳÀu;Ž‘‘÷\Çñ§ã;Žã¸··Ž{4Kã ¸ÏsÝ[ÇiµÜëÖEëââ¢Õº8¿¸¸p\çâÚ¹6ÊõÞmÇëTS(Žs{� w¿Ì@m’#ç Äáù 1ô@>!G#­1A�ùózÒ(–2–ˆRƒÊ¡Ãs”ƒ *Á,@ÎEt´¸axt°ÐÔ#­5¢‰ùsC‡ñ5’=Æx oŒ ÈY㊠8]\E¼>#Y/žwè@FtfÏ¢ß>3U)5pŽÎüôÍÎÍ3˶³mÆ}×(ßٶݶëõ8]ãsÿVµ8©÷xÜö,àM?ågàÅpàP\^X×¶)1¦H“ñ¬(–KS +Ø®ËeY®·›ív»[ï6åvW–e¹Þo¶ÛÝn·Ùm7e¹Ýîv›ýv¿Ým÷›�¡;ìwåf³Ù”»íf³Û•å®,wåf³ÙmKãõ»Û–åf»Û–›r·Ûmw›íz³Y—åº\¯gËÅl6™Ì†©Š„|ßnY –+ç6rGLI‰F:Ñ”æ¯2ÊIiàj¬æôhÒ83áj~gÄ|[¦×Þ4ƒ¢øŸ +ÉË 0A$ʈߣ˜fHHµN"èåy)¢Q¼»å„f”. +�5Jä}-Ægœ³›»:ŸÃ¸û=ïÙvûÆØ_\Z—Ђ^Û6Öž6·¬öül´lvÃÚ7Œ÷÷¡Å�ûF»Pbö9ï·$y¯Ïûç> šSlöú^Í…Ÿëª…ÜÃ܈Ö爘š½Žð="%#B�"ÏÍ^�rœqcΡgæÍ__0#$|mÚ#(GÄ™w˜;�“^MsT>|œ>�8ŠHx8êÔì‹“w‰:ך´ÖS�b�1D AÊX"DÂ:ìz]-.8r£þö¼xÄ Õ}¾�t6Ò¤ K¯ãûB? 9Æî.X͆}0ã÷D\~4ýXÍ[¹G‹S¦G:ÑT-7B@(%EUpXág�FÃjU�€¾‘(‚ž]uóZد»2/Z£ª&ÝëÅcIP-ÂË`xzL"Û²l7ˆD¥8ŽÇãÙ¬X‹eYnÖeY–ëͦÜl¶ËM¹Ùl¶kóß”Ûív³Ýl7›r»)ËÝnSn6»rW–›í¶ÜmÊͺÜnvånW®7›Íz»-7e¹ß”›Ýn³-7å¶,׻Ͷܖ›²\oËmYnËåz½.Ër],ËÅd1›Œ'Ã4UÂ÷ƒÀï^Û]u¢ xªt‚ |"Baº"À#º“®.²r�дàü»×ü ‹ÐÆX¯ÇÃbt(м)iˆ˜$àG£;ÿVÖOŠûØóIFðZ'8p@ä@BÈCÞc¼Å¾ÿÞ5ù?ÖëÝõzÌxš[WWV³Ùhž5Ͼ±¬^ËîÙWöå¥}eÛÖïlӬѴ cà}eßÜ0Öf®ÏX bÉ9g!@ö9ã-Æù]5ÓÄCpPˆá(ˆ€sà¨Ñ{¬Øa (pÍ^9"j-Ðìµ~o Þë»®äìÆîû�} Fw"xæš2Få=7} 7m¿æfWRÊJôô�«’ˆ!€\g±ü¨µÖöëÁ o«„¡¤ºqðm=”ÁîsQåa…ià=I…yˆ¦•‡t.åßµÖz$ª²DXo‹÷8ãa‹ÝØöõŒ ×óâä±ÿŸ‹¨�›pSÊŸµÖzáÑ™ƒéŠ%9/žÎ¬Ù¨bÆîî-×Þ•m·¿g½;Îùµ¡åVôg­I™¦Ÿjñ¸^ÜýræÔ$G×ç–Ýõ…àp�ÇãqQÌ–Ëõ²\/‹r¹^¯—e¹.7ËM¹Û­×ër»Ýl·›mY®Ër³Þ¬7eY–ëêv^¯—›²4¥Ä²ÜnËM¹.×ë²Üo×e¹^¯×›õf»Y¯·åb³Ù”ÛͦºõËõbmf×År1+fÅl<¦tëú~`·üôd²trb™ "HUšNhRL‹¢X.—ëåz]®×KÓ\–›Ýº\—&M¿Ù¬×e¹-7å¦\o–定à]/˲¨åe¹©ID¹^¯Ëõ²,Ër³^—Õ*ëÍ¢.:,ÖEQ,–‹ÅzQŸ˜Ì&ÃáSn—ù]ÛòÓSúrò¾< ¬,BÌL(ús“t~Î Då!<"à·"`Õˆ{¿�nX�×@_pŽNy‰™ú­¦@aõP‹UÕŒ‚\"oAÝ"ç>¿‡ÐˆHCÀx† ×e¬ö9»»ã=“tm˲¬FÓ@@£Ù´¬óK»aÙ-ûêæ¢eYÍæY³Ù´š–Õ`Vã¬aY—¶eÛ¶ý½Íìk ++…a!䫦ÖãAb†°bY)ÕÝÖÇ€€óªT8�¢æe#DDBLß矑žªGDÔ §Ÿ>=ü=ϧDD£¼*ÆÅ£'> BL$@„?=*#x‚9eH#!æ™6�a„ Òû$ÿ¯”ezN龜œ~ú‡Zeù4!B¡”}Ž1�u ~`ßÛ¶m56OWê="ffq>Ï5U‹¿G")oEYžL‰Ô#"¾œþãï8ϲ©¦‘Îó 1މiî"‚‘i8Ç;˲,Ûè-Á£ßÍGH„}vÃîŒ|8S"œ‘ ™þícš�ò©Îˆ²œÌìRþ "¼|i 6#ûÚv}ÖõE4¤ÃáxVÌæÅb1[,³År½.–ËÅr½\-ËÅf¹^,—ëM¹\—ër¹,7ë²\˜;x¹.åf½¬nþ¥A€õz¹4P°^¯7ËõzQ®Ëb]–ëõb³^nÊõÂ$×e±\Åb±X“Ù¤˜Í&Ã!â@EœÙ]æ»¶å§'ÀI ¢¡‚bÔ#ÆÒÀy@õH™Ñ`‡˜#Äè€ø8‚»€÷Â`îa Ðã÷Àx$x$Í€”z¤r+žŠæ¡'É™ +•óx˜Ö”qމ†Žà;Æ8%çÌ ±Û¶/­³F£qYš¯./–e7~÷{Ë>oÙ-Ó«uuÉìv«Õh4Κæ bÛþ5s�‡Ðï‡Fq$äÜE3a`œÏ€#Ä�(|üÌÄjÈP®â[ä¼"�DaÕÅ.u¦æþó^Mu”ô!P8ŠsŸ#b@|’‘×,;BõÆü‚FÇ}yt<Ï$a;×q:�NÇó¼ÓV]¥=¯ãyŽë¸žçz^§ãv:ß÷|áˆÊîÒ븮ëy]·Óñ:þ·^Çí¸ž×1*<îmÇ5Buû·ïyž{ëy®×q;^§ÓùÖuÝŽizv:Ïó=ÿáVøžY¨ã:•ÄÏuËþתû¹Ñhœ›¶èN§Óqo]·Óñ¼WF|Õ­ÎÓó<×ûÖØ�VŸéx¾ï·Â÷<ÏlÉíx^§Óñ:ï[¯SI$u\ÏuÝ 3žs~Þjµ®ß´k;ß�ŸÿÎ8Å~ç^¸•hl§ãÔ‹w„ïy^Çq=Ïít<Ït¿{ÿ�×ét:ÆÎôèxÉ&¸¶l»k»Œ‹‡ép’O&ãÉdV,År¶\,—³åb½^.Ö‹e±X¯ëÅz¹^®—ëÅz½6ý¢\®ó_/×år½¬|ü‹åf½.×ër½X®Ö‹õº\õÀQY–ëõb¹\/Ö‹u±,Š¥iþ™ÍŠ"çã4 ‘Ïl×g¶uÁ†§¾'å Àˆ�ê �£�ô1~kJCx&"ù"wj7š€saä£ T +³@ÎÏþzf€ž<ª5$n©C¡‚s~od'QKÀĸ†qÎ!ÇÇj„¾×ëÝõ€Û¶m]5š�Fömûòòòêêò²qfY–Õø¾a]^Z—lÛf¿ïÛuãö¥mÛvÏ#†<„0™JΡ ÀÈU`òEî`5/ú} rh$¨g„!ï¬:õ^ß!fCêŇ½†p “qü.•ZÜs� IK¨‚j€0©ý…À<¡^ \Í?ÐjED«|>ÍH)ŸÓœà‘ˆVÆò( 0Ïç‚rB€(E¯ˆòÉ$Ê�½(½'Dz¸ú©^|”çóiN84Ÿ`BD+T H)³ø8{óB +HsD�ïƒËçð½ÍÚWÖ%C|LWùjE@«�4"ʧó\#Š`<ŸÇ +‰ˆV8 PÕP¾â1Ÿ!(P�ÒrœæsD$!æ¹É�ÅÚn£asÎì(”¦® à[<Æ^�æ€r€i¾€‡A>GPÆ‘€~ʉVˆHJ`µxòu0*˲³Ýn*MÓáp8ÏÆ“ɬX,–Å¢XËe±\,Êõz±\˜ `½\.—ëõzQ”Åb¹\Åb±0-Ä&nX.—E¹(ËõÂ|SQý½rø-ŠYQˆ¨¡e¹\År1™“ñl2™ Çép8P fw]ûÚ:gé©/ÀÉ;+§<…wdÊÃz$5  �G™,“V €zE‚ƒqâ…>xrŒ¿ƒ¦¹?G#ž©‰XÓ�!€6)ß±¯LVÈä�$¡¡"âÀ9—R»èWV~=Îî웫+»šÈ²®.¯,ûêòʺlœ5ÎÎ,Ö¸³,«€««+ÛêÄ�,˾â=λaÈÃ0ä}�÷q\Óy~vÏ)A „΃B 0 ô‰¬,éaÞùð¼W‰1�/눽¾u�à5Œ}4~Vœ¡öú©Rz™Nª_úËzR¢ûc=¾‡¦Y.Ó(µøáq«�@ ¬T‚zam^Ï‘›×Š�±iõFŸG­Qg‘0?íCŠ”„éðŠêÚ}$Ì«hj5òîk·MªÆ†X¢¯1©ÏÐ凜+Nˆ^f?wš ÇÂ:·ì®mwƒÀdh8�'“Él2›M&“bRÌŠeQËår1+ŠY±\/Š¢˜Ì–‹Ùl¶,Š¢X.‹Y¾(fŬ(Åb½\.‹¥qò]ËõbQ,E1[.—¦½¯(Ť(•ÍïlRLŠ¢(Æ“Ùl<šÇ|:À4¼s[-Û¶¬Æ‹*àøéùøù?Ÿ~^)Róù|šÓ|>EÂ}Èu†ëœR€G̉D +ø8ÈÅ|N +hž#ehoŽãüýjN¨4ýçÓO«Õ«Ëç?ÍçDó'Âß#¾zQN€´"|¤¿­<¥ðUî¯rTH9)œ‚ÒïÇyþD�P–O§Øñˆˆ( %Þqþ½ýûßU¢L6³m˲­Öh4άFò~g›l�Í~i]Úákš‚€Õ´ì%ÜpftDú5rpEŽ#À̘dç"¥pöj>'¥hžÓ0GŠ”ÓÇ)!Mÿói5u›ÏçÕ^ÓD_�ÈìUÑǹ �*„\¬ÓœŒÁö¥ÊóÕSFˆ4�?­Ç—ìÁ“N5бDm’ƒïPעć^aÁ¹@Aü¾S�¶ß›b@%¢ó1©ò�U‹ zBÁëJ@YK”Rb’huÈ’Çѽ‘0A3ÇoJƒ�K™k�4ÂÛøóY€}Ãt¬º×-˶íë®5(¢¹Ñ&“Él6™Œg³Y1)EQ,³Éb2+&Ŭ¨¢õeQ,ŠE1›³ÉdVÅlQ³Y±¨nêbRÌf‹¢˜/“¢(Š™ù˜³bVÌfŬ˜LfŤ(Æ&)9i2N‡iªEQÀ®[¶mY–ÍÕðÄè”Y*¥¼ÔˆsàV(cÍ#T ¼7 +Á J*5¥ˆçHf|R!ð6�„*W +”@Ħðà!¥cjœ"!„ç á+ß¨È @R +ðV)À”fF]>�„"cVEˆ@ˆ�BxJ€Ÿ1øû÷Ï‚ Ãõ¿±.Ï�†e*~W–}e8À…õ¬ˆnYf^ôºõCEç÷}ßw»<òÅ­ˆê½(x£”˜Î‘€R „é«TE"±R ¢Ó¢zð‘0WBåoL/­¨W¨€Â[P*ÅtL8eæl£™B� +"ÄôH�öK­¨1¸µá2@‚ e,5½ìZ3 +fÆ�‹<ªšéxEe@Ϻ?·Æ*�=U/a>)¥Ö àt6ÆÈ£!pôµ®ªÕ#6äümn3'é±¶ÍìK«ùMã’ƒD_‰#µ" ƬåñÅ©×Ý‚ÀPT‚Ô<4ªG8eÜŸ?WZ£$¢k5­KÛ¶oXﮆa _·nÚÕ< ¿¿?(�ÆÀâßV-ìQÝ#D\9š²äËã% *b–e_·lÛçAE*M‡ãa:Ži<™å“ñ8ÎL0›Í&æc1+ÆÅ¤˜Íf“¢˜L&ùd2+&‹ÂàF1›M&“IQÌf“Ùd2Of³Å¤0Ÿ+ŠI1.†“Ù¤XÌÆ³IQÌŠÙlbþ“a:¦I:¦CT¥"°n˺¶­ W¨Áð¤˜zJDSAc@ÌzÞ;=¤ÆòQ?e?eˆÉ#¢„Gcù'!†Ç¼S§Åˆ +ß'DDƒ\#À#bt$¬’ªÇ0F$ʦdR…1`F¤�€ULʼÝ `K3E ü®ÇÂÜØ—Öﬖe�Y–e]6Íf­Öh]]^Öp~—6kßõàºz'àwÆ’” N·€¨QO³¹ÉBYŸœŠcˆG¯ŽT¼‘FD£�"Ó +±ÉÃ^Íà+eÓÜ'i´(Mí#(�dRPñ¡'“2m_ÁE àâqŸºyJ#ª~¶_=Îç÷ ßDèёĕ†XGïï kÎEþÉâµôq¤jév8‘Ö¾©èÖÓ�!T£Ú’3îcì¦m_YÍfÃæ€ðp´ø}5…¨¢£3�Œ]0 3q$/%‡`uÔi 0«qf]Uš€U6GÊ×-Û¶íºƒ´r�â•fªB-ãçÅ@J�A$>õwx-Ž N¤ƒÁÀ·,«Õ²m‰�¤Ãá`0LÓtH“áp6g³Éd<žÌ&ãñ,Óx6çÕ];™�ÇãḚ́…Ùx8™L&ãÉx<ÏÆÃ¡ùÚ!®g³ád<™ ÓÉxœ�'Ãád’‡˜¦ƒá0§)*f·¬–m]°�¤éÉÙSÒšD&%H$g%eíá«Ì”ê,Ë2Ì�*%ëÄLïÆ@njÂËÃ]Ašž2šÒA"ß>g„þx-1û�,›OñÈL–eÇÊ™¬“…òD‚Dä¼ç3~áߨW–e5¢LÍfó¬jj6 «Ñ8;kžY—Ífóì¬qgM˲Úí6ëµx¯wÇ9\ŒÂ:9â½[Ï«a–eÿ‘=~8L7c’ Ș<£W PÕM…F ’㉵_¼V`r&³×y<2�?LÌ^�'Z(�ˆˆ?g_ãµì¿Î!AL(%J™$Z¨èèÖå÷uO JêV†\RVm÷R¢NN.åÑ€a%È«ÛÁ(J�h¥x$N’eõÃ%y�õâ1ç¡1�fâZrÆlcÚ°9 +en3Á!¦Êá 5F÷Çgnä`E¥P(‰‡>HãM&%pðèÈC%ô­³3Sæa¼Ú‘F –mÛìÐC΃ :u”ˆj3WSB]4¾ÈTÇ)¤išRnÀí²Àç µ õŠÀ¤[t–ýG–!Q%ìLj@.¼#Ï,Z¿ÓY�H)I &¨æ¶€2v’±F�Mÿœeþ_5à#JI(cÄXÆêî Ÿ@ùdH`�÷zpÎÚí+Ë:¶9:k4ÎÎÍÊ÷àììù Ö!xvfYk·kqÆzœJ–þ�œsèVÞ¨³lše*¯÷*%<|z¹×L£þ(PJ$¡´®‰¶€HA ˆ Í^ÿ2õŸtJŒ%R?ÖŒ¡~9òL- ÈÁ4TDb¸õHk£›!ÔI¤`j´÷F5œº5ß6TJ½lp3|î!æ=P0N¾F $ÓÏ!@=ŽÄ9øk ÿ°¸”pðû�ó–äw¬ýÛ¶-«asa þaº^<9ºÑ^‹úÌkJ P‚Iwšli EàQ�\±±pAßj4¬Ë›ö÷mΤ–RJÒ bËþcì®×ãÏ)ŠçB³¸¬ô�e±þ HåA66³ßæ÷ sÐA4PÊÿ¦qaY-×uY7¼òJ™§m:0SCãašŽ‡išÒ0†ã4M‡ƒt˜ŽÓá`8¦j8i8˜Râ8 ‡Ã!¦Ãñ0¤8HÃa:$2Ôb2†‘ŽÓñxHÃ!¦ƒ4M•ù‘ "!¢ ¸ïº¦%¦q 8¹ÿO€2BÔ"ÊÌÉt–UrƼ«Ù,­ 3ªz^H@|„C…@=b‚gaòÑ77ÅÔÚ8˜4@À,ÓZÿû¿gÞ“–ïj© <æJÕùêc­+uýØŒ³žmYͳƒ†ç»þì¥sÓÙYÃ:þdóêêÆ¾i·îX¯$2nô"€ƒ‹fÈ­z «œ1ƸE�sÿ(ÜAŒ³Lc2õQJMÑ5ˆû#%©z¯™þàMõ³¬�yÏáø±º·ð5¢ÌŽÀ/Ÿ#úø7Aï‘ó9¾Ê>ýcú´å¿ Í2BÄŒÐQšcžSîç„óSŠ!§ù +‰��Ö^>�çszDúðKŽ@ÿ�¢SÂñ (ûÇ?¦O+ÊÿöëÅ s•š¾"Â<'”c>�ªç+LA‚€ÜEÔò›1~Å®þ‘þhV™c.²ìÿøéiEÙGTõâ?BnZñ`˜åDå˜Ï?d¹ž¯Ó8ø~8æOs"@𝿸ô¸m]ÚwŒ#—ñç�Óì?5­ÀfŒ‡`T5Bú‰('é³y>BÌ“|š%f’]Íç«yžÒ|ôcž~çŸùµ ¬Ù8o4,·kw»<A „ˆÔ@)¥@ ¢Á@Ej ƒÁp0¤*M•ÉÂ¥©aåé0ÅŠQ ùÏ  R•ƒ4(¥Õÿbšé`xHç p�«ÿ ”Rƒ7*Š¢È÷…ðcöõuë¢a5×ATñ‚CïÏÑ¡s­µäÜAÔ™~.½7%?D­Œ„‡„‰kUüG<…ˆF†fê!`êÒT€¬~ ¨êg¤¥Ä?gÞ9­Z�B‚$:®Œ¢ŒcàìŽÃµÇXûÒ²šÍ³ÆyœUppúo-ûÊn³ vÃðœóP‡Æèàž“ct +�ª½’–RbœÄ·4$! àñ°×ÌGÀ�¯«½&iÍ•#�iäM“ød¯hÊÜf¯1"‚~¾ÿuãáóãößœŽwëURªŽã¼žçyݮ۹íqÕ[ǹí8ޱí3‡ÿêöÁ÷nÇ}ð\ÇíK¿ŽãyÞ­ç8Ž÷êááö•ãx·�Žs[}߃ð»žW�@;N§Óqn�ÛÛÓÅ=ÿöÁõððÐq畱ûs¾sZ­ë çºuѪm4�ýà³Ùžÿà{žçu]÷ö¶jktœ[ÇqnÝÎó⯼W¯^=<??¿¸h9ß}gd`Ÿ/�ãúÿöêß^½zxðÇypêéoÇqo=×»u]×é¼:½þâs•Æ {ÖhZ ˺¶m×?ΉHEJ½�HE)% ” Ô¨Aª¤æ¡=(5 JEj0ˆJ½ +•RÀ@¥¥ÐÀ‰ŠÌ¿V Þ j êM�hä""‚ `]×µ¯+¶lù"à"8:NºKrÒÙH¤@N*¥ÖÆÖO€qf­Þý:©5þ¤ãC|„ˆ1Ä1yéGDÂ,ÓÙÏÂÜG)õ”µ¾ +'U}_¢1F�ÓZÐH“"TÕŽÏ™(ð{Ìf¬Ýn·í£ yyuÕl^]]Ý\6›Í«Ë››f³yuuÙ¼º¼¼ºººº²OMQϬfûÊn3‹Ùð¯¼× %„¼Ç¹rÁ;qUk×øNã_õsuJ"BÇ#AD•w a–Qö÷„\ ”:C f˜8áÀìGkÔ™ŸéŠÔöš˜€¨Ôí“Ñ¿W‡þ‚/@>Ï?æWŸæ8¥9(¢'MY–åsú…pþË*ûH^òËèiõ¤õ”´i¯S+"š“ø_Vsú˜ë9åyžMçóùˆ¦ÑË3³øÏ«Osý!Ÿ½�ßý¬)˦Dù|ô %ó_ž²�ä«OÙ_?>‘ΫSBXåD3z“Oç3½Êqª‰‰4AÔkýÀìK �Ùêã/SÊó©ÎEšã߉²lN4�Ó/åŸ�V$àSþËÇ'Â,Oˆ0Ÿ£ZåDsŠÆóüc®Ÿ¦ÉOYžç4ŸÎŸ2Ê¡Ê)ÿ)û˜Msn·»>…Oˆšæšrº£~(ç3-ø'Zýò”a6Mò÷˜ç¨fs¢œTºÊÿžÑ|ªçyžçTä󧌲_H`~ú¼pkæc�Ýh4š�s˲l»Ëº~Àx×.�¸ˆ¢H ‘EQ¤ªÇ°RƒAâÍ`0xA¤T�x©ÈH­ +!„P‘ŠÌw@EBDQ¡à�Š`P}>ˆ”:ÜôApÎ}ŸùŒu™}}ݪì€Î»Á‹ã¤½DgY– �þb‰:ÓucÏ= ŠãXš¾(Àç&fCY�°¡ê¼7™�9Äa–eÙGç�”¨§z^‡¦¤PBÇQ¾“IægÉA…%Æ Ô£�&á+«Èô�ü“„kØ�Ýn·Ûí«g›C›×†Dœ÷ú1û½^�‡ýjЧÏyû+°®®ÚmfµX Ú¬¾•²Öä¹G•(JÔø1‘‡¢•IH˜$ å€�õ^§Í])Q8ìµ?­lù¤‘ÒÏ<�Ç =@Å&‘Î…Dá³Yéu‹Ö•zJÀ‘ÑMó„.Cir(–2Ó¨õTš¡½×K|+cx¨œ;¤„DÆ�U`¢s'Otýç&þõO™I‰ZKt#Ä)‚DIf{&K/”Ã~ýBÞã=yÁì«3;F�€™q…â¥4>…Ò�>)³‘Tžà¡ÔS”e2>è²Ê]«o~÷ÑOÂ1ÁÞÕåÕM›1öƒó¤„bàv›sÎ¥„Ð÷�ßHÇÆÊ1Œ«ÑbP~å2"k³'­Äd@rú°‡ßeÌm6�fóܲ®¯ín·kɘïó€D Bð@D"2á9�ø›@p!‚¨Šç‘¢ à‘pˆ@ðHD"xˆêÅÕÿ8˜UE "!DàûŒùc¾ïw»®mwm3ŠmLL¬.cæÜêã�eÙT89H©)›š[RK�W¢é(%‚LWºÖ¤•²ÊeS‡Ô¤ñÑÜÿñ³xåÌAJÔzª!–’4>!â#⣠#PûOºNðȸËDakM �' ßý)�ÙÌfí6k·-«ú-þܧš¾ºç–RõÙQ°Ñ8kX—7ívh�3ÎÚ¬×å;c/!æž†Ø ›©QÕ'‡+„ÿå!<Õ]€ ÿœeÿñ³ð�ܨ~Ð26ÍQ8¯øUl’&äW9€c •ø¢IŠb¦A> +J¦ÏðM`så%¼3¤Œ=)H€8‰R¾Ó1äàœ¦2“RÊܼ¥�´gP�÷DZ¬kpµÖó¦Õˆ¬z„’qm %e,QJ$ è Îi%s)¥¤çŸÀÃ$„aØCÎû¼GüæªÙD™H@ùVJPJš|,ÍÓ$êjñl.Ÿ¤4÷¦iBÌ]-¥4Cf¨õÜËtuæü²i·Ù]�«ZÊcàWv¯× uÈCß7—¥ö¯–(� Ñø8c'£<¨§¤O_€îéáv]»k,÷¾i|cY×v¥Jnwëv»>ó™0Æ¿RôýÀ?à&VðYÀƒ ðý®oÄ ‚ ðƒ€~ø¾Ï|ƃ€ëúœ>Θ&¬a~ø]Öív͵ÎõµÕ¬úe××¶kŸÀÇ£ãçùtú” %³i†”# "å´zƒ˜ÌiNDš0§ÕjúË_ž~xÊò<§ŒV´šÏ¼ùüÓœVOs"ÄÑÓÏ?gó'z奄ˆùG9)E +óŒ>"a6¢�<xš>­~ÎóÑôÃtE9­Æÿ{®DN¥Q–k|„ǹΤ–¾¸Fn3Ö ¯î˜U·B¤‘t’7W=§lšåO4¢,ÿ�'4ŸÏóÅÏY�v»Ýn·ÙŵÍc Ã{#DÉ*@Ĺž#‘N0ÍWó¿¯V¦†æ´¢Å<÷òù§iö´šašÏþù/ÓùûW·?"æsÌ礀³lô1Í1ÏhED &yî?Mç«�yNÓóåùêÇŸþ7ˆœV”çó¥H«Õôé¾0lÌ×§ 3 þc¥¸^ËYÇ«Ô<Ξ ~Ô&ƒ)ÀTnÑHkóQû”Äb)¥ÌdLîA¨ÃâaUSC@7â!—:;,.”*a´bó ýCïýoÛVÛ<¶A¾ AA|ræFI!R^Äï9h’PýX™Tõ&Aˆ±Ñ'ªµQdŒ¨M‡H)ù•e÷îîØ9㼡€Ø•Í8‘sÞ圡Œó}Ÿu»¬Ë\÷ ƒeWé\_ÛßÔê8�f€üŸJ‰HD" „¹â¾ˆ@ˆJùÁWJ©ÔSBˆÀxð!ü‡Hˆ‘F D`,*„BÇG ÄÃC „B(ƒ@D‘<³\ @!¨„xxxD „ð…�ð@ðJÈœÇ}Æ\Û¶íë–õ»otæò@øn×ïv=ß "þ­àœ~àû~àû¾øöQðMãwÖ¹Ý2XÍsY—ùÜç\¤øB€0?Ôó(•úJñ�ñÊBˆ¡""àB=( !"¨ÈˆH(O\À˽Š„|áÕ^#ñ nUm‘ñœ_úˆ+Ñm0tÕG£©{�³€· Îy¬eÃv�26f�¦´ć‡ÑûP-.%V¢ÂöelZíª©ð\3¡U5èd0�� Œ¥„¾) …œs~wÇy+d7W j>bZpŒˆQ|ȘJƒÏ¨bv´8‚L•ÖX9�Æ’ðP‹õò꺼í3Ëf½Þ]�ûa¿6Œ˜}ÃxBÀ¹ÜsÎ9fx>7Ô“%‡ÅãôhñÏëضkÛ–uÑh4¿±Î,ËjÙöµmàº]Öe¬ËXÀ|ÆXÀ|Ÿ¾t}ŸAÀ‚ç8¢z«2t}æû XÐeŒù¬Ë˜!¬ë•ð™ï3Ãüà�ÌgŒùŒu».ëº]Û¶ÍÍÞjµ,Ë2Õñ³ÖµmÛö }9ÙX¢‰’ÑTÀCzµN4 +Ô$ëÆ€×¦VG#‘* ÊGDJI’–ˆ„3õE�Z'1¢ŒµÖš•'<Ö^v„ˆ¨ˆäÁ$âb”‚$€” +ëA ö�mYͳ3ÓùËA‡{Á9•º­én©~`ÌÙ¡xÖlžY—6³ív›õz½Ê^�Ç�'˜Ômaâ5 ‘H‰ÈŽ}â$bŠ$�^DBêc’製blt¸1G”G{EDDa´;ªå ¯ï#JЄø¿6 $LüjÄ·ƒZ®íHW—î#pòjP»Ò1wLŒŠ4J©«'Üc=fÃsǤ:$J]«î�CüöX;ž@(wlÌ‚Ÿûd4b 2N“DJ‰¡ùÅýÊ;ö¢Ý¶mBµ8J0þÂp,6&ã„zÈ�óÀý¼¸– eŽ:‘¨“Ê À(°st#€8–RBh_Ùí^�÷|a¿ìf$��qáçœ÷¼«¯—y½åèDJ­cnfÞëYOÀ©*s÷äþ7P{n6Ž€u»]×í2Öe]sW3ÿìÝ.ó«x€yJtÍ#+`Á�AÐõÆü Û ˜oùŒU`ðÄg¬ËÜn×vmÛ­à÷-˲*7ðß8fÇÄ�Q¢1‘:3’öÏ�h-Ÿ;ƒ ü(2äã#3KBD­ˆž›T@ÆOɤ„0ùggͳFã²ÁB ¸yâ‰jÈí:7ÑÜ#¼~-eŸ]=ÀÙ™uysc ßëU ¥” ˆuÕµ(„„D"¡È°~4V{�SÔ5èµÖf¯Ïà AÄDd£çK§µE”`¬êûÿK�€RþF÷"à<>ÌÙÕ4餅±ªå rĈk�Ç+ƒ”DÄ� 6 ÓÄŒ@-æÄïcwvûædô¬ u@Œ=ì ιX÷á¼€{¬Úô9ÀŽ€X¾ÿîÚmÆ8‡;Î púI"äO u1€iÌà<ñöø�òEÀ¶]Û¾n}SõŸ3€n—½ÿ˜ø ün—ù¬ë3Æ*`óýŠ0æ3?èvYŒæ/�ÏüSøc×7ïv+°�àwU¬õ_À�”hDIG@:!ÉÀ3TU½Gˆ)Õ5ÐúFZ“¯r�U —ˆ¨/p¡teòïWpvf´þ*¨¦kÈ  öÙåͳ¦uÓ6Àïúø“Dàø›�Õ @× @Ç(¥¤—Õ…>ü2¼z€¯´Ç_)¿È"þb�/@ÝÕ¯sÇÜU§€Ÿ€a?~‰€DJ™$€g¸y >gå`8˜Ôð¨‰Ú ŧ¿p€?ü‘=Ó‹P͆M¼HÁ°v·{ôášÀ2-éÇP1€£àØç!@ð"ðt™L0`,Xuœ„Ÿ1€ +~ÿyðe¨À»/†¿Êã@_fäƒ NÀ»ÿ +Ý8 y¯wL ð‚ðÏ@ Ÿ@³Ù8³¬šð;Þç=ò{ù§/Àã—@Ö@�’#Ð õ¿ÂÀW€qï®ú< ø’ø¿¼`”$1H©Ž@ýEaÀ1È_€È„â— 1 €CxH0ÆØç àà(€¨þ«P3uè]¾ìð_ÀãKð8y„²CÐh4¾içëvíÿ2ð!{€oBóØ7!@•-cÇ9€þ×À¯åbraylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_loading.js b/examples/web/models/models_loading.js index 8b12ab9..475001d 100644 --- a/examples/web/models/models_loading.js +++ b/examples/web/models/models_loading.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_loading.data";var REMOTE_PACKAGE_BASE="models_loading.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);Module["FS_createPath"]("/resources","models",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5286416,DYNAMICTOP_PTR=43504;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_loading.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"d":abort,"b":___assert_fail,"sc":___lock,"D":___setErrNo,"gb":___syscall140,"Xa":___syscall145,"q":___syscall221,"Ca":___syscall5,"ra":___syscall54,"C":___syscall6,"B":___unlock,"be":___wasi_fd_write,"A":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"yd":_emscripten_get_element_css_size,"nd":_emscripten_get_gamepad_status,"cd":_emscripten_get_heap_size,"Tc":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"zc":_emscripten_glActiveTexture,"rc":_emscripten_glAttachShader,"lc":_emscripten_glBeginQueryEXT,"hc":_emscripten_glBindAttribLocation,"cc":_emscripten_glBindBuffer,"Xb":_emscripten_glBindFramebuffer,"Tb":_emscripten_glBindRenderbuffer,"Lb":_emscripten_glBindTexture,"Ab":_emscripten_glBindVertexArrayOES,"tb":_emscripten_glBlendColor,"rb":_emscripten_glBlendEquation,"qb":_emscripten_glBlendEquationSeparate,"pb":_emscripten_glBlendFunc,"ob":_emscripten_glBlendFuncSeparate,"nb":_emscripten_glBufferData,"mb":_emscripten_glBufferSubData,"lb":_emscripten_glCheckFramebufferStatus,"kb":_emscripten_glClear,"jb":_emscripten_glClearColor,"ib":_emscripten_glClearDepthf,"hb":_emscripten_glClearStencil,"fb":_emscripten_glColorMask,"eb":_emscripten_glCompileShader,"db":_emscripten_glCompressedTexImage2D,"cb":_emscripten_glCompressedTexSubImage2D,"bb":_emscripten_glCopyTexImage2D,"ab":_emscripten_glCopyTexSubImage2D,"$a":_emscripten_glCreateProgram,"_a":_emscripten_glCreateShader,"Za":_emscripten_glCullFace,"Ya":_emscripten_glDeleteBuffers,"Wa":_emscripten_glDeleteFramebuffers,"Va":_emscripten_glDeleteProgram,"Ua":_emscripten_glDeleteQueriesEXT,"Ta":_emscripten_glDeleteRenderbuffers,"Sa":_emscripten_glDeleteShader,"Ra":_emscripten_glDeleteTextures,"Qa":_emscripten_glDeleteVertexArraysOES,"Pa":_emscripten_glDepthFunc,"Oa":_emscripten_glDepthMask,"Na":_emscripten_glDepthRangef,"Ma":_emscripten_glDetachShader,"La":_emscripten_glDisable,"Ka":_emscripten_glDisableVertexAttribArray,"Ja":_emscripten_glDrawArrays,"Ia":_emscripten_glDrawArraysInstancedANGLE,"Ha":_emscripten_glDrawBuffersWEBGL,"Ga":_emscripten_glDrawElements,"Fa":_emscripten_glDrawElementsInstancedANGLE,"Ea":_emscripten_glEnable,"Da":_emscripten_glEnableVertexAttribArray,"Ba":_emscripten_glEndQueryEXT,"Aa":_emscripten_glFinish,"za":_emscripten_glFlush,"ya":_emscripten_glFramebufferRenderbuffer,"xa":_emscripten_glFramebufferTexture2D,"wa":_emscripten_glFrontFace,"va":_emscripten_glGenBuffers,"ua":_emscripten_glGenFramebuffers,"ta":_emscripten_glGenQueriesEXT,"sa":_emscripten_glGenRenderbuffers,"qa":_emscripten_glGenTextures,"pa":_emscripten_glGenVertexArraysOES,"oa":_emscripten_glGenerateMipmap,"na":_emscripten_glGetActiveAttrib,"ma":_emscripten_glGetActiveUniform,"la":_emscripten_glGetAttachedShaders,"ka":_emscripten_glGetAttribLocation,"ja":_emscripten_glGetBooleanv,"ia":_emscripten_glGetBufferParameteriv,"ha":_emscripten_glGetError,"ga":_emscripten_glGetFloatv,"fa":_emscripten_glGetFramebufferAttachmentParameteriv,"ea":_emscripten_glGetIntegerv,"da":_emscripten_glGetProgramInfoLog,"ca":_emscripten_glGetProgramiv,"ba":_emscripten_glGetQueryObjecti64vEXT,"aa":_emscripten_glGetQueryObjectivEXT,"$":_emscripten_glGetQueryObjectui64vEXT,"_":_emscripten_glGetQueryObjectuivEXT,"Z":_emscripten_glGetQueryivEXT,"le":_emscripten_glGetRenderbufferParameteriv,"ke":_emscripten_glGetShaderInfoLog,"je":_emscripten_glGetShaderPrecisionFormat,"ie":_emscripten_glGetShaderSource,"he":_emscripten_glGetShaderiv,"ge":_emscripten_glGetString,"fe":_emscripten_glGetTexParameterfv,"ee":_emscripten_glGetTexParameteriv,"de":_emscripten_glGetUniformLocation,"ce":_emscripten_glGetUniformfv,"ae":_emscripten_glGetUniformiv,"$d":_emscripten_glGetVertexAttribPointerv,"_d":_emscripten_glGetVertexAttribfv,"Zd":_emscripten_glGetVertexAttribiv,"Yd":_emscripten_glHint,"Xd":_emscripten_glIsBuffer,"Wd":_emscripten_glIsEnabled,"Vd":_emscripten_glIsFramebuffer,"Ud":_emscripten_glIsProgram,"Td":_emscripten_glIsQueryEXT,"Sd":_emscripten_glIsRenderbuffer,"Rd":_emscripten_glIsShader,"Qd":_emscripten_glIsTexture,"Pd":_emscripten_glIsVertexArrayOES,"Od":_emscripten_glLineWidth,"Nd":_emscripten_glLinkProgram,"Md":_emscripten_glPixelStorei,"Ld":_emscripten_glPolygonOffset,"Kd":_emscripten_glQueryCounterEXT,"Jd":_emscripten_glReadPixels,"Id":_emscripten_glReleaseShaderCompiler,"Hd":_emscripten_glRenderbufferStorage,"Gd":_emscripten_glSampleCoverage,"Fd":_emscripten_glScissor,"Ed":_emscripten_glShaderBinary,"Dd":_emscripten_glShaderSource,"Cd":_emscripten_glStencilFunc,"Bd":_emscripten_glStencilFuncSeparate,"Ad":_emscripten_glStencilMask,"zd":_emscripten_glStencilMaskSeparate,"xd":_emscripten_glStencilOp,"wd":_emscripten_glStencilOpSeparate,"vd":_emscripten_glTexImage2D,"ud":_emscripten_glTexParameterf,"td":_emscripten_glTexParameterfv,"sd":_emscripten_glTexParameteri,"rd":_emscripten_glTexParameteriv,"qd":_emscripten_glTexSubImage2D,"pd":_emscripten_glUniform1f,"od":_emscripten_glUniform1fv,"md":_emscripten_glUniform1i,"ld":_emscripten_glUniform1iv,"kd":_emscripten_glUniform2f,"jd":_emscripten_glUniform2fv,"id":_emscripten_glUniform2i,"hd":_emscripten_glUniform2iv,"gd":_emscripten_glUniform3f,"fd":_emscripten_glUniform3fv,"ed":_emscripten_glUniform3i,"dd":_emscripten_glUniform3iv,"bd":_emscripten_glUniform4f,"ad":_emscripten_glUniform4fv,"$c":_emscripten_glUniform4i,"_c":_emscripten_glUniform4iv,"Zc":_emscripten_glUniformMatrix2fv,"Yc":_emscripten_glUniformMatrix3fv,"Xc":_emscripten_glUniformMatrix4fv,"Wc":_emscripten_glUseProgram,"Vc":_emscripten_glValidateProgram,"Uc":_emscripten_glVertexAttrib1f,"Sc":_emscripten_glVertexAttrib1fv,"Rc":_emscripten_glVertexAttrib2f,"Qc":_emscripten_glVertexAttrib2fv,"Pc":_emscripten_glVertexAttrib3f,"Oc":_emscripten_glVertexAttrib3fv,"Nc":_emscripten_glVertexAttrib4f,"Mc":_emscripten_glVertexAttrib4fv,"Lc":_emscripten_glVertexAttribDivisorANGLE,"Kc":_emscripten_glVertexAttribPointer,"Jc":_emscripten_glViewport,"Ic":_emscripten_memcpy_big,"Hc":_emscripten_request_pointerlock,"Gc":_emscripten_resize_heap,"W":_emscripten_run_script,"Fc":_emscripten_sample_gamepad_data,"Ec":_emscripten_set_click_callback_on_thread,"Dc":_emscripten_set_fullscreenchange_callback_on_thread,"Cc":_emscripten_set_gamepadconnected_callback_on_thread,"Bc":_emscripten_set_gamepaddisconnected_callback_on_thread,"Ac":_emscripten_set_keypress_callback_on_thread,"yc":_emscripten_set_main_loop,"xc":_emscripten_set_touchcancel_callback_on_thread,"wc":_emscripten_set_touchend_callback_on_thread,"vc":_emscripten_set_touchmove_callback_on_thread,"uc":_emscripten_set_touchstart_callback_on_thread,"tc":_exit,"z":_glActiveTexture,"V":_glAttachShader,"n":_glBindAttribLocation,"c":_glBindBuffer,"k":_glBindTexture,"qc":_glBlendFunc,"i":_glBufferData,"y":_glBufferSubData,"U":_glClear,"T":_glClearColor,"pc":_glClearDepthf,"oc":_glCompileShader,"nc":_glCompressedTexImage2D,"mc":_glCreateProgram,"kc":_glCreateShader,"jc":_glCullFace,"p":_glDeleteBuffers,"S":_glDeleteProgram,"R":_glDeleteShader,"Q":_glDeleteTextures,"ic":_glDepthFunc,"P":_glDetachShader,"O":_glDisable,"j":_glDisableVertexAttribArray,"N":_glDrawArrays,"M":_glDrawElements,"x":_glEnable,"f":_glEnableVertexAttribArray,"gc":_glFrontFace,"h":_glGenBuffers,"fc":_glGenTextures,"w":_glGetAttribLocation,"ec":_glGetFloatv,"dc":_glGetProgramInfoLog,"L":_glGetProgramiv,"bc":_glGetShaderInfoLog,"K":_glGetShaderiv,"o":_glGetString,"v":_glGetUniformLocation,"ac":_glLinkProgram,"$b":_glPixelStorei,"_b":_glReadPixels,"Zb":_glShaderSource,"Yb":_glTexImage2D,"m":_glTexParameteri,"J":_glUniform1i,"u":_glUniform4f,"t":_glUniformMatrix4fv,"l":_glUseProgram,"Wb":_glVertexAttrib2f,"Vb":_glVertexAttrib3f,"s":_glVertexAttrib4f,"e":_glVertexAttribPointer,"Ub":_glViewport,"I":_glfwCreateWindow,"Sb":_glfwDefaultWindowHints,"Rb":_glfwDestroyWindow,"Qb":_glfwGetCursorPos,"Pb":_glfwGetKey,"Ob":_glfwGetMouseButton,"H":_glfwGetPrimaryMonitor,"r":_glfwGetTime,"Nb":_glfwGetVideoModes,"Mb":_glfwInit,"Kb":_glfwMakeContextCurrent,"Jb":_glfwSetCharCallback,"Ib":_glfwSetCursorEnterCallback,"Hb":_glfwSetCursorPosCallback,"Gb":_glfwSetDropCallback,"Fb":_glfwSetErrorCallback,"Eb":_glfwSetKeyCallback,"Db":_glfwSetMouseButtonCallback,"Cb":_glfwSetScrollCallback,"Bb":_glfwSetWindowIconifyCallback,"zb":_glfwSetWindowShouldClose,"yb":_glfwSetWindowSizeCallback,"xb":_glfwSwapBuffers,"wb":_glfwSwapInterval,"G":_glfwTerminate,"g":_glfwWindowHint,"F":_llvm_stackrestore,"E":_llvm_stacksave,"vb":_nanosleep,"ub":_time,"sb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["re"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["se"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["Be"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["Ce"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["De"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["we"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["calledRun"]=calledRun;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_loading.data";var REMOTE_PACKAGE_BASE="models_loading.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);Module["FS_createPath"]("/resources","models",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_loading.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["de"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ee"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"a":___assert_fail,"Zd":___sys_chdir,"Q":___sys_fcntl64,"Yd":___sys_getcwd,"$d":___sys_ioctl,"ae":___sys_open,"w":_eglGetProcAddress,"aa":_emscripten_exit_pointerlock,"Z":_emscripten_get_element_css_size,"U":_emscripten_get_gamepad_status,"V":_emscripten_get_num_gamepads,"$":_emscripten_get_pointerlock_status,"Bd":_emscripten_glActiveTexture,"Ad":_emscripten_glAttachShader,"Rd":_emscripten_glBeginQueryEXT,"zd":_emscripten_glBindAttribLocation,"yd":_emscripten_glBindBuffer,"xd":_emscripten_glBindFramebuffer,"wd":_emscripten_glBindRenderbuffer,"vd":_emscripten_glBindTexture,"Jd":_emscripten_glBindVertexArrayOES,"ud":_emscripten_glBlendColor,"td":_emscripten_glBlendEquation,"sd":_emscripten_glBlendEquationSeparate,"rd":_emscripten_glBlendFunc,"qd":_emscripten_glBlendFuncSeparate,"pd":_emscripten_glBufferData,"od":_emscripten_glBufferSubData,"nd":_emscripten_glCheckFramebufferStatus,"md":_emscripten_glClear,"ld":_emscripten_glClearColor,"kd":_emscripten_glClearDepthf,"jd":_emscripten_glClearStencil,"id":_emscripten_glColorMask,"hd":_emscripten_glCompileShader,"gd":_emscripten_glCompressedTexImage2D,"fd":_emscripten_glCompressedTexSubImage2D,"ed":_emscripten_glCopyTexImage2D,"dd":_emscripten_glCopyTexSubImage2D,"cd":_emscripten_glCreateProgram,"bd":_emscripten_glCreateShader,"ad":_emscripten_glCullFace,"$c":_emscripten_glDeleteBuffers,"_c":_emscripten_glDeleteFramebuffers,"Zc":_emscripten_glDeleteProgram,"Td":_emscripten_glDeleteQueriesEXT,"Yc":_emscripten_glDeleteRenderbuffers,"Xc":_emscripten_glDeleteShader,"Wc":_emscripten_glDeleteTextures,"Id":_emscripten_glDeleteVertexArraysOES,"Vc":_emscripten_glDepthFunc,"Uc":_emscripten_glDepthMask,"Tc":_emscripten_glDepthRangef,"Sc":_emscripten_glDetachShader,"Rc":_emscripten_glDisable,"Qc":_emscripten_glDisableVertexAttribArray,"Oc":_emscripten_glDrawArrays,"Ed":_emscripten_glDrawArraysInstancedANGLE,"Fd":_emscripten_glDrawBuffersWEBGL,"Nc":_emscripten_glDrawElements,"Dd":_emscripten_glDrawElementsInstancedANGLE,"Mc":_emscripten_glEnable,"Lc":_emscripten_glEnableVertexAttribArray,"Qd":_emscripten_glEndQueryEXT,"Kc":_emscripten_glFinish,"Jc":_emscripten_glFlush,"Ic":_emscripten_glFramebufferRenderbuffer,"Hc":_emscripten_glFramebufferTexture2D,"Gc":_emscripten_glFrontFace,"Fc":_emscripten_glGenBuffers,"Dc":_emscripten_glGenFramebuffers,"Ud":_emscripten_glGenQueriesEXT,"Cc":_emscripten_glGenRenderbuffers,"Bc":_emscripten_glGenTextures,"Hd":_emscripten_glGenVertexArraysOES,"Ec":_emscripten_glGenerateMipmap,"Ac":_emscripten_glGetActiveAttrib,"zc":_emscripten_glGetActiveUniform,"yc":_emscripten_glGetAttachedShaders,"xc":_emscripten_glGetAttribLocation,"wc":_emscripten_glGetBooleanv,"vc":_emscripten_glGetBufferParameteriv,"uc":_emscripten_glGetError,"tc":_emscripten_glGetFloatv,"sc":_emscripten_glGetFramebufferAttachmentParameteriv,"rc":_emscripten_glGetIntegerv,"pc":_emscripten_glGetProgramInfoLog,"qc":_emscripten_glGetProgramiv,"Ld":_emscripten_glGetQueryObjecti64vEXT,"Nd":_emscripten_glGetQueryObjectivEXT,"Kd":_emscripten_glGetQueryObjectui64vEXT,"Md":_emscripten_glGetQueryObjectuivEXT,"Od":_emscripten_glGetQueryivEXT,"oc":_emscripten_glGetRenderbufferParameteriv,"mc":_emscripten_glGetShaderInfoLog,"lc":_emscripten_glGetShaderPrecisionFormat,"kc":_emscripten_glGetShaderSource,"nc":_emscripten_glGetShaderiv,"jc":_emscripten_glGetString,"ic":_emscripten_glGetTexParameterfv,"hc":_emscripten_glGetTexParameteriv,"ec":_emscripten_glGetUniformLocation,"gc":_emscripten_glGetUniformfv,"fc":_emscripten_glGetUniformiv,"bc":_emscripten_glGetVertexAttribPointerv,"dc":_emscripten_glGetVertexAttribfv,"cc":_emscripten_glGetVertexAttribiv,"ac":_emscripten_glHint,"$b":_emscripten_glIsBuffer,"_b":_emscripten_glIsEnabled,"Zb":_emscripten_glIsFramebuffer,"Yb":_emscripten_glIsProgram,"Sd":_emscripten_glIsQueryEXT,"Xb":_emscripten_glIsRenderbuffer,"Wb":_emscripten_glIsShader,"Vb":_emscripten_glIsTexture,"Gd":_emscripten_glIsVertexArrayOES,"Ub":_emscripten_glLineWidth,"Tb":_emscripten_glLinkProgram,"Rb":_emscripten_glPixelStorei,"Qb":_emscripten_glPolygonOffset,"Pd":_emscripten_glQueryCounterEXT,"Pb":_emscripten_glReadPixels,"Ob":_emscripten_glReleaseShaderCompiler,"Nb":_emscripten_glRenderbufferStorage,"Mb":_emscripten_glSampleCoverage,"Lb":_emscripten_glScissor,"Kb":_emscripten_glShaderBinary,"Jb":_emscripten_glShaderSource,"Ib":_emscripten_glStencilFunc,"Gb":_emscripten_glStencilFuncSeparate,"Fb":_emscripten_glStencilMask,"Eb":_emscripten_glStencilMaskSeparate,"Db":_emscripten_glStencilOp,"Cb":_emscripten_glStencilOpSeparate,"Bb":_emscripten_glTexImage2D,"Ab":_emscripten_glTexParameterf,"zb":_emscripten_glTexParameterfv,"yb":_emscripten_glTexParameteri,"xb":_emscripten_glTexParameteriv,"vb":_emscripten_glTexSubImage2D,"ub":_emscripten_glUniform1f,"tb":_emscripten_glUniform1fv,"sb":_emscripten_glUniform1i,"rb":_emscripten_glUniform1iv,"qb":_emscripten_glUniform2f,"pb":_emscripten_glUniform2fv,"ob":_emscripten_glUniform2i,"nb":_emscripten_glUniform2iv,"mb":_emscripten_glUniform3f,"kb":_emscripten_glUniform3fv,"jb":_emscripten_glUniform3i,"ib":_emscripten_glUniform3iv,"hb":_emscripten_glUniform4f,"gb":_emscripten_glUniform4fv,"fb":_emscripten_glUniform4i,"eb":_emscripten_glUniform4iv,"db":_emscripten_glUniformMatrix2fv,"cb":_emscripten_glUniformMatrix3fv,"bb":_emscripten_glUniformMatrix4fv,"$a":_emscripten_glUseProgram,"_a":_emscripten_glValidateProgram,"Za":_emscripten_glVertexAttrib1f,"Ya":_emscripten_glVertexAttrib1fv,"Xa":_emscripten_glVertexAttrib2f,"Wa":_emscripten_glVertexAttrib2fv,"Va":_emscripten_glVertexAttrib3f,"Ua":_emscripten_glVertexAttrib3fv,"Ta":_emscripten_glVertexAttrib4f,"Sa":_emscripten_glVertexAttrib4fv,"Cd":_emscripten_glVertexAttribDivisorANGLE,"Qa":_emscripten_glVertexAttribPointer,"Pa":_emscripten_glViewport,"Vd":_emscripten_memcpy_big,"_":_emscripten_request_pointerlock,"Wd":_emscripten_resize_heap,"y":_emscripten_run_script,"W":_emscripten_sample_gamepad_data,"ya":_emscripten_set_click_callback_on_thread,"Aa":_emscripten_set_fullscreenchange_callback_on_thread,"ta":_emscripten_set_gamepadconnected_callback_on_thread,"sa":_emscripten_set_gamepaddisconnected_callback_on_thread,"za":_emscripten_set_keydown_callback_on_thread,"ce":_emscripten_set_main_loop,"ua":_emscripten_set_touchcancel_callback_on_thread,"wa":_emscripten_set_touchend_callback_on_thread,"va":_emscripten_set_touchmove_callback_on_thread,"xa":_emscripten_set_touchstart_callback_on_thread,"Xd":_emscripten_thread_sleep,"S":_exit,"R":_fd_close,"_d":_fd_read,"Oa":_fd_seek,"P":_fd_write,"p":_glActiveTexture,"D":_glAttachShader,"k":_glBindAttribLocation,"b":_glBindBuffer,"j":_glBindTexture,"Hb":_glBlendFunc,"e":_glBufferData,"v":_glBufferSubData,"K":_glClear,"L":_glClearColor,"ab":_glClearDepthf,"Fa":_glCompileShader,"La":_glCompressedTexImage2D,"Da":_glCreateProgram,"Ha":_glCreateShader,"wb":_glCullFace,"m":_glDeleteBuffers,"G":_glDeleteProgram,"H":_glDeleteShader,"J":_glDeleteTextures,"Sb":_glDepthFunc,"I":_glDetachShader,"M":_glDisable,"h":_glDisableVertexAttribArray,"O":_glDrawArrays,"N":_glDrawElements,"x":_glEnable,"c":_glEnableVertexAttribArray,"lb":_glFrontFace,"f":_glGenBuffers,"Na":_glGenTextures,"u":_glGetAttribLocation,"Pc":_glGetFloatv,"Ba":_glGetProgramInfoLog,"F":_glGetProgramiv,"Ea":_glGetShaderInfoLog,"E":_glGetShaderiv,"n":_glGetString,"t":_glGetUniformLocation,"Ca":_glLinkProgram,"Ra":_glPixelStorei,"Ia":_glReadPixels,"Ga":_glShaderSource,"Ma":_glTexImage2D,"o":_glTexParameteri,"z":_glUniform1i,"q":_glUniform4f,"r":_glUniformMatrix4fv,"l":_glUseProgram,"Ja":_glVertexAttrib2f,"Ka":_glVertexAttrib3f,"s":_glVertexAttrib4f,"d":_glVertexAttribPointer,"be":_glViewport,"B":_glfwCreateWindow,"pa":_glfwDefaultWindowHints,"Y":_glfwDestroyWindow,"C":_glfwGetPrimaryMonitor,"i":_glfwGetTime,"oa":_glfwGetVideoModes,"qa":_glfwInit,"da":_glfwMakeContextCurrent,"ia":_glfwSetCharCallback,"ea":_glfwSetCursorEnterCallback,"ga":_glfwSetCursorPosCallback,"ka":_glfwSetDropCallback,"ra":_glfwSetErrorCallback,"ja":_glfwSetKeyCallback,"ha":_glfwSetMouseButtonCallback,"fa":_glfwSetScrollCallback,"la":_glfwSetWindowFocusCallback,"ma":_glfwSetWindowIconifyCallback,"T":_glfwSetWindowShouldClose,"na":_glfwSetWindowSizeCallback,"X":_glfwSwapBuffers,"ca":_glfwSwapInterval,"A":_glfwTerminate,"g":_glfwWindowHint,"ba":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["fe"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["ge"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["he"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ie"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["je"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ke"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["le"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_loading.wasm b/examples/web/models/models_loading.wasm index 52fe626..bd28b29 100644 Binary files a/examples/web/models/models_loading.wasm and b/examples/web/models/models_loading.wasm differ diff --git a/examples/web/models/models_material_pbr.c b/examples/web/models/models_material_pbr.c index bbec491..ad89d92 100644 --- a/examples/web/models/models_material_pbr.c +++ b/examples/web/models/models_material_pbr.c @@ -69,7 +69,7 @@ int main(void) SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_mesh_generation.c b/examples/web/models/models_mesh_generation.c index 053672c..862d030 100644 --- a/examples/web/models/models_mesh_generation.c +++ b/examples/web/models/models_mesh_generation.c @@ -67,7 +67,7 @@ int main(void) SetCameraMode(camera, CAMERA_ORBITAL); // Set a orbital camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_mesh_generation.html b/examples/web/models/models_mesh_generation.html index 2fb5fd0..e3bdba8 100644 --- a/examples/web/models/models_mesh_generation.html +++ b/examples/web/models/models_mesh_generation.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_mesh_generation.js b/examples/web/models/models_mesh_generation.js index 5348eaa..6ae7d55 100644 --- a/examples/web/models/models_mesh_generation.js +++ b/examples/web/models/models_mesh_generation.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5278944,DYNAMICTOP_PTR=36032;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_mesh_generation.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"d":abort,"b":___assert_fail,"sc":___lock,"D":___setErrNo,"gb":___syscall140,"Xa":___syscall145,"q":___syscall221,"Ca":___syscall5,"ra":___syscall54,"C":___syscall6,"B":___unlock,"be":___wasi_fd_write,"A":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"yd":_emscripten_get_element_css_size,"nd":_emscripten_get_gamepad_status,"cd":_emscripten_get_heap_size,"Tc":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"zc":_emscripten_glActiveTexture,"rc":_emscripten_glAttachShader,"lc":_emscripten_glBeginQueryEXT,"hc":_emscripten_glBindAttribLocation,"cc":_emscripten_glBindBuffer,"Xb":_emscripten_glBindFramebuffer,"Tb":_emscripten_glBindRenderbuffer,"Lb":_emscripten_glBindTexture,"Ab":_emscripten_glBindVertexArrayOES,"tb":_emscripten_glBlendColor,"rb":_emscripten_glBlendEquation,"qb":_emscripten_glBlendEquationSeparate,"pb":_emscripten_glBlendFunc,"ob":_emscripten_glBlendFuncSeparate,"nb":_emscripten_glBufferData,"mb":_emscripten_glBufferSubData,"lb":_emscripten_glCheckFramebufferStatus,"kb":_emscripten_glClear,"jb":_emscripten_glClearColor,"ib":_emscripten_glClearDepthf,"hb":_emscripten_glClearStencil,"fb":_emscripten_glColorMask,"eb":_emscripten_glCompileShader,"db":_emscripten_glCompressedTexImage2D,"cb":_emscripten_glCompressedTexSubImage2D,"bb":_emscripten_glCopyTexImage2D,"ab":_emscripten_glCopyTexSubImage2D,"$a":_emscripten_glCreateProgram,"_a":_emscripten_glCreateShader,"Za":_emscripten_glCullFace,"Ya":_emscripten_glDeleteBuffers,"Wa":_emscripten_glDeleteFramebuffers,"Va":_emscripten_glDeleteProgram,"Ua":_emscripten_glDeleteQueriesEXT,"Ta":_emscripten_glDeleteRenderbuffers,"Sa":_emscripten_glDeleteShader,"Ra":_emscripten_glDeleteTextures,"Qa":_emscripten_glDeleteVertexArraysOES,"Pa":_emscripten_glDepthFunc,"Oa":_emscripten_glDepthMask,"Na":_emscripten_glDepthRangef,"Ma":_emscripten_glDetachShader,"La":_emscripten_glDisable,"Ka":_emscripten_glDisableVertexAttribArray,"Ja":_emscripten_glDrawArrays,"Ia":_emscripten_glDrawArraysInstancedANGLE,"Ha":_emscripten_glDrawBuffersWEBGL,"Ga":_emscripten_glDrawElements,"Fa":_emscripten_glDrawElementsInstancedANGLE,"Ea":_emscripten_glEnable,"Da":_emscripten_glEnableVertexAttribArray,"Ba":_emscripten_glEndQueryEXT,"Aa":_emscripten_glFinish,"za":_emscripten_glFlush,"ya":_emscripten_glFramebufferRenderbuffer,"xa":_emscripten_glFramebufferTexture2D,"wa":_emscripten_glFrontFace,"va":_emscripten_glGenBuffers,"ua":_emscripten_glGenFramebuffers,"ta":_emscripten_glGenQueriesEXT,"sa":_emscripten_glGenRenderbuffers,"qa":_emscripten_glGenTextures,"pa":_emscripten_glGenVertexArraysOES,"oa":_emscripten_glGenerateMipmap,"na":_emscripten_glGetActiveAttrib,"ma":_emscripten_glGetActiveUniform,"la":_emscripten_glGetAttachedShaders,"ka":_emscripten_glGetAttribLocation,"ja":_emscripten_glGetBooleanv,"ia":_emscripten_glGetBufferParameteriv,"ha":_emscripten_glGetError,"ga":_emscripten_glGetFloatv,"fa":_emscripten_glGetFramebufferAttachmentParameteriv,"ea":_emscripten_glGetIntegerv,"da":_emscripten_glGetProgramInfoLog,"ca":_emscripten_glGetProgramiv,"ba":_emscripten_glGetQueryObjecti64vEXT,"aa":_emscripten_glGetQueryObjectivEXT,"$":_emscripten_glGetQueryObjectui64vEXT,"_":_emscripten_glGetQueryObjectuivEXT,"Z":_emscripten_glGetQueryivEXT,"le":_emscripten_glGetRenderbufferParameteriv,"ke":_emscripten_glGetShaderInfoLog,"je":_emscripten_glGetShaderPrecisionFormat,"ie":_emscripten_glGetShaderSource,"he":_emscripten_glGetShaderiv,"ge":_emscripten_glGetString,"fe":_emscripten_glGetTexParameterfv,"ee":_emscripten_glGetTexParameteriv,"de":_emscripten_glGetUniformLocation,"ce":_emscripten_glGetUniformfv,"ae":_emscripten_glGetUniformiv,"$d":_emscripten_glGetVertexAttribPointerv,"_d":_emscripten_glGetVertexAttribfv,"Zd":_emscripten_glGetVertexAttribiv,"Yd":_emscripten_glHint,"Xd":_emscripten_glIsBuffer,"Wd":_emscripten_glIsEnabled,"Vd":_emscripten_glIsFramebuffer,"Ud":_emscripten_glIsProgram,"Td":_emscripten_glIsQueryEXT,"Sd":_emscripten_glIsRenderbuffer,"Rd":_emscripten_glIsShader,"Qd":_emscripten_glIsTexture,"Pd":_emscripten_glIsVertexArrayOES,"Od":_emscripten_glLineWidth,"Nd":_emscripten_glLinkProgram,"Md":_emscripten_glPixelStorei,"Ld":_emscripten_glPolygonOffset,"Kd":_emscripten_glQueryCounterEXT,"Jd":_emscripten_glReadPixels,"Id":_emscripten_glReleaseShaderCompiler,"Hd":_emscripten_glRenderbufferStorage,"Gd":_emscripten_glSampleCoverage,"Fd":_emscripten_glScissor,"Ed":_emscripten_glShaderBinary,"Dd":_emscripten_glShaderSource,"Cd":_emscripten_glStencilFunc,"Bd":_emscripten_glStencilFuncSeparate,"Ad":_emscripten_glStencilMask,"zd":_emscripten_glStencilMaskSeparate,"xd":_emscripten_glStencilOp,"wd":_emscripten_glStencilOpSeparate,"vd":_emscripten_glTexImage2D,"ud":_emscripten_glTexParameterf,"td":_emscripten_glTexParameterfv,"sd":_emscripten_glTexParameteri,"rd":_emscripten_glTexParameteriv,"qd":_emscripten_glTexSubImage2D,"pd":_emscripten_glUniform1f,"od":_emscripten_glUniform1fv,"md":_emscripten_glUniform1i,"ld":_emscripten_glUniform1iv,"kd":_emscripten_glUniform2f,"jd":_emscripten_glUniform2fv,"id":_emscripten_glUniform2i,"hd":_emscripten_glUniform2iv,"gd":_emscripten_glUniform3f,"fd":_emscripten_glUniform3fv,"ed":_emscripten_glUniform3i,"dd":_emscripten_glUniform3iv,"bd":_emscripten_glUniform4f,"ad":_emscripten_glUniform4fv,"$c":_emscripten_glUniform4i,"_c":_emscripten_glUniform4iv,"Zc":_emscripten_glUniformMatrix2fv,"Yc":_emscripten_glUniformMatrix3fv,"Xc":_emscripten_glUniformMatrix4fv,"Wc":_emscripten_glUseProgram,"Vc":_emscripten_glValidateProgram,"Uc":_emscripten_glVertexAttrib1f,"Sc":_emscripten_glVertexAttrib1fv,"Rc":_emscripten_glVertexAttrib2f,"Qc":_emscripten_glVertexAttrib2fv,"Pc":_emscripten_glVertexAttrib3f,"Oc":_emscripten_glVertexAttrib3fv,"Nc":_emscripten_glVertexAttrib4f,"Mc":_emscripten_glVertexAttrib4fv,"Lc":_emscripten_glVertexAttribDivisorANGLE,"Kc":_emscripten_glVertexAttribPointer,"Jc":_emscripten_glViewport,"Ic":_emscripten_memcpy_big,"Hc":_emscripten_request_pointerlock,"Gc":_emscripten_resize_heap,"W":_emscripten_run_script,"Fc":_emscripten_sample_gamepad_data,"Ec":_emscripten_set_click_callback_on_thread,"Dc":_emscripten_set_fullscreenchange_callback_on_thread,"Cc":_emscripten_set_gamepadconnected_callback_on_thread,"Bc":_emscripten_set_gamepaddisconnected_callback_on_thread,"Ac":_emscripten_set_keypress_callback_on_thread,"yc":_emscripten_set_main_loop,"xc":_emscripten_set_touchcancel_callback_on_thread,"wc":_emscripten_set_touchend_callback_on_thread,"vc":_emscripten_set_touchmove_callback_on_thread,"uc":_emscripten_set_touchstart_callback_on_thread,"tc":_exit,"z":_glActiveTexture,"V":_glAttachShader,"n":_glBindAttribLocation,"c":_glBindBuffer,"k":_glBindTexture,"qc":_glBlendFunc,"i":_glBufferData,"y":_glBufferSubData,"U":_glClear,"T":_glClearColor,"pc":_glClearDepthf,"oc":_glCompileShader,"nc":_glCompressedTexImage2D,"mc":_glCreateProgram,"kc":_glCreateShader,"jc":_glCullFace,"p":_glDeleteBuffers,"S":_glDeleteProgram,"R":_glDeleteShader,"Q":_glDeleteTextures,"ic":_glDepthFunc,"P":_glDetachShader,"O":_glDisable,"j":_glDisableVertexAttribArray,"N":_glDrawArrays,"M":_glDrawElements,"x":_glEnable,"f":_glEnableVertexAttribArray,"gc":_glFrontFace,"h":_glGenBuffers,"fc":_glGenTextures,"w":_glGetAttribLocation,"ec":_glGetFloatv,"dc":_glGetProgramInfoLog,"L":_glGetProgramiv,"bc":_glGetShaderInfoLog,"K":_glGetShaderiv,"o":_glGetString,"v":_glGetUniformLocation,"ac":_glLinkProgram,"$b":_glPixelStorei,"_b":_glReadPixels,"Zb":_glShaderSource,"Yb":_glTexImage2D,"m":_glTexParameteri,"J":_glUniform1i,"u":_glUniform4f,"t":_glUniformMatrix4fv,"l":_glUseProgram,"Wb":_glVertexAttrib2f,"Vb":_glVertexAttrib3f,"s":_glVertexAttrib4f,"e":_glVertexAttribPointer,"Ub":_glViewport,"I":_glfwCreateWindow,"Sb":_glfwDefaultWindowHints,"Rb":_glfwDestroyWindow,"Qb":_glfwGetCursorPos,"Pb":_glfwGetKey,"Ob":_glfwGetMouseButton,"H":_glfwGetPrimaryMonitor,"r":_glfwGetTime,"Nb":_glfwGetVideoModes,"Mb":_glfwInit,"Kb":_glfwMakeContextCurrent,"Jb":_glfwSetCharCallback,"Ib":_glfwSetCursorEnterCallback,"Hb":_glfwSetCursorPosCallback,"Gb":_glfwSetDropCallback,"Fb":_glfwSetErrorCallback,"Eb":_glfwSetKeyCallback,"Db":_glfwSetMouseButtonCallback,"Cb":_glfwSetScrollCallback,"Bb":_glfwSetWindowIconifyCallback,"zb":_glfwSetWindowShouldClose,"yb":_glfwSetWindowSizeCallback,"xb":_glfwSwapBuffers,"wb":_glfwSwapInterval,"G":_glfwTerminate,"g":_glfwWindowHint,"F":_llvm_stackrestore,"E":_llvm_stacksave,"vb":_nanosleep,"ub":_time,"sb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["re"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["se"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["Be"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["Ce"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["De"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["we"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_mesh_generation.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["be"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ce"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"n":___assert_fail,"Q":___sys_fcntl64,"Zd":___sys_ioctl,"_d":___sys_open,"w":_eglGetProcAddress,"aa":_emscripten_exit_pointerlock,"Z":_emscripten_get_element_css_size,"U":_emscripten_get_gamepad_status,"V":_emscripten_get_num_gamepads,"$":_emscripten_get_pointerlock_status,"Bd":_emscripten_glActiveTexture,"Ad":_emscripten_glAttachShader,"Rd":_emscripten_glBeginQueryEXT,"zd":_emscripten_glBindAttribLocation,"yd":_emscripten_glBindBuffer,"xd":_emscripten_glBindFramebuffer,"wd":_emscripten_glBindRenderbuffer,"vd":_emscripten_glBindTexture,"Jd":_emscripten_glBindVertexArrayOES,"ud":_emscripten_glBlendColor,"td":_emscripten_glBlendEquation,"sd":_emscripten_glBlendEquationSeparate,"rd":_emscripten_glBlendFunc,"qd":_emscripten_glBlendFuncSeparate,"pd":_emscripten_glBufferData,"od":_emscripten_glBufferSubData,"nd":_emscripten_glCheckFramebufferStatus,"md":_emscripten_glClear,"ld":_emscripten_glClearColor,"kd":_emscripten_glClearDepthf,"jd":_emscripten_glClearStencil,"id":_emscripten_glColorMask,"hd":_emscripten_glCompileShader,"gd":_emscripten_glCompressedTexImage2D,"fd":_emscripten_glCompressedTexSubImage2D,"ed":_emscripten_glCopyTexImage2D,"dd":_emscripten_glCopyTexSubImage2D,"cd":_emscripten_glCreateProgram,"bd":_emscripten_glCreateShader,"ad":_emscripten_glCullFace,"$c":_emscripten_glDeleteBuffers,"_c":_emscripten_glDeleteFramebuffers,"Zc":_emscripten_glDeleteProgram,"Td":_emscripten_glDeleteQueriesEXT,"Yc":_emscripten_glDeleteRenderbuffers,"Xc":_emscripten_glDeleteShader,"Wc":_emscripten_glDeleteTextures,"Id":_emscripten_glDeleteVertexArraysOES,"Vc":_emscripten_glDepthFunc,"Uc":_emscripten_glDepthMask,"Tc":_emscripten_glDepthRangef,"Sc":_emscripten_glDetachShader,"Rc":_emscripten_glDisable,"Qc":_emscripten_glDisableVertexAttribArray,"Pc":_emscripten_glDrawArrays,"Ed":_emscripten_glDrawArraysInstancedANGLE,"Fd":_emscripten_glDrawBuffersWEBGL,"Oc":_emscripten_glDrawElements,"Dd":_emscripten_glDrawElementsInstancedANGLE,"Mc":_emscripten_glEnable,"Lc":_emscripten_glEnableVertexAttribArray,"Qd":_emscripten_glEndQueryEXT,"Kc":_emscripten_glFinish,"Jc":_emscripten_glFlush,"Ic":_emscripten_glFramebufferRenderbuffer,"Hc":_emscripten_glFramebufferTexture2D,"Gc":_emscripten_glFrontFace,"Fc":_emscripten_glGenBuffers,"Dc":_emscripten_glGenFramebuffers,"Ud":_emscripten_glGenQueriesEXT,"Cc":_emscripten_glGenRenderbuffers,"Bc":_emscripten_glGenTextures,"Hd":_emscripten_glGenVertexArraysOES,"Ec":_emscripten_glGenerateMipmap,"Ac":_emscripten_glGetActiveAttrib,"zc":_emscripten_glGetActiveUniform,"yc":_emscripten_glGetAttachedShaders,"xc":_emscripten_glGetAttribLocation,"wc":_emscripten_glGetBooleanv,"vc":_emscripten_glGetBufferParameteriv,"uc":_emscripten_glGetError,"tc":_emscripten_glGetFloatv,"sc":_emscripten_glGetFramebufferAttachmentParameteriv,"rc":_emscripten_glGetIntegerv,"pc":_emscripten_glGetProgramInfoLog,"qc":_emscripten_glGetProgramiv,"Ld":_emscripten_glGetQueryObjecti64vEXT,"Nd":_emscripten_glGetQueryObjectivEXT,"Kd":_emscripten_glGetQueryObjectui64vEXT,"Md":_emscripten_glGetQueryObjectuivEXT,"Od":_emscripten_glGetQueryivEXT,"oc":_emscripten_glGetRenderbufferParameteriv,"mc":_emscripten_glGetShaderInfoLog,"lc":_emscripten_glGetShaderPrecisionFormat,"kc":_emscripten_glGetShaderSource,"nc":_emscripten_glGetShaderiv,"jc":_emscripten_glGetString,"ic":_emscripten_glGetTexParameterfv,"hc":_emscripten_glGetTexParameteriv,"ec":_emscripten_glGetUniformLocation,"gc":_emscripten_glGetUniformfv,"fc":_emscripten_glGetUniformiv,"bc":_emscripten_glGetVertexAttribPointerv,"dc":_emscripten_glGetVertexAttribfv,"cc":_emscripten_glGetVertexAttribiv,"ac":_emscripten_glHint,"$b":_emscripten_glIsBuffer,"_b":_emscripten_glIsEnabled,"Zb":_emscripten_glIsFramebuffer,"Yb":_emscripten_glIsProgram,"Sd":_emscripten_glIsQueryEXT,"Xb":_emscripten_glIsRenderbuffer,"Wb":_emscripten_glIsShader,"Vb":_emscripten_glIsTexture,"Gd":_emscripten_glIsVertexArrayOES,"Ub":_emscripten_glLineWidth,"Tb":_emscripten_glLinkProgram,"Sb":_emscripten_glPixelStorei,"Rb":_emscripten_glPolygonOffset,"Pd":_emscripten_glQueryCounterEXT,"Pb":_emscripten_glReadPixels,"Ob":_emscripten_glReleaseShaderCompiler,"Nb":_emscripten_glRenderbufferStorage,"Mb":_emscripten_glSampleCoverage,"Lb":_emscripten_glScissor,"Kb":_emscripten_glShaderBinary,"Jb":_emscripten_glShaderSource,"Ib":_emscripten_glStencilFunc,"Hb":_emscripten_glStencilFuncSeparate,"Gb":_emscripten_glStencilMask,"Eb":_emscripten_glStencilMaskSeparate,"Db":_emscripten_glStencilOp,"Cb":_emscripten_glStencilOpSeparate,"Bb":_emscripten_glTexImage2D,"Ab":_emscripten_glTexParameterf,"zb":_emscripten_glTexParameterfv,"yb":_emscripten_glTexParameteri,"xb":_emscripten_glTexParameteriv,"wb":_emscripten_glTexSubImage2D,"vb":_emscripten_glUniform1f,"tb":_emscripten_glUniform1fv,"sb":_emscripten_glUniform1i,"rb":_emscripten_glUniform1iv,"qb":_emscripten_glUniform2f,"pb":_emscripten_glUniform2fv,"ob":_emscripten_glUniform2i,"nb":_emscripten_glUniform2iv,"mb":_emscripten_glUniform3f,"lb":_emscripten_glUniform3fv,"kb":_emscripten_glUniform3i,"ib":_emscripten_glUniform3iv,"hb":_emscripten_glUniform4f,"gb":_emscripten_glUniform4fv,"fb":_emscripten_glUniform4i,"eb":_emscripten_glUniform4iv,"db":_emscripten_glUniformMatrix2fv,"cb":_emscripten_glUniformMatrix3fv,"bb":_emscripten_glUniformMatrix4fv,"ab":_emscripten_glUseProgram,"$a":_emscripten_glValidateProgram,"Za":_emscripten_glVertexAttrib1f,"Ya":_emscripten_glVertexAttrib1fv,"Xa":_emscripten_glVertexAttrib2f,"Wa":_emscripten_glVertexAttrib2fv,"Va":_emscripten_glVertexAttrib3f,"Ua":_emscripten_glVertexAttrib3fv,"Ta":_emscripten_glVertexAttrib4f,"Sa":_emscripten_glVertexAttrib4fv,"Cd":_emscripten_glVertexAttribDivisorANGLE,"Ra":_emscripten_glVertexAttribPointer,"Qa":_emscripten_glViewport,"Vd":_emscripten_memcpy_big,"_":_emscripten_request_pointerlock,"Wd":_emscripten_resize_heap,"y":_emscripten_run_script,"W":_emscripten_sample_gamepad_data,"ya":_emscripten_set_click_callback_on_thread,"Aa":_emscripten_set_fullscreenchange_callback_on_thread,"ta":_emscripten_set_gamepadconnected_callback_on_thread,"sa":_emscripten_set_gamepaddisconnected_callback_on_thread,"za":_emscripten_set_keydown_callback_on_thread,"ae":_emscripten_set_main_loop,"ua":_emscripten_set_touchcancel_callback_on_thread,"wa":_emscripten_set_touchend_callback_on_thread,"va":_emscripten_set_touchmove_callback_on_thread,"xa":_emscripten_set_touchstart_callback_on_thread,"Xd":_emscripten_thread_sleep,"S":_exit,"R":_fd_close,"Yd":_fd_read,"Oa":_fd_seek,"P":_fd_write,"p":_glActiveTexture,"D":_glAttachShader,"j":_glBindAttribLocation,"a":_glBindBuffer,"h":_glBindTexture,"Fb":_glBlendFunc,"d":_glBufferData,"v":_glBufferSubData,"K":_glClear,"L":_glClearColor,"_a":_glClearDepthf,"Fa":_glCompileShader,"La":_glCompressedTexImage2D,"Da":_glCreateProgram,"Ha":_glCreateShader,"ub":_glCullFace,"l":_glDeleteBuffers,"G":_glDeleteProgram,"H":_glDeleteShader,"J":_glDeleteTextures,"Qb":_glDepthFunc,"I":_glDetachShader,"M":_glDisable,"g":_glDisableVertexAttribArray,"O":_glDrawArrays,"N":_glDrawElements,"x":_glEnable,"b":_glEnableVertexAttribArray,"jb":_glFrontFace,"e":_glGenBuffers,"Na":_glGenTextures,"u":_glGetAttribLocation,"Nc":_glGetFloatv,"Ba":_glGetProgramInfoLog,"F":_glGetProgramiv,"Ea":_glGetShaderInfoLog,"E":_glGetShaderiv,"m":_glGetString,"t":_glGetUniformLocation,"Ca":_glLinkProgram,"Pa":_glPixelStorei,"Ia":_glReadPixels,"Ga":_glShaderSource,"Ma":_glTexImage2D,"o":_glTexParameteri,"z":_glUniform1i,"q":_glUniform4f,"r":_glUniformMatrix4fv,"k":_glUseProgram,"Ja":_glVertexAttrib2f,"Ka":_glVertexAttrib3f,"s":_glVertexAttrib4f,"c":_glVertexAttribPointer,"$d":_glViewport,"B":_glfwCreateWindow,"pa":_glfwDefaultWindowHints,"Y":_glfwDestroyWindow,"C":_glfwGetPrimaryMonitor,"i":_glfwGetTime,"oa":_glfwGetVideoModes,"qa":_glfwInit,"da":_glfwMakeContextCurrent,"ia":_glfwSetCharCallback,"ea":_glfwSetCursorEnterCallback,"ga":_glfwSetCursorPosCallback,"ka":_glfwSetDropCallback,"ra":_glfwSetErrorCallback,"ja":_glfwSetKeyCallback,"ha":_glfwSetMouseButtonCallback,"fa":_glfwSetScrollCallback,"la":_glfwSetWindowFocusCallback,"ma":_glfwSetWindowIconifyCallback,"T":_glfwSetWindowShouldClose,"na":_glfwSetWindowSizeCallback,"X":_glfwSwapBuffers,"ca":_glfwSwapInterval,"A":_glfwTerminate,"f":_glfwWindowHint,"ba":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["de"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["ee"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["fe"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ge"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["he"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ie"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["je"]).apply(null,arguments)};var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_mesh_generation.wasm b/examples/web/models/models_mesh_generation.wasm index d146900..0b32e03 100644 Binary files a/examples/web/models/models_mesh_generation.wasm and b/examples/web/models/models_mesh_generation.wasm differ diff --git a/examples/web/models/models_mesh_picking.c b/examples/web/models/models_mesh_picking.c index d68c44e..7d1c19f 100644 --- a/examples/web/models/models_mesh_picking.c +++ b/examples/web/models/models_mesh_picking.c @@ -80,7 +80,7 @@ int main(void) //-------------------------------------------------------------------------------------- #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_mesh_picking.data b/examples/web/models/models_mesh_picking.data index b7eb703..25e3636 100644 --- a/examples/web/models/models_mesh_picking.data +++ b/examples/web/models/models_mesh_picking.data @@ -1888,8 +1888,8 @@ f 506/327/93 518/324/93 517/323/93 ‰PNG  - IHDRHÃÛ±sRGB®ÎégAMA±� üaPLTE   -  " & ( ""((133;:  '# &$ %+,'(!(/;"8)=7###%&('('&(()%#(&(+(&+++-/0.0..010'%0)&1-,0/030.333568686689955868;86:;;=[<"`"b$ e( h& k)l,d< `>`?h?s+ r-y0`?!@?@G@^@MF!C@>UK$^D2\S(n@bAeEfHiCkHiIsA sLxRfF'kL2e[-nS>yV%uU9i`/lb1uj5}q9CCCDGHEIIHFEHGHLIEJKKFOPMNPGPQMQQNWXNYYQNKPNPUQMRSSUVXVXYYVRXWX]YTZ[[]_`^``a]X{[A`_`gb]bcceghfhike`nicjkkmopmpprlgxrlzvr„H�M‡U”Z‚[ •c�|ˆd$„x=¡_¨i¥q´gµqª{*³{!€_C‡fJ�kQ‰}@‘nR˜uY‚|už{` |_¡}aÄw¼€¬ˆ)£�7¾‡"´‘$²’6��A–‰Fž�J‡�{£•MªœP®ˆj¯ S½£M·¨WÉ#ɨ2ʬ@ò]˹aпdÙÆhàÍlãÐnë×qòÞvóàv‡„��‰…/hþtRNSÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿS÷% pHYs  ÒÝ~ütEXtSoftwarepaint.net 4.0.19ÔÖ²dûhIDATx^ìýÿoWž& + IHDRHÃÛ±PLTE   +  " & ( ""((133;:  '# &$ %+,'(!(/;"8)=7###%&('('&(()%#(&(+(&+++-/0.0..010'%0)&1-,0/030.333568686689955868;86:;;=[<"`"b$ e( h& k)l,d< `>`?h?s+ r-y0`?!@?@G@^@MF!C@>UK$^D2\S(n@bAeEfHiCkHiIsA sLxRfF'kL2e[-nS>yV%uU9i`/lb1uj5}q9CCCDGHEIIHFEHGHLIEJKKFOPMNPGPQMQQNWXNYYQNKPNPUQMRSSUVXVXYYVRXWX]YTZ[[]_`^``a]X{[A`_`gb]bcceghfhike`nicjkkmopmpprlgxrlzvr„H�M‡U”Z‚[ •c�|ˆd$„x=¡_¨i¥q´gµqª{*³{!€_C‡fJ�kQ‰}@‘nR˜uY‚|už{` |_¡}aÄw¼€¬ˆ)£�7¾‡"´‘$²’6��A–‰Fž�J‡�{£•MªœP®ˆj¯ S½£M·¨WÉ#ɨ2ʬ@ò]˹aпdÙÆhàÍlãÐnë×qòÞvóàv‡„��‰…/hþÉ“IDATx^ìýÿoWž& Ë'”eQ#F¥QºÅM<ŠB¥!­R8¦U i—8#&’ØÉ¦óem^9Ž‘à¾=h`ï"hä—™ö/(ËéÚ¬ð¦/Û³«éÁ»Þ¾7¸û�½Ïó|N‹)É’“î;é§HÖ÷SŪó|>ÏùœS§Æ¶‰-¢Chj�¸FhJЊ6±™A›Zû¿{ÄBSZñ¢ñˆBC=ð‹¯àùÓQös7Áɤ*)jµÚê*SjaÏÇ5ŒZ\a)¯Áj-¬áÖâ 6jÚ+*$‡#M‹…BÑÃd)J´Ëñùw„�ïÞýä8îž÷\Ÿ0í_~þËt¤>ô-ºàÒDªnqïž[8Øâã»÷R¸…§á [ÚÁO„û³€»Ÿ ÝO>Æ&îåÿDn—×:¸•9à–¼á#á|†` ¤/5w:;[;;;¤7l¬€ã? MÚ¯ö™mòÊ+¯œ`dWÎ�¥x ¶Á맀㠀Ÿßs|·Ÿå*ÇU 0ËZ€ßÕÌ`"ŒæŒj_’áXâ 6�¨Åõ€Z@P¡˜›£(Ç®VÃà ÖÃ5�ÎùánøùñÙ§ü¹ÿùgð‹Y÷>ùì3—[søü® ŸÜuÙëC ý°e¹¥÷°GÞ Çö8aÀÒÌ*ôãó_7Ÿ¹„eì|qÆ÷xf¢wzš6|vÿ3àÓO?ýä¾Önÿ|†­ïÝÿ,ÝÑ6åÔPØ?äeãÀ38Æ?ü¥�ñ§ðoG\aœÎÉmëþ‡Àýþ17ü @@ -2269,7 +2269,7 @@ e sä•þ.DÀj¶¨Ïè¦Ô·³Úªã×�`÷Ú€]Ñmâ@ÅÚœ*€=�. 7øRAÀ;íN×f= äÿ®– –DoZ³y7 Ëke?üèöb”ðÛ£§H ÆÐú°™=r?:Ì’¦¼:Š{R!\&…žÈÇ|‘PzF¾²@ÓjŠÛ(i#ßóVK¨Î$‚¯F1|…M)€é¡�¯¥®00ÕðïÑàŒå8¿Ì¤Â¾²¿÷úO¾¢m–K�8e/%î0I¹‹'!¬9Ôœ?iÂmzšÃ8¬– sn:W°¢»Ä¢Ãa0;[ -£ø°Üþ9Œ’œ4D°Ãkˆ¿â).¯mŠM"�:ò<uÔõm¯‡aTEÈÓS•0ô¡½kÕxÿôIDAT!2xå2eó«¯ÓÃMU_6ƒB!"“ÉÔCã:ËÊ1ñrI6›œœä#±¢$~ò\âçë˜\±7•ædùA1ùù¬A;�‹TÀõchù�àßÇ�ïVþi§³×ã…è=ÓjíÅj¡xÀÿ.ÞûŽUÆÉÃÐ0Â÷LìhTOÃ2šC +£ø°Üþ9Œ’œ4D°Ãkˆ¿â).¯mŠM"�:ò<uÔõm¯‡aTEÈÓS•0ô¡½!2xå2eó«¯ÓÃMU_6ƒB!"“ÉÔCã:ËÊ1ñrI6›œœä#±¢$~ò\âçë˜\±7•ædùA1ùù¬A;�‹TÀõchù�àßÇ�ïVþi§³×ã…è=ÓjíÅj¡xÀÿ.ÞûŽUÆÉÃÐ0Â÷LìhTOÃ2šC €-DŸ ®ª"ÔHƒž@ÑG6f…S6° GÀ]ÚRíØïh A\S â;Ü.èßßïïRü«UÁàåö‡—Yä'ß’ØiTšý°Pò¥Ú’h¨~ÿñQôõqLöðO“Âk5�|„žù—8$°X1a�ùÆÚá¶¶‹Õ"|”ÅËÃ8ð5 ؇%�§­Ÿ8^h¹`KÁþT([[ÇÓƒt;9ÀÑ�¿ÿJS•n¨!„_Á uuœøeš¾L�‡k¢‚hS'æPù¥rñ°•¼Ê³ê+ó$}®1j¢XÝ™%&ÉŠI¶†c£ïz ?Ôr¤_lÖòõ‡˜$¸¥–:ø½ä)}ßô_q³ 4N†_Áb<(›ašV–f!þ­÷µUHE'jLä±vMbZpâ�9¶ZhužZt„K�U9�ža=ª×7¼ •’Öù�‚e^U_lì•5ý€{~FFý"çåˆÝÔñTgü„·‚B)" Êl6F%RõOþ†‹Cðã×gÃô€%©Ú$ls,Ö$dˆô`$o!‚Ì·¶éS& »X\/�€b€íU· ` h<;ˆ¬´v;à*hgŽ+¸ÓÞ :} vµ-§€eS.€ÐéP¶ç-¡ P‹ÒPÔèîh„´?ÄÅGðÙ¾®¿óK€fýŽ40¡ÿK ;�&´@Ìù?×àëaàÍÎΊž§¡\\/J4ïº}Ím38 ‚– EQ}êéW㫳­F̪Z]ÁcU Gâælÿ¼l‡¨úèºK-WŽ üöƒBD�Þ#2�*©…øV¦Q ôÕ™µòJëm-¶•”-6tjyûåF,ý”(Å«¥äÒGìí¤IÊCÌZ¯lúƒ^68žŸ! ‚dÙéagªáV�û}ÿ�ÂA¬ `´Õhm·ÔI#�Âÿ©;Ô½q~îHŸj«ƒm^a6˜˵$7Ò‹—“Çù•™ Á$Nü`«ÑHá–ºêøU¿^Zª©±�šŽ``_/›5°TZu÷{jºi?—qC\+±‰ùÞÍ‚èâ±Dš3DD©àÉ) ŽÔآέ´ù'q²bšØÖVœØ�¥ú7¶¸�¬:TÃ)›1è^¢® X  �ØYY‘ 0PG5Ë8�8à¾õUˆC ”SFw@æô<ЇT<·ÙÂèC‡¶'љԶ€uxt¥MyÎ…©ì·Xa§ý´ÒíêÌZú%;âì[K@ðÿ…S¬W A—šûþx{=6±ùD/!€Ø_N ^af¡n)•3@êk2iȲ«²B=¨G®ó 7ÉuµñWÛQŒÏšrp$?nÕëéò ’¥T*Íþt®ÄQp0<Ü÷/~ù¹ Üä @@ -2625,7 +2625,7 @@ i3/ ¤€1V °fÌ# @ À3€Ú\47U2€:ª@jA¨@uWÆD ÀQd éÓÚRähJ@ -O*€žOt~Dæ˜(ÐBR§&6'�¡êA, F4*F")9?,`lb(¦R´©4NïÍñÒ•²‹"2:±º�ÈåטÖÝÍÆ$™ÁÕúÎÙ�„ñŠÜ–©¹9K3HWajXn ýBÈ©”Ê–ŸÏXÏÔ¤™5iŠ©«Ç£Â±÷›�ç)ÔðÜÚ¬éÑXéñ!‡iŠƒäÅ~ÿôIDAT­½0Gçë�òŸÔ5Á¢ú¶ø§�¡k�wÚ¶B| êÌæK°»Èÿet¢ƒ°DÿÇ!ó,º¼]ÂB,•ýºkƒØÛ޶βò €ÆÂÎæTÑû,i�Ç7RxQúó’�·¾¸2hÀ£©� õ1€c QÉw °&c_1€Q�¥gÇÄÜ!ô²/ÛôÞ 5–€�ªÒуȯ­·óM,ý LQæ>s=¯}d„¿ý +O*€žOt~Dæ˜(ÐBR§&6'�¡êA, F4*F")9?,`lb(¦R´©4NïÍñÒ•²‹"2:±º�ÈåטÖÝÍÆ$™ÁÕúÎÙ�„ñŠÜ–©¹9K3HWajXn ýBÈ©”Ê–ŸÏXÏÔ¤™5iŠ©«Ç£Â±÷›�ç)ÔðÜÚ¬éÑXéñ!‡iŠƒ­½0Gçë�òŸÔ5Á¢ú¶ø§�¡k�wÚ¶B| êÌæK°»Èÿet¢ƒ°DÿÇ!ó,º¼]ÂB,•ýºkƒØÛ޶βò €ÆÂÎæTÑû,i�Ç7RxQúó’�·¾¸2hÀ£©� õ1€c QÉw °&c_1€Q�¥gÇÄÜ!ô²/ÛôÞ 5–€�ªÒуȯ­·óM,ý LQæ>s=¯}d„¿ý `3ÞüXÚGp ß»ÿ倃ºgu+ºcZ[ˆ�@…Çý;‰œl*$n¹”ƶÞ*ð‰«pí¤<è|rÐnß.>#˜ Çh‘l À@½2¥'ôθ�#‰”¦>�uÓi #�0Ái¦¾¶VñÍ›€¿¼yc-c^þ„@�W¿SºWZúþ¦2 ê-)€%ô ÀS8c.µ“iˆHó6Zw±Ê“wibœ•¶ž_FFÒ­J"bÅIôA­Ä&Ú‡«wÅÁ­«1�ƒt£NÛ5YåˆÊõŠŽÍáû^^ö7Öi˜¾è§iÿO‡‡¯óWyÿ�ÆíÝ ‡@� @¸¿ÎÛ–Ž[ûPé–ì:ÎKvŸ“¹ Û_0€1W àb£µ0�~‰a·>ùôë~UÄN0€3c_sŒã @ö?úP `-f– >»& ºþ8¦F2×—a�*ˆoÿ|çös0¨ÌMû|šæ·ÛG§3€ÖêD™ëí€t�ЦÊåZÌq’·‹Hûx�ráè9 ieúŠhÖ àþÀ;LêLŒÔ`·3‹Îx àû¬­˜ž‘ @ ºÌq ô À´LW˜  vó|àÔÌÜä€x0vi ïÒø¥Kã%•Q±•Q>¢ã´q\›µÞ>`Oý°SI[™†…ÉXd�ÆÆq€dšdœHÍ›?”yZ«è ¬bÇñ’²µùZ\¼f²Ð\ ›6犬ó®4›¡Šòz¸²¾¸Ø\qó«èK²Øh\S„¶Á‚ÖÅóM¿Õö×>‹×He;-^Ó7V0 ¯­k�íNòýš,i!úôF=N_bP6D;xÛ~þùºäöpÿl«}sß8ë-­k h `Ê~äc @@ -2995,7 +2995,7 @@ a ðÌ?¹À¦‹@˜ù‡dóÙܙÓC6@nV êNsðÝÜé¡Á¡AFfðÛ‹%†yçJÁô<µ:Þ¥¿Œ×]š›g£›¹rñ ëhà‰sXã¶_8Ô+¯im=Ÿ\hø©U«lëST‘å�“JjX¤ïek¤TnL7ÊðªËÕOZ*yø–Ël™„ô� —Ùˆ kåeí�àÑ˸ֹB~ _šŸ¯Õªå°Ê‚ªþÉý€žôÿ_ûŽ<·"âÆ-n¸å?Tì]ŸŒ�pħ.P'A= ¿ŸX ÀÁÞ@Ê„ÿÚåËYà:åB3Õ�†óÚ}æWäî|€ž ç9Àµn‘“FÆÙì{HñºÄ± <œBmP ŸÎP–÷G�öý±!8¥Ü„]À/4@•‚üJ8„�q\õÍ `ðH  Jyfü)7à’ÓöÏ.¨M_Èh‚ÿŒSÌ2öÎl�‡¦àþü¨i€”LM™Ó ¸íð¡þÁ °i)€þöñ6ô³„Õ ¨àZŒÜSãÿGÕÀATzø ñ>”*Ž[Ëq/“ l訋�‡öÃÐ]mSŒ{K~ÐôU¦|²be�«TÉ<ûÖ›IØ®ë[Í„#G“ ¬àà²Êøk* H…ªb•5 @@ -3368,7 +3368,7 @@ A �ÿ½`èÈþÈ} x 0Ë_`µ¼`{Ca™É:€ÉØÀð(šép}3¾’ñÆúøÚë :€`¿Yc¦oÂѸÀ?Ö+Žæ§@åÓÎ@øÀ™‡èW‡Á!rOvßï¯~p|òEøé•B)¨T¼à×8î|�ýù{øÝ(xÙ‰àë¿Eà0lÞž‡æèéXùatO™?C€¬ÀSYÿ¤ ÿ|Šÿ²“àÒÛ @úãén" -)ÕjäóÁ>³2™ÙJË$"ÖTOˆ€™þm|B'`ÏzÂüx’àyP&ø¨±@g2È$´Çñõê0˜þr ?çvN‚íâx–õ‹ÿp“Ss²VÈ—Ì¢0ûð) އêÿ8�Èü5Kã¿7ð0€4óm¢ÈðnA?Ìý] §€óC¥4XCGä/Ù0>¬´V¥iø}¾ÚZ°¿Ð_Ž#Ôg «û(fÛˆ[Eï­ Üêäñ9×ý5ÆXçö°Aÿ -ô*Óë¶å5««ÔÌ' «A»¼Æ°@9 ŸüÝêÄ÷©‰ ùA«Êê~k'¬WÛól̬ZIC!Ÿ½ôÕXL%ú„ŸË=+_~æhß–Ü=Bê(@€¯x'hl'IM9MüN9 ÷Á¹Ñ¿›¢Ø8g paÓee&–¬77·6›�XD&ñÓ·ícõ‡Ìÿ·Û|ÝÞ¦þ¤'–6ðu¬äƒß·Ã"À®äèN³¦CSrÜÑùøŸ�À?·òãŸÿôIDATZ@·ßˆòni` @äåI~µfïÀ¤¸¾eƒ�˜Ôéf؈/Œ€:„€�,t€®&^,]2Ò8Íà$—¾ÇÌ¥¹oÀp$˜ùKŒý="O¬2 äÇ3Ù;+\ûÏ ¦QŠØŽ>�m\-ͯsIüÇ3Ú <»çVcAð.wıvƲ¬`K=ãÞYpçsÓƒ gpè<¿™úU +ô*Óë¶å5««ÔÌ' «A»¼Æ°@9 ŸüÝêÄ÷©‰ ùA«Êê~k'¬WÛól̬ZIC!Ÿ½ôÕXL%ú„ŸË=+_~æhß–Ü=Bê(@€¯x'hl'IM9MüN9 ÷Á¹Ñ¿›¢Ø8g paÓee&–¬77·6›�XD&ñÓ·ícõ‡Ìÿ·Û|ÝÞ¦þ¤'–6ðu¬äƒß·Ã"À®äèN³¦CSrÜÑùøŸ�À?·Z@·ßˆòni` @äåI~µfïÀ¤¸¾eƒ�˜Ôéf؈/Œ€:„€�,t€®&^,]2Ò8Íà$—¾ÇÌ¥¹oÀp$˜ùKŒý="O¬2 äÇ3Ù;+\ûÏ ¦QŠØŽ>�m\-ͯsIüÇ3Ú <»çVcAð.wıvƲ¬`K=ãÞYpçsÓƒ gpè<¿™úU ÂvËwaA|uõQtý˜¡=,Z3ájj$ŠðtÞuŠS_Æ“]™ò¾k2´•r¯ýeŒ×P2ù©£åKÄÈÈ9£|€ ÿíÆUÿñ•!A|PG’Bz#ëz€Êÿ÷ïïÝßkîí0áÅ ŠEB´”‹ÉB€|l@  €IN‘ŒñpÞø¸YïÄï"ó™×ã\À 6P!2|Pç͈vx'©flpçÿ5ÓYâÌ`ÏE ¸žà3rûîg 5ü„ííþk�‡É©Ý $y0ªã�¦ $/À_‹$˜(À ⢠hŠ€#ø™ õc Ðmàòÿ V}w'¼”ÿ7™ñ,迸¼¼ 0SŸ®�!æÈ€mu9ä‹è²•�MCÙ0¨M‡Eo1{éJ‘¼$ •Ÿ‘ïLXµýÅ‘ŸpÔ ¿<¨"‡Ç—W«åò;ئ܊–�À~ʾ•&€qÎVظzœ;æ‘ø,`"ÿ/gF2y6ôo”+Ó?ͽ6 úãÕ±ò%ôGN7ÂáwR°V�, ˜áÇ“þ€Ep�ÜRB‹s%¼û÷wbÜGæÛ— ˜9?ŒRq�S�Käÿ¦jü7Vj¸.nþßÌ2‘Ýßûä-@ü: 7 þàë :äÿö6Sy=åsè‚8úÈ윣ü $ü?Yå§xï` S ðâ§â52È ¶Û˜S `õ²jÀšLŸî¥»Æqþ…c[}ÀÕHúÛ:˜eS�îÿå(~â³ÿþþ¤ýÀ÷VI&V„³KP™kÒ<¦Irb9qÜ2ß¼ŸÏI Ð'Å9À¦_,ûa•7 €ñì»Ä"À @@ -3669,7 +3669,7 @@ P X/¿ŠT›¬ót5€åôw@ü,!3Ó·7;m¦”€¨²rE:)Eš Pt™€Ø†€ Œ ±Ž1[/ÉHPÏÁ¥"`Ç q<I°_R D^Ë�g¥Î”[¥Û­ÛI)@k­»GÏ¿ñ²:9â|uniZ±Î¬Àó^ƒŸ�BËÁ ¢5²ã�*@°Fá—½ê+ ô7)±*=õúÊa᳞,@ {Œ‘0r¸6 ˆ¿È¦<‹xRæEà6Ñ­Þ“?§ÿpÒ¥›s••ƒ ×¿ëIµÓ¯7ë‹•©©z3jTÃ÷\jçD8î� ° ZFöd:åü eH�MPö6pø“öI?Àè¯_b¡5™ƒ ö‡#ã0°YÏÍš€ê O᨜Ài€q#Â;kº-ðÇ8‚Ǻã“; ÝnÌRÊ\ç€ÊÌ@*I€"cióZ^Ñ úgzº�€·²š@ŠþY)�=ìÝ1Û@¥€H…•ØÚ‚ÿHÉFzC¢íN÷]²®í.nÝ‚‘§) v8¼UºC`¥Á$€:è€ý¥€úÁ+ ê°p™€‚ÃR€²U»cE›Æ¢è³tŠúQ/Žú±WY@ê]µýâþa¿ñä˧ñAŸ•à ®G‡O>ýª±{øäË'_>‰â§aøYÿ€•YÛ¯†¸b\÷~ÔŒ‚©ààñÓÃ_<ý÷n¼�ßq|ÈáÆûH�aÜ £Þaÿñ—‡_ÕBÜøË_âOÃOãþgQ?a�ÆþnÈãoàÄ/~­FŸ÷ ~Ð�ÂZm7 xØ)pÜ;`èÊÂ!Òÿœ@øM™uìÚÇL€-f²•¿ƒñŸ‡Û > ¹…*á”âÿ&zýCáØ8lž(j4¶/t�¦,60LÀðîV;b�¬¿f�•üi[’cQ`ð§ú€o·™ ‹îÂ\¹2£ù;L¹‡I€ÔÈp]7å‡è¯?~°À4Ò -¬`~LˆÊSØ:)Ýí®–JV½Ïø?0ð;8¬³Ó*¶L°³í€ ‹›ìÒÎ[IDAT``` ©€`݆`!!°�aŸ€;%öA îgÀêàW«…ññ‰\¥P�ŸŸ�džFcö ¿Q[â_Ãêùs¸N®¼ÞƒÝŸ6jþ |¯iQ»1ÿú�K7j�oïªW6Ôñ–pµ¥¥FpëÑÀ%ýÆ|•´7ŸŸoTAäp7À³ðžÀ�Ú <›5pCãÛA�n@-”æçÙ^(_Á¡K¯ßz}ökà¸w&àÂÔÊ{ Aøby½ÕÎä«ñ—ÒßQú˜`įƒÔ±/?ù%ö‡#ã0ÆÆžÇc»<52v s¸ ÒÀýNg“-€c¢s6NÍœ°ª�Þ”ÀúbYÀ¦’úÃ̬?ç� ¸2]j;@°”´Ñ_K +¬`~LˆÊSØ:)Ýí®–JV½Ïø?0ð;8¬³Ó*¶L°³í€ ``` ©€`݆`!!°�aŸ€;%öA îgÀêàW«…ññ‰\¥P�ŸŸ�džFcö ¿Q[â_Ãêùs¸N®¼ÞƒÝŸ6jþ |¯iQ»1ÿú�K7j�oïªW6Ôñ–pµ¥¥FpëÑÀ%ýÆ|•´7ŸŸoTAäp7À³ðžÀ�Ú <›5pCãÛA�n@-”æçÙ^(_Á¡K¯ßz}ökà¸w&àÂÔÊ{ Aøby½ÕÎä«ñ—ÒßQú˜`įƒÔ±/?ù%ö‡#ã0ÆÆžÇc»<52v s¸ ÒÀýNg“-€c¢s6NÍœ°ª�Þ”ÀúbYÀ¦’úÃ̬?ç� ¸2]j;@°”´Ñ_K ï0” @ fS›]¬/È·S:Ûï€|ïÞ)•­‚¿ À €ÔÆ�݇%¤p۴€G0;„¥‚€ûƒ¡Á Dá*—’<†ïpÀ`·fUàAcð¤V w«/äYy^¼ªEÑ£F° .ß vãˆM8hþ4Øõ—‚AsÐ�¢¨ñÓpw7ÜmÁþ>ÙÇÃnD /ÝÄ®_¨4 ¡»Št\“€cˆû_ì"æG¼Gœ Àv‡»³»Ÿáæ¿àˆ¤�G@ p"øZ°»E¯ÿ4vyzÝâ€æþ­Ê-Ïß�ðÑ~­);evÜ;p�* FDª®Âxš)€!ŒüY 0` ýq[yœþÈœðÿÀV9€â+î¤:Ú}\ &Ô žÂ½˜Hd¸®ÛàTþ Iý¿k9±þª ï23ðî&ê|Cœµš:€+Óß¡¨‰è¡æ€‘>œoNàÊ•$9Ó<0ê,ߎüe4ÝÝF=+@zS&̰Al1(Úœ€È@;�P€dÏ8€L Õy_à€%ìÖ;c`Ì`ŠÂ}ðe%ÿbÅã±ÊQuã¨�ÀÃGú�ÄÑAüøsPña¼1¸Õ‡ÅŽzáAŸî¾¬FO¿Ä³†u?\Á3A� oá’ð§¡æ¸w& €œC6þX 0ÍŠ€C™€$wVÜ'ÀÌwr-9kè× –\1~ýCáÈ8 ê¹]ô/@óia`“ ÇB9‘]IÓ·e8 Ü)Â9¦úÎp’˜�ýçk+µ7áëTo˜ÿC@î3YEF" wãVÖ 6ðRƒ©ÃT@*È‹ £bæö;€ÁÉYSpûv˜l ½‚}üŽý:À:„ƒ2“Ô0ÇÈnGß)Ê 4$pó¦ŸLµ›µ%,k¯åÆs•E楩^@T¿X˜éÇl?ö¤ 8CX‹>k6Ãz=ˆ9j@ îÃÇçÕ~/z‡Áâ¢ïU–{_>nž–ù¦KŽ+­0ç‘첈•�ßVª_D¡rqs% <ÅÞìWÿÝÃfpp¸RFõzï˸îyH>¨BsþkÀqïLÀÂñ,~&ÿúØÝÄt‹càfs¡�ÕçË¥bÙ5èÀ(÷�Ž_Ç‚üÊ@L’83Ùõ‡#crûl ;b\¸»o„ Ñ)æÓ$¶1_³»‘Û�¹!ß�áÕòÀàc½üjò’D½Òßá;WàÚ©�Èü›ÿÇOM¾óƒ`š@ÎÓ–¹Î…ŠÅÎo¦®ÌL@æ<¸Ovš°2Ïý„Á„@€}eàŽÚ-#âg)�à>@&A§Ó ˜”J¥ÛeÌ� @@ -3935,4 +3935,4 @@ Q ` pwÀÈüÀ3©<s8oÊÌ®ÏðÔ�®¸1ú?ðr(<ÉÄ3æp¤îm½@ü>¡$À~JøGàk#ÂøŸ,€|} =ް<ïp �Î0ÇH¿»¯´±] €c™n='TŒþ‰ ôT;�­JàÄwüžˆMšcŸwqØGœß]Ážù‰T£í|NÎ~›ˆ±-ÀªCÛ&ëâÜDcW•5w:è!Óp ,Øæ.ÐT•À>p±– Øßtù�¼Ëþ=@œè›0¢ê†{3�×0àë0@÷šPTÀÄO«xŸy6SB!ÚæúæÈ(0•ßÛ ÑÆ>,�uW#ŸáÇ—öz€åX - •à�ÑT@lFè•è.±ðNþvsä>% Vì…ƒöídvq„q¾v{Àȿ݈·L¬ðYÄT'x¥ÿKpßXÂjÖÄRÜÑ�Ý�%ÄŽè$Øjy< ?ñ¾;²­ë�ˆó”¸‡<Æíå»8€F7 °kÀbýÿíý—e,òIEND®B`‚ \ No newline at end of file + •à�ÑT@lFè•è.±ðNþvsä>% Vì…ƒöídvq„q¾v{Àȿ݈·L¬ðYÄT'x¥ÿKpßXÂjÖÄRÜÑ�Ý�%ÄŽè$Øjy< ?ñ¾;²­ë�ˆó”¸‡<Æíå»8€F7 °kÀbýÿíý—Jª/ŒIEND®B`‚ \ No newline at end of file diff --git a/examples/web/models/models_mesh_picking.html b/examples/web/models/models_mesh_picking.html index d0bf7ab..8592ae0 100644 --- a/examples/web/models/models_mesh_picking.html +++ b/examples/web/models/models_mesh_picking.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_mesh_picking.js b/examples/web/models/models_mesh_picking.js index eb3050e..d556021 100644 --- a/examples/web/models/models_mesh_picking.js +++ b/examples/web/models/models_mesh_picking.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_mesh_picking.data";var REMOTE_PACKAGE_BASE="models_mesh_picking.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);Module["FS_createPath"]("/resources","models",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5286656,DYNAMICTOP_PTR=43744;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_mesh_picking.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"d":abort,"b":___assert_fail,"sc":___lock,"D":___setErrNo,"gb":___syscall140,"Xa":___syscall145,"q":___syscall221,"Ca":___syscall5,"ra":___syscall54,"C":___syscall6,"B":___unlock,"be":___wasi_fd_write,"A":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"yd":_emscripten_get_element_css_size,"nd":_emscripten_get_gamepad_status,"cd":_emscripten_get_heap_size,"Tc":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"zc":_emscripten_glActiveTexture,"rc":_emscripten_glAttachShader,"lc":_emscripten_glBeginQueryEXT,"hc":_emscripten_glBindAttribLocation,"cc":_emscripten_glBindBuffer,"Xb":_emscripten_glBindFramebuffer,"Tb":_emscripten_glBindRenderbuffer,"Lb":_emscripten_glBindTexture,"Ab":_emscripten_glBindVertexArrayOES,"tb":_emscripten_glBlendColor,"rb":_emscripten_glBlendEquation,"qb":_emscripten_glBlendEquationSeparate,"pb":_emscripten_glBlendFunc,"ob":_emscripten_glBlendFuncSeparate,"nb":_emscripten_glBufferData,"mb":_emscripten_glBufferSubData,"lb":_emscripten_glCheckFramebufferStatus,"kb":_emscripten_glClear,"jb":_emscripten_glClearColor,"ib":_emscripten_glClearDepthf,"hb":_emscripten_glClearStencil,"fb":_emscripten_glColorMask,"eb":_emscripten_glCompileShader,"db":_emscripten_glCompressedTexImage2D,"cb":_emscripten_glCompressedTexSubImage2D,"bb":_emscripten_glCopyTexImage2D,"ab":_emscripten_glCopyTexSubImage2D,"$a":_emscripten_glCreateProgram,"_a":_emscripten_glCreateShader,"Za":_emscripten_glCullFace,"Ya":_emscripten_glDeleteBuffers,"Wa":_emscripten_glDeleteFramebuffers,"Va":_emscripten_glDeleteProgram,"Ua":_emscripten_glDeleteQueriesEXT,"Ta":_emscripten_glDeleteRenderbuffers,"Sa":_emscripten_glDeleteShader,"Ra":_emscripten_glDeleteTextures,"Qa":_emscripten_glDeleteVertexArraysOES,"Pa":_emscripten_glDepthFunc,"Oa":_emscripten_glDepthMask,"Na":_emscripten_glDepthRangef,"Ma":_emscripten_glDetachShader,"La":_emscripten_glDisable,"Ka":_emscripten_glDisableVertexAttribArray,"Ja":_emscripten_glDrawArrays,"Ia":_emscripten_glDrawArraysInstancedANGLE,"Ha":_emscripten_glDrawBuffersWEBGL,"Ga":_emscripten_glDrawElements,"Fa":_emscripten_glDrawElementsInstancedANGLE,"Ea":_emscripten_glEnable,"Da":_emscripten_glEnableVertexAttribArray,"Ba":_emscripten_glEndQueryEXT,"Aa":_emscripten_glFinish,"za":_emscripten_glFlush,"ya":_emscripten_glFramebufferRenderbuffer,"xa":_emscripten_glFramebufferTexture2D,"wa":_emscripten_glFrontFace,"va":_emscripten_glGenBuffers,"ua":_emscripten_glGenFramebuffers,"ta":_emscripten_glGenQueriesEXT,"sa":_emscripten_glGenRenderbuffers,"qa":_emscripten_glGenTextures,"pa":_emscripten_glGenVertexArraysOES,"oa":_emscripten_glGenerateMipmap,"na":_emscripten_glGetActiveAttrib,"ma":_emscripten_glGetActiveUniform,"la":_emscripten_glGetAttachedShaders,"ka":_emscripten_glGetAttribLocation,"ja":_emscripten_glGetBooleanv,"ia":_emscripten_glGetBufferParameteriv,"ha":_emscripten_glGetError,"ga":_emscripten_glGetFloatv,"fa":_emscripten_glGetFramebufferAttachmentParameteriv,"ea":_emscripten_glGetIntegerv,"da":_emscripten_glGetProgramInfoLog,"ca":_emscripten_glGetProgramiv,"ba":_emscripten_glGetQueryObjecti64vEXT,"aa":_emscripten_glGetQueryObjectivEXT,"$":_emscripten_glGetQueryObjectui64vEXT,"_":_emscripten_glGetQueryObjectuivEXT,"Z":_emscripten_glGetQueryivEXT,"le":_emscripten_glGetRenderbufferParameteriv,"ke":_emscripten_glGetShaderInfoLog,"je":_emscripten_glGetShaderPrecisionFormat,"ie":_emscripten_glGetShaderSource,"he":_emscripten_glGetShaderiv,"ge":_emscripten_glGetString,"fe":_emscripten_glGetTexParameterfv,"ee":_emscripten_glGetTexParameteriv,"de":_emscripten_glGetUniformLocation,"ce":_emscripten_glGetUniformfv,"ae":_emscripten_glGetUniformiv,"$d":_emscripten_glGetVertexAttribPointerv,"_d":_emscripten_glGetVertexAttribfv,"Zd":_emscripten_glGetVertexAttribiv,"Yd":_emscripten_glHint,"Xd":_emscripten_glIsBuffer,"Wd":_emscripten_glIsEnabled,"Vd":_emscripten_glIsFramebuffer,"Ud":_emscripten_glIsProgram,"Td":_emscripten_glIsQueryEXT,"Sd":_emscripten_glIsRenderbuffer,"Rd":_emscripten_glIsShader,"Qd":_emscripten_glIsTexture,"Pd":_emscripten_glIsVertexArrayOES,"Od":_emscripten_glLineWidth,"Nd":_emscripten_glLinkProgram,"Md":_emscripten_glPixelStorei,"Ld":_emscripten_glPolygonOffset,"Kd":_emscripten_glQueryCounterEXT,"Jd":_emscripten_glReadPixels,"Id":_emscripten_glReleaseShaderCompiler,"Hd":_emscripten_glRenderbufferStorage,"Gd":_emscripten_glSampleCoverage,"Fd":_emscripten_glScissor,"Ed":_emscripten_glShaderBinary,"Dd":_emscripten_glShaderSource,"Cd":_emscripten_glStencilFunc,"Bd":_emscripten_glStencilFuncSeparate,"Ad":_emscripten_glStencilMask,"zd":_emscripten_glStencilMaskSeparate,"xd":_emscripten_glStencilOp,"wd":_emscripten_glStencilOpSeparate,"vd":_emscripten_glTexImage2D,"ud":_emscripten_glTexParameterf,"td":_emscripten_glTexParameterfv,"sd":_emscripten_glTexParameteri,"rd":_emscripten_glTexParameteriv,"qd":_emscripten_glTexSubImage2D,"pd":_emscripten_glUniform1f,"od":_emscripten_glUniform1fv,"md":_emscripten_glUniform1i,"ld":_emscripten_glUniform1iv,"kd":_emscripten_glUniform2f,"jd":_emscripten_glUniform2fv,"id":_emscripten_glUniform2i,"hd":_emscripten_glUniform2iv,"gd":_emscripten_glUniform3f,"fd":_emscripten_glUniform3fv,"ed":_emscripten_glUniform3i,"dd":_emscripten_glUniform3iv,"bd":_emscripten_glUniform4f,"ad":_emscripten_glUniform4fv,"$c":_emscripten_glUniform4i,"_c":_emscripten_glUniform4iv,"Zc":_emscripten_glUniformMatrix2fv,"Yc":_emscripten_glUniformMatrix3fv,"Xc":_emscripten_glUniformMatrix4fv,"Wc":_emscripten_glUseProgram,"Vc":_emscripten_glValidateProgram,"Uc":_emscripten_glVertexAttrib1f,"Sc":_emscripten_glVertexAttrib1fv,"Rc":_emscripten_glVertexAttrib2f,"Qc":_emscripten_glVertexAttrib2fv,"Pc":_emscripten_glVertexAttrib3f,"Oc":_emscripten_glVertexAttrib3fv,"Nc":_emscripten_glVertexAttrib4f,"Mc":_emscripten_glVertexAttrib4fv,"Lc":_emscripten_glVertexAttribDivisorANGLE,"Kc":_emscripten_glVertexAttribPointer,"Jc":_emscripten_glViewport,"Ic":_emscripten_memcpy_big,"Hc":_emscripten_request_pointerlock,"Gc":_emscripten_resize_heap,"W":_emscripten_run_script,"Fc":_emscripten_sample_gamepad_data,"Ec":_emscripten_set_click_callback_on_thread,"Dc":_emscripten_set_fullscreenchange_callback_on_thread,"Cc":_emscripten_set_gamepadconnected_callback_on_thread,"Bc":_emscripten_set_gamepaddisconnected_callback_on_thread,"Ac":_emscripten_set_keypress_callback_on_thread,"yc":_emscripten_set_main_loop,"xc":_emscripten_set_touchcancel_callback_on_thread,"wc":_emscripten_set_touchend_callback_on_thread,"vc":_emscripten_set_touchmove_callback_on_thread,"uc":_emscripten_set_touchstart_callback_on_thread,"tc":_exit,"z":_glActiveTexture,"V":_glAttachShader,"n":_glBindAttribLocation,"c":_glBindBuffer,"k":_glBindTexture,"qc":_glBlendFunc,"i":_glBufferData,"y":_glBufferSubData,"U":_glClear,"T":_glClearColor,"pc":_glClearDepthf,"oc":_glCompileShader,"nc":_glCompressedTexImage2D,"mc":_glCreateProgram,"kc":_glCreateShader,"jc":_glCullFace,"p":_glDeleteBuffers,"S":_glDeleteProgram,"R":_glDeleteShader,"Q":_glDeleteTextures,"ic":_glDepthFunc,"P":_glDetachShader,"O":_glDisable,"j":_glDisableVertexAttribArray,"N":_glDrawArrays,"M":_glDrawElements,"x":_glEnable,"f":_glEnableVertexAttribArray,"gc":_glFrontFace,"h":_glGenBuffers,"fc":_glGenTextures,"w":_glGetAttribLocation,"ec":_glGetFloatv,"dc":_glGetProgramInfoLog,"L":_glGetProgramiv,"bc":_glGetShaderInfoLog,"K":_glGetShaderiv,"o":_glGetString,"v":_glGetUniformLocation,"ac":_glLinkProgram,"$b":_glPixelStorei,"_b":_glReadPixels,"Zb":_glShaderSource,"Yb":_glTexImage2D,"m":_glTexParameteri,"J":_glUniform1i,"u":_glUniform4f,"t":_glUniformMatrix4fv,"l":_glUseProgram,"Wb":_glVertexAttrib2f,"Vb":_glVertexAttrib3f,"s":_glVertexAttrib4f,"e":_glVertexAttribPointer,"Ub":_glViewport,"I":_glfwCreateWindow,"Sb":_glfwDefaultWindowHints,"Rb":_glfwDestroyWindow,"Qb":_glfwGetCursorPos,"Pb":_glfwGetKey,"Ob":_glfwGetMouseButton,"H":_glfwGetPrimaryMonitor,"r":_glfwGetTime,"Nb":_glfwGetVideoModes,"Mb":_glfwInit,"Kb":_glfwMakeContextCurrent,"Jb":_glfwSetCharCallback,"Ib":_glfwSetCursorEnterCallback,"Hb":_glfwSetCursorPosCallback,"Gb":_glfwSetDropCallback,"Fb":_glfwSetErrorCallback,"Eb":_glfwSetKeyCallback,"Db":_glfwSetMouseButtonCallback,"Cb":_glfwSetScrollCallback,"Bb":_glfwSetWindowIconifyCallback,"zb":_glfwSetWindowShouldClose,"yb":_glfwSetWindowSizeCallback,"xb":_glfwSwapBuffers,"wb":_glfwSwapInterval,"G":_glfwTerminate,"g":_glfwWindowHint,"F":_llvm_stackrestore,"E":_llvm_stacksave,"vb":_nanosleep,"ub":_time,"sb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["re"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["se"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["Be"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["Ce"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["De"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["we"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["calledRun"]=calledRun;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_mesh_picking.data";var REMOTE_PACKAGE_BASE="models_mesh_picking.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);Module["FS_createPath"]("/resources","models",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_mesh_picking.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["de"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ee"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"a":___assert_fail,"Zd":___sys_chdir,"Q":___sys_fcntl64,"Yd":___sys_getcwd,"$d":___sys_ioctl,"ae":___sys_open,"w":_eglGetProcAddress,"aa":_emscripten_exit_pointerlock,"Z":_emscripten_get_element_css_size,"U":_emscripten_get_gamepad_status,"V":_emscripten_get_num_gamepads,"$":_emscripten_get_pointerlock_status,"Bd":_emscripten_glActiveTexture,"Ad":_emscripten_glAttachShader,"Rd":_emscripten_glBeginQueryEXT,"zd":_emscripten_glBindAttribLocation,"yd":_emscripten_glBindBuffer,"xd":_emscripten_glBindFramebuffer,"wd":_emscripten_glBindRenderbuffer,"vd":_emscripten_glBindTexture,"Jd":_emscripten_glBindVertexArrayOES,"ud":_emscripten_glBlendColor,"td":_emscripten_glBlendEquation,"sd":_emscripten_glBlendEquationSeparate,"rd":_emscripten_glBlendFunc,"qd":_emscripten_glBlendFuncSeparate,"pd":_emscripten_glBufferData,"od":_emscripten_glBufferSubData,"nd":_emscripten_glCheckFramebufferStatus,"md":_emscripten_glClear,"ld":_emscripten_glClearColor,"kd":_emscripten_glClearDepthf,"jd":_emscripten_glClearStencil,"id":_emscripten_glColorMask,"hd":_emscripten_glCompileShader,"gd":_emscripten_glCompressedTexImage2D,"fd":_emscripten_glCompressedTexSubImage2D,"ed":_emscripten_glCopyTexImage2D,"dd":_emscripten_glCopyTexSubImage2D,"cd":_emscripten_glCreateProgram,"bd":_emscripten_glCreateShader,"ad":_emscripten_glCullFace,"$c":_emscripten_glDeleteBuffers,"_c":_emscripten_glDeleteFramebuffers,"Zc":_emscripten_glDeleteProgram,"Td":_emscripten_glDeleteQueriesEXT,"Yc":_emscripten_glDeleteRenderbuffers,"Xc":_emscripten_glDeleteShader,"Wc":_emscripten_glDeleteTextures,"Id":_emscripten_glDeleteVertexArraysOES,"Vc":_emscripten_glDepthFunc,"Uc":_emscripten_glDepthMask,"Tc":_emscripten_glDepthRangef,"Sc":_emscripten_glDetachShader,"Rc":_emscripten_glDisable,"Qc":_emscripten_glDisableVertexAttribArray,"Oc":_emscripten_glDrawArrays,"Ed":_emscripten_glDrawArraysInstancedANGLE,"Fd":_emscripten_glDrawBuffersWEBGL,"Nc":_emscripten_glDrawElements,"Dd":_emscripten_glDrawElementsInstancedANGLE,"Mc":_emscripten_glEnable,"Lc":_emscripten_glEnableVertexAttribArray,"Qd":_emscripten_glEndQueryEXT,"Kc":_emscripten_glFinish,"Jc":_emscripten_glFlush,"Ic":_emscripten_glFramebufferRenderbuffer,"Hc":_emscripten_glFramebufferTexture2D,"Gc":_emscripten_glFrontFace,"Fc":_emscripten_glGenBuffers,"Dc":_emscripten_glGenFramebuffers,"Ud":_emscripten_glGenQueriesEXT,"Cc":_emscripten_glGenRenderbuffers,"Bc":_emscripten_glGenTextures,"Hd":_emscripten_glGenVertexArraysOES,"Ec":_emscripten_glGenerateMipmap,"Ac":_emscripten_glGetActiveAttrib,"zc":_emscripten_glGetActiveUniform,"yc":_emscripten_glGetAttachedShaders,"xc":_emscripten_glGetAttribLocation,"wc":_emscripten_glGetBooleanv,"vc":_emscripten_glGetBufferParameteriv,"uc":_emscripten_glGetError,"tc":_emscripten_glGetFloatv,"sc":_emscripten_glGetFramebufferAttachmentParameteriv,"rc":_emscripten_glGetIntegerv,"pc":_emscripten_glGetProgramInfoLog,"qc":_emscripten_glGetProgramiv,"Ld":_emscripten_glGetQueryObjecti64vEXT,"Nd":_emscripten_glGetQueryObjectivEXT,"Kd":_emscripten_glGetQueryObjectui64vEXT,"Md":_emscripten_glGetQueryObjectuivEXT,"Od":_emscripten_glGetQueryivEXT,"oc":_emscripten_glGetRenderbufferParameteriv,"mc":_emscripten_glGetShaderInfoLog,"lc":_emscripten_glGetShaderPrecisionFormat,"kc":_emscripten_glGetShaderSource,"nc":_emscripten_glGetShaderiv,"jc":_emscripten_glGetString,"ic":_emscripten_glGetTexParameterfv,"hc":_emscripten_glGetTexParameteriv,"ec":_emscripten_glGetUniformLocation,"gc":_emscripten_glGetUniformfv,"fc":_emscripten_glGetUniformiv,"bc":_emscripten_glGetVertexAttribPointerv,"dc":_emscripten_glGetVertexAttribfv,"cc":_emscripten_glGetVertexAttribiv,"ac":_emscripten_glHint,"$b":_emscripten_glIsBuffer,"_b":_emscripten_glIsEnabled,"Zb":_emscripten_glIsFramebuffer,"Yb":_emscripten_glIsProgram,"Sd":_emscripten_glIsQueryEXT,"Xb":_emscripten_glIsRenderbuffer,"Wb":_emscripten_glIsShader,"Vb":_emscripten_glIsTexture,"Gd":_emscripten_glIsVertexArrayOES,"Ub":_emscripten_glLineWidth,"Tb":_emscripten_glLinkProgram,"Rb":_emscripten_glPixelStorei,"Qb":_emscripten_glPolygonOffset,"Pd":_emscripten_glQueryCounterEXT,"Pb":_emscripten_glReadPixels,"Ob":_emscripten_glReleaseShaderCompiler,"Nb":_emscripten_glRenderbufferStorage,"Mb":_emscripten_glSampleCoverage,"Lb":_emscripten_glScissor,"Kb":_emscripten_glShaderBinary,"Jb":_emscripten_glShaderSource,"Ib":_emscripten_glStencilFunc,"Gb":_emscripten_glStencilFuncSeparate,"Fb":_emscripten_glStencilMask,"Eb":_emscripten_glStencilMaskSeparate,"Db":_emscripten_glStencilOp,"Cb":_emscripten_glStencilOpSeparate,"Bb":_emscripten_glTexImage2D,"Ab":_emscripten_glTexParameterf,"zb":_emscripten_glTexParameterfv,"yb":_emscripten_glTexParameteri,"xb":_emscripten_glTexParameteriv,"vb":_emscripten_glTexSubImage2D,"ub":_emscripten_glUniform1f,"tb":_emscripten_glUniform1fv,"sb":_emscripten_glUniform1i,"rb":_emscripten_glUniform1iv,"qb":_emscripten_glUniform2f,"pb":_emscripten_glUniform2fv,"ob":_emscripten_glUniform2i,"nb":_emscripten_glUniform2iv,"mb":_emscripten_glUniform3f,"kb":_emscripten_glUniform3fv,"jb":_emscripten_glUniform3i,"ib":_emscripten_glUniform3iv,"hb":_emscripten_glUniform4f,"gb":_emscripten_glUniform4fv,"fb":_emscripten_glUniform4i,"eb":_emscripten_glUniform4iv,"db":_emscripten_glUniformMatrix2fv,"cb":_emscripten_glUniformMatrix3fv,"bb":_emscripten_glUniformMatrix4fv,"$a":_emscripten_glUseProgram,"_a":_emscripten_glValidateProgram,"Za":_emscripten_glVertexAttrib1f,"Ya":_emscripten_glVertexAttrib1fv,"Xa":_emscripten_glVertexAttrib2f,"Wa":_emscripten_glVertexAttrib2fv,"Va":_emscripten_glVertexAttrib3f,"Ua":_emscripten_glVertexAttrib3fv,"Ta":_emscripten_glVertexAttrib4f,"Sa":_emscripten_glVertexAttrib4fv,"Cd":_emscripten_glVertexAttribDivisorANGLE,"Qa":_emscripten_glVertexAttribPointer,"Pa":_emscripten_glViewport,"Vd":_emscripten_memcpy_big,"_":_emscripten_request_pointerlock,"Wd":_emscripten_resize_heap,"y":_emscripten_run_script,"W":_emscripten_sample_gamepad_data,"ya":_emscripten_set_click_callback_on_thread,"Aa":_emscripten_set_fullscreenchange_callback_on_thread,"ta":_emscripten_set_gamepadconnected_callback_on_thread,"sa":_emscripten_set_gamepaddisconnected_callback_on_thread,"za":_emscripten_set_keydown_callback_on_thread,"ce":_emscripten_set_main_loop,"ua":_emscripten_set_touchcancel_callback_on_thread,"wa":_emscripten_set_touchend_callback_on_thread,"va":_emscripten_set_touchmove_callback_on_thread,"xa":_emscripten_set_touchstart_callback_on_thread,"Xd":_emscripten_thread_sleep,"S":_exit,"R":_fd_close,"_d":_fd_read,"Oa":_fd_seek,"P":_fd_write,"p":_glActiveTexture,"D":_glAttachShader,"k":_glBindAttribLocation,"b":_glBindBuffer,"j":_glBindTexture,"Hb":_glBlendFunc,"e":_glBufferData,"v":_glBufferSubData,"K":_glClear,"L":_glClearColor,"ab":_glClearDepthf,"Fa":_glCompileShader,"La":_glCompressedTexImage2D,"Da":_glCreateProgram,"Ha":_glCreateShader,"wb":_glCullFace,"m":_glDeleteBuffers,"G":_glDeleteProgram,"H":_glDeleteShader,"J":_glDeleteTextures,"Sb":_glDepthFunc,"I":_glDetachShader,"M":_glDisable,"h":_glDisableVertexAttribArray,"O":_glDrawArrays,"N":_glDrawElements,"x":_glEnable,"c":_glEnableVertexAttribArray,"lb":_glFrontFace,"f":_glGenBuffers,"Na":_glGenTextures,"u":_glGetAttribLocation,"Pc":_glGetFloatv,"Ba":_glGetProgramInfoLog,"F":_glGetProgramiv,"Ea":_glGetShaderInfoLog,"E":_glGetShaderiv,"n":_glGetString,"t":_glGetUniformLocation,"Ca":_glLinkProgram,"Ra":_glPixelStorei,"Ia":_glReadPixels,"Ga":_glShaderSource,"Ma":_glTexImage2D,"o":_glTexParameteri,"z":_glUniform1i,"q":_glUniform4f,"r":_glUniformMatrix4fv,"l":_glUseProgram,"Ja":_glVertexAttrib2f,"Ka":_glVertexAttrib3f,"s":_glVertexAttrib4f,"d":_glVertexAttribPointer,"be":_glViewport,"B":_glfwCreateWindow,"pa":_glfwDefaultWindowHints,"Y":_glfwDestroyWindow,"C":_glfwGetPrimaryMonitor,"i":_glfwGetTime,"oa":_glfwGetVideoModes,"qa":_glfwInit,"da":_glfwMakeContextCurrent,"ia":_glfwSetCharCallback,"ea":_glfwSetCursorEnterCallback,"ga":_glfwSetCursorPosCallback,"ka":_glfwSetDropCallback,"ra":_glfwSetErrorCallback,"ja":_glfwSetKeyCallback,"ha":_glfwSetMouseButtonCallback,"fa":_glfwSetScrollCallback,"la":_glfwSetWindowFocusCallback,"ma":_glfwSetWindowIconifyCallback,"T":_glfwSetWindowShouldClose,"na":_glfwSetWindowSizeCallback,"X":_glfwSwapBuffers,"ca":_glfwSwapInterval,"A":_glfwTerminate,"g":_glfwWindowHint,"ba":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["fe"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["ge"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["he"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ie"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["je"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ke"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["le"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_mesh_picking.wasm b/examples/web/models/models_mesh_picking.wasm index b2f513e..bbfaf3e 100644 Binary files a/examples/web/models/models_mesh_picking.wasm and b/examples/web/models/models_mesh_picking.wasm differ diff --git a/examples/web/models/models_orthographic_projection.c b/examples/web/models/models_orthographic_projection.c index 1b1f0f6..75dfb75 100644 --- a/examples/web/models/models_orthographic_projection.c +++ b/examples/web/models/models_orthographic_projection.c @@ -50,7 +50,7 @@ int main(void) camera = (Camera){{ 0.0f, 10.0f, 10.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, FOVY_PERSPECTIVE, CAMERA_PERSPECTIVE }; #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_orthographic_projection.html b/examples/web/models/models_orthographic_projection.html index 917169c..cba0848 100644 --- a/examples/web/models/models_orthographic_projection.html +++ b/examples/web/models/models_orthographic_projection.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_orthographic_projection.js b/examples/web/models/models_orthographic_projection.js index 007290b..9922cd5 100644 --- a/examples/web/models/models_orthographic_projection.js +++ b/examples/web/models/models_orthographic_projection.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5276896,DYNAMICTOP_PTR=33984;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_orthographic_projection.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"c":abort,"b":___assert_fail,"mc":___lock,"z":___setErrNo,"$a":___syscall140,"Qa":___syscall145,"l":___syscall221,"va":___syscall5,"ka":___syscall54,"y":___syscall6,"x":___unlock,"Yd":___wasi_fd_write,"w":_eglGetProcAddress,"R":_emscripten_exit_pointerlock,"td":_emscripten_get_element_css_size,"id":_emscripten_get_gamepad_status,"Zc":_emscripten_get_heap_size,"Oc":_emscripten_get_num_gamepads,"Q":_emscripten_get_pointerlock_status,"uc":_emscripten_glActiveTexture,"lc":_emscripten_glAttachShader,"fc":_emscripten_glBeginQueryEXT,"bc":_emscripten_glBindAttribLocation,"Wb":_emscripten_glBindBuffer,"Pb":_emscripten_glBindFramebuffer,"Ib":_emscripten_glBindRenderbuffer,"zb":_emscripten_glBindTexture,"pb":_emscripten_glBindVertexArrayOES,"lb":_emscripten_glBlendColor,"kb":_emscripten_glBlendEquation,"jb":_emscripten_glBlendEquationSeparate,"ib":_emscripten_glBlendFunc,"hb":_emscripten_glBlendFuncSeparate,"gb":_emscripten_glBufferData,"fb":_emscripten_glBufferSubData,"eb":_emscripten_glCheckFramebufferStatus,"db":_emscripten_glClear,"cb":_emscripten_glClearColor,"bb":_emscripten_glClearDepthf,"ab":_emscripten_glClearStencil,"_a":_emscripten_glColorMask,"Za":_emscripten_glCompileShader,"Ya":_emscripten_glCompressedTexImage2D,"Xa":_emscripten_glCompressedTexSubImage2D,"Wa":_emscripten_glCopyTexImage2D,"Va":_emscripten_glCopyTexSubImage2D,"Ua":_emscripten_glCreateProgram,"Ta":_emscripten_glCreateShader,"Sa":_emscripten_glCullFace,"Ra":_emscripten_glDeleteBuffers,"Pa":_emscripten_glDeleteFramebuffers,"Oa":_emscripten_glDeleteProgram,"Na":_emscripten_glDeleteQueriesEXT,"Ma":_emscripten_glDeleteRenderbuffers,"La":_emscripten_glDeleteShader,"Ka":_emscripten_glDeleteTextures,"Ja":_emscripten_glDeleteVertexArraysOES,"Ia":_emscripten_glDepthFunc,"Ha":_emscripten_glDepthMask,"Ga":_emscripten_glDepthRangef,"Fa":_emscripten_glDetachShader,"Ea":_emscripten_glDisable,"Da":_emscripten_glDisableVertexAttribArray,"Ca":_emscripten_glDrawArrays,"Ba":_emscripten_glDrawArraysInstancedANGLE,"Aa":_emscripten_glDrawBuffersWEBGL,"za":_emscripten_glDrawElements,"ya":_emscripten_glDrawElementsInstancedANGLE,"xa":_emscripten_glEnable,"wa":_emscripten_glEnableVertexAttribArray,"ua":_emscripten_glEndQueryEXT,"ta":_emscripten_glFinish,"sa":_emscripten_glFlush,"ra":_emscripten_glFramebufferRenderbuffer,"qa":_emscripten_glFramebufferTexture2D,"pa":_emscripten_glFrontFace,"oa":_emscripten_glGenBuffers,"na":_emscripten_glGenFramebuffers,"ma":_emscripten_glGenQueriesEXT,"la":_emscripten_glGenRenderbuffers,"ja":_emscripten_glGenTextures,"ia":_emscripten_glGenVertexArraysOES,"ha":_emscripten_glGenerateMipmap,"ga":_emscripten_glGetActiveAttrib,"fa":_emscripten_glGetActiveUniform,"ea":_emscripten_glGetAttachedShaders,"da":_emscripten_glGetAttribLocation,"ca":_emscripten_glGetBooleanv,"ba":_emscripten_glGetBufferParameteriv,"aa":_emscripten_glGetError,"$":_emscripten_glGetFloatv,"_":_emscripten_glGetFramebufferAttachmentParameteriv,"Z":_emscripten_glGetIntegerv,"Y":_emscripten_glGetProgramInfoLog,"X":_emscripten_glGetProgramiv,"W":_emscripten_glGetQueryObjecti64vEXT,"V":_emscripten_glGetQueryObjectivEXT,"U":_emscripten_glGetQueryObjectui64vEXT,"T":_emscripten_glGetQueryObjectuivEXT,"S":_emscripten_glGetQueryivEXT,"ge":_emscripten_glGetRenderbufferParameteriv,"fe":_emscripten_glGetShaderInfoLog,"ee":_emscripten_glGetShaderPrecisionFormat,"de":_emscripten_glGetShaderSource,"ce":_emscripten_glGetShaderiv,"be":_emscripten_glGetString,"ae":_emscripten_glGetTexParameterfv,"$d":_emscripten_glGetTexParameteriv,"_d":_emscripten_glGetUniformLocation,"Zd":_emscripten_glGetUniformfv,"Xd":_emscripten_glGetUniformiv,"Wd":_emscripten_glGetVertexAttribPointerv,"Vd":_emscripten_glGetVertexAttribfv,"Ud":_emscripten_glGetVertexAttribiv,"Td":_emscripten_glHint,"Sd":_emscripten_glIsBuffer,"Rd":_emscripten_glIsEnabled,"Qd":_emscripten_glIsFramebuffer,"Pd":_emscripten_glIsProgram,"Od":_emscripten_glIsQueryEXT,"Nd":_emscripten_glIsRenderbuffer,"Md":_emscripten_glIsShader,"Ld":_emscripten_glIsTexture,"Kd":_emscripten_glIsVertexArrayOES,"Jd":_emscripten_glLineWidth,"Id":_emscripten_glLinkProgram,"Hd":_emscripten_glPixelStorei,"Gd":_emscripten_glPolygonOffset,"Fd":_emscripten_glQueryCounterEXT,"Ed":_emscripten_glReadPixels,"Dd":_emscripten_glReleaseShaderCompiler,"Cd":_emscripten_glRenderbufferStorage,"Bd":_emscripten_glSampleCoverage,"Ad":_emscripten_glScissor,"zd":_emscripten_glShaderBinary,"yd":_emscripten_glShaderSource,"xd":_emscripten_glStencilFunc,"wd":_emscripten_glStencilFuncSeparate,"vd":_emscripten_glStencilMask,"ud":_emscripten_glStencilMaskSeparate,"sd":_emscripten_glStencilOp,"rd":_emscripten_glStencilOpSeparate,"qd":_emscripten_glTexImage2D,"pd":_emscripten_glTexParameterf,"od":_emscripten_glTexParameterfv,"nd":_emscripten_glTexParameteri,"md":_emscripten_glTexParameteriv,"ld":_emscripten_glTexSubImage2D,"kd":_emscripten_glUniform1f,"jd":_emscripten_glUniform1fv,"hd":_emscripten_glUniform1i,"gd":_emscripten_glUniform1iv,"fd":_emscripten_glUniform2f,"ed":_emscripten_glUniform2fv,"dd":_emscripten_glUniform2i,"cd":_emscripten_glUniform2iv,"bd":_emscripten_glUniform3f,"ad":_emscripten_glUniform3fv,"$c":_emscripten_glUniform3i,"_c":_emscripten_glUniform3iv,"Yc":_emscripten_glUniform4f,"Xc":_emscripten_glUniform4fv,"Wc":_emscripten_glUniform4i,"Vc":_emscripten_glUniform4iv,"Uc":_emscripten_glUniformMatrix2fv,"Tc":_emscripten_glUniformMatrix3fv,"Sc":_emscripten_glUniformMatrix4fv,"Rc":_emscripten_glUseProgram,"Qc":_emscripten_glValidateProgram,"Pc":_emscripten_glVertexAttrib1f,"Nc":_emscripten_glVertexAttrib1fv,"Mc":_emscripten_glVertexAttrib2f,"Lc":_emscripten_glVertexAttrib2fv,"Kc":_emscripten_glVertexAttrib3f,"Jc":_emscripten_glVertexAttrib3fv,"Ic":_emscripten_glVertexAttrib4f,"Hc":_emscripten_glVertexAttrib4fv,"Gc":_emscripten_glVertexAttribDivisorANGLE,"Fc":_emscripten_glVertexAttribPointer,"Ec":_emscripten_glViewport,"Dc":_emscripten_memcpy_big,"Cc":_emscripten_request_pointerlock,"Bc":_emscripten_resize_heap,"P":_emscripten_run_script,"Ac":_emscripten_sample_gamepad_data,"zc":_emscripten_set_click_callback_on_thread,"yc":_emscripten_set_fullscreenchange_callback_on_thread,"xc":_emscripten_set_gamepadconnected_callback_on_thread,"wc":_emscripten_set_gamepaddisconnected_callback_on_thread,"vc":_emscripten_set_keypress_callback_on_thread,"tc":_emscripten_set_main_loop,"sc":_emscripten_set_touchcancel_callback_on_thread,"rc":_emscripten_set_touchend_callback_on_thread,"qc":_emscripten_set_touchmove_callback_on_thread,"pc":_emscripten_set_touchstart_callback_on_thread,"oc":_exit,"nc":_glActiveTexture,"O":_glAttachShader,"i":_glBindAttribLocation,"d":_glBindBuffer,"k":_glBindTexture,"kc":_glBlendFunc,"q":_glBufferData,"v":_glBufferSubData,"N":_glClear,"M":_glClearColor,"jc":_glClearDepthf,"ic":_glCompileShader,"hc":_glCompressedTexImage2D,"gc":_glCreateProgram,"ec":_glCreateShader,"dc":_glCullFace,"p":_glDeleteBuffers,"L":_glDeleteProgram,"K":_glDeleteShader,"J":_glDeleteTextures,"cc":_glDepthFunc,"I":_glDetachShader,"H":_glDisable,"o":_glDisableVertexAttribArray,"ac":_glDrawArrays,"$b":_glDrawElements,"u":_glEnable,"h":_glEnableVertexAttribArray,"_b":_glFrontFace,"n":_glGenBuffers,"Zb":_glGenTextures,"t":_glGetAttribLocation,"Yb":_glGetFloatv,"Xb":_glGetProgramInfoLog,"G":_glGetProgramiv,"Vb":_glGetShaderInfoLog,"F":_glGetShaderiv,"j":_glGetString,"s":_glGetUniformLocation,"Ub":_glLinkProgram,"Tb":_glPixelStorei,"Sb":_glReadPixels,"Rb":_glShaderSource,"Qb":_glTexImage2D,"g":_glTexParameteri,"Ob":_glUniform1i,"Nb":_glUniform4f,"Mb":_glUniformMatrix4fv,"r":_glUseProgram,"f":_glVertexAttribPointer,"Lb":_glViewport,"E":_glfwCreateWindow,"Kb":_glfwDefaultWindowHints,"Jb":_glfwDestroyWindow,"Hb":_glfwGetCursorPos,"D":_glfwGetPrimaryMonitor,"m":_glfwGetTime,"Gb":_glfwGetVideoModes,"Fb":_glfwInit,"Eb":_glfwMakeContextCurrent,"Db":_glfwSetCharCallback,"Cb":_glfwSetCursorEnterCallback,"Bb":_glfwSetCursorPosCallback,"Ab":_glfwSetDropCallback,"yb":_glfwSetErrorCallback,"xb":_glfwSetKeyCallback,"wb":_glfwSetMouseButtonCallback,"vb":_glfwSetScrollCallback,"ub":_glfwSetWindowIconifyCallback,"tb":_glfwSetWindowShouldClose,"sb":_glfwSetWindowSizeCallback,"rb":_glfwSwapBuffers,"qb":_glfwSwapInterval,"C":_glfwTerminate,"e":_glfwWindowHint,"B":_llvm_stackrestore,"A":_llvm_stacksave,"ob":_nanosleep,"nb":_time,"mb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["he"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ie"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["je"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["ke"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["le"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["we"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["re"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["se"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["ve"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_orthographic_projection.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["_d"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["$d"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"n":___assert_fail,"u":___sys_fcntl64,"Xd":___sys_ioctl,"M":___sys_open,"s":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"V":_emscripten_get_element_css_size,"P":_emscripten_get_gamepad_status,"Q":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"yd":_emscripten_glActiveTexture,"xd":_emscripten_glAttachShader,"Pd":_emscripten_glBeginQueryEXT,"wd":_emscripten_glBindAttribLocation,"vd":_emscripten_glBindBuffer,"ud":_emscripten_glBindFramebuffer,"sd":_emscripten_glBindRenderbuffer,"rd":_emscripten_glBindTexture,"Hd":_emscripten_glBindVertexArrayOES,"qd":_emscripten_glBlendColor,"pd":_emscripten_glBlendEquation,"od":_emscripten_glBlendEquationSeparate,"nd":_emscripten_glBlendFunc,"md":_emscripten_glBlendFuncSeparate,"ld":_emscripten_glBufferData,"kd":_emscripten_glBufferSubData,"jd":_emscripten_glCheckFramebufferStatus,"id":_emscripten_glClear,"hd":_emscripten_glClearColor,"gd":_emscripten_glClearDepthf,"fd":_emscripten_glClearStencil,"ed":_emscripten_glColorMask,"dd":_emscripten_glCompileShader,"cd":_emscripten_glCompressedTexImage2D,"bd":_emscripten_glCompressedTexSubImage2D,"ad":_emscripten_glCopyTexImage2D,"$c":_emscripten_glCopyTexSubImage2D,"_c":_emscripten_glCreateProgram,"Zc":_emscripten_glCreateShader,"Yc":_emscripten_glCullFace,"Xc":_emscripten_glDeleteBuffers,"Wc":_emscripten_glDeleteFramebuffers,"Vc":_emscripten_glDeleteProgram,"Rd":_emscripten_glDeleteQueriesEXT,"Uc":_emscripten_glDeleteRenderbuffers,"Tc":_emscripten_glDeleteShader,"Sc":_emscripten_glDeleteTextures,"Gd":_emscripten_glDeleteVertexArraysOES,"Rc":_emscripten_glDepthFunc,"Qc":_emscripten_glDepthMask,"Pc":_emscripten_glDepthRangef,"Oc":_emscripten_glDetachShader,"Nc":_emscripten_glDisable,"Mc":_emscripten_glDisableVertexAttribArray,"Lc":_emscripten_glDrawArrays,"Bd":_emscripten_glDrawArraysInstancedANGLE,"Cd":_emscripten_glDrawBuffersWEBGL,"Kc":_emscripten_glDrawElements,"Ad":_emscripten_glDrawElementsInstancedANGLE,"Jc":_emscripten_glEnable,"Ic":_emscripten_glEnableVertexAttribArray,"Od":_emscripten_glEndQueryEXT,"Hc":_emscripten_glFinish,"Fc":_emscripten_glFlush,"Ec":_emscripten_glFramebufferRenderbuffer,"Dc":_emscripten_glFramebufferTexture2D,"Cc":_emscripten_glFrontFace,"Bc":_emscripten_glGenBuffers,"zc":_emscripten_glGenFramebuffers,"Sd":_emscripten_glGenQueriesEXT,"yc":_emscripten_glGenRenderbuffers,"xc":_emscripten_glGenTextures,"Fd":_emscripten_glGenVertexArraysOES,"Ac":_emscripten_glGenerateMipmap,"wc":_emscripten_glGetActiveAttrib,"vc":_emscripten_glGetActiveUniform,"uc":_emscripten_glGetAttachedShaders,"tc":_emscripten_glGetAttribLocation,"sc":_emscripten_glGetBooleanv,"rc":_emscripten_glGetBufferParameteriv,"qc":_emscripten_glGetError,"pc":_emscripten_glGetFloatv,"oc":_emscripten_glGetFramebufferAttachmentParameteriv,"nc":_emscripten_glGetIntegerv,"lc":_emscripten_glGetProgramInfoLog,"mc":_emscripten_glGetProgramiv,"Jd":_emscripten_glGetQueryObjecti64vEXT,"Ld":_emscripten_glGetQueryObjectivEXT,"Id":_emscripten_glGetQueryObjectui64vEXT,"Kd":_emscripten_glGetQueryObjectuivEXT,"Md":_emscripten_glGetQueryivEXT,"kc":_emscripten_glGetRenderbufferParameteriv,"ic":_emscripten_glGetShaderInfoLog,"hc":_emscripten_glGetShaderPrecisionFormat,"gc":_emscripten_glGetShaderSource,"jc":_emscripten_glGetShaderiv,"fc":_emscripten_glGetString,"ec":_emscripten_glGetTexParameterfv,"dc":_emscripten_glGetTexParameteriv,"ac":_emscripten_glGetUniformLocation,"cc":_emscripten_glGetUniformfv,"bc":_emscripten_glGetUniformiv,"Zb":_emscripten_glGetVertexAttribPointerv,"$b":_emscripten_glGetVertexAttribfv,"_b":_emscripten_glGetVertexAttribiv,"Yb":_emscripten_glHint,"Xb":_emscripten_glIsBuffer,"Wb":_emscripten_glIsEnabled,"Vb":_emscripten_glIsFramebuffer,"Ub":_emscripten_glIsProgram,"Qd":_emscripten_glIsQueryEXT,"Tb":_emscripten_glIsRenderbuffer,"Sb":_emscripten_glIsShader,"Rb":_emscripten_glIsTexture,"Dd":_emscripten_glIsVertexArrayOES,"Qb":_emscripten_glLineWidth,"Pb":_emscripten_glLinkProgram,"Ob":_emscripten_glPixelStorei,"Nb":_emscripten_glPolygonOffset,"Nd":_emscripten_glQueryCounterEXT,"Mb":_emscripten_glReadPixels,"Lb":_emscripten_glReleaseShaderCompiler,"Kb":_emscripten_glRenderbufferStorage,"Ib":_emscripten_glSampleCoverage,"Hb":_emscripten_glScissor,"Gb":_emscripten_glShaderBinary,"Fb":_emscripten_glShaderSource,"Eb":_emscripten_glStencilFunc,"Db":_emscripten_glStencilFuncSeparate,"Cb":_emscripten_glStencilMask,"Bb":_emscripten_glStencilMaskSeparate,"Ab":_emscripten_glStencilOp,"zb":_emscripten_glStencilOpSeparate,"xb":_emscripten_glTexImage2D,"wb":_emscripten_glTexParameterf,"vb":_emscripten_glTexParameterfv,"ub":_emscripten_glTexParameteri,"tb":_emscripten_glTexParameteriv,"sb":_emscripten_glTexSubImage2D,"rb":_emscripten_glUniform1f,"qb":_emscripten_glUniform1fv,"pb":_emscripten_glUniform1i,"ob":_emscripten_glUniform1iv,"mb":_emscripten_glUniform2f,"lb":_emscripten_glUniform2fv,"kb":_emscripten_glUniform2i,"jb":_emscripten_glUniform2iv,"ib":_emscripten_glUniform3f,"hb":_emscripten_glUniform3fv,"gb":_emscripten_glUniform3i,"fb":_emscripten_glUniform3iv,"eb":_emscripten_glUniform4f,"db":_emscripten_glUniform4fv,"bb":_emscripten_glUniform4i,"ab":_emscripten_glUniform4iv,"$a":_emscripten_glUniformMatrix2fv,"_a":_emscripten_glUniformMatrix3fv,"Za":_emscripten_glUniformMatrix4fv,"Ya":_emscripten_glUseProgram,"Xa":_emscripten_glValidateProgram,"Wa":_emscripten_glVertexAttrib1f,"Va":_emscripten_glVertexAttrib1fv,"Ua":_emscripten_glVertexAttrib2f,"Sa":_emscripten_glVertexAttrib2fv,"Ra":_emscripten_glVertexAttrib3f,"Qa":_emscripten_glVertexAttrib3fv,"Pa":_emscripten_glVertexAttrib4f,"Oa":_emscripten_glVertexAttrib4fv,"zd":_emscripten_glVertexAttribDivisorANGLE,"Na":_emscripten_glVertexAttribPointer,"Ma":_emscripten_glViewport,"Td":_emscripten_memcpy_big,"W":_emscripten_request_pointerlock,"Ud":_emscripten_resize_heap,"w":_emscripten_run_script,"R":_emscripten_sample_gamepad_data,"va":_emscripten_set_click_callback_on_thread,"xa":_emscripten_set_fullscreenchange_callback_on_thread,"qa":_emscripten_set_gamepadconnected_callback_on_thread,"pa":_emscripten_set_gamepaddisconnected_callback_on_thread,"wa":_emscripten_set_keydown_callback_on_thread,"Zd":_emscripten_set_main_loop,"ra":_emscripten_set_touchcancel_callback_on_thread,"ta":_emscripten_set_touchend_callback_on_thread,"sa":_emscripten_set_touchmove_callback_on_thread,"ua":_emscripten_set_touchstart_callback_on_thread,"Vd":_emscripten_thread_sleep,"N":_exit,"v":_fd_close,"Wd":_fd_read,"La":_fd_seek,"K":_fd_write,"L":_glActiveTexture,"A":_glAttachShader,"f":_glBindAttribLocation,"a":_glBindBuffer,"g":_glBindTexture,"yb":_glBlendFunc,"k":_glBufferData,"r":_glBufferSubData,"H":_glClear,"I":_glClearColor,"Ta":_glClearDepthf,"Da":_glCompileShader,"Ha":_glCompressedTexImage2D,"Ba":_glCreateProgram,"Fa":_glCreateShader,"nb":_glCullFace,"i":_glDeleteBuffers,"D":_glDeleteProgram,"E":_glDeleteShader,"G":_glDeleteTextures,"Jb":_glDepthFunc,"F":_glDetachShader,"J":_glDisable,"j":_glDisableVertexAttribArray,"Ed":_glDrawArrays,"td":_glDrawElements,"t":_glEnable,"d":_glEnableVertexAttribArray,"cb":_glFrontFace,"l":_glGenBuffers,"Ja":_glGenTextures,"q":_glGetAttribLocation,"Gc":_glGetFloatv,"ya":_glGetProgramInfoLog,"C":_glGetProgramiv,"Ca":_glGetShaderInfoLog,"B":_glGetShaderiv,"h":_glGetString,"p":_glGetUniformLocation,"za":_glLinkProgram,"Ka":_glPixelStorei,"Ga":_glReadPixels,"Ea":_glShaderSource,"Ia":_glTexImage2D,"m":_glTexParameteri,"S":_glUniform1i,"$":_glUniform4f,"Aa":_glUniformMatrix4fv,"o":_glUseProgram,"e":_glVertexAttribPointer,"Yd":_glViewport,"y":_glfwCreateWindow,"ma":_glfwDefaultWindowHints,"U":_glfwDestroyWindow,"z":_glfwGetPrimaryMonitor,"c":_glfwGetTime,"la":_glfwGetVideoModes,"na":_glfwInit,"aa":_glfwMakeContextCurrent,"fa":_glfwSetCharCallback,"ba":_glfwSetCursorEnterCallback,"da":_glfwSetCursorPosCallback,"ha":_glfwSetDropCallback,"oa":_glfwSetErrorCallback,"ga":_glfwSetKeyCallback,"ea":_glfwSetMouseButtonCallback,"ca":_glfwSetScrollCallback,"ia":_glfwSetWindowFocusCallback,"ja":_glfwSetWindowIconifyCallback,"O":_glfwSetWindowShouldClose,"ka":_glfwSetWindowSizeCallback,"T":_glfwSwapBuffers,"_":_glfwSwapInterval,"x":_glfwTerminate,"b":_glfwWindowHint,"Z":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["ae"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["be"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ce"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["de"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["ee"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["fe"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ge"]).apply(null,arguments)};var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_orthographic_projection.wasm b/examples/web/models/models_orthographic_projection.wasm index 5bf8d01..1c4326a 100644 Binary files a/examples/web/models/models_orthographic_projection.wasm and b/examples/web/models/models_orthographic_projection.wasm differ diff --git a/examples/web/models/models_rlgl_solar_system.c b/examples/web/models/models_rlgl_solar_system.c index 9883857..8157e07 100644 --- a/examples/web/models/models_rlgl_solar_system.c +++ b/examples/web/models/models_rlgl_solar_system.c @@ -67,7 +67,7 @@ int main(void) SetCameraMode(camera, CAMERA_FREE); #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_rlgl_solar_system.html b/examples/web/models/models_rlgl_solar_system.html index 49596ea..c53de9c 100644 --- a/examples/web/models/models_rlgl_solar_system.html +++ b/examples/web/models/models_rlgl_solar_system.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_rlgl_solar_system.js b/examples/web/models/models_rlgl_solar_system.js index dbe71c6..3cfe680 100644 --- a/examples/web/models/models_rlgl_solar_system.js +++ b/examples/web/models/models_rlgl_solar_system.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5276960,DYNAMICTOP_PTR=34048;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_rlgl_solar_system.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"c":abort,"b":___assert_fail,"oc":___lock,"z":___setErrNo,"$a":___syscall140,"Qa":___syscall145,"l":___syscall221,"va":___syscall5,"ka":___syscall54,"y":___syscall6,"x":___unlock,"_d":___wasi_fd_write,"w":_eglGetProcAddress,"R":_emscripten_exit_pointerlock,"vd":_emscripten_get_element_css_size,"kd":_emscripten_get_gamepad_status,"$c":_emscripten_get_heap_size,"Qc":_emscripten_get_num_gamepads,"Q":_emscripten_get_pointerlock_status,"wc":_emscripten_glActiveTexture,"nc":_emscripten_glAttachShader,"hc":_emscripten_glBeginQueryEXT,"dc":_emscripten_glBindAttribLocation,"Yb":_emscripten_glBindBuffer,"Rb":_emscripten_glBindFramebuffer,"Kb":_emscripten_glBindRenderbuffer,"Bb":_emscripten_glBindTexture,"qb":_emscripten_glBindVertexArrayOES,"lb":_emscripten_glBlendColor,"kb":_emscripten_glBlendEquation,"jb":_emscripten_glBlendEquationSeparate,"ib":_emscripten_glBlendFunc,"hb":_emscripten_glBlendFuncSeparate,"gb":_emscripten_glBufferData,"fb":_emscripten_glBufferSubData,"eb":_emscripten_glCheckFramebufferStatus,"db":_emscripten_glClear,"cb":_emscripten_glClearColor,"bb":_emscripten_glClearDepthf,"ab":_emscripten_glClearStencil,"_a":_emscripten_glColorMask,"Za":_emscripten_glCompileShader,"Ya":_emscripten_glCompressedTexImage2D,"Xa":_emscripten_glCompressedTexSubImage2D,"Wa":_emscripten_glCopyTexImage2D,"Va":_emscripten_glCopyTexSubImage2D,"Ua":_emscripten_glCreateProgram,"Ta":_emscripten_glCreateShader,"Sa":_emscripten_glCullFace,"Ra":_emscripten_glDeleteBuffers,"Pa":_emscripten_glDeleteFramebuffers,"Oa":_emscripten_glDeleteProgram,"Na":_emscripten_glDeleteQueriesEXT,"Ma":_emscripten_glDeleteRenderbuffers,"La":_emscripten_glDeleteShader,"Ka":_emscripten_glDeleteTextures,"Ja":_emscripten_glDeleteVertexArraysOES,"Ia":_emscripten_glDepthFunc,"Ha":_emscripten_glDepthMask,"Ga":_emscripten_glDepthRangef,"Fa":_emscripten_glDetachShader,"Ea":_emscripten_glDisable,"Da":_emscripten_glDisableVertexAttribArray,"Ca":_emscripten_glDrawArrays,"Ba":_emscripten_glDrawArraysInstancedANGLE,"Aa":_emscripten_glDrawBuffersWEBGL,"za":_emscripten_glDrawElements,"ya":_emscripten_glDrawElementsInstancedANGLE,"xa":_emscripten_glEnable,"wa":_emscripten_glEnableVertexAttribArray,"ua":_emscripten_glEndQueryEXT,"ta":_emscripten_glFinish,"sa":_emscripten_glFlush,"ra":_emscripten_glFramebufferRenderbuffer,"qa":_emscripten_glFramebufferTexture2D,"pa":_emscripten_glFrontFace,"oa":_emscripten_glGenBuffers,"na":_emscripten_glGenFramebuffers,"ma":_emscripten_glGenQueriesEXT,"la":_emscripten_glGenRenderbuffers,"ja":_emscripten_glGenTextures,"ia":_emscripten_glGenVertexArraysOES,"ha":_emscripten_glGenerateMipmap,"ga":_emscripten_glGetActiveAttrib,"fa":_emscripten_glGetActiveUniform,"ea":_emscripten_glGetAttachedShaders,"da":_emscripten_glGetAttribLocation,"ca":_emscripten_glGetBooleanv,"ba":_emscripten_glGetBufferParameteriv,"aa":_emscripten_glGetError,"$":_emscripten_glGetFloatv,"_":_emscripten_glGetFramebufferAttachmentParameteriv,"Z":_emscripten_glGetIntegerv,"Y":_emscripten_glGetProgramInfoLog,"X":_emscripten_glGetProgramiv,"W":_emscripten_glGetQueryObjecti64vEXT,"V":_emscripten_glGetQueryObjectivEXT,"U":_emscripten_glGetQueryObjectui64vEXT,"T":_emscripten_glGetQueryObjectuivEXT,"S":_emscripten_glGetQueryivEXT,"ie":_emscripten_glGetRenderbufferParameteriv,"he":_emscripten_glGetShaderInfoLog,"ge":_emscripten_glGetShaderPrecisionFormat,"fe":_emscripten_glGetShaderSource,"ee":_emscripten_glGetShaderiv,"de":_emscripten_glGetString,"ce":_emscripten_glGetTexParameterfv,"be":_emscripten_glGetTexParameteriv,"ae":_emscripten_glGetUniformLocation,"$d":_emscripten_glGetUniformfv,"Zd":_emscripten_glGetUniformiv,"Yd":_emscripten_glGetVertexAttribPointerv,"Xd":_emscripten_glGetVertexAttribfv,"Wd":_emscripten_glGetVertexAttribiv,"Vd":_emscripten_glHint,"Ud":_emscripten_glIsBuffer,"Td":_emscripten_glIsEnabled,"Sd":_emscripten_glIsFramebuffer,"Rd":_emscripten_glIsProgram,"Qd":_emscripten_glIsQueryEXT,"Pd":_emscripten_glIsRenderbuffer,"Od":_emscripten_glIsShader,"Nd":_emscripten_glIsTexture,"Md":_emscripten_glIsVertexArrayOES,"Ld":_emscripten_glLineWidth,"Kd":_emscripten_glLinkProgram,"Jd":_emscripten_glPixelStorei,"Id":_emscripten_glPolygonOffset,"Hd":_emscripten_glQueryCounterEXT,"Gd":_emscripten_glReadPixels,"Fd":_emscripten_glReleaseShaderCompiler,"Ed":_emscripten_glRenderbufferStorage,"Dd":_emscripten_glSampleCoverage,"Cd":_emscripten_glScissor,"Bd":_emscripten_glShaderBinary,"Ad":_emscripten_glShaderSource,"zd":_emscripten_glStencilFunc,"yd":_emscripten_glStencilFuncSeparate,"xd":_emscripten_glStencilMask,"wd":_emscripten_glStencilMaskSeparate,"ud":_emscripten_glStencilOp,"td":_emscripten_glStencilOpSeparate,"sd":_emscripten_glTexImage2D,"rd":_emscripten_glTexParameterf,"qd":_emscripten_glTexParameterfv,"pd":_emscripten_glTexParameteri,"od":_emscripten_glTexParameteriv,"nd":_emscripten_glTexSubImage2D,"md":_emscripten_glUniform1f,"ld":_emscripten_glUniform1fv,"jd":_emscripten_glUniform1i,"id":_emscripten_glUniform1iv,"hd":_emscripten_glUniform2f,"gd":_emscripten_glUniform2fv,"fd":_emscripten_glUniform2i,"ed":_emscripten_glUniform2iv,"dd":_emscripten_glUniform3f,"cd":_emscripten_glUniform3fv,"bd":_emscripten_glUniform3i,"ad":_emscripten_glUniform3iv,"_c":_emscripten_glUniform4f,"Zc":_emscripten_glUniform4fv,"Yc":_emscripten_glUniform4i,"Xc":_emscripten_glUniform4iv,"Wc":_emscripten_glUniformMatrix2fv,"Vc":_emscripten_glUniformMatrix3fv,"Uc":_emscripten_glUniformMatrix4fv,"Tc":_emscripten_glUseProgram,"Sc":_emscripten_glValidateProgram,"Rc":_emscripten_glVertexAttrib1f,"Pc":_emscripten_glVertexAttrib1fv,"Oc":_emscripten_glVertexAttrib2f,"Nc":_emscripten_glVertexAttrib2fv,"Mc":_emscripten_glVertexAttrib3f,"Lc":_emscripten_glVertexAttrib3fv,"Kc":_emscripten_glVertexAttrib4f,"Jc":_emscripten_glVertexAttrib4fv,"Ic":_emscripten_glVertexAttribDivisorANGLE,"Hc":_emscripten_glVertexAttribPointer,"Gc":_emscripten_glViewport,"Fc":_emscripten_memcpy_big,"Ec":_emscripten_request_pointerlock,"Dc":_emscripten_resize_heap,"P":_emscripten_run_script,"Cc":_emscripten_sample_gamepad_data,"Bc":_emscripten_set_click_callback_on_thread,"Ac":_emscripten_set_fullscreenchange_callback_on_thread,"zc":_emscripten_set_gamepadconnected_callback_on_thread,"yc":_emscripten_set_gamepaddisconnected_callback_on_thread,"xc":_emscripten_set_keypress_callback_on_thread,"vc":_emscripten_set_main_loop,"uc":_emscripten_set_touchcancel_callback_on_thread,"tc":_emscripten_set_touchend_callback_on_thread,"sc":_emscripten_set_touchmove_callback_on_thread,"rc":_emscripten_set_touchstart_callback_on_thread,"qc":_exit,"pc":_glActiveTexture,"O":_glAttachShader,"i":_glBindAttribLocation,"d":_glBindBuffer,"k":_glBindTexture,"mc":_glBlendFunc,"q":_glBufferData,"v":_glBufferSubData,"N":_glClear,"M":_glClearColor,"lc":_glClearDepthf,"kc":_glCompileShader,"jc":_glCompressedTexImage2D,"ic":_glCreateProgram,"gc":_glCreateShader,"fc":_glCullFace,"p":_glDeleteBuffers,"L":_glDeleteProgram,"K":_glDeleteShader,"J":_glDeleteTextures,"ec":_glDepthFunc,"I":_glDetachShader,"H":_glDisable,"o":_glDisableVertexAttribArray,"cc":_glDrawArrays,"bc":_glDrawElements,"u":_glEnable,"h":_glEnableVertexAttribArray,"ac":_glFrontFace,"n":_glGenBuffers,"$b":_glGenTextures,"t":_glGetAttribLocation,"_b":_glGetFloatv,"Zb":_glGetProgramInfoLog,"G":_glGetProgramiv,"Xb":_glGetShaderInfoLog,"F":_glGetShaderiv,"j":_glGetString,"s":_glGetUniformLocation,"Wb":_glLinkProgram,"Vb":_glPixelStorei,"Ub":_glReadPixels,"Tb":_glShaderSource,"Sb":_glTexImage2D,"g":_glTexParameteri,"Qb":_glUniform1i,"Pb":_glUniform4f,"Ob":_glUniformMatrix4fv,"r":_glUseProgram,"f":_glVertexAttribPointer,"Nb":_glViewport,"E":_glfwCreateWindow,"Mb":_glfwDefaultWindowHints,"Lb":_glfwDestroyWindow,"Jb":_glfwGetCursorPos,"Ib":_glfwGetKey,"Hb":_glfwGetMouseButton,"D":_glfwGetPrimaryMonitor,"m":_glfwGetTime,"Gb":_glfwGetVideoModes,"Fb":_glfwInit,"Eb":_glfwMakeContextCurrent,"Db":_glfwSetCharCallback,"Cb":_glfwSetCursorEnterCallback,"Ab":_glfwSetCursorPosCallback,"zb":_glfwSetDropCallback,"yb":_glfwSetErrorCallback,"xb":_glfwSetKeyCallback,"wb":_glfwSetMouseButtonCallback,"vb":_glfwSetScrollCallback,"ub":_glfwSetWindowIconifyCallback,"tb":_glfwSetWindowShouldClose,"sb":_glfwSetWindowSizeCallback,"rb":_glfwSwapBuffers,"pb":_glfwSwapInterval,"C":_glfwTerminate,"e":_glfwWindowHint,"B":_llvm_stackrestore,"A":_llvm_stacksave,"ob":_nanosleep,"nb":_time,"mb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["je"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ke"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["le"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["re"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["se"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["ve"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["we"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["xe"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_rlgl_solar_system.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["_d"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["$d"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"n":___assert_fail,"u":___sys_fcntl64,"Xd":___sys_ioctl,"M":___sys_open,"s":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"V":_emscripten_get_element_css_size,"P":_emscripten_get_gamepad_status,"Q":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"yd":_emscripten_glActiveTexture,"xd":_emscripten_glAttachShader,"Pd":_emscripten_glBeginQueryEXT,"wd":_emscripten_glBindAttribLocation,"vd":_emscripten_glBindBuffer,"ud":_emscripten_glBindFramebuffer,"sd":_emscripten_glBindRenderbuffer,"rd":_emscripten_glBindTexture,"Hd":_emscripten_glBindVertexArrayOES,"qd":_emscripten_glBlendColor,"pd":_emscripten_glBlendEquation,"od":_emscripten_glBlendEquationSeparate,"nd":_emscripten_glBlendFunc,"md":_emscripten_glBlendFuncSeparate,"ld":_emscripten_glBufferData,"kd":_emscripten_glBufferSubData,"jd":_emscripten_glCheckFramebufferStatus,"id":_emscripten_glClear,"hd":_emscripten_glClearColor,"gd":_emscripten_glClearDepthf,"fd":_emscripten_glClearStencil,"ed":_emscripten_glColorMask,"dd":_emscripten_glCompileShader,"cd":_emscripten_glCompressedTexImage2D,"bd":_emscripten_glCompressedTexSubImage2D,"ad":_emscripten_glCopyTexImage2D,"$c":_emscripten_glCopyTexSubImage2D,"_c":_emscripten_glCreateProgram,"Zc":_emscripten_glCreateShader,"Yc":_emscripten_glCullFace,"Xc":_emscripten_glDeleteBuffers,"Wc":_emscripten_glDeleteFramebuffers,"Vc":_emscripten_glDeleteProgram,"Rd":_emscripten_glDeleteQueriesEXT,"Uc":_emscripten_glDeleteRenderbuffers,"Tc":_emscripten_glDeleteShader,"Sc":_emscripten_glDeleteTextures,"Gd":_emscripten_glDeleteVertexArraysOES,"Rc":_emscripten_glDepthFunc,"Qc":_emscripten_glDepthMask,"Pc":_emscripten_glDepthRangef,"Oc":_emscripten_glDetachShader,"Nc":_emscripten_glDisable,"Mc":_emscripten_glDisableVertexAttribArray,"Lc":_emscripten_glDrawArrays,"Bd":_emscripten_glDrawArraysInstancedANGLE,"Cd":_emscripten_glDrawBuffersWEBGL,"Kc":_emscripten_glDrawElements,"Ad":_emscripten_glDrawElementsInstancedANGLE,"Jc":_emscripten_glEnable,"Ic":_emscripten_glEnableVertexAttribArray,"Od":_emscripten_glEndQueryEXT,"Hc":_emscripten_glFinish,"Fc":_emscripten_glFlush,"Ec":_emscripten_glFramebufferRenderbuffer,"Dc":_emscripten_glFramebufferTexture2D,"Cc":_emscripten_glFrontFace,"Bc":_emscripten_glGenBuffers,"zc":_emscripten_glGenFramebuffers,"Sd":_emscripten_glGenQueriesEXT,"yc":_emscripten_glGenRenderbuffers,"xc":_emscripten_glGenTextures,"Fd":_emscripten_glGenVertexArraysOES,"Ac":_emscripten_glGenerateMipmap,"wc":_emscripten_glGetActiveAttrib,"vc":_emscripten_glGetActiveUniform,"uc":_emscripten_glGetAttachedShaders,"tc":_emscripten_glGetAttribLocation,"sc":_emscripten_glGetBooleanv,"rc":_emscripten_glGetBufferParameteriv,"qc":_emscripten_glGetError,"pc":_emscripten_glGetFloatv,"oc":_emscripten_glGetFramebufferAttachmentParameteriv,"nc":_emscripten_glGetIntegerv,"lc":_emscripten_glGetProgramInfoLog,"mc":_emscripten_glGetProgramiv,"Jd":_emscripten_glGetQueryObjecti64vEXT,"Ld":_emscripten_glGetQueryObjectivEXT,"Id":_emscripten_glGetQueryObjectui64vEXT,"Kd":_emscripten_glGetQueryObjectuivEXT,"Md":_emscripten_glGetQueryivEXT,"kc":_emscripten_glGetRenderbufferParameteriv,"ic":_emscripten_glGetShaderInfoLog,"hc":_emscripten_glGetShaderPrecisionFormat,"gc":_emscripten_glGetShaderSource,"jc":_emscripten_glGetShaderiv,"fc":_emscripten_glGetString,"ec":_emscripten_glGetTexParameterfv,"dc":_emscripten_glGetTexParameteriv,"ac":_emscripten_glGetUniformLocation,"cc":_emscripten_glGetUniformfv,"bc":_emscripten_glGetUniformiv,"Zb":_emscripten_glGetVertexAttribPointerv,"$b":_emscripten_glGetVertexAttribfv,"_b":_emscripten_glGetVertexAttribiv,"Yb":_emscripten_glHint,"Xb":_emscripten_glIsBuffer,"Wb":_emscripten_glIsEnabled,"Vb":_emscripten_glIsFramebuffer,"Ub":_emscripten_glIsProgram,"Qd":_emscripten_glIsQueryEXT,"Tb":_emscripten_glIsRenderbuffer,"Sb":_emscripten_glIsShader,"Rb":_emscripten_glIsTexture,"Dd":_emscripten_glIsVertexArrayOES,"Qb":_emscripten_glLineWidth,"Pb":_emscripten_glLinkProgram,"Ob":_emscripten_glPixelStorei,"Nb":_emscripten_glPolygonOffset,"Nd":_emscripten_glQueryCounterEXT,"Mb":_emscripten_glReadPixels,"Lb":_emscripten_glReleaseShaderCompiler,"Kb":_emscripten_glRenderbufferStorage,"Ib":_emscripten_glSampleCoverage,"Hb":_emscripten_glScissor,"Gb":_emscripten_glShaderBinary,"Fb":_emscripten_glShaderSource,"Eb":_emscripten_glStencilFunc,"Db":_emscripten_glStencilFuncSeparate,"Cb":_emscripten_glStencilMask,"Bb":_emscripten_glStencilMaskSeparate,"Ab":_emscripten_glStencilOp,"zb":_emscripten_glStencilOpSeparate,"xb":_emscripten_glTexImage2D,"wb":_emscripten_glTexParameterf,"vb":_emscripten_glTexParameterfv,"ub":_emscripten_glTexParameteri,"tb":_emscripten_glTexParameteriv,"sb":_emscripten_glTexSubImage2D,"rb":_emscripten_glUniform1f,"qb":_emscripten_glUniform1fv,"pb":_emscripten_glUniform1i,"ob":_emscripten_glUniform1iv,"mb":_emscripten_glUniform2f,"lb":_emscripten_glUniform2fv,"kb":_emscripten_glUniform2i,"jb":_emscripten_glUniform2iv,"ib":_emscripten_glUniform3f,"hb":_emscripten_glUniform3fv,"gb":_emscripten_glUniform3i,"fb":_emscripten_glUniform3iv,"eb":_emscripten_glUniform4f,"db":_emscripten_glUniform4fv,"bb":_emscripten_glUniform4i,"ab":_emscripten_glUniform4iv,"$a":_emscripten_glUniformMatrix2fv,"_a":_emscripten_glUniformMatrix3fv,"Za":_emscripten_glUniformMatrix4fv,"Ya":_emscripten_glUseProgram,"Xa":_emscripten_glValidateProgram,"Wa":_emscripten_glVertexAttrib1f,"Va":_emscripten_glVertexAttrib1fv,"Ua":_emscripten_glVertexAttrib2f,"Sa":_emscripten_glVertexAttrib2fv,"Ra":_emscripten_glVertexAttrib3f,"Qa":_emscripten_glVertexAttrib3fv,"Pa":_emscripten_glVertexAttrib4f,"Oa":_emscripten_glVertexAttrib4fv,"zd":_emscripten_glVertexAttribDivisorANGLE,"Na":_emscripten_glVertexAttribPointer,"Ma":_emscripten_glViewport,"Td":_emscripten_memcpy_big,"W":_emscripten_request_pointerlock,"Ud":_emscripten_resize_heap,"w":_emscripten_run_script,"R":_emscripten_sample_gamepad_data,"va":_emscripten_set_click_callback_on_thread,"xa":_emscripten_set_fullscreenchange_callback_on_thread,"qa":_emscripten_set_gamepadconnected_callback_on_thread,"pa":_emscripten_set_gamepaddisconnected_callback_on_thread,"wa":_emscripten_set_keydown_callback_on_thread,"Zd":_emscripten_set_main_loop,"ra":_emscripten_set_touchcancel_callback_on_thread,"ta":_emscripten_set_touchend_callback_on_thread,"sa":_emscripten_set_touchmove_callback_on_thread,"ua":_emscripten_set_touchstart_callback_on_thread,"Vd":_emscripten_thread_sleep,"N":_exit,"v":_fd_close,"Wd":_fd_read,"La":_fd_seek,"K":_fd_write,"L":_glActiveTexture,"A":_glAttachShader,"f":_glBindAttribLocation,"a":_glBindBuffer,"g":_glBindTexture,"yb":_glBlendFunc,"k":_glBufferData,"r":_glBufferSubData,"H":_glClear,"I":_glClearColor,"Ta":_glClearDepthf,"Da":_glCompileShader,"Ha":_glCompressedTexImage2D,"Ba":_glCreateProgram,"Fa":_glCreateShader,"nb":_glCullFace,"i":_glDeleteBuffers,"D":_glDeleteProgram,"E":_glDeleteShader,"G":_glDeleteTextures,"Jb":_glDepthFunc,"F":_glDetachShader,"J":_glDisable,"j":_glDisableVertexAttribArray,"Ed":_glDrawArrays,"td":_glDrawElements,"t":_glEnable,"d":_glEnableVertexAttribArray,"cb":_glFrontFace,"l":_glGenBuffers,"Ja":_glGenTextures,"q":_glGetAttribLocation,"Gc":_glGetFloatv,"ya":_glGetProgramInfoLog,"C":_glGetProgramiv,"Ca":_glGetShaderInfoLog,"B":_glGetShaderiv,"h":_glGetString,"p":_glGetUniformLocation,"za":_glLinkProgram,"Ka":_glPixelStorei,"Ga":_glReadPixels,"Ea":_glShaderSource,"Ia":_glTexImage2D,"m":_glTexParameteri,"S":_glUniform1i,"$":_glUniform4f,"Aa":_glUniformMatrix4fv,"o":_glUseProgram,"e":_glVertexAttribPointer,"Yd":_glViewport,"y":_glfwCreateWindow,"ma":_glfwDefaultWindowHints,"U":_glfwDestroyWindow,"z":_glfwGetPrimaryMonitor,"c":_glfwGetTime,"la":_glfwGetVideoModes,"na":_glfwInit,"aa":_glfwMakeContextCurrent,"fa":_glfwSetCharCallback,"ba":_glfwSetCursorEnterCallback,"da":_glfwSetCursorPosCallback,"ha":_glfwSetDropCallback,"oa":_glfwSetErrorCallback,"ga":_glfwSetKeyCallback,"ea":_glfwSetMouseButtonCallback,"ca":_glfwSetScrollCallback,"ia":_glfwSetWindowFocusCallback,"ja":_glfwSetWindowIconifyCallback,"O":_glfwSetWindowShouldClose,"ka":_glfwSetWindowSizeCallback,"T":_glfwSwapBuffers,"_":_glfwSwapInterval,"x":_glfwTerminate,"b":_glfwWindowHint,"Z":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["ae"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["be"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ce"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["de"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["ee"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["fe"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ge"]).apply(null,arguments)};var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_rlgl_solar_system.wasm b/examples/web/models/models_rlgl_solar_system.wasm index f696bda..19a8c0c 100644 Binary files a/examples/web/models/models_rlgl_solar_system.wasm and b/examples/web/models/models_rlgl_solar_system.wasm differ diff --git a/examples/web/models/models_skybox.c b/examples/web/models/models_skybox.c index 28a89d4..e6727e3 100644 --- a/examples/web/models/models_skybox.c +++ b/examples/web/models/models_skybox.c @@ -25,6 +25,10 @@ const int screenHeight = 450; Camera camera = {{ 1.0f, 1.0f, 1.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 45.0f }; Model skybox = { 0 }; +Shader shdrCubemap = { 0 }; +Texture2D panorama = { 0 }; + +char panoFileName[256] = { 0 }; //---------------------------------------------------------------------------------- // Module Functions Declaration @@ -46,22 +50,38 @@ int main(void) // Load skybox shader and set required locations // NOTE: Some locations are automatically set at shader loading - skybox.material.shader = LoadShader("resources/shaders/skybox.vs", "resources/shaders/skybox.fs"); - SetShaderValuei(skybox.material.shader, GetShaderLocation(skybox.material.shader, "environmentMap"), (int[1]){ MAP_CUBEMAP }, 1); +#if defined(PLATFORM_DESKTOP) + skybox.materials[0].shader = LoadShader("resources/shaders/glsl330/skybox.vs", "resources/shaders/glsl330/skybox.fs"); +#else // PLATFORM_RPI, PLATFORM_ANDROID, PLATFORM_WEB + skybox.materials[0].shader = LoadShader("resources/shaders/glsl100/skybox.vs", "resources/shaders/glsl100/skybox.fs"); +#endif + SetShaderValue(skybox.materials[0].shader, GetShaderLocation(skybox.materials[0].shader, "environmentMap"), (int[1]){ MAP_CUBEMAP }, UNIFORM_INT); + SetShaderValue(skybox.materials[0].shader, GetShaderLocation(skybox.materials[0].shader, "vflipped"), (int[1]){ 1 }, UNIFORM_INT); // Load cubemap shader and setup required shader locations - Shader shdrCubemap = LoadShader("resources/shaders/cubemap.vs", "resources/shaders/cubemap.fs"); - SetShaderValuei(shdrCubemap, GetShaderLocation(shdrCubemap, "equirectangularMap"), (int[1]){ 0 }, 1); +#if defined(PLATFORM_DESKTOP) + shdrCubemap = LoadShader("resources/shaders/glsl330/cubemap.vs", "resources/shaders/glsl330/cubemap.fs"); +#else // PLATFORM_RPI, PLATFORM_ANDROID, PLATFORM_WEB + shdrCubemap = LoadShader("resources/shaders/glsl100/cubemap.vs", "resources/shaders/glsl100/cubemap.fs"); +#endif + SetShaderValue(shdrCubemap, GetShaderLocation(shdrCubemap, "equirectangularMap"), (int[1]){ 0 }, UNIFORM_INT); - Texture2D texHDR = LoadTexture("resources/pinetree.hdr"); - skybox.material.maps[MAP_CUBEMAP].texture = GenTextureCubemap(shdrCubemap, texHDR, 512); + // Load HDR panorama (sphere) texture + TextCopy(panoFileName, "resources/dresden_square_2k.hdr"); + panorama = LoadTexture(panoFileName); - UnloadShader(shdrCubemap); // Cubemap generation shader not required any more + // Generate cubemap (texture with 6 quads-cube-mapping) from panorama HDR texture + // NOTE 1: New texture is generated rendering to texture, shader calculates the sphere->cube coordinates mapping + // NOTE 2: It seems on some Android devices WebGL, fbo does not properly support a FLOAT-based attachment, + // despite texture can be successfully created.. so using UNCOMPRESSED_R8G8B8A8 instead of UNCOMPRESSED_R32G32B32A32 + skybox.materials[0].maps[MAP_CUBEMAP].texture = GenTextureCubemap(shdrCubemap, panorama, 1024, UNCOMPRESSED_R8G8B8A8); - SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode + UnloadTexture(panorama); // Texture not required anymore, cubemap already generated + + SetCameraMode(camera, CAMERA_FIRST_PERSON); // Set a first person camera mode #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- @@ -91,6 +111,30 @@ void UpdateDrawFrame(void) // Update //---------------------------------------------------------------------------------- UpdateCamera(&camera); // Update camera + + // Load new cubemap texture on drag&drop + if (IsFileDropped()) + { + int count = 0; + char **droppedFiles = GetDroppedFiles(&count); + + if (count == 1) // Only support one file dropped + { + if (IsFileExtension(droppedFiles[0], ".png;.jpg;.hdr;.bmp;.tga")) + { + // Unload current cubemap texture and load new one + UnloadTexture(skybox.materials[0].maps[MAP_CUBEMAP].texture); + panorama = LoadTexture(droppedFiles[0]); + TextCopy(panoFileName, droppedFiles[0]); + + // Generate cubemap from panorama texture + skybox.materials[0].maps[MAP_CUBEMAP].texture = GenTextureCubemap(shdrCubemap, panorama, 1024, UNCOMPRESSED_R8G8B8A8); + UnloadTexture(panorama); + } + } + + ClearDroppedFiles(); // Clear internal buffers + } //---------------------------------------------------------------------------------- // Draw @@ -100,13 +144,11 @@ void UpdateDrawFrame(void) ClearBackground(RAYWHITE); BeginMode3D(camera); - - DrawModel(skybox, Vector3Zero(), 1.0f, WHITE); - + DrawModel(skybox, (Vector3){0, 0, 0}, 1.0f, WHITE); DrawGrid(10, 1.0f); - EndMode3D(); + DrawText(TextFormat("Panorama image from hdrihaven.com: %s", GetFileName(panoFileName)), 10, GetScreenHeight() - 20, 10, BLACK); DrawFPS(10, 10); EndDrawing(); diff --git a/examples/web/models/models_skybox.data b/examples/web/models/models_skybox.data index 10bed2d..7507cfc 100644 Binary files a/examples/web/models/models_skybox.data and b/examples/web/models/models_skybox.data differ diff --git a/examples/web/models/models_skybox.js b/examples/web/models/models_skybox.js index 1b7a65c..0a996f2 100644 --- a/examples/web/models/models_skybox.js +++ b/examples/web/models/models_skybox.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_skybox.data";var REMOTE_PACKAGE_BASE="models_skybox.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);Module["FS_createPath"]("/resources","shaders",true,true);Module["FS_createPath"]("/resources/shaders","glsl100",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=Number(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":195,"maximum":195,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=2;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_skybox.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return Promise.resolve().then(getBinary)}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;exports=Asyncify.instrumentWasmExports(exports);Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);exports=Asyncify.instrumentWasmExports(exports);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){getDynCaller("v",func)()}else{getDynCaller("vi",func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function dynCallLegacy(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}return Module["dynCall_"+sig].call(null,ptr)}function dynCall(sig,ptr,args){return dynCallLegacy(sig,ptr,args)}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","EXT_texture_norm16","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2","WEBKIT_WEBGL_compressed_texture_pvrtc"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(getDynCaller("iiii",callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(getDynCaller("iiii",callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(getDynCaller("iiii",callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(getDynCaller("iiii",callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(getDynCaller("iiii",callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_sleep(ms){Asyncify.handleSleep(function(wakeUp){Browser.safeSetTimeout(wakeUp,ms)})}function _exit(status){exit(status)}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;getDynCaller("vii",GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;getDynCaller("viiiii",GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;getDynCaller("vii",GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;getDynCaller("vii",GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}getDynCaller("vidd",GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;getDynCaller("viii",GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;getDynCaller("viii",GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;getDynCaller("viii",win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)getDynCaller("vi",win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){setErrNo(28);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function _setTempRet0($i){setTempRet0($i|0)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function runAndAbortIfError(func){try{return func()}catch(e){abort(e)}}var Asyncify={State:{Normal:0,Unwinding:1,Rewinding:2},state:0,StackSize:4096,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,afterUnwind:null,asyncFinalizers:[],sleepCallbacks:[],getCallStackId:function(funcName){var id=Asyncify.callStackNameToId[funcName];if(id===undefined){id=Asyncify.callStackId++;Asyncify.callStackNameToId[funcName]=id;Asyncify.callStackIdToName[id]=funcName}return id},instrumentWasmExports:function(exports){var ret={};for(var x in exports){(function(x){var original=exports[x];if(typeof original==="function"){ret[x]=function(){Asyncify.exportCallStack.push(x);try{return original.apply(null,arguments)}finally{if(ABORT)return;var y=Asyncify.exportCallStack.pop();assert(y===x);Asyncify.maybeStopUnwind()}}}else{ret[x]=original}})(x)}return ret},maybeStopUnwind:function(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(Module["_asyncify_stop_unwind"]);if(typeof Fibers!=="undefined"){Fibers.trampoline()}if(Asyncify.afterUnwind){Asyncify.afterUnwind();Asyncify.afterUnwind=null}}},allocateData:function(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader:function(ptr,stack,stackSize){HEAP32[ptr>>2]=stack;HEAP32[ptr+4>>2]=stack+stackSize},setDataRewindFunc:function(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>2]=rewindId},getDataRewindFunc:function(ptr){var id=HEAP32[ptr+8>>2];var name=Asyncify.callStackIdToName[id];var func=Module["asm"][name];return func},handleSleep:function(startAsync){if(ABORT)return;noExitRuntime=true;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync(function(handleSleepReturnValue){if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue||0;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(function(){Module["_asyncify_start_rewind"](Asyncify.currData)});if(typeof Browser!=="undefined"&&Browser.mainLoop.func){Browser.mainLoop.resume()}var start=Asyncify.getDataRewindFunc(Asyncify.currData);var asyncWasmReturnValue=start();if(!Asyncify.currData){var asyncFinalizers=Asyncify.asyncFinalizers;Asyncify.asyncFinalizers=[];asyncFinalizers.forEach(function(func){func(asyncWasmReturnValue)})}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();runAndAbortIfError(function(){Module["_asyncify_start_unwind"](Asyncify.currData)});if(typeof Browser!=="undefined"&&Browser.mainLoop.func){Browser.mainLoop.pause()}}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(Module["_asyncify_stop_rewind"]);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(function(func){func()})}else{abort("invalid state: "+Asyncify.state)}return Asyncify.handleSleepReturnValue},handleAsync:function(startAsync){return Asyncify.handleSleep(function(wakeUp){startAsync().then(wakeUp)})}};var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"d":___assert_fail,"b":wasmTable,"X":___sys_fcntl64,"ce":___sys_ioctl,"de":___sys_open,"J":_eglGetProcAddress,"$":_emscripten_exit_pointerlock,"oe":_emscripten_get_element_css_size,"ie":_emscripten_get_gamepad_status,"je":_emscripten_get_num_gamepads,"_":_emscripten_get_pointerlock_status,"Hd":_emscripten_glActiveTexture,"Gd":_emscripten_glAttachShader,"Xd":_emscripten_glBeginQueryEXT,"Fd":_emscripten_glBindAttribLocation,"Ed":_emscripten_glBindBuffer,"Dd":_emscripten_glBindFramebuffer,"Cd":_emscripten_glBindRenderbuffer,"Bd":_emscripten_glBindTexture,"Pd":_emscripten_glBindVertexArrayOES,"Ad":_emscripten_glBlendColor,"zd":_emscripten_glBlendEquation,"yd":_emscripten_glBlendEquationSeparate,"xd":_emscripten_glBlendFunc,"wd":_emscripten_glBlendFuncSeparate,"vd":_emscripten_glBufferData,"ud":_emscripten_glBufferSubData,"td":_emscripten_glCheckFramebufferStatus,"sd":_emscripten_glClear,"rd":_emscripten_glClearColor,"qd":_emscripten_glClearDepthf,"pd":_emscripten_glClearStencil,"nd":_emscripten_glColorMask,"md":_emscripten_glCompileShader,"ld":_emscripten_glCompressedTexImage2D,"kd":_emscripten_glCompressedTexSubImage2D,"jd":_emscripten_glCopyTexImage2D,"id":_emscripten_glCopyTexSubImage2D,"hd":_emscripten_glCreateProgram,"gd":_emscripten_glCreateShader,"fd":_emscripten_glCullFace,"ed":_emscripten_glDeleteBuffers,"cd":_emscripten_glDeleteFramebuffers,"bd":_emscripten_glDeleteProgram,"Zd":_emscripten_glDeleteQueriesEXT,"ad":_emscripten_glDeleteRenderbuffers,"$c":_emscripten_glDeleteShader,"_c":_emscripten_glDeleteTextures,"Od":_emscripten_glDeleteVertexArraysOES,"Zc":_emscripten_glDepthFunc,"Yc":_emscripten_glDepthMask,"Xc":_emscripten_glDepthRangef,"Wc":_emscripten_glDetachShader,"Vc":_emscripten_glDisable,"Tc":_emscripten_glDisableVertexAttribArray,"Sc":_emscripten_glDrawArrays,"Kd":_emscripten_glDrawArraysInstancedANGLE,"Ld":_emscripten_glDrawBuffersWEBGL,"Rc":_emscripten_glDrawElements,"Jd":_emscripten_glDrawElementsInstancedANGLE,"Qc":_emscripten_glEnable,"Pc":_emscripten_glEnableVertexAttribArray,"Wd":_emscripten_glEndQueryEXT,"Oc":_emscripten_glFinish,"Nc":_emscripten_glFlush,"Mc":_emscripten_glFramebufferRenderbuffer,"Lc":_emscripten_glFramebufferTexture2D,"Kc":_emscripten_glFrontFace,"Ic":_emscripten_glGenBuffers,"Gc":_emscripten_glGenFramebuffers,"_d":_emscripten_glGenQueriesEXT,"Fc":_emscripten_glGenRenderbuffers,"Ec":_emscripten_glGenTextures,"Nd":_emscripten_glGenVertexArraysOES,"Hc":_emscripten_glGenerateMipmap,"Dc":_emscripten_glGetActiveAttrib,"Cc":_emscripten_glGetActiveUniform,"Bc":_emscripten_glGetAttachedShaders,"Ac":_emscripten_glGetAttribLocation,"zc":_emscripten_glGetBooleanv,"xc":_emscripten_glGetBufferParameteriv,"wc":_emscripten_glGetError,"vc":_emscripten_glGetFloatv,"uc":_emscripten_glGetFramebufferAttachmentParameteriv,"tc":_emscripten_glGetIntegerv,"rc":_emscripten_glGetProgramInfoLog,"sc":_emscripten_glGetProgramiv,"Rd":_emscripten_glGetQueryObjecti64vEXT,"Td":_emscripten_glGetQueryObjectivEXT,"Qd":_emscripten_glGetQueryObjectui64vEXT,"Sd":_emscripten_glGetQueryObjectuivEXT,"Ud":_emscripten_glGetQueryivEXT,"qc":_emscripten_glGetRenderbufferParameteriv,"oc":_emscripten_glGetShaderInfoLog,"mc":_emscripten_glGetShaderPrecisionFormat,"lc":_emscripten_glGetShaderSource,"pc":_emscripten_glGetShaderiv,"kc":_emscripten_glGetString,"jc":_emscripten_glGetTexParameterfv,"ic":_emscripten_glGetTexParameteriv,"fc":_emscripten_glGetUniformLocation,"hc":_emscripten_glGetUniformfv,"gc":_emscripten_glGetUniformiv,"bc":_emscripten_glGetVertexAttribPointerv,"ec":_emscripten_glGetVertexAttribfv,"dc":_emscripten_glGetVertexAttribiv,"ac":_emscripten_glHint,"$b":_emscripten_glIsBuffer,"_b":_emscripten_glIsEnabled,"Zb":_emscripten_glIsFramebuffer,"Yb":_emscripten_glIsProgram,"Yd":_emscripten_glIsQueryEXT,"Xb":_emscripten_glIsRenderbuffer,"Wb":_emscripten_glIsShader,"Vb":_emscripten_glIsTexture,"Md":_emscripten_glIsVertexArrayOES,"Ub":_emscripten_glLineWidth,"Tb":_emscripten_glLinkProgram,"Sb":_emscripten_glPixelStorei,"Rb":_emscripten_glPolygonOffset,"Vd":_emscripten_glQueryCounterEXT,"Qb":_emscripten_glReadPixels,"Pb":_emscripten_glReleaseShaderCompiler,"Ob":_emscripten_glRenderbufferStorage,"Nb":_emscripten_glSampleCoverage,"Mb":_emscripten_glScissor,"Lb":_emscripten_glShaderBinary,"Kb":_emscripten_glShaderSource,"Jb":_emscripten_glStencilFunc,"Ib":_emscripten_glStencilFuncSeparate,"Hb":_emscripten_glStencilMask,"Gb":_emscripten_glStencilMaskSeparate,"Fb":_emscripten_glStencilOp,"Eb":_emscripten_glStencilOpSeparate,"Db":_emscripten_glTexImage2D,"Cb":_emscripten_glTexParameterf,"Bb":_emscripten_glTexParameterfv,"Ab":_emscripten_glTexParameteri,"yb":_emscripten_glTexParameteriv,"xb":_emscripten_glTexSubImage2D,"wb":_emscripten_glUniform1f,"vb":_emscripten_glUniform1fv,"ub":_emscripten_glUniform1i,"tb":_emscripten_glUniform1iv,"sb":_emscripten_glUniform2f,"rb":_emscripten_glUniform2fv,"qb":_emscripten_glUniform2i,"pb":_emscripten_glUniform2iv,"ob":_emscripten_glUniform3f,"nb":_emscripten_glUniform3fv,"mb":_emscripten_glUniform3i,"lb":_emscripten_glUniform3iv,"kb":_emscripten_glUniform4f,"jb":_emscripten_glUniform4fv,"ib":_emscripten_glUniform4i,"hb":_emscripten_glUniform4iv,"gb":_emscripten_glUniformMatrix2fv,"fb":_emscripten_glUniformMatrix3fv,"eb":_emscripten_glUniformMatrix4fv,"db":_emscripten_glUseProgram,"cb":_emscripten_glValidateProgram,"bb":_emscripten_glVertexAttrib1f,"ab":_emscripten_glVertexAttrib1fv,"$a":_emscripten_glVertexAttrib2f,"_a":_emscripten_glVertexAttrib2fv,"Za":_emscripten_glVertexAttrib3f,"Ya":_emscripten_glVertexAttrib3fv,"Xa":_emscripten_glVertexAttrib4f,"Wa":_emscripten_glVertexAttrib4fv,"Id":_emscripten_glVertexAttribDivisorANGLE,"Va":_emscripten_glVertexAttribPointer,"Ua":_emscripten_glViewport,"$d":_emscripten_memcpy_big,"pe":_emscripten_request_pointerlock,"ae":_emscripten_resize_heap,"ge":_emscripten_run_script,"ke":_emscripten_sample_gamepad_data,"za":_emscripten_set_click_callback_on_thread,"Ba":_emscripten_set_fullscreenchange_callback_on_thread,"ua":_emscripten_set_gamepadconnected_callback_on_thread,"ta":_emscripten_set_gamepaddisconnected_callback_on_thread,"Aa":_emscripten_set_keydown_callback_on_thread,"va":_emscripten_set_touchcancel_callback_on_thread,"xa":_emscripten_set_touchend_callback_on_thread,"wa":_emscripten_set_touchmove_callback_on_thread,"ya":_emscripten_set_touchstart_callback_on_thread,"me":_emscripten_sleep,"ee":_exit,"Y":_fd_close,"be":_fd_read,"Sa":_fd_seek,"W":_fd_write,"v":_glActiveTexture,"Q":_glAttachShader,"r":_glBindAttribLocation,"c":_glBindBuffer,"m":_glBindFramebuffer,"S":_glBindRenderbuffer,"j":_glBindTexture,"Uc":_glBlendFunc,"g":_glBufferData,"K":_glBufferSubData,"Oa":_glCheckFramebufferStatus,"L":_glClear,"Z":_glClearColor,"nc":_glClearDepthf,"Ha":_glCompileShader,"zb":_glCompressedTexImage2D,"Fa":_glCreateProgram,"Ja":_glCreateShader,"Jc":_glCullFace,"s":_glDeleteBuffers,"ha":_glDeleteFramebuffers,"G":_glDeleteProgram,"pa":_glDeleteRenderbuffers,"w":_glDeleteShader,"V":_glDeleteTextures,"dd":_glDepthFunc,"x":_glDetachShader,"y":_glDisable,"n":_glDisableVertexAttribArray,"D":_glDrawArrays,"T":_glDrawElements,"B":_glEnable,"f":_glEnableVertexAttribArray,"C":_glFramebufferRenderbuffer,"u":_glFramebufferTexture2D,"yc":_glFrontFace,"h":_glGenBuffers,"Pa":_glGenFramebuffers,"Ra":_glGenRenderbuffers,"I":_glGenTextures,"Ka":_glGetActiveUniform,"p":_glGetAttribLocation,"od":_glGetFloatv,"P":_glGetFramebufferAttachmentParameteriv,"Da":_glGetProgramInfoLog,"z":_glGetProgramiv,"Ga":_glGetShaderInfoLog,"R":_glGetShaderiv,"t":_glGetString,"k":_glGetUniformLocation,"Ea":_glLinkProgram,"cc":_glPixelStorei,"La":_glReadPixels,"Qa":_glRenderbufferStorage,"Ia":_glShaderSource,"H":_glTexImage2D,"i":_glTexParameteri,"U":_glUniform1i,"Ca":_glUniform1iv,"E":_glUniform4f,"F":_glUniformMatrix4fv,"o":_glUseProgram,"Ma":_glVertexAttrib2f,"Na":_glVertexAttrib3f,"A":_glVertexAttrib4f,"e":_glVertexAttribPointer,"qe":_glViewport,"N":_glfwCreateWindow,"qa":_glfwDefaultWindowHints,"ne":_glfwDestroyWindow,"O":_glfwGetPrimaryMonitor,"q":_glfwGetTime,"oa":_glfwGetVideoModes,"ra":_glfwInit,"ca":_glfwMakeContextCurrent,"ia":_glfwSetCharCallback,"ma":_glfwSetCursorEnterCallback,"ja":_glfwSetCursorPosCallback,"da":_glfwSetDropCallback,"sa":_glfwSetErrorCallback,"la":_glfwSetKeyCallback,"ka":_glfwSetMouseButtonCallback,"ga":_glfwSetScrollCallback,"ea":_glfwSetWindowFocusCallback,"fa":_glfwSetWindowIconifyCallback,"fe":_glfwSetWindowShouldClose,"na":_glfwSetWindowSizeCallback,"le":_glfwSwapBuffers,"ba":_glfwSwapInterval,"M":_glfwTerminate,"l":_glfwWindowHint,"a":wasmMemory,"he":_nanosleep,"Ta":_setTempRet0,"aa":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["re"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["se"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["te"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ue"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ve"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["we"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["xe"]).apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return(dynCall_iiii=Module["dynCall_iiii"]=Module["asm"]["ye"]).apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return(dynCall_vii=Module["dynCall_vii"]=Module["asm"]["ze"]).apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return(dynCall_viii=Module["dynCall_viii"]=Module["asm"]["Ae"]).apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return(dynCall_viiiii=Module["dynCall_viiiii"]=Module["asm"]["Be"]).apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return(dynCall_viiii=Module["dynCall_viiii"]=Module["asm"]["Ce"]).apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return(dynCall_vidd=Module["dynCall_vidd"]=Module["asm"]["De"]).apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return(dynCall_iiiiii=Module["dynCall_iiiiii"]=Module["asm"]["Ee"]).apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return(dynCall_viiiiii=Module["dynCall_viiiiii"]=Module["asm"]["Fe"]).apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return(dynCall_iidiiii=Module["dynCall_iidiiii"]=Module["asm"]["Ge"]).apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return(dynCall_ii=Module["dynCall_ii"]=Module["asm"]["He"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["Ie"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["Je"]).apply(null,arguments)};var dynCall_vffff=Module["dynCall_vffff"]=function(){return(dynCall_vffff=Module["dynCall_vffff"]=Module["asm"]["Ke"]).apply(null,arguments)};var dynCall_vf=Module["dynCall_vf"]=function(){return(dynCall_vf=Module["dynCall_vf"]=Module["asm"]["Le"]).apply(null,arguments)};var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=function(){return(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=Module["asm"]["Me"]).apply(null,arguments)};var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=function(){return(dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=Module["asm"]["Ne"]).apply(null,arguments)};var dynCall_i=Module["dynCall_i"]=function(){return(dynCall_i=Module["dynCall_i"]=Module["asm"]["Oe"]).apply(null,arguments)};var dynCall_vff=Module["dynCall_vff"]=function(){return(dynCall_vff=Module["dynCall_vff"]=Module["asm"]["Pe"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["Qe"]).apply(null,arguments)};var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=function(){return(dynCall_viiiiiii=Module["dynCall_viiiiiii"]=Module["asm"]["Re"]).apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return(dynCall_iii=Module["dynCall_iii"]=Module["asm"]["Se"]).apply(null,arguments)};var dynCall_vfi=Module["dynCall_vfi"]=function(){return(dynCall_vfi=Module["dynCall_vfi"]=Module["asm"]["Te"]).apply(null,arguments)};var dynCall_viif=Module["dynCall_viif"]=function(){return(dynCall_viif=Module["dynCall_viif"]=Module["asm"]["Ue"]).apply(null,arguments)};var dynCall_vif=Module["dynCall_vif"]=function(){return(dynCall_vif=Module["dynCall_vif"]=Module["asm"]["Ve"]).apply(null,arguments)};var dynCall_viff=Module["dynCall_viff"]=function(){return(dynCall_viff=Module["dynCall_viff"]=Module["asm"]["We"]).apply(null,arguments)};var dynCall_vifff=Module["dynCall_vifff"]=function(){return(dynCall_vifff=Module["dynCall_vifff"]=Module["asm"]["Xe"]).apply(null,arguments)};var dynCall_viffff=Module["dynCall_viffff"]=function(){return(dynCall_viffff=Module["dynCall_viffff"]=Module["asm"]["Ye"]).apply(null,arguments)};var _asyncify_start_unwind=Module["_asyncify_start_unwind"]=function(){return(_asyncify_start_unwind=Module["_asyncify_start_unwind"]=Module["asm"]["Ze"]).apply(null,arguments)};var _asyncify_stop_unwind=Module["_asyncify_stop_unwind"]=function(){return(_asyncify_stop_unwind=Module["_asyncify_stop_unwind"]=Module["asm"]["_e"]).apply(null,arguments)};var _asyncify_start_rewind=Module["_asyncify_start_rewind"]=function(){return(_asyncify_start_rewind=Module["_asyncify_start_rewind"]=Module["asm"]["$e"]).apply(null,arguments)};var _asyncify_stop_rewind=Module["_asyncify_stop_rewind"]=function(){return(_asyncify_stop_rewind=Module["_asyncify_stop_rewind"]=Module["asm"]["af"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);if(!noExitRuntime){exit(ret,true)}}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_skybox.data";var REMOTE_PACKAGE_BASE="models_skybox.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);Module["FS_createPath"]("/resources","shaders",true,true);Module["FS_createPath"]("/resources/shaders","glsl100",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_skybox.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["oe"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["pe"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"i":___assert_fail,"W":___sys_fcntl64,"ae":___sys_ioctl,"be":___sys_open,"E":_eglGetProcAddress,"Z":_emscripten_exit_pointerlock,"je":_emscripten_get_element_css_size,"ee":_emscripten_get_gamepad_status,"fe":_emscripten_get_num_gamepads,"le":_emscripten_get_pointerlock_status,"Ed":_emscripten_glActiveTexture,"Dd":_emscripten_glAttachShader,"Ud":_emscripten_glBeginQueryEXT,"Cd":_emscripten_glBindAttribLocation,"Bd":_emscripten_glBindBuffer,"Ad":_emscripten_glBindFramebuffer,"zd":_emscripten_glBindRenderbuffer,"yd":_emscripten_glBindTexture,"Md":_emscripten_glBindVertexArrayOES,"xd":_emscripten_glBlendColor,"wd":_emscripten_glBlendEquation,"vd":_emscripten_glBlendEquationSeparate,"ud":_emscripten_glBlendFunc,"td":_emscripten_glBlendFuncSeparate,"sd":_emscripten_glBufferData,"rd":_emscripten_glBufferSubData,"qd":_emscripten_glCheckFramebufferStatus,"pd":_emscripten_glClear,"od":_emscripten_glClearColor,"nd":_emscripten_glClearDepthf,"md":_emscripten_glClearStencil,"ld":_emscripten_glColorMask,"kd":_emscripten_glCompileShader,"jd":_emscripten_glCompressedTexImage2D,"id":_emscripten_glCompressedTexSubImage2D,"hd":_emscripten_glCopyTexImage2D,"gd":_emscripten_glCopyTexSubImage2D,"fd":_emscripten_glCreateProgram,"ed":_emscripten_glCreateShader,"dd":_emscripten_glCullFace,"cd":_emscripten_glDeleteBuffers,"bd":_emscripten_glDeleteFramebuffers,"ad":_emscripten_glDeleteProgram,"Wd":_emscripten_glDeleteQueriesEXT,"$c":_emscripten_glDeleteRenderbuffers,"_c":_emscripten_glDeleteShader,"Zc":_emscripten_glDeleteTextures,"Ld":_emscripten_glDeleteVertexArraysOES,"Yc":_emscripten_glDepthFunc,"Xc":_emscripten_glDepthMask,"Wc":_emscripten_glDepthRangef,"Vc":_emscripten_glDetachShader,"Uc":_emscripten_glDisable,"Sc":_emscripten_glDisableVertexAttribArray,"Rc":_emscripten_glDrawArrays,"Hd":_emscripten_glDrawArraysInstancedANGLE,"Id":_emscripten_glDrawBuffersWEBGL,"Qc":_emscripten_glDrawElements,"Gd":_emscripten_glDrawElementsInstancedANGLE,"Pc":_emscripten_glEnable,"Oc":_emscripten_glEnableVertexAttribArray,"Td":_emscripten_glEndQueryEXT,"Nc":_emscripten_glFinish,"Mc":_emscripten_glFlush,"Lc":_emscripten_glFramebufferRenderbuffer,"Kc":_emscripten_glFramebufferTexture2D,"Jc":_emscripten_glFrontFace,"Ic":_emscripten_glGenBuffers,"Gc":_emscripten_glGenFramebuffers,"Xd":_emscripten_glGenQueriesEXT,"Fc":_emscripten_glGenRenderbuffers,"Ec":_emscripten_glGenTextures,"Kd":_emscripten_glGenVertexArraysOES,"Hc":_emscripten_glGenerateMipmap,"Dc":_emscripten_glGetActiveAttrib,"Cc":_emscripten_glGetActiveUniform,"Bc":_emscripten_glGetAttachedShaders,"Ac":_emscripten_glGetAttribLocation,"zc":_emscripten_glGetBooleanv,"xc":_emscripten_glGetBufferParameteriv,"wc":_emscripten_glGetError,"vc":_emscripten_glGetFloatv,"uc":_emscripten_glGetFramebufferAttachmentParameteriv,"tc":_emscripten_glGetIntegerv,"rc":_emscripten_glGetProgramInfoLog,"sc":_emscripten_glGetProgramiv,"Od":_emscripten_glGetQueryObjecti64vEXT,"Qd":_emscripten_glGetQueryObjectivEXT,"Nd":_emscripten_glGetQueryObjectui64vEXT,"Pd":_emscripten_glGetQueryObjectuivEXT,"Rd":_emscripten_glGetQueryivEXT,"qc":_emscripten_glGetRenderbufferParameteriv,"oc":_emscripten_glGetShaderInfoLog,"mc":_emscripten_glGetShaderPrecisionFormat,"lc":_emscripten_glGetShaderSource,"pc":_emscripten_glGetShaderiv,"kc":_emscripten_glGetString,"jc":_emscripten_glGetTexParameterfv,"ic":_emscripten_glGetTexParameteriv,"fc":_emscripten_glGetUniformLocation,"hc":_emscripten_glGetUniformfv,"gc":_emscripten_glGetUniformiv,"cc":_emscripten_glGetVertexAttribPointerv,"ec":_emscripten_glGetVertexAttribfv,"dc":_emscripten_glGetVertexAttribiv,"bc":_emscripten_glHint,"ac":_emscripten_glIsBuffer,"$b":_emscripten_glIsEnabled,"_b":_emscripten_glIsFramebuffer,"Zb":_emscripten_glIsProgram,"Vd":_emscripten_glIsQueryEXT,"Yb":_emscripten_glIsRenderbuffer,"Xb":_emscripten_glIsShader,"Wb":_emscripten_glIsTexture,"Jd":_emscripten_glIsVertexArrayOES,"Vb":_emscripten_glLineWidth,"Ub":_emscripten_glLinkProgram,"Tb":_emscripten_glPixelStorei,"Sb":_emscripten_glPolygonOffset,"Sd":_emscripten_glQueryCounterEXT,"Rb":_emscripten_glReadPixels,"Qb":_emscripten_glReleaseShaderCompiler,"Pb":_emscripten_glRenderbufferStorage,"Ob":_emscripten_glSampleCoverage,"Nb":_emscripten_glScissor,"Mb":_emscripten_glShaderBinary,"Lb":_emscripten_glShaderSource,"Kb":_emscripten_glStencilFunc,"Jb":_emscripten_glStencilFuncSeparate,"Ib":_emscripten_glStencilMask,"Hb":_emscripten_glStencilMaskSeparate,"Gb":_emscripten_glStencilOp,"Fb":_emscripten_glStencilOpSeparate,"Eb":_emscripten_glTexImage2D,"Db":_emscripten_glTexParameterf,"Cb":_emscripten_glTexParameterfv,"Bb":_emscripten_glTexParameteri,"Ab":_emscripten_glTexParameteriv,"zb":_emscripten_glTexSubImage2D,"yb":_emscripten_glUniform1f,"xb":_emscripten_glUniform1fv,"wb":_emscripten_glUniform1i,"vb":_emscripten_glUniform1iv,"ub":_emscripten_glUniform2f,"tb":_emscripten_glUniform2fv,"sb":_emscripten_glUniform2i,"rb":_emscripten_glUniform2iv,"pb":_emscripten_glUniform3f,"ob":_emscripten_glUniform3fv,"nb":_emscripten_glUniform3i,"mb":_emscripten_glUniform3iv,"lb":_emscripten_glUniform4f,"kb":_emscripten_glUniform4fv,"jb":_emscripten_glUniform4i,"ib":_emscripten_glUniform4iv,"hb":_emscripten_glUniformMatrix2fv,"gb":_emscripten_glUniformMatrix3fv,"eb":_emscripten_glUniformMatrix4fv,"db":_emscripten_glUseProgram,"cb":_emscripten_glValidateProgram,"bb":_emscripten_glVertexAttrib1f,"ab":_emscripten_glVertexAttrib1fv,"$a":_emscripten_glVertexAttrib2f,"_a":_emscripten_glVertexAttrib2fv,"Za":_emscripten_glVertexAttrib3f,"Ya":_emscripten_glVertexAttrib3fv,"Xa":_emscripten_glVertexAttrib4f,"Va":_emscripten_glVertexAttrib4fv,"Fd":_emscripten_glVertexAttribDivisorANGLE,"Ua":_emscripten_glVertexAttribPointer,"Ta":_emscripten_glViewport,"Yd":_emscripten_memcpy_big,"ke":_emscripten_request_pointerlock,"Zd":_emscripten_resize_heap,"Y":_emscripten_run_script,"ge":_emscripten_sample_gamepad_data,"va":_emscripten_set_click_callback_on_thread,"xa":_emscripten_set_fullscreenchange_callback_on_thread,"qa":_emscripten_set_gamepadconnected_callback_on_thread,"pa":_emscripten_set_gamepaddisconnected_callback_on_thread,"wa":_emscripten_set_keydown_callback_on_thread,"ne":_emscripten_set_main_loop,"ra":_emscripten_set_touchcancel_callback_on_thread,"ta":_emscripten_set_touchend_callback_on_thread,"sa":_emscripten_set_touchmove_callback_on_thread,"ua":_emscripten_set_touchstart_callback_on_thread,"_d":_emscripten_thread_sleep,"ce":_exit,"X":_fd_close,"$d":_fd_read,"Sa":_fd_seek,"V":_fd_write,"s":_glActiveTexture,"N":_glAttachShader,"p":_glBindAttribLocation,"a":_glBindBuffer,"n":_glBindFramebuffer,"P":_glBindRenderbuffer,"d":_glBindTexture,"fb":_glBlendFunc,"e":_glBufferData,"D":_glBufferSubData,"Ka":_glCheckFramebufferStatus,"F":_glClear,"S":_glClearColor,"Qa":_glClearDepthf,"Da":_glCompileShader,"Oa":_glCompressedTexImage2D,"Ba":_glCreateProgram,"Fa":_glCreateShader,"Wa":_glCullFace,"q":_glDeleteBuffers,"nc":_glDeleteFramebuffers,"Q":_glDeleteProgram,"yc":_glDeleteRenderbuffers,"u":_glDeleteShader,"R":_glDeleteTextures,"qb":_glDepthFunc,"v":_glDetachShader,"G":_glDisable,"k":_glDisableVertexAttribArray,"I":_glDrawArrays,"U":_glDrawElements,"H":_glEnable,"b":_glEnableVertexAttribArray,"z":_glFramebufferRenderbuffer,"t":_glFramebufferTexture2D,"Ra":_glFrontFace,"f":_glGenBuffers,"La":_glGenFramebuffers,"Na":_glGenRenderbuffers,"C":_glGenTextures,"Ga":_glGetActiveUniform,"m":_glGetAttribLocation,"Tc":_glGetFloatv,"T":_glGetFramebufferAttachmentParameteriv,"za":_glGetProgramInfoLog,"x":_glGetProgramiv,"Ca":_glGetShaderInfoLog,"O":_glGetShaderiv,"r":_glGetString,"h":_glGetUniformLocation,"Aa":_glLinkProgram,"Pa":_glPixelStorei,"Ha":_glReadPixels,"Ma":_glRenderbufferStorage,"Ea":_glShaderSource,"B":_glTexImage2D,"g":_glTexParameteri,"K":_glUniform1i,"ya":_glUniform1iv,"w":_glUniform4f,"A":_glUniformMatrix4fv,"l":_glUseProgram,"Ia":_glVertexAttrib2f,"Ja":_glVertexAttrib3f,"y":_glVertexAttrib4f,"c":_glVertexAttribPointer,"me":_glViewport,"L":_glfwCreateWindow,"ma":_glfwDefaultWindowHints,"ie":_glfwDestroyWindow,"M":_glfwGetPrimaryMonitor,"o":_glfwGetTime,"la":_glfwGetVideoModes,"na":_glfwInit,"aa":_glfwMakeContextCurrent,"fa":_glfwSetCharCallback,"ba":_glfwSetCursorEnterCallback,"da":_glfwSetCursorPosCallback,"ha":_glfwSetDropCallback,"oa":_glfwSetErrorCallback,"ga":_glfwSetKeyCallback,"ea":_glfwSetMouseButtonCallback,"ca":_glfwSetScrollCallback,"ia":_glfwSetWindowFocusCallback,"ja":_glfwSetWindowIconifyCallback,"de":_glfwSetWindowShouldClose,"ka":_glfwSetWindowSizeCallback,"he":_glfwSwapBuffers,"$":_glfwSwapInterval,"J":_glfwTerminate,"j":_glfwWindowHint,"_":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["qe"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["re"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["se"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["te"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["ue"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["ve"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["we"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_skybox.wasm b/examples/web/models/models_skybox.wasm index ced8c80..282b299 100644 Binary files a/examples/web/models/models_skybox.wasm and b/examples/web/models/models_skybox.wasm differ diff --git a/examples/web/models/models_waving_cubes.c b/examples/web/models/models_waving_cubes.c index fcb3e97..a076a5b 100644 --- a/examples/web/models/models_waving_cubes.c +++ b/examples/web/models/models_waving_cubes.c @@ -55,7 +55,7 @@ int main() camera.type = CAMERA_PERSPECTIVE; #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- @@ -123,7 +123,7 @@ void UpdateDrawFrame(void) }; // Pick a color with a hue depending on cube position for the rainbow color effect - Color cubeColor = ColorFromHSV((Vector3){ (float)(((x + y + z)*18)%360), 0.75f, 0.9f }); + Color cubeColor = ColorFromHSV((float)(((x + y + z)*18)%360), 0.75f, 0.9f); // Calculate cube size float cubeSize = (2.4f - scale)*blockScale; diff --git a/examples/web/models/models_waving_cubes.html b/examples/web/models/models_waving_cubes.html index 05259a6..d77bf1f 100644 --- a/examples/web/models/models_waving_cubes.html +++ b/examples/web/models/models_waving_cubes.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_waving_cubes.js b/examples/web/models/models_waving_cubes.js index a2d759c..28ceaea 100644 --- a/examples/web/models/models_waving_cubes.js +++ b/examples/web/models/models_waving_cubes.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5276832,DYNAMICTOP_PTR=33920;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_waving_cubes.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"c":abort,"b":___assert_fail,"mc":___lock,"z":___setErrNo,"$a":___syscall140,"Qa":___syscall145,"m":___syscall221,"va":___syscall5,"ka":___syscall54,"y":___syscall6,"x":___unlock,"Yd":___wasi_fd_write,"w":_eglGetProcAddress,"R":_emscripten_exit_pointerlock,"td":_emscripten_get_element_css_size,"id":_emscripten_get_gamepad_status,"Zc":_emscripten_get_heap_size,"Oc":_emscripten_get_num_gamepads,"Q":_emscripten_get_pointerlock_status,"uc":_emscripten_glActiveTexture,"lc":_emscripten_glAttachShader,"fc":_emscripten_glBeginQueryEXT,"bc":_emscripten_glBindAttribLocation,"Wb":_emscripten_glBindBuffer,"Pb":_emscripten_glBindFramebuffer,"Ib":_emscripten_glBindRenderbuffer,"zb":_emscripten_glBindTexture,"pb":_emscripten_glBindVertexArrayOES,"lb":_emscripten_glBlendColor,"kb":_emscripten_glBlendEquation,"jb":_emscripten_glBlendEquationSeparate,"ib":_emscripten_glBlendFunc,"hb":_emscripten_glBlendFuncSeparate,"gb":_emscripten_glBufferData,"fb":_emscripten_glBufferSubData,"eb":_emscripten_glCheckFramebufferStatus,"db":_emscripten_glClear,"cb":_emscripten_glClearColor,"bb":_emscripten_glClearDepthf,"ab":_emscripten_glClearStencil,"_a":_emscripten_glColorMask,"Za":_emscripten_glCompileShader,"Ya":_emscripten_glCompressedTexImage2D,"Xa":_emscripten_glCompressedTexSubImage2D,"Wa":_emscripten_glCopyTexImage2D,"Va":_emscripten_glCopyTexSubImage2D,"Ua":_emscripten_glCreateProgram,"Ta":_emscripten_glCreateShader,"Sa":_emscripten_glCullFace,"Ra":_emscripten_glDeleteBuffers,"Pa":_emscripten_glDeleteFramebuffers,"Oa":_emscripten_glDeleteProgram,"Na":_emscripten_glDeleteQueriesEXT,"Ma":_emscripten_glDeleteRenderbuffers,"La":_emscripten_glDeleteShader,"Ka":_emscripten_glDeleteTextures,"Ja":_emscripten_glDeleteVertexArraysOES,"Ia":_emscripten_glDepthFunc,"Ha":_emscripten_glDepthMask,"Ga":_emscripten_glDepthRangef,"Fa":_emscripten_glDetachShader,"Ea":_emscripten_glDisable,"Da":_emscripten_glDisableVertexAttribArray,"Ca":_emscripten_glDrawArrays,"Ba":_emscripten_glDrawArraysInstancedANGLE,"Aa":_emscripten_glDrawBuffersWEBGL,"za":_emscripten_glDrawElements,"ya":_emscripten_glDrawElementsInstancedANGLE,"xa":_emscripten_glEnable,"wa":_emscripten_glEnableVertexAttribArray,"ua":_emscripten_glEndQueryEXT,"ta":_emscripten_glFinish,"sa":_emscripten_glFlush,"ra":_emscripten_glFramebufferRenderbuffer,"qa":_emscripten_glFramebufferTexture2D,"pa":_emscripten_glFrontFace,"oa":_emscripten_glGenBuffers,"na":_emscripten_glGenFramebuffers,"ma":_emscripten_glGenQueriesEXT,"la":_emscripten_glGenRenderbuffers,"ja":_emscripten_glGenTextures,"ia":_emscripten_glGenVertexArraysOES,"ha":_emscripten_glGenerateMipmap,"ga":_emscripten_glGetActiveAttrib,"fa":_emscripten_glGetActiveUniform,"ea":_emscripten_glGetAttachedShaders,"da":_emscripten_glGetAttribLocation,"ca":_emscripten_glGetBooleanv,"ba":_emscripten_glGetBufferParameteriv,"aa":_emscripten_glGetError,"$":_emscripten_glGetFloatv,"_":_emscripten_glGetFramebufferAttachmentParameteriv,"Z":_emscripten_glGetIntegerv,"Y":_emscripten_glGetProgramInfoLog,"X":_emscripten_glGetProgramiv,"W":_emscripten_glGetQueryObjecti64vEXT,"V":_emscripten_glGetQueryObjectivEXT,"U":_emscripten_glGetQueryObjectui64vEXT,"T":_emscripten_glGetQueryObjectuivEXT,"S":_emscripten_glGetQueryivEXT,"ge":_emscripten_glGetRenderbufferParameteriv,"fe":_emscripten_glGetShaderInfoLog,"ee":_emscripten_glGetShaderPrecisionFormat,"de":_emscripten_glGetShaderSource,"ce":_emscripten_glGetShaderiv,"be":_emscripten_glGetString,"ae":_emscripten_glGetTexParameterfv,"$d":_emscripten_glGetTexParameteriv,"_d":_emscripten_glGetUniformLocation,"Zd":_emscripten_glGetUniformfv,"Xd":_emscripten_glGetUniformiv,"Wd":_emscripten_glGetVertexAttribPointerv,"Vd":_emscripten_glGetVertexAttribfv,"Ud":_emscripten_glGetVertexAttribiv,"Td":_emscripten_glHint,"Sd":_emscripten_glIsBuffer,"Rd":_emscripten_glIsEnabled,"Qd":_emscripten_glIsFramebuffer,"Pd":_emscripten_glIsProgram,"Od":_emscripten_glIsQueryEXT,"Nd":_emscripten_glIsRenderbuffer,"Md":_emscripten_glIsShader,"Ld":_emscripten_glIsTexture,"Kd":_emscripten_glIsVertexArrayOES,"Jd":_emscripten_glLineWidth,"Id":_emscripten_glLinkProgram,"Hd":_emscripten_glPixelStorei,"Gd":_emscripten_glPolygonOffset,"Fd":_emscripten_glQueryCounterEXT,"Ed":_emscripten_glReadPixels,"Dd":_emscripten_glReleaseShaderCompiler,"Cd":_emscripten_glRenderbufferStorage,"Bd":_emscripten_glSampleCoverage,"Ad":_emscripten_glScissor,"zd":_emscripten_glShaderBinary,"yd":_emscripten_glShaderSource,"xd":_emscripten_glStencilFunc,"wd":_emscripten_glStencilFuncSeparate,"vd":_emscripten_glStencilMask,"ud":_emscripten_glStencilMaskSeparate,"sd":_emscripten_glStencilOp,"rd":_emscripten_glStencilOpSeparate,"qd":_emscripten_glTexImage2D,"pd":_emscripten_glTexParameterf,"od":_emscripten_glTexParameterfv,"nd":_emscripten_glTexParameteri,"md":_emscripten_glTexParameteriv,"ld":_emscripten_glTexSubImage2D,"kd":_emscripten_glUniform1f,"jd":_emscripten_glUniform1fv,"hd":_emscripten_glUniform1i,"gd":_emscripten_glUniform1iv,"fd":_emscripten_glUniform2f,"ed":_emscripten_glUniform2fv,"dd":_emscripten_glUniform2i,"cd":_emscripten_glUniform2iv,"bd":_emscripten_glUniform3f,"ad":_emscripten_glUniform3fv,"$c":_emscripten_glUniform3i,"_c":_emscripten_glUniform3iv,"Yc":_emscripten_glUniform4f,"Xc":_emscripten_glUniform4fv,"Wc":_emscripten_glUniform4i,"Vc":_emscripten_glUniform4iv,"Uc":_emscripten_glUniformMatrix2fv,"Tc":_emscripten_glUniformMatrix3fv,"Sc":_emscripten_glUniformMatrix4fv,"Rc":_emscripten_glUseProgram,"Qc":_emscripten_glValidateProgram,"Pc":_emscripten_glVertexAttrib1f,"Nc":_emscripten_glVertexAttrib1fv,"Mc":_emscripten_glVertexAttrib2f,"Lc":_emscripten_glVertexAttrib2fv,"Kc":_emscripten_glVertexAttrib3f,"Jc":_emscripten_glVertexAttrib3fv,"Ic":_emscripten_glVertexAttrib4f,"Hc":_emscripten_glVertexAttrib4fv,"Gc":_emscripten_glVertexAttribDivisorANGLE,"Fc":_emscripten_glVertexAttribPointer,"Ec":_emscripten_glViewport,"Dc":_emscripten_memcpy_big,"Cc":_emscripten_request_pointerlock,"Bc":_emscripten_resize_heap,"P":_emscripten_run_script,"Ac":_emscripten_sample_gamepad_data,"zc":_emscripten_set_click_callback_on_thread,"yc":_emscripten_set_fullscreenchange_callback_on_thread,"xc":_emscripten_set_gamepadconnected_callback_on_thread,"wc":_emscripten_set_gamepaddisconnected_callback_on_thread,"vc":_emscripten_set_keypress_callback_on_thread,"tc":_emscripten_set_main_loop,"sc":_emscripten_set_touchcancel_callback_on_thread,"rc":_emscripten_set_touchend_callback_on_thread,"qc":_emscripten_set_touchmove_callback_on_thread,"pc":_emscripten_set_touchstart_callback_on_thread,"oc":_exit,"nc":_glActiveTexture,"O":_glAttachShader,"i":_glBindAttribLocation,"d":_glBindBuffer,"l":_glBindTexture,"kc":_glBlendFunc,"q":_glBufferData,"v":_glBufferSubData,"N":_glClear,"M":_glClearColor,"jc":_glClearDepthf,"ic":_glCompileShader,"hc":_glCompressedTexImage2D,"gc":_glCreateProgram,"ec":_glCreateShader,"dc":_glCullFace,"p":_glDeleteBuffers,"L":_glDeleteProgram,"K":_glDeleteShader,"J":_glDeleteTextures,"cc":_glDepthFunc,"I":_glDetachShader,"H":_glDisable,"o":_glDisableVertexAttribArray,"ac":_glDrawArrays,"$b":_glDrawElements,"u":_glEnable,"h":_glEnableVertexAttribArray,"_b":_glFrontFace,"n":_glGenBuffers,"Zb":_glGenTextures,"t":_glGetAttribLocation,"Yb":_glGetFloatv,"Xb":_glGetProgramInfoLog,"G":_glGetProgramiv,"Vb":_glGetShaderInfoLog,"F":_glGetShaderiv,"k":_glGetString,"s":_glGetUniformLocation,"Ub":_glLinkProgram,"Tb":_glPixelStorei,"Sb":_glReadPixels,"Rb":_glShaderSource,"Qb":_glTexImage2D,"g":_glTexParameteri,"Ob":_glUniform1i,"Nb":_glUniform4f,"Mb":_glUniformMatrix4fv,"r":_glUseProgram,"f":_glVertexAttribPointer,"Lb":_glViewport,"E":_glfwCreateWindow,"Kb":_glfwDefaultWindowHints,"Jb":_glfwDestroyWindow,"Hb":_glfwGetCursorPos,"D":_glfwGetPrimaryMonitor,"j":_glfwGetTime,"Gb":_glfwGetVideoModes,"Fb":_glfwInit,"Eb":_glfwMakeContextCurrent,"Db":_glfwSetCharCallback,"Cb":_glfwSetCursorEnterCallback,"Bb":_glfwSetCursorPosCallback,"Ab":_glfwSetDropCallback,"yb":_glfwSetErrorCallback,"xb":_glfwSetKeyCallback,"wb":_glfwSetMouseButtonCallback,"vb":_glfwSetScrollCallback,"ub":_glfwSetWindowIconifyCallback,"tb":_glfwSetWindowShouldClose,"sb":_glfwSetWindowSizeCallback,"rb":_glfwSwapBuffers,"qb":_glfwSwapInterval,"C":_glfwTerminate,"e":_glfwWindowHint,"B":_llvm_stackrestore,"A":_llvm_stacksave,"ob":_nanosleep,"nb":_time,"mb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["he"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["ie"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["je"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["ke"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["le"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["me"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["ne"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["we"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["oe"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["pe"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["qe"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["re"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["se"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["te"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["ue"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["ve"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_waving_cubes.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["_d"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["$d"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"n":___assert_fail,"u":___sys_fcntl64,"Xd":___sys_ioctl,"M":___sys_open,"s":_eglGetProcAddress,"Y":_emscripten_exit_pointerlock,"V":_emscripten_get_element_css_size,"P":_emscripten_get_gamepad_status,"Q":_emscripten_get_num_gamepads,"X":_emscripten_get_pointerlock_status,"yd":_emscripten_glActiveTexture,"xd":_emscripten_glAttachShader,"Pd":_emscripten_glBeginQueryEXT,"wd":_emscripten_glBindAttribLocation,"vd":_emscripten_glBindBuffer,"ud":_emscripten_glBindFramebuffer,"sd":_emscripten_glBindRenderbuffer,"rd":_emscripten_glBindTexture,"Hd":_emscripten_glBindVertexArrayOES,"qd":_emscripten_glBlendColor,"pd":_emscripten_glBlendEquation,"od":_emscripten_glBlendEquationSeparate,"nd":_emscripten_glBlendFunc,"md":_emscripten_glBlendFuncSeparate,"ld":_emscripten_glBufferData,"kd":_emscripten_glBufferSubData,"jd":_emscripten_glCheckFramebufferStatus,"id":_emscripten_glClear,"hd":_emscripten_glClearColor,"gd":_emscripten_glClearDepthf,"fd":_emscripten_glClearStencil,"ed":_emscripten_glColorMask,"dd":_emscripten_glCompileShader,"cd":_emscripten_glCompressedTexImage2D,"bd":_emscripten_glCompressedTexSubImage2D,"ad":_emscripten_glCopyTexImage2D,"$c":_emscripten_glCopyTexSubImage2D,"_c":_emscripten_glCreateProgram,"Zc":_emscripten_glCreateShader,"Yc":_emscripten_glCullFace,"Xc":_emscripten_glDeleteBuffers,"Wc":_emscripten_glDeleteFramebuffers,"Vc":_emscripten_glDeleteProgram,"Rd":_emscripten_glDeleteQueriesEXT,"Uc":_emscripten_glDeleteRenderbuffers,"Tc":_emscripten_glDeleteShader,"Sc":_emscripten_glDeleteTextures,"Gd":_emscripten_glDeleteVertexArraysOES,"Rc":_emscripten_glDepthFunc,"Qc":_emscripten_glDepthMask,"Pc":_emscripten_glDepthRangef,"Oc":_emscripten_glDetachShader,"Nc":_emscripten_glDisable,"Mc":_emscripten_glDisableVertexAttribArray,"Lc":_emscripten_glDrawArrays,"Bd":_emscripten_glDrawArraysInstancedANGLE,"Cd":_emscripten_glDrawBuffersWEBGL,"Kc":_emscripten_glDrawElements,"Ad":_emscripten_glDrawElementsInstancedANGLE,"Jc":_emscripten_glEnable,"Ic":_emscripten_glEnableVertexAttribArray,"Od":_emscripten_glEndQueryEXT,"Hc":_emscripten_glFinish,"Fc":_emscripten_glFlush,"Ec":_emscripten_glFramebufferRenderbuffer,"Dc":_emscripten_glFramebufferTexture2D,"Cc":_emscripten_glFrontFace,"Bc":_emscripten_glGenBuffers,"zc":_emscripten_glGenFramebuffers,"Sd":_emscripten_glGenQueriesEXT,"yc":_emscripten_glGenRenderbuffers,"xc":_emscripten_glGenTextures,"Fd":_emscripten_glGenVertexArraysOES,"Ac":_emscripten_glGenerateMipmap,"wc":_emscripten_glGetActiveAttrib,"vc":_emscripten_glGetActiveUniform,"uc":_emscripten_glGetAttachedShaders,"tc":_emscripten_glGetAttribLocation,"sc":_emscripten_glGetBooleanv,"rc":_emscripten_glGetBufferParameteriv,"qc":_emscripten_glGetError,"pc":_emscripten_glGetFloatv,"oc":_emscripten_glGetFramebufferAttachmentParameteriv,"nc":_emscripten_glGetIntegerv,"lc":_emscripten_glGetProgramInfoLog,"mc":_emscripten_glGetProgramiv,"Jd":_emscripten_glGetQueryObjecti64vEXT,"Ld":_emscripten_glGetQueryObjectivEXT,"Id":_emscripten_glGetQueryObjectui64vEXT,"Kd":_emscripten_glGetQueryObjectuivEXT,"Md":_emscripten_glGetQueryivEXT,"kc":_emscripten_glGetRenderbufferParameteriv,"ic":_emscripten_glGetShaderInfoLog,"hc":_emscripten_glGetShaderPrecisionFormat,"gc":_emscripten_glGetShaderSource,"jc":_emscripten_glGetShaderiv,"fc":_emscripten_glGetString,"ec":_emscripten_glGetTexParameterfv,"dc":_emscripten_glGetTexParameteriv,"ac":_emscripten_glGetUniformLocation,"cc":_emscripten_glGetUniformfv,"bc":_emscripten_glGetUniformiv,"Zb":_emscripten_glGetVertexAttribPointerv,"$b":_emscripten_glGetVertexAttribfv,"_b":_emscripten_glGetVertexAttribiv,"Yb":_emscripten_glHint,"Xb":_emscripten_glIsBuffer,"Wb":_emscripten_glIsEnabled,"Vb":_emscripten_glIsFramebuffer,"Ub":_emscripten_glIsProgram,"Qd":_emscripten_glIsQueryEXT,"Tb":_emscripten_glIsRenderbuffer,"Sb":_emscripten_glIsShader,"Rb":_emscripten_glIsTexture,"Dd":_emscripten_glIsVertexArrayOES,"Qb":_emscripten_glLineWidth,"Pb":_emscripten_glLinkProgram,"Ob":_emscripten_glPixelStorei,"Nb":_emscripten_glPolygonOffset,"Nd":_emscripten_glQueryCounterEXT,"Mb":_emscripten_glReadPixels,"Lb":_emscripten_glReleaseShaderCompiler,"Kb":_emscripten_glRenderbufferStorage,"Ib":_emscripten_glSampleCoverage,"Hb":_emscripten_glScissor,"Gb":_emscripten_glShaderBinary,"Fb":_emscripten_glShaderSource,"Eb":_emscripten_glStencilFunc,"Db":_emscripten_glStencilFuncSeparate,"Cb":_emscripten_glStencilMask,"Bb":_emscripten_glStencilMaskSeparate,"Ab":_emscripten_glStencilOp,"zb":_emscripten_glStencilOpSeparate,"xb":_emscripten_glTexImage2D,"wb":_emscripten_glTexParameterf,"vb":_emscripten_glTexParameterfv,"ub":_emscripten_glTexParameteri,"tb":_emscripten_glTexParameteriv,"sb":_emscripten_glTexSubImage2D,"rb":_emscripten_glUniform1f,"qb":_emscripten_glUniform1fv,"pb":_emscripten_glUniform1i,"ob":_emscripten_glUniform1iv,"mb":_emscripten_glUniform2f,"lb":_emscripten_glUniform2fv,"kb":_emscripten_glUniform2i,"jb":_emscripten_glUniform2iv,"ib":_emscripten_glUniform3f,"hb":_emscripten_glUniform3fv,"gb":_emscripten_glUniform3i,"fb":_emscripten_glUniform3iv,"eb":_emscripten_glUniform4f,"db":_emscripten_glUniform4fv,"bb":_emscripten_glUniform4i,"ab":_emscripten_glUniform4iv,"$a":_emscripten_glUniformMatrix2fv,"_a":_emscripten_glUniformMatrix3fv,"Za":_emscripten_glUniformMatrix4fv,"Ya":_emscripten_glUseProgram,"Xa":_emscripten_glValidateProgram,"Wa":_emscripten_glVertexAttrib1f,"Va":_emscripten_glVertexAttrib1fv,"Ua":_emscripten_glVertexAttrib2f,"Sa":_emscripten_glVertexAttrib2fv,"Ra":_emscripten_glVertexAttrib3f,"Qa":_emscripten_glVertexAttrib3fv,"Pa":_emscripten_glVertexAttrib4f,"Oa":_emscripten_glVertexAttrib4fv,"zd":_emscripten_glVertexAttribDivisorANGLE,"Na":_emscripten_glVertexAttribPointer,"Ma":_emscripten_glViewport,"Td":_emscripten_memcpy_big,"W":_emscripten_request_pointerlock,"Ud":_emscripten_resize_heap,"w":_emscripten_run_script,"R":_emscripten_sample_gamepad_data,"va":_emscripten_set_click_callback_on_thread,"xa":_emscripten_set_fullscreenchange_callback_on_thread,"qa":_emscripten_set_gamepadconnected_callback_on_thread,"pa":_emscripten_set_gamepaddisconnected_callback_on_thread,"wa":_emscripten_set_keydown_callback_on_thread,"Zd":_emscripten_set_main_loop,"ra":_emscripten_set_touchcancel_callback_on_thread,"ta":_emscripten_set_touchend_callback_on_thread,"sa":_emscripten_set_touchmove_callback_on_thread,"ua":_emscripten_set_touchstart_callback_on_thread,"Vd":_emscripten_thread_sleep,"N":_exit,"v":_fd_close,"Wd":_fd_read,"La":_fd_seek,"K":_fd_write,"L":_glActiveTexture,"A":_glAttachShader,"f":_glBindAttribLocation,"a":_glBindBuffer,"g":_glBindTexture,"yb":_glBlendFunc,"k":_glBufferData,"r":_glBufferSubData,"H":_glClear,"I":_glClearColor,"Ta":_glClearDepthf,"Da":_glCompileShader,"Ha":_glCompressedTexImage2D,"Ba":_glCreateProgram,"Fa":_glCreateShader,"nb":_glCullFace,"i":_glDeleteBuffers,"D":_glDeleteProgram,"E":_glDeleteShader,"G":_glDeleteTextures,"Jb":_glDepthFunc,"F":_glDetachShader,"J":_glDisable,"j":_glDisableVertexAttribArray,"Ed":_glDrawArrays,"td":_glDrawElements,"t":_glEnable,"d":_glEnableVertexAttribArray,"cb":_glFrontFace,"l":_glGenBuffers,"Ja":_glGenTextures,"q":_glGetAttribLocation,"Gc":_glGetFloatv,"ya":_glGetProgramInfoLog,"C":_glGetProgramiv,"Ca":_glGetShaderInfoLog,"B":_glGetShaderiv,"h":_glGetString,"p":_glGetUniformLocation,"za":_glLinkProgram,"Ka":_glPixelStorei,"Ga":_glReadPixels,"Ea":_glShaderSource,"Ia":_glTexImage2D,"m":_glTexParameteri,"S":_glUniform1i,"$":_glUniform4f,"Aa":_glUniformMatrix4fv,"o":_glUseProgram,"e":_glVertexAttribPointer,"Yd":_glViewport,"y":_glfwCreateWindow,"ma":_glfwDefaultWindowHints,"U":_glfwDestroyWindow,"z":_glfwGetPrimaryMonitor,"c":_glfwGetTime,"la":_glfwGetVideoModes,"na":_glfwInit,"aa":_glfwMakeContextCurrent,"fa":_glfwSetCharCallback,"ba":_glfwSetCursorEnterCallback,"da":_glfwSetCursorPosCallback,"ha":_glfwSetDropCallback,"oa":_glfwSetErrorCallback,"ga":_glfwSetKeyCallback,"ea":_glfwSetMouseButtonCallback,"ca":_glfwSetScrollCallback,"ia":_glfwSetWindowFocusCallback,"ja":_glfwSetWindowIconifyCallback,"O":_glfwSetWindowShouldClose,"ka":_glfwSetWindowSizeCallback,"T":_glfwSwapBuffers,"_":_glfwSwapInterval,"x":_glfwTerminate,"b":_glfwWindowHint,"Z":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["ae"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["be"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ce"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["de"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["ee"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["fe"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ge"]).apply(null,arguments)};var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_waving_cubes.wasm b/examples/web/models/models_waving_cubes.wasm index b6cc248..9d0d933 100644 Binary files a/examples/web/models/models_waving_cubes.wasm and b/examples/web/models/models_waving_cubes.wasm differ diff --git a/examples/web/models/models_yaw_pitch_roll.c b/examples/web/models/models_yaw_pitch_roll.c index e57b357..cd54171 100644 --- a/examples/web/models/models_yaw_pitch_roll.c +++ b/examples/web/models/models_yaw_pitch_roll.c @@ -76,7 +76,7 @@ int main(void) camera.type = CAMERA_PERSPECTIVE; // Camera type #if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); + emscripten_set_main_loop(UpdateDrawFrame, 60, 1); #else SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- diff --git a/examples/web/models/models_yaw_pitch_roll.data b/examples/web/models/models_yaw_pitch_roll.data index 03bc92f..62b3a66 100644 --- a/examples/web/models/models_yaw_pitch_roll.data +++ b/examples/web/models/models_yaw_pitch_roll.data @@ -10700,1819 +10700,1152 @@ f 2309/1533/2298 2308/1515/2298 2335/1517/2298 ‰PNG  - IHDR{C­ -7iCCPsRGB IEC61966-2.1xœ�–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ�"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}Öº�üƒÂLX € ¡Xáçň�‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã�9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†�“‹áÏÏMç‹ÅÌ07�#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜�ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚�D €µ ”‚­`'¨u 4ƒ6pt�cà48.�Ë`ÜR0ž€)ð -Ì@„…ÈR‡t CȲ…X�äCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX -?�§€:¢‹0ÂFB‘x$ !«�¤i@Ú�¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP�¨>ÔUÔ(j -õMFk¢ÍÑÎèt,:�‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ -{{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% -5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^�ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾ÆoÍ�µ„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõH�WM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~é�ˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{�°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ï�é÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû�pf* pHYs  ÒÝ~ü IDATxœì½x×u':Ä`†Í$˜-DhØ´ʲ)v+qœ8ÏÍ‹Ýl½IÓ|»n»›¶Û÷uÓv_Û|É×~Þík¿ì˶›4�__“4I›Jiã­SÛ ׎YŠhÉ´aR’!Q¤A„08Äp¾sî™? (ÉùÓ×÷½w5ßÕÅp0sqçÞßïœsÏ=7:ÿ;… µQƒO®ëBŽgúÂK”þ°lµÂr}Ù¡ÂŽ±´Qªç›Nxþˆë•àÚ–%D%!*³Ï�ž<»×Vv×ÏŸŸÊÙÑlø0Á -Kw–û ô¼zýóü�À¿°ÒaÑqœðC›;ßÏHáyîþ’È}p¹2w^ìã•¿(¼“UmÛ–eÙ4M1*JQÉ´LüÃ*fjB5��âãÂÿŸ®#}牃YÅ2-Ûûì¿kQÄné8v$"²�¢ëÚmï-Kp²Ýv!Çó«nðÖÂñâ„ˤ¨(Hªà²Gˆ¬Ó¸¬ó¸M¿óÃsYÿgÕbX,]6§ÎVœUÞ5ô:I’à]Õ>üÜsÞñv*^}58¯(qÈçÎÏA^7Œàü}ïýŸ‚òÑ©ã�xÇ=�Wæ½ñ%÷Ë˦]2�²Ð¶Ýû-Xyo,˜M'0Šªˆ«\_m‡}U‰ÅÖ¶³Qµ¹™N ›Í†¹\׺Ù4�5»¥ª:üg;M1_×ÛŒˆR›ýÕvÛ²‰DEx{‚ì7/ÜAŒ„£YÃçÖ/cE“ù±ÎR4,¶�¦Ý²ÔÔ¤°¡éŠc»¶ƒ/ -xCY¤±i6mÓrãÞÝÒº¾xe‘ÊŽíˆ2ž7—ñ‰1)WëK8eÅ«§q¹n¯8j"¡Æ“ì;F±×n­¸ÖJ[î‰V;™|âñ;òéÔ ŠmáõfÍ‘c‘ÞÜûz›u6E’-Ço¨ª -~Å�“�+ .ðþæ·[L’êfº¥ÓÂΉMB=»2»:®Wh·¡ñ×¾NH3g�Ù³5%&ÌÍûýÌ' €Á j~Lëñ5‡á�Ër…]à ƒ5iÿþýA¹8_\ï²ÿO%B((´WÛN Ë2´aþ Ï÷KÿWñŸ%í{sò#/~è;¸ç@P–£¢Ý‚n/»®7œ\–lg¯F"pQåŽkKbØ{Û>Âðò€/â8j5ÃG¶9¶�áð’�xcǪ ŠÎ×Pb ˜øžÙGþó'!Ÿœ|vò;ß-ÌÎç*"È]?uä#{÷@þ�O~ûɧž–å�ïx'|¼çÀ=÷ÿ«5ùí§'¿ó4pâ>KöŠí¸UUöd,)& ¬Ö)Òh:²Qc’œŒÓµJMPÓÃÉÊBýzšZK)²¼П>ô«1ÕhØôÛ@-b(kvÑßu$‘—˜ýƒýÐáá�=×ú×$@9ª8N8@—B|–;R„Ê•š©Æä´®2Hš–U©ÁO¯˜c5LSUUËÁ:¤S@$ÍÕU—П@ñì‚¶1©tÔ‡Æ/ŒV+"ÃOPúE¥?Bòd£�MDÐÏ'@ÈôÇ&…GÛŽašŠŒã ?ø“•€ WÄ�1ÐßtœŽPyËQÿ„œH4`ûB.Š7‘p€@‚=US¬¦èÿøSÇz/�Ÿ�©<[€nÓ!�©‘¦éKËÔNì…•ò(ÖFŽ¿ð÷áKZÉ-ªòôª-N Y(-å×78a�—í;Ο?{>([¼nÀÝ¿#­wþ'™þðÑG –¢€ª¨�#1¬8Bâzo5û­Û!?]l½÷—§~‚5þq$-7––ºNZvkê•Ó?Êm'ŸžüÝ_ÿ*ÛLàu“€½ÂHMQlúÓ•t’°>õ$'`èŠâ ¡p ¿'H�øï˜(ÝC�ïWÐóI†e*\cÕJÍ�QúeHÛ£“üÌÖ’±²×�o{ä÷?>ùÌ?Á|ë¹zr}ÆwßûÎO?ú‡O>õÎßþä'Ÿž|Nþ'á?=ð3xäþþwžÞ½ÓÓ¶±çøÃ ”µ�°–Ë„D‡5@ðˆl.[¿XŸ~a� µ)EçÕd¤Zö°nØ ‘ôçv «©I"(¾v Lô -Ò*p€,Å"¢7:�|ýD{0.:†æô÷¾‹H…×§‡õÊBíùç§çæ*££i8º÷.`Œ×jH-S  2P%öst@IŠ� ŠøÓHð7MGfJýƒŸ ¸¯Æb¹l -x·š!ø€Ê”È#‘U"ÐÊ• - ?¾=A g.a[É‘>¸ôr ?ä¹…¾ª‹x¢£ö7ê$J2®,” ÐÖj¤X&~hÀb! þÖJˆŸ“� `·Úì�ú@Ö ì²>è{ú¬¯ô†55U>3W®š÷ 3P8ðS¹lÔl7¤ÁWX]Yö­¿û»¿ ÊZ¿�ýº¨ðØC­ÿáÿ0"°æÜ¾%ºZØ×—?ò¯÷��,«•Äú—½> D�~\÷'€¤ãÄÛu;t_àÐ ÑøÓ˜-ÆŽà’Ô9câ Ñ3µð%†JÔßûl¡É©¿p�k �‰ }ðºI(¼Rô?ô·‡ù½G†þ ð(½P.ƒì﻾ 4‚?œ!ñÿ·'CÖ/¾2£!:ƒÖ(‹¡‰§é ‚$û›Mqô–ÈÀøÝi| `k´ó -COÈý1˜Ôäl2V«6‹³5=“å:š€–ë@ ø#ôGe~›¿±F⿈@�}رM1"™6ê2.̈d¿Åà«©A|úô E (Üyçxðµ&‚>µ� - %C}è‚TJô%@ˆéu¡ÙvÚôKN^£AL=NÆ¢"@?½dÀ$n XK‰Uªøt¢2N�Ed@ÿZ­!´«ôP´Å“�5Ô( 4€Ì�y½Þ­K t¥FÃôǶŠ"ÊÃJ@ÓðLî@±„ŠçA h9 %À_AQÈèšÑÄ–E ´³å¼B&Ò@„™}¢Ø -"g´Î é…ÙÊ¡ÿ1�­Ó>TÚ­¸Agª]qô x¦ºÔH‹uÓ-^4}kjÇ›R÷¿s‡Ö//…¶ìXÓ *cÞòXN[=©°A;â¡îó_Ð*pfÛ6ys|Ï´>ðóü5V‹—΢å¯z^”UIrWùŠ…ªŸÂk�ü}ûZ+N×ýù²æßßY±,Éj¯zTj.¡êXø]@ öµöŸƒ¿ŸÏß®Á §¬ü¨òðFðlY(¼†2u~*õßùïùwüòoKùI'x5åE|;šßˆƒƒº‚ ËC‡.¼~釾·e5#lŠÅE6U £Ô†œäå*ø'—Ù…l¨ -ã`Rÿ]J‡Ô�õ»e»­6Ü-"(í¶å®Ú’¨¶}éÕµlOPD(¸�Š€#ïëóh “ê–¨B­ -RYbbâÐ×=ö…ǼeßÄ;ï*¿v~÷Mù¯†/NÑÂN–Éàx9yêI %ôÑ‘ás#‹‹µÂK³7çrÿ/KnÔ‰ÈĨl»&ûEu¡xÄ:XD N¶’ oÇúvAIi. Õ‹¬zƒéÔ`ªºX]¼´ˆ ‚oßH&“Æ’iG KfÓµ—Sƒ2Š�ÒSJÝ0id™Í²ñ0]WÛŒöAJe²?hWžÅÀ±q®¢ÙÄ�Œ¦!/N¾f:6—Ò« ˆ«†¹¾`RÊ5Ɉ¶!Y{�q#øì -p@{Å+ʼn41RAO$á Ö›ОžÀVz×âJÓiÚŽ•T±mÕ¤Î7O’B³¹¤ö3ö2-£\ÎmÉ@¹ò:¾YwU´i€[õ²U‰DÑ„!)‚Ầ͖d™8S -ƒT±¦ÕlÖ,;áÖتNßE’Évöü‘ ø1´šWØô€i5—LЈàUJѤ÷ªHŠ‚Æa8¯Å@|ø¾µlƒHÀQ…_`½¹-tÎFBè rÂ3Fƒ–'T '¥y C褤*&"Ђ³¯Uýüà€wŒ UÿÉ’§`!´×ô'XbBÒ¯( 9Óö€O•ùiƒ¶*ÂwžMèÑü³’ Möu™îÕPÊ“¸º‡3'8?&:7mdÆìžx)~WùçŠ=ï£0‹›ÚïÍ.çM²c&�ÜU!˜�”W¹z®ô`»H4’Âa ¨æ²IkS~¶à¡/~‘╃·æß?ôtùÁßB#ÞÁÿ’{àþÌî›z~õ_\2,�ÓÚüëÞDÜ¥Ë?4ú{‰¬ -Ý–í€À>RÏÄö‡óèÀ �ÛŽÒ+~Äëeþ+‚oPâ{ˆÈTbâŽËçú&Á/Ĉ\/¬4 J,Äô©S€þ»'îû¥M}û¹Òk(ï?øþû!?ø�ǯòçÎ-Œn¾ëî½PNg°Ïüêã�üÞL¿òGr`¸Ñô¦…ú%4>¥ÉNšTA ­×¬ÆåpJc¦0³ÞIž¡-lAb­.ÖRƒzŠ)sIM�Ým…µ|L’ìvw°ÝvGöŠ=œAæç* s¡¥ª±tJ/Ηff¯=GX»ÒÊ–ÛÎÞ�(½ŽÕËÞZˆA aôÃÁT ÐTbÆ7¨‰Å«†%÷+ЬÀ¨‘ѳ³³©TÊôU((DúÚ#Àpô16p¨M€ÅýÂ%ƒ%xý’�9¨Sæ•¶Øo±öĶ9v»Î\f‡"ÈŠ‡6@ ªJóÁ‚Â$BÀq5*TFK(\푚Ԣ€þ4ÙKü1®Ã&À½FGcŽ�þ”KB}IX@IÇû‘@J§D è�õ^†—ç�{üÛ³$b¹|Êã€@ùm…èV(§ úùÄXa+úv›ãlzÕÓW¼ñè*kÇW®c ÄóÀÚtœónŠp&)ËoD–3c¨"š–«*èsšP„›ÓÖÕð…¹}ëÎu[�øNwvývk,wŒ -’÷©ÐfN @0RçKó2k§[ú‡Ë-þNqõþÌzû—™†Ò(yýR˜Zv+�@ŒÙ{·-ϋö@ˆ€lc5ÄkGœˆ'¡ ŸˆAdA”ÑA ߾㚄þP¡DôiÆÓüÎïúü]±„tBBôGA»~l …šQ;qâ||ø.2èϾiò|~ óWgo¾iG„ëÃä666633ó쳇AöïúíÀ_ûëƒýìƒ<$bxY³å™Ú€t&ð~;Œ,a}êLš¶�Ðdaú3ŸPe7’‰d£Ñ Ï ¡ wy)’ÐUàmôj­iØ«m¹/BUöDzí£úe5‰_9úü4(€þ äF²€àr®uŽ?Ž’*ê"Àú¬A¿à½ÄD:� è=§š�“hˆlìë:ªžõ+–³‚È J€»ÚDk>U²žî ¸æ²M Æ¤¦Õ6^™EZú#ôUåF.@¿ºÁCRH sœ‚Vëñn +’mÙI™ úáO ­(ý²µbÂ$˜ðAÖ<§åͨ;4õèÕܧ²Ü'>ˆ¿YÈrAèi8# &Ô@üç“ÅìM󗺑hò3¹WS¹›½Ï„•8´ÂøQQô'%ÀjqJIKäM@j‡‹%�‘„Ó s™bó-óñœàÖn]ͦ¤tšVT¥û‰ë¥tB®4˜ÞÀOÈXá³NûÁë5Ÿÿ[ª*i<ûláåÂÄÞ}ç °Ù$Ш÷¬5NZù�Ê+?�Z-ÿ¦ÜüàKT€¼´x�¿ÆKù-™Í[sO}§cæ`PS k½¯ü)£)CÙìK…nÉÄÿ#Çl+›{ïß²¢úe’ÓÙ|XË €r”`èà0Äg ïß'М9P¤8â”÷L1ìö^n[ÉþŒdBÿ®â?€þP.¿vžÄHÿðÄ“äÇf^C‘üþ{Ñâ?[œè§k@îC%€~ýëËÞe$þSa¦`Æh‚~JÕÅjP&ðhÀï· ûëñЩ‰ŒæDÉ8š€š -4ЯÇôNiÂCE;0oÚ †FÈ Ôeçýk—j‡ŸÁ -“ ˆŒï”“ýǯO�f\ùú$—“¼Y[èS}ñ? ¸_,6�TU49§-@ÇŸG›»¢4›øgÿ‰@ p#®,É@šŽ†Vÿòš¥Ê à™€d6<�FI àѽ´ýßiön$þ¯=O8C9ÙÈJä5ú€ ø âÿ+gŠO| ßVn‹Tç<Š‹ÂûîöIµùÇ)¿NÜœY:.î¿EÒt|Îɳa¥-Ù=ôôB¾X}ð=šõ'�@ÃòíÝ–QNØÂ’7`,f,#§lÙágÃÅd€ï.'Y‹á<³ _¶ìpZã¹z¡ø×ëR³:ü;íðǨm OÕêï3ÀyD™´EÖ‘[7‰¶•˜ ¬´+µ¦Î9QØ*^¤'$Vïü ®6¹ - “JzZÞ”çM#¯úÓ!d{µ6ÎGAÆtPLáU1&û7ß¿/÷&¦*Bñ>#¿3¾ZØ\ó—ÿPÞHªÆD2Û¹ŒR,[?^ô‡d,YÖ…Òf&ïnÔ¦^E&Т‚½Ö7¯;Eá µ\‡éõðJZ®N-û@À|™)»NËnûoX•Ø*:\ׯ°9=1|¿bŸƒÓ•ý -² h,&Ñ2"tqÑóÁKöyNJ±~eÙVNÏU^Ó4íØ÷üÛƒpNߘª]®BÀ4{z&5¨üæAa•�öÜâk •‹•…צ5MQdqˆÍÔ«ÙÌ èÐåR¥x®P<{füfœ;¥‰ÐÆJ¥nWU) �NjÓVq¦–F´5Ñ -�u]„|`‡› 7dýw­P )™%¸R‘Ðæ0L¡äâJ”ÖìàÒ’3V£ŠëZ²¬6[ÌO†yaZ «O’ûÙ@tMüO”ÃOŒ%áÀ]»+‹Øc-æâÕ‡›3k.y(ã"˜¡±‰Ì5õ+u(�’q ßhj(Q«ºQU%¥fÒpPÑ‘$±í ¢¦ëY˶k8§ÚNÆ"ŠB“”j:=<÷Ä÷ [7{ÃJ‰p¨™þ¼iÍd E ×.Š>ÔØ0ªÛ¶£Ä–L •+!šmâpŒ[{$+~ßs…ÔÆ¤L� ÕŠ©’ð¸¶?Ϻ!“ÝHÐ@}ܟμfúg3ÝEèÿ÷Ϙ÷Œ)D×ó·µà€�ý¬º÷¼ÃÑ—½êæ·)…3ÖÁo¾?»ÎwÔڀíT½‚M“ì¿ÖÕüã’å¶»NšÍõõ°•×–Eî-Ôú9àC2.×—z[ÛÉtÛÂê+V…ÁbZ�%ÅÐödù6M-.‡/ª­ñæ¯îú$õTrã Ù¨˜K‰«6:TH"ÖJoŽÝzä>—?ðVmòã¿„ÔkOOXË8bò;â‡/ÿá_–{~q½T6¬Ég&?øþû wÛ-@ÿ7ôõëLV m°¸oâ¦\kyió ƒWÿÖ�˜\†eb·½Î²Â—Ã޲̚Q‰1¨�1cE ÈA‹Å“¶ÿ.÷ îÐçÑŸX!Ð*Ö:/¼ Eáü|Gsó%Ès[Çús[…âY”ñý!Ÿ}µ¸c U�ÇþìK��ïDX€# i(Ý}_–¦_™& T_é0öÎ=ô¯,TÈǬ ýAõÄÊs�¬%˜ûxÓnÂå&s¿!¨”‘–€ 0ˆ Â0¹cb“ZͨïY "ÿÑçÑ %@ÿ q¨>ÔùéYîŠ+w®."—\"*\ôÿl¹´ÔFlºj…9³% 0rC2&ÅšNxWI(¤á)ÌïÔ…›}<ú\R—ÖBíêä±P[µ¬u„ªhog“N,�?æ9g�îÎ>ûü³Ü5á}bJèÁ˜ôî³÷-w­}8 ¿q¥j ¨kd]•º×PúÇï×Bÿ®xæëýב¿ìþ„qïmÒ¯1èâ€ÉgŠîέýVƒé¿ÃY 6¦ ú²¹e× -Ýl‡`*ñìÅVT¦âÌ–�¨²‰r‚fÊ#«R’ ï $9)ž÷ºq™·_jƒZ½bŠ‘5@Ìîßê&Í7�÷ ŽE÷«Fw«f= À\Qê53Àðµâé©Üö  �pó*[� ½÷ßwØLÞtÏ�Á÷¿x®˜ËåŽLýÄ݇àÕ\¨Ôà o(à€[G‡Zr¼pæG]hµš}–Ùô�XhukD–€@(Û“ëc1Ä*ïú&³üˆQ ¿Ýr"Q H:|FDôÜþ:<p"AUUÀ}P§dæéé°i™õáŠé¤U©n!Àéšù�›3p ùÑ#SÓ§¦éY;¶í©\ªÀ4P5 �ýƒjådZHŽ/ÔñLÒw(Áßl˜€þ�è3¼ÅÇ9L“&�ú¸isým6›¬œWØäÙÇ»9 RK§u2gô;¾#f¿JÇdð�´÷Îñ…ó^ÛV.u³ÔT–à}I‚dr^ŸWÈÿià€ºé]ÐÅ¥Z)«g�Ùw ‹©Ì¾ «ëV§·ÅÑ#‡ƒ²½¶PûFÓ³ÿô|PÖ´õîëM€þT y·é´£Ðæäûï -m™™/ý!/•žýOÎ:_úf©{EÎ5àþ‡>aN{ 8 x®Çb‚ñëgŽ!úC¹pºÆãæ�L%É8[¾ÁÏ x“Ò&»†gHÎ3*,Þ®öãõë -MÎ 4ÆØ˜ Ã ”¯Ðu¸Šòu>¥ŠíPdî}þrÐŒ�žØ®ô h„­º1Aí\²@ËÁ@`Áo�LÚþ(B(üÀO”´¸bpFKØ ‚›ÈmûQƒ€& Ð?t…›!ºdV¡1aˆÿQa×£àØŠ$×LrqÕérï!_àR8<…€A?éÁ5FO �8³„þ^SÔ‰Hü§B*ååÄm»Š¯-� V"âWX*—Ãq§1‡Rý;ˆÿ�‡è_7�%mYê\“Õ³}½ÿ-ÇR¢!¤u¦U0Ü,ärYà·O"g|8¢l¼å[Eççð',Ì�yÏ=À²ÂúðÒ�Ó9Ÿ'н•ûêeï»<Œåq é*=:{7lš–¬è¸øÖVpMžÜ{Ûž_ûw-–9²çݸ;ÂÒàý�¾pø3ÿíS÷¿WðíCÙ7X×òÒÉÂ`z(çOÔ?ö™'öÜ>ñÑ_~˜oCý߸…â|?QÂ:(qŽ„8<™<òÄÔK!W�yTbK½",ÏèJa¶º0gÄ¢‚SKWðÒÝc’&)O¿b}îoÙú´ ®‘S1_�‘¬¦¨I¥sæì…ýÎcîÃ÷Kߣ<{2|7‡/<ð¾ñÂLEOúÌì8ã¹á¹ŠñÜËHBäZgVÅFÓñVßø©Ì �ÀW%o9ßøUmtÉÂÞGU‘Üü­uÅ1½´¦¦U˜m7PúÌײzˆØè!@“ïlEd®œ¦Õ=$¨žJ¿°Ð8«�Ð0qfpm"/w¨0ܪd÷ÝμÁj 7¾ùÞtÖÓœhå$ÕÊ]u%QBÃñOr‰òÄ6â¬[á\¹ðÒ‰ûîÞWœ›/œ½ðc–¦(ÑH‡½?3¨Y… rêÕÃ[¶c-¹�g€åŸ…,Òí¦G2™ìxïQ�œªWê)UBI'¬v?'døx®½Œ¥5¸¿µl*죹T§ø0älŠ®eqUZÅ^´g7šJ"›e µN¾T(Î&5¼xïÄø‡þí¯ÏzåÅg�=zøûG¡üî{0ÞÃÉ“S€°š–…cï{޾püÈÓ'nß½íÆ‘‡?ú°Ùðxèìk³ßü;tuÃj’ÄÔM[ТÙ³x˜Ë œà¢“F½Q‡Ä2gÅ!‡cÒÖ¦d6/Ýöüá¦*À9N1ùÊøŠ«Øï…I®Ûý’Dn¦¸°+è¸+®Ø8‹e(DD‘|„iò\•#ÀPÏÀ—Ÿþê]æW#& ¬æÀEj žƒ+›HôîÅÚR¼ŽÒ¢Qºle7*�ëF%aT’ZØáhýˆÀŽ®mÆÿg>›óÚ§É)1®ÊU} IDATnN¥TvðÚF!@ÿEúÄMö.P­ÎÏÿðXüS{oý§£/õüSTŽ.Ö;ôÍD<�Ç{^üÃ¥ $Bs骢šЃLßhtɘ,Þš7 ë¾°¸ÊÀfAÁx‡ ÆÖû˜Ë¦8 èß3™K&I¯µFèŒèÿ¥¯Ìf� ý!Ÿ>…pŸÞ4\¹¸pôèÑðÊ“S»vMÀœô‡ÐòÝ{ðü¶7�u=ô•ééü-㦹È~—7üg^.V+Þ�_‹þ])½)�3 ›°OJÜR†úRØ€¼„ -À(#Á‡þE–KLß‚Üî4fÎtz‚îW:Ñ¿3i\,�¶ËüÑaµý ¯U`ÞiM¨¥Ùh¢úT*õt:IyݬÃ1œF+|»µ Çú±†Íåf~l7…™ŠªW*Z= 4 ˆ2¨ãÁôCñV;·%èOg>üs&žD2ݨ‡†¸‰Ûwá̼Ÿæ.Ìßy×Û¨ =­rÉŸfh�¥ÿU‹ÅØnIqËlÖúÆíU®l!íWÞ²_¥¯ªÀØU¦`úwˆÿ'fœÏòÄä=7+ӳ̪>@Ë„µèO©¹ÜŽ D 'ô§ü÷þÒüäGÔx øÖÉ×ÔŽhX, k(¥+=ÏóÍ—eu@B%Àå<…¼Aé ½é§`^.@nÕŽ—T¿+«ý¢é‡�"Àß ¼æ£u'›¹J¢H3 ôÓ_Iü÷–¸­†ó]k‹ø ?á>(òÆ -ŽÕžƒÐ?³E)3ç=Õ2=|h2×íᥩ3Ý× jqkUè5¯7½ðƒ—Öã€.ôÐù ˜·r™¸6845}µy €J­9g@GªÔŒä€×þ@õ庞ԛÌóÏ®„jMöò’äv] Ç$sœ¢ÄbÐ-U³i’µÄõm&èÔƇQ•üÄÑ“’i~08sY½K,fœ åJö"Ö¡rq>½iäcÿ˯=ú|†.èÿðGÐnðÿñW•xö¯¾ø €ÏüÉç‚;L;qhþàÚv(¼<½ï­÷ú᪩K• ôzu0RJÎY`‘Aá$( £Aë,ߌC7q¯¸�ÄÍ'P¸ÐÇ!¡Cã�‚âÿ4PÑ¢‘Ô‚•WAÿì ˆ -·"Õ^Ç¿k»¶ÝôGXu‰Ñ!¯_ñˆ*¨UåR ¡²GRM¦’©€ùÍ7…, â?)]¦'€~È'Ÿ™þR/C¤ã?Ã]ù'¸¦…»nTd%Iâ?ä®å:uVíšÈÞ=JÀÄÝp@­ÔÒo?v­¿±ô#`_…ºh§Ï]ïã´x<&_{ž cè!��—L&½…¬QoØCR£´bˆ åAÒèIò¹Û*ÁªÑSÏiµ6ÝÁbãò"Ù€ζKsZ\A%€™bNM¿üõèÔ4ÐÀ}›F*="ãO�@ 8õâ `‚™³eú)�*°ã&©Ï¾6{ð«‡@ö›Â\ô‡Ââ¥/þ¯m4 -7¼Ec€ûìš)@ .€“p†Q«Öô”^ó�ô=€0wx3Þ�”È6Øèbo7ùgU*èOÐß•� ¢úgnÐàµlíBí®–J&d8àcižM³ËÄ®NAꢠÜ�l¨8œjÂZAS) €¤ þ¯­Í:CT±@ˆ_6c*­Ýݺi9r,\tc±°ÏV�ånLa¾Qµ/Â%¼¸ˆÕ²æŠfY6¨ÞDQ4f x¨á:,šVÍT7¦hRú|± ÅM0W–r¹LͨO~牺?wS&&ÆŒ+·àm—�?ÿ³Ç ðáýHcO>áŇ è 5ÃøÚWÃ%êðp$Ûôæ‚”¨V«¯ÌœŸØ[K2)r¶0k‚Æí›[Ýìxâ*ú2µ£8pÈ©)¿-Ô¥r©PðÚ9¥¥ n‚-Ã[à˜zyJ‰+®¯C‘·•mÙpqŒÁ¥,iõËvD‰±¦¶ [WÄìæô‘g¦� –’óúZ­f\6�Y[å”´AUßí¶šÛª×.[åÓIÄ¢0Ö\sÃ%7*¹¼¾P4ë4>zÈc@õv;‰P°Jµ" HÍZç„[wE†gEV#1)†¦9  nbLÀ÷ÞûAMË”ËÅÜ�yßyoØïEl¥Vž˜ûð/~ Ð~×®Ý{ƒ–܈Åt½ÏM&ÏNŸ|û�· 7ZÆ3w#òqDtÇ_±ÚûúÍEý•[ÐÙ;’EÜD�i€À›Rõ%CéOÚð–ãÑ­÷H«ÆƲYœwÁà4–BÚ Çʵ†”$µ#A.Xp`Ó\2s[4ÓŸ¬ôÐ?£"ô£¿Pe@ôÇN_“¤¾¾½;õá‹Ð}%»I �}î¤sçIg<¯NÌô ù�=ŸnÌ&æ^ï–;ÒlÂÙs«geÈáh^¦¥{ÍW§“Øù*WzLg¥4žÙˆ²^±Öý°´¾®=wmâã&y_ß g•ÖÜÖûk¢‡MÒ¥Ò �i¯å=}Þ|/gЇþ×bóØÄoÓVûúo8öçæt<.cTN å¼g™!§ÌûÞ’+œ)­Ü R\ìxtnP+.ö¶.e7Ƹ‹¾GŠžLôDÀ^„rßtiÑ[²œÑ¸­v˲ñÖDÍf†2™Áâü5ÂE´–kÁz}�mýAçÕª¦å‰¢¢ëÖ.U‚�ë5ÃŒ1+* K°_hдÕ·}¥¦ :ù¤¯²8À1¥[ÍÅ�F–u@ûðžŒdYÕúÍËž.^(xnšF­¡éa°ïáaO�”e¥T®–˜GM͘Þu«'ÑŸ™)lËS�Î�û< ?’ÇBrZ³:{zV8-Ü~ûí;ò;ýg^�QýåЄõ »P!HdÜ ôŸššÒõ¹ô'º§€V蟸e(‘MQX£I«éZÒ2›ý$ÁúC^ºP�] ÓêP‹? ÿ‰c¸NbÛ-éäFµ~™Åb,›Ôcógk•×­ü„.Æ A;€Œ€��©„ô€êåÚ ®A®F-]Õi]X À¿ómïËdr†áIÜüâеiò©ƒ¹­7Ÿ:uj×ÎPÌg ËEŠér츧Àô÷L’¢9–9 «Õ¢œ,Ï‘¨Üî\Ø”ô]ëKF¬_ \`é䞉»ŽOa´p«i[¬·sp¼¤'ð¦@�Ø�â?ý)Í4Ȇþ¾'ùÁoß4’ÌdY`�r]Óe €ÜV¤bÀ}øYÀÞ“}â06 ?p@­êÄó/ÚÛnôZ”€§Žïò×¥ž/5îºmx´Ôˆq~$?ŽWü™(ÀáŒ%âú‹ÅàJ⃛rE¶™Ãi-TýË–û„«¤JͨóNGýb©ºî: àü/> «+=9 â×abK:«©%¡@~ÂÛ'‡Ræ­¨ôca½å`·ã4ïŸüæùÇÁ˜9Q\²©tO!<ñ}ÏÈÞ…þ쌑Éæ{¨¥ËêÁ¢ wéë¸]ÁŒÛ™$Å¡ÁAá jåÎUÇš7ŒŽ @ÿë á,&[�I¹õ|Ï—‘ÿ¡—¨Æbk 8³e -Ì¥ðú[åó•Dༀ˜!ˆð†à+Æ’ °Cg0🿉^“ó3kfØW^�Îç¦^B&Ð}›;á8ä´)J6“ôÙ_Àyãi@ÿ{úA@8Òƒút¡8žGÔa<ák¥R-ˆ]¸VƒívBý¡LkÊ2Ù ¡?Ð@v�s=ô;Hjc*KôgÓY8æ/Ì{¶j [vÀªEú�ÞXžøíÉÆ>ÑàþU^"6Ë�šÛ¢úë æoÕùлÁæ07oÌžy©Z˜ªÔ§¼‘ £ÀÐ?‘ô(v±fÀh‚£ÓU[¸çíÿ3h= µbê‰4Ñ@«£¼T<û -hŸú£OÑÇ`îPä" àeç§� Ç;÷G‰T"‰ÓÂ1I4 bª–‹*ƒ�Ðæ¢�PM‚[%üÁÖ^]‰ ¨”ïv þw4hoMâ¿À†Íú <ôžmÚ"+ \ºd‘  „b3- ~°9²IÞCñ§>±Sâé ?Pî{«×ô <õý� ôÌ�ÀäG’ÎÖ÷µrÙE#à}/ÅU>ÛÓ>Ý'%6{Ñ6(ÑÎp^âžuëjh«m­C Pωí^ÙἘ¤·”T¹¬ÞŒ·àHcìGª¡Vë!nîk Í®=™û«üÃXlpIXÏ †ïq­ÇúÚè¿=3xºìIîë�×~ -òœÓÐÚ/.ùïX‹{ÀúÇA›G;?^»bA �R=hÚ´ªÑޱ|´8§‚žÁXtôêÞ1XI…lF‡¼ÄŒÔð¸JךèìÍÂyË7¡€Àß� ¿Æ<,ú‡¹?úSaçx)˜ ²Xñ¿²ˆ²¡¶šlÔM² è/0Ë�ð~�8`þÜ<íBCa¦¸ßë±%ý3YŒ�SÄm RzªÊ–íØŠ÷ÜǢP»\# €¯[s¹©mèXÔBJÀÚ_~…�—À1—ÄÈ‹gkúã–�æÂÙ -( ]ÁÄ¢�ᜠ-âÿBÑ„ä¸vÒ÷“¡Ô¨7øÙiª$‹¤+:â?{zØ&ý@XŽz�e°Q<[8ð®ûì#|ýYlÁn¿Ðäœl Èï@¯¡À -$±…¾¤x÷g… )%ÆWi4Á�üsû›ï$ @aýò¨¦ƒh¼ôj ÇÆ0Ü’Cü'¦‹ ¼m#ÊR ÝÿK‹8bÙÁo÷Þ‘Ü)Awd/+¥Š’äYÒµ¤Xœ·vdÄ»ÔÉÔÞûžì�ýú‰S5Ô–DŒ€Ê”î¹’:¾E�>‡åŒfüÓ”;v)P8!«uË©\¬(¢0¬©1?ºÅ©öL®þë·lÛoT*—íöŠ«÷ót×¶ü5å¼…€�¨p bó�–"rLŠx‹åš–K.*B�rø¸ÊôRúÕ þ+ý¢Q·qw7I¤mÞð+‚,ÿ‘üçâÌp¸@Æíèì’è´"e²)'c „PÖä~E–c�aúYW’ƒ(± ›p·X�G�š�‘àbAi(­–ö�øÞÒm?ãͲ6§�n@IÎmÍÏ6¡](U �L+NQ!?·ùf£Qa²fÚ­CX¢€ŽUÃÛ¢ LRôç/Ø�×çL@ÿ…¯ß§|g‚¼Xáwòfî €þÝ;‘–K8',*L“˜.Úã[B¨zá”uÇ®ðY“ùVz‹§0¢iãTðöÆ|i¢RçÃë³èÐýr�­ï 8 H„­àÇ üLULW˜A-“šmÕváÐÙRi¡¢?A?åĨ@@Ž>"€~j\$R�Œ;1×+? _Ÿhùßj2<Ô,ôT*€@’±í&P¨/V\\(p;ˆ~‰¢µt­øÂ¯wÄÛ ô§´ûv”,VOïûÍOÌê«×å]óÒ¹0phö†ë]ø¾´´tÿýW¦‹7�çÖA-¯ò�·LL~ß[²€[ÂDþ‹JÔã—2Û-`sfðByqÍ-Ã¤È @jtÑ�<]L!›þ­O ×îúœ…óf,´gÓnã>�æ;ð%@¿Ïe¼-Á¶|æëjþŒ=\Vcb8h%0$_ר¦×ÐO9\Ð?)Ìç’ÉŠ#T+ÕTá»Z¯úóéðatöØ}zª”ðn£7b̲¹ós{ï;@¥n,\X ™·k‘#ïÂO)ðqÔ5O&1öì,±ä slûÐ@±ˆÁB AA`kÄ®ò.®™ê�Ë2µƒm,¯X©MJŠ™ª­Üötñ´g£¯”ñ[€þPÐ4…67T€Íw@Dݨ¾­]ißžwS�¦UZ?»ª’ø/Ðü6n¤¡)ôO~ò·Ÿý.rÞ2V7q¢ ¼É•0¢)ÉþkSZuý!ÎÐèGojì”¶î£=Ž�eÀ›Î­û.}+NÒ·Æ$qµ/”¾]Üy‰ Re›Q�â"Æ8Ra¥OW%àÐVÝð7j^¸7<Ó` ª²Ë…›îJ4¤q¡ýP¡�ú“†¡¬Ø�É‚~3mYÃk-v§cŸ, ¢"8Éæ¯Úç/ø…Oþ-OXøØ¼4ùœñÞ_+~á×3·ë@û×ñO}u½'\#ÝzSî¥WC_ûŒ¦@ßýÊ7žà¯i,-]X\W€/[ÂÍW}Dñ¥r ÆFp1KQâJ4â]¢´‚Ž€×5€×Û¡Ï,Ê쬟ÐܯÂLpÄ&w0€û¨·IŒÂWmBÈib3&ƒ°âPduâ�A?yIlŽJOh@† 4 « (ÜÂ>¤°–æç‹Ì#òÔP -FÆœgƒ}àŽ;�\G_i(ˆ$´A@ Œ€ ýÉç?-` d¿J¿ À "Ò:�W8Ó¢îϾíÎï>{ø“ŸüäÚ6é\-Œ¯ 0[ÈïÈ—.Íû'� dÿTçy Ä ЄBŸÓCÌkÍDHù·¹Òam= TÁ6ÍnŠ�*`­ŠJ¹7�ìïÕ·2ð(ܺÓäZó̲Ì;ÈS|/Ž~¹É@–dy)Êó,™ô€Ô•äz8Œ%d£±R¨:ؼ È -ìw-Ïþ(ÖJ·¶Ñ¹IެFœbß%…ÌÝk5' MlIýа&µ[mH�{ ô{í¤G¿n<ò;ú È ”A¸ÊWz¦<Û•©ô:‚Kv£Âs@Ù°ŠçŠ|ÿ}<$âñ«YpáRÅøÈÏ>ð—}èêÏ…1Ò¥ðr«G•ÀXÇï¨g²l¬!5škWer(îšI '~=Wà@� L@üzro­[ÿ% -´à+\+Ló_!ô}ÑêtqHõ -‰d‘‰À ½T€ò‘gŽsχ^x¾è«û÷ï'ô‡#;œôîÙçýoÜ2zøùãÃÃH¢ Ɔ7ӺܮԱˆwý­2€„³ÂäS“„þ�}ö±òbùc¿þ±ÙÙÙÇÿáq€~¯ò ÌK 2õ¸�ž¨^®¯Çý´,£ÍíX$uC8:/6'¿5 èyñLå�÷ßrà=yàøSv„Í‚0% |®CNZ»‘Ÿ€ñ_` ki~UòC<) ÐEܾØe¦!¬ ?h úôÓwyè_›hßæ®4ýŠ'͈¢šë^È}ý‰Ðÿ•ÓèÆº¦B²Kƒq÷‰Ôéô¸ÒF[¬}–…ùE+—‘Rª2¸A®У�üM Ãh× W×Äá”´;'Ì]̶˜Þà6š^ÈNU� »^w’IIßÚnLXÅÙ¶q…¶ušK -@ÞÖiú,ÑìùÑܶ­¦È†vußGRä^3¼rœ,ŽipZâ<Ä>�!ƒ¯Ñ^�NÛTQ ¶Ó…KCsÕ:'èÏòƒÐ»gתC~�_gU¨&íå]Ö÷ %;¾Wæ4ÍÖjß’Ý^bË£>ìã}(FîG¢rÇcDª¤ 9$ó>¶ I‚„"Õ:¯0-ášWøÿ ¿�ƒ®™I‡Ö˜Oý:b�ïÁ.AÚ~ÃÐæ'9™º0WòB%â“/žîº¾P(f7†/t‚«ˆÿ”N¿^Ûnw°{NS2[rG^ìäK‹¥ìÈ–ž7A%`És5Þ·'=J€¢ènKv¹Žn`²ÐjRÛО²?y#Ëô®=Y¤%‡¦!U¸*âlñ—ë` 4ù×0“‘ê¹ÿ‡ÛO’ž|S©ù›Å³ä®ú“ �š–HL¼ygþæm…WΜPƒ0pŽ>o©:ŠZ -¡`n@VËÚû–w~ñ‹‘Ëe À"ÆJ¸!»$™Žã-pœdTSÝ´à§áŠ”/}ùk;wŽK¢T<3%Ýónrp_mµS鬢$c -®óöpqÇ@hIQv��æóÿ•ÂáO‹kΊ'/r>tP%9{Còw¼í¾—_ÅY•“ªÚÃa";ØŲ£ibõгÿVìv€û ->®¦yn6£1¯±VÖ…FSXr„D'a†‡ÕÈ•>}úøèßu&©¥{ÙO:îÿ¸nìä•}#+~ÄD>´ò�6uA†í)¦/0¿ÏÝ·i(é·„'—vïòà{_ÉïgÓ/¼| €ž\¦W ÿ`XÖä÷N|ì?øèŸп|ÅÀÝŠ³§xÿ}‡˜Þè×ô%£‡,o\+íz›Ø±yj¶Ç<Zÿ™ŒmWX•½ðMlŽ‘…hF¸ïCi@éG³]`¬˜Ç< IDAT ìWZͦâ‹Þ -Z1ÀÈ£½n c²½¥ýUÿzº[¤Sñô�S1ÌàÐ ÀÌË3€°ÛùÀÝx/×ø„–œüD>ˆË¶û6´‡doHçÇ<_Oà€~yÍÎóåç„ÖKÙt¶Ta~÷[°’O>óä¯ü›_Ñuýñ'qÚØÖ1Ð<øëÉD—¶Ñ3zÕµ“ÈD<9’š’æ6KÙ{÷Ž£ÏÌBþÀ¿Ù'ØÂä“Ó¹­éâYÏn¡mTjµ¦“š�›­ò©~Åó³¢°Kã;÷®5‚yu¡­Ü˜léüØ_<ªÈ(™Þ÷^ ý¸¯ùÞSpM»3¢p@Ó2vîìáĸO9p€Àm]NQ L£¦júÞÛ÷=vrú“„–‘É‘sMV–U‡\Ó†wlÛùø“_ÛŠKÞðîJýT= �Ÿcá‰nÔ…`÷öD :±Tg3…‚¡ÝÀm “ਬï&¤:† L­=OÑ&\.ž»�3¢ôõ…«M¿²òeË] »`…Û{2Å9Ÿ‰ƒ°‘îå|ɇ~à¦�»Î‡uKÇ•bÑ+—¾¶çLWJo '’ƒa³Ðԥݲqö©O„ñì¬8]V _øãòÿ”;ñÓÝ»´ý!9V#¸÷?tKñAñÿô:¾4Wñ¶ø«¯z×['žú^�sèõȺ‹–ôweª/g°·l§ÂKçJk¿H©Tž?pç¾/NQl¸ž»ôÿ#=F¯Q«áÔ’åq£Iìk“YqÙ�2 ÀâÕã?Ä¿g½©™Á=m›Û»‚½•³0°·&1'  ÙmÒ$°qØî•r¸Í%@ÈÉî/°� )È3m‡²paáè÷Ž÷ÐÌüîÛv/[hÔ°«ƒPÚˆ râÓ@‡þþq€~¢”ÐûeÚ ¥GCS;ˆ"ï,O©Þ¨g�i€*¬É™sg¶žÛZ~¡½|ãæ„#`œÂÙsln÷Š·«ý\EP¬%S×9ÿº“NKé¤ÉcÍý·ë3gqÿH•­€-Îãݵí·“¢XKnPlÓ.-eF2ç'Þ‚þL�Ÿ:ujŒ[=ÏËPZ:\:Ôàçò ©$NŠ/Ìwìð4_^ºçÍO¼.Ü1ÃÄï8¶N0¸ŽÙ[·Û¨å%.Zè·8Öåj1Ìéï&·;µ÷ä‘m7�%S¡(NzúÈi®˜ð GµnXÒîôlø* Ø“_kò* ù˵X-xô/Ç—‹÷Ýsà‰§'»oÛJkD0 ù,Ìî®MR¤U*)Y-^Z4Èí‡å—´LÆ Ukx(;¤­5áòj^A½‰Ã,¦`üJ{…Möú A-àÃ�ˆl^Ê^iÊ’h;.äýPp›¸M+…²Vœ˜,zqÛ.iíûÒ’‰FäΠ�¦éH2œd¥6|4ìUÏÁCI&€´ò7åwlG†k,µË¤Ó# óÅ>ððÑ#“ ,æðÍ7ßñqüb ¿r¾øÚž Œ�S3ªÇC¸×Ã�óN¾8}âÕÉîkX@‘ýwÜmh-Õ -³¸Ì8¿c<¿-ŸÍähèÞjüÂ%³KïIܵo8ÒrÎÌ›[7«O©ä³j°›I»É¤ìáâï[Ó/CëˆÕË6©�òrÝ»87¢�&W°�Ö¯àÄÝüüÂ0›Gܬ4c×Î]üDkÇú!®Ö1~—œ(G�«…Ãë¹ïòS½z<¼Oxp;…­¿éWîôâèyM�s]ïòcá¾À•y-á�x¹üèéByq3©œO€ãe?fä�eCø¥%ƒ÷ðé® ÇÙA­ÀÙˆp‰€±TâæŽ\5 -t�š¶e-;Š¿3¨½âÛ| õÉR4â‡kõF;î(Ffá�°ÛæÌM_ˆæ } P pF\¦ëéBÜdë}$YáCáßÿ¾3œ‹­QëéÞÀÙœ#˜SV½i"ÔÎÍ�ŒÞrÅôÉ“€þüïÍmß¶sç8@ÿI·HBÿ±[ÆŠÅâôËÓã,ͽ6[*wD—ìJ yä6 Ê}áèÞ;ö’α{Ïnª|$KÔ™™™£ß{ªäýÆÎé - Õß�÷ÿ1j5ÒÌç~Õ¾U3º–q`h@­\¡0¸IƒC@� c$'@ôŸ-ÌúC.�¶ZîJAetßþè•G¯—öì™ø, É÷Ï“ž?ìm °ëÍëêJãcÓ38ÐZΜîhˆ¤*ÕMçž;¤çwJÏ� -U$â€#ý÷îK ûÒ'�U?Â%; þ×)ÚOT¿`ÿÝ >ΚÀøæ6« øiáÂüÞ}{ÿæIŠ�-tÚÚt;|t¸½Cy€îtÁ¼vXàÿ‰mª•Ïï(€>â›­wMìâ5Þ…ŸŒ§”H˜ej»ªrš -'íoÛ¶mϞΠz?ŽtzþÒzp=éÂëëšòBiszíŽë&k¥É¢by}XŽvŠç,´z1‘€o™-‘dÁ÷ ->¢_?:.;¥¼ÆV¥Ðb1²Dp&¤ 8ˆà‹p8’7�NW¨c9 €ÙÚ¢ÕkIÐt-6<’ñ_`‚v&›)—ÊS?À ›{ï¼ Ž£Ï£ûy€þ¹mÛŠgÎúCù”ý]顟í6>P¢þÁ^.‚b~až,<À£Ã£‚¿0�È€ŽÂ©)Bà$ÁŸ²¢Ûv¡ÿØV¶¢‚”V³ à° O’šG�[Ì¢7y? ¾TNP©XýÄBÔHmÒáÉ—¾8=U©ÌW ý±2Ì®+q6à§ôPG¬æ}o9päû“‡�N^?€øù;ßñ†½«?û矽ý¶Û÷ìÞsüÄñëü - ÿsßû.@?”O�ÄÜl„û>öqÛ¼ö‚øOÇoÚÀ¶íZ@è¿s§L¸è�'�,DnO“øP¹¤•ü­}áu?ÖÒÒä3 ‘I€ûhÿa‰Œ?ÓæjõN³; ?èÐí¯óÇÿ¿1úóON�$⿵›ºA ÊÁÚKý7ïñb\1~@<º}d¨a4ÊkëfÒš’Ð -3ëŠÛ/½üâL4–jñx¯‰ª7’FÒ/þç™ë÷bÝÊÞÐ#âPW" @î—°À‘EÝòboE=ËO€þüȵŸwðg;û(ÃÂKJWàvaEߘ$Ùõ€¶âÿ0³´�€¡Ù^/Úà<ö™?yè#?ðµ¿ü"¢ÿ¶m@“ßúǮۂøJ@u¨:Î6à{]&‹høÚ¹ó²,wm Å´€Hê?qüýµä³>�þÅù�„�,$øS2¸�Ž¢M‚JÀb3=èAó\yx´Ý¹qp€6¨ F¬êÅZj“4BU¥dVÊ&èúCÂÅó¼…YUôט@z ?�2Ãx�Œu4øáMýŸy?û…@è­Äð±ËÈ–@ÿ¡oü5xM‡‚[Ø%pû3#ÐJ,�u¤ïð ( ÐT™÷]îžQ§·Œê/1P#ŽÜ‚u)_v÷Œ)ã[…ã3VjP™=WÎ(P8yºþî÷Œg· ¿5=¾CÏçõéY¬ŠÜ'TñÊyýøKµ'ž3ÆoÕӃʓß�O§ÔJÕT<ꉼºïVáø)+é˲V47¾]Éo.Ÿœ®_n,mJ´Œ¨T1pCbûd‰‚(ùfuĆ寭öÑ”^Ã5V¬c5]Çû°[¦EÂoTàî㮺´C$Eú}€n �ÎBšD"š{8á<jbØ£j`g¤Fë'ëåz2‘”¥d×Êxè@ýÑõ£¡¾ñ4�..aC\X46o™|¾‡eÆZj&T¯=ïØ•{ádÇ ‡×wk~ûK…u]ŒºRiÑÚœ‹õ -¤Å…hT¡•ê]ùÊÓ½ÍD™¸ë\ÓP˜ÇŽ 4V˜.<|:7<Öñ]Åj-Y+ÁGf�% ç^LŠ-9¦¯DÂ1i vÏ8¬p�ïci‡#¾ÍG„›6Zöw9�mˆ‹Eè�‹w*•J&‘t\…}~ø´öºlf*�Él1ÆvŒüú?ýàW>ÿÅœ‘£òÂ¥¹±ûîß•?ôÅ¿ÊnÎV+ÆR 5¦¨Ñ¨‹ÇÔ�Ôç>÷ùáÑôÈ(‚ ’�tK«-š™¡á‹•Jõ²1­½ß�ECéW^[À°ðÊ|Ÿ]Y”Sº7ûºÐËLäfPJªž�‡Ì­±X †À0ÛL¦Öh꩘,£w¬( ŽÛ´ûÐ3ʾ‚n ÉÚÕ‹f[h 6pcúº74VÃaXŸ˜t颹ë8jLZXªÍNW¤˜ :„6³[í“/!ú[–kŽÖa]Àúˆ,Q2�3ÕJ=ÿæ‘Éï*ž. gG†³s—Š‹ånYm·é)bx"æÎ«'ÕæŠSœ-äó™b­ög_›œUÚDˆœzºÐïZMW‰‰FÕæWüÖ–BZçWéú]RUQgªU-=¥h©}tYU‘hU¶¦©Š"–EŒß•úE¹Ÿ­5{“öøwXE;ú?úÓÚÃ\^([€þÁùüÖô¯þÚ�mgÒÓ³ø^�Ò)e–mÂ0[ÀÂ�»ð½N>Wô/ÎAÀEH¿?=UðT�d¿P_®ž\¸ðÊ…Ò5—ü‹JsçÑfôÆa(ÀK'gJÁ�…¸uk®ëúÂL!?–Ï�Ý|è›ó·Œ¦§áÐ4>ýâôô‹žt�ND¾@M^w�¿û}¡ÉBT�KÞÔñµV/{XƳ –4S - Zoy�sñò¢ÅÄxâ€ý)%™Ñ?Áv8ИçäꀋAN~±²$1‡«Þ^ª�'àréi.Ûb4 `,0'ц�ÝР@QBú•Ù Pà_›JcÅvÜBþK\`5E„ïB4`ù° Q*ýr©h™ üÉéah4 d;5I!µ™³–;+¸+²Òlutu€~-gEøS.§‘/ÜfNº ¢�šþÔÞ­â‚À¤pà€šaÑÒæÐÌÌ�¸Ï„¿»-ã‚~¼f¥íÝ8`æ5CM ø�?¬_I|úoŒ.ø“ÏLnÛž>°/[©Z•jÐ@üO Å Ô¨,ZÓ…hFÃÉ�hÀäZèuNÜßÖA—Ovç¦"·¦0:ü+‡ç�ø XÏo.�þ:Š®nîó -cZˆGFRN»âÔ|'Wšœèâ5Êmý£ Á¢ˆ]è/ HÁ&6`#5”˜}y^UÅáaÏ1OQ"¾à+i ô×êf¬_R“JeÁ€Žª¿¯2ù×ÒÔ1�ÂíTjù–¢D3›™ºì*roOh>EE >‚ìoTñ—Êr&\�ÈîÜ�`i]µ�˜ìëi�vät lP9@öm  ìSxOæÐ·P¯6ñ8sºR¿Œå4{y„Kh,*ÔΔ½Š Èý"Úb’Ùt~å鉼Jâ?ÈþI®bãÛ•éÓW›î–áuIåk—çQŸ éC‘(ð’ƒóÁ™.\¶;õ .î>è:ƒ'ûäà‹Zƒó qC;oÇSº’gÖlu€ûÚ¸á?DúÎg0þ_ñ5f¸°­|žE.XþÂÇáÿŽýÈýÚU`­€©ÇãZ<^,—ÙfÅùÞ¾I§Ï]xà=^\õ!®Žþô•Ì`�Y�#/£Cg±ÜÑarÃC@ GfpÕ¾›2G^ ýç6�ŒôÜLØZÆ*Ïõð…툤X½'‚u_I^…ïm÷×¹uøLö÷¤~²ÿtÑÀ½ï:0ùÜ‘]·ŒÿüÏ>ôÅ¿þÚìkÐçÙ^`�ó8ê'§ÿôOÿ´«~‰„NzÀÂ\% R ·,�vÈ0ò(Š™í5g;Ætm¶6úƒ* È„þ ô ÐêhBº›ìOŸú Ü–8té‚¿ÞˆòÇ¥c|ú˾Å×sì* µR‡cÇ�¥p~¡ÇÐ  Œ×v­;†óÿNv8]¬c_2}¡„_]Á£¿·Á@q?àДØÕÄ;ñéwuÑ€÷»‚Õì *Cñ?&{Ê–&ZcÞé‘$ÈS l_*x×fSHõS5iútõ¾=#ÙDú±oV¥Ãá¯m8 j�}ÝL§ÔR¹$)0´Ìh†­(;Áæ ¿ø¢ÿl±fYrNó·Fª®>>¡´¦ž<ƒ&ZMé�z<ÊCÙYG%ôuqC‹fÖAëêë•Öø¬^ó917®g™Ú:.­×YJ|&ø¨¥µÖj<ÕF¢B\˜|Þø…?(>ò‹™ßý�h78ô„'†ïÿåB驉xÿÕêœ�—Åq.Èò±(ôZ«h,Agˆ¶„·ï~l¾ÛÙÒö¬~ºpz{&žÍä -ç®í—i,Y-§Û‚S^ãöº¸dí{sîÈ‹Ý7\Y�Ÿ˜õ·'+ÀÞw£Ê¥jï ÐÙá¡﹯wm¢Üæã_ ?( ¯×‚J´7¬g[ &Gn”Ïœ2561NFöùŒ³ºY+�ò|9Óvïž$áçî¡ÿëË_=5}rknë³ß{V`ë¼ -³3úÀ‡ff –!¸+b¥\Ié)wÅMmLÕ¯Ô·¾ ]õ›KM¡eì¾=çýŽ>+=*Vêv¦/#üßì½}ŒÜfz'øV±È&›Ý©ê.u©[’˲ZÓrÛNkÆväØXßÜ8™`ÇÉbçds'ì%»À.‚ÍåîAp‡|pÈ»Ù$$ã½ÝI<7pFÞ;vlϸÇV[mµ$—ÕR»JÕ]"UUl²É"ëž’Åê.Ùšlþ8àî�šªf±Xäûþžïߣ¨�[¶qx°¶½Óf ,Ÿ½v·ùœ¿?Xa�@�¿er.@T«fuÎE›é+lÛŽ’æ[!Ö·cY…¸Ë}¯\.‚ê@÷6¢�d²Ô¦ëzmø  ¬`ÞÛ¼pÍ?‹Ñ†¬GÒŽ+t£Ês ööª' MU7®¿«¦~óÒÖ–;=­ìÜi…qÌqiЯrCJ°1§ÔNšï|Ç~×ï«å)9DŠ®G!’€ò) Ðk'I -“~ lMŽ�}R±jwL´•Æ4šþJ 9l.!Åá@*&†WDWDB‘„TPÁ�¿À6ê±qEL®H’ƒÝ½ˆy‹ÛNW7e}K¦×G±*a"õ�÷ÜäöÔN⽫…]aº&Ú]YW�(±V/»+§õçe€¸ËôOº«£³ ßôÏþú ?]yä4¢?Þèíy—Ž8¼]¿õŸšòÿ©Q=’ا�[÷”mù[Ø„Wþ�ßÿçã};ùq¬:›gÕÐwrèuér}i±öăµ×ÞË‘BO©³³IæÒ•›K­Ü‹PÕ{R´»žýa˜“êÙÅËr%(°/±rßìê‡Imsí�¥Ÿ_ØïIOFÉÞÜL¨lzÅ›ÙÛ#iÇwùäé­•y\W#4!ùˆq¾Ê½w¯ÖÆÍæÍÇÅ�¢`íÒå«\ýüç>ÿÀýÀÎüüÂÂ<Œ…7Þ|П�ÙØ¸è_Îõ[{wmùáexѸ~µY;5B -­OH=ÍIV¥"£²2@Pj† øœHmîð�uò)U‘Uä+,çXLôu“2’tJuº‰È—5=ê‡qz1¾?�ŽuÇíD•ªÞj`VÏÆKG -Œ“æÊŒ9V— žcðõQÿ[ít’$V™©¬­ýiLi3?¯g´ Dý˜UiPYŠiªåÒCæú*c’:w"b™ëa„ë;EΑ èÖK“ãijµúu‘¨êJª¿GDd,¼£  ¸‹¢¤Úý¦�¸ÝX7Šéi•Ð�dÂd؇† Ý|öUÈŠ©åÈà@¬^Mж¹ -U—É’ -ñ;2ðN=úÞúÐÐ;‹Ý;b„ðRÊÐpÐvÞ¹ìÆinW^”MiéHNÛúÿÇ=�<î¯_Ë]}«wöÑ©çÿ›¹•G§>ýÜÅüŸ¾ý§ÎœB÷÷ÅkŸ`n¼µ>¾] X�öŽ¿¾�2 €þg—Í·ÄÅ:^Þ•zãÔòÇp‹  À��vNݬۺqæô© ߟ>4­�‡HgwŒÎ þÔ}Ç.®_� köü ýyd(¿�–}ýrpJêðÌ]y¸Ÿ�EåíÖ<Я¿}•Ñ_ ¸rÞ‘ÿpÊ\k™ÖÃ?²ü ¿ˆéùô¯¿VO‰ÕŽ×Žƒ¿ÕÀ¥úÆê•êâÚ¥$· ÿ[ßþÈ€ìd€þ‚pŸÿ™INÔá.1_&ú�æÎzýJ2�²KC™. ú2 y q™¹(¥QfJìè x­’�·)’©– &ÕÉìý ýEÊHêyž¦iA¿„ªÿa ià ÑNÇ7ˆ< -dÀFÅËã�ÁÍ º�n@AK?­ùÌRWõ\¯D°]ÊïùcsåJ–1èßÚQs™×’?L½²,äRÌž§­MW')u\ôýTß-ÐðŠ"ÖâÁRñ -DZ�}I˜pSo"Rêë7¼J9­Iô3×1²úÇHó� Í"‰bIÆfâí4#KÍÕ åÛyšé½‹;YùõkíÚ3úwqVD `ûO¾TùÞ§Ü·ÞwA 0­ ? -€¾¶§VôãsòʲöÎå´}ØÝ¿íDO¬¨lðXydùù_LjRJ¹I�·2óV?÷‡RŽ’¡ŸËÌéÇù(­;ŠÑðÃŽ3HÅ\Š�—û²‰œÉ)”<+È ¢Ü5HÅáñQ®ÞGOË·n6Ì\¾ÿ`䚇?XËíww‡ÇTçÇ÷çú¥¯Ôç�wC IDATúAüÓúÕ. €Ÿÿïîš­?gªÇæfX0�]ÆeT5Kì…g#`x%µÑò/Ö“g -G¬_\ÿìã�}÷�7ïö-<¬��¹Ôºqéò]“G§îb(Ø»ž59^=çÀÁ:çöÇõ û{Ë�!-Lkk§2ÿC×Ó=òÈò;﬽KÙ;O>ýä«/c�‘Íúæµæýóƒ8Y;Éê?üóñÇßÂ<},'|à‰¤]Ô7°õJ»<Úmøkÿök°½¶±ê?[:¯¹{¼ŠhhZ,`1€úÏ2 ³ÝlÍÚÅdg3J¹lŸ -> v@9�ì³+ôO~”!³v+SˆU)AðŽGýEŒC2Ê¡²ú�׊(缌b®û 1Þj{–¶¡ (¹©>™‹N«»€‚0örž^@Pÿá%ÅœLX# sÇ¡ ˆËÛ@xD½¡�zÔÁ(érÑ݃GŽÿþÌCå�’à5¬² /ŠL�$ìi%Þrñ¤¯½Õ©ÕôOÉÿà)}ó¦zùº¿q¯ÏKŸöò}Ò£gŠ`4ácë†ëï; -Š“HWb´uú‚㯌“Öª!¾�o…QÿÒ¶x䨭•ÇO&×—÷·æ–ýHsêNº{8!tJ8SUËumú§åûC@<×ÈäJi<^d<þ�ŽcLæ½Rûw�N‡£sãG>A× ÒŒ/ë.BûNÛ§�²yˆ áÞð:óÙ�ÁžwüDõÕïbâã“O<”½_ÿ Qÿ yþ'P¿îÜNð¥ëíŸÁûÿlüêÿÚ\ZžýÜóãÿ*螃áë‡É�ßGc×p²†‘¼úÁ~¯=úîܪQ˜liû¶]RJ�§™ûS=À3qs¥T,t„v�›­Û»rs¼‹ ~ ¬ÈÜU-ŸâCW·ìUi’‰’L2> 0Ö(ÀVoÐGø35¼~—é·_VÔÆõ¶ÓÃHìê[ëæa£v�8",b�sÅÅTq“¸Z˜BâÌ[ÏvwU­Áœùó¯ÿ_|Ì¿üoÿÉfýÚ«¯"èWŽ˜‹‹\ýó«°ýåü÷ÿøÝ·¾ÿÿÌ㺡7v°}âÑ'ª Ö…o¿Rÿí†óÏœ¿ðרiPò‹_|nmuµÙDOàœŒWU§¶Öœ©[ª9¥^ý 1s{]ɱ×Ùõ¥¢Y)[G&´VÛ® ŒÊŒÁM‹Ä•dŠa|"¹¥ù.T¹õbÌ©VŒê,êÚ~¡ñø�/—W6®­]Ôj“úñ…~1ko‡ˆr~Œ �r@8ë¡9«ŠÔeTv“…Ün¹Õ…9›& -&`ör×£æã.9þœjµ\VËHç'•#è¥X{w ÐÖšÎd\Âa_õûìã"xü¡TBÃöPô§ùŠ�ßñ]F9eyô@gþ¸AˆÖÀD„wo„÷@:øž€›`JëVàz²ÕWêoªÀyH¾b 9òÅdJC¨È®‹ì¢º'�ü^Ò˜@-’8ìq’z€-˜÷Bøí¾ãW*LKpç2!¥’K阰­�VJr‚†®bSr@ÄŒ.º\·T¯Ó¼7åÅúâ‰4 6ìjy@Ö7˜Ñ¶!¡?Ü»(‡ÚÜ_Îkˆé¸E_mø©6­ëÓÛ­ážPuf åÇ”3i¸»,ˆôNsè®Ùb»ªH—È�à -ØÏ…b å¹íôì|^PL�S#º‡*ÌšdèF¾bS)©œ’Ñív;�–a˜ ‘)-€¤óQvHóሠ-9~Ú¹³C`ø~~Hƒ!d®½sõÉÏŠÍë  úá«”ö·tb‰dúñý¨9_¾W&�l| ú Zf°~ê}aܽ�çž9ÿÂ(1Üg?…úæ�·�V"üÖß¹ûÐß¼·8Á¾ñì�®¼8–b(¹"4ô“ú‘¶?ìøûe†"áH€öqç³$‡`2*Ë”à¡ÈšUž{Ø0VÊ\´X €ÍÓ„(@ÿìø¯ÿÅ׿gféÌìô3ú󨨏Ê[Àý&þÈAý¹f¬¡�Q«�¨%$¾£ßú�_X2÷|x+0©¦&»ûÀýÕÏÿDâ©cŸ ?}kÚÂìÌIµ6Yí8A«Ñ­Ì¡ÆS”ÀH.•Ó(ïÖB \6gÊV‘ª Û]�‹'ýÛ·q&ÃÍDµ:—±ƒ79ŒÙÇ÷þ*K E*ú»xäÜ1Ói»3³C=wwwèz2sÌBþÒ¢Õ MmßöáµxÊD;ѺՂ–Æ�¦(ê]z„)JÑu#Pw‹$Ì)i«A¼u½hþ¨Üuãi�1{ùA_èGß}1ÓÊÙŸƒO�æ`5<üéi¹ÛMsãИÔsL$Í¿:˜ÿãØž_uÕ‰a›bìMÈz#ôÓµ„ÜàŽÕ�§ïZ ú±#¹ŠåŽ þÏë!ˆ[¨XGGy!¬ûó(æºw…9IËèïEØáK�»&¥J¡ÿ]C6aw·�óݰÀ9g€ûøÎîP÷çO©CÖK*ºÃ¿’g03:½»†2Lè/X&éûN§£–è<ôOÉ]g}ïŒ&§ #,’úæåá;‡,çÎ]/„ö“Ÿ�Þ¼Ž(|üÄ\s;‘|ÕJeß‘ ûÿdÀÇ�OH—¢qæTm,)~¬_«/Ý?n}ö‘*¨<òêþ.}ª¶O䢰®ÜÄ[ô1tÓ7Z�c•1~0PÿOÝ¥ŽA18‰|�S Cùò°^F—KÓ]/‘| þÆ0¡ÀU”¹ê� ×õ&[zfÙ€—Cí†VE;À¹ÝaT0È@˜½~ V'»“ã:—.¡ÿ+ÿóïæ¸|å¨ÿ úÿôã &ì#úïØ; @ýç#k÷è?ÿ¹Ÿà‚úÏ; ÷;áèÅ_üµ`Ày¶m»s%ñ•b¥Š² ÄÀÌ,^!lw¶�R1çk¾ã–�$žÌ)"6/Sæ�ÝÙè¯R™UÛs"™Æ`K±ÀvÙØ9†=™eÞ=ÏèÜnUS@ ˜el³º?]†Þ鄦•6ïÛ ìôwå™ý«¦ПýÔÿryˆ¡kÄ’ê¿G�œN9ktí ˆýa«N!ˆeZì|Uf`ŒöHOˆ�eYêgoD#Ö@Šþ/Ã2U^0„~6S`ËÊm’zk]D2”P M•ýÙÛÅQ8ôG‡ÀÐ?ùë^›øTŽ¡’¯ -d@Ë• ´-¼qÅÔ89N€î¯kÓ®×Õõ»zW†©Ç»�};ùOÁ‚L�ï$F€¬úOOê]â&4¦¬LäåÇô´Õíâû€ûY#£¿5Mfìn0??Oê‡#T‰HˆA!£Îh9 º€F%÷Aô7@¼‘ ÐÿÂËŽÏ×@ýϰBÌ-~o$evZC‘pÐôŸ>ž}òÜ‹¯Þµ©Œ «Ÿœä³þA=3øDÿ}cjRí¥¡Ýs?Ró½~ýúÇ5'8V™»²ùÃÐÏÅ!'¨H%)áVõ,çxZ›Ëì€~&ö1`ñŸIêøð2­j}ãêAÈ@.Pü÷Á*e#l—´ZubèÛÒ5лPÿA÷ àÌ™3a°›Y€þ_üÉÏ㯾2à�ïQ3�O£èoßnŸ>‰QVÿyú_øö_ó~+%•ƒ¯�'Ô[sæÉû‡b’c³ÔÞÒãâ,¬þ ôq+`n€2@"ú¶ܽÔ,@"¶aRo†þûÜI¹+2·‡ŒôA*t½\À\’Bºi:ܽ4†L¹\A@1�§IðTÕÛ^8ç¥ÈC¿HÑ?{  „N«›€#}7íp$Ð cJBõ¿*�T,3úÀƒ¾]�3aŸo® ¥¾tMä¿öæ¦k¤}ÕO8$èG�ùQ8’ßb;þ}iÛa0cá"A €ÐêÚ]6ò½JqAh¨ãc¬Ù~ù°¹vÉY>c¶‰éW"�=ò£¹¥òú:½¡¡7b#åäX’[DyùPñð€Pý1�Ûz�ro�-Ø¡°è‡™ZßékÇ5)*Iä‚ņ¿$Ž`‘ÀRq³rÒ`À&¡ zXHÜÉ*W<êÄ­iºïu2*sYl·ÜŽ [eÊHÛßíÒcÀkÐ&H)�Änàz{¡6!%ž é‡Ê¦îRí˜z¬s d¬:QT'¬N×�«4‘N)k ü¹ªF³ "ø‘‚q¾ÌéŒ#L*5G:žÈ��¿BžÄ¿Ø$œÊG«;·H œðâ_ýuu¾²tfYƒ‡§Ú­Ž®btÜ›û ê9V¼úœ×;újaåîøûyç霩VçLŸâÏë›;ØTyl«¡ƒŒóü“+^Åt¹õëcŒß±§Ì¡/²TÇæª7š PÿáulΚ6µÆ¶®ç3ü8¯?¾Íî�_5ÐòúAýŸT'at^�ð.ê7Ãà6/¹pW¨T k1QßÈ Ð­ xè ÓK)D2Â;LQÏš1áåÜvAßT§TÎäHÐÇ&\i OîÝÖ퀢3�Å8k¥ã6æË§×ÿæ;ËÇf¾üSŸ[»¸¶|ß¼¸�”wmvÝN/Øü“SÏ>z6N|êôÚ»ïx­Ö3çŸIïª)ßùî…ÿø� è–}sÓTåúÍMufh$i%Ð!:ÌéïøÝ;¾Óóg*–×÷;½±ª!³Žvü>&•ûƒ¨uÛÕ'´ÊŒ -"ÂnÛeúlŠ&¹””©—e·Mþ´½²{NH¦�?ßš2Z�䉄‚.˜njª™åt1f€¾Yrû°r'ÔRÉa ‘PHŠìÚŽ”Ú w:ÉX¿ ÷)A? -°^Òœgì�'Šïtׂµë4[·ZÜ|¦IÃBbJÖpn9¦¥vwýb‰\a%A™�hß -Ú·`޺Ʃšƒ½k2?ÿWÅõª€¾ 3 -™””’ Ë? -cL!+p#4Â8URE…ÕC®Z›óIÇ-„œ«ËbÚÅ\ªYLn|ôÕ­ÆÎéÅi·)®æ#’ÑÈ"–bÝÔ'W§ @Ô�ª”‰&x"ð´—ÏX àUÍYHÐÿ‡nÎ3Èøc)Û·Ú¢4÷Ôccã0”J -¼Š(j@؈LlÎëÒuv:wz`¦zALîW9áqCÕÀÜÞ�þ`nø‡­2=EѸ‘–"ßêΣÕè¯N( qöU@œµœÄdU%¹Ô¾W�#¦ŠDôè†óy1ÄÃ"qÄèÏBü½@WA[¼�àdºïÀSÌ| ô! UÞnØO<{6{Ð^÷rÿ/ü»æù/ÍÕßǸjïÎõ{i±â±cêÆõ�³BÍFu.Ñ ™�ÇÙIV>5·~ý$Ï>½Rßl–dõâïM6à£pÌêåD­ßCÀ#'G†u£‰²0G�ÇNïÜr�{ŠqE1ÿõÙÏ,Ýh%¹=SÆT&$îÖ&žY˜å5¢#ˆæ¨–꼺‚ê‹w"bpB�”SâhÁ\ŧO“0 î‚ä÷’·aii�(%YG0mb¨\󂌢¶1‰_Ê[€þ_ûÓ¯ýƒŸ}.;òþ«_€íýŸôÈ ->ôíßâöµ×_ûuñë,^yó•ìøïôüçÿáÏ׎ƒ8þÈɯýÅ·~û¿ÿ•ßúŸþàù_}þúÕßÿêïÿ›ßÿÕükù‹d%Î:Dÿ\]º»çK´v¬2ZØ^LYü¿…Õj.$ØÄ4¨þŠ@�îhE>¯\Ø‚P((R´{T¯J2çþKò„Ÿ&ÝI6�r}+ý± k"¥{Ùs%IU&dxÉÊÁ:PÝÔI%kÔ¾ÝQrwþR:I@„{QÖÑSžqéðiAdíSÓðʹÛ0?kUŸêÐé%'Ìx_�ìΤ“Ú ¢ *U‹«ÔQ’T…ðÛˆÕ!9M)‰%LÁ-åxl÷õ¬âÉÈÐØ¹Ó1‚gÿ@%uÆgÅf ûùgkk—ì²™óræ,›ÙÊ0Ÿ7“h;»Ù~ÞCêN�Ìö‡ý°h¡÷ÙÇÇT©ºËÐò@÷g�¥ý€ŽÆ�SYÂIƬJë°=ZW`Øí–bl1 °çɼ`G»˜Ô< |íÞë‡\Ò ÛŒÊ–³¤(ðWÛu-¸»VQ$ªz¬ªR‘ �aè2úÃ5ëúÀ%åBOS/ç.³Hbcq¸ïÙæ•Æ�¯}Ð/Ð�°j6k'Ïì{Ÿ€—fË”+†Ÿö[�ÖG¼jŸûuñ/ê|ó¡Ú§¦.¾á<ü傟™õg]Ú¸²¿ÆJPJ.À:ïÏŽל:jÍ!g®ŸËÀ½ŒcóFk¼ò¾¾¹-Ä6$ˉ¸úßh¥n¢Û];ÄT�o¦0 ¯L@ÿjµš{¸ª/ªŽŸÅ§ë f¦$±'X~¨¬ôevértªÕ´Qý·É\ÃÐçIZ3�Hˆ\•zœš° À<šTüNg7Ñ™–——×h0[øÚÛë¿ý¿ÿ&lßY}‡¡?€þcÝ�ö<¹:6ë7®×Ž�XÆ“ßʳòØþ* ön±kɶÂV–1Ø¥E$SžµGä b¢îŽØ�¡wFò÷¸M'•únZûËÖ p bÖËTöû~\ÂH ¼ü¹Jh¾óð¦¬ëH=Dn‚£�`°€6¡Œº£)¿êäÐq èv[—�„âúá1u:‰`Và&$kJ­_K>žëJ¥bDˆ…CÜy°~ŽÚTgW’ÃaBV^Ñè¤XB�‹ëºÖs½v;Y2Á’ú0Ã['줿4‘t<€-€ ­ÛàT–"6KZ$‚ÁʲŸ  Ø°,aõ­:(†óóï¦ËͰ`ª¤ø‘¯¦„ŽÒLÑpÔe.ebõ±ÿ"¢?l}Ïè¯o|÷µwð® ~gÚ…ÙxéÂKÌ4Çè�7ŸÐÿÂ민F�!Aý¤ûú¯¾¹ -;ù�ËØó fËЊu�9AÿƒCž”ò2ÐeÀD‚þùÁ4–úaÎWÉ"!¨þÃK�õ³ –J™Ðº.Ü¥Td2A±•ü·* -€So†{Aü±aÕ�k[e»ûãŸrã� x->‚ H²ÎÃÈ”©Œ¯‚Ó‚ÂŒŽ 89d€½ãÂãçwçæ‰¨ÃM~—>]t»q}ݯž’?d‰$ú#=?9ôo5l0ö}ip¦PŒéþìÙfô?x‘€þ3å‘“¸Ý‘ÈPe,ÒCƒ¶bS!M6D˜./‘+¾�û\ Ù-0u©HilœF„i±Eö~ -ü\,2Î -ÒçMc§záÆ\% ƒ™æ I˜^ìúˆÂü,ñåRTˆa_ÐCEÖ½9gH>(f®@,“€øƒ8À®L=¶­V§R1\7ªTt…³¾ïvw“žé ûHD¼"B�RJú…»”~ËçWŠ<¬è{<€NÐÑ¡w¬{Ça.‘V¯›ºA&Gª.·¨Õ\eÎlÝàªÅòÚê†uÄ=ýÂK«§œŸ?^yý¥ÕŇÓ7.5—æÛÛÝöNçÜSgÝîVëV«V«]}wcqqziµ³U¿²ˆ=t€×ÿ(ù…b”8m1ÿÚ÷; ‚Ñ °lü›]ÿéÏVŸ}Æ_û÷1£jr„WŒO¤©Í™~g<É2 3௚*³3Ö…”:ó)å‡9ˆ/÷ZWý¹¿<ñÌ”º“Sè -Ò]É;aœÿ±• 3’ñÉWÞYS+×GâP�`\±‡Ô$6ì“?foÇÝ£ŒäI¸«8 aòÀ&-¨·ÎübIqÀ–~cÛaöG…ê `³*“ˆZ€z>v øLÆÝç›J#œ� ë ¥¢×ZâmõÔœtD¬o­·�'ž®-=tßgžºoýâ»ÕûTÓ(;�6lk`ãªr¥¼´òeÓ²ZÛ;-æ¤,ùµã¨c©DZ0,W*íNkñä’5ï—[§y�Z]o¼¦O�þÇX²P(õöµöôwm -ÓPEE¬®7Õ’™Í%Ôi1ã Uû†@¡X9ZÆiSºó’䥿}€†&N-‰}>èý— -ð©B4„­7HV‡:%iS&(šÓÆ㈠-†]|€9ìv]ª}I&*Ü«"û ˜g8 ;«ß2¶Fê£Å‘Ç!82¬$°äÍx(²¡+ è‡ ÈI#fk—èúŸ÷…ßQëù.eÜ5П](âÞË€ü;•rÙî%¦�ítü®kΚ֌eïp3ƒ1aIÇqmÛ­Õ*¦©_^¿|zé4láý3�¹ðÒk –> ; �ÏÍWVß\;÷4BóÚjýüVZÍDÀvg»  œ^ ™Ïâ Xž1àþ¹üp¢Ôñ§>yãê7þò[‹‹èC›«ÍF¶Ãß2SuÇ‘è“ã}¿ø?4?¾üÁÑÈ)×ÇjÇÄ÷`ò¬a™è'tÚòÓØÏҌɩœ0œgÍTý¸ßèôÉU³}¬‚'̧{²8gÅ<ñé‡^ûþø -†}èŸ�•GW^xi ;Üéž‘ ‚ \‘ ÿÄÚªÌÎ,?xšL@°vâgßó(ÏâÇÎ=úlûvC/Z¿½e_6Ôr4p8C ù8ÕDÜš³Õ0�oܺ²u d>Ð÷Uýñœ)áO{§�©Õ÷8Ø�¶¯MXò'&ˆN-B°“T �,³¤9¢¦9ÞÿŠ)Íq(ÍÉ4 D�-Û˜ÉÕ PR;Óý‹qt§B¤è� v’wìÛ¼ÌC*¼ê›ŽuHm~8œ{ÞÞˆñ*1ƒØ7aœ¡?Ÿ*3èú÷ƒ›tN“ ""}Ëx޳uûL5)çDrgŽt/¾o0]K庲OŸHÉ�M´È�ñššp·îS zi�ªÿ ?8*tàrñ‡Ë"éÙñ-R1Ï d“C±oQI±4¯˜"´OOפܦlgìhµÛJSsìŽiÜ_{®Z®¯×ë¢~ö©³«/a/Í'ž:ûÚ+oW—+Õ™µï_^þôi:3ÎãzWNžÐ -пr­�•ǵ1*K; ûúÃÎò -Z—­F»2W6fõv«ê?l7ÞEFû–ݾåPáXBÁ4M X�‚ÓÉ� 8 -àÑè¿ðÊ‹`<þéa«RÀ}]û!Úá¾û§K§îSµsãárߨ7�Çrÿô­¼æS…³>¡íש…»^Û¾hð±ÊÌÅFr=Y°«'_r\=l6n'rÈ$�ÇŽÓË,ŒWÓÁ½Ý~o÷®N�¬Kmи3�H‰¸ úa»`»—Xý‡†)â -CW&}�íqžÒ€ûË/\x ó÷—V–:)q±„ùÎç�ãuMA¡@±.ƒâ ìÚ¶[©²Òê„ÁP;i4s~Õ­¤­äÂÚÛ­ ³õ†ñ¹�š™•g+p ¯î¶�Âx3Àà ÿðò8¦Ía³=w(Âc«TeMX0jAàˆ¹ÚÛåÄü¿KéJZÚ‚2 u#»½Ž®iø"ôé˜\§$RZò÷Ò(.œ‡Ük€ €¯¿´žÉ€ò å�Rìً ˜�HeG†º]¢jgíd­~­¸ïPk[Yà U7™„ßîâŸØ¯•}�eùÖFNèº�ë(ÍTñ|ŸI�1=p7€þÜhš}Œ�^0_Õ;)ñ””Ë[aÇ>ŠL]æÌæ4\HZ¬ �®Œ¥¤ÇÃd’YôRb$+æëßFXX„—Žžšä^ä}L•¡›“ ~¸JÛ¶a« h½J IDATº›†e<ÊŸaõkëæô´Á;KK5x´õúÖÊÊRó£�ÆÖöÊ£K«o­‡+Ë.\xùl+‡�µ�ËçÏ=!Hñ¯Õ@ÀÎÒC83«ÿ§Ól ØÙæØ²@ôÅÔ�–¥*¨ÿ,ÖÞE; uk‡wDZ^éùäü!/ÐḦ>ßÛ#`÷ö˜–^`p¾ibìMnl\;`qãäµë›��†ií4–—PÀܼ1w÷.™ŽãÆÿöÏ“ûõß©qc€�USµ{þ�ú�óŸY¹�è“éùfI4)å†[ï®�ë -pÌT»¾?3ŽÖÿ‡} êÀk†Õo´…:ÛÇÒô÷}±�æGÍçž9·úÖj^Þ”rÄJ`dœ*°òuRªÝ½›ðbôuùßû ¼ívÜ"y1Ÿ˜|¬“nm¶[·F1Ë}RãÔ1šNÐÏê¿$)Þ]tnl™ŒR~wø�#óG²ú}ŠŠrÈ^רe£h''â0~STu26²(ºG¬þû¶íG£?3^ <¬x(ÒK0ÁØG/F9ŽÐ_ŸÔ‚­†ê?w0Ü_½Ø¬þRNÈPÿó7‘YB æÒЪ¨Tt²ÆLò½1–/&MBÏW †ç’HÆ”2„~EB½ä�²ßTÍòKƒ\CR)÷`¢(§Y�ØaბXÀÂmÈExE¢žÀÄÍ©WB­ê-}0Y9d´Zý�ÑíE>åðJqír»2kT*ÆÚ{7«Ôqþ�7ož~xaÇvZ {y¥¶¶Z}ÿ‰§Ï¾ö26›^9·ôÚ_¯.f ùò¥ÍÇÏ!:7n:gÕÚ·»R[›Vƒ—5e>ò�fL•�Ïæ)¢áUågŸÆ,ºÖ-°ŽÜÜlË’V)kï¼…Õ’ª¼øï.¤fr‚†ÜB  çA-1ëâwSw„TâT…d˜e½zdfáèÒÇ mgÐýksf½™£v�KJÓÐòtI¼�µK“ãi>¸Þ•fŸµÑ�û€õ˜�¶ÿ,RŒNàcèðÚîÕùòã¢àËšìw}4¨'d¹( cƨ0ňÝäkÖÝ -UQ&y�ŸRÐÖWבŸ�‚ÿƒze=z/$åBÅB!„Ѻ€w1£¨ˆ)d~„˜—¬úR®ËPŒÞ$ô@'$0©§ YÈ^æƒ -ã´¥v¯vs\ˆ‚=_7ˆoŠø²XT A�„óx2á@ÒUÑS¿Š"ÒŒR´ƒL‡Se«ÝÄùP­˜ÇOTj'æÛÛxµù>ÑÀ ÝP’¥¢R´L¸°¶ºš@jŸèš9_¨wsn8×ÃÉõ�hoSßÊ;¾�¥ÅQ"�% -#.Ë -a'uÄA _—kdßÜÄ‘ ¶O]6­Ê¥«õòá -hõA�{¢‹ˆ"‰&m‹Ð ( CÁ–Zý† ¨4Ó‹tå1^¼¢ªŠºþNÝ<¬vöUõÌ#fçŽãõaÉ«ÌÝ& (/SS�Û6~^Âr!KD»À‰@‘$ëÓ’ðBœR±ÚÚj©ózÙÐ#grѧÙŤ£Ò@bZ &m”#�DÊ>°T`R &'ÍÀsEÉŒ"—óÜá*ò&ày*³–ešôT#¸i…On;Bc~NÝ"ÞGØiµ‡¸µMÕª³*ìhØìòº=3«Áa_ýK÷ùŸÒßÞÖÞÛ:_1ZÛ]ØùÉ/�]{'Íò9ÀwÌ ²@ùHòšô“Y©ZœrúÁD]ôÇ/ý¨Íèvnn¶¶6=ßxuM ½‡~ÿÒñd»Ý„çßæüJrvŽ—]oLqCe΀Vž�.“û5 -+Yãˆüݲ¦ðœW¯48UµsAP Yšñ´Õ#åõõ«sU¼†¿ù'�<òعüÞÚOŸo6Z««k++˰Åøì§—ßþþZõh¥2_i7Õ¬|¤rî™3í[x-ž=Ó¼QW'S6WS¯Ø£dey˜d»[–>/ÇÉ»ºtÍ?sR…-ì¿ü¦ÿ[ˆ÷ÿ·¹vnE­=¤Ö/ú÷?õq^ ¼ýüÏõc¿|â¨ý„8ÁÇŒ<úâ�dÛÝ»ýõÔ}sûdXœZ‡]†Æµ€6&ºÞÖ¤.'*!ÖsÄ”†9û˜rNé‰"çý‡÷+U³2g]ø¦ÝjÚOÇ0m}Ð3@ñ+)rëú“ AÄXÃ2€IŠD’'ƒ%� ôíT#gŠpÞ¼À‘pÏÃÈê¾;æµÈ¤žþç’�’)×"ñn%‚Ýô+ŸÁ¤ÿÃ_'÷St:NÖ °X&· îä”ÅŒÃÆœè'Õ[)úH±`rŠ‹È  ™� tá9ÇüPOÉÚ¦áA„œ$±¤‘“¾»a¶åïåþÀ—¯­=qxè5ͺzè’°/7œD–ÂÔŸžgNUPBÄAD¯¨�4Wo7-K­_ÛŸÖÌÂUÏõ}ÜÓ FVƳLPöÔ… ¤Óíq»®ÛqUcˆWê™2½Ñé¸1?¯w:Ãì²Îyúx=Ô¶³RZ'ÌØ1"Z·ÜÊ�[X,?l¼ø §zTž«*/|³ñø - ;O>V�àuþ™ÚÚz—4×ÞstuPÎu³;»¨ðö¥ :f¾5;ݺiWè)ÂÎòƒ ­í ÿ2õ_¾LA³×^ºD©ÆDÄn!R–y{;iýìÂB™ËkoæºÙeãı×o\1`‰ã Üï7³&``Î/à§¶n¶t -1Óá´™¨ÿ`´¶Àœo ¶ŽVDàè¿vµñù/œ…�Í+çή¾Ž–Êçξýîå*ÉŒFs„k~‡ìîv«Åº?ˆ´ZMPÿAR®W’ ðë/]Z|xЄ¢@5M7˧�è¯Ý‡Aig;AgÇö¹~ÄÀ¾›ðc¿¼þ¯~£ö3Ïàm葉`ߦf�Ÿ»KGøƒc£^?ußþš&”Ààn£vô^=Ÿ؃þïw€`îîºåú.ìs-n@�Ý›rq!kωpiÎ>ffìrÅ&¥è±?ºÕh·Ét½¼Žx&­Bà’¡�øRÈ €MÇDIâu!�G_6ˆ¼!qÀ6»<¸˜ª®X†nw†€F€¼ç[†ewlØz{X—l2?0訠$ - •e…‰�0&™þ"*RAwP&!DÌVľêÑ*èþí�öâêg€Î(?¨c"hâ1¹&—%1$½9È~ÃÙ¢(�R ,k,«œ2 ÔÿyÛSdGôg ~DT�@€M ¥%²lèZBÝ�2à0â¨ÿc'CLišô Pº›”×¾�°g»~èŠ�zë×ÓbÝüq‹­¥¤zAšÝ;ó˜pO´ðð$Ðú‹ `D».躡×;õú¦íJI6s b¾ß–8ä—Åq™|S•„Ýví×ë(rñ¡äø÷pS;Ƴ±2 ÔÜr[î³_ª­¾Ù²ï¸ËWÖÞm�øhýa =w„1ÀèoU*j«å_x9Éèxí•ÿ÷÷³@ý_Ý[Ž|!�ei#¤þxBNÔéŒó‰WæLƒ$!NÍŸ¨TŽ–Aý‡­KEg€þ"… ÆtU$ˬ½ãS‰è1p™ºD-?¼¸öî†:‚îÿÆ«—ç�ÏX‡åþüB"^ï,¯Ì·]�çž60/³Õ9€Ð>Ë;|a­¦“wª™”x[[¬ÙmÔÿ³'ÊÊÊ“¼v@û3³x�ÜÏ>[­ŽŸŽlm¼{¶\ÛÌèÏÃv\ôÝ�+)?~é+õ_úŠø›?\zì!Õ¾°òê°ð1ciN�5-‘ómmÔ1mÿ³¡ àä™7×�-UUe¿¨U¦öGÃëÿ©Í™lH™Sê�Ûx΄)?ý̹‹ëé õŠÞ‹~W^§XÅÜŒ9�^^·Ó»òaóù/žƒmÞÀŒÏ~�éþ°“´×¾X>³ètѽ°üÐßÇÒ߇—k›˜ÍÌèÝÛ-XE°ãÞép1B†’3Ü -jÇf>jÙχ¥87ésбxf¤�'œÅ3gšÍëXÑu5LÌÀÉû~ÇqÕÅëc²¼·ç›15MÛ�` -ü/ÿ´öü—Ì_ù/Ìs?²dλqW2†õ¦¿ÞldüZš¢Zªº~%Iõ™™À…ûì#³˜HŠçž\¹±³scgûØÂ©·~p‘Ñ?óÝÃ9Ìé‘°Ø©Š:C[ô½ö/5ÉiÓO’|ìæÍÞ¨4þ´ªu}¯v´ºtÔÌäOµ»]6|¼ùQsîè\�€ÉßµYå€uªöá�÷¿ú�ý™ ��·ï²#y�W@RKjGøEôŒû…|'/¤©&­‚'&` "l±Zະ(*J†1 zÒæ‡lO.±‹¼ ´QÌð]RQ•ö¼½€=0á1Ñ£ *+ó‚äˆÒDUŽ©Fˆ b8yŸŠÐè®d� ú¦0a¿Ü´·7!# ˜#cŃ‹è#E_›·‹,XS*þs¿%Õ -Z Q<üÉäRøTánðìŽî”?^k³]ÇíVfç”IÝw‰ÛTR¹DŽ=B±À'Æn] ºb^ ¦Êʼn -òD)”:ÃN9,àOÍ8!Ì|˜ÿ° -àzŠ%‰Y9ÁJË|ýTŸ�–pjb„º2œ{îí¶xЫÎP J_^$Ý@è'mÆ�Ûa‘ŠôM“lVU‡Ëð‡„u,é”&äù�†RÖ«�¬­¾u Ðk×Úì{1§RI¯ú�ÊB¿ª% vŠ$JជäÔ*1ÿ>*¡HX,ÐBFÿØ bsZ8U÷"MS¢žy0�¾©R1‰œð)�Öo†w¥~à‡q‚…© ×»~TÑà.ú¥´Q�ª: Þ™Òµ½«õJcáüãzÊÜYS~ì¡dÎå]»ãA¬_ –o%è[xâ­�ÈØ¶�ó_xvmuµÕl<ðÐé5J®_^:ýú7WËsæâJ vÌyÓ*[õ�úʹÛî:·;+‡ Ø‚òÔ&r®2ÛtådÏŸJ| 8ù·V›‡�ÇG¿ÊÍ­ìt:^¥b�¯X­– F¦�eù…uŠ(hšÆ)S”.D@6¡ú{0quÇn1×´ë»\›—0‘õŠÜÂ%©Ø“kXFö]ŽM=,½ÛsÏß^«WãõW¨G3Lýê„kÀ 0Zˆ¿ô¾Ê<¼¿“‹‚v¶jó�•$DØ;ŽY“–x -3¢sÇ…W÷Ž»ºŠ‰¼¼÷é‚ß›7’0ÛÊ£g67±i(^…{Éy@=�aðj:ÿ“9åÛ ˜öER,X³xÆ™Éм¾ÙÚÜl=údmùÁ•µlb—;yX÷×§u·ë2ú³9¢MI`ú{Hè&sð#{¸šPý/áÏÏÊ€²]0ÿÁ =Òõp,šïU‘ -£2O]VMÆ”ÈÖ4üÒ¨¾^¯Q¶7míÊœÑj$) ûÛ6µÈ¥S/?xÖ`òÕª2^Õ9ÓÙöLÖD181ÄCvGsr2C?ȼ9¡,Ã;£&  ”£ƒ®) %ë‰çI^ÜúF#[ÊÄ™ Ø›6I#|I OˆÒ…3àÐôñ©Z">Eš«ß¹ã€ (}ëeûä}â°óè -NÓ·.våçªõ­ ~3õÿÂn£<ÿsÊ…W]gN(o^ìeF@66êÃÅsæ�—N)-ÊM^N áóOý$ïTçæZ�f¥:¯ÍÆf%­õ¿=šøá·‹Îh¨`ÇvfÈh·‡ïwèà}’ÆÂ|Ð$Á3?q®•Æ“ó½yÛTµê-LF÷JŸIÜüÜ›‰ŒwX)Iöm×:¬ÃvýÒÕLð¨ßh™†ŽzElZÛ;’±�«&@×S-ù÷;2ô¯*gÜ?ûäÊ‹¯ŽIzîÉ•ƽσoÜ…w¨6·?_hå~|g5- » -ÑñƒbXâÜi´c2;Àó»NÏá0*žØœoˆãúDÔ�.,•_ T^x#òØ–p6bõ_bÇñ²PÙÊÊ’ã çg”eTeÐýý¿»»×ÕÀÛ sPÁ?ijäiR¤€Ò÷.:Ë�ÔáCÊ5IÁlTâ¢Øv0cRE ó1±�Ÿ&êx©?Þa% -†œŽÃ8-âo�/|êI4¬ÿøO.´¶›ðb €îd"8]‡q<–b× ¬9r]÷ág¦� KŠ"+äJ¢ œ‘Ÿåø8«>‚çèiò�H‰q�'w‘7°ëº û²*þ”]êlÛ&­¹V³³¶*ºÑ#õ_̯d=d,Ó¬l³€X°íbYŸ {¡óg*Ç]ð j>HµÂ0² �çóõÄ7‡ÀGãèâTNNÁ'”—IßÏŠˆS(Ìøå÷A÷‡3‰ÓŽÞí"A”\ßoÛbáˆV­ŠùYô/ôjþVÓU¥Bí¨äwÅÙSªw¿´ùAø“OQ�®ïvÁ¾õü–Û…ùW<ÿ„ -ö¼ -÷ëGÔí›n™~¸jÛ…©Z»*“Ž2)¨CLŒì8],hŸGÙ4¢0I„p‘‚‚Ü©A\LëŠ0®ý=Î -€ßãEØÉT¨ Bo|°!¡ú„äõ\&'5* àÏ-Q�l»íêU«V9l¹w |°ïùÞÒId\°?j¹w}ŠèÛÐÜ Üž—…B•™â‡U"�ßl®ò#ð0i?°£‹Rea¦r˜“ºbc^§ïBF h!´ÊŠZYÏÔ›\×n»ELìiÀœ_8j «jZ³·ÛrÕ�~´·ƒ“Ÿªtîøí¶«iÔíT¶žÍ¥^ðw$î¾Ûh�“j õm—ÉΨÕÕïõ×oöj¦º~uõ¹/=+î.NUJg?Uý“—FÞ<¿<§ûö®xýêH[v¬Éô÷r„d|‹¼#èÊå÷ŸÿâC_ýÆ6ˆÇNOýÙËc.F3M_8Í;Ý|^©5Uu¦¨ö DÅ_¥´Oœßðû=¸Ÿpoõ 3‹|{Ø¿×íÁ�·õ)•_Sa'Ð5‰�„05@®Ã VŠ®YØÆ4Ø,Ý6Q&¢ÍJ@d/’ ”4Ò'¥ºŸd¹x�‡¿ÓìIX5ØÙcà¼S¼˜MOµ¤öö\»V©%J”i¢5íûLk¬P =LÎ!Ð`·rl8¡) -’_QgstùG ŦšsÖ)%9=Ÿ×]Øó§ÉcíE˜,rtá»!¬.”MSÙØ¨›t RQ‚ƒ)\”$"Gë¹’,#©<£ÂRÄi÷@MQ£8dClcÂðz^)¥(Œª U0௠½òªšê�!R„UÂK`ž9u©HÛø¸ÌÞñôi…B,>,�&2ñ�y®Ð®_q ¤)Þ¨G®…ž8Q“ØŽ§Œ—’ÁJ^°‹ù&Ó“·îÜñZ·º œŠ©·¼@•°E¥Âïò±©5`Áæï}?*t X_&ËÒTQ -ˆ oo±(i²×ã¢Ï\,¨zÈOÕ ²[�á9ƒ8)ýIP`Ò60ÀÜ)%mÅ¢Áq "@<¶XL$ŠÂ"ŸKÃü¾÷�Š*Dé¹gª[Ôlwš8ÑŸX©µ˜EK%%Ráa À £ŽÝLîrú@1×5—!0v4·€~-ÍÙ=Ó€>ì¸èLEa.¥3^žÆT3˜1¼¸q+ë×p¿Øß—np¤�ÈÂ\Ádá‰"ç´¡ èG'9ÒvlxáâÇÖŒ~VYÎ <Áa]Ö>îŽ Ó+‰îФéó0ýŽœ•´¾ˆÑg!ñ:P­9l R<º~Pmàx˜ÜYFs~œ>Eɦ©ŸªR±`¡Z¥¯ª«Å’èv¼õ54·ÕI€¦–òmÛΦebÙÁoþÎÏ æs5¥I|7%-¾Ï‚Fõ˜õkÿõŒ}vµóO¾�¾£æŽo©%@A,Ksbýý+Ï=}ꅗdzAܸݿÑÚ¯þ_XxÐT±�…Ðß<ô½²iÿg?6¦ÀmnJLÝ=DÜlõöU8Á×ÒN©k®ë5áº{6 ÿÁ󴉈 -|WáœQ´»›¼¿@|—ÞÇg”Ñ“`�B)È|‰eãðG¬ií¡ÝuÉ×ÁܱèÏSq=ÎPT¸'&kÊ€ã´,’r*Î KêÔrƒÝ’ ë5ÕãñT¥b�Rß°‹zÞÒB¦�Ìäôq—¾kÐÒdM°bëWZ•yåܹ•Œ… ?ìǘ5O+B&o É(&¤Žë%ÁEΊ`-Ä„eËå÷Ù5‹¬ M•I'óÇcr4¦n>>BŠXtA'“‚,²ë�‘khПP§÷eΦJ‹”è)†¡v:¾B凕#Ã� êrÓépë›…"|J£ -¬¸ó{6äâб–½i·ÃŒ/E�”üݤí¿“µN¸€¨68ŠG3)‘A˜hË Q¶Ñ^¬P0Ÿ ,3ñI–ýad;íô¶údgùHÛs+KlmL¢2è3;Ððê£| «0â‘‚™¯¥·fž“æ&²Ð‹ bü-ˆùnÂü x~éYð,a -fLûŸ\¥ IDATÍRÑ@ØéŇ”ڜĂ -#¾Ñ䪰5cæÙ÷³V;ôÏ ÛÚ= jå»c&•¢²Äè�þÍ,ï-�Íl=Œ~�ËoÂæ: -§ % FÜG0vn» ×?ñ£µ7Þ´ú1ÛÄ6iÞ®§M‚`gx«•x0az½À±1Û)r�ö�Ϫ4ž¿WÄ~I&yjý¾˜NkOÎþ¡ ßÚ¯Yóm:·R}�Ê÷Ô©áô^oŠ¥¥ñß�Ü̾ðÜÓæ /rI<�{hBŒn¥zóÒsOϽðòˆ ™5Õ†=Þû_=2¦BØ®´lNºŠ·?4>86�êÿž#å̧¼y#9?Ø:Éx¯‡|à °<§ë/.bø7_ž†©*/¶|%äN„´ ðÔzµŒÏ‡§wÜÏ -`’ìULeÎË´õŠÛ 9-S|"©“ò¹3z¸ãyz’ˆÑ1’üQÐÄrË? äu¸ïøØÎ%ˆc·íÖHSWØC`,.¢«ÓÅd«ÈJ;C€ #‘jè1¯e0Ö«šÅ -)ŸuÔœB¢_ÇBkNSѱÊW¤ -VœÆÏ`Á -Rä”J�´.XM¨Nù.†UyÍî —³¤1UNã†Ï ã„“ù¡°M[ -")8êS¸u«è/’’«áÊÍtVEUòŸ*QHªŸºn«1ÒCЯ`›{ú ôP?,ˆ¢U–÷U/öƒ!¸Ö³ú/RaÀœ B$�æó9¦x¹k ½'s³w× –´ˆþ‚÷¦Ãècõý(__¿²þ±4£÷ý<^üÛý'Ë/Dçó•oúoŽ¿”×Þß~ ßMÿjµã7 Y7àŠQ 6Ì¥V ã0eôÝÀäŒ�B[ADYžØ„zs «1­Âkuu=3Xý‡-€{f.ÊòR‘íœA<׎¦KjzK23UÐûd‚sÁ K×Ád/�æ¦ Áq|.jŶ�SÈ­›ÿ:}JFÏÎÙ5áFIæÆÈU9fY_ýÛºYcÂêªÌ¢‹ yýA;ÔSZfø9¾;Ì;мa¶R'¹+¿™ªÿ.GŒÑ"ׯt�R1)ƒcòk“å%¼˜d $ˆjºa¦¢?oY”rRCÞÈ«ÿ•šD‘AS/äò–¸c‹óJ3_3lµ)äU @þ`øgàÅÔƒS†2k ‹ Æýìä *¨¤Ä€5�̵™ äZ€ÅÒt©ŠJ‰ãLÃÌ,IEªG'Ç«”Ú�x è üä.KlV¡ðA_È‚(JŽG(Ê¥Ÿ§†IÇó}§'¬ —ÕKµ„*¹Oõ¨ì{Ѧ4ü®½aƒo�JQ°è§üǃ¨çúÒ„Ñòà‡Üáyã{iÓƒX»{ÃwÜ~ÇÝÁΜö¶ß´^A o~¼_kƒåô; í³I¯Rö]<辟®.Æ òÉj6tT…\×0³Óž^?Ò'#äMïÙØNÈG�^ú->¨º^èR�´@ìúÖ¶kΆe´¶;  -Ë“IO`mNÓqî¸Ø¡5òãP\ßjw�‡Ö¾ Í#Ò4¿ÑÜP§$xõ¹zP¦)Øßu<׌t´Ýcáw^©§ÑkfWò£Jâ¹_8÷Â�霡ÿÁññèÿÿÚqþ™¥F&< 3"'XÔ÷�6�ìN…»½ùÑe¯ï:ä;Âå-IðØU„&+ä;¦Ôà ²û",„Õ#ZyF}í•FtÄ/Ïè]\jˆ…Hê÷û¥R©×í1<¤ -"È™Œ à�‘_’“ mùSTÖÄŠˆç!g×Àdpĺ„�Š>z¢ƒ?0úg*sËtÂ;!1CÑ_d -‡ ?°D`R©åS»¾BgO®} -%eãö1e¿¿ê´8 ®(°0bxͨÀMHü{b�Ì´ë"–®‘×sä%¼ÿX �"A+i€)…¸€þOÀGÛ½€;Q•Šd%ô±^;ˆ‚À -vWPÈ”z s•¶x¡6/7ë! Ü"øZ/†‹ÀbŠB H± býb±†Ôðg -04Ô,�K½@ý1’S½K¨•â ›F&K‘~f½Bêu�Q÷ÇâEøõá aÍ/%¯ç3‘'>‘`´ïíÂß"¥©è e^µDb©C…’Ï<½f¾)w_tz®1E9H9—Y ñ·zûŽ]™µÌ)£·gÞìv]”²}ü梔¡??‘&”q%8Ÿ© §u^Ó§jˆDh«›uHi]"rĘL?:’Í@IÓý%v¡FAæxa*Öž¸œ2i/ ü�vJœ°pÒêܾ«îOZšà<­(îǵÃ6UÙïG¾—H¤. ô‡)· rÉÉv{¼ûÅ<˜í˜ŽúúÍÚrc‡‡i¾Úíá­ëô|î‹ÛÞÞÿ+�;÷@nh6‡8u,I §Ÿ¼òÝÕÙYë7ççøŸ½]jRåuIQýÝž:Ivj¹¤*%?èç+�5¢ðäBH)e³C*e‡õÃ>ƒ ž“|jUÃ3£7�ÂjÜ µ¿ÓS§UßöK9è>›6…ôüÎ⌑Âßþ°L�íNÀçÄo™ãÙ?8ÐuãzwøËY¹Ã [H•=Ê�-õó »'Úij¬‘£(ç+çmÞù;L á®d‘È<øì¡Ly.áa5 »$‹›åºN ›ÌG1ú¤õ‡ifj>)>e Jj¯Ò“3~!}<]PâÍ@ïDªñÀ Ôt™ƒXû¬[{Û®¿W¯gרWSÊ®!Ì3ãf ø`.«šŽx¨y*¹Fyã¢Ý0ÚK.l‡Óð%�"ÑÎNöü€H�¨hh¤ß¶¯½—a)'M|¢kÃ|\$¹�d"[æ<]Ø/Ž2Ûwïx)]ú¤r*|t r0ü­hZáoYÊò¾eªdÊpª¾°*`ÔÉ�:Ò)‰ºè8×à>?òé|<Â0þS* †9•øx·¶ðì<øžX~°6ühÔ÷ɘ¢–9·^XÚ�Ý�wÈz2òaAÈUû‘Åñk’"Ÿ»²Q¢ R:E’Öhª’©t6J (Ê,D*Jqêf‰Ê6#þ)çßÏÀ—Ѧ£¿{;2+ª5«Ößsn^#¯ U—¸ìĹ€[¾#„Êq³\È�‰«°Õ5ù+aëúŽNUšºjuzû5åúYWLöÔñuCÍŠz8%ž• ˜[æL0Üî”ÉÒìÜî€$àR~UãSÊà> « �w«¶4 U±Ã*ßC…«:1âV,½É¤‹ÞõëÍMjÙFƒ}ÔÍ™ HÐ?æúƒ0(D‰w[¤€î‡}ÀtØÏDE)Í©ÊvLvô©+,Éôœîù¥$^:P-µïõKZ‰µÈ’¼M$ýcI ¢'Ê 'ciîæ½@›ºhm~4$ÞÈÛõqÄþI”Y0ìpî -;¯w¶‡‚ý؆-€4Ì8„HÆ/¯çñ«´ˆþÅD$�YPÝÑ“4|ÀD¤;–r6r2—Y¥MF)@Jù©é¾Ÿ�¾e&�F¤|˜H’Ê�&KlŽ wbR €�€ ýaGSÅÍkx‹ ì‡îš)ËØHu:Kd_'Wù¦äEø½ÜÌeUV&¤¼ü£Š€Gö�e2ó¶Dnq±ˆ”È(i¹ŠÐïñw±£°9¦BQÙ°Û 3Èݔ՜là@®LžiJ9;$ü¹Ø˜>”O�Wd}`� ¿ßÕ,r ú°Å˜jÌ_*HñÅè¼c·\�ÙG ú½â@‚:†v@ô}xŒÔWiLÝU㤞ËèñàÆQvCEz¯“ýÌÈÒÉð7Äì�Âp«æw!óôû&�,lÂl¥‚:l¤¬×In%c=£ÈžÓ’ -:Bâ: "§ëª6vçGЀõƒÇ¤"ÁiQӆР-ÐoVáEç­Šì¹±¦Ý;ñ<ñzgâ� ØUMÃ~.ÒÀ)RÙ?+&j@^¸Ãtµ°µÊ¼ØЧ5·ëéÆÈ“S zÌb€¹Óa;µ´?È€CÖÈ´ƒÇyé*º]ª3æAÆ|ë×ç�Ïs÷g˜oÐGLb@×+þ®ë´[°½ôþ˜$ý�G�T›Û£'¨ÿ¸u{ª>ÅÚ7Ã+è︉Þ]ê��…Ãð‚#K…œ",•øM<[±dj*È@ó©Iü½lôwái—úþPwNFaD ðù¡ö]ü'æ”…ø]‡å -X3Í´‘½ªíÛ]n4©áSf YÃ6ùÚPÿ¹ Sè -…V+ö—Võà\´ffH‚ùûæùƒ]§;95¹¯j$ñY§êöÈ]“MYε¿v»ÆQ©­Œ4�©0~×ôG�™¬t.YRK+˜"�‡%q$²Ly»‚‹çlþªØô´Ê:æbî…~R+wn» 'Ñóyé­º>-¬Y d{�ÿ,ö~Žt -%_ÒÓ| ²ø™5­ÛYpbǶf,þƒ/'Øôûþˆýáü’@Ù™|SÐï‘0•¤K¡  OËõud@òÜe©éø°e1ÀŠ?o%i¿"ßn¹ÌÇÉ´?šŽ ÉjAäGì*à~¿N'‘†fMˆ™¸°Ö|Øÿ½@aÒ<…j8ŠŸÐQ– Á @ÿ|z�ã# ô ²½ÌJ›>¤çI蔜E’¹€ðÇjèJÅ,™*i¬Sbc3:~8Ç3Ç_ÌsÄÃ@èIËìá¬ÛÃ)[Õòw ªï¨ú^k2Ò¼=U%Ö*¿ç[Äjïø°PŒ²¼ÓFç½" §xíßH�$ÙD!~>˜Ç’‰9¼¾K~ƒ` ékÔ�¤ÕrEØ·ýxPÌz¿ù=z,Øi\·¹ñ/*æ}Ÿò1W¼=¤‹r—x&ÀJ ²*c\{§�ì·]¤ô’%ÌÝòý­�kîŒ R„ó—dQ]bíºnׯ¬Ãšo¥5ÒÔKOq“¦ÛÛ­Ì•'z»%ijÖdÍQŸÀ”¹TÐ “š!÷d 4¯>võéc -sæÍã} H "„zâ»èïÅR–ÐÆ¤Çp ^ñƒì» ¦Š,YÆ{¯¡Yà‡Cé’wB˜ÓC°vHE@Ú%Ëpní°NÊ¥ÿ2ý€âSÞ«;JF'‹] ¸�JkÑ Q™m¦&·`%0æ¡aV˜ëcçXÎŽF·tßE¢4ŠÍÆ9m¿u SŒÄýɃV§UTP2c±B…`ôYM(òɸ3Rä!Ð -Q"I -\_�Q£~àÚH9%ö„Û‹j÷Q¶Ø¶ we�ì*°XÙÛ¾b·¤»Úiw°á%í»úu%,6EGSŠÊbhHLœ€Ô$ 0›Ô=X¼`%[ä\v±¶Úqh9”�ÈùíÔ—Ne…`ã`,Ü,¿>îë)—½f÷¼¬Y|Çu5UÂh-Ê!Åí¢$[Çï1c>yöû’�z1�Žò�v¤übç.(Õ9¼ªÐ‚]UFY"Ž1 0öʼ -„9™ÐvA˜¦uÆÈÃ$¢òœÞnb.“e©¹}Þ¹ÖZ\ª�k^e aÂ`)KÃ/À¬Ã 0mé]æ‚;˜gŽüNŠ ÿœÖàé¶wˆg Zm·\ÖÛd,–g5ûVG�,‚Ì®·;ê”íâW¸ž¯êø8dÎ~ è}…o�ûQ¿‹(%°‡1§¡:$-íÐ(É­‘@D°´9>“`î0Ô¿ñ7x¿øcò¿¿€ñÙÏ?&ëÍðøáâÒ}Ò×_æi<Í×¾~ù³òÚõèê­vàŸðæù�¢¯þNˆçÖý³¿4~üA¼¦ÿñÏ*ÿòá­yã2þikÓÞbé¡*ìH -€ú:ª s§Ô­ º_e¥~¥Q;…¨„;pd݆×ÒJµ^ÇÅ\«Y°Ï ¿^wk5À>±¾î/-©�Ntíš}¾Rô_{¯µ´d ?rÍ6-Í:¬ÂNyFã+;î<žùZe«Þ}y¾fmÑGæŽë­òŒ^žÕõ†U±T]µ[¶QÖÜ;¾{Ç«·àƒüYØŠ�`kÓ�>$S¢¾¹eêZ‡¦ëWìÚ)‹ó7@ÀíG½N®§ÚI˱=–"p©p�n/l5ÜÚ)Ó%t®-¿ý}¬>èqwæ1OJåJ‚€ÃA~ª–‚.6„?w¸$œ§¾^—5bT]˜ËÞo4é)©h©`ì1h5Û•ê w3N¦ ¿®ƒ ¢ÑtªR"s3&цŠT8Êäq”dŒÊ³&‚šl€†#Öcý*"°G4UWX7[VÓ"íÆf+ÿþÚ»ØØ§rÿzíÒU~sKlÁW �bÃh\̉Yê˜~7lÌ-Ä0M›ÛZs -� ìxe¢Èè/ËðÅ®/7½Ûrj2�A¾%^ë^jåXr噚϶)lÑՠ霮Pµ -S ™SÉÁÌ+•¹#Ð+BZ`ôÁy'K}ÉM“‹¤Ro:§3¡ WŠ€þ^ŽÍ"뉈.ë!)[ ÷sºší2ä ¬ùŸëôü}®† ýÁBb*CAŒ&Yš¸¦Hîn”ætJð'ù™£ÍlEšAç´»fyšw2�üð’>¶R¼|8Q«g,ݪíÖÈÁ�Š�]25^û&ÙÄtú6!5îl»ðÔH²\1©½«Y&ewî-ZÅ � õ鶇ÓCív=ƒ¬'½cº&3>ÈØéÜ!:9¸ÂkÃKÒ5P=s™~œ'1¤ÌQxa–ÊÍ&Q³Á`ä¯ë’Êž ÔØ9ùÿ°ö6P’÷�`TFevfgwM=4ÓÌx¤ˆñÀXˆµ „=gíHZiå/ÎÞ“ñòì'=öqò=V+Ý顇å5²¥ó®žyZ­[¶O2ֈ܃eɈYRK0C5EUSÝÙ™�Y™uÿ�ˆÈȪê´ç˜z9ÑYYùñÿþÿþ»Õ‹�Îùçàè_¸¬öx•C[Éÿ ¯éÒ Óo?å€WÿÐ÷Bà?wŸ�©¿ ÒÏ�ù¢²ól<Å ›éÇÑYp³¸Ñt\\BYf^[þX›s�+ƒêàeÕAã2Zw³Þ -Ur…Î3ÇÕ‹{ìá6ÓÕÇé'ᬟh´ˆt …‰‘µ@ú‰ú'`VÍdí¯ÆÎH0:>,û ]Æ´AP¿ýÏõt=€fðQ2=~aÍð PS ý,õsb ñ_¿^ºÔr/àŸüªUFg¡glÜS“|Ðam%+%:\{ðxÛÞlúIRÿáIÊ~´ŠDÇöùõ‚¥˜lŽ_W•M±L=f¢{÷·ñ¼{srPJUþI¢Ñ°õç’ò¬CëYô=à1\$šœÏ�”ޱ^Ú÷}ÏañhôÆa[ €Ë„dX®©L@Ô@Ð�´®” hûÖÖ|LýMs½éÎ&”ýu þ*�šAS`„IÎJ×ÈU(Õ‡aãYŒñX °í³°Ê‹"ªš–ìØZÊQ@�?d=ƒÕâu h¯ ±~ᜅ‹ ØÖ¯e7£Äɸÿ‰bŠpN²SŽ}tÐaUÀ.‰Ê‹‡Ó¦$†(领[¢,I(Y?@i”,BÇQ“8ŠKP-ö�P¹óìÐJ­™¶dÏwàÁ£~&g|L6;ÅVžXÚ4À×™D½ EsLùÇ2!ýnìÏ`Úg²!8\*O0ö™ŸˆËêrß»‰„ZDQ+Û‰œ„x ò"hûÌs9Ê{늖 b`Q¬J²+Å“V]’âð$ˆBM…„¹Zú–�¬�ç9�\„Gí˜jw?ø~›3i��­Yp~h‘ 0\T5¤ç…]_Wsul•–¨bB\îLŠ¢‰˜!Yˆ€BŒ2Ø-ʈ�Ñ8èÞ÷aKûXöGñß/‰ FgÃïQlŘcÌQŽR¿t$Çâ| 4!�Ó“õ¤Ñ áö^Î’aÚïpN_+ÚŒ3yå$DÐ7ø3�~�A`ÂãE]棋ÙR¹Á—FŽ»•»¹d&ä™Ì^ôªÄþ¨P¸Í·Ð˜Ãù\è$à·äWŽLŽºÄr”jÀôáÁ£ˆÀˆDÞë%ð8hñ×�ÔpΉ‰³˜]Øî—nÌ¥í¨`Ù ð‰dÿÏìJ66+¥”3�`CŽá‰‰WáœG;\«†õ¢M5Îþ¬ã²×0êçz‰Du*##R×v¼‰oÎåßþæÓýµ¨IÊzW;¨ÑSm‡ÈY6�V�Ëz/2‚› Kd�ˆ7b‹‡KË­]»üÞj”&¬¸9)]ÄOÍ“ÍãSêèáƒI6¼°±€ ozÎ0eX8»�æÙ‚Ð�F…¹´£1Ï?âÅæÃjáŽ%µ0€é’;„?r±°Áˆ’'F‚MÄuèÏaй/`Â…“x5ÅëäÀ…IJ^hÝ ñ8XKf›a}ÿ^«Ž®5¼€Ÿ~Aì;·R¨Ï®»ÔÇ {ÿÁ°Çì&™Î:¨iÈfòDÅÍ XB¸£L) |ƒÂN` ÄgcccŽÈ“~·šl Äè~yÏú[ìc+H²FP¹| Nëù’“­^;ð‹«q">_œ†„eÁJWØIâÔ*7#H‹ãD?¸vó&)üd=J݉`;Xán(³dºÌnj»cÃL‹ÂA%1{·²±`˜Rœ äe`@Š(•šùÓõy¸5„vÉŠ"DW$ýL +?Z]~õ.z€rðRkìh NM)ßmöꎛxî9ÔŠq²¸´Øiw€Hmb:y¢ÃP\În…-D˜¨ ¶‘‹;5¦ø‰9Rip_@ÍOçI–¼ÁqJ(…zå+n,×£;–Æi½mÂvqLX·æ0esÏh‘ñO°¦Æ�'I¢€þ×1v°ÙòZgè¯ü ºô’%DÛ,õB&âáœËvv89gÛ²„Î!+êHt4O³�™ˆ€v‚gÈ—]”îØt&:†§I�Iœ÷ûI -L=�Ù€¾=š ¬  ;Ï–yd·›ì»å¹G[m4üÕgW±† QSùÈ=ãOÏÿ®¥° -ÜCoÀ IDAT4Õ†òÚI­–¤gpØ(ïYÚùÚ -°�åý‹Ì€�µÈDCeê¬'·¥ÚÏxY0Œ„«Þ˜‰l-Mã~ŸMÐŒ‘ÕÈȨBí»î'»i S+±Œì¤¬@HZ°O¶µ-…áQ UœdA!ª‰æT(¡çlé–�iÃS¢(û0{-Ú›Reô¦P²Û78žŸÁ'>2‘ãÏE_ü»Î-¿²üðwÅs/Šë®wÝ'χ_/îùGñL[\}±øÔ×ĵ\~ïãâº+Åskâáãâw‹§žGpË{Ä=ÿ@žäŸuoÿë䪋ÃóóO= ÞÃÊó½Å…HI>h/ýÔr¯Û]Ñ:{¡×c¶öWc`aÓ‹ú©7ë�(t¢ÓÛ³Øê¾ŒÀêj Kíòú«=à@Íû¢·ýn×�‚ 0· ÀZ›¡]çÝh=#kAÈÐQ Kõúˆÿ $¹hk)°VÑÙ.¬^4°îôcÍlA[^8뮜ÀGÈ( ®ÙμÀÌš *ÚgñÜ…••PXZ?~¡¤~ÒéFK;C§KwíBè7�mš;[xçðÛ�~-�ÛÃÀaœpYs—óa0H÷ì.Y²â&w(¸C‹ -} hâF§„®|ÇLôÝÇL#Õ¬›óa-ßgˆZš!#|¬BXI•´7³Õ•¼< ·1ëùãçWá΢wnuµÛ~±Û˜µâ”³¢óBgì'X‰Ó2k»³çI;ô�q¯lÂmvr~|)þs> -“~GËJÿ'p’CË@ðb¨#éû¥‡ÅRkÖ—5Hjœ0%¨ðš[s¹š#S Ä@ýA‰ì÷Ò>�ËXùY~I¦aVʤ„eƒ±c°­¨ºÃ‚?�~“ -sTHømsÖ¼äzÅÌ0€ær-\!càʽ¢ bÆ# õW¯ƒx ©È1Óy~Š4M�ä!ŽVš*ˆF_¹.ðZdzó"Ÿ~F«æOf¿;àmÚ4Ï”uˆl(YåÒ -/ H?Ü(<ß@^ 1ã]0â)ðžýGÈ1»L¶xPz/EAÀd8 -Yˆ††V䰈Ƅ¹_Pü‡`ÏffY5ú¾aÀ Qy&“�Ëj“¦E£u4†Ò­”M÷¹Jÿ.f3=c²NÞ­Ðz|–Vh:bê©=™‰õLµVÄbêsb ÛCeÙ+Ÿï”€w ÖW�ƒhW¾M@ þ€ö쪢þø!í݉ ýþ~ ³O;�� ¶Ä³yíEÙ½ßs¹3“cüYüÊòãq'Ô!ÌžÖ€ú"B§™›'%`~½^Êþ“m)i:M3¦þxò 'úœIfŒÚ@daU1õwÑ• -;ÈŒ_¨?¡dÙMP”E ùpkW˜neÑfÆ8Ýl»f†Ïâ?o)ôBu5: -tøH²¥””�ñ�{äÕe#àüaÓ€l@ËàÀ`Òàä#eœS¬MŽA·c#òE§2Uì-@-®Ë)£Ñ sj4�4?Àt›ºìY+x@€Ä/7ÎPÿ———VVÚ!•BTV~2�x5>–x¸NCl%Ð%ñOV¼wjCóQîI�Ã3¹„@±À°”øom Ô>"HêB¬F±`ìÜ”ì]ÌOyñP !?KÑ&’—Qíª’XeÔ Æ~‚6Vð-a$ÏH:ÛøQLcEŠ­@ö U*Áõä#”÷…Ž£e/4ô›Mß„s=J÷ýDºrLüÇÉ •­†÷ô»¼° -'É€@Cæ/dc0å0c@×YÄHà,ŸèñÇ; Ì‘Œúk­’V1g*ø2€†Œèœ 1[a&Œ›I ÿ ZE× -¥CLò>ûi'Ùùý™Ð$�r¬o“ÓÆØ°PÏKÒŸ…�,ÅT›ˆøx¤/X¬�cÌ -Ü¢$åîÐAoÝ5Ên¦Ô52Z’ ã52‡¹�â¾—l¨ç­7—ðu]¾ä?þÔà‚sÔ…¨SêQ+«V Û9±ú2FÍ7æT‘åpÍy‹;p ~pÅÉNW J- Óõä ę‰8Ò„ P¡ ¡ø’í†ùHéò9¼^9$¿4<̰.•<&e¶¾…/-âVªõ«f…ß1‚ ¿ž‚AùP-M�+™Ã!БBÊW^©Ph¦¾Pûr"IJ@“ˆ[»ÀZd#¯Ãƒ’6©ˆ:§†’SŒ}ÌO -¢DàÂ�b�½ºŸ’ŸWf¦ìæ0[°J­Èžýï'Û -‚ yðÉ“T�dúÒ{ÝÒȃX]3®WsY Ç=³ü~P*À6PN�ã°°Q-ãÚuð€…•Å- eÏá¡K©8—ƒø0hå„¡C(st™P]C·ÊpÀ˜>:EÙèO8%nk­C9\ébý à. uŽ�@ -XH5'Õ±ä°,Kû"S²R^$&ý9ÈBæá @ö7ÖW{fÊ&%_K-k4üö �hÃ?oßk°xØ&™ËæŽ$ƒ ±ßáX�±�B6 z�ÒÚbH×òP¸2CÀ2MoÈá5Éd«Åmôè  9«@Aà 2sHz 8ú¤È(Õ6Û‚~Çdœ¿RÇN ‚õ’Sq\¸Éh+2+Éd€ÂˆE9ÃÑå’ÆY¸¿ûboº½'VÉ”8&#ÜŽ }à™-™E4ØÁ>< -�VbM\Ò`bº7¯&U�Þ�þñã½ÅÝž?_tN¦y‘b—ô{œ—G[µ ÓËK,´x.ŽÓïÖK‹%2ÑÕ�I³˜£Öd�1Ñè®EiLRš¸�+¢�´ÉR”Eÿ3¢iÌ¿¥Hk5/"#LjáÔ¤¢àšŒq•@ý,2[ÿþZ¯¯Ëdðšâ–Ž+ªÙ&úŠïm; u|ÜhoÔïüÐJ Ô_Z`‘,Þ®¿ü¹òb›"®Ø™Ó=¥þ\;%ÆšyÙÆ”Œj,Án”‰×Ô—bQF§¢$î\ WEiÔ4Gˆ†š0¢Y.JÇŠy1æ™ô0¥ æeQžLA/&O9s¬úì¶7œŒÊ‘"Ô�9”ˆÁX X³×ȳËKÉ1H꜒ãÙÄœ%¡Ã'ë=?ðíEà:±(„’›—ëCyhÊyÈpVv-¬!wÂ,´ÉåÄ�´Ÿ<“¦Jœ©'ÝR|h… ;íŽ]Ürü2“þÖB+Žc“í…©ü@y‹è2¨)Ah±±¾·žûM¶(tXaŽÁ÷pAŽû7(³Ä34aŽ~B^ÕŠO)ä”' �uHdÁyhÇד”­Ë¢²�oŒÜDÈÁEª”k -N¨÷kÙ¦-ç)Ú ß­2ÍS˜SD8Ét|ÎÖ•õõ˜ã¾ççƒÕ¡áÂ'#‹C¶,. )A@†y޲»dh)Aa`ÑZT€$aÜ×FÆefaå3´¯ZAC¸–ÕåŒ6+“héÔµ˜IãÉ·¡.M•âtÅ#¥•Ç žEƒ¸ º9¢UƒI`"¯ç¥[¥îwœ¡s’²횈"¯E¤¸$ EF#ó*D„º0J-'2¨5›bØÜa^Ê·Ÿhƒ¼6$PÿÉn‚–‡›%ˆxÐÓKÃQ„tWJ¿,»¾…WÆjuw�Å©ÒyÃrw@#QÒoqí§üîd^Xk?ÃX87p3mSE;WÖ\>žËó ­~Á¡ð°õ­Pæá’sM¬VÆ?G›Î#~Jöë¥êtâîGþ—ЦÃ<À¶÷éüäíH½–ö)×. F -kc„‰€râ5ú±°º½‹Þ )þÁÄ”âhd¸žÑÊsææç†‚gz'=+CXçJõÆ=’ÖŒÁ ဖ23)gç›r²sXÙŽÕE1æ½V†¨f�Èó˜´©/ À‹c1ª%—,Ay|»Álõ�AQ¡ct§›Š®hP*#OŽ’‡P2¸J 0àÏ•µÌ¤‰òfšXWB7ÐSò¦–Wohà -œ|³" þ°5�ˆÆäY[`P07¡�4>=4v5¥¶:�GE&¬Ìû”™\ ’øñÕ̸¹•&&,³Sv~"¦ìèJ¥ƒ¹0ž�JÇA Xå!žUAŸÜ›“Ἃ^“´PìVÃuñ¯±z£®×¨_ - †ˆ¼�¥þ€ÿâû�î ÔœzÜ)熲JÑ I­lPñ+›Z� ývX*þ”¼Z¨TK’•u&®¨Ž1dÓ¼IÍU¨ñÍ>ç±q}F5z‚¹×¨bÿa&°�ùyi¹ÉQ¼eä’¨Ü �—>¶Mš¾‰Aàsê˽SIk‡¿ò¥Oî"B±…­ÚY~8x�Ê -LHf§Qhï0šƒ,p;jÈŸ±ü^`eç‘ÖL˜i ¹)'{F„ßB>—ðÆj„rWÈ&%ÄX£k¤œª©qVc÷y{ í9ê~vï®ø¹+m¸M$N݆>¦Ñôë×ÿÄ*yü)tß-*>þƒ";v\‰�Çþ{xÂJNcÒÏ�Î@„Ùþ#, €Ûê©ñˆžö˜õ£I6ˆùµ¼V™|°°Yv¶-¤ 4úß/ªTAâYY¯Û]1úl¥±ˆÊÀˆüEÔò· \…4Ĩ¢å@Ì5Oóàªv�!pæ5[ŒŠq �úCÄ[`¢“[j ñ'$ÐðЂy3+Mj*S4bÏSÞÃ$Ô¯è¥2›QuVµá:|»dW–FGXÁ¾u<ÓVPXsE¸Í~£NÁ{Ù½ç¶ÿL6´Íò­ÐÔßwH¤¤f, -ÁpcQÆ´[¨ˆ  -/“]†œŒ$%K]ÆÓˆhÉÊó¡< RWC9ÄÕb“O I*}=×kGÕ‡aÙÿ$VÓj¯ôÈŒ©?»¯Íý(IK*$”…5èÕà¾2.hÃ)l©•ÈÒ£" ûÑzÎ<€©ùBOg�o�“V›%Lûu ˆ{¸-™Åo7Ê#9ÀdìûÁK|oÊõ1d€ÕJX¯|óŠZiN@úç[ƒuʇwÝòŘ·ÚÜÿŒg°Ô¤MJm` ù¦å^}‰w‰“?^ïY ry^åÝ4…»â„½ òϼútpÝ6‘~;<´Ý—Lá ŒIÎyêšh"GÍŒe°rÓ¼~0îÕz½ -ߟ#F%;ˆ‡åê²S Ø"Âh²µi°V{Pj {órÊ UÄ:hqÉ5†‹&ÕHZè%I³UZBè*ÅV,MR)“B˜ìXp•íÔtç5\Q”®C¥ôa|ß]ClgX =N ±[ -¶Œo±Ý6áÄÅ4vó-É#ãxANéTy’o r|E®K°v!Ìýû¥ñÆðZôÈ�¶Zzœ¥ÆOQÎ[ -[BÏŠš¼Á’âÆ[IèùŽB4âޤ2Å1¼¤r($�”dñì®’naÕ{×§n–;q>–õ=8-ËÍ«I-Y� +ú»²�jD{ذœäIIÙü¶*+~?Óý<Êy!0.%ÈÒÑX¿\EŽnis$ ®Hw(£ +˜ªõb9Çð Õ]Å)ä¶çº8Ö�—Ç5JÄó#ÃHÑk„–×�‘ kÙH'ãú!­E“ê·±9!Æëņ�e½z�`^&…²®ëß|*àõaZÿZõuý¸<[f!é`D® ‰Ö$8>uÌ´²ÆMÐ 1æ�‹»†lŽKi#gá=QõQ‰�Õ½œ ¦&Ù'–3Ë#Sb𯿽 0’óP¡¥r[67-©T#Iã­,ÐÑoœ±áQ2›5±ÆôfêÏâÖ�û ÜfܺYsnæC‘�©‚×~âŽÐÐ…ÑÄKSA\ëü–h´J=O7oÖ[I03�7Šã0P_qúÂÄ™qqñ�ÁÖT^5nx9=†˜2RŒÓúòÒ†=�\²a8ç­|¿� ToÝ`�sc«.w’ÍL܃Ä&3E1nm3ÒG)|¼1Öz§p”Ö¬E¯H?|â4T6�löÐ9Õ#zåf¦Ê3JâZöYXžú1ÓùVÐhúSqx||èðTó>�~ØÂaÉg§äê³…�ââ£Hà ]ÛKõ5õ‚Îhä 9ÆP†Ò‡ÇGжºp�ú! ˆ…þÌO^øZà+ORm,�å#¢ …0ÒyJPQ޶‹Ú¤c1†ö›ÅÈW4)g…!-ËNåÎøÞLÂõWÐa ©™ÑRà½ñ3³Â -‡0õGéJ×ÙªÔøúèBÂ3¼Âú¤!%[åàžx¹âvxæ�ØÊ¥Õî–»:!SÿÕ¯�“"6Zeç2º=ûש_ÑhÐMÚÛ6­ü6™BùõW¦z= ça†4#•ðž[>º®Í`m6«¬“ÐŽþ형C½x¬ïQ.Ćd]͹¥¥³‹ÙÄ;ÃfÈî -�ÌMÖ™q TWθ£ËÄ3ê­÷pƨÚvûkI³åÃ í¯‹æ<ÚšûëÙ®�>lá”Í�coí\l´Û=.dß~©ÇÒzo€5ÊÛT}i©Õc“…0êF‘Úm?ß๠›÷²®h�¨´L¬/ï·ŸÇk-¸|ÎV#ÄŽ�A Ûíx‰Rûí¸¹„yàý^®Â·±t6\7¡ëÂIÚ¹:¢nÏ'ð¯d+i5Zí—qò-4ºƒ.ˆ“@ý;Ý^G:E”¤‹Â#Û%z�hñL ºˆw˜©{¨Ü�ïžéZ@�»Ý^o#[:'4¨È½v¶\ õQ/ó8‰{½¬Õr£uÌ&á¯ò$�6*¼×¡+žC‘÷m5Ü“T6r÷îtf}H-\Ÿu;/qæp�$†�p~ú­ß£¤bx¢ÎIá -qy±%Sl Ià·NbÒF2¿#^\HN¶Å<•2„gg·ƒœ ÷pN#[„“w"P Ìý`¹]Âi€%9dpç½ß�Ãkl ÇoNÀI?8øÝhy¹7’Œd‡2E—šˆãë èœìcmŒaÜëöZ ­ ïSsb ý¬a`gµ·|¾JøW©­iAUÏÈ(4¬8#eMæNUúÔy‰ŒE¾x÷Hi%}/Ø›É4 Œ˜‰’¦…âÔß– -ÃÖ4-’/¡s�!赈ʹ_jû3>�~èïÛ½ïiñ´¬Húé*,æ³Ü3?ô°mèq2 -&ÍzƒS‰-ÿÒ"Ytê«™öv¨²|³®+¹�²ª¯l|néçôQÿÏ¢„,|ˆÿ@ýõ˜xE‡R€ŠÕ†®;ãõûi5õ$ ;|~¸–°eà©ãm®ŒÖë÷ù9{Ýd‹NDµ<ò9x¹C—“«/ ˜ŒÓ¼EO´O‚Ê™â9_D¡µM†×÷¸:ÙKjÄV¾ßF~³‘§`m?ðVO¤°0–ý9ïÇJÄÀÎ&%”œ$¨ Sã!I’neÆç6¢KÈ&íå÷;þ}Õébp…/6Ä*E9ø‰è¿Œ�öɘb¥‚öóðŒ5d8m%¥BS¨~ìûH†RÜá®|_eE´7â¦� 5œ wÎÞ}°}è�»÷]ðÎçV¾#úFUd2~YôÖ:½5uÚŽ¿N/Â]]0°ÌcÏ üÃcú=ìÀ¨¯|hоøÑ"n!Ùx.™2½—{I–Üúác'OÜ|÷=÷ÙE¾zk@j['Û@|{Òíwþ‰°fÂÕ\åêjϯûI?î’›ôGkƒý° w’¬Vží¾ó_Æ µDÞ>Ñ{ ÆŽô°¾¿t6BA4,›\±rŒJ&j5Äwžø{uþ n⸭¿…ïäs«áœÛ^SæÏέü@U"¡X~ž =˜WÀ V¾ŸXáB<÷£°L଎7qm3Hm•)†ÆÁ!!m“/4Yö刣òU˜€°…ª\×c  -�©°7Xe¥M˜Í>#éhê£Â„,%j62Ó1좦eÇ‘.*™ ®î×Ýv;ëQ%ÁÖŽ§dœ.œ%Ò:Vß-, - O6Ì•Òb‰¡5}LÊPŽ^h áÙr%¢²ÒøRUgÃÓ…g…ÍFø -*N -�èëmûí*)lÓˆ¶D8cqQg -ï-¦Å„˜}@÷ m�+y@1Ñ™`,3“Å¥,·xLÕw�)‘,¡¥ufËczü-S¡½s\–ãs“¸¢ÕøTFxòIÇZK%¦§ÔñÒ, Ãl9[8§ØòP™°pRbñ)¼CÓ&ô¹žçûÎá"†MV”Ïïê߆š‰0¶#ÌŽVÓXùqqb6èû1YÏs1˺©Ê®…óð블vé½Ä©h̓<Ë2²„ÙL x:�£ÈYú†~cÖ2Ê›BºŸ ~ZÃ4åI ªåk÷C³©ÇÇ�Sü7£é�D 0²]:ƒÞôˆŽÝç* ëä Ý©œ¾í¿ðüãºê´ë¯ßõ¿ùþÊ$B}þU v÷7JðD ¸ï»ñ†#_»Ghpoû·@ôÑèT-z†û}–¯÷Èzž[õ¶ðä½þ/ÿ -Rêwþ`v1×#¦µ•À'9¥ˆ~DL‡ûpl/#U5¿)Ö×Ïþ·Ïð]O~õî·úÀÍ|ã›®œüêÑï}ÿM7Mî}>êÞ´?Ã-ÇUnªþzÊs ˜EZ/Hÿ`=YÄiéf0[ÍËøIÚXÁ/2¨p¶ -F$K‘Hl@Qÿ3ŸS2F4™ šÐ{aÞÖïgfzéoîaÛ{bJy¾Ó´l+{¢h�VR[–1²Ôu+Ô¯þÈ7ñÅ?üM”eì2&­}…„ÌWTÚK>¥°§É‹ í‡} ËÏn�Æ( ÖÎÌÁËÑ¡·2Ç<·Ú>pàÂ'Ÿ|êÉ'êòö IDATŽ ŸzÀ€ô«¯F²h>ùÔw¸ó†×ï[XØ[Þí\xìØÑ±xÃåW�> Zg •ß10ÙîþÊÝÜ9ÕWñÑÿþÆ¿ÝÁ¦Â–¬aXïí?qš4hè6…�o Ù�úËzé„䤶ï<|õ{ÅÍ‚KlUÌw sËéV”¥‘ë…¢(™¨ã¸�çÁ‘òVæêéÂ"¹�Qÿ»ÿZ=û·þá¡C×^{èškŽ=úè·¾QÞÆ\Éœœ¤â„çðß«Ø2|J‘iPŽw´™òdC60#LŸŠæLl»Øo^!Ž¥WV'7¨Ã4’ žc¨ÍJVÝ]NM•%Iª´¼À5å[eê -25�™‹q‰�–ƒ–AäW-(‚˜î�š1,NjÈà¶ò~@(»Ñðk¯‰ ¹Ó–·ÖY$[2õGN0-q`áTÅ#ßS‚˜{þ.eêÇ¥xJ›`œc²?Óq6ûœ¡Ó ¨ÝÆŒz“yyi¹_³Â+é‚õìÆ-cÃI¦Xæç‘eÆ&s®RµG7L(ß.)£ÒJS{ª³z¢¨‡xXiŠlÀóRíæ¢m - J"®eÈygT H‡�¾^Ž F3’õo}S0G=Â}Ì\Äÿ"P<ºÕ�(Ôܰ`œ ·Öcñ1É|§~R“½u±´SÀ¶–§»ö*„æ,Q‚âýpÐ"Ð{):g'þvåùÞòOµ¨8IÚÜUvú«=Pæ}ouµÇH«ýµhמ(ÂÉfÖÚ5¯gÉFºôZÏ€|�üAG¼Y|ê�>}äkGðø'00Aé9 ûÛþÉ_¸ú0ò�spôþ#Gï?JˆÿÀnùðï›7áÏ5oùÐMc<àÆÿíƒË{ëè×QZ�¶ž»õ£ŸÞî]B{øÁ‡Þþ¯ßiþ\~µªíüÉ?þä{ÞõžþÇn÷C®ñÀvÿd"Š ¨¿O¨8‚ìݲ>.ü^rÙ%@ú¹�ø¦©§mŽÉÒØ¤Î°éÂn5ðÊÚ£÷ðí¿íØ�™=ï{ÿÿú©;�•ÕöퟸýÑÇå¯L”cWðü1ñi«6LåÑN2ƒuõúÈ�êQ†l€vªZF[¨‹çÅ0‹�q,ŒøŸ ¬ëâ?*ŒjL�õË4áóíïõŸ]é_J@o�ê—–è_®m;°…�júââe±Òk/ãÎg_˜~[|ŠaÝ¢‚U_ud% -ÈŸÆ„¨_Ja¶·ÔNܰë×ÇÕU©íï²n 3.GJ�Ã`6€¦âÏ8ü'ô©PÃ3yD|)æ’®Ž0�”ÔR"”•ü/j�¾·”¾³öûTûw”f)È8ïsG`N,fŒ`íD¥ ®ÿ£™ˆo2Øè4q´+Ž ½<-âˆî’ðãZ-Ù-Y`ñõÀg¬4ן àA\´ád :©ÂUY¸ÒÉ㸓¯†<�VJ CYcX‹3`.3ˆü ¢Ýo?ß›=Ö!ϱ^n–ïlúœ"¿Ð -ã˜LXðÉ©ÂæVš¯¨c�^Uþ¡.ý¦Ÿ!F… wÈ!a‡…Í ÞH�TÖÒåŸn~ûñÇ’¡/]*®ùÝï{èë¯zK´Ñ�6: (…óxÅA†'<°ÿ@ûÄJ0§\ˆrÙ„d -Øú\s÷îåÆ|çÒ0CRôxbUµ]ø–/xíùýSýN/+Ë<q9ñâšs̗̈́¾ô¥ë®»Îž·ç¿æ|Ó¿ç+÷D½[?†<ÀŸ[*òŒ¤�²��ä©'QB…ÜÚ“&+²ÞΫq-;gÓlæ$Ø"QÐóÿ�o¼Ø\÷²K^÷…ÏÿåÒ¹Dk<ÏxñÑ ˜4<IŒ`"Gž(oÔQflzz§ŠŸvá…ޏ«fU¢É¾U^]w¯}íc5&ú©OüéûoºîȽ_¢ÌWÀ|XL ¤4ôˆ�}‹ÄZ бª¥N´v¸b‡ €)>ˆ;i¡iAßœ ØÙþK(ä‘WHŸŽgr>Ê»ŠìrNU‘mm¨&c æU¬ÿDësñqæã �J’ z|Ëua¶³,Š¢Aá˜pA/§Ø$Æ”!Û�ÉÙ¢lèF4^MËÊ«°˜\Ü-uˆ†ßàg†) 4B›­[ó¸HN·Ÿ-ímUäÒN_0’tøÆùÏÛ÷Sd-.±�qõ Í«f[™ ²ZI˶ïÈza6Þ¡´I„¨)³•Í2¿¸6ýµ2�e=̱Ú5BVå*CMùl¸˜L ~{Ò…-ôá+è+^É[Ñ8Œ#A]…s€Ù;S DK”�¨h.¨¼ .¯�_Ö¬~Þë'TÒ×?û«…q§ó9µ‡�á–fºDŸã!ÞY53’\ߤ²Ðô’uÃìV!)áíÓÍ -×9q¥ê lC·Ä޲V)Ý_È…ŽSC@1ž¸–˜ƒÁEä¿À¯2m«…ÊÁ›Ñ̛Һ*Çðpâ¢2*[ÒÓs† S=xôªŸ»¶@úá{€ Øgdñÿò*QmÇøªøÉ�~ŽAêôN‡xÊDÐn÷}ý>Ø^ý%›;ö|¼Â>Ɔzå–+$GØ?^bÁ4L;tMù¤×¼õÊ»¾péÔ_y¾%>Á»¦Ò dãJJ…@6¾" ûo:h¨ÿÛ§î¸ëý⺻¾ðg˯V–·Ø`–ú¾¶|AD)UGµãPÐRc@ ËÆe"iþäÓS*´Á*z6Éo—÷ò*ÔóÄÁt|Ô\¯É-¬,ºTWå}ÆŽVøUâÀÖ®úGÛ×el(é8RL´Æ�®_+¶ËL¶è¤í| ,¼ ’iõº›Ã„#ñºæâ9M1f˜ÙŸÅøP’ŠÚÑ]QU= y®êƒМ+¿²‰xbEþHGÃ>{L/\¶3œûŽ,òÇà¨Üì™Y .$”le6X’cý‚½Œ@ÂtÐj)½{oÂ[ D¨¿­šO<Àf6hbFñH]­Dµ¬€¡é¤˜wîÔ†4á‚ì(ÊXõI䔹¡ÆJIˆj42�æ3ä\A­1IͰ�QµïÊK°×ÌN`¹Ð¹æ ŠÍÎu¥‚`Ó¶#:¯†®ÁÁ£>Y9'̧gh®^;¬À±è`F>t/0ø<þ­GÍñ�^´¼D|ˆäÞ+ßðsc'<öÀ‘Ýç.�í\'w�w¦2“̶k@ÇöÜò»·Ìù73ØÿÓ¨bßò¡Û}¬Â„ J°�L0ÈT9æyþø �Sÿ·\£ ŸþÞKö’oÿÃãÛÝ*³¬‚$²�š[MSßj+#\ªû¿øÅ/nw¡É<àÑ¿ÄüÉs,#0î«lÊQ*mÂü »Ñ:—v5±ÊÞH[ð=gp*Éꅎ㘨=i 4£Ðb’¢õ1“vNÓ&A¡Ë¥ [YÚÖ\Œ¿D ¶Àü(Y˜L'LÜ\IW޶a–�ÛDµDâ—�fy ¦F¯Ší,ÓQõ¢6韔ýÏ£ [V5  ¿!ú[ž êˆ'Qwf¸Þˆµ‹Œqœ-\) b\ÛÇmȤ?3�‡¿â†™\NYg -¯‚â?]¡&·’M@@X½r�tÞ±ØdÊ .Æc�‰ús‡aŽP Üûçe§À^[ Ò¼ÁSwý' ûÒ~Ý,þ#'`uUú Ä™{e`þ:MpÌråRmÇ´ˆ Q‰U ëŽ;ŽY–ƒ<ÀTfµ@�àïj _£«;BkÃD&Ô1{NÉþŒ5m‚§ Èþâ#•ý ÜùÿîcÜQÝÓ€úOží•·æŽæi¾£ƒ@ý?ôÁöøÕO\ àþ£÷s5AzÀ»Þõsdš”`>ä©'u­ €©»óRåbú¯¥=ÓyÒ%?{é�Ÿº¶ÐïPÄk´Á5¨)mÐÃæb<Ü…QÚ °`7)ŸF5X½\š�üݱG8>v̸å?Üü¡›ÿËÿõé×üÌ…?|⩱oþüw~¶T\×#óz -ÔÐÐDƒÛÁeŠ„Fg–¸mh4tã¸J#›ƒTÀ«Ð«QJ ɦ†’|Õ„MVÏqÓÏ“¡ï“u àèËÒë‹9L/­1°à™Ø„t~5"‹´ ¢ç°TW Ø$¼æÍ$M��;väàÁC—ÿ˃+?~þÜuîÙñF?wP$Y[[9xåÁ¥]*ƒƒè…øæ7ÿ:E�£Î™zF˜9–´í®õÛ«ýkßrøß}˜ØéœHòK’,!_Ô}rh³ÌP=™”“FèïÚI¶r:ýëÿ§×ƒJÊNà½{÷þÆ¿û��þÇ�òï\¶ÃȦ¨ãí�\-ßxÅ�…Ëo‰Î–:TFÚ´Âyî\öú9�å]ó?£MIrÁtEú×¿ç Ø¸U {á}ãUàÓ±ûŽzëA�¶Žõ×ve mWÍöŸÕ×éEàžÑHU*ÀÉ¢•Àå=ËíWQuõ¬í“êÛM¿·¶ò_ÿìÎkßrÈ%tá…&Zÿß÷·ÀÕ9ÁpSUsô¸ŽTQ¥Úf©Ô’G’iÖ—›áâ§p{èе°FöÖ­«õ{iûÝÏŠÒ½'G$ÕI‡,±©šáœ%`›šIåÀì�U3L.‘¬ÙÌQk 5Éñ�,ÑC�†iZšì0J¡·à ”=S¦“Id ­•§y9ÓÌóDJÎ[‚µ¦¥+gšöYB@�­:Ûï˜ j¬÷ËÁÄ~c�ßZœ®€<êSÁè~_�óSí‡1bQµ*ï¢É(€°¡Œb' Š(!úUb0�Gà*q»¦"2‚0¶rs˜ù WÈRGV#²ˆ–1^Rùüøš ÂàK[0Î…ã:ŒW¬Ñ’UÚˆ%›×ð´¹à1¥ ÝÎ|6ÇA/‚]`”3|-Çp-Y!Êd±}³#JzZ”®žŽ*ÄSL*ÍEvb˜®ÃAD4� #Ì!SåÞÉùF*·;¿¬à¦É¾ÇÔ_ÀÂ�º´±{Òð»�—‚�â[#õÞÔ]pý¨3…b/¿êØ|óá}ûî4;/{ýÇ;zß=“¿í�¢R;ÊUtï×ïiíö}ï ¢kÞú¶{¿6]ø‰Âá[Ú}õ[ÚßÞò»ï›ú«:©ÆøéÏÁöÝïø…w½]9¶Ã…wë>¿Ð(éÃ1׿÷Ýêø:<˯qŸ 4Ð_ø:tðmoSwÒ>ùCsžfk'wŽ}ðȽ1y¡êÒo·|øûÏ£G�èuDŠÆ<Àne½+@SX¹A&×™Œí³8}3U(DÕæ b²åÈá4‰§÷Œp™ºíÂà3?£K -Ne5Î6uuŠ(Áâ—Þ8@�]wé;’ùtêY‡I7�l!Õ~Mu'Ä¡y€Šé¨Z_ÏUo¡B'@üO5^�¯~Œ[ <¼�1r„¢·R´Ã‡iq]èW)­†â -Rìòt};ÂÌÓHOèŸÌLš†°&Š>€¸z…*¢LGÓÞõÐüS“1œç1=e á± °c«…vL!¯Ò“)>³G‡ ñßLÛ¢A`± ©R¡ûÃ1àø‡²¬¹¢ŠÙ— çØXÞZâÈ -Eëù¹8ÀJ«Ž}YU±b—ïjY� ‰Ð¶Fœ›è�¸,Þ`ûRÂ77é!¸²m½a <¦þ,âÑcæþ|`'Ê«_T3Úõ§zì¡WÁ|=öÿ~4ó'°� ~zÿ=_þÒ¾}û'Gâ4ÔŸ;À®¹æ0ÿÙÜY2P7@ü÷gÎÀ®}ë!;ëéËýåwR<è½÷Þ{ú~èƒ%¨`[±fpÝõ7¿ëí÷ßuçÇO*x¡éi�¡½ïFÀ¹<€;+Ïî2ìÒj4›Lú¥ÿ6F÷|ËÁ;ÿäN±M»÷ëGî ê?• °/B€— O¢ú[¹ŸVãÍuKq*­—³ŸŒê†�iÔ±fLc?·›"ãÛ "……Ôf² -4X:šä´õC‘–q0·[ßÖäààøúÆ\`¬°m@òúµÂ3T�±²ºúXØk¸caá €y@Õ l �]ÃdëõŠÄ+Q48Mc’ -J@š+Ñ^�t¯Êz0ަMÇHÍ™Tï�™ª˜–E¬0‘¶s-ÖTôo倢ؖ�«[u'�ÜF´v戩J”䆻Hv,“½k”g&;™¾5àÑý9Ÿ«,‘¬,–$r¤þ }e¿%L -Ë‘úcIÅQå9ŒgXÖKƒ²°£‹kµCv¯°Ì˜c[c°¨|Š˜B®ŠÆ1ßJ­ÒÏ?0 ®Kµý|B‡á¢(Ù€ãå,û;®ÌHª�Öݪæ(ÈC*Â.Òê{;vl\âÒ�îü‹Ë.·¿ºwk×¾å0| Ã��ÜVûýæüé¬ÿåÏßzÈ(˜õë Â�3€�ß~ë+9·O~ês¦ÿ¥¯Üœ}ð€_ýÅçù‰7mÚ7þñ;ïü7ï59rÌtö_°kòxÐì?¹2šZ=¯C`¼6pÅåW=òØCtN™$:6¡¦<¢¨#ÊÜ »LÅéògëÀ$Tá�‚=jå}–¢úÄBžä+†¬ç:ç”—Ò0°Ï¼&Žöd�’#èôµèÎ]%þÛÔ1ôIB?Œ&r0ØPcûM�øïUÕŽi¤Nê¨ z¹$y™#�ú/îÝ·ÿgÊRç cç�½QŸ¡÷±ÒËB½ aê[øxf@à‚Á#ùZ­9MwÖ�:6°$•ÎqÅÈóƒ4‰©‚©æ×"þaàà˜i.çZ¹)8Íæ*d™ËzX˜×J†å¯í˜N‚¤é�Ô´Ó]úíp„—©å¨€Ðä.tR –3D8 ¢‰5mYÃWŽô,ðý8Mqf0Í Ë¼�_8.äòtí—OPž°eÈ_$qr–b6§.Baך)¾ó½'ïúüí׿÷CÐïv; ‹ sh4ÿÎwŽ_{õ¡+Þ„Ê e«'Vzø¶�89�ÃamØ,Óœ_híXH,°ÂÕ~ Û°‹]a$Y÷z+¡·‡÷' &ƒ„Õï÷9¶ú¶OÜšle÷»�¸ûkwW"fæÄwÜq͵×ð¯Íîöj{i×l}ßWõÂh!-¿zyÆóù Ë{P*ïœúØã͹¶¯áš“~Rwêœ àû˜Ò�ÿöè¾ ß0èá�>çŸÜþþ·½õÝ÷?pT°9«®ÑÑ…2ˆ#Ð?ÙdòRÅWbµƒó)I7l¡±n¢aâK·5ÂøçK‰2½êq¡Þ!?G (zÑrÇÚÏ%UFˆ*âWTg§’ã,Ébyµq–òšp}Wë¨9ÑyŸ„ΚÏáE£€EqŸõPG©“`…6auª€„ìÀƒz‚uSëJà�n%|0 qt¶Âãå�kb»Q¹3Xè Š‘~Úå›l%‚Ôˆ½»Ï?ÿ¢‹–^}N2èÆëk°=GÒ¿??)Zg/‡l…y?tº‰ÄjÔTE =K�b~m†î�BFÑeuÆÏ¶"fq®=-,H�¦‚çzX$·´2+=Ò·Ô"ΰãôídqÁ0 X½†a÷½l"%Rí±ü…¥ròäX-­ÔÄ„U£@Õ�…>Cþ -Ê€ËÁkÃ$=ÏcØg]SÃ:Mi -œ¨�¾&õXÉøÚ¶®=L49f"ëÅ„ÒjåÜ32eYÃBÛMªC`Bîˆ|Ë‚}¿UÐ+rFåiUîi`ta4ó-ŒàÄ*µ®º8>!9?̯Œpç®*ìE–ZSLMts†Ç4ðÓtÿèÕ‡î½ïÈ5W2—˜ò³jk5šÍX'Iš$[ã&”öZ{içÒÔþ36¶ì£Ÿ¦(ùßX[Ü�ùȽÇ^sï�ºö ØF@¶Ð} þÜ7™É“Í®Öwú–V}€ƒõé¸Lc-Úè…Ú b´1ãéUZŸf?ΨBåH &ðáÜ6M=.˜¨Oâ™ø�×/I‰df`»º¤FK•E¡°Á}½¸bf*|�l¸dÁö|�M+*ƒC €¶ó”~D¦"ýú¼¥ Ï@)ÜÚ3Ù�Æv_ N)‘…˜D¥ù3~2¼îâ}¯{l“ uà7xÃëÆ5\¦þª? Ür[h¨�F½‚#Ÿ~;;©ÓÚá4Ãb¥ã' ~FÓÌÓ +«…å;×Ë¢(q)ŽÀ‡ŒT�dù,êò›Ž,é)I žL m»—nU"[Ukf–U‹ý•UÅ·²mÕ[6Ís 3k\y²šº ¹î[–2ƒ»Ëze]Žùqxr…q”Ÿlˆ@ñMdGáÓa¡ÆKQ­PVàŽ -FÝÖ‚Çy0ƒá¹½A�4M¨Ð1Æ_2ÕÖš„OªgTäjÍHŒ›vTýa²1²µÐõTˆ*(NÀ?¤­ÖäT•ͺÇe1¸Ž<�€¡wÀ ò1ou2�,ôFyÅCRêE¾ûä“,û Dúì4æÇ�iÜ~ìØÔý@÷û}…g¢ ýb³º¶Ú{¹ÓëϪsxäo¿Ÿ+Þ|ÙÔ³í_¦ô«í�¢7ÝtÓÂ(SZ®�%rZŠ�ÝÞÓ-‡ŽüäþŸÆèœ ¹Š$ ^fLXwÝõå�ýÞgN*Ó2A93öYV ¨_L�Bk�v‰qvô¾{Œ?ƶéÚ‘Ì\íå2¡Ï’JeŒ�œÐŸ¸V%*ŽE‘T-P ñT¥#õ,͘ƒk©\Lì Eí6Ð�“0`ñ_)0ÓëžòÐK#¤VUÏð‰•§÷,ïã~fY8b[дQ‡-ú–d3`†QXeÛæ»*l~¦ßÚ�ç% þ�ïö¿ñ]E—}¢<Ñx ÁÉi}Â�ŽçÊÀ@÷Y Z¬`¢â¿«Ï[pꔋ*ßJAügSw†<àšÈú¾WŒr, çI tE ŸÔ#jÄ™oLCs�4Cê�ÊB.c ë(JÔ"E2S¯¹¬ó _9¦›Ú¸@±¢PHªj©|_¨Ï‹©­Rk”®>›†»›K悎ˆ€íKx&Ír¡òlÑ “YQðü½Š&¨„©™>Ëþ ëfÞ èÒRWƒ’ý -Ÿà×D«A㜚b÷¹S““D*NWûÐ -K�ötq ØÂZ`&Á¨¦q° ù0eÇlÎÁT$TJ]>ÞDˆ¡ ÈJÇãbñÈ¢´_ -4€g¾ÿäå �ú'hÌ/_CÀµW—Îah�lÃñÓ·Å þ=‚¹To×Ùh%ߎôC»é}7�í¹ë¿Ýµyÿͺù>mÄžºv<4Þ4 ûg$ý¦�*ðÙ-¶�Q³�ù³»¾òJNån_“¤r˜+³iéTÜó�¾e:›l!¹R®¹ú0|lŸ¼1÷£ÊX'Pu8ó)È.d -% «N†7QäÎ4®üeíš<Àh³Ä¦œ -H<�~7á‹V AžÎ`O­‚<ŽöÄȺ²?S|„,c=ê@ÄUUû4¢‡ -çÔaƒÞwl0ÊJ§íê·€¾[ÀJÍ%�ý¡ÿôw¿{`_(v eBÙŸæÏ$K–æ±ëì¤ßœ¡ ãѰ}Mƒ1 g±mŠÝäÛçšb¾“ô7ýæ,nW -ŒÏc ,6§&AÎʬÇ�¡H²"N�À3t#ŽÓp^ª2¤€ÁY Y®Ööˆš­ôäŒR—b°Q4 -ä�ò”�q¨X� ÁtDL!!dAÇÍ£õŒ_*¼r®JçXç!5ú WÅŠý²HcÎl¤ *Ž‘õÍ&ê¹ý~¯¹g©¿£Žè ¾¿¸®œèu¬Œŵ³Ñy¾çúÒóinÖIvÐ몘ò—ެô„s¢áÁÿûI%#8Ø‘5ΚàÀMk˜±Š$ÂÕŽ`–×3V @·• ƒ`“Ž;R–м6n^@z-•[‰G>E`2…z(‹DÖT¼PJú�D§Š¹3åßúZá55å‘­ ùAŠ ˜=:„s\™`£‹& IDAT¬e:*´Í£Qa¢[sþW¾ú—¸tïÒž•�‡ËáŽÆ¥ÿb<‰¿üÍz ø -C'Z#Iêª`Å¢úà-7½ ÓÒ9Êü}ðªk¾õP’Çëq´$ühûä²]Ñf‰¢ ¹Ù«'úwES4š†Ÿþ£�_zÉ2¼úÏÜùGï}ï wß}OkgëàÏ<öÀ±�Ýö±Ütýy{w ò.íA³LkÂÊÄô·nø¥OþñçôX©ýR ×\{…ïûQ¤“ó6Xìh¯v8ÓêWímï¿ñÖ½:ë*Ó~ŽÞZï_]{Å%.Ñ×*�ÀM}'çï©Ø‹@x¢°o L´R³¹«}â8]=¬Ð�USÁ¦ÀV”\ñ¦7@'Gø£LïߪFc®G”k�‹«¢pÃÏ+¥‡x%äÆÃ3+é0GWAZÃÈf‚„ËhLh¶ÔhöK²+pMiŒÜeè*‘øÈq<¿&[)¬04²²L”† WPâ…A+º �¤0¼h¼è}Å×Ñd¹Ñ�$eá`ަEuYŒ<¡ .²Œк+Gpã{KÈ–q’„g�³°{·˜lzÌ£AOº–@‰º�1Òª³R5á»ÏÛ·¸÷¼¯;°x’餟 N­yä…4YÞp>Õ]m0™þÆ÷¢?ú |€Ž±èlS õ@ô¹.œŸK/.ˆR ZóØYZÀ ¯t‘Û÷6{pÚV«DZÌ·ÑJ^j3¾øýµ>tÏóòµHú.ðøÌ-5{½ˆ¡qûkm ýá|‹:�p>äŸbð'j»y†.âÍð:)Ýq&L!2 ›�Ί33n8CËûz„e3=øHý®ç¤irjÌÈRРeئz–hþ0os_Y9™ „óÖpV‰ùÀ‚Y¸ºâaÓÅ2›ÄH ~Qèz¶sO�†Êúä˜(Ká¸eõÀ’}”O8UXn\H_>T…‡5ê”8äún¨Âÿ�N0œ”á}iB`9Ñ�-3lº±ê�ÌÈû-”_Ç8`5 »Íº”: ³ùÙŒÏu”øO?7R¦·™ ~\f†Ã,èï@¾.ã#/»ô -øØoðØßÞ»²²²¼<ÝüݘkÀglçÊ� ÚsÅ\så•Wß6õ,íÐ[¯6ýw¼ã00<í�Ð<€ùö~ÿ“Öï~‚ðšk¯¹Rhº¿]3 ·c�…Í{þæ¾{¾z?t^µçìò«y5‡?yÇ”àÎHTµôëéiÁDHÍÚÙÚÉ�£¥ 7aÁŽ#MimQ×>%�tj¬¦{¹N)÷7ÕYŸ®‹wK)Ä -g-Ï«wÂþ3+y .äkù:cÉÙÉ'¥ôäÍø©Ö]?,† ®åæv5çLÙ™ú(`Eõ§5³~ÎáQœºÚôjß@4DóÆÀ`Ý›f9«½z §Ÿ@ý÷œ�áÑÐï¼HmRb8ãlûÆ÷Pn6¤ÿ )Ä `¼…öÔ÷Å…¯ÅêÒÝžXžE¢¤ÿkÅÊótÇ�’ýíÖ'Å™™ -¬ÒX—Ù“V<µÂcÊ\‡jWò6<ÆÖ0‘JÝz¬x–Lëa$Š$,}ŠèŸñ‚)µ¨VûâârÇŠ‘7–Ž `œr•o¥S ,q¡m8€P×–žª�ÙS ã TX‡,1”\Jã*z|…!K(PÿæLÌœ·îö‰u™1KZÏnˆþvÔqïòü|H?0€±¯ÖuQ Ð*↡þB(ãS û{–p+„ÿA䢯:±ètES‹PË»E»‡oey§c²y!VõK’ F´V]FÔÊb“kã¶t𸩠EmùI€°å'¬ºø,§ -;Š©¾f¢^é�],²jH1®¤ 0 oŽ ní¼ Ë®Ç⿾Ã3ÛL3K¥n<¶Ñf�ìâR«Ó®`=º¨íZÑ«ªfEYŒž·¬ (=ªˆÿe«“uÑzfš>f å èêf¨ã’Îç*†²®ÿ†ýPåÖ„µJ¥å3drï…•õ=òZ:ÿJ#ß ¡#X�=ŒHW % Í…�ż‡M@Èf€úg*'Ã�ª¹ßfc 4€ÅÅéä¨ÿ¤øo7à ;þÿ’þ/¹$y§ÑENߦR�ÔSEÐ}îϾú¹??òoåпýÕ·Ù‚ÿÞm”€®6a_ L¦‰]yÅÆö�%dpf¸Ùr¦ˆš”´“ŸNËõ§ƒübÀZGSpèä6›ô²|\Ma�½Ç#T’tT9è¾§%Wgû¼-¡ËòO/l+]hFÓ9ºu �´ ˆ–iÑúºçMw\𘜆ú¸â �Ð7ÙÄêQœ½a.€ÞFÒšã�NÚ«IˆlaÚ²¡†Q%· Ê’Cá$¸Íu�øæ<Æ‹¶Óž¤|ôTD™¿‘ÁÒVÊšàŠhEŽeÞÂm8‰Qán*#9ò@Z—žz>áiÐٱβbp–¦%†xDHSP%¦�‚ˆDE�OŽî³œTy¶Ào¦[ƒ (`+� ¯îz•‚-˜¹Ê>®�œ¥ -âÁgr6Î0¬±²¿ÛN]k’÷(àÎ0' F,r¸4˜Áœ;èÆh�k+e [K€z&$tc5Œ­œc4›ÉËxym’rµZ€UD’,˜+¥¶‘N €ýœ˜Åy"ˆ__aú^Ø?…ìÑHŒ:ÅÜ‘xp)èƒw°" ú]éø888”«={ˆˆã…fÐéG§.gXŽF9¯òQ'9L-Gàë@§·0€©:_†ML5Ä€Ì 'Š÷»„‚,jXÆJõG§4£JÓ œ\t_ê<úÍc0&�Õ•EmÂnSÑÝGÿž޼ë"0ô‘•x#Y:{iœúçJÎê�B/\³Ùtaö4£8ÂX ºè­¶�ù›á÷œûÓÉ+?–¥)èÿoüÈ_þå_®žÀ�»{ï¿ÏŸSµ¿ýðáw†sÄHì³9ÇYßD¶ÒˆP]=D]�AÈ-ŠØE8î–PÕ�á¹P‘¿êÍ—Ñ­ª‹Þpãm�ý÷ ó|äÓO<»ò§Ÿ(ÓÍÞñ–Ë¿ú×_�’̵òaOÖ[i²âû=“Ç$†‰ZPBÁŒRt‹·b nù§Z�Õ)ù€¶ s(ã_ÿë×ßúû·^ŽÞ÷ï®Ï»~M �ˆ×N¼°vÕ›¯:ðÚ}ÿùO>ÉÅ`?Š@WõH·NüYPF:èVwÆó¡�3°†‹1B–dpÌH出ìM…™“cÚ­_o)¤@û5× -壺ÀàYƒ�^@Q:5—Á‰tÔÄŠñÕj¶î‹Ø…šxãºÐk¿ôëQZÈt3óPä/G,‰45¯y&ÿ&�#ÎOÊ6i’¸ÚãIaTD$#¬ùƒé [[œòÜ7D•œ�‘ª)†Í¢c쿹ä�oÜóê%ßvS©×4éfñš“w�”…DŠñQ¦0Ú&_¶*D•ê,zpæÎØXd*V2&Ç{¿u4ôaâKJâ/$�~G¢OÇŸÁ´¡¡¡…•vßòÎb˜³o¶^XJôð²�ÏÛ”'Íγí@÷È €èŽÇ¸42ÚC(ægÙAáÀP#z{TªBŸy<­˜c"½:Í^�Ì6v®ŸZœê6v¨˜¬4‚µ¶‰éRžt au^ÔŒB² Ê6а®(8[ëI­fX)*‹ �ËJ`�áÌR?a*é‡-uQ!F“ -‚?8ºU¶26Íá=eYCƒN-<ƒÁºªž' â–.¾ÓÌœSÙÓB׫¡Š%™Wµu*ÛŽFï@sQ ¡¡©Çè[Šâ»ŽÑ„Ôh°/Žv<ù½ï|á/Ä/ÿÒšÎZ{Ñr¨>ö�ùà±,âWÞÂÙ?ÁôÓíÚ_ýÕ_ýâ/þâyç�÷‡Ÿúñ¯€Ø2õ¤Á³"#p�d£¸ ï,ë w\š3õ¿Qÿ{¾öÈÎ÷«Ð—ûÅÏùâŸùìg>ÎÇþWÅo—?ê<>žV9o‰î$ÜŽîsKÆË’ˆ?sÉ5§²£_¿ÏÞyì¾co¼ä�·Þö‘ëó·xÏC‹l¨?lïüÜÌ‘¡[Žê$Tƒñ‘ÚÍ”—`¢�<ÌQ¥ú -=ÛY)qg ;`¬B­ ã�AÊ •”÷�U÷?‰“ö‰Uìd%z_P÷Ã…ÅlS-À4V�|Xà±^Ë_Õmç­jó�ùºÛði‚õºf~Fá°D›…§ @[¾èb�ªw¿fyÏkJ3꣤Ï>³¨÷4öG µžtê)P[Y‚4Œ5&ñfÕ"'y>ÅÒT@dúë -Éy@Š$H -,ȤÀ[_ úa=qGåBUa'iz ÉÜ�u"¤2:úÈëM–I ²8Α”¨x¶¬¡½щÙI¨g(u%M°½ØÐ}f°¾Êg†z#‰œ qÃ�5Ô¢,EǬÖ>]Í-$c”±ÒG§eð ·79¿c'oÝ[g—Ðcl9�·QÉ'ЃŽé”¾ÂÊÂ53îó¦Ú^úÉõšón¿�.tfå.ÚJk?ê`�þé¡|pãfgöÅ+ÁuXûÁŠ-RÄéIýf3‹"8>0ø­&8ƒë¶æVˇ¥ù+U!ëqÇlÉo¬ _dô—<¶ÆI€…¶õ¤ruÒ?ð€[>ü�ëoxŸ¡þÜa €g¦ 4¡ÔÖüÎÔ\4½²Êd»ë³Ÿ¹î½7Ø{€øs¯Èž:¥;©Ä�•‘u„[Z¢ õºÔßì?ùc¤M{^µtâdû½7Ü,># ¸çoÊ@X.3ÀÍÀXŠ ©_no 7íÉ'¿ãö�ßô1Æ"}‹·wþé~Ï/ÿP`ðyü;O²øo7D=«É2—K™–´{¨¥Ü|¢Ø·Â଻Ì`ªYbÄLí_ šµRÍápÈl Ðõ·•Òà7h]Ó'?y0úøìúŽ7ÇY`ÿyeR�užh©FžóÃ�ͤîlè�ÉgBm»D<Ó¸xc±@ú—¼;ç½ÊìL“žéÚ¢åù yښƟ:“2Nšð¬¸rêÝÉxpÌãGÒJ�L°X*„fà,˜ä�øÏ€Ð‹ÿ@ý¡E‰Ée’�'@$M˜3‘õ÷ÈÎËï“ÑL:ÙûÆY—y¶€ÆŸò)4`Ó(VL$IŒQj�Ôõ‹a„ >-ß¿�ï*„ ›Êð€€ìÏâÿIñ¢ñ$Iß̘š¨ÂrsÉP›A À~)úhÊ2þm½4Èopu(ˆJ€šAlL^¢šÛiÆ_¦WÑ;Ø+».ÎüI93¢Šÿ -³­¦¢}i‚Ž®Ùdì'ìT`fÀØ@ÊÀ#FT^Q2ú³‡@iuÉ•˜¬›À´ÎKH�0õ !ÌR÷Ì©N•fËþ�þÃÃÛö®w~×—éî3 }æÎéiY†LwBæ‘p"!Õ�pýw ñ>ü䔃uƒ¾|ø~P¿­di²ÂV <xrÜœ�™¡û_ýŒ xÀ…?3ÎL»äÒËXøè­˜�<•ú£ò3RkÔ [d`ç»Ø-#x�ÊNQ’ Ex‚\ÔÒ^1&pL6ö'儿ƒ' -µéï­v`› VðÐ:¯J4súî7K§ý‚_Jú%Ø?¬Ö¢¼3|�´Zs|XX -“ÍUØG(7�²æâîÖÙ{p{V @_¬díYÒ·x@×tÐT+•e»>*,]‚ Õ€õÑïMZ6ôL}+ š—šþ=T®%9©ØVጒУ°Öè[ÏŸUšR--s¾AÙd^NÞ®%‚‘+ž—p6´YÄ‚@'xM„¤EÄ~ë´ cÔ°\©Az±Æk–aƒß¿´b�i(‰®Ã¦îaè±Ät°Øò-EÔœ+�ùsê [›´áì!ÄÐu E¢Á@„?‹€'?øþÓóäîöç‚|¸ÞiG˯mŠºªk*�ƒ‚ ãé8ÅG++CRúžÃƒÆå$™IÝïo$&’ Tf¬îAÅHåŒd3WÆfTé'yú~”$�¹¹h“|ã[ú*„†iôÐ$I¹H}†<9orÁµ$5 -&0:*K™RäÕ2(réÏûX -XŠa>°&îùž§ùJôhá¶Ãê- -޼®Hk˜÷€ö"—•�BÖ‘Û›ek‰ºx™&ÀêÀEwÖºœœ)ÐÝzüøÓÿÄaBl·T“–$bE‰mÓ@#>¬rŠ|0r{¾•ô­|‚þ©gVž]=pÆé<ƒ¡1�Üù'ŸYþ©?øô[Uã-9àðÛO¥þ¹@š+k¦Ñ£ÂÛtSP¤k4… FáODÖc­«9·þ�7}äÁ.jž© Í–@Ö½tá ~_­½ãoû¹7ï¿û+G`TÔE�Pî®îš…€‹�ó4YÈS⣶¯Òã¢,ñdP&úùK+?îì¿èâ®´?öáÜõù²,Z:ÂQêŸ#÷ùí÷)°T˜–¼6w$ɤãûõTG”&=·„Ê®�‘,ú_Ô*hµÂ -óÙÚ|ËÌ7s<›P¢GÙ ã³Ø™��NuÍhìh¤å|F²V÷‚&N¯ÖêÔ G`s4 £Ìm˜9u•å }›èû"Èò$%k&ÊÔµUÇ.x¥×o‚’SËLK?(«MšÂ™ç_xÀ ç[ Í…�¸%-“}<…´’ˆvà‹Î‹Hús‡"—Ȥ旸aùtÕ%MñYÑ[w[ój‘!þ³š°üa¡´iU¥/5®oáKÑOq‘G©Ï<ï#Í|+U…¾Îø@ÙÓ­Ø› õ7P6ÓZ4¡y,xN0v` A8Ý\îh ŒÐn~¨ÅüÐ�¬ZhaèEUŒ¾°ALh°­âî@)b0Htd²I¤_7 þ�fxr¥ã�*±¸FY–`…R(;Lèp¦ûN]qbN7Cç0Zl¦þÿ@f®òù֪ToàdZ09·¦quéN·D$Ч?KŸ� -zv$išÄY“Jƒ&›){ŒIuÈBŸU†ù:þ‡t ¼£S©O8g|¤øªü¡¾„ñ ªïÊÚñªÂCdÃaeØh½t&ì¶ß™¬:§~(•º€[:fßçßó7G¿ú•OtêXÜöñ[nûD pŸmJ¦þÛµ[~÷wnùð-·ÿ§ÛÕßzá|àØ.Ä“AîžÆ…,4 æ'ƒ¼á·Uœe81ÕÓª"»¸«t>ï|;¦FÓ¤~¦ÂúÒg€šlúèíð‰O›gÿÙË/¿á·ßÏýG)Ëvb¹i --CöK’;H ƲŸt#ˆºö Ê ÏÒÔµ,¶èœ«êÍxc@=ÉÆx|ºÚÃBí)$Ž@÷Í·‹Khg‹Ö£p> fÑL6Ñ`÷ÀÙ^{%³,¥ä+ ÊYË3SÿÊõÀ0±þR�¢“ÇÚÞ}ö½îógïEÔkÏ»õ§�ç–™bÇÿéx£ÙØýêÝ+¿}b¥EÔcñœæLxÃÀÍ­¨­m•�dK&ž’xGÞ / QˆQ¿×?7³d–ý�L �´£nÕ­l%À˜ ˆ*é7}»ð)“Ýp–?r‰ëÄÛé+U§ú ®ágC;dFH é7× -O‹m=Fú�rFkt*wÔIRz©:2ÏFVöƒºî íÞƒwιÀxge®= lÀò3hλ QFÐ’XQÓ\Ü£­76Š‹$sð‡€˜ìB:êy©þ-óƒu#HÒ'ñ½@|Avï¯GþŒ ×êw#æÂ‚V*¼Ðþ&vMQÇ‚ÔÉ6ÔVŠ”Î?2M\±j?&�%‚¨2mgl -SCŠí� þ9Ûþ÷¼òƒ�úç#ÌDNP%“xÀ;Þ}u¿o5Ïz)U­³ŠF þ °üŸV™ÞÿÇÜÛÀÈqÝw‚¯»ºjª§¦›UìasZ3ªEŠÔH”Ê’¹–­Ø–íUìX¹|ÝAØÄ9ÞÝCn÷rÀ]°‡],68`ƒìl.ØÅX\Î9v7ή½¶yN”h%ËÇHÖX --š©Ç3êasšUìžšª©êê¾ÿÇ«W¯çC’�=àž -¥bOwuuÕ{¿ÿ÷ïOŒfE÷Õ$= ÜðpM½åƒúí/¾ôò×¾.å«§¹GºàÜ -™Õ35Ê]¼JƒƒXòqëT!>@r~¬u¿b^R-׋-S›óÎá4X7*ËJ F™¼�â^åœwr*̰ñh¢Ôÿ™Nˆè¦e:¶L´sœº°ȺHoî²úàpæåHtj‡°~1…{žó¸§Ú+/cNÅôUCðŒPq‘=kôËo¤š@د½uuùYÉÅÐñß|å™_~N?gÍ•W’ Øìƒî¿ù£N‰¾cPÿ÷mG°úû×.]yì‚ì˜Tùýÿ½«NÔñ•2ew¶Ä æ•VöªYHðèTÅš&ª§´em¡Âc©ÓmDA4ªFÛ¼GLèÆÚ:¨íüX�¹º™Ž”®6!ƒXlçA?I|RFlµâ¤£‚…6N†°¯ÚÍ(•;®e ÑEÌ9½nž·Û´À˜C³ bÅ”™ÓòìD:è­$ -á{1?Ò¤jdí»ÊGå˜BR®GÇd°¸|†³?“q}þX-#÷w{eŲpÝîÆœ]¯IõÄi¶ü�®‹wÐ!=¥Z1Â)Þ±~˜’ ×Ë&yŒÁ™jÏBºqÜ¡¯(Xýh¡ÙI¦j÷ì#Ru7ú­ãîqÞw -� Åí6> î»Ê…|Y)÷œM§Ñî}|L%ÌåÜ8êô·c]t9\}B± ‡�r¾ÓQ¹ÂM«Y·å¦oüÙ’@Þ:< ØB\åÀn~NM¶9k éEÓ"m�Y#Sa«\4>RåÔ -Z/Á7ÂaäÔ¨ŒqV¾ÞMØÝÄéþ¶_TO`VF\¦�JÅ2é -‰ÐвfÌd7u—ßéüÐÎó¸‰2ɨjÙc@‰{n”ªFT$|ó ÓkB|d€øƒŠÍ¿ý]xñß~Ù¶ÕóÊ>ýyL|üüc¿ñë_„‡Ç_û÷jW(ó˜b&цÃÖ©Ðý±/Ìʺ�Ü$øÏªQÝmÞút,ëoð�WovA½mÞC“¡ï{Kíêl½š«ä[}Ébvêä)ÃñŠòC¨ jÆ~yVœwCLG¡ë±M#ÞD…ÞMŸ3e8 ñ–ƒ㸊)À2ÈûoÒúDZ|vÐ'‰­ùÄ+UÊÉÿxÀ53inª:“‰ì¨å¸ î¬ÇHßV’ -:úSŒ[£³a”)/“®Ê -N±ÑbÅvɥЗX7æÍF¶^¿×@Š4Ç¡­×ÿêåÞ5d |éë²òØã¿ôw~ãÊk¯nt®ž»ðä¯üר?ÎÎKÀþÙ?ùÒùó+ïýîõ+¯ã�~ßš {·Í㸶g-kÛF~üö;ç>zvÐíºž÷Ò_¼Œ„;ß`þ`ykO� ÚÝûåêzþÕAc.ëogR8ÝŸIß`¸1¤ú¯Ú,ÎK&‚¿¾æÝ IDAT:3‚ýçèDQ‰�‘è�eîÜ,N2d·Žf”±vÐß‘¨Þ€“Rººb›é°µÉ€v» 6fŸDºôŠÒd�Ã�Mù:€þÉÕxÐ÷ˆ:8Þ YÎÃÖl5;o!"ƒ €}i\®še›Ð3´)à ö^Íæ")1=Â`à¸SõD�?À9?µ#ó° ÃíF³.~°qæáÅ��šçÕ�º5/�ÀŒêõ¹º[sƒ!öŸ²g«!\! €q’8ÕZ!én”$Í–LòuHHt×üÖ²'´ S¬ éæbqaz2C<?|á‹£Xý©uO‘«å ©u�«ŸGW°tŠ˜yjزåoõïôG¥ùá p„ZÀmŠ…Ÿžoe:Ibp7qjSw~€rÍ)ZW®{ˆŠ�'Œ²Ð�¥dÄV$ò¬P‹3Rõ~y`TÀ*•ÊPfáÈžjç-´•Ë tÿæ²ã1Ã;ÅÏM4Àž}õ'lŒÝ½În¡ Ïà Hމü˜q‹¿|ñ•AŒs ,€ýå —)Yº÷¯ŠÓ Ôùl74m;ÝWó£I€Ë7:©6OVV$Ä\¹råõ\Š\¿qýÊ�‚3µ»^O1½ŠUuÌY§š?.Ò¦óLeTþ4-£RÕc¹€þ\3LŠnªV j:Ù�óŒùpÜΈ†]e…ÄÊ[e0n€¼@10Šè£WGê‰ì‚g¢`P‹�L³Z‹¬Ý�5õÊSŸG×â͓Ô¼§+dÀ£þÈ'~ögùŸ ¾öÇÿêõK/ƒð…ÿ£, `ƒƒS+çúƒú/Hœ}tÉ´ö‚ú¿ç•Êõ›Åƒ\:¾Wšõ·Ù�œ!Ðù¬�zUuÍ9ÆÍ�a0mpø·{JMfÜG5?÷¯ ©77`°I€ÿ -b€ƒc€þ ÔBí\Aì@|A.@xœÍfvPÿúÁ(Ôÿ0lÝ‹¾Ä€ù û+ŸÆZFŒ©Ù\£€2 £`L¦{Øôèà>«ÿú©wû ®þ@J¾•'Îî°Õ�ºbz° öYQO ·}26åÒ›+­¾DqŽÃ¼ѰªUtøÈ/,ô"¦xƒàcu°÷üùh.Ô›‹5ÐýçµÞFl€õP¯¹µabÀ¨ÄÍ�~N\憘}±Vè°ñvt@ÿÚ³û#éâpê¶5C¹¦c¦7'W2z�l -»Å’„éŒè¸¬öUbšI¨F=Ù•T©‚R{‘05B7Òf ?Õ˜�WLYê?€=¿Ô|võ°ú_t9Í-É™ŠÔ³S¦ÌTú¼‡cH€‘q~]2-–ß+ Æ'žzâÝ­ãpðÄO�W2àÙŸûy!~]eOÀA9u -�§!¢¨šé!i6‚Ôÿç_]íÜì4x¾g|áï#Ê_¡b:PÿßüÞ+ø"A?ˆý� -ýa<ý™‡Ô±ïOu÷£¿@Ù:›·â�ƒ¢±²�Ö+2c´QÉ�kcù¸|x'ÐÏ*%Ma¨ª5/‰ƒVÚhÆÚŽh:"HÜj­I÷WÌ/¶áAÄqTuj 1Z9ÛxÍmNòG˜$±I©>þ�žã5àÚž¼#õh„d®ö‘FcòèB»Þõ£m~i)žD ÙIÅ H˜×�I,˜a²sW�d0@òç1rϲ›(^”¥ƒnà4šÑhm”äîŒrZ©ˆh„¹ˆÖJJXcâ•&ØÂB£}R·œ --À›÷Z÷æÒã"qü7>.!Û®j1ˆ/ùpçô÷«c5}Üé äw»^­Õ]ÇÙP�;8Øõ�†v�‘æß©äœPUH÷V׶Ο:y"³ë³öbJC©e˜Õ,�²QlY™ã,YÖz{ƒT™¼/ž «æl ã˜$\Ùðy—®ûåýénö93½ße+ ŇèÛ5¤½¡A2Žë³fó˜*¸ËªÂÅ@p7KÃ$ŸKÿÖp0”+R@é>Š­ìYv7{F®¥”ƒìܺíW« ág;o­Ã¢C\<’1˜æ[¸CZÒxG][bÒ_Yy:Ò wcŽZ9I )GÒi$g”¦‘Ð!†¦*â+ÿæ_ÃÆ/»^1g¿˜3{õPþ䇑6î¥^°±arä÷óÌ´ò8ÆÖXD™©|ywûSBÝvß|ë�?ùêŸÂáâ=ó.`?œ'_yòq:øá5³üÔg?×"¢ù…ãM>àñÇ_ýÆ7.æ<¬%äv” Wœ‡SV;woÐÊÒýþÕb]ÄQìsÁx¬/#—¤"g/6‹Žr… ÚSxÖ*Y "ØY‡;XBÈ6Y*ÏL®<Ô9ÐŒè–bK€ª!DNèdbÇl[±×דk¿}¢]¯kzÛ¤t,ç\›«Íº¹Ž+{²Go+Æl!\Øn¡Œ©FÕÐ’ÙâÝ¢{ÚÂ1â‡øÑ•ðî�ÏÿgpÏã�µî¥—VÏ>.­®õ›þC?åµÝz= "Š7wðœ¶Ö?òÊ+¯½¾z¥9_o«a’ë¬Ó=)–¾qP+8PÐësTŽÌ�kè )ˆ_�ÃP±(t1÷$yµ@Q¥Ì€¼’A>ïõçë�r‹¯ˆ晨a”–5û.¼8G¼ÞZöœÂÎãܾŽoû}‹›#›yžbJé)`èIÇHþ‹•GR�ÑíQÝÁÍy“ýüÏïj˜ºö½öŽ–¤¥ù—u�^¡ÉÙ³ítTÔ%Ì:·`ÿÆk˜¤µòðJñ~šF¯}ÿ�Ç~êÑ0Fü¸ü} ­œ^^¾ 68žs¡´<¨rXäî¬=-FÛ½ÝÝaAû%ós†áÀqêHF£u¼�ŽÞQ�Õg�(Æ j¡gÄ@}¶çí?ÅxR­Öª¦›ŒS·FQèa¿»�’ПßÕ8V?ý0þÞx£Cœ#†Àp“_ê;×:ÒóÐß*ü¶ÆÁÂ]“Ü#ÈXœê&857þ]ÓnÝ×´g|úlpN{^Sc -L‹CÝ¿²‡ÖÛÂ=úïþqþQÙ˜¬ó£õJ¹rõò)J¹þÖUõ¶-‹\^Mã* 6€GÃ2“ahÌX WŠâ{ÿ7þÛ¯þ» z”À¾‹9 ¸ß%®ùk7$x5Žzú{�Ñ}F>‚,‰ *#ÄEÍí|«Õ(Š,»È‹3fÌl7…=v+š³ýå©,³œqÓGЏpÖÐ$§ã2F!ñ VŸ«¡¼"�– GªÞÃsßZ>µpïI¼ª<)¼{óÓ).žh/�8”ɰ+À~P{W¢Êw²PÍÒ!NÔ²õþÚUÿÖÚkÿÏKgΞ¿zyþ ¸Ï¯_øØù0ŽO ºðÓíøNâ‡� t0,ÛëT€±ööÆó/Jôh 7š9ŽU”ú¿Gî3ÿóFW€„CVË -ê[êÆÙZA€ 8�ÚÇYq{SCÞä“xÿ‰X†‹ål»êT‘³,T(¬A¦m7—ÛŒþpÐï®§q -2€³Ñ9Ýö\©ÁÙc*£/ËbÐýE£`óØ3@ èäQ€þ­ã�î­þêë×:?,²§‚-M[·x8*_þëŽØÖ^×fåëU˜uqž_°ºúºžjÆ£¿Èý˜ûF’‡öTlo‚ìGÏh8Öjµ�æl5Þ³M Ì“Ë} TB´�€ ®x° # TéüGZV�þØÅa‚Á€WÇÙ F@{ñt÷Ýï~ã›hâ´`ÊŽ2Pÿ·ë 8."Kx* ëx‹‹äÜÓRu7oÉŒÿn‡…v)ëÉ;âÀ¦øÃ§b!Ú� €Å¶*ó¹úƒGžþìâEØL�¨üPŽ—â_x¢@R_›?¬�z®ÓÝ êGÀZvü-ßš¸,ÇX±�¡T@ÿ/þ*’¬­¾ñê¯<‡€þ¿ôsÏ}ûE¤[xæ³Ï^üæ×¶w“‡}ìÍ7^û¥_ýbL¬¨O}âã/þå§àã­¥ƒ E×l$) Uxî4wŽhI–[ˆV¿ø ?Û¯ü­_ù½ÿåä5ç…™/¼øÒ�ä¦p·QÄy‰ö@õž9�29â8²Zåªþ(�¥‰©X7&xy©)*pb‚ šºã˜ŽY €²UVt� °©ÇR�î@ózí—NŸSŠv øX¥0µNœz�¾ßúPè˜N«•zþ£œóÓDɰj:Éî Mð‡´Ÿ«o¼¾öýái"¤ZZ^X_ÛôXÀ/Õ°8Õ%=tÿÎ��óO :š:@ÿÍ·×a¯ÐϨèDóû<ˆ�á°(×;À,‘ Ë³B±A(#€ Öýy¿Ÿ*\u’�{A"rÆ•lœ/C£Í«0BßÇz¼2> ?ì‘f oßÖ³,àœf®ÌÂÌFÒi‡ûßdÎ:a¿—D6š~Pú�ó§Ùp[Çüô¬GЍº£5ñx_ _�5ÉT-"Ó"¹™Ð¹š»éDû ¾qÓÃÙ×$=¿{Ú€þ ö” ë Ñ?Áp)fèϬIä#‡ŸUO’luqÑnXµäì´m¹„X ¬®J}Œ€U$€ ÀsºE§Òý6úËÈ­»yz+¨2úõk©•  ÏÀ‚ðàBt¤M48 ßßhº[·}Ø«²0=©\§ÐÑËÔŽöJ €+œEÅä|V[ö¼=”›Ðÿµ7^]yèq@ÿ7¯^;àÆõkð:Ø`,,KEõÊ«í{^üË@¨ÏFÄ"“ewq*”ç Г¤ªtHpòËü‡—.½ÊÇñ¡×%GÿÎt¯ -[†kwx�ô40!ØÓú.TàÂP2e…ÍC@÷Göˆ,µX6§ã”É£hÝ&6q¯*¿é9èMjxȯ@iž82 j/tßÁ[×í\�“�ÍÝØc1Õ3y¨ûÖ'Ú"¯ØJØÕ2Z“aYñr2�K]€`ÌØFÙèg10Ž}ÅWïL­8F°jN¼¸ü^ÿúX}åÊVÐÇË÷/r‚5ˆ�ÞÖT®W…‰– sªœÒ³…¿�¥ -VE<þˆ`å‘ ?EáÌ>�);5¥ÎSjÿÄë Ýèhn;ØÒ�nb „sd Ý‘iÌØ`aÒt.@+]ˬ{ã]lú‡…£“‰àÒ»,sêõ‰¿�ÞÆ†íÎNÕïöŠPUÅbŽìT®Ÿœmœ–Èø’ ±ãó„êcÓ,³ª®s¤Iê³=Êž³œ$Áˆz/ݳ\?²äÙ`Vºb4h-I ·g�àN?Êä‰ý4Ê[\Ö#wÑÀÒ�nRÊt’+,FUËà/‚ý©‡ÑÞPÌ< -á~ÚÍæÂü±yÕNZäùÚWAA M¹ÙB]Xùû}%öãp`ii”Üõ68àrðô äNÅ;obú1³{mã Ã=ï“Váìh¼+s/½í¾/²•`ú½õµÎC�œ0¸ˆ{¥põÊUOKÍôjÅq™ û4YÙôæÌPI‚ p]YÖ¯´i0ÆYmÁO (•ô\/¡Zn8g£Ñˆ»ò>þòòÛìn.´ddrËßjPä<ŒC™ äߴÏ&©iêF�|ÿóú[×aSè/¦Ùi÷°¯û�ìþ"þ"<@}æFr9ÁudÎT-™oŠÜ$ñAúµÞýUP¡õþqÝ0úÿÃç~æsjö"©5˜~À‹ÎŒFû?�@矑]d5ÞŸ(Æ´“úp?Ó«æê½MœÿÏåTUó›W¯^y»#>E·®Ó±f)½*N�épÞ|ËâG嚦í8ã’$Õ`n¥12X{Z_mooï9Ø?üÁ^®-5úÙ(W)¤fÅ| .uØWåeŠéÜÖÆ’ø};‚:a Z• „¦è€ Е¤ÁVo㊠×%»;N­æ� eÃÃF] \×…íRw›,ü­.l±Úí4Ûíåö}Ë�wÖœjœ’¦{^ùã4�™{D@ööƒm¸•üÆÔ*Ù¬øÕxïÝêÁöÊÛ=€þöýh(Ôë6sÒ,.zãòÁnžŠ$S%Æ¥ýQYy)tߨwÂ]:ýAÐÌä ¦<p`�ƒ^ˆÈâXñ�„ wÑÏŸ&¡fÉ(ÂÂù(ÏTÇYÂ謼ùØ.y0h=ÐŽ·Ãh‚`èçÚl;s¤!·âòû·dþ%XúŠž�Ëw²æôAƒú�1eœZêÿâ='`ÏoX^lÁ¶Öí�¥Æ5e¬ò+Å_|>ýăµ_ãñˆµT\]Ógpä= Åè"£©˜ê÷ú=iºîìiüea€ ˜ª¾¦G€* ”g-¨EI.ïLÇIwCY.KÍ�@N>ˆÂrRèÏCM!e\�  ú€þ løëàøê�«RÎ=‰ò“níìÍ«ßXøqYãÒ‰GvÑòf‚¿ÑmÎ=®õŽöÌÔvr÷�ƒî…¼á¸mÁ½R‰Uj­9³Ó~9X3LP.W+e€~8Xj¾©³gNç×Y¼xå¦Ì@?Õnƒ >À¨Î:±L4$ê(Sñ„l aì ê8`Y±ÿP^Òn¨"+RýÏÑ_w̺s-�É(€¶OØó#ŦDåŠÉáÓvÒÑ”K$¼Ówò|¼¥S’‹"¢èQóÞ6È€êAJ[c¾¡ãkñb ‘Bʬt2bÍq¯¯è°T(¦ž’kŠ öMzy¦_ç�@ÿÓŸüÈ€Þ-´-¤·‡õ}‹Ë0GάbÀ “Oóö�†ÉÖ¿ï$¬B)ôW ý²á;Öó¶x?€~u=:ô‚3½OhÔJ0dª�CÄŸáç:�ç`2(‹=³9KÓDFhYA‡†Þ$cÜí;¥ô-­ ‘—aÿ[*똩¢�l$h2à”0 ¤zçÊg:q¥¹°tyõRo°G©�½5¼Å`ŽÙN½êÔ`¿¸(5e˜¦Y2Ž#‰•aºÞ bõÓ‰´ô¸È¡7‡�¬(&#Ý©ï�±üX. Õ÷x¦&|—¤·Ë™3ýafÏ›O°Kžf:íj4äjÑó‚a1(õ_Ï÷ÿ . ÝÂ`¶»¾ßW. …þj˜¸øMfDȨ°™[ˆ1p@ 'êŒÈ¦ãE§8uãú�õÎú oæl” •E¶§6J—m ¿Á öÓC‚vÏÅáþ ôÈG¶•G0Uºu4b’%ü�#ôTåš„6�7tSä@³á1Q~ÿ\]Í›â`k•c]ñž@±J•cŠo{ -ñÁ`îã¶T,€=¯8‡¤©€þXp;}Z7#±åÒ{¨ÿ‚Ð_í÷¬‘–(&ïIŠ­â¶8>Ç À dl,™ñ£óä™öE™›íÚ|ßAпûÎZÕµëóÍÁ–Íp8d!¼›{f4Ž©ô0û#Ž cÚó…ŠàzˆÂ,X÷ïtP<;Õ©Þ$†5¥ -¤‘ŸR" €;˦›ô§›†�´øplPæ°awÛå<µñù?[=qÿ~­–ç_a�Å´¹Ô¬ç±ŠŠ ÉŽ§\@6œ�4‹íXtß‹M×i•�£[Ýr÷ͼCˆ8È´ÜP£l— Û(ÃJÁÈ1�Ì2ư‡çhØõ1…ï­Ù:<éR%Ks'5¶ NPO#K0„`sx§—ÌØaÂÏnž<9¼Õ5Jå¹z­y²ÝÝêö®__|øìÆ.G0¡…ÑÝòÛ'Ï$ñv-ÏH;Ö¤GÒðŽH‰jNL8üQ'HdM@<²„Mq³I(v}þ9D&“&ÙÜÒ=˜'›òƒóËí�~«ìvs¶ž‘ D}»V�“ÃB¦hÓð=FIæ’ƒ @M³bQµ8gθôÊ�ïÜà€*—·èéã*¨‹>‡‘ØènÔ¸øN°kAË)ë2&)Äçã;u'„úy’åA?hŸnŸ¸÷DP$™� tsŒ2zÁÈ(߯vÝŒ5s“‰©åW'¹wåÃO}|ñÄÚúÚÍ�5\<þ¶¯â“0‘4ú-:)aJ¶kôo£óvc»ßïÉûY�«¡2®äGoMѽz³ž³&׈€:ï…’ŒEV±ˆ–5©—AcZV]ä©„øé9·õΜÕï|éwç©�œ)è§–YÝî¨Ëƒ�_fb¡ŠìÝšDì�wdÞ -'ž î&pW'¥tc ÔD³µÔ‹zœe,›7$q¤m$ÃÔ®×`jqÉTæ–A|˜ h±%ªFA/Ã3”g&L…$ÃV°qÒJ‚�Ü„bð­[ñÖD¢¿ ‚lxºÌ#HDdO¨Y˜ �&HZ·¹˜‰qo­Ã>¾�Hª,ôzõfsx÷‹'Oun\u�6`[}å*(þõZ}$à�>@çÆµÎ Qµl÷ª¨^³Õn·;�ŽJâ�L#”bÅ)‰0EN,MeþºG<ÕUŒÄfkIýRª¤ª IDAT)›ñ=©eÿ¿ ý‡%ƒ -vòL£}®>¬Kr2èž•�¯ÿ)üØÙA×o\OGÅý)wµ -I�^&ëò²\Þ‹t°´Œ�î:o_Ý“§/�qn¾!r觃*'„(Cž)¨²ÔàQá1ö4åRk*}6Öº[¶ÃÅçx0-Ôá{a«68¿ý¥ÿöÿìŸÿ€ßü¯~CLæb ò{š‘7¤Õ_t\'ÛÍT·dñ>¡¢©q¦ÝîùCî�bà}SA¯äÀ~™˜Veâ {¥´¡ºGp+¡Ãw -§�Ÿ€ŒiÁfZUfuåîþ°Çþ"8(•LF¦Þ:ðä:ú;ÔU€_�áN�ÆÌ"wË0d3EA=Ïá�¸¯l%ô+Þ ¾áܧÚÐâ"l XÔÆ¨K Òe—Æ…G(F)U€÷É'Ó ÅÜsM?Haóê† ->•á¶§ ìÓ›Å+/zº¯{u�bâÈ‚� aÏ”¹ë±µ¢-«Và ÙUϬ±wÓ~?œo8 Íž�E ПûDDe�Æ�\nº„”A+Û@ôËî¬4g8oÊ:ÄuÀÄ<`À}•‘)4Ò°iüÂÊhzoÄá`¡½Ò¹‚Eù=úAýIÐ_;Öõ ¿À®˜XÃè�¿v8hß/{ÑØêûåS§A(Ü,8F´±¼X ¿7ðè@î÷º²àÈ[\ŒÃ*¹€&¥±øO=ª4q‰ ¯V­y~—¸æÜf“laÚÃäSbìÐ>´š¿xªì�b1}|�÷ƒArØOèçÿ@³kç¥4Zò‚èu‹4Üæ=͵µ›ËúæüÜä×4@\½v5‡~vUËÉCþÓ é®é9âÿç¤ÄšÐõ�oËØïq®Gé˜yy%ÀÔa©#©HB<ÿ_ðØ£ç~ï_üÁ¯üÝ/~ù_þaóžVïÝ®8d`«Â,5J Å(7�m%qbUNKý cO+æ©oÙË™“8Âá–DE~pîý6Rýš÷�ƒh$À¨a1«Mo] ò°A¢±fòm¯mÔÐ�W¼¹}fªà.$_`%pyLªºú;ÕÄù ¼¿ : 6@ýú[:ë‘ÆJTSºÑa='@p&š+~]’î½9 ˜—W –“Øë(þˆò‹&)“·Ã…À5SÿWêˆ™Ž£Øô#€Jà 'ýçîUúðìL^ª<- ?È{úoe=ÜÃp�š3e§>õô+…ŠqÈØèŠ†‡€}ýòR±Äbôcl -_§v``m¤™@š1{†”í°1‡:Ca¯vj/)úP<”M�ø5ðbû‘óáÝì€ùæ‚C¾û^^v¸øðY«/R×Ó“$A‹ÈýW\±�zàç¼7½nûáó€þpOÒCA­PC`5Ç«ÿ¼×e˜QGa"»V÷76b:ÞëÛýO:Ú§V0Õ¬Û±µjƒ^Z¬1•µš¾±>wî©÷ë>�Cx„ìÃê(i�ú}ßûÈTP�þ4:7Uíâšõ†!käðá½þM—·}Ì3ª©ê… H=DtpÏ9¨û3�Ìôs‰µœ,eú³b+mtê'ÊpŽƒúé{¯‚ øÇÿ×Î~è<Ë€X³¸59º+&YÑg‘à†} ¸K²ÁN§Öœ/r„ - ÿ¸k ö…Ÿ”Ö¢Xš€\«\pöDüDCAÿ°Y>…aJ�–Á5Ãm˜Q–mlt¸Ò%â¢Ì8Ï sf«ƒ(bob6Bõc-ÞM—�×¢~Þ°t†~u-=º’Ó Ò$3äSwk‚ØÕDº+Î,Ší±ˆ2\Þ°lJ%Q* Îë¬ç80� ÃX0ŒAl#H»&†'*qRPÆ6Ä;CÊJä.b «aJ@:N4¹¹—ö‰œ—5Š|f�î®õ–î;íÍy–0ÒùÈõŽÃ´àD@ÇkÜxýUÀôÎë«­…åöÊY«ÂäñÆÜÜh~òLg­‡¥“÷§ÆFIl»^­&»¿ÂÙÖ‚@”ä·ÇCØõh8€Ç™Â»Ö,¤Í¹v©ìÞ³¿�V'ÑÊ#�ÅŠåX§Ö×€fÖ ¢°ª2ÒôÈ'åËÖyØ%³µúÆ;×ï;uá“ÏôÞ½a»¸�º9K“Œ¹Ú§Ö›v|èÛsâ࡙ɇ¥0éAæ©@1zn ÖÃàîVx§?{æ”íÚ«ß¿¼þ#™ bí«ˆfåCÿ®¬”eyïdb¨èÔXX·ú°�Þc�g\L úQ˜Ê³L²¬L èME#¹P°Û·é ‡aÙ£žQB$&ç×êÑݾÅØõ5w¶`jr’Rº,JŒ0ɰù‡`§´)(šñþ·šÇa÷)�êãÿXóøâ?ÿ_ÿ¹Ý/œ}”âFA`dY �ª9ΛÛ „kÛË«uFä�¬šg–²ÞvÏŒL×sãtlVÊÈ!:ʸyk–a‹¥ÊŒUôŒÍŸ{{éžÕ«l’2Ná¼b¿¼›ù›éLRÄ‹IjUl¸×·JÞ«IÞ·gË<¬1faâ}{Àåcäÿ-ç™ÄecR#ÓJ)Nݱܢ¶9CŽ-Œ4›Ä¼É­¥¢Pycm�½ùz.ÁÖkYã1õIÒþÄÂ*±¢š‚Ü7G¦äÖçÀç�qåg…ëZcC§hÇÖ«† ͺ\¶Ëy¹/+þJÁA;ð50¢Ø9y֎‚Ð�ßÏ®[1=ÃpðÃÎâbó¹_ýÂWþ�?úíß9'>ð`v°Dø&¹ÚœY'Ü ³jU ØÌQ™uó¾v/¯4!S%¹¶œÒW;kYþÀœêÆ=ÞÞý5ú€­¸ÈÏcPì´Ð8âõïú{?õ�G²=°æê°�ª�€î5¥¦ßl-ôó?ò‚­`M»È£²”é€ùìý‹П Hö¼¿µ¼¼ú�âŸ`Âæ�¸ÈËGx­åõÄO4ên£Z1jÇšõyôCpíº *x�“9J“ش؃�$ZNŽ'\à Ÿ\ý‚Ò¥0ÎL±U¾\T\¶ËÕE”¹¹/…ÞÐÖÏ{ú·£`+^¸w/C÷?Gh¸8EúA1!þæG�­vdvØZO´ÆØïI·še5@RìÕHbéWÕew|ô×ià˜Å‰ƒ0±VT†da_n-‚Š [û�>äx‘w™`tytéôºÝ¡à¿nüàò ×[ùäÓòð<ôÄG°hèh£^«¯o u³´Ø†^yåe>• è—�8O=¼zãêé§ÏP\q?OKèßÌ»ñu×:ý›?jÃ;gâCš­«¡ÐŸE…|¿^‘›w½àº?X`ì?ÕÉ@ÄZnžNk§ú9õêßâýS¶ºÎ`zØ{4ŸBU³"½«(bãýùªSÕȤ ÈÆÑÄЛe“Å=ÖSÔ8£T¨Ré|p² •P•qQ¹Êc›¾Á,‹ªŠü3 {�&È]ÎnâQ8µw°1^³9ź±ýÕØØè�îöÑ7¾ô~ë·çwñ DIÍ@¬µ Њž¬*lEÃÙÓBäù6{†ãºOž?÷‘Ÿzô»ß'ÒÀÓ5ô©V®½½vÀg´ÁmRø†síUcŽÆ”„šJô7ôk”£qDb¢ª;ùôSO-_Pô*£¬ÙlêLhñòžÚe§&5êÇ÷› ÊÛSÌ¥t7UèŸ`§è̱M8µœõ ØsïE=¸®£ÿ(ÁåQ© & 2 »VÜ¥j­îk¸^Ÿ½Ävs1Èe@D:7…ŸºT=6)Á¯¯{ vÎÎ;Øêñ\aô/~ʧٔË x7àƒÝÈÈ\;c·ÂFrà1qÜRß\;Aÿc�,¼übÐŽÝy"@%]Œ\½ÿyÐÿåUüâ3펟yr~}ãö—ÿѹ‰&€þR0c-çQLÐÿc›h -€9FI“ŃÀaj~nÅSàöq9fÝŸí¸00…ƒ”HXŸ½^o¡ÕõŸK½öäÛÒÜk^¿¿u Ðß§¸.²2Üî�úbÄo�²?‡·{N8‰êÿÒÉÓõYgI´C9}•qP\vnTgëJ cgˆ2€^_¸¯�0Îôi!ž÷ïøL6"¦°£¥îźepX¥ØH¦²€JпýÁBþŠëW»º‹Õ=˜²hjô~4hîS -ÔèþˆÚø´öê\kƒõµáò‰bmWŒBJq(‡Lõ…{§™ECpÊà0˜¦ %¯]Î<™ ì3è£�O•â‚(¹  atRR–„ -c°n’ûyA3ÄL>ätÃ�ÈÚ9 -¥2Öª³Ž˜cÄ©VCòäÖ‰z!V•K±ñER—ßxŒ€/ýƒ×áàÜ™S,`o›TŒ&{ìý8Š�Û,eª¯Ñ`[åi' þ‡�è261íú{ãZ�kìüiz°Ì§dÜp“ k,‹q_z“¨ý  H:iÅ´‘êÿ�¬¿³¡^_}cuU¬J@ø°ý寘«;´–õ9ÏÜ_€þ`hèO_GÆ4Ø{Úð™Ðߪ”ÌO� ýå…²¸/—ĘŒ �“<¯w” +Dçpþ£Ou×¾ìw×úÙ£È;Ú`²÷x;öò²^åá k5Cù^íwëa=9ý™Å6 }VÿšT0£z=tlXFu�[Wª-  æB ©ËàݔՔA -º¿¡U/qMø�÷ˆ¼ÐýÏ?…w5ØLúý€§–æµ¢ø¯�ªñ„ ‹IùÅgÛo¾Ó9wÊyýzè͉³'ë—o êu• ˜/vl °#‹Xø¼ôH¸¶ð-Ö"hF¥™¦!¢ª‘FqPÆZbVe™Y‰, 9›'�ºóÖ�¥ó ˃ Ÿ�å8É@b&a˜• P@–Ac8éo/P¶WPC_g-éÖíÍÞVWlûg½°õîZÍ«·OaÆ f솷B¿¿¹ÖXXÎ*Ìûˆµ ‰‹g9 A–ÄíjE¬<ò¤wß)AS3«80íˆÙ"õ\Ës½áææØeQ·óæâé³úħßxù…5âäúIÆ”CN^Ìòý§ÎêlQ*áóü«=’–+¨0+¹ m´Õɬù5qr!æ’5ƈîø!&Æ6!=k¦I•%EJñh%É€k8â>ÛÍ�|tyõÐ-ƒy¤õ -p½+”]Îy ½ú©Ÿ–2‡°¬ðçÏšöŒkë][ȸBƒ6ÁÙs¹?žõŒ=€±{ëö¶”ëõƒ&9ø]#›}"0OÝ9—ËágÂÈzÆ -ªÏ1<7c”µénhéÔÐÆ9i5Òë»Ý ÛEBÖ~ϯŠì£0´]n~�na6|ͪ#!çÌ©BiênÆ­9e~í³M`½’@ïÇ ß—7÷µ«?9Iä{ ŒË“¯FÞ>¯Áaz‹ââ|ÀÙ#Ä -&£¸JJ™]uήœç†<½­…”R ú·Pºr~HóøbóøR÷Ý·ý៸ÅÌ!áL÷²ë�˜’ÀQJI5V¡¿zç"å­ü û½Z£ù±Ï> `í­«°oiÔá¶u°Â¨û1R�‚¦÷.èÇ>õ € J›…-a[ì÷†šC?×Ö òø˜ì‚@õ·æ„-DJ^6$žÃ!P¢Ì–?ͱ‘  ЮǴT[DôĪ%©è{ýÆõ‹Ï_TÿIpQ\|æo>bàäÙ“7.O¥Üñà2Ô1¼XëMŸâCÍÃ$S*?ÈNÊÆãü*ÍCúýG™•Ûœ›1u‡éy�� -ïÙãMÂ("ëV(3:‡ÉáÓñ$QL8 „åù¦—¦³#eÿ¯ÓÇ3Ÿöâ׿OsOµ>Þ7°AŠæwÇ™F 1��éH�vBÓü9ª,Ìh”ø~üXGøþI>+�a]Û'>‰¢€þ¯|ç»'îÅ@�ü©Žh·"¦úUÞ‹Š{á쉸trºYˆ3£(·�Tõ8DèW¬· 僘3õtwkÙ©�hßƈ¥~d"P÷�¹Ô—Í™f¸-íòju>KQcMS¬b)S!gö¼æÙó:âReÀb‘~†93#°Š¦iñ¾ÂL3#‰OWeƒ°¶~@úï…'>~áñOÀÁïýÁ?>yâäp8ä*n�Ð^j… �è/MÐfsí±kU«Ž2M&ÍÌ8� ÐoÎÈÔa{Îó%܉)sÇ™‡ÛW‰·\ �eŃ´šwÕfÚí4 -qú_»Ãöì3Þ+ßóö³-…þ<À`=d€Àöñò_„S¿�7÷Ò›Ì`'§Ôk×åµ>~šR?+EKŠ~Wš¨ýw7œùÂH ï·²æÍ<_äËàÐ\ó„¼D>£NްÎ3ª5¥eæØn“j¯aÏÚÙ“ŸAìôû½[ë=bõoÍù§11ô‡²\(ÐÓ+íÚ< €Âù›ä)•X£HÀ±D±�AîÀå°�[~ófá#ú±àþrû$ì×Þ¾z8£?ìÝ£Vó¸ŒCÐú+—®NÌÈ8Â;•A‘Çk& q4Q”Ps´„úè2EA ’¼zpß"þ8�)YѰ b J7éâÿ}‘òú÷^9¼~ãä�_þ[¿|àïJõ5­És¤—�ô --3]h²°Tmúý'Eýh‚J­MY%qgã©ln°m°€Q‹…Ž÷e"ÈZ0BÌMÄœ'¢Ó&ðâsÀU`  ¿ßcÐ?‚§H2Àm¸bzÀšF††\èVg« ŠR®lÂ$wqà`èg1Àèh¢Š°"úu‡¦í@ïVöÍû‹XB¶›<ôØã,Ú-ОøèGÀ¸ôç_SèŸ_§íTR%BÙºÕ‰©NpýÆFÿÁ p´‚å�íâ�1‘!ôÓ`>¥d�;͹@ Dá&lUE‘\³mòÛÄ}«ÌìÙ=ØDÙ‰wúöl#ж¬Š‘$9¼�Ú@LßrþB{a/ƒûè -ÊšSB–ÏÙ“ýƒ3Dõþ”É Çr™íyJ$\¸p÷ãÂ…á ¿À‘t�Õëõ8gºvªöDD0û éG‘SÈ“€8!�Iªåw€úŸÂÏž1@TÀ;u²Šö}St,óÇÜ»Ã> 4L`Ï•X€þÒ8}Òæ}³9åƒûgÿÍ¡½oä/|ÈV{•‡~þz:&ˆðêµ,¬|ó‹Åù}¿0Óâ ò7:ù¯ÚYyâÉ Ò©—Ú§U–®¶ÃGt%«·ÕÍÏCÔíÇQ�îOœq·68ÓÔ–úÐÑÿÀÁ*6ïÓ\S†ÈƵ¢»€@AÀiBøjrpñ¤RAJ5[hš4‰un�œN*g9ɣʀþ`¨�ƒÎ.»¡V°]µ¼6Z„ŒãLí8[aÞ4l! å§ävªÅ MlΓ’háô šºâ/úçã4¥Ø‚ÀÿDËàÿ¼xê‰)ïLIÁ‚õ“ÁW‹Ü¡ @C %CA?ŇÒümxd~§ê¥«43ùÏé6G˜{6­¶Ã�›8k>oô#SºEQo¬¹¡­‚ÀÉ´Ò}ýZ”ÑÖ*ôß3²ý 9LÙo”öðùè ;ÕÐ9MU•VL×ìí+lL‚԰dž]; yÄCèçíÁógŸxR~v»Hõaôçпý?ø‹D»òd -XYý?p(ègõ_� -ÌïgÐ/×n‘½èÏ{�üФñÈ-ýÞe»†àÆê¿WßK�î ƒ;¡ �´hp†—x )Ü€(œ%2óŒ¤å%\¹§î_b€c_¦ªÃw´¼Œ²(‡{Ó²ùwQÇcÎà¤èþ(F`�lÞ‚1ÆÙn(IÜygÓÈ€þ­Ûl D*õ _e1Tb?øÌ‡K—oÕÿÕ Žj¢ÖÔŸ}Ø>×T]ÌÚhJ›ÐôåúÔ:¥Uœ}èÔÆ»ÝKßê‹+×W-Ïúø³?é/.]zñåÅöÉáµ9cÆNF±5cGÑPÂ1F0q¿„)Ø3ÒL2)�À‹F–�‹ÖIÊÙGÒT)¢ÁFfØ ”UˆÕnÐdÌÒ3DÊyÒˆ¼Ýü0 ÝA•_æfùü’yD`‡`Óv1”°_>L‚˜þ°gà î0—à ~ño1­°B„pF•Jª/ z†ÇÌ2]c&¯#)1ñ‹•æ »]3Ø�?Š6ƒ8 oÏ�*MÊ�ŠïqAºM‚Š©Â_|ñE¸¸3ÇÍæ‰3rš½{] ÐG Öõ7­w¯l?r^äé�áV×!L¸~õ›µ×_TÓ›½ tÎ#¿ ÷”K�ëVÚ°—!+tu£ž¹Ý×fÉ{ƒw,Àä´abUÌ€!u7…Yj–e2Ø�ãQÈÓ4Ó WÉÆb§çVmø§MülÛú¡yšH‹<¯ ³ùEì¬RÅÖÁ1%€a#˜ÿÛðíÙÝ+10ÃUxiñ;\1‹_Ú:«Õñ¥ Œ–îcG?�~Ÿ±ˆ¾kÞ™ûÐÄ9Ý~héøÑZ}ž; µI 6 -bBuŽ*]´äxorª�°�UBú 5_ñ‰|\JÍsœ¸›äÛeoÆÆ’]Œ~£¨¶ÎáÅ0í‰ãR÷õ,ôŠIAJÛ6[^ýycöî *“$AUcŽÞ¹œ Ðÿ+o,>÷èFcrKþÄEÑjÊIðzÏUüÝ�ßóA[Úë#¼+­6ÓÌjáüô‡ûŸ�‹÷â‹°�Gç¾õÕ¯œZ9 ›S1žÿ‹—Ï>ŒóµóŽ®ÙáÃè¾§w%&ðâ}ÊÍ£‡�Ss÷¤?; O4Dº³W/ rëOo^‘_sßbÃs»+¤ pÏ~èl¯Õëu{kkS”°Ê‚I¢a‘SThÔ¸ÙevÙ$ ·Õž2Ûú½Föꕈ:ÕÀÃæŒεô‡›Ð_Ð:´ºW¸ah[¦ÊÍý|ŠF˜¬á©ú÷üüá�ñfW¸Z÷´ý/}çE¼™G½ :¿ØÝÜ "Ø×_¹ô�§V¯± È¿Ëy�zçGÒ‡#¦‹oÙƒoM+Âìñ× -˜ËúG”– g“&EîPšcNs,ÞLÿîLšªXßxœd“Ð,óº‹8§1€ƒÇ;ÿ‡ÿÛÂ1AQyé IDATt×»nÍaÚQ.Ž ËûšõéÕË5ü¸Bÿ(Wo]ǰàÉõÛ:ZhiÿðýÃkýzïæµÞM´°ÃÁ°—÷írJñµ¬"úƒ}|rÅ™/Œu@ÿ?¼ {n™éQÁWÄ<ø9IƒN<Á‘Î>)Mð»`zÂäÕ”ªÃÄ8€þnÝ!:)yË47Ô­ Ø‘{ÐJs{‹e NÎqP±+u@7*±�bþ ÊÇç?éµ2a4Tæ Ç¡ÅÚæZ£Ž7äÕ×Ñj/µW¨‹äC§Ï­Ü_T{¸óîànãGxo“L3-Lûã¹Õ$ŽJäOGT LÀS31Þ›ŽÙÄÇÞ �L©•�Æ»aœ„È­‡°L®ügùý { l�8Sãà5~½½Ò®|éÛ(¾Î\¾U»Þ/òOôm€~ùyU²ÿ½¢³ÒùÅ`·RÌ’I¹À¦žÿz¯u®‰(î®?—.4ÙAˆÌfð»RÒÙUßÒRó[ß¾¦?ó Ï]¿rÀÓŸ”fis͈ub<Ÿ_D' Øt¿M½Ã¥B8ða³5*c¤ª&è7g‹‹wêuµ–¼Æ¼çJq ;¡«Mc4fC¿`ß (åîž&lu· 掳L €2J÷_áö^ùÚ ÝíxS(è�“Xí1‹td’E>#ÍuPóa–ãD¯ˆÍÛxZX`˜A³CFÁ@yÌ‹ cn™ £jëá€ûî¦I�8õ† ›ÝœÿÐy…þ0÷7Z þdNýH]µà–,(] ÙéójrŒÖhX(?‡ü<ê<Ê÷R./rëîab0.Ð*6¨‘£ -ÈÓÂTYCîEXŸÉ ù'¦Cà:2yC(nF@_>œ¥§µÐ~íµUØ@ýßó'Fðý<9až” áX¥?�5fXJÈ®Ã#J -#€È…ûÝ;Áõ¯ª?1ú÷¨ãUGëEܦTq�°òäJ˜Ü -ýEýú¨[e�`»è;¦ÀƒÜåLÇÈAýè‡=lR/¥Aº³ŽJž9Üx´˜0*:$ Ì9G´p"•Ǥ …©ùϨ -‹td°*6I a�º˜ÿ“ ”�°�Ó½±%Ô`èÿ�ÿò·EËVTaͽÃÐ/0—¿§…JQ�+∲+ƈˆžd%<%hTgf‚à"!ÅÍ®+—±œ+$“v -ÿ„;ê0ìÙ*‘€þ€Š°ï\ëx9ê?‘£ÿbÛkµÚþm 5r~� ÄTCm…þçšÁv½x=Ü}Þm@µw¥Ù�(� -í8Š -@4æ¤àY_Ç70úxffd;´u¢ [4S ß“3Œ€A¯ º?l`pn¾*³J¢d€#('7wÌ òxƒÛh(Í.ŠÃq¼•�Ïö¬þËëwðúÙÄUA]²™z-hªç2À*[á (–}žwÜtꪥ0˜ª�¢ÉסNR¥ù&ÙXºë8ÂÁ¹ŽÓݶP·ÚM‚A¯Ã¶é(l[¥„ò)8ÕL¢³fRë2`Пòt+ôç±ÞÝ\¼§[?7„z÷+.€,F1G°±ï[Œ2s@ËØÍU¨LùQ¬:•±‹›©z—«×ù‚ÊDÒ©tT©`ï¦Ì4-çQ†qñy [ùAF|2°GSà=+ýa€úèê?¼rþÁ÷ ¤ Â}+¯^VnF|#¡n|&bbÙ,b½>*"pOú{”èÒÖ@ÿ¦ïÃ^1¸¾ôâK—ÿã×Þûb@œ:ýPs…²é®¬^üw_9ì�õiâ[Äáæ°´öŒ1²Úäñ p¹5 ®ÏbŽ:¤eŠ#2I"U{¿ì Y�ÈÀ€ù«ç?¹t==vu ÐG(lf€~<†uQE9îNÈ-zèÀ -wä:ugf—–O´NÀþ[ßAž±ÇÏ=ùÞwOúóû”)/8­9KV2¦Òÿ{g¦xONö€�laÊqÂîK|†|ÉçÙ  ûÑ_~œœ µO˹‡. {ˆ;9  ìƒ-¿Ï�wl'$˜ËR-C#¤öG–®ß�/Ï��x‡<9:àfZ]ø(ævÞq<°…ízOeÌ c¹Bh ñïÃïS$YÉöfx‡Â•u¼SçNyb´6 ÆrñlqïìUØR`ǭ؃°Wwð¯¶V•š¤ƒ3'óõF¬�IØKwzƒÝ" �¹5Ü#õàî ¾ÓëÚÒ@é÷};¯rLvå��ŸƒëìÑyúi¸U.Ë×èçTëé¡sÈH®pB&ÒÄ!ç·-·âIØ: e Ù‡–äGºV&ºtý1üµ:K^¹RbÏQŠJ—¼¥ßÉFønžÜq–úÃ�Û£§2ÌËÝÖÊá.%íLDJ&-¶¦²ÐoˆVs Ô #áÔÇ/�1�“-Jx�wÏ -Lý^¿'J†“«Ø(F*ç:%‰z2àñyó^w³Û¢�u°Þ{ ¯V‘'-”áñƒ J“ÙQZµ¬l71`ÍOÆ‚â«UÌI@ÒÍt ôõLf Ûœ‘ ²Œû2rP±•vl�‹’û‡ Ò¸FT}Yß|Ü¢<ƒk',ødÊpm©ÈãÌc®j–�Yr^Ìø"H¥5‚nLâÅ2L“qb;Iý­ ½ÄÖpüÅ_ÿµx]üúŸÂ†·K«Õb¹}úµ¿~ƒCŽýÛ{ùÙŽ$wE5*ŠPÍ©VçQ…ˆd"ABÙRÊåJó\`‡ 3‰zVµ‰ûZÞ/âØÙ†NXV8UãíöBkqõ{—øßË÷ŸäƒËį¹Ü^„-ÎÑövÍSÝé¿ ÐÏ^rÊÄéI$±&HyµêFÓ œÖîqNˆØ›s] -µ�HŽ£>Jº6eX$;~°Çû£Ý+X-ž`—_ -ÖŒÊýñ -*Ì{Ð}˜lõ£±¬ÀåDH·pÌ…ÏŸØC -è— ³NŒŒÎ&3'§è?%·i|×°�ÀÆÆÆùóç»ßì‚ àWàŸKIºœzxö±ó—_[•W^«Gƒ¡Dlú†Uß&ryR![šú[¤¶g2¼Q°BòŸÊe­âKã5 ™¤[-wõ îúIXôgûW`!Å”û^ò†j ñ!©–YƒQb`¹b\>(ÿ‡ÇïýÏ¿wé»—~ó¿ûMÝgåi­&Ê•bòm¼{K+Å.—),Pö¿\)±ËK}Gõ¯„þ"‡~ØÓÝ0ÂõDÝ`q ¶ý'ÄYÍž¢€¾÷äC«¯¬ø�Î è -e>9Ý%¼#ùuKŸo,>pïþ‚Ž’ÆB•ÂÆÉ�u2{oN¼;â½) ® æaæŒFfEÞÒ˜x>ô¤/nPVtpE³{´Ž´vl­4¬4Øw·¦¬ês�<õèYìwáügÔ‹ð\¨¯A¸'¨7ä1Œ§fa˜_.ôpwÈQY¯>m CåÛQ®o¬ -HË aWñŒàÜ®kCVàžÃtC gŸSÐß™­]½Ü9³R ÁíÐv`ÁMe÷Uz¾tË`·¶!Ÿ"vÐýyÞ],;ÅÃT¥Üýnïͤdþd–îØtP6\ŒópâÔ´£ûÇQó›Ñ÷ÄÕ5¤+á^Îç�LF*·wœ/~�ŽÝÊïlWú¬)Æ�Ê+ÁÊ’`KI¨�?šƒB­{–@ tÞê,«¶ÕBeô—_rÅt’ÜNâß%õ;9� À<×L[@v¿�þÖêL#"õ¿j7ÈðÝ9¦œ>!ÚÙc�=Ç7kÖ €£»â Áø®üž|À¦1þSU�ÁÂKŠŒ ¡õ�à”Y¾?0×A%�¢ÐóšÑö ØWãÝ›\øð…K…Rö¿øìç>÷ÙÏâÃ+� ú¯®ñ¾†É(¦}ñ&éìÜÈ~ŒÎKÑ ÃŸØÍ›ìFXACÂŒ�hîËÞyQ.×�xÃ#Ô2ȶ£�˜-€8Š“({fñ,ò,ÀÜŒø#­¢�—œÆF¾àµƒ)/Ð ùüÕ7ÐÏþåýe��¸X‘®îµØÇ´úµ¯£CFõòÄkv=nMåIº§àì'õøxHè¿Õ½y«;¼[3ÀýdšÅ~ýí7Å�9î½åcŸzæ¥?¿¨¿HêÙ±rèßSÀèÔ‚IÇU;HUxl¾­ ,R‰8;™Ð-‰SÌG‹ˆúóìm$,5á#0odß—Íò8ÝÉŸ€þ½ ÐgúçŸXa1 rôw‡³Úº›ä%®ØgÏ`†úÙÏŸ}ø`Ç£ÿžÏ>tv8 ’$’ÊJ–3).Þ²¸ÈëÀ�ÅŠ» ˜Îª¹&–}i'¨ø›FÎÙYŽã<›$.ˆ{ìb3œîRÉäèý�­�£ cÞ½z¥ûâg‡)kŠèˆ1Ëåÿáqñë/Š‹ –M@é»ßÙ0g‹8†ãaZŽãžñf¸-](ƨè_­Ö¢hˆ‘¨¾ÏóŸã-@jBó`�| œè6ÝGt0è¹GñK9«Wh‘úAXÄÂí.èþ!)ÎfI·Ttî,/VrÓü<þÝaëhÐ6øçÇ>ýŒz?(þ|°ÖÙ0ÅÍâÉ�XÍÍŠÃú ûcßĆ·X“eõ8öa“_õ÷ÄýXKŸå?É¿¦…+ÀÊ mÀˆ1„EÎʤHq(O§ÏýùÑÒµ�1A‚ì詯ÛMܺc”ʼQ0ÀÎ} ü,`Þ³€5ê"�Œ©&‹ZqÜ7¾ù Ðú[ -Ø:ë,¤nõœÅf™$Œ<â—B.G40~›Z�ÏÝ_h5Òè#bwùH™˜R’ú/èWüw1¹ -ýÍY§ª±Qr�Xܰ�Éô–³PïPAè—Côµc$–žÒ -/|älâ'ûi·á2Ò8 €uÿ$ÅÆ©öÌ”Ôi5üÚB?�Ð|{%ê‰4–îhãí+?îµaAbç×£xÄ<è¶æ³â©�/£?ìõóèê|qm˜ÊÌ)j¨øîó�@‹J˜œºf™-6I_ØÇÌö”\ʦb!ÛߨŽCì÷dœ?ÿô“çßß›/JüÒ?ùÒßÿ;_tÝh` -ì¯w8¢9*>x`om ÓßMöáˆT–Ýpm¿i(õŸâ"(‚ µ«e€~W¾ŽE?,æ-Íâ w†NNX¹E®Å¹‹7ß X÷·©Óß#@€JfxË!7™3¦K½þÆõõ·aåtš'Ï:G›Njþ{ÔÞZ]cÊÎ +òÀF®H-h|Wšº°zâ;·AþXw›éèf<œàÛ‘]¿A¹ÜûTþºÄŽ€lö~ Ð ½†÷‡…šÅ]#ã–^ÅYì*.WçÙé…;`IPˆbÈ'ýJÄAa†Ÿ{h)Þ‘éªþv’îIä—á=Yî7œ±œI æ±S­Á�ËJ˜¸%òxr:Š P2ŠéúM&õHœw�.�“辯 -@iÕ7Õ0±† pw ]4UÔåÙª�ùûÜt\F³)"'o½ùÁÝ!j÷£”`¢J¦‰�“dÉp£±M¹Ãðf¤™5ó¦ÜCŠ ”ÉgºšŽ¹ug@Ñõì,I†aœ%5{NDQo‹•[ÿù/>ûµOnÓQ¼úÊ•U�È¢?ǧŸ}º·Ñ ï[ân èJÎÈcšWÙȨ“2OCÙ6Ƚƒmœà�Å)(þÔ8³5 “s½²RЬˆÌãIg+^V…wÆ8«Ò ?÷àŠ=çQê�™a5¢]!}3wRpƒ¶‹Ê¶ÔHlš]Y4Š\MùË&–p V «dÈÔ ü0þpâAÚB�m&x&”óZ5Ò(3g)<¾#+ÿCJÔt0M aìø|‡ÑäFeNÝ¥˜uÇêÌ|)+Ä9hÏØŸ£‚‡0Õôn\7yr¤]_§JÚ:µÕÝÚ�7±Ù:‘¦úzŽÕȉýˆ´RçÈquÞ]y‰hîñ¶–-ª�x°2öòÛÉц¾eqŒ1æYeÎ8á°'ʆrÏqâ -§y¥|ÕZÌÁ}Ê÷ˆ"©kW«RiЍæ°Z��¢-l�—¿�SØs‚•´¹%›bs$Ø÷ãqÂDói‚$`æafé!õ9ᓃŸ©¸Æ¶l@XJG³èG…ÃxèzM%d‚s>8ƒ ™ˆîÞŸŽ F>¹Èýûüóa3Å´&ù É J�Œ¹ïÕ8c�‹Ô¥ÕxŒ1rez60 je‰d#1è؉Z¥0㵫k§Ï,?ûsOI°o<û O/ܳ¼±¶×Cȃû)¶—’žd°.�³‘J)È[Z`мÙ‹È‹{1° œU¥O?“€ -L“Ëû©=бµŸžê½»Ç8/FA¿1°´ÔòƒA§³ÞnD¼á ;ûHÛÏk>üAái¨(è×e@ãžÅ0çî @LŠù4 ôJÞ‹Çÿ/iï·}ß b KpW€A­¸^ŠÒZ2Ú´*vXÉRR³qܤç¼W§�iâ—¹?™»¹N{íÝäÝu:Ó¹™¾é½Ît.wózí¼7íäunrNò®W·¯nãºNé:²¥*±ÅØ¡M‹‘¼ÅÕR+®í,vïûç,–¢’Ü=AÀ‹?¿ßçûÿóÝE‡»w‡xÄú@?£;•v‰™-dá~Ìߢª:Ñäù,’~³( ² vâÛÄâßwÀ€-ï¤k+ý])®³wÈ®Ôb­Ðß0¦cgzÂþTâVˆÚ,æóìqà¢$öj:vˆ ÆAâÏ dFÌ"¶£Kñš%ÉÔè -DÔ�㉯[Ýœ3‡Ÿ˜¨dà> >ozd”tá\ïݹ3�«ï£gùÊ{øŽ¦?R�™­NSâc»-ú¹ïY@·Êv•øDŠ‹x� ›tv€þa誮Ȫ¸j͇^üz4!7C¤Mrl¬¦ëÌÃÃÔÜ¢=OÔ,L³ � -GôÂ2]H�UU´®È¢LÄ€r—7 ½€úoÆ�*ÚälÜh5‹y=é²€©zYT'÷òލôCšf³ä‘y¢puÿõ.¡kgÙ=Õ pe?òî^¨#@?X:6;uu¡dÀF܇ÙU Eq=GŽMÍ}8QªÓ­§\¯”€/�é@ôš“ký“ñÏ;,¹9ø¹üÖåù�Í$G^~¿^=Z%V=æ[nÝPÕÜÜKË2 ãîãZÁƒë-Z·J•q†þf· úŸxèñ4î—Hª1! -çøþ˜:�¯þþïý÷ÿão¬‡Ý}œZR:zG'Q†“†Íq“¹}àQôÃèô×FP­Aèg’N»Y0úó“5Ôý1§r§'�J›b=&ˆ�Ú{�êƒeºM['ÚpÓ€wXt¨žÀíôôB¶FÝs ´ ³`‚5Àb ÇCù{7¸po7 sß"˜í�ýùm$ä\cKK÷ð¼“êÃ�û¾@²ò…Š6&þÔ‡÷º )ö6k¾Ã2 ÓÙÌRò•ë:(H*‚úF@Cƒ°â<_ÐýÙÿvw†K@?�þÉîÂh|̧ÒI{ªÁ1�ÍK$àO6¸ ‹ÝèL èŒH ;ŽäºÁ 40™�Ú˜Kä1àwEP¶º aMsmˆÊu[Å4aø'¤8AÔŽ{ÏUYuÅžñRÜйåhq)\è†÷rly€)ÀŸ$ùû úyv¦æPçñoàr™<Œ-ÝAl\QÄ9¹L‘ªºrMôáFĆ…úýplCVÃX6 º‰Åú -ìp&5å•¥ülº®í úkì¬'=M¸\È5dJ%�ø â2ãìúÝ�ó|T ,4-¸Ë;Ÿ4ðIw×Ù³€îÏ2L�¤xŠ(ZïÆ÷ýÄ`õ¶H;ÓWýá@ßÓŸy€/¥b!BPž'„2s=‘H.,À}ØaP=˜êæF[@°î¶ðàéYî¡Uw[h¬3î§½Õ€þÕS éZ¢ôøgêY‘´CÓ´q£5ÿ±½¿¢Qí£Æì€î· H/wëþJ‚-IÞû9ذ¦òQ�[õc Ÿ°¤˜nkÏÂÍ,x'دk4/Tmƒ57ù¼ÒØòýA¡Ê_1H«Fûžíã.qŽ!ã[g+4&5gŸ°uÄØt75ÔE­T6Ù; ûó¯ØËï…êk þ—*JÚ(dè×(––ÃàJ_’6Zr¶PÆ‹‡Êáîb›,ž BŒµëúܸÙß ’éÃ7ñU G;—Ê”b~Ú‚"Ú€£pÉ‹; ú‘:¶¦ ¤ÈÛWDÊ®ŸÏç›ÌS©ÌËu¨bV%Fî÷À½Ô]aÚ»wT£ q Sí�¾Óâ‰æ'd„)ú ¼ÎmÞŽ6")2ó8’ûUÎùNÜ-r³A÷ÅÁ¯Œx>Ø®h×@¡Ð+òíXE#·‘à*áHÀÒKµå·Ñ¥öGÿÛÍÎÏ>÷‹Ïñ9OSÙó2qéEc²2¹AN¶uj¨kÝg­ýhMKUcúÛ>óï'ÌpÛäJÝH¹¿ü®aMYÕS3hty‘£r6†žëïºIîKçW?sŠ]F†‘o·ÝRE\’;)}x -,\å>{Ö1‚êuq›ÏQó[fþQ%Û¶·Û¶×Á -N«IÙ|Qó2ÁÖí›mzËè »�¯'ooá3iwÚ€=J?°Ì©øúãMNe*&Ÿv»]¶ò§VšÐ(«€ÙԌɈºÄJ. ¼ù,‹yÍ3=GŠvóÞ.êg˜Ó5K·×A¼e ˪­ÕõbiÜ,­¯×­ûŠE+[_oV C34'”v-ã žuóƒ¦}G“l©±á$ ź–7‹dÀ6êÉæ}èþvÃ9>'̲©ä² )²»8ÇgÆVÇ> IDAT�D‰”ZôÇÚ¢$Ë‚•�í5bu =¹©\þ0€Iœå ©¨4—8ú£ŸÁßñÐ1C[×|2âü¶Ÿüz’xkc~*µ3¦Æ@ÎPV•¦Ã·G©†+? ›Ôls„qÁÞ¼$ýØŽgà­¿ÛV¸`Ä÷uÓHõ�ÐÏÌ|†!&^ È{‰7\_ÔFt‘J„Œþw/ß~ñÛâê?6?nŒ/,,l¼�Ô©¡ú3ýàôzc`E%ÝW¤ú×××y'ù39 ztª±‰ÿÊV�Vk)’ÎÊT¥¾>èñôÓ,ç¾{îÈTóçžcP=^=÷êÒÙ'abv~í�·÷ýbbEEب]T{¦{äÁÒ³T )ƒd¹„þ®�±GeÛk²7R׋�ŽËê?l{‘0Ûר®ìº.¾bÀýpDQ³xVse²„Õ:ù`×PHå}s]´°,ý!m7íDÍ'ÓJQóüÞãP?Eï~,H6§ìo"xîŸ}}¤ë$˃Ó‘ùŸÂ]'صýaG"N|%˜ë$Åt`ã&ÍýNƒ©Pª³“ `M~¢T›`^è¡ü9mCïȹbé|ãÍáÆ“3OÌ€ˆ¯'Ô‹zÂ.åwx›ZÁØXýiiDŒi•^ZMD…EÑ`ÞŠ‹o UÕÅè�ËÉù…KˇNbS¹kaà³òwA%×D®S=o·ô±ÁÃùÚ¿}þ+¿ý;{>üé—fÓ.•L×õkµFyŠ*�Zž½˜Vѱ:Å1Ô>-r˜·ïà ]ý!NU dXÂPMÚœIu¦£Ô\Ð_Š[´r/9€~ó¾yzÆF�úŠW(È—^Kè¢ÅÝé®lt³ÈçL\%¼¸éà•ÈÝÀ‚V0 ã´C˜ Á¿‹sMܶ9T+‘�ÃeÞ~©c¼ é9é‰Q0Pá™ÕU?ÀvFP.4z]œß(ϳÏÇup8†n,šÁ2€ÁÞv‰�çG)�ÇÆ/t0Ü'è/Ž'vV˜Ñ¬Úù–å”Êä$ ÚD‰±pzáâù‹åûËå�‘tñâÐ`•0¢ni”C²vemúøôÙSg_þû—�;À™'°Œåëßà#Ï>qv�þóËÿ%Ïóùä“Å'—^]JdÀ õÃõ‹oˆ_\ü9ñ% -3âÙž< ªwò'/ë×Öa=9�ÉÔ`sìéè?}bÿ®è”¹¤âƒêÉ{ÚD3}Ûà!çu™*WÙÅ!  (þAqr©Š… ÈmÓü%Bÿô/‚€~èQ=¡ÞK– •IH81 /FƦj{ÛVÁF œæ=7¥ÝåDÕHKá}Ѱ…"Õw£?ã~O„Uq¿Åi�† Ðln¶R·¶[rŒþAè‚Àz:ÈþMqS¾ÍÙ žgc¾C,”üÀ·cŒµ rÏÛ§4 ONš¸‘zž,²£b�?pD7S²¨o­ÄŽeŸÎ—w/­f{O¿Ü»—ưÿпu nm¨Á"îOE zîÕsrV©P}m¬ç¿þüú5Fý+ïqÓ»Òôõêú‡µçÿìkü’§O¼óÌ¿øÒž›5 -ùt]£×�ˆü‹;×ìÀØ.¥ÍÀü$^ fùON�öó¨ÀYd•-ú»;ítw²@TÿáàØå…=~‡“ë¹H¶( ˆš?�ß]qÌd ìwJ3нòè¤T».Ôºc «fA´(,1sâ¤u¨<õÀB?- úãååt×kr=ŠJšJ,R?êÙ{ý©5žŸ(þi�^Ø%’8 Iýh”£x/Öd.ÛCUµìã7¥¨X�Ò çæ§››­}ýø ú'®?Ðâ{ÑÐ4)OX û}„ÁžO�Êÿ˜dÛ&”@uú‹/’ú[£/”6�~ªg—tÁ?ùVíêúôÌ\ò¹¦ L]ùÑJÉ*� -òïþÏ?üoÿóßxóW.¿öå/|eù‡Ä:5°ÔYýw]¶` ôóç Å1ôò°Ðpƒ¢›]DÿÚÚš�2À¯­ÛÒÔ@¢ˆYÀÐFÀÉÇçé‚…’Çê?lmÇK²QrÉñý_yN8p4Òzxšõ‚vaÄ„i - §Žˆ¶•¸éæ5â3ð·}‘çVB&#eTЉR.cù5U&¨’Ïsa–ú;¢;ѲD45ì0•“I÷3(ÿ‘û˜˜ÓX¿Žúœù¤fsr¸+R-)OfÂË»~€m€07."�e5ÈôŽmòZb´�ŠGT¿¦�s]®µ‘£¨È;ú´i�H«‰ÊB À÷ü÷Ï;›µ§öóW×0ïÅeËc„³c¾~ ~€YžØ¼"à†½º–dR¥Ò~6Ö7EyméµÖV ƒòÔ$Nªµ+W­ûð…YVIAP€KýäéO.¿»ü�ÿð�êáj¹Tž}r¾²~Çñ3Ÿ{F¢²¬©#èäyîKÏFŸ;ŽváÔÂÄÄÁ—_zùܹsÖ¸×0;; ‡�¨hÒÂúû›ÿô¦JNð2µîi¬7`ÅASž„¯¬®®Â‹®NU�mÇ2Q iÙ-Ó‘a8”#ßv<)V–¥Œ´öÞÛ;Þ/ã3É™Á®ŸÍ©jNǾ»îL)É™>gåÊè—˜{²z¤ƒ#× %n¦ ˆÍbó[dËêú"ìãV�K1"5CÅ -úëÃn`cbVxàáV8vãâc|�d®S/a«æuý@�Cå=b:€«Mê„A0™G�ôŸ˜õ~=Ìá¾`äÔ@—šÑ#q.±”í²Æ3…ïä)Œ}ù¿û5 k…6¯)èªäÜ0ípVqA‘)Îê�Q‚´T#ØôÂm7ÀpQúý¨¯GýP]”~eÇÛÂ$fdf(¸‹’ ±(‹�Ô¶nm`RrŸ-Î|S©·„‡ šÝ�˜)Z2ÈR¤Am5™Ç¹ç!·kOσ¾Hë9UÏ)«Ë”×JέNs³Yš°4m§T±š7qðx]ßè·ƒÎ�ØÕܵ<ð= -""§ gÅh Zíø¥‘,XbîŽt½êÌ„sÛ�kÐ@cÂÙ‡¦­ñ&è æ�¢>ªi#ñ f¢ ‹mœa #^ÓĸðçǘYˆKÒ4S‹)Ð5_ìDÝM ÍÏÿ#ÎÐk7P<:üßý鿟{x~qé;¯|þ—ž‘GüOž:+� £œU8þWóaûæ÷W~çÂï&ÏÍvba©HögæQ¡ƒfc6åzÍ-—°ŽwõÊjɪ4¨gYuR«møy #ÆZAq:Mд«U- ·d!@;UñígýÈF¿4µ¸R[Ÿ}p‚I@Yý/•,@)—×ryöšæZq+.«Run¼ÀZJæË=…"%Š%¢Ã‰÷c™ÍÍû,ûv Ð_�ÓãýÅík‚\WÁ„ª(¡çTbZÄtƒ\²Ìm¿r PÐEl©¼åeòðäÅ ëõÊd Ö ¯_€-º‡(¶ [XNY§À¼ k–›7›‹O-Â%a³ÀR ÄÃb =B5°"ÖkÒ ÿô±é¤ÿ—yŸÉŠ]¨é ~ì‹ý-4G@¦û.­öd®×õBAúOXlÛö:6W»Yo;N‘’Ö`ÛºÕÐSìߥƒ( @ë…´hY�ÖÖžS��ª¤ü–ª"‡JooJ’–|ŸÅ€ßÜã~ Êd-D¢� Iº!¢�½Ëñ‡}ú—¾äoo-½„Ô µ+W¤Hè¶v«ŠÅÀ7M‹¿ÛƒUŠóÙ±4]FÎs˜8 ˜Ì5eì0}¼¨_��Eq5¸žy� ›ú]I¤«IDCÊÍ[âYÃyƒánÈ„PÙ�S³@^ŽsI -EŸc6mó56šrn(­³tè'tâ»×båµišÕ˜f™aéRÖ¬]¹'�îʲø³(žÿîܹw~pÀ‰�ë…Òê{8~ï_}ðpî‘éo}s/ßêÉù¹ùù¹åeœÝM{`É•—/¿‹¸<~P_]v*Uêuè„€þ”“Zww:%KÈ ZVcè;vl¢†1°e#LÀ¶E�Н¬­²`Em:èB91‚‹÷·o\pn‰ˆ·^ãö›\BMþû˜ÿ€þú -ÑSîÂ9–øn7­ÔC{áÅà],>±ÈX|þ­ó $ì–S{þë² ý øO‰z¶Àdýº?ýÐ�,08^ßz>9óÄ€þ­VkúÁi°÷—^AMпtš&4@ý‡ßmß HDþ‰¤ÀĆ€þôŸ�ë+£Øe9ý!£¿^¼· 8•º”,¬|´$)}vSzè°À‚¢a€H8·ƒÎ}´“*ì K›F¸~Ðt©µìøŽº?',(˜™)ã@äôj‰iÚîy­üC‚×Å£óÈ.fbéì=à> ògõøqD¾£V,ÚLQ€häÃÅäq£ƒªÌ5¼ðÄ °ÈVÝ?¤ôdVˆPûIšZ“WÍ÷}ˆè-EÅ% œ Ê»R’¼ÀÊ -€PÁ–9Iød¸�N>!”ÍÉ¢ÚÜ Ožšk\ošF¬ƒ?Åâ‹í;m9+Ô¸SOžŒKü×Õé -=–ŽÓj÷á³ @Š…�–W}*Ž-M˜î¶§�íCÈóøG÷gìX¡œ…€È%O/ ˆ"Þ¼„Óùµ×Л¿ô�ç—^»P¤‘ÿ/ã�¥áÌ:@ÞÎÍÍpÇ÷ß\yü±¹JÙúÚ¿ÿüy d€"-|¼rñ{õÉÊИgô/JqÞè|‚úcUB�7q.y‘œeÖ<Í¡QÍ(º® -ƒü½€=dTê\)ÿ¸ÊV¸s3 ƒYÚë÷@Ô>Ë\õ‚/2%²í¶+>è8�k¤«’%+ °­ý7)éÛKùÄMª#&¹½Í¹@H7Ú�ÊÉàšnÚÞ;#+…©Ù·W;|…éb`õc‚HéÒľëƒR/ƒú¯(:lÕÌ€E2)•b’Ebðh1R¬þƒ 0 -…¦¿�~jŒþ¦ÇnÁºT‡+G> êí]ôƒ³ â-MÙ#Ò™ÝO?ùôìüì·þ¯oýÊ¿ø•ßùŸ~Ǵ̩ɩ#‡�€Ü @üÂ��e 뢴FÇH8œ›m�ýÄÙÄ2;räH ûƒ6 6@<6ÿ„§OUî'7ヸÉò,�p‰P€ú2€ÒØcûƒdKDƒž§cïõæPüúÁ°?ÜÜè­€ h·š°æÇL؆¡>¸Aü䜗÷Z´Têj;+·mˆ¥Ê?èþP¥,«ÿ`„®¯R:YW�Ñ€. e0fä8—Ü¥ä -Vÿ÷”¨Y™ÕRº1d=ØDmŸn{ çW•˜Iÿ×ó7akT¦Ó§ª>8¨Qbÿ�iUjÄÆCè�àNÐ�KÒªãÒ]‘·Šb 'ú=„iõ¿ÎG¶4 +A°F¤ÃÆ}œ_;a›Žq·}Xõ¸-p³¼I)@ÿöÏþð±,Ôk©”åThùØìù‹ç¿z×ç�ë{G8XxÙ —ÀìCÓ+?|G"FÀÙ3'{|ÿkbÐíëÄUPÿÇãR €~Ðýa…¦rcôÖ‹Ü�^Éâr -‰�‚ô…›e†Žã’w+fDfÊnT[ßœ}_wqLkÃñÜÑÆI9×ÙÔ ÃuØJý¬>f©Ä²’•1åÜâF1ZBÿÅNv�GQ”ôRðS ^ -’œtÂò(g¶QT¶›©ÜaÏ7“ôýÍo<™­‰I-ÕG—mjkÍ«ñ1ÚÐÿ¥–Ö� Ã�ÿR¥\1¾0)îC€s¾;ˆ`„i^•­‰Jk³PÑ�Y0`pv -\ ì¬_º¨<.äe?§$«Ð�ÉuƒÝP[Ó­éâÄÙæÚ‹p�º.cë�Ô€9ÙÈKaJZÔ6jÒ˜´¹µ¹ú£ÕñûÇWVW`­V«‰åüøV× ·vµº9ìØ-{åòŠeYÙL–ã4�k ØI2766@…?~œ)ß¶K–5g‹šÌòA|æHª•eI3;$üY�˜�»Ñµëˆ;sóB-uw]îÀuê§NI§¾úû_]¿*l§8˜Œ5ñw†¾‹½iPûÔŠ; aÛùŒ�’##çÇËúXÑÝn³¥aL’ÈšÚí4 'Ú½1n©©›ižŸd)0àý@›˜fäã3³‰?j8k‡Øfü;æt¼„�`îì5†G2$#_#ƒ²åÒOw%APÚ‹|âêõ¸à¨/óç2èsOÓDîWš[�~èÊ•µ«—._»¹Y·ô÷NÝwVãñÓŽú#Ÿó‹EùòÚF±øæÍ�ÆLÜ[Ó'ˆç4x“I˜HŒ–Ã&YF^4±Ý¬œËëšÖ´í’9–•ú¨*Áõ¹,ý6:1ãÃ禱i;áÎ -7Zù1M°¡œAï+ó²…Q˜Wò˜* -’�txÔ¿ï –_‰›º^ÌSIMù~„žÆõwvåÆ� É+•ﯴw˜àîÞjPK¨!CáþR§3P<_š¼1}ãFÛïðw)E2åiH‹æÙGpT×®ÔíÍ�òAá®xýÕפõ½16±ðñO.|üg%””ùÏ<õ9þ<#Ù�›(wˇŽ/½Œ¬'_ùíß[{åÿä·}äôÛà=ñЗpÚ¾¿òÅgÿ‹-ÙÙ�,~ù¿šÔ5%Ú•>y­�êÑyX?¬ÿ«¼éOŒ—Î_ˆ½îã£ÑnÄÁÿ`W:r¼àoGÞvÏÏ´©ÉDž˜Qvv#–åûµh—î7‹MA”Œ z¹ÄÎíL*±Q@Þ ÈXcæ}zÞÈË­Ž}Û=ýÄlãfY’pâxÈIúýn(¦Z³&®É¥ ¦›–ݰͲéu<ŒûÍVé@ l`èGÏÀ­&¼i@–\=X4Ø’"áJ••W=[ûfÝôOÌÎ^PG%6ŠA”¦Ÿi~ð"<7Ã0ÀÄ`®ù0’‚hÏ™¤+kÂÞO'æï»,~zqå­•­Ö¬ãÖø™…3Kß]‚µz¤ÊT”ñçÐÿéÏ<}åÊ•—_zÙm; <~ù¿Æ âÛûW� °'@å?6}Œ3y^ÿîë ¾ø…/‚xý�×ß¼ˆÏó¹_~v}£þÂ_¾À¿ûì/>+WäÿòE€~‰²Q¥¸4!½°­“æQáeòpuã:ÞZeªŠ7´˜T&4 ¬ÖfP(€u˜È~N.0˜ZÒ—’kª6�£0y脜Žnùº°ØâÊ«l‘w‘R¹ðxníBg¦~íy¸ØF™Œ tdž5Êå™”�¼«âO³”ˆªeæè@±EèÿÑeØâ5ôpz»w6@àÈ¡d·½Åô×ÍF]Ž­:Ë*fS�ÅŒ‚‘T¢Ê½APJ^’“N }³‹?Ÿ�„A ÔˆþAøK{2v "ô#�¨Ü-ŽOË)v°†ý¡ñÊÓÄ£¿„Ä_¦çcæL~$«xù|2ý}·�Ç`u±{<.]\aͺÁvmc›š*‡¾Ü=èÏ;•Š˜Ú¾çUÊB·s;ÒÄýB‰Ì§Ié¾ñ‹Õ'a@<ý¹3W/_= -ÑÌq­;¢ú�)⥡óLÜ<¶yóª4¼úŸ˜;ë;+æ>2+~öψ{92 ÷Øj5,K\Þùï r@yH›†Þ¼Õf+ìØ›a~, 2@ÙÛ�–bA±w£Mjé¥)²FÜí¯3è�ì÷ãž‘lÀÖ08 èk™ÈÙ‘Œ©Ér¬þ—ªUØY½p^7,�<@ý÷ˆ6ÃîÃ…”øçAÜ‚‚Ç’>?4õÞ–'i¸o|¸üÐGOo|xÔ±“O~¶F�F«ÏsŒ¡zbvÊU4ýÁÐH--–Ê•‡A§üþl‚=É/FkR$XÍ͸sï4Pù“-‹�å ž²ÕÔ>€¾@üÊT:Õ ÀàYœJ}>àTÂ[»¼2II`ŒþNHR aG·†,YLëÁ{Ðù�å$”*a¶>ò'§Óó÷,K¿”•²3Ó3—×.óºH~öÚµZãÏqb³xíÕ×®ü(T@,<¾ðµ®|íOÿ¸JÝ>¶pQº2à_ÇŠ�3Ÿ8Àëç_ÿÆ7éÏ'Îä³ò¹ Ÿÿs„þJ½G¿w$7x™þÈôÚûxÁ3δîkmÝFGJ¸×¸ñ�%ØJÈ#ä€þí;¶:.FÝŸd ¿¿ÝNÛÎV˾µe™‰U'¼1¼0óRû‚×ÎvÛ°†êzx«¤žýñO^ €É–šjbÌ6`èõ_)(r¿‡Ð�ƒ_Îkœ°‚àÔµ¨C-ÇWßw´¼lè`Š ê�\?äÔz£»)ÿ‡½@µ«€Ìb.4ntklÎ7>¢ - @š»Äè/‘/xÏý€ú ˆûú°s†w$´Í@°0 ÃÀ“�ñbúõî·€lŠýÝKÅÒ/ÀvõvãÔg>᥿€�êV^]*­‚|Z¹°T"4îTñ4¯_›;u–Aúc{;Ÿýåç’ýfªG9ÀñxåÈV}/AMZ÷_9÷:ï �ÈÌO@ÿJ,í9•(ˆÝ£\O„,¾-tñ‡JÌL? -ò–kÒ2`þÄ|•4»§áé—ÿöåä9ßKÔ®Ö zS‰ö ê?È€ZÜ ùâ…‹““(±ú¯ÐâRä†ÑpП�üâ—¾º’ÎÏÑ`X5âZ˜š¤„™ÐçZ�VÁègô‡_OÐß0�Dhc†W_ûôR_¯ÍEEs%KÌ Ð�÷›·œ&¼÷áôÓ3Š¡?Yâtþ6£?<“ꃳùœy�4›VûòûµÓg懾¢¨JNI:ö`fNL‰Šz=ש� S—þ§ìÀ·…Îl›Nã’c¼˜ñ„nœ¬b Àù#iÐ’EãZè8áízñó-+º)Ʋ“ ƒ|6@ -€ X~a}½qíúæÙ'æ9NpòÔìôúô×Ks�Íõ\´�…�/lÔëW®nLÞ�Ú�­Ù™2Íp¦ƒa +ÀÇßuÆ÷êÑ û³ ¥Ðÿ'.‡ö1Øÿóã°öý Ÿ -NÕþ— IDAT$wë„ ûG»{Ýðè´ Ï­  èöü˜„•Ú½… ¯k±€í=( ¨zl  �ªöú=Ì&\ÃxKÁhßñÍ(WK`=è¦!�Èn§S¥ö¼¸óУpNÛÞ„�†Îâ³_´ÛN´+}tÁ»½5z_ytT«_«UŽÍ‚Ö¾Ù´&«è&ŽÝÙ¶)øæ`gœWg»ãoûÍ[0Õó¥ÉåW‘Gaþìâò¹%c¼4ûÈÜ…WÏO?Ú­VѲªó^{«?ÍT èh͹Ýd‹€X1²ÈâÔņÕýÜoÚïkQ´ú`>Ëaܼ- $J²H”òDÙ0Ë'æƒí•µ+´”��î´�f³)gd0¨ÑÝ?¦ñÖºÏ2Æ�Ï>óÙ‹o "ú»yÈ|üã�sj,H‚GyÔí´a-*ÍÎ̘J“eaÐX‡&¸È`}cÝoûÖ „Mõ”7õz½<^ ¯¯®¡q�ÖɇON=0µþÁúµÚ5ÐSسŸíϾv­KPP÷ÆtËTë�ÍH‚<4r¥ )yµú‡«Xw»Û6Í -ƒàÒsPããaÛ'·žç dƒ9^òº½m'­h:µ�õ ŽÍÂ;å˜P‹¼ˆ~Ç.€Œ¤èN£ŽŸXÄ�Ürš¥‰Rà»ÍÍæ¡˜¢Üß<²2 cjÔuƒñj·|ƒÁ„άª½ÙGHç¸Ñ˜›/±VUšœs·®§Ów^xå)¨Ìð»þNÃó6óù‰|�dñ.‚¾ÆuÎQ/´íDÊûŒhžê4áݕʓµÕK­Ûþ‘£å(ð-«øèül‘=m´º¸XS ЄNÇÑó�&6æ�Œ²#¯jOÉjØ~6’ÒÕÊ0�嬂LÚ`˜Q”ÁNl.\^+“ýn¤å¨ÝphPu›‹ßEOÚÂ'ÎÌŸ|’Îà’º~yjJzBB�¼ë4Í’—®fa�]¦¥zá†;[ý°‚P²2¨ÿìâV6¼8�U6$ʨáÁ(Mì­GkPý[â° !°çNýJ£&4ƒ+«+õÍ7çO~vpI£åôy´̆Ìö‘QÐÄ@{gÚ0E»¦s`1è2 ö£÷ØÄg8uv(ó VÊb@ç­+¡ ô‚Y†]Ôcèç4‰09 XëOW¼ §¡Š‰CŽge0žM²lgáàa¯QþÜ•D÷Z%¿Yk”°™— ¦¼p&£ô·[.ØèLt˜hèœV~ON�™®Ë~i4"¤›æ¾êš¦y¾‡¼Âšf“:bt´ötYºk#àgÏ~6¹ò0ÐXK¡ìýúïþëßÿÃ?øßÓŸ0ôK)ô—†ÑŸ…ˆs¢ç/ò8éfíëµÂˆzj¡´Y¿dеÿÕÉ%-Ø^×ÕhâÀ”&ÇÑh·XO7 ¦ë¡R àI¢ßü\&ÓQ3ݰ›ÉH8§À–ù@âtòü”•'К7�æM{úáê¥ï¿W=6iÞW´o·µQzä=l�Ð…Y ÜbeW_t»“zèÓÀг®pýƒ´è¡ ˆ�B2`qš5è[QV‹�v…â1ÛJ&Û'}v|E úh=€Z.…¢½ÆÛi<ØTK¬eèm÷ßmo·Ýö¨äu|mÔ—v‚$ÐzQÔ� K÷½ÀM³{Æ ´OS”Û><ØŒŠ&ôˆ®Žè¹U$t¥p;*�Î4[ì:kfQ·§�p7]ò¡gñª?uæÜÅ¿ú~-5~R½ÒsÁ‰#R¿üÏÿù™³ŸìÒPìR§x‰s3 ô'=ØÉ�>¾Ï~Ùk² •söD„‰¨šFæ@qŠj;ÅK$ƒ@ÇþT¢¿F™ZRh˜t0ÌÑI]sÛ¾¯ûn·;Í`iØX€uñƒC1�Aôw][×Í^„™zAàÆ-áótð$Y0sn̈¨ß ŠÆ‚~˜SØíŠGâÕ8š‘x‘³²œÉ²[IQX¦Eñ: Xb›IÁaš>U''¥ÍŽ ¥ª¤­‘ôkIk%©œnUhÙAJcrÒ€›j´+â¯ØŒ…wš·:O?sb቙úz«2e¥ûÖ&\’��–¬ú®»Y"~$?ní©�•úÅoy©ª‚LÚ$-^#ÙôïíldG'_˜qªF¥éW×jW/ùWgêIBÔw—ŽL¢ÊÉÁØ v:Ønêj‘U³p×õ{¨Ï¬•ÃÖ�µBþÄîØ°ƒîìÝ Ow èoQØív)N§³™Ö¡eEÞ¤ðW;Aâ–QØFLÑn· šk—Hb³™l¯?¤uºmÄ€9®1Qšx5v¬ öb'ø�ú"ÛÉ×�[/¤ê÷�»\±_[Äfhri.wM×'‹ß�5q7ö¼écûtÈjn9Åq#ýI:KuÏ‚œ Vqb¢Ôl îEÓaL Ô æG¡Æ9J’t®¨ûüô½çÎ�·=& W’1Ï>Œó_ù—¿ù°6® ‘(¥èD©É“²gžødòa.§õûr¯×Ëf³˜ÝGÐߥY–fÄèÑÙ»Ø?°›¨‚AmwBX™~‘î#Ï…„éË€³Á»Æ’RŠú*¹´oSŽÈ Àªï0€•Ù@IH•‰‰ú¦ð“ëÚÀÒÍå ú¦Ñ|2ÚÄXú*ÕßÜÇ’˜åŸ%¸¢hü{°íuú¹�ªçØý²ª®qU!)þ¶NM�Ò–�>ê÷ú‘mT6GùøA?“E“MžˆyyË /†G_¸wñŠrµ–Òù�Â�2¸« õ÷Ñ A&L`¸.GÓ#<ÂnnÄ(S£Nôä®�æÁÈ€ås©Jæ8=Χ†:%MÁª�íãê�åמéþú3xÝôbîùÓ�Æ¡Ýe6Æo&µŸJL í^J©ã‡*[Òçb2H�×OQó䤾 Ð_?Üâ�öÎ>@BXi€[ GŽ�$^gSMŽáOA Èy+ÍœÉô‚vpìfr•@„!&ù)Z %AtÿiXAˆ«ºVƒµ˜o˜Î�N»Q+±Ä¡9ØÉçÁÃæ,ë ©%RØ‹cºÝ–l*Ÿ‘GH±Z™ÄNUT†Úºi¯P›?%X|Ïè—ó˜¥ãGB•1 yØÂ%Í}Ïçnã€þ`M†€Ý2L ôUú×V/-ûÚ܉j“úâž|' þKÏ`Õu”^œî…šÆX¨Ž €[Êòˆ;2ª‰ƒ&ñþ2G!]×ý9!´à¤ß‘DÐÏ;­›)�MŒ[ ¶¶ìq*Ùs�Néh¥ö#ðÕ+Ëÿ´êu¤¹ùAº=£¿yP×òŠ¿jÔ]Û0p7IXìøå�¯hú˜ÓZ7‹øã: wê°(Ó©m\Œ" gOX*‰Þ0±IDú§\ºÝ½NªQ—w3Q®+£=oÃ_³ç‹¿•П&^¶äáAK”�)KÕØ†@Ã.Dw”úúYýWè­%DgpæÂ˜Ò‹Ÿ.}¹z¬j˜¦}Û¹¸Œ. …y¢Ä÷ÅM·¬÷ï\aÔ£ì¬4i·!uŒÓô¯FÛë )Ï> 3C½Þo¬¼sÙ*󸘞çÉq OS5wÇ‹‚;iÜááÓÈZÅbÇua¼Åb뎸`Läè÷ò0êH•aµ`4£y~{ç¦x‹Pö�"c–q èÂ;Šs½¢\ìîÎI;nh•ÍÖM5¿òN d ì\x±ùÔS§ÃNÓ$Š·-›f¹· æ¡mʽ2Ü'RH�|„ò€»þéÅyÞ9ù˜ˆˆÂ·¯²—Û-gö¡9x)íÛ’eU@´½³¼éw5ØF‘׸!æƒVh�>Áš„ï |DyJ“mܴˇL.:˶“�‡}9À–U¿Ñøö‹ËÕ*Õ&}ßFÅCºf%—ÙX«¯”'Ë^Ð6 ãn�ž—„–,Û“úrªÝo†ç‚J {>N,œYüɺ\–ΰǧ'Q(Ч´%XY3 Ë#JÔë#�Dn'’#º6xÞm40Tв9�ïð§.�ùñÈÂHhFâ 1¡¿‚IJÁ ú�^ 5šN Ì%ß±ÊG=ÉŽzQ–ò, -£V } ä¼Ž(ß³Gþ�ö�Våðtñòàg1 -pŽPxœêÐOm€eÊ¥™L$qA6’i®ª:( ~’* -³§Ñ=íuð1Ü`C(¦2Eb2=Š8ÛÓ“ƒ¸š6q°{„b‚42²i3"¯¨ ßa±{N˜#¨þg/ LÒâ1ËJÉ"úS$šΰà ØxÛl 4PJŸÈ²cžLo?ÝÑÿ·~rK¼=K1?”‹Â¨ÇÄ]0n†éÒNÇAkÖ>øI2|ËBìFNÂYMg²pvøØCIÃ=v%ÏÄìf²IÜEò=ºu™EnF”'ŠË˘‚=ûÚéŒkÉ‚žMtµ©¨,úwÁÞWýÁÞ± OÏóý’$˜‡UMõˆP–uf †{”!.É¡‚þæÍº.‡•«Èn)8“}x˜I›Rœ’Љ}Ð[­æ e ß]Þ<~¨4sbŽ‚„8$Óÿé{Ÿ”š€Å°u¯Õt’¦µŒþ¸³Õ²HY†ó ¾uË�uf¶zéÒÍž|ü!Pù£næÈQÑ"tz¶záÜ%kÜ��K˵“äN��Ó?3 è�¿UÚßÏKuZ±¸:¶†�·Y:d -2`úÄ ]^Ë:„™��ÍòäD£Þhßv@2�?G5]ùœ¸~Ÿ°±ËØ–&Í=ÿj·AÿÊ#ôÏ#îƒè¯]ÝPƒÌP¦TH6²ŒWQuuQ^AZ4%€é†ò0£|CŸi|$j¡Î1jЧ̱+òˆÈ±öª’ ¢HE¾r„~Ô@S˜¯PÁâfŠVåD`Ôÿ†í£�S\)d|g%Ç�Ô¼è .‘–*TI¤þÓוj?Ë™ìh¨#ƒcýÙÿÒ”¥Ôý?*63èOÃf0Ùšqpré•ó³­š¦iÛ6:yˆ¸©+CäfbH�ÐÛÆNƒûÒÔ›ÍÙjõòÚ - ÿéS‹°Ï©z´¼ôê¥jµ2 ºÿ8Q‡^^­™Ô Ô|ðÝÌz ásX\â¡�è–rÂ0´FÃnlÉ„·�Kä�Y@èk[¥îF–9Ü)׸g=èþ€¶€ÑÎÍ6èþÖ!kí�Ë�~|t0N.̃ÖW¦ üîÍFTïåsÍúìgN~û%4 &ÊÆù¥ÚÉSh*5®7O?9Ï©«pÚæ&î,~Ú„P“‡…®�øèR…ÿ‡�€Äb˜�ÛÀŽOï:a¶™?; 2À»Á<ΤX3ÓÓoÿpd€/ÿ7Ï~ûo^[úÎÚ⧦A \ùà÷Xi•Ïê¶ÇÙU©ebºíñ,‹ÒðÎF‚6÷?'1p·îŸ, •8©‰¶“›º(1[!@:¬¹¶1Š@÷§n -W„!ôK˜åɱUCçÇEdèú�«©qlµP®âXbÀ€e™°£izRó‘ëw1Ã^É)¸JÕ|Àø•.û]'ÄY‡¡BÀå,€ Ðàz‘ì¹Qý&Û^˜dQÀ„ÏÊYf½· O™šˆIè( -D‚{ØnIÁÔÏÈAj‡Ò�tQ*À?ø»½`W8úÑËÄOG¹Éjk"N ’ùr5RÀ³Ôá‹<<œs�…�^7Òó:¾³,\¹Ä„éðOù9/ -Ö¢Àõ¸¸†9Ü9WÅ÷Ðq¬›–g¹Û·PŠÑv‰q5Õ÷{†¡ƒCdž㲖†ö8<7[-”ÍfmoPW–}ì;:& ö´CG‘‹RÜŠ²Pd܇mQ/&�¶“Ü|4’b+©W°_ž»ãF³îNGtEg§?æ³÷<'GH\-a®¶èœüPÄ?'–Y"¡‘W™È~¼�|ŸžÄÎМäG>²OM•4 ´°ZV.ΞxÔ/5ˆˆØÔTtvaô«™,R–�Î!c�‚ÚCÉæG”bÜ7ã*4–ÁZE³F‚—kä]“CaœT#+Åãǧ`õw"-�ŒòDU˯ÕÞ÷kRcþÄÌòòeÛ>ýÔé󯜌[øôÌóúí©ÊGªç_[]|j^æÒ+˧OÏÂI}Û—ôuMouµêQsc]oùŽ1iTŽ˜¥Ã†¬÷:R¯¨ô&—¶Ö#Ûnlݘª¯olØõ³§¦Ž»Rkbµ¤|ãëK|š"þÿö?Õ@Øâ7Û`Ö'ïÝO)Ù`±LM¡öº¾Þ2Æ46…‹c–,¹ì6ÆÌâ�(ÚÅØáÆ(ëõuÔèg©®“<=]Y[«‚Ã>ãJÕ™²Ý±Ac°ÊEL„àú¡i`ëlû†¦a}(ÕFÁp vC¤Ú-`�Ϲåp]XÛÅûu#Wuýê±b‹cÚß~ñíé™}L»ôƒõfÓ=ñØLãz Ô�¨/ü -­VæKØ3Ü›šŒ XIô'Å¢›Ô˜g8úÕ ²Y5Iög5=121¥81 ÃD�rÔÈä5ï!ø…Åúp%ôùø"áŒnóÛE#_wÃAáUrl,CµÜvƒ½.l`u ¹òÄ1ØŠ":­)¯N ¿çaÀP�};¼°‰'‘��Ë<�‰+�6=¿—ðZª“œ¿%fçòë/Oô䞃5¬¼(gtðšÁ_Y݇Τ¸î5 9î/èÝûXø.~·×côgÒGv¯a•g:•3å&bn¥ÔŸ‚Ñu÷IÔ)Žé�¿O Ç�YbM\Bÿž5»³`»ôÆÚÂÇ1'g²b-¿u©q£1ÿ1|z�ßf#€î«cð"Cƒ�$á@0�ŒDGܽ–W³`ÅåÍгÁ`ã5±ëoT«m øsƒbýÏÿÒÓžã/¿s¹|È’NÌܦ.Q€þ67ýù°ê±ríƒÍê°³Yšé·ÿò6V•¤ç¿þ·¥B¾ðõFåHyãÚæÊ -¾Ù�ëÍ‹$­‹Ç\|�Ѝ Ò¹ ™EµqcŸRs«TôFÕñ |/°MR¹K‡¬ôaù´9D�÷Ê•«?ÿ™§k«—.¬V§+¦U<¶eݸÅ:‡^™8Z’*°£dôË$wZ[m‰T2�Rxjfƒ£±Ù:Im¹`gfzŽ›Ð�ÑÓn£¨^|ò$òóŒiÕãø¬J˜!ån»L§Ï„ôVXl† ÈR!çªëcŠ›*”±.FöPóyloK\¤qZ«(X�*ж˜Ù]Ð1}G¼S@Ðļ]<Ìw<2E=P¿±µðØLåFëâ›—7þïóó§fʇ-éçÌzýy‡ƒÀü¯Ù,#ñ“av«·¬éº—U‘,ì£e|¥Tº 7ô¥P7°êcðT‰[B‘ŒŒæ‚JÛc_HVè=D*Ƨr·c¥pLõ&µÍ>ާhÐÐÜO &A‚mNŠ‹uým—CºÅ@mÕ L9FØ�ÊÙÊøÃŠÑË�¥Ó�>¢ÆN‰xÉ1mH$j€m¤-ÔÓ~'¾½¼’% vÛ~V”çß±é#ŠöϨ)Ñ*Ä3ÅÎ��ªc$²ÈøC$>�}|¦©¥sá�››°‚úÀ¿3PÛa NL+OŸ?ó´f `غ~mæÔYgkp Oƒy2—2@|˜T�ÐÿnÀùÚgŠï¶î7º‡53ªàñ¦,K9“J íbw6Þ×õ¿M¡ÐÞ¼¸`\¶c¢º^j¤ ¾¢pàJJ;åäU‰yW\RYY 4o¸ÒÇÄ1€ûL0b»6 ¥B�›ê­b -â¸HF^Rˆèf�¿˜E!8<ÀGJñ,…1ÃWèb |àT¢N`e€T.}¯¾úÞ•¿øèÐ>~½ñ -2÷y tþAá{åš`÷IÀ;µ« �ú=spýygáÔ€ºCë[€þŸÿâ³ëuuTphKÂَ ßZͶN�¹[èl)‚Ú¼Ùô_yg ÞóücÓËo®MÜo=0e�{}íž+^Üß½ô2 ¯I$¦v«]ª” A ´ìfá€^ 0MýrýaGÉb=ÁÌle }åQeJäËçdñNgf«�Í!L䤰M#šKiÁú~'Ü’0ó âšÂY½„(…©Ê$äù\~ØÍìÄåLoÉ_á¤þW•rC“º0°ž£Xƒôîê:;W…1ü}~ò~ëóŸ;}þÂåå —ávAÔj7“ÃØG«çédž� ”>¤ÀÒŽ¼ÇÁÃv@z¹WÞ5£? _?%Kþd@è3{ †ðæ²ô¯4µœ¨Øn,VÓÀœÐmP±Ή-G� -—É/¿¿ÆIRLKÃ@?ËÀý,eöD)èA��¬0Ç·ï{ÈPN‰Æ¡ë²[$èHÄ8|Ý•8õXÉÃ?£�œ'•(é1Æ-y~ˆyª×ëcn¨‚ý¬)6’’¼ ú:&—Ê,$Øbp1¤™$`@^’¤Á@1‘²ú�œp=ºÆ¡…$äÛ¼¾¾ráÜìc§™`¶ G�1QÞ¼¶ºù‹ÇëWŠÛÒ£iikCV†s�›[Žëì“jæ{Ç„’¶ZF†N"^Uìÿ‘$)íëW(UT-º;m9.µS€Ûd³�²H=íí¶BYRâ)2 eûŽí5±8ð;y)DZ@2¨¥á*Ú°RDä‚kÍ#@>Ý¢ÜØlp>¾šp•ÀŸvœ5kuª´B’ÅÒ½$¥˜\–u}@9§õB�+uáC8ÔÿjŽ#�饜үgNÌ€кÙR -)Š‹ÔÛ8yrƒÝX·�)_£zÑòGƒú?ydbå À`�š—k×7@€°¾Q?½ðØò[+åûKó›»ðê*èþÓWÖÞ­O=`ô_~»~úÓE@é«Ý¼ÑÀèŸ^Ž?¶~ýÄï> ´‚è—î½úK�8¥µp` ´¶ö‘v[­æxôõ_ü\Œþ „ô¸Î‘Õ‰‰3{ˆàdÄ4åζ;¬Ô'ê?™&}:»£Da®�â¯$Ó€)ÞÔ°€tÉzè»LÊÌ9𢨤G²T¤è_¹|ãFkbrV�›–1±÷~9[:ýI’ôÜëÝ�ÄÏ_Q{ÈÒ3€J‚þAVÿ…+ißB0ÒÓ`]‰ÑîÚÙôMVµ,`dW³YxØØ_5E ³°.ƒÏÆ^ {“ã¸2¨ÿŠ®l5š[·š3³{ùkAýbˆ�ƒ‹P5çuNÂX[Awe’`YQŒ´œa>AŽk´‹Î_uD)‘dß²eJ,Â×ÏäD¡§�äå‘Am7:�Ì>¹íûìûÊ¢b+Ë]rÖSì ‹}YÑ;ŒSý |•w¤)w‘¢Ã¹:ƒ'Kb.v"¬È§¤£¬$÷HNa:0fÏxØx\Þ �îͪ‡«‹Ÿ{®Vu¤r ² ÷ªÎ.½Ðj·Ö]{SŠv [kþöIz‘~œ ÅýW£–�£¬\�xþ_ÿNø‹RÒ³}Gì„]Ù“ÆGÄàr{B3rv�Ñþˆ”ÉÂCsw½l?k°8­¶#wŒâDQ7(oÞÂf,VÌp¦ÆÝñl1k©L\«oÒ螘?9>a\¹ŠŒãÇ@ûsªqÎ‰í °À¡Â«Vso»GŽ p7vSÀû"iàK»·«îgû#ùPëÌ‚yþ»µöÇÓŠcò…ïžkÔ›ó§�Ø�4jWÁ èÁ`€¶Q€ÏÁ ìGžE]™I%$¤ô‰ô -Ùʰ€««É}2½ññ{< -¦ Òöâ+ OÌ9�­òacñç©v?.©_¿¶^:„¸°²úöÜì̵Ív½V›�?¹º| Fþé³'9Íqñ©“ßþËKåŠ9Q1.^\v(ûóò»µŸY˜ß²�Öm{æ�ªu @ãm{~Ç úŽ”óííš~ŸôÈÔÇßÓz/ÃŒ™8jÂlµo×gç¨îÆvaG+€ê�þô%¿’å~ÑpH]áQ šB!ÈQ.«yÙ �¾¬0À¡ŒN16aõ!ÿ™Ê`‘Ô“î³X‹ãXÓ˜,+teÝ4Cßwm‹³Hµ‡_4á^y?瑉ë -©7‚d™ëÔàly ý?~(šLÀŸ`F h ³ÃSáÇÑãÄõ"]¡r  !”*ÅP - בÏ<9Îÿ¿Ô½}�çy'öîôto÷öN£³ì` íjÉY ‚‚Ç"NŒD:¼³¥sʶâä'N9º8U±êR¾¨ruŽ’Ô]]þñÇ9¾ -s•8’}ç“?ˆ²Š1h 4aˆ$Ö¢—Xa p€åfлÃnôlïôvOÏæùèîéY,%%%/ºº³óÑïû|?¿ßì믭ýôÒ3W®þÙÏüÔ"!:9ª¢Ìƒ½=�`uq_Lªªtä•Çï´<�ã’»ž* º|¼È:Œ&äl�h’JÃ2M·ç€èßw>�» /G¯Qªq‹ ‚v)‚”/+å4ÿ�CS4òë{KŸ¬UkFë�¹ìG@´†H5B�x7C’»U3�Ê -n²š‹!0+/žM†™Ù -lï¼�”Þ^»zíÖêÊÅg�øéÊw^¿xéhM›Â Ý´nÝ0-�'—W -„KLîÏ…°ïBei°#¦,sþTt@m¶R#c¶ÊtÙná¾Ӷë uóˆiMY=ϯ×*nׇÍ,™ÜpŽýx�ëM ú÷“ëãcŠœànÉÊ3�5ÞUíZ‘}yÙݲë9Z`–ò Ö˯€@k 5e¯³èè§A—daß}Á¸ÃŒàóœc˜,¾YÜ�vä÷DýB|X¦Î|d“'?ø˜¿–Ö:Ä,ú™‹�‘뙨¿'bŽI‘ -|Jp.èC곊(~¦=‚<ËX¸A}àúÎÇZAí9„N¡MªIHÙOüæ Tgª¡¯7ðÍÖGüªÌBÇÿ�äFéÏߺÇáùaæ>KÎ'–F–À>Plïÿˆ*PÖ -Ao�ÝÆz‹º‘:¥ªãR¾(QpWàv‰(k“"¨‚¤_ -DK½T‰CÆv3¸ÔKeÚÚ»Ø*žJÔ˜L‚Ñda¦èa"^‡ gËÉ»Q΄dè§è‡ ‹qÍÑÏ!&>P®g––VnÄ÷Ï¿Ž8W¦™Ö•Gù×�Ž­Q]@oÇcÑ>Šž®ŒÀ!—¼Ä‘RÔh¾Ïù& ó¸T“óäXYE#W7Â&µdX30üY_<^`×Þ‰Ú‚œ ¹80iÎså>¶ÛF'�±ÄË݉� ˆ³-0¾Ý“Áõ¢æn8š  -B^¿ó�;›t“ÁY“Sé/„x¨ ÃxHp~RÏ@Š¥Â^ü0 -4�}÷<ý*¬‚?ÁA–ó€Ë—ö�'%9»ºäK�c$BJtÐнÔ2N} 8ÀY&ücÆ7,ýô&@úw�­Z}¾‹½;ùÓ@ÌQ’®Ãs¦s’Ytb?ŒP�81!ƒ5 ->KW°7�ØþLÞB–µ¢£„­hÔ7ë�ÐbpÛ™®ˆÁÉöÏ"ø¬”$ª•ôîòÝ)£©H1àIy!†f¾@hòdâj(â¥4 -”Ü#MË:’Ǒċ7¦Pôw7´ôxð,ìK @G>93»°¸öæëà¼øºüâÓÊÙ�%³¡>#^}[‡í¹'ñ†³Ä´Y÷{{>q«¢ó”¯ö!ˆÚáŽ%ïÒ%‡ÊĤ*ïQøVÊIÆr½ÙÊÃ)�„z¶îÞ4sŠÇ!c¾.��),¤¹�b|’³JÖr³=ÝLbÖËß[ÉB@ž->Ó`E9&�`74'ôìÑs9%»Àêˆ,2Ë2ÙÖöDó¤ÿ¹OÕÏÆFs£6s¼ïþ°æØ}Ô@á¡•¿o”[½4¬dÒ3P©–O|lÆI£ê`þ;›ÿz„M‹~–æAðDpsqªÇhþ÷Á­�•¡2#ØÈ]ýX�C@œë{>âdéUGÃDZŽ ³\}B:yÛóYÐ~HEƉN>žÆ”©<}1BÑKMF‰GR‡ †iϾB&÷Y…°ùŸ�R„‘(¼¥TO#™-÷u“ôÏŸƒ l§B½¶ÛÜÁ—áã‘ãúà /!ý"J¿q™©¢Àò”r? -r?£Ï„ñô³sà¨8F1íeL:`o˜f•º¯àCȉ=9’ãb…D+ˆq½ -Eܸ'€�<ó¿*'sÀbP P~pIƒu¸ê¸”ÝØЂt7Ð ï- D, ôgP/3›¼@·Ìôì  N?6S>’ø@)ÀM$+zQ-bÀ yÆØö„Â貂ö¼ž£F4/4áúဨëÇÀ®Gp>Ã!XP  + IHDR{C­šIDATx^ìý p\×y¦‹â\‹3˜!i·nŒ6 ˆmB Û‚6F Ì6!ˆm·6 d 2hˆ)H� P”H!Ô�Ê’)ahk¬˜þQ[ú/G>9¥Ù)�È3ã[ò�›\úúÚ–'SÙ8uXO•îó­wíÕ €¢’335«žú°z÷îÝÝ{¿ï÷­ýÓ5?=ÛQák翞 ðÐOùF… ß©pþÛþýWÚÅ[?ÌÅçùëouÎÿiÆÃ2_NŸÿzÇùow:²âôsž�µGy4pê³§bœœx¶ÂÜñ¹À‰—3ý©§Ÿ +<oÏT˜ûݹ +Ÿ¬ðØ�ž>þt`.Ƽ›'ÞNû‰gl›|â“OÌ›%Î=5(†NüÞSbbßÇ“÷MBñÖ" ÜÔð‘k¥Ñ8õG/À±ÇŽ Ûž4ŽÌNN=¼kê¡âätèLÝ!&¦ =“‡JS3#�ÉéR`æhy!w¯päñ}S�ÒaÊ�éa:ŽüÔ#»àÀLaò¡Â̱òÔ#Ã<:2õð8p¨H|àÑÒÔ#%">6"˜yêáR þvûì‚øϱ +ÓGJ,áð±2ÑVéo±ãÀL´bÖ?lŒÝ7TÚ—ß?]³O–Ì V~ÿLÊó°ïÁ!–C„É£Q>Ð7²·g|jÛäÑ’ñ�ý›bæ¨1Érî<8sËáÇG`îÙ‰ÜÖìø=¶(ÐBÆî÷ /ˆ‰û‡`òPQÿð(ŸCiòpqbz¨|_^3x‡fGöOñîŠf^îC'²�µ})øÞ¦^x ñâ‘ÄÜX�g·çåÇë_{.µ¸°¨o9õ'~'kxXÜ^ùö+�ÿiž§žfGµudE�?¨¿užzJ@ôòö?tËnHƒð+µ\.À¿ýö D§ÚÞ�ï×^>e +îÕܦcLüyd‚™ƒ1„šÐã'ýâÿ¢�úeÌ9ß´U£þ|Õqxó‡oê�¤ÛÓ��]A6ðÔï>¨?ÿéà̓ڌÞüÁ›çΟGúåaãÇ�þ`¦†HÿCÅœîˆlàÐce� ûHÕeHýeS‡G˜b";=ŒîK‘eH¿©ÿ#ÃÈ$ýDIÿô‘a:KÀ’Ä À-¤xÒ¯…«"ý"º?}t*�èY `ê‘¢ `zvQÒ éÏ ¦ ·wUÀþaüžt¿¼/OÄdŠÅ‘¾*@ý!¨?˜Ð*²>AúÓ€¸=Hú‰|¡Hÿø}ƒ¬ T @ úA÷‰¾©ÿÅïf¥þ3Ũ¨Ì`rkÍ© oÿjcÅ(€ +À:ÎP‹žÙcs·ÄZþ¦|àæí7WÊò®°þýë™õâm©é‰‰@íŠÚ +Kµ+þo@€’5 ŸP`6ðÄäþ—oÿïo\gŸÍøÇÿ ·Äоk™÷]í{¿F«ªÐ÷×^>zDp6ÀCohºž2­GÓyø­^ûºÍæßÍ¢Wvæ´ßUâÕ3Þ@%ó|ýÒ/0I¿< ¨ÿ¹ŸœCý®ag^:Mî7�ôcoþà b|{Fúƒ8òÈ‘`Ó9¤ß¤Ç¨¿<€)ÁfŸ1é½%ߟƒ‘ÛŠbü;Fw‹ÂöB~k¾t›åû0÷ÌŒ Àˆ À%ÚÒ™(õ÷à¤�3ÒÞ] ÙÂ@Ò?wr‚ØsSWjmŠ8rÇàèí0q`Wéöäó01iïè¾ÔŸ¥Ý= €õÑ} ��û ©¿`ºÔŸŽÔè þ¤_ÿBy_Nê ÀMÉÑ¡ÀXˆ-go>0º�"ÃÞ�ŽiºÓ÷y*�.ÂtƒoÓyÔçÐjT†€¤øAôãHú‰¯=k‰¿Ôÿ€úã²�s/e.~?+¨€y€SÿùC@€ß5]‹‹rÍ5–j—3Ï-þ^ñfɶ@�ÿÀN�<¥ô?^hˆ"`QxóÅô[?Éç³§¼ +è¼õà +~¾ÿVÿxrUüãšš+ÿùéÖ”ðk4€T�úGØD!c� HÙýt,cø–•n6{V¶¢Éz$î6ø_wõ£@€f˜o|ÃÿQP+ŸýÖY:Aý‰’~‘Œ5ýƒ²*Ðöœ\“yÀÌôL¨”UÈHü+£@G�>T„ÉCæ’ôã€ô ží<`âî]СÀT þxé¿9�Ëýz$õ§ƒô›ñ*b“ª$ýª�~½#Ÿßš•ô +ƒy�îËJ£H?Ì>9A”臨ñ‹Ný©ÝG4U¸a+f¶gg�—CÀCÀ +»³ÊýQba$#¬¸g@Bï:yÐ(�&B0Ѝ2(ìÎ�)¸Û¡SÚ�{îê³ÄŸÕvN`¥ÀýCÌàj3ÖŸˆuÌ?p¶ãÇ_kW'>¾ÿÖ÷so~¹}v¤¦w֋ؽ,0wÇ2³„;¬óÄ�5€7¼üXÝ[¯gáÜ××ìÈ¢úãÄïŒÔ^Á_SŸXMIÛЫZã»ëW¯L$j߆‹3¯Åå5Þ‚ú_âµñÍ\weÕŠUZ2ÃÉ™§n%,\~͵ž¹'-Ç—î)ÿS¿kÑ:K �9š~ëGYxó«|�ÙÀ›g®…·~�…WžýµÆRþÑZø®njÈ´§ù�àªß^íŸþåÛ+hñ×O}ïåç’ýêK‹›Á÷¾úH¬ãÓã¸eþ‹‚ש¾fþa�—OŠ×^b™.â:ß>ýêWŸ+#ÜbÅ øô‰OŸ�.Óá›…òeV;·);yhjWi¿y¹–lNVˆmomk[DÿÖžÌõÚÀf�Ï<ñIŠ Ï±Ç�ÀôÃc¨›%¿~4¾ýÂ1ajþE#è»ø³/?ïãTžz‘ų¤öÑ9Çg^:3¸µ­ïhO‰ÚÔ{ëV% mmÊ”ÑIÛÄÝc€&vnì”8&“‰ŽŽ6�}çs�¹®½á·ë«ãããÚ–Ž=v¦Gì¦,Ãì“ľ\_i¤CCC’þl6‹²CÓ{š„”¶Î5·zQ»2Ñðî†Ôš±¥¥%˜Áжmcc£0óФFá§&û¶ƒ±ÎulÔm½ÿÈ.qàÞ˜{feL·glèß (éHCæúLª5•j®�\•u‰yëSÿîzh¼ª‘ùÃÉ€æI;n¿kfŽNÌ›˜œ) �´Ú|¼A§ÐL><|äñ±ÀsŸ}40vg)0ò±m�Ñ�CÉvܾ9�/vÒkS##1psw`ÇmJ¹ÀÈž�À�{‹�‰ûó¢Ó–ff)wܱ�éTŽÄ àÕßOõ¯2I?6`Gk—l62›»nðÊ3F0€Š\†Hú%Ö¿” lh\híÍõ ¥‰`°” þd:OF¿„RþÒ(t&’~ÀÐý@©?#RÿÈPÿ©;n9<=éÕÿ˜’ Kíìï§1€WNzéÄÞüêµ€ú‡ã¿T“W¿ó—?ãê—i:)@pmÓjÔÿÔÄBˆaÒO<ûÙè ˜”G qB¿�0›ï/0€™‡fˆ‘ô[Ë\·^Ú'@ý�Ž @{ ê/hÔ¿ïÆîE  {KwÜ$ +Áì%Ný±@•ú×­®ƒ•±¦5ôý+Í<‰Dð€lg6xº7¤?@ð©ñÖ ¨¿ À«kªÁ5üºÄÊ+‘~áVÇÖG5³�&ó€J]ypè‘2êo™òQóD“€ô I¾˜�ѱ| ³!H¯¥ZŒöD… 1:“Ö¦qH6ׯ¨ ¤Ö&Ùî¤XÔPûw"õ?4»cþAàHˆí|'ýqÐðŽ—~±dóGç`è†eÁdò€Ó%5€žµõH?6€8–·¦nÙÜ(ßßÈmHÖ¯®°¡JÝ)(8d¹ ©@ßz–1uŽ:".âÛ&Jq"R�_Çø×âPÌÀB˜Ü™H¿ `ö¾20¹¯¬�6IÿRðoH6“ÿø¬±™…Fú/ þFN=ûÒ)I¹øægŽ€÷€/Ì�}~ÖóÙ#Y…•ËýeÌ�ôó³V +üéçÕÈúŸþÑ ‰0Eºö³³zVQêÿ•çŸ:ù{fêR"@(Ð}yE€*àßѾ§ +é×Cê�È$ý€`'Ž[”(1ÇÐ}©?Qêïó}'ý:ùMroË] gÇÉhò x@yo!xšë�ÌCú¨¿ 'êßóA¯þú/�úðv@…heh~%\«]‘XÔX‡P þòÀødTÄ .èÿP›¨ üú 0€@�Æýu@*üüýv¦HÿeH?1Åzõ¿<H²Þ‰Ô³#5 à©CÛ0Ô_u@<[O­ª $WmÉ•�ZÅSÉ +(T >=¾Låþšžd±šBú_5ÿRï5ožØôø:„ó>×½§.>œøòãǤþªPÿPxéwdé?uòÔ?ŽÐø§âAÿ-±¢zp éÇ ³ö*?é×hßúÊçÐñ3ÏNгÏ΀làô3“gþ`FpæÙ™@˜ß:'™áˆ"Ò–Î|Ì þ«0‰�è>Ò/‚ˆ‰±Ò/0�Ž)ýaèÔ '4$¤þ:#Èÿç®I:ý(Ðq#nã{K@Eý;+êO êo,Õ x@Ôð€<ù�¤_0ód‚˜ôß:è¾H·ÇÔÕ¥®Ýñò¿ÀõÒ À×îÚZè¾ÀdpáÂoüð• +?¨ðÚëgo¼þ<÷{sÀÔLN½0 îp‚±ãöÍ÷ Í=;!Ðý‘‘Âkß=kÄ–óæ^«ðý?<8÷“7*üe…S/ÌÆ €oY±æ¯ÏvÞz=ûæé¶Ù�50yërAª~êhr|Ø_ŠUW· YWÔ&µ�Ä»–§ZµWÔ64¬ '³—·'^{6ñØÇ— àÌlý[?Ƚù¿zã�'î˜Øš¼.•¨­�¦UËAçÈ¿ãïð›íü&+ª[YÇ?· -¯]åÄÊåþ‰ªæþÓåÿlÔ½k¹`KòÏÎoË®x‡6»º+—C}‚Ìg™.ÖtµAb¹_‡å‹ÌkMÛ.å,‘ŸZALôƒ¶ ëûu@ØNý‡¿P¦5á°Ãæ|ìÄ|o6ÝòÐâ…-Q[»ê�ó®Æ>¯nþM¾×ÙO�yffQ¾ø©)�4Ÿ>>8srV¼ðÔ”Tþ‹OMÂéggqÃxñSÓpöä,è…§?5í—p|J�Ÿ="ξ0'38ýÌ¡¿ƒÍω±±rww— xãûo>ÿüSãÙ )8òÈ ¶ç‰¥‘2<ýéçˆä"…Áœýúé¿ü¼xì±élW;”ËÃsÇgŸþô3pìñÃ3¡Å30r{)¿5/eì¼®³­ÍެÖ]Y·r9Iµm–‹¶úUõþšù×Ö¸ÂÀ Ywí:Ði£º„øàä(pä‰=sÏNgŽ–ÏNˆ'gf�ÍŒŒ” ¬Oæý™T‹Wÿ®ù·YØœÐ{¢Æ? Š�˜jNµµ´u¾¿XòhyæŽOÂÁCÇ#¡Gí2àÉCà O½ö½³.œ?÷ÿûÁ…ÿü³·´‹ÏNþá3ßûó?›ØW†7¾þê¯^‡7ôÚéŸËõfø�'Ó™Úpôüßœ–÷w?ƒ‹¿¸ðoãÚÅ‹à§ýïÿÍÿóÕŸý§Ÿ.:Ïÿ敉é¼W�M>3€ ÿ['pæáº…Ô�Á¦«–c€Ö¯»†/Ôëþºµ¾�ú#ýØ€ Õ´\€îÐ9E¨?°¨t4%Ö­Y ²¾6¿×F­öŸ.ä¾éÝ ÑÖhxø_jj° bÔÐeÔ¹iõÊ–Æ:� °ÿ´kWü? t¿þ]Ë�Lœù+ðŽhitÐ}(s’ô7½{¥eñÉD0æ©Ì椮¬ÕI¨ÌLä?]öŽlÀ¨]VY¦;Tgñ°w½O&Nì.;z8n4À¢§�¾ñÙôùÿ=#ν\ÁnÇñÆ.ë†HÿU«Ø±½éÂU«V þt~嶥˟�´°U©? õÏ´ÿ&�¾ú…ßGë_xò¸Îdé?ùè8Бôæ± @¯õI?œœ��ô??7 Á-àùÇöˈ¼0¨¿-d�ÒïÕ?2ÔñÒH÷pqxásÏÁ7¿ù2õ é2!õŸ=2‰(<@Ò/õ—Hý%¸ Õ¿ÊšÞÓ¤-­-x€Ð³¡Éêêê4§ ߟ—`Çž²³<‰U õ°Pýiþ=\K®© Ô7ÔCÜX{ûãÔ_Q k¡r¦ÃÊîox`ÔÿÔ¿˜Eýñåû²� ?¿ðwÿîïñ÷€î¿ùCró×è þ2¢¤ÿgÿáÇq˜œŸ;~(€ú¿øÒó2tÿÜ�Þðüåkâ¯ÿúMÞþîï.%ýðÊ«g´>Þ.^ü{×Ì~q1€Îâ_³+�‘þs/¥é0ÔŸÔ¿ÓÎ3Aú!¨?`R+œú+òÚà2ÁJÅÂBȶZgÙ²yJ-õ'…G÷åå<@ýEÔÐÖ`Ì,ðÏEÒ7 Å0?J x-ˆ»Ô)ð³9é‡T²VÒ¯ˆúWˆf†K@¨”ûŸúì©PàU€î¿õ£¬ àÂë׿¥{BTñƒ_ñnT¿fú�y\ªÚ/U¤’+2íosœàÌ 'ž;267]:Ï™Ônº,õ<‹ôŸxd<7;`6›svÂx´Â‰‡Êpêw&0t§xõ ûÏ?1'š�ôÏNO˜ Ì7Ò æžœÀ¹¾¯Îýèàè>{ý÷þüõ¸@y¬@pê³§©Plàà½q�úÓ‚ú¨OÖj†›2�$°vb( Ã¿šSM�H$5åþ� þãwÛšHýµ> ÕŸ¦å§ÞÛéLS åšF� ÔÙájS‹®jÉUÉà2è¾<€ +€ô_¨Pú/E€¤?€ÀtIÏ)0:H? ÍÄ`DtÿÍ¿|M þqøÙø+ sá?Ÿe÷ÿ÷€ÀXŸ¿úÿþ€ÔŸ&8õùYº¯"ÀW¨?ñâ«•ô_€úZÔŸ˜^› ÷'ʨz6¦ +ýéÂÖtO68Õ ¤þÁ n*.a¨¿ À^<¿a(‚r ev­á=€už_ þ¨³Ô_Ä+t1ZhÈt0ÍšWöØ�©¹ˆ@h̹¨PÙHúmžÈÄÛuºOúÿÜsÏQ¤Ñ! Šy‰¿Ÿôj€ïýíò=à—ÿaÝ6¿ÿmÊ @êyÀ‚®8w_ɤÿ¾’ŸÇK¿šˆÒ<@Ô_�‹}îÈ8Ð1Ý�@ú!^te³ÁÑý`UC@ò•3¡xúÓÏi(^ć€+jâ "‚úCHÿã á�–µ-�Ù”Ñɦq¬-ÐÐØ`sGM<�œEý‘~  °³¢þ°xúïÖGêŸíNgûÓR*Ô?Ó™è6÷|€`•"àÒ@�r `â¾¼Òÿ…@ú¯Ä‰ggCúïÆj| @ú_e’þ¸m¤'Ûógÿ‰€æAúy£ÿú_ÿ«yÀ/.†Q  þVè +,q¨ô1»»ff$qöX2w=�¥üÒn:�kë ™¨êmšÉÀæöúBK¾7 Ùõuĉ�©Îuþ°jê= °¯ç= „ oXùÚÉä‘ÝË`b°æÌ“‰pïèò`¦xCËÆ÷Ö'kk‰]×Ôšbƒjõ‰Úv»LÌë>t¥Dã»ñ-õ¬áÞ·mM2©úÂm›‚kšG` °.UÙk µÚiÈEX™¦ÕË×_•¤Þ½âë©–\Q«‚:Þ“|Œþi×Â2AëБªvÔÞöúRwŠXÞYxàž»•ûÏý®ÝN‡O|ú¿¸XûÒã©‹¯gþü_þ†OÚÉwýnÉIc;¹©÷mª>©Ü¦E ¬öŸ\Á>ìD�0µæíïtú…S³K�¹ûÐåyÙ·Ë:èò=£3ãE¢¦Ïî™>²WÅdŽÙ{˜‚‹ð*¦�ÊNœ=8¢™CgáÃ#÷Ž‹¹c3rzUÕ™ë×A®?KýØ`a{NìÚ¹mîÉI"LOMI%¿øÂ ûLÑÔå“ËÄB1?º§H¦OlK·!ÁŠ'Nžûî/l/ Ü4 2í™¶T[ã»+Ëßµ´ýëdÐÒÎRoo/B/:;;Cz{zAbíRkn_³[.&ß�L·§sì�²»4lr¦Ò/˜º£`’½—q׎©=E"LŽ�þ™»Jðè¾Q±ÐŽ™ºs˜ÈٽÓ» DI0€‰½ã2€TkSÜöÝ5,&Y·{Fu ­Ç �ÈdÝ—¥wÚžÑ}©ÿÀÖ�`Ý7tcRÿ¸ îAý‘Nôx¢F5€î¨««ãs°r¡¶oÃ&”�~�úê�ÈPÞTêO³�6Rê¯Ïªûƶ|1C„ÎR‚é´¸HýÃÙA@84�ÀÄ}ÔŸAý_þÆóhkÜ¿þ?†¥ àìÙÏ¿ùÿzãäó'Á‹¸S¢ Þÿ͹ód¨ÿRòt_@”(Æ õ—Òš àø³S2€‰û†DÅfM÷QÿÉ�.ƒ�þ«а°ï!ýåþòrN€rÙ@PbPXŠ€`_þ�Š û“E‹x‹  þq”¾ÖºðÒÈ4°#4p/ëʾºЮ"‚Rc©Dm…Hý!ÞdžØY@Ò<á…_‡ þ2Ÿþ» +@¢¯ÄŸþÛ^pâ¾_eІõDú!ÓZQm€°DK¯¹ÔÛi;�ì†êÁzªzߋڊ²x@cÃò½¨]æí"NŸÙÿ±¡ÀÔžá +Ný'Fò€ô$ý09RÀÄÄÎüÄNbtÀ`f¬òI¼�úË4EÏN•‹ñ + ··[ ¡x@0€™é2êO”�þcHÿ›ßTœýÎkO?÷ €ÜàC9"�ûï;0 +xJGú¯íÝ�Ò/ ý—^˘³¾¡Þ²{×ÐMb©Xª°³‚¤?ý¾4Húåa�©T*³!S)øÄ¢"@€úCHÿ—2€ôµMRÙ€ÎЗÄo™ éÇ´;3Ô5=¤ðEÀLiöØD• £2inHÿ­9±®2ˆ§ÿ&¢£ + €*Æñé?ÿ“×€ŽKý­ñVèþE$ÞU��úƒÍµ¸Húíׂ�þÇ €ˆøô…�ô‰hôõé?�ø@ì\—PúO, ¦¤þq€ç¦–‡ +Ý�@Tî¯ ¾ò�4E�ø—zS3;ÓD]ü%TIˆøô8ñe÷¶æÍ»°ëæ® +ñ‹ÂâÄ_;¸¹)PèNt©šˆ¯CþºÕ=Û·¾èHýé,4龯‚þ¡/ã‹ö=×.gèêä*ßs²ÎWïD�ô¡„´�ÎR€GúžkxÇå@¹˜§�87õ75wÒ € + ¢pº¨ê_e‰U¼ ¹s˜ÈÄPLlÏáPe¨¿Š(lÏÅ `îÉIyº¿Ðè�øg:3ª$ýº·ê ÕœÂäª,ýßPIÿ�Ùð€`(¦©?Z_,uºF #ÞŠÞˆv!ja�U "à ¥6õ§Eé¶�ñC@€î§šëßßH§í}IÒ€ÒX—i ˉ@Õ(�*l é¿SÒJÒ­ô_HâÑç·\‡ÜŸxâ™™…ã?ĸg�—åÄø8>üÇ¿yè`<¿r“¼úÚË26tñ»™ûBJ~�ÔŠgö%&Š>wk]ç\›i§¶²X.¦Hý6×CjM­è¼fy¶=½×Õ±‡Ò�u@§¼3•wf�Y—HÔ-¯ýgþéôˆd&ÂÌH꫟LŸÿv†Nfmj຦‘-�PèjÚµ¥E oIAykÚèM‰]74onš-¦÷´Ð Ó£g›DqS…¸ ìáblnÝÕÓVîOš«‰ê„‡ƒ]†×úÍMØOþºFué`B¼P°¡Ï?¿B¸°)9èbœ|nmb`}rðú=üà”~ÇÃßÂõg£›Áõ ‡öÖùì_ü¯•£¬¿Ÿ�·þ2û_HƒŸzyíÚæŠš³,¥ÈUM‡²ýƒ-×™‚…Æ Æt2;:<}9oÇl©ß¶ñ¢Ÿ´t;1÷X1ß=úÑÉñh1ê�Ü:å‘Lì.”wŠR¡Êü$ÏôÒöÏ-FùÖA^;³¯|àŽa+ Ž£ï{K¢´=7‰ Œ•ö çË¥A` o] ñ_hyo9wSN1ý¾6¨]“Ìwu¦Ö¤*´¦ò==DH;ÊÛõæÞȬÏ$W%‰ é"ˆ/´\ÝÒR>�‘Ûí7ˆ¹è¨¶µm,då +—¹»è'³›²zG }¶+«ã¨t?<صÂG +�yÆhÏðr�º|ÅráÊštçÆ®�§þ±q? +4{ÌNÿŸøÄÇ ƒ­Lçu�r¥í4¶�ÆÆD[º!³É’ú®-©|ÑjÅ¢ŒÜÖöŽÎ¦äšÐÑ�8Sk“Ð�\I Àʨ­|×JH®Iöt÷À¶Ám¥‘ÒØ¾Aý|Ø�‡ó#©ÙO�»<Ÿþïþöoÿö‚kÊ»/ü§Ÿ1Uî.ݾxáço¸wä+_;I|ãõ³qÁ5 ãÜù7Oœ|ŠO>?80Xèèæt§_<Ï??øüçO¾ù�—c|3ðü=øb¬}þKsðÆ_œu¿Åf¿JF„y€î£þƒ5§JÊPÿ¸ þ’þö÷,I¿@ú!¿y5dß·é'º�¨ÒÇ‚ v/‹Ä @ÈPa‹Núe…�õ€úËPÿ`Û™ÒH§°±ò”ó¼®qàÚz@UUCä;¥é»Èý]G7uÀpM1±¶é6'2ž\{26œÝç‡66™ljêl[�Ø«tô‚‰½±…ÄÁÐ} +Ýéòö|܃úÃSOÙ&Ú©ƒ©¸Hýe�{wþ*§r¦›.Óìr�¥ Ykà,Ö‚7¤›ç½#ûm•mØè™3qU¬øX´�zæD¾7ƒTy þ÷ xˆÔßœ`x¼ àÛ [s€°I¿< t°¢™ÇGäè~i02€Bd©–êODý'ú͈�ï7 Z'vÐU�œúƒè~Þ5ÀÀ�=`�\o€²@÷G>�¸t^ß qPC‚IÃe¨?ù¾»©y@©T’(¢ûhÏ„‹~5`�q`9Á åš¤Ô@÷ƒõ'¢þ…�™Ì¦fó€f,ƒÜß{@0Ös)xå_}EÚ�úˈH0žBýÝW3�üìoþ*€î‡¢Ô?nµ‰VO“÷•áuà�¦ß<µÉéÉ@¸ŒÜp?Ì)سo@`§�b/NÄ+€¸Ðd!ýG÷!¨¿  Ð›+œôÃÌH  ßA0€Ô»ÐB@÷ƒTUƒ×Y.LÌoHê� H%Q¼®> Ü †Œ»ªÒÏS2<Àl`s«¹NO„×j¶€* €D?Ž @˜¸—+òá–þÓÙàÓ:h½É}§¡¾Ç©ÿ¢€LUy@¨0+b­Ê¨T,j¨¸!¨?-@†d.2�úY™¾Áuò ÷ÇTh¨ªXÊè„ôŸFâOSGêOÏtö-ó¦Ó‘úg:St$ýKUqxú÷žXh¯ÿùYñÆÿùg¿Ž þD  4–“úã5o½žýâÃuúýÞC;k¡Ü_sæhrb{Bçþ§›—­»feÏÆºB’˜m_™^³<¹¢–8´917’Øÿá�‘­‰[>˜Èm2ú®«ëj[™NÖZlIdßß�ïµQ úw/_¾rÔ\a©â©é¸uåÌî$œÿNîùGÚ:Û+äÖ7VÊkTîî9p]…¸pn¬?Ðm©;-ºÓ�Ùöd`©÷Š/¶7×kz¦¥>6=¶œ æíÉ-ë¹8±yú64º×§D¡7SÌž:¨ß�:âÚ1×.e™ý‹/™&žšN½õCú•ãs“<{á;—ɹú·WçHªNUʬ[ä 0ÛMáÆÍþ�« |o鯢 +ó=#•¨ÍnXDÇíPp÷¥ÎdÕàËô€Çç>Ð%u†|oVô}`ãà�ÝÂ黓ì|·±5JÑæ)潚m�gh Ûs“áÅ�ùû»�Îð Q.æûæ™ÍP_·˜1Ýê}bK[ �µæ±“è‡vyØþ¾öÄŠrlùþ@>Ó‘:ÝèÖA‚ü`¾¼»dÁîR~ oòîýyÒvwß|^®›ãéwe»fŸœÙ=Ò³¥Ö­[2n©$­~u}KKKfƒùÊžÛ÷@¦3“X•èì윹o†ž1wl®§§‡o1|ë0~@ ÃM~Ah®k�ïIumÎB¡X»cøÀäˆ+t?¢ñ»Æb»íóu™Ô{m…íÒ­æø§µõÉ´¬m€®ž–Á[;ˆd÷¨Vio¶gk›uÊÝ H“x ¥!»¥¹¡±.qåJ°Uq—ƒÙ5kïnà_³ƒ=Ý¥‘ÂľüsxDñïa×ÓþÝÅ¿»ðsËû½Äâÿ×ßB8`@» Eþ©¬ÓñóÈýÅÿëoßú…Íÿ·ÿù?Â…¿9ÿÿæ¯/þü"ñüùsç~ôÆ‘G§þä«/Šù\úÅ—^8÷“sð×çÿЧˆ.üÌ\°f;Œ|ÁÞè'çòÛsº0 lúßÙô*.\øéùóo*N?2XÄ n�t€ ß�À0¢ @ PÄ(ô&¥þKê_eìÞÿh€î~MXbzl91qÿM€¤_gÉ>uŸI¼Ç©?QOýk7þßúô¥NæÁ|oA[Ôhl:“c%:—£þj,*xêmsèaU»´Ð5€LÛ"Ç90€îÎv©?N€îúnŠƒ»rÝ"¶tI¬ý³²§þù¾l0€¾-] HÿÀ»dè>°Ì`ZZ•hÀ7ý¾vÔ¿ë†.�Ž��ÙÖF´Óuð€` éW”ôÛi6»K§ž=<@ê¿ÐXìåŠ/Ð)@4¦HýÕª @Õ†_�3€ººº_ÅäWT € +õ€ô·¬­Ã §þÙªo¥Ý Õš¼„eâÕ?ÿ&ê�,4Ék• œ89{ê_|õ'b¨?Ò/x¶Êào/\@åQÿ…€îKýy+tŸCØr~~�%�›þæ·¿ Àžú» Õ6pñ¿ ýDþ‘ç?¬0’þ Ý—¨ó£þÝ—@ÜtmÞå@ÛšºE `}sôÓ.¢õ·�«ûÊ€î $2-ž†+kí·à#X�@Ý»jñë ˜-þvÝJZ,=�Uõ é©ú@ç—5t?pp÷H0Šnyu‰?éÿ%*@ú…¦+ý=\´]Bý—ªÔø~oºañ‚6üV-èì hø­ ·4 ƒøYkéÖ«ØH(ÿ¯J.þ«‹¦ÿ™µ‹…ž}h&ÓžR@Tî/Py‘Û”A¦•‰›|ßO‰fÀ$ýž#nÌC'ÌZ –#õ϶§ª õÕHðÔ_P�æ«(ï.¯o_/(2À³Ø€¤_9–úÓYʘ¾ÐhÁèHýIÿww ûäþЬêt­ª  ä<@05slfé +€*Ô¿¼/+@ýN Ü_Hý‰8Á% @ €ôÿ‚;÷?€é~Ô$ýÒô ¶g¿ýb,ý?§ÜßÔ?6³qá‚@ÇýíÞ~ôF•ø·q-@¨ �ôÿÇÿô×·Öõ¿,¨ª2tŸ"@�Y› +€hÀÒ-‰P·ïºå €¨Ü?¹¢PŠ +GÄo¬Å àÿ®†ÞÔêq wÕ&VØpG ­)¡ + ¨¿cNêOCúÉýý‚Þ®aþÁb��záàOh|)U`[LÔ.ÇÐ}Ð÷Ë¿/ð3-hÉÄ +¤Ÿ�‚è:|DÞ á·® f°èeÀKUEê¯ + Û™€TÞˆ‰µ¦H¬E˜é×<è¾_Ž3û‰Wç~ ‰-Sê/@÷ù´ˆÁ„¤_ÔŸˆô˨4þ#˜ê—S˜æº&ÀÀT²3ƒúˤþq!ý—h9j6ú³˜„ +@p©! p @÷e€ô³%VEê¨0·.0³tê¿íæ��þcºÃ�<-Ö1ë8M'�‡7ÿòß"µD¨2€³!ýzIPÒ¿h ôv¡IúõZ ŒIúur*ÈÌ.þ— ~ +Àkß=[1€ ¯f¾ô`b¶XGF—Ád±æÔ}‰'Æë´�A[ó;ÙE‰ýhl]³|¢˜"BºaytƒøDw‡¡;õuÙUÁï]Y´M¨0˜Z÷¾z:©5ËAûÞäÎÚã÷7�Œ'fFjŸ›nyãåqìŽ1ѵ±«gKw ßß(íº50xó`…Á| ps…ôÚôÐÍC¢0T!ÞŠ·…�Ĉ·h쵚x‹-Û+t]ßÐùvbèæÁ@ß�}¿ŠCCS÷OùKÀºWŒxâ“Oô ÿF°”°I„ ¸HÙfíì®ù~;�å2"è{‹µ«~Ëo�¬OzþèïÜ€=DgšJ@Õ-CåÈGhsÇf3ëZ4d’ãîëÛ�ÎÁZIÍEwW‡°9]T'{]Gns§†�è¨oÙÃ¦ÌæëÚÃü�®Œ&âFW¦ò“R�>úHzm´ù8ìÝÝ9ä{ò¾Yë8‰ß¼qóÄÞ‰Ñ;îdS‡¾›‚â÷Ý8`—6e»õ°gKß©“§ˆ‰„=\÷¾uŠôÈí#l<ÄÂöAؼ©‹wA£Qj/”®1…·èìꄉ}  _ç#˜¢1澜 ‘þ“i-_Y¹ðª±±1Ó™Ã;Šå½ùÉwÉfÝOÄèGiJÅR_o_G{‡ I%V._Q©H’«!½6Õñþæ¾�ti$}Ng:“¡ïên�Áblj“å�­í©æ±nUÔ^a×7„•i»º�Ï +…ÈoÏÌ>>)Á�×¢L$»B?ÛòÌs³�íM¿pzî;þæ\…%Zø¥»™]wú“¿ûȹ½éx-_ŽîA$FÇ3›R¯|÷4¼ûQšWþ�A÷¤»ð7o¾ö¯_:¼\¿ ‹±Êäå�é�l½`ÿÁëk¨¿ Ðýž‰x@0"ê�ôc€ÀËÏö@\ÔN�ŒñlŒØôÓ/œ®ð…S^¨À8ýÙ +§bœyñLàtœ/°Øˆø{ʼnÏ[þÈÂÌá劒~èîÊÄ `êþÉ�?`©÷¶A0€á�eP* û€:ãè¾Ô?nÄ}wÝ<…)R²o Ÿ¶Ÿ‰½åKMà=à.óbèèõÑÛíì#Ô_€ôÇ \SV;ÀÄÁB0€©Ë—6š<0¼'+ptŸÊ@õ'R èNÁX@îÆnêÿ+ŒÜQøG3€¾üœ àøsÓ—oÏ�š©€Ô?€<àµg“ƒ›WÆ @€Ò"�¼¢¦ù]ËDª¶é'êO :€ô0€x�ËÖŸ:–ª2äþþ‹­­üŒ-µ&5&¨†õ¸ÂVhdÀãÒ¢·¡=FÕS¿9Hÿ‰Úò ªˆÏ¹°ÐôÎëÖ2×eÅÅ ý:píºK)uUû�ÀUõW^¾ÌLO²iR/ý‘dÚÓBÃ’¨?‘‡¨vx*þPºï€ @ÅÍ#õq8õÙH¿ê€è~W›·<$ýDl€ÍéŸ9:kNà¤_”FFå@î¯ôâ6ˆ€inÔüné<€]/x€åÿ…‚D‚õ§Ã¢¤þ2©¿ €µå 'ýD@ú+¿L3€Äª üÚ8`}‚ û¨¿n}ÔŸ" ¨?Øé­Ný〆¶‚¼ògg1¢×ýЖ6rbzCjßdé—5€}ûG^øÜ3ÄË7ÔlÿÔ°<àÑ''³ŸÜ²�˜ú›¼ú¯Î,YȨB ñJÿå™Ö $ýÂþ¸"@é¿ð»]MM¹XQÿ`¨?ÀÿØ ‚®-4¶õÐâÓ%ý:6ã�^8ø÷Ãì?åßDãGm©ø6ý¤XËnH¥¯YDmÕøÖ|ïòZº9ñë@•úëGV¿³¶\\¤©2]ƒ‚ú['ÒwÃM÷xÉö¢O'nêÄIó’kÛ< ž�`±K€r°:Àmáx€†€ätPRÔ_ ì&§N½pZÀÄ… ! žžž³_? q�°ù!÷U@ÓÞ'ЀOha(¨?h+­2'¸Ðà�F�‚Xàn3'ÀTTÕZy€dT&ýn (¨?õ—xõw õ/ï. ýùí¡ãB׈Ü`*@â�ô €" "µ(™î +Jü"q÷t¦ñ‘�Ï“íMtS<¡Ÿ±’þȾ�ùÞï§fŠ5plOÍÜÞš#·Yÿà­‰Ó%»‘šÚšÆ¤íüDH®ªé:}›Jƒ©Žkй6‘ZUK,mOµµò‘ÖvgíNpËW.ãã&Ö¿›/Ìd+›Y~êhjü£µS%ÏäîôóÇ2¿Ÿ#~dÇ.휡-¯]žXámŸåÒêuJ^ª‰µ†w7¨:m"L4b†l¾Ÿçrˆ-¤é=Mr#:¡�½Ç¸±;-ww£ÕXäj—Âøß±£>mN4®iljnz¡:¬$6ðΕïôŸNÔÒ­éO=õ)á'ýzmÕ +;*�\ÝÜ�ë^\—3­É�ë½à†Nhl:צ/u‚iU#Õ¸©w3Ñ?ŽµÄŠw�—µRÿ’&‘´Æ-â ü›Ó åþ øI®ÍLÏ4¬Z‘nMFÌÏW_ƒ‡×TXwõâ,5ƈOYÎÜ3s3Möôtk»ê¼Îÿf¡»,6 ;n-A¶;ãßOœ¸kR¼òíר,''§O}öt~`�mãÈ£Gμ|†/o¿¶-®OÖ³Øõb~kaðæ¡ñ»ÆtòåäÔxy÷Ha°-îЫZ•æ&Þ•hXm{Yrw¿è,íÎê õgå}Æø½ƒûg†Ì@€ôãÁä–iFê/€Ù£ùîl“ú²€<ÐÈ6€úÛÖæ®� þ;ëe³»ßÞhx€ @ëø�'ÖîçètjWÝ꺀¦(ꔆ…4&¡~•ï,ŠÎiklh4âMSòû]:Em¾.©²ìCÞ?p ø‡®ýšð柤_{Öã'-Ý.mê þùÞêyPÿ*H7'oúÀ¼ÙVÄîé/ðkIwm î ï¬F©7½¨è§Äp‘ªö߸Œ|l�è:X5åï ןGýO|ú3Dt?PüHQÈô;Ž2Ñ}CNÒ1  ëºLðí}^n]“4]Õ¨?‘M:Úª5gP€Ô¿»§[ê3G'æž™@úeAýgŽ•—2vŸ…u« Ô_:Yõ¯]±Ü~š�T2Rö÷ þ€úÃø]E Ý€îãÄÒ˜]K x ôtàÔyØsc“¦÷ÜÔØÜ“¹þêÊé'š t¦ Ål®?[ú¯HÐÁîwÔŸð¨?Ða }[Û„fÎoï �ôo/ÜŸ@ôç\ú/‚µ·Ä 0tõ | � +é'ýGýq¤_ @úe¥ÁÚP`¯¿¸ù°ìŠeËj+øoÛµyfkÁ@×y‹øt5¶€ÕÑ5ëþaô ×Õ8ðÄ̃B„M?%R:¦û«ŠñÔœî;\5#ѯj¿‚„ÓÿßúaæÌ±`?9{­xë™�¿äJÍF�–0€TrºŸZCµÈhßNa«x!}¿jÕ +ˆÿL\ýi €ù«nõLCý³ëLÐSÉÚ¸ú“þc[ÜYÚ1‹ßíàÙK@ª±þ! µ¦áÒ0>1&�Fû¯ß5€ê€@‡ôé×]Á‚ªô?T*2²¡ÀB€ÐÍڀϹêêdÿ´kAý™.@ýAêOú� ýõ¤�`ò€Lf]ðÛÍÔ´¸Hú�é’~ÔŸœ,¨ÿÀ@Eýé û¨¿ €Üé7õ§p  +€Üßd÷Æ&:T¨¿êÔ_З7ݧ2€ ܈u&{•�6€Hý« ݯ°¹²[�-)¹¿– ^ÀôÑâäÑ‚  Rh P) �¶Z¢‡úƒ€¤¤_ê� ýåþÀfÔ?TÁP<àÀËE•,l2€pn/1naz0€_ª!ý¾çN|’~MÒ_E|þx“ô¯N®6ˆ¿d‰öËÀ+ÏØõ_çÎfÝx€ž¥À^{ámê€* •¶Ÿ\oMÒ!÷_Týi|TxÀ¢'‰.l‹V‹€ïÍoÙkVƒïÇ.ûr¶øÅn“wßͳ‹‚`ĈoÑ¿,K,çŠÚ +±éqˆQ„" †î“þ¿ö�׈ñ +@ @÷5DD÷« €ô_0xóP0�ïÏU<Àm½ àrZP6Ô þùíy¤_êü‘ú‡ +`A�   V{€ÛÇ=ñ©¿ @êŸZëÓ»»ÑH ÝGýñzÈŠ€E õè¾À4þƒPÈPÿ`ª$Ù*¤ÔÁÂÐR A÷¸åȪ @ä©W¶w(ý— ý³O–`žœû—ëÅ©}µÊýçÆ,ÎŽÔì/,/&¦‡—�z(5qk½pânw;¨RûŽDbÐá£nk^ îSw¯ª­»ÕÔjw¢¼½–xl÷;ÄäöšÙc¥·^O¡|û°ß;…™ÄÌüż°KñÝ.ç½bŸóRÄÿÇìæl8�Ô®ýÅK×¾õ“ì©iSüÙ±¤J:z–vþÛ™÷åK�Ô“<bÃ;HyCâ +�¦o^—*o_ü\ÏkS ÌÂkÓÍÕYùRm©R#Þnʦý™÷·U&Ú`Qä|–U#Q¡Í=9›w?¾Û³¶VÈmÍæO_œü`&=U³1ûäÄ讑L»ÝG4N-$Äíííå‘r®¿pòžíÕ×àÎ�ïâñ§óƒ…ÀéÎ>4«È]we´µØ­žûr}@'µ&]CLúg�•aúáÑòÁÒž=ösŒ:Y³¥ÕnF¤6oSŒ·ØteÙBÖµ®}d7å °½ 3øOarºt`z&îËO.8\$]�<ŠZ•f£ÏvæŠ;z>Ø éµ™¦÷T†ƒâïå×D-¾>ó[{{Zè�uéö›aÿ*9‘s? ƒnöÜÔ±í#�0°½}°ØLWœ ïæv‘Þ�êº�Å‘òw@ÿÍ^©CºûZ³=­Ù\›ÅžÖ�[üÏU¢þ]7ØÍJ}ÜÔj3÷Z +ÏKznjóô¥€™‰è~7 éN{úÛ Ýž²N˜ù¦6ÖYvgÆôÍ+Á�ûQ¾/ï à­æ0€‰­ÞÝ þˆ} q@úuÁ0Ð"õ§yõ?ñ�© ng>“LjÿÓ*-ö9/ECcƒà¼XØNL¾­\Ÿ¾ +üƒ-qE € øÇ®%WÔ¢þ2ba°úÑ‹6þéË1€¥~>,·!÷€ÐªEdš+7·8óÒüë<â¼xâ±¹)1s¼˜}¶ü¶Ì�¬0õè0Ì}vžþ\…øäNù'bú`H¿l@Óå@ð€u×®«x@Ì´>jóÖ‡ºÉ5*ž þ2©?°2û{‚d6‘¹[ âf  0’Ñ9„æ +ù)>ê/@Ç…Iw*n:¤ß”úSe„ @ ôîœ7ó€\›I®Íèo#÷Ç:7UÜ¢o[;¯’ îìÀ�~À.‹¹:¨À+Ÿj @D÷)@< ûzÿ­€ô`t”þGE@¥u­_Žô@î/âoþËìÿ4€êÛp—"þ?²q/jvПd'ð“¢öÊï]�úÃéc—º„ú§’µ@U€úç7%Ñ}=´"àò €võ{¯;™çº%=‰ +À÷æ7Ô¡ðAjŠþÂ3Y1€Çlqœô�ß½&î +ì?TÙÀþû �ø<“¼$ð`I DÇ?ùÄ+ß> 8�;lŒŒŒ ô�þ«aûïžFý�Üâ@tð€Ì†Œ Û™I¿.0´1Ÿ¨@÷603=<�@Óš&yx­u·vðƒ«I?¤ZSAý!¨?õ'šîO)*÷—ì»·<@ е ²; ÀšøUŠV$ý"¨ÿÀÖÞ þ3ÇÊAýƒ¨и0°� í•ôßb”þ«Èï4¤Ý‚~¶?<ÝGÊñ€Ì¦y€�#9õ7ú¬àµf½)<ÀÔßURUÁòÛ3Þ!bPËfÅÄTÁ¤_õ ‹ƒ#M²�¸Å›¬?[WÞž”ô‹…€¥ÿGkQÿ`'ŽÏââããå@9ÆÄ]âó„­ +âÓËwÞ^a|qÆÆFÅâP`GñæÀÍÛó�ba¨Âp!PøH>0T¨PøèP`èæ�@i¤ zz³CÛó�›‡nª{ß¹9�ßš”ï(/j4 @é?øÇ‹µøø�nf§>Í~À5êÓ2ïM€àZº9µ¥k£°tc›Aý)t'¨¥Z|<*ÞRk’KÀRC@Ÿ9õÕºø €¤_ðËÒ� þ0óÐLð¨2"º/õr @�û €ÿºÊDj�� $ ÷WúOÄ*0è=Ò­iÀ@iµZ¼R‰ŸÎ(éïéí)Mýñ€Ù£“Fd é÷Ø�Öæƒ4K—‰É¢‹ÛŒôÚtê=)0'ˆ5­¡çªBPl/¨?õ�€D?x@WO›�þ¥ÿ¡’o)¸€<À€<@@ûûƒð*¥ÿþU”òt_€9Ad �ßh%Yˆ @£@ñ! ꀚŸ}+sîå ^|¸NºÔÇvÛâàà­Ëßö%ïÛkçî©;u4IÜkb «6•$ô7Œƒ¾M˧÷¬<ñÒŸ} òðd…'>½4ýÔæžþàS™ù³3ÇïÀ)ž/Ì.J˜ùا&âË?qr²‚ŸÁ¿ÝâÄæ×qê ³ö¿üáôéç€ÎÜs“ÀtˆÏ?{|"pø±=§¾03:ž‡S/°Úž™Gö”>æ§ÿÔSâÈcÓR·Ëi¯|f‘ëcCs>^›»Û/#Ö‹]foé–ÅÇmh©U h¨¿²öŠ�ãŸpmáÑãÂ�¯njÿ Ö®^³ä9N§?ÿ9ürÖýªÚî–'ž95}dbbº`ØÉ"ØÁÉéÂ�‡Š¶#=Äþcך*™:0Ã<Ì™'–F{Hü™ì¢r�úú¾ÝS�Õÿì#·Â‘ÇíX(Ë™{fæì×ÏjxÞüÁk#· +{-~dhfz’¯¦££ý‹ôE)à�N<{J¼ñú›çÏŸ?ýùg�òßÍ�?áô½ˆòà ]2&¤�ˆ6¤7d yvº÷î™=^>tl—ûÍ�üþûÍŠ¦)—÷FwƒްbÖ0fÙÞ\aÇ-w�@y_þ‰OM�zanêáQ÷1ô LÞq`0ÐýñûuîÊÔÃ;* +ÍYÞ›‡m7÷ Ö!×׫0o}6¸Ë»ñõÉõçŠÃùñO`ìnÿÓ�CÃ]ÙþT¾Ð. +#,-50”¡ƒ²~´nFUí°þA£okŠ™®îötgª/ß&rq"— H�yØÕmt»Îú÷7u÷´äÓ©ÖdÛ5Ⱥ?Œ¾‹®Í-]]�9<@¸#Àñs�2×§ P̱dÁÄVr«EÖøèöMm;ð`ö?`±õo}wž þ@ýçv[Ä 01³{å‰û’ýº‹@÷ƒôõÇQ0¤nï<¸ðj6nÚIàðïŒN=2,Ž|rìþGJ�Ã��M>Äœ"šÿ±Qßy|Ž==Ú\4QϪ´–y䉲`ºvc1ý¨ÁÖÓ³£R:“¦Õ¹ +®“óû™ǽŠg�Œ€æ ðvHÿìÿ…Ó—ÅØÿ@1�ÛšÁˆÀ£scP %Ù�ŲÝ"L>Tþ àm*“~ï’Ú­v™PXp_ -k@ )Uê¿°%jkÈ/q�ñéNIú库�=<6{ìÉG« `êT{‡kêè@ýBž&;t)˜zd×Ää6<@Û^ܪDŸ‡lDúRˆÎ„1سgÏÜÜ6@çäsO…á œ;מûá9yðÅ/ýÉŸ~ëU�¼ö¯ÿ\ �è—Ç&â`RžíN¯]/õ—õ'Jý‰0õà˜<¶m«x€nMêw�t÷do¡Þq‹À¤þD €“�Ôã¤_6€úóî¨?‘]Rê�¨N⛘-{ð€¸d7w@~¨§´Û¤€™‡øjLý±ÓÍþTï¶6SòýÅ t<èHúñ€ô†4ºßÕÓê @e�yÅgfA_N€ôKý3›Èè[ä@çF +»j0‚ú;q¯õçµù›»z?Ô^eÀzŽŽÙvˆ ý|ª¨?¶€Òÿ¿û³Ì¿ý\[Ðe;Ù€¤t_êT�;W‚ôõ'ÊT(—®»„˜žÚe7t?xº/é·Ž“~½<QÓý³Aý�hfê2i:º<€|DêOGRŽú;*†Ál^ýé8õ¯2€™ß©¼)0ÛÌãeÍ'¨¿*¤_6 �ÔŸXeHÿ©“§ñ/o¿¡ö¶�ˤÀ?XºU@~}C©»úU +µ«×Tn:´”ÔÖšøóÛ’ðùÏ!ý7£Òÿ§Ž?¯”û£þ¦ÚGÍè˜9|õêOôÏNnß¿×:hý<Ñw€M‰Ô?`h+Ò¯Ô_@î€éþ}‘H“úcÒ(�Þ  «Ó_!V°VxØöÿH9€ç%<@ñ–›oÙºßwcN ûP+�¤öè ûŽÚ§êm5V°R°¯À©¿}“CÁ&§KÁ +Å| ÿá¾`~ÔÌ!éÊýMý#�h"ý2€ª +@¹¿¢Ò©¹2kKÿ7Ð7¨€ÒÿhNI?±R Dêÿ1൨0tŸ‰Äüv[O¤Ÿ 0¶gÙÀ¼! ‹¯f¥Ë ! y€*Ï=uRÿ·5€é=+õx‹Uî*€×?×¶Ð�þ'Žï‹W †WÒ€„^ L÷CàÔÿøï€^…îûÝq�ûÔ„×t—ûÛ–7]�ú[æþ°]§~ìSûTÈ<¿3*°Îbé?è…–\ÅôìHP6 ©ÜTTÒ�üf+péQ ËQZ¼¨u ~¼UÀŠî€0€ì†Tæš«.Q`¹ÎÅŸºD ÅÇT +œxæê/ Ðסñì?ò÷T¥PúHÉ¢C@x_7¹?Q6 >Qï7€#�Oé¿<€Nÿ¤fzRàsÿ?ú¢ñ¥?9ñì)U¤ÿÔ�îDZ‘ŸµëÃÒ Œí¿¿7€¹g&�Îä}€@yw90\*ˆ‰ƒeI¿ê_eöñ>TÔGŠî³wÙQÿ`¨¿Í«<îÈ�l Âœ>~² ,�8ë>}dÍŽTx̘|d˜È +LÍŽ‰¾íŸNôQ}ˆl4Z+˜:2ÌKXsú<ÄB;¶mÙ.g ýl$ÁÍ-ÊpmY¨R `òhyÛöЙ¸øv ·u±¹þ,qü;CùøSOÀ‘Ù)/o®½õ£l…f*ü Æ÷/¥ïU¿ÃžLÔfÖ&ÓM«€‡µWÔ,¼ ÄR í'z.ú³_©dâÚµ•¶‰µW%+>qUòJÀ ŒÅnù¹Ô¢‹ÎL;ýùÓOÑŸ;6§Î£G�î¶={dö Fù'¨üÜw±ÿ~“$É·¾wuàÀ 0ä·Æ{‡}´ctŸ‚­9µíM*¶[ù +Ð9òØ0ÛñOM�á•—N?}dú‰C“#ù¼èù@Ͼ}ûtÆK®7·ÿ½þÆÉÏ<ÿôï>ýæ÷ßo8žzúÄP¡09R.ôögZ۰ϤÝË3ß*רš¸ÄÅ¥L§)y¬6q@ú¥þ,Ÿ8ðð0êOD÷íYÙ@4à°u“?imõ^2 �ÏmȘUâU¶z°ªöÑkú ºÏËÉ\SQóE[•,Údé¦ÕÈ:d z*ß™¾¶iµºO'»Ø D1€§ž| +0Àf¦g"0@VÝ—AEýçÛ€Û¯Ì ¨šŸ Ï:Ný=º‹¨�J[OÉN�œ“ þÙµ©¸èÄMÔ'ÀäDÐO"…kŒÚZ<@6pàÀ8Òω³�Ïêö;g« dåè¾ð[²3˜�›ÀˆÖyÒv<âÕ9{(Lθ]Õ½�(AW´ÏÓíËt˜Çt?:õ½©ö{Ud|>v� 2¢¾)`w˜>Z�‡0yȦk}'ˆ€dËñ]ª @0CïM­ @måt¨öéȬ& ö{0>`0ÏtµÄ  kK+ÐAâ»{ýµÄ¶WLÐ ‡‚Û×'« @ÈFîìŽ< ¢QÞ  xñáºéà[Ÿº*pöx…×¾x´>pêx6pú™ +Aý« Àö ·SÙVeÙˆ,º¬Œž‡Ú,´ÑÈØdm‡ŒÒþIfVÌ–‚Hý-ã�"}·²àKóUHú‰¶ñ=<̳öÔ,Û�íÆÒkVL°’’­¶vc°Ù”4¹d +Ý—úË xVèkPgì€�#Ç €ô¿p{v¡Àì3öùÈ xy‹5Ô@÷ýã_²a[®OKýý¤¨Ù©;- ¢ê.ÍWÿö¼[óóÒ¥FoB«2€«ê¹É„ @}Ö§ÊÐ}Þȳ¢–¸z�9Aaë"UŽ*y€Ù€û��…@ œ lo~ǬDMgÃ#–Ê}ùíY"Ä+muDK>Ý[‚ @ ÑH¿<0€L2uö¥StHÿ« @,4Ò€*¢¤?n…B¡Ê$ý¶ÑºÄÖ¬«H) é÷Yü£{*Dê €:À:3;¤þÀ¢<ô;¯“~E{ê>ÓwUšS6 Ožè¾Ùƒ>%^E¶ç<é§ö…ÙãUà‰ÔŸ(éè©ñc]Á,ýÉ”÷Ú� @Ã>< 2€ÂÎt¶;•»±Cêo6ÝÊ:7¶‹`*”þ{è÷C@U@ õ¦ ý§þD�ú³ææ²w^àÕ?—Îöšú³æÄÜÖTÌL ¤Q6¤ô_@àâëÙ·ç»Þú~ŒäÄ^l¿„Ž<^ð½JýÙ©‚Â:.˜�-C‰ƒmCÑIæ¥ +`ö™ ‹ÇÙ*žaÒÿÌ„9A¤þ–ˆEc;ˆ;æ×(ïŽ=«9Ý»˜XÓ±Ä?›2ÝwË”ð¬ŸÓI¿"«D梧¢%x|è~i,<[>`º£¸m{nt/–P1¾øøÈN�04q0Od‹ÕF˼ß4½tàÁ"�°SÁèø/Ñ}„LË"PŸŠðE +kĶ7ÛþI8*Ì=3911\*æ§Ü3º;ù­v[¡Éo:å}ùÉ;³ÞâX¦fFáØÜÁ÷�øcž¤�~èhÍæÎÇŸ!N=\ž>2'ž™³Ó%UÊ«¦ÝuàP�ˆ.“ L=²Kûk8rgÎvÒ‡ +wÞ=�Þ� ²;|ð–€vœ}÷�æô<²£Blßj÷-pu€Ø?SLLæAh|Ôá3W>ËC:èÆ©¹]t…�˜¼ŸOµœëÍìº-‡¸w°©½¥hYv~;©º1XlÚiêoqg&½Á~X†N¶?Ý7˜îq—òæòQØ•Kµ¦r¹Læº4±4V(”r�¿%“ÿp¦´3 iûm€Œ vÄ+  â[ZÀ*€µÉT{2Ü®’æGc>zØ�k�®ž&¢œznjååë;�Cô¶`3Ý9ælÅ�òîv¤ü#¥ÝÙð¡A͹—ÓAÇMýeðRÚøz‡õ�Cxú—Ó²/ýÞ<üÄ…0s”¢Ï`[çk j/bSÓn óg¢íÀ€y€û +A QšË7¯þ1€`À.Íœs'ílQIÿB@÷Kc¾„ç³Cú‰ÀbùJ†G»ÕÙuGêOG€ÐÓA÷�·íèˆ2¤Ÿh�{ü¹YŽÊÿ…îc² é—õ× Ú €èåí7×PùÛ‹7û5óîЉú_ÚB[*sGšÞ]Tì<@}š @f�tVÀR€øÞ‚Vè_lè §ƒº/ À«ÿ!вTOØn�©æ€v- @êï:™áÝ=2¥º¦þQ2DdûW¥«í õŸýä8ì@ë#c@gî™™À©/ÌN<;Ð;Ëþ Ô3!º¶q.À³1fàÔ 'ˆHÿ±'§e^úuh-2—ãï’ÙO†2é—úÇÁ$ý—oñûÕT€ü�h¯‘�IúÕGýÌ01µ è þ2@÷ƒLë½ `ò€*êO”úû³×¥ Û³²� ò�Ý’Æ@пµ ˜Ô4g0€öëšX‡*g ñÔ¼3ˆœIÿ¢ @ ÐçF§F²î¥õ§ ýW õÿv†Ü_…‚ú�ìkJ0M\¬�XráRm÷¡søq%�¶º/(4:¿°ÐW«¯YQe–°;(ï@ú‰Àl¥‘,àúá4ŠâèÇûØI¯dùbÖæëã³;ñÙÉ`¨¿êåþ,D@·&ªPÄâmYa…[ìî’¤ÿát4¤_$I±·fçž-‡ +é×OÐÅ ÝúSs—oÿî‹é‹ß½ÜjÙ��¬H\QSÚš?ué¦ó8ýƒ¥��ý¢‹ ÞâÐð[•g5Îc?aUvÄÂÝ´|Å?7wYÊ‚úS<ñä2:ª€N%ý§ÔßÒÏFK'TÙž-ËÐý±{¶Élû�Æ=* ±ÑöÊe¨?¨/õT¥ÿž™‘€rAú²¥ÿBÏ¢þÖy¸`Ý n`B|¨P!:@ZC@ebd¬Tü² 7õ¸a%À¦gw�öåyó,�¤l ‘2•û˨�~€ýÊcTHúe2€®-Íxê)@úÏÿnºŸË`Ø€T6€ ¶‡§tþ�¥ÿlõÒÚ­XUÑǼ8ÜÔFî¯ôÐý¾mmÀJÚË×&óƒv¨@Ð3`×"Èíb[ÕU1€HÄ2Ô?"€�Ä+Ù¯ª ¤þÎ0ª `ìþÀF €ŽÖ€>Qê?{\±<÷ì[ @?@Hÿatb`ßE(Œ˜4óÕ¢ÚtÊwÝ„ÙÒ±´«l)In0k6ðd9·=-à%LGýé ÙìØ2åþB÷™â32[þ�Øwß¶ê/pæ8äþC;³DÃ}žèB)˜]ÜŠ#=2€±» —þ«P 0R.TUxÀåÀ§¦dá‡.Ñ4 +”ëÌ,ÂTè§wýÔùíªDm¢ÖÒÿ_Á”ûWµ�þ£øêÐÔ'.5´y] +¨:÷ôË_úr0`×>vÀ¾Åý÷ì¿×¤™ÎÁ™"ä³Ä±{ò(é3‘ÎRrw*SøgÆ X§7}àÁ[€3Œß;8xk�éÃÆÜ3“ÄÇžœ:ý…DµóÔÌøø�[#c=Âiw%79¾ÝåA–áEœuëÌ´†¢p[÷Ää-bòÁÁ[ë®>âÑ'ÇN½0CÜ&î„ñ©ÁâHqæxyün÷“ö[HîÀoy_ÎE«] +#ÝD¶ï\V£d³�†Ÿ>IôòæšÆýòʳi8÷jæ­ Ù·þ?[üÜ Z8íg˵‹È7Ï]â÷ÙCÃ?â²~‰fN3ÿ¢­ª"€w,|`ÉcöFý‹ÿ/ɵ ÿ*€§Ž?…îëqð€Ã³Ê³Ä)]Æá>ç 4töß?�sŽî̓âÈXîàƒ{�ÔTƒ*Óº2À� &’ (™:\ ø\JÇN#¥&jáZ fP¶DÝ<=‹Eù“¡'£‹LÄ]Ja—”Ç–ãe�db~¿2ÏÌÑrþæŒß?Å��€h††;P¢ÁB»uŠ«ÙŠEÓYëä?Ú(”±57·A,¸Å`tt�NÛà­f6C·¶ƒu†;„Þ®ø±Îh +ÛûnnËö§†w Nì+#¸}ù®ÒÞlþÖô�ÎŽÝYÛâH'èZ_]ô[Þ]À!º·¬»e¨§o° z¶¶B~È){»�óôåé$y9Ö°÷Ci¡ŸžíÛæ/Í5ù044ßíÎí¢&ÀnìH¯MºãÆ-™�¦ïbsoK L„îœÝÎsc ¬ßØDÌnéH¯k!ù “ínùÁ®ž›2PÜ•›8X88Sá² à­×3R:qøÁ—Ò€ú¥þß;ÙLé?1Ó¦˜í·”|hW�ÙgËÃ#9 CV‹ô[n¾Õtù¹c€ˆ¾û#¨÷är)¹Ýv±`S ©¿�ú‹B1à#ß·èäs�ÁB·~VŸŽÓý€—þáÝ=¨ÿø½ÛÄØÝ6Rä‰ ïèîíãóÄP®ÿ‘ԟήÝ=26Ùƒ�ý˜88DN„ú[r´« `ã ƒô“xp\ÞläÊÔ_ÀΜÌ@Ü&*#ý§?{¶Êþõ¦‘{"ÌŽy¤#õ'jÊÛ6Ô³ØtXà +*äíÇ錑;r5o|¦åìÑ$"Nç•ãÖ!ʤþt�urÕè¾<ÀøRZ 8{,©Hâ/ÊE>µL@£ožè7ð°�ð;yq Ž|<¤ÿD þ(*÷W.ºQI’Gï(êO?`‡mIÿé û|Ñ(Pé·ŸƒØjÃM¢ƒî[|0VŒ7€Ò9§Î:JÿEU²I¿'Rÿ*0Ý?VÆè°+ýPé¶Q Ë35• :àÒ�NÖÚ­:¯½*  €�é`6â»óÇ3@m)õO%ïom€Ü†”îå© +àæþløiÜÔüû»]ŽH®J\ýÛ«„†€ð€ø@ ! `¡ €È'Œ€*‰¸IäA»Kêo�hœ„éq�È‚’º—[î/Ð��ô«�ú«@÷Mݽò+ã?îºÂmÒì$;œ6m§ND  !Uà,(³ò8�{!úî$Þ»ˆþ¢žÕ ÁÐ;º/#‘ȬˆRu�‡ +@£@ õÒ_Oìµ2Áøx(õwów²î‚Lúµ|À¢C@6³3åþÈ‚*€`JÿU8Ý7p6àÓ[çb–OèŒîÉë÷„Í!¶µ‡ +@C@riñ! tŸŸ:Àèl"÷WìʦÊý×_—466Ð}üÝí¶žnHC@BÒ6ô—/¥¿y¼Yüùg¯'&㜚®03’ÌîNœ™Man_20³Ûøü±&ÈnÍŽÝm‰ql¿ ŠÃÇö€î›?÷섘::Œæ”a•ï¶ C&îݦ[*–Ê=øÛ± ºc¿¹Á̸»íb®7žtlαÍ0¸£ L÷wtå‹Ù©GJÄщ<ûdØ9ãB|èè.öyÅIvQ·qÃÄ}ƒÀ;yxxÿ}ƒ¦”îè¡#»º¥HΕ.íÎe{3öÔîÜäÌØìãGN<{ŠèåmA›ÛçK�W~/ý/þ‰%šÎÙ‡†wÖ¦WÕn^{•ȯ_(tgàúµW%WÕ^¿¡"ÍaìÉ.Í?çêúÚlk6·®�ÀÞ+Ó¼zckCzMBqaõ°èù¨?pxÖÎÆ!ê�/„Œ°óëG?ÑOR‚þÜ?4{¼dÉͨ?�XðÔ�‡€ŽÆßµ]xÐ ´i®{V³¡Ëaj¶£ÍF'Gº‹f%ÐD©6QÂmýèÔUø€»µ½K‚CÇñþÌl f?Y&âyaýãf0õÀȉg'!Û�.oÝ_lt_¾´×;˜ï�57¼›²ÀGöÊÂöеk¬{äŽîá�ùQ£áÝ]€‚e!¢p[×®=ÝöªÛº†J�PÝè:ÅQ‹Öq#øB60¼§ Jwt²›Ò÷•òÛ²€â÷ ®ëèl¢£w‡Ü€U PØ™ƒòÞB×–u0ø ÀŸ&Ô»µ-?Ô‰¬³ÓIº‘]eß[†®ît¶» 2RЗoëùP+XÑ›ÒUÁtð @CF=7ÚÏŠ)f:Ýïºlic}dšyË�6§&Ë<ìHòÖ´¦¡'×Ú7Ж´11¨ÙÍ)cóŸóh)ÖæTƒîŸØ—ôÌ×}ñæ—Z^y®)ðÕ'®:ÿõ´Ð/yy¾Ÿ \ü~Z¼ñbKP·—åÄB1ƒô�ﳺŸ§€Úi�\oºèÓ)Ü–EýY{ ÝçCa˳¬ª˜9ø@�ˆ0¥8Ú#¹3'0¦¶aD@úa|r�ˆú{³yÄÎ2 +èa�Cœ¸7_vI�:ò€I¿‹ã÷ì]‘›Hg¾˜SêOgQÈö§‡vt >®ÂH–‰¨? à- nå}yýÈ% @ õÇPÿ·ÎgOí[䂬E›¤ß?ˆz�úëlKÈ´Î;ʺzE-6@ @a!éÇxí¢­0_îþ4Xæš«ð€d¢öªßš·Ô¿öŸ\!é_tÙU>D³! ã'P�“þÇžx ‚_™¤ß�²Il™;ÀW€/ý.¢û `#^Åv¨,Áf#Q8X9«è@¸ƒÍcêOA€î;ö?`?—ˆúóîÁ¼âG`Ý©«2&JýIÞu:5¼ À6òGm*t,:éŸ{f4ü¥(Ôö.Œì( (¢þ¹Á” ÝgÅã õè>;/È‚˜î�QÚ:'pÇmÎ=ݨ?ÐGú-a7¨³1Q¹<º¿ÐÊŸ`¯!‡3À ˜m¡8rò€®Ú%ë2tߤ»ÎE÷e ñw�î‹î~3÷Ã^í á#ÀtIp¸0tŠgçæ6ÔŸÜ\€ô‹pP�x:€N'Õ9E²- ÀS~ç:¸ 1x€7€¸pkœG\|58w¶å­X„ þ@úÿæ—R@‡—ÿû—Ò/o¦£Ü  ` Žê€r¶?‰ú˨‚Œîë:ã÷䨿ÒU¶¹:õHú‰YI¿@ú…*€ +Q‘nÜÚ%¬ˆ„˜Mßëþ½ùŠÜg'ä¯(ÉýeÅÛ³=7¥E8zcDœÁ]Gã  ´§GïKGé?@gaÀB(~5¸ÌvÕªyÒ»PýÕ0ß[¢¡Å(on} +õ‡¥t_Íe‰ñ"93Ø!Ðúƒ•NúÇö÷©Púè¾Ò¢Ô_6€jc²�Jú¿ÓÔ_@DýåÚ-°I¿@÷GÆ»…Ôâ`@úeîêh›3R›ÙØ•Aóöº @¹?03êOzN`D§*�?ÀÛoè{—„ +˜!ÜY—ú›p»Ü Ú·Û*�æ‰{€Ÿße÷è{¶Û&.4�ú I¿œ@ "À*€¿|) Taü ñ?;ׄúOM'1"ºŠ€¸ þÁHüÀ*ã?ÎR Iú¹•IÜìð€3€Û´ÎM^h¤<¨¦;Eâ?:‘:@'¤þéM©¸€dý—À�¤ŒºÏ¶‚ ÀÈxß-·²]ú! B©[1½!Yeù�vÒ1³tTJÿyVé?êÿm¡5¼ÓTÛF~Óz ùK´…Ê»TË4¯®2€Ì{W�x)ð+@²ÖV#{ÍUñ� S'OÌ�•PHúƒ<ñÉÃ^]î@Hÿ1€±H¿:ú‘BÀ Ðý`–µDÛ!êoªí"âFxÐM©‡4��ö�î3e¡H÷½(GNàuÿa»ÖÝœ :PÌÂM÷Ý%52¡W…¾þkÀ¤þqл,5ÄZùôy^Ø”ý}åƒ9 €hD;  ýÅvûf³� žUJnटȳÒ}bÔ±jâ€îkù®ÈÊÀÿÝù0É5 < å~µXÆ’°S{õ_ÚÐý¸��­ØêO2ˆÔß„ûÆvÁ4$õg¢*ɽÒI|XˆÑí=€ ÷—0¨9s,ù½Ï4ÿô_¦éüôkmðÊ3 â¹?n}ó © ýWÛν”úñW[%úô/|;?ûzû…ï¤úÕÖŸ}£�Îy¦»ñåÿðµ¶ÿI ¼õ�äég²…1?R¾ÇrKg(WÙè§|9Ƕûi¤ßê;ïêÛ? ؆”VÓQr­íƶ³ñ~äOóìqçÆIúØ]}À`›ž×i TµLÚ²éìÙÛ«;›ó‘�Ž Lä…}“¬öÁ¾áÝÙ6)‡¶ªÑ½= Û*�&†Nyowi·¥-tz>ÔÚø„ž�ÏŸéL¢ bôÎ@÷·}´“µÂ?ˆÅ]¨Ž:‰|s®|ãËËvuåòí,„Niwfî™9˜9ºßËÛo´e3 @džzÖ&ÒkL�S ’úš™½y7Ëâíêú+æöüƒ¨åØ…:Ve[íâ-»6™Û0oT*óÞE.1»¶éÊòà⇂wô.~_ŠT2QèOW]Upæ gætÙ—ÑÇž´[0yl‚­‘ŒA‡FÅäÑÂøTYÙÛ;º·°^âÄ=®^¼'7goÆØ“K»{&îÙ~{sóhþEѳ{îêÕV-îd‹uûÑ8ºïjPöfÞ³ ´7§îw«'ð‰ñ{(8ð;nv± ·ßí90 Žn®I 3V<ã΃ƒã÷Ùag:z{#+tJ…á>a·´ô÷¶²]r_?Œ±ŸÞ;ì§wF{1‘½•TF�Ö„1"°¾»2dO7}[”žë1wƒiÃ8Á9>Ù}ÏØ'ú`”Eñ¼„ÝÊʼnûr¼jlÏè8¾Ò f$ë,ïc¶_ÀØæäí„”Á"3XiBÇÿ�ºÓh›é´:r£î\KÛºú̦Զ�´‹Á�C%»â]l“LßÑ¿M#0Ö ¥~ÀEáì6D7„B´MÜ€½Êm1D�H÷éðPN À¶­1ŸÁ,)»«1•Ðëf 2Þ][›žBúºYg{öÚf§XÞkD6€|[4œú“ž¨cŸë ï¹GýÓ�):Å’’ÿ¬Ïkvf˜¡ i%ùg¥þtÐ} @ÃVè>Û"o-@úeìºìŸži»Q¨¸ÿÑDO•cø‰s'¿‘­4XIÌ¥þj@¡÷jð�´Ú+jîÞñ6%Bh¨~Ó<@ý³k«  ¶¦frç"ç¤Ú©J[/¤óúêQ¬Ïü‹Ç�›  ûbúHõGúE• @26€•eN²…Jê/°ÎX6Ì#PŸÎÄ=ƒ¶õÞ3(õ—Îj³è>ð^€˜ +£Ý÷Ù9 €•­H-OÍ �)ï=MǘS6€îƒ½Äíw^ý�„—ÄßWµ‚lÀ :åHdåO åú³vc+†õ€ôctÐ}Ы´4öV05¿Ã4ÝêÚHý­JØ—“úƒ}¶H|TC ýå}ÖaûðÇyh3´W2‘äLà–Ð=rÇFÛ� ûÅ‘Î`ƒ50vf¶w ‹Š®c6ÀbQÿž\zÛ�ú«ÓŠd:âJé,ZDƒúËAým\È  ÔéWÄX€$žwTò.ä²�*ðÒ/œô”MÒ/ø0ùö¡Fêïq/�þé¿°§œôcæ1 T@é.§þÎ@?—�€�Ä_$þå1‹À¶"e— HñAÕ€�hó’ô15éwuÀ¢Aým[‰@˜lksé¿óÛ.ÚÆ(eê T^@0MT ¯…* ÷§ øHoHÆ+€Ò¨�ªP"é¿ Àv†Ý™‰ƒ˜ë~âýGJìŸDvËpJU@6pÿ‘]3Ç +@‡™ùd0€ÜÀ"™µ�ã“­¸ +€F ŽÚ¥ €VèM€pɆúWU‹­Ð›ÿ j×®©­ò�ÐPÿ…0w²ìïøöÐ.P¦õ'¢ûöI:Ð}6 �îc¶1Œõe‡`ÅÛl{óê@Ü4�îï¹Ë6]b˜˜·ñ»"@6 égã'Æ+í_¦ÑÄ{œ¾;PÁC<@¹¿ ¨?š.õg¢ö&�ôc¦þ÷ Ù[0§làæ€Ù£ +é·…ëµNýÍ?öÛ~Ê?â‹õƒþŒ[17@„Öƒ¤Øž5E V2•¤ÿª”ûS°tŸWÉÂNŠ þx€@úe€úW(vªÀ`±‚ÐaÏUú’þxàqw +€+ùdÈý•þ£Å’~�i8ˆˆp‡ + ³±5n<%¡t_S‚ð�(é×ý…d][š2›’(Ë T*€KÀ¹?n•ðõGñÍBú� ¼˜ +\Â�~<ÀlÀm ¤ÿ é÷hð$2�%Xµ¸›MÁ6�¸èëUÚÈô¬ÛŒâ  +@ÛA|(nq–2€0DÇF~¢Í+.÷‚)({x¸¨úÌÉ?KØVìd…‰Áè`H¿vÝ þ…¢é¾Šâ% xÀýGnÓý#·Û”X€ô;õ¿¬ + ¨ÿÂFðßiÃL÷# ñGî‰êÈ(Ð}<@bmº¿·WhK@ý­w 6 ! ÁSq×Ò"$ý†¦øy¢í¼¸û:À¾qÙ ôŸŽæñsÞãm€È&Ä®®m @ ‰ é÷¸™q‹*�ô«À¤þÀÖ‚ôS,4ÝÆ' ¡þaoÕ®ŠúkeÂ�"ÒD_ãé¿Ô_¹?�mQ~/°oÝõ5„úQ A¨ˆ$þNú-Júµ W þØ@•øÓ�vÛÅk¶À¢Ýú-¤ÿ|2qP¹ rl8éW @Dß™¡ƒÐ/ôõmºSdÁJ�›´¥ P6]}êþfp?~©~úR“øñ‹�?ýã&øñ—}'ðã/'Ï¿”üé'éüô�WW`bĹ3õðÖwjO=™ÉíÌ—ïê|Oè²¾{}=|g6¤~g÷Ø]!(8 ’Jرg3.4]Oi9žy;UŒ½Fþ#™ì–tù`nàæLñöÍà @‡–`ã}–õgÂUˆ%¢nå.fÑ…‹võ +Ó‡;ôãѺ¿Å`‘ïÞ_„¢ëPò;\Ë€–&òvK&[„>6Ýœèd6$Âú³ÕîºÃ7ñ¾E÷;ÙþÔ€»Y•À^m�»¯K8SĉÏN°�yuü½åúíôbÿ‰-�I�;Êg7'¸-îN�¯"Fï²ÃBl<ÄÑ1Rò|¶;C‡§n)®×<èàíc[µ½ùׯ³×°Ñ’s¸”BÛÿÈ�,ß3Šn~¢OÂ�ý¸×ºóƒ#q$º}m`ôÎ~¢ö8)õ5Æ‚Ôê]Z%㮾Òv^bÓî}}|2FvS¦|Wnòh�cú@3#÷R|#ZPÎ®Žªs°-ß­�Ô¿l?]`é 9±;~F†^Úm'öŒ~‚OÀV�•Ô¿»öl„Âm�°ƒ�kÌ_h64¬;µ?Ö�îló±p›‘¿µLÄoµë�…ú¶»�dÖ½¿Ť£Ë}Ù�Ù×x +•gc°%;r"òªƒ®égN¢�€KÛý�<-™ëLe{Úˆë;›*÷Ë‹dž�  Àð³îçé­®ø…mC]¢4b8RöUã"€úËâêO_ƒúŸû‚7¦ØÄ—’?~q(ìé  ÍNÃ2ñíõç 6õç»C廋£] A!õ'{´v�B©´G;uV€�‘ËtåžÎC¸„l+˜ú 3s>ëb»l ïn\æ‘úóeKúE¸�·Îö4/jRÿE ÛÝ&èÉÙ jBê2€@îCé*?è†öæÀÄô� ÀÎŒÎ\ÔvŒnþø=þgËànwËu"°¨‰nöË|äVà)ÅÀ¬?�Ün?yäV1A?6ÛýL|¨@MñÙ¥ûí§[á[ïwwŸ'2'µ ›©æ¶ppóƒY/w«ZšÐšB‰Ñ‘ùÿBhi‹�ÌQ)óýêÃ×&!õ¼Õ¢$ÐôŠú³��å@ÀÛ…ÙÐý@˜’Z:¶ò�ïÉRí¹á>¿ñ³XI¿æDýGîèëŒõ Û�ÝÆ+€¼¢þ2íqv@©?(Ë& +?­’)ìÃÛ€KÕ�Ç  °#“ëMɤβÔ_ºuÜ©ž;üñ[2k¶vÔt¯;™*Z:6&y@yo�Ô�ŸOð[ÿHCPv Ã®áöÝ×ÅÀ2€Ê1€HýÍ vf}Eû¢£>»d0€®l_&ò”¶ÄÁlÀ‰¾ €T:Н—º¯)šˆôëFžä‹ö+Ä©V»§?ÑˆÝæa)X± +*èÙõ�ÍD[!ú•yl bçL¾½ú_nDâƒîݱ�JúÿÇ«õìù——¬pmB›¾6µPð�¢þ"€>VÔ¿x›EˆO�€j± þ|¾brUéµ)ÜØ w =tznLŸ ¯V þ " ¨?ÑtÁ€ó€”ÔŸ: |Ó¼µ €Ý9#Ó™$f?èÑ÷¤Ÿíg#“ô±�mYÇ¡hïèÔÿ02Æb`u@\àôÓ7vÿ€!Ô_šk¥Àä Òo7™±_Ñ3é×H"€æ3tæ-32€8LÑÏJ=ýDçzVS@:z0gt�þàþ¸óÓ©z‰Ã<À€õ�„¾f�ˆyÿ…˜/ú0úñàû Húõµ"ýRœ@', +6?dšÜØvKdTâ¡`ž�û é—:`¥þ.Júµ©�š˜Ø±ï8éG=Íœ¨Ðà8@úmøèÎ~çÑ÷©7‚îÔB‚[='ýÞ"õw±0�ïÈØ\A­Á+�þAžÚkê�xöö+ý'b–Z €I¿3©?Ø©ýî|<–ÏZÇ ÌJúUHd’~Õó†€\à‘pÇîD¶ÇÅ €)ì˺åƒßbƒîÈm3U ÄŸW™¢ +@ËQ  +@Qà‰Ýæa>ÍI× öû6Aýéxé_Ô~úrõKüƒ8é�Dß<@ýhЍCú•û/¬d¨?Øö=Ûœ„)|ÖJÿ�O3h=ê…bÚpcèzõçãÎqì¤b’Ñ-aeŠüßy ûùB‡bP_°íö®àÞ«rÛ¸”Ç +À;òZÅ|Á� ¥åqþß`a(½–ºÁv$ ¨¤þ2¶u]XÈ'°¨�GŒMú!‘ÀŒÝ9Ò_4D´ZÆÈ^%ýU@)€b’;K:Iÿ�/Ë:.¿Öl\M‰Ë¨žõu@˜á‘X +‘^«šM6�Kÿ} /„¨�âï¥uðkÂÂ]ú/ØuGN k…Rû$l+¬ƒlwôýúoÙmÞˆ’~¾8“ËhXÒ¶êh�’66òÓ¥ŒR1› ·˜‘BŸû»ˆú«Þ7'pÀ7hããNú5þãå>–þ+JmyJÊkŽâ @릵ò©·B÷Y¸< ¸k ^ ý2‰WzÎìŽaˆ±}}Z ÍàÆî«§mÞlÀ­ êîl@vþ´©?°d©?ËñŸ˜CÀ–�„ñé?Ù÷ÃA`êo+î£ + Œü(ý¾k¾Y¨`:`y¡{”û£þy °Q FvË´;K•õ�%@ÿ¡£ÜÿWêËwTØZaÑ! �úi¨æâw’âßþ‹Õ^NTx)Æ‹µ�‹/WxãsËç_¬ œ{1!¾øhã¶[7ë >èl»µ½´×"ð0ÐGYć»Û2¬øôüv»£“bP:üHß=ÐYð-†»BÏû;ñ+u{nª¼¤»¿-tºsvÿUÏÍÝPÉ[ÇMééo�Ê·û"³=öãRà­{úÙžl2ïoɸ èðoê^çÀvÆ6G.9`÷¢²�K±ç¦;‰hovÛ�* GG&ЬAûå?Aû@—ø³!+,Ð}¶B[·ÞÔðîîýÞ2ûL™N?0c—•Â�Cv/þA ¡Ñ¤ÑOšæF÷ 0æßÕR§–Ó cPñׂ~U &îš´ V#BªncPƒ�Š˜ÙX#¤þ#ã(Ho+–º€—®âá£Cӻ݅øÄðE„ÔL;'ó³ë2Ån¢¢¢Þ¥xº‡e¸™¥îDF‡O[…£;‚¡2DÝ�@ð”É"åéHe¬FÜ!J�ª¨{¥�-ÜÝÙ†ÙvìÞ¸cÏF¾èBÑjY¦0§že³Ñyñ¶.íÔÒ +#v¹‰®¶Õ› +^®™Ò= 8j¹³FQÜŠ¿°–Èü#wØàv¡Sé�ò>|.½ ñ궃g�âÈF"³Éü …¹Ht‡†PÖuæ>Ðá!È¢ô�°ßÙÿ‚?E ŒÙ£ mqz +|·|¤ ;éεCaW&°í#þnqtnÙÙåƒY‹{³Ý7¶Ürk¤Zì}šMÚÀÐ:È£é=}-°­Øa�›ZØ+‰Ð÷á´ÿU™§;77i÷¤3@ÜÔ t²[Z ?d¿QCV7ðá tçÒ}îGtÒÜÀնò¹\Ý.'ÞjÇ�uXØ¢»:ÌùÚ5bÜ5hö‹1¶·Áß²³‹}Ä àÅGë€Î—-ÔŸøÚñ•Hÿ©}ËeÏÝõ⫟\öü½ï@ú‰ðÖë5§î_t¾ôp�Ôü#MAý!³) ¨Ï@&×—æ"êßsc`¨ÛXgw¦Ë��ÐÉlj›¾‰dÙ>ý´ý¼Úg¿³Cìûp[j­ý¦êO‡Oµ�u:’H­:ºs_¡uúÛÖw6²1×ohfÿ!ºOåÕ¹©… øæ-|F™ÌuÍ:¿³«Ù¿$¼öº&N4'¸¹›õÉö¬·ŽÝý•ïµ Ðýõ]M@‡Õ­OøéûæúíŽ}²t¿<–'º�(Ç €ít1:ÈØÎ‚¨"Ñ&¸ý9ˆìÚ½YÒƒ–SÉDX%¤_ÈtdEýíÖ¡Œ°»#tÛ¢ub?l"õ�¼Ä;…]^3(ß= `öÙ²¨2€ø/©Uî·ÑŸøp;{‚§7%õ'šîGWäóÿJñCš&pÓU¿›î‡Sùö¥5 oœ.˜˜^ïö·„”èC`Rîî<¬±J"Û†„›Í˜oà-€ej§ÐKL÷�àÒe-§Ê˜®EIú…‹DÕVÏõ�9ýtw[�ŸeZU͆¼ÆoÕ AGý¶u‚ €ÿZQÈâ꯫yuAo0€ò'¬¦¨ü¼ó÷cgÉô¿ä‡ÖKýé,4€¯þU zõ7'8˜­2E€n¿,1lõèÜÔ(¬¿ÙÑaî«Ïdoh¶%8égº €ïKÀgˆ!@Ï�–äÉl Îøßã¨vÅœô{t-±Û’ã§õ¸ûCÑ}{£·5¥ÿÄן[ €E—ûË$ýª^ÿô2 €è>¹¿<�ƒúCHÿ)ôåþ€ð)-î¶" £e:‘]—�IÂ'éW ŸRìäz*È<îGØÁ¬Ó› û¨¿ ^0§<@»¥^n¸ +À×Q`E@”éÅt÷M-  + ¬�ÖVÿº*rdE¢ ¨•è¬26¡-l!î÷ 6Ý€î –É*@ú-÷wwFýA6 üí65w7ɱ~tÇú€nh,ðw¡qb-óà…’~ð¯�ýœ2õÇ +`tb Pê +Ä…ÞãŽøt @@”ô‹ðAɤø1Ý·/ˇ�äºzK�¾#}Ñf6Zè�”nߌ"ËÊ톃îô^ްj9R@/$ܲU*/4'˜¸ + x[§®†°… Ô·uù�Çα…("šÁ�~¾}½J²n Ä?Ü „ €Ѝg…é¾+ Sa‚ÒÿPõGúÅÐN»+g(änùf€ú[gg6¼\€Ø�ˆŽj˜úó±­gk´ñ¨=þBC vâ5Ø ÝI"Tq ÃGêO'¤ÿt´÷ D\H¿à%쌋ŒxIè(ýRO¾� ñ/³ªæ ·*¸Z%¬mÀlÆîP:Ñ=‚xÈ—Þ§ÛŽö{ <ÀÈÞ¾šÙ±D…ݵ�ÉÁ +ƒ5TD˜,V˜LHüÓkÓ@'ëîÉ.HüUîæ¨‹°Ä‡EŽ,¨H±%ÌÉæD…52n¾­ÅiNVÐ1w‡÷ÿ�øÇ^›?¾J±/2¾nª´Jó¦Çn>…ô'“ ÀøÚ¤þNÔlðGQBæ\ЩҔ¢É‚âW!é÷DêKU>÷wC@2€‰iw?›è=@ù»^0¥ÿtx¨ñ#ÿU2á_Òÿ½yÒi(ßö2Í(—wÄ…ž�(Ÿ*:Aýƒ(�b× +êO?T¦û|Ô :Àtßy€ÉtT˜8DVé?àAýƒH»Í-"@÷™BD¸e7'ô�x€ @ ÑrdŠa~PÊlŠÉ +»Ü¿ò’¨!÷Wú¯ÙäFTv0§òkjÁâ@’ú»Ïg£æGú‰Jÿ™Ž�ûóͪÇ6k]”§å„ + d›�Ý9ÎÖp¬éÇôµö}Ø®ƒš²�Ì&Ô#™ûpHúµŸænŠÉQ´`7ïþ`‹†€�~j)y€ì�ÐâÐ:ä[1°3’û) Ä5 äq)EÝ—ú«�T ªüø�3€pêoNàïçLõ·b×* 1Ï^;QøóO×¾÷© +¯¯ðÍc^;^áÍ“µð•‡—ÁkÇkÅáòÊö�M]=-"×OEìÙü�‘é´‹:;›À:�\oš¨½(¾ÎÎÎFuüÃëyÈÎfd®ã³kÔan:-éՂϺ­½Ú;‰ö}´¯nn­ _LËÚÕÐzM´]»:mÓ›uÇu��´½ÜÇÌuV£k³ÿµ6:aݘßfsð’¶uõí™F°í,Ú2Ú¯]ݶ¶®}Ãj¶Q:�×5¶µÕC®—e6uÛ'&-Kuw§zœhÊf +ˆþtg¦›DJ¬Ò䩊¾ÛÜ�³Mm²ôÁ]È6d}7ªÈV¥+{>ÔšÓ5)Ä~ûq")5˜ˆ»zzw @„¬¦æ ‹r¼,Æì"¿p»5˜¾åÖÎîÛ|>]=l3M™î$Q²Î–Md+Õ®6÷ªNxè«М†v �Ö{égž�í¨¼A_Sx +AÔ�>;Ö§#:îð¾4Ý6Ô!Á[;oiÏå;€Œ§°«So=ü±ÍîŠSª¸æ7ψÎ5¨;ãƒÏ9öëc…RGþ–v`U»º›Á&Ú¿ìó}:ù‚}_½Û¬ÃÇg€lL1Nô¬ýwÔŽÑ¡]Ý:Âçëõ˜ ³k{¹‚’?§#ÌCt2b”öæj.¼œ +œ±&pÁ�úϡ›'+ð”ÔŸŽ @Ä Àt?ì„’þX:éàñ/Cê/ø ®Ýp•  Júè~…pžù-`ºß� +@÷Ãlè¾WÿÈ´AðH¹/§æÑûVÖ'@Õ†%ô/ý"¶HÿR ¤_`’þLWTtÐà£FýevÅù�­—G(2Ý2‹Ù(aN@tPÙ,�&»—ØX�“þÙãå¥ àÄÉ /÷1ì<Å;z†vu!ýD6ßî>dÚH­Mè“—îwmi >Ìî\K\ñ«ô=ôµc0E¢oïãuš­ò”Û ´ã1Q)?%ÂBÆ o�ú+æoq»+ܤÓ:[Óº_Þ—UÕkù¯Ô?2‰8Ú�ú%8qTàÇ©­“~uM!JIõ›‹ÀUt�~Ò:Ìpê �ÑyâŽwê_ÞZóÂËQÿÒ`0€T;©\ ¥@zmé'ºÏ¿ +ÖiMv´›JU$›D ¶ðqÓÖI;Úë­ãB�j®M§ëÁ:í�~ا½±©¥ÐriM kZé¿›ÁŠ€d2�45[õ×�mbÍ­õ€Ø éz €õQ`‹Ò@PsÐK0€Tk²}=’Ýœá%Êý™™Ö»£þþµ�I"Ò¯…ÐÁxGb0oÝ&ý�Ýä @ÈLýoj‘ô{rm]7´Ê$ýªl[‰~×Té¿MD÷�o‹ê†éõ³9b¡ìؽöL @þ#�,Dk%´�Š`F¤øqXçðb¶eA_�þKñ‰±åÛ<ê³2€®š7hfО ÈCÓ/ãé?mJd€ø½P½ôÛ Ný‘~ *ë¸w”H¾‘rJŠt$Ó`‚©?ºÏ åÖÇ«Üq2[�ØKlfwØŸè4Ý&jQÌæç‰Rl€|Â=e@Äô/y€ú6¿“BE-0¥ÿ6œâÅ�Ê,ew × +½Ð¯•¤¿hu€¤ß>p7z)õÇWÐ}û„Ýke2Eý¹?`Pt7‹ÅÛ»`Q�€ˆ< Ê•ô?27€øÐbÀ6¿þ´Oÿ ’þ¸ú°}ÐÓ/nöTTx)×µc.÷— hk’þøf}Ù@µÈˆüÁ.=¤ô¿jHƒ?ºȼ¿‘ôŸht6*ã?tœ@Ûº$ZI ¨õt¿c}½�ú ·ã?ª€¥ÑýÒò$¸2 + j�šû˜®Çô¾Hé0'¨n Ð(�Etß�ÿ Þ� +€Ü_Ì  +€ˆîKýeÀÿ*–ŸP)€dD›yÛ +ÒÏFÆvcNà\�Žÿq€h"ý'>;¡ +ÀÜ(¿*_’ßfHÚ´(Ák¿²939bWO“„>S¤òê‡)á-4…«aÒï À½µA’ô3…¨q Ó?Ø.ð>%&bL7y­ªÜ(PÜgfI¿XÊ”þóikG‚¼L=]@ô/ŒœÝ·ºÁ�0˜2ú:éÁ,Á�ÔÖÔ‰¬rm{Ê€«Ì4ä^eÒO'¨?h µ([±¨7^B>îßÚ¾¶eºÇM±ê¿Ó˃NýA € þBú7°4$*%µ¸™ÿËœÀ:Î,Î7©¿*€ÀÄÁJÀ{±òÊâccª©<ß‚“o:zwÔxßÅq âÒ¯ŽP¢­q¡øóúon³�M¸ÏSàûú�bç"~Q±C\ænN+ܳ¶éºª¥bá7ßø\#‰|ŒÊ¹ÿoë¶µ«­ƒ �µ«lô@Ñ= ÌlÉu`í|”h†¦æ•ÄÆ5t©DË5•þ0´´®õ[Ñëöhi]£Ž&ÑÑ +C ^‚÷8lŠæ¼ÖAg½�mëØ…Z¯N@sʰñ«u ׯ>¥L#Ÿ�bWW´w4»oH§š“ù­:xtd¡s“÷:z¨DÂ�&ì’h:11e¶¡bWtýŽÉ}8 *÷á4eJuî6}wùK”¤k!ÄüÍm…bº7»ÔS–ƒcnÊ–½"{]ε�vŒPʰ2Ý9œÌnbeÛtt$€·Z,ÿˆN}c~M—‘ÐÑ{ÙòÝÏpk�zû@xÓ�^}¨5 ûxÝwû}¢†‰ÜC¬A÷󪬒é5Ÿ ²å¦èÄ¡¾›^óývmi¶Ë_J]>öVᢥö…àµh_¸µ”y�SFûGúí<7,xð¸ãÒŠ’†ÈJšµL‰¯/±5tö£yô*Í EÅ_k¸ƒq“³Ù¢usø9Ù¶{Úø0Í`l̤b`<ËéØbãD¯>=}8FtY,x©rP^³±åSíï''óí€Ý¹©Åvj+'Vtfýf`85ò¡…h@I„•ìú¹©åRméˆ'7-kë“kÚ´øÇv\—tM›\¿�—ÑÕÝ·¤ÀÏßk}=d ×È-t}À¯s;²Óœõﯴ¥ŠøÿmÕl¢º65לºÿ� 3|¦n]˜ØÙˆêöa‹ ’~xþ@µHý�öÕQCè‘WÔ_àÕC=™®gÑô î^ý¯©3‚¬]f0HUô=Å6!æë>4®YŽúQÿP¡%Ñru„ý€/ZW³<ÀÛºïh¾ºÝ¨¤°ª‚5—ôàk ã �LÖb¨¿ ø’,®«GýƒúçzSë;šƒøMÐÙ@0�ð�¥’îô€ùÄ´»ïC•sç•[ɲ¹fÀˆ:·l¿ŠF`B‡å¨ƒúcİ|&ê'�Ô s»{ Ù:nÇ�€ Àœ r ½DË´)NúýÌNú»¶´«Ä Z1-DËAXe6D7fЗ0% €hÂêFf¼”GçŒÑ}�ørÛ  5‹ò™µ“~^kŠ9l·–~ªhjË"ý0°Í€}àî3ç]´Y@ÁmŠ“W›âÖ„)6stƒó›SâË<�°[U3`Ì9–E·V¾B*Ú¥L"€eñ¬C4le‹ÒEªê}TSÝ'Ó›o?¸¡¼5Rÿd3ûlRê¿Ð;ìUM«mkI +#ÞW':o°Kv*ôWè»y]@ë‰úºßøž„и‚F4ÎÜq}#d®oJ¯o:ªûõ™HúYx0è¼a^'d92yÂ$Y¨¿M�‹xŒß¼dÛkÓ(îa Ô« ­°¹W‘—›úËzZ€m �ÖÁ¿£O*+îÓã)ûßY`ä7ª‚𬠻%…ú³�`¨?êÏ6�îû=Q;ïU†õWÅpOEÔÚ®©¯à†…EÇuh·§em]ÝO¬ªZš<@BAóÄ·=Ù ÿÚ®ó€¸Húý�åãе™Ï3×÷áNF~ YH´¡±!¦yÓcó÷Ùa0ƒíÁ½ñ¹Æª! 3Gê@Ü$ýgî3N4é'º@úÉý!nN³ÜH·C*¯ +ÀKd~¢«¼²7ÛA`C6ÀÈ0ƒñž’þ¤cM§ûa›ð[  /Õô=e‰?ÒÏ–ÚÚlƒ‹Í£ +  9Q›?2г�ñÒ‰¹1‰¿Æð€0þ#pu’^â À‘”ƒÐÑÒPëPaðZgÊý%¬BºO¬tœPz]ŽÍ¹° -‰ŽÄ]"+Q=  åWÞb1$ÇD–qE±ß7¢! ó€HÐÃ…½c¿%¡ü/2a‹�Þ4,Ä–3�±!’x²]‹ª@ +¨ÎI€–iˉ ¼‘Š*}ªa"ºŸíOÉøšLúµI8ОÔ*ûc´óz.Ã+bDÊÄ]Ä§Ç 3àÒÿ…`û`dÜ~¤?ô•âh;¯ª�~lº{Ø)<›s-‹Â«ÂŰ›oˆÑ#6?‰¿ÀjôK¿¯?×ø•ÞùʱšÀÇ=3;“ùM‰0ýìÑšðœÆî«™ÛcÌ+”úkEßuËRkVzížOfm…yOù‘÷DÓšåM ‹ãeݑ仉¨»²‚¦$V.ƒºF2QkÄæO®v[†‹xCSÃÊàô«h|÷òƤѴf¥ÆŸ'ôÝr–§Ü‘hk1ô?¶]íÿG×I¦šq;6½ZÀŠÔ‰¯gý»—CÕôÆÆ•ÚÜ3�ih»&)Ú¯MùÃËŽL&™Ý”TœGLè7Àº* +jÓÁ~Y":+‰íI{/tçŒÜVwÕâ–6ý’µë�Äy´�‚uúy»&Åά0{¶·Eä¨KLÐÑèVi9|¨§Y±;·. ;¹zú[:»›DØâ¡çÆ +¬RŽ:`n°1nSCüÌ轩-?Ô.¼Ü;$‹~6»0Çët7V&‹ÓôX‘¡“¬üKÈv£÷–/XþPì +pÞ‚,[X–m^å é!K=½°;gÿH‡‹’>M÷8ÉÞN¬†V†8€ÜGä0x¦ëí¢û� y:/^EÃÊ€>½×À`&`—8 eÀ¶œOvKs؈,R+mko€¦T�`z½éµA§nõòŠ^ÿ–í)ž+(þ»jW¾kY Ææ ¯e™P·<±zee"ÚòîåbuÃJ½Jû5U)£ú:š¨]Û§}²„Î&ý tô¡i¿cJwo[y/û‹»Ð`&Ù\K˜Ûšíº! úºûŒ�ú„Ïg!ݽ¶Xý"ØÆ4:7ñÐÏÓµÅC�]mgð9þˇja¡ ûÏßíYÔFrfH¿@'Õ¸ô°åªå7¯ïè¾£.±¬î]‹³ú�µ�ÿü +ð¿ñ1¿ÕþÓwx®°_¦]Yûl`ub꩘¬sê¯èT5è¸),Šï}ë8¨vgšAh~3Ѽ²55Ï K°ÄŸ\/©c“j[ÛÐ’[Zë ñª•6}¤è4¿'7'ý)׉ԟì#&ý™Ìêƒúƒ$^r/õÏt5�˜À9 šX; Jý=Nú‰®c"+�ô�`¶Z�Ø v ºU` fÀÔŸÎMæ‹@çææ`Á‚úCçæ¦`Z1"Â$éW'.Ê6%èW¤þ ‰—ÖÛSš®§Âét¼î»d9n$òz#:’ZE�¥Se é—,4€ì– l¼¡; éAýeá_êï–éÕ?¾>ÔߦÇÄ]Ÿ3 áßD÷ îœÈ… €¸HúåH~»Å*Ð;„ÝÐrÍê`dKH?ÐYýî•À2G•°Çy0âŽú‹`u‹€öG[ w�À†Ž�´°�“ÛÅNA÷c`u¹l@S0�^_ €/�î¹Iêï+i>“ŠôX©¤Á%%ýúQ°˜úóŽ)y ýö¾ õÈ nÏݵ,¨?HúarÈt? éïxï; ¹ +YŒ¸rY ¾®Â<}G÷Ë$Ù—Ãå´øüu+ÞáÕTnÿì|쩤*n õ¯z!SVXT T18Ý7ð¥ÿ²;å 2¶©?å>Ëp@¤äÄ �NÒoKv6à:u ¨�‰éuvXõ§Ã›"ýë‰ç]2�è² \è*3:è>Ó�éw>êo��VØK66u¹+àÙŸÁ6ÜÕ%û¼:hMº¡ e·Ng#à–i›¬­FoŠR€·³Xø&»[–_� É®ÍÍ@̦݇$ KöP¢ÔŸ×ÒA÷™"yâ]¤þtÐ}<€yèø…»5”¨Ó“kæÃA”é°‡Ø nEå”t˜SêÏN+‡`"ÃSá݉2_°@–s£ut”U%JmY>íØxQë�ý`+ Ó~ +í�]�R:éõ›“Í9Ïšl Õšƒõ×mFD¨ºº½磃î‡eêà9ëCŒ¯ÒßýA_Ø¿€ÙDÿ‹TŒÝ'ªÐ' t´òþ“tŸ¹¥ÿ´Mé·�˪FÛ~T°ÕÙí6?:-kë5Ì‚³o<€Í;x@0€y¥€ˆ  îÊå  RÄ=@S@Pá… øšõ§.çaÅœð�¨ +@‡Û7 úMŠ2yÿ”¸„h{<ÀEó ±|}x{Pt\AêÏÎe¥@g²ÊX21TP1€;ýh>êO|n"Qe¨?œ« HúKÝFÏúšÔO2QaÞ¸[mM 6NL Y.§Åçç­5É÷¢:^é;ˆK¿�Hú…*6YPî/‚ùzâ`ÛºóT[逸„Q ×1õçë§“^ç ÀuìÐÐ}¶bçõMú¸èR¦3‘§€‰5òju€ýX’*Ò²9þ Û‚#Ueç7Ý� @é¿[¦ÛpÝ(Т@ Pú�èÎæQ¹y¤  +Àögh.À íµ]MÈ1@‡‡:=Ã/Ü­X¼Ã +#ý@¾˜  ñEMš�(_“0C•0½Êì-œbÒ±7rçb ¬­Ò €ÅÒÑòIüù@J»3tÂ:°|RlSdw¸݇Ts*êï `rÚÛ€ @èT€Vû¥UË:¼— €ÿ¬ÖGÀKd¶>|z2E—ûË4$�úƒ}Ôîó1÷Úž6Ýÿ ÿoVPÉÊÜã €­”ÿ�/+Ýa¹¿ÔŸNc³ ÍÐÆ2‘Œ<€(±žÇ¨= û‘IÌ›S¤_1^0ÑOYî/¥kaõ_Ôl³±ßïuðúzH6×"ý @T¤Áy¥*Ð}� ûR}`6à< ûFW\ünþô™Ôá‘Ä©}5�Ó³;kFo²+~…LâÈN£Ô_Óû~#ýžšÔªšåÿÔS»Ì�à*^Q³¢ö +XùO—4}Ù;æñŽÿÅôZ}Í`üg,Š%C˜>ÿå¼VQÐÞÁC‡úŠ@ÝÊe:žÓøn${eý•ˆõÊÆäÊúU¨¹uãSB¿i [^²é=«©–† +vMYD,s_Šd²>½6E$¯¨_�hll Z;iX)ãá©X‹m ÚëêW¯äßiºÊ°ÿ«q¹°cÑlšýËš�ØF£“Z“lki"΢„mÖ-õ@‡Ù*´$!�¶ÈG‘N7Šöõö;vŠÍ-õ�ªÚÜÅtñŽÐ¥sz÷´]ÝmÇHV´n}…ø«ââl6�mÙ:ÄO.§ :*ókÿ’6¡ËîļyÜ€›ˆO�ßñ–Â-PsE 1Õš +d7eA8 e¯RÏ_ø’jq¯©¬R­méö XgCL߯ñ$Vgjé‹/�ì§ÓÔÒH®É´¤±�|SK6µ6ݘj:ñÏ0|Î_öš[¶Šì¦L ×›]”[¶ßà+èÆ¢}CŸQ�tG«ÿˆbß‹mrWû3/êµ+j¡åšû(®Y�¼ª´æJŒV7VÀ*¬ŠQgh¯YØ×ÕƘpt} E@g)PõÌ/Áñ�äPúØ`ÜæžzôÂÏ/Ì#ÖÞŠµø<(õž±ɇÏR…Ó�¤ÒÌøtw´3¹¦ÐýÖµ=UPsE +ég±_|ñe  %Ý#'p‚…Ë´ƒ¨ ~’�Õé³ àÂÏÏ;*ë@ôÏ~ó媉âì×¾¨ÍâÐõ�ö@¦« ð¢}Ý×Û†äά_-°té$ºõL˜ô_³Úpßþ/kqLâë–¯^½üD§þö*Ôÿm ÀÔ߀�¥:ß@êï= ’~"ºï�¤"§€¶ƒÀ¿œ ôUÐ]‹ -YŇï³[щÒ/õ7vÔÐ}Qî38¼Ë#éù ÔâÍk´“lI0€¸ô—âÇ›¦øå€ z¨W-$ÌUº ýÇ„ @(ßÒúøáÆ,+·�fÃ<ÀI²!a0ƒh\³²B4†ÇJÈd½ÀTÈ�~vÔß:fHîVs¯þõ«x‹$Ò/C"©×鈻dõ'Ê쨻3Íàæ”ô›ˆKú=�©°±JúeÁô’ +Nú‰@% qä¨L)ðÝÈ",q³¿Ê©AvÙ½˜ØW + {§�Le R™ôï?8ãw•Á†wõLì L>8Ö9¨ÿ�ƒ#î  þâÒðü瞟zúSâ�\³�"¹¿Oÿ[HrWª ãtŸ|Ù�ú­3¤ŸÅÒd¤üUªêI¨¢«œéO¥êˆ†[ÁÎø¶P5åùžw�6@Œ€ ý°aô�Ê6.8Ç,qvਿLK;‘l@tÜ„R½B:qbO™ôAÒïi0ô}-Z°ÚüEjvs—hü'¨¿«ØÁ=­üSQàΠƒ¥ €í9çN�¨2°§¶b«fñéacT@yoÖ @êŸ[[“k�±Á#dךô!¨ÿâàFlâ°Tî¿°U¼�„gý<˪Ññ ‰ú+—WŽO¸Ì+ Å�?$j@&¢rÞq˜­š°ðË�a  à¡<€N²"À¥ÿЦûkìœQ@ýê•ò¶Ý0„ô76š]™ °�&Í4ÒuVÛt§é, ‰?Û.°½²e7µX@Gsú—¤©ÐMý5Ä«:õÇ´P»)s:hn©—°‡`óAñC‡HÀBì¡«xwSw«%¤ŸÜŸr +Ÿ'º�¢žýúi8ýÒ ��û³3¨�¼üõ/þââE4×ñ•?9ÍlJÿ'ï+DÒf\|ëbð€`ç~ò¦ò÷o~ëe8óò ¥ÿKÀË_ûJÍ5��âÁÔÔT˜m¡øQg"nŠ<À«Ü2› +R¥@rMˆ<À«ÂŒËý…—þ_èèkÿUC÷ßúÅÁÇ8q° TAý —þ /ý²'ýBbÞÜN’&ß×”8+ËUO-ŠÆš >d¸c€ ÔºÆW‡gD`Pj·ÖÉŠ´…+™TX»‰&ýét«tð3v"<@•“’9h¿Î6¶Ei'‡³AB3!Òÿ0½m­ß—­cK°ýÑ¢3Ò3€ ßÉÀ+ŸN•ºýýŽŒX|"â„zúNçvלÚkqb{ÍŽžšÎ¶¥ @„#½Ÿ#Þæ=môÅ@\Xãó7‚ÊÞˆF2w§ÝJð:¥NS£‡D[ÄÒi´STWÚ©™ÍuéÖdšª­5ÕÒÜ`¼geSÃrEQ6Q!,Öd=¶Ñ8¯kl\ èrc£×q:¡¦¨ÃÒ¢g}ú¿¿ý9lŠŸ3Õà!aq϶’lÚ°oªíêFhm©o»zµÐ–,H|{ЍíLWtÛ™.Bf§å%twºóú– +ˆµÉÎ뚌ëzê³¹¬‹l‹äzÊJÜý*Ì6¹ŸËpg˜ÀÆØœ�hqoªë†&èÎa æ:Èú7ÿô+0ûøýhŠb×ð!R¡FH#"›’ç~ô&œÿ›óâô‹ŸagèÎ¥‰“÷•Þüáð_þÖÆjXàäÔH¦Â�x ã�ï¿öÖ/.¹soÒÿæwÎh×…tg<0j¯uíôéÓ¶Ç  ÿ¦þ@zmzâc.œ^1ºgXšÒÈ9ÔÍWã¾èÚ¦fÌ–’©¶›MWçúžjω‰{Ž˜Ï9掟ª©If6æ…œšZ{›»RksÄúd{²Ý�àíܦe„í³Á  X,°¶ö/º…ÿÂÞ‹ÏœÿÌ™3’ÅÚ+*|êé9}t†kJ©µµö]GtX²ïóÓ8)b»îšµ!Ùº.ÙvmEõ ojY �æ•a+ ·}Å;+hŠ�bø3‚®\¾¨¶¬L,g>"Ä_;�øû:¼w’fÍ¿Z­9UŸ^רi…N†È.ƒóI—;66¹ùyغf"D{ñBÂÎ>ÿ‡°b´­mŠÍ“l¾Æ• Ñ­ò{Ò÷åçÀTÑÔèè7¿�˜õÌìüÿ3÷?ÐQ�gš/ªu;YW³ìt«1‘[–Z²L5eAµDaÙ +eÉ +d™ŠËˆÂå*rD—Á"caÌŸŠ0D 1QÛšØÓtc÷xéŒ3äxœC®û¸Û�ÏÐ�ã¾d<É!ã¯0™d g’¬ÃÜ$ëæþÞïùöW[%Aœž™³îæ·^¾ÚµkW©jïçyßoïým­/�€¼ïš÷ +懶=üG5té–ç·jÔ¬˜Ü|Q�ë±ýßz/Ñxc å×Ô`G +Ü@Bí»qôô4³À5qéÚîçtßöÀ믱™Ñ‰ÿx€—þȬ�%f`°øZƒmbñµ$)JêiPQ²wù¿åºEd2üB®ðû? I|©¿ÑœÃ® °ó‚œÄ~a6Íñ Hú…ÛŒ"¹G¬íP„ó€Er›‹÷€T’l×Ô¿ƒ,&¦þH¶®=îvÑ¢þtßüàVý``Ò/õï©Ûçk¢ éW&¨SØ1ˆa l€§�~ˆøú_ŸÁê?6±¡ÎJ[sÿ¸ô£‹€\Ýü3MÁàôé“u€ôëT³�ØO,é¿’HÓƒœùW¯Q~ó[oõ¯3Ô¿f×7zõç]P·áÊQˆïÂöT+5õgºª0áMÍ á·–†Í@~ ,Õ«?™ì­S®$²èÖºU�>ó’Ø…™5«ÃÉ¢õ µ6¡ûT õ ÔÁbM×,bommº±%#Âó:Ú)”ݰEö×)éq¸ý¥I9¬°?ýgŠÔ÷žÝ‡þà�ŸÙÐ €:àKÖ‰Œu¿¬hëH×@Ðô�þÛgˆéréá©«€< ¹¹ÁD_6  +€ðaPÿ\|ì`’þ¸úP(¼ú3ý*`ŠÿÖÈr/‚ "OHðrÁ|Ô–o …¥Ò"37_£ãmsDv�—.ûj~°gê%æÑÐÌÖl[×]³8†æ¸2y[wbE*a½¸­¡øp¾2]^Øh`òb0€òzÓ}<ÀÔ?fPj(®õ ßñ¨?Q`ýãm‹œ xì{tg¯·Üxõ7X²ý:§óf;¿JD°&.€"ë�òeÍh“Ũ¶…¸Hú‰®AîihìÊ^[¸8* ¬áÔŸLßb0wEâ pÏZqàVÎæeºOÞáN5ÓÌ8Á‚ø¿Úþpÿ§ù—ØžЫ\Öo&ªïľI7ZºßR—FêÏL'ñ"ÚŽÍ4'¹| Qê/üÔj8Ô +R{¸D_m=tW¨[Ö#pu€óg&ýÐç/v¿ºh¤þ2€#Ÿ#ŸcÚßê àìkgˆq€ù@d W1€ž?u%н`—Îç©Àî=3 ²÷Àç@pꟽdªî&÷§,4ýÜ<à ¸ýíNv…ÖpúKg0€\®ôÅ/žÕý³ŸFd×mXÐ@ó ÀJŸ˜Œ²2€·¾ý¦< Î0x€2bUè~õ·;¶.u÷m]È€-ÿê÷„;(;Ø®ä< Îê ÀæÄ< Î:oñƒÿ`Š€ÜH?¬ó€ þ2è^eWÝÏ7€Õwô€¤å�« þ}ÏÚ¡Þ�Á`+×ôÀˆæs `0×·€Hú‘r�ÿàè¾lÐ}yÈôZ +Ô?€Ô?n7�ð„ú[Œ ¼TÅÎK‰€<€‡>í54é÷ õg�¸ú-°êÛN( ¿¤#({¨€ +@ ž"`QËô¯ãáûæ@Tø"WèH€©¿Ók¡·Fúõ=ضuËu²�º¿=üù4ôgÖ‹ gÂ^èt?Ž6V$> Ä_ 9.©¯IÁ¬©¿ ®þÖ½ÍAÖýX%ÎV"ýqõ—D tß:÷cPÙ¹¡‘©râ®%ã 9á)BêTÊý¥û|$EkØ-=\¿è²xúß.õ‡+º²ûÞ»ú2k³D�ôóÐÊÉ@ õW7€îÛ{ƒú×€ä[(÷×Q´>¨?騔û_Ý$ýQ€æ’~;q%Êý� wî$KCj…èÕ­,ñŠ‹`LýažD9Çœ¦_ÉÚnh é?0æ€ C€¯¤òîµ°Z6 Ü?<+鿎°í²ù�Ø©¿þjI³lÀ}“ö‡õ§‰ð—n=Z•¿=Ž’”˜�¢øÉd›]œl êRy‘\~Hjƒ8A÷Н]×í½®ð½ùŽh% eB⯶E?L•�U"õ×’5õ�¤ÿJ]@Pg3OO…^ ×þòLM£þ¸Š|ϵ#¤ÿLW7õÉ䣕úxé UË»5€P`‚R@Ÿd�ÉI¼Š€ð‡Ûß©ÿ7¾ñw’~ÑØØ&õ§XÐæW¿ø…S¦�EkÛºA¿…ò!õ—  ûêÿ›o6Ó%ÚlØÄšú‡�߉õ|�|×U^ý +÷¬ù\óµ~aºuþØÃHýejÛ§U•M¤þ¤áRH÷šú×€ê’{Ù@Ô?x@z *€ZÿOÔ„úg7–$ý‘¸ƒÀ/®-Ûíå[”óž‘»Mñ%•� £Y wÿ¤W4¶u /`�ŽÖd2A„޶–6�\–è¼¹Õ¸¥=ykKk´ßÜ"ZnZÒÞn´Ü¸TIøz"ú!¡­mQ ~ Tyý¶ ØÂâE¨¹¿¸wÉ�‹äO¹‹­ ]Ó«3 –ºx¿ ¸£vï­7Åi +tÞŒ«Ù§bóâ%ííh=Žø¾°vŠŽ-–\õ!ÊÝ}(Ã2áJ“Ú ç‚a@rÙbÐéÑ=�®aw�ÑN%ÉÖÐQRg�þ’˜×ôÝÆ“Ò}WjsÔk¯Åtú¦|ª×cÚÝËNn7Kê]3çfñ^úÝM]4Ç|Øo£_ùÛÂÄî Ô7˜„¦N<[•<ýèG? >wr¶©¹FŠYÍÿÅ/~A¼ø½ A¸{?ÔmK+; +çþöu¸ðÝ·.]ú‘Ï'ng^9ÑKî�”'F0Œ‹?¼ FîÏ+±ðÄ&Ôÿåÿùe}ª¸\øî•øý‹ßûÿxh <ôOšÞŸ�ºsÍû:šËOMgâÔ$Ùýñÿõcp"í'[è—¿,oÛ×Ö‘ihlÓª~»ù÷+²¯¿ñºøòK/žzññÌWO¿ú¯À¥^(m«Ì5€Ÿø>j•^•öaS°wï^-ÿÂ?{¦¹£hœ{óÜ˯œ|$ÞAý"]lNÞÆFèÚd¦øÒ}‹jt¸ëÚ;‘�i�Äx�BSscóMîàðÍ‹Z؛͔Åè8 S»o„‡ü4‹¯·Ä,!öÔä¢ÍŸ_Ô¶´ÙzqÑ ’×¥KZZ+±k¹iq�ÖÅ<%tPº3Ù +|-I²«È® %¢#±]Ý]©ît¯êYyGoº7�îë=w¨y[G¢sé²ÌÚœèÍÞ@å»ûú�Æ¢…»W{«Xv[7hð(»~ðæDÛR6¡Ôàý£Û«Gfž?Uý'Ǧ>»§òøU À¤_60Oîç7©?3³·¿éwif§f …ˆP’êŸZ‘òt§1á'p¸ïÑÀtÒ:`˜G�¸ð)wv(;Ž€'vÆ 0€šúGà‰Æ„ͤ˜{^P�pP Ý|¤Ÿ%åúäºcš¤_àÕß’2OìžÉþµËQg½5œôH­´âÚƒÅy@÷*R?C$ý’ïZ†Ž +£ì’xt?ˆ~'г,I´Äß�¼>gw€î¤òDèè̸{É4ß<  }ÎÃp§ø˜l«ŒHn0 ÙDú1œ@ó5]ÝP–!Í¿ôãKuêß¿xáÿ@ýá�wÞ‘Y¨Î<i8ó•³2¦«À™¯¾ê‚h%ó àÅ/ýÐø•ðÓŸþ8nË–-óáU àô—NßV” ýR€°£;$úñ›n80¨¿ÓÍ�H?ÏÆ Àá•ÝnïÚnûˆòÓ ýöЀžrϚȂÐê?©?»’¤?@Ww*¢Ëòñî.�ô‹t¦?Òy  ;�,l ©¿ @ê7ó€Hýg_: ¼@�ÔÔ'¸Ë$ž(¤øÖÎxx¸îvõO'M÷1¢*Ô_(÷÷(ÇO&T€/ni‚ÞÚÚ"š››Iü�†›jß¾“QÔ 6˜j»$Ù*\ãZÖ_ì7w~�øü8îY€_³cŽèÇ1¹÷WÄ+Y+”„"@ÒŸt÷LéŠ�>˜»Aòº`R z2µ¤FÔY_wÀõ‡Õ}-ïLfR¨? �piç\ºî$;h.ÒWÍÔØñèµk˜ô+j1Ol%¡ëF�HÈl Nèû½$enÌ[ï.÷÷D7‹ ”ûßú÷o^É^|ñÄ‚@î >¡ûçßúæëßøœûß^Çd“»ÇѸ+€ïü¹²Ä<`aê�°ÐU (Ð}·6›d?ú?­”qÊoÓ‰VSÿ_e*~¥\âŽ@Ë�-þ/¼² ýÁBú’~�õ�Ô*¯ø®í“kæ„v!Ph¿ù:ˆÛ?�* 8\îïŽJÆ ©ÁPyÓú(µ¿ÝU®Œ¶”éWâ/d¨ÀtMÆÀ@ÖÒ ` ÖŸƒðfx€XÞÓèü½žËS5–Õhéì”2Òh¾©UÔUè~ð€rÿ}[šH´ÖH-}ÄÏýOÆXÑPÿ�©ÿÒj&2Óýš‰R|ßÿs³ÝäÖ:{ÖóuµÜhn¬. -/jý?ü®mþ°¨PÐìŽæ«`%ªh„þ[•~~‡:˜©. m1V^O”¼€z6‰E®á;Ä w=ƲûØkezé—úCè@x€ˆoúJÃQk¸wñ½ö±$é‡ÌZk þUò€¸pƒ @àçØÐTÖùÙ€�*.‚IÐËÒ/0œô« È‹¾ntÝ£˜9ö0º÷o¼ Ýç]ˆUPŠ€×ÿú,rƒúÓÀÔ DC2¤iûŽÂ• @ý?ZŒ"@ ¡H¿Æ:óõÓòUW2ËýçÀ™¯ž¹ð­ ù\^â(½Õ•*€0±ÐÕ x!‹… +€Ü_U‹›2k +ïÆÎ|õ´<àêÀǾŠиº¼ö×gë*I¿/ؼíþYFPÛà£+�©X@ý?Úì¥õ ‡ €$>¨¿æÄ T¸e"õ‡y€’ýö›�`RPî—~©¿*A ê*€xйt™àa 9Nk[�jÔRã¹HýEåñ2Pëzùóí�ímÌt×(¬mÈ®òçõç×Ì)£ñ%�©ÍFù£F%ßPúH£¢lmõš ˜õ­^ ÖQÕ›®±&½2Ýݽ¢‹¸:"µÂúË’·&@gÉ[“ŠqË5bÎÌ�š\ŽíËZÀ_a@JÞÜHõîA…$‘MÇ­Ö»GCÕ°.þ÷7¶ßb½�¸H«]“bvÒ¹ÔFÌ'ºÑ—S+®è””�FûÍ‹!½ÊVÊ’l¬­M=é¶6^Ø�«CúsÛ’îÚé42�n�@¹ªv L»D×J×eÏÞ�ýD#€úw¯ö6@bèèè_ÛIDRÖ&‡º€|\‚.“°"ÀÑw—©0‰r|Nï@GŸ»#.øº¯«�jÛMØÝz¤ìzUßÝè»»™{tOyëù±¾³†®çÒK|Œîbo+�>:¾k÷Cèíå—_¼ð½ /þ‹“|a8`É®•vwÐmÂxaùÑÂùoŸ‡ÿò“ÿbŠõóËŸ*JÖucK¨NW^ÿÛ³ðÖ;ƒåÅ/�Œý¶äÄ£# ¿wÎ_ ÅäF•ùâ³O]¼è,ß{ïÊH5\+«ÓÕË—/8°×ݶùòÏIÞÀ+_ºäoð²Ô�ÿAÍÇÞçþéO/ ½—¸ð]ëAb:ñì©ÆkÉLE0€†÷´GýiELøe@•<47€0ÿûÿñû˜–`ÿ•ú_sÍ5Dþú½ûì*0À;yyo_�™è+§áÿúÕï|ûïYU8 ¯4¥+բȫvì²Uva»íŒ°:`Y‹è°ëQjSðŽ[xh7�€x»íæˆöHÖYàæ%@ó‚·­mI{G ´´._<ÓaüöDìV +KÉ.k´’øûß:[–wÝièuEªkUoò¶îp:f²»˜™êÍtßч¡ëƒ=ÀCD¼ýw—[q0Ÿ5ž®Ûx»L [sç­] Ï&ÂgèÿèHaÇÔôs/œøêY˜}þÌô3³“OV ÖÝÝÁ¾üÙÈâ¢?r—�€îC>cP¸Û@ý± tr™&°ïeE +õ§Ñ}›]³�J&¬Ñ›&êZÞÕýÁîÔÒêO„Ìš4ÒÏSDòîÎ[Z}×èt�6`ßû­Ikt´!ýDHÝ–”úÓ�ô¬Nјoí7[Ï;öŽÈä½î/dò€u×Üb�6ÁˆÝ\‚ôû+]�ú tÊÔ<º÷–5VYÝ`—ÔRó:�|óã%:mF Žx¢Ôß}áÇïn[Ùgè>²N$wFúRï.'�ÇÐ}“WÉw$¾qݧ¤œˆ€ @Òï³õ^â}^od×'ú×ÕÖi Ø­t @(´€�Ø»GŠ &Jåe°ó‰±¸œ9óBskCxI�¼sÑrm›bÀ³¢ÎH®ß¥ þÁž{î¸ 3€p[ŒÀ�Ï|.ÆlW1€/åk|ê úq‚œýúk À5MI àÅþvï>@÷Essj¾\úñ¥ þ2¤Ÿé½ï}/‘¿~A@ú¥þ—~x‘UIý wâ™Äé÷êÏCrj€]=«ÅÌ$ýÉ[ÛƒtÚ8%m(~'âœLÔ¤_ ýÔô¨?�hfç--Ⱥ”Ý%Î5€–¶Å"n-í6:›  sE7ê/æ@j¥I?"ñÓýp6޳Ôßn‹Ü�¦­7èêé�H׸̓ÓtÞj òŠ ¢·CýGÛƒú×xfvލ �ô@Ç1€Ì +oé¥)t¶èÐjk û,Ø€xQ�YÕ úÁˆÁPÊý1Ò@Hÿ±åû(~]õOEÓêÕ=¤?еrY@€„>€¾Kë­Ö-ï_uË"á6\ªN!�ô Óî€3fb$Ý*þ¨¿HøÜ¿÷.ƒWQ»÷@‚:Às Évªí{fh° º•«'B ÜÑ�[ k=îµÞ@s´BV<@'û£þDžÕb¶†¨J`½0•¾h ýqÁ*;G¯d¨¿Oÿ™æU,Súİ ÀŽ4ü7€Ô¿Î4¥@÷ÝL×™uêÑòn~� p%ê!ýo¿y±õü´6¡¿u é!ý7'ˆõÅKýÁœ ºý[=^ýƒ¨�>;”P�  Ö ä¤ÜÔü®NtŸôÜ2ô¬Y©3ú«Aýé½@^îÁÌ ´rÿÚš hm¾ËýeÊýƒèµ¶XtœÀœ þ÷®iS/Е µŠ²É÷ÿ@ÜjêÏ´�P�ûË„. àÿHýÇÞ#ÓçþðDª7Gäý,7•¶Uÿ‡€¤¾LNmçåÄ:ý?F”øËÍ´÷¹ +Ý–Ä®nH¿J€5PÿÈÐýùP×d‰¿FzŸ×„ ÂªÕ^À"Hðe&÷®ðhŽ3°Îìi_š$Æ  ýw—{éŸg¡XÔ¿´FÒ%@ýÍÞ9“Ôµ`^JàpúÉ¶Ä Cw¨¿" ßé}† þÓWsbD5FÅЇšºn÷ŠOƒ/eefºûzî´#½wÙk½êëègK¢a±¯hô¬2R+RÄ®•5#•t÷ô¸Fº»ÇX™6/a Z[ßÚ¡þ¡a¢®’è½»¿§¯'µ*Ñå.4_�*CCW9©�(³$Q k¯´†zØ…ºh„îÊÖŸ¾ª­··­ÑYÕÖsû’€ d×§Wß‘°eîì¾¾¯v’¥nJ”Kô}xΜ5kM©%¸‚9Âæ;éê„Ì‹µesÉÜH�Dyðž$qè¾.5¬�K®ë$Â@Ö’qž»¬+“MdîuÑõÔ³  éýë:Aú.ô!ƒ÷ðø‡Où£®!E‹ }�û¸7xõ·"Ã;„™DoÛØ'î=ûõÓð�7ΆàÄŸ¾ðŒûíµÏ©å{×tBó ÕÃI›Ÿ0€EÝF&1>ttê?úvòÓÿë§,rþÍsÚ  ­£fŽº�Ÿ\Dì±A˜æ€çvßÃ#È®ö60Ük`�(Èô6'V™ôwßi€îÀGDúñ!É–v#âЗéäþ¢ûö^<@¬L÷Fêï €—`ZƒÖ&é ÀPU»ÎP£Ž¸Ñ¦ »ÇÔ_—¶JýƒHú½ ¸žwuÂõï¹½Þz×x�ú�þìr“þdc0Ô$»}–zwfîîDý=Nú3dÖNÇ…Iê‡ =”Êç6¦ˆqÈ®O3‰’~!é/32DP¡O‚ú#”¨?«ÍæSƒ÷š 8q7éO¯‰  F›–¡�ôëƒÅm€†Ôß>ÿ\mt?؀Ͱ~¤:ŧaËÇ €wôU‚;b!Àê< <±7Ý� ã×5¤_êÏôî € صk—Wÿ˜\¢.‰€Ô_ û€ $:Lúó ÀÝF€ú7·fPÿÁÜy@SsêÏ_zEŸ™)nòyL�—Ú§ÈøsâÀ'¯3€éé©Áì@øÛeâÄ=£2õgB÷ù«e’~¡=Z6 éçá|€ÔßtŸÆÒ¤Ô_t¿ÎP| ôlðë�ê¯ÜÜ­µ3p0€Ôš,ê/0‰w´Þ’ÔòÐÒÖx¬MÑLm·tJâñ@@É~ìaWæ·�d>:2ô`Iê `ß‘* ýPy¼»óäþD3¤ÿÿsÌ7€ÁU†ÔÌ V7dº}Àdc@⥵Ö�ú ¥ÿªHÿMú� (s÷àr›ã z×dˆ€YÈí½FO�pN0'ý«Jd©T ý±"À2kyº£^ý‰y·+¬gÆI? eè>( ô6߀�ú£SD @@ ê/ðê¿6�Pâ'ý )©qO ½ç¾¤Iÿ}ÉÂæ‘o!é\Ÿ‘:@¢�h±¸„ +@ ú×%¾pÀ2¨´Œ}ZeýŠPg5•�Q7‰ɽi}¬Ìä[ɺ @œ89óÒWOÅm@:Ôßlã×1€3¯œ~—pêOŽ{ŒM^ú•À• @E@[{·´PÝÿ�饗¾†ô UBHŸŠ€Ò½—‰~dqP"ÎÕ € +àü·Îˆé?¯"ý§!õ'î;°�?Yê7ꀠþÒýÎdR6€Äßœ¼UDÒ_3€š (ý'FŠté» Täþ2y€–¥ÿ¬?µ*Í_�úÓ€ÄòÌ7€€—xê9+ã¼ÊãÁB)à‰©| Î:–Õ«¿¥ÿÈý\@úKOLƒ¤_L?= ¨ÿÔt…ÄP"º¯þß´`€ÊKýãÌÇd2_Pôzdu€áÒPê/0Ý�ÒtŸô_Hý­§(~ð`MÝÎLýã`é¿3€P ýB€úËÐýt¯©¿ù½^ý}MuåÓ�¢ u­ÈâóÑ}iSÜÝÏmÌõÿÉ®çnÓJ x€ä5›�©? +Žô׈ ÀžÍ["oR€@ñƒôË ô‚úš<À}€ÈÔùãz�´ŒóŸ0òµí…áÀƒý]>ëgÓúHú5Ÿ‡F$÷ü(j j¦¾yɺ¤žúü€@ý}ÿOThù_×ü³n:ñŧ®d�»oèWº € õ_ÀZ–þG þ»÷o¤þ ŒŽíäc‡^  þÄ%.凸H÷Õx7€ ®b”è>êï�ÉEê õO¬H$—«¦w�9áòQ9`aPÚÛ‘H‚*€šˆ;PCh~¼ ¨Î|ƒÄ_Ê뺀HÿùC,*÷—¬;éo]šŒ@g—;û3B]1">Ô AÖãÄ  =‘Àt (÷u¥2ý™ £¹mS¦û/žñÄ @Ò/”û‡ +  ßûÊ­ øò¡¶ÔRÓ÷€¤¿ï6ƒ‡Cé†ÁCó‡ït‡YJ„Û1ƒFJè_ÝÄçN}m΀Îxõd²5î4½&††�ô:�íÉdØ€ }X�„TO/ôô!ëžÔí½«ï½wg}YO÷íéÔêö+[bÔ³:£= g…RHfÚ|d%BçÛˆÌ`Bd×›D.ï^Ò‹„ t¦ºÛ‡’DÓh“Î. 1àôqЩ<$ÊAÙs…®á�†„Õwø¸Ü_9>Øœˆ¡û’Ã÷w�×b§Ôùbš82ºzèþØòˆø½I\Š˜ÛØ�]�7XÔús…nÈæºC#]ƒ8ÄHW®˜Ê'©0|T9Š}æõ‰Úûâ=ÑGd�¾ïÈÜSœÀ£oϰŸÕaŽ�ÅÂÙ¯Ÿ~áÅãNíý„–ÑHD2]÷ÐÔŒ”]í'Ômbò! YL奯œ’d‹™#åÆkº{: 2€Ý—~I‡7¡²£FF3b“rÁÛXrãâ–›¼·wؘ3Dh³Áq=v6KDó ©—¾òÊØøN‹o´{üŠ%í} FKGF4^›)lyáŸ�&6^kGK-­Æ’–ZnÄ<ü …‘‚77½óý‹¦ÂæÒ™—_¾ð½‹PÚ\ˆÿícãe½�éÌKgÐqΉ´³ã»ÓÉÔJ Ñ¹¼ Ø1¬;«½}I´§-™ªu}–´µ7µZ;:ëH¬àÝ»õ ´/[Ft]ðFK;i�ÏÜ!ˆ;𱻺ÓBòH£$ñ:ÞK í¸â§º3ÉÔj]µ«?Ü÷êD_èÀ2¸‹¶jÑœõDŽ’h{aÇT¹zdꙓ3/žÑÙýGžÿs˜yöD z„EÊÛåû�›îW¯±€€]å{Ë{ƒ ûýô é×| Ýî 2XB_£<@�XÞ7ëÉ!®Í!ý]·¯!Jôƒî/h’þ¸ˆù ¸ À|�@ û™�TÜЦ:� ^Å2Nï�~ Ÿ—~‘O!ýDl@ x—�,)¶y ݧ¡¶2}½¯< ¨?Ê+éCù.Ô_q¸Ð €%ë @ØKœúÃ|�ñèYS§é¹º@ýõÈx-QU…ê �9œ½µ«Täü�Nñ¥þ4ôÐz·ÂaW1¨hˆÏ÷Ϻ‡:ýì*„È ü(uõ·è‡±3‚Ѓ¤¿ÎŒØz$ýW1ãҥݟÞí‰&»¦+f$q@ýñ€ x€¤ñuM2€@Pÿ`"€ó€f�¼±cW7>̯kÿÛ_úÊ<@ÄÅÎK¿»B¨s9rß-�å¹Ýo¹¹3nKå… ê ÀwÊÌŸ¢/Ðý€NÇÔ 9R•ÌPŽØ}GÆ«ÓÔ¿kuH”ëNì¡1ÇÌÞV�ô©}ü;YÐú†ó=>@÷a×玺¨LÏî{ú¤< ¨eÿ” @Ôçþ ïÊ­�«oý ‘^Ñò€\oÍÂÁa*åþ*怊€`æèþÚœl@ßì|2C5$ýªÐ}×­g}�l¾€ô��5Ò �ÄwìøÐÒ&¸z�ê±12!y[sð€x�¾³5 Üåmëhêýù²õÒ Æ @€ÔŸ™$þRk8)7õ_oóÃSH¿� ý–þS18!ö3¥ÿò€\¡dJÿ] +ÏšY7 Ð@÷å2€Ÿ$’~Xžó¾^ú“Y>ž+êàqW*xˆ@h[ŒN?}— þŸxð?Ôž®`¨ó Mªtâ•* ”ûÏ7€81õOIý)h4Ùä^øX�´u´µ´úÜ@'ç€&/ÿ @˜0€�MÇÅN'Dâè&:.pÔ @Òï’e‹R-_#(¾cñ’%òMÑP µŸ_HÁ…)Žl@�ü=k˜îGÄ_}Óý¨''¨?xéŸk&Œ±ï$Hú‹�í›zötõd�¯¼ó õ‡+€‘ÑþÌÚ t_05]P·„7€_¾‘ +Ì7ê"Ò/ÀÔÿCÄ ü‰¡kÌHüe €t7næ ôeÕ¼1¢«§+ÈŒðpÎ�Ív³Òωqü<@�F¬}û+RT M$~¦pby (·ÒNåÑœùÌY¦6xȉF¹‚pÂ8¨ÿGË ý¡�H”ÑzDVÒO;Ø@asJZOC‚›+¦(x(x +é·ì[u€“þóíÙtþ�nO1 £c™ò¶likfdtµ(Œe@6ÀòÂJg~ÎXZ€QL©HÀCP�ÔŸhþdÕ€;>a=]]­0 HýeTcK¹Fq¬?J �Rç?–¶b"¦þC<µÖ"dï«q÷ð­úiÄ—®1°®SÕ�5C†.|“d÷õw€ŽûcÈѸÌ¡� ôºLZ—ËŇÂîYÝR㎶äŠf"'èú½%ÍlÞ­�ÿÀ àÂwÏ¿õíozþý¹7ÿþ¯ÎýíYâ›ßzƒ9:é;Þ|û�·.þð9±!fݽ íŽTíÛìÖ‹Œ¥v¯+¬ø&» ‰L¢i‘]p{êK³Rd¦3_=[ÞQ…¶d6žT¶æàÈñêåŸ_´cÔ?¿üâéôvm7·@ó’EÍ­äÆÍ-7·Bp…Ö›;;Ùƒ\ðv»÷ìÕØD6úôÏyö¯ÏÁ¹¿?/Ê�W¿þ¿¾~ñ‡—Ä·¿ómaŸíë¯×öÇåvµ”N¤‰ζD—h¾©�ô\ ;Sw˜3E¢áFÜ÷©açm¾ËQîîëWCÍ›>¸ænГìÝM…˜Žî¬¢ú®IaymWOo2ÕcëYÕ‡°ˆðy@ŸG´ÅÎØI$Ób0?šÝZÝ}hçÑ爕c'öüÑŸ*Î~éìØ®‚Õæ;õÚ¹ÝO/>R™yþ´˜=åá»ÍmÌ�}óÂ^üs#£ƒH¿âºáH¯J§—Š[³Ä¾µ©†kr›z§öÀÀË3­pæh»ÀÐ}<`yÇodV4ô,«Ñ»¼aùÍ�¾TC÷- Š€>J„®S¨·QôÞÖ®†°o-Ý |³ŠõÔ«Ó¦g�ëtsQ>¾Ûç®~ð=<±nŸôvñ41Ë«ÜUþ%îÙÕó„Ðk„îûÒH�hß^Ý× ¨? ýX(@’¼úÏ5€ôªæ: éÇê_ÙŸCýi ýcYl€8öðºÊd�h�]ÀˆèïÄ.“c˜Ü]lÐý‰O?' þÖp?§‡ûajºˆÀ̱J €áÞQT×�ú‹¹ë�ϯõ-îØ5ÅO˜ ý�¸ ë‹’È$ê7€ÞL{�ˆ@ÿP§�„³†Xm_4D]0ÃuÖÉôë£þÁôûJúõ©´ ´·/Ž€¤¹´^`à @œÿÖ9<@q¾P2Ú@•ó ÀŠ4] .þð<üÙ—NÒ/^û×g4ógíË€î¿øÁº„ú›¸i¾ø'Ü7ôWçPBí¤ø+ }g²+ NÏm¦$DH®îÔ?Húå€|KÁù¼µ!bè¾A�àay5$P2aÝî2] À<à]Àà†B�ü(¨Oæä™À¡S§4^Û2Ôê›*£þç¾w‰º¿sÿ>¢ @`’~í�Ò +< misâ¶–šÄ»€.¿æÁ�~<õ7ºMúÑ}$žh�ÞHýi,õêOCÒO@£õ–$Øo–êiO.Gú‰¡!K`û@ú•þ‡’ + ñï^Ý‹XÓH­ìÁHÿiP‘‘þùå”û£þ Ò’åmƒëéáYÒÿ¨�ÄØïÍ©¿5œî €5îj_ÐÐýá�Ý¢ôp¿àKêoâ»?' ’øã€1cW¡:]VDƒðd^ú%ÖNý¯Tˆx0úP�M¬ ‰�OÜéîþL6—&÷ï¦@ú¨æo±Mm|" cgGô6À×(õ€ @Ò, Ô×dÝMÃ<´CëqÊý…¤?T—B à· ê’~`?.6 ô_Ýw¦ûïo"ý¯«$ý"T2€€N—œov'Âù`¸Fêÿî `|ǶPÌ7€ÄŠÈÈýƒë²Xš°`ðæ¿»¯‚úã/ÿ«—ÅìÓ³lÊRP™îq6о̧ÿ`Z©÷wE@�Pÿx< –þG +¥5ÒtLjÍϸa—„N¾öÄî–îMÜEÔ Ñ½ƒëz”ûÇ @è/•  û¥mÙ¼º°9¹Âjs×qdé>µü6;`C¤Tz3­ºõÇ‚1dóɬ;r®"€Ÿ)€F(òc9eǰ�T4T*ðÓ£þ)w�wí �aÒ8º�À|8÷æë^ëÿþ¯@6 9<Aý뺀ü õ2t?Ùl¸ +@ÔU¯ýÍË^ý™2€P8õ÷]@À{5/Y$t¿Ög½Ü�c¼¼Û/¼"%æ€<àÄŸ�Fýy  ¼£@÷qPç�©9¥@,;uZÒ#¹ŸÏššHôQvE5ŒXŽæ Ô@¢<@ë Ò¯,L›�‡ú«¨ö`‹õ­X—Y_(?>�ôWŸ?tñî @ ûJÿ©�þâ#7€ þP=R +H…ZÑ·6µ€¼óÕ®‹¯¤ˆo¿”¼øÕ”°ƒÀ®g¿g©�âõº¾]¶ª!w‡o‡ †i+æÖ4äîl6hw’=ßßc’ê‰*]û»VQXQ^õCêöÞÔ�}�ÞLχˆˆuøåì ÌJûUˆäÉnò…4Vfú»oïƒ4˯aI[¡5¢¤€WéÇæWëZi÷Ëïîëcïúàímž¨«74Dö£ÝbKyðÀ‘Ñ@¼dæx¹Æ³5ªO—3OWÕ§«�Ù“'3Çg³1ªÇª�ÊdtÑM¨Ùÿ!Dƒ”Aè †úÅÆŸ4ÚÛ ñÚÆôêtù‘R¡˜›Ú[�=û*û¦w§/O>1^=\%:'(MíÝ4vïÙVyt´¼-g<’—˜%ä=é;–w¯ìÞˆØÓÓ©5ŒèÊ,èîíê&Bæî®\>-²C=ÍáYèí[Ë›±Û}Hgi�‰'Í©ÛÚ Ý›èícI£çö´w6õW?4>zéò¥oü›¯×ø×_«ñ�ÿöë�K?¹”ßxoãµ °äÆØMH:š¯¿aQÓûßç¨�ÍÒô£ñ}� ïi(?Z +LMOÊ�V…±Rà©?zòŒ’-YOË�­bι’QߺËÖ›rGO½øçðê_¾¼D–»öOŸyåì¹o¾ ßÿ�vk¶0�úÒ™Z—ÈŠ”Ó¸ÇËz7ûxd©Þ5FP|d7ûð$“黇zúì¦çÝ}¦ Dæ€l`åÀ th€Ø{w¶o]hHa<¬ŠRÃBlý¡µ “‘ráÈ?\)}ú@�Éê®§¾(ªÏ¾0û%äÞxꟽ˜}ñÌÑS_†CϽxèONϼx†³xÃógfž{Áˆ�Û?“göùSbp8£ºt<—H¶åG³"½&]Ú‘­ÎŒÍ¯¥BåO­ßÇàÈåSMÍ��ÉŽk,‘*ŽõÉj`�yÐÿAtÔØE‰¾<t�p0²©aM€îw¥ý éÙ@øa‚ئÀÏ�ôk;p Â/„´ß’ ÁFKõïLvAê6@�“~­¶öÚ¾~Y=6Áˆuä†qõïÏ&$ý"»¾;�ÛØpWŠD¬®áNötß‘£[s›ÆŠ�±‰m  +ftëx ´u Riª�±‘Í› ™JA~Ã0°re7Ô†A­#6*j|~ïí½�]›�Ó{Go|™9¯�A�þ¡[²Ç}tð€ÜzDÜÀ̱*êØS݉ú�™#ÕêÁIÀ0€ÀÔîq�õ— ~¤;n ýwwI÷ÜI2ë ÀgЖD×Ð�"„æ¤zÚ­ÑÑ„ú˺>Ø é5)£—hæÀ‹þpùòÅ…qW{,÷Ä ®þ€ƒþJ8ñ'ÏtÿOO¿4Ž?q8ðùYˆ€¤¿í– ý-7[w¼y€“~²ÍB@<4sdA�îá­ï\?úÏ—â€îûáî´ +õ_yW?HúW[×üšžõz?<ÌþKì»'Ô_P §ß� õg§F÷A'ó˜†Ü•2oW6€ìÇÚ²û”>%rãÛÑ}˜øìlüô›:Ðýàq�ú{ø“Ó¿ø§ðn `òàtûT…ýÙÕ@ú'ž(€%—3c•'F°XÐò£}AýapݲP4„ô¿ÎHüe4Pÿ܀ꠈ€J‘½½ T þ2b}҈̟ßɲuÿ0JBPgé—  þm ¢•è~ä2€r�¨ô#’øËÞñ€ ^`èþÔþ1ÕK&Å^ê¡LSccÓ¸C:Uþâ=1âËÄ^ËJk4Ô@÷ƒô¬ìY�d2)½6bóež;Œå+–ÃØ,P{áU°·öÌ7"@ʯ +€ ý`m§þžé)�Ìž €ˆÊ#ˆÐÖAVn‚+�x6f…b& Ðú¸ðôTvˆâÀ㥞�ø+Æ+~:}*(?Z®±£txÊsòùç‚èŽZš¢?Öl`ñ’ÅmnDbÍ­Íò ÝWŠ}î›oH…Ïýý›Ä—¾þ*œÿÞElÝ?ý¯Ï_º|îÛ‚N@2.hs祠þDfêD{Ã퉮@ wÉå x€@÷»•r¯¿qNÔº¯}$ýx ýR¢éþÚa�“~�Ä£þİ�UìË£S9¯d¡‡òô3têøi¡Q§õ "é'^:[g¤ÿÁTxéî…_8ŽîO?ó̾§�Ôlb4·ÑtŸÔD€î£þª¤þõ ûÙõ)Ù€¤å�íÍ7ÔÔ¿Þ”û_øR¢® H@úOCêæw4�Úˬ·Ç��Ä+uÉd¡óGÕ ÓèÓ}A…3��›ÐÙ®ó‡êü«ð�ÈØ‚ƒt¹ÂÔ ¤·– „ + ® H#Õ@¡˜Fý4ë"G-ý¤>ØPî/ºÓrÿ€rÿù@\Üç0G¬ åìó @Pg!ß¿"W5€P�ô˨TP ʺ/M4Yt‚+ ñ@ê6èiÔÿÁBPGЕ  /Ó-h£þÙõi ‚Pÿ§³5ž=ZãDŒçfqXü�E°äÆëˆ$þ2èþ’6xA@ýiHý©h¨À¨‚‘~*€¸¨ ýê¯ôß.¹Š«©3ÿWÿò5ñò×=xÀ‚@7€¸p+ëè¾úc­±¾P#_°ÜßÅù@úO̬Í!ýäì2*’E'ýZUo6'Ð}Ô?sߦl±$é{âàÔ³§ªÏŸ•úçÆ&HÿçW@î¨ëªñøL压©§OL?÷6R¨?¥ô¿úô ¢¤êØ  ûS$= ¨$ýïÒˆ’~ !éÏå±Úº +À)þÛ_IB0€Ì +«÷‘wË߬¡á}²½ ¹ytÙ@®·a$cÑ.‹®¶ ÁV¤“«ú„OíW¥WÞÙ/|¶³|e&Û}û#ê»·óºzìÌÑöß]Nƒí¸ui’ž¿‚Ng‰Ôí}�å«kðî¼£÷èÀëo¾¡YGÿ «Û�ç°Á†r+ÇÎÏ®ÂöGʬÄçJ+R©Õv{ñ’%áx—�¡å`תM±²z.¾Ã½iQSÓ¢Å1xh4þ£ÆÆt h>™袒uëÖU­G7�–·•••ÀŽGvâó§&§¬$0õèT >?N|�¼|ÜMa=…MØöȶB±°oï¾Ùc³G�U¬NW«û=:ôÙ°™ÓöôÔÌ‘10`cLþæoýæ’ë—€ÿ&ÝÔù»íÐ}{Of(›[oôõõÔ‘BîÙ€–Ïfû�µ™€:µzï\ «W¯Ôrº¡�ÀóX¦­µ�ÒjËÇ·ðÃ�þç§/ÿdÎݸæ»øK£Šj`QÄôÀg(ëokïh»¹Óhïh¾Á.hjëh‡–öö%m-‚27/¹æÚßœ:sñ'—_ûæy8õÊëðú›çáüw/Šæ÷·-iël¹ÅΠ'êülm‡K:’в´ :’]Ú¡hP¤FG]½1gÒeÀLÅm•¯½úÚùo_øÆ¿ý;xý�ó_ÿË7Μ}•Fõ؉¦Ö¶ž»³¿ohx0_ Ѓù"XãþQEk8WX?Bä%½k‡2ë]ãîu5\G®ïÎ�Œtäá�Û>5¶ïä¶M›' ¼ÿhõäéò‘¢øééÜXypCQà ì'0ô±‡z¶7{/d7–g"æÆ*П/‚æ¶O•÷ÏÆ�íéèÝžÏî$N®ˆ]ÕñÊþLìÙ:Áz|b˜¥üh®z¬$qŸ˜.?šõñÓÃcÛú�ÆödžSûs…ÑtúN~ÓÆÄŠæž;[EüÂÉì�¿ +Ì à�3Öóƒú«  ¿Û €Hy0Iÿ&×(­óê�  þè_ݺØt¿7c‡äº­g?H¿éoÔ]Jë²Þ©¿3~Nïîþ8<$²½ê(Mâƒ=ÚRU6ꇲû þhtÜx;™ m.¶òy¸’ û°ú®A¸æ}¿ÙÐÐ@¬£±‘ÝÇO×þæo/HzÇŸÏ»4·¶±K þ4‚¤W¥³ë²�M7ŠA]üëîY£…ÂÆsˆjŒDÓðððØ–1‘ËçæS+…uó÷ç’þL& €(é?tøPz©¿iýt5nRRÿñ­ãèlPcާÚíJ�ÜÏ·�þ»{C£ÿîL__š(@ú½Ì3y@0˜o¨?ŸM@ÄνyÞúÎyâùo�‡ ßýÎÅ‹oÛÀ™óøÁ�~0Çt8Ý�X)PÄ}Ý(@lèþ›ÿî-qîï=zú¥©#³2œ@ðµ7¾Ygì;H¿<@gè1‡ˆî˘¯[jÏŠÀO¢Ék¿›ê éó ùî_Ÿ5Ïú0´qÔ«¾8ôÀ˜Ô�~aN é_;d\Õ†Ke�ôëêÙÐ?3ùôIÍè~� téÇ ¨?\Ý„ôúîɺ×ôÔi,”û{\÷”*åþñ +@([•ȼ¾Oæ@°}‰ÏšúS +¸ô_Hú­oÇ‘ú;õõKúý©ÌwÖÀ�~¡ô_`8Ç»2u¡þŠÔ¥µµ" ¼ÞŠ@i¨º€$ý²eߦ¼kìñjÈ6Ô߆ЋÒsÓh×ÄÆŠ Ä €-†-UJÐÖцètF뜹½oõÝv~®._è\§·Ö»³fY4ïÒÚaƒtÊÉfÔ_ñ*h±*=?ŸªjšÓíÇw9®6Ÿ + ñ]ƒôËÔ4ºyTµ½R�2kˆÏ/o-«ÿ‡†ºnÄ»é ++­äê]@ õ§1slÖr|×@÷�>5;ûô ¢=tê ‰`¡ Ü05s ê¯(éÇê�˜ :è]ÝÝvC³*õÿ„ +€©•)ÞTà­Îѯ£ +­`‰dî„Oèÿaª7P¢3Ô?nÁ7/¹’Ä+À—ÿ×74´^€ú³Ó1GPפ:`¾xá�¦:@ýÅ‚À>( ÷—˜þ: ¢ûRÓå!–ñ€îórïQúŸÛZ©9ÐÈ9"=Ì7Ô?½*Ü;æmÝGÊ%AÝ}uíB§»Yèû_2´‘èN$,2*$KuàÕßê7¡ge¾g?ªvîɃŒœ.¨(lNKúñ(Œ¦…*€ÜÆ”l@ÒO�^Ó6Rô—›¼ó×ô/’jˆl·]Ò…¬»Ãè;Z/¹/~Ø—0ºÎ`¾5ÖzƆ(ïÍ4Ý a²]·vßiGfìûýРÀHy¨(VFíà´)¼ÁÁŽÑ¾<¤½é¡\reZd6xØtmÓ²ž^bóï´'nëa“%¶/[¶øÆ‘ø½nHß5Èö§Ÿ\(ýW‘Ášõî¼6‘ì¬ÑÝ68œQ®Z=:+J;*ü ¼¶oˆ¤&¯ÑÏ¡é·7^sÍw®¹ö7;?ÖeŸÜ D~ýåm%µÃÞº¿½wö +ëþ^›Õ©>Fì ðœå£Âñe–wE¯rô¹‰ÚwÔÐAàÄ-¤ÙÉ]“Å�‰&ú‘ CuºÆÌÓ'ûþ`60…¯DŒ~ü¡þ»5TÌ›—´¶Äšî/iefsóõK@ÂÚܼX(¡N­¢þ3$å�ºA§ˆÉ²'ùØ™ÁAÑ;0èï&Dcp°½³ƒ< (³³äî‰}_~ùká‚Ø·Þþ~àÒOjgLþâÿû !==xð >§Ý•Üq‰3ââZtTØ8%7‹—´446î=Z»X´1�9ûÕ§Oð.ß|ë‹/ŸýÚ7¾yæµsD àÜ·.ˆ¦f3©¿¡CV7¶,io·�Ø:p[»¹JÛ­]ÆŠ‘½i¤8zù2oôK ñ¦á Ï±ZGþ¡m§¾„ÜŸûòËg�WΞzé 0gæØ‰�A§×fûïÛ„ûïÛ�ÝhGw‰ØO­¹7Oƒ ›½)ìž5†k¤rCŸ?`ýøâè /:õåƒ'¿|èù—Lå1€gOücOi�Y;KçìΙ/hbI3ô®5éOv¯Ö7¬/\¿HK‡±¤µƒ/mÉM5ì7vëä0½¿iñõÍ‚­¯ý–®ž;û]ê9,?(?Z¨.IÍaûcú7Keaû.›ƒ"O|:71•ß¹w‰SÓ¥m»r"¨6”wdÂòþZúõ×ÝŸL­jëì$öÞÕ~ïý]‰Í4ú³�ÀÂéÞ¶Ñr?þ±m×04Øù?ÿ")4€ÂZÓý€¤_™>ºÏ³c÷R= €ÔV ÙÐwÎÔs'¡×=Âtnï‚]wfØ ˆ(¾~*Òßò;�‚¯l¸xrÉöÍ 1¢íH�‰Ôík€ ‹ß&xOÉÌœôë¤l à¡r)n³Ïž +@d +`Ì“ïÿvÞ�xéqA� Àˆ'âñåk±e˜žrúM¿ŽŒ—ÇKŸ(ƶUùb)PüøCu ú2}Ë–Û`s2'ˆÔßÊɬ1×43À×åMV;Y�žoßÿá¥à?ûÅÏ„´;€DÇKOdmIçn\P򾧴Ò¯ž{~¥M÷;Ø€9�j‘eæq�ôÃ[ß¹p�|íµ×ãúUœ ä€ô‚â×Û@Ìâê�²›¬¿x† P;Ãòy§þbLâJÐÉWá¾^_¸E§þ‚ï;º6ÿCø…oj_ÒÚVã&� @ �Æò»+»£Œ~w^@Ä�~€=5•�@4–W®´­?Wì±nœõ‰ü) ‘³û2™ÐÀPÙÒ�hð`¹bºf$þ�+€õðHý]W�Iü‡­!éWqÒ(»"`¾è«œÀv¡Èd�BÆ,À’äãl‹4$ߺ/¤ÿ=ƒYt_é?� þ õ+\Àˉ@ /ËS Êx¯ù@ú  ²×< Á¦#'£q=Áo/&‚>ç_´µQþƒ�4½*íòÙ4ê}™^�þ`Éþ‚Äúîçðn–‰s¥åÝ<€XgHÿÀà€õÎ-Md‘Z£o F¼Ï½ïîAÀ@€ÐQhl@ºlÝ&[íüv)Õ$þÔŸÉ}ofòb�XÏà Ÿ_€Ê×€fÊBú�ì¢û6@ãÒÏy �Ì7>¿ õ7ˆ�„ì·�wm’þ À«dø$qN©ÿ|ˆKܾö¯Ë”þãó ÀŽ;`w&ýÇ@Ò¯"@Çó„¤ÿÞÒ¶â§ö•¦ªI0%øÖxÞ<@é¿ @QÏ + `Cy§$(¨ÿòU½ún…¾mo®EÀ|€¸ØÃyàŠoD*y(÷'–wdeˆ> t_@”úGËI¿�ôËd €Â‰Ž@ikZÀÂ}wuÈæ@]î?ßhäÖxõ�Tgª‚ ýx`‰UY @ð½«t?nÈ.E ö7y°˜Ò¤DúU þH?À7.žecV‚ Hýe黃°¿‘þ£þ4d*Щ?¤‰ÝÝò€ZÿÖl=ä)2ö¥P�¤ÿ�›ø{Ù+¤þ Pï‹lïhÄçëèˆ'6ÎòWX&>�X˜[ rí:¨©?(»th§Aý!¾Œ:B@�°LMýYÌ­ÁÔ'XAf×î»tÝ·ä¾:3~qÙêŸ\Þm_,yCÆN$'k2AèãŒa¾À—_þðÚ7θð½‹x€ @Ò—~íŽw±qJtÔùÓ–LXt‘æó á`Ôó À¶òvu%ºSR3×ùó3U0¿ (nRRùßÚav«¸”§gããçÄ â2©¿ˆ/9¿0õçKŽ zÜÐý¸ú/¹©–Tô¿Ñ\€+UÁÐ÷ þ2õíÈ\î_ FÒoâŽîã"ÀèC«yjx£éטWØ@]Àò²�9]@ï|%¸øÕ„(¬ñ#û®lxè#®pä2 ›=V +¸c*F‡Œ×7lúð5PZÛ�hKôfºúº�Ê«Ÿ‡èú½Þ»‡Â¥B cèJûQ£Ù=$µl캽ƒvú-‘o‘pÜ’h¸¶)÷€¿ìï¿s!pþÛž¡Íc§NŸ>û—%¾ö—¯‰o¾õÖ±“/$¨V}¾7@B–¹'/|߀#“/²c•â®êŽÏÎVŸ=uôT>âù—‡þ䥙çÏÀÁ?þòÁ?6Ý�ÿ3ŸýÓCˆþÉÓ3qž?]yò¨F�!mîNëkêBÒ QÛÁ[j 1bó•6õ®ÊKùMƒJ*Æ'ò¤ó;÷nš˜"»·?°í±\`êñ‚(l±ÛwC¾h÷}’‚�tåìλs¤üöm“~"ä +žÌGHwš56"¤×´éάvMëXÐgøÕè~ €y€;ì‹–¬5�ÔÔßõïKб¤_ T°�ùОt'þ»á£ùµÔåb ‚36Öå+{‘~`oÄ�~©?6 Î"U�]Ýü„¨?±³+%°Ä €LD¢°°üáq»zûÅ32y&u{† ��C94]×l ·{{ÂZ yÉœ‡×5‹ÕøíìóL}k‡1}6ÔdKQ04œ�ìGjôßÝÈô³´§ /0¸¶F6ÎP ÃË#âëÌ® fûè¾Ëa €/GбÌõ08$ý€™F“–FÀ³ñÌW6`�VK�‰ÌÑžIC½´Ñ:M÷kÀ:ÅÒDç­ÝgD°cþ®¾$¶/[P7#k ò�d”°ÀvH¬3¤ÞþO?Býñ€_Ë܉bÍ4dD<éWùâlÀ %%fÇÊx€çÈl�È^|ùµ^ñ,h¶Îù�ì2h ýxÀ-öÍÇ €ç¿Å(¬)^ñO¤þƒ6�lÛ-¶OÏJúÅì—ÎT�G60ׂ îµÎIÿógæÄ ÒòÝB5™&m`â×2€ÎÝË»{¤þ õuå#»v6§3€±‰A¢æƒ  <‘uÒoÂ-eWvoºÿ`· `ÃØJ˜7D> ÕKUm�þP+�5k©æ€$6ÐÐqø§»¯ @´1>3 þ®¿1°CQ×P0€âZo �úƒóªÐɳ�ÌZïÉüÀ Õ©Èb5š†r€ú³�¢û–‹9é?�–ßéTú�`ÌÁh„ôŸw4=u—žÉT‡ªH¤ºe0Vó õwP9v"êÏçaË@æâ²^SÿyðV!bSÐ}MRâ|€Ùgkww±¼Dc/ƒêJÁ¯ ü °X�w³Lü¦1nœj¶c@ú�ÛX€´á²Ÿ‡:1ò‰5ÈÐýPÈÀ˹‚':Rg¥ÀÍæÞXKÆÖ ªLÙÝå‡2`/‰€™GíÖ}1  ûÓŸ?.Ðù—x€ à§— +4â Ïìë€öv ‰ä‹B÷ç ûg_ÿ† àô¿|9 Üÿê€¹ê ¤ì�ƒ @€}cQLÔ@ ÀSÏžD÷ÃCt_\¼t)nè~�»k@þá +º¯>‡W¨¥ÿ/|ù�ëè7õ?ùe©¿¢Îù‘Ä˼ 8ž<ñÇ g7•'â@�Íø$ؤP•¹€®<�@g×ò+R1ìâ‰î5v)’¿L¬X¤þÔÚ5dÎæHÿèxìªQÚ7ba,�ô�mi<À¥ÿ¾Êý¡´5�î£þ ûìݾ@úÏkƒ¸@us­�ôûq@{=æÑeÀغoÇÖÖ T*dÝ´ÊýÃh¨¿/œô³g²ã¡ûl²êRî/d@CÒ� êz�Ô„ØÁáÚ˜IÄxG<€ +@€ô×€* l¿€D€¨lèøõ7ùþèx�²-a;[ ¦z\ç þêüAýãP~´ Ê�Ôˆ‹õ•  8V,0,l¸g·l†°@Xfôã먶Œå��Hüñ + n¨� �“ù +€¯EàºkTX)0Gè£ô?V@0ã¦Ö €•;é÷ßm¤ì¡¨|ÀŽ3õeTHú�ù*Cù ˆW2õÿ¨#éE€Ô߯„¸üÓù`8êB!€ádXÔÜŒúû XSÜ4 +�©ÿçâµïÜɽ7€pª{°ꀹ‰ÿ«ÿöœþúYt?0óô,P_2æWè>évsÙˆÄHüÁÆXÞ?S3ŠÕ‡þøÅ¸U,yð�ý±_a'ÿœ<}ðÙ?…êñ’~¨ò!�€%—BgòþcD× ²@vDWÔU(Ô1Q[‘ Ô@�ú£‡y º¤_(ý'âNj/é¿9�ëŠ€Š©?6 €ÂÖ�û³f€¤_4\þëÔ‹{[�ÆÅWb|©­°¦áÐØ5ÄòPÃ3¿©ãºíg>,È 4ºû²�ø—XK ÚÁM²{`cÅQù61UdÚn–/ôf‡Õ›ÿøxiGÅ®Þ~`Ttõfš—&­÷&;¼ì¶nè¿gÌKp…î•þèNdøÜ·.¼ö·o‰Wþæ›@åñ*\¤øÎÛßýþ�h\ú‰qñG—€—øìgÑzÐ÷Ðâ.Ðåc˜"ß’h¾±µ}i'Ÿ�ú»®¿Á2ŒS¯¼ŽÜc*@2þÝw~ t¤÷µ¿=ú믟øêY8ýÿúÆ™×Î�}ã¼°k}£3[`Î×u_ñùÍmëîÛtæ�sûŽÎ–Ý-_†‡‡º)¢–6C⦦ÖëÍ Ð}ã{!qý5�ºeqº»-¿©0ñDh”&+°gö8 Å0u¤ +»�”f¢`ì;ºÇ6ïˆ}Ÿ;uC%öOõØìžÏî!:j÷̨™Úóä6¢ñùià…SONd?ZH­ÊaÝH1�½/_ãþ‘÷ÅØX ?Xì¿ohl+ ’ÈìúL�|bßáq¡DjÛ§ÖÁÈèjÈ %ˆhz.ŸÞ0ê(®,l¶²„‘ÑkSC#]žû=ƒ÷&ÝAà.„àþ¤Ýø•½w&K›K[³÷~4½æîÎÜæ¶‡!%öä½|óOÁÎ�L ¾|xñkŸ_ré« "TK׈ÿA Ž�`H¿@ý‘~�Ë!™¼¿kry©?NP«ˆþõvr'(…G÷6€ô µcsY¦Î@£ãÛ£-ïTPÿ`ãOLèûÈ0PØVÁóeñ¼þjÏy,‰±¸¥% õït=?Ùœ�xõ?\Ù¹¿(í~T�ø_wr˜M Ý÷êÿx~çä4Ð}–!ÊXómɘ8{`I»& ‚úÞ=8×´ ÙÒ¿  §HG¢ ¼ÐHtyé—LGºÏ@ÔCkG§XPÖOÃw™XQÜü2®÷Ãú”b2uIuÞÚmÒïŽèjX¢¬»Ô±©HúåW7"€ôÇ @ê%XÂ_q‹KÉ�ð™¥þ-ÞØæ€¤ÿü…w@ê/¿~îO_y 4€¶¤·/ñbž¬¹'è¾Àd¨óµ õI¿h»¶!�^•ªõ¿Ç‰v(�ôËÐ}±³:¾óÀØFn�qyT?@êO£zì�˜:¼õ‡Éê8±òDQì~rÇä�Ѻ/ÌO꟰],Ûí|ÈK~Ô ¹’~7tÿå¯ÿàèþè'ú"Y7(mÍ¥þª¤þêßGú‹õº/é—ú  �y€ éÇDö£É*�ô +`P-6pbG³Oÿc¨àâKm�W?ׇj„™±÷Š`ÓåE°á‘©@ÿýEÁŽÔïH ¨?�þˈêPS.†ú‚ú;±ÎâúÒÑýàˆ{ÝGýÙ²-:K°ô¬‚î >�º£v¥‚Š!ý_xêtãèô2<é þx€l ugæl$þR"_‹ÔŸˆú�UlÇÓk§Ý2¤Ÿ +À~Ý(ý·tß¿ÁÛ€ËýMý# `­DHú=îŠDÕó+€ŽöŽyU‹§ã–Ž+€¤ß@Œš:C”ûó“ñ5 nÒ}"B¦Ü_Ç L÷#�Ìð"�×;<(ãá€Ô_6à-Á�7€o¼ùm©?:+xæO^TpîÍó2tÿÂ÷¿þ»`¾ þüEÁÝW©‚ôÇÕŸ +@ ¸ŠtÝfcûó›è~yï¡Ù—΂rQ§þ2Š€¾ök²K›D"ªˆé¿D_¹¨”þC¥Z ûl¥bÂN“÷ØÆ|K0˜z² ¦þŸ?PÙ_Bú�††WSW'ÒÏKä辟iØ u€^ÞòH‚€¤?’#|¢Ž5C÷$ý‘nxõÓý''áåW¿|é'À$ý€ ÔŸÌVàsÿ|ŠXÚ†=8õw*ÔßnL{¿×} `(Ÿ €…@0UH¿b…¼Ð©­X° (p%¸üJsàÒ—šÄÙÃ×|ís×Á¥¯6ãct”Ï +“Õ@nëÔš{ +Býû2uþh'¤2€µ/¨�WÀ tõ·c s ¾Ú õ¡…Sqx€:±#ê)ª#t’b:,©>D¤_ê/@PÈØ¾U?­ýº.——Ƭ,ˆº€'Pw¤gÁ:ŽÜËCÿ þqðêÏä_]@Á µ4  g��" @ZÖt‹õJ£Î’é`ñôßf¶‘éhVPÓn­§Ãε�WÞ"°•È`"€¸àq#áø:ÀuyˆÔ¾�­ëÂ(hõ¯3uþÔ@¼ÀSó @ê/@ýe¡ ¨ÎlDèÜ÷–L˜î»ó½ +›K‡fO|ýœ�ô‹ þ0<<Wÿ_ËvœT¦+5ªemÆué�ƒ þlêò ¡ì©©¼¯€!€*€`£Á÷¡òx%Pžäó” �š¸Üß×.ý_“y€ê€ÂÖP¨ hçþ©ÙggÁtÿ²™¾3t_€ @ê/�Xàä[6 ô_ÈsI»lm"H¿"¨ ˆ—« é—¤Wµ°1À¥¯¢ïm¯=·ü™'{gt‹Ê£™Wÿi:¦û¶Œ¸ðR"7ŒKq¾ž¯þYæÐ×åÚ†»š¿ZTN?qèÙç¶ï;È:^üäNâ¾ã'³År ®Îê÷dbDB kî!eÎað£dGF�wéZ™N$S4Ø»2:µ¯?=¸ØÏ‰SÇfÃçŸÙq +ªOϸƉÑG&üA¤Ø� L¾pïØ6�IFÆ+¢ô(æWÛˢ?êæú`�-T—+v ˆÂîjIZïEßí6¤öÄÒŽlew¾üØ0Tž0 NýýSµ=Í0Ÿx"?±ËNÂzXR{ÑÄTnç^?DíØïo€Ômv¯pMÉßí,�• ·>ÛÓ“’4¾§¡'Ý3{òÔØ¶í ïi\ÒÖþ›‹škB¬(9vcÝÑ·ˆj“Ÿb±ÞÔ<¶¼±ciæˆøÍv¼Um¶3jÜå<¼�,ºü::Õ=:æÀ™¢Ž)µÃA ;<U åK¿?qñò/ÿêMr;õžÆ™¿xýâO.çŠ%\×<ñÒ�záâÅ +~ðÐgtPgTK{+ð Í–R÷´»á9Ý™–³‹nhm|󩯞EW¾ù�w€•¿þ¿½%ÎüÕ9Àà‹ÿò,hιï^„§N¾Ø¼4Õ×Ó†ïÎö¦Ãw¥w>R†ÇOÌ>Z:6«k_ÆK£�jmjjlÍM�¢ûÆ÷e–6 .kºÕ蹩1y}c¦ÃÅî¶ÊÔö™gg‰SÓå]J¢b‡¦†‰¶�í¶Xb¸–Æö]C~óû´ßVm™ÉœÛ,s“.�‰.—µ.Êhc†ÚÌGsz¢ÛþµUIOõH&«£Ž"hN8â©ã»¦?W h_S‡Ë'_œ…o¼ñõwþ�¿û/ÿç;¿ü%æîïqá»ßݬò‰¢ Ù¶¹PüâXoq¼OäŠéâ {šøÃ¼.š²»¾~ØÆàzT¾Ë `(A˜™jËÞ—Ô­R‡7v³"Õ@î~¬%—ZÑ–¹«Ö}S‡©œÈ}¼ W7€P¯�î +Ø€z6o$ºû¨æ€öpŽ?WgÓÇ�»†©¿À`ç“ÓØ@�²ŒfÜ(¸F$è0x14œî‡‚fŽ ý¥J©2]^ú�Øví5õ§-é"ϦÀv$7IXé„™£�$n##ùëÿñõRR�·³¤åz<€(€¸È‚‘ CÈ÷�„Ù€Kö±#¶<ºFj$O÷êï d,f+qÒ¿€€]ñäTÞU!Í‘@2Õq+1A„ þ7©¿@ý«Gg1Aýá—.Á»4û¨‘úË06b�õ?ûoÞ”ÜËBÛŠƒÈ üèÒ� @w¢­åM"Ñܲt?nHÿÀíÝmïo”ôө箑Hýe<‹Ш3¥ç;÷lðæG³`¢ì¶L°4Å-€ú;üˆÇf“¹ñ�fÄ�{6 þ`�Håi°Åú�Öª[Cóƒ˜åÄ·ÿè4¶íHú�íS÷@ ’þÜæ4°#œø“Cðúß¼|é‡è>€ €¤ÿWÀÈ–^(mã¡yŒl6éé tõØñ^§þ Ò¯‡¨?ä +=D¤ßæX§Pw0ÐA=½­�J‰òÎ\ƒ.D&ýÿÀ±Ïò Dnk.�Ý\S»³ŸÚ[ +Töc˜žcŸ/”¯aÏÌžÀ¡Ï + ý°ïØŒ*qê•3JÿQœ ô½îü­‰ƒGA/å3Øi@`x´|H¹.—ZéNú�F0�-ŒÆÔÿE¤ö›&Nª�~� lbzd|B�ø×< ¨ÿ• ’þš¬+–@Ò/Hü‘~6tÛÖÙö{ g×>`»Ác.¥z̳_ÑUÌ,¦rÁØ‘µÜ+ñkêŠ`R¦ìP6¨? ûTxÀ|H¬Hí·Z¿J»;!Q®¥ÿ¡ÇßÕ–øKý�hyêo¸NBß]ãN´•Hî%ýBÂZ3Ã)~Hùƒh#ÐÙA¡_4€óß»Dâ¯ô¿Î~zùr n:.ØO`–Éú#Ðßµ ˜ôÿõ9#}¯ûÚ’~!õ—Üë7š#@÷Aý먥ÿ–þËr+šHüy0b@â�ôKâ%ÇÞ¢E€jSXænN0LèþCŸ²ÈfÌ&�ú›¸ãn¼ɽÖŠvž•úÛ(~0›øöï¤_°}*à @Ä @ÒÿµWOƒé~¸ã[Ì$ýpþͳçÎ}-7t_êo=?èþxÑØjÒäïÈ7ÈÔÏÁBÔ´•þË|îïŠt ý—Hý©Ð}• 5qê�LÈÐýÀ• õT/�  z¸px@0À�~1ßDè|‡ø1{bFä¶VDö�’r !é·ô߀º€T„à !Å+l« û‚RéýïAA ªOŸ8Ayz¶¸sŸ(ì˜Ê=´MŒŒW† +¥ ûñ. Â¶)1úÉJeºáÕ¾€ ÀôÚuî3Ÿøm=JÿÍ¢ ü´Ã80õ·h;‹YŒ Ä ;P»Ô_ŠÉ +êè~0t_Ø7ìúÖ½¸ÜŸ_ÁK“` ˆ¸S,¦åõB©¿5¢£µ¶ÎȬP©Àtß÷ÿD‡9š©†} “`;y 'Xš¸Š þç¾ýNP@è¯4Å+ýEÀúe€TÄ»€¾ö75õÿës¯ÿÝyÐY’þ/þ˳ì#5õÛ„‚úC|~ekIêO#.úqjédž—ûÏ3€šú£òÖcé À +ÓÈÂx8&ߟ¶“¢ås2mÛq�úÛÃøöïº4e¦û‘ß°ýËlû�º7�‡R׸·´##Ðý§ŽïúòWž9÷ÆU5ÝÌ3Ô_pöë§ ÎÐ_“~‡ú|3�ì/L÷#�îCC . Ô_`¹1mVá* tõÛhBÖ„ô+6”ŸÚþ™i"Œïš”¶å`ûîí0q` Ê“¨†ÿâ<Ê߯ŠÔq»Ì¡²gÈf¥#S6ÒνÅð¬æ3Çf©ÀÌÓUØóävˆŸÏ«„«ŸÛGœ}öÄô秉7‰é/<£^Ã] >ýGÏí{êPåðL ôx*3Lj›ÊÛCVÎ~ÞwO^¤VeÄöÉÉ*oz|vÏÑ}“Õmµ;2?nÙ1,ÝNwåÄã#̬™šyzFTÿð�ç,û³ÖŽTËû+¿œúìžê3üu.UÅ$©S”ÝØ÷¼s¨°5£CÒ¯¶v†…í vPתfÛœ ØÖ�ÐGK²ÌÌÓ•}3þŒ©Ïk8#Ûs"(¬/!ô"—ϵµ^ߨØ@æ\Ãõ¸QCã�Ž—¡©©)±*ݶlYó�-ÉÛz2¢N­AÄ—›öéF7A 5_OA|~0é`$]«zYµÅ²•iwd5‘`UËS)Wùµ/ï-7'Û–uÚñ•o9½£ÇÍQá¢ó—ìx@wº¹#>^F÷Cç~º×øot§Øs £ +ÂÉ^Ì?PÔ…`²�8}Ê ìÊÜÓJàIÉæöΦÚN¼töü÷.¾öæ[ðò7Ήóß½xñ‡Æß¼ù÷/¾ò*5«NW³s—Ož†É½ÕLo*qý{¡ù·~ÑÏÿ£_ûíïoê†ÆÜ@Z]ÿ4ÚšÊú!Ñ| ‹õ¶_ƒ‰÷ Ñ·b ð,¤W%ÂãµSшs5„-°²÷þ€²Ñ†Mw»C‚^Þ5TØæ·j~±s¯•ÂÛìÚz�î×½oàØñ�¥mi1s¼_þWϽùïÞà÷TÁ†[¿ð?½0µŠÆ›ÿï7£ŸÚø~Ä…ïž—ô{þÝk¯¿qhè ðîý%«ê…’;·gÃf»”—…Ívm—ç�®áûIêS4r�ÌZ;ê‹Ê � ¨€‘b·1Ú?t¿ J)’Öú?œ†Ì@"WèÎÞÛEäk‘>ð}6Ly*$­xu`ò³‡õǼô_Õ¤þ'îB+¤þ€èY€Ýgoq×ÁqØ152€ÝOîй\4�þ©ƒÛ€ê €2y€ÅȈ᠖ñb ^R© +PœØ%¤þËf9‘úW&ÙžÊ;÷�‚6býQØ߀N¦”JN}¦ŒL}v'è´e@„™Ù‰çOŸé'±ã +{f*H?ß (O—°ÝãŠ:éS;?ªö5ô[~¥KÖpÀVD5²qÀ_@ÃVåÔß‘ú[%áþ®òöâ–ÑÑ`=«íþ‹€`ê4dü±ÁêßµÚ_Z%á–Ð'?¸$èÁÂS]=éÑÅYz9°*@ýeÖ tC[ë͵1G‘~!é�›‡ðÒ/b€îk&�Úáy0ñè$êÿ—¾üâK/¾völàì_üE n’AcòÈx¯Å̉n ŸðJ '$ýJ€L÷£kVâ�îhÄ”õ×ÔÀ#ã¥+€—þÄûr+¬ç釡[ͤþ4 +Å»ç€��æö¿ïï½_ÛžÔ_ ¢OY"&öl� Ø–¿Ëmÿî(qÜÆ?5 4ÊŸZ¶#Јú|‚Tÿ  zS�À«¯¿þk7!÷¨ÿ¥K?¨3€ýèûŠ€ào÷ï辸øý·â�Û˜ +'öØŸNý}�Ë/@ýõ�]o~ õÏ|Ï�Ô? ˆ€©ÿhªWÈ €7å›1ep•“U‚:@¹¿  zü”À¦ž>Ø÷ô3;?3!â_¢¤__±~³Ò¶¬ ÀýN&”è~ÜìçßCmê/ Ê„Ö&@úMX�L>9!Ê�v~¦Øwt_�§ö|þ8ôÅ“ é¯þÑs   ²ËM;!Hü2-õ—°KýC#àAýùÜé˜Þ¬Á¦ï<t¹ +„ +ÀŸ +ýÙ=ª¬;® @€­ü + �ŸKÓõýë¡Åè *î°€-ã~AÔ�þê‘q£~$Û…" ¢ûÁ0H§STRÒÿù@ú¯ + € è$;æY—%è©î; Ôßwô�–¬-Ü݃ú§²ÊÖIÿ1<€({0‡hk'hjimUÞ-­G÷½+D€ê7€gþä4êJ ã}^K4¹Ä¥Ÿ\Æd|'>€ ”ûÇ €" Î$ýxÀþÅœ³Ô$ýq(>Xøu Š®3Ô?Ý“~×@úUõ_7°<¨¿�»Í,ì;êÐ̸ú %Ún¥þŠW7bñýÙõ)¯þÎTØÆìÕÉ1™{æŸVáµoœ¹ô“KÿKùÉԿΘ~üãKH?b?õE½æG?|Ðý@�Ø �SRàaÖ�ü#°C¸Î@ê/@ú¥þfîH@°�º¥­9k¸ +ÀÐ}P YPò×údêîÈ ©ÿGuÀΙ}q3ÏŸE@÷;$ªG*»§Ç@o€€¾nÿc{ÑQ_PXLy®êÏ$é×$@2t¿Æ¤yB�£¨ž‘€¤*3QÞí ñ  ðt?@䲋üEÑeÒ¯ +ÀK¿ˆŸ§C�?Áj‡O / û¡`ý~ÀvÉ@ê @¿+è§ÕÃ�IYð{h Áú¥þ¶º +€8ó´ *GÅ �GŸ +€\> €Äõ— ¤>˜’úË�þxº€’{BæM÷ D C8†;¼÷½$nêü‰UP/Pèÿtä$ÝJÀ�È$Ì'nh^ÒÖªuªß¿#aDÜHü}§À¯oZ§�ã ýu $ýSÇO@Pê_×ôëÀÔ£•¾ßKÊ�~©v©I0t?nRÿÂÆLÜÜŽSo¤ß¶½¨è¾¥,J_öl@ÙAˆÖã G�Û˜®3a=ŸnyÒÿ3_?û‰Pç+Àü. "?2Ï¡þnb 6±ªˆ Ðzé2mUžûí’®ˆš þÁ$÷ x€Ëýeè~¼@ý〠¡üä3[YØV¥ˆ‹G +á'Q90¦ÆŽÇ7�?8óxaü“º…‚¦í;‡!<˜la®Ì,ÂÔá2ìž6üØ 1�ûêçö‰©#S;«e�[D“¬Y[¤¥$lˆv%E¥�άO¸}×pÀ I§ºP¢#]Æîð°ù*‹�Ê;Š@„í»ÙšíÚ«ñdžxyX�Þ‹…íWt;•Škõì+ê¯öæ¥ùP~l¨Âjw³? i 0õlj§b8ËÙUÝî3·óvØ_´e¬PØX˜z¼œ¿¨±±Éˆî„þа›T ì{òàXyÜ  ;ݶtYó -’u@¯5¬ð¬Wê;ûSî ®Z‚{_÷�ý:³kelDqÝ2¨ÇÍéJ÷é:�a�æ·ÞR»Ã�!p[u˜™HñIV:SÝ`cÆu$‚+0ñù7ûû ×"2‰Ý^tÃ<\øþxç?ýxþËO —Dâ—:¨5„�(JlÎ2®¹•ݰ»ui„Nÿ/gYÃùÿý�C|úàý)Ñõy~9 S׎þÉ‹vÛÓ³ûöï!–7溗¶@SCHôE³cå-K �Ï…c3‡�ì�©Dsc¦µ†n[ùžë²É&�©RK›û;‹›{M£cÛÿœíÜmcž˜ O°S&˱Ǝ©Û?}o`xCzìa;¶?–#£™�ûGÆw  ›3#ôV�•¶?v¯±+/2i¥¤ÇžÙsé‡ßüÖ�óß>÷ö;ßùÑþAî_üügðs7é÷zñÅ?­îŸâW£�O„�]™óóÿ�a£½þìò/~áá%ø/°ó‰Ñô@sÜrtæ-+‰Öóuåyø@÷ðýv6çÐúäp¾K ÝgäŠ)‹¦ {Õ€]]<8”·ÚîÒÖ zú:)ñQz8³ûÀ&ôq 6 ý€,hBÙ–£÷Áð'&ÄØÞ££SÓ�Ó3Átr¤3aòèS°}ïN¨ìÛ©½€<@ ¤þžHúÇ'úã– ü4|ì^y€- ä ÚÂÔÿà¶ þ ɶCýæµ®ÉaWߘL|š-l˜|Ôš ¸d–•8#)?–·oðñlß^X¢è‰<�0q�v$Å þæQjÏúõ·³BçþhZÔßeCþ ç©ê‘Òîê&{ »åNþj±Ùàúº°<õ¯yÀB0´>ƒî_ÉØ¢ˆè¯Ô¿f·÷épsºwnï“€F“• @ÆÝ9Níù€¸ãêù1¢k Œh&  ûAXk—×^šy€NÕ~!ù–œûwßÀ[Þyãïß"ÿám�ÈDÜ:“)a·&wÒOä;AýAÖ>$ û¨¿FÑAýu¸ËyÀ—ínE3°sÛ¸ @PgR‹n‚€< ¨? §IýiÄ  ¦þ‘hûg‹eK»ŠŒníG»ƒHúÑñìP*³6a‚þé{‰é5 <€ubH?›.êŸY›’°@�а¶3¤_ðê_|EƒóÀ‚ð³Ë? À7�¸ëÖ’~�îãLD9„¬¢ÎDñ¡^t?›Oan¼Ïè€Ö õ÷ ûΈq@÷ [Óò€°N<@êŸZÅÕ Ð}Ý'€Ê Ì�~Q9r";›6qèÎÔÆì®ÇÝtEôo dó…â¶ŠÛ½/°óÈÑ@¾ÕˆŽ7ÀîÏ?•êv#JÿA¹¿Ç�9‹ ý&ýÎ4GÆ é÷Yðc÷¼�¹>%­Ysâõ +Š)ÑTú/ÝÔfñ + x€Ê}ˆÖpÒ¯ =€5¢~L%÷w•2ØŸ  õÈœ”›an€+—ǸLýÝšís*Ó‡)[•y ͧ Á^<€Ä_êï® –Ñ—ƒ ýÁ’6j}»  siÒ_™,ºó u–²Ó  —W ™ÓñŽ�Ī´*³�0–¸SyÒÿP(š‘Ä @OÃpsëÒhŽ<€7Õ9�ñ +€ˆî«w(À’ÖN<àJpö�sÁP`ñܷ΀¼óŸ(.©×½¨3Ôø˜c_×2Küý×3€�õ#’þ`ªÌtʲ«$ýqÖ÷hþ­÷ŠÄõ×õÏg{vî¬Ì7€òÇ7õ‡Bosð€ þÙµ×Ôß@ØþÙÂÙbµYJú3w/‹ÊŽv�=’…x Pú7¸’dÖ$�~l T#³{r© ^ ý^ýÑn”Ý©ÿ• €ˆ²3çJàqÏjɸ°ƒ« "ý¥­iUêüÑ‘åþ2©?Ë[tÒƒÙ$º¯ŒHu{_q Ëý3îÄ ,ñJ$¯Ãœ@ R|Õî¶”&¾Pú%€zÝwP\Åá||Pÿ�(í((ýW°ûÈ¡`Õ“g<ÏR4xfžžÙs¸TR"´žoSÀ÷h12€�ÈL¯þ®°¿\Z¶�úƒ®Š a%"ýlvê²9n¤"ÒϪ@ ôßœÀõ<;€··6¾wlL )g=ë¶"ýÇ´<é?Àb¬AQo$Ï�úSèåòûœî¯V¤4Ô¤^ @�BÂ.‰u!ý"êü!ÕŠ?H@�³'ýé‡ÏŸšoJÿ!¨?Ѥ¥£ å�Ô_€ú³AÊôB�ú ÿàzÖ”Ýîéfê¯9AI 7GŸÏ{É@[~¼�03xÀ• @€® àú‚6ö¸`¡°Ô® HHýÇÝ3c»IÍÂ)|V +ÄŽiúâs �—ƒИš,Hw Ýž þ•mµþŸ¸@icnäî@¾ç: @Ô¿<ÉæáâÛ|»•$’Íó @ý?呂¸ðPgÆÇE]Ð¥Ø7IÿU à›ož é� ûêÿ¡Á2b¾Hý‰ÊýÕ äsÿ<_‚ $0† &òwáD ýGÐU¨ÿG�û�~hëh ]@2ô'Ð:ô+ÇNfÇÊm­mË{V;ƒªo`oÑ}0ìòÔèÆÍ K™ìj¦|a¨0*L÷7†Ü"4öNqûî‘q À_å¹­S…Oúµ “Ó¢´ÿ)bùð‰-fË3_¬<} +ª_< ³/žÕ “x +¦ŽÛ>; Û«UQz´.d3"çmˆWÂÆ¡­Ž—?uoeªè‰ œwZ›´>ŒÕ ü:*K´.š'üA-]öRÙ›KÇ)�=6{öµ³Íïo¹|Îάÿ�6H­H }dˆ‹ÜÔy³ 1Ýxmc€‡íµqÙZܤ›ˆijëèÔÈÒ-¢¦Ð‡c¼‹‰—t-ïÒ¸ÿÉeIÞw±›â] +ZÛÔ‘Yhz¿3€Ä²æ›ZhÊN¡Î¢ºõhÏ9t$@°ö|¨Ÿ«ï©Õ½i7Àxó Í])»P+±¼ÛV* G8 +ݶ4a÷¡sgýöô Æ»¤Âù¦}ËÒIJÚÍXšn 7O$Ê¥;/þü—¨ÿù o_øÞE@ßÿêo¿yö¯_‡sß¾pþ?¼óÝïÿàâ/ùg/¼ÍÂ/ÿr÷gü…`|ÎŽDRël_f÷ ‚²1‘^C’»}öä è4�‘¼ç³a—ËDç±ã[Z~—�ŠCÃ’ŒBq0»6�éMxXÍj œêtyw¸×ÛÁ11{¬²sïC£f{7�Tksÿ�Ë´��j8º¤Ö.Qd¯±áÑìØ'!½¦mê°i7¤{ÛÆÊƒQêSÈ ¤ +­±=eÂΪؾ‹äý^ôñJ$h”wº‡‰ü&;Œi�sŽu¹«â�J�dÓ™v;ãå£]�,ýþdPÞ4TO\üá…ýç·‘fMAÁá—1âóO�ú KºâóãË_‰Ë—/BõÉq½PÌ çV�\a5{WÈ/‡Â6à¶þlÏȦþÔª�\1ÝÓ×N„Ì]ݹû/dOw›è»+‰AuC~c_nƒ»ìn*ƒ¶üh�˜˜R—†}�OäʇŸAý‰SÇOÇ ¨?É—Ô¥» žv9JsípÜÐ}ÔxtÌb¤þ>ƒ-�@ú‰Pz‚7�%B\ýçšÕÉ,‚Q9f·öDÜD­tˆ˜üü3ð©Ïì¿Ò@ øaÆIÃÉb¶f¶Ú%5‘HúÇ?iN  d4Øèe‚ŒÝ÷[íÞ¼Ô¾x}mlLßžFý«û«ÁYy@\Ä¥þ2I¿¬¡ÓM4‚Ðà%�¿ë×Àj¥þL(uûïønœw3ñ †î ³†´+S+uv´ÝÏ�Ž-hJí»Ý­7Iê%ú½êËAÛÔ@ÛÞÀP0aš¾ºW ;´ßÒ‰ôcغ‰ôký=ö(S=w2¶^¤_÷%¥QEb¸“Må¨0€®ÕXŠqxýÍóq8÷­ï þØ€Ô_èYÔŸ…ç@çò®+ÀÀp^Ò�eŸÔ&«6&ÑøLö™"†ƒ[Ò/ȸePþd~Óƒƒ��À‚Ja2ôÝ#à²ø x@ÜF6õ…MÝvD?2v(Ù€®P}7 ~¥ŒOdG?aW„a ÷@:nRÒ_gDˆ úåŸ^2Éþé%ÃÍùÑ¥wˆÁTh&Ä…þJÄ  0%H÷&d €¯‹ˆúêoÜÓ…$V4ƒFõñ8é×Ë×åz€ÒJcY@ýÝ—@z  dè¾ïŠÀ‚ªÖ€Š Ý'÷W”úËÐ}1T,!ý^ýGÇ +[+HþãeêO Ü¾�òÐýXûŠÝ] (ýŸüü Ç35'ˆo°³WŸ?«3Ywv·ê/ø=æ1¨?˜ÊG ¹Gý… €Û1ÒïãÔ0h[P*•¦M#ýÃ÷ Iü‘~�Ä+@š_dE àD Ëlweih(l´ós‚”6—î !�(KúEeG%xº_(úúú‚d?’ÿ ±q`í@ü¡ @¯•ôËâÔ¾ê� Ký©@Ì ` ‡lj…‰z-`óˬ/P éÊýQ¢ €7¢é~¦¿÷#Ãu`÷"� ÀÞ:ê’’Y€hð¨ùPW`¨?Q@4.¼ ¨� þ�IÿøÔ¾™çOõwDW#NÖ’‡©6êO”úkŽº\À5jgFì-.h†3!�¬»»KŒŽÛv€5¢Êøê0>am]ÝPÿ¸ þDt¨3€ÌÚD�ðÍÌ7€·¾ó¼þÆ)âÛß?ÿ£ÿÓ:匟^ºôŸ¿¯zßþÞß�ÿÖY"óã@|~�ÖÃÿæU8wî,œ8Y… þÁä%×e� €rQKíW%‚úãÊýK[ ÆX&wÿjE¤Ÿh™þFö,+°R„ + €*€z˜ß–þ» + æîþìíÝWúŸ+«ÿ‡†9�S�hÔ¿ôhµ¼wFT"é÷°ÿ©òáj£þÂ:‚Ž2ÇTÒP ÎŸº. Ç®€ÒÀœëbçMk Ø÷ùƒSûË©?±0–Ù²mP ý`ê"ŽcۆẀPëŠ ^ÈPÙ€º€‚Hýƒ�þÓ@÷§&§òù<"ÎLÔ� ý²åþLØZœœ€ô_êLCkέÏá¨?Ð(o+£õ‰ßMº_ÚZ‚Î¥�sâ_> „òì« @Ò� PX7ŽÝzÜÐ_¡(oË�:Gæž|ÀßRÙ‘ÛüP���†yx§+P«¥½O›&‘šÓ³Ý.&žâ#Eí£'¶ùÏŽ~4sû‘ãÇž+ö8TžzνöÄÔÓ§&Ž<·óØÉ‰£Ïmÿƒã¶Ø×kŨ»èaìÉgÊGNTž>5ÎkÝ1†�Ÿ?«켺À$Ù×ógr;¦2 ‡N�~艠{œzv ÷žòc5ÂHml—:_Ⱦú=5oº¶©wu/¡åø‹>°¸QH$‘³%ÿx òJÌ ù#ÔçwÚ²CYl aCE&†î™Üܤ¬4p÷@ç-�í퀲â÷/BÊÓ½i">Ñ{{/žAÄZ¨-€F²+ ì- îßÃãÞ‘X*ÚX@‹®[4ÚÚÛš~»I`½XÿÏF�›v|fš›Û4\K»�_£ïÕ;ÀÛ3¸.Ðá†ß»#8Áê»×¥nï#v’Ýa�i ïÉ•i%+½ëî ôçF€7J$Sƒ÷ÕîÞ·ÎqùxO¾ÿ¾ 2¡ž�AH®êEîû†j·£ÐÁƒ‰É}—¨¾}áÍ o¿åTÞ àß÷¯þþ6ÒoËG,ÃÔô>s‚:8õÚ9?üçªtÜ”Ñ'¯gŽô‹_Çeëüqç�Ò@úeD  ç®l0��`÷]È�PªòFuПÛ$ð »±@¬3€~2O+‚s7‰»<�€—þï8®j÷ÜK%Z}ú 2’~¨ì%ëw�61ð¸S€î[gã£Yaô@¢ÏBœ þx€²{6E©ª;EØî‡ðr+^£>b“T§þ, Ô®õóÐpÒ¥mÙÂÖŒ Àp§Ÿít×ô ¢û @ p¿®HýËŸ²ã™€ôƒ5Íj±ÿîpé‡çõGú1`¹|­ßùéqbåmùÏî#Bþ�ž@y2ÓO0’ôuù$Ð@÷ñ|(×3|_`ŽlîþŒ¼Ç. ²º_Øœ–ð0çþÄ ØÀe8Ò/ø~$ýÞúíÎÈvpŒ†6D��ýáÆ‡ íiò€¾l®ÎÊ�W鯩?¨Î’~Ø~ì¤qôÚIvPÿ€-yä •c'@Ï¢þdî¤üRjŠÈ*ÇN™úÿÁq½d¨¿ @ÒOÄ ¨ê<@6€î‹º +Ýx€Ž+ˆ©™j¨Øß4b³ÛKÍHÿ‰AIƒ¡ìîµKú €: n¦²ïiZÒê�‘xõu“ @¯ÆP[�›d4�~¢*÷ŒM¨­‡Ç½#Æ£†• ·tâñ +ÝW”ôÞ��€�{ì¬)¾Ô|aÔiãP +â‘ø2Ñ +mËts0"›.©5<õ'òŽx€ÆÞÉm-ã@ƒÍØ«ÿºé¿ÀPÿÌz³< [,]ÝLâ�ôSÀ7ÿ½I?ÑW0€ñ]{BW$º_Ú±ÓÔœô—¶åˆ!ý·>œ]y«5wé´‚ê ÀmiV +(÷Ç@v’Btž4ø“ƒÝØ!2 ás]VÓ}œ@gv‘~ä¬Ïç“CBàÕ繿ԟ·¨+‘ûÇ  ¯¿��êþcx$�îËp‚`<%éH”þ§dÁTØç|4;º5ƒúçÀW¾úÜ‚ðµ³/À™ÿå4Ä @CG¢þªˆ¨?èZwt?€ú *€¯|õ8PÏýíi©¿*€‰Ç,¯¯3©¿ŠQ õ§!éW€ôKý±�9¯ˆxêÐIásº€â@â¶žÔ�ýD@÷å �1h<\Ý?(Â9| =SA¹mSàë€ý3H?TŽŸ®|áE˜:yƈ )á™p ûAÇ'Ž=‡ô­ñ”ïrÿð·¨Àˆz• ݇PuÐÚ0€©òB�Hý뺀vؘ9y¼¸S ´OJú��D +å±òìÓ³H?ˆÒÏ2É« .K*BîO”ô‘fA€´w´A@¼ H¨ÿGXÏ�ë2¢Ó{hðv*;äRHu§Bp% ñW@²Û¹¬‹ôŸØl™o‚ +€Ç渾õw‰€Ä¿3iu é�ë°Ñ‡,dQ´³™Ðx±ï…Hý뺀Hü½¾û‚ àìßž³^ '÷qxë�w.üð¢ @õ—Ôøü!Ô¬áŽ-•QmÃúâ]@w½¶7I¿Š6BŸþÛÑ)ËýÕd=?JÿY’•h[•ØÂvÕú‡¸Œ þŸ²• <@Ò¯‡H¿<ÿ˜_è½xë:äH¿ÔHÿváp¡®Ó}W”¶fC�ѽî+Ò¨¿À PØ›³�ÝÕJf(íY› +¸Ñ¸Ûd2¡ +@A辺€ðtÿâ_  +@0s,§ +@Ò/ÐýàAýƒû³I¤_E ô_uÒ¯:€Ò˜ß4æ¾R©€Àè§IÌgQêäŠîž5ƒ°z€ÚÙ�•ϼ¢:z”8üàxÿ}E"èt ˆ¢:Iãd7Yê0oÈmòDœ¥{ùm;íîœc{f„ùAÜ$b¼úTüôÐøSêñ;>ÿ\�#Ç¡úübpŸ~ +l�ÓOu÷õË?‚…èˆÂÈ®C"·£:yô¨�~zôhi«âßîF.$ÚžicºÙá`Ùµä&åŽÎEÕ^H0Q ¨³E +«ÎÒüž•=¼°½½=µ<¹{rÄîh^?Ì2þAwwvp0ÐÓÓ“[Ÿ…b¡÷Î^°F_oËï´¡T, `í ƒÒгº§+ÙS�O�?aÔ¡Oåô¿á7Þó^â{¯lEÛ÷=õÚùö®” N‰ wrU_h#Çv¶þê>Ë'b‚®³† ýáu}^—ŠÎå�'�¾�ø»ù“ŽP¡núýJ¨D s¨@~ëv´žM.»q‹¸¯  ¾®53X¿I[þòÕöií%®üMß5¨¶}×Ôå_þRÝ>â›ß¾_{ýñož—~rŸ€7¾õÖŸ½ô’n’:ûâb¸éÅžÏîœr#V‰ê>x>›O×åÝ%</ÓdúHv¬w^¹<Ð@s¥¼ÄÉý›ª‡KÛ's4”Ë ŸS»WIèy–8±+c�d c²¤^µóq»D|×þ Py"g—ŽÛe.þÃT"ï Ÿ°òxvª:Rýì”+EH÷¦¬ñðh.×O¬NOíܽ%@‰|"0|O\ˆÓk¼¦ÓHu7â/ÑaOQØ< é;ºI82nHdÏ)‚'·1}èè®Wÿêeø«¿ù‹ÀëóåÓ/Í�êþ +\¶ ÁÞ`¿>v|7Þ|ó�^|njå—?¿üÊÙ�eÞúÎ7ßyç<èž0—.]€ÝFy¯Âf»Llز2ÿ@·b.Ÿ*O¦KÛV6woÚÒŸ{ GWß{—(~¼[¥@n¤+3w8è\Áî +YØœ‚á‘d “Mò ‰8A¹’Í=À—ŸeKÀ‚Ç{жÎÎÐÖÚ&H$Óx@jÕlý}Ùa¶u©5ÙÞuv€(õWÌ�•¡ô蔣(“tœ¤*ûˆ¥ht¹Ü'*ÅÝ3÷~¢q€Á�%Pž7™› zÛpäË;°eÏÁÀ•  ú¥³ �ô }N!q�èpBñ‰£@yA”xp›ˆßi]F¦“‚ê ­DýA3ej×@ik õGú™hT¶U�~äžHâ6tYs3º�Loظ�§��”®siIË`µDt¿å¦`ÍÌ‘ аԽ±Q6 Ïx€�w‰þ’,�ù  ¨3t9x@o6'´½V®Ó�NcõZ߆lq$Ù…­•uGEns)°®`è¬3%(2Ý; æyÝj#oºÏòЦû›ËÕƒéþÆRßÚüà @˜îGHú«Gf Ü'µòxi²:ŽôYùÄž¢@|‹ãƒ€àÚŠ„“uë®t9tË æìÛ’u–!ûè>`ìü,©… I¿ë©—ÊëY©¿l€Åâ ”�ú{pÒ¿ûÀ&eìñÜîi‹óÔæX¥zÄÀŒU‰kLÓaÃDz ª¿  øñ!�ôO|jhdïImÏ +YŽÐ_!tà‡>?ñÐÃCÄӯ̞ùêñº�j‹ø �LþÛ¨� þ¯¾~hÌY>ÎåKÀß}óë€úŸùWÏåé>4�~ €ê?ßÊ;Ò¨?ÒÙ\R €n£QBÑýüƒ>æ6õ@ýÓÍ2€Ð¿G£Aéÿü +éèí`ÀÞb£6®Í±Ëñti– Ð@ú]€î“ûƒ5T•ÔŸX>v + ±>~*@â*€±ýG Å�K‰ …{ExÛpP^†å| øèž@ÜâŸþÄDPÿÒðWD@î¯"@€Šô ¬×/¹Þt?2�£ÔæWH¿ÒÄ�Ié? I?é¿*M8º¯ó2qtŸô_ IE@x;<Ý—0-¹iIú_rO Èôf–'–Óà#…cšæ ¹¿ `ùí©?1þ«™î;ð1òPõ‡ÁüH@ L÷cÀ/«8¼Ù< b;à| ©?ð!¥þØ éO¯ÉuØY éª�¸¼ý/‰ýørh8^œ|錤?nºaªºeÒ¯ô_  +�nè¾zl]–•ÎChX{ÒC‚€–H€*“õ¨—ßæGýþÿ:©-�î×�ôï6ƒá£bDÃåþ2€Ü†AUæÓS¡˜=^£ênÓÑ‚± Cç«Ì¯ŠÉ'Æ‘þ™#eè¾<`j)~!U®Ø ¤ÿüÕªT þBpé‡çE\¸çº›ê 4´ƒl`ÎòqÜÑx1^ ×RÿÒÖ^I?6PØšFýåf[s¨?6@â/°Nž\’ôŸZ »Äˆìú„ÔL÷7õÈPÿ`ös;°oD€ÔHÿ2Õƒ÷�é?1Þ*"Ò�äÇvÀÕ €²�ˆúóÖ¨¿ùR«�ݧ(NVi°ˬ©?K¢õÖá“iO¬ hlïL`tê  þuG5ôtTŸD˜ÂF·åþ*âÀø'e@î/æWH¿¢ 3P¾M0"²Î«¤ïšð¢ € Ñç¡"“*"°ÂP„ +ÀŠ'ý-¿Ó�íH¿º€0°WÝ´DÒ�úCª;U;|­5®bD @  g`ˆƒ €¸�ø Â€¸¨#HÒïÙè=€¨ +@€ôó|àŠUÁ@ê¯Ü KH?ðÒ×Îba  ÝÿÚëçN½t¦ŽÍâI¿7Š !õ—  ¡ª°�ôš¶: "Í>—w"å>ýGÙÝÑWUêüAÓ�%½ú£Ný™IC¹?è¡ �ôSÈLëÛ‚2Ô_ õWD÷-÷— Dõ û;wo!ý§¡ +Pî�Ð ¢ûD*j ¤?ÕÝŒÈ +[ze2¼Ì‡­7€xÔÿW€Š€:PúuP/Ð|�[Ó*Á@E@¨@Ò/XI貚 òµÁXJ@0€x�?¼¯ +`üÀSH0±räÛ½]r9`ÃÒî];dçN¬Ò Ñ:3Z;-ê?ôÀØPñ!·_ù})ÿP +Û¦Fwî+lµXz¼::y°¼¬1=‹p³±ÓزwxS¢]ñ»÷)°‹~wL�>1SÜu€ÆØ�£…G«`æ”/§ÎAb§+nP-NQ?•Mè ¼röËøõÏÜôSMÑÀmàæýXÔîséâ‘#‡ +s² àÜ›¯Í+5ú“Ôàñ§?þÁ¥^¼ö`k›³ÑèoD?_°{Â]¾oƒÁs…îM£}@c(Ÿވʣõ>åWî/#‘ú[ÿ�k3_€¯€îé^ä£2U0ž €Ãl¨3yÈ@÷e– ¹[¥GgDLúEdîàr0ÔßwdNìA¾Çöò¸Ì}ôñCP>8 ²�`åƒ&¦€$@ú‰ õ2ÔßÕY�”öÔŸ˜d`€î@ý54)0ø`0âÈÄ–ÉËxúΟ)Àoª_z�ˆäÉÄvLÉøx:'ÕŸ\]ŒVÚ?³çøI €(õ6MtŸm×íxµ Á�lIbY\¿ Bß &¨ :'@!ï/ÙH?2ím`s X'€ôO=ZAýYCçïØÕ¹Ø´´¶l(ˆ®TÓµMÄ%K¬k°åo±·ö—•¹ ìô¤aûGâ�ÐpÊoK¢þÁ4¡þz*ÀØ£SÁÞ½ˆ+€rsOlyIÜR@÷¥þÁD0È�ŽŠòÔÎí{§ªÇg‰xº�¡r @ú•½#R2I•TØ©¿i7xp‰#îØê7€˜˜ôG`à·.wÈõA2I?l@m©?+'¢û]$ý»}Ã` }Ÿ<0‚ôóZ�ú#ˆ4Ðýš°€ëÒ¡�ô`¿Ù’€Vb'&Qpì·Q~A oFêO,Ù`éfRÿ`v¢çÎ!Ô_W!˜îo �ìüôx0Mè>šî=ÀK¿¦š þ¯ý¯¯:ý¯7&?èe¯þÆe5æ @ik6Œ®DúM÷x€ÔßÌ€ùE³0 @Z< 4$ýª|à¾t?À¦ÑÌ| 6lwAЇè#ýƒÖpØÐCvN´Ò<@@½ ìQxê^ú·MÑ@÷IÿC ,L÷Ñ÷ÇÍ PJP€ôˤþDc÷!�Ì7O¤þÁ„¤_ ýVˆ¨P Ð}¥ÿ¡PD÷·î¤ €ô¿®ÐÉ©fO=§+â õ×IxJÿ!^`¤ÿh¥ @Ò/Ð9ø: Ót¿Ã]ÐËè³KºˆLê2p|¡þ®°I¹?Ð@÷1Òé?‘·–ú«0±^Ùƒ ƒÐ`rE¤_@DßS+Rm­vJð’øD €èGyº_üÔnñ±Oî +”÷Ì•üárÿÀ• T _�þo¯>…úÓ˜3?êöI¿Pî/F)‹©ÃSsFÖ<>+ @÷Ud×··æ4‰&ÈÀN•qãöàDlF�‘i—ªÛ­ë€†Ô_Y”ÐȬM@ú1½…¶(çÃñnŸHú­‹_@ÐýЖìyrdö©öoˆ¤_u€©¿¢r4xV@¬3Á.ˆî/hè~($ýblû 0°1æì| +ö¦:§ù£û (Œe0OÌt’~TÔ¦Ÿýüg¡�`"¨ÿ—_z1¤ÿL2€Ó/=CÝ·Üßݦ¦þÎqPú�úÛÐè{Ôùãæð”9ê_ËšúºCúO#¨|\ýCxjø~»,ÀÒ뢼°:@÷ñ˜yºR=\Fú…Uqˆ¾º€„Ô_¨óõW  ÖÒÿm–þ#ýåý3µôßuY_�«¤þÂKdJÿM¬¯jÞ\îÿ+ 7*€*€ê/¨â]@ˆ~�e¡éWúÚum‹U€î#”2€B±® hd¦z�˜¤þƼ‘;Qj¢ÖFú¯CaR X@êJíe~ц<@ IËÿŽ{ª©I %¯4Å @u@80ájj#ºUN >CÁfPÆ Ø„•#§¨ÿÌ‹ge2‰Oî!B¼/¾dð‘ÊO>Ùb¹PÙ—Ý<åc§ +Ÿ>¨>ϱSã‡ÝÅG¬¨ñXOàÀ¶›ì�ìúL`Í@в—ñeÖ ÖHÔÐ’žØ2k˙5©*ˆ¿oofY`Í@�ø2ám˜¿žM›ûgŽ—÷µ[.{œˆ_: OýñI�eFÄÆbŠ-è‹,v–h�ØÍOªÏL‹S¯œûT)›ÏœxéÔÞôøìì³30}l' ¯°ó »û&¢ŒKšwW­M¸¨¿ž ¦ª£Pzd°²;O„ñGr|{¬„Fa´õ¼6dè¬pr_qÏô(Ñ­ÊŠxlßýÝ~gj¿½Ð½º�Gcç�ÂèÃÙl>Íw˜Û˜æ}k;ëÞe×$ÞŸ±ƒè›ÔºÏ‰>uˆØã–gaGtÚO �R%°"­'Âþ +Q[¡ë«©[M „™¥ßï^ŸÛšM¯JðÚÒö~þ�îÛ©G{íôèöÁ{Æ>9¤{ ˆÑG²�‡¶ ì]¶Š þ8ÁØÄ ŒþþTvcK†�3V”Š…@¡˜ „±¦ŸÜ‡Žÿüç—Á©9¢ÿ ×{ô3ÍD㉪Ì ¬GÈOÁªÓeí4P»-_\ Ň{K�ºûÃléÑ ax–XÜl£:Ûü"_Q +)W”úGZß50”��’úÓêßdãû»Û¦;š[�›oi ´Û™�žÄÒËbünŒ®öñåãËÜcÎzZËom$nm«‘¨ÑyKK ±´Fry»Xü�?Ñ?{²\Býs›ÓÁ5=å!é9¯¥!é':¼ÙÈ XR° QžkŠ|{q(•1UR–¯¥ü{¬«G„�&ÔÖAä{ kźÐ'×�hÖ3¾c�à-ZŒm·Cµqg©Î7ÔŸh¯Š@áã}qcŸ²‘¥ƒ8é¿Ú‚úË�~ Ô@”ôŸþ—'/þðâ¹s.ðÆß|#ð�¿ù«Àkùªpy¼7�ô#îh½¤?š_3€°L� ûNå»i û�ø£ûxj.@Їî³Ô^êõùxÀNÜCóW +Ô—wØ \eH0r<@Xàºà­OFê/²KJÿ‰¦û#£€„ô_€ôoØ:QØfêÏC@aÛ ¬@‹kU¼)» €Ä?x€NHõE€{V>�ú$ßÞL÷-µ.¤ß* gz#s‚½fŠz-ðZÖ,ŸI?Van±›·8Êz@Ò�L={:nñ +é‡ñÃÇáJ@âé•6 Ÿïf™C|ŠÍolh ÄçÏ�ÕâSl™x—Nã{xè‰/s%t‡aççUGDùÓ÷b'OY8@S‡v¦??@Ö¡z¸b�§$ýûŽî-#ö™y@¨@°ïóU¢]…ä ø R˜°³rMýiHúQ(è>-�R3ŸèošXŒN‹d4:TÙ!ÞLïTdXÀC#.ý�P ‹Dœ@/„B1…ôSÈ$ýzk/ýÊè£Ë}U ýŠ®GÈ]*ìø‡ææ²û¨NýËÑ0…cv,:’~ûØtø´&âÛ³"Þµ‚ú‹uùÔèÖ~ÈoìAÊs#=À 3vÍ×ü +€º_ó€ÉàqÒ/#‘ôû{SO�~" ûh™ˆ€º€tÝç—Ä @šþî§ òNèkƒØqàg6ñÚ:@ýQm"ºo*ïb¸#<‘‡6¿˜†ZúŸ?ó­GèƒúƒÓ}:PPP4R½m »¼õ¯¯Ò¾·'@÷À¤þÌ·"À¥üRt_½@x@èÿ¡ æw]Þmâ.}7ÉÖyô,ærÔ?€–Q �F»•ÎDZ:`·­Ÿ¨ï¢w´—¸þ[Ì•¾á¤_K*ý`þäz�¤þÙbÙz�>}0)? ÷—Ì7€L_û™/e¥þ"3�bþ‚@MgãS˜ymSóâóçð. `Ió‿‚ÀMñe®‰¿øµ @Dg¾á*M é¯áN�A1€°·ƒÍ92©§T@Ü@Ò¯ëQ•þ ^"(ïÈ Èò"Z#é'2G _$þÁxT°žP”+vW ¡StT�øë%ª˜£w”ô/A÷™q˜ß¤ +@@¼Vº¿}—SüȘ/p¹¿êËý�å52•éï£ÃH¿Ôß.@ë´F�JóÙrÅ5é“o"�ø§{ÛÖ}´ÛkÚd®a�]›ˆqx½ÝÈWÀö@€úƒÝ)ÏÆö©é¿äF6÷‚ÆöY7’ÝŒ‰îæÁõÝ"³Þ†Ê� þ¼ +P@;týw1×µc]@Äø|U‘øexmÜB åþ|Ï¡ Ú|—ø åþ!ýPHýe*œ7øå­˜¸'º€â€¤J;2þ ðö'Ÿ)¹Ó@ap¤˜-–úîͲùÂ�]zcÒ_ØZÉoñ7{É�#¿¿³ôè”Ú¥G«vêç¶)Ëý]¬�ºçÐè”; hêÐX”Ë«Kç¡GÇ?c*O ‚N 9–l9`ð�h~P3�š¦£È£Q‘á�™™£@™:äÌŒUŸr'Ù§²w9à `Ú×ùm“éÞŒ¤¯?øÌö?øTÜÈtÛ�‡ò‘Y�Ä744 ݾèâKÍpáEÏ/¿Þ<=Þ’èHˆ¶Ú-×·€“ê¦æè>‘õðTÄ•¦E¿µèºß¾NñºE×-úíEšÿ¾kß§ãÆ4ýÖû®ûm0X-‹iý4êÚ¼âó/Z$QÀêÓ¥íŸÎÙ-3Ý�D»2ˆTôÓùM›Ay«@�š¶"‘Aï&÷ŽGÔQG +H;÷Ü]}ºç`‘ùz +b�Ï÷µögŠ3O—FÇ3¨ 2q gý¸õ<ìžÞÖˆ.[åÝ'÷Ú=R§ª3%"ì98ºƒOxp”—ë !ûŽÁ¶‰áÂÆôŽÇŠÙµÝD…OPGŠÐàebÇy¾+"(¿;öä z¬d1Jóaû£9ίžyºœ/fÆ?é ‹ò'³}?ÅRÆâ'2ƒ9ÓAâÈÇ2|Zì™? + K@7‰Ù\7 ücØé) Ýjœ•çGzËl¬�ÛÀŸVÙ±³�Jã¸4 +E;ÎQþä:¨ìÉÊÑmò øP&0µ¿äÎ4L€ÖgRÝ)"’T»ÊšÔð†>�¡Ó4Åê»Жl&òWÔp3EncFŒ=œÏæz+ÚˆåO�” Œ><€�ŒYŸÒ@ns +þôK³—cª]‡DÜtü¿ò°6ýâ?ýòå_• kŽ.û…Ã’7Ø3ýPf¨Í†Ûš)~¼ò£+Ã#©üƒ6(�\>am� :j.ÂÃÜÈêl.Ñ ¤ÿÖp6™éÛôàºòÖŒl̦V%ò£ià糤!J ÝÇd¹ €è~jMf݃ãè80\ÀðvÝ< ýʼn]¨?qä÷'…yÀ'÷©ÿ‡uºþ, ¤l�y ú u€©9 Uê’˜ú?éË!p û ê/(Z‘aê ­'šÖ»D cà)@ú½úW­Ô�Ð â õ×¥Aýë ¨ÿ¯eu´ßÔj#¾-¨¯š¯[,•g’LƒÙ@$ßšƒôƒ{*’~gÒw¨[>ŸÓvƒ÷€ù ËAõŸ9†¥!Þ}�vó,‘,˜LÅQ¦ìÙ<€†ÔŸ™D¤_ê¬$®³2ØùDéÁˆ2[¹; ò‰¦{Gï²€<Ý'yœyºâΚ¨7˜}v +Ý—à$¿áƒ¡ûÓŸ+)¢ûãŸÊŒn”úÓ@÷‹ˆÂÖ  ¾þR"Ò €/ +ùÃh˜ˆ;õ§ÁçGýïIYãÊPØÒ' õ ´`Ì݌ƹ7 õ— 7g0Ö¦™!cÓX†H)ˆ‹xº75üÑŒ�úËÜi�ú�=¼NçàOÈÒPÞ‘%êÌz‰®û¨§²_�Ì̱)y?Ò/¨)` ál¢«“H9ÏJÓ%ý’u©yd~×Ïã�À­¢fî©9Çdè¾ `äÁt_' L¸1pò�ôìX. úH? Ëë]‚�îËÔó#0”[P+ô8 2- pÅÙ‰uú Á0b0"Ò�@úe¤ÿ©¿@úÉýeR!õ€Ô?^1�î „XºOîOÖO[éåÈ, î¦øNßÕ›ÏC^…îxJaàTõuûY‚ @Ò ¬øp6¤ÿé¡BÜ|î3 O ñÁÞ þqøéÿÜ|æps0€D{"•H�eíËÒý:Ì>ÐÜ~c›ÐEXž%6`8éAÐ¥à @X´|–±Åb€ôË®ùGï)fê ¨Ð}<€¨ +@¢FÝg7V©?ÑçøNîÙ|B €¸ïðh€ÄP[d.^�øË€wôé?u€¤ß ^†îÞƒV +Hý‘ AQú?ß�~â‚ÀØÃƒ2€ÂXF1ÿ±4ÒŸY› �îg×§5Ä›ÚÁÔŸ† €Z>n¯ÐýxP=ÌN2î+Ù@÷@úŸî&ZÃåþB€Ð’xxéŸk”Á@C8�þã"®Ü_u€u>.¡þ4øŠ�~lHüÝ÷¶'à%ƒÃ) Aâ/p�^¤œ?Ä4}{?¹¿l@@úOõx@&Û €ÄŸ•ßeɽ!Ðä÷þ2€Ó÷šô+Zâ¯—× c@ú!·1…î[î_è¶Æƒ–û+šîKý#@ýAE€·—û;Ñ7¹)Ú5R¢*¯Ø¥$ÊýU +X kÁh(÷ר)q�ômI?EQ€º€P;ýÿÑ*Ò@ñ½úc«+¤ª!ËF»ã�?bü ?`¢ + tYwMT@è + ·�IHâeö¾ÑÉ?2y€Nòu€»oL0õÿëǰT Pî/ïÆ�þôŠ´'™Fú‰¤?þP`‰�hmoïoöý?¿íU;H9êßØØ¸¨ÉÔÑo™€Ä=xhyÕjCxVéÿ| ¯ €î«¨3uã¨Ý×é’ˆÏJë!ôÿ%ýþÙ¨ÿÇ:pŠ<7€º +€%ùTfnàbyr €6ê/ •ô—vdy9é?{êO£ôû6‚Š Ðïg%ýÛ&†a¾¨�ôŸx¾ €"ø¢l|·¹]@xꊀRydH¿Æ4¦¡ôhèY w<ãÖ�>PÀ’òÔ¿†ë.*õÿÇÉæGzÉýù!hT�TBPõp™ + Þ$à«–TöäHüÕÿCƒïõ—ˆ“øS`ª‚¨�Ä+½Væ�j‚šÛû•þÃäã€Õ„ð“amKÛX˜RÝWÿO]À×ý€ÔÿÿÕ¢×~7IУɞµÅ¢^ ÖvÒ/p‡lšo�úÛ!+|¦þN÷1ßáãD_ý?~ÎÈjÐýåý}Èý] B� @Êý½l™œ.O?…ŠÑ`èAæ!·µìî”ä‡Ìµ³ƒŠ¥áÑqaÁCÞ £ŸÚ7Æ*u!;î®io“Õ1„y�NÍë�u=mÙ‡.Û  : *ë½q™¾©¶ë,Š'æz`ŽÍŒüJúU+ŒLºSƒöà4þ,#i½ÌC; +¼hÄç—§OF?}0½&K·ªã0uüÔÎ?´�iôÐ=Ǫã�W`öùÙŸ¾‘º¸üÊÿ�ºÿ’ã<ïr4ì%f{A–Ýf³è¶Û]êVÅ.v#É +Õ(°º‹Õ¬f¡›Ý( �f5¿Ê ¶@j ‘Ø�´Ë]È^MÀ§“†^íiLË«]Ø +yáÑPYC1y†d[q¼Ïó~3ßJT°|wÜu|ñÄ‹¬¬¬¬¬ÌïçyÞÌ|sÝ'»’¦¤¶û?˜êÿå>¹?êMö&»ùçâ½Éû,Z£;ÙÖ} /�г±ÑØø_ÝÏ�ŸŠŸ-�â²þ›èÆ·Ü\ë׃´vÍÚ“ƒ­“Å=Ö]c£\›cråt3½‰j7æõÖ‘ß®ë!98²î%.üV(Yüâó%wÃT»ÏÝ£BmìiÞ:‹²û�ñ_½Ê¢ZËe¯`Ë:÷ú²5ÜsšŽ™#f­'ªA,•‡W¾ØÀø¶VÒó-{!»-¢ÑhÈÝ-iç`1ÙóØ¢Qª¥y qáù"Izn[omOŽÆìîrêá1¿e05”˜_*oDc• Â;DZ=üx/²{ Ë+nâ¸Xæ±DC™8*�ç‚|Ú‹ƒ¯¾§HÌ«�‘l>…‡‹ùr?â»§÷V^mdz4Øn|"“lêRÕxIƒÕJ8¾M‡g­ã ó‹ED±B¬Íey¯Ysu€FmŽlpñsë²™µ{:Íì1AS{Õž?èføú ‹¨2“­ï е�`<¥çG2›ŸS'oYB}Wnbg†XÞéNäÒ¶…ØCÍÂa!vç�ÝÿEÃõk!»ezv4·¥/Ù— ’FLL�J6èæTêåßkbʸ¸ ÚPÁ€?<nrèìNÌÏd*€ðEoýþ¿Z4üV�Hv¿‰º L£AJGòÝÄüö$*Ž[̺A¡óÅ�H×zJ#[ìU"¿WPêE4P.èF#cÆà`/*lË%Ù—Üž¦œÃ=w ¢58o¾Fžª!ÀÎúŽ×½û#¹?‘é¸�nB‚®CºçÔGƒ@8›ö@Z]ˆ)£g³õèD®5¢ÞÍ€äûJÕi0Eýû*h`Ö0€LŸBÅ�ò�½òcP#ïþ�dó«Ð8ùb(˜ª¬À»¿ÿÏW ¿§ðáA¢é—û¼°~Ï€¾_éC¸?1•ìõŠ@îï t`Àÿ}ê.«n®Øüq}Ê® +Ûrÿ›@},ø5Öñý ”‚Hã„м˜ïG ÐD)nôøÖb ºœÆf[.Wêöí8ЙӭúÎÌí-Üáû¸¿P|*�0M¢î•Gé¡0Ë–X2ÈgÙ÷oË]#tø¾”²ë/ץ곉�ŽK};Ò¡ßšE¸ÿ¹×W(2°þF“­Dq“h€ÂSƒ€ºeXQÖO´Æ^«Àʵ Âúçž �úü¨—Ü_Q  "Ê&"Áƒ™þÎ/ÎD"EO£™Çý‰@m.‡x¿öðÂý½43îOôîOÔõ º3ß—˜gb&#X#|Ÿ½ À€dOëâXíþ’y¿cƒ‹æïú뀽þ·c9zuU`ÖODëGA>‰õÛà|·5œõ‹ö8°è/þ »G‰¨mà%ðP؈°~ Phç{ôÛñ»ø$Ì ~ ¼ë§�p1ÀÉ ù + Xm(÷—Ö/ü] Pú/Éú­&8ü’ú�tBÖokbwc™dî²o¢|_.OÛ›>R;üoT^¸†aÃ}"™¾¥ÿ¸?Q]=ˆ: €l¹ŽR›¢®…•ðý ¶O h¼r —j4âP@úEÀGo%ã�®^ødÄ€l_6;�ÆúéGé¾t_oˆ11ÝÛçÕ÷K½^²~Iõ„0Ðsßýîú”„ïËýï¿oCâ;ý mèÚàuÏ]Ÿòºûîôºçî./w½¨ =”ò�û«›%^ÄÀ>‡õãõ¸?E=G¸g€7}ßP[Àý‰Î�B èÜ—›¸¢»KP Ò‰dµ€î^–: ÷G2)IÀòÉ& Ò¾¯´ìNK:ýëz�†u%;îOĦåþ#ë�¡AÄìð}ÒÿÉ�„õ{áþ•Ú(@JÀ`Âýa€Tk {áþèÐñª5öæ½äþˆMݯ8¨P´©o@mW4̉€Šu¦áþVÄ“úéìä\N +­�•ÀÇ×=Å€á¬)÷—û ª¾ïå€dýÂ@vsŸgÀê +€È_ܸÂé€Ìë�ɦû—|;¾þÜ:»€pŠÕX¿Š€ ŸÄµ€ê¹?Ù½ÉY¿ê€ÀÝà®õÜèM_E€d÷—lQˆ:ë¯OW|à ô‹­@ ¾ ("¾¯ô°ë1C~b0EE@q®iùD¦›žÊý‰V¸žwy´rÜŸÙp™8 ¹|h÷Îú%Mñm¢9~4³Þn/¹å»†uþ‘Oÿ‘�ã�ºûeý¹êŒ�óîÜ_òîL5¯âþ`@€€Ü_@ºiuÀê + rs|‚¬ß)SæWU±¿·_Êd}ŸJ÷„‚ø¾Ü?Õ“´Ù~)%ô<Ð#±üTOÊ+ÞÝ”¸/�âà¯oºU�O=y"Â÷9°ÕÄ Þ÷%–Ìóý…,@~"3cýêÿQ€TIü½p^¯åèR"u½tªND ÏîOÌmëE­“ Èz~"�øó}‰v�üb‰”¬b)÷wç�“²þT_‚ˆûcý|hÈýã ðî�dý*¼ûß’rZ €ÒS)æþØzèþÈxï&Z£éncV�”ø¾ �†ù¾ë2¢�õKÅÚ€¬_î¯9õ€8dý“Ñà Jÿù, 4Ù�ÜŸˆÔù ÁjÈëãÆmÆßfChñN¡û«pþÞ¶~ý­^« Qu™J-sw]@X¹=Ü1@¾h�&r€—Â>¢(÷�d½@,ÊwÁ€À~ývh�™¬ë¼ÆÄ3…rP­çvTíÎ/7è—Ïí¨�<5CDù§fQPª µFifQ²®wõ§�ÞŽVUÓݶîįÎýʯeßjÛÝ?–Åziò·^ª=�ÚuóÈ÷aR•ÀfÖK²~Iÿ%¢Ò"Gm‹Èr|·�¹t©¨½ºk‰%�rdo +–¿üfý³¯I3'ÏIöÀúg’}éRc)³•�3£±‹Éý@û>7(´¢6&Z·nýÕ¯µõÃÿ¾­‹¯v õöJ�üÊ#rvƒ¿:€FÒY×ù̈bº?<H#Ùáê“e"*¯àÑœWæÓÙÉD” +5[­·ö7ËÅ"¢áBAÅ|Ñ+›Ë¢^÷wÜÙf÷8™;»î +¯µË@‡’­'¤#Ÿ5™“~®næ;[P¬ḭ̀�6Ÿ/™œÕÎkäa7þ¥uéXÞO$i`DƒCG0£Y™µóÌ8ŽE?Í.æYß´»yQyj�8ý\À±DJHdÅ8táû|�±rºÑ 8`Ê;ñ»¹inŸ]aiW鯔kv+kKc$ß“êëÒ7 HWy7[»•É5”“ên¬ÆáâìÒÖ0ºqÙ³þÖ�çì¦\Åæáz}®XÏÂìÛûfu:GE_Ÿ ˆ˜£ùã3™ê¬MD¼Š*;G�8!ç­íÒyïȈÒ6Ddôn¶œßÎ6ÑÍ£™µÁÃÿîÊaýD5´M!jÊìBÀFž?xºö_"£o]Áýƒ¹&±Š)ïieúÈû¾—NÌâÝ`À»?$Ðüz îÏ DÀ/GÓlà¿4ô’ñã€;pÀ”–û#»BôðKЬ’¾¯å ÌÝË€FëËo®¾¯Aqqäþéj¼áÈý%¹¨ÏŒHE +gýÓ÷÷ZØ9ãÕxºæÕZhz­]öÂ÷½¼ûg?“í{¤ßKÖ�9p·éŽŸ¿}òŸµå¯Z €åÏÕÙÃŒ/VÏ|±!àû0à6ÀøêÑSª€¬"ڙŜuȘˆü?’íåÓu€RÕ.JÁú‘5– +v‡jÞÝ#6e­àM4JÕ4 "€õ‡ŠJîOÔúOïÕé Kæ¿4‚|RwE�|߬oáï¸?²ÆÒÖ™…R§�¶o)í ÆSžc57±š‘ A4ÖïrôÈÊq׸ŽuÓŽ|¯ÈÒ£Ùô®˜ÚîÏ»o=RÙf÷ýв~ËÜõl÷-ø»)¼æÇÝ + ßW#.¬_îOˆvi�s =Ô…´÷ÊúÅ€5X•P^8švã} +ÖŽà:‚Bàûb€5œû«À÷ÉýUÈú%Ü_òîÜ!›]ñ)÷—ô*­y�:¬<x ÀIóKäþ¾�õKø>f­H ý,@T*@üF0¬_îÏ2ãXû±µg÷RÀ÷¥ëÔYø"ß/n +Bm.z­@sO­mµu¸­8Hü½ÈýûzSRâ^Ÿú—÷xÝ0䃳þ´‡ÑÀ÷=VÎ6B÷wýúôÃi/uþhuþ Ä}If­�]í£1!ôÜ-€ðåð¯=€ÝÇÿ³* ç¾Üô�VN›õS¬î +­ß=zP–§ä—ÃU@.k Ÿ’ïtty3RúïZ8\Cæû?3�ùþm@à ßOź€<–]`é‹�s_Ó¶òQ ë¯àû¼ä(zØb£. ùbŸ€,å�ºzäþ€ï"R &»X3ì»÷�(©-G–)k ;à ­ßÏìÿÍi –/+—ü¢”û‹¸¿`}Pû-ºjˆÙæG Pîï ÿ‰¶|×ùƒÊ;mè7$(÷÷`Kþ#*ŸæG ¹¿þBDý?}ð‘䣈îM!ÜòyÑ–c » TÎ.¸Îý°ÿÇK]@qH6ÅuIvC€sU@~¬Çwñ "ÜŸâ{ W;r‚XÚwHC>è†/¬?³…"À�úY�ö*TíÑÝÜb6dØs¨ºtÕ�Ú�»Ìw¡5yàX½õòÄë·¡�áV£ŽïÈvÚvé +ÿ 3¼ì2¡ž\j«“žä%Éî¥ò�c¨ñÊ9âÄá—¼âó4Ož)?;?øè²�Žª÷öpžÆÉs}�Ȇz>qfb¶™ìIѨiÇôz^’J{[8�¾H:„�pqJÜ»NêïßžBÕ_ô°\ÓÏð·.ö:³û '¹?õÑKá$÷·~ïå®çŒ3ý¦Ç´>�øüÙœÝñtè… +:òâÄòËuÅ•³¦` »cvî¹Q/ëò>l�·èNMÄôuÄj$zú + ¿ˆõå§›¡‚R*»9U® Ké¡+¯kð= Pe*‹&§1Ð¥ÿ¥ê�áafñ49“³yfÌ1k»±×PÆ$õÏÜhñêrï¶Ù�æ?ÄšÙ‡[‰3‰»N9–©ß1ÌåÝ…ÿÄI×ï/ï¶åD$0¹>(-Ö›>ªÎe1}¢iÖÚößY,>S˜"ò.­|…”ç 0€ Ól6Âo™i Û³é¡ +ÆMÿúË¿kö;ð‘¹ÿ‡þä`¸öÁûz =æÚµ÷ч^E:�ûáõkH ¸ñ/œáêßüˆEµå¸x¤b÷L§K“}…r/q¬öPe.E vôä +½ „åû[6²gs '.¿ÙBvŠ˜)áõ ÷ €|±gä‰�ˆ™G I©4ùˆný«L¥“mH ¬Gìrq±O¶L7Ëú·•åþéÍß·Ä_ (ÕKÓó€h÷ýF]@@‚r ¸° ÂÓ°áúî6Ý(Ö ê`¹ êÌ{”£,[†k3@v¼&äÊ5Í@`ý$àñ«ƒ`@i± €Â³‹¸6(”JK#•ÉÌöJr -áûú"hùUSyºŠt("R9»,òŽP,>ûÜc^Ê=Il‰³{ó^õùǼÂÃÉ#­­}�y¹ge†R'‰ŸÞ8¸5¦-^Ó #^óÙ]Bù‘,‘¬ßÀ ßo,WÀŽÛ½¡•û0Ý`p§jåþ|q2A;MÊ ŽðÀË�%9Ÿ +Ý_¾/ÌöãÜŸï‹ûÛcÊÝÈnÚõ‰vK¤³~aÀ§çHîïs@ëd] �ûKX¶e$‡ˆÄ*yñ(üõ÷š?y¯’Ÿâþ,Šð²ùe¬ ,¿Òàír=0½ ÜŸØ>rS�ÜdÓ™Á9> PÔ~2ƒíFòÎNH¶Îsaù¢¯€D±b³Q“í¶†Rø°ljµRÂÞVäþVDÔaËø”i¯(Œ4X©à…›'ûqVR°ù£Ê  dèX¿€<$¹?Âů]3 æ1<8|ø“ß'šýãû^\ýÑ{ï à׸¿„õ‹ �K`ý•éPf´ÛÆ­¦pÌ=žøëZ Iî/Éý9ˆX¿ Œ6²ËI~ÿ€€ dýæþãuëÊY^u€`�è Tœnª@µÖK÷'úôß1@/[@Ãrÿ…Ð÷%0`¾ï`$ˆÜ¿€žá^˜]¢‚©Fzs±qúëgŠÐ<{á¦Pú¯N|ßVà€î+¢Ðu_‚èÝ_Àúu€%þNÌÿ:7º)ÐjH¤Øÿö*Üå•F¥j»¬ël ­Ÿ<Ú¹!óû +h0|_â»+÷·ô)¿rºÞz±,É2äJXáÉ>rd|¿0Þ€ÿ¾îOÔ 1�Üßä.ÑAüFÊýmÀýƒy¬Ÿc ÷Gú¥ÀÂ÷¤ô_ZŠÝÇ`ŒqÄ2m…íÑW£‹ +€·ãþòS_ @Í÷²@{Qu†]8ƒõ“þKø¬*G;u,(ý—̦ÝçZ#2w*kHƒ…û +€—Dfc› ÷ÙüH?œºqìŠÏ…ÀÒR~gý! æì|€Úrd?¥.èt7÷šï/ŠÎª¬L`%u€ )÷W ôß u¼N쀺hˆ€—™¾3w‘ÀåþzBdXeèÂî/]}ïŠwÿwlÖÿÎÛß»üÖE¢æ”û#ë¾Ï'•þ«(LôàþDr¬Á€Ðúí +Ñ�õ=©òT¢0ƒ… Y¿;i”$]“&àþÕgÙ’q±[†(í;ä@`AnÄÿpÜ1@�?«ເ ¹?ö'àþ ÷—ï€âœƒÁqk¨ÈVÄYöx�µ +'Ï­qú\v¼�û[£T×-»¢€R›/s  ½÷ׇ¼”û‹áE¢®X)¹æ$_Ðhò‰Ž”êüéèBÞýKóKÿ߀wÿÿÖ¯«£ HÖ/aJ�¬_Àú½ÌA\ÿ Ù„„ïÃä+äÌ(Lÿã$àxðßWé¿0ÀO S6wvîo™¬€g¾ï�“ÖÉºŽ¥8nÕ¤ +@·/ЈöÓGßÝ–=ƒ—î¯ôßw�¥ÛwÑö�Ü_ÛJÖ¯Ž |_…‚D>Tðþî�Ý~·—ª!ü<š�Y¿u±(¥ÿÈ^u0¸Îû¬€ûãõa¿¿/ã\�úÔdÖ¼h»w”þ#–ïrÿ´“ Ä€»W€Ï2 Ü€›V€×­ÿÇWÝ;r7—Ëý¯99ë—­›ï¿wE À÷Ñå·/#¹?²"àFˆ€ÜŸ†r¥ÿHî/aý0‘NYÅ=Øðà�/öàûJÿë{Bëg¿í¨ø™´ÿ£5vž¾™Ý^.>;OD#;jÈÞQ«,4ó“õÌEâ踩²§eÑõóäksı]½*ÏÖD3lˆˆ™y–’»Ý™LÍ7NŸ'VðYò÷Zƒˆ‡f¶Wˆ$ÔÕ™òâ1¢äoÔŠ+9”�+,’ÑÖ²WßHÁ?�d¸R/ï;BDÅj½±¿…=©ø‰_"MìYLvSsÍÓçø"…©ÙäÃ)bñðÊÄQ»™ÙkæÅÏ»«€L•C¿�Z§Ï£ +G…;øÙw‘ò_¹’ü‘CÙ-ñ û‹ýÑ…x—¼ƒ÷j!3Ñ5s(Qh¤²rø~ßp€`@fK)5”åà �ïãÚØº5Nœá�-býø¦Pn>æ3å¾ÏÌ«ïO÷.ßáþ¶¡¸÷²Êp¶^Õ æÓ!ãŠW̲åþ«�¶é…õ1ë—-¤~üóXí˜]Jô ’X8ñRrp%€r|3 w ÑÀˆe +‘B÷çØóï%:ß4q,qÈùCT*L¤€g€ÜÙ'‘`' ö Ÿ„j�Z2ÿeMÌ£#ð^1à¦À÷aêîŸJ’ÍÖœÌhÉòtŽy¹'²ýÒÝ:^>è²Î¸É|=QîŸÎ¹[º"”«ÖW ÷'Êú…¶ßØ—r§a™BƒOa È>.æû¶©Ì¿"pÐÆà×ø»ØX¾ÜŸ/h$ˆ‰ÕйV@}PóÚî_�Íx ìæ¤_ß7ô€F6$ÀýQPJ­ÿgÊö +‹»@B¯4°7š“Úö—ûËS!&v?HÕÅS”8¹Ó¹ŽÁ¼Qî¯ßȶŒ›‡OÄâ'qsÛå˜N´¿NÄ‘}×?�œ¿›õÓfй? ïþˆMÄD$°dG8¦›û{ðëWÀË|_2\3,ëG$ûï_ý±wÿ÷ßûá;WÞA¸¿k˜õÿðíKHÖÿ½ÿÇ—¾ûÖÿ柜—nÜ_�‡4 ¸»”€<5AÄ|�éí@îÆk„¤üó}³þ¢�pÿÕÓ wÀ QØó/¹¿Üàû¸¿€/Èý•þ•ûw¸9"ñ«Õ1›DàûÓé?ºÁ¾�âæ.ë¿ |îï+€T.�ÒÃÖ¯Ø÷ØVb¨‡Sý� |_ nÎ# M·X? HÀÌ¡ÙÕ@J?Ù_í`p™¸ÄO¢#“_hö9³`" ÀGôÆ8œB - %{ºdý:6|€)�íQúÏtÌÑ’Û'Eñ}Ë©´2û�ÎÜÚýÇŒbîï:dì¢L †£ +@kÎwt Ë‹e‘Úµ_];ˆ˜Aë#Búš¾�w{y#Ë”´äpóºÄ_ P? ÑÀ�V¤ôß>½i%€V^¾ï…û“ K¢À÷a€ê€ÐúÃ"À*–CCÀýihÄ ½ %‡X{»«áf­ ØW‹Š,^2»ŸËNZ�¿IÐwZ´Â¹?‘M!gx¸µ €xµ¾Û†õð€Üùëb}€ûwàÃk×¼t™fXÐ�û»ÂX¨÷~ˆ~|åûD¬_îùm³~U—pßoË¥ÿ¸?1ܘ¾€Üáûr÷—ðqõö€€x‹É9> |æþE÷,�­½X? H<¸xHkZ¯ž—,‡yÖ²uÒ@âo¹¿’î�¬—ÒœýÆ^�%ñ÷E +}üôù¶b殞ôPñéNB‚r_¤Ç*IV`¬2Xª¶û‚¶–“} ÏÔÕ�D}#äÝ«u9>EÀhm^ò]@¤ÿ0@ãüLìYDúÀÄQ’}ìÞ„û Æ!×ùãÎxß¡õ¸.ïþü0æÑÓÚØ³•þÛ%á.°´px É)8ü�-ÒÐ<\GÄ…ƒU©u´Ñ:޴ΟE–cÔqG¯ëZ°^ ¢}¨;ŒµLlËá¡ DCß÷$ÕꢡÜ_ß§ð€D7G펒�¼e'Y3õC9÷×GcÖxGG`¸r¯ªH–ÿÚæu`û³IIÿ5âíH[Õ@Q ¤„@ë¾~E@~!H°…»oç…õcgaவG4¼ûÓЧ‡ë`cKܼ H°ÆNËý­“dgØ$áû0@À÷£þŸtPJaýÖ_¬\Ã^dÐêµ÷Ûßý! ÃaÁ®þ:¬0QF¯ùÃb€£Bø5ݳ‹C¸Î`=W®ó'*L€Ü_Qeb@Zs@]@€t«. «ï]õ + ©÷?€g¹?îåíKD ô_é¼ utiüaoß ¼}£ÜßHPMyÈúa€õõç“TáÓ€�Ý�l·Çl¹Ìl ÂŽ [t9{±Óì«kÂ4ÿ©Ykd²(ñ`á˜=¿‘‘ä’½ŸÎ¢ôc¯Ü““•ý-I—lJ2ÍHçQuiÙ5ÚÓã¶ÏÓK{¡ÌÖº'AiÝ’Y¯ÌÖ²Ôuo"ñ`J3çšÅÆ¡ Ú ²p!J¶^9x©8€1å}Ïó�Ò¾£À÷´¤äÃiu +•šÇ‚éFq·]ãφ¢1yôe¤åÔŽ~òè)"ªúñ«¿\_œiž¾@tÇŒH²W=³Ûíî¡õ‹:ìe �öŒrâb«DTÃY~¢®ÙބֱuãUŸ…ÖÉ•W–�.ÏKË/-­¼²räX�ÆòÉeéèg›Ë'ZèÐÑ>µt´¾p¨hON'ºó¶z@­­vµ%=* ]žÃ÷%×dj¥ÀÑRmÖÜ9=”Ê� –j6�Nt‚”²þ ÂŽÈ'’z¯¼Ú8úÛÕC/”µÈ“ÉÚî²µn(dž{Ćšà#ì´­ýˆ­DÄ¡lhÒ¦�Q*Ó'"mRÛ˜Çí1�’]„zºŽæÙG„(r†®¾ûÖ ¨€ÁZÓHÑîMíë·ç¢ÊN^!E�&?Рކø¸jcƒ&Êú}€T«ÍîAóPŠ4rLpzßHùéAuÙsû‹ågp·Ð²ÕuSÝ9RžÌ­ñT¦úLN‘]®PŽNWí®1"*ŒÛÒ%(KàÄΕ&†�.-Å7IŸµ†’=f}*LÌCƒ{FšüšÆ6+„uÓ!x—¹6“â$„JØ•d1:)¢c„wÙ¢,ÁPßm[Ì^uÛ�-ãÕ Èß (ü”¦†Pyr´±¨WR't&ùdãòÛ—®\¹ìuù?~ïêß¼/½ÿ×ï{|ô÷ׯþõéGï¿ëÕ¾À`ÄθsÅáß÷ÞúŽdÝJ-K‡'Ó›ºòÛ{bê—Àd6ÿÀÄt_óh–XŸ³Ó¼Rà®óÉâþ›»G¶ô Áá�(„2Z“H=Hz:›TÚ‘‘2�öP›ùC[Q|ÿ_ƒõ{ewLxeò¥¢{ð¯Æm«2ƒÈŽL‘û¯ÀD³%aý#ãu©sÁ«/×–OÕ-mw�ì¸?±íþØ.îO¬=oCI3/žB+t0›_\Þžáå¼>»½*èÁ^Âý‡Ÿ¬ ¸¿c@Œ °{I‚Ù'k,ÔŽÛmÀ¸¿d<°+\CĠÃC…=X rHË’Â|Ü]{‡Œ.W’õë× +ÛÞýiÀˬ†Ø€…#e„O‘. .u ++ „õKG�ÏS 0 AKCvïOøÿz÷Gø#Ö¯3H°�pÖ) a:l&^ljô¡0@°>¥Ê¢¦ó¡j謯kÛ…¡fØÐ‘ÂýãHõ%ؤº­W@ÚªÚõÛ“Âúuê¡&€T‘ðh`=^qvdélV0Eî’û#ä ø BªŽï �`¸@�€´]™»5Æ�6.ÐΑb)�õKl3zW Èúy•ˆï{è~;™<é^­YUAô}èZÃê\Áòq¶<î¯íïÅŽ-Ùïhn=uß—øîv`âÌ#NÐ`Sh³ðª ðéàFútgv·2£MçÝ5PX X­À4`ý0@ÏlˆàÒ÷.Þ +žÀë ó}¯Û@u¤Þ|Y¿€ûS+ˆÈ€ˆïó|?ùp×Mà÷ÿ5a†~ÀÆë/îizx÷»!‘ø‹4zÓ‰R •+zyCGʾq¢w듹/Y˜[ +ÕXÂ:•þ‡ÅAôT–ÊáeÌ—)ÂÀj Kÿ] ­€— @êÖ�hx €s¥À) +÷GêºU`&èê_@ý0fOr„¨_˜Ÿ‡‰_Ë»?±þÐý‘2£�0RH¦ˆø>îÀ¡çëÈc€¨ô_€úˆlÝ\ çUC+oSlᥕWZ:À¢Èý…¬Ÿ" ^ˆÞý‰n Ø¡pžb‚ø D4øD›Íᇆ®ü±)Ñ bl[_Ðð¨7Ø8áØÔHn[R›”í©ôË€Êý%ø9ˆ²”Ëgz~uÈ«ëî$‚�û«À÷+;m�d„ûK|.K°=A ‰ÒûˆÆŒÌ“%6�k(÷�U鿯psßÄ'úôÉú%ó}çþªÂôßUÖy¹¿Xª­¼Kÿ!‰?ÖÏv”ß8™õ3'b3âþªð}¦„=?6;9Žïˆˆ\âoOû²:÷g�²Íè8¡­WŸo3ß‚ñ”Ò Ìý§3&WˆðbÀG}t+ð’ÿûÎÿþm¬Ÿˆþ?@æ±�4ð}�ìë²ÆæÖ¯:``Ó¬?5ÐEÄ÷íÁãî�ý÷�ûÝëñý”{"? ?ý›Ýˆ¾�sv»¢wßÿ×Èú‘õ¹. ©ç72ê:÷]@ž( ]÷&<†Ÿš•²crÜŸ†)ìÿ)íY"ñ]þÆ“º4tÇ–ôÿÔÛƒâ ý_]ÄL7‡Çg<‚éÆM`C¿Eëæ+äûT4^|Ù®�IãÀVîoîOÃ�f'¶èŽ4‰ŸG¿�@mg0`éØP†JHÜ_Àí`1ª�ïBªd‚2}µmÖÖ@€ù5 €Ñ³üx¾ßÑ„_¸Fhý«àÿË'ú¶:ý‰Hý?RÐvß]É£"ÿ ;ý£:ÀÜç@�5¬‡tüÏ4ó^º«÷·{‹,iuOÔrC+ëd2�ÆÁ¢ †œK¡•WZÈÒo…OQ—šÏQHÕæ³Öp]C|kss¼Ï¥ÀDŠ^sulÕ Ì¦Õ°wE{0j¶Ê^#�g9±¾PôbëÍì$]s)UŸÍºaMl¯å“•™ÆØÈãA²'›x0½ñ¡¡ð"ˆO^3s ¼$uug?õ‹™;» JOÛm å:ß:p×-[wÜD}Ñ(<Ù_�FÙ\²†«ÎfÓCötâüv»¥¹y¼B#óX’–h'�wÙDT®e½Æ&ÚÝå%|?Ë×G!beç°l¨úè:]ÿàÊʩ֛|�Æ™ÿfùêõ«È7¾ù§_'^¹zùÍÿí ÅË?¸ˆfçÇPc![šèÇ‘‰•jÑ+zcfð7{‚b¥3IdÉþ@"»Ùh1úx©o…oáÕ?Ø-%{ºRýÝ(ñ =\šo�ÒŸîµÆÃëA;ØÔtçHtMÊšÂnë$‘äV(xzë/N7Ðp©* -@ÖŸÚž/”fh`¯m=w”… §ÎÎ|öº=˜Ÿ8süTµ#/cý€†ÀpuF¨=¿‚n¤õÁ÷|×À÷)ÈÍý±õ[ [ªj +È–g°~E ½­(5<l€£Ðý�±bEw/q4HäªfôÑÝO¢@€€ïó# üWäþÀhv_û +–`ý®ÁeÍ­ÏVð}"Â÷yѺï?[Åý‰HX>Ù²µQ¢}{¬œmxØ’›õà ?ÎZajîሖY‡ßšEaåb@üüE†ïqfÝ0mútaïÀúUáûÅ +yÓú8Э�ò|ß3 øTÆ÷Çú%¢¬íº."ÇbòÕ|t@°Æá ûx¯€ïãÎÔ74ô æÇì93µÆ(Ö¾X²_ ­ Y¿êäÝßôL¶­[@îOCÖ”û<ZÇ�ÅðÆ·ÛÀfpîïæü™POißðîOÞŠï{ Äì=…ñ~48ÜÃül=„û³� ›At(bý0À�ýâIüý�o\�p¯oý/ßðÂ÷€$ë¯ÏQe*DÔX(zÕ§/UÒ’¬_y}²ÇS)/ÝDÞý‘¬_æ.ëÏ>ÖGd6¹?Ñ»ö±^¬[¾Ï¯@D²~v'€wH€ï˰�¬ŸhE@ õÃöèG"Âúã ÷—€ :« +àVˆÜß*ÜŸhÄ€û{y ÆÉö¸o·€Šä  +0@C°‘'bHç+fý®P/¿î/áû’«Ìýu߯·Ž°JFåÔ1]mîÏD‡„ æ܃x ¬ªÌýÁÀó¥…ƒVx(zŒ=�õâ-8²€@ÀDH@-ððbC †îÏŽâ`¶ëì¹f€ûÇ 郈|¨ìÞW¤ÿ’:pì[7GX {¡ ]g>„ €Ëý™!º¸^óãþr@ 8óÅ–•¬Ÿ#‡ˆï§7Ù#½hp²­À€zð¯m½ÏôÉý÷q@†î�°þž_Ít`no ø"@@¢;å‹¥ÿ’¬Y6-óBäþHEÂúÝëUØxÚdýqH²~IË—þQàƒâÖ/÷·èŒ§a@¾Ü�Øyˆ£Û{ù!`|éË»Yó’°(½)!äK)v ¬?·µ—Fv4‰x 1_²…ØÍ"®.$Q%"~vÜÁ?Ö +÷·Æ=b€ý¬nÎäÃÖ°­7�hž0Žº—ø•ŽV1A™¦PÜx‘ø£`s‘û{5ê^²~¯8NýÞQ¯sÿï/½¾‚ÄÿÛW¶üéÀ«8n³!•jàU|r´>W £;óÊF„ÅêáþD+¢ +À¶sl,€/°*/Ü_ò”ûKø~fKéV€@€M‹·€ÜŸôŸwu€¥Ýªø€û+Æ+Ü+äòqUˆ©ßéE@«@É ¸¿z�X7€âœùšú@­3Ô�=STç�*€ÊTëW€û·NÔ Þ‹Zz®³~ælåP4â8v¢¦·XõÿXb„]º£Â÷ÿXÄ÷ù¬Ö„ûGE€œW :*É‹ZÝ$ !"7GX¿-\p'¢Ž ¹ˆÜ½.÷'µd÷�RH6‹ y€âdV(<™VT@D¤ÿ¢@``5°~½À¹×­ÀÀÿ›U@¢H’¬9Q�ø{ÉîWËããøG|q¬0›Oñ»ó;ì®.–@¤ÀF™>º¥�[ ´ð �¡‘HÛØyØOˆø~�Oµ^©Ó`±+§—v a€Fzs÷g— ¡Üß@÷¾¹ˆíX?28÷OöuÑÀ÷S}]Ьª&…‡¯ô²¯ [7g¢‘ûK0÷÷Ò<¾Oîo} †ÖOúé­7Iü}pýúu!uIáéßð$p[üî^êöY-õÿttñ]tbV òÃX¿"ÖO +¯. t†4 2…]_„é¿z�\‚ß§ô ç{mΪÝÄKX¿:‚°~¾5 è{‘A¶ˆ½JfU ­úó–’g·M`ߊvñåÎ}¡°ÂHX3p/N[C„@5ìØ!¤<(eWXž±G¦81‘9fŠíª�'V&޼„hTý6ÐíTzŒæ©,ÙxAé\ͼÔ€P�‚jƒ— Eó‡P~z•÷,!Y¹Ïë·îœGùÉÙüÔ<_ŸÃ;“/ÞÜó^ÐHÙT?¼Òóë™þǶækóˆÿjMòS�~óùLåàËŽG‰¾ßßÿ}ÇPå€ô´u5?wЍ“`òå™}9ñ»72›TO[Ã�õ*a¡Á>�Ï÷Ö¦‰%*ý‰´þœÒ�Ú™³­âXŽFópÅkþ¹‚—N¯Ö¡£U/ãØò+Íù–”]ônR#ï~ž’¢Nô€Zç’»y +±caý¬•uÍŽÊæM¼:³7˜�.Åa!v{_ø0çõÙ†—�¸xdLmu9X§ "m{ûÁË$6[5„;gg«©¾T~ËÒÌoMû-©˜±†ˆ†íóJoÊ®¿;…6lì—­‡êNõ<’EfåÑDLáê—_ûâÙÑmÕ5ŸHÜsÖëÞû3‰ƒ ÿuÎ1`PªLÅ~¬£Ö%ÕÖ‰J}÷(¢QÛ5ŠÂŸæÀ*–³g^m6æ«c¥‘åMbi<·°TK%iÌ4òì9…íý(ùp×Ì\0’„ÆD=£¡€­¤ÐÄÎ,1½)Ta<“ÝœòbJiœœÝ½:“:U(¥ƒmÀ2[~: >º%\OLö¬Gƒ¿™°ÆÃ]^Þ…�JKس›{'¦rD”/ö{hŠ4¤¼x‰]H{ -(¤ý -Àes\el |&˜”ñžb!™}¬PV’È%((]ÈÐÔÆ…Õ>~§ Ää™î�©(ö’Þkš…cÃëÏܰœ{(�"=ìǘSÕÎý�=!õÒ¾*ô]Ó¹h‚õt?Øþ°…Š=öõÔü ®óÅQ´ôCfã+ç>ûµßk­7ÝžY,ØΧÒQìe5¹^BCì…L&35e¬Ñ$|ùͶút2#+µÊÍ›[ÓS[à öŒŸNEŠ#(ž1F³¹c5'¸óX1N=tõ3G¨’ï:Îa©#Çœƒ9)©ªÕ«Œ(á)iŠÖ {°/½HñŠ1Ѻç�8­ƉâU×Õ ˜[ˆÉ¡ÈAA§_ˆXÞ}är2ØyÁÑD„ï‘é§)A/Í*�ÚÇo•±¹dhûúQµjÁF�xTµbF—¿õÆô´Y_xÔ÷�!Ù Pü–eè \ ‚ŒnGRq¯¦ aÜFý,DSB&Ô„¾Mc¢ö."âb‹P?6ËË«å© -èNØ0´e_8¦ÓqÊe nÖD*È¢�]º6aõä�›ï\›:еqíÆÍé:–<Ûïߪrl�\$‰»~»3{ªû9Á±7„Ó £¡ÆPò!£½áëÅ\iÂX.0¹—+}+ó¾ê�| Üþ–6>|dccÃïŸ/5ׇ¨GU°ãÿl×ç0ÀÛŽ›P)„ 0‡}Xú×toý>ú1 îåñL±Ä÷ï…îßL‹^R1ê�ø"•ceñýäxqi¾DæHfÙÕÆe £LÊ^é*dêa“HÿÝâ‘§¡B–þ)„²à&aÐq¿Ï,˜KŸXÀ9�ö:S�%·\:Yì+—BÊð;½ -Xó™9z8£šXØ^ BV}Ró¨hÇ8dœ~¤jßß²ïw.=wA/)^оÀfož#�±!™Y=†]ú%™kBÕ›ƒ� –&ÿw�–fF#•K©˜[Kæ?Uܧáß”•Ç0É)8!‡xS‚åP~öå‚Â5ì1£Õ¿—džùñe9AÒŸ+;QîOª `ÏüÉÙÈØ ßCéCÓ)Lï –S<9DÇâ‡áÿð ü0%i›—éšGeŒ1÷ÔÓJñð#{‰¼ÊxÊ -E ,£LÅILE‰Ú�›È}0µ$°•{1è€Þ΀“(•#„™OÕƒ8ÿññ�V2ª´l¹ƒ%Ä‘gÌdœé”ðà7T�Y`~ÁÆ/Vr½ë<ÿÁøH¤K /ƒ2½˜J -dêAÖu ¤ûÖ*ìÕÉ’’1¡ƒR 2駨[)62ÍïAÈ­Eó_õ¥ÀËÔ MÏ;êá§²Ú2ÛÇÖ‰&8HúûŽ£Sø»±¼\››ïv¶šk7Î_pZ-·ÝZzþ'–¿õ͉£Só�ŸÛº�u�Õ“sí´Â'?š·×²ƒúùK`y€È äòÙ -�þxJãjk}R¯Låø© Uj„ÊR«çÙ…•�ȈÖ©lÛû^œ¥ÊñÅ'fW¾¿þÿöÿ ÌÇw`ÂR3ð�¥yks«³Õ¹pñìYö�t}ßÝô§‰:[9žïwÁëÜ¥°Ïî@7ä 2[h‚…�Íd¼ч!ö‹¦¦«ÝÚ²ïu.»€‰Ù\y;˜ÿz.UÎÔ.¬a &þ8¢Û†yéÏ2+è‚X±³ÈIcu•uK—d´·“X<•jÙšÔX*Ziƒçð+°Á -‡U —�‘XÎ(h¸hG’5¤ÔÀHF�•lR¯ÀM·³Y;Yc`õ -R¥†!¬Qfÿ$Õ–…8¦ìÔ¸äw#iL rhø,ý±Ç3ŽY¸£Œ¦œ -ÜRŠï�nÀžÍð峯ÀˆˆFðäjIRÖ”´, ->Ö -¦¦ýÄ„|I€œ‰¤¤}2‘'ø(ûˆË:ö:(")ƒ½ž7ÌW£¤jüb3'r’3$~p7Y"ý‰SÁd”¡lŒ$�ÓÓ$÷ÑöO9èÕ}Š´ø"± ‡Ð/Ii;€ÑœÕÃùHc`<û "� “ÃÒŸM -˜èð «,;¹ËúãiFÑnœ¡è÷]œóp'gNê úñ=Û¡·=€ÈóŸÛu9²C=RÆ¡äŽ�ùÏ -¤^0‚Á¥wvX˜Òľ´§�ô�r¶<{ʤIÜçûû/²„¡ïøÚä@¥úÇAе N€…¡mƒ£’|xŠ~KwZ®B©»eWª•î§¹ÞXøÄìÁXXZZ%*�ï«W¯9^�š©®6•ú°"¢Tžò:Ђ*÷ËXÒ×¹¿ñÆ«|ðýï~tÀòkÈs«Ä’ý~ÒtËÞÛ6PÑ� ,–¢N­�Zà�xý2耥§/Uvˆ¡�‰å©QýòcŽÿ_H‘šÿAR!¸ôï;ñêïù…yýªÀaÈR5ÍÕ»)ËJ-å\+éz/”ñ‚ïE`–D»iïh¹¥Äh¬Û ƒxöc&@’*Õ©Å'ÉÃK¥?¨„­ÖýJ-I3Ÿ—ãùpö8—¬`¦�¤?ÓY‹kZ-©Ò`ØÍŽ! fu‰1\É�õf9}¾v«³š†€å{¹K™ê$‘f³0ê•rH€é§kÿŬ8…\¨H4¡ºóõon€=�5 -€è¯¥ûû²Á’t,¦Aú“‰V?Yåd,�¥2‚ÛŽrâý):ˆÈʮа�Ód»Ê¾*^óÜå›U¡€$ )œ’|!Ùþ‚t@8†ßÏ86ùy‰¹˜4ýf¿»íôÁÀy¾JÕ´[®ï ×cçSÖÌÊÇŠn êÅÞÈzd @qÐHBÊtò¬÷ #rEYî‹ 4—ß›dØGúO_dïß9ÔCm¬lð³/Ì�(”¶?O†êôh'IÍ�Ê;Cp'9ø#p’ûà dž“7�¦7wb�ù - vÜj¬y­–wæÉØÛ÷1ÓÉ: ›ÿ9´¨ýO‘d¿�9�’‘�3Ȥ¡)|¿¦Šrµê}èÀý� ý[µ³Õb×Ìs:†UvûÉËa¬Ðzïó³¯.¿U_Xt¶lwÓ^¸øÜÍï]�ç?y±ýæf0S_:4Ö5£b­z¶]žžSÂùÞe�èçZ¡ÐíØŽ¾Ý¼vÍio8íÆÚ›xÞΫI´§ÕnäÊÓ¸H -“0ƒ†,’¡‡+° „ïL™ÞÚDûôÔü\•˜›÷mä=àlÖ49Ow>Xõï®V?¶¯¹m×8ZiÝkììú��–Z”¬\3‚]GÇʃ^_Ñ}ürI%L˜BÌp¤°þÕ´"6"â„ìú²—q¼Ø§ˆ9Û)`H°Ä„‰ÞõqÆ�Mä§�øMh:{”Ã!uÌG};îë¨Ë¥°ï»®:njãVoω|\4PÒ1ÝáAÄ4jI™ VkhzÔ‹`õ‚@”©cc"4ïÕq]×a_(â+Ìd„~)…>ƒX¼òûo,.ÕÝn«2mµš÷�û]ë(å„ àeb”_*H: ô4½mðc“Ð^aÒàÅ"æ"£"U(ÒnØlQÂa¿Å°1óÜ®|¿±øX]-¢åOaöx¾7iOO¸Ëã½Aïaþ‰]cÂg´Ë¢*° “¥X£†Á@H‰ïijP©UíÎÿee ˼pêDëÖºª‰ÀíÎ×g6&ä^ЛÐÕNÇS­—<)臌 †˜Û¤ ‚B@—C¶¹„ršíb½c½#�XÐuigLr7=gË;sñQ½¤€œ¢B<·Kب Q"^Ëñ¬Y)‹Y/zT-£¨R ZÑ4µÛ¨�ö´¢osOö")Lû>wÛ¯`jE)0;Ì>40%8ÚÆ…` úI0‰–à„ÇxΠQŸàø2aY?@Dý>¦5øº°ÒƸ®”¬:ùö‘€ÜÑîìÆ]nCç°½+˜ä øÊ˜¡ô©x”�Aj\¦Èiy}²Ä5Qð •£Õ¦¥µî9Ó*#߃éíbÞxÀ5øR$"º"Ìu¨¹ào”†â|¾�˜[Ø–•`Rö�Wª2sLFsŸØ ²ñÂhîÑ „Õ¦$ôrQH{¨ ÕIÙsüx7R§Ì=ªº,’R‹@ çs#Àå–ÎÿÂ8ñ± œ6¢8`c¬¦Ó%ðWœ-›ì¦TQJ¤MXú¡2—{dÒˆiM¹&¬ÃåV­'³\­àïøúB{Â�ýWëFÙ4[ï5Žž¬om¶`›_8³qû&HÿGÏ^€ƒ©™SÓ'?¶üÚ7«õ9sªâlÚ&ÙG=ª6±è¸ÓL,YPæôŒÛÞXþépÀ¯/¿úMY×ìfãò¿Divî€É±>àÁ¨mæQl¹â2J«R£‰ÐüPÕ\é%͸2½_8íߟôaøëüi½ûo0œÙð486 ó{ ͇ÔöIdq/é»®OÎOƒ‚•jvKž)ñ%ë:É_ „ ›²ôÇA "¦ Ös×È%û¤羫ÏЬƒ�‹º”&¯l¿ÉŸ Pè$±”ÕÅb š°è,÷…lgÿÍX¼o’tpÙ(H÷¾W¼{XöX}@!+‚ %+&ŒuËò‡Ë3¥ˆr‰Ã[GEß ‘7ÊÞt±sõ±¡_h·Ìbýcà>¤ì"ÊP•[ma¯�ÑbŸÍȼÿ†e;ê„Ê=…Qxó3gë ýa£#s.¹ê_ð³‘Ï?ÜOŠ”ò�ɇES]/Šþ0pâ~�Eÿ ăn°hjï¶êæÁÕh\›„•t9)š |„=b»Q~þç?»§‡¯üSbl¥¸½˜Jý €3óBÓ $-lÒ?u$©24OÁÆx©wÞƒ}«±,_Áï-ÔX]yø$´Én -øú!‹ãé"Õê ýñ?Oq¾‚�€+8pdZ‡x;‘ãÚø -vn¾u¥s/}gQð9€&¨W«`þ“7ϤÓBUTM£Ïà¸ØÕ,™Ü2�Ëó»wó - 9aX`Ø P-t[ßY-Fèöd.øƒÔÔKA¸_æ’&H~ ±SÒ×o¾Ó˜¦¸˜ÿ‚,öFÎt—¬Qó6&²˜¢¨çƒŸõ^�ù/kìí‚s(²b–L�þyAï¾5iéB‡ƒx‹)$%Áü'ø°†ÝvÎ?» JþÈì­^Âäao§Žß‰ #Ôü™$”¬&xMÕ�p¬#ÍI¦ï¤b›Êsñ±‘7»íUO[œa†=—úñ÷s«Qò>‰¨ŠúÃl!w_ƒ@éO:qø¹î -/G�R�®´Úöê{ç‰4A …wb,„S‚[Pâ.ߊ•Ç�á’¿¬ÚªÙ´;MÏ"æNطڧʸM,¯•‘Û‘C<14Œ&» ßc9(ÈjE¨Z%œÇu4²‡à@§�­ Í3L§ë�aéö°)lßé¯N¢M¢1g)©O¸˜ 4Š b!ÆÊÈ$ÌL'—’G>K¼{¦ òžqß$„éÅ˼³èäÛ<ÌW/¥à¹ç•;)_1ÒeØA×ßj<,ýÃ\R$Á“(ËÁÅžôÛ8›ûYn€J'ÁNB]Ns©/� Ξjpk#ø+ ל¤gƒÑß7àºÕl­qƒmœ^‡t`$•²>PÀj÷'Ô^&¤‚‡5.�Ÿž W‘š%l ¼¾Ú8³P· ½EâÕZ"º³2ë"w� - •U«S¬r4�½i3¸¿Meòï%F1Øþ‹¦[b´Ëô`�>UAÎÏ#ö¸þ·L„sùrÃ|­úH)äCìä»^á»›mÇn�Ó®ÓNÐ`ʇ+™èw©þ½v -cÄñ`øÙé*!Ô´[/<ÿ·7½©cÈ÷R>6ËöûKŸý |çiTu¿A -À "-]ÆrjÔøT8-Èüønd#D4?á Jq2�†¡ˆ�,ül¸‚8ë%Éüæ¤åøwQù‰KˆçÀt©ºF–}ô2«Š^襺½]ªï*øX�qEpȱ ‘6µÑw¢hÎ#8Š4 -Ä -@M낸†Ä\L�1úBáÊr£2�'jD?8ìðGØz„g@Z¤PÆ@A´MÏÉÀñE(�ÊIZ�h`þ_~íú¥g‡‰™Å¥V,,¤1´ôMKÍä…‚�S<²Ìt5&1˜ÒPRñ†¢4 ¶˜‚G }êŒHs? Ì©’Ä™#²Îp$û¦~(^ð,ÝøV1[Ûy4©…�×­#Vc'[}aF�Ôý´a›K}’šŸq´Ø PÇAiçb^ êz5ÀÇ Dj01âLU{}9Γè¥I8à1lN&Ô|-Z›dy)âÍ×o�>¥Kƒ·ò��Q/­ñ~`’ªGTçâYaš¡ú;‘>!kiÇ8¡]g»è‡2Õ‡ˆ2+˜nñ¯_¹ÑrÝ ŸZbZ¾ÏT›�|�XëÉvåvWÄÀ™`«½H/ÉÚ$â/•ø*ë&‡áb=p–¨ÿ€[™�.ÿàÍo|óÜé³Í+o_$¶Ž×¯põõó§Ðõë×—�7þà˯Ñh,T¾ñ�sWÞ~“Æ•÷.þé·ÿ€—hœ>³ÔØ\yï�åÓMöâW¾ö¯¯~pµ¹PÿÖÿòMÔ—ß¾ˆ^>}èú—ßø£³Ù|¥†º�� +êÊæì‡#VŸÉvðÕºáD±š̱ݺ‚’MA62hÐS,eó…~Yw?0ä+ç·ÛÐîä°�ACm�¿2E“~¼‡cG2÷·ôË,¾<óÂ)4q k‘¬_ ˆ ¾¿UÙ½$áq©¾4  �ï£I7ÖôØ,²cóD§Õ¨¿`}„qx÷·yÜõB�ڱɠ8·Ô€lµá`½ùø¾®g5D°Æ­@C À÷%6ˆêpØícL:ðR›­CÅ=†Ò|1À¥ü¢1 ûks¥Z•ÊObUò,@Ù Î%eMö÷'¼°~”z8i ˆ`ùd[Þñ;tS Y¿„gÉýíâH3ߢ ÷—ð/fš!œ¬p÷`ýïÅýuîZÖ¯9q|™¾wM‘Ý+zöŒI­¼Úr¾ŸZ>Þ„³�¢ºªh°=s�bü»×£Ë§+ÀúQϯ¦Ôó«9‹�P¸ÿÂçþ³»—1 X? èâk)Þ«¶q8þë�²ÆîÑ`¬—¤¡‘^X1bj ˆ0ßgcFŠ[s»b�õ­áv1@¼û;€`€a`(lé“ð}/¬Ÿ=Šèd—'Iê£(”¨KlH /7þp@D�…"îOñý³¹¿(ÕvC¦(6öËOÛ¥bD¬Ÿ]H Ày¢‘/¥ŽŸ¶”¹01HBc´ØkE µÚ—€šq$Ö �ÃÁM€û §Ï´¸?zýõ—À7þÝë¿÷ÖEö"Â÷½äþ@­ãU�/õ"]¨#l«‹©2•B¹'0÷Ùfå¶Ø Ð’Ü_÷ŠÖ‰DÄîÅL?.Ü?ý™€bË3ë‡h~)|À˸?ß'ýG`ß·«þ7Ûåÿø]ú±¼`¾¿¿êFàþ¨£Àý½B+?qfbÿr¸?Ö>Ž1½ª: ^x˜á.C« ëWÐ1 ^^8¾°þ®.Þ±~ÒÄñîo$pµˆzÿƒ¹ +1àÜùìyé.÷W‡�± üËË€>åÕÜo¢@ª$Y×]눲~"y,£gFÒÈnJ{åÇ2¨6›GÕé(ÍQWä#ÈýõYø¾o´ìI yD£2•A+§+`á¹úÊÉîOƒâë·>¢Z˜ù–Ò4ðe¥ÿ4Hü±~~J1ØÍG| �T`ý™ÇRª”þ3 %õ€ÈD¦h:¾Ï/ED¼Äþ£9ñ}¢€©!_ð —‚*ò[ãî¯ +ëG`€¨ëôCEßýî·±~/÷w²¡$v¯Û€ +@�õ ¸?¹¿¥ÿÛûeý’¬ |_þРVÀúÍýsVàþ¾ðð Ü� \ÏÄЮ„5ãþªdýÅ©†*€`¼Ñf@ æ›Î¯;@î/÷§¡p"(ì´¾#Ó /‹Ö/÷_ yn]@ZCߤΟŽ. D⟵{’‰$þ^æû®Èw!6H0Ý”û#|ß3@¹¿Š€æçNáþ€úpWX[EÀM  +À@Ö¿¥ÊÂý‰¾PPµ–—Êã9Éá˲B4’ïÓø9R�OUë#€wdÕ´«Pr_xðLtô +_V�ûWæ²ê ‘ûÓð0h§ü®�Èà†íæ . xà;hø�‰|�*©ëÞ„Üß@Y?v¿ñ—:ðm¬]—Š@E€ÃÀ àˆÐk»Iî/©ÿG]@Tr6)¾_ÏáÈ+§[x¹?P€õ«à#ÔÿƒÌsÝp@ø¾Ò;¡êrÿæá<ë*ð}@fæU@TXîÏOé+©£ðÒiRUø»‰¿W|ºOÿ‰ì6äþоÿÇ‘õKÑ�õû. 1€Ý@ø×¯/{H7²~Š$D øGÀWðR°²~bft¾¦ÿÄ€|Ï�Ç€ÜßWG¸?² + þÂ)dÖOãøJ¹iÏr!>Q”F&êý¿9ŒÂ»‚Ý�Txwi×’,Þúyì®#µƒË’NÌ¢”6§þüIiâÐKõã§%rj�¼f]Cn&(A޼\_þ<ï¢T£áoRCÍ盯œË–kI7rC[6¨0½¯ïÑ|ãä™Â³ûΞf^ª^~ä3#ÁS34`~²ÖÿX¾ç7²¨ë>»-ë—@¾ÚتëD÷´Ææ–‚©¢Îõ5v5“YRÇÂÞ–TÞ¿ììi¡ú±SG^}}ù‹ÐÒo›k–BÛ +;µvëš ½ioè–QT6W©¦«µATŸÎ¢êTÆ7&ÆûëSƒ¡¦³ù-)@#7Ò/µŽÖW^i¢Re5�WFï«>k�Çªï ŸšBƒ�«ìÌH¥§úQ×}ëQùiÜÁR-D.†²›{8ν ¡×‘ÒÒ 5´pÄ:âÑÒ v_šu£+7öÙ­¸ÕØ“ÙåWóK‘Âß�' +íæñâ¾ÖÖùy‹¤öûƒ}öè® +/qk~·gÜå³lÃY7¨†žÕ…X�`ËZ¿X'~å«ç׬YŸ|hXº÷ÿœñêº�,Ôú»Ò¨X±"Àß!Œ´U7žO¥–Cü7Øb?ÄX%ƒØ€åjÿô¼]yIC§ï�Dcê^ƒ¢F·Fl@¯…Ãcìr`Õt×ÿé�X¯âÚíªÜjópC»(SÂûÃG˜ñ®¥VuùD#üè…ì$ »ÅÝ.g�ìþ^{üržˆt9ƒ®k˜}® QÐäžH¦‡º +iT®º‡Û¸{•'j&•º–)9±|TÝ™)O±ž4ì¹çO UžÉ ~M?ÞQaÂzWu:#9ަ�¸D0³g}å_»~ýê�~ü} Þyç;Wß»üáO®Jøþß¹§À£]ùþ÷ßúÖÅ?»€.ýåè‡ÿÑîùøcžŸþ4”þ+]½zåÝw/éÜ/ Ý'Üz¡Ž)ëq`R¾Ü+•'‹n$ŸüŽž­O=”/%ÑV7Ê[q<9òDw¾¸Ù½�¥T®Ð“ l„8�g�-=’{µAb°-ÅN®¨Óéü¬å©´(wk\Ï; ¸Y°.¤Àãò;غ€]&Ýø<Ö/�0\²›liàûdß’Ü¿ùêùØfçþwßc[=X>¿ p`o/í}e¶×úryt+¾�ÅÃä� ™m|Gü]¢Àý%H ÷°~I¨]Y ¬_îï€ûWªIïþø—Ü¿2—&ÖwÛ˜DÓ³¹Æ¾é•aÀ9~±”Båêm¢�ܲ-Õf€@â¾õD¹?¨¯Õó²~õêbý²^æ½£ÁvënÆ´?Ѥ3gK­’Ä1?r¦24ð}Iî€õ·N4Àm÷ß’ÝÁëU–°~ àûd»¤l�¶7w¬_ÂûÂýa€¡™#ëw×Eî�\ma½çç^_&Ü_Ì)ÊC –°'Èdí* >®PÊáþq ïþqÜyo8ÿû_ëòîÿ Õï,)rÿÂS6Šƒg€b`±$ÐÀ÷y—„ÃzW[ÿå%¬_Q¨_÷Dz…ƒù­1g� £Û’0@{©ÜW¢O™kÚ�Ó’íº ¶=Á€îþ?va›³~>]9/ÖŸ/ "€ïWæläZ@î¯+qÞb—0º »G¸?ÖïF­ê€Æ;â7e:ó‹î¹`ÙŠÚ‰ž5Dì�¸?ñÚß¼kÖï†À¾?úÈ¢ý}pU @rÿ÷ß¿Ì{yU¦¯†f&"ö +bWßÿA…roe:M ¶%±þì¶î_§”‘õïèa:Öï%ë‡H§Ûl€6`zfÔžFб~¢�6Ø–êû�„Ö϶%r( Èàpe¸([ª¤ÿ˜#é¿€Oÿ1DY¹¿¯<š§Ï… 8~š"u ÌýÝjàû~ UJÿMt{�ˆïwu'UbîÏ~Á· âû$þ¤ÿH¥€—?,`ý’¬_ �û³}n€éã+²~¹?‘ãJîé 4d +sÜHø>þ®:@Ö¯ˆû#0€:€û VÈG0té?÷—`êÐÿ™ûQóp@ôî/xiåõ-ð}T°WÅ€ñ}_àûÔª@h÷ÑþGC¦æÝáûK_uÀ�pã�n�s÷OxãPú¯õ—¡H€ŠÜ_éÿÏ€5ëòé?ø>(*;ù"àöP �¯: +òvÍ%Eò)9’5‡ÿ=j}k’²{ ß—äþÞÐåþHÝÁ³ €ægN½ HPú¿|4Öï+ïþPú¯ +@=ÂÓ-ïqîo�§†�À€õËý³ñ–8ô`HÜ¿ªðh1€æþÞÙí/Ü?¤9;à…ïߦЃ!•þëÆ1¬_îï@@[CÂÁ€,^`î=€½0lé àÒ$HìçÃù¤€tÐé0\#çÅ=�«à»€<”&{ˆ¼=˜n–öY]dÇë¾Pú+ÈÄ[_~C@6<‘x…Ö?”Jÿ­ÿÇuQ€#Á}I€h°þ;ˆ:$¼Þ»¿r5n +€ TÏŽTÄ�ÞVñæŒÍWÎ ŸþŸùÊK¿}Lî/èÐrâg0˜Èˆq4W¤ÿêÂßÅ"î_�Ê ÇäÔ 0Àt�¦Aâ�ZGëha±ª^ Dú�tg©ªì̈=nDú@ùiKü½äþDÀ>¤ +€èŸ¡è@úIÄýã]@±^ Ðú½³Kr=aÀ»¿vV½Ó×aD“»yBÛÐ÷ÿ¨Htw)/RE/rß „û{¬]—ðZó‰˜>ÖååÓþð}_¬œ½B}Œ·Ü �¯ëAÙ|L›Û +¶d¤ôPxÕ£:‚ÔÿÓù¸Ä-ñÇú#Ð�û«`N\Hü¸¤ÿ¾@òoéÖ¯Ž UR0ž’û“Xðé€x«. H AŠ|ú�õ‹²r"b=±~ŠD›Ü_ uyàûÌT°ÝVw ’*1à[w�¼ûwÀ·ÕðºþAXtTDr|\ @ÞýmbTKüIöqÿˆyäþŠruerVã©|bƒûãήÒ‰Í{œ¡�ÒDv(Öé΃xP0QÛÙ¨ìi:µFŸ¬'zR4ÔÙ‚j¿õr­µ‚šg/¤ÀXEW¡êÁeªÅä@:[ž ªî΋%ý›Ã'sÑHç‹(€:KË3'¾ÐpW‚Ò¨EcáÅ0 ýx!Ñ“$êºÕü”]ß)œð½ìœ³³þêâÑòÞCÁd#[ªÑÈĬ®ïDÅé&ÊWgMîB™‘‰›³Úí¥äo¤Ó#…ðšæÑƱVëì´øÊ™…­Ö«çÐÌþŠÆ,Ôø…ºT—�Ú�§'±�U-QeOÖ.\9ÙP½lU{†�žLÍÄaà©Pžè¯O¥y¸ Ñ(“LM€ “ Ä®?šÏ”ªáx^v(ºñˆPˆ‡Ýb31•ÖõrÍ,#râlÓº‰�ùƒá�¢4ð}l—ˆx/R^ŸÝ”ªï!KƒÓûònHË + 3”öc]â©[âûX�adó‡K³ûÛ~ÃWÃq=y‹�ŸÌ�ÃWh�¬ä·•Öý|—TßêǶêº7SW[îZ�|±Ž‚'Új,,{­¼rÎëý¿þ„öÿÑG_¹p~fׄË­ö?ó¯þGéè §¼Šã ¯|1ÔÚuÉ5kºÚZ›ðZwW²-÷-F‚<‚­“ö¼»cÎ6…1E[#¼µÂo¨xEźïˆ%}Äø6—­íG‰2^Åúdf±T’üD‰ÿÚµ0RÝ�óbŸG2�*ª's±‡gFzF\œ°nh¢5fsn0jÖ“ŸR£œZ?�ªzÊp&áõ7x²d‰T”k®J®¹†»'Ö¹?åE:Õ×5’·›Îš«6^ÈÁ*?Ö‡×~„®¾wٹߟ¸ç‚ýí‡÷÷ç%ã¾ö7WÞÿñå«ÿ÷+H¿µj…ðÁaë¤)?uúÈ¢=Aþ¯ß½zå2QËY:b£�â×b+÷Q+áË—zF¶m$Ú5�I4²ÝÎñŽlénk›€è¬Ÿc61²í¶Uv´Ù£`ªL´á£¥á-ÝýŸÞ€’v�„ÂD¯~ëA%¥Ãókf_ü<Š ´÷(6:” $à+€ámåì¶Š Ì÷÷¸ê:˜õK·€†•ôÔ_@Ô‰ ßÇÖóÓó2w ¸å·ï7žîÆ4V †¾¿¿¯p:Ì‚ÕP€ûcý¤ÿq\~ûÒ¹×IÀ·^ýàºøÝ7¼ô¨nðÒËKèÜ—.ü£€ü£pöܬ_:÷¥?]ãï휡—®6‘.þ™I(<™õÐ0v’m«èÓÚ€æþ‡ÃKªB9ëGúeÍëcå Ó*8»¼ì7](xßü<¸?¾€öy@Ï–Àý±c/¥ÿ€öO$ £‚«p@_ æª@Hrç¢. ´ÝŒ¶ +z¼0Z¹Ó‡Xw$\[éÿ•·/¡6|Å`rø‰‹îZ û‹*Ô¬_g€ã �õKƃí!°~Ëô]@Ù¾õü�ûë¿Öpî�ÒCÖÕ£G ¥ÿª<ª³6¨€BXú¿ +žq¨ (ê +0úd]¹ã•3Ȇùt ‰“0€ˆdý`M8¦þ²þ[ÀÒÿi�  �ø{Ô‡ ˆ€˜-Õ±~R~€°(r¢Îx#ëGë­÷ T�c­úþº¬_E€Ž‰ãJ;´BQúOTú�û{¨À÷uÐҨυ °þx€¢Ü5ìØväþêÂ,ÔFà|Ü B bµ`þàØ­@úϪòFsmwÂë÷(?m¶õ]@Hpa~dŸè¬_Qý?ˆ¶¤"Àg¸HÖ�»±2ø>꨾¯ô¿ø>¹¿àÝ­YÓ$�¿êþ>üàš‰2à:&þ¡Mù�ÿšlŠ/xoˆ‡tõo®è—ýÑû︆ -w¨UËæì¢L©2íž_z[G¥É‡0Z†žB©‡£›h�mî�¡ój.èÎ o æ‚”Þhz¬;÷„Åô¦ÄP®Ûk0»¡XM�ŸÝ;fC²Wêó£úMgÝý"kt‚q¤†²rÿ`¼ŽïÇ€õKÙBéNZïøè* ëõ5Í~ö4î_o�²1“Xß‘ ˜âŸ¨¥+”t��€ûåþZÔjØP ÓMÜ¿¼'Ä|B0€ˆû{l�YB€(Ó�[¿ @<»äÝú·N lÂúÅ€ô¯uW¶¥‰`í'Ö"@\ÿóëPÏ/m@¹Í)-¨Ã÷½¼û#²'ß—êÝߎvçþÚÑub TîCñ¦˜wƒ EDY¿ç$àî€tS˜A/¸?  !Ë�}Äà»�wä@cåtSî/HغùKteQË=ü’7êê`ñ蘺ŒˆlY¿¢>Ÿbº¿¾ ­úW_ü]€ó_>sõêeIð—~Ï€B©aÞïþB#_õ÷³ úLSîàþ€¬_êç ÷ÇÙ‹áð¨ì<†�è4€$×Fº7[7iÛÏçä ¯÷¾ÏöÔmO–Ã�¢ÅÚn|8˜]2éÒO4=É ÷GÊú‘À®ŠÖ®€ö=9¾ }X�õW§]áÜ_]üø¾/ˆãÀý% ý_ ‹.ù½-°~~b^ÿ»vÍ0àšö+€k×Þ·éàÁ1àÚï¿õÇDd¾ ë—ÜOÜ@¡lîOD¸¿åø¥‡ <€X¼‘ @©ÊR~¬ß.ñ”õ+Š"¸?Y¿½äÜŸ˜Ù¼áþ,YÖ/Å ëw'ضTÜ’>¦ú>3B”õÃUºJé2P©íþ7À»¿àÀDËýÝ£Õeý€OÿÚ£„vÀ¦Áý„¢*a@ ,P \â/¯Ç÷W`åËDCî/ (÷—dýÂÀºµkÑÆî.lôŠÀò5½QÀñF4ßß›k,Z–§CQàûÐð²~4¿d÷vâþq 'õþãþ€ŠV ÷xÖß:i U@€wÿyˆíˆË'*‡Üèlëgo#ýG¤ÿéMIÀ¾—3tÃ@d +”r=ã…DÕ¬_ˆ€ŠÓi…äV¥ÜUn7ºì.Ê–Èý‘°v]¢’:j¾ôú…Ûà«ÿöümðûÿæëîJ{÷�`Ý/¤:ÏýÑ|å4ñÊ{oÜ´À÷%¿ó¨!ßg3*ú†*a@ÜÍîZÚ’Ú˜DM hÄ¥ôŸ˜â€ïv¤ +@Rî�û«~@Rî�ÔÐs(%Ú¢‚ùþtŽ:€†Ö rT� `rÖ¯¨ +@ Àú3Ùû=Ö®[Ó@x +׫\ Üÿï0÷® üÁŸþóçx` @r"Â÷•þ¿ûãËï¼û=ÄÎæÐ €Ò¤@¹?rÒ¬?Ÿ4¹ +@ÀúÓC]Dä` pšû?f¾�ûó_;‘°ÕŠ 8Þ‡8$MG]W­ëe]#÷×ÓµnSô|:+ÈúÕ $ –€×?¤ÎߤÿÖ å¬_ °SQ ÷¯•l6ê0€žÊY¿dÎîÜ)÷ðýâž–`¾?½/´{&:÷Èý�> |�*¯J>�€‘‘>1€†€5>±%i#Ht'P:“*Nà§–Á)ªó|ÿŠº€�Ü_u€¯¬µN—_±ÇóaÀjèØÃú‘JÿãÀý‰rÿ•ÓËø¾@T¦/háá.¥ÿ4´«­îò`~ó×ôFÜßttLðKæ]DŸþ« H3ø†ê€Ÿñ +àö@”ïþ'{\øê?|ÿV(×áþ·‹½=ÐM»€B¹ŽŠUl@l… {dÜæìÎý‘@nwµ[LF�|⯶þkKŽ BúÏ^Š$àûº™€†w¤Ü_ �ƒ#UÐÚwù¬Ÿ¨�S°{Äh¨gßÕ²~]-°Lk(÷×£"�õŒõɰè&€ëôwýø¡û ¸¿ÆöáÏY¿u¹6H¸B 뮼w ø>ºüö%“ÛÓÄ€¯þÛÿuT¸¼r÷ÓP}È@7‚áþDfðE‰¿ÒÀ³~^µŽ W¨Àý=| (ý7T['g_zÍî¶m�ÔcaFj�žt¶$@êÁ&j�drÄúþV¶8‘út64ʹ¦¿Â²¼t¬´ð<ª¸1úÕŸƒÔ)o#Á·Ç~i"š8´\Üß""8QÞoT±±"žM|‰X�ÇWˆÅ…c•ƒ¿-aý5÷¨HDƒ”ÔÓÐ*•ÜùÞ-Ó‹+'ÚØŸµÆÖ7¼�� ŠS�ÒžCzh ‚[Ź–n1«ìoIs/®4û¥å×/ ‰_¼¥N ì@Ò+ØdÚpÏ(;ÀK¡t†à“Ÿüø†®;Ö®]ƒúSÝÅÍé{îý…µ[ƒhð{Ô÷�ƒcÝ%C^ÑEDD;Pwáàv…ƒj^kŒ§’öäO'?Lôp2K¡GÒ‰®ûÖ§6%–OVfŸEz¹žÁ­G¥×w[£¾ÛdRç°Üž’¿ ù%´|²uè…9Ÿ‰[Ú¸˜_.`Tg°rÛuQª¯kn_Pª¤%Ü¿üÔPÕnv±…øKþÕÏF÷e'gXæHmŽ�°K€hLRòÎe‰ü·lW¾e«s¦ú´] W�ê/Wûª“ƒRêáõ3³¹dÏÚ×ÿû—¯\¹tõ¯ßQûkŸª k)êÓÿðÃ÷…yô£÷ÞA¾ÁÏ÷Ãw¿‡hÈô¿÷¾….½õ¦Äqñ¯¾øÛH9{¹–æ›æwXclœ¬¿U¦À€�þåˆ6”’¹|·®¢áNöÚóÅtq¯ºC€@’•àþ0€”’ì_@X¿€Ø]ÿLd9).¦¥9C—Å ’S÷•�Ro� Õ ²zLäU²!âjÄÿÄ€ð?7º7¯Ÿ·¾ þÂwº¿›à[ú]Ý3|S$&Îþ,øæ·~÷÷HojŸçð)90þ.ëw?Dèþ´=ìÕˆ ¶Ñœûó^ÓB^®-Èýi¨Úcæ°q¼ˆg™¢�°åG7”„�9*wVÉ@– Ìúg¨\­’ÃúGØZ'*Âîß]ÛãÓ|„õËýeý3Ï9†=——û @*NB÷Ÿê—õÇ@\ €¶Âš }‚÷ÚµËî=Þ¹òC/¹?úþ_}ßÿî_|S×n}õ:'÷ÿüY{î<°~d]ÿ;ø¯¹?@æïº ÀÅø¥>üWSFžHáþDPŸ®Ã@Ö� éȽ€Ž»b5îOýÄoj?ktåû@©=ét¢'‰pÒ_øk+aî�·š{:`Êa|Þžlé¿6Uö[7Ž]t(ìÏÁýÕÀåÉý'\Ã]›ä ÷GvÂÀ� bý^@é?R Éú‰m ¹%U¨¼^>„T„î@}o ÷ï¨zþë.äÝé„°”z° áþ` ´þU0ßwé¿ÉeýEw/¥.§Ó�õëáß¿3ƒ¬_Ž`GläþˆCTª€ûG ++€`ì‘›€ +€Øû5¾�ù*ÚG8X·L"îo�XqÀ÷}À¡[s—¯˜qG=‹Åhôq¶‚¹ ¹¿äWÀÞâRZb�¨@·@Çu¾ßf€wÿÖý=7­>üɇ7ñ +@ÖßóÈ’û Ç–—=.¿}I @ø¾t› +À»¿™xT˜ÝG=Z]vlOPù¾“aÀ]zÀþàº�T¸_AîOú¯ +À¢»l—ŸLg}üod¾ï€ÀäLFÖŠãvÑ'‰ oð}Ëa+i ÷äþºÜS}ý Á¨°Û®5‚Jü€X)`+l‰ÿ€*Ü_ëoî/z Uï¾óC èbͰðîÿ“k²þÕ¾¯öå·ùáÂô]zë¢ÜŸˆ”þãþ ñ�†€V Ë@íP%þrö_÷QŠ"¾ï€ïËý­ÈÁ Qé¿ê€Ž +@­iž>Oú¯îY?rBIÂ"ðý?«»€�Š,Uý?&סfú€õ3E /u]@²uD€ïãþH€`�X‰À«|´/dým»wZ ¬ßÒÿý¡ûGëß +Ý?é?Û×»?’õ#ÜßWÿŠÀ÷ÿx„u€ëüAÖ¯CHîï+Ž1µñ}¥ÿ0ëW) pÿäƒ]€úBƒˆÜÅ Ü_ `iÈë_ €x�œ:´lçûD_è¬_NÄ’}ï"bÙ*TÈýÍÇcëìÍ…«!ó2ÿr+€Ä¦Ä06Þÿ�é\½ Ÿõ;$ûŠD¬¼4q“+‚8ø±þÕîÏ_cÿJXÊž&Ö¥ÀWÿí…8ÄäoVè¨â­_>�Âe³óÓx´Ýßý”~*ý'b¸€Ú†6§ó}É0àÝ?"t¸|~;W¨ ìQ’wø¾`u@¬ H�?ªäþ\Hî¯ +€ÄŸÝU]@æò.ý‡¶wE]@6Å¥ÿ¬•:„¥ÿ7íRpù-c€0pÍõç�X¿ô“k~ÈKmÈô=TèÔ$ b@¼ ßTÈýíFœè&5äør›.<‘B€(ëG££ƒ¾ (� ûúqÿ|q�Ä_îßÑÄPChü)5� Æëº¶g0_¯I£åP¥ÆÒàæ­É‡S…©y$«ÅC-ƒŽÝœU=l'xËûÛnn×áïîÑ.º†§ö +šQÝ;‘–õÜyëS:°Œj­"É~»ë?rÃ�¿œHÜ{g0Ô۬ġ_}­uõ|Ý{×(õË4üLbÃ�wüs*‚µ÷Üó ÄŸƒkÖ$î]�ÖEÂzJFiç ªÎqÌØ\žÂÚ\îcÇ’ð0ƒ3.dg÷åPõYª9»òÓ§ÊCºÅ†ÊÕ~–ÈlT×i¸ëµíˆu¬3óáM,–ÆÌ®BzS’X( ¦‡­W*3ÍQ´x¤ÒX ZÇH雺tÑÒÑJëx]G–´p°„xceO:½)ÕX,Ç*YWÏQèݲ~gIá”ÈýYg™—µñµØ9ÉÙ%»%¼Ý] koÜ‹)Øå‰öØ©ÃA®˜^÷óI´±7õȯ}Æë¡˜éÏzi¸P‰ÁP¿Ø¿áþ¬´fM×ù/¿Z;ÓG׿rá ½¨¿ øF×½) »h ÛÓg1Õ×Vvóc^ýŸÉ¢ÒS1?6â8uÝ—BÙœÝævjKÿ‘¶ùÌ>!d,•¶{³æ's—i…ê!föÒBTO¨­ÿ‚�p[–¬7Ú6·aSrÖÇ2RG'Š)ø&wÙÇѰ ëß�#*ɨíÊ">ëìàÊÎAþK´«t4Èù¸ÝùU~&SªY,VÓn—xL?±öíö‘föE/¹K?¡ it�ú3™æž ±³„KŽmÍgçØò눗!ë_|S÷÷šþÓPhôó~Ø d0$hº]å©ôßk°ÁéoLWß»¢†ÿï•+—ÑÕ«6Ð×ÿçóhéùzwÞœô=?ù&݆‰ãKؽQ'‡3nÜÿ‘¼=ù+¿­·AÞž€–ÝÜkÿ-e5=�­oø/ï¤qSd’¤ç¸w®_‡ô×ûH·€õ×v‘ðŽàû’;–Ìàpj‹{nbÿ =ÝÐ`x´÷'rt…î¿ËhÔ‘cWkÄ~(ë×0¢6öd ¸}OÚ@. Áýa� ÙDÄåWêHX>Ù@€ïƱ#ÜuJH¬-ßš*A ù‹,F+lÛ!rbc‘÷»JJ�<К51}ìæºÝæþq wÞùQhíüÝ€ê3µÕà¯R7\»yýúzè‘A¢¬_*=eCAÄ ±et{ðìs�ÜŸ­')UW§�L\¿ÝÂ!»Õñvv ù¾–fËFŽNýèâ‡Þ%Éú%>Kà7 |™ó�»ÖÀßô+ë7÷·3ºæþa\Ø�‘­ž³þ'ëYÄbõFéî_|_hÌæÀòá†0€õ£/}ñÈí |äž àõáõkºØŸ†î@vm(œ€®hðm‹×¯²Wv‡Áß_¼ûIi¾Ï÷=Ÿ·%�ׇòÀý‰¸¿!ð}wiPàû#[z€äÃëa€¬Ì.³v—kpX è^YUˆ…!ßö|ÄÃ+²~»d3v…&Žï›M; (÷'"\Ûë¦Púo¹ÿÉ3�@P€û“þ+ÊúYHß?ÀV>¬ˆ¬€¬ßÖ„Ol#"þ[;ò’€î�Â+W­`í'Ö­ù)¼aýu@&Õ-÷§�ï+ý‡º>GÀýõ n +"ÖÏaƒ8–Hÿq_Pç" ÷·«€žÍDà!�Ü?<6"÷çø±F/áþ|/ëîï+ŸE9Œq"ðÞACÖ±¤]x÷7ù>0àú%âÇ#Ó-ØÙR^FÃg9¯ +À»IB À÷Ë;‡·öz�þÿŒ@úÑX¥ÿDY?énk#4uýEîÿú—.¬¿» Ýõé¦@îŸrî?tVWÖ�|ðHzPˆWü lmsCWÕaýx" ~MÀŠ€¨/ÈaúOcéh)ÄBˆöÞ¨ª@b€º•X¸ÿÝ¥x`Úº¿ý¬.÷'"W�ØðÔ¼‹ôu`½‚nGµRÀ¹¿Àþo]@{Crd;säþÁ¸Íæ‹ßÅdýª°~ÒÿÕÀ›üû0 Ô[/ÿÇKr@¿¦`Îîâ ¾ËèF±K`ý«àû|ˆ¶q`÷DÇ¿DMöÿ(÷Ϲ¡ÿã0ßo¡¾ï@à¯|ú JÿW@éqº�ï#™)&ë ÷—€€ó_æÄýib€,ÛÙuUö;÷!ìù‰÷é?ðî�Â5qË à`¾ïV áþÅ}GÚsF  -¸h’*†ÖüLe¡¥É8òc€Ò䀰~œ=Ü_ÀýÕ$÷OܻޠôTFª)uù +Éú%|_@ø¾Ô<t€ôßWH½@:<8rLÑ5vÖ‹ê W}�5nìB¾À•þóD9‘\ÃW]@ø~¼ HE€9‹ëÿÁýÙÂ@ 0ËpW¶¨ÿÚœÂÝíECÖ¯LßGlÀ›’H€|Ô÷g‘º×¤úž¶ löP­ÓÅ6Ç€Æá3r�ð/r^º |/�ÊYÿHÞ¾{óp%¦0É@|}/­- RÈýÛœ9eÖ¶Y4@�¥Æî. wþ–6rý?7tÞ" $,D Ô�h\q]@´-’%¸Ù[\/�}ht"ýW/Rú/ûÖŠ¹<½m9ë·þŸ)ëÿQñ}í½q¸/ž9C|„rÖœh‰¿€‘àf ¸ð‡g0Üß äÓ tÿ‹™¾¤"@P°º@végÁH€ûsüb÷’ŠaÀõÿøQ€pyò}¬_ ˜¨"ßÿÃ�Œû›3ÜüÐøÏ=B«ö¼ëawNL7¶[m½Œ,7�Ü–ÈlÉž¤næø)d¤qk;ù[ö­˜$üˆCz£>ŽyD#ćÚ[ÜU§åÝ û§ +ÖüLðÔˆ¶rq<ºÞõ}çÇú×~líºŸ_Wa㦓H? ýÚ•|º÷WX÷‰µ÷Ü}gvS:ÝÓÕ}Ïwü³�£_¸ãç�¬_‰{»~î_÷‰u¨¹¿ˆØ�«³YÉÒ(×múôÜg¬+sú3’¿Ûé#½âðˆ ùp×ÄT&»™� ìŠVâ‘G˜ìvMÊáç�7«Í’<šåŸL§3á�cèè s|.qåd‹dÁw.ØÈÀøršÆR«®²i‹Yú¹0¾…ÒCÉB)½òj�m¨cµqÀî Ö5®}tWº.s’fŸAZ¹RèG ²6e Ì@¤~2T.ÒÈ|æ~ÄÆ±;€ (|ðzôÝ«39=!½¾ “ÂgíS’�dÖ­OwmhkÝ])é÷ÿÍ>ëGÖµ}꺹ã®T:—íþ•4Š[ÀÕLzö@²wè‘_Ϥ‡²H(×�X:ÿÑ8˜G|uÔk�,b†ÒSÙ\rþ`�¸|ºÞ:ÉF Ï�{è²µÝ& +f(ÌpùšÖÙb0ê¯3w?Šÿõ�EqÞÌ,¸Ës z£ù¾cbù¶µ£û3Ô9é%аÚ4N®m­î{'vÔÚìp:—Ì?ÙOC'�+î–±§�i'¡Á§ÄöaûRj«Т4³f¨Ïe&¦‡Pƒ/E’ñÌàÄSý¨1�_>Z'¦ûµZFzíµç/~û‚ô½Ko^Áý݃Ln gÉnóŠÿÅ~kû_û�¶M$þÔýýÝßýÙ€HŽZí«L§ ¥^„¹vôH#Å$Êìê x)0²Åù‚#åž°1Ÿíò!´;·9‰‚|Ê©¯¸ $ô¥s]CÙDf4IÌæ-),–‰¦{(›év¹ùö˵`rh¸˜e¾Šry çM?6â°Zæ§ö.³x€Õ†îï®ðá%çþË€†‰Æý±~{ÉÆjÅ�ÁDù¸* Iî¯u°Ù¢�ÆýÅ€pµ�ûÛBÜÕ¥ªK´äxCÛ;w ¾+aã÷€îû» +ˆ†Ü Ä ÇÉûïT›?Ü¿²þò3DöŒ˜Œ€€h„}D®ÐNötu@Ç*�?0pÿððÞÞ¥©ƒSÖ�¬¯v–<‚Ò5bX8P’`€ ]‰ƒ2qÜŸÊ@X8PD²~¹ Ö?3oWVƒÝQ 0ßwÂ,t;¢fÌ‹OĹäbqàìÀu:KšÁÎúƒÍ) Ù½^(îo°Y,`.ø>²[LkÜŸÆ·�`,wS”kMËç#÷ý¿ûªï¸÷@k>æÆ�8A¦ LN5îÀðã®Ãªn?�@¬§~Äáþå§1Ø–òÙh¶q­äA™‚wÇ`›4º´ßËmgë|‹€k¢·ÛÜgÙl•k¿b€U¨îçÔ�¯÷ʬ½e>–,TÒv'ð“ý,÷Gºo@`±^þ³$�§ýj„/àäþÀX¾ É×âþ—þòÍwþê’WÛýoÀ•¾…þ±øHp0 ²~sÿ¼¹驇„@ ¸)LÁÆPX„�>”ÝüÂúm¸ˆQ@b¨OÙá^¸„2kv?<�m�¬'õ(-´�Ü“h�Èa/þ÷P?F›*çÝ¡›Ëîµ@ºr,ñw ` z ro±Ü_ëÐ8q&LÿIð]îÏ +Ó–$@ó0Ò{ýº" ü/á§ç+A¸‰cb5¹Í„û«Àú)Lnøa @î/ àøqܹþ*âÖ­HÀú%ð4‰¿+høôƒ¶¡Nž +o|w½«¸?Ó€Ü?^u¨DhŸˆ‹œßÇýo*ÜßrÿÐð΂×àûª«á@î�kfaÑ T8¾÷}K`cÀú¡9Qì®W½ª¬Sé?(�ú +‘ø·‹—ûëªDŸþ{ Š€õ1¬î¿æc‰›€F8nÄŽ†Àë_¾à+"òé?R àþê¯g Ä+|ß ²3ã‹eåD¶‰±ó¹6ô]Øz–¼G ˆÿ.Ìãrÿhè6´‡ú>Ë@^Œk‡”µ3Lî‚ÇícÊ3ðh‹Ì Ü_À÷a€¯$Hâ¯"€™½õ»}¸y Ѱ…Gó 0÷wRú¯x{\}Y?uúÑ_}½ó¾E¤«ý#$[÷g}QèüáŸY¿DîÏßjPxàì@ÂëÉîCÓ�Θ¶„=?V¸‘Ÿ-Ú(–ûgr bÚ€ôaýGé?ð@Jÿ‰€™Ïž’âðæk�ÈýÍdo€úôÍOÝ«aÃuþ¸4<Ì襶#_ñÀÙeýz‹ Õ`~ÜŸ9‘ùûó¡¿Ó`ÅøP±Gé¿ x¯½½íþ!¼û—w7t–÷}¯› “NªH#ÿH¤ÿЧÿüe¾÷—âÀ»]ç�u¹Ä_îoRÀe¹¿‹²~pø£Å5ÚR`ý?®` D¾£ï¢‘èîÒ^‚°~¬AðîÏá'Ýé�f¼0crþBúï m¨õ!%—û ðªí—Î÷}) ¶ù~$eš!ܲLG€ŠÒdý?®ÀúI-}�®8Tî¯:@Ë‘=iÏÀúò[fõtßtÿJ:1@@ ñ`ZîOCî2à`x¬�µ=¤ÅŒ8‡·¬?Þ¤(;–ôTûQž³¯ ú‰›ÈÄùEø]øQ�'�É=†ùÝ[Ìý…m+ÞÎB<X‚ù¾žhäNã«`;Ëúõ£øŒ¨ß—]€DÀ¢â]@LÄýÕ`fÍ&[g�D}./YÃåþÌ  +@Ó™�Äߎ WK)¹?�Õ]@À÷.µ‹YÿåñÒŸ½yù»oàþDĽ.¿uñÝw¾/é¢ÏðšŸU€äz€nÒÄ¡º¿«TT¦lø‰ +@@¸@¸¿Àåþ€`#‰¿ÜŸ¨Ü_òîOÄ÷ã]@ø>¢€k*˜æ¡—Z§Ï5Nœ.ì=‚tÅÆ*WE4&lôk”àÈø¸E™¯æ¡Q9ø22cuF&ïn9öÆhhOÚõNU˜?RýÅS-›NTCò3Ì|ÖnQFó¿s;üÚÌ‹§ŸÕ|åª=SñµÚ1;EAœyé UÖ0<ð`ðËDlî즮ði;lß'ì¹ +vRÅÝŽÁnj:^Ì—ûÕÛ³æckîü?­ë}  é +IþÞ—ê-æ�æÕ;iœËÞy×/Ðà¯ë_ܱî?ÿ¸iÝZ»ªïD�ˆ¹ŒÉî¨Î™­—§3ˆÝéÕҤɮ•žLçÇûQyz�ˆéWª©`K¥‡Ú|ð7”ÕçC °ðIwŽ•ÝsS«;3åI‹0¦±·d€nJÒHõ%«õa}w¿@{þ»{RüÂ�¼Q„›¯œlBêúþ,±qÀð°èFögŸk¶ìcäñ^¾Bª¯KoÁ¼j³8H^Ò«ÞDËC]šéd+0K’K†ëëѺéë˜å¹÷þ¦]w›þôý(qßúâŽþÖÑFqÊÆ°K×çðˆewѨîAú¾ùRfý½iií'’ùâìÕëWÏþwpÇ]½k>>=øS÷öymؘJo2ƒ®_”=ÿýÒë_¹zõj¹:º{úÑÈ6{ª{Ã:^Üp ±~vmdyèô>S¹>Hdß›˜Ïëø»xì»?—÷ª7ìiøD$ãDôÛ!¥ÒÒ‘Š×Ì®|ëhE$ìØ«ÎvޤK +å>¢ÎHIú!B5rÁÖ^D£:Ël¦‘-}Ô[éO§¤òähcex¤�F±:˜íåç³FÐÃŽT|ºŸ«=œïC4²A_ñ©ÑúžJj Q›â[Ôóù,�ú³APH+æó}Íý¢5‚‘Ç’ÕJšF1ߟì©W³Ä…F�Ý” ^ú“s¿izó마—¾}ÞëüÙZ>\#¾ñåe¯oý»×Ñå· Á›ßûËo¢wÞþó«W/‡¥ÀuHpíÚ‡ï¿ÿ×?TÔhƒ?úO—¬ñ¥Æ¥ÅÅRÚÝ�¥ž† ýï†ÿ$݃àG¶™ Ñe ÈlÊ¥¤ôMã¾±„¡Ü”ÙÜ=”Kdxus‚†!á1ÊÊ‹Tú3[ûHiàþq…ÀýQ0×ôÀ[}âoÖ쀰~¹¿]3ãæa"Ö_lF½+ÎýC½pJnðý¶>{Ɉ€ yèU$`ýÂ@ã•s0ÙèÓ/ŸÅúÀ÷q&‚�8|¿PÁØîŸÝ ðâþ6Þ^q£‘À Þpg5�7>t�@\ë>ùñ®®;ˆÎìíïSwÝÙvþ>¶¦÷W’¾Ÿìî"29õíDR„L‡*¹'\WæB”w‚³þ8Ä€XyfÐ"Dô¾o~çžš„Œ“&ÜŒ•3¸?±øþ»hÄ u¼‚æÛEijû­‡ýè‹uW³™4¦¿êR­z0sv”JE¨³ÜP’õ ²~Dƒ´RrêO_Û×QŸ 9éÞ°>°á9{ca<-Ã'¬ßàÙ}O +åÉŒY¿‹Åñl©2€6˜Ýk92ð X?¢áÝÝs_?Ö¯(ôüê @üW @îoÞêî¶•”¡ó½`€rgU3 +J)«çØ ñ 1 :“+õ/¿R'"ÜŸƒY½µ)ÉvÀýi”§‘ÝZžI¥pÿ|a0ȧWN7ˆßgý€¾ sšûÓ` XnK/�âÓél�Äý‰X몺 [¥-¶bh0û¿TáÉ>n} 4ð}Ô<^a7еXÂîïàö�NØü7@ àëÈúÓ)"¾ŸH +icÃ(aý©‡»Ä€TOë4âÀúßøÊ± ¯7‰çÏ•û7§4Ä‹T¯ŽÈýWŽÏ|åüKHð'�aÀõÞ7÷'^½‚õËý¯\¹ôμˆ 1€¼{€~Mïþ÷�‰:ÓÔð0¹Kƒœûó~1 öŠÊTVˆŸ&—R…�äþ¥Åe$÷Ç…‰�ã+qXî¯" êÂôã�õuÎ §°~DC#û#�Ͻ&XÃ5Nžh½û/|îîè÷¾$ ´Ýߥÿ0 H(Ž×E € + sÿ¡õ¸¿ÒUr‹·E€m­ú 1é?bš*ÜßWróGw‚—ôŸ¨ëá�÷Nc€0€õ#Ê7�Î$@PèÊýË©éÊðYó}�©+ß'÷W€õKÀÈãvŽ-½PC0€ˆ¹‹ê@8šÿñ +/uÀá!ÆÇWÃnÄDE¯¢9ß·þ¢vÓ�ÎúCÙ«ag‘–¯ +߇·@$ó}@ ¶êÜ¿Á†u P@DÞýIÀý‰7€ÔvëZaµCÅ+|_âëÈýÁCø9<ð8rÿ[€ + ¢@Èý*U0…R¦«{]ab÷GX?"½ ¦ô8wù&û˜—¦KX ÖODñéüú¶8 wd¥Ä} Y?Ñ®PTÅj $câ¿¡°~¯ø<$þr„û{Éý‰q|é ‹€î�”û«H»±ptæ•äþ*ð}@tJ‰äþꀮ1¡¡‡ÀÄ@úïðÞ ,‰Æ÷Ø/I¹?3»h�äþðsö»Ä ¤Jh ØÓÂ÷=”×+y_ "G¼f@°gY]@Ö󣓸9üÂ)dvü‚»±K$pÖß<}Î0€¤ÿbý@ëôùå³ç=°x1áûb€E'a€9˳MûÐgp ~<–þ­Iëº)äþ¨÷�®`(©. Küo €ðÏÏà*&Àê€ÞGTŽ¦ÎŸPÎúÍýŸq©+¹¿ ›·~€†€û X?© úR@&ˆõ1@Z>Ñèîßué)íŠL÷à†D@ú�0ðuÄÚäþØ"Q÷%„½º{ÂÎgñõÿÐ`•H“Õd¾ïpàþ’1 rÿú\€õ{xÉ»ÿM�è¶�þ€[U’¬?”Ëýq9ëdW`ýé®�ïè+À¾8za@j¨ËË;�™]Ì4õ#J²Ëá|¯™æP +ë¦��ÜáûmDî�dýÖï%ë'ý'’þ{áþˆ +ñC«@²~õÉý©ê’l÷p�?DDî_ž +Ÿ VßSQRR�DCú�šû­¡Î"ªW³RG�€r<ÔäЀvÐ�î/Áïþ€âX?¢¡g¿àþÁ6Kü;*ïþ¾Áli÷àÊý À¬¢þŸD¯pÿöIàçB 5e7†*->ïÏÖÚ9R7¨C¨ì&, ×¹Ùò~|ßü�Èñk`ÐÑuƒæ?g »÷çÎΟ<;{âµúñ3]ÿOXœ<3ó’95qæ³§g_b|ÿ4oafâ¡/|É&LîÿÒkD¼Þ@ÀØwê¬8Lcþw^Óë|µ¹fcù”Ýk=ž¾ÖÀL!o ¿`Àκt—*}Ù\‚HVÅ.Û}ß§Èçѧ>µž½„ˆÊ�õ.Ï=÷ß»É÷vkÝHCÇ�@æ;±3ƒê»òÈ\{:#Ñ®ÎA»î³ôÌ „SàvfC}O:¿£'ñàúÁa+Ã9tÍåÙûwYϸ®»AF Ù½|°T3&\|Ò4³;@Ù¾ž\80¦½Äz ŽW�ŒÙÂÝ=Ÿî<ð—O6祅#6ef1 aç9]0L0v˜óËäݑ̎Ýw)×2U»™Ói* üéÝ&†”õë w8¨iLv车ܣÉÄÝëF6÷.Ÿ¬@|¢¨GBé©L`�'ËTªÙÒxY㩌TØ1Tœ¨ìÌY%[(åúú2]öP—˜îJ¢‡úRÄDwj`S­[—ŒÏÓå”É6¸îøCvj„¨­:³ÀÊÛ΂™úTЦÔQÊ�]z:‹RC‰C/ÔY‚×üÁ¢W#&cF$-DšÙ7Êj„r;ž¤!:$~8Tz*g�Ø<Ô‘*(R}÷0¢QÙ®gPìÓ Ûü¶Þæñ +'6Ä +Ð(>�fŠs(׉4Ò[œ$êGGýÃ*Óƒ(�³ôed,Å—å½4´"âG·s˜|"�¡.u%Ñ`(Uû9šhd‡¨>—Î?‘ XÚ\šˆ*¥dž n Î×sÙ�®³+ ÿèÜ·¿þÚŸþ_O¿ù‡+èÌñz~S�?ÝòZ>ZŸ©dlÄ3¿³ˆÎÿ7+o|åüÅ?»øÎ•wÐÕ®¶}ßž!|Uw�]½zåý÷¾÷Ã|шŸÎ¯b²X5Ñ�™ò‰üv»@H)D׃¢k@ÝöÌv¶’PŒvÓ&òßÁì• Öx̆M<Ø•êïÆ"òãýÚl—ˆ.¤6Øå‹Ï‡e¼š—W¾¼æû‘ _®>ÊàÜ eýõå/ñhóq—‰wÀ¬ÿs¯¡Ù—ÍÄÃøÒkbÑN38,ц, ÿ€é4d÷ò}ÀG„ûÃ}újˆ®l\m2¤gðkD=`ds”&ôõ&Ön€®»Ö¥ìúä:Kü‰ëþç€Fp·B©?´~w%�€ÜŸÝš À& +Oõ+rØŸ$Þîï…õËý-º~ÿêÎ ªL›û‡r€ê4{I߇ê#n,nXÃ@ä\öß8dý¨²'‹ïÿ,@º4ß—ŠÕ6Ì1Ý@ˆOä«aÚweýnW¾3s9¬?úúm`ô…Ò�‘ÀÀþëÄí0€Í«…#0ðЯgÚþ¾/t@Ö +ßwpž¹?%Ž“Ù½²þè™ø¯P˜èйחñÁÒ”¥É4ðýrÝJÀåWê•z6ȧZ¯Ôu] ¦I,Wm¬êl±¿ÁÒssÍ‚„=0¿=�pö%Yvsznoaf/ïí"Ê�à³A©—¾ŸÝ”D4X8Ö¯OÒ]†�RèÝ4Ì÷÷É H=œðH<¼.?Þç·³0P�ÍbýD¤ëÖXëo«F•V$oéÁý{…Å9v°tyâb­úˆ@…ÍÝD€äþ÷ß75rS ‘ì#hùhàþÀ÷Þúžžæf�ˆGX ÷äþ«°•ôß¹? ¼ë7÷�. Šú h»¿»ÿË~;b°»G¼Q$ðmoe”bX¿ úó~Ÿm°å×È…Üßrw•¤úLÂK*O`�Ö�Ž”þW5Ü›Ëý;€‰Ëú‰HN­l¿6Ë>iy½ÜßòtŒþDØó0zçõv)‘Ÿô_�A…eò.ì^Q 0ß?yFî2` ÷g~ôF°¥Â +k‹�뀀ËJÿ…Y¿ôO>ö�é|í?Á÷ÃööO6Ü}‡=àî;¤ +kóP€ =þB�õ« ÷Çúƒ%Kû)óÙ àþ@Á§¬¢¬_L°~Ù®wÿ d¾�ûs$c¸? sÕ¨NäþØnvc¡Öh`ýø¾•&ùÒ@}:ÀýipËýM !bf-°$þfý®ßŸ]–o'Uæ¤"àVà‘º”ãËèÛé?�(ýGäþJÿa¾/o2áÝ A~ÌH ë'"Ü_ ¦ÒYT|Ê®¿l»ÿ*ˆ|#Y?¢áhjßÎOâÝÖ+Ðð é?ßçÓ‰€ÜŸÖÄPª "öÀÙ½E/|Ÿ_ ^ÊýC¹ô_Òzjù@$»ÃHö�û›õ»ûþdýD0à÷a.'€—– y÷ÞÚ£ô_{Žb ’õ—¶%Ñ­@ú/­@cê1IÖ�(_€°¸�*€Kß}ƒ6ž°±€’[ËÎýQÁ2QږܺÃÜŸ˜ Èë»1¼ 嘾|ùôŸè`z¬ ¸¿€¬Ѹäþþ¦­®œÙ¿,­·ç¨]S/ëWr Ôk�óZcù áíÄË_À©‹'B`ëÊý˜yÉÜßú\Päþ!x# 耈â ”_hc`ù”@â¯õŒWÙ¡ul#õÿc·t+ý'Æ»€D÷_ó±µT€g€ÿƒøþŸü8 âû𒺀`Çž€HÿÛCÓpHÄà ¨Hé?räJ�ð¡Û?³Ü¿>g££¨#HïËý­ár_fLûÂè€<hÜ_�õK]@’*ÀW¡ø¯SuÚ€TÈú=$¾#Ö/÷¿=Ä?¤ +@F/ J&ò’À€ï« é åjVîOƒµÅúÃ5wÖ/­€€õ‹lRoú4”Ž‘®àCÉõRC º’:„�Ž. éywò`U��`@¼~v  ëwý?/Y¿¹ÿÓi¬_×’ +Jÿ‘¬ÿg€ÉY¿Änº?9Aäþ«�Üà€Ôäûh€ä}ë‰(õðz/|ßë–¸zUî߀ë×Ã^ Õ]@î� +߇€ËýqÿN¸ÒM�õcúò}$ x÷·G÷w .ÞÐd{…ÛåÖ�Èë) ½´tL*,<¯K9ÍåÝ8<^þ²N„;Ï|–œÝ„qK2n|ÙKî€rögOü.y‰Ùô^þ;óÙÏמ?EHTLL;áàŧ½lÊ 'åò7èÕó^­/^@j¢uö|zs¾²pˆ†HP¬åÙèÚRÊýñý°ÿgsbt[Rbc•‚Á®»Ö£þÞ�Wþò�³¿shýºµLìMø“ßüg?‡Ä¬~ÿødª{=êZo× }üãÿ„( îûîÌoˤú’«•´Q[SYd~íŒÛ|Ö¬œh׌îÌ"Žð‘ 5ü¸�÷mw�Qìè“CY�3]`jɯFÚªʦÊt¶4i�à(S8(ÆÓƒÃIÈô@ª°=3³7oj -{Ð#qùDcþ` ±Mftо‘…yõ Ï* ™fn¡U°çí7sé¡dc_‰8ödfaqÂ=ZÔT� ÉP·‚»5q;¹Ç‚ÛgÙÕiê¡ð 6RÛ…]Ãî+÷Ô]lÁæG€»‹±Ôu÷º\ÐË« ¥49„Ê“dúvþÃÕŒ;j}AL©îÌé!f{hT§2¨4ºOBgMˆj œÌÀG("¦ðY²àÙ…  ­]?[¸÷�3tyÝg§WuJfr6¼^‹ˆ@Äv­šý”Dk¸odrgw}€½”Z0þD0·­¬†ÐrPøsÇ€›œµW-Â'+NL 5ìðµj¿T)¥ªå‡P¹ØC¬À€mÉ|ŽÊ{}}|�xæ³³¿væâ¿=‹þøÂ©7¾¼\ß‘I?œX-ÕëÒéÏC_:÷Ú…?¼ðæ·ßüþ_}_�ƒ¿öÁµ¯ˆ 1áøï¿ÿΕ+—¯]ûQ€£“éœ]µ1öä¯Hy²Ï|7*ê pdA¹'ºuÿ—Ýæ,^‚ +#ù�¹ÍÝ&7>(¢‘{”y¬;½)‘ º2ˆ)wuV&ÛKdoOô¬/VûÙÔ?Šö„5JçãÀý]ÉC”õÏ|ö 5ü”|?º¬Sº¼^î¯ÄßÛ:Rú�hhН„û{ ¦àéꀽ1`úù“ˆF­õr¾>�ûÓj @p)6· M¯ß€ÿvëG4p¢ ë6Üs'Š0 ‚Á0pÇ?û8î/áûÀH®ÇœÝSݤ­#Ž+�Ýœò�JºXÈ€Lª÷Ç 1@ ƒÃýõ¸%~7î`±Ñ§ÝuôvÙ€<e�ûK´ì@ÄÖÑâ¡ãUÏÀÍ_ˆßOoJ +¸¼Àúàõ0™íºƒ?ø:q÷÷—Qj÷•—Ý +$ŒfýÊc—�ÊúÁ÷÷@X¿$·Y UÛ™ÁúùôÛÀZHwØFw3àq&¦³ª^rFL×·P$€•W[úú’ž¿&Ùǹ›�i„ö�5‘S[;Z1>BG¾Öa~) ;7’õ‹Zg} +‰9 P†®ßÎ ë/L ªY“c*›Q»(»™&0ÒŠ¹ +1ÏY°d+`/…@ü^bߟ™D0 ^Máþ’€<ˆàÒ7Ï{Ü¥Çíik0Ø€ï\úNa¾¯gÂÈý㜛w‹@ØÿÝýK0›¬ÿ÷�nˆ@ÒÓÁìaTùt_·�¾ß€©a�`€Ü?p�ö�_Ë�ïKÖ«ã T—u:׳ø8˜è§Ëý™™è½ž*A3ÐVÄúÉý•þ«(/J{–<°þòÞ%bP­—w/áþÁx�è€dý(µ) ýG]÷%ˆZÿJs`s#ïû>z”¦ÒÍé"m àû¸ÿ'êD|°£ÐPîÿÉÿüŸ +þ2P|_ ÄIð@Øq?e¾/�p ÈN©9÷ëÏnNŠX?sê]Jÿ%€£ˆ†3߸?F uëçX¥ ã ÷—ê Y1€(ëW ï(¬¼ÒôE€rÿÐmLJÈýU0‘ó`m;*€’]hÖ� +ò2öã[÷g¢œ]ª +@àùÏ�,ÆWDP©¦UÔŸÍ­JÇîÄf㳉"Xîo> œÝY+Y°—¾’õCx¨é°¥ôëÍ£¬ŸO18ë·Å>gi�g€b€¶U8[ôé´ñ}¹¿‘ çÈDÙnØm5>�_ —õ«ˆKÖVr¦;H€+2BéÛéÑ’@ ´D\@d3Êým±Ñ¥½¸¿€õ7öd‰$þžXæ7îöRİҚÄñ‰¦ã ¯ùÙ2â¸&.nÜ´¸zõj¼øðzT¨Êýe踿/°ù�À«ñ +€ÿZà +ÆüÖÀú­ÏÇ=.ßWôÀýS}–þcýªâ€ö7íkð}_¨@Àwă¹?¥ÿW/ønz€éö’s@ |öÄïºFX ÷àx>âÒÉdIÖ‚é&¾¯NËë«uÄKq oéhƒ �Oÿ}€Ôä}Ÿ¶È»zS—úÔäݪd%@™Âš5kÜ¿¸¿Ð˜ ¼û#åþH ý'zè˜ñ½éÐÁcî¿ÓÜŸ9±QŽ»Æõ e×ÿ#ttµNV<ð tèùÖ/ x˜ã8¸s–û«¨ÌÙ3�=¼ûÓà#|/�€ŒFC6û€bÖÏ÷Âýõ¹*Ng‰ìÁÚ‰Ñm*ÖP6Ìú]'� a¢à€dXb€ o€Ž. ~ù¦*¾5ò묆¤ÒK�¨T¬îBás˜]Q]@|_y´o }SˆþÓi°J‘WÙñ˜™…°þÛÇ€†‡„-*ê ÷ X886³7:±„Úp]@X¿*€Ž. 2À‘Þëg3iëí²¾ *¶­€ï{àû0@RP1ŸD«+€ؽ¾¯·T€…g‹qè¸^9ÑÄú%àÓUXˆ2}ßÿãເ°lÜŸÜŸ7"y‘ge†»É0ð}]Ÿâ+Kÿóá<èVèèÒ> 6ˆÆoج0׬’û;™õ}Y’•WŽ®ÔŽŸš”yÌnÂä·ôã=UgÜ%¤îØ@zKyrèÉêgX81E¯2½TDìafùm4 BµK;9³�ü+­a5¥ù#EÄ‘¹üJ;h·¸x¤l=!n�4Ó(/Ÿl&{#�6še–I\~¥ÁGTžÉ˦j¶>;¢“¨í¾)'[±�xV›V7TÓ~(Q©O¥!M°9I£Ñ ÚŠH «µmèÌ]F>ŠÝU3üvw˜{JšäoCsÍr©6œÍ§Z'dý¨> ˆWX¬j ´xdkëxqñH‰¶ �GÔ(ÐîÁŸíZ²ç.°o̺ÁVñ\ÌW«ªù‰Ìï2Þ¸)ˆW½Y³´ºû^ĉ錮DâC‰Ú—‚|ªPêO¹»ë¬dÙ(‰Uúšl½}£&Uuîþ¸øòC$Dk8=ÌŽÄ–XYÌ�XDuS,�÷¡êT?ªŒ§PaK? �&»“À³;GR¯ÿÒkGm ·o]ü¿ýÁ›_;wáõ$¯?´XGç^]&&L ¥ÅùsgÏœÿ¢éë_ýÊ·þô[—pùÝ+ï\½jæ~ío~„¼ËKö`w‘¨=8þƒ«}ôÑ·þׯ½ü»óÅj²2•+÷[6¢ü67üL>�Fžèn+�Å'ˆÁ6”Äî%¹(�¿,t#ì>·¥eF7¸g�¹›œ¶¥È«F‚¾T_’˜ÎÞ_¬Dpû�R€¼û›"÷/ziæÄç‘€õËý‰@˜ïCgýq÷ÿ ÷'n)"jœ>/÷§�ï{ >^Äú‰É‡S²~„=f—�ðÐ<{©’ðÛ½„õaßjÍE6±Y?[Ÿ-þ„m_0p{`ý¸9Qîç�ŸŒy¬swè?J&»pâm€ï'ºìý&gýEve¹¿‘À¹¿k4èþ.ûã° —ìÀt]ŠtÐÊJâÐîÀâ‘*êßD ‹áH¸¿¾?V&"¬ÀÄ39/´<š¶œšÿj­ìÕhßÇÄ…�[À»¿åõná’Ü  hJ`g–ØÇ" axgæV b4é¡.¼^›ŽR®­FdýÆm¨p‹Eîï`]@v} + À÷ÐÂYŽ¢5\¦Ø»ôñ +8¸ÿ,";†€ 7\Únƒ„¼ëg…5ا¬_ˆ»3Ö/÷gÅØÂHè€]t{3p¬=�öLïû’¦x÷§Ñî� 8Ñ/ÔçÒq €õg7 €â@hbŒòΞŸ%¶Œ`ý’wÿKo]ö@€>SÌ ëGï¼ý=b|q@[KÆÀÜ<î/9XjÏüqäìº +$|¥7uÙe¦ÎúÁn0˜éE€˜x�ÍÀ»¿ßGºÿK®�û1w¬_u¾/÷·é'¬ð@TÄÚgÏ -ß÷ ïþÅÝK²þÔ¦@À�ͯ_8Eâï+Üßwã${RHÀ÷@•¥cõÉú%Y¿$ëWÄú‘0°~ÂÜŸ­ŸëÂ÷qÉ ëî.÷_^¨,Ï}€ãSÔóK þK¤àU¬_ræo”Jÿ€…fEîï0Ý V^mU¦X`{| ÷”þ Hcþ1ëgwHåL„ +€Cß�€„Q€ É +€Wž3ÅÜŸ†ì óâ#°~ŠÜ?^ Ü?^„î_Íʈeú¾�|JÎ ++ýo¸qüq(¹ºÔŸ*2z§¶aÝtÛDl$Ÿþ#¹?ý,€ò}åþñ +@@óK[åȪ–ð} ôï àûb¥@6Ÿ”ûƒº:ŒYUÒä6Eí+ÄŒ[$“å×Äýõ³†Éµ³u› T8Éú‘md-ÁM—)Û—²ñ÷íŽEÕø>PÒÆŽܽuoýÁÖTú3 |÷ï2¯û�nÀ€Ü_’õ‹¸?Ö)iàû HÚ»ÍÜñ»”¶?dçW�:*€Ëß}©ð@$þ¥bY¹?’û ÞýãxÿÇL4ë÷ +3\Æú/¿uш@¹¨|ùhÜyýHÞݳ~ò}»/ls"¿c#R Pàþ›(Ž÷Ž +i? " ;^/Ì51n¢»ÊÓÆÙÄ^ˆ€Œ^ VÜY�ÒÞ£Á”-J÷=ß§! �ø# ‘ø›¹» +À€†rÞ¢ +‹W�rÜÜ +ø¾*¤Ü_½@ø¾€ŠÕ”Ü© èV0÷w@Öÿu 4îÈýeú]@XÿX)�â ˆ÷·Îyt”û#Ü_b¿Çýû³«€ï«@fg5çûŠí»CPàûL´+ŒæíÍ8ðí1@Ö¯ì2´~'| fíÌ ¾ßŠú,a >;‚û7H`™â¬YvŒD¦0³uÈ8(÷÷`%Ñm*÷ÝÍý­?&€�¯ôYHÈ1ߟΊ¸q[Z ¸ÆÊ�Ä`‡YTø¾�Xç8lsá³\Ûù¾P®*ý÷]@€i�À¶d»?#¤ à…kKüúEÔÐT ½„¿ È»?¥@¸·(_. Üß·}ÿ�ɹ?€)Jÿ)â¾ï»€Øn­ì‹³(oú,‡¨OÄ÷ýÛ}?Ÿ*@T ð‹¨ÿ$΃Vw ¸νºÜÖ*àþÈ»?Â÷¯¼}™ˆdý—pÉäÜ?ÜùþÙE(Ûº@q[’ˆ‚ma€‚(ý7¹{¬Ã'°ô_ ¤áûˆruáûb€º€üïuªG^B: 0\™)/ZrM’^ÚÿJö¥‰#Ï6S›‹Õå34·”ëb÷…ùð´júñ±Š»Z”K`9,�FqoË+• Pyßb¢'Õ�`ªQYZ–Yë]’* æ¯?Õ<}žˆjG_fÎüô<�™ãŸ×øÕö`™èÆÞU~îØðø â»4N¾æ5¿ò¥úBsöù—i”Ÿ­ ?ž”ØÊpUwdsêîþÔZþÜåžçO6Qs<‹6Þó©µ[{þõ3ÈfX»6;�JÞ¿áîø$JnÜ€ÝÿÂá(Ýß;YͶŽVÝ•'v"·<9PÙ9ŒšGÊ(=Ø™×»}Ýv÷É~¤ûGÊä>6¼~rx4ÅAÂ&$×Ngz8\s›(Œ÷ÑÐ{%T›Î¡É);Ÿ99“«ql»ƒª63,aÅñÁìp8ZKÍ�‹³ë1Ì¡Š‹-å�F4�¹Éü�‚û–RB4¿wbå•fêáäÖ­˜B�³z‰“õÁÌ£‰(ë«ï•ÆžÔ‡iÔž–XŸ™}y¯Š=&!/!mÆÙÝ¥•Ó­Üc½‰ûÖá#¨ë®õ�m¶Z8t¥ú 7)—´/NCW¸ K˜Ž¿èH§£ÝåIå {´ˆ4ÁöùM;ëÞ„CsYH“ßšB6dMt’–-ã ­dž»>ÉK2�vϵ¯Ì\åà4ªÏ΂~ˆ*ËLÎì.žÌ9¤õÆú®a­­dSÛoOSà[Ï’­ï ˆ´íö«ªÝ…;ñ¬³~7ζi.#Íì1s—¿K.뙯I'xuVñé³û‚곬dx°.P­V/2¶¬Êî2_·m>�’ÄT_WijÐ�l!——þÔÈœ{àm·Úööè~µÂ¸]Á… íÔ“î"‚ñ~öj"‚=ùBø{•н龮ÑG»‰•ñ!tîì±+o‡îü½‹o\ú“ ÿÝ…7¿v^zãÛºðÓ7þè«èâ·ß¼té;?ø«ï£+W.¿ÿþ;?þñíBÏ÷®üðÝïK—p}ï?|ë»ñÍKÿá›ÿü«oþÉyâ•+—о­é�õ[·cñØ}·5òÝåñ^bv“ ðWØÆWÈG‚DnÔF‚î|a£¤A*³£V +`ùíöx+ò ä5t³X:›´Ã�÷ö¦;ùp‘Í^ß—“f(欣o„F$`—€€¯^�õ7_ƒh¾ò 0œ83XªŠA½!Ð` KKo­$N#Õº„ ©qò†. øupÿìx y÷ç#ð}ÜŸ·4_=ïžì:"]ºZvOc™c{u5ϾÑ8¾â {íÂx#æ«yÜŸ˜O÷"èÿõrþ߀’}þpÿìPª™¡¤ÆÕÁ÷ÍÊ'â Úð YÀ;¸™øÏo É¡b9z¤0îoV: ÈýÁ€@zˆÝˆOi߬¯aËÂûW[ÇmH2˜vf¶e&,,ŸlxH|(Öß"ZÇ‹4R‰Ö‰ +°K\Ò¹¤0€ñå·÷b¡Òï …ãþD¹¡t4‹­6`ŽmÊ 7HFhýNú¦bÞ�õ›ƒ»”YŽcþåP%Ù,¥ðýôÿz‚†w{{¤-¯)þ1^¬³@l®ÈúÅ@ hoàþ°÷.m±µ]Ú¢/ ôhe¬_ ˜?¸•ŸFî�üå44ð}€õdQ|MŸÝ 4ð}Û[t¥¿½ÅÜŸùñ}Ë-žÍ‚Y6pi5dß²~‰Ub |®¨Ã¢äþ†�ˆX¬³⤚ Ji1@`N^*”úÉúÑÖ¢€úLÀý»î^zë/Þøão|õâŸ~“ˆdýßþö7‘€]üã.ð—¼ûÿ¯¾#ë¿øgo˜þÜÜ_Š ©ßœ°~¹?À÷s¹"Ro4nî˜pÿ¶¶= äþ(Õ7¾¥pÀvˆàÝ?@ùà1ä éÒ‰ô_íôßuÙ  ó‡À‰? +ç�•û«À÷%Ú‰–(÷×=Ì ~x/ÑW a#Tx(ý�ÀÒÿ/Qh�,*½­é? ±ln ô§6âþDr±?Ÿþ‡öﯺþË;qÌBPÐ*ý88Ò̳äà“ýÕ�ƒH`žÐ ýOt Æ ×Uª·#Žçê¬%þHE€Ù�ÜŸ½Á÷'bºþ±Ìx€—±@€YXhyÖA¬ +÷‡ºnRÂý½â€Ò´|º”þ[ +¼/Ò¹� Ô$ø#[­ŸJºð}_h;hˆ$¾µïæÖ7õ0ûv~'Èt°~d'oUÁ¶^½ÕÜÅ?êýg³h[ l@äàÏÖVt"Ý6àbÞ»?€¬Ÿ ü—EX¿W¸À4Ä4îϯƒûÓ0oÕõ¶†svbŸ‰XC½üíÜ;vÖïž$Á¦ð ° èÜ_€d»ÛjÒ�´jw™˜õ{`ܼj�§Ã±ˆ­6Òçê£Í÷cS$-ÙÏQµŸ5®¸Ä�õ«àgòE€¬ß £ÀýÑå¿|óÒÿöG€x黀äÝÿÒ_^Äý}æþ1àþ—ÞzSÖ þU¯8¬ÃGîï ÷¯ó[T³*ÒàÔ�Š¥¤ÀY(»l=€%þrÿÍfý$�û¯®Ø’rö@qK PÇ‹¤ô_†®. É.»|8j(ë…û“û«ð ÁÄåþ¤ÿ¾H¹^ @ ÀÊqjÒ¤7BäÀ[T°p"¾Ï[Ô¤ô_bfϨ^ `ùËoxˆ€ïòîoçX"÷oìÉâûêR ‡›b¡ëÇþÔ„ï •’=*r5ˆÀÊi;Ý×%òæã´‰î�pr€Äá»Üø?¤ÿº„…�?ScÀŒ¥Nñ +@Â;:*1÷Gª”þ+«¥c@ØÿÃÊÇ»€2YcÑôèÆD÷zDƒÄß g÷"ñW€lÐ$—þ["?MöçF Ì%ÞÈ6ÄýaÀj�þ{h|$ßg!l=uY#ê¢í@Tܪ (m íƒËÙèî\Þý‰Ì +©hØ«7@ºi@l§ÿ4Ü$@ P*-µWr�óܨ‹+Ç…åé²~DC›BÀ÷½´§I¾ÿÇ6Ú$\ ` »J¨»€XÛx�ý®¯¿éž™c;°Â}º½Ý1€((ê¿Âýù­qU: !Œ>Ú½º È|?/о‰Ä?ìÿyï +�®^µ[€¢º€¤KÿÁz�Ðå·/Þ4°~$�þ#uùô_]@¾°ôß‘ãÛýbêò€]månï_ r>íV(ƒvã=Øc^PiÑÆû,5�ÕOžKç‚ѧfò;�®Ö×Ù”¸/‘-UÈåC½r®räw¤²{z°Äôì¶"2g?}^Jo‚ú|¥õ2¢‘Þì°¸l:ho$Ž +gª­v&yÊþkxpI}v[1›]¹tbeÆo�³ÇÐëG_žp®©µ!©s•J%ût§¦=¢~xyþ¤�XW[\TQnMwSFq[j ÿþĆO×­[WÌg¿x1—îõI}èýú‹¨�¼oÃúŸ_‡­%ïë’ægj‰»Ö§û6ÊL1=¹•*´òjƒÈAÎÁ3öTQ*S½ÚÍ\6âUyj�cÀ=é?›ÆŒ ;Òƒ�&ù�!J¾üÒ»4ÖùÓ ÝAÑ aþ«ÓÂjÈî³¹j,Ø åŠ]lÃ1ÙVìzÿð‘âÎÝ*séùƒ¥3¯®{iaápAJoN–Š™…}“é¾ K«ö)vcWˆ×Óâ®4¯Íp0§ÙA¡7í9’{¼%Ý“ŒÀ[æÑÞÒÄ 1=”Êo³ë”P°­¿±PB+§›gζ{KÙG{QëDqrzГۨáöX`¡Ô_ݕٖ""3Ö}%©öl-µf­± ? +U(÷éb*“ݪÑåK¡å•Æ\±ëÞõ…­ƒ4ì&¸½£¡ijf?*ƒ®eΛ[,"(›q~i 8Xo¾=ŒÈ.¥mÔŸ- æÁj±Ò_ßmw#9øüþü¾Ã[[%ÿN>‚ÚB�qׯ¦äº6?"Mî6&1�5>EY¼%àÑ«D!04}�']ØÃ6qC橞p¿��Ʀ»óI:å«Ëÿ‹Ñóˆå§3ÃA' +÷¨p¿rŽo½acVc´gsϸsõÕ¡øýŒ´‰HH@€í}¨4ÑO”ûo-º"`GŠ�œ˜zx}m*“ìY÷Ú«K—¾{áÒwßh ëÿÁw®\ÁÁ¿sù­K^WÞ¾Ò–û{ÿ¯ßGøþµ,zñ_ôá‡W%¦P¼ÿ×ï*jžÅ¥RzhýV7ô‘¤^ŸÍýWé¡.ä»Q6·Á]þ^¤û„Qnóþë¦ØÍÀò+Ý·”yŒhcÙ�`¹äÀ ‹µ-P©ûú{Ý]48¸´Á9ÐÂtÁå kŠ ìAÇ�Y¶=,ÀúU„§‹Q&W˜žGÕ¥c(˜kyàûb±zx9t{R#˜yÉ]é?‹é ÈÚ‹¡¹ f÷4Ä€`ª!ñ’Ü_’û ¸¿^FC@…ÝK‰SÅ݇4?¾*=?,h.ß-¬ûÄ:Óºu¸?øõÞÆx€4òOhýîßË I³Õ’—òî�‚RªøT¿|YX8hÃæÅ^9¸€õkG×ãýÂ�Éצ³©>²€i95”@z»$˜ÅGc +áõZ à�©†Š7€»Ü0ÌR‰²³ù¥< Ðà¸?Ñ`åt}å•Ö/x÷�À‰ 7'ùÏBztI­‘CX¿$x)µHÖßu÷:„û{hÈUÜŸØ<îÊ65ÖhàûdŽÈ€¬Ÿ•ù@„¤´m'ݓÎÕïoYÿ�ë'Ö²ÞýiàûÀ Êf°×b)‹û!�¬_Âú€Ú²~•’ÿ "kŽ³Ë¬½û[훤ì1�¦è¿ø¾€¼û™�4_™¾] d¤€T <¬ürW´ó]«¦Ïj6é|ødtJÆ‘û#¬_ ðrEXHø�€HüåþDYöÑ„€€oýÉï{˜ïÿà;²éwßù!ºŠË›Ñ·ÿðýk^“>¼~MŽo¦ÝþŽ ÔM¹ö!o¼¸¾^™*D2÷µ —7¯÷Àý‘�@€Ý±äîÆ÷iˆ¸? �‰4HñÃy­ÁÓí1± +@Š€†Ü¿ve§säÝ?€êÑ— Ó È ñêy<Ýð À÷±xKÿy‹sÿˆfÖ:Qì–Þ¿FâÏšŸØQPj¨ˆÍ_Aqè¡kŠ7€ÜŸ:À)<L(ý�à̉ÖG�Ü5p»x9ªp¬_ÂÁ‘Kÿ‘Y¿ÖhÄ+fŽX¿B:—¦Njöß(&býì1£Ë=‘¯ŠzÜŸH ‹²±}ö�õ‡½jÈý!�ß;‘¬_ÒÌ’>WRú€„ï«‹ aý*)�Oÿîß:Ù@4VN/‹4ò¥4jÚ£ÒíèX?5™€¿–Š·óÇÀ·ÀOÍÚ\�˜•;àþË'›KÏ[ï?îOD7². *73‰?H‡±0@Cd°‰¯>7ÜΪäþƒý..ýÂ,ÛÝ�'eýÈîs”û#ÚÊýùÑmïr¹£K–m5G|ÀbÝ +»^)Çí½r|Y¿­€kØ`!nÅÔËää@àþ¾_ÿÚYd$p€lZÖ]ÎÄo*ù¾·~é¦@q(÷'ºR  !ÁQÁîÈ5œË;ªœã‡ƒF`ýr 4ÇR`€í|+ø>Cd ý—¹“û£ÕP—‹0 ÷Ï?=«. ¬_1ßd�ò® z¬®ÔùÃS¾Ô85$�õö"†gÜ©ïþ÷ˆ²þ8Hÿ � Mâ  +Å  +@…•®&ýÁ ^ 0ðòbë'^úÃ3­¹ +ÖÔ4øk½¸? øÚ…?ðHܵ>tÿÒ *"ˆãöP–äà‹€[@î/x÷¨T(ß÷ÐMùâ@G�wäÝ‘ûË­PJÿ=äþHÖ/ÉÊq*ïþÀ­ ÎIµ·-uIv3jIJ±©Rú¯Ž ÜÑК`»DÙÊòÉ: ÛÚ·ÈwYÃ¥ÿ²T¼XÄrÖlÖ/¨ Hb3Rh{ +’º€pÿæÁª¬_Y¿¬_ÛÄÀ»¿„­‡Î¾Ï®¨Áa©h°bb€­¡›Aó°¶Zm{){·; ž® +¹Ä?ìb€Òaùô_@*¶Œöp£Ñâˆ*�‰!ý÷€ä?ô}'›èNÒH¬Lœ’*€Ž. "8ÿåäpåÊ÷eÓ¡õë/fîÎÍo°{tSèÁ�ñéˆÜÿæ@‘õ›0z +àþkøñ‚<ˆñ¯ïïB¶ ‘@¸ ˆ×”CE²~a ²hWÑ�A£Š=ó=’^=¼œ|0–€Æäo™tÃWõÈËH�°¯95Nœ™yáT©yÔ+³½–ÈÊî/ÁHðâJãh€Ú�CæÛ“þ {‘$"ŸúÔ¿´Ç¿ÜqÇ'½0÷ùJ€h¤ì*飻+ç_i5JAî×{Ãó¿[›É Õç*÷Þ·¡ïW˜›*QvSªq´XÝ5‚Æ&ú$öÚ‰:)g�I&{ºð]ñé.úì•*S}¥É~¯âD%º»ˆù±ôC¿n×7*¤TùaR™Ââ©~‰C…ÃXŒ�›èG–YJåf6Ì€–p(¬Ê:FÜ=øž‚Èañ}ßTw×~„óÚ_Z>Ñ:ttnæ¹Q¤•zØF—Cìs3ØÍž‡¢w"+6³k5öóÏå‘®�Áz „ aóØ vC€²ÂÆü±æ¾¶9Yš+&Ô­TŸÍ NJZ½{dÞÝßdŠÆ)²ÓŒSƒ(ØÖKÆ$HÑY‡.°*läÇR¨¸£é†58òøCèÌÙF­tÝ»nù„5’&šû+h¢Ò~ú +ÒÀmR|z}kU'¢¹ç¯ê³Y=›•}2½)5³·\(ÛPü¦þŽ~”2ò—~ZÃMo/Îqyè,Uê£D4·7ïUß;ÚVDSôÆRm°\u—ØÎCÆ�qyƒ�z�˜ÎIlOuîY†�5kh?7ÊwƒŽ4Qi­£dÏzd×inɪ~bíút +¤A¹m¿g 0¥§Ø¥M¬€WaG?Ò«f÷%Žšt~[f¹‰¨2n7 d>ÓMTúo¿øÒÅo_�¾ÿï¿ewr½÷î5=à×ýýô§Nÿw^qCÿð'Ä���hþ}¨ŸºñàB9h9*é¡®|a£.í·³».Áט [KáÈ68„ëÜ<퀵3Û=ˆÜ”˜ ÚcþÛúŠãY¢iKe‡Sé�deŠd®+ó›=(½©«²3ìvSj"ÞS`¬ÞsC×6Ýí7îOC5„àÝ¿Djß´åˆaŽOîO~⌀¬_ ˆ­Lhý’ˆD€¨Wp¢wJŠNˆ7À»¿Ð÷HBè¾ÂýñvàÜñFæW“@îOhÿ¼ñ¬ÐÐý„k׬…Ò @û?Q�ïTgãïb@¡Ü‡âHgz: ëG`@»‹¹ÿ3vÞ8tŽMŸè/×ì@ÊÂ4šïòÛúå›X¿"Fï+?n� xઠ8žé€Î[²éd‡ýln5, –³;0›*';7è �ÏŒ4³Ñb*;ñÌ�d$pçKÀb9·BZ¾¤œZb÷OÊÄ÷ÅSæþăë%¬_ýK4†2I€ûÀl¶O Á×Çây#�üØ#hùt�îï%ë§t¼°~ ¤b%¼Œ‘1ÌÜ* MÄý€dt5W�OIÖß²G?þÃ@r‰}Æ�œjÃx8÷' +�ûÓ ðÆú+µ Ù‘¢�ÍÛh»€=�oæ»sQIa0�8Èèqy~_·»ŽMã„Y¿ÖÏ«4p`lGÈ?Þ‹€D÷ÜÿÊÛ—ðý½û} ëÝÿFã&›¿)äþRø> â é9¾€ÜÇ“qxX‡„;lóÛÌýÍú7oDÃ89«IÖŸÝü€ 4�”û#{ðT ~ÿñÕ^Š7ãÚæà1°S¤ó•Ž + ýèH¼Àýu.²sÈn!¶œæ11€¨³¸z»|µ¼ûgžld·›¿Éëy׌» €îOÈý…¬éÙÅ,“O¥½Ï›ã¯*í,±�äþ”¸¿Ò)¹? |_€ " b¾ï¥Ü_ÂúJö~¥9TðK $þ’#A +ë‡4*€û¯¿{ ±£Ðcîoÿ˜û DUV8H:ÔqîÜ€¨`GÇöÒ¬Ÿ5¤!˜ûSãj€¬ÿ*¾Z¿$÷WüôÓO±~0€ü ¬ëßUDäÝù× Y¿€Ü_ðé?ò$0ß·Þþ�ÀJ÷í %�D/~ë_V_QPxÐÈ­3Q°a=l¨z� ×ÆÊ£À.÷¿X.÷Î%°�$�Â÷ºÉOÌ¡ìp£'_Eñ»²huGÜ릛Á€è{Õ¤†w€Ü? +ܰ6�õê³ûgMê +@°œþWƒô?Ú¨ð}Éw rÿ ÈU¹?š-!uþ�þ«hé?ðé¿*€ú$¿¢ë²�ÕV˜¹»ô‘ߨ ˆÜ¨À÷-i’Â. 䯠à€÷ Ái¥F°„'�ö¡`úš GZâð&ý÷¨³Ã¹. $ë'ZàrD)€ûcýͽE¢%þV„÷#ŒV<»ìþ<¢·�øéXr×v)þRPÔ&(Py )|6‰¿D€õKQ D²SþAHÀñ)Ô/âV¤ÿü4@ަ + ÚÔçúpí}´Gذþ~�pà?¿…ñ@•AhߺÉ(¾ïE⯓´îo?V7»½€õ$–j=X o,RMº«#Ð$Û¬ŒÜŸ†¬ßÒÿ° Hu›= + àû¾’µW(ý—ð}ö1Uü²X¼’}söd;CžfC!a€ô_]@H�?f‚‘. (ÄŸþ#Uú3ß!ì5Á°sóLŸßd ùäh\?ÑHº¿#�Y¿ê€6Èý�,÷GF‚Ðý­XÄV6ÈMgs‚î]ð]êx½ Ø×0Ð'åG§4áZ¹yÕ��ÎöóáisÒã§KO¶Fö-x¹z"¸�äˆ]h\àÒvËîÇ¿ü{é�åÕ¿—nú�^�·¦½ª�Î¡Ž›Ó(\²}�VÇ·nŸ/=Û8lÅ⪼áßùÅ\µ10\G‰ÞlóÄ™‰g±Îõù…ñCŽ´÷/ néòºý ±t2�nº‰D~ÕÚN`·v¹ånëø�ÿÑ?LßÑéÿÍÏ¡ìoïX}ÓšßìÄûþÇÿÉî¼ú×nB•¡,šØƒ]Vªõ *U“ëÜ7�Ç¡ÎÛ:rÛ²ïòhŠ »îw”}ÚÎWMÁÓc…Ü=¨u¸Î1³>ëÏÛ%Á,ªPÚ ˆ¿ÓP¬TS¨XrçÇH †Y �÷èN¹’>aÆ’$¶e ¼©hΕQëp•HŽ6ÎÿSmd¥…#M|Ê�ŸÉŒ?AE•X8Vi<™GrUyÓøðÀ�6ÐÄS3[&žÈ#s“FÖK!ét1_ŠÌ�é;ß·Nƒ@îjg]ì¶üRT²K‡`cÌ^OD;5±4‹BŽkÕxÒÐÅ+ë“÷#uñJIKnL rÝPzMcÏeŠÄ¿#!ƒ³ã^ü‚‰ð^Ðéî˜WГ»5Y|p|Ë4-«l±N9"Z<Ñâð.=ÜO#_HÕœu¢úʤñFÅ×Úœ¬õ]Y<ªB9Åïå~²ÔÀæ„Ô<\Ÿ*�¦´ŽÔ‰¤õÝ– æS,–µ-?ÒG£ï�D¹ž•ª}º°ÈÓ¹¡‡¿(Gzø5YHO_Wa8cc¦ú@±j·Òß�Ÿž­‘ µc¬U­f§Õ.bý¬¼sa߯Î.ãÏ,ŠÀ?=qô÷!AXÿçþI.dýŠ ñ Ò=¢à-4dý ûë÷‡È€hæ2�Åú7Ü£Á�ăÉ—€âö$,? + ä•r@aÀnLt},í.4w €r¥4Öߘ&ÃÍèSòÛ6` +ø~ß`R°4?d€¬_ ¤`Dä0½o`ýÂ@°þ`4¤³~i +$8 ëºlýn$Œ¾�f,°ÁBæ³6pÈlݱ]Ð%²7:˜ûÓpÖ�Èܱ~À0–áâø¤ Ob!²\ 0ÒVƒusZ€>—Èçª3 +ÉèEž +Öùñ~ªÁR—µYã�  +I¢­kÐÀæ ø~¢;N¬î웞©áþD ÷G�_.?’µß.ÀÀ@ÏÂqÀ\ôR§åÅ@!á€D}T"H€q£Rµ�h¾ŸKÄ+±~0`·¿Xx8•í�ÓðîïÈ-ñudýàû­ù¦P›�؆f÷lC±u?d™:¯4dýªA}údý`ÝX¿×ÅŸ÷ øðg—åþ¯ý§³è«gÐÅ‹ßA¸¿þõ @44èSÀú/þåË‹úÆ7Nx˜õKÅub€  Ò”·R €nübƒ|ÂñþX¿öHÞ Z ÜËc»uG0¥ÿÅýqjU�õ?is/û + ¿}\€ kö@U7%Ö/÷¯?ŒÛAÖqàô‹ç³¿Þ_bŒ}JÈ*ø>îO€°~d÷4vðE€¯À€¯ �*@,5ÊTÈ�ò¿IF/¯7ßÿGÿ�:À@xˆ€IÿU$þEL>ýG¸¿€ð}Ü_à_eýJü}ôî D—iîß¿)­äþFm> ¤ +÷—äþˆFõð¦²Æ€¹2y¨0Ð:\QúßÜŸô_Îx(÷g9jH˜…R èÓc€fªÑ4ÅÎèÃ|ß,/¶’V—’96�û{aýãŠ+dýæþ�äþDY¿X€¤µrÛÊ>«­°uƒ‘$*ÿF@îO) PðÞÉ' +^õº)`€› $Ðá@¾0÷ß¼÷�Nñ©ðÝJ�÷—pj|QÀ€ÜP‚"@’óJ×€á0ù;¹¼É M6U.0 nSz‘û Z¾,1ûàz¬?Ñ3ì.’þ{¨ˆ€}OÖ/Èý)¬Ý_Àýñ}@ªP +¸gu&€ôßöÿí&ÜÃÝ·"@ÀÛo¿‚T´UüX2àþçÿÃi*|_"ñ÷=?’Ä€ ?8€wë +€ÔùC¤ðé? ÐŒÿ>ñoÒE¬ø>Š';‘@lmNÂ/.ØÞ»ÇõEoc�Ðýß”�¢¦k`¹Ø¤ +€î¯iyˆø>j±‹u£hì=ò«€?€5,\@¬*r«¢€€*²~�û÷�‘ ~$èJ'åüÁŸwy²~*äû…�Pɧã¿i“ÿàþ¤ÿÄÕ¿vî¯^ U:=ËO…Ä€6H˜¾"G…€"¾o½Ž¸ç­{<î/XŠ^Oâ/Y_PØñM ÎÒÿϨ€WcÚŠà0`Ð� ¢Àý±~ß�VJÿ‰x„gG8T�°~‰6¾ÏΪ +Àþu °F8FɈÍ/(üåÄÓa¾é¤ôßÀ*�o\ÑdÅÁ£Ô��óz­›€ûóˆ{ÐX?�>]°]ú¼Ý€èÀŠ]€¾/÷�v!VÆK€Dâ/ÏEüj^ø>¢U…—*€ñ'ú$àEâ¯2ÅWh0ŸR‡• O¡@X? P�—~0pÿž¾®(pÿ(¦gkFâI›©ÿ‡í/a@¹?Û6 +„õë4;¿»Áv’h�à+ÍÏ# DÜ?€þÜ_�û/}pQ}úR›ûK€Ü%(Ü »`K¹«èîì- V-ª!÷‡x½¬y€@ ¢]@DÓµÖ/­2¯ ¥ àÊûÝ< +îTj:7„*ÍC6 +cm*MDåÙCÅÝ-€áBäÂcÓæÎž•xPw™/NÛ¨MžÒè"âYb®<ûç«þA¬yädàô‘¿O~ñ÷_ †^‰…�v{™êS È:|Âá@%;æžE¬-íjËJã™»2Yñáf1Ò¥ÍgÆŸ�¿{Êux‘|Ê?REw¦ÖßôVÝró?A4>÷ÿø‡x:Å~c5êI®/—J=鞎_ï�Öþf'úÇÿÓjôO~Ý¿­3›ŒwüÚ*”Lt–«é‰=ET­gíLìÏ`ç¯ÊIª× é˜åh»±˜T�’»ÜÅÚ4ˆÎ -OGÅ‘õ 8ïbv#@Âî8º­«ºÝ�5rÂsv Êæ»lð@ގÑ�vi>e*ì^zv˜e7Ý^È «„Ó©ÄžÜk3¿ŽPÿæ8©mÊ0'ݲñÄÉiëX�÷J¼}j_M4ƒ)‘€kî,†eìBM7«�¦7° \ƒ1 –Õš#‡÷=÷³˜©!�»iÔ¢�ø¶·’‰=6çó¸;Lô�#½ÒÎ6;ÂÖ•�âeÖYÄBPèøÄ©f^cL‘½æñ�ÚNØÚ˜Ì�žQãÊÔ”;³=•Ÿ˜˜Ø=05�'ÚgU³õÇ{òhbW¿ÔÜŸkáïOæ�(|.«Á*¹N­Á—upšxÜ:�Д}_Ø`j<á*›ÑLŽ À”F‰®˜ÝÊíXeºU¢ÕÏä·v¥»;»�—ö�ÂÃIT¢^ S{wÛçà&3l[¯‘Gú¤ì}©d÷¤Î›;l¾¦!»«(ÊÞŸ© JõÇŠ‹Ç›¨;C*jä =µÇ +ã»Ê^SO–¼ªc�ضÕG³’¦ö“”ãKÅí½¨òh†h p'ÆŠÃÝ…mÔs_à©OÆîXuæÅ¯\ùˆ$ý�ŸþÍ[êêqgt]WþÏ?üäj8”\Yzï½…ÝDçÐåËï‰ þ¯<ÊdCƒL~teéÝKvšáâù ß?GÔtr�=C6ªÇ]fWxGºˆN놆»‡pi{¼°-^µ¨gñzŒ>·ßWîOÃîé&Z£õ¸½&<Àãwtfî[›üâpè“*Ÿþ<h~÷‡QÄ“iëÏÕ¦ˆø¾€€@O?‡Õ" ÷×ã–˜;á×þÅØ7¾/@‚ÀõÃ?¹ÿ•�‚ Zn€ìÖº€ B´eºî)1÷G1´>Æ€'m~鬛´ ’1ÀÕ( £ã&|¿¸5›úÇiÈý×Ç>‡Üß`ÝÖy�@C×ý +X¿ÀÈ/÷GÒˆ˜cçm0éWD¹­]˜¾¤R@‚ø¾�ˆ«’a-áû^�É"Ö_Øl“”¶%í.âþê¦0ELкª<fæ‡Ðìá2î/yÄ“X3;–00ô�1€Àì3|÷" pŽu$˜ÜÄ`À`—€åX¸í¯î„„•#®CÉ›;Iý¸NŽx\�ýkðý©§†ˆ|G¹¿®w¥n˜˜@4äûš‘ßÇjw¸k˜¯ 3bW—hD¾�§c€s"$0ßuÍvf=÷äa€[±åÓp–9� Æû›l"¾ÎhßG`ÀžÂ÷Ÿè¯Sß §K¥¤W}Œ7¹?E3ýÖñ +Ò ‘ø¾€ðJ”ÙÔ…t†`%¢j€§Âpª61€<P¼+†ð}©ãæY?; «‡õ»;ôm)e�7ˆèº q]h“ +Æ€ánÉö�É"î$\ùhI @þl¹KÿôSÀÕ�‚Ñ;0½ó×?D¾ï‡xÚ»þnÙý‘ ÷¿.÷wˆ( |_‚zVù>þî¬_FσÆaý^ñ®ÎäÝ·ò€Øöêà@¸?9;2D€õû +@Ö�ðô(,Ñ~ú9|™¨GļžWyjâÈïaâDt]üýÿõ÷Þý¯ 1€E ,YpsAŸÄú‰\G²u{òR€ï{|p@.óhîm!€dýвþU«¬ñK`J¨0±s„Šš¾Òµ±~€ûÓȸY^w§€Üƒë<pD)P*§P`^»‹Åj¦ Ö])Ñ݉õ D u¤dý`á˵‰,î�ò%ë[”l„ïË‘Q�û‡€\#jý�ß'µ×¿€ÄW–`€:£x¯½Ò�Pôî�ôˆ$r_…Mwƒõc+bG…ž‚ÊýÀ^LÝ3ܘaÈýyîÏr �Èú=êX¶«$Ф�ˆë÷Â÷y}PPsŒ÷«°Äo® ß×HGÑ +@¹?î� (•üüÀh|Op 7RîOà áãÙû±u§ûR¤ÿ¬<ѱˆ¶K¸ùM%*$h‘ð})½1�ï“û+žüZ3»)�ûÏ®ºJŒ4¢Ðo*áû¹R@ýˆäà+à¥ô_Rú­<pÿh o„®�û_þà'ÈÎ3ÿÜù—Ï¢(¶”îDTöQP`ýY÷Išo]=>÷÷I¡c@�ã»ñý�Üd¢m ÙÙ5—èD€×; àû¿x.î¯"Àw¡ óçéçˆå½f»D„M«»Æ²uwWaƒÁ±“D|_øäï?ùUàè + ÚÏ©À÷åþÖ žÌh@n´¤™¯üÛÖ çˆë/<] ˆV@¹qkÈúÓnð�¬QDàû�ïÿÁ׬–F‹¥þ„ï«;ÈÜ$D€û ÄìÆÖ¯. Ï€¯dýò,ßDÃw X?áþØ®Ø=ÔÄQÝxbÄ;2Â÷ ±: < dý Çë@àþ®ð$ð鿲^ ÐåY !{ÐE¹¿}èžrgbÌåƒôß@â_ÀÜßõ)ýÖiã6 ¯±?S@ à)¥ÿêRú¯®ôÿÐÀ÷÷YšÙºKÿÃ"  'R +`ý,A�ãû �õrÖ/ñ¹êò@¨ ¹âz/uþ€�•]@ÀH-+ RüޏïBù¡0 õÿHꢠðî/è\7ÒÕjb€€h´æ+XzÀn®7¸9�Øo�Ó²û?j7;B×­Ú@€¨`€0à€T>ý�º¿€ÜÿÚô÷÷]@¸¿Öoc�¬óë¯ïNTvÞ©Üß@ý®ã Oÿ:‹w>@0´=(°~•í]@ˆ +@°óÉܪò>ŒÒºJˆÕý ¸,oEÉûó±®ZÚ5'w·PuîèÄ‘v~¸6Q;pùîrçsG‘¦i³¡Ÿ‡ƒn¥ZëY„•Ç¿˜Wÿ~ôÒjmbþ.ÿìCmþÚãó±®\:WWâ�š6³t㤉äTL;YšnI:ý‹ò�M7ŸLod/1õo«búZÖ¶ghÅîJd󹪻5&�Äou¢Îÿ'(°\Þÿutt¢âÿ#†rùn"¾ŸÜ/泟ÿŸÿÉÿ¸ú@º@¬kÝçWÿƒU[ +Is"›+SIÚ¯¾=!Õ§³©ž[â]:TÞ‘(ñ8v¿=Q6ÙlqUþM"~BTÝacº›ÓE×èDÕ�É�-·Wxýæ®ÒCw¢ÆX±�K!;F‚‘ 4pu�Ö(¨Çz�Ì�µB€‘äÈhÅï²K‚5ã˜æžÔA5w¸‚¨ êSý‰ÞNSê¤}«¹¯Tyd0ÛŸ^‘¸Ð¨ŽY’4�OÓ(nsó¦lËÄîè¬>:»cõ©ÓGqçÈYßk®¾FÑ×\£å¿O Õøðg^þéå¥w—ÞøË×_ÿO¯\xõñâ›ÑØ®-‰îŽ�™¾» ÐU®%Q}Ò¦oÙ2|'€9äK]ù£([WʘÙëí7eó±üCë6¯UìßV ý±Ì}¦øÄb)�J¯éè2‡î 7ñ„]à÷ÿUx¨@CÐÀPÙ+@ƒ[›Š¸?jž°¹B¢z`pZ¿�2ß ~ü™çÚpñÍwÚ€û¿Ãvtøƒ?úÎuP?´ˆ¢À÷a€”)”°~@ØÅb»æ@ü® "¹?«Ý¶|ZÏ}ë4™ OÃhxp¿ [yÜaýËÃR54¶�B}¹„°~Ä€]3¿›Zªè@_ýÚ1„›/üðBñA�jCK]ú/™ïïεÜõ•á´ z´Y?Ϫ=õd¾ €¤ +€-†Ã +ÚÖ€Îýih" a@„@Τ‚ y>¥)¾_ßÅg™¢&®ßˆ:E+|õô¯G‰dçÀ]ª¬bß«õä:¦$ÒÈÆ¤:÷§¡ô_Rúï+¤ +@¸pá¥æÞŠ¬¿9m�×taa¾É¿4¾ñG'±û×ăç?²þ€ÆÊ +@�õ"ñwî�°~‰ +@îïúúÍ÷U`÷JÿUuÉ©pc@Êý=ìÊw0îO4ÈImÌŒKÿ±û¶ +`eRj>Éú%Òrÿ��ûÓ�í‘À`ñÄiïþ+Pœ°»É#ó}¥ÿûrÃu€¾O �ø£Dwš˜{¸*Qx£Àú%êïþ¨ ^�é@¹|wrC\éü‘þ{¨ô3«°_ÈÀ¢ózI€¢@8rª;²QTw&s›âªU¨@‡¯p¥ÿ4¼û³nø>k+ȶ4û|P�ra@�?ˆ"߯L¦‘º€Èý‘‘À¹ëp�Hú¯ +€äƒó€õ²~I¹?†¥ +@îOCé¿ê€eÇw¶.Ùƒî×T ëW/ÏÂ=ëÓ5‚¡–X¿Î+äKë92~žµµ‚¡û#©ЧH>ý7Yâor °ÜÒUÈ»¿€-Ü%þj\¨óçF€ ëG4É ±¿$ë§@ÞýÍŒ\îï+웈dýÚ,ÞÙ€$xÅnëˆv)ý·oº?Š.{‘ø#ÜDGšÕª¾ïЖûcýŠ Gؽ¦{¢qúk‹/ýÉ‹4Î~óÌ;ï\ræo¾¯ó—ú—?€.½}I h€ÜqÈ—kI¬_ÑÀàþX¿*Ÿþ[/Ð&c@6wˆt¥Òk°EÜëDí J³x½uÑаä=¼Ì*8 Ü_DÙ‡j‰^rüÅbc¶8ÙDÕ} ˜~*WBP�hüÐ0Ð9;�<î&æ4¹±ÿ:mëOÞ"––-OÄîì¿é×b�½ÏÚØ+)òK\|{IªŒÍÆîÊj•PãØéÌfû\}[ËåݳˆFbcÖ+»µR›n?�JÓõý|—��‡+PAwÖmâgNœ"X:~º²»™í·¶ÅõDmâòhz +~ºYÝq–©}CÚˆ²BiºeãXJ•Lêž®Î[;Ñê__½þ·Ö’¨ò ý`~T~Ý®üð²âÉÎúd¢ðpåËw»ˆì…á®RõN‰Ob_ÑáQ£Z´ùëÓ÷Ær[âÄB>žÛ+mÝP)¥ëÃéòæd¶;ކLå²´(wßúô]±Ê¶žÆdÎ/³º³[·?Ô °²$›û+ñdl¤>¨q;:«ÞvÜÁÎÀcõÂðKL²1”LÝÌNÖyëêäÝ·èR†àPw’YG-±4ŽÛ w["JDÓûÊ­ùºÔÜ_oÌ–$VÌß8� ‰7¸JÍIfñá¹âÇžÌIÿœ5þâ<Òë¯\¹rᇯù[úÀîߘ)%z; +¥.‰â>¨û�òÛHü‰Rþ¡åÉà”8¦©Â¾ »G|hýR÷½·"�NqTÞÑQ,Åûî�åJ6¨N§±)üþÜÞ@²ÚþR˜ï{M6'Žž( +|_î�HÒ±~ELŸ†Lß“@@m8ûÝWÎ~çåÆÌ ß—b]Y`pÇ$óýdšˆ*µêÌA™>’õPQ48 Õ™ J1 +¢ù~g ð}„û€�Ù§Kr +„õ£ñ¦ñ€}Ú ß7»¼*“‰Ì¦um°]!€»ZØ0°lÖã©ßî„_Ö¶¹¿îo‰­î|ë¤1�À»?{Œú[dܸ? `ý¹|\ Àýa€0 tOQo\)["‹¡ûÓoæaiæË`þËÐ呬?À€€ý..‹÷— x÷—õ�O»ËLÛüÉÚûù^|÷(‚ò‚ŸÏmæq¢–Ãø•í†ÍT�À¾?5=¢¸x¢á�Ý”Æú«;óHýã( +€…cÍ Üq ˜;h”pC¤+®;«¬ÂôßÎ=dåþ˜�Rî�h(ýÇýŽ5O4ÉýU’\¹?éÙ|BÖÏÏAôÀÂjKÿ‰0@€Ö ßXšP,¥ aúÝ +@h4$00…Ž` O�r@]@r«B\0 ¼ÔŽ(£W ë—äûQùv²~��Tîï+¥ +!ø‚a"ñ—X%Û¯àÛíÏÁßä•/$<:×Þ„„uù + pð¶¿ÐÐMîO½@X¿€êc‰" >Y!÷WG� ¿h¾‡sOÖîABA#÷w1¥ô_æCú¯" gó¾¢]@ª¼uáþ0 +€Úã$(®²îþp +åÒžy¤Ü_0è«N¦Kü[›–¼™²Ïæ'¦S›Kø8±zÀNü*êâ¬@ᨋá0Óñ“ÅÝs2÷x2»#�Î76l¬¬½«_ê\›Ž'yÊ4µw¾ÖhñHï@ÅîÊuþÓ4¢¡¡>Òø—Ozñº0Íä`SuÔi>Æf…«Ô!™�úÚÙÉ£'‘Î +HÕ™FvS§Ä¶Î•Ö#6ßÔ¬]Ūã_]üK”‘!¬�d{²+ž¬ä´™Ó‰ürÅuy?ñ“æ…ðG~Âò£òeÜŸGÖÛe½U>.èü ´c½T™L'ÓkxeÖÆ»:J#]™ûÖ ÒVKÿƒ";î�6Y£T¸³�몔(Åmë+Û“¨î&:®>ÚSÞœÖ$qÖnبùl¢Xî™Þç¦ØW@–¤óÕð¦ý[Èd›óe^Ÿ ³�œÝOíÔ|p­úgÓ÷Åânî¼­ƒF"ÙÑ—ûi9¶¨]A½o7–�:0$Q+È µƒzc¢¡:òÞÆ¬·=èâ5ØWFnÿ^Ž®>°_ 5ÜMØQPO8 Ø¿Ä=9©ñÔP`jº˜`Ns_�ãž~ýfåŽÕýyò¹gʺxŠÆäL®ôˆu‚[?¸»_«]>²9]+åòøx 5”Qñáž“_kÖ$-�î®–W;rþ ºs©¡É'$~¾‰ÝvÙ‚%‰»bÕ�ƒ4fÔŽ4'÷ØŒ›~c"}G3e|Ü¡WìiˆVm°Üëƒ~ ½Åÿë—ÃOÃæâ‘‘‰L}ŠÂÝ%øÑŒNëÊs a +hruƒ¯l‚^¦`¾&[òãÁ%ëv^ÁæR4·Û¼o•G{l*Ðr*Ø{¥p£!û¥¦‚›é³Xtì_μôÊÙcÏÍJ|ÇtobrWUj<9~ö�_�üÉH«VÀ ü»úòŸ}Gš?<çU.¢ÅÅ#ÄÆîòÙo~�È[Þ±|oçÊh.·¥Gêé»]C­Ø� `v +ñÅ54’雑;ÞcÝ™5ÙœÍøFäðÇUˆ(ۿΫÿ¾øú;;Qe8½þÎÏ÷Üs 1v[Gõ±ž‰=ŠÚÿµ˰¡>!ˆmè/U|ß3ÀÀK£é£(=1/˜"Hç«rÉúÑúÞ‚À·¿û² ytüF<žŠ0 <ŸaÝY:#í&ƒÃúåþ:}�ûÛ½ž?#ë—¦~÷ÔÄѯÔŸ$²ª…G²b LLó¥íPA¸!Pê*YVë6.‚¸?*USüT½@l€Üß 2–”Å#UÅá8î_Þ™DdýöÛGИN@¥Dà&sî�¬‘ë‚ÈàÜ_òÖü‘SNaý*D„_ 1<¨w,•=dýîß“]ƒhx°ª@ @ÅÊòÔÈ3Àúô¯€Ø„ì …õ“­+m÷Û\ÅVÎN*xͨ »èl¦¨ZA¯ç)ÿïþÖpî#SÃ÷=¢+Ÿ¹¿‹ÚN0ßw½dˆŸže@šbañT±HÉî/éV0lp›t7o¬'ìbo@úÞuzM�J.„ASÓ6Á*jî… ƒX? d©ÚžêÀ±¯Iƒ7ºK¬‘¬ø®!Eÿ[èþ_-±­p�´Õ 7Õ`ˆ?ûˆ_ ‘Ç=°þàÈb5Üa�{xÐ�ã{ß—ì ³»×…FÍG’ºè’¨9GŬ_¸rõŠŸ]xýúÊWŸ¤xÒnª¾xâ-,´¾÷gçÐJ,ë �`ÆùW^F0ë—8`ùQúÖ+z÷Gì0^mà]¸?¸£©“†þÉÎä½Öh€$ Ü¦ ïÔ¶µ{¯º¡ù ñ=ý«üú¨ðøœ�kF€û§ûs€=µkÜ?–Lc¬4ìÊ€GË3‡Pi:�»áâI�µ¹< cM„ûw®MÈý%Y¿„ï§7Upy¢OÿÙÌ ÇOó é¿1À¹¿g€Ç‰?Ö¯ +À§ÿÖù”û ¥=-ˆŸ/Y¿NZÖï*ühÂJl€¯œ×«0÷Ï>8¾*2} ”û뀈¬ÛÇ=èÐVXC¹?ÿ† P ëgeP±”€þ:U;Ëj˜Oy\s¯gÁ¹¿Üß.��ß�¬_š�Ÿ\|¾%ù +Àư‡WN©àh'">‚è³›D0@£5_éÏ­G€ÄŸŸRNDà+Çs¶›Eׇ£nåþ€߶¯´�ï~‚¨äþˆM$Ùs +¸? ¥ðòq¿|25[@¸¼1OôrEÖï+½‘h öÕÛÙ0àܟ趇KYwa³  +@ PúÿÒ÷þ¤«W—¼ÎÿÇ—‘�˜ÝØ]—Ný›“Êý¯ €e¹«TP 1 }ïz¤ÉòØ‹(ˆ÷÷Âúu¼{áþD`Óý—8`×%’·´ë_ |Ÿ�F„«”þÛ €æ!ëêy|Në¸?l�„]@X?Ù 0à@V,Ð&Ú]vÉý§ñ²(’ýE„û6u€¯Hÿ=­ÊV­SgäþHÖ`Àõÿø. @]@Xëkg ÷G€ïŠ@é¿Æ† ÞýÙ}‰ÈE+¬ €Dúf„ïãþ<øu±~©b‚Ý­ÄÀ~ø´ù~�þ» +€Ü_¨8 +ÝŸ" ¸m½z�¬QJ�û«Hî/ÕHàKi ô_ýõ+ 8© ÝžêàÝß@"Áñ `s‰†�k+lBfááû’*ëÌq²¶ïÒq‘Ý+÷—x\o1¸ H€WâþDK„]>Kä³ð}óAׄï„f¬›‚ +#¼û[GP¸ø +`%Ôù� ¹¿“Ñò‡{(¾/÷¯î¬ �ïãþ`€(ð]<Tøí)oÅúå pÿ3q¥ÿ€}÷�K@jÙDlý.$þXÐ þˆ@ù;¢Á»‚O·¤ÊÜNÐÀܱþ@VvUš�aÆý%@ (²ß:÷Göo>ý'«) x8ƒ ‰?é¿´Üÿ"&îû(~øÚ¬_ ˜z6ÛŸF4æÛ‰bâËú’Òÿàí¾ È«2j½@êÂý=Èý¿8â-^²~õy©ˆ óæÕêŠQ;÷‡ø¾Ü߀�o(Ï,H¥'Tö¶J»M4tµW¦XéJ¥@:7”{¤�xpËÄlþÑiTÚÕŠß•&âøÁíbž´¬Ÿ¼>ÿÂgÓ›ÊRìŽtbcå–/¤Ñº ¹x*ŸÎ×7dËÆ€»²¤ðˆÆºõ‰Þ"Å»‹ãO.,}p½pö;�·¥¥ØÚìç3…:nMü¿ÖÞ�:oN \½Y?r2ÐÓ6óÑä.mÓ5nÉMC•ý ÄÁÑFóÔ¯ÖógÆ�œ” `OÍèDJ0ps[W}:;½È]ÑjQîc‡Êt0ìÄ Yá°=~œb|7Na“^©JÕEÛ2¾¾-늣v ‚ùmÖ)¤Ù?tõ‘ýu hšÖÎ=h–Ú¿¹ ­O­Itc=éòŽõ¨¸-˜f–F±¸^ [ºÑÈoîÊ—[†í$‘£EÙ½I™Ôd6Wrwø³;ÿYcÜMÁÆ¿48Âñe “B�LÜ ·üÍ(�¾ÝÐö.ÒPŒg,÷ïdµ‰(Ë òkýЅ̦X¢·3 -Fìö÷Ú†dÖÄÚ®>/Ø ±ð4ØÔ˜”6»Ž|ÝàÂl7<£k€§Œöd“iáË®�Ù¾WØg2΃6j«9½¿Šh´æ¨Ñ,Ìì«Zï�_ÚL©ÖD$¹q6Q£¬È+½xYÃ]ìfoqkŧ[®À +kæ »FÚn²ï°d�ƒ +aÃØ3™�=h÷_c›GUu÷q¤8è{`½»ÞÕõÑÜÉS­¬áhnz&7ÞÈz,›:÷§/žø×sÛ\WùI~ò;Ô:b×÷œù?žC/ŸÑë­·/\ýÅÉÍ+w嵿‚(&Dj ?–tþð¬ª)?”@Úõ±\¡˜&¢�RRµÞûØ€Rìb÷¬!ç“nïúœ†YÓˆ…£ìw“v!Žh”ßܓɬ'"»˜nã-ò1»Z�tJ— úY›yÖ¯Xœ Ü¿<} ð}›ô‘$àA¬ »Ìl¶û…õ �#ø¾—Ü¿8iÃ4ÜŸÖpéþʆ{‡ ðèø�xáÅsÀ•_\Ý1>+ÜëhnMÈý!ë)÷yÊæ8²û�¹Iî<Pýè‰ìhƒˆ¦�ŸF¸Ŧ,=�J;smÐá{ž`~DªŒYäß`¬!2ãhä™#irþ¡u©{)ÍÌú‰"�`à%njÀ¾�e{`ýÄ>lÔÀÜ[9~}, hàþX?Ñö~+>Â@iG +ÊIË›\2¥¨IµÜŸÏ"ÚLœlJ–µ€�­ë$»!QqÒ7õ ÑýÛkäþ€F/˜œû!Aq{P¢¢(°~¬ÖúˆÈ÷²%2ohðv1À Ân3µp8�]€ÍAWÌé×d帿ИB4Zóu ‘V#@œÙ7N1j¬˜ú mÅÂó÷Ç5ÜVßer&�û#˜~}ÏýR”n K‘ß(ןÀú%|_é- Ü?Ýçg‚ù­=éî{²~}¹?Qlœ ÷˜œ×Kž&}ºž2›û#Ü´ÜŸ†  . ^ivïÓ|~SWCèÓ‘=´mj Í­¤×ˆ ²~a€†î/ÁÜŸ%ø¾d€e¿òýoy½þŸ¿çõâ·NJÒü‘ª×é¯-x½øíSHˆžW¸ôîEéÅo¾Ðzf ríÔ½1Ô“‰ ßg £@™ÜZ�Ž#-!Ù»áûš–%¿¸Ž²ÁdÀÖ @%7˜0 ¨÷/¨œû7) +|E+€\µá@ w¿­@½YŠÕø¾:~#ŽûKÊýa ïþDåþ€wÿ6øôŸ¨Ü?`À­‰ ™¢€ïë+XÃ�Ï�pDú]èdräh@˜þÙh0j!÷w¥€¬ŸtÒ ënñØâC뢠¡”_ÒkÔHÿ=H¥Ó;=(ÜßW€¬Ÿ¬ßê€á„Š«”#”LÄ€†ÜŸOt�$AÏLÁ:;x÷§�ï'\âOßw»¯`Ho´"ë_–úÇÜôø>Pß÷0ƒ7;‰¿ïÊÄúå³Êµ%_€¢ùþ´y“  @Ò{%¹¿äÀZ lé¨Zó-1ÃäÓ'$¸ƒn.óÖÝÙ6Y+á¶mî_Õ´ +õž(ÄŠ€•Àý‰¿Ààƒ–Ê!¿¯<…ÛVîo ·¡ü–ôÿÊúÕIèÝŸ†7hü€hŠls–ϦÆúõF™»�È­R0½ï’xëgC äþR}W¿¯Ö¯ôŸˆïÛ§«ˆ@Ý2’;—þEúñ/¾ñªW´ˆ`ñù¦—?©€<�>E È» +÷Ç»Iêa€²{›¿è�ছ$þ÷‡80@Ò�h¾HÇ5E@D`ý]ŸGHÖÏÆ PÙ¿­ˆ¦k+ߤÎÜŸg”qPú�u¶¾v©HîO»Ãúë} ôŸh pnù§= ðîß0@" uñ¡X?¢Pÿ€ yré?1vWº83ßÔysmH—0úú3'Fö•ìßPå' ðÀ7¨NHMLÿwN¡™ßûº5Pq,‡¥û;¦9á&®‘ع‘mÇ™|Í.’t�˜»ú'gó^�éb¹Ò×w +Ùy›PE¨~¬ë·n¶§î±þÜZS~Ç!ÑÉzÕÕµÒ3\A¿«3uÏZ~ø¾Üz˺;{úcDÖ-‹ã»ž¨òÛî¬O¦Qe¬/ ¯'=$"�A*íHÊ´í|€ª~™Á®„õäª.›#ò ] ê. ’ÕÙ|9‘+­C:UnÜr»ñˆD2‘/ö ìýks…uD”\Û›]Ct;q|€ï˜_ÛóÛkú7¯óRÍ”/Ùˆ©ÚcË—üèÄ ôØÌ²0ˆ0m„Rv%-_‡È¿’Í'ê¬_2w�(òß ›ÈC2®¸Ñrh*2'oaQŠX¥ýnú: ÉM4ùèRs¾²p¬…ZÏL6[¥¹§ëºÜwê)Rétëp}zi|zP¸ÂyMÍR}× "¶óu69’­Ïc¼L¨p‡+"kÙ™EÍÃÅìý‰RÅ®+&Nî)Nî¶^uâ‘Fvcñšú®\㉒�Ïx¢dç 3wzéò¨\ž½¢§2n×÷"v†é§Ê¥ív“›ÓâážLv½õìÎ�í2ñ‰þj,b©f8!¢±©/H&ó¥`5Üìú×¶¿»b@'�wŒ¹›õ»!¡;&²ˆê“h;uƒ»��¦]Ì”íElœêD&·•�œ·»©LwÚÏ�høfdgFGßWÿ÷Å«¿¸ú‹_˜Áù NÕ:ý½û³É�?ùÄž õ‰»ý‹n) èÏ¿ñÊÒÒ+þ-tæQ´2hÞ!e7Ù­½ø.äø(;h'¨ %;<‘Ì=´!›‹gâÉ´ÝâÑÉ�rJݽÖ+ècpʹ�zzoYßõywp,•ú<‚ˆ~â?í½l6Ñ*|ß3 â®h@ü®„º€p"bý¾/ ¨PÜÕBQÔ>�¹ÿÍé¿ùªŽÍ¡6ß÷’ûçKW®\‘ûKmÀý=äþ(·}: +»ÀÝ ¾¼ï(Öï€TrëAš×V{ŒÒRÌhÙý] 7¡�ïû�"²þR5ã iç“0>ÜŸž†¬Ÿ1M]ä-Ø#ÎýqU ´÷—ÑÓ°iC"¾¯èæY�8òaû‹ÅýKU¼>À.­p÷(Îo øšåÑ î/ˆÄ(X+¹?ÌÄ|€�(Ü-g; ²~DCK°þ�ü:ÄMÑ“¨ 0#|_¹mÿp8Š3ë`è* Õ<€;růì‰1Qxè -â[ó¯·0ìë÷�làM«„ò@X¿@‹ê�/²·8³¿‚õk�î�… < ˆ«§Ê½ ’ŠÛk<¤Åã¦ñÇòëŒá �m7ØÞ‡ÀÀ÷a PVbýÄrÅî*ãåÝ? +ÖÖÿ@×�5dÈ~ˆDùk�ûÛù'Y•l|Ÿ—Í1‡{ÙhH�Æñö}Ø÷JÈúÅ€6ð'ðm¡"ú^!�¿÷Þ{óÍ·. o�û*:÷§/ÈýQæ¾µ(_\�dô¸?÷ˆø¾ð×¾±ò™�uÉôZäKÔÕukì¶NDßG×[÷'úýŸío€Ò#�»l%Ø~¾POd“.`—Îý¾/4��ÄýƒôßUÁrßúöËhb÷|}r™>ý$þŸEàà`EÀ3'<ð}ÜŸôŸ(ëç{�6*Ô1 õ¼ Òù€‘éqr¶»õK”â–—¹Ñ�(¨ˆÅgýh¼9 h¥&‡‘z²k%–#¨Àã¦IôÀ¯•þK+€iÀæg7Ǘ黋ÈmNAþU¦/ ¹¿; °~÷Gø>é¿<ˆÄëçÑÀýù "Òᧉ°~1ËV`=<%»´A,�¹�zÖ@[ᛊäþ�D²÷ç)@îo qî/àþHÈm[_Ùك؉ùôh } ä ÕúÕûv‚Ý«ˆÖn™eäAx‹¯RfÜŸHú¯ +ÀŠ1 Ò$ˆØ: Àýq4KüC D*^ã Ü_j€Y¿“ÜÍî¯àþ0@óòû + RËÈú%¾H üz<+è�’Ü_Ò R@Ä÷)=€ÁÍ]X?@²~1@Ö¯:@Ÿ¢-�|Ãú¸Â"ëGâ¨N>ù +À‹=S]LDYP8÷G�@2Y�"Õžï ÷ç/ppþþ.†æ.ë×_hýRpkè½N�¯é/2rTã…Ä|ŸÝ>*€ú7­¹?ë¬ +@ÖœÖyõm +$Iu¯‘ðýØ­Šê»ÿ_¶÷ +²þÊ~KíscM1À†ùG€ï³¥=t +Ur€Ê~+|ú/´1@J…μø-¬_î¿HK€Ñ. •@¬aãøi`¹ÿ¸. I€"éàþ×@é¿0 Ü?(ÂtÒ %¬<ZÇ+ˆ + ïþ”°~ý»µ)ýÏÜo¶¨ +ñ+F ôe@î/ „ê’ÝËý£m¥ÿ�Ü€ŒÖówîO`¾ ˆ +Èýu,ù#0Ú„YËú�ûÇÕùà +³>¸?ÖOúOÄú%ÀK¹?b;T4¥Ýh¢P¶ô_Ó£{H¥7ÅŒ“Y¬_kb»rx’ðÐüZË×/°ô9RÈŒXˆò}|ŸˆËû†‡‡ . ¤#G�w$ÛŠ ±7K”õ !$þ^æûÓ91@gh¥€€û#ßÿc ðSî4ó"û¤¾P@� Ü%ôE¹o!‘û«‘ø£xWŒHâ¯ôß:‚\ç�"ØÀúU@àûVyÔæ Z8V—û«`ƒk›#mFêüQ ziKò­¾²NóJ²~1@ÖPÄý Jÿièâa@;¿ïòæûØ´‹²uý ’:á�eýR`gú»1¼dýHõ±¦Wñ@¤°õÇý‰ˆÃÄK]@êÜŒ@Ÿ—õ{°ñõ[¬*Í’ŠÓ­Âøli×17 ;\�Ý•¨ï_,Ô§�*íšÅaÓ›rÒ »1‹Ô8b31Œ8J#[ªwüz"¶6‹< 0÷膻ú‹Oÿþÿ +¶›¹òч?ùàò+?xíõ7ߺ´´„––® þþ«Vuê62’ uÞšöJõ×¼ï7Ü=d¤º»$8?Ú bý:k�ê_>�¿ó• +oqBhrˆXxnÓ§`„­Ã•™C Îa^ }šmª;¸4lw¥PJWGs¨8œE¹B2{ÿíwlm‡’÷þÍî3÷¯U÷·\XE€{Ğݴå†ãÉ»×j^õžÌ:–À¾¢}• �òØñ6¼2P!Tiû�9ªË||¨šD[†m,Nmç„G•�i)WLJ¦8’â8TÒ=ñD¿ÇaëˆÍkÓÌñ]ÌoKzÅîè,–Ò‰ÔZT&—tû´vÖÁµ&¾¦Ûéµã +ê>òL Š/a@3#Jåê“i_–mîúÖ¹tÔ½ùÖkô­-mÓüBÍ«>5 ‘eó# +î×äg5'"cÂûJêL¢�Çéü?Òþ€hðz š"ZÆ€›·¶í_7”–§t§-yê)»Õ�$$(Â’¹ƒ“¾kf¨âî«ÓØ[)?’C‰d\wb �·çòÝ”_2w»)Û¾ +��?acoü¨'>]§7ø:à\2 &aoægZeM^=¾gñöÜ–¤�vvQ§”Q¾DîŸ+Vz�!íp½ÿþ µ�ÖÈmJO?Q«nÏ£‰=7�´VåG{~„Ê5ë¢ÑÀß|%å–Té•"„ +>B ÅZ +UÆ{ˆewqªŽÛä õÉ~Í*¨Ô&2ãS×Tÿ‹O¤O®~|õï>�èyÿäï>–õcPÄ«¾†o�¼åºRv;³¿œÞØÑŸvfjtsDÎg•tp¤[ +¨iãwu8¹KÃR±ô½qòӽЂc‡v<·©ËËÏcŸXÿ¹D—�î¾ûó¨RM°%ÇwÛ.íÒ\åFFA b@ø~<™r£ Tá]è©CrHàÝßÕŸ~öº@Ñ ôÉߊ`Ò#7À‰/ R¹ñK»#çà§ Eå'[Xvk…†ë ÇýÁ@óÄiÜ_ À÷ùµÀŽy׫£]Q•Ô̸›•ãHS€Áä@ô0ï~p]`ýÚ® }Â>h{†ŒÈø¢àí0÷§áÝ/.Ž&–°5Žõ“YÓÐøÜŸƒ9°~�6 €¤3·{ÈúÁ€€Kú‚ÛàŠ6‹}âµHen²÷¯¹­]fý’Ü?g$�û³bÖá£3€+Èî‘dŒû7œ)(ì%| ‹Ï·üqëw0HpòÔ¼Œi…=ÔÓbˆ zÁ÷ûs³™up1·Y§wäw€Àî�ûsÜ ^€t«2"˜˜±c‹†VaâÀ‘Räò{+bÐ Ù�ñÝfÓˆ÷¦»­ÿ�éþÌzJÖ0À]€ˆãìÆ4p/Y¿Po ?}c°6Õ‡õ‹zÈo�¼û#|áp@‚…ã•|1‰€¬ßÜŸÕs�€PÏ_X=4Þƒô‹x÷§Í¢äþÖ�h\Èï'èãŸØ&Üßtþ˜–ðóv||õÃè¿~lÿFàU[ €CÞó`ÜGpì É{¬‘Ý”@zë‡B‡§Ì÷7®S\ €lÿ-H�„üäþÀF‚>uOÇú…�6,+¬�@®6n7]9|²4uÀð´MÁ¦ + Ñ[¼.r–üfRî¯?=.½»î‰­Îß ÿÛYT}´é@q€V@ÓÏEïC éÊ5`ñw¾â€ï 63è®: Ä�aûÙLŽÃž�Œî–)ÌD|_ @ÊýXŸ¼Yö È‹•þ öó» +€%cÀpPx¬ßp‹€�ÍÇpEÖ©©°†êÀ^`Àõ3 UbRo/55ˆÀ]Šr³¢ÜŸ ,ñ{N|G1ÀŠ_®ÚI`ëèÖçãÜŸ•!ÊÖ5pVf�¸Ùq)(ѽúº@ØwáÂË�ß÷‹™À†Š’ý²þÔŽëˆP ÷RÄ€†�]BL(Ó·Äß1 yØL_e�½À…†ð0S@Z=¢^u0@$ý—V€-ÀôlIð¼@úO0ÁÔ˜×'Ì÷Ý*Y2(ë÷P L(!À  æ‘"bUUxÄïèDø>0ß—ûC‚Do¬¯`CN­±9Nú/ÉúU”ÍHbÖ_ts̤]47œT°ñÙ?­¦ÿ4x/é¿0Àñ‚ÿvüüë]ùðg—½<°ï�?@â]x¾äÜ_úð£ËX?ºü_­»1E€ê:¹¿Ç€ ì>”g€Î,ªP0 ;VÜš4V@@m¬›ô_€ßW!�ÝƬÿ¢uíšË�6$h@Ï%@@i—½˜õ;D»€°~/óýë`ÕªÕž�÷»?=¾îåó7€þô®ÏžC•±Jo¬´@ÖOŒv!Šu ª|@£1¿à‹ö9¹¿s +s%}lSõÿUèŽ@îo�6…$ÞÝIî¯]�Ç‘*¹�vhÜ?Ó¿ß—0µìƒÎj4˜ïo�‹²~œ—Xؤ=O]@�ðàÐB0 +€ÜÐzmÜßaÀnðMÿƒ†Ëýa€aÀuþX� ¬ŸÏ%²�å"@WK`ú›m´¨n~` +'FWàõ«@Òå9/~ë+�·e+�¤Î¢ý¾ûPð RueÍr]®ýA’Ëóv€=�Ì÷ƒSÖ䥽÷W iÈú%¹¿ïòX<ÞÂú%¬Qø>NAÿà+ðE”Ö?_Œ€èÝÿº�´Â’r€°~1%’1@D¸¿Ò‹®ÿ'ÑÛI#½)Ž`È §½ûGÏð‘Õ–ûCr]ÀƒX¿vW–©Ü àï\/úù‡²þ+,™ð}çþ&»=ù’põ£«&ÒðчW¯ðð0ßç5æþ]ÆúÑÒÒ1 +wÀšû{ Q÷—w»²@ÖJ$ר .¬_E@€øÚ*ïþH¿8² +ÀzEìZYSÅ ÷,hNP×É“«ŽÇ1„B9Ñ›Í?:…(n±¾—7íÛ>azâŒO«QãË¿_?¸Ø¾ú zÿÊÇÿê½ó¯^ šÞ^zëÝŸ¾³týí‡/5`,Ë�9¾rúë/®î°…T›’:¸XTj’Ø…«-w¸utà‘‰òîÙ©ã§$Á@ª9�¯æds$ XšpÓX&¥‰é#³N£¡Òö™x¦m.÷g>Ùn¿³i™™Áu:{Ö›µ‹¤Ì¸Ã‹¡ ḭ̂�ëw§}âwÅŠ¥„îÃŽXÅ Ñí:&�:æ½ø>ŽOC£éñ\bc?IV²ôÈzd©tÉæ‡ m7UÆÄt&†(Y2Ü’ã í°!¤¨ÞÈ ÌTêi–¯n%Ü¿Îå7è¦Tñ®˜ú‘²ƒÖ¡„³ëË"¾‘Ü_½@Èú|°~»xxÝÀƒ†M€H¦î#ì˜qǰ¤�æ5"ß=Ñݱx¼±v±Oô/¸êÇ]øCÞˆ#ö•¿øÎ©ÿý¨Ý³,̌ڼ¬8prj7jÎW8&xjz¿�@3óCˆMDT~�XNpfÈMh©wx74{Ë�2äÌä¦ Iz±ŒU'“mß›1�ð.1fáH£±§HD6…‘u@º7˜Z£6¾ -¢`†XáÊ<(J"“Ôh’å˜ì»ï ÆòÓÀ;´(µI›¯ßv·�~—x\7GBlŸæþZ8RG:]|8�ÝÏ?œR”º÷ ~ÚË‘z†Çщ:1·% ftÊ¡Î}�¨Âídƒ;ç/+�t—vôxñõÇ÷ôÛØß1vx{„ býì6APx"×v v•Ÿ_¹úwøx(U^þøã£r;RÐ¥Õå+ï#A--½µôî%ôÖ›¬ñÁE4{°”ÍwÚ¡íw`wDh„F‚dúÖ�#rÜõôÅm\“꽕R›˜L[¹OD©ô-ÉÔç¥ìÆXê‹·&îê$R + ôÇQŠƒŽâÖX_ÿ-Hƒøí¦°,›í¸r#`ýÅòîßu õ#'ÍSgXyÜ¿ Ôê ²3ÃTÝ5�Á…©Îú‘a9ÏaÙÜ_wÿÑG€ä=Ö{ŽÖ0À@ P^ ¤zl~M¢@ÌM¢’=6ñ² "Þ[ sÀúXJÆ„û»Çï”�™ãW(·ÙÐb¾ï`rîߘé'bý0@À”±þÀ�óÒ=,!M”õKÖ½“3ªyh¿÷°¬ß]Œ­ „ÊýÍèÝgE õï/ÜFþ,q ðÉ's0+]ð-xåûçNüë’Íyy÷GÞý‰D=+èÐ’d»bn-ý 2ÞbäLEÝßÀ€a·Z€Ü UÒlO1À`ü‰¼€iÞ¤d?2—‰Ud븿+j^Þýí»ïÁ/Ù× gàÀúuÅ–)œ‚Èú‰8o}÷ಠ¬�Ö}}Ù=…&ŒD86�ãþTÀ÷½ñr­e7%äþ`@î�›" +[“=ý*=ÚMÔn€ ݬ߻¿JŽW¯zßWCò¦¯èX¿t¸ý6Hò8"°~r("»±Ü?uïÍø¾ x ºÓFÏ=k<zîŽ!0 `ýŠüd¶ �Ò£¸i&Ìý¤ +@î�”þW¦ZÄ(JS³ªÄ€ø]¹e¬Í +)Ÿ¯vþ©¸ôÁÜÑðéÿupàà¿´sÂÎú)¤t¾"ëgý!ÁÂ7Ï{˜ïù„æå'gô#©Àý-RþÛ„?4pR$ Ö@<•Ë'p1À0uÞ¶Ú ƒð ÀÓ½|àH�ÈÞÜmQ;´^£ôßWfôÛïD€¤Ç%õ§líBA'Õ¦x®ØEúoU…@î!»™0 ÷oλK�êiNÀrXy4Þ-ëª`€uy9˜Å».~[ÿ°`ååþ¦­ÏGPîŸ/Ûhh=(ØÁc§Î ŠìÅðžþ[¢¸ùûðCW¼G`Gò +ØAõ*�W.œ;q* �ÎÀË4£à)!ÜßW²WUæ’áÐ: @¤ÿfÊnH1¾Oúï "À€Ó°£÷)sä�^0€õ{áû&NâoÖ€ÖA+)©»FX<¾ˆæŸ™föÕÅŸþ Ú x+ìž-n +Ï•0\õÚ æûŽ&Ië†Tx(÷—dýª/V·8ÇQ†ûCmÜŸ¨àY«\€VÀÜà ç·ašr¯ ¡ÈÕ€ +vïø?ýà=É�SAfý—Þ~ aý¯½~"`Ål7vuuMÂ;¹`GePëS�|ú�°~ àûheÀ¯f®åê¶&¦-¶ +ß_–» +L ÷�ÀwÜ¿¾wA]@Hðî�°~¹?º¦Pú¿«Vu¼ð‹2týE»€PÈàâ�/Ö/Ý�õ_ u©dóE_XãˆIE€ï²M©+†´¹¿@âïØú 5@àþa d6ãîó©ÙrÔé[@úßÖdî_ +züoTHêü‘dý*Úº€p0 . Ü©h(+Úº€ŠÕ, @ø;ßÔ:÷íj€.$°»«¼8<<´|ùh$þ|SDC@¾xíG¯mìXøî<ÞÇ\öž<€§_X6'è:®.y±nDY?Ñæƒ;~Ú3@ t°èPz¢±ƒf61³à®ÏLóöö™ î‡G:ýÅ¢<ÌÓxëWôîoºÏÐ"¢($ͯ‰!"¹| ðæÃ®Ûdùñ�­]V¬ È*€±„uË&;£Àß…�(Šk±~‰àþ€Mg_áv@±œDø¾—í÷áÐ7R31é€z6­ñðîϳáþ€¯šÈÞÀ«?8‡Þ  *^P/°ö·Åã­oýñ™(pôÉ/>A€$kxõ‡ç Á⿞».tcK;Àf\o¡›¬”ÆLk Š@û ¾¯’‚}‰CTǪ‹,�WÚôvöJÇ€¨û{H"‡Žs]K, ÈýÉýù\¹?ëf£•\ â¨eÚ#ºzyŠÂýÁ@6µYßS@v/ 4€’ï |ýk�4P€÷ˆHÀwlÌZ§«g�„�¨ŽÛdAçã©3XL”͈&7¾÷G¸¿ÄWÆýîOÒ¯€e8\z÷’úðÊûW®¼ïðÎ__ôÐÒO~€Ïº;¿»´à™ïßs«`¾ï�LߊïK�ßO¥>' x¨á/ ŽZ?å‘?—Ì$àþXÿJ�ûø¾ð}\u%&Žþ¾pCüf¯wð3ø-„Ñ?ÀWDïþõ]‡ü{Qø¾�fX›åñô@Uî/)*=Žû7Ÿwç�«¸vkE`µ-÷W÷‘ï2*gù‘<,ñw`×T T. +Žû é¾À»×ÿÖÍX?K#býx·ê|_J÷Úì +Dk„H~ÑÑ"�x* +*ìRîï{Ï»n=oòîÏk”þë|îOú/Ppä´U•±¾��p  +Hu@xÁºM‚Dâ/ÁY},+°Â’O¾ŸuWÆ **£9|_@T[†í¬†Þ.÷ À¹?y!ÐËg<dýrÿ• Å᜾ï°�œeœÿþ· Ašð÷·{¿„ÓAÓÀýmœ˜ê€0o°=Çÿœ»Ç{‘�ªeÛ"Y¿Š€¨õÛS둬Ÿ +£äxÖix÷'ÊýÕ•äÝ_Ðë%¿|ráû@ç–1M?UE4”ò·€(ë÷¾¿ìõº¹¦»Í²¬Ÿ×hý +ª‡ð>̲þ6 ÀÑ'‘ûSxè +5»H­;¦ +  ôÊâñ&îOãõ¿êpùÊûþ÷¥DŒÀ ß÷^—//yáû’ÜßÀtD|_;?¶Žûãb@ÿƒA@CÖîŸp“)ý7¥>'åûÞú} ý +‘°¹lS»íÌ$Ô÷/ˆHÀÖåþQô•ª4z†*¾ Hî� Üaý!dß#Õ=F:£¾@ýŠ ý_ „õK¾ÿ© HE@`ýN¸¿/¢ ð`Ûáþ`Àí|–lj@ý?Hé¿´ˆþŽõFïú4"ˆý ÿP0=¬yå}k=� Üßžu0÷ÜjgVeý¡i.K]@0€ÕÐ#aÃÝ/,Ò€:‚Ú`÷nÄhY@u€¬¿»§ ‘ø«@ø~¢·SE€k Ÿ¼e@ø¾N°þÊý%ïþ÷—ÌîGÓX?o'®€*¬_î�¼õó纮0  ^Ÿ iñù0°þÀý ‘øcýÖß:\DÆw +7PX�hë �Usv0#A˜žGI€|úž” +Ú¸ÿ±:òîoÀp� ¨éKúq[Ìv7Ó­]Vq×+–vÏ)êB0O¥ó;§2[ÊDlÚɦÁ`Æ&Ò± Á¯=ó©´çPù©£ÕÖ³È�>ÙéghøBÆë¦Õqôõ3ß¾9ºL‘?;gwåÊ·þýËè�ÿóâW9yêÌêŽx¬+,*€Îß-�*Ó XyýÀ"jYÙg—%£âÞ…‰gž“Ê{æú®Úü ½YJ�ZëYDƒ +5ŽýQÐ}tìteºÉÏP&P´Û�vG]p$sTïÙ7„²ýTÙBi©QªfPª·«óÖN¬¶¾++ÏÕYSTŸì×ÐR[à,‡tµÜ%W|\áádç­«“ië&Jgc�k;ˆ=ál È®ÛÚ(Üɶ\]UXtþîö“ˆ/¥3(?ÜÕ÷ÀÚø]¬¡�¢.Áñucz|™XªÞI£:ÙÃb'fš‡‹ù‡l?¶«±¶Ås[º¤xW,_Ì úd‘Èç6Û-°‰p%—O¦{n§1ø@2™¾UªYMוí·9rË#}¨>V$l Fyº/L5�xK�jckœ˜/wI‰ÞŽ…ã  þíÏ.{éZÍëÈÆ_ýƒçšûëÙþÄËF=j×´¿ìZéŠÿ`7ýôÓ÷/_�kW“XN Ë±ÚƒCå�ÁlqˆŸr|jÑÀm±rIWÿr—IÓŠˆ_Ÿ8µÏž%îᑹÂÌ|‰X·§‚a£H©Éô¾²wµÜ{[vâ—†<ÑŠ€ƒ%ÄÞ¥®!ÕšÀ.�!$¨N 9î† D=1`'3ìܲy½f°ÐåÓvõî¬F¹*ÇŽ [‚P^,m£Pš9öÿŠMMÊ_@õÝ”fú’][°{ 6ic�h°„êdyÌf&÷³„Úüèò5/»ž>þyp7Á•ðÀgÀ¼Õ ôHfyW‰ u¤î‹žÂýµÉú)ÈÜù8¬Ÿœ¹‹@ëX€ÀýY‰¿Ü?¬„�åô¿U2ßw†k;¶îf¬D$€c€¹?²>Yd€r/ˆut¼P‘ ÷'Ú5e¡ï{§­[ v{çæ€ �Nk½Â€–ÃNBÔ‹%@ XZºèuõ깿„ûK� 1]—€Ü_8²¸çåW¾¥Æk¯_ðûCìX¿v�(l7.w‘Ý äþ0€Ä?èrç8�øë8Uj ÀýUd7&À�õ+býÑ + Ø‘ aú�°~mé¢;ë µ ñüY¹?ò]@6ØÆÙhP„XµªS�?Q¼úç¯WBë—²ùúJ|û¥órë_.œû“þ€ÊôB[à€X1aë/ï™SG�@à+a@�tûv8ê¿CÛ>í2¦_¸¿À®DÇäÝ_°CîˆÿÖÍ4tvWæè»’PylY¡uZ`=?á}†}úoAÃ]žê€ïŠ2@ËT¹¿ŠÓ–.›vtK—�/fpAîﺀ|ÿÒÜA*T¨¨�ÕÿCÄýÙÅù8bfÐ&)"ª@|¨5VàõŸGß4½÷“7¬ HG)îåÊOþætéí‹Hî¯éø=ˆKï^¼üÁ;z—fÓ1šïEzÿò%1€F 2¹8 M¶cÓéÌänuþn´UÀ€¡j&ÝŸX8Î^‘Ÿ}[çAûõåþŠø>î/áûlUø¾ÀA>Ý*ëÿqÐBPÐù£^ 75…0€\[ÀñÅE¹?_Í€†nm�¬hYPŸ¶ë"uP %ë×ñby�c€Åùåý?júD98Q”¹kÊrm@ÁdŸ® Hһ·댂)Z´ ¢ {@ÊýÅ€J5‡Ÿ;D vÐÚߤñúÅWϽ|VPâïð�ï¾à€|  Ub@Ф^ M±Þ�æþì9ø>H¦ÿ½Ëð€¿Ãæ’T°µiðÓHÔ«ªû�–§I¥ÝX ‡§[Rü®t~G©J(N6KOÌQ �ÏÖç{J5Txl&»µRm-Òð·ß*ï;Zk-JfÐk—åN”Íù“¹‡¦VÝCJçQ쎜½å¶´.äyùÕ×tØÑˆýs3}E?ôÓÆÿ¸›ÂÆš8{óØÉ±GÊ»æˆ�˵¹£k|ÞVÌkráDëÔTzb>ÝŸ«í;šd¢y™ýW_ŸþÝS�#F/]Ê�rÃXvcl¦ªÔ wFq�ì6~a敽Ìõü&zc¹Rrv¡,MZ–Äaf‡�ý6a¶eGš›]®bs¶gÉîÜÐI4É®E4d+’(Ò­äÅÚF_�œõhf•±'ú´�rÍ.ËÄâ%?Ç ši !Ž^äûš¶ “ªwõd×I¹‡ºÈeˆ•GSº`�=›H±b€¸5œØÜÕÓ·ÎNÐi’['?„cðÁdæ¾x¾˜ÄB W-öüv‚F¥f³ä6gh n^çuìøô•+ÑKúõó¯|CZZºìjW¯¾ñæÅ÷—Þ@—Þ<�^ûáYé…3‹éîØÙo�ºòÑ%âÅŸ{ïÝþí•÷ÐÇWƒëÅpÿŸ|ð"å7½}}ü1,9ßÜ[ì¼õ¦ÒÃ)”+Ó_Ý ñ«u»q +²ßn¹Àýñ•÷̤ÚcYVC?�?I$ø—MW}Ì®™j«†“é�1,*»)AeIc\<Ì!þm~‰Ÿ5G¤­Æ÷[kŠ·Ù§0ž¦m$˜=XžþR ÜD‡Îj]öäøö5ûäYv]¾){2ò¥Œ›,ÏÁSv²z:7w”#²F&É·ã_}ßèþÏš×§Š£Ù‘‰~e&®#‚hG‡N¸“̼ž†™>íæ€ND£Úã]F$·@ ¿3uåÊ¥`oXñçüzy¢ýýí‡ï¿úý³è+_]hì­Ìîk lšX+¢Å“GÎÿå“ÏA,€øÜïÏ�õŒâ…×Måí=Hë€ì>0¹xî¡ ˆF*»¦ïÁ®b)MÔ|¨óúÌ`0/$b€=}kLa_b§Bñ®ƒÄ=·H7‘2®Ov¢þ|\ƒ•ÉÆgr�5íWC4#&›æï»g‰m�û{ ò̼@|cÎÀyôn®{÷ÿÆ¿¤Í}ð™“63¨³þØ?@2}2z¥ö¨R›n@¢·Âã­îo©ý®91aý0€ÈN7ñÌ iêÙ¯”nÜy÷'bý|a€6" ïþ–÷¹´]y–ÚÈ`áD= +‰—±ësÐ`ÿfŸŽÊ ²3s#Œí1ûæ8lsd‡kx k»Â21€(T·»N·†ŠÄ÷•û“‰ Ž�<L.Ç‘Tµ°×ZÿÕf»õ¼0@YSK䆬¾ñ@¨Ö/��Ætë—’÷ÜBåAŒÝѰ~ð}/íoúûø£ËžÞý[‡÷ÈæTHW>z øLp4Yí�ºšÿ½Àú‰ú7 +9‚ ñ4¢X8^G<dýb€óý2â©(pí À»?ÑVÃeñ4dñòz¿ÿ³_éParç ø²n7vóª:Ø@UŽö@öðViáDh b@Ãýßݧ!ÜùÝäB�Â;‹yàø^ú×�AÐíKµ<~�„NÞýÑÕ�.yE«¬_ ªr•dýµÇòÖÿÜ¿šŽy÷÷�Ü|Ի€M£Ÿ;uï­’€ä�HÞ|#àûšbDW˜k³p …>ý/OÏE�y°’èÎ r ©Œ qâ Hü‹{t'^$÷¯=>geý’¬_Âú%1àFÐÀ ýLn,"*”«6"‰¿Ü±Âr€Ü߀ô_E€*aÀ€Rë§ "ÛG�û#ŸÀàL_Ï.»¿íÐA€°~ÜiB1sÿݔՖ@Iìè>÷—@~(�û{ô=°®\ïÑq+ëÖd8J-Êî¯U-¼#Š*ÞŽ›“þ{HQ U X5ëW ò÷§hLgåþT+ ‘ûKªlì©«J#¬ŸXŸ´Ä_¢�ûÇ»Ø×Ùã’1 ¼�$ bÀÓOÿ¯ÏâþÁÑíþt`G ó£Pî¯rß×°Ï€(>ýôÊû?ýQrÿ((ÐøÔ §QMIŸí94VVQø +€±~1@î�hØ)�ðä0?4 àq€ïû½K¹?@@bŸ”¹³GÉßiÛŠ9£GÑý_/°v§ +ÔÜßë'ò Þ+é«y÷WD¬’g¾¯}Ut�ñÈSU<(0 H Ü_’í +KóÖÅÿò’ôþåwP°s\ýøÊ•÷5tø½÷^÷ºü^�ìnÏØ¥ *÷—X¾#{mýŽ@¹?‚r¢¯uµ�*�"®AªDÖu3ñº~Tuê'DÚòÚŒV؈� #h®²·%µÀWø>¹¿$£]@÷WÿO´ Èôøœ/¼û¯€úhx æþÅϨ>×™ø¾ເ¢�Xa¬¿yü´¯$|�þìß÷©ÿuþx°MU“þ³«à_Ò{’¯h“þ rd¾N(æœ`÷x~Q þŸÎÛVuÞ  ¨ÉK‰ª» Z'7šÙÙƒ4üTWl•F{¬‘�•F‚ˆõK`€}—ô_Rþ·�:$ (Âý}�*�׺Qhs—Ò[Ÿ¡¸Dà€8T<Hü%ß$3#¹ + 2šõE€ÜaîÙo¼yñä©EêüQ \ýè"1 +Yÿ/ÖÿßÒ'êÌ‚ _J^·@Xä/Àä“y€å)ýG~÷C>ý·€{­±­°Ü?ÀŠë¢�õû^ ŸòÓPÛVÌ�òû?ÿò ^Cþ.±K¸ew�ûKv8D¤ïh_6²ÿÛ Ú|VÖ¸61’ãGÅ#ø¾Üßa`ù@øþùWOK~|ÖÀ»?ºøãs^ê’n€OÃ9Æ‘ú �õÇÖ®Fø>»òÐZÅ»;`ø~®”&º†ÝNUu€Ü_½@þd ílQpð~aÝ?’@îOl%my«ÜHM»%dù©Cõý v;ø]sÈ;~¬+‘}¨ZlÌÚÝ*?yHR�«7Ò UæûË5Í )ë—*ûƒwk¸ÏŠý‹þ›\_¿—Ñ�ôxìŽìº;º~+�VwÄïÔ7.-Áî+÷oyÌ¿×Sd`»MSŠÒ¹bÃ&û,泞Ÿ=sãóGQmï!bãË6#iî‡âØ4èŸ_­SgÑô¿<å5óܩƳ–þÏj´Æm?k�kd…ö¹=$A‡+D`Åj·TI ב\¢Y®u³øÄQSyñ^/½^ã�ɦ ÛÖ»9DoáçO¦oé¼Õn'�Žg7¯ífoˆÜD·Mi"Ïn^KC¦¬‰"�okh�bOv {§.?á½/gíB_sð¡ê!ÚÕ&2ªQ@=nú*eñý›Ý f7*»£Äúèd—Ä#º-0�üCî,´»L.oî_Í!;K6l ŽùæÃ‰žûcñd•Gî¡$² >�+ §%>wüñH§—+£Eô܉ôò÷^–Èý_8s +]zûâTsì;ßµ¹ºŽ;€ ÎKß NâE=È¥wÞ} ½÷×ÿögKíÄæ|…# ¦QÞ ƒF…‘õÕ‰‰Ý@Y?ß4p��µˆÕy,ƒ¨´Ê£iŒžˆ*£)‰Oäõ²Tì[“âÉÊù”ñ' ådm²Ÿ#|j6¸#)¹9�Öˆ vTtÄMáz)÷°A¥ÚÓ€AÐôt0 T�ëÒ6gÎëÃþ(´çÀíÿú ¢u¹~|Y¹j‘ƒ×‹g²û¶E r¡¡:]¬‘Öþ\ áA²7¨¦Ø'²°C*²ð=sCÈ>e�ÉúfÙgÜÜZ¨/}péòåe'øàý·ý]¹òxçÝ èG?^žÖíG?~é�w¤ÊýäoÜ ‚¿sãÊÉþöÄG Wøâ¹—Oòʾqtj_!½©º£þA»{WüŽÎÔÝaìêÔÍ߉ù-™Tº‹tOgº ß+Óß%%ï^“ºgM_.IDìÖ_°ÉLŠë4‡Ì4ýÛ·¨2à_¢º˜ú N®�àæ.uTX›c!2•‚š@çÔ†"¥¶†äΚt˶;¡OqåÝÔÐ(ѽúÿó{û‚Ã×þ®üä½÷t�¿ÿÁOν|–ˆš{W>ºòÊ÷ÏŸúêÉ«W—ÞzëUôÒŸ|£2Zyõ/ÎK/ýÉ·¥Ó_;yâ+Güùç}ûf¼r[^©{(ËV‘²û@ݱ�-ë«;{Pq$å¥ +O~g»M(͇ÆwõåJ]^Í܉º�@O .«ó%‹Ã©tψfÜx}XÚó¯-ØÁo{l§%bIsKˆ/hf~h�›3€ã ©óÇ@50��2<ØãJwTõÚþú>ò§t€Èģо†6+£5T:n^¯¤2BõÄÄ´ëSšÝBCøq_$  ò µµUû6#*6ÅÑç/üÑâùWÏ"] (E+?Ù½ôÆ›¯"íKŸ|b…Jïæ|Xùw僷òîÅKo^ ¡wéB0í·ì´48(ØÛíŽFvt¬ED<Â�òQj§uɘexÅ`0¨&úW}ª#y÷óÛ’7¯&²ebë>/Y†áºõ$Ï`´ €òÞC¸?Ö°QÜ?S¨xàž¸ÿg`�lgSQËE@0#вv|é¨ ˜Ž�ÌóÞò/@eçj€—wÿxwVÖïPkÙ`'bq·1Xtîßž¼Ûnã [à-¸?–š ^e@�k;`€¬_QÖ/2}‘€¶ÉMÇ¿–ìãõÖ07—„€û#ëÆ‰À»î]nugð}$�†À61@Ï">]ý?²u=( ø×˜dúÛ’&W@X=1–Ð\Њ:„ˆŸ€+ÿõ}/|ŸÜ_ÀýNmÁ@½:×üE’»kä�W^úÓK•n«*Ý({ÿíX¿¢† +éÌ¿¾Wª'†¢ûIzc¼ðpJÂ÷Ó¿½ ^¸¿8ÎTª ?¸€GP³UDDÛoéáñ}ö[Ñ»¬#Ź<ð—Æ=û‡êo®öuûdð�Ú:FE{ +*„/³w…�°�õóA²«U1ôÈ T5ÄLÍ"Þúåkjñ}[Ž€Üß-Ö¾¯5�tî¥3~HÕxøßE »oÃÿ^ýh ë_ vfí·Díí€?ˆì€r}r«›ñ�­ÊçÈe!š6ÅS½kQ×]kð}áþèÎÔ¾Ö¿jÕª(´ µ‰´}V™‡:÷‡E+Ò$è’±êS‡�Ü¿yâLÏÐ G¶†ý?Öf2ë7ß?ø,ò0à.Ý‚ÀHµyæÏ~ù¤×ÉóoÑÅ7/!€ò£6û´kלÄÚJ@vk…"À>wº¥0 0‘þ«`M,ýw°Üßa Ø˜Eb€*„ûÃ;~ÂSU¶q}1@`ë×@àþð¥ÿæþƒ6•+îïÀ‰ ˆÝ¯@›äûH=3ì.Á#áhH€w+ý‡r÷Ôr ÈýQ*8 ¹ �k>ߺNPî/i׎›æë„ç‚]\w²Tú/9÷Wà€XO¬ß¡a»Û%R2åO¬eoi€$ë�@Â÷5€¯þ;€øÑ=4æ¤øp’¨Ü¿¹?ç/JŠVQi?ËúmŠz£>Z.)’�$þž+¸ì¶-ÙŠzÒ|ý:n*P› ú™ #Hb_Å.ñ}/ÿ`!äÔÑiöÚ¤C’¨ ¨ÛS=Ÿv„îo‰¿k˜;ßçHñ �×õ�+ôˆ^ƒõçJ$vB{&¼w‚*Ä:ÛjÏnQú¯ +@êT„—¬ é_Ö$`€sd¥@øeÖŸÝ“4 6:ùÕÖùWþ�Ôu$òø“ã‹jð'˜û¼×@û-‘Ã�C¹†¥ÿÈ›yÁaÀÆM8�;|‚�$&÷HGÊ`>°þ6äJuÄI�S9×rׄ ø¥ÀC•ûãþõù…(”û·uYlÙŒ@ ÄÏîõ*‡`8�—“¬%dý¬6Š÷‡ò} . Àw‘û‹ÈÖßl_wõ¬í»ª‚W@'ÉÇ%�øâÍräþ!¢ `w!¶'URî/áõJÿÙc¢m—k‰¿º€�@l«€g¹ÿJXGÐVëŠvIúPíèÞý�tVÀ€ï«^ ‰©´ÝF‚ÊúK;îTP°ÚÃaî@ðýKo^BŸ¹ÿÿMP𣠩{l�îO@ƒÄ›†fÖKÕ‰€Ý†Üß§A”UÕÏú. ¤RÌw-Ëuþ€ïBÑ. Üa|¾àS¼o.©`ý캀ĻpÉÒü° áû�ûÓpŸ¥. ŸÑG¥-=Ò¿¾¿Ô/®ÿÇ?È¡„ïëJI|}ÏÌKK3÷ŸÝ¢ï¡éKúW¤"Y¤GnP Ôˆèä©úöwÿà�7_…X�ð/0~÷ >Úum'w7ä@.C2ë·ƒˆJ=t¾°†rÕÎú%¬_îOÌoKÊýÑu`u@hV4VÕ÷/zUüðž½ u$cêy`(�/ÖŸ,í™GåæA©ºïPùÉïNlÌj ©úÔB}þÙæ‘“DŒU$(î]@#s á9"Òƒ*4|³81ëÊÞtS¬XœÐ6…W~võ'?½réÝ¥‹o_zõõ×Ï~û�®T¾ãæÄÀ¶‰úޅ„M¢–mYÛÁá:Jo*²J|t¶T#Öž:TÙÝú(yjQî‡OÖ¡”Óàƒy)Ý�Öœ µýGQó„1÷'6Ž�B•ùÅÅÎÍ>3îw ©½ù=û·p$µƒ¢b)Û›µ»»d­O&¸Û-V^ŠÇº:Ößm³¹Ù4ΛÖ!~ÑÞþµ6ýœwó@õ?¸ lv7ˆp»>usìŽ{$pƒ@4w‚d ~(–¼eû�ùm–e�?nW³Ç·™0eëFw})Ö�RJ ÒH²\K^�ðz2MÖŠ#³´Ãܪ:‘‘Ê�öòMgÝÅn4€éBë¿ë¹/.ñv¿¿úŽ~Ašãvè|i�uF•Ö™\÷ÿ¢Í%¼Þ®Ž¡¡SÙÁ9m×ÿÜj¯ß2œäÙ+á‰äê“ÏÛùÞKo¿�Þ|óâ?6Ѹôæ[Kテ®|°ôñGÁÍa¬ñ‹«ï-Ù¤oç¾{6—Ï._àé¶·üì2úäçËw•áO—Œ¡s/½À&ê¸ù&yYm¬×î@»;c·y`Ó�gŠÃ¬dz¤Ö]<ní ìD65Ç0õAýñŒ5æ‹ÅJJ (mOË£”ŨØ_œœÉ•êiEË‹ë�çˆ<ë3}vK�ìägj~©ÜØ[$¶ŽTýÈä,oµ[…øA &» „]3<ë. °¥µŠ³­Ò´s|¢¦�³…ð ›Yˆ×ÛÅeáUÇH—’é²2;;_ +®ž‰Ü£Ø/äL¬*»\¡œÔ™mÿ”jÜÊ®n°ŸÚ¢µÕêag’|_ GQèN ˆ†¾`¨à@f;ÔuÙš;GÊ»¼ôËJl�ù/×Nœš=óÍÅ×_½F×üY$N4ž¼‰=¶Tµ«,M¥xe'€·Fp#¦�i{$2@ƒÃ$sÿšPa6i÷ŠYÛÛg× ó»³­R÷®IöÜJÔ�·ëSý|͵ÿüó7ýÚª�-I¾#?´m%�Ü�ÐqùZ#÷ˆÉÆý%ÓîOÄ÷aÀà#4Š»[.÷×ÕËÈn**eÎ÷ƒL_¯‹Âl—Æ5#…Päþîï€õ{�ï«oÊ�S¾˜`€`+Vª ÄÆ±E¹¿äÝß4ÝÄýK;j@¾:aîÿüuIQú—6Ôï7fýŠn—�˜Ê¬(Æ#@Ú ðG1™™j&X›ÐØoé¹?†¢H¤>ÒÙ˜à|68ßËbå›Î4íuáû4ô¹€þê_”½ß® ¤Þ)@.»G8�ÜC¶Úh¤Ó¡±;:@N÷#Ó±!nÆ€ £_£zBxáþ¼Þ¾EÑ Qè[ö{õÿØ·  ˆõä¿p]˜õkÀÏ›oy|xå2 +0Éè@k~ú3€.ÿô=doŒ ¸5�ûlíÒVÂ÷åþH÷±*×zî�Øa ÁàƒqÜ_P‘TßÕ·¬É,î�7ßî065€ïg·ÆQû hÚ}óR뗎ׯ1Mwú ö–9w™  +®f7ßwCHMˆFnV‰`Š!íÿð`á#äþˆÏò/‡º¦Ñxx›%xjî eî<¢òB\Ñšó8¦ÆÁÝh{D©€ïëbl¾WA á6EP?©wwÅk¶|^C Jk(�üں🾇~ø£—½Î~÷ëHUTm²�O  ë—B-_¯ã€×ãûê-p {¹†€hC€"Àú@ø5íçÖO ïEäëÀýc]q¼÷÷Àý î"/¬_ŠVë�ë—pÿ0ý7ëÇë¥ÿD¹¿"µÂg÷G/�E âûrÒk„ð€„ûKTàGé¿ifží‘ÝM€¹¿  +@E€€Àâ×N³)©�í${mÏð{Cut@Öoî©ð²(œïPîèZH¸úÞ[€u… ‘×Ë4µ|þE<«§$«tcE×�âÝŸ" ZD@â�õ«˜v“‹ Êý‘�ì @de÷wP?�å/nýÙ­©ð}ý;ÀSn#P ¹¿*­¤¾‘_g€oGô X €‹¯/W´ ›ÕùzÀýaÀÙo~½ $þX?ïBzç­’ø#ÜÉú%*„ûeý `ýb€€éZˆD|ß ëçðV€ï{Tvf÷oæ•û{ȨÄeâþ6�4ô²<ÝY9¯·Fxï’õ!0n€…c�Ö35^¦"€FëØ²§“ûkƒÐ�Mr}ñmð¢áGª¤+�?0ÿ ++IOÄ×dýü‹ìØ }Ü–ï.)§Ú¢ g¼ÒÖ-Š.“M„HÜúD)º|Y¨Èã͇†Š¬\îoI½sIG±&¥ÿ¾�û heÐ/})ýôÿÍ]@–ø{\[¨ ˆ"@¹¿„ËKb€Oÿ'žîЋҹ*@Qø.  AÈýÕ„õû^ ÿâ㳈uó ¨·¬@4Hüa€„ûcý@zcN]@ªp0€<ZÏÿ[Û¦n?³èZÈúÕ„ï Äžþ˜@CÆHé¿ÀrÿÏÖ`ð}⻀|/þî]Þ¼rû�ÅQw÷ dŽéîÝhˆô§cý•±´Ðojàþ4Ø·$€õ+ý÷]@DÐýÛ1¹?ßK�?¬?QÖ¯^ ເtž@"ñ7[»€Ìñ]ÔÚ"¾ˆ%þU»[²1à]@X¿L?ª(Ôä…ï èüËg–Þ}E+Ê|ÿwñç¼û« ÈWrI�?Qàþ€¯ë¿$|Ÿ"À@êüi뺦—ˆ8þÅ"Ϫ+ÆÌ×Y?+,,3À HêÛ +˜xï à>Ë>bîËe¤C@ý?’x�Šó«u ¾oþåz�´¶Z¬y´sj@tÑ~-ˆ•G©ÆÌåþ�¹G*{Ð-PG·^€æ¿\óò+‰ø,/-9”w´ü¸¶¤­g3°fuqxj4„;9R¨ß ¤‘g¾¯ +à3 ïHäS؈•ä«ÙI`2b¢5&pÌ9‹cÍâc&ëEéΪW]öª¿¼ç*M‘w[Ï{ºTIôç‚ e��Þ1wT²°š}AC€Æ=g:ˆ¼2»EP:__½:ŽtŒ]ùèêûÿõÃ÷þæ²ð½ï_8÷òy´xêLÇméîM;êÓ‡ªî.öÄò+{æQî‘ –™y ŒJ�Yb0v� 01M²ÿÈìA ÎÕÂ(Ö°üØÊ•*ÕñæñÓ|#âôñS³'¾Þzþ qâèIdeÁóg(æOü^øc`ç¨ï1Ñ®L攇Š÷܇?:mŒÅnë òàÀCëúÉ4_ b`—Î:uÙh�ߺ9{Œh§þª‰žÁ¿·™fx2ÀÁ è.'Fï墪�ÜÕ‰®“ÁîóN,lKödíT3¦@y´›¯f·mÚ ÔÔêÊ +qÑÉêüCë¶ŒàÑY[ËŠe)ú7¯ãƒˆZy¤‘?÷oùgR´.É=Dq§&�Ën�í¸åÊÁá½4´5Ô7Bƒ5·ôó:@wÇâ‰xóÿ¼ˆ.¼èÕ ^ûO¯I|ñ½¿~ïý¿y]¹rå㟌€+-Míª%ºb(—OxÉå¥é'J^•j†­´x| +M<‘gªn¾£½¨6–Á¸Y½ZxãªÆS¹úž,ªLw8AÕ†Í`<îfµ´³Ùؽ»Ú1žÑ�Ñm7ZÜ­y±Ä[¬ؘ¨?†aYÖ<6ÕWM£'�íÜi�éã_îÚ(uQ˜ÔØ›Ÿ æx,·ž©"7‚¨:w¸BƒˆfÉúö æ¾\5„`ús‡ËóGªÈ>%tÃ9^ì.pÓõYm¤GÓû,Iâ‹è‚¹§Ý[œ²ýäÂv5–ÆöØ9m" +æÕ|¢î^†¼ž57 ßÓs¬IÑÐü<妸4û´MŒÊ§ µÇ²H«ªÔ~08´Åî3`  Šr¢í¦o�qõËâ…ˆG æøŒ�D™{º<õT^QVnñbêóÎ}Ö=eÆ«á®ÚÕE[vªÇ³ò‡¾|—®óB}¹u^ª$=[2×:^OÝë¼muðÃ3ÿ4ì:¾/œÛO0¿XÞ{HÃ@ÉîMnD�€€w"î¯ÛXï +�DPnêÛ>.ÔÜœ6Ç û f_˜_�ûk,PàþbÖÀ /œpÿ(¤(øt¬_ %K¼+�Äëâ«OLñýÆü"°þqW‚€±}‡ÄY¿¤% H HQ°Mµ} °Oø~æþ¸„ïË¿$ïþÈ|ßzu�ø¾=âzN>> Ñ6²æÈ` GÖXijÞú ˆÏÂÑäþ믌¥w%¸á”®ÝÅýQ6—@‰ù{Öº/Ý�$c@8ì‡O”õóÕV[Õ ¹?ë)맸¡!Xà¨&ñ/k.�ÖSZ €?å{Ò«ß —Þ¼´Ì€®|ø³ èÅ÷è;üõùƒRÙ�1/6 ð_¹?"ñ7ëw÷GºkÖïàÝ_Üßîk·H <ŒîGÁýy�§…P|(ÖÏ¡Žû£ê„Ýg?d@0�Æ�±éÇåeø>§Ø:R7ëW à­j®Hdá0÷7.#ÞHdÏ'òb0û%òt«3ˆË—æ¶lˆîÏ1GÄúõu€z£ÑX<ÕˆÀ‹ML#ên*`ÿºÑAø¾_˜\B�ûY”&8ðÜ6LÍÚ¬«žÞýi¸÷ѽÑÊ "›Ñ^à¶ž=žÓ¦�›³=‰r{½c€º­ÀÒë‰Ö�¦áÈÿ@|´�¬Ÿ�^ÖÞ¢æ‰�²þp:™ñ‘ú¯ô½EÒ0PKÿ¯OyHX¿ÒUø/�Äú=p ¨@@Öoî?o�¨ÿÝt,(r£Í6D+ÉWH@yP¨`™Ä\µnøvòé?¥Àý)h¤ÿDP�=$áû×î¢àG5…`[ ¾�Ú*€¨†Yÿf3Jõ˜+ê�ȱ|+Dª”J#™¦´ìþ®ÀýÕq¤ ZÂúYC_h®€oD R@“ª#@²Ž&"Ö/� ôß´<îs� ÉúÁ€H PÈúeýúš|/¿òl–€Äë?ÿò9Ó8ï ˆ€ê З$Hð­³§½¾~ú˜—¬¿ ”æûcaànY.Èú%|b&'¹mkE œ@€´�éVˆTÄë€Èo-÷w|´À‰ÝÕ\Œåø4ùô©Ó Ù*#¬_òQ L „„@ÖìR`ë7ÇúUàûª�Þ…Šå¾�û«Èåã¾ðîÏ2IüƒM´Çå鎆�½E_àû~±º­&Ñ \í¡�W²4IP”Q²qlû„@B¦¶§:�Ä\PÀÐeýÄÊn¾c9Lÿëx£åþRx‚Úä®Ò"²ÎžÊö] €6•éù‡­ÇÌ WÚ€û·@îÏ·C, +÷ç ð}ÀŽæ‰Ù ÿgÐàpÝY­@½@êBÀw�¥ÿ@0íš»'{Ðù# |ɤ"À€øˆV¤ÿTHÖOd™¥Æ,‘ûóE,1¸^�€ï#a€ï2P—ZÏŸÁú…uþàþl„éCS€(�ûÝŸˆû'ï &G[ÿEÄ) ëﲑ v‘÷Cë|G�z�ŒáᨭÀâé? @Êý%ö +‰:@Öüëf±×¶míà´"÷W`Ý_Æ$ð.íRÿ |Š%‹ËÀíZKcƒå„îo²Åzã3÷—ÅèY1@V"÷Gò}Ï>Îbƒ‹>ýo¶ÜQaÀ±†0 -€°æh�w_x(ýWNÜ_ŠÀÍvçöØ§í££]@ú +’ÜŸQFéÞTR˜@š{V§BC÷à‹S ¶d¶$¯g *¢}ñú�$W�9÷ÿe�ØVµ]ƒîOú/•¶w#>ÝV <�a o<Îo½ªªI{š‡Èý«ÓóåÝsêá)ìœBØkôç䤈H¼¸ºg®üøl}¯ = ñbÅš›ìÑpç~ƒëÂGÇ/Öæ�¾t5/ކ§ŸS? ŽœË�¬ZÕA´“÷É•?^úà +ºð—oy�ÿÁ…þb}õÍ "?H0}i“zl¶6s¨1¿˜md·–½Y"ëƒ]y•xekŽzÕ>‡²Ãu”«ŽóÞÖ×΢‰£¿ç•«7êO/" /œASGŽ–''ømŒíÁ�d¿q:ûŒ^·F n�²ÑÎëJõÉtêž5e¾èîÕª¿N”VN«³ùþØÓÃõ¬¾Kݬ³Äövw™UÆÍ¸€9J¼Ì¼Þ%þ¦ÒzdÓ«•Ö—v$ e×óS¶žÌ¥¼#EÃÎý†* È—ÌÇk�e^†û³©§¡Ãž»)N-¢ã]�=Ù.)M&²•ôÜd_ms0žž„³3ÒÖÍ5àîÀ#® H‚¾~ª´ÍHë¦o'”`^)Q6mÙ¶^êJ}náXóêÕO_ÿϯ#Lÿ¥ï~çå—_¢ñ½ï½Œ.|ÿtñõ oüåë—Þ½„ÞùÉ;K,I—¯\¶½Îý}øáetùòO—––Þyë"ºôã Ö þøÂ{o_DW?ºòÖ_¾úÒ¹?8}ªÅÖÐ-áª�õT˰¶DTp—h{…;‰ +¥dÿ ß á_€ZÇ+H7ð ö¨È~%Õïóªï¶)ãûò6Œb¹ÞÓ÷ÀúÆ~kTëAg7�zÃg"ŠšHp?¸ýÖhÌlö*×zÆž�êOä–åÉŽ€äF4M<Á<.ß™;X[8Ò º×“/—&šÎUÇž@4ìF7½ñÂÃìo–TyÁ0öIG2›Øó»Í•%+/\ç�`îé†0áÈ:õ +ùˆ‹'Hüãhú©B~(¸øMÏ™ÜBì_’9åsø»,ž%ãæ*‰LPÐíÿ¼C#ÿêבXNu,˜å‰EñˆË×Ww¯ç)Ÿõû +è5¼€—É©Ùpm_I¨¡—!6×Ä“áçº:¨™Ü]”õÈx3WÛe³ìy£èB#ìÚwÔH°wÁ3à³`uÑÕ +@<™.ÔHÀÖ õ1Ƹ›ÃÈý­áÜ_¯ÄúÉÁÕ©Ü/çobƒïk%ið8&ެ±1— nkŒõ£ÜhóF`9õùgí�.âûù�SháÅsr ›Ï!€ÆÝ½võcèg(Vì°oí¯Ô냒rpÉ.¾-v æzä¾Í²õLn-v)€_ð;@´áCk;<à�-MÜFÒdT–mÝ>ø~5)°7ˆDÜ_¹³à¥ËS=°~aÀ—áDö{Ž1Kúö-Uw ¼û£lÿíQØw„d4|‰Câ﹆²§p­Ž!jÉ( + Ü üR sß=‡äþÒ›—Þ$ðáG"çÿü]ñ Ä€K?8/ Ü_‚l +Öʹ¿ÀKûè¼ÍîÙ­;‚! ~bÌ&ve"Zžb#_\�‡¦Ò~;KÃ÷u~-œh +¨è»çTÈý}pñ͋譿zK€—¬_ïýõÛ�\î�](@ƒM±ÔæìÉž/àþ0@®ìZ¤ÃE_ÈÖåï…Jz™aÅ€9^‰î¸îÏž€1Àv³hŽv“\ �õ¶÷ ”§¸aþa;sÃkÔ5‡ûÛY™­† +êÄ×)nOÿR¸!íQ0ÀÖSÌÄà ÝÀ#žd|î�õãb”æ•˲Î÷  >Rxð£ D“;‹(üDFly²f ߟ=l£Úh°õô¡þÅ ±'_BÍã§[¼Û*•ž-Cˆ�(>Þ´±ª‡ËO’×£äÆ�Î[c¨06UÞ3¹“ÀÙ­›Gúðs‰­õÖ©3H;¢¤ŸD?ak½òH�,OÖ†Ìø†Üå˃ß]Ú54Ï=d�\É!â°6ÒfØüźìÜo6o—÷üöZ–ôò»ž}}¾ópÕðw!¢ÂH0Ÿ3�’»øK�òŽtu'¥€ÅÌàíbFœ#|wÿÈX¹FV²ÝÔ ]`¯%êr3)·eCúÞ8¢aóÙ¹Ïêßl§Y�¢”î¤w~ù:g],†x žjêàBÂ_mh$‘{Èâæ‡%º;Zó�Kï.½ôg/™^ú¶×Ër½òÊù ?¸ðÚÅ×�|ÿõ½ŽÞø/o\zûÒ;ï¾ã,~‰Æ•ðïýÞ_z÷Ò²B÷¿|ù'+Ó:Ü`iåJßÔž2È!V°~§}U¹BÒî2öØ 2'ÙÇmMcš»‹4 +ÃKDޱN>™+UÓÄÉÙeM͔ѡ£SÄ“NÞUM!Õ‹âSÆwåÛͿơ¢Ö vO4?øGçˆÑ;z÷W4 ¸NQªºCGëˆÆÄ“ùDw  ½†ÛrÕ´p~t¬ƒ¬_8ƒÕæ)w®›¨G]­VßMuuM¯ÃäL¾TÏ ᑉ'Ðø”��håPážòç4ªÇYn´�$ˆ âþfý×€r@£}Ìú¿d^�ãG1 Œ~ ýÃ@ºé¦N/ïþéÜ|_ÖïÝ_�ë ;´ßaec§ ¬<áæ %z÷‡�c'±~0@£gsY  Á¶D€ïÃt]HQ(çE–熈ÝÑ@`ý†ª$¹]ˆ†ÜDø>î€u¹Àõì»_)³0`¾ïË“ìc÷H逬_Â÷½ðý("ÊÉýñ2äQ𸼋Š$�ï/Ïlê¶€„ïKV8Ó�ྦ�¶Ëƒi8¨kKî¯ñ} ›ÿ,|çÜ·ÐYW÷ý/_ô£×AQðÂ÷�ÿ~ºôÞe­qù'^<© +5 +¸?ÖZGl®\¡+ÝKŽogü<p¤N=<þxß²Ü�ø ¢O}A‡Y™Àý=�a®7‰¨ŸR`™Îî ÿ3ÖkG4 P:¸ŸÈU”¿{TÆ®DàÝŸ†ï¿e9µ]ý¸¿®)Q‘´ €âd�A›û¯¨ìžÀ» M ÐJd‹%¢w<ݲ{k„îO´Ä¯Íª§¢ ý—”þK•™CRëkgxch%ð}$(÷Hü)$¹?Er¾šØ7<Žõ ÄXWëW`‰ÿÁE  +À yÀNC‘~~'H» +2>åþæã‘ +�Ɇî��šûKø¾g€\ +LôÜ‚õû +@;€w"î� Q÷'7W€|€4ù-u€{‰«‚ +#“õ+z÷ÏnŒ)ý´±3Hÿ]àï£ô_�BÊ÷�ã»ÓŽ´59„¯dúJü‘ÜÖ»!ο|Nîváõ fýùº‘ ¬Á[o¿%¼·ôÖ/áþŽö÷á‡W°~"RúïÀ‘LL$;ñG€ûȸÿ²œõ«¨ŽYÍýdzm`ã{ÈýÖ�/‘Ü_3C(ý—”ûã#ù‡rÒ¢Ì�·›¿÷ÆZÇmR„B9i�ôÆ ”Rü‹€Þí­€W¤ÿË`pg›W +ëGªdýT�`áXÃW2Ít¿¹'ÖÕH± oy«xˆ¥Ñ4Ö_ͪ(¸+fq¢VÕwÙˆX¤Ma Ü×’ “×€ßË5®)dô4|ÒÃëõ+è)[l8 Bñèï6±~6#é?Qœx»Üßw4EÛh°(1í9áhW@x{´(�öÈý%±Ü?€À¢<¬ðý?ªÈš‰ŸÑDâ/åþű†€ûG»€$Ujcúò}¤¶`€û« ©CF‚^++•,´+µô&;]Aßç»;nŽáûø¸Y¹€uþèÌ�ëR/�rÜáûäþ¾O "@ÀÂñ&›µµ0ð}€^,h%‚Üß©¢±ðêúlàãX?X¦€°~ Økj)Ÿû{àû6_�‹ªv‘¢Mhl�ûó¯ÀÁÀÎGÄú\'å¶l ýÇýù¬e÷wàH°~� °^ 0ñ�ñ ÊúÕï/©í@¼¨äþ×íBF1À€xéÝK0@=ÜH¡k@€û±¤:ëg‹ 7À²û_ˆ†wuÙ‘€€ìCbçô’é _àþDñÀ%U(Иp]@ lN¢…c"¾ÏW&Žï)4[åJ½oñù"÷Wú�Ô„h¨ H")Vú�ŒC¡ÔDD�(€ M[—9Íhúä©�=Èýið]ü”Úð�ˆ�@ƒÜŸO)a×<»¸ðµ³0vêKãDmn5šóõ±'ìÊo[' ÖöÜ{¡’Dñ»‚)^æFmv!ÞïÌ춛ءsE€ˆ²þn»² «MÞ³fp3o±Ó¡,Ä�ugw«)'7Ö³š,�¦Êµ4ªïNWÇ¡EŠ#Ÿ°õò£½¬31;p{q$IDJL�ÊR^€4·ÿêÎ!Çú+Õ\"i�4*ÃÅB±Gâ)¹¼ù»› Žhr3¤"ß Á�‰2´„·¶ß²ýN›ÞÎA”¸e[°e„‘z~û–æþú¹—¾è»ç¾ý�oë�¿…Î~ûÜùï½|áÕóèâë_ûÁk¯º?+~páÕï[ãõQ¼öÆyýÒÛßûÉ’d£�#0Àÿ}ü‘ ë» +‰»âDl±Tí!­æè¢açBÝlnå½¥j/;¢QÞÞ[ Û­Q®‘ã³?fì j5=²3ƒêáäî0¨Ù<ÒE~,"�èD_m·½F.`½îné<ˆê»njhkDÀS¼±½’†-�rý'ãxIâîQÔ˜rW™UJµÌd3o“O”I�íÉåòqb¹jS²p|qî¤Blz9·5Vë!CßSD­c âÄv«2"j4‹écO-¾¶“˜ËõJyeÖ#Ò¯ìýëM›°û@CåeÕ'ò(·9Õ:\¯îÌ£“§šÄÊh>½ñN¢ØOì$íþzµž‡Óä µ�Åþ\šu.Uû�B9=þ„ñ€¨�S®ÛVj¶`^ h„ÕÑL«ºø¯æ¤Ùýãåábº;>÷LyöP ñ3ùòÂbx‚Al@ú-á]ØhhP©N,G_ïvSóKåÚÄ ÊÙã…u«“6ŧöê6r7”ý v»™š€ê€UŸ#àû³–ƒï9`W°9—4äþÅQW8Hø>¯°þ{9÷?jûiÂpñ}˜²sËǯ€¬�¹¢7KÄsåþ�ë85 |uÞ#æG²{>(bý<ÂÑ& €ø:äûDk¸áLîÀ²œõ—ž:JÈý‘€hàþ0 \Ë|_ €ú´ ÿHßó°5¤üvÑ–] ¥ŽoëG4<ìšIãaÈ»‘KšRŠrF€wàûX ñ¯¦z¦a'$Ý�^4Ù'âxF쯸?» Ù=Ñ@‘…³2ÄôFÞbîŸÉ&¾PÿƒfëÊñÍâ�õû1€º€œÝ‹z›Éú½û Ø]U]GÛ‡†G+ �ý&uÀ¹s/½„ûƒ»*øÕW‰ÒŸÿÇ?—Ä€<Lï½ãµ´ô®Þ_ºä�Û܃p ‘¬ ÙøòtKi$°�yÖÏÏ�<ÂY"ìhçÇÒq+ïF¼ÀÀþůe"Îú/À‘ë»úGÆ3D¹¿^) ØØeÂý�» QUàþ^ºF·é®×Z€J­‡ °AÜ›÷_ÖŸèîCÛ-ÙÇEhàûhñù„w{5ÃKpÑHÍf¿ ¢Ê#e$¨†Àý‰8;îODÙMT�°þÎÛ8dŒ²~DëEŒ@Àe +,�X©“ÓÄq¥G2V‘<’Aø>[[Àý5 + XŽ5B÷ç__@xÉÜÙÄÙ‹Ã×ó¢Ÿâ›†¶Œ€ï{5Ü8Q@7Ñ´’bÖF Áaàh|¤†ÉËý‡O®¬��0pÀýQ}¦�æYS-(÷—ÕI¨”û‹Þý±×~7 ) Aâß"ý¤ÿ€ +‘øcg¸?‘ôƒ#ŽÔ÷WEÒœ™Z<¶€h,izñ.H€$Ö/B <�ÒimÒH�ÞH*ˆDrIÖ¿ø|�ÆupæÅ“QÈú…�ZˆÀc€†Ú²þ°°ôßú‘Üëý‹€Ö‘*O±‰®[°�ß—ûƒ–iû€ë². „û›iº1ò×íRú­ˆª$åþåǦ‰ð# +1€ +€ÈÇÉýÕ�ø‘ûkf!¬_Aø¾Ææ#Ÿþ#uIX¿ïÂâ±þt® ðqQHÞý3[k�õKá @]@DÖ÷G¹±–i· ÷'âûªˆnËÚY€z�òÛlî{@ý?¾ðP‡ëçqÅõwßìo' °þä=k¾/É÷•þ« Hé?Â÷åþØ�w÷—dô¸´ ÈR’° H{¡k¢„áûJÿQº¿C 0¹Ž�@êü‰t÷„ Ó"ßZl �û›ã« ñ½ž§´}L჉dGÔEÀk?xM]@F7A�$ëW4ßÿ«K�œû·aÀôæ„ûƒ¢¬_X €ò¨û—Ä?ß $ Ô<ÝM +\âo  áM DU^ªÀÒpd^ïÞŽÔFXæ~ÑîcW‘�¸ðçhüÐðÚë^ÿñ…‹o^x㿼þæ[o �ðºøãó½´´ô£«W—hôÜßUx8…›£Êh¶4ÜKDåj†¶b¡l*�P!-?eÏîÀâÈ•‰~¤Ínžî,Ûi§ ¼› +`2;5“Ÿ°Kpù7(h8fªÂ'Žù!'²"ò¤1k» \ÎhÃÉmšL+ …] NT¥È]©„\Š`¶¢ÚÑñÉú—,¡=5;„ü‹�=cá ×±L©šÁLÍéŽØIWÉö4{Ö.–F¬áÄ“y·žæÚº±e´qx�®[Öåi:y®ë'°ûØm–"”·ÄÖv€¨âéô½_hÍWTÓ ßc·&E›œ±±IŠÓ­bõ±¬Äª"ÙÙü²¶ ¥‘ a“õnJQ �¡š;XEäþJÿ ‘û'û‹×P@=î®0 ZåáŽ;d—¸×z¶†ø©†*)¾æâÿŸµ?ŽŽâ<ó|qþÈœ“¹»Ü3Y_ͱà…÷ZƒÝ;:�öèD¡GŠâŽdá¶ÛˆÆm 5M„Û’……e°0¶±–Liý’åà LaNîo•ø|¥ X�új�¬ß ÷ç8Ç÷C‚_¤Ä"žÎþ-®�ît2P1–÷ç-ffN1@q"bzòVÉa"ư÷åÈ i+²~€�ÀဨHL×B¬ÉuÅÑtÀÖϯFTH©™�²ÿ>;Gì³öÍú7?\q°@JÝ”YCñ*¬¿íóÍ +ü•£Ê‘Ñžþ¡.@ÅÆ•[`�°"ö¢á ñµUJF)nãOÚ)ñ»b¹<2ZD;Ÿ¦tŒl®Œ<ÒS€( xÄ$£g“ÆW¢•6ÿ›ä¾¯ï ÀÎgHkR0ÀÀâþ|Êv_Ìí•l=1˜í^@Ê, À÷'üÇF±~IˆÂÿÊÿe¦TûãþÊ’È•Ê=#T:Še1€ +î/ |ÜEì/¹$ öç]’œ_P0zc’õS¦nHËúI(-ð Þ·oÄ÷Å€¶Ûì„°+iúc_}Ê…õãï¸ÒîgË“o¸H@½_êÀÊq%rv eX?¿Ìîírª� +$Æõ»ûÏÖ(ug4�Â÷ÓËÛ:¯G´ —Þ ð @q¥gTdý¹¿`mèâ  íæÅX¿àâ-Y? °ÑŸáJ ÿÔéŸt; ø –(öWçOpJ’J–阙¹ àøX?¥ËžóÆ”na÷�p÷I±?b6°~sÿŸ‚ +cî�ÿð@BûI@2 ”û['O¥ƒ:•¨^Éþ+ p6ØÌ±û‡Û'˜ó*(®³$€†dÐõý±]bÇÚ_丿êfÜ¡‚‚?F]@þÌfs>h¾¯ðŸ}'÷·Ån)@²»€í·JæS@2P‡§Yy¸]�Ö_`º!!6À±@@]±O…Ÿ£<@Ö¿áÁ%mLm�¯pàþÊl ›zXyaÀ—Féî/¸,ð€@Â÷‰ý)­²£Œû+ À÷]ÊTÚÚn-àþT°~Ð[µ +�?ÖO@‰û#ÜŸ߇Rdý1øsÿÍyw;Äâ `x[~óö( @ÀxxP�b1@ƒMuŒ¹?Rì�X>›…-&ÓG¾ýk€º€Â0ëªË’]@_VÂýe Ð?ˆõSbýÃ;vQ"@àïJ5¥åþ˜2±ï°�pFæø�– +4g¬:‚ÌèCÿr÷GžˆŸ�¹?y¾ïë ëïpûèŽ]û^xMMÏ ¤³+öON¹œÚ«Zž`O¸?¥`f½>Kómý\* ÃÚÏ€uþp”:Ⱦ�’ Ž�ø>`+Ð A¹ŽÍ2…(ö À/Ê$„1~Ç¡2aë—X¦@]@fýiDàÏD1@(–°B¦�õã×T¬ŸÀú)Õ4Ûý]J �ÝÃ.X¿JÄ2g iý˜z3b@”àþ`€J˜3J‚ûG î?qô "ðG³39¯ Éåé[ß@‘õØ)�5öø0,Ô1€)$ +‘ûû‹ ÷§â€dQ�ÿýÖú‚¬·„Éú ÿ©8L[ìL43’ûK´"¤$@Ö�¬"ßÃÌe%ÑœñÍ�¦Øj?Ì÷Møº¸G¥E€ÌNÖÏB,økÅw‘¸û#ÅþB£2›ms·úìoqø�@] % ÷—ü +;À€û‹HÖ�¬2€$Ô„ïW7ç_¤ Rpÿ¨èߨE¸?r÷G¸? �_}j�Ý'�¨ÿG’ûÛþ �’HFsúGÅûÇ(‰Íu¡/*ܳá¿n—X¹BqãÖ<ùÁè£Õmc¥õC¨LB°~hÅíÅ–V,fu¬È?*U*+Öô·|¡ aÊvÇ…å¹ÜÊÞâ=�cT7•[Ñ[-¬¨nÛ™+éßÕ½váÎêÕɯ¢Ôi‰î¾ªÒ‚UÊî»Ö¹|UQþÎ>Wú¦|BÅᱯ¡/9üÊäÔÿ3­ÇÚõ<ñKS¤Ñmcߨ»Ÿ86ùáûºÞ�_a6À¦±íðfðÁcO”)‘î\ˆÈ.Õÿ#ɰÐè¶|Ç—¢Â�-ë×9°Òî~l*”2¸?¶®Ž Ü-'-H”©Z>¿¸¼!KÙ¥ÝuûR” £°Ù»¥Jëê5ð£%¿j)%vß•�|ßhwûp�¨5�<¶æ®§’jn,ÜÕ2òØj4´%O©‡À¨áê1ˆ9ñâî„;ᦚR+øŠJnõóAÖÙ¢ûBZÂùŠŽ[R¨KÊDvÊwU3ƺ{xËdg>4þµ÷3åxX”’å:Ê{|{† Áª¯¾v$Ö„4y"øþSo½}�™>ƒ4Å|ßå´øÉä䉉S§O"*÷ûtM;8õ³c4*¹î¥æÚ}vïe~£¹ÿÚ6$sOJ'�K}ä&¶ › £_wORìÏ¢ A¾bCwîÌÖÂø‚×÷o4�FmÚ˜}süþ ]ë6`‚Ý,Ê:ëƒûGeàëÆ cŠ$¬¡.ÐébŸ-tž€Õð_Ë{$fˆçŒ®6B€à2˜²éøÎ–•ƒrXiDTìîAìëL{ªûŽLe8GEXBä(zrŽŸé™Aó¨d5¬S+:¬$)Ym?ÿÁ”Òú#6ê¹£uð�N‰-6¶}˜R›N›Ñ¶d¼q(õ-‚�.µ“Âvˆ6µnµÆá� Yo÷ÈÃ*~ËsF¿�5Ý®ì�alkî}­çö0Û–í«cT·|Tƒ*„ò…Üc8B‰v=3šíJ�@*|dóöž�F؈ ­¿¥}á—²Ç)#ˆ@H" ù©Y?o¡JÐ;0R¬Tq*ø¾ 2-—Ü à:ñ+áûø;°î—B€$딹b% ¬ŸLÂÊ`ý”èr˜3¯ëW9²}½ø_€dÖ±jFþÂ{Ò{ï )¯üÝäÁïÆ÷€ÊK€—–ö¡A·ÜÙ¾Üdñ�Î…C)Æ—[UîY>ô@.³,�uýS:°’PZ¿�ʾõ+ˆ²)“X±š·ÂÕ½vÅïŠB³€qÿpy)»<Ûžéém£bÁþÚVD8¤$Ðh|aà’Èu¥ZZ› dm]€ÂªùEX¶«‘’‹õ;ÌúŒ6H;÷@©. eÌÎv`Ä÷Yº2NŸ>…û‡ÛŠÛK HÀ|?è�Ÿ½!÷—¦§ßp�zó˜ ÷Ÿù…ÝàûXžÐsg+Ö/Èôo/}VÖ¯Q@lüëðýþûº›N6z�ê ÷GfÖ£¡VqPw Y¹æÁ¸åÝHåYX›Kó31T"Ÿ2O< Î&ú¢‚ƒËÈ€áŠV…œ6C€Äº…�XÉǸî�õãòTdXê¤bŠ`$ã‘Û¥¤œ†Å"ï³B|î_\Ÿ¥â ’]žv ?TÚ²­Ÿ±zb€mÆ`ýrÿØú5®Æ¬¿¼!{Gù“�íJS&`+3@¿:lØÈýÿQ”É»Ÿ">¬ür¯Kã4h×7Ç‘m}¬ b@´•´IC ‘ Ã;l°&Pì/Ï­Ë’páûHIÖŸº6…À¾OìO€[¸`�?"  ÈPïð£Òl`ý’b%îþ@ª%+iU‡ÞŽðý=ûö!¬<„õÑ+áþ¨€™w�”HSNO[r€õ“hþ+Õ@î�uþ$3€ï“`â€ú€Ðã@]@”u@|)H€¦cýIHf(÷D¨Ëû#µB¬Œ=Qõ‡�2]P)ë'ž¥B€psVßwàûž°5”Pºû#Ü¿h—M˜dý³€õƒC1@óÊÀý±~àBü‚z4üÉ©“ßwáûgþ–Í­×ûž�yK»÷¯îO*ÄV (ñ}¼^RìÏvCšÂ¢@)\ ÑãÆ´Ù5XSbWû‹Ø–G¯|Džn +®ÍDZš¦Ëúåq>3óÈ�e¦²u}Ö&†å�DÐ<>¾/˜ÇÅî/`7JøT4sðýd`±ÿãöx¬J°dý*# KÞô8ü«“Ûb€P§CO+‰¨'3w„û òD@ìÔÆ±zø®x•j`‹Õ6i@ÏZ»Y¾�ÆŸEîþV‰³+*>ݾ7ü +ý.¬4~Ž6T¤G +5…‹4´:Ô›ÌäþÀÖÇK«­ BE?P²a $Ð~©@r¥~ïªIÿ©`÷v¡E€‡ÿTI]@…ÿ ˆV '”d¾˜wÓWì?òØWv}sß¾/M¿3£RÖ/ÉúõÒ¡+š)üOÁ•ÉãSWÀ¦±íÙ›RmqT¬Ø€»|)œp d2qMJïÀ÷CçŽÙ|I�wÈå“ °À?ž.¨e+ö7÷3£:h¢0@ûH@ãvû³œÂY]@bU%3ôU7"Uø +¹¿•á9‘Q/Ъæ.Ý/:ty€ï ˆoqÈú¯ €Ã?ý�½”èäßOé+Ð{|€>øŸï¡èë?üp׋‡ÓËSù5ÃÛÖ!±]›^q½|@ïúÖÊ—V`­SÊ~Ánƒ¬ç…­ìå#Âc(hxs1ûûÍÅ;;PG÷u�‹æ1Êo”€MnE3K+VZQt7Ê;Z¬2�Ëv\O™/¶”Ö·#µéRÿr›CåÇŸ,>ÐÅ:P~Ž<܃¬#"4Á­áÒÄ¡ØY>*�…&T\“N·4Þø{KP>ßFYXÕÖñ…¥™e˜~›.U˯ISfoÂîÓ™–PI\P¨\2zI¿²¿ë:¨X©Ù¨„Aè¨÷î ;Hgq}®:bvÜ7 Ñ©yMìã|�nóK‰;ãÁ££ûÿð.oQÑ<6[üA«R£5ŒRuû`è¾ÇF­#%ÀƒQõ�hH’ÜÊÜÍ‚};9l燃ÅP"ó}Œ8œuÔee£ÛÊ64vC*÷>iüé*A ¢]z[«$(¬Yføo¿+aˆZ+¾B«Á:hm‡Ð½á‹p|Û2vÜ®í²å‡g!øog�ê/BjضXÛÎ‘Øøƒ#ö�DB¯äž’û‡ØhEfÐcÙ ­´ç¸--,õÚ6˜"ÞÚ.mvmdý4Í Ÿ£MGY{, e² lÞVÚ¹{¸´¦aú5i4Q¸ÖŒ¯ÖjX‹÷2ô>\@~`˜.ÖßYê§Œî„û—îÄý)@¶3‡Tº›w‡eý¥ÁL?)¹¿0ðO`ë|edÛöý/¾„êT9ï…|Ï”8°‡7�aý¼.úÈÏgÎüÃJ$èuv¦¦ÈþËEH–\xЇ¥Ö�×Ô?œÅýjè$zI |_†UÈŽ>Tvàû�ßÏÒ”ø]im+h6(ƒ9šƒ$Å Á";Àý©àþ½ØSÖ/Xô½r©`ÓXiôñ²�ØlÖ/ј¬)‡ ¥2”sP +ÕõET^ϱ‘‡Itä›”ø~ê†F€orÚå�Œ6•¶.;=À´Jpÿ¶œ=¿X¿—Y?šy÷â¨?±/j Es†×%ÀËâ(Üe· ‘³‹X¿3@uJaUÂ(O|Ÿ½F�ßg +1û˜=áì#ö/ug€ Oç{#—¿?:KliAp|½E© +ù‹ÒB"3 +D±¼›(˜©þŘܱþá-„ÞÑ弿#XáÖp¹xÜA)k(ŒlµË‰C=Õ„CÃ@pã�ÛW(ÔÕïu—¤Ô·°,P_¤5Ç÷åþ=´Õ|?é—Jú�Tøº‡£“½X¿¾:l|³xÙ=¾$¦0]H�cLˆ¾Ý|‘V’/Ui͵‘ù!”þC˜�UÅú€)þ-T¼°nÙåi ØCƒç,ü�¯.f9¬€Ù‘©‡l#€Ü?Òå3Ü_0ßß>Åþù0ÊÓPª´Ýy«x_ ÂúÉ`fçHfTx«ùÆù”0€Ö&™ :¨"u\ŸnÆ^-±e6¬Ÿv@é@¢Ø?H· R{¢Q +,Dˆý5Äþ.ÜëW Ĥ� éW+À÷;:— #Árëâ7Z% ÓÒH ÒÍ ¸?•Ìçæ³ÊÔ óÈ”L¿3½óÉ1¹?y€ZÑı#ö'މ袶”P˜=záûÚ¹µJxùBê€ïK0ÀM_¾¯r6�À®aŠgÄþ‡ºÙôÅy€ýl]¥™T`ÀÐfÌ(ºÿ»M{�)õA3 ˜”ü+KR™”ùl0Çàõæþ±Ì|ùÉfÁÊ4Ý&†  n9ÁæVs\˜ wv µRÂJg€ þx"RŽûô]î§üŠ$üq­*ù{š$ë�~c€òÅþŽå^ï°ý�éb¨1S1�/ªgõøQîûÔã޶³Aè! Òõ–¬_y€~ˆ~‹vœ­Ø}]ø>ߨ €åxÐ&i³û¢œCà¯. ¤Ø_¨€waýÑ#Ã`@ìþùRY@³ ^ ÔugEÊŠ™®HàѯîDû^<ˆ¢cnÖ«îøtM¿1À0ŽÆ“ožBò€}û0§ G�‹‘ý_üª€úÈ.Ù4;w�9ØÖ +ÿÙgêÙp+ Û´y@ż/‡„¥�º¶‘÷÷. àû5س¢V4£ü-H‡±¿Â¤ @í,Ù„ïÀ3ÀÝÿrH·4^Éù¦o¨‰ðßÅ7J$l áþ®ø—šûë°Bÿa€bõãÜQ¡ áþ£�W©|ýOþ±)¿µo7mcìñÑ£¯¡²s×#jW¾gÌ8uê$b·j"…ÿ¼EÝC]«¤þ¤žÙ½cÀÝ_ÒáM ûÓlT +Ê8αlÉvS\—Ñ#¾÷÷Kd÷z+É–ã‹R�Æ`ÿÆN�´Q–‰%!mçÑmxGˆL·Dö!™ï‡Ÿ€1ÑÚeʶ>!ög¢>n�?*Ãq! ¸û'»€ú‡;ûˈýâ/ÄÂÃBB%62ûÆÃþÉ À*³º€ôKýK‘÷ÿPZ€?d%òðŸö¯‰bƒÒåìM) þ—Ûø™’�ÜÂþ¯6²~Ó5%?Ä ÷W’§£˜ÝÇ̸QÿOœˆˆoç·³ìßG–TßEi'øî·§£˜Fu[4‚}3ë›ò�½UÔûÀcÅä­ Ö¬(õJýCCéeD¥ÿ¾Í®ê¦­.Ú¸4üøScOïÙûâ¡WOœ"޾èõþ…óïž{ë�³(²äð:ýæiý“x½õö[§¶òâ~üòÀðËu˜ +Ë<~⸤Ñߑޜv�zó4b�”§ÏÔ¤#¿zÿè¡¿>¡~ü+�èP‡€Vÿà_½˜éJ£Ñ?ñ j¨”7ØÅÀEL¿Ò²2Œî—‘‘Wª…î[;(ó…šÁi'¥]ÌuÇÒRŸ•hp¨˜mÏØ`žÕ¹Rx¢@ÇÍ×Sé%¢¢qè^(´ÊêýÃåúìNŸ½w·��"_]ÊÈý™HIË“ˆ²sùæ¾{:(­­ÜÏ¡nç»ÐæGŠc;ª[¿\FKvT‡ërù&dWóæ›xÓÍQHî»4W*Wò…Umö�€J¾¸¿ŽÔuërW¶-íÊ„«�¥Ö¶ˆ^‰þíH£t¸�£†ÒJÅRþÐ_�¦ÞœtiïD¯÷/¸fÞ™BžžØúØJ4ºµ:5=±oÿ.*Ó3S£›«ˆÊWŸxM¿9A©%o|óþï=—ÍÝ8üPµXÎS)ßÝé*ÜÑÚo§Hφò½9Wõ¾šä,ROe¹ +¹‰˜FVÔœWê'´Œ¥ÇøHî(Vˆ,K°ÀÙ¼O{™·¨¨”âØ"ÿÞÛt–Ð_²S¾”Vá#aä¢ ^ 7¥°åón08I¿BÒÚRzИ�ôdš_~uFÏ1·ŽÙPH$b W,Š‹0G_ õ/…~JäÏ6ñÓbåº3´O~ŽéñâÀ¦nIAv,Ä?ʾ%X„�èK1e8T$ÍÀÄ ±°]H`SEüX™¸­¤ÝC%üüm6Q+Le0dg‰Ãó{ìçºì:�Apâƒ0 + ´ÎÎê!b)ÊlÛõùU-°SE +×” 6”J[¸v@el'2÷GXÿPÀÐÿR˲X¿ºtÒËs³µó;5ŽBÒK¦/%MYN½q +½qêM) {Åî¿ç›ûøï‰¯ïö¿ø¢ ‰�ã'ß�ø®“oœB,�2éþø>zêÙÝèÅ#Gw}ÇÎ0_¼ôC°~ +R=œa´T!Ób¶4b"¥ò€}v÷ÏÒ€±íÕápCi וVhð÷R¸ÐÈú b@°~JR`©¸¶UîOIÂ�nü äþë—’@Id>·0uC Â� (¾ßö…ë» d?€²�- +xˆ�†B¡ÔYHKÀ óv;ÛA ::—&°ã�Æ•ª.W¹ÂWŸúú×ÐèCU×øWG@~àYîïÂ÷yÙuâoNH/½ø\X¿@6“mO?dØÊ÷˜ûcÂûHî® ŽEÊK ´¾ír`¶:Ø 0ƒ�R°þÁúÙ¹”e3Qá°Üë—hø¾Ü_ a+�¬?˜µnL„x×¾1ŽsY”}*ü™+,TÂsð©ˆÊ莲@+ϯ I+^v¢X>±!?~>6ÊJš™^ +ãÏT¶œøO“Ñ#ö¦�•  ”íÚÊİηØúÅÛé¥6•|£ï£Aò€­‘ø÷×:Û[Tì+î¯Ò°±H|©@‰ïSÔ�XlÒú]üë;YP€’€YÀðŽ]¸ÿ% ó´rÏäþßÚ÷ü7žÿs"+D�d€bi¶õKx1Ö/k–õ;,ø/ÜÿôéÓbLŸ•ñ§wÕY¿¹?ÿž|ãØä$¢¢oA“'âüà�©·Î¾% ’€+gï½u;•ô´Q˪öxEsÿ ³3aß' $+{3Hïøãþ6ŽÓnðõ !@쟢"ë�2 —DÂÖh[”µþŸõíø¾ÜŸÒ�|³2Y¿äî/ÌÎ2-�ø~k6ÝÙ}#2ßÿÜB` X€õ3§Í¼&·ô³)…ÿ�×Î˲ˆÐž²ã‹)f(ÓTðz¶†9~8"X%@*ßo*¬i�þ.LK2héèßq=÷ÜÓå"áíù!7e$2…ÿ’‹ ë—ûS*�üqÜq°)ü§"pR‘õgo²Œ„þ+øH™_•á@Ôˆ¯Ê†\.”hŪ¥rÿ+@Ö¯ãÜÝ_@ü‹“ªAI»áþªU›wþ(�õ‹´ìÃ| +»ÜÝß ³VøO‰Ü¬M6BÔÖ-\2fNg¡î¦ÚCðc;ŠÊ$–¦_¤õWà¯eâþþä2%¿‹ŠM ¶.Qg +0„x_lp1Ew®`w‡Ž­¿Ú_�b| hgy%ú7ÿ©ÛÅÝzŠý�1!ð§ ˜û¯7ê`ýu€¬_%^/°}DIÖ¯Ÿ|q`ø ºï²@çÚÔz{oÚ`s|ö¹çÌú‡†&ßÀí§•P‘ûKÃ�?•¯ 9\Ç^?~9ÔL9!þõ$ÀÍ ˜ïÇ À÷ ÿËÃT”ì;б×�ÙÅŸñ¥ÿ0€eº|™H]@Iˆç/œ¯1 H Ô ¤  ¶�¨Ë’`Šd=?~Oÿ¸ÿ‡Š€ÂO)¬Ê €òwI$÷wÁa@G/â”û³L€�A ]€Žû“ +p¬¢¾ÐªØ%»€Àáð5á?êè²AºÍ«$÷—û ø>J0È÷k•evÒ PÁý•P*Àý)ÿÝ3_ÃúU²_°þèKtIêü!ü§Ü·R/�ÂÿgÿÃ×’@ÅRN  ’<Ÿ¡G¢ �‹}äÊßa�³G`@e˜eåÞœn9I…ãP"PÁÁ¨ŒÙ­([2á\e®`w¡ Rª,|–²oÀFñA*æ ~ +�#?ô‰c¬¾sÙѼ…µ!š`e”ÈúG16hMÊöT²è$0Rûq¿æƒvW¢�¾o³E ›ß![àeº€<üGŠýõ+|�ö½‰çÈún‹ï÷¬®Y”^–Ps +Áë×Eg¬³Ü?ú9~r;lù»Uî‡:8xÄ&²Jƒàý?ˆÝ�õ ²~­e�õóÓÙr4˜Ág$Qì¯ÛLÅÖŸ_•Í¶ÙØn@*à§Ð‘zÿeúª°bTì§Ρ9½�»ò£®Üša p‰;þäèÀ‹ŽþíáSÿ}á¸ÿâÀضQ*ÓïÌ4Þ�.Q9yú-×ác“O}ûùL¡Œþúµã®ÉŸžœþ‡·$=‰ûÔ›Äþ§Ný½I¦ü§Çí±Ýñ-½ÿž8yB’YOŸ™F8>Qý7žÛ7ñêäèCv ׾`&Oœ0…Ͼúw¯ýÛ£?8ò×GÑdüpðè[NLžœ:ÉWS°±'v>z”òè+“ßÚw€Ò†ņ’Pxå +9¤Æ­ËCÔbçM85ÿ*;ì{J6tW½:Õ Ýò‚¾õmrÿvù¨¤ÝŸ¾!�ýýLËïÛcå)É 2ˉ©[8ª)u‘%ê%À—û¯·'>Jöì—{¢é•p‹]©¸Ö�eÃ6ÖŠFI3âà§¢�o~,\@´ÄÇý6 Ȇu65hXgKÛ]ñ´Dâ'ç +6´}…�Ò $òáöánqÖwd—H}òòéBé3Ý«š)ƒìœðÊðX`Þjë\ˆXŽ„Ã‡ÿü»Ó;ŸÞú­};gÞ�{¼zô•ïÃìêýeÊ#‡‡7/\˜yö?�S™zãðèCEDeìñÑoýŸÏÒ~©{mâÂ… ÏÿÙ7(ùÔ±×'(‘Î*KÓïLHÏîþZGwš-SZ—Eŵ5å‹öPr)Ób �”ýB Jã¤$0´#t:±ó–¤60xo©§§�mî¹+‡ø�”ìtÖ�ù)+÷åºWY/%ßKX�_™Av–²=U¸£¥xE®+[ <,÷”ºFFK¨wí +Ju>D +&)´g‰æQé’ôpyI¶"]´œ¸w¥\%�ˆ€ª;¥Çþ°7{Sfu%'õ߉#¥2ÔéR? �’¸Çåmøó]x}îSÿ*ÛpM†2՜РKQfyeãµYÔ|c;ðµë¤"‰ˆRuxEMá{¥ò`th[…C;V5ÄÝÅÞVÔYhaÆûX¶0QëM£|(œàµŸŸ ž5[ÿF‚}òÛnëÂ% Èxc¹» C«{ÛtÅ%„ù•­�‹¨h‹Qކ}„6‡g�mzl%²À “ö¸õQðÒ_‘ìxð×Ì4º2ŽLžÄúqL*õ?ü•$pX–”@äþoFÖïÀèeÐæÑ¯OÖ¹¿UNNI`@�K Ô@îø‡‡€J1€ÕÃý…�±Ç1”8ø"¶ïØ.Èýë°òNsyJvU6²3¸?¥b º†H±@ €üíö8x@dý’îð„ïó¥€&˜õoÎQâûjyuÐmÕhpÿ­ÐOK²ö_ã°»�.Oµ¶§š—-ÒËf «Ð¬ uÝbWKºñƒ`÷/ôÚ )]>m×Q' ÷— +Ø&Í,oÀ÷q �ÆúeÖ²ïHfÐÑDøþ®g¶"*¸ÿÑJ`|Ç(%îo•÷/<¿ÿ£Ûª,Mw”ÄúG>tøy€w³eÅqRÒ@õä&é"sŒ?ˆ +wµHI @Ê.Oפ‡ $çgw ÜáûÕáœ@îOßǤ€ñ'ª¸?H ¢ac¬eG¾™5§,}©ƒöÜqó’R•|ié¯ +Z”pI ~K¦J /ic™U¶»W·fÚ-°Í­H#\˜²¸¦ëÏ~�æa½—X㢠’õKîþ•{ª²þÜ-y*X¿€2¿ßQ,w]£c¥¨¼L³@zØø½ëWhóê$Š1öµ3€Ÿ¯nÀG:áþƒ#¶Ñ(9äa ÉŽý€Rx”4(qtãg¯ØnRòÖÓ¬ tÑîÏúGÈV†‘»ÿö?ùÆö'wú›W¤šûãªÉWìþ³€û{ ǬÀÞ¿<êp÷ê2I.ï^�„O($žP‘)' çC%�?Ö¯<€Ã› @æèÙ•þ�Œ>n#‘†ê’"ÂJ{Ö½v÷€ïn,"*ùž¥( 1€oté]‰ðëÇô뤡À¬?  …àþVy¢Ü³¶Ù-nmFãOW)+÷Øâs·¤¨ø³÷)QOÙm�¨Èúu\f±¢´ aý�\HÖ/¹û'0uâ Ö/Pg@Ã"“0°ºœÅú¡/|ŸƒNð»£ÛýÒCìaàbˆˆ-�õÃ$HŠý±r»>ÈB„ˆ#fýbQ#ˆg&ùb+Âýs… ÖïÀRØb‹ÅúõË:œý¢ *€­O~íúÎÁ—þzéȈœ /û›W¶ŽÛCQ"%_îþ~8‘Àøw:�ð^ i(·Fã$ ¯Wà¥H0”0€_�}+ Àýž8Ä€(ösZPÿÏžï<Ÿ€6Nô +Öÿ£×ºkÿÅþ’п1W—È­”È»€fÃúcD7�I€ Ü? OdýæòÑiËðúd ÷—’mE�íF@]À÷åþm�Mø¾wåKÑMßP¶Ë$ `ýêò. õy` èmv„ ePÀg킃�Ý(BŠ dA¿6ÐG€„û äu@² ±÷)u ìS@þퟒÀŸJfYZ]@X¿õÿôtÈý%vwì&ù¨w;hl‡‰$ûKäÉôþKø¾Ü¥[kjnR¦½Ñ¥ý‹`€@øŸ%�? QK÷§òØöê Øµ{XÖ¯. Ù2‰!²þÔ )teþ RžÔ@bË�?YÆýÑø“U@fYƒ@E»¦¨­4þD™’ØŸãÅ3 . …ÿDv|%†ÿ[%îÄÛ\ +ÿ7ػꢔû“P:�º€<ð$ .@|‡3«Íb‘u�>óV]ôÊë½ÄUŽ¿ðч·û<çÏŸÇaÏ�;7óîÌÛgNO¿1…ŽÿdòôÏÞ˜Á²öÆÔ;3C[ET¦ßÿð…¿™�&NL¡Ê�¦Ûó;¿sð…#ǤÃ?ž<ñÆ›,“—]“Wz¿ùft¦——ÑÛ9[ù×¢ŠÂv‹ÜCÿþÉðx^úËÃÛ¿º“ÕÞ¿ÿ…㯟@|êèÄ„�ÔÄ+.¸UÓtM=½}Ñø’ Xg4þÇO£\©LÐû[ÿrñœ�Í�ó±9Rfy®tw®ú��þ5m´ýÝww z{Oo‹"º>Hâ-fМ½ÆeÙòÝv> +Zä{ŒˆÃ’Òb“umR©¹Ëß°>[ì�ha¬Rß`RË&AYqûR�¿BT†Ê�l[�°­ñÕÑÇŠHÍ74Y IŠk—j okÛâp’¶I•Žî& è¸ÙÔÞiÇs®`Th7$D†´GÁ¬ºs§´è¦T; `g˜‹Ñyfa@ÃJÝZÝG1,øú£nîçfN£óï¾þ­™¸Nÿž—–6}êgÇOž´‡Qyû�·ÏÒîfÎÒ°Ï¿Ý$ŠWílÿûÑqqþüY4ñê¡Ñ‡ªÞŸ¡ÄÙ ”¥/euUۜҽ0tݶ[¸ø¶®Ò_—߯ùpÍ€¢nuèÂÝÍE)Ýœ®ÜgÏØéY“¡BÖÕ³¦Q±º¾�­MEH}¼LI3`o²©«˜•K_â[¬›B–!�=YÞðp^Rëíè ,ßÓ�X¥|±EË”2ÁŽ;oM#Õ% è̤ÎÛ–"%(+W·I#£½éæTCýUˆUíêBTŠkÛdXV±s¿‘ò¥Üâ¦V©ñÚ Zt]«‹ÿN[Â4úÚS;&ެ ô6\“B­ím©j]@�©X‹²‹—,ïº5'q”Ÿ)DëýR·kø�¡ñ'Æ£RO´²j•MöhûÕwe©ð[6=Tݵ{œ2ù�ZE|&¼Ë¯ˆ¦íëû­ ŒlµÓÚúÉ•ûº{ïé’*&I=±º +™ÜÍÙ¾r>½,=º¹¬°OKÓI`íSsL´< ¾ê ÍqgG6œ%~ùÑB0þòÁC>ǃ`¯w9\ÞðýKÀÝÿr8q*ÅŸxÙ½.@2ðÇÄUšBDï�ûó)¹?Ê—Êø>k~ôÚk¯}D¸®itß7Á€O.ü”Vô,�Ü_{à �¹KAžÛy[KµÙìnÜ €û£Îü$èpºÄY¿¥Z!ààÜh(ê¹+ È`% ûƒ2îOÉ‘©É×ÕûÉ0Òø>î?÷Gž = g7ÒöI»]($ˆiÂýc)�éãþba@4¶'À»ÁËxïÂ9 j¸¿ A_èÜÌÙð{]3Ó“X¿äÀý)× …³5�a$¥)¾ +W¹9¥z"õkÞêc¯�t©d +ÓYølÐQ"Y‚0jcF‰ B.R}ÀHà ‚ï§[vl‚’‚ïËÙ­ÒŦnTøv„ûS2sõ>ÛJ©î©HêñÒFˆÔß–¿}©DC� €L‹ Ñ‘ûwugñý®ü¬a¯mCTÔz»o7àûó>‘qÈô)S7äÄ*¸áŽ^Ü�?9ŠõKž0 Â@S�`ÎÜŒ0$€ï׺§–×´º7‡â9#ÂÁ °*G9¶½Æ6î¯RCrm²¹ŒúæþÚƒ0@¸2ʤJd ¨�¥!àÑÇ{)•Ç3Qp\€0œ=z©¡KÉypÝ=Í|:€$ýª�õ#–[—àþ€‡¬÷sûпfO¾PœûóмO4¸’À÷]< Ð.Áý1qráK ³Ü:…€äB…Àߺ§B@¶ÊŠp9gÃ!÷-¼ i +�ÿΧG)¾�û[øBø/é‰jþ½šû#|Ÿx_p :�éLŠ€õÀ€¬_bÝÆÂ(iëXÅ¥ðõS@¤»²—Àæ‡Kv¿÷ äyæþ„ÿ¶[í‚ ÿíÊŒpR„‰´|ß =ˆû+9ÜŸí`ÏMáû–àbáb"üŒºÀ;ìñ_¼1€FšøñÄsÿù=á×W]X¿ÜÉú¥ÈûÃ ë§ @ Jäþ—û[åâ΀øˆº€€¬ß3iòGþ)¾‹RøÆ·÷�nG¥µÕ†)IÖÿë�¾$Ý—C÷NÜÛXÞb ÷§¼ ( J5@wõ¡TàJ@²ðÿâ @  ‚M`ý0€Š2@¿EQí%»€ìÖ@qÐ’]¬ÎI p¸’p÷7àû¸?oD'ì|€ ÷¿ˆýãþT{ÉúÕôà_eˆI€ ÀðÁ…äþTtDàþ”ÞäP)×CfÂd„¿CðqþUEûB�õKÑ> +I€>¥é²þR_'eO¸ˆì£ßwÕë—)àû.µÞd–4'á?ê­f]Ö€‰W³Ìò«£O $œnÎ+ü§¢ ë'ü§"`�†�+÷oXPsÓï´!™>"öWàý?€’€†kRrÂÿÒ§k@:3�¢»)#÷ßµ{ß·Ø?f£bØ•ìÂýQ]ÛPÖOi}AáZ0&Ò°þÑmQ/Âý=¨€wQÖu±ƒøØ÷Æá?+3çkÙ¨Œžo^ÂÀ{ñ�oýxᛀcƒ2rê·ÏJÖ9>qLÚ¹û¹­;w!Ý?®ùô·Ÿ?òʱsZ:–.DJ,G^º²—¥žŽ_§Â¨üÉwï×éÔ›§ÜôÑôÌÌÓÿq·Ê¹óæ‘‹Äš–þݞݣ;v¢ü]åÔõ鯦ôÇÿ÷«¢Îœ¹s?þ‰«®Z°]½`ÑüE‹¯MQ¹ºq!Ö¯rþ§R|Q™ÿ©Åèê…‹La~>Óº´pg´3†0©ù–×gÃè~;Ç«&>òpe[‡]ÑÓsgÂë{ûÛ¥ò@Ò-Þz+:u®°�@…|±P&ŸVì@Åþv“Ýg8ôÿxGPÄa¹nC$õYlFŠÔ;½,Õ¿¡@eìû+O9þDuìßVlØÃ¶¢ßÀ a»¹›SˆJÇÍi»¥”iiµKysëîoëZÜvÓb�ìEí¹EÙöÆŽ‹u&À0*]ù&I!Ã@trØJûw•uMP!ö7èaBÂÍ™å O=›8_•b"$œ§ÝRžWÓ奟·ÿá4‚´eDåÜ/Ï!}öü«¨tÍœ;«®$DHÿ´£¡5%6ÍƲ¿4œ“øWFfGuü¼Ízc˜ŽÓuUî3õÞ§;ÜýÕä‹•ùVîé$bÐ/®µq�8ˆ�uÐËp?]Oäð°JœºÁ$*Zg› É$a^³õ‡ë¡7Ù²†ÂãÐàÆ®Á hèþ.D“%´ßØeb•@I •�ö!æ âß*©§Gô(ÛNJŠÊýƒ– éjXÓ†®Áí^åõD6¹Â� ²¨±)éÓX9QkcS[#¾Ÿê�æýÍÅJùÈß¾, n¨îÿÞ7(SMéLKnÉï¶-Lµ¢ÚBl9щ–ßÚÞQªtIù[²_FTˆ�6?ÜGâ‚6�õHY;BüTEÕ¡‚Õ·ç Ùê€2z(65[UǛԟïW ûEa”ìGZ˺¶€Ý‹Ôn?F¢´¶+¿** ?¥nÊñ£¬R’Çtñ%îO`g€Ù•a}´ç\xÿC¬_м?¼"¿�_N‚Ú‘à/¬Ÿ·x=@’õÀ½/Æ÷5�½‚õ#HÀ¢BÄo/YäúøþÏN©’ Ñ a~¤ø¢�Ùp OíÞƒðýÂ�%4¯¡aNâ…û_õÛ åééÚ”º¬ÿª«çSq $4³æ'�pŒlYMWûöþTð}¼^÷ÝLß`O•BÑzõÇîÏ«َżÅÒ´Seý€ìÞÝß–:…Ì÷ï¿'P€Ñ1öãýr/­ÇÝ!0Çý)±u|_€ø¾@ÖßÚ¾ÜQIvu÷Øù^{L<çP÷ª%ø>™A¡uÙ@ h èGÀ?Òà ê¹äE‹Îþü-¹ÿô›Sû÷Ggqv6�?6‚)Çrlÿ�çXg!Ò53Sù)u$°gÔ£ä 2X¾ß! àû61”šYŸÂú¥î•6ÜËzÆÃžh¶Cã{A³�ø +ÿ¬` LÀ\> ΀äÌ@4B¬ X¬¿:�5gìè¿»]0 ´W×gq*}ý&v¥µ­@aUØú�F[O·C@vŽá¡ÜgZÛ#ÄF߸Ënµ!@ÅÓç|¬|øáL¨ø¾/êÚìüO¬\”ÅúG·“çÝý‘ùþÃ}R©Ú†ÀÎgª’b€÷whËÛöŒyàî�tôEÃrÚ ÖT€áÍåᑊ@EÖ?°±Ç iùÑ™d;—u˜ãáÿÎ +Gw;à°áàñ£ˆ—¹yâ5yò�¿Â„ï‹T¢9ÂKîŸ ÿy)äW�ÒýùWƒ2#] v¨³@ø¯ À…ï»ü]îæu’›{ þK~{A" 0÷|fJàIá?  }SѸ7üÉâÁÀØŽr `?aýú$˜�àþIPâûTf@Þ¢´ã*Çì ÷w`ýHI€"P¤ ÷WP—Xì„û“àþ¸¤ù~À:1 ÈýÃâíÄ@ðzþ5ë–¬2÷—Ô¤“X?�'º4~Âÿ䋦KcÌýßœ¢¾m=@V +È*p"¸ÿ™8E‰ûcýI¨´m›èëOf½!®¿ß ]žKÙ7ÀN ^¿=E]7ÁúÉ Ñ‚ŠbÜ_€Âø‹o"v¶°@îåñÉ–À%9»*æïñ ×’ 46è†-ÇÜ_7B ʸe”Ú„ÿ˜{¹’• î�õ[ìÿBÛð}BXq;)¬€àþb€UBìoáÿ¶¼‡ÿ|ɾþS¢ØÍÉðýKß¿®¦E–ƒ÷®F¸?p÷7ÅÂú€¨F4!¶°À&uP‘G#0 ƒÆý)™¢ ÀÚÉ~~$ÂO°~Ô?ØpÏzË]H öWÿOèÎ�ÎZdpEÞ^r|½‚ÿ× Ô½dëÑËŽ½H“į̈ ˆJônxø+öçõ¶»ð’õë%Èè@40ÿÍðü–³ñ �p�ÀÉ×'_øËÃ�~u§Ü•/øàœÿ(P�b ¡!Ù ‡ÿ®$p1€RÖ¯K½t0mK±~1@�?êµW�P]�à]@Rž%÷GwúLb@ÿâþÈ\i3¶  Ùbë—h= +ÿ.€2ÖÄ|_îo•ødR– (üW¼/HêüHÖïÀe@ìÿîE záoÞ ‚�ðzÇ EÖ?3mî�¦Þ˜Lvû³—�S»ØÂ>^Ùõhcµˆù)Iá¿@ý?Ègf9€�ï� ƒ–ecÓØ(d•üm9!¢×<6[X²‹…k™3È,ûëÖ7Iû+ü÷ @À÷%Ï(‘à’€$ë�FmË>Õ=ü7ÈèÅ€r%a:ấˆû×àÂûSTd.€X‚â. ) ððÏÞñ+ {+ˆýUâ¶’6#bÛRn +WÕ(P« \ÖTbàþ– &@øoeœ¨ È@àÉs¾hŽ,>~áò‘"„WôfxqðpØ„É(•¼ìSÀõþ}êCŽÁ÷ߟž¹0öÇOç+UÊ]ÿé[v†×[gßr�»…ŸNÛÍŠÃó„­Bž1îô9=ö=ùps¹€Ý­Áoƒûò.¤ÛÆ©d�0¨È†¢.&*Ö àt!�à#�&⌠ü+ÙÊšÖÞR eõî¶¾µ­hxC._èvq4­î+IùboM«ú]sç¥]sæ6Öô±šæÎ�ôØc„ ½õÎéc¯9xhßèCÕo<·óÂûÓ”ÉùçÌ©iîÜ”kÞ'LùUTÝ0�º!ƒ¨ï,×Ô[qõ”JšgûWÅú5´É†ô àò�¬áñ !·ër}ƒk€¦öÀ`º‚ v:ee×ÎS×äz¬g8Š0F«äº2ˆ +A4J¿ ˜#w4<¬F0l�&¶§ƒQ݇—úQ6@OéïñJFOæûñ¿¢­phé³lzÞuøË#‡ÿúhdÿ¿öî݇Jkúòw–ѼkQä÷á5¯áª†E�Rdßצ`ÀUŸ¼Ú0÷7æþæo5ˆøþâßY‚ uîï s�®Ypu£õòÇX¢·�g€ôï5ë�ÃúC†^'P<Ø�ï;øˆß¾_†Nûp :àû�·§IÃÀ|\ƒ>e+rIÖŸ —2Ö÷§bTÖ?üH²ÓJ�4>Üß…ï -¿ßD^bCû`%¹?•öÏbÄîs`C`€•Áú£·V4 �HI´~¾éÒÀýã}¦Èú©;NŸ™Bæû§#�zó$ �ð}¹¿09yQÈ€Xs0 ¼ ‘Ãaß@ ð}§Ÿ·p*u@:°}¡Ð~"0$@Ü ÷GZ,à³X¿Å’1\êÒ±¯�…BÑýyÜý-ê Ö¯^ ø)T0@Öï0ë·"v�ò²–ýí)ö/W²”€œ~à˜ülÂß]I£Ç÷»o” +Ūë‘GÿÈ…ïKvQkîï˜xõûèÙÿ´×õÈ#ä*‡\²~a@Î.éâ²H×Ôä3@‚ÙŠîZjÖ¯]·dÀÓ©ÈúÙê|óÝá©Po]”µ»Ìšû£�ÏŒr˜ô¬±[*!¬ß¯ÖYF$ŒYža¸D ÈÄõ²ÿcHX´^/1ÀbóË÷GT"ﯩ7ínû³ùËÝÿ[ßÙÿôîݨ«P@É®Y¿Dàïr÷wàþ–4¥Àƒë˜ëOÝ`ý<Î7™õKLoŠ“€¦¾�’ˆÚ«-!ÊdýJ’Àú9´tbGáT»eü/ìëÜDlÀå­M¸ª®´d¿fÚq*Š÷õw«‡áÿ‘§Ä÷¼¥Í)üïémEX×Í–Ã:€ÂÜ‹Qøhø5ø9@· +Àý¬¤D– ëOßÐ(ˆË‘ÑËú3'€ï°þð)«8:o]z Èý“õxàîoÂ÷f½ŽÖñøæIg€Üÿ䉣“ÇbýGH“aü¨€ï#€ Žl­¬Û§C²î”àþTzChï¨ÄÓHÜë£x-$müËÖÖôêÆp×É8è^e—#ÿ°p\¾[7~ˆ EÉ®tgaï«àþTX%M¤""¥"ÈP°~¹¿å!öGTÜŸR±? 4Ä]@øÇ ÿiÛ:j>bàÐíâåïW~áþuîOø]Ѭ³^“oN Ê”|” €Šoäþæõñ=®‘Ü_`׈È6uÜEœÌ pJ¹?y€¥ýÝžàþÖ¯rÓX ‰4¹?•ú À%×ËÞˆçÁ£åû¼dÙÑK@�>Åd²€ Ùtþ—v'5½˜�Øÿå¿}eÏ÷öoAꨙ3×FdJ¿*dýæþÁÄåþ¤r‰Ø_ °ydý  dýè:ê` d©&Po ˆ¬?Ë© aAc]`½@—¥aýDßu@2t¬œJœn0€vÃüb@¼‹õã&x�bI�’ QJÉ. �Ü_ððs·À?îJÀûXU@Òý,q1Ë•b2zï¢Â¿êäþžðYë +Ö�껀Þ%qŒ%ë ‚õë”»ÿÔ“á„S$þ‚b÷ð ß÷. õÿ�¨ Há¿•!öW©. $ÈýÕ$µžÀ?ìS*šÂç]ÀŸÝDì¯þÊ$†G ê¢ä«‘Œ¾|µ*²þȃB½0€ï{�úøRø/áûÄþbÖ¯3À”ÅU™$ÔÿãÀ�ïíB;ÿÝW&~|@²‡¯Åòšìzêßï�ì㊯Ký“Ø·ïÅþhç3»gÞ�DûöïS'מ'øÞží_yÔà¸×�ï³Ub¥@' ´ØéÞ$D a@�fw9�ò|ß ë—¢“À¼ÿž� +/Ùý…0<4 c!¼ñÁ>¥U>ÂkæÝ {öî+®é£Â2]8�¶ï؉²·¯¿±õê… ÏýÌíÿþ‰ß"ÄFó.&HG ¯k +au£�}•A£¦ôük›Ìs-fΫ?µˆÒ*±X³ýÖ'çÏ…"¿ù› WϥѢԤ&hR¤O*4-AT7-A‹äïצ®n\è×444\ýÛ jD²~aÀ•Yžé­,ÉIƒÃ=®Ê€=|QzÜ ÿ‹·$dåf§»¯ ÀCy3 ÒR*X »6êq×£ê#4#š -É*!ä6­*ÓÒ˜ëNn²«ÌÆž¨¢Í�ÑtÌ÷·þ�]M®Å,_†Å +Wì2T¤¶–ÜðÅ%©æ†\w +e² `C['XÔvSªõsÑ-£ùFûÒ°]&¦|ÂS«èöÑ]v¯ˆ$D‘+nY^ZƒOå)Ë•¢†NÿÃ)?ÈÏ�;KÖª6ùÞ?ž?ÿËsˆégH‚püɘ>±¿‰�ŸyûÔÌ/ÎRúM'&\ÇŽA๽O㉹ۮ/öÙ#ª÷uô…Ç-P®°]Öl‘�¯M½.ô›³%åéì\^7ù—½Ã[¾� fмÿU¸ÐY°Ë©F·Ç?IÌÉXŽ-*qþÖ–�çaÇiÿút–l{J|„�³†j0¶¡ɪîµÎL+­VR˼/'•+™*¿7È0Pi-—2”¦þöÁÁT^“ÕíÛÆþͨàÉñ‰c_ú¿÷Ùu[¯Fo�=……È‘÷î;@pÕ5v+ÿ�Ïkšó±ÆbixÆúL~æß¿Þû³2üý›X>xá/¾5ùúaôÖÙÓèü/ÿG4küR é«lj¸&3w^jáuYÊâšáߟ9qbí|z¼zyÿ÷öh9ºÄŒu~nï®§žþ*š;¯±»ÐÓ]X:º½¬K·ØÔ,æïW�¡è0’àîJðG9¸ÉžŸCÉv¶�v™öˆJ¶¶ïDÚ€¸„h ™ö�£–¯  ´iÛJ4òP ä‚M4 4RxE ˆÁ�€)XŒ —yiP&a;ØûÝý¥µIæ.áû ��J²ò…©&Ô¯tîoúÔ¢:ÌO5Q2›@9oÞ¼ÆO]çH~]éS‰€¤éX?°á@¿½@²pr°†u H`t{^ñue›�†{5tt¯ÊJ ß—¨KÔu¢¶Îë}ø (´9t(*Òì'0L@-é Åw° µ¤bŸ Oì±ÛÊGÀ÷¥1 ~¶¡76-÷7¿þâ@ ŠL 0Ý’``Ù ³¬ÁʖƶÜb{7·˜ð»˜B…Òd¾¿P²X¹?¿”åè$0º\33Ó0@¸$�»ÿÙw¦åþ—Ò[gΜ”ê¹€$ ÀöÇ÷Y./o5$ )ldfÐ>ŠöSzÇ—e ø¾=p8@îÏÌÆÙqìï^a¯i²Tô–)^,&ê-{7tAØ¿÷uÉú)Rdý�Ìf_ªùï �*0 ÿî`Ž?й?$X“…ÖAÔß.D@@¤€“?{í’�æ}"�ö|óÀåðÁÿü÷?õÆ1TšÇ%°ï;/`ýî?è«OŽÁJ„ï#Öœrê�ÃY?-í,¤ýÈÖfŠT\ÛÖ_wvyFPÏ�fÖ( UX[�‡ìV£€pQ�@4eVð�Íl Äß™YNv_÷Úóí} +ÿ/êÀ JßwÉF%¹¿‡ÿb~zõ‹@p9˜ûG]ü)€ À°øúf1ÀJL\>žª…ÿeX¿e§¬�ôYÀ b€`áu){uP ²á‘�MÄåî�äûr|JÂIÊ$0ýÖÏÛõ·€¬_¢‰(¿C`ZàI(—-㨓òr ÀúiŽQ2µ'¹?á?�û×gìB°Ï6!eøÕ€  ¦àþ’|_¥ºŒ4�JþG'’ø¾Àa0þÕÇ®•×FTffþ‡ ßw Q;N¾¼éý z, ˡĚ3í�$F‚�º o$;KÐv»#Ú ¾/´#Œ1ì-Y袑A³pŽ[¬_lô¤ò]7d �A Á8ôo²~síØø€)|Ê*a}XÉ$0@b6¤åÓ¨$ ÷@M!üG0 „ÒÉ `6ÜýˆTà’¸BpIôö¹û'Ðúù"ph $¨¶ÂÇìáB³3ëgƒ ¶ Ô±M)î�Òö´OÅ»ŒRû‘­Ít©ú”$P +dì#A|ª™òàe S.¼ÿ¡1 €Íñ¾=övö‹Cãè+ÇžýöóÃÛÆñ4ç7P�ï»~U8‚íÆð @ÖŸ€2€y¿ù›ž€Z/P³1€/2ûë|o“�$X|C³–ï0Ä]@d¥­‰> ä(…ÿTÜý{îhüHÖ/yÔ�ØUIH³€�ÙñåxœÉºÈwÌýƒ¢€Îéà8’ZR¦¥$ ð_%-I�‰åÓ% ˆÊð. Tëÿé\œ€,^Âú‘¬9 îÅþÔ@ª€îHr|êµÙ€€.\ é~(È,¸´ûóJÀ"¨ ø»Øø6&Î8V‘º€Ø òVy´\›½ÃÖnÒtW;UÀ‹êº€"÷�3rc@0qY³ê g_T²ûô¯}i|‘æ·U +°5 k«NÍÉZy ¯°Õf qÐÏr¬_I€  +Ö�ã#¬ŸØ_úU3€K@úîw^üµðÝï¾0o^ +]b€– ÕVøbÈúUºû B²3¤Â@Òú‘A…Ò6lüè¶°6µŽY;l îë¾B�B7 êŠ÷#åœóṆ*“¯¨¹ë•è»· êcíÚ <òhëÍ�˜ãUW_­á˜Q'~Ã'±È…©ÆÝpM¥¬Y]:Ñ©W »W +¥…ÏQ)[—Å ó?Õ„û+Ê–_·ÙÉÛ0]þk3ˆ"a�~Ão/lL-QIðŽRË2¦æŒGú0Á�¢ÌÀý=\†¨°�è+Ìô#Þ $Ø’ e–7lz¤Ob|ëñJŽ7WyàóEë)þrô%éðÑhò§G§€pA¯Ý×!d®Šuðq�FT$ó÷K½f~Æ/œ?ÏÇyù›C"Au½¹a÷Ê%•{Ú�9¾ÆA´÷­_ޝ2 S²Íý <²] 3·a6œ×M\ ™³13q»OÃv«Ã�lƒ ˆ0oŠì;˜>uÿ—ê¥.éb�X�æôyl†M¸”‹ˆUƒ£…þ�´™n*Ì �Ø OYÈiXB�µg¶‘>?„2܆ÚY�{ÚïëÐ`Ê/îA»žOz+:õ³IÛîÁyžÛ÷âÜyéù‹Z±~JtõÂ4ÿS6E–]¼chêÄTdaáÅ~G“Ç�îùÎN8}ðо©7'�ŸBÅʨ.ˆþ©ViqSbzWaPK{�¶ÁGfÞòëE&áA¬éwfžþ÷{æÌ™×us±ÿÞNÂ&¢=K£‰¸^9¸¥€Øn†^m7; c›:LŒ`ÇxØYÉ}ÁDÞ*»{�…ÄâhͯÊ"*š_Úúå^øyd¥n5¡wµ»çè‡ñªc€mwÅîÿܾïîùÓ}ÅÞ>dNzMMÿßþ�)˲“Æ žèÐèû!v6] õíPúr^·d6˜.(ô&Ü®ÀBû4%†L L�MKQ°ò€R2°�83Ðõ½ú^~þo]ÓÈ»”΀­cÀ)ܽÏàÂ÷}‰0 “À÷ø¦ö+À)pßÌe‚ûS±:lð{­°„Ë`ë„BÎ1òôÓ;�€ý+˜ñ…±ðu�5s0S2¿úv€l= ÅòŸ±ï[Å!!ë﹫e6°ò?béPG2ÊØYì)u`Ù—†é¦`ýÌÐ_+*a9£1€Ò#Ðàe!Â2í,%íßçç“ßHWÜÇ[¹Ù8tèÏÑG¥›5ð°ýѤLŒ×lˆîþ+né•õKZ¦-Ðî6Z^Ö/B{ ‚ïüÿ§]I`ý;wãþ�÷Gì8bÓáþƒL´=kÛÍ6]|â×÷�±!N�»ÏšìðƒvCˆòú.*z"…$ëôßÚ`n¹?_J©wÙÑ|E u¯Ðì/ìùæs¨çÎ^$#S)Ùb¤‹¬¿aþ¡nî¯ @ °±˜Š¯Ì÷c)P€õK$ +óõ]‹>õ µu°ë³Ò*#ëÿm½ƒû«„X¿Åþ! pÈ÷U7÷g"…%“€|¿ºö8 m7¨‰^xyß%`WðßÝ•ëíÙî’‡üʨ0…².`Šëh(‘ûÇ[ 9~¬8üGø¾@™€.!±–ôþ[%q…. %b@q}šÀ?uC# "àþTtãeªÃe +ÿCÈ_K(™ˆ(0€ @±?îŸK:澯fl¯`ô¾`¯äô‹†;‡ëϹû –„—°.Ý>»hŸjk³Ë á + ÿÍ©ÍÙ)Ma¯1±]Ì ÷gždÀBäþÈùZšÂá-[g—ÉP4Ñ,^Hˆoì#0…9‘ÜÁVXѽ|ÜŸxV€¾ˆf wÕA„,Ö”þG]@÷u$¿jpõ‚–¤Y;’xêO¢Ç€óº2žÝýÜœ9 ¾@SÈ'”[\WxÕÀ3|Ÿ,Žm(¶[p@}>ßGaÎÐ_tÎG Q:ð¬ß ’ó)DÃcOT)É×þ#ë £€©wf~ð£‰ñ?Ù•__5z|D¦‡±¿¼ à‰d€wEÀgC/ÐÕ  ðñ�×6ÕÀ“u�Ï4ݾ�ø=tY%HÖ¯ÒÍ ©@Ö¯3aN@vŸÔõ7¶doÉîèýÚŸ<«GߨáFúðÖ/$�È—2v3/ø¤ »—Œ +÷G=BTùbKÂDëRø/(üdýŠFqù‘9NÈÀÂýa€gÀÜ?@'�1 +£€,üWîï¸DÒ-€Bø�¡»ÑCÖ_ ½ÿ‰  �ð}…ÿÖ_®dˆ `÷7¿ê0ïðWÂèñ}…ÿ¼püä[ü‹³dýáuæí3S60tŠŠ¦ðb!Gþæ�z�.Ù„7t°äþ`@]@Èz�‚ÅK€d»,>7cjítŽ‚’]–�‡í#`ÇZ>í)òø+"ß§®ŠM ±?°T rø#ÌH�³«µh€9P`zH"€ +~)îo_ÍÒâðXŸ�ßô2øîwžMZ?:{6ìÄø ø»[ÿå9Zxyc¸\P] ¥I€á‡vF‹»âërP`Û�à=qF×¶R̶¶Âüxºí#¤mÊ&»G“%3€±',/” »˜_ @îþT¬]ÅÍ`NuÛêXÙƒ#»ãËôçýÖÕè·F§4e¯Ÿ\ô)—ùcÐ"œzQjÁuK$…Õn¯€ ¨ètèÂëpó‹ &œ�'âþ¡¢x�³X¹‚fˆ–smS*A³xû`´ª¼¥›í†L㧯Có>a§Ÿç7.KÒË2(bϵ|>Ùˆ¹X¹ÑnÚÎ7~““n)TíI Ý«š©°œn°zùÇLcX¦~¤Ç¯Vóêߘ+ݽ¼»ØÔöÅÅ*3ËR¨¼>×a�ênȯʴ}q jíXÜ’]D™íJµfÛ:L¹.”‚F‚�¨b%yÀòÆv3šÒ=¥‘N w÷ØEa”…UKVƃ,ö6K™ö†ñÕ Ñc›§u0RÂå/z%æ‘Sœ<9�tóA4ùÚ«SoL¾òÊDezú”ÄGŸúúØÑ¿=H¶ 󯶗óù¥¨zOWß:»ÊÉ®t]“é­´VÖ·i<Œí—Ð'nž˜»FWiQê¶ }ÆøÁ ýº)M‰(;Ûž^q{F*Њì�h$ܳÁ,8¤ãyTÝrJ]þŸðÇ€,x�ý…Gì)äý Ê(Z‹zöc'²–,‰z‹Š>b ¿Hñ‘±íÅÍ[za$cM6† + Û„�Óx-xúÀ÷ö §þdÜ/ó3ùc•0V޼¤û+TǬç]“‘Š}›¢/zz|ÿó¾}eÇ£“oLH€�O`Ù�‹¯ë�¯ÍÍÿT%ò»Îxñ€†³ÏÖtB.|8þÕ]z%AÏÎÝÕÍÛ{�.øhÑЃ6êß*[™ÝóÇ’ƒøú/8a[Œ&ÄôøS šc_Ï—§Ü0š—†7õ¬¾« Q!è­¶ù�¦õ(`J�ÞÐÐæÂˆÝ|Âz„¢³¶z]uÍ|ù¯)6VÀ•€ÆÆ ÅM‘™Úc=Q<ŠÆãkÀbÿ0Œ‡RÓ‘;»JY ‹GJÌé@!H×]jîÏ̼…ûk6¬¿á“óUÊýUþªhïÌ£¯<õïÑîï¾€ûOÍ\ � +R¼awžs< €s??3óóé3§'u%çôéI—¬ÿÈ_@‡ðÂý)ýe$0ùúQÖ�`€€õKXõž60€´† (?�åþÁ² ²~ÝTˆ;,²8`sNÉ´/$ …E…Á`sÆ|©7)€™€z¸òËzlFò¶bC�‰ˆ^™�$ë×Wð¯ƒ�ÙX «§6FÔB X „Z%Û÷w üÊ|£·¿�ån^éÂ÷]W}òÆ$�¢uÀžo¿ÙbÀ%ðê±Iw„ûKItÞÚ¿â–¾Kªë–’KÖ/é�Ì`@ {shÛÂÈÚŒ.¦ÈýÁ€)diˆmË[#�ÅÛ@ÜÝÏÂ}=Iá?¡: `õ€Èúcxö“@Ooÿ³Ï=�¦g.L¼9íÂú€¹ÿÌ…+À‚ÿÐã,÷!ü”în¨h '%;Xá¿@ $6à¹Î@øÏ±”Ìáx¶{È µ9K?7`ñEp +H€ï+ @IÐV*JfIdZ=€rJd¾’æÁ÷ÅäŽù~Ü;Dìï²À?„ÿV‰€ÿ]€\~1�û£ÃG÷!1 ì�sÿé)Üß09ùýÃ?Ü#Éú5$Q1i¤ýû$pø‡$€ïãþ¾ÏîˆÐ&PzøŸbGØ + Þ¶/6vüwIQìÿ`Áî†_4ÀÞ,õg2Â\F{D:% +K³ˆÛ$HñÉ[“‚z|Wì?F…Ö¢ïJ½€X¸–)ºÊü�Âë§|D `›ÈýÙ&$ë—æ|¬¡¦9ó\u�û'`…ů�„ï{põB–f â@sæ°—TmÝ’`§ˆÀ6i`€ta¬'Ûé(NnÉè_øJŽÎ1Ø#6^ ë’ÀØv„Ò”Œ?Yu¨Uè@N +ß—Ø)`và@òÖšû3OÜÿƒ¥Ô Ôä‹Öó²`K@¸?Sô�IhfY?²«½4& � wö`îøvY–ͦU½x‹ý#54( 2ï_мj½^0 ÛEò5úÔÚƒÈö¾ïš %£�ïüˆP/�Àtw›ÂÀ“w2Ü_AŸ2Tl»,ðý?†Åe‰. ÷w ‹ýí j÷¯ØiáÄþö,°?Œîdáܰ p´}q1�² Há?ÂýQB) TÏ�¬¿æþ ý fý*€P¬df :�� OØ!la€ À“€_ ( uyàP�J<λ;Ôÿc'`Â.¨íŽ8 ¢ @AŠý‡·)ñ Ä~d:¾(9ì“]@¸9±¹y:ˆÝ?ÄÝ¡ó±>Áú‡t!æN\�ãP ]@(ØMäé’Û“èBÉ·ð¯ØÀ Ɖ8Adh9k‚õKÚ´[¶Ìåp… Ààîõ¹±oÓ%0´q0Ýœ.WŠ—Àð¶�wJY?áÿ¯‘(öG0@±?‡ �û«H�?lC‘€U‘ûK +ÿq– ëG›€+g’ïJ â ¥©ÿÍñq/X¹Noʈ#ç æ+H2ÙØÊ픬¤èY6�¯GóC(=áâô²lꆥ ®mBÊäþÖ‡ƒ‰œðZ¾—´f4¥)­­„9#ë—šþu³K—›IsæÎs%OÛ¦–e+6£Ý{Ÿ?pèð‘c“'ߤ¹àõ¡3xfæäéé‰SG_?a:Fÿí¸´gÿÁ¯>³•7 O_øp÷ /ëö„¦é™3gã{΄‹ì$Mᕹ©±ûŽèÁ•{íªQü#ëýÒüœ!Sp%W‘§o´ Í Å‹¸‹-%�Å fëè¨l°¬œ +G,­P³Kо¥P²À¿£³¹TÁƒp{¢4mE æ +;°ó±öœ^»8×ý™åÙf*-ËfØN«´G!?+Üú¹ÆÜM�mL¡:ýeýÉ’éíí‹:nZŒ–Á8 ÷/4¡pò™¨ô—”+”moxâë[ã½7=uâ :óæ„uÍz�™žœzã𫇛G˜ˆemzêɯI‡Ü·w�ëåÿ²ÿð¡’ߨº¾w×£[èË.O÷Þ‘èè)4«ÌÝ”Úpo[鎥hô¡œ]÷·¾õÜÕ¢£�Jí‰êÛl`•«úÀ +WÿHMÚÊÕªC�ˆÝ„¢�~· B îCÉNwU†kÚð@Ñ¡(Hw{�dœˆ4¼¥&ó‘!*\‰†zïmØÒ- mÉ» qB·Éã·Ûí²ûÚ튟“»%]씘Ò?Ô�¨”ÖÛ/’ºWæüd¯0 Ósç¥Ð¾ï†þ¿$8œ:þ£?Þ•jÊ ¬£Ü_U¨¦€LJÞþ!,¢˜æ5dÓ¿gçÛÜ»SF¶­zÈ®ê2… ñH£­O55(ÛnV-9³²Á~…pÎ.0Ò‡ùùøp8ARå` @¥N…†®îàg€q¦€PY +'Ä|_°ïRÀ¥5pÿT³€Jdý¿"VÜ^BøþSÏìAv›Awí7§±~Pd÷A¸ÿ_;Ž’@øþKóŠÀÇ_þÑkÑ¢pžsûóº$6=ÖŸ¹©! Ù½¬_@82‡Š]Ì»j7VÒCäè@™å�¸¦9-Èý#Åhi5ß`€â} Š+ €Ìò ÈL²~*‘û#¹?¨Ö�fÞ™ä`(ù2BH€‘†s7åú×WP¦%C™ÀKžwàûI`ý ÈúǶ€±mùÙhË]¯�KÁýÙ,Tðtv%[›2G ¾�˺£ßÏv¥Ÿ�™‹wµ +²È$$v·�NÜfAhJk­{¼šœÿÿsÐÎÕØ�µIPÝ`G$€õ[ÇZhºüÚ³0À¿Í7.—Y{€.Y¿@ª/€»¿�¿+<ˆx›9©›)îÏV¢„ÃL|Ī#”ï¶cP`UIñõ�Àl:mþ‡ ’@æn„ Ò +7 +%tÓ—Ú÷Æg‰ÙtZˆ€Š»¿Pû¬»Tj¢$@® +ÂuU Ó�bs[¿�Ѭ¹È” û7 ]Š”¨3‡/2ðE!AÉå#fˆa`î/ÕÜ?ÀUŸ\øñ~Ut.;¼dýž +zvÏ^‰è>²~)YÿlDÖ/Åî?9=Mø/P’ŒíÞ§åþ#1àü…÷¤$^8ø¼ÀQA*� üö.%Ç %:ý‹€g4JÜ×pÐò`@g>ãî�TÔò�µ³þSÒ8dý8µ ÷G´'¹¿QÁú%  º*í ’#S%Y?«jø\äþänýâ¢z°~;2%@î_$ö/Ùca$0 ÷Ÿ�¸û;P¸£¹½lëä›(÷‡þ=kûǞ܅öìÛ?sáÃH‰a[þ[9 F5Ǩ1`Ô”\Ž ø—Âkeñ+Ù„×{ÿ�R‹ŒB…&…#; ‰. $Ô$÷GšAy�¿à¥Ú“ÜÑôE€g4)õÿ�XJ\JžÀò›‹þÉ  Ö Dàï ˆw©çGuJ›@ ÷�:‚n1(ÀúI”àþ—€»?Â÷]zÕ€ŠbÿÙ]@À€ûcýÉý“€DàïJ€XÞ%÷gk#6KB) s'ð÷ù ÿ]zW³ø“HÌ�Âúq¨Òú6*æû û�?cÅþ¹[¬ÂÌéæy”` _È|åëUJ4þdµ»p#¢’½)½ºœÅý©ôö·!üØc- +iŒÉ*k2Äþ”€\Ð ƒûS±ž—0» H ÏL2€$òk²”²E%Øt2H@î?®y éÒÚa€÷ W}²ÔÜ?kü Ôܼ ˆ#÷·þbµûS:p€ŽM�Ïü¡ÐˆØÈ”1àrPï?G®-3€y,Üð©õ;. ·!ؽY󢯯O‡ûðØýÔ̈UZ×bº]œeb"er9M¿{#^¿øw˜Ç|œwµX#AC£hѨK«¤ëÒ.PQSCMÉá˜sç5HÅ;+å £;ŸýÆáM°#£ÝŸx}ðÁ‡ï½]E"íý‹ïoýêN=Rø0Á~¬}ß?ì:ðW5ýpÂïöÄl?9)E8Ùý�êæQÌæè›Dæ:aÀòÉ7O£·~>ã ÐÙ`­ÕЃEW9Ü´™Æ´nCÇà¦`ÜÁˆÕ¤t  ±y(ÃÂ;ÕÚY{*O”מJ-j,Þ7HXÎàƒDF¤³Ê®K�Xˆ)„o*‰Üi%o�…;€Ú™½Ðh¢¦Cü>àÝ·7éfŸm�Í™åüû*-ñS_P„À¶–7¢–ÏÍG­í ‘â}wÉþ½)œ %ÊuÚd”ÝùšVö,Éw¥P!ßTº³YÊ.oø£?ÞtáÝiéÜÌtþÝä�«S;!°³Á3ÓÓïLIßÿ¯²7e&_ŸÜó­Ýhç;]_ùòÖô �”öïÛ÷Í]‡þËþ‰¤¬®ÏÿŽhç[÷íݹnm‡TeûÇê]Ó¢Ë_M›JŠÎð£b¥¥gMkå¾NJÄî+”2ÔÊh_Û¨ªÜÍ­(uC#e÷íKÑ@"å YD…ßèÒSDz+TZÓá*Žm¯Rö¬Ã[ïÍ#*¥µ(ШŒ…†÷ÜÑJ98j™ÉJÏÚl©’ÅzÔ“3º-OÙ·>K…UR›¤2º½ÜwÏŠô2»õHö¦¢¬÷(•¡¢„¸�VÉ*ǵ+ãÂÍ´¥TstÿŸH 2ûÔñU, Ï™Û8Q jÄ÷›2K³9«,ʤ—¶R¦–´,ý½üœ9�”{öЧp|Ôp ‹5åò]¬võ�.4¼%:m«ã‹_1Æb"ŽšêvEdß=ü­[ãµóøu¥u9ipÄ>HiT ˜²p8NS†Jôë`—¤4��29}ð�.Wuc +¥DÖG¢iéæ]¯÷ã7sÖ�į˜ƒG»q;Ìèq )ÍôÈý=3b +ó‹ê�Ñr°~¹?$ ãÓ¿¿J•*Ú·�q¿=?ªu`ózOw-ýÀÜ_’õþѱ}ß;ˆïç+UJHðÕ=ßÅÓ÷þ—Chן½äÚó½ƒûþ%pøµã²þÉ©SDú‡þf÷§vîÞóüù>Yÿ«'Ž#{ìeÌ€÷â«OYÃç¾³+ÓÞ àûÑ“[6tÈ÷£’†Dß×ðÍ$¨Èʃm”Í6³k×ù3bp9†7[ãÐAEßWw +­9 5u©é¨%û=D¥¸&Tê¡�ŠX@kû"ÜŸRäï’ú" t™4ß—òù¥ø> ¡,ô,qP¹ÈP 1¼;8ªÊÛ. |¿´z¢òŸ=' ¬úÍI@vy#îO‰ïçXóv«tv^�pÿ̲Æümö¼°ìòTy]kïú,„�oÌ1¸nÅõîþì |ŸÆ üŒ]ã��¢ê=%4þt †»÷h¯I#£ë\Õ�¢«§”“.¹?•l{MìJ¹ÂýÖ�ø-¦®´dý`aý.{XBh�H@TÊëi‡ö„ Pìm“ÖïôJ7YTŽ,@ÅÝ¿¸f¹=‚FÐw÷9z+£sÿ?èÁ÷C¨ŽóÊ Í©±rÜS dw`µ¸¿�_Ý‚ûߘ] PGwÆ­_b�ðeÚq¦À»<“ƒË8Òt½ÅD¦0�Ь¿{¥=OÀú‹wu±ñ:~ù8âÈ•hN€~ÅEÀ£k^ïÏÅýtÔ c Înž,ž�‹H4Olüþ,Ì»ê·æÌ™S€¾JíÛ`ïþ¼$ëŸ »GWpá¿gS§ßr� á»°~0€ðý�{˜ûÿ_/GÖÿW�NÊúÍýOLaý’€pv ëWpøØ„$œþ‡3¯àÿ¦;°~B{Zƒ0ü»ÜL_XÖï*†ÛE(%ÈOI’Àý%ˆõ+‡åÒÐR@€*õÞÒ”ggIÐnÔ†Iá¿@ì�MذÔN{<ºÀÝÏ*üdúrÕ±øÜ-)ÿ%]dko%@ì�’X±bq”ØÖ§…|Èý©ÈúGAÄþu�. ÔÛÛ")P@‰ï³7)€Nˆ€ï' ew(ög'R)æPà}Nø>€Êî[›Ùk”•j¾¿rµ•;ŸÛ>,B{×ÈÖ¡ñ'Ç%âúšóx€dýIDˆ€´òÞäÊ$²™c.ß‚” ÆkñýÑíUÜý1Pš¨@‹Åd wE(–k#‚*w�Êý‘»¿Ð´ty¶+O߯€€ïãþ`@�û£à¶þ›Bì� cÖ²NJŽˆšûã¹÷ç±~@…™q~fXëü¡4ÄWÕ‘È÷ãÅÚÇq@î�È�L\!—ðàá?rP)®Í:ؕι +ã|ý îþæàñ׋� +~Üïu`åHÓµþ¥ÄúÓ˲M¿ËN½(À÷ñtÊù _µ`þÇ?ñ›Ñ#çÌÁýa@zyîÞ‘Mèð�'�;~�.t¾/Ø ßƒû þzF1wÀ¬?î2ë’õK²~DE¶.þ+ ø¾ÜŸ<à +�û X¿º€Ì¯ý?~…ÿÆ ÐmR�:’P3Åúµ«æ?Hœ’§”û+Ðá¤CKÖ�Jk[s_\âPçe²YãÖ?úx‘ß·»ü‡. Üë–Þh×ýJ¸6Ö/ ”&ïñ¥3÷‡²~ÏŠ«²êüÑI`„õ«"÷¯dëY¿^¸ÿ/ƒÞ�¯ç ’ (Æú£î‘„°~šº €²º>Ÿ€Ü? S€ ÷·þŸÍ9|_G5ò. {„ÒÛb +,ð|TPÿO8,¬?Ó’¨(ü§‚§+ü§¢À÷WeÃH�R]@Äþ”(ß“Åú)�AîOeð<¨0öDÕ*£yiì‰ò†óh,\38ºÍž…‹È0;)35=M‰¦ß™>û‹™s¿¼ ñ®Äëk_T½œ~v—ƒ¿÷îŽR¿�ÿAvÌãøáàgß«P*~§D¥5Y3¦5ÙŽ/@ÜTÿ½+ØßÖæF{\Õ�+\´ƒxáV µ­ [_-*õg³7¥7oë“hˆæB[±öŸ7Öi+ 6uç‹éÜŠ*V2Å’…<”­mKúô¯–¶¨3Ç¿ãSÊ”`ôRG—™¾|ßúÂ9ƒövš¿-m÷½9U\•)Rˆ‰ÅU©Ò�þKzzš‚–”×d(³í _æ1NËÅ'~­}ß§ÔÍ>ÏéaÒèC£[·Œ¸FîDÅUyT¹3ÒÁý{^~a/:úƒ&�VÓîÝ_}¨ºë™Q2€ÞÞVT]×Ò×»”²¸*].eк>²�lÿ@Ǻõ픦 z\0eß=UöÅfbÉŽÞ�\ÅžaòD Ë m¸A(LÎ,KUî±òå�DÅv�®ÌÒ�zâ“®*U!Œ¨„<’вÉñ£V©dG±ž÷þá®Ê†ŽÜ*ËN¬Ò•ªŽ¬(®i¡Â·óÒTˆ<ò=ö:*Õá.”i!„Ç�òéå�”Ýwܘë²G•©[ß*·Ø­ëB%ÃOCTÆw KÙå™rm¼¿lÉõ°BÕÕð¢‘31x²]6hÇå—ï" éYú{Ù¦MHÚ²ô³­ÑµZMY—§…’�­Újwg³˜)ÜÃGWð²é´=ùÉìl4v–Õ‚ª»;Puƒ�âm¸f.%k«Ô‡Š6¾nÅhK‹oý}ï–š´gYšÝ¦)q²×~ìÖÛ#?òå „Åñ'Ç6?V­ åídþ¦R®+;¶£Z*¯Èù}\¶7?¶ÚP½%_6z$mXÄV�c±< ’ÐØ|�Ï wqþ×P¹»ºÿÀ�§wKgb‘¬_zëìŒëôÛg±ZJ€`7í�¥î�¦Î¼…"üâ:óöY¤Cüð��!|ßàîïøÁ±cHÖŸš¶{€™û 'O�A¸ùËG&IÖ�fÎG¾Ÿ´~‰×‘¿}Y�ûWÂÍÔP$|¿tOtyZžÌŠß9b™.¨Òuk‹@™_Ù‚tb�`ÄÀBha^ªÂbñ}0ödy6é/0›Z¿)Œ^à] ¬ ,ßG ó–æ|)�õK‘û(Àýêñ¿Hñ0Ðàõz[uß’’ê ÷¿Þ³AXæþñý=íé`%�¿%‡õS"Y¿ ÓœìÝ% ¬ÿ’Àý]X¿= ½¿Õ¬?zJ¸·+e/Æ—c×[¤)�ð™õ„®?»ó­IH0ß·ùuqÌxßkªãþX�0P½´Àè¶~|¶ƒ|_A¸?ŠâÊ‘N9 ½[ŸR¼/ øøQP\cvO‰ªtâþvãÛ:{î\^¹ÇðV¯îÄú‡7öÖoâ·Èý‘ÜÊ‚{ëádæQ̯Υo\~I`ýÙöPùÝ–ìMT.³~ýÞûÍýaÌZ:*5�Rápt¬T(öOÀzb9�ãÛ¾j±Á÷s€n¬m @¼ø€a)0€÷— �€Šßóƒ$°ªZmJß°îþ1Ìý¯ wX‹€ïcÜÊlžøÑ¸uð{*¸û—Ö‘ÓUöüé~DßGæ~èî�޾~Ò…·¢:˜Þ™‘ ?¯IÖÿÊOO!�¤´Ü?™ | ºÁƒ ëŸ8qÍá2@raÀ3%X¿D÷' PÀ¿’^r]á% å) @Šý‘áèU”ûÓæ˜.XøCÔ¯Š � d–§ìà °†2Sø÷Çú#Ur;Ÿ­ÒÌ:f€—Ç÷€d`Ïqìø”OG€»¿“@fÐPÃ@ÿ)$”ø~þ–eÔÑ¿"xçJf»ÿÓ³øþä± ´÷[»÷}gúÚ_¡Ä÷qÿ¯ýÁ–$¨àûWÈ|ŸØ X€;�(ö·ñ]äÁú•¸ûSqP:¾ïð{Y»?ö¡=«½œÜãr€µ¥û±×’ RˆÕé²fËÝ? ”œßwÉâ#mì…ÿfÛÓùÛ[¨àMnýˆŠm„j�¤5ê  |Ô 5W£Â^9T¢›¸Y%>X˜Ç|?$Tø—ƒQ£]/Ü? +ÿCàï’õ ¶@ÝŸ„»„ƈvº ‘ÈýÉÐlpl"¬ßº€X[ûŠ�¸¥W€1ˆá;žW]=ŸˆÞ‡á›>6tVWÛýí}H"}0¾ ï£re\BñÕ[0@wÝ‘dýq—ýDrÿ:þÏ|ø!%À÷I„�É7§îO9•�¬‘œ~™Xެ|ÏwXÿÄkÇ‘»¼„ïO¿3-9ôR/�õüĽ@VÞmyàÀýó• y€½È²õþCJuÙÌ¡ÿGÚṵ̀4<Ú<P#FªÐvõ¯º€2€$îof¾�ùÈ1©ðÿ’]@Äþõ¸ÉÜß� ÷öQîO] ÀI•À=@]@„ï ÿ+i…ÿ—€¿ð}Wø×úGþú¥bë—€‡ÿ€0wáþ³3€á�,µþHÀò€Ä�á°~Æ€Ð×,°yÕ”Ìh!IÈ¶Ô ä®a©@ ínßwÊz;�2‰À_îOEË”> +Üý?"þ#«lì•fwaO2}‘@b +¢íÑg@*äs·v¥oì@uPÀ÷Kýä¾]£Û/ú,öê½@îþö¥‰Íˆ�ºŸòà’@î;+cŸ�‡bËúY2%~ìþ9…ÿ’ý«ûBoîÆ÷ù"eý÷çÂZYéîŸì¢¬ë(YˆO×fÔöœsÕo/ŒÜ¿)½øw®w%Gã$»q’÷ÒÉÜ”G›ÆÆ_xù8AÌ.ksûìÝå«÷�îÙÿÒøÓ{}•›|ùÇǤƒGMMPþýé iòïßv%M_;ÃÄOükxåÄÉÓï¼…l¶³g-ä;wÎ-xæ\dÜÃ�=ûܾßÿðÐ+Ç(Oý?o�ýÅy±¼¢ºŸT¨»˜K¿T¯gŸÛ‹Ô…M +¯ä j;í +žý{û*¥þ¡<âà§,Û1i­Á*ßÂEM'qGÏ r7elhö޲uY†‡|™Y„oÑòÔ +å&f(±õ#këqPÿ@çÖí½#\û“bxóÖ2¥š‹Úºš¾Ž�¨™nê.„+�»í2àLKcËg— üªLÇ›­ìJK­75!�fh'ºÇ胺òM�‹¥l{ª£ÓDEHˆ³ëAîÎ/-ô´äóKr7¥(WßѬ @I€ŸÎå|ýß=RÛæÿxþÂ/ÏY©Š×ãf~qVmêä‰c¯þøÈáCJ«òè‰c2ú¯<6’nNåÚ3ÿáÉǤ½{ÆÑáCû^øÏ»žøãá™™IÊr%;Îá—KUïÉ™ )XBôƒm̦s�À/ý£ y@¸9hð…Šì#�ÀÍ×KºsEÛðæb¦%Ó[éÖ-'Õ6ØA¾�¬ÁÄQžö8â]ë²à-J Y �„ìÂSj·«Œö¯®?²æ_AbC¢51ƒÞÈÒì6v¬žÀÃt¯kµ51ù/% ­Ëc!½•ŽLKZ%?¡¸.ú-¼Å j·~K 4¼åvdžheíáéþ¥”£Ûò#[Y‚‰ãBÊ´�7nZA‰lƒ®ÃÚºøãUÕQƒØtLÔ/²í0<¶Å¾Ôà•/ßcä*öu{Û3Ÿ] ¨ �Ú)wD¥†± +lúuño,×ÎÕºëXÓ~dGØ Ñ°V’í¸ ŽJ»{Èî¹Í±ßû¥<Ö?þôðÈ#Öƒç}¼¼i¬äLÝ:fc:¨ÀËþ�Ö¿DåW@iM¥çŽÞçþô»È]^ò—uÝÄÝ5¯œ ¬ŽðÕ§Ÿu —޾ê8|ì8Æ€p NLÏ€Ùzˆë‘aàÌY1áþIhfä¸ð�ð}„`€¬ÙÉäXç~ùžJU’÷óy?ñÒ�=óó™G'”_~Yoñr£1×îÛû¾�æQŽŒ–åþ*ö· ¨¸~¹¬?��„ +òk’ðƒœ·p`x4Ÿ€šo܈kçp¬ Ô€ W�†Hóû§”‰ bÀòÏ/Æ÷Ó7ØÅJVi&¨�ÐÖµDî/ R#�ù~#r÷¯�uˆø>î/耒¬?™G:»¼á" Ùý»3æþÉ)A€Ü_R‹K«»îOéîŸÀ®'G1ôK Ò—‘z{#àþdÖõÜ `ýŠú©àþÓ§Äý9D¬i§ë1p¾/PêfÑÀu =YcŠ=B ]ˆF©¦¯�Ëýë*@ËçReJû›û‡ ñA€¤Ø? Ü¿XÊ–+¬Q)WÒ: HõP¼¯ØßÃÿË Üü'ºÍ'±¿DPbpÿ$R×ÎM@Iî�'�±þ( 7üÐ=?tØ#%ÊŒñ‚FôøQ ”IxÛ@¾OmyøoA½íµh:s† Þ*#¸|¸:$dÞÝ¡qÆaºþêl4„fC€Ì:¢gð³H=&ŽšU±ùƒyñ–Ät™»Ä’qÿÎ-€¼ÑÚlø>™hÈ´¡”(�Ê}#¾ïx"ªË¬s=‡‰@×ꉚT” -ÙÛ?•°ËL€( H;v`ýb?ëwÈú%�´LɫÙ�€Øò¨¡ Èn=þdÕ ðp ä{¥Í¡®N3iŽŸ¹]«Jhxû8ÚÿçQ=¯:O¼¤dýÇ~:…ð} ªAû¿ Ê”tIàþ:õŠïKv.a–õë%àþ0ÀlSò¥«@¥x…€bɧ×é’ˆ¶KüÂúín£=%0úÈ£Rfy6Ù]æî_2€bÿˆë—ëþ-´E?0�b=-@Õë2€p x­¹jĔ̩‘ú.Ù¤v¶Ú±~ê¨ï¾.¬ß»€p€»?"ð$ÀÃÿ\!€’€üªz˜ûß’ò Àú‚ûgdýI�Ô€À?©‹€ûŸ9s +÷Ÿ ¤. õÍÀ•3|_á? üC`I@ æw÷W ð_¾¯†aoF7Зµ É. ÊdPÒ¤dg¸˜Y˜nÙw4'‰�„ð÷Wà ˆbÿÐd•� Åþæþ|SÓÌ~QèùŒÚ¿§›º°~Døeû›ój"ÀoTøÏþ5ÄWY:®,òE¾=±þ¡MVÚ�º€„ ôÿXP- x8J(uvðȯ©nÿã§_úÁùÙìWì’(iˆ‘½^¸ðÖÏgd÷Ͻô2zö…ïKOì;°ë?¿ˆ¾>U~|ç×¾ù6gÞ¼†«æ_½ šj²»*™5úCuæ}bn÷í-Õ ùHalê4wÐ`2¿ˆb µNiü骮Z¢R} :?L…æ%}å‰~Úz©lg‰ 70Ö¶T_xôñÞÜ-•ùU9š­ð?@ÇÙA:Ž«÷w÷ ´uß¾¤­³ Y%—æ÷€¥¿—J55Èñ[Ûq|;‘ÛuÛÒŽ››ºn["ußÞ¬á%<!s+š¥Âª¶Ž/,Í,KQæÚÓhu1›_‘é¹½I²^ p38”moØùäh|¾úôô)¤kGx…Ó¿Aöd˜0tzúäÔqôê+GÀ�ý{¾ø<¢ràùç¤}ßÜuà›;kâ­ý{Žù>åSO}åÃ÷/”+y*{ž…dår«iMfÝÚ•ë¬N°Á†ÿKaŸÚ^6 Ë‹ŒÞžÝ@.�¶+-Z¬nìtagå{r6lf›Ý„§pW –§§¿×´ŽÏ!Y¬pŸ &¡\_ý§ mo†“Ì61D¦’ö2²õ T}àf*ýxåhQ‘%Iö-É`9 L}ôÈJy¬‡ J†»s]™±Ç«™öÆê0ñ&;¡%»´­ÿ4Y$?'%¿4_§ÕÐ×ùÊo+ÚÈ¢U­”�×6€®?—BrmSž‡û4 ŽÀ?}Ü4òðJV{$ðo8¯-}¿÷þ®�‘®ÞõùRUòÍ766,˜Û}kft»= Q)­ë@ìÛììü}%ª>`½@aóÚmáÚ¤ ƒö¿ Å‘Â:tæÓ¨T±xŒ=Y¦¬ „œ)häÑ"zôq{dX€pQ[Ò·çœø˜0Ež÷!.�ÑÖ^çi’™Îîâ÷‰¯íýs4úôž±Ýû°~©oLãþH±?î�Ý ˆŠ¬ßÜÿ¬¹ÿ¹_ž—°~¹?ëÉŠ>ÿÒÁþM£ßO·d)€Ô²ìþÿë%›ÅÝÿýšû “'NQ€g¿±�ŠÊ¤’¯‹ÞºðásºõôVüÄ Â÷]�ŸnÑZ –�†Ì†‹«)/@óï-vDc3°r¬a”Of� ŒbŸÐ\¢Êᇋu ¼Øåê[ľ5¶G×4bý•�ÎÙàÈ „°. ?¶CË‹`#ìJàX¿ ð}aôÁë—"ÞEÿ#XÐmKdýê ’õ *åJΠ3Àå5i¤[�"À«¯Ú¨ Â@È!…¹ÿl`ý‡½$|ÿ/ö;ð} :üÀú%R +�5š €þu­X?eu}ß7ë'üGÁúÙìå°s©ô†»³Uƒ?Ú]¡üP”î˜ü+ëgwùŠ{r€ÈúƒtH«dwÓB¶ÅîÃý# Ù"+QÛ'�Í�ÃCH|wËú¬?œ94ØB šS敜‚pÉ‚ô3–Ï�²æ3ë×Õ¿H€Õ†ü@J~¾Ö�ŸÆg—PÑDd$ˆiÄ¿¾Ô˃�HH€�³+~µÛõ„Å +$(0@�ûSÚæâù®¶ÿG@´ÍñÐð–ÕÐdÉöíÁúû7òuµgÿ^¾ï(®ÉÒHØ ”ø>Ж×UÁ[·—œ*/€.®2÷�pžÃefæ­_œwœ�opï£bÿ$Ä’€Kf`@ÖéïOOMO‹²~uì¸û²éÂ¾ßØœˆýI”J´¶l%m8xÒ� oó“ò×þï½°ç¹½([ÍýDƒ«™öœ@ì�Qø�þ€O׬ÌK¨`ýŠgg4MËî.®^k—õ ®$:nN×ej‚ +Ö�v}sTª=iˆh+yhi ¬eìÇibJ¤Ø_àHs¹õ“$€ï“èô½C*¯Ïcýʰþ:”îXòÑÚ²a@]@ʦß14qô0€ ß—x÷ÔŸD¸¿g”@þ`ý”F‚mùÐÅ@ÖMOÜÖÝßÊØýö²í¹ry]1 >`{*–3ó„%gÑgã"ë 0¿Þd«Dß— ž”¦ð£$…ÿÚT´n–Äß+ùš`ý³`•ûóvÚ¶¯Cð[5¹?bmÚV¶Vº)Ep0H®€Ê=kY¿’ üc°¶l1ý|_`µÇv”g ·’íý’ÝJD¥±IåþH±¿€ïëž.[’­Jå#`ê“0 kÆý)u):yúŒ÷ÿÀÜëßwè0Âú¥dPÜßåî�ê€#' $€ð_¥»?¯™wÏ£iÖþÝóÞµ;À8°~DÅà½@?xurç7÷U†�®e‹Î‰‡×å0o^ƒúÀ¾Ÿ@�š9`À€€÷Éú€Ü ˜Âõ0À0Ÿ¡2 0nÏ†Ž„ïKûö�áþIwˆîi%…†RëÚ¼¥"÷§"ë—Ônh£áÀæã¶uI–Ä]@¡u!õÿàþžß§b'�%Åþ0áûÅRQ¥î©<ß' p¨ÿÇ’€àþu@?>ŒŽŸx ¸?¥ b€ „S±‚õKËþúeÀØ#¥d`Ö’Ü?êÿIdˆ�ë ˆ¶j Éî€oR*fw9°f%VE;1±¨Y²wã>¤wiöodý–Y²2rOJ|1Q€d ˆ–Ò<+&A²�àû„ÿú��ösÌLƒû+ PPdaw)ö—œm-“O™ïoŠÍ¿4)[ŸKuQÁ÷‘PQìÏÏ2ë/o°RÖ/é²�PÙìaú÷W/º`ƒ2JuYøÏwmYí'�µ¶Ú’¬3‚D²þ\!M‰ïgZìÊÿÎvÊ�UíÌÛ5€¥JJfÖïÐ&(j!a{ÎQwé©p¿„·fιùj <:ù³écSo ´®¼EoýÜ¢§·~öì/ÎQÿÙé£?9~ðÇhß÷¿<ñš4ñÚ14óîÌø“»F·�³ä#?>†&^Ÿ<ù³S’»?ÒúHgß=wîÂy):ýNÀú«#¹.�itÛ:öß&Ÿû?÷=õíç“ÏGÜýg~nc=u�­ËÙxáÝ0ÉÇõ‚‡^9VgýRßý³ý½}©6§¡AÖ�ß×:xwtTwíØ»/Âýíñj×Û# "ØS‘#,º¶INä@²þË@2ß°hp0à3­�ˆèƒRã¤ü]-è¼5ÝžýH¡ È€â—tÜ¿¡¼m‰Î� äþÀÊøÙ�÷—‘~zTî�pù5°Ü6~< œúÙ:ù“cfô?9vjê8�tü'“²þSyÛÜùôÖïØõ̘ß÷‡¸? Ás¬Ÿô+ÎÀØ€@Ѻ‚ñh�~3eýìô:àþö ÖaÀÌÝâ}JòþUO Â=þÅ„Maä›Áã¢KmñV<7Ø´‰� ýkΈ݇RR{àS¬‰>KÐêC�1€…0§è {óÃ…$ð}²(@ߨ¯Àý¥u£[% 6¸¿ËH(M€ ”êëH€Re0Àz�‚ôs�,Ò|K~Ëc«g€¶‰$Wê/ÈÝ’X% «ûF|_  ¢Þ€€@ɾE×Êäo' ˆ„õ?úoúÑ–ÇJÃ[¬»aý.`Ó¶•ÖÆâßÈ”9rIFŒSºû'`3„ëo ÿ“îO Dò£Äz`"í;ð‚2é­³g]3çÉÌ#].fîÏayxE–?ëUçûh÷Þ}¨çÎ^4wÞ<äµ™�õÏ€¬?) !<Yq=îÏÒ””¨ñ²Î8 ”I(·ˆð =Ø£ €RGH”’' „XgVy(Oì�ûSé»§ƒ]K‰v~s÷W�ii( «3H� ß—Ì+ÜÞF�Y–B|JÊ…û ‹–ÄWèPø;ü€–Ï6§š±~iyn±KQ?¥>B=þ,iD€¨#($ÊX©t#%¾òvgˆ&…ÿ€ÄþO¼Ý>±õ[ 9#Lw9�¬_9j¢a^6Àú‹%cÐ 1 r¬S7á?Öv·ÝÃGîo'ÖO*rÉ`޳­èȯÊxàþ%ëÇ© ìÞ ÷§‘ˆ¨ÙÜ-¸äã±Ñ˯©Sj¢¦ó/oé]Jwdûlâ”QrÍú¬<]ë£>ôðŠñgìÁ÷Ê +w,M€ïBø>sªŒÖPß:m”ø½€(üÇ£ƒõÀŽ/6;H’ð“ú:¹?Âú夯€V OqP°s…ŒJŽ~¾_ÝßW0¾cëW€p‰$@í_bå%’€èh ¨å%V÷ ëÓ·þAIá?¥Üy _:gò�i€‡ÿfÁ‰ ëWøïPPðýè"[Y?áÿå@à]@”½§–�NM¿­%(°¹Þg{E~?ëE€žúöóÕmã…RŸ?9RÖÿ¿Åì’À3€¨(tÕ�H� ¤2wÉGD•G¶öH +ÿËá2ž º ÙäÊ$Tî¯Ò . ›Ký?Þ¤ã9™¨ ëW Ø©ç‡Ø?ÓÞBo�¹?Ö/('P�@ø�ûK„ï‹”I0E øˆPøOƒ ˆ€¦ß4Ôe¿°~¼ (Êpœ=ôÿàþ’€<Àú—m†naÈÁƳ»€Ì˜±³ŒüKRì/ à¶Ø=F--Îd—‘iÆÃ‹ƒ±š³#·lÿjоEý³(¶~5›Z[¿ÍO%™$»€˜�ЧÔÿØ&ö“ã^ ¿Q îEè XÉ)üŸ�”ÖÚÈ}uQñ$`$øÀ¦VìÏ9ówe_‘íJéI>¸9 p¨ ÕÀ®§ÙVÝ+—"Â%H±¿üßwÉú•(ü—X�: žPþËý‘ ÉýùQ1`Ž5ê »ƒqpj�w%®G§Îœ�´Ëqíq('ÏœA§ÿá­É7¦(‘»ÿÌ/púÄëÝ™óΫÔhtø‡‡¿ñ�ý¯§ÄÂßûà½þ爊ì[/€äòãØåD7Ž¿öÿù=¾gmÓ¿n¾êšF¿ðjÎÇæ~|Þo^uÍ|„Û*èF~/ë«®ž?Ñbæ¤Dîø_ÖG"›^´H²wuv÷ÓM‹gɢ뚤…„óá`ÀÕ¿Ýhì�h©”=ïŒOQ‰nÏßg5b�,¼váÜߘÛÚÞZ\S,ÜÑ"™)ß”vut/EºÙç’ßmt)n’¢~Ñ<Êܪ *ö·Ù‘iH¢HP-iËöÕÛ¿Ö÷µ?©¢]ßÞ÷½ñ]ßÜ:þä´ë™±íØÿµÿߥ›Aê.ty‹,®Ét®lBÅ +?ÜQ›ù½f=¬jiËü¶›®CvqÙªtî–%RÇŠ&dÀXѤqŸ¹BTú¿]=K:òQŠ�_µ¤¸†�[ZPèY"áûy|0<ž²ë¶Å"fojØùô¨?&ºþKJ@íõáû3”h×ÓÕ/e¥¾µ­Ãr”¨ÿžv4x6ÝÉU·U@ºÈ–ŠönhÎ.–*é! ¢'ö Bokï=m¨såÒámyüÂvt˜�…ÔÌ=çGi=!øãVøîbq$ =Ð=²¥ RN—Ñþ ŸeÅXšI†«yhfŽÃ¡<>y@{Ó©Ñâq;Ÿ Zì->¢)ú]Gd?y´ÐÓ›EjçChÉ”¦‹"ú¼"Ó¦þD5rÿÌú}9žzš‚õK¬d‚ÑsW¨”Ö¶E3`ýI´ü~8 ¬_Ï=¸¼€ï �ßß¹{”i;(�·6£ ‰õ²TîV» .Ь_úýë$Ðo^ +i-³gè°µÌþ!¶R$ýj}ãPH§¥Ü?b@lãO”T8 +°þ”ë§ P�vË7�ÀÝ_›�0( þuC¯WxaþQeŽÿä¸@ H`@Ñ+ õà£B©¯gMŇ`Êú%¾�Åþnîƒyd»À\8d0Àúñ,´ñšÁ¦›G ¸v±9xSÊ2@ÊÂ’å|‘$€liJšÌúQª9ƒlÂÂ)€@ XÒ�¡Ûêª)H¾ã‘ïH¤–dÝ8ýŠ®:H€X‘ûC‚(ößVTà’€‰¾œ¾»—;Zs‹=þbÜ·¢Dë�0 ëgŠ2D–-X�Ö/÷§4¬Šp9þá$`ýÒÌô” àû‡�î“dýèð÷MüpŸ3@î¯$ÀÝÿ/^úÖ±c‡�>RtK…ÿ0ß/W²ÊÜñ¯àѹëàp»0ìkwÿlWZá¿à� h IÉñ}•ÈLg» :D6–‘˜�vwà³Ù»Á»í2.v4á?ëãîon»>kÖoñF'�ÕÞ<`~e”ÌO‹ÒOã]­ @ø¾2Ê$¢5 ì‘ûGc6åG+ Zø5F(á] è™Jð}—»¿•!ü—ÔQƒÈÜý)qb©Ôßæ �_܃hÃHQrPZŸ�Y©@?Ê6ר1@ð.)Ê‘G{´ß•€ex¢Š”àþl a æ&Û l7œa[ߘs÷GH>",öp÷Ÿ ïºäëèñS»¿s``ëX¦+��øµøWáBóåõî¶’¬ÍûDƒ¬ $`•x~›3Ø70|:<"-`@î/`ýêмyó rÊ�ÊôTdø~ÿð +Éoªþk ÚÓ1ª~Û–¸a�oA5ÐΤ]ÏŒìËô½ HSl5¹>@à/Ø9†ßkö. Ô óäþ”X•  @�°{uþˆÈ* ån‰@Å|¿Bâœ1”¢þ$ dÐ%3iæÝ Ô Ùä@Ô±©W ï’]@ŠýŬŸð_ÏÆî]Ê(‹ë³nÖ”v|Ø…Ea/+pPz 2ív+PåÀ™l³~ g7lj ‘ȬcÅ D¸˜Kî�eâk`Š€h9Šô)“Ëô‰”öKi“Áâñ}Z¸€ïó£"Ä}úÆ€Í!MÑ8´`ýã;†Á€SŠUÕïE´¹v¹Up¬ŸEÕuáû+òm„ÿ¡Œ\^Fow²úb3 ð‰�€Ø¿ÖÖ\Aêüq¸þI bU²­-ÉýɾÏü€€Šž(P0&„ØŸ‰@²eÇ`å)çXçJüzÏŸ¨þAíŠÙ³¿8ï'~gÞ­Y÷…Œº}¨Súüèr¯G¾üe>é‚iï¾ý¨¼y4›/4^·dÎÇæâïW-X(¹ËãÑ ¯K¡ùŸ2ÉÁÍF4ênÓ²Êôg³L¤Ì¯æS©t-Ð3ËÔ³ˆ¨¿ÉÎ߆²áš†ì-ÅÅK– ûw_±dþ§š>ù/?%…Gâ\»…s¹$–Èúù:*ó?Ý„l=?ݤ¿Ì\=NÇ÷ûkµ/Ò"…Æ�ÿÆÇ)}HjÖ”vÆD¥ùÆÍÂŽ@]Õ]Ü1b�ƒð�?9üèVF¡UE©âðÃ=¦0³.ôñÞí;*ÈšÅXïØH[[½aKžéx¦dì±¢½A,GO+Ë—27Ûp©X"κ>×Õ‚ÒË[²©Ž/BÃTÛMM­íöÔxJÝâ�2ÛÞØzS +ñ/¥Ù}.2}–©3ÃT44HË/ÜÑlß²&ƒÜôQ¡)ÓÞ°gï8-íÔ›ÇÑÔèÌôqu"êz@�9=I0ñʹ?•é7&ÏþÃÔ¹sÓèìÏÏHçH ÓÈ΄ӿºà»S¨º¾xäûû:ÒÍó(›�¨Ÿ²(Üå?ûƒ»*vƒ³\o8Ó$ÏÂ(ý„m%ƒ”½áÞpê ²a 1õKëÛ ·†K�ÈÆ¡û_†Êàƒ5U;�9×ÅD2È`G£*ŒÙVìYQÓp®pG†uÞ¶”õ¡Ä¦1¾îUU’˼œhŸ®jxdy¤�Žd–§ó«³;ŸÞº­Ü?�§ä§ÕÒ&Ûës=wt‚ÞÁá^*d ݷ߈¨tt7Ûýv*RáëŠå¶ÜÍKíÐÕ¸ Á• ÷P‘tJ¶XîB½_Ê lŒ¶Æ°­F¹:Òƒl/Äpeù¬ Z7®Íd uéQN¬$;‹®£j¸¯jß}]Ru0#•Y­=5òÈjDà…ųktÞ)ëR·[8õbu*ÆÂÀEJB1‰°ŒŸºoo¥’_e·Ú¼­ˆ´|}ißæGVs#¾Ž‰,œÊœÈûÃëƒÿùš €äØ¿­æŒ]Ti¯@�� +W)1 _cð%|aÓ’ô² ZØÔ„ÔG�ï‡�7àª`ý«z•ì­EÜŸ²q . …×.I5¥€æÖ6*Q7N³9"ë 0÷w…PÿOäòÌóé&~Žuò\·„Š}£z�,ÿ=Kúl¤€«®‚ù•v—G€ Dîÿ€Ýº÷×ÉÞ­ÝÜãbÈý)·„§@Hîþ̯p ÐhÆŸ•ûC‚ñÇËe]dGÓÖCŠƒÊ—ú—;ÒËð}ûkT ð}¹G×b|Ÿ£·‘±û[…< 3€ -n�àR𣯽s(iÐÇ;2Ô3~\Å -ä^Áô)‰òí} )a°[ÒÔX&ࣰ³2èc7µ2)ÁÌ,€é1.û¸‘Š #gPŸÇÒZo±T7·±ÑÐr¨ãDVŠXg vY.ɲÛuYÖ†ˆR9Q�'öDR7ÌóÆ JúMÃï\ßX“ÈBªžœe±' �ÒtÓ}Щ] V–QÒÝí�iK­V�VËÓŠ±»•êEûE8Ì!�!ÀhwŠU’�¾#ô²JÅQaîÞl6œ.›ú¸îŠÊ¡òzóVÉÐ¥c(Ò1!TÄJµ¨+µD‚ÃAR‘ÅÖã^”)€‘0 ‹k6>üºu7ñ$Iµ?ÀcØ»î°>/ΙȾ“ôâ‚sй‹"¾râ´}÷–Uqê§™°ô™¹êŸ  ¹'Ͻü»¿Ï~éÙKüºK ´Z©DWTs¨”÷�ç©”bi²Õâv¬!é.ü+ä*@Aîó�nTâpÍÝ´­c³dà§I)Ø€‹Þõ È�üƯ˜$öÁü‘eÃ&d‰c6p/¤&@&ýù —J4” -’F°¬Aè‹\£ -ŒnOÔ€©©Õq¼' ò4*&q!]�€²+šrß…½Tp9I �[ÑN‚½Ž§� a‚I%f‰¨W8‚OÈí3‰éŸýÖüöfU’HpÁÕÆxä,( ¢¿–YýxÝßñýžÏ×üëÈ ƒ Ø÷ïœK×¹/›†1}´²ôøêa«iW�Õ{¹¸M>òÃÅiŽïWËå¦Mˆ úÐÄ&ðœÁ0g@cãºÀœ=×¼ëgö–Ä -÷}Ò_ŒÐÚ¤œ¯££M°yÌWH+ã0žgíT%¼3üT -‡ìËA`u¢[¢*ø,ôîÆ\$QÑ65î€Ò+dT`up²d=Ê]N€$5ˆt$ýJÄÐC"ªâI‰Ô‰K….±Hêy@”SO™ÿxiÉI‚€ÒŠ b„ IÂeE¸^(�o„L œ -Ky‘ƒZ�m»d¯ïpÚÜ)­ÉC·•ñ_o¾³¿ -Üñ\Ë884Ÿ/²2S¸0ûÁ�(ïÞ7fOî�ý~Ô0Òßj·‡¥˜õ“&w¸.û÷r$Õ¢‚<¼ì�nÇ—Õ4ñ �„b™ºC•£v§ÛâÜÜÃ?šÍÿââ'/ -º¡ïÝbó_ <ÖHöÀ{à°²Ïe†QX`ûg‘"<«ž/�tŠÁ—wŒ‰2lp�|'…¹Ã äšBmR»ü­s�%SèæZ¤?WI²ž : -%«§ÎÜYÀÍDv³ ݧŸæÒìÐùƒÑqƒ˜i!U¬0Dû¾½üÎJ^œ9·hYCyŠ cñ€ƒu‰*�P*z¾¢Ÿu€ŠL˜–‰ y*˜Ëîus#lÝJðN«'®}—êètlA -¤¿û 4qç“e]S0D“Š9,#}BÁîP=ÎÐ�‚úɪZR›Äß j`ʳ2^o%gx177ÇrkÖ0íFhPuµ2ެkp©YObþ“ÜϤ|Mið$�ðê'°Q?äÚPz^ þp ÊB¤šŒ"‡Ô†–Vª$f«Œ"´[©MŸ~5„�ùSià1ˆ·].ÃgŠ1¦šAÔ†�CgŽÙ¯À5  È î¦Á¶?7ÄÍ}yþñùu€7éxpÌCåŽs0pP¯ã�oÍΞ^_Ç(ÅÜ#§|ÿ�3<Ï7 Ýëb¯zíD Àòrsi©Ö¸ãš&¸ê*ô‚XS•VÛ±rßÞôA7ÀÞï†õ¹JcÍ0÷xÕ¦fÌʬÙhØ®ÉÝd~¥\æmemmnáôüÇOñïæçÑNc/vó®ýÁP¼Ú»MfMÀ! f‚E£96³Kãò¶×׳(PÆ’:0´é“õåï\®ž¨/=óBî’“¥´~z®ñƒµÚÇæ“W¹2§6¢3ÁPôý%´ÿ�›ÿ�7B‰Åÿ}Xd\€Ðé©þ w}yü€ÓÀÚ:’G$ž”,*R;4æ£�ØÁƒ[ê¡S°ÏLÄ "ÛŸŒ©HReX¾È¬ $•, 9”Ñr+½ x ëpÀ¶Y¸GD ÙY1ë�¼3J=8ˆ¹V½ïÂf•ê Z›Ë d�k“’‹E»LÓ3©ÍÒŸE?¢ó“ÀÊÞv¤?:„Y4U6Aô³À¨8~àÃûAR¦-~3½ñAâAbu|× ’ œœÿŠÿˆ”•<€ÖýL§ë×V.<³`•-‡~7“’ HÖpÈí -ˆþZ¥²P¯ƒ&è|ˆß�µ%Š´_ä>›ÿ"Çð·q7ÖŠ¢vߌ®€ªd -À,‹ú¬n¢ä…€@úƒ`NªI”&s²Ç,©ìå˜GLÐ úu,Š‚Åßb¶Õ7ùÈS°©Ù¾Fæ "åÆgÁ,!x Ã,H„Þ£�*û®`w¸^ UÖaÓ© úñ ‡Ôz½b‘ ›¥?¾¿\^[EuÅ: ?ÿ‹o}÷Õá/ÂÆÍÄZ¬Ÿ~Ô4áþ˜ž‹áúcIz-Øö²Â×_þ?þèéÏ¡!ÿ¸ja>ÖsÔqU%+Õ:2ìôÀàj"�Éš¦:–0‹P�4;ü§ (Jïìv³l;çI]]ôýÚ0 -á@Q&3E® FXÿ‚d»XÜÂ)JÄ›÷»lºÂG¤ „ÈN×ëÀ¤²D©„(£»A¸»]HíPøœa–JgX¬p©>‚‹ÁÁù]i€õoL)ÆAVÕ€¾˜Ó‹%ÉÙU‰N»¨ê{1VþøHt §pÓ`zG])�Éœ‘Æ(Ø2>ì’‡‹òz�®H\Ž��E`O0ËÑfDF!QЕ’<.a¯zÌêú= ‹…C.† IDAT�õ¬[¸Ÿq¬F1×�è1UÂxQKÅoÉÙv’~,(tP‰£°¶µq3)¨�B #¿Ô#08/¼ ¡Pðv\î‘@Ðì„) )uàÆÄÄ!ué©…¶�˜üLÕ@Ä_‡™€\X·'qõˆèõÂA®’ŠðEÔD¿�8 >…TG±6¡ *û["Äó˜háò+Ggƒ�ÚÚìqà«ja¢8àæÛ4Œƒ˜ˆ9vjN¨Ø$ô�óÊ݆ýë¿þÏ^ú]¬5ÿÅÿôÿåoÿιO=U=wö¿þµ_úÒ/�ûµ¯¿ôåôe³d®|€çz�›7ŧ.á^ˆ ‹gà÷Ï<¾47;óæuQ�­¬²¡úÈÌÛOÀÁ'žZUân;�>¹0}Øjm5ÿĺÏÎéú¼}ÙÛ=�ÁƒR¾Û1TݨO¯¿×©Rè»}Ïѳզ2w³ ýÑÃxEëwÉ #ÎN<ßKbGëk.,ìÖ=Ÿ™Óã~Ý*NÇGZ—Ýtpëž=FQ\¬+‰ãâü“çÊÇ’Ãìöƒè4×k”P-¹nó½V¥êPõ$Kÿ|˜Ì¾×¬«µ7“ض?ìxf–@¦¢:>=@Tabp´À ŠÁmWäx±©ç½Õj‡0úÌb4ŽÚ$ï‡Gáe°�T7-X‹È]ˆ¤ê½?ènÙÙùd�Á^MIw­©Š³e³’Ü{fŽBöo*ŠÔë%€ºÙP'ªao$ˆiy$UÓç.A t‚ÚùXp+†à8;±_áù“ôwˆw>Þ“tã€`(ßÏü“>í=˜¦j@d &Ø$—p>IHß otõÈ™Ö&6T íÇrÂd°gÓ¸$­½cÏ=žÜÃ5¤ wÏ_Lö3&¸H$ô#$×�d4­JâQ� ƒ´x¤¿Bhš*âÊtY¢Ñ¸Æ×¥¿ý¹ì#ŸYl´öcCñh~ЮOj@²lmº Gîº_�M®¤ÿ•ïì÷¥@¤$Þz{ùì“Kÿô×åÕ‹_ÌþšHRÔÕx�¯×ç©S{ à`ãN¸ùÓD ì}è�0ÍÛÍr½¼Iû£IoÁÜãó`ÕH²�Å1å·‰· ¿2ÈåÛ,’7îƒQìÀÓ0L�÷°¶Xú×g+¼ÄÍrÉéxKg«Ç*ÌV�5$aT̤ç^3ì:õyŒ¢Â^U$°ýÁè:#Ë1i=ŸÕˆþüŸ²‚§€dÈP�¤XKºs°èOÍÿ¡ôß'¶Œ2—ï´7æ?�¢œa* -ż@# Fâ×å£3¸5!Š\“@ð³Är4ªQE?nº®•F²F½YTþ3‘XÜÃH€s-Øi�ô£ÝwÉõ#ýh|X¬ {Iмß0ŒÆ¤J¹Â\"fa8n’wþ¨Ïè{Q^ € rò4G¾z¤?èÇwÀ©°&-p0O1.&óÑj�’À긌Ñ-ÊYGŒO.c„mä:œ.N -Ô`þ¹an¡‚€e�šK0ÈÖJFéGû6[�œmDiÑ‹\àâzþ8Höd9DV¯c(¶þÈé•åDb~í»|á9\„×ÿjù̧–Àü_y·ÁDçë­sŸ^ºö—Ëpð…Ÿ}áæ»�Ží\xö̵﮳xåë uró5-5z¦ÿ©³è?÷lâðH@‰svLónë0ÿYúÃAí®;�þ ÖÞMÂÕ×õ¤|´|•è‹eMeþzØoÜm--¥y{ýù“a5�Goe÷âÿÅhµ×ÍÈ~аµè©1a§E8×W—Ï,,­oÜ™>7W[[kFý v¼¶º² -{C7Vÿzµv²f˜ÆÕ+ËðèYO,=ºÑ´›ö¹s‹o|%f}¡ÞXmè%cn¡võÊêù‹ ®ãÞ\m\¸ˆxeyíÒóçaÇó�Õßxíz¹báÁw휀Æ{v½ŽRèæjúëÜs瞬ƒó¿.j°ÇwZ•©£˜ÿà¼å£øðæ›oþÙË‘]òO Ð °úv!{=ÈW-Žb|-¿sýá[·øøÙìØ°†9ÔS'“¹:`‘¬"�þ•£àØ×²÷øA"ôËSå|…do» - N1}­H2Š"ùà'³ô¯Ÿšw¶qþÔғΆV3Aôƒà–»Ëo­´�U@ Tÿ>ƒq¡ ×5›*†'Ä‚2�ÅÆN€Ý´±Q�dþ•cÃ�pçÛ¾áÓ`f«^o?‚PzñHÈI©!(Eæ”§gòE?dH˜fùE„†«ÙDšº0èÉQ]Ë4¢~ÈN€ù˜�Cyë �Ÿ$D‚|bPp'¨1I0OLf$…pÉìEX((ðñ®ã‚íÏè–QN¡;~H-æ°‘7•þàÄ{{îfÀ= "×ý8”þi\žEs§uœŠV+„ý,øKgŽ|>pþA°ëha¡'R3<Ì•{Ã{½wŸÈ~ˆ:¿|tø@Ë„_ÖI[u¸’G•¬)‘é–@ú£ ¹ì‡ò j™aVBR¤6Ò:Ql"ÅN@ö‹³'’g„Àú4* ¤¿½éÎÌVAô $«ÞL…/ˆ˜éYœ€öúö -œç>’&ðF®=й„Fd�Eé¸Fžè€Îƒ¤8¢zÔáÐÊÛ×ÌØ¹¿? :`û�ßh4ëõÚòòª(ªõ™jc£šÀ8¤µî´ª'«à€Ç³ðñz³i{]éühð3žZh¼‹†Zý±Úòk«fͬ·–WZK‹U× Û9óì™Æ» �û/<ÿÅåeDjóyùÍU>X½Ý¬¯˜‡ôÆö™GÑöÏr§dþãò÷x ú÷�3ãÖuÈU…çÎÒöµ&® lÚZmÀ>ØW¯à;Ap}3èþ†Ëߺš=üÛyÃv0>Žæ?ƾYô—§ô7®4œ÷êË :ëõ·ðüA´^]fé/HôÃÌ8h5�3Ožó^¹pî Hÿ_ù/~YìçÆÈÍð<zžK£¸_†ðX½q½þÁa½ß˜¦.Úkoáå�á/@úÃ�>áY¦á¸¸§ _›_˜ƒý`/®ÏÕk §ã.|böú_ãÉ×OVnÞnL&Ôgk®³ -À:|lÿfÃ^Xª¯.7àü—>Qo3Ò£�š�µ¦x¨(F[ ×QL‚;Þ‹WßZí匌ò1»C•¬åÃÆN×+Oþ”×ÙêªäöVŽšán’Ñ<’ÜEy[uÚ˜:9]ó¶áûq¢ |U�‰³H¦ôf/QK,Щi… &ÐUBÖilð}¯\©HÛ²ß÷u…nÔ²@IÑp ¡öKxæ¸Ó‘T»gq–;ncÅ9ÿ,.XŸ·o´íûÎ¥çÎ(cÁPQ1Y 6:v0Åó• -ˆƒˆccˆ4�™ç4å!@G„qšÀOðˆ”„Jžð–ß¾¶ôä¹úñÙko­\{ý–"©×¯ 8˜©U¯ßXæ;y÷v öƒ1ñ�w—™§ÌÝò2Ìוn¬Ô�aŒô©lötÃBCÏa´úÉúÏýÔ%7h-=µ°ÞÞú“—_?u¢w¯@ÊZ:5qûA?Yl'f+玽Š<™Ì«Ö=üÞê±òÆF‡nÙz»{g—–wÛÓ“ÓΑB»e[“ukÒ/F©¸�òäÜô™)æëàšÚÛÀ�s#¢ Á7p8¶«ZªÛ –;(g›mŸeô¯¢„µ~íêÍ6õêk(=ÛÛ^{ßÐ 9[™¶®/&®aÂ�ç90iþèß\®Õ*Î}ç�Öå)kå{+‚®ËùÄ[„•µ±‘ÈÊk‰ºyñ±8¨V�…O,¶Û¶u¤:¬ã$‘�jõDvKTk(|wz×¶Á,ÒT´Q�J«3NŒòœr*ÁCC�Û´þµ�ŒwéÚ_ÿÅÓçÏJ’û‡ü[/>û…—_ûÆÕï½ò«¿üÕ—_ùøë‹/üýßþͯœ>½øÙçæËÿÍ?xñ³—æOÕÿù¿xéËÿå—Öï¬_yíÊá‹/ÿéŸÜ¼¹òåøÕ—ÿô¼Aü«¿ð•ÿñ_}uîäÂÅó?ñÏÿû¯¼øS?3¿°øµ?xéWåËð…o¾ýú/ýìÏ¿ñæëk�ë֔ʼ³3ã†v0'Ø«�]�Å.Ü ˜:ö`Ì…Ú Z%PK°î1wsæ6y}\•ÃýŠW�Üï@€‡“^cXŸÁé"ßÏØÍÒ$–0~(lg娬}o·fb`Úi� -K¢oFi«iHEÓÛ {„?î<°ó7èÓözTªšYµSµÙ#'20Ë(L ¡A ƒXûµ24’/�G!­ÍœnÜj6nSãèüðr*9”Ag?ÚôªõÒS3?ë¡ÅøûnÜÛíqÄ/KÛøm“?ö,ýñ{6ý'žD<^.ObÄ$…Á0°Q^áz>­ˆ+œ¿V×àö°y;Û\ŠšTÊ’2àJ$�Èd�z…¬3�þÕc3ßyÁÏ�]ܸg׎ë3Ôû^kNÃÑß±J°W�X™õÞétNÏ'Ñ¿Wþ¸eè~%Y&ü î7ŽvUÆ -5Àyš?ò“/â(€ü­V)ÃgãòköÏý•Fƒ*…êê7_½|†ŠV¯¿³ræ‰'Z­-ÐgÄüÅ Ï_¼põʽ@½ô·@´.WŒÅr«m·¾EÀ‚"hnàƒ&î3Ò¸T5{¼zåê2ìa[¾†Á“j­Ü�B@Íí{Îô1ëÎm‡f…a·½}ÐYÍv«ÆØˆ 3…vÏ·&†Z«Yͦ†�slf÷ós‘²åÌ/Ô{9:CÐà•£†Myoc¢bÛn¥bŠwÅÒ^xµJ³»ÙÑ{5Æcðb«eÃ>ˆzÛ-WLØ»Áâãõ•w jGLðE@ëƒ_²ÞNXC6�™z¬{³Y?¹Ðl6Aú/||aõhT}áóŸßhƒÕo¼ùƯ¢­/nÞY}Q0@úóÁ|J   ýEZÝ?÷ñEØø J”P Hø�_þG_å–þø'*v¿ðÔÓWßzÔÀL -èôèéºßÅ{µ°ˆm:ƒ½�º> îiåˆYG"„ -ÕÿttÍ©d êzæç £ØSeœ¢½° +d¸ëºÀÈg[]Ç·¨•›!¾¿:@P- ÷7Àâ-šâ}*²Âø -\ÅšÀ4-×u¸­·½~{z–Jˆ¨ç û&²’Á‘†#š õd;ãº=uŸR ˜¹á@˘( fš h·ò: ùòݹìaé¢Éç¨än/„„m/Ñ Ì±öÐÈ;ªfn¼¿Æ›5=½òÖ�þ 54RAšØPÑ­qA€€¯ä» -ª�Û:T©Ï.^ÿ›ËZ€p —)1‘¢Wªh,QQ†5¬L­L—ƒíB™’þâTM%ìÃÎFuýÝaúú6šrë·[³HʸQ?…ëünh3ø1#ŸÒжÒüZ°O+ÕDðÕfrœ½¤$XúWÊuÇõsŽ #•²ŒÎ"~Y( ¬Ú ?gí];ëH.ŠŒ¸Þ6ÁW„(–þÌ %m|„.Ù¡Š²|68ëH€WTTÃKk“!R%بjw„ýÆýÆF³uíZbþo9]tªn7Á¬Y:—,rE•nÝDðí?½yc5f r™§$e=ÞüÜß¾È,úA ¼ñú­’‘œ?Ãodp{Ùxéi_zÖé�§šÖL³¨V1÷ jlÿò‘©ÎVd)™õÓÖ¡êt;5&Ô\¸Ïïн­ ÄÏ/­Ðà,�l5; ðkï¹Õc&\zþQý‚ 2gbiiæ•oÝ8·t¤ÿµåë3 }§aÙõSppéù3+Ë„ét±Òßó‚……êµk·@úƒùíÚ -+€­Mœ€ö½h²þÎùå·ÖÇ¿ôœ±ò>š ŸªØ›ÉDæ?ìAܹƒçpþìÂÚí¦J¥ -ËË+pvƒA|óÝÆ¼ åvßÉ P/Ðuü<º´dX#yã’‘ä?jµZ0!öIÿ Oa5ÎüÉ…ù_ø -ê€g¿`šø+/þ;?ÃïÛö·n­€ùϯÀÁ:Ýü‹ÏâsŸŸO5Äüâ4}Ì�¥±šÑÏI*��„Z2*Þ»ëÙ~à‚Ù¤§¥%L†#¨&�AžáÀu¬|ß1D8~šR -£v^è3… é/°t*ùÓÔôH-,‘TGE×q9Ì:ÔH�šÿdûkÓÓU×É~8Ÿ˜ÌöëXœ*i•x´’'ÏÊÓüS¦êåÜ¿MËPs�’ —ÆÜ¿ûî¡|C°=²Þj˜€ Œ4€"Ñ�æ*dã+ÕÓ§ÝMÛGaªâ¥ôß3�Ìé„ä·xö"*€L7]…û`[å -—Á7qÐ_R•6®°¢"#J¥‚Z0M|x€@¢Pô\k1{z:;ˆƒI>¾ôÙsBŠì”(»Qv;¹?�M¯c{½žËlV –¯›ø@5—+•)ò–òÒßu¦ÐYª“/‡é<‹ûçCÇöÅcéåÜwÀ|»ôœ%ƨAÞfB/ éû*á ²áŸ‡OYÏ&?÷!gcû’@é¶1]Åé¶ÿ9Ú7[mP‚¢@³$¥^Wßo._[©Ö* :Ó[µÙàu� DÚSF•SædÃë™)‹ˆHQq²Ñ¸ìSÙ`g¹®#SåÒáÆÝvýD¶×^[™&“äã¹óOl|Ðóÿó?ý…׿» -¢ÿÒs—VÞY)™ˆþ»mØ—N¶7orùíuq6©,|d®j·<Р Z¤ ¦i¿ÑBóœ�V¿/Rñ��¯ÍNC"dÁü©íŸ?˜§|ïô±2l `_;RÛ[|x'©7�–r*ª9�yÕÅø”×In®u¤|g¢Y³,Ëq¸‹Þ‡�.¨2J¨vhÒ¹Är}~± j¹)cý°G=ôAÏå¸$¼_µªÈ÷ÓëÂF篦4Æ"ˆ£`'ªN•§�”5ÊÁzöÊQÅ+Œ—0«GÔ®‰˜†ADÍ·Al¦v®g�{!k¯ç)2WX#Å� cy/Ò²&—¢Âf‘1¡­“’˜:jhã’i–«SÓ×ÞÆ–ŽÙ…Êʵ›•™©¥…ºÛIMÂfG-Î0­• X`Ø¿þ:žyæ‰Ûï¯Ã&HU L奥9µ¤²ÆX_Ä})qEûI™/"¨a¡€ì©à–-=Y·& tÃ쉺ªéž¾£‘uÌôË|ÓdIÑ©=Ñ‹‘ŠGê�õ½¸Q¡<®c¬(Üö»ØŽ«è¥¸�µø+¢ï«ªÉqön·­OJ§çNhàaíT�Mº;�ISÚø«V¥j‚äfû2wEùݨlêe³¾òn£|³Q!Åpí*Ì„j§`g±a•T›�w -j4–åÂA‚;ŸÿÉçR(CkõƵ_û¯¾Z>¬ÿÉï¿lÌ%Vw;Ä™~橮 h¬�Ù ~J ÅЬ1Èúñ( À�T¦%7nûkÝå*y37«º¡ˆ Ó˜=©x»-ÅŒëfuõö›ú}¡6× œ…3s¢ ÙÛ[õ�£ zÁÂ㉨úÜ gÀ-«XÖÑŠåØÞ©zL—F£5÷ñŠT”@Ð/,VÁà[ߺ{þü·»*UóˆÎÆÓÒ¹ÓAÖN”U‰"ç뫬¶�–~X�ƒ�Z†‹dBÂÉ�I±Y2Ü.±0×&!ëÅc‰fS5ussÃàVŽ£>H2qÞb[*£™hJou�½ÙQÉuÝÂ^¬*R¥I¹‹Þ` )�ká®O}yTÖŒ”Š -aÃaǾAªãººÌ=Q±[( -¤½ÁųŸ2&ËÕé� ïÁ”VdðàYOÔ›”£,+Ýí-¦&ä …®[æd=‹p`½_±y«§†‹ï»ª¤²‹ŒÖ …7Å¡ù¹C¥¨n� -L])õHúÁJ/(…ˆÖ#2^ ›2èJA-ª±¤‰V’ì¾$4é~G¡‚xà *B[Šc ä€*7Þ[…i¼E²¸ycíÂá¥Î–«Oš …°¬£P("wŠ4é?H; 8p¬âî2sý¦‰X�»Õ»¾aåéZ§Ý„�JV’ë÷hêTfBB’”©ªêåcÿÂ99˜î|t¯@•ú„§kIšˆ˜íæ]ÿ>ÈsÏ~öÀOåÄ3Þøã?ë)]-¿†Çý‹ÂûÙó€=ÌéA4ˆzÔD‰ôDšhßÇ«»ô\bÜ-rªÕáå b5+8Ë}PäDa8�áÆ®ê1 ¶å·5*€æ�”Ÿf!cÒâ5Rn#¦?(i‰di¡Ï�ÆqêòAúÝ �CbÚá\²G (ÁüÏöí´“ˆrðõ#–m» ú7>8¸:ùáѼÓü¹ÿ§ÑHÇ•¿¼üktpæ“O½ô[¿óã¨�Æí¶ê‰á1Ò :`X’ää3vÏCJHÖ@`f«´R�ax´Kî¼KZ$Ã%L®`ä Ø”¡”d"̇‡®�¤£ðÐu³ô×uSÄ !L/ì©ú°¢ $gÈœ‘ãÈ: ¢Ÿ1AÁDǹúaõ˜w¼œn `Ña m®½3kr� ßaìÏ=”°u2f O~‘Öaó�$2PL¸é˜Ç÷+XßÛû27L-Ö©êÌáã7>HX“`ïÃI ¢Ÿ¥?ðz½ƒÍ|>ëd]ü9Ún­Æí�ÝÕ ª(+ËW |ý€D=ô{µ;·› ´aAî_Ã�âÁt®änzöÄÒÓIÖ»D>ì°ô‹ž¤9è““Ÿ‹�QÐlû¯¯�HÏõìZm¿ôçóQ.g¹�$ò˜-rîÔ]zrXšW©T.U.Ùv¢Z¸¥@Où¿X¬³è—rœXañ_ù#H€ú£‡4¶Ü<ÁÒŸå>›ÿ õÆ­oü[û¹�Mcð‡D€”ƒ(ßxÐéŸç¤3—-!tÈ%÷ö™ÿ`ûó‹þåïa±oâòçã •R0DpÜœmæÒfªkÜ㸓B”TQŸ¨¿S|ø V6°g¬ÿl€¬S'q?H¹J¦î=¦¬¨×f· -,ENcÖŽ£å±±Ñ±?hp4A¡1H‘Hƒ?¬X”3Ö?¨0ÿ© - ¹¤¨÷J*¯"„n•¢”ã%ê{±`û3±0ÿ lÿü%°`ÿ8 -¤ÔöfÉΈťI<í òÀüß§DêäÉÝx "NˆQ }@6d ܨ~˜h\î#I³k1K‘Bü³@Ý#E>L·7c°ˆÓ`42›ú..üîļð4–¿¡rM¿¡ˆx“8â©I=‹åÛ= ûYÆè‹/ãìÜoi*b|ö{’Ð:vëöêÊÑé`® -,/ Ðô`Ò¿"­9t¥Eîx•cUØ«*(«M#84=ƒ=½�ë`©ë‚.é^yÕÝlÁV9>K¸’ª9UµŽTuÓb–(êáÂR{ ù»UKQ¤ï_ývõÄ|}�(™¦gª³õÙ�aÁv0ô.£ÄöZŒÜƒ�Ä­óªfDÜÚzh*ÉœPÕü Ú†%ƒ¥«Ä.[ƒ)¨cÝ=Å4Ç{�1í{:=€Úá�U] ûÖ2äΘÀðΛ_ßÚj¨z%Œ\¤»+ðãP5T ”˜ë[$Yß E0Õ- -5X]]æTó °�œ\ ç'Éðq}ôŠŠ4NÕ)ý Éñösã. ñ�¬ÚP–MWͱ‚^2— -0Tþ¼´ ÔÏò2ªÏéiËóvâBL�Ø¡9¥2 µ¿këã•B!@ƪ~„¤~²*íIpÁ®'I=í+á6Ýlù�¸ü­ëõ… -ܽ½Axw}½y{cá©G½½�]?GÓ ²'�4�Äž -Æ=4PFщOÁ±ÔAº! "¯¶P*€D“{…­M÷ÖÚÝ Ïž‘¤éVûlð祧f_ùÖwøÜ¬É| ™»¶–HwïÆÙOâã‹ÃaJ0kÃãœ1ñÌ3Cfº+ß½ìô¸ÿöK?ÿ‚:ø]~ÝnßËÞ³rsØ›¥��/¿r9ȵXæIHà¶_'ñ™¿uvÛ­õÎ¥�®GZvŒ‹bð£Xæ»á‡ƒ]cX€"htE£�€ <·½‰ qQÌ¢å Z÷Aš4ã½”p&Ç �t5•£ÛQä±V�g-PIMJøÒKÑzaT�2Aúw:¾“½.’,Kz¼±F@” X u§ãö¸X/GÐÕSÅgW™”ÜífWy!ÿåždPÙX6Tº-i$(Á(æø�`Ý=ä4ˆ# …Û1븉—_¹J†pPÒ�\þÎ˰ñù¿G6=æm·PG"Øi<È*Ç0ßi˜eXbaØ3žÔ“H‘Ô¬p{èÒñ•±ïHP*SAtic�TOî*Ÿ `žóHï‡�œp<ÀbPŠ -R®Ž¡$†gFæÜ ÌsMâïKq€•r v$œy€-áC K‡$w+£0ƒ�DÆ! Jß�ªS97.ȇŽÓò6äãÀÞ×\± çNA²r²ìB -AS­²†äºï&”Gmä‡Hÿl/0’sK|÷µ™S“—2Yºôï}Ñþ`€ª&ú4CF˯$LU©r]zæEP,Ô:)Ã0v Òû¹Ñ‰É¾µ‰ý -9IRõ#º­ÈñE>«\Y–ò(|¨æ$õǞ܈~u²Šøªf7°XÛwX¤(N×·J(ò`�&_K ÀXß‚ÅHÂÛu�ñÄA3 Ó£\æbÄ2¡lûa‚𗲡qåîÃ'ÆHã =öž�Ø÷6ŽŸ¸žgÛôô~»&+ Ñ -à€ÚuôqK¤ă8k—5§tØþ ÿ"ÿp8)¸,JÜ€¢J!åN`ËTÖ5�ªÖB?D A ž`FÊh!oÇv˜ÆsÏ= wë…çŸáÿŽÅÃç÷Óî¤ï}ÿì™…·®¯Âö?ÿ‹ÿúÂÅKÃóüh®‹�¿øþ�þ—"Ú¿ô¥¯Àþóo˜µä:‡ Cðip@?2%Æü‘2r�!› ¢3Œ޹8†�TYZ¥@WF‰9ø–cz!é�°0�K`$R“öBô Jš·„<‚œc/˜¥6!�¡8 sÈøôˆFi|~Åq]Æ5ÊTA¨!�µ†Y¶¬² Ò?èEj:ÛK%µÛ¥5›ç¼Ü S“펯L2z(7Ò�aô7¦°ž0ƒ¶£s£ÜF ERÐ: è$R°wÁ(†!†qÈŸm~Iù�Ñ€6v È&+ŒzʸÂHŽú2¦0–5<¹s)\š¢IòxúþÌz, ’Jè>— ô¤\+²»õvà %ôLmNo®%³ÈëbQ¤+Ž»ñqš'(˜qŒ ÿå -l,Œ êÁÎ ‰~3E#é�O–>„÷PìLã]L#¯¼}ݾ·ܪzâôT¥6U�ÁDBêé/HîƒùÏoÓ-+ìõØ $ É!�Lô‹´½žUøB§† ¶Po§Çj`ÛÛæ×Q¤ó ÃÜù’Íôiñ“½®'ö] ¨�Öê×GîÕ¸l <°À2¥Â¼³ -KP]jÑd ÓjaE�íÏìWb/Þ'ý§Ó0¼¬îä�é0Ìá1œ_3ê�5�%˜ô -Z!û¾@ÅXD'@·|‘Äý]WG²!üž¨Ãóö© !·ýÈPú‡ ã0šÿü‹îCø·Ö$‡—åWÔ‹uM0ðšÿ}X©cÇDž^ÐÝí¹!¨Ô8ìlv§Ž˜ó�ÕI$ãŸþ³_»zõ;ßüÖ_üöoüc�Õ;Éǭü¿ñ›¿÷+ÿùÏ¿q-ñnÿãÿì¿ûê?>ÿ÷òèå?bÀ�v7€ô×&T�þÌô£c·¦Íb|Ó†pg½ü Dÿå-X˜„�Ç@yú ý‚üëÐ~´îüp·ö댌î§�v´ï¬��˜ÿY”#«SÌ¿ÔwL0õ1¿ˆæàs¬“;|4d0ãÍjóúU´î[ w£×£¾ø8ƒ -8­å`;9U�ÚC¶»¼4ZQ’áI±paÝúÈ - 4>´ÁÙ`BvØàg/3™Îæù�GwÕÒÁ®XÆÈ—–q*e! ¥¥úò²`^Ì|œ¤?l¦RUd�Yˆš„)�>”°m¬ÚK“(Jóö�Ò `éÏ¿Nì^ -Ë#ƒ£&aAÉ=‘Þ«(*Ñî^¢!ð��,!¥½úŒåùÆk×çGyáÁüð¥_ù'¬²†?HÿsŸDý ¶öúö|þ/|í÷ëÀk32ØtÐý •Á`À¢ñÁrÍÃS¤ŠøþX¥…$ óžïX#*MI‘¬Ð#%v<…Œô°ïÁ¬Œ¶B†A†¡PrŠE킵ª`�#ü—’g¹<ˆ6ÕÌa=\AÒ{iäÁ…ÅdÀ‰¿Ù6ÑÉ€[Ý€™:ìµ×mñ·_=u}—cÔÈ3u¸<;W‹©|û’¼(Ƥ[EHÑ ,nFã8êõ»¸Ø|ôšcÒI`y¹ìÂ+[,É'¨%V*Õ -ö>°ÅÐ n?ËE€†ªPñ\ŠF "èèL+…éð¬˜'ó¡æžÂçÞ{„d¬î±%0ˆâ�~œëÁ�w0åãynÅzDõ×ð³x‡ÄŸfár0—æ¢P?,–ŽÕçâXyãéby$BVŠHö”p‘»Ž F¡-…ŒA¢àÙÅp�à »ýMs -V> -.£¨3ŒG†îPÉ““§lÍa«ÂüBë]Ë<ó'ü¿ùW¾ôå_ùõ…§e|yùz£þìoþ«_{á……wß]…‘D"bª\\xaáëùzé/Ÿú�?ú�ßý—œgý1Á� p[O·®æÒë¾Gd ÿÆlü\ïb¿HbZÁ8xžãm³FUí[}»ÛQÉÆZ»×k�lÁ3ô·d›Bº‚õ0 mÝÒÑ$�FXýFfb–�P‹ƒ‘AÖ=H5­Xâ*íÍ›üôˆ¶Å7|[<Âá$ë>LØ�F\^¯{‘gäBcJõ¨-‡’“Èâ‹…k�*ðžq4Úñ@éh9X š£AP*€PÃñµ`ú{EÊ�ÕüÊ­Þ®€(:T ="$ZøÑRƒ~óXäÅùÎ@¨EÈÌ×fàG¸(BèÀÐA.€è…z<òEãPõ䉹 v¬ûVçXóÌâüéá3­Yó åðœJ¼ðb✪±a“,E¹¦�ùƒWÁ0FWx¶^@àºÆ„ñR„;žV4ø;•\žÒE‰UZ†Šuœñx´¹Õ¯”A7 ÀJ††úc”RBJµ‹vTÅuÁ´'gÍ8�¿G†[òhùáÜ(ˆÅ‘[Ü<,*‡T»ã!”@ VÿiuéÂyw³Çó9O�Ç‚ôc"‘²ËIéƒAg€ô‡cõh½wb†Wk²Ľ¿;œ´ß]ÞA[oÆô„ä¶·éUg ŽA3",ã4s�/AFfŒ7 cÆózž/áKÑ>ÊÄÇÓð‚Hز¼Ýîmµa6›»!i}Àœ W屪�Ê[=¯aYÎ Á–(•D>ä& x¿=tÓ^5a’‚Ñ£»3Ó2ç=ÛŸþ»¯}ãµ?ÿá?à?¿üË_¾˜Gƒä§o°úîêüÖÜþÁêŸý»ß?ð ÿm úAüè÷¤ìF¨¶îúfAÞ8hƒ5 jÄ~‡bØHý0p8.”d<ß�%²÷„‘‚ƒ9ÕÉläðü™K"eþZä…'yû2çj R*•+Ä(&9E ±¹)ª^�á$¤Ìö�ôßs�KU•Q~úN ÉãÈ#dÓP×ó,ý÷|V£ 9O4ÁeK {|òÚkµªmLô(·ˆ†‚E<×ÞÈöêçóœA¤ë¡F\¬±,(\;;¢€ûFiŽ ÑàOÁu†;x„K……cŠ¼ÈŸ¢¶?AÞÕóáØTŽÀׇi­S†`aËŽ\� Ò0aëßrè…íÕ2©§©d;�ÜG«hÿ;…¿íÁ®MKl�êÑÆ¶m_ùÎ%Ð=Û6ɦF'àh]+WªOÈ~ë>ÕÔ³ =FLƒ@Ïö qÄÕ@·‘çš÷˜ºõŒ’Áeá@|üÈNS‡žP•KÔß’åç(ˆþ<µ-‰$«Ì�3ñŒˆ½Ã1¿0¿òæ7šokKç.´ÌÍ(?q-é¹'ÀñðWÖ©šþÖû0ˬN>w"ýªÖ© µí -v�¨(Cc—Ä*¸(ºšG@+­Q7A`ÁÔ®äjµJMäI™lÅÒ±uv78H�’ à‘D¢8‹h<ï¾ssýNïK¿t®sl‹ ’”è€ôEôOÁ4Û�rÃñCUSg`TñærûÜg¬jÝêuÝkýåN§{öX‚Æl®ì|p˜{ ‚0¤ù€(ÿà«Qù–ï8NÊÃC÷aÏÛAóŽLÃÒ*&Àá´¹Êmÿö…WÁ9÷‰ôÏwHîŸ~}�þ)t o ôú_¿vé¯çA|ñÕ‹â1Ûµï_yÜá7üûïþò¯þ[½p@Ð,>å Q7¼Ià j�æâbíò›2BÅÊ[~œOÜù…̺~$’œ0k‚ô¤BóßË̳l‚FécN+,¼ˆ’7b-Žò³\ËOð¸@ê�O‰í©y5©Â M.¨¹'ØI­ -0Ø–þ ¥¶¿À©ˆröI‰# j -~§2€<Á-ˆ•ñe ˜UærÏ´‘;½ .J»Ã`Tغc¢`%ýöƒÍÚ‘™ä¡¼þ…Ï%iÎå¢ ¬ ô�¹î@I,«î«â@�B¥šq¤÷ΣÄ9s%‡ÕŸˆ¦úœ§$5PÓö•×󥆤Rä‘n�ßi˜ªä=7BÚÎêˆ~~eóж™#ÓÌdAÁ&íÝ[OŸýߕ٢�0‹È‘îQ4‚« #³€`™!z¬з¤‘Ô¨QÈA®Ä]Æ+ƒÍqˆ'(?'§ç¤^ÙO`Q1© -AIìüP�²Û$Û†&þäÖlܽ“Û’ï5Ð"TöšOÖ:wmðàä»ß~›ß³v«»ö:ˆþÖÓµ×ÿ -ûÈM³Þ´fgËð$°=ŠãN‰¦Ó­ÑNRY\O˜Ârôz=—uˆ~<šz­ÞÛtwÀïÙ¸P‡ñ'À €“æñ*ìÙ÷pYѨ‘ª6@ϹÅÎö%'¶›ÿ,Ñì¾ÇÒß(jç>ƒ¡¿Þ†:`¶y@x~w0ðàS$Ì®,ÖÓØF�¨jhã�[?bÖ*&+�ËE?È/$U§&—Çyû7ýÿ9Û/ÿÊï~ãÕ‹ÿóÿøÛ�}¤²°�ýøùý/Êþê¿ð¸ÿÝS@±3Êe»Û¹ìîµ[¥@Vªë±G8Y·,ñ¹˜ŠÿäWìž“vé§n‰l²"3EŸ\ è˜P°æ<À—yóCØ(ü…ðåÙµÏT�þpÀü -ý+—W­Ãå÷WVApH–Àqʪ¦PÜŸ)éed_c9HرÚ ÇL^¯bAØ�Ç�~x¬¥dñ†ÐŸ›O=€/~~w’_’qG¯Iö~086TÓä9F½0jG®f‰žúÔƒ¹{�TfãW o`/ÿÓM±{‹(ÇÇøCìx±b“U­™~ nsÝÈ4Õ uˆ 7 ¸ÃÌsÆ«�Çë é‰Àj ŒÃT¸›»æ7ë -�|ǬØvGa7jÛ‹rˆK7B®X…Àе¶œiÖtÉ�©Â@LQÈyЕ­ª0ŽE�éyµ*_tŽ$À'Mª0‹GÞ¤n'Ê-�õRD ë#U€°*e ÙtG"'Ü­<ïÜxãZ*G1¸  L9­à4½>w„Á Ór) $Ãp8ĺ܂®ák±^ë±”"8�h=ËËCíý˜Ùh5ç"WM ”¥V©˜Sjd=�-ݵ›Ëÿ-�8-(þ²É+g m·;Tàt²ÖQa\¿çrì¯kוµ.ÆÊ*Å=…�Ûù¨Ûþ@4�7Z¿òY±ãÄÀŽª‡ öÖqª�a>…V_áIωY0SÀØîG¸zCÇì"»HÃ2µºiÂÕ¾Ñu»÷œzËj±Ö7z¦U -ü £dU-ÒWæÈÊZ›{zIQ‹w7„Ñ–°€0§ãœˆÆ}Š:CÑJEÃõzzÑ�…¶ ->õþC‰éq>ßYmןDMáÖ?¬nn’4$Ì+�cÄdUõVNƒ�Õd'`7Œš`g2Â<òt]«&‘¡èÜå�I³¼z¤Ú˜­ýÐ)1É�(”ÌiB'cnOçF ¤ú[¸ÂæfÕ£ XŸÀõà7'=þ¬Xˆ¯þß_ÿÖ—ºí+É‚œïw:Ý…gÎÀñôsÏ£Ó±õ7ÿൿzíÔ38mŠÕªdÙq¨¿dZ˜Ó’)?èû�çÓHÆ£(y�nß?ù“§O�œûîß½Ózª–ª�˜Ã2˜Ð͇ãöèÞ�g™Ž·¬tëWônW ->¤©�ça`¹€({ -ÎÒ¼ZÒ¼¡§j Æé�Qxº#Å:¼_ó�ËIOÕçÑÝB²{…£OMúB¢@å*êx”0ES}íì5¾˜p;'Ì^ìð**ºeÈ^6¸Èf¼@Ѓ¾Ñ 䤈<ð×Ñ!Á SƒÅ–‹½¨P'š‚3MŒß¡ =‡l€�ã9ü 4# -¢6£\~ó å ŸÂ>ƒbŒyf§ä �¬'”Æ$ª%éá -”'¬LlË¥€5²0Át <*ß`Pdªßáù•¿øÓ§�?çï¼÷Ž>mêz©j頒㨤¶üyNÀ|òœÿz¤çs -ü÷W¶FÉ€7h¹™ê‘öoGN­1?èoF^ÏÝdµükzb"�2g¢�¾mÛ`B”­JÏöœ @�J�¡eF'MõI–ÿ4]g·ƒÖýF§ãtØÌßåkcD…IÌI«°ôÏ«y,æ�òà ÚpÄä®m=]¤ý½CÁ³ >ˆþ´ÓŒŒ÷%u¥þΰTÄ fŠ£šR IDATªH.eƒ©ÜhµàèØ6L”Ðóâ¤Ú§�¬Õ]õX਒€=å •®$%å¨Hú4›-PÙx7²ŒZÓÚ»´{ý•›IdsZ¯6ì‡ÞÊm»JÝ+½G^¬lò®!Ô-ÞïÙ—q› W\àûz ì+fªCu%Mƒ�&iM–Z -µfŒtÝ]ÀÞo¶¢îA`o¸Tñ&Å -—‡6ëÕõ”c€Lú,�DQO!�¯ù �ôz“ ¡·M¬‚½ £@Ô±L¥ ;žU©±¿¢Ÿ«ƒ@ô‡IÙ\wÝA€3çÑV¿·Ù;ÿÒ9ya”!ˆ¤U�qêù²• $Tu� wÉL€ìš¦ÍÍT+-_]ç…˜�ŠÈ‡›£ü–2™õS6”ÝÖ;6HÿÇý¯±/øó¸­Vk.,LfZ‚7®˜é^TÀ‘–4 JÔ)Ê®iºL‡˜6@´�K�¹÷%%ð`›F'”öö@$…Nh€\&dPwˆÈÁRg�ÞE’HH„éȆ!4EÕ´ÊÔ�%)®ÙÝ|àî�xÛÒÝg3ŽÜЀ(it×ÃEç¡1Ý1¢ ÏjP~ZA„©a‹•wW_XL¿ÿÍø^zeÏ�N8 zŽˆ¥#뛱Εbò-ôå|�ÓH©‡œzX¶Œ×o»s³-�þpü«¿¯üÍkNwçãNºœ-æf5¨Œ•˜q5*BI£BLr-BñEÒ—P¡ÊÉ>!¡éII«®qò�²eTLµÓ&¼¬™j-Pf–tN’«?@x×î u™-5�NzàŒ¤qœƒ+Ö’†µ¤J˜*,S(h£”𮸛_UU«d:¾ËšV¾Aˆ«Î °*àõ+Ý�E1�T€ôóŸ~+æ¹ÎŠ:àè��ØDlþóû‡Éu³íƒæW”#áÔ—r„×›ÿ!r¶$Ò?³¹Ý úÁ{;hÇá­»“ 9È}‘€¯ž"ÜÚ^Åëõ=ï18wÁv¢û•}_Œ#°úY²è·Ê /‡,$�æúÀ lØW–Û­Cuf†£š-êÇâèQ:w]ª7% ŸùøRã‰F£»á>Ü þ�,Í„£ûœŒá[* @úû™LW¶BÔÀÒ¹VcÖZ8æŸ9•ò\c4 Ó–`øf5'¹eX¤´9)}"Ò$ HôëI�¿aéÜd‘?nÃýŒ5ðÒ¹¥Ö‰Vûv»•Pì‘þáÔ{àŒî—þÞcMÎ~bñÕŸ}5ÕªŒ_S‘›:ùéÓ§'a(Øú( é€G¾òƒ6xü§iM<ΔT0÷“K$öIü�d4qj‚�9êùŠ'dËXô™/`[)Q=”Œ`¹¾§P0Jÿ(3„«}àqÀ¨t7ÂÆƒž èiînáIEÎ¥H�ÖUMC‘¸iEÓîö.~-€KÝ« ÷o¼×®Ö¬™#¦³9H«9ÁüéÏN7âqÿ#LjXú§Ý¦¡2êšJ¨™*†nP vÔ¯VŠÀ¼R/¾r‘ s`ÑÿÒO ˜‡Ÿòy€šL¢ÑòɳôÇ”([áê%N ûÐ줓±IúóŠ›#â>f7cª -€n6hP×7H?i”î ²zšbá:+FëÃv„�Àœi¸;ÝÕ•+Í'eá;Èý ‚åN¹�­á¡…£ëÈ% jÀ¦¸© ¦P dұрµ×ïtnbÒiýæªÒ¤ÙòúŽQ±¬ªQo6Mæùй/©M¹²ž{AS\A]F¤°¾®(R’¦ž¨‡”ÀÚ�ø+õð~hÍÀ1mh‚“R1QmåÐäócU”©÷/döËrô"%g¯* âéïÜ» ;HÿÔü·zÛ•Õ6x뵪|}íþ¤ŠãêJœ€je’�e?ÉQÛ8†ì ô'ž©1V²F’!KÓRo '](¬Ð7TÕ&:gŒË9Aß #ÆÞ�×sñ3KÁcˆ)8ãÄ1_–þ©4ìv7Oì-X2¦vM–¼pU°xØö/ >I[ 7¯ï.¿ÓdñƒH¿Ô€¢+†!s7Iyé¼ÄÓÁšiàÀƬ#«JO”ßþV2�‰»þä�bvÛ¿ÍÍ6ZO¡�§ø^ÔäÉ †°ÿ‹_ú¹ýŸµ©aþ_ü—³ñÞ8ø“n ý%os²ÕªÖé�íÊC¤: UµšÈz»ÞL%ÿ\–Ãl9 Ó�màà‰ /‰ž Á0*¤0jFy]ú P¿#p@  %Ëèoì�ù¨Pà1Ø¡RÍÌ œ•0�ßI©÷°Ÿ–!¨¬€äFK²iìî$ ÍÒ4ÏvoÁ®”dN^©³ûA.¸‹¬Àüw©«‹5�’qÐÁöW dþ“Aílùl³§Ò¶Ëo¾!H ý�Ò6ÑûJq¢h¹þ‡u€–ýÔ€¨až€~šÖfLüŠü¿Û¸pîâå«—¾A¶?ovÏ©%e{Ž�ùÒ=€BÀ¹ô”-\$Ò?õÔ´|÷­ sñÛÁp=)�Q =ÚÁå¡iå~8Õw#=S*3‡ûÆá¼põ›_KÿÃwݹã­îGíÖÓ ÆLÕ˜6Ìø¢rEíÜ]/Wk¡WèŒH#åÙ7¡‰]ÒLáºà…-?â0Y£Œáná³Á‘Ìçƒp¤*y/�¯ò¤©ù[·te”¯y×áü‰jLQo|Êf‹ÆxÌçT u‚�Ú)HÕ�bá‘éä�,OI>qA±ºR¹¬äSWki±‚¥ )œǵ¡�¢@ ×ÛàпóÁWøÝ+ïwá÷åÊÂñæêG�EŒ.ÿ(™_$²o_ÅðÎÒü\›h¯­ŠÑs¼þ 0M¼C­ ÷Ñ“YÓfo¯øÙ…†óÀ×ózL]²9Åbü^Œƺ¢²93ÑÆáï\ fÈOÏ�²Z>‚ßÉ¢S -Ía€Õ> èØÑA4 GùBžêb…Ì/å„Y©²ä3<ò÷¡o¯÷´ü”:¥™’ÝÁµZÑ«þŽŽ+ Tx4Áv\™Æþ!U-ÁMIn9ðÀsŠJ}$¼h€qo<×ñ˜×7Ö7ºݪU…Ýõ]l£B Ðkì´»à -œEj.Åðk„iù "êAÌÉ!Gë!%‰>»?²ë­ê½‡×¹ïá¿þõ=­Mܵl­v!?ÝNКm¶ & U�Æç¸j1u¿øùÏNBÿɵê-1¼öú·×úÙOe….ž[øúñzà35¦­|«4òE‘”’#ËÿÉÿ‘¾ßóðKçæôµµ v$Ó—KÇåïÛ¥i=DÖ½wŸBcJ¶‘Vƒª’�®ä”®)Ã#–DÍè -Dž~^“i‰«el¢‹ÇT* -WŽ�1²l††\a» "ðª¶?< Ä¢ñѳYe•žö à”ÎÇA©H-¶"äíó%D( <ÿ -®ApŒ+ßY®ÖðÑh¥<R®Ó‡“`cÜ0‡y~fö6¾z˜ Sò¢L£4„ëшcíPúûr¸˜¥tbJ@ŠU·À7–ß[iÔj¥R#Ÿ‹á9ÂÑßê;›‘?P1i¤cÉ?Þ”>Éc#‚’ÌTð-RS®”ÈbƒýtácH &xÞUÚÀÏýÒÏÿÚ›ßÃ:àÅμyåLÝ>ñ‚è�ÁöiϘF ÔãPŒv)¤SÏ-œýÄcƒK¯ýí·^ýܧ÷¼øÙÏì�å÷ÕB__~�ž3H8ÞxCpsOkz¥ŒZ=º×ë•…ùªlâÍA›”¥™£m´QRŒ&AA† ê@b ²KÁÕ>Á‘D³œ °àÐ;§)ÄA6h”œäñK+û0’E¬ZÓÄYá<å½®ØX·üöjP…É)›~“­„=€…`8”GêÐDi˜Xß[ä1—&A¾/¬¨Q ùºinÖ^@ýϾ|±kÛ]£=ûcçÏþع½c÷„!^·ªFc¼*�À¢Ã¤ ¼%KÖOä}£yÅyo&ç&&=‡%lL§øÒyœ—¯ àª6ü9cÊK ™‚îÖ)œp“Hæ?ì0ÿ¹‡Û lCOÈk ½PV“F8ôB¸P°fÊpÙ¥ÍMÇ{$/»K�\ÚÀ®¼ƒP`Z¡µ '·»i3& Hÿìp€QpŠû„gêÇzݵj o<¿Ï\ð â!Vøp)g@~æa¢QDÉ.ÒŠhÊòQSö&˜;� -¶!dµTd+8B*]:∣µ‚°ˆqËF™ -V€Î¢Ä“¥c†“C!ƒÉà²�€' a÷.ÁªÉS|VeäîE¿ÛEi˜€°‰›7ºAà.PÓ/x+·eÍëÚ½^~ß¾‹ã{âÉš¢«íšÿ…)*e½O:€EgÃó9_8 „å…ž’Ëq`Ñ@�¨Â­‚Gà³ V1¯Eóf�‚ôçOULÌ€JÒ%:v–þ^3eéë'ÚIqeólû35¼réòе™ª� òá0쀇.…H®ƒ#õFú0Ôjªqc®yØ6Ô2H8ýµëYDèn¥Ç® Ëõ& IÄgO¨Çú4iîZ>2ZrX «Nt@Ïîo>Ì?'1“çˆqåÙ…ÿ´ O‹ö�DO¤4^‰À¾ùÞê«¿ðsÍæ‘¥¿øË×ã·Nö+A:àu"pWж•JKd4Ë™¥#é9{¼ù‡q��µ Øc,åòº÷ˆ·îþD™1ð¦bU~uhµ ²ù�1„ÄŽ¤|@‚Ÿ #¦éYäG‚ÕÃþB‰'¡(œ[…CÄ%lRɧñ`'fÑÏõïàV‚ùÏÁË@ä+.aÀD4gø°GüŸ˜DrAúóÉBk–u@ªît7GatkÝ>™¡V7“ä-HÿA’]8Yï$ÁúSÏJiåeR©Z¢öãLu„¡Kée†Ã˜RkUc�{2s$ñžGõ¬ª’ì)˜Ä? �ØbÑ1M\¦I1ȶ7{µ#3Y`U&<µñHæ? ©¬* ‚à @yÛëxá®vV�þËËËèd HAý¸�<†›G`ƒaˆÁŸÈS“y€…ô»r’aÈèJ¨È3öP˜ ÜMµV¹ñ^§w¤|ç¶á§-VúpbBgñýõÂåÐjù—¾áNt€ éN@Bê €Ø·�ôÿçÿÕ¯×�ïÿ¹¥ -€·l¨ºÖP— 1Ì"-NfHqHã £ÞðàØwÜT0þ�¡±ÞÅð,,¢«ƒÓi’ôÕ` «>Ìõµ|Xú †AX“å9>©ÐgÑÏïá¨ó ð6=¥ÃŽèÊ´t0æ#ò�$MJ0buuŸçE¨�ŠÙpõ…̬í -rI¦_–Þ+ë˜þˆ Œ£T n>X¢ÃÉ—ø#ö(–©n:QDP¦  à)¥ÁŸ´#UP0€¨1o'3ƒêwÃDtøE�n´G±9Óð¨�2hãC�½`°ÃÀN-€ 0ë5ÌéZL¢³±ˆ3^Ÿn°ß‡ }‰ì™‹µúCªØG4 •Íy°Ç¥q�ÏÇè�ŽB¤Ì¡šƒö{‚䕎ð#ïÍpä5£®è‚ªûáÉB‰ó¨ÉãŒùjX©)B5, À­†0}ãU± ¹¨Š¡æBäF£ -%4Ï ÙaR*¯ v.)gàZe3Ócömãp‹�~DÎÍׂÊU6ƒæ¨œ„#Xðš5c¼Í9Cÿ;Öœ™«WW>êmºýqAUÌZð =ch·?ħÂ]-öƒ¬4„e?àñœkT}LJÉQMX&È“R#LKÁ��*s·‹ ªvA1Ö`w‡)|8= ϸü �õ$e"• -Ü;6ÐŽc6…ÃQxîV�Þ„[ËëN×QiN©•NïF³Z©LUÏÖŠ -A´çÈ« ¼À­Y-]Õã°Í¦ ÷TçGãr¡|ñRà ƒÖIKŸ^Ú Ü�yØâòSôb^)Ok„61œ/ -ETó¨°7+eBφ¸R*ydˆª@‚Tº±aç_^ò\¯q¨nöõcóö½žþ$šH2Ý—õáNäû.�!}ÎÝ`éŒî8qûÃȪ¤"F±¡ónÎÖ_ZjeÝç_ûÍß{ý[ß­¯�†bqÉúoÿû?†ý­+XPx†ç1¤Æ¥~‘–Ïs]?1«†_¢‹{³&ù£Ò�é€éöšÓ»ï.~|>诵>y>JNo2‘\?`³Lxˆ(‚s˜�‹PHqc¶A‰^|³QTÒúÚžÓ3Ë&‹Ä0‚%¯äX݃=„¸ º¡*#Ϙª-ÆhŸ©y~Q/`hZçæ<¤eùØPø'zÿ¡<¡̃Ô&òÈ2¼rl§DçÞ²ZÐoÞîTWªVy4Šàf1–/â¢1=$K§â@Éy‰ECÓÔ=¯2�G&£P^7Š °¬‡#Ø-ðá2vÂñtU¬—‚¥Ó'»]»ÛY üøôâY8;…ù# ̰aUŠ’à„f¬OsOõéIxP¢.óLȆ‡¸Z'Ð!*(¢ì«#|0ªdK"�‡1]{&ª·5Rrq 9àF#l{’ª”²’þHPXÌÐÉ™c•|yxn´¦äx>{&f¼Ð Þ2Ýï€ ÔMӾ綊MQÀÙ|A±¨ ;�aÃüÉ­ ÙNÂ¥õôšÄ_�þTJt/ˆ{˜V†Îw?$Ú(¸±’€l(ðR@¸GÏ�- d&çR�‡±€ÀH¡Þ?þ_¾Â/CôʉåÉð}Çz&œÂsÆògÕ$­‡têŒ0Á1+ú ­4±pAîû½©ôç]×5©füÆ -Úû³G­kï¶×ï;pÂo¸¼|€½ÑK»…ÓͦÒéF­²ô\sù=iVw6ö¶ær-[úªVJ}Æáe?[@©ÐT -†«E¨EÏËx[ZB¯e°íqk8uƒâZh‹E\gÉíš1#ƒ(‡põ­ëÕÃVÕ2{ -½�¿ ¢@M7ô©d3"k�þ†n²}§QÏ0[�ðé{—¾y=…`\^nw7œ¥¥è€`LJ]�‹Vž†É’ç²?…f ¥{GŒÒš^X£LŸJ—‰÷<­Ç0 XQvÛ®µÐ Ñ/>.jO qÇHnÏÎ3…=q¢j¢ !­€VK öm_üüEØSð_ÿöoü›ßÛóžZ]¿ôÍ®uäüŸýéïñg&ÑÿW^¹øÆ—JÅ] ¤zT�½w?Vò‘>•ÜH’�ÊUÕæ¬ÆìQ»‹ƒ¿òýý¾×:%“F`§3ƃR—CŽÌ‘ÍÔ QÂæS³]Yb‹•ÖTßÉ�‰Êÿ9K«IݼxœhœÆ*{°ÍïAJ©’Ê *,HUe8­ -ªÒL¦ÿÒ·QøþÆ{í"bë9ƒs?¶Ð#xp$rI’®,ýù$7žxÀ<“Ó¨&>Áa>uRh“R�]‡XŠŸ©,X^΄€þñ»¿ñ¯þ»³?þÉJ&Áò¸ªB÷!¾yxæÀÿ}ÜFe¨ªZÝç‚ GNO„qcÀ6A³�p €«R11qœÒ��M ë@ãöƒáÔÖ¢z®š�PZfÅ5ŽÛ¯Î˜33Rjq¹×¸n,»äì.Z¸ -2¾&qäÄ7a{¿õâ…ôÏ,"˜³LæÍ1wË2ÇeÊ¡FÃ(³ôGXþÕøÃ:,ê ý&HLËoŽB’&À!| � -“™�x+8(äež4�"· À§´$÷¦«UÖ³ßÏ?‘jûö%ïáØMØšRMp“$8‹þ/½B-S4WA¬môt*pdrß~è-ž¨Á öd¶f½V™6ú[ÞKŸ|nrº‰m àbŸE¿?j9%å;µ(ÝÄI68)[zV,/߬׫ӇxÜò¼6R7œLˆg:†ŽV^õðÁˆr¼�pa†í„%JáF;¡QÚû~UµÒ¦˜[HŇ<3m{Ãi™“S½Xrû‡æÒâq P1ܸJ[~7, "ÀD€'ÀýM -)Bƒ3K¨ðORº,úEjû³È«\ŒGL¡²™íƒk=¥¶Új÷ètpá%n ýÿù/þf}ö€&2Ðý­à—¿ü»ßø™‹ øÅŸ"àïŒ@8„Ç}¦Ž·:€¹^?'€ñ½‰‡m2™ÁP2y2«Z���X=¤° -,kPé€Éšl,mPš\…œih>ç\1È}†€ä -,1s�ƒÀaÞ˜¤ª!%&OæÖ r§j2Râ@ÄÜeÂïÁiFWÂa ì$êLBà †?x|+y† -�ŽÇ轂ôÇ\èÄüGS&ÅÄçØH°(9?Ь$Kx –€Áýˆ-¡xd«Ÿ¢ â\(A2ŠÕWÖé4?²AžŒù/7VbÊA9N!$oJ2JýÆ�0ìÀüƒµˆ‰¹|6Þ•4Û+qN‘ÙLA°@ @˜T§—§ª™)Åq‹hD*ímº©B6Þ³ƫ×h„E—¾Ä4›ÏxÂO1ž\Sº�зH"‘S’Jcf_™@íK‹æb4‚#ܳ¿�B’é!<±aœ±Ö'NsCk4‰Ñ6)¨à¥²€à!&€ …uOZƒ”ò¨¤”¬ôç¾3ÄGˆÁÁÊ Aà’÷ú©àrŠÝ“ÀŠ ‰L×¹mN8g“ -qî²ÉÊ (Pîô:ÅW9$ ù°HIË ÐÒ§º2¶ÇQ+Èr ''¸z-™•Øì}ˆ«~X\Z}`VW8$¿Ù0°\$D‚þadŒô\¢¦Ü €ÙcèŠz ¨5‡§ ”HµŒPÖë1ò "ÊX¥¨á$`Ý>«ÔU_W•xäÅðE�o%ß�„2â¢`&qlBȹ§”°'ÞYýÓ`ÓU)a�ȾÐòî Ú…l]7ßïp‘7x+´]K34~·?â<Œ>7Û\vîi5\ 1˜²~ IDAT–V^7¨�Ð:;çß»ßî¾ú_^,YÖ�÷Û"WBx#†I樣øˆë*°™…‘Ä©•a¦Aì‘Ôð -~DH�GMÝyD5¯eÝš1,ba„Ї©L„”ŒÿÃÜŽGÁ([»�×b ²»Žk«W¯"cÏÒ ‹àôô†µ£+Œ°'+yîÐÉsž…¦ü^ßÇáõ‡ncºî&³Z*¢ä‚Aë9§\û�ï\üéßà«Úí�öjûÌÔ,�õ k[Y»5J..¨—]‰Å¸Á«?óÉŸü©3ÿ×ÿó�ÿæ_ÿ¡½a·NâbJáCpT+qmÆC?_)ZÜWÿÏ×ÿîï¯ü/ôÛŸ~åÂ'_~å«ñÆÉ“8˜§ÊÍ&²,Sð(%Ÿçê½h;f‘MÅjžF¸w¿ß¢6fÞbŠ¥ ‘¬’RR§�B (ôAúƒÂ B¤ÓõÈÍ´Ê úÛm»A*³JÍ,܉üM—\c`þsÄ OYf. ®N©Ž?:im/&’¢þ šÁÒŸªÑlÎ&ßÇ�$Á œXFK‹Rs[��<µ°A)bSÚ(ê†VŠóämì„ 8WƠͺºÛÃJ(˜½µ¶õ½~�Ðpggªlþã/RÃèØ-³jZ†ëìZ§à›C¤?¿²ºzãkßtñå³`û r^ÿε?ø_¿Â:À¾/­ÀÚQiÙ€ù�ÿ ?’Æv[ÖÆC> -¥؃ȎfMÊJ6ê.¨Î›4A$�oÌêPx,ñ8®Õ¬Úsí^Û²¬Ò”ÎAf-xT²Y«hX�39ÄÌŒ•'º0J¥Ì×¢o;î6¾^™ÂÞ»ïÀÉùŸæþ©NŒÕ­JÅ…ÁíàpKa¡÷ ˆaIÁú¡Œ‡±N1Qä’â¼K 1lì \Ó2ãaä £Ò8+ õLU©¢¤ˆ,½A­Ñ°t½ä kgÀð‚p‹Šs-†Ûï<-§„‚¯A FŽB† Uºƒ’¿í[UkîÄÚvv½v>ŠvÑ·P­Eõ¸î¸�2ÒË´™‚÷aNŒ§,œÖ>¦[Õ’ãÀ•‡ˆd7”øeàÀ…àG~Ü�I AV! E…ì’ååÕêá–x[úÙ³gíGÄY#hš5 ³@±Ι&dy=ÔgŸ’á`žKsÇçhÜÅgžºqÓž?U™ÒêîÆZ£^ëRù²9SvÉÌ?ñìÜÆZ,k�è�öÉgð {]ûÔÒ"ø 7WÛç.,akŒ´N´–ßÂôRë™VûÝŽÐÃÖ|娩s!´ï½²…¿Þþ¨Ó¨WЦxK/ž~{Ëm.Í]½Œúbé\µýö;Ús§ªµê•ºzÞD,‡wn]=ó±…¾ëu>²…ÖZ»Eµ‹z£÷À‰w‚J<1°«Ú?tÁi¶¢8hÀ}.´æ_Pž qLJãÊw.EAô©—Ï:�V}V$#·¼Þ^œo]~sùæ‡ë/<��²h[õ*Ú“ Ã$%WÈH0Bs1[ßAÈ(§ -*ú4¾9æu�Âê$Ù5"tŠÇÒ«Ñt”I€ˆÅXíIß k“aïbŽu—° –Ë{`C�‡ìE -7cêjÞ‡©¬€ðD/?ð#+€7û;q÷‡÷K ´†üÜa-Ë<êŽÑ ]q ™ØR>E±{óå�ϱ®®Ž|Š,¡fCùºV -B?ÅÔ‡{Qhì69þ#ˆ³WbLÙNF+¨E^â2%͹ßOðÇBK$�S¢qâ^d}áÈC¢?(÷Ýκþ$¥ïöu$2@Œo°¸´±Ì õ2 ¢,úO>3'/¶Á\ÃZë:i'ðã¶Ö¬YŸ±n~d÷\¯jˆfãö]*É*¤¨½�%UbrômI‡j@lMŒm‚=155–A8NßÚÇIÀJÿ|ŽüÉBÕKj“ ÏQ.’Õ;IXÂ~à‚àsî0`AÃGý�#�`'è>D‘&¸„4³±¶?tÀý{ó™4Àã6TQE*ÐÌqUzÁz†îNŒ£‰ËÈ™.yÅ -«uĘÊ|á±ã“XVHØŠ"‰ªñ†UãQHF7ÿ)ß ³+Â:+klWaðá�pm퀚«î:BýÉÒž×YôËL‚¨°p;JÛYØêçèZHÒT+I3ùɧZ°÷Ï.5�7+feõŸV_<»˶�‹/ŸY}¯íØÎ™—Ï\ÿÊÙ…¥Öêr»bÕzeùívëŽFûÆÚ¢˜·»›ö½ÞéOœ¾qC%çÏ�¿ö=¯`ûí¯^?yâ$ˆþ^σ=Îʻˋ/,Ù÷7îtºŸûÌE¬¢Ù°/¾r®M%mKµ -È}Pðý s©ÞWô6lÜÈœ Æ¶pF™Td KØ<*=ÔK—/-.,ÂÎ3¨u\ÀÒ¨Q�(XîpF=¨ [±`=Î?‡É<9A'N¯jUûÖ_øX NZ‹¨„¼GAíI+Þ -¼­€¯* -üÖÓ&XiæleueñÙE°/SïöÛß¹vâøÁsun®17·qgmcnÎ25`ç×½-¸kši,!A¦Ã‚g - ÃíÌ=Ÿ`]–N±T‹÷Ê[n&é�hØœÐÃ:! “åþDð˜8Nù¼~ÔÙ²—žG‘e2´Ò„fŒ­ žr…6–˜˜o,¨UŒaJIH^M!|…�™z­¤bA'-]µ¸K¬cø>ÌTÞ®'yöê¹à�šÈC4ØÓP.��)9YÃ@òlH¥ý2™p?HÐ(ê½P,ýS'ŠR -ú}a�g]gC5Lð("Ïê.™…cÁXã$ r÷‚@ôƒ€Îßü~ÔÀÜæÍ›k`þË K2x°¤k3F{}O»‡iÒSÇk z4SM³;œ,.M"->¡&èÅŠUž ´³|Xá.ñÀCÄWœM¹´XúÃYpôé™#¸´z›ý„z[DXìtS“nšQRÅÒuö¨Éeñ¹–}Ÿ ¦�㺵IèƒXOcƒ JÅRͲ²³tµ®¡Ë�Ô*èŒ^˜\T½ž{ãfûü¹%z§_3-j$ö ƒ‹�I]�‡ /¡%ñ©Ê(ö8U4 I2ó‰@É3J~êÀ 'ó´É:Á¶(êbרʰX|Ì%†ô_ŒÑ¤—tP½ ¤¿`50«ŠŸ îÜ ÅH_ûåþÜq=¹јÕÍ~¶õ”{p�ï/Ç¿ÀHj¯fŒmÄú€u@³Y³íÉ÷TÌÊžm�U³@À‘aB* |KÓlþײ¡©Z•Þ@“¨:׉®™ñÜΟkqª¤?~ähŒný�øU50ÿ[ç�“¥Q²€ô‡žQ§hVƒ¼>µÐBÙ}Īi`¬¸ÌµÒߢÄœ´N5/^8˜]§vdWIu÷Ÿ›zóOI€–™ÃÕ˜ëú»³» o D0‘=fzP}™ì]&W–¿Ç'·îÈÌóÚ8hZ¹�ºYð8 LÃ?µ:€Õ€1=1JñMž˜(ú¥¨ã�bŽ›½ø…mÒ[y²v1x‘ÌÎ){çèÎŒFJ²®­#ºu¸Âajó�ad¼ºY=Î]ÃÃ5ÂÜ´5Mþ$ÔN�¢u‚ƳÊ:ÓöSºA!ûˆ`%s0|ŸÓLê¢Â@ËO vF±çßfÛ?�HŸ|ô>ò˲W•V"g·�†l¯ ¶Œ¸‰# -Ó2!Ö -è3rÍà'Š0Ø\Ó�U\‰w0þÃ,w•²™ué€OýìKo~ÿÖÚ=w­á‚€O4W(Þ„À¹_«Dõ±èóŽl½¶?Ÿ´\KP™j�ZŒ¯\Ò 5œÜl(ËÅ$³ëeÍNÕò F{3¤Û ›™‹ÃšÖ‰ u‰˾ -,ÒŪPÁõY©í¥ŸTAÀɨ¤i˜´DÁßñ'™ö ÀÜL !ë ö’nÕªÉÒß“<8Ù$•¶…ŽÑ̈Ü9,™yÎz!Ò}¢-~ôælÉkcÞ¡,‡8 ˆ}NÀb°(žãôPª6�ïít››Sa“éòwð ^¶ºbùªÒv1FÑÿ¸ËÐu <€´—EHV©¼È´2pt¸?` Acõƒ¶ã`ûó74•OàyÁ®š8mæ–,HÃ&µCƒã�Ȉ~>™©Röæ�ê¡]u_i–ø?ãü*óWëµEŠzI¶_P7¨ÀI ¯ä[/à•· »ÆÞ´k„?æº�ÏŸìÛfŽT{Îda‚ªcé�:ox�Ö»v×cj\ØÀö_Là/%ƒ,©p¸˜{Ý™xöÁÖ^ßî€ ¬ix|ººçe™"Μð–šbj—Dž¢’�O„»Šl¬©:صq6�{Œ-“ã®ìôOd™÷<‹Z1@ ´×î,.IÜâTúÔ+ÄØÔ64\QÀ}¶*Z÷`«#)/„Š¡(>‡ æï&NU㕃†áVLÿÂ;Çcn®ƒµ†È?qlê%„u;Á0‡º^À"'†0ÌÏg"|Ú*§øØt -¶Ýj±´ùÐ-¤�Bˆ nÄýAåð^žn•²:*éº(�i³{§ôœ¹c­KõÕÖ3‹­…Å.ÙÑú¡YD4"î>8º®Dã„–a¥Ã5ðAë© B€Eçã6g/<­áá8ʬõ Ôƒ,ë¤õ#5·ª©SßçRSÜiñ€Å ·Ìñ‘ï6ÕXêîjN. Îä •C•í­]æ HÿþÃë€~�ØKªÕÞ½õ^·sêãgáÄ^_;ó_\Ð8†6H�å(+ú‘I°/©�)¹8h›£ª8‚ôã?^æߤR³—žkÁI5ÃÙs›w=qWœzÒ�RMcµõdíUÎ�xzöì¹Åæ¬ÝY·›³5ô=*Èk>Yyýõå� §^—³=­­cwlʾçV›»Œ„NÇ.W0vÜ÷™ª—KŒ‘ DHV\\yÆKˆ»>ª¦ V[j¸Ù�>è>÷|¿Vµ¼í€¥?Ý ,¹~r¥o蕚Õ$@/Níõ‹AúwîuÏ~| N¸ -Hpäg( "y'7s�Ø7m2¢H8§‚”‹•)2 -“6ÔýsH)Ì8Jj'î£!¸‚ŠªçQ¾“«�÷… 6„Ê� -\´ú¸ß2«C�iP“s<²­£�'—IÚŒ¼*3=yþsL«|hóhsv6•þ‚ø×Òs¦a‘'É:æ¬Iʦ)r2>Éá&^ùð'Œ¨çóÅà1ãi%ÕhØú+5°ú‹¾Ö¥ÀßW¬€ÒÞîÒµ)mÃØøä¤?-È}æÉ¢“  c92d”Ê‚Ó4$?¾´Ô&ðÖV ®…eª>ö6†Fû³S®ëpÄKº’iéZ^Y9óü¢Ndv¥âÁ1ófãÖ™xŸ›Û›!ð¶½ìÌQ -{E•¹1aâ^W]+€ðamÆgZ”*ÂM™ -�qÖÅL,Ê9K~s¶fŒ7†èºD‘ÕFË�eÛrÙ6Ꙫ-²_} WÁ±a�‡«ëµ� ÿAúƒ†p4è »×¢ýy 1Ê\[œçVuÖÉòEÔœŠžÎ!ö¸«›é_JD2b�(€ÍîúLC‚a�è8›ekfõ­+•CÕru¦só†85!f©>1 -€¥ÿõ¿¿T"[¤?x ¤JÕAï÷µ#Ä1ùt�è…¤m}’‹IÿW.¾š@�ôÿí_¸ø‡~iùftÀ©Í›·;çÑçEÀc�ˆ �ûpdÛìnòÂ4p[*ýƒO#Ë‚M*ÌQÓŠé�ÃÂæÿCü­2VŽ'^E!AŽ£[V`ŒÔ™‰­ÝƒKŠQÌÙ¶óöRâ/–(ªãûñEúz�"~pwýA§f�4©¥2èX¸ûÞg_Å ïò÷ñÍ ú;�:;‚’÷§Î¯<,+Ð UÉæx0T‚ó8å·]�—±Ž<|ìÅ©}àê¾6ô¸ íÈG €¦=Þ�‰/X©j‚GÆÕ¢DoÇ®‰:>ŠIxjzèvpÝ:vÖîØK‰Œ¦ø²š°aó+Rb&9°(¥7à pÈ1ºdÅÁ„_ýÁªëv@ôóÛî®o>91ö  IDAT+#9`û‡‘¶?ÚdC?� r²$5ü™^é �SÁœÖ)¥”ÏàËS….„ߟåf€¥áºˆÎÄ’9œ%|‡Ó¡àJß³ü´*¥ùEé_�åpU©#;YNà,S�LËSd,LˆüP¶Žã‚ €À“^0ÿ“oês4 ¼ �H¿y½ëTÊRe‚è_Z”! =!4]8ulõæÚÏ}žj=3,r�'1íwùÍkÇæfûŽ]±&k6µr�äœêô%«Áp–Ü/úñ‚Éü÷é˜Ú.øDvƒ*“€G<9�²ÈØéüO…gúqÝP»m·RÑjµZ»Ý†g×µ{õ$Èó�3O…I‰ˆ¼è<·qq± £�Ê+H ±±…GÅþ^e,ó< òy5kBñ-Pqg‡’` ’ûHÀñë¬÷ˆT$ÃfµæÜlgmöc­c7–1ézþ3?wý;¯ÃIóÄ|çödÈ@0ÿÎÕ{Åóƒ>Åc-š³ ¨zRˆo§rŸáé€]zÙ´:µÛ?�Žý›ß[aW€¥?ˆ~‘ø£@ø=§/šSøgeﳿýC[‡Mš lT™³@‘æR°˜²ƒÊx\*楻CŒ§*©œA­�r˜Ø:–Û Ô%”…§v¸f6ZAÀ\fJiZq\糟õúýÉWþúò§?}±×ÇÜû­ÛoüJÿW?ÿª5ÓÒè V×ÊVµ\*�‡1<7´ÎŽy>VB¥uFUãBÙAá+bÌkߣzج×M”¸ÑØß¦Ç R”4ˆsI,¨ 0_7ŽÈ8C¡^¬ßI4l(Çd…MAÒè†CPÞ6ÍÁ}©ë…’ç…ºn‚yÕ¨U'Ù´1&@0½6"Õ&•'HÊdm“åŽÒW‘¢ÊÊ«Rú?Ö#ß»±ô‡£ÓíÌ¿ôéMRÍŸú"ü Ò߬ÏvWßÙ¸õ>èØo\»43ÛÚ\oƒ°2x�f˜3O̱ô7ëÔ�ÒYËþ -耹8ó £bl¼�®ÁL€;™¯!ù%£± "µ¬ŽÓÌÛ»?”_ÎÒÿÆÍ]¬\•CLÇõܤ@mád]/—VÐ^xþ t¾t@l¯G((Õš!(A‚²4…4E „çÒÏkOÐ +‚G²ÇÕ2unXcÀõ0¼8cr3>¶—úŠ N–Šèû;»pìžÃQT8úàMÓJwdÍܱ‰­×hV7šU8 -$íZG,�:LT71˜Gૈ Jdæ–âVĨ4•aDJ:m)×µÇØÿdò§@‚Ì|…�jLÁel°L-zø9ø ­˜|[RDK“˜zn ý»Ž{«½ô CK£Ø)jG]uF£ ”…r*ýÓ­R1VWÛA`WiˆiÓnµ<"Úã�žËˆp§•Æ‹¹^õ$ƒ [É’$,ŠÉ�hÚ$ì�òtÊ[ÀÎM¬+G†)Âe�ÿU -éLùu5gJ×öl)ÒÉžmù;WLp -�¤;Z¤Æ¬¼ –)£ •i0âæ˜ì·ùaÄO‘ý¶É â÷Än×Ó§UØá•³/žÍ~ñb¹H÷·~íkßøö·þÃxþÔ)�þéŸ$ýkpœ Z�xKôãñda†ЗOOÄBwݵªFàG0±© A½Ž'e� ê0JRܨ”M3(X»†A!¤ðX&C¿Žëš¼T�Ýû“�ÌÓÅØI %¼bâ"ï»nÅ4‘n�¨}ER¢Ày"Á—W3„4†‚ðçiþ€¹Èå¡Ù͹¿Îís+ÿpiñ'08л·vêãD‚P83‡NV{ùš»±»ל»Q�û°W›-Ø�=wD¿|[~æ=Ñr¿qLzm(ú� -X±òÙ 6@úk庖ô1EØ}g¨„”�—ÅG¸µoËÉñÂ| œ& -zç¦ü•%Ÿa}V¡â„#87oo˜æÞ{ß|¸5øh#ýÓCB 7û°`Ç“Ýìt,ý7Ð2zµ|8ß¹�DÆï ì{}Vç_Zâ\.Øw{0F´Ýj9‚§X@• ÿ—JwVÿiµy¼Y%^ÉÉ;#Äê�#ת:ýŽUi†Iý1ƒÞе*5�þàJëô= Ô6ºîëW¿~á“gY 0:[�Ú,ªìÖ n˜Œ¥ô�âTú+ÄäÀ爮H“•;Nt�›EÝ*› ÒXÇ�Ø$y–[Fžg,)ßuáŒ-J£.„ÄåÂê{Tš:8Û Òt@ëð.ÕÎ5v`A' ·É1ÿ˜Ë:ÇPf; ÷`#2DIo\¹z&Ì4°ý]—šªLkÐçô©Œ½€ù/¤HQ­@žÆÄùŒ Ìú”ÆõšˆEj(쾓ŸOC ðª™¬Y¤Ê !áEx.k”¢Æ BDÎ…¢_`²D³LÃ}øÛ¸ã+œn5±Î=œßp”¯¿u½u¢e¶¬#P¬ÀP€‘Ϭ/©à“´5Gª -Y³Ñïxžeˆ½ÄΆOWEo¦LxÀõ§qÜ6~ˆ+îÚÛ×Î~ü,ý©ÞÀ£Ùaó¥/|êíwçÀöÜwj’céŸ\ªVÚvÄ�8]­ORb&Vp@Y-È}0ÿÙ¬ÁD}(9U/Sß)È“ÀTâ:“+Ï0Úঢ˜ê¤eßÒÿGÙÛÇ‘žwb/¦§=h̰›61;XpgÉ" jWôR»–—ÑZ¶Åöê�Ü�N®ºÒ?q9•r.©J)IåÊU©Jîê*Wv®êªTWeG—K®$Ç·gÉò:\Ë»&Ò.¡]a—Ô,A gÐÀ°›=hL£{z&ÏÇÛ= �+'½]½ÍÁLOO¿ïû|?¿¸"ŸdX-×óŽ}©mCeœÎcKËWïm¬­�è¯7­f³0mYeD}àU‘ö:e=Y„‹‘Töº `t`ÄÁÜ„™ä´P�¥ÆÆ�½dåÕך﯂°çË‚¤?˜ÿOÍß|ý[‚ÜÞÍ·ÿ¼J - R[÷Ï,#õJí¹¥öGQ.^¹:@�’0g[�•+ 'ôéãÅ ¼�ôŸ=s®}ïìK¯8»�1¦Ê¢¾ -@° ë`¥Çä`«Å¤’>Ùл´(—÷¥…ù÷?BoÖ$¬Ì=.@"äÿÜ|£4Ým~ŒñýÆ3¶Z˜Ø}ˆÑJ8®¬4Î/7ÿ ÃìŽGko7˜9%!Ûþú>^†çy„U¹“jÅRZâ¸Író§ÍÅOáW½ÌÐx¤²<,þ�±Ià ª^œž.rXÉHiu+föüÈÓµw7@ôƒ' ÌezôÔ@À˜ TN—÷xë´öfë3zNêHÙÁ²ªwNCjUÕŠhþgIÚ’väã‚ ">‰Ä%£%Áø>_–£« �š&îð²æØF‹R1šª@ú³ðI:€~]g–úªx³•QˆŸÿ©LD®m�7”ËBEÄšlŸâ6­–“$>KÿÅ…Å••ËÿÁãh\®#OçØðd€r?ìsü‡úrä ��E³ž‡•Í8v�Š.›xÒ�ëÊÃ./FcHÆa1‚Y9CÇš1Ù#ŒÂ(`ß·XÊðŽàäò ¸œ›Ä¨Ú¸°èQ«MÆ‹* -¼ÀLú³ŸÁßÈðôÁ¯_ˆ!Š’R(¥þ_œ3üóS¸‡½H/?9s“Qe÷]?ñ͂Ԁ@3–þˆŽxq3,‹~Éë78Þ”°ú.â–¦4ÿ‘·3·Ø$¦®sº4AøG™œCø2ˉšÑp”"K€@ÏJuYú—tÝE],9N`Öžz‚¨,òÒÒf‡Pt£Ãvï§çžÙïÅo~wù•/ûþ¶³Õ³ýÎÝf€áš—º[hƒom·ª³u1¡n¼ýfãÒ -Ì”æ{k+ÿÁ—@SEQ.e>…O³ùÁœ¬¯^«bñÂÊæk^» Ê@ óQsé…«g>u©¹q‹h¸òꯧƒG€!ë«Í�õË/¿ -¶� Ágž¶o¯­nm¼W­Õ‘p¤¬-?Š2U36o½35=Óíl»žÃ3>ŠCPÉ£vòh[+ÛÚÔyÿá-&Љ{!xšpÛØr=Âgr÷#lg רáÚ¾EÈn£Dܾç|ë_ýœõ·ÿSAåÂm§;Q0ZÛÎ,–[9µÓU³b6·Ö°×>wåÜBu¾QÛj¶Å@øn�âpR"˜·Š^AH÷(Ý™„rñ &‹EŠ3jŒ=÷±Ûs«3 -c¡pâCìe˜1+!ÃUb‚Ëd>‡ebRúL–=Ä« �u^W‡ ª?pÒ¶œ2ËzsÏÑ'‡^ö£DDÒNÐõ)SL Aôëš®Rèyz±¢UdmûT0ؘ:ÆF•êÔìü™Ú�þæ=8z¾_µK?ûéQܰ̽�lhïúµÚLHŽsx°O.ªÖiï•ᙣÙ1ªZzï æÞ×Òž~ÃhÜ)œÍ øå&þ¹…ʼnÁКÖͪáî¹ð£Šˆ2 J” ³‰±€PGˆO…9ÆIEHr!ÁKW-Jç6ˆ†!õ°t"QDêòð‘Ћ†5ƒØ8înÍŸ"8U0 K�Ò´¡Òðýš¢s®E$¡O#ý1úÿŸÿ]Œ®þävóž³pÆ^R ê´½åÏ4柭=þí*õ - j`F#Mšx™›¯«†iØaä£ÿ4iÀÎv\p4žnœ®¶þÁú±kš æƒ°?ÐKE�{@€›:3�Åj|GK˜ý>»l¶@{©>½¨–Kzg×ã¸?Ç÷™ù Ú”´«`Œ\_TÖê Äþÿ’>‰ãçB… j�:àøCPÒ@×ñ2VȬ±™YƇû‹17ÃëÄsÂMØ C ¸«ƒ1è~R²ªm{TI%5n†P•®æÒ§þ£À'P„ëo¾qí•/Œ¨l!¦Ë®6¨} -ļÑ'Ï@!y�u¤Ë!3 1ègå=Q -(G Ÿ.� µAÌîÅ1'#ØUXÚ°ô·gmPAÚê”uócɧjÐ,‚„`ì2º7XâE†˜ÃGéO÷©÷zA¹Œe½nsÁ«¼çTú ÅäѳÀqz° {º"Þú)î×·¾ : :?æ?¨8M˵ù›k«Ãƒ¯Óqw°dåm Ç+3öì3 �þ ´ ‰Ãš€.˜ÿpM–þ�%Žæl­[«ƒ -�£QAk ^�åjt¤¬›.Þ>w3ŽcÜlÅÞöâ -ª�ßÛnoQjÅûO(èf™ÈçgŸ³aÿþë«ëžG×ñ6ï9_þ¥eP ¤ÅýÎn÷Ø¥Ú;ãWš÷·U-Bóÿ¾C ‰A£þ'½_ŒKâ(Ü9!¨¨Le…¶ÿ±ïj,ØÎÇ-ý Nä’ G…ÁP�@óCJ´©º�(²ÓÆ€4Ÿ Z£êL¥zª¬Ljܬ/RàzÈ84aM/îjéÈÂ|ö–Ø xùó(îÁüߺ×÷h.QÍn…º�ÞúÊ5÷ úÁ ¨Qzjå3‹üâfVÊ @,_:çì:°�-ÜüØé¿ò 8I¢dùÂÏ˨ [EÑ聾âYù©‚É`¹¨’Ñ‘�°ôÏþÉB‡>’Ý‹'DuíšéÀC†hÄß+Í7ÖJJ‘]¤dâu¥`M3{šR ï�ú1è€îN_„Ë�AU%rË?iÖç¥ qí•Wó�1¡Ê7³j…ÈÙ‡¡™`¹—˜27Xú£�„ðâ” €gHÿ� þ€áȱ^zBŽJ7õ8×úÀÒ®¯u§ãdàB²†>‘χ{•0u•Ž32n¦9°hÐB7½=¹H-Û* 5î ‚ctÔÒ‡€ùÊ÷¨“TÌæhtFfÉ2sÖßD’´ý·ˆca C@ÿÁ­<–DVÅÂ*§ÙYët ¤9¿Š4"Hÿµ`n}ŠD]§½ˆkµü•Aú{{¨<@€Ú/ìw£"�ŸÀ¹�b”´ëþöÚ*;0=:ïhÅ`îž—®Ûð×Ì ¨Í̓às­<ÎãÏÌ]f'`Hþ¾Ì±HˆrqîœíuÀö‡ü�&¯ÿõú?ùcªȡЬ}p¤H 9ß' 1_oná \ûÜ•7oˆÇ6U+ñÜGw᱿2 (‚Ó2,L,)EªÜnà¥ø-†9n`!Sˆe bb G ¯1SIÀ,DÑ Îã`QõTùØ 0»/¨sÚ,1• ¦[†µ7Š™˜ÙD±ƒ5àu‡ìVŠÿ¨È¾„í¤?†€zÂèUN²Y�€í/È éß~ Õ^)íÕ\{;†º],7ZX¨ƒì}ÿ·³4>¨�2™l×ß\5péâÕ;·7¼`þ»倕,aG‰Ìÿ,¬Ìdô°¤=JØ>~&ìeíËÀÈ?ãJö Ý�7З`š)�v’PP^3Â(ýÚ©è×w̲Q3¨çÎÝ É{&ŽªÎ)e¼sMI�bC¶O[UÓízZ.f�¶#u3óOpñOœv -ÉŽoÆ@Óh˜�•ôÌ9ä²Ñ!%“Pú+„AË/ -£„þ·ã‰Q¼ùA“=Æ4•! ŠÙ2߯.t/ ؈ ¦7ãâµ ×Iý‚Q¢`zÔ›Jvã§��TN½Ç¨;@ô+9TmP–Ò =mòÒs•,Ö);¤ €ÀHB裬 `¶zqìŠfØÕ€ �¸á ñAîƒèîùpÎ!!$[ ÿ -d`Ž%Ø&ac©xBRp›ÇÔ5†?ë€v³½ôéóÇh…äWƒ+Ì4ˆ‡qq8RKªÉ¸%]²ß9¼¨’Êé9Ë2á¨&ùú{�(ö]ñ ÏÃÿ¯ÿÑ6ž»º´òböC™,W ’‰#cJíÌÜÆ[¦ÄÒË¿žáŒ¯}ï[f¯gÕê‚óré&Yè9mÓ®Á”…]¿èû>Èn¯Ü|ãÛ $Xµ¬½ñ]½Xš_ºäï9•é„ÙFŸœèÇÃ~\eÚ˜(D3OÙ�´;Aª‚ãEAká[z¹¦QÁ%µ¨‰Âd!ÜMÝl?ð;ížÿ°ÿÞFëµ_»¶öþæ¶ÏU S°p=¢§¿kéÜ|{Ä…*@Šâ"“ªZ6|®öŒíJÍp8DZs8F‡4ÎEQ­`ìšx”è%„[ - xsÓ#bÕaï®�¾/†Í´ÔáİPÇ9„ðGž~ÂàÔ“Ï0®-Sµ "vã},(V�W¢ˆ¹À¨Á?GàïÓJhþG‰2ÕÁÃ)¼‹ücq(ûaŒÕ>!+@"¦ˆf1Ø ÆDÕœn3�¬Úêì¹J *E�Qš’T«0Ô6wi*bn~.mÀÆ$s@Qg1Qpöel¼g×,USœ�Ð®Ù¼Š’~¨ ûdÝÙmå±@‚ž[ÆõÏ)6—4uÒ¨LiÔ²¦-ëT)¼�³AFý)Ûzºäd>W.Q¿%XvÕK�+T’0I@ƒN&‚]�ŽKsQøûxñf¹F.Xg°”�†5]c>?Ó*›'+žï›L¤Ò¿ˆUðå2æDñWh˜T „SJOe~Œ9UävÍ’‡Ãaœk -cq÷6fxH™ê r_F -„¤«8, 6Bÿö€¬·ÈøPF WëâeãrÌ•(e5TƒGÔem’aTšB~ŒPS䃫HàæWžO•™R€›ÑÁ íq…ZÌ”rQ )šGæÇ†{ÃÐa Ô -ýA FC‚õc¬z(°ù IDAT#!éH„ä0F…Ð -õ…y·ëît÷T½°ú£Õ—^~Ñõà±ëq -Þ„½èØ}°/ceYÒs¸@Úh°ÜD -²¥ø·èE°ßUC7 ™eÅ´KØW'õø0„£2A?IÓÔbð™ ³Tœ5&ýn·{ùÓÝÞ]� –˜~¢’`}D!&Å~ßS. Hkà4ª�N]cg{þòËÕ¨ ‚á×í3ç*fµÕ¼]&¦žn/¶NŽl²R-Ÿìz”þðÝ\Òæì<ìÞƒmVp„s–ûøž‡ø~øgãÂey¾¿´´ÔÜînvp@ú/œleÆŽ)QÌ �!2Š( JðÛø&Ï.�;ï¾1û³;µgÏÑc Õнa/»K�³‘Á‚‹Ò!;ŒHA!šËgë¿÷µ×^ÿkÌplµÆ�ûçŸ;ÃçŸy\hüƒ]i-¾ñßé¿òŠlAlï¹àw[ä]r½f‹(XÍSDrIupŒBÙòÎç¹ôÂõ"P‘-æàÞnás8OÔ\Ũx ‚”í€ñ!@„gå4™B£¬ÛuË(.ñFfAeQœz4в)h4ú�ZÝGÛ©*^ûµ«bP[}[â&iêŽrQ©ô«)öHš!ÕŠ ~Z.­“£¸Geݽ€s$n¯Óln�ôo~¼Z ^Ùø‡iîÙ±rŸÍ+÷åu}­iSS¨óÀ�WÀÇ…“…óçgöå Wœ‡ã2b’þh<úŸÌûÆHÿÖgí§­å‹Œ$Êa¼`ë°"å2(p¤ÜÀE”\ÅäÞºŠaNi%‚ ï%ÂÐ=ͪٹßiî{ÖÉŠûÐoœ­ -×iLñq¦8å²dc¦ÂU~ƒ�-r1YŽãp9÷îŒÑÇpî ÇU:Ó²Ø�èkXóh3ì<¡çDXR`O ÕŸa0§§"\‘åÚbr‡Q‚°ª³Ó0¦¿ø@Â…2?-ˆ~A“0—2r‡¸û$ý…ìòž²òn è¿Û'v-™à.'.x¿uóVÆñpå¹<ý}¿’âtrI¨Ž�)FŸ -fJìäšò’Q¢¥¥hEqu�|<žKKPþÞûØÙ"ò?8®›ëElàXž1—WdÎ`ù3ËöS6ìNÍYxöÒ:VmÛöÜÆæûð×…¥ÆÍ·nÙ§ ÐëÍ:�±�#vMˆ'möé#5vY‹?8[ Ø*—µF¹TÊRcÔ@÷aSE®˜ÐëµõÉ'èà[?ÚðöÛ+/,yÑf„+¨…˜B ‹Ä“ˆ!Däp·2·&ã΄»bZÚèp˜„¬MÊÉ4™£fAø&¬Ê�”4¶hvR¾YµtA/öÃA†'ÙxÁI7Þ¼)uq”s×z%¦¡zðf ‘¸D5¡®(䵎¹~˜ÕìŠBYÉß+«ƒ&ÇüºÙ²æžIØÀÈt@‹âÃårYK¬D*úeÜæo©èÿ9›¦•’x<â¼ ÇOË�n'DÌ;UÏzÁÈÍJŸ, t]�ÉÑH‘ã$ž HØ\ÐÆa˜«J;²1X}!mÿ ¸êñ›kÞĨwãÅkìÀæÜ»{ƒâ³àdj@þæ\Nʧ@X·Ùà Ì·}�Ï=Âí±NaýèLQôƒùNÿÔ^¯ƒÄNdÒ_¤@†|ÂæþNÀÐ|gµ“z8XþO-õ¹µVH!31樋µV­½‹SD¦gß߬]½ÒtÀ™úïþÝ߄׾põ2(€ï¼qsãÎÖ‡݃½}óG úÿÎo}y}c3/úÛ;+éI(°ñÇ%ÜCÃ/bh j”Ã|Œ±6ÃÁ?>6éæ÷Æ“ ƒxC‘Ùãù‚¢ ªW¤•YÅtà÷AT­qE|~²æq1|üXµ@¨Ÿ# >­­­:ÕŒ1L#›lY•7¥þ€/Êl«Ÿ¿å;Ô ƒð�ˆÎ0‡-¬ÓÉÖ3rzø^ÌN€@àÁί—Šmñ® PÙ  HÿõV«§Læ›À ¶Ö}t88¶¸ÔØÜh<|BÉQ>šÀÙÝcI -r61륖%†û£Ð2,—À|Àöo¥èàŹÊqv––ÀÛ/€ôç‹þcø3`jfÒŽ’ó�Jé“ …›7Q¶çŒÄÊ’Cšd& )dúÎ ª,Ñ[ƒžœ~ jKß�*�Ô˜RÅ0€ùϼ›0©`/M©Ì®óøËšá“ t�Cê$é¯I� Ké6ÌpIðRE‰¬†�ÿ£HvÆÊoÁHzQ4n×uSS‰uKÿÌ (¥ -à“BöBHž">ÿ9ëü-íVa–ò¼©€�?a)c¯Fˆ$ï  -Å# -&&ÍÇþHÐèY?–|†ªNrn jiv{cÜ4Œþ‘¡ÅÃ"|<3ÿùZ¬Fe'X[ÄØEøÐ³‚1ë+õ9T4…Be¦z÷f{XŸ×§� M'"6%1`Ú™f­kÌÜýÑ�0 8lí†×qæ/>Ÿ ^Õ§ëK/_ëÞoPòö\Q�ÝìÕD­ƒÏ{^ý IFRƒ1U"döàF<Ó+åy¢ÀW§ §µÅ™†d„²m“tTŒÙK�ßV`�„2ZJï¼ûqÔ¨}R>œ®ë}ëõë¿ý×–¯ýÑŸ^ÿ×ÿÏ6‚0Üø¸ãî¹þ#í§” -.ê—ÌÊÚýæ÷ßZ}çÇï¿ðüE°$ñ6fE Ü À8eL€³¬¬�°&O¢Hxá á‰@˜ÆŽT`¸üžwîlC×­í{kàIT$^c�‘IJt#¨Dý}¬œQ¿Vzµ:7Ž|/²ëÔ£[¥2ØC8ñúãì";pÄ Æ@’ÿp »22 m¦»�âlqé ìÍ[ý�^©³s-²nÆ Iá‡"8D¼­¨«ŠB¯G|nhj†Gï!æ%RŸ":n�± -0ÜAÏ‘¸=‡X°ÂPº8¶""GÅ«M�6´Ií,ôey6^QžÍõ<¬©ÎÕÂ�¸i½Põ´9$;½j›[?k3™{û~»2­#�3M9sƼsæXX{ºvçnóú­}éË×ó³ºÓ§° ]ŒPrü™|Y…úKüý@Zt€=½ÜÛ¥�57èsY0(òâxÙü ¹ön{ùââPÙ/U* *ªÕ - ÓdÄÏ�Ø/ä–D*ËPE1* ÌùrüeèË”äRÆ‹~�ˆF²æ K¡hí�|ÁP>—Àƒå¯$Œ› /VÊjÖ[7!Å÷`ó³0¢NŽQ1ÄVà ‹ËþꃸŸ²9饩k_ÂÊï÷Þ}/AB|ÔðKûû±÷H6)TÕ{˜ÿïÇÒ.Q´!¶F,.ò�Äa‚üNGî^jDŸFH¸dcÿó¤Öà´bܺ¹QÁ€Ê<6ÿßÿÉí…ç¤ÍZ)W1…[Ô1[C(:"C3�#5±H2ékQáî‘Ðb�: -D«¦MrŽ„Ö!I°TüÃC/ ‡)ñ 8…£1ž9 2ÌgÓ‹ÌHPÕª¡ãØ1Z†.ÔgV ÍP5Z‘ í µ”ôà ´fDrØ­˜Õíû·ã‰®ç&)†^/àl9Â(Ê8â‘�LÛ\ -g[§ž j|æŠÛÞ®LŽû19ˆ$OÅÛÙn\¼Ò|_¬½ñí, ÜX¹¬OW‚G)æÓuýp„=Ü2­OœS¶œ²Æ4Œ4ú¦]ì!ÿ„§Êµ¸´n¯«“G{EAô–ðÚùײNÞ¶ZRØÜp´Ûuœî,E-/,xî Ï6@lRã8ø Ôûz»Õ½ûú7wîlý�ÿâ÷áäŸÿó?~þ…K•©Hz»g[84ÉÂ…¾.ÊųÈêZ?ŒYá©ÚxxW'¿emÆþ£@%ÜyeRS¨á‰qoÒjŠ-:X3äþçý ßmÒ3‰U¦»Û«ÎTÌ’Î%pt}ǪÕÔ¡Èp ‚°ë¸›FIšÿ׿wãÚ¯]u÷Ž»àcÁžÅI1òð¤ 'hæ0DBsʶÕ(ŠøÝaÈÊÐù3Dt,&ð¯ýhX“Œ­¶·È’aËÄœt¬ë¹´‡× »;rÜ“Ã~×ñºÔhë¼@.ÓZ8;{ãN¯ÿé[L×Òt0Ç�`ë´÷ÀQtt×ßݼöå«ï­"{̕ϯ¬þ`­–‹õQW£<„8Áùè[ÑÞ.…Èm‹!‚íÓ3ëïoÞkµ®V�Lã( ÀÚ6&ËóvD92«nºñÖsD7?hYvÅÛEÁZ¡X?ÕYýíT\•r †ÎF˜�8ÎJÂàéßÓ> 2¢c ŽsÛâNƒ&.‘þ¶º:;'£…Rd -pj -Œ>b`>‚›ó±#�J½©·Ÿ š’Ea#¿Ò‡)�y˜FK¸OxŽ@|¹¿úo}ÿøoÿéç_þbøåŠœ±¥2Þ §óS’ëå,JÚÁƒ'9¿m˜ViS3¿ð¤p²¬é¤-}šwé©—ÉÒ+g»G¦a?çAèDц=Ô¡™ùÞ‘Êr3ç°ôláGX”‹Me_r¹ä> ÒßsœÆ…#0ªV]VÖ7ß]mPãU�‘6Ë.¢ 5Í:ÀÛ©»I‹Ô˜¾Ù7NŒ'4ˆþc�iûn“ºEóÃfã|céò’·ïÁ³à60ÿuï?I i¥À­íGDÏÒ‹×ôbéúŸ| œ;½ç#ãQ=»w÷mYêSúÖÏpΓElÛÕõnƒô¿öÊ‹*MÄ÷6¥Ûþú_^¿M]ãUŸì—é -ç‡AôÃ.Hôä?Ë)ÆRMM‡µ™#)“Z]Ž è£jÄ1þÜq -K,ʬp8á›lS -z¿ßÝ¢"ÚùùƇëMö`ï£é.PúOj 1‚i9R'¢‡“`5:WLã—rQvëã–Ÿòóu÷üî^tÅ.â8çf"ìÏàˆ¢:¶ÙD=áíVªó3�Ï3ð‘#´#¬NŽ]ĆŠüM˜†¥b‰ˆl0Ê7©˜eÕCl€˜Gð§(UcX4=àŒ"E¥Ù8ÈyîlC…ƒñ QsJdØþ|n–gÅùzè†2|·Ó ‚þÂâx�è¿{§ ;ÜìÚ»›Œ·uýuYòë<8²�öÞògá¯ËÔñ°¶vke3[›ÍEäÑEé?sj¼JKíìì�Pz,‰4Å€¯óúø¥,ý›9º ÀÇ—¢aq ×ã�7.ÔA ¸Žß8Ó¸q¯¾xþU7Ôê3íÖx9ÖÌ‘¸�ü®ÒYªU–ÃR®&gšUJ#SH55Sç�@Ô¿£M–W_¾Ì¿—R ’ŠC™Tã P C~oYÀ!~îƒ Ö²¼ÄÉé@'¸`Ùb )Úþ*¢klD–ˆr®æ˜ {˜ÿà -(�!¦‚:ä>õ‘׌e—X†¿×š)=ôñA ôÑiuÁXùìÂÖÏÔèÌÓÇû¡PîF‰Ä‚Gˢϴb_I;59øÃËý²YÎú3õ…yý�‹X虉�†‡12=VŒ¬ÍÊЫbâYð2§Y;úà0î"’=±AëØ¯�À€†jÑÃÂãæXª¡–ï8ø Ç¢ ³3åt{3Å/GÐŒ]ÌGñ·mà$ýÜôH§JítUÉùavU48–o~'€{q·ÿ¨=w¦úàúÔ   ö -òÎ9 -æ0¨�‰à<Ýxó˜ÿðâÝÛnVY´ùQkñ¹:›íuB½54œ€¬ íhš9Y‹Œ 8pÒxºvëÍ ùÓº~5çI€ô‡¹t뇛�sxÍ[o­]~yÅïù­VkéSKpœR kVÏCl"䘪êÓÂõeV ©oT/b\g Žá1îŠÌü%wã­[œTÏ)!QšTQ/Ö@¤ÒÖµŠeGF„;“Ìì#ú1¼®© p’0]„‚0GÌö7š•´¢lÿüŸü^tÀ±Ê@f¹Á:¢8È¢üY†_`-¾j2Ép{ýHW”R¦‚U²ßdý/oÞ"ùˆ·›ƒ¯«=3g_xíóp|ý»?pzŒ´ÊhÀ£ ~:§ºZ€�tœÄ˜ýddE3À3 - ‰â;ÛóÏ4à&u]F%¡0•¡«’÷ÒMSå9ðãÞ#qޤª³³æ<ì.ƒç^5Ö7o÷ëõuV€k WÙúY“­‘ë?DÿvzfÖÔ+§kUÓ¸}·Ùu=®µð}|bå†Q©0£@á ‚7ƒ±”ŠîõBo¿ß81«¤Äod@�iÓ×°Z)‚«¬éôW½l…Ó ÍË;éMÜÓèïí·Ïªì£w G�•¥é¸ -<µA\*‚:AÞ ‘’‚R^a"+×&åÝzgãê/^e™öKº"á QL�4¸X©¤Ž†F†Øµ€‚UÂgD]ÛêÛ3g¯¿qÝ>mƒ‹Q²ôk¿²ØîP]!Z$�u)È {!¡†2üQ“˜ ‘ a¶bûÈ’d”„¹¶IÌ-iñ©`/’˜£À7 -Sªg�±`× Øì6›Z¨�Â^ŒÔ:b¬?;NR“MC¹3œàt¨}²œ$1'0q›À§ÆÅŽ~Úi ßÞ}¸a"#جFE3Y¶-FU=# 0¸ŒÞ¦!Pß ÀÑtwÃë�ú ¤†™ÓpãMXJ×A”¤å 5‘øöŒ¦CXHºª»>øü/Ô¾ó|»>?wåsW~pý�êI»Zµ»ÛŽQMS”º�PØ/ñJ2áÜzWº­í´ãÎÝ­3gì�÷ïÁ'Á£>ìöS³¦¥+‰¢V«u;~§Óµf—îþtÜijŸªßxscñB½bé›6gˆº®ûýþÊÉŠ.tÿ¡_1µÎƒ½˜œ27Y'*î#_/¥¢¾¹q{æTÁsÛg�Léz¢+F©ô»š"ãàœ.Ò©vF/©ð¼aλÙE"ÛeMQJ -œcÒR]‚»ˆÄFªÀ aáÎ^^™mïµn?¸³<:÷öÛo\½z­?Ã}\ÈaèwU £fL•¹¬ zÐsh|ƒ Ô¨äŠ#Z F8cLWá»”´¿2³>ãÃ�³§a~{…³Ò `ñEE#l°Æê• ‰N -µ HÆGIÝJ3%ñV-y '^81A=&ƒq¥)HƒrIë�_‹Tî>FE -‘u²lž6Æéâf†4Ê�4ë 'H*—ÀÖ½²ÆÎiït È¢·çPJ®ß¼n?ݰ*Ò‹£î{TZš0§˜¤4ÑP <‘°æò —f)uù•¯`ŽH'ðK¿öyþ+HØù¼”«�c«ïsz Ž� U>ôã¨Danª °�Ù™HØ.ø~!-ÌJCµ|¼'P`ß–¹ywŒD½~ß¹¶Üp*Á�û-ý`ñ‹"eFÜsñPÙG@ú/œm¼LÝ.K„$êÃÀ÷�r%襨ԃˆÁvÚ-·V·`w;.gùEÊ4;ˆò�B:n�ª? Œÿäs6­Ãæ�6q"mÍÇ´Y”0a=o¡.¸ážbWÕ Ÿp„Ç$E[u¦ÚÝCAã³Jéš -¢¿ß�ûXe¬ŠžØvœÊQ4æ®ß6*ÖòÅeP Ž0j§åðH×�8YRN±e“FD³ÔPà|ŒYE‡ã¿ŒX€m5ÄPˆ¡”(•òÉ|¢eÑ?”þ`(õŒÿ¶×“AfŠ9m"çpQKt•«YpÉþKSÀ¹ÑiËÿþ^¤g*«åIÅ£ÂPœ5�©†V¤IÌd8=ÿéœÃþøÔé¶B‚rvºíŽŒÁIV?3?ßêõ77l»bŸ*·¶¶AúÏQÔ”¥?>ÿ‡ ê]Ù%è|ðlö0Œ~ý©•tèéwèYFuõÝ·³ æ±Á³„‡H5ŸH‘M SSÄ0nÕ �Õûsï´à¸ËXá™°fé_¯þÁ'þ~ùàNi™of -cÐÈÛ• 'PÞqiP»oàu SÊðŒÓ­;wÇHU ÷ENF”/ØUJ�ºò@úƒWž¤Yõ|Ëå×çk/åüù—H÷C [ãPW¡Ý®AÀ‚�†‘ÀöuÌ>HVë7%É胊‚AÑ\N^ü€òÜro[þß3'-Ö6)'÷6ò­ãð×ëõž/ƒn¬fs”Ó`ûƒþ€OèõÚó|öB-ýY>tØM�4áÌ Ë}Ñþ>8˜ÿ}Ž!ؼ4WaÿñGæ°ßW©^DkæÌCþ¼A�C·Hd‘LØd0‚ðöc–þç—�Äèp•‘°Fê•QlYàQE ælÛ'QëM·8;ìè MÊ8Î !0©¡Q͸ôàÊé…ÙǬsšŠØ–¢@Mùˆ˜¯I”9õ,â©{@‘Öˆãþ�¨Bjäá>�•X€«ëí‡Û¤LLJCQYúGô¶l‚½É!iŒG+I -mRÕµ\)¼Ít€—–E¸GC@,ý±`‰’íà€èæàž"RÜ\bŸ®ŽÛÒ -P -åHîma Ïqääqv{w?@�ÕÀýVëÁñ¾¾ðÜ2§¬ " ä>ßúþ*ìÊtPKiMä°O›°S:I†eúI4 [Ï•^ÂúÚ`£%ZàÙƒØÛíÍœ*/^jTO›YÊ�O²í»p\y~ií� ýD¤ÿ­õ�ÆÓu«ªƒU¶¿mmÃ4+–5îÚ Â®Z,3D>ÆÁAž»[(ã¢á˜]€$wnê†æî¥)U)޽gÈ0¹ÔT®m¬Îžš«Íà/}é%‰d™øÏ>EÏ‘/$õTl÷5b-ˆ¢À( -æí€c潕¦Êª‚8NÆ4|8¸ lúHD(Œ}x'HЛkcÆà¢Èìa˜~X0ªKÀ>6ÿAúkzA›(D9�JÙ¹ù˜%Í/KŽÊÆ}ê1œ’�·¹å¬œnd8 $Î�ÒcB­¨Xl5©›OÍ "õ¤¿ÝX€c7à Dêò‹×ظfébz8¢¬ɬÝÇdƒÃñWž¿˜…€~Îöå/IW€Ý‹þ¡´S4JNªI¡TDüAùC�ûðܱKË™¨à£ p¿yn¶S6øìh�O{¥.€ßZß—ÌÒoLÌrÅÑjö8èæÑ-fØ;äZV©-nc³ æ?ÏL?˜ÿN í£HHWQ}¬‹$¯ðéM—²˜`)�>ƒùÒÿÖêæ°:ø-xq0ÿƒ´€*èETì£ÀIŸƒraRÒ‘ö’‘uÁ€?;ÝØHî+'tЮ·¯þ⑌‚—‰øD¥H©;÷‚ R|ù HðùÌ% IDATlm¬bÊÒÃx�=�€d%¹Ç< Ëd•3�ÃÙe!0 ûŒU‰‡àl “ÌÆAŒvÐ!Bêð¢b`‰�6Rš}Zʈrµb?%EXI«p&ßét“‘ü ­�Aø0éYtiôY £°r²R?[�a<À ×ã³Òow¬ðuëö”m-ø}‡… HÓõ©±¬0qÃ>Š~j,gûúèıրË@D¬b\ÇV+KWÚ{òq½ýö/Ñ@1_šn™ôÏ6Vž×¤«ÉGæ?Èt8êEËHiHTýøÈbé99Rú?¶EX؃!  Ç:ºJc&CxTØày.ÈÓM&”Œo™Aâ$L³’‘îŒhqU¦Æ«À\aiÜ[è -Å‚àeã¤3Ç,/°R‰V”^*(0‚VÅr°(¨ òb~^–%ÝyˆD%º4,äª0Ф¾òƒŒÃD’œƒ<ú�£Ög¤KägŽ¥Jn úhÖ:�¶ÇÖ(8OøI‘Á@§ÂÄ ÃIå¤ÁȺO¯RNbHu�#‚9$^7¬ZUuR�±�I¨}v;C):öIi"WÓ°$ôÀóAÌÁ½©‚RT)¨$`œ”K½ùù´›z -$ -#L– UX䎄«# ~]¼ð¹KB?€³FsLƒn»Ûít{;'÷îÈW"wÀ&ÎuÊP§‰»fº0?c1`ßÙÅÚ…O�kÚ-)¾;Û=ÿÀ÷÷÷ÄÖ^«Ùm<רÚ2›â€*³OÍÌ~Wirê¥pz|ø~³ÑÀzÂÛïoVOÏ€æ<éŒL†f¤ŒS"*r¢R��Q^tH¹¢?L�’£`DI6)°`R í£�=aÁ<êxóþAЃºDœÀ'lk¦‘Ä>ø:­nÂHaGP›ÀâKA5øºn%É�A]ÇÅUžžcì.˜ÄãXfIº,¤_ÂÌð!üL™’».,>ÿÖ¿çP6.„�“êEy¿¥Ý–pÑ¥‚,?Ä_ 5ܧˆS‘h>d³T×ÅQ8”Xš£D›Av -;ÄÎvañ÷¢Å sà°Q…Ð ªt˜uF*yÌÜ‚�7pa;í•—^i,,¸Ý®U­Ž{²ÓÞýÅ‹WhjÆGkÖ¬•ŒÑï{´HÔ|‚{éâÂU¡�G7–þqJ|üå/_{ýõë~×Ëf\ -vXHlA«%#î -bZaµ¦éôP2è]Õíl7×V­Ù9·s<@ÉA=ÏàâÏ/^ÚÚ|vxåÊ‹+ ýqïú ýçNY&-¡¹\Û³}Ú›wýnsù,%�]�Ñß:{.ìç>ݸó¢—ût£¿¯;­f@d~`íe� {hø"ˆ6A°PÒ ÊÚÿ4š"Ý=·»'{Vyk,؃q¾$~‹Žˆ>À‡/Lâ�ÇO›Áˆð8Jû3ž©›§ŽwXÄ]H�•VÛ©–¥¹´ý  š’A]@ ¬ýpmå³+�V'ÿqÐyz©Ï€šøï‘`\AäÁÑö Á!úkE–a¸½~L <"™µŒaR*è3ê(ù+%½bœ1Ü -²Ë´ÉRtØ�Ctv ø3£aFsÍØq¦ÈbŒ!aRŠ'm„žƒÛ@dƒV�öÚÄ�¶�‚¨ö”…^è yŽx‘ŸWOsÓcA[UÃ¥“þATš’ãV¡Õ‹«*)©…iV½£¿½E¥TtÞúñ†=ãÛ³ÜtÚ]®3f'€“¨åô: úaÇûÙuYÀ±G1è6=™( Ö�ÎyÊX´WÔ©iCõúa&ý�)=Mx®+­-šæ øag Þ’µqFÇõôPeA�Éá$ʤF`›µªéù¬ª´S®ĸéO•ÐDm=ŠVa¢¢óräšgj@U�ôö°ô Ÿ3 &ý€xÈ^oö¾Y/Böº>u\µÀB ‹)¾7V¬†œ…F/` ¼“ -zJ›å/‚=ŠXúƒÐÞÎqP§ p§åd­ñÇ)»6³œJy—Š`8i$jí]´ÕÜݰ–†‰D¢ÍΕAú·[¾U—³®Þ¨êE¤ÿÂÙ­¨`8ûìuñš – ú9ró�ö<'Îî¨�S3ÆÅ<ó´½°<ÿ�s½>gÏ=m¯¾µ¾´\ó…ëíÚüØî©äšø@ÃnQtN(²Wt€nš‹ ,ýâ‡ÿß×^ù >Ç )©�‚2–vÜ{%¸wRx¼XŒ)Yåq,gâH±kŒži|F} c;.¨�~˜Á㋬²¨ä;^ÁUš) ú¹Q$('È`÷<ù6qT è=þ9Ž?gZŒzìšVìÚ‘©ÕX’£¦OéˆÙ\?7Ÿ#Ô’ø µÌÇ6–àùwn¾�)©ù Ï÷i‘÷1_ƒE1Áû饄»·0á_3­H«*U¨à€ÜWx�‰ªÿÖ{à€Ÿ³ ÏØô‚€8ÀTDPÔµ'5š¶š›••«ÊfO¨ðÀü‡ ð`»·VoŽñùAôÃ/d'ÿùñ&èv³è8X.NÀõwÖXôÃ>{´Õ‹mÞ`�Rü÷!. Ðàä#Å£‘@ÅœÓÙæ¦d²N¡ž=R7ùØ–Iÿ’¦�èóäc»ãX&CëÔ�é§³‹ŸÕ@©Tj·Ût†¿d -`¾�á{£¹°„~˜ÿüW89ò{™ …(,Ô‚’yfp¢ß®ZE“¤ô/•`……d5ëXÌe2¸J¦×9-‘I”ï{™o±áÈ{ ‚ÜV6à`Ûë•1e£D@QW -NX+Ä)“¢Ju)xÙiL³¬áètiY‚ºK~+bXâòí²�ÿ± •4ö\aœØü×Khq³ªD9^_ŽMÙx?a§Ó‘�E嚺¡N_‘Å‚9éÍ[Pž·ÚÓcÑ“©�lcÛŸ7MU�ö¨8ªS˜ÿ¼g‹`È»{RytØgÝîÁ -À°Æ÷P{ -¿±z -£@Õ“¥ìu®…ãc›Ê¾I ìñ_GNK6ÿA ¬o`pªµ=¾C0ÿ[÷E£^k¶ÚÍíöµ+—ßù1v´ÕëÖÆOÛæŒU#ŒCC…nÇe‡=ñ¤-¡™©$©Q›kßâ@|25�ÅÆ�ÃQUÎ4ãúT‰ òbÑÏ4¿`ƒè·ª*øa0ÔóTÃtYM•¾”R•3$_xÁ�ÙœmMýL SìxsZ�eÊqÄâfÊÅr«ˆµ· -µSÁݨJ0@ÖLVPaµùy˜XlÓ%Ô��S­lXÓ¦³uçá6' -e bUÕµ–ô¦ùn…x'À@°Ix"` -¡S\1ôiÍ4õöÖVœ(©ÐÅ*¤~ƒÃØ£ö%ê֞iàMs@ð„©ë¥NZÎ{†^A_±×FÃGAOE>wg§5_?»öæw:„~É4·oã<]±}çPëîFãéšO‹êòË_r ôï´ûí!w£µv|ØggqúF§¹å(j\›³ÂA»û°ã¸ÞKŸ]™­×æÛìkÄ ÄyÈLT?Sï{ý8 ‡ãƒ4¡2·•€@énÜëû�ë™ú” Ì`[dQ�C: ö‰þ|ÔÒ༅ºè«xBïéGv½235…urä€@@Hú‹ÏªdL]ÕÐð·Qe �X^¢D²B =ò1Y7 -5ª‚!v¿kŸšŠcµßë#\"Ö–a>@vˆ‘…Cöàvlo9¬Ü‡[�vOŸ¶gKž‡Îõ1ùÆ@rá‹Õ2iŠ^™¨X†¥kz¸�6—61²Ê5·ßÖ†£þ0bxW,�ÆFµ*Fí™kלÖK“:ø%UF„Á‚žò]UáS^/0(à îúE‰3ƒö‰H[Hâ_òsÛ?¦œ~Dg¬1‘!„“ìg„,áÁZ¥Üèž@6LÀ@·æa÷QÇ`›(>%*1˜2p\­›Šæ^詳|É+=:T³¡1}bŸüü>B=†iZgS õ�ªEC¶¼Ù·Ð¨ì¾ Ì#ã„¡`�€CŸ]RÁ/‡á+©x§z…³©‚0ýÇBBWûûÁö]D1ñ‚�°„ඦ�ò´ÑÛê³¶•²Š?{qii“½Û;[­�-UÑ:;÷Ú;hm?¸KG|›}zÖ!h û´Ù:q¯^O‘0è·TOªh?á,:»ˆ­šbÐ?÷\•1õšwäoÞn…òÝ××jus¶n]3mæL¥ÙÙ0‰mžª”ÛAe -˜o¼¹¶x¡í †þ6¦±s�Õ(èÂ*2ƒžçî5k´–%8Mq,£óÖSV¬ëYø™d`2~?Êñ$Q¨¾-‰D!Fñ ˜ °”à -ªfðõ£Á<‚ ³�P|Í÷ƒ‚RЧ Ð Y™ˆ¸¹�i<ùaÊ‚eà±ìÖ§…�©fÙ€ˆÚ´ŽqÕPItsõëVõ¤U9¨E=8ØCÂzCéé@®•"GjÊ·,Lƈ‰�o\J‘Uj7ï·–Îå0�rõHI@Çumë8îwónëú÷W¯}SA³5Ôí>³±—&ËýCª´ÓS¬‹8Ò�DPLz$:›¢$Ô�j‰á‘ƒ¾Kô�Wøˆ´{Ô@iAð]é èÜ!(r,fœJ‹ˆ(L�CÀÕD™¯Àu#X­päR~ãP2j.3•ÓðhRó\9Èá\f�ò�Ôu ~’6Ác´ÓžŒ¡î‡Hæ¥àÈÓü'V?}5/¢ÇX*õã~àœJß)«Të"Ë4p¬?£”o¦È-‘"BU˜À]Ë¡�2*M°ƒ¨€n;èS%Øá¡�ôçüÜ  Ð›±ý]�þs§çë§ç�½ÎÊÅ—e¨‡p�n½‹&TuÆdGð?VWqÑ�àŽe›*ˆ,k¦þô„1®ˆµs�. bWR¼,ýÞžÏ;–®îøöiœ`{».ìUâˆv:Hÿ商Óv;;Ý•‹»Î<ú·þæ¯^ºúùoÿ :ú_ù­¯ÁÉùóÏ/]XÙø` Žâ¶Vk«þ$ ™cÜ�ÿ_¶¬…ŸƒÓcE+ÇWôi…{M°äŒú�9 Æ¡‚\&SîÏ” ¬Ê ¹=*Ü…ê—Ë•¥¥ó†A1ä…‡qÈ”Ÿ°“ÔõÄ ÂW#BÃâè±A¢\Ì>¦“Rcƒôï¶¶@€ôçðK©¨3¼;3)YãC•¶Æù³ÍÑÑCf�œ`éG-wí­öŠ ' -��>¹0”mÿäbÏ=}¶±¹†}õ×¾ÄÒ_ LŸóÿØ\ùÿ«óçÀöçWZï¿Òö'ŽÙ—¿‚Ò Vtó.›']îºÊÔÀV+E° 1¸ùãæ‹¿€&K�‘zÛífþ,x|aꈲ•#cH;È­i©²… rˆºÞ�d–°<üþÌLôÜ0§±Wþ)f:9ð§4ænè]™` ÍÈùwyyÉ´Ìv›BùmofÆÀp_�¹Gp,@úºŽ—ÆÙ:èØ¯^YÑÏ:lÿðÐ×'+V¥–‹ã6™íÄ*ÕþA/VÚ½&8Íò>È}سk‚ô�bùK³‚�ðÅTL`ÂQ»€ìCL†rAnsA––ÿDØZÙF ¤¤álŽ÷öCð03¹G´Y%5keÇ,ýHã - -ËVg˜-ÀQÓU™¹1ͧ‘9»+¨Í<•Ô*3«`‡š¦yAbš$¬õB©Té÷ûœ„oßo©¡�§ûÈ/(l†µD¡d¼9Ê^öÓî“8éfx›6b‡y”¼ÑS“NÏØƒKºš‹Š0A· ŠÖ>ý -а{`y¥ ÇíõjµÙÙaæIýÚ«©H¥uÁµî£€:Ñ<Ы7×ÅMÁ: pl‰ 5èøú™#ŠAâe¡‰)íq¿ë;;=®d]÷.Hÿ™SÖæMø À à·åÙ¶Aô¿ü¹_Îþ¹±ñì àüÛÿç7¿ò,�ïÿÛoÿî?üÆ�Í�»wo}ñW¾r‡DDé±rÏlã’ò PššfSY#Ø úYú3Ó Çx38?‰î‡õÒHW�þœŠ©’ËAP¼–<,n,´Ë™Ö ýÓŸùáó¿(‘Ü�€Oâmãœ'>R`~‚ Ž3‚¯â¡8rÛeëÔ»H ý/þÖWá¤u¯™Ei³ª‘j'Á]È€ˆ1Sí(XGžÖ#“þ�?Jеy»™¹'í�µÚN2ÐÕÙZu¶Óí´o|ï»IßÛßßi�0m9c®\ÿÎ7ù¼u{@vñ¥W¿*éé3Ý�Ç¿\n`ûó1¥“[à´<6ÿÇj€t€Y+öm<³ÎÜ]×÷VpR™6rD.Rúg�#hkÐbtºžsòHY·}ªÜma,÷Ó¦3ÃMI$‡.vé!Ó p�cœÃÆqù`ÔÖj&©QY®€,i0Žæük³ÇqaÁ (-�þµ§*Ȥ†â’*¬)˜z°ƒà‹6×ÞÁ‘¥?›ÿ‚舓¾ª”Z ëÚw{žÇ^‚ÐK2ü,N£ô׸懛t¯ç©È$&²ÛK�Ô&³VQ9M’r§`h�`ñeêdðá f\æÒsy‘Šqû£»·7Ö_$r:o¯c< ¸ð´9žæ@�-ølÍG#)ý÷eýq:|Š+8 ýÁöç@–xSÆ ,°cýɰ3lT¬�ŒŽxؼaè ÊH�Ø šm9C¸ì´�¸î®g”$ý/+€2é†Lë6––ÛÔˆ0Gr¿”’ ¶w¶ô)«Ý–®pc»;1=;ŽÕÇ´IèðÉ6…û��.‡€¼½~¦†B™%dÆ 3‘7â -•kÖü|Õ^ñ)qŠ m·dàCîÐ5ß¾!1À °«3KK—>üéûàð‹ßøG ¯ûI.#ý_âû�Œ¿û;ßøÎŸ| œ€+Ÿ}ùú›ß]¾°b{³,À&«uÉCÒÝÁ“F&ýáhO�§Sĉ7š0¹âR2©Ù ©PÌ^¬ k�¥pZ®-,.1ê‘(Ò –Ï5EQ¦Xç^rˆ”Š3ƒ>¬QÝEóÃuwǹüê58r‚Ë8af5!üœ­×·~v§~ᇺtöb†:csærºÈû¥ˆó†µgçÀ hÞßËÊ‘¨1BΧæ6N�‹—¯¾¸|ãGï”Ê%nÌ1OÕÖßþs{þì;áz°‹úìº?û—˜}™eÖÌûù_úU¼ÃÛë•“Õ�ÝpÜ�_<ïlݽøÒ/Wí_ôZ­–t¥ï91IÕ¨ ý=dϘ4 -š1Œ‚dH@u{†]› è=1އ%ЍÀ:³N=Ëß„N×�üdëãîÖ=*§ó\¥\)é¥ÍÍmÏíb=8ÙΊÎÖ4êzéÌœÑ}NOaQE  0u 2>PØÓLF‘CÁßᤫ•Ð:©o|ÐöÜÐ>¡#9µniE=ÜïØ–áìâ�+…ŠÛMx4õ©–×õ ucR÷ûn´OCièQªv<7€ñªÕj8 7&±zlê8Š-bep\·)Í 3s5§Óæ€á¹³³ T®ÿ?UŸ«^yq‘~–\«£Q—0+r1ãôa�ô¡3*$A?Þ?ôÑÊ>ÄvŠ ö•¤dGE©T3ÔZ2*#¼Æ…ð㾨â£T‚~_£†•˜�ì ÄÉ]PqRÄy³V€£®z ý$Ô§šF ³Ÿ*)!"w•ƒ(ý8‰ÑuüɃa8@á›Vš.ÕN7¢CÕš6{Af&++Ko½‰šóÙ…êÖ–3W·Á…Õs–#[dœßSÔ±,K�›º1] ö}�}µC4¦Ô ±Cή]45ªxáL ¥¦¥1ïéƒ3 ôI¤y=¬ô@©¤«í]·ö” “$(ªFß›P@Ü� rˆ®&øü,�pÊ 0…ÎY�‚nôG+jTµ†j+iOB¬sëDa2BBy¡J¼�såxLŽT4Hº».ؘa?t».wÒFQž[aÄ7»&5Ù¹¥åþ~?Ø *âìîx]* èv½h˜lµÐ(»ùÃgO�Ë–Y�MKZ­ZްhÔëUX°-[­S(©b)/~~¡»;vca¼¿qç�7߀ó«+ãÈÏ×þþïÂñ½[·®|öêò"†ˆï?CPwnógЈÖuÓíõ»® -à÷ÿ—ßÿýÿî÷×ÖÞ¹õãw¾þþ“µ[7á +Wh|•æ½nã ®ö˜1|WÄê~þ"DèÀÃ/ÀêƒcLQq¦æŠ¢| �‘é}ˆÖ�GåCŽæsfˆ’Fª,èÁéÕX"nÑ}Äæ«×�ò4–ã+š¢ÄÉ‚mŒI§)Eíh3jÿ0„=Ct0L+ð\ó´ »›6yÚó�à‘çlià¹Ï”¼‚ç¨î›a^T,»N»s©†ÏçÏ5?<Òt{ýÍUøY×ð#þ§÷HÚ¹7n¾Ã¢K÷ -@ ˜èØUEÙ¼ùvõi´Dì§æíÚ8ò§šë°ÃIçãÍÊÉ«K/`;˜ï’¡±…]Ás^ÔAú‡Gt©aÏ)M#9 ÆÉ%ˆ¤”‰0:Q)c®ë¡Ç$¾b¨ñt &ñü9)A ,.ΉOØ*¦ºýññ¬@+œX¥5‡B•§8þAÝŠö©þr&‡ÃІq=Cv�(XÕ²™ƒéoÛÈ8f¾OÜž‘7Üéìq­ " ¨^Ô@ -€¹�F·Ž-uò&ƒ¾mˬ€1m´¶»ßù77@ œ[l€¹.ÿ8õG›ž»ûXn?bììü é�÷Ÿ ‡#¼™€XˆË“6{ x'ÔÓÀ¡¤hØ×”R¹ ¢UÁ檫² B:)Lƒïûi¤žk‘±y0 ô| ñÅ@5ækŽe|´øË"ŸQ²†Ó©Ñ]«Y®´Û®"´3ós[[­{[ÛºRÙjâ39óÌl½nm·äbYýáí+Ÿ]Ø&ÜŽ3Ϧ!”Ýq‰”=c#gFV}ÐÚDäø�1)‘®Áw\¯ÙîÌP*žû�eX�oçP0à>V¿LqUzŸOÙ³ÄzvŒf2L# Y¨[ -H¸§"ªº½¸M•NÌËX¢Qã -¬t쇩"‰°I{Z�þ$à IDAT‰wÐ~ƒ,ÜAa‚4+Ü�UµF‰$‚€©T¶F¹µ»bV|×CÇ(묪U³Z•:2L¹›Z­nyJwvña:N·ÝÆ]îí©ìžûÔ¼D=M$d�°ýê«¿ñÅW“¡=¾ð&vϘö­¯®­­ÒxÝ\ý!óý“F -L¹|~yn¾ñÒU‰Jð•ÔEøÆ?üFþÁÞzÔ ¾ù¿Ó:9sí—¾øÍ?þC8Öês7Vß�÷9­ûGÂ�r¼>Û4 û�“ŽÝ ƹâÉ™U¯�ôçã�Dû~X{Zg|8¶¶Üå_Äh{Ò ºÅóŸø\­r�°ô$VRoÇ1©älÿ€ä²A`û¿ô…_�ö\¸ïfôÝyD~^rX™�.?ú.�‘ÿ²4ˆþoü÷ÿìØ—†á‘@Ç�7$¤Ï½÷ßÊ^¬7_|I £Àü�÷ÞqÚ÷â›\þÌËÞžN€u -v9ü‡]Ä„ Õ…v&cš§71*`ûƒô×gqÏÉ'yTMéGôÄØËÑoPI xåÜÓcéæ¿ ']ÖÒZò½€O‰>0ÿÓ盦äBA††”WÔ*£úð1ë‘óß´t8Â.0d„ÄR*¦YZ˜›™è?,^�þ†Qr·’æu{~Ðjm®\:Òõà k¥b‰;³øE{¶æ�§o¹#ùˆ~�Õ{]Î1ÀöÚk×àÏ#ðÝx‚kŒ¦·�ĘÍ%�þAD Ö®–Ã}jêN‚&64¼g8¢„Zo†_Äç ¸g™‰&wVƒÏª4ƒŸã{à÷äñÜ3'æt…á4,Ëø³ûöü|}‹PÍ6ÿa{çÇxÂ<$™`ΘkoáŸK�;mÛ§@ÝŽµ£Aô„Áa Ò<»b¨…ˆ~¤*/éáÖ˜‚µŽ¼Œ‘¡E²OÀ ØÑH×§ŽI|;öØA—ä› ¸8 -&!âi—U�þ úS`€\ª®Gƒ¨ß¹Íý€dH¡3l×Î[(¬ŠÒ ý‚<…¥¿`ÑïùiwB)ƒ3©ädb&áIê*˜,´œS¶ÖQ¸ý±,*ÝÞî¶HãÂû‡)^ËÂņ(%†âÕWH_Y¹"þAöòï±0tmýÃuÞ›Û[ÿÓ?þG‚²qH,-.�_o=ƒ™Ï{ËøêÑûÔuë;‚‘F,ýÍ£‚×ߺ¾²rNš}Øxî¼1©²` k4-4pØû!“[! QY Òæ L¸Mr_Ê܃0¯²„�ÌŠ*�€‚’‘ˆi…q+5ü•½ -Ô+¡”þ0^30J:˜ÿ Ä”Á­vÜláí'ì`ÏJêQ=^�­¹ÓzÔ‹8þCó!dœQA¡Î,$0ø#ý$¯—6šÕ«YÇ€Tè�yur¾»;ÁÜœükÐU™åíöûÍæ® ZüùZ™Fiö…W¤€ - ·]ù,�Ç B°ýåKä\ráÞööÆæïÞnGüKü;耵Ÿ¼æ?Hÿì:_ÿ”ÂAø_ýÿó?þ_ÿkA@þ‹œ–ê ö×; ©Aú“À4(«Á ¹>16F¹OV•ŒÁ8Ô¢8¶�ù/ÈöGéŸÛ¤¿E…3ì|AßÀ‚I -XTqf“çhìA8ÒµÞîÞ¹O_#‘‘Óabhd0öö{~Îy°ííãjD÷½¨(àÈOª ñ¬ª% Ì‹è@A~�ç™Ó&xííf«¹ÎÈa¸ïÕž[�#‡hÕ™©©ûê+/ùÃïÿú9B\ØÞÑo¯ƒÙU -·‚¹ýðü—^ã·�™«�0ìSà’®P`\�°~ávå­ÞpÚmÑÖ½æÕW¿è¹çm¦j}¥õÁw’>³ðè&)ûA5• ÌÊΛ‰DS -L—È¥;~Їg8*$žëaÇ“:Eu{ÿ/goÉuß >vu«XìbÕ4ÙÃ)ŽÚ3žÉH#�9–2ÖXŠâIlÅN´›µ×Yçp› @Î »H`à�E‚ìñ%6֛ݽóÆ›]{“ÓÙë�DŽ#yÆËb$Q¦8šQk(¶šÓdO«»XŪ®îû¼ª.’#opO…R Ùݬ~õÞÿûÿû…àÚ{dÖ%ÄJœ Â9 ûðJ×™u‚ý‰”ò�ª:Á$0`c ÁŸ4ëŽÈòh:XfNíÝ¡iV;·Q ƒþ Ò_?BÙÃïÇBQÓ¡lTÅPôà$Á”UƒQìíøUǪVULoÄiô�ÏÍ‚Y`¦¡#šC¯�n\šŸoo¶L�1 pÙÃ(§Q4¬Î²„ó6 ¶Þ‰àâG/ÿ¨Z»}æt,ìŠ>i8)⫚ÌF!Xf^#9©§{ý4Æjý’0‡©*FŒš’«Ö·”œ$ìcè…;ðDt$ûJ¿Ž:‚¯oÆIçŒ)t&tÎi›hU‘g9¤ä31KëeÐ&‡AtczX^iNi`�–…Ù†ÙÒ&KºQb¡æu=]“¢¼Ýn#ܦNˆªËu1QcéûÍÛõw¶½nÇmµ\¾Ï~°Ò8]¯_¸±Öò磥ùS274÷ͯ<ÿÊ +ë?ÿÁKW~°?ª/΃Y�´ÉÄô”ñZÓÑñ rg†¬A-¥c‡µl¸�dai.”TµÌjkï:VO€3‘È.“ÜüD´mM#D¬—Ùr‰Ë£^2Ó‹M�©e`ù,ºt “À#Ã"ÉBm55RÂ^À:Ô*ܳwŒF©ãLsZ^w,|šÒù(0�•ÓZc>Çßõ@¹×ë5¶�¸ |‘ö–eÕ°I¢ÝØ!¢½pQÊ«–�5‡§x€Îð<ŸI@obèøþ3§z×£/QÀçÕõç_|éùæ ÷üy)èKšqù‰Çøúòå§òÏÑÉÈxì'QOä± þÞÏ}OB=wv:�íî7þ�ý›„)ååw?¼òÃçíYíòûžû -ìÎj£fÏZ6e¾½Q'ÒìÈGDRFÇëlyUG B°3üÆÉÅ�[¯û»amÁñý Ž(96­F.Î#ñý°@ë;Ð;H)šœ{ ÑÒ�û÷æz×÷ãÇ )Å`;úÓJ ‘ˆÆº1|²ÉÅ<íAÔÏÀÛ1é®sl^8çh˜çëÏx?)VDå $¦eŠB8bå;×@dK_pɉsÛR?s™i­^‹3,½Ÿ}ßã_ýêÞѬgÈ«îfó…o>sáI‰&jŸÃÌ:‚5ÍIe�yn»ïE`ûw6šçÞ{yzÆîÞÎÊ\E6”Zµ³½í³~GVˆæ Hd…á&¹aÖ�Þi¬KÙ“9wž);õýž�Æ4?¨ÌXôÁAÌ1â˜,)Ža‚;«)H2? *‰i�íˆs-¢S.†9àúQüdTXñq„‘ÅF"¢Ø†ç.‡¹&±·/?ŠZÖëF¿]�àæAdc‘Œ�*¤þ×mîve`ÈàÀk@nö2�û˜îŠn§»N•Ä–c5H‹3.1»üfE�÷CN¥Œ§…jœA»æhˆ �–Sze}að×åC¤îD¹iÖ`ª˜äÎxК[ØE0>^éõÚpF tø-žß¦×Ñ~ÈÜa9û˜²À‚I°_7“-vÕ~þû×kYt一ðàbRét:9}îìœÍÍ6µz5¯££ìâ¯:[ÝÚ|õ™o^kz3\€E|a5e½> {´~oýkþõ �b^q凫ó„Ä7ÉrLDõzùŒ1ìŠ «ÈFÙ+à0´WÁJ¤<þyè‰Êp^vfƒ£HS&9àfT†;Í Ž‹$l}0ÀkA€&8œŠ™‡øÁð‰ -u}ʨĈá¦(²òòSCv½!úÅ å¢,0x­DÓà]E(S0! B!�\ÒŽÎ�Z2¦Ìp/€³7‹l Ÿ?éÅ1¶ç�vúDZ -»A_|qõ¥¿G§í™ï¢@æoŸ½ð�vý -6!�=yÿ£ïATüK/‰ƒã±÷J…ñØÅŸφˆ@ôóuóÖKÏ|ç›|½þR«z¼×½íW�[š>ÆCeþNüüÇ-wç@™5"T¢NË÷]7ÕvÓƒ³¦kÍ7=ÐyA>jVÑ^/Á$0x�{¢sL™pAäz -–º(J™[iàÁ·cO\ãGèÓãÝØyc�Ȉê±VpÒËó¿óÊ‚Õç¯-œ8Cy3 - ¦Ò(¨ÕA_uZ8g­&Šï…Fã«ÿî‹`�òk@ àÏd:H%ýÍךØ{L -Ì8^zuã›DÁ -: òenÀ°œöÍæ×þÏ/ÖO6@ `‚Âð«Ñ^š3¥C(�7›y`çöÖìqÙ8Æþ/•*?¦¹ƒ!‹1d1æ$'‚#‚êàæ�a;0Q©Åœ®€“:@Cl““`…n÷ÕážAÔæœö–ÛÞŠÁ qL½¿2'É¡¹8ˬ¥?NþKDÎc™<]?àÆ[þzÙ<ÅUô¼@ðΉ -»‚D§ÛiÂŒUk%­”gŸŠÃó’¬n�ÂÓ4@ ØU“¿#Íjæ°{w¼•;+ @°¿Ÿ‡}Y Zê”®fü0œ_�/X.{.z‡«Q9ì¢Ä:; ÎT‡¥œ°2ÃýбpÉ“Q‡R $Cn  ¼¸‰œ«Y´ÉW©<tüE{.ÃêfàÀ†~î‚|…¾rQ! D–ä¬Ö0ÿáÀ™ïŒ5=bï,Ë\KµFÝ›76›7[àª1të[†/\]ÐÞÜjÜwHÿ:%u×^m.PM½ß .=rÿµç©Áêžšƒ;R±^1Á8®‚€³�ðaŠÈâ3ˆ¨1¡qÜ,Ï ä@Ä1µ˜9<Õ 1 XLƒ¸©­�u¯QÓÔ5N' N•M…C¦§ShÕb½Ž"ç8¶ŽdtyhN·'!@¢¬�Ô˜Ê(v³G#Î1OŸ›.áQIw£±:`ëM”þ¨þÜÈ=ôˆÀ�&�Á €ãì©û³?ø©•—%V*뀫߿zåÚ•?($‡Ï?´Üh`À9×Åæ¿<“÷ðÌw¾çî®Ä£`�Ué�BóVT�µ˜À™Y"ÇòîøfŨQ lÃ’¨za/ƒô¸û–¿¼Üð¼Ì�Ù™yŽJå.P†Ãá�K¥R¤d˜=xðnaÕjð¸TÍßéZ³ÕÞö\œzðr�aÈÀ0&UPnéºv�,@u¦†q�žOaÍ1¾üæ(v¯}癣÷Tà!MÀüÏuãæ]°£a€€ãÒ—:BÆ óïEj �is:õzãÁ ,ýá æ?(€êqœÙ°ïQ×µ\啹±��8C@ʉXؤ?–ÊqeKæ9%àMëüuÐFãvV˜^6†’C°Žy¨¦(D û$ ýçGåÀ ÈÛJÑèÅÅ:hðrÃQ72BËì5Ð)2}b¬/D‚Êž+µr¹�ºçÓË †À^0Ãw/ÍgàhÌQÏJÚMB£Ã²ÎÂoséŸ�&<Ç› @¤Ù¬�íký‘q™ñ+ÙVÍßÈV9Hœ"Ÿ*ÿm.Å·h&Å|P¬«TN -gkÊt3x¢¨@õ§1¿”„­)ã²gAÓÀßQèmGX.9YR'Tæ*M°Ùò¥ @΀® Jrò?Yô�öcïä?iœZ„ØTƤ`Y¯eûÍöÚ˯/¿û8‚é,ýÙØ|«³xO Ž0 ‹0Y"ƒwæQ!�Ï'q/Á¾hÙ,Mh¾D+‚û%ÙOsë>§íÍ’?‰}D�o0Wè0уÏÄ(ÐHÕhµÇ vN€€.$oéuAÒßçfcFªá‚z¹ò©›šõ½Jd:Ö0Ò¾S– 4AŽU…S­±ùg�š«Xª@@i0íRL`+[)¡Íd5ÇbˆÜvŒÀï@P �IÊ8=¯/Ä\‡ z²tRµÊ�á 3„­U_f«MX-C­Œ4ÐMAXMð(»]¢úC4Ž ‰5nD¬éºŽàFqÀ|#AàsòÐ6�¿7 #.éŒiLšZ9výN´ä9ƒ-Zä 5ðèÀåž:ûà}ðO>wn{•}ÎS¥á­×q[•JC-U~㟢½Ù%aU%2 -’âiú‰FÝ U ëÁEHv%ÜS“Êʉ>�ÉÒC u婪|ìlmyÝnóúzã4zâÃI°F€NcdOfõ,A÷€€yH$‚Ñ^ÐuÉ@–�GƒÄËp~òÎO¾ð2ø‡b(#7V@ ¦‘BdP•ë²™pÊ&\xX-`ôð6æ [ýœøX)¬¿Ö©VÁÂåp²•ˆi6Èâ~„ପIØP …¯YÑâ}4´á fSàbƒÿn=0®chUN™zdÈmD(e™êá`È€3ŒQš‡üÝHŸV�ÊÄ]n`A¹O5$Í7;�ac©ÁhòÅÒ&œ¡¶ÅØ0œgâÌŠš5–ƒùæˆþ8‰‹lk`ckU�%6·”As¤°žÁ»Š“N¸Jw^ ¢NLF†*£´¬ËAsä�Q˨\øð£|½´°àù=7ÈR %ŒS�D?:ç9ଠ5ÌÊÌÀ˹‘-DYÄUÑêt¦¦TÏ—ÜÁ¶5Í<Ž‚ªJº·+ÕãÖ•o­iqI\}a¿Í‹ˆL uR®BÐ`û¯¼¼Â -À²A¡Y�ïÃ9E¨‚¼ÊS6F¨å!üA'gä1-™Ò Py‰£Ð?‚¾Ç|é �¹1X�ùÏÄ�ŠÎpø¼fœû�õ¡TŠQä™÷°Ùm­¿Ö~ü"U‚¶Zµê)=Éo}»{8@J:@Éx-ÊÍôî –[X{åÝÙŸ8 ÷Ë,J0ÒAîÛ²êWEö…DEó¿°®À`éÏlÉ;eÚB†Ñ…^¼¢ê…W‚5Š¡*eÉ.S©F%”Xíê¸q!ÍÃVªVÂöÚ)zÆMbLi¾35ÉÑC\ÀÃUÈ>HPž`\·’{„0Î�Îr¼?#Ö^cPv»c”—�‚u˶?Ÿ‡û -'`,-�”øà9ÙmðG¿:à•ÀFît\�ZvXÀ=ÔŽ÷Xp¡5Hëx?(mØ P¨QXbGÇ‘á_�Ðÿ9,œß˜¿+ÕCÏÅ÷Ö3\pØʈÃ-—#�²a-ÍÿBœä¾·½Å! Þ* ýÑç¢æ>0ÿY¬Wçgë pvf‰�¨0MíæôM<öÂ@Þ_À6 @Þ¤: —¶µ…Ú]¥?þõ’|ð Œ\ú÷Q€í?³ -À©Ú® žzCϬEŒ €Õ²¾²jÎnwgùÑK‘E°i_³ìÌåÒ”êýàä÷ƒŽ`é¯dØnB\oU®@ (¨ð€ ´«µd€[‘—»U­øwȦœi–!ñO€QªIìïÙLnÁ]”ÓNö9„*^ -÷†ÆTI T0ÃÁLÃØhš2®_ ë7)9ðùÑ~ ¦ïzAóÕÖ¥ÚòìœÃ ãI²aÎ^ÛÑ‹ÍSôQˆ:@4ŸIñ;çÈp±ù²çÔMÖìèÓ‡½LÜû [×ìõj ü\róŸã?ö4梱€?CàbÒy±Ü·+¶d‹+ƒPÕà'Fà�RB\~™,ÆÄËŠÅÃt¼tÍbéÏ#Ê ›\ImT¬)+¸ÓÑ/_£ÚpL -%ë”ò¥w(¥QX ’”†àDä072#�ô2æ¿»ÛwfHÿ£ãCýyAj@IÑ\«Ú�·Ð¾©Í; @úƒ¸¾FUX3 -ˆþÊ1sá�R]YÄï¶ò÷ÈÒÞ¸o¡ùF«~Ï<¬gn§€ ý‰ôŸXú£& %ÄÒŸû‡¹¯r‰´ IDAT‹… ‰"U’s>ïØ‘¤uÚ"®ö�¯a´Y-V‰ÌHbeÉðbfEç×À_9D‰‘#ÜÕª*wPH0Ø¢1eD²Y¤ñaÛå88østD�x­Í¬d‘òg·Þ¼Î:ॗÅÔþ0Î�ÃõÐ4“Öæl8”‘ÁÝΠÂýßË¿ÁѺ R(ÍC@¦3V\—È:D?†Àv¶L*›±67à·¸Æ&8EcˆY4¸.«œ¦’PÀ+›Ô`wbM¥1K‚‹t³bƒ¬ðªV¤�ÓgnüPÔµ{C#ƒêÜuEÒ§?Sò@èøÑÙ §_ø›çqmëN°/�,Ïa�Z�¢ŒY+kôøÂ§Ó¶í�ìîÛÞÙnè�÷ýôãÿÏ×1Ä��#¼E�Ç�¹wv:VJ D[kõ…zw;ÁM^ —?2èE…§Îþ|2¬¿àvg•°%Î=ú8ׯ`$/¨D¡zVŸ=m­q(0Þ�wz>£W¦Í„,ó -hðÝáFºµ¨“Š1¥gÐX"ê¹�–&jþ¡Í�õÍö8X0瓺5¥�ÓZBhþþvLD¥o!µ û½\†·»‰5CÑWX¦öÅh ØT¦…ûýÈr*�7"d¤šTðó&R�È1üý¸V�²¼g¨ˆ!W -‚Àö)|KŒ< °–ƒ°šr?–xm˜C ¥²©! ‚Ó‹˜ ¸§CÌsÀì–ÁEH‘•=íõeµ6OI02´š—LW8ÇL¾Z_SR”!,¡‘¦¨*BÒÁr1 -�Ÿ`!â±€j9[ÍØ<”‘,„W…2(+å,È£L¤~OvÒÁ0Mkk{«Z­q'qu¼¢�ã–1¥pˆwZ¤iÏˤU°Ÿä�#8\-‡Ÿ_й:窄q?+ðN=›-Ö1ÒÚIK0{š¯ÃÙ)£=äXÃpG+[¾»Ûì ¢ú\#ˆ¨F…!F&(!1T¼;=}²Ó¢‹x4ˆÓÒƒ�³íÁëâuÍärIÐÖ\¤ßÎ9f›sÎÖN{ý•æ,”’î÷=kÚÖõºïmÁïC¦%d<]œ_0 µ¹±Ü)…="üº&1U ÍÛé4 Ù¡6(Yº³ÙÚiµºþ'—®}ïÅÎvïÜ b?�G¢4¡XÇÂ�¸Þ´bw:ÝxéÓ{ʶÆÖt™´ˆÀ6Ý„óChãR0÷Ñr -œz #%M‡ -r:�[¦Ë1\-%AhBHf O’ÃgšÄ¥¥hØ.‘f â��o¾96cš)òfPKJ§ÕŒÂÈ…'JFñü=K:*®2ŒÁÿ|ÝV� ÝGÎåDAÙŒH‘0„²^¶OÞ'Å¿÷ô©óÑŽ·¾�l²­Ö�îí[m¯mÍŠ�-ü‰·“%xž5;.ŠÑmÛ%>mÏ­×� Üÿ �ãÄÂII*‰Ó6Џc#pÉС^‡`zÜâjVRt©%E%>—[o4{Hè�[²µAÙõY61è˜[dÿÂØot™ á[βXd>ü�ö©åK÷?|Éw»–S…»¢8!Ygj°ófSÑm}†Êì -a\ìàH“µ®ÃÿüÂgÿœŸþï {îÙ×úûÔŸ€ƒ¥?Œ¹Ù¹C/Æ7)¥6Ú¯·æ_oÕÏŒ'Ú #Å‚ó_�¯w3›Îæˆþüe ýCn"�ºú´¬k:»È"É–ôÌ+‚œ8ĺ¹ÓögëÒA›�#>áø@t¯Û »]Âø&«G5à%Ú£]²Yͱ%Uñw¥(sZ¯ÍKt³±À_\ÈáRÄ0´¼@sû®VFûW-Ô‡9³“”��]ÁVVüS( åöQ8Ï⺮lme!J2Ü…¿‹o´fä…üÔNd¬Š (ì´‚å¡3n°0m3F Ä8ð‚­ˆò*ë€bƒŒ~æ©J^ŽBs›ç]´ùÀ¼�IìG z²d2ÇŽÑi€£h(å!&�5BTÝ„YÐ(”d7¦*º«óï5Ä%X¢*ö:Á`™\j†×†�Š€¦ª“sëŽ( „bÓ­.H…s}ÖövÇD?(€£wŽT’Æâ`½ ÷“TËáu5k_œ’.ŸF˜Cºy ; ÔSç¯~ÿ¯®\űMba³ˆ³,$åçm»öœ“=?X�½`gØ  Ò ‡7æß)XÁ>bî¬iXad˜:w©þÌÃnxÉ4ù¦‰~~E|$SÊcóæ:HÿÅ“gà̘°Œ`.(‘jàòG?á „»ÑdéÏÄusG°d£½ ô¯ÿÖï¶_ûk�ìüÏo~Íùo|ûYpÛAA<õÁŸdøýù�4åƒ8ºLÕ–�­×7A¦rJFÌ¿]_Y©Îoq¨¶¸jŽ‹DÛXÇ ¶ÞXo!¢�<—LÓ¨–¸¼ }d Ób p¹L�ߨÝòáp·Ç–…yL®`«*ŸMµJöi’›T:,ôÔ`Å}”0}(é‘ =, =€è¤ Ìi™C–AU"(±([c¨ºt(ãCp¬¾Ð8ÀÅÙ`‡Œ¦¯µáÃï­m¾Ùùg…ØŒ*Á@\ºÇõëMÛV¹L×KŒ|éíx¤äá>ÜξuZ29Š˜&‰»Àm×ê&û,ýƒ0)en;Í>ÙëׯÃEÇõ"9°+Öt¡u»Øü/ü›Z.‡üwqŒ¨ãz ‰B‘En&× RCl˜å±°pŠ«ÈN�@D HD—Å4èØ\ oØÌÊž‚ :@™HòÚw}Ê`a ã e=Û\$B¢uFNŠe+ÞèùOÐ;œõ…³N±ÃôÂ)pWä/Êj7Ê,ýa6ìó�1 °L7‚YÇ�K€x¬^}<g©Qü¡$œ®`óŸGý�?:€¯Ÿ|ÿc|ö²… j€Û‚r%Q?÷þÇ~›.”2S($éàî œ€û:�z£Á -ÀÌëÒ!˜ÿg -è¯ úW¯> ~ˆòCÒŸ‡¤ä&Lv¢sK%^<7OpXŒœSTÉÀ¥b;‰ûf¸þJ«ÛA#«×¥§ÒM@p›ÇG`þŸ>�Û‰ô ýâ±€_¢à�à‚ŠBNeÆ,®ž.ðÆ„´4ç [x lò’•þ™Åƒ)Ьï±n°€4é�ûÏáCä?ÒŸã?"S‰¹W­Ö®__-jŒø™¦‡ò'æG†�ÔH\Éš˜Ðó%> † Žð›Â&/‘ ÊÒŸ-$µð˜À`¤I j«0ÚïŠ,¢ :@к BÙ¸›Šx ÃeSà¤)¥)+¢�E'@â±³-“@{ãJ(ÕšjÀ¢nJŽÁïslq·aÏZÿi/¯—–â_g? óÖvg»×éø êuÏ¿ãbèŽ[«UωÓp'Ìÿ…“µµçQy<°|zíµ&者zí„í´à�Aj A³ƒL“ o)wú›r�?'Þy™±V�Ý o5²¢0ÿ™;6H Aô« †JÒ?Ì:Òy[!1Õ¹Gø�˜ÿÌDNG�œ\LLð+E~̓Õ¯�´H«ù‹K¨ÚÞñÒ_úå1ª+‹þ �‚?X(¯Ä}ùw}OÚþüÏꬹ@ÝêOínã§­½ìÂN<ñ‡•ŠœÆlýKF°4F6T ¾üíµ¼â~H³V[Àð+Ûee¢|ÜOô)ÕZläRöú®UÖs¸A½µÝ»Y'Dsý†è‡Î<1Ä’´ª7~fmå+úôØ‚ž—2!>üÔ“Sà 9Â!$^—¹')ð'9{êé§¿à´øs˜µÙ(�•VëÕMDZ9ú²›u ˜:!ÜušÍZ%]Å—>øº7Ü™Õéz¹ -¤¦)Vmy¯sÿÓDЛ>ÜÀªšÔf«³Bgc8Ëc"”bÈ0E8?îí¡ÓÆôŒR_ Â'²"±Gq¯�â`7JG¢³“‚Q—Ÿ#¤è�Q‡Ác¦¦ÍŦØäɘɾŸ#Q_¤ù÷z¥2ÍO nO'4ðžÚ2Ã4eb5Ø'ÁþD á’*e½¤bƒ|¤1%§ÎÍ â¢^$&Rð-˜1×Aé`èÝéÕï©)=Û²t-±kÛ`?Ff¥ªi—ì ¯ßj4Í LEVk•­-.uP•A"IµáÆ m8@ çEiâ(9^ž˜f;AÄ…®l–U�z~›h.jsˆ,g:sÜ4qûvëüý¿úäO!„Ë�[×tcå[ýç´œ¢œE ÄèјTgh�t0“¤±>iö"Op+;L5gŒ8¥ˆ>”Û�È’-�»²IlÕç*f[^!>Pµ ÛE¸Ó3ì¡HjX0éhˆÝLÂ…¯n»ªHx£¼ˆm1e¢]›Œ�YÙP•&&¶Ü ííEŽÓàþ2XüššÖ@ާ¾×j“†ßv/—N7äž äíµÌ;�…*_q& ;‰åé^–íßC[GŸ2OÜ7 ç3÷ŸètZgD=|··Á©Õâõõ5ƒÄÓÍõNuÞ:ûðY·ãÏ/-85ë¸SãÕm}Æ2tçÊwÖΜ>  sv‚�f"+`_ͧ§@ QPuì Œ“ß¹Ó­"*Žâ˜�Bö_ˆ½(P«%Ceˆ‘[�»Ž'q�§IÉ@—fµ4‘rq-¦¦6Û㦼 )Î0âDV¼Âµ[éÄx½å*IÓ•®2é!:‹ -µ"€8Ûm‡˜òòÁK�ì°P)Ç¥¬[QÇànì!©‚{eð[·ßâH5>B}—îeÄPÍ -]…˜tY‚¨þ–Ì¡~¬—q%Û„;®^©cz²,,ÔÖñ¨˜6 ; ÇѺ£µÞÝÛ­õ¯�9�…Sl1Ǽw[¶5/¿ÿ#Q?<ô.tº‹À…qvù#Í×¾–ÿDÿpX¤ŽyÛñÔS? dzW®=ýÿþÚ‰;ov„¬Ò FÍ0)�ç™¶ g8ë[ÕùÅîÖæÂ}‹•ŠÛ¶=cBhG¦Bbú�Q`g…GÈPˆ`ד&ø œ¹vc\;\ÊxìêBgGm-[O”kŸ±Î�df 4'EV§˜¶¼�´}!$fÏÛÞ|“Ü?Œ€ ðÏ(«×¤N.xÐ -8ËyC E„äóŠ +ç r<½n×®JcܘË=F¤­)iØA\«™ÆtãñVDZõ³o<ù·¥�ë̘înÀ¹òw,ýÁ¬fŠd@E˜¶([ú§‰îPù‰¼v•^™AÔÙvÅ6;(JN4°ðä>bO�8½xâô~æŸÁõ·þú?owÞZyY‚v­¾‚ñÆsY! >ÉÉÕ ëƒ•C5DiÖŽ pÙƒÊ2f¼ð }n äfPLhê”’—Ïæõï°ÅTØÆûñÖ¶&°9©qJÈÔ̈ˆ0Á Ï€§Âœ$´Ëȵ§æá>òa®ç�ŸØº}‹/z{�@æöècŽéñ0§lÑE5ª¤?ëF-œÛ€GÀ]BU[%Šó0Dx‹$M@ô›&ñ–¾(.\ÄÄ@»ÕM•A·ÝãPçækTU³¼íÞ†ØZXš_$澕>�U>?ú2×–‚HÑ‘8ò°@96,ýE– dhE>¶æK×¼ÖæÙÇ?äï´­Ù:s¨‚‡»u÷Vø_ùå_ÿÒŸ}AÞVAÌæÓϘ_9,„Aò©§0”öñ�?%þX°øöw®<ýu© š7P°6NˆD îåP/{L~5}1yºnt@1<‚h´šÆakºÂkFP`‡‚û1{fEuwÐ/XiÈpÙ صbºý±,âTó�yÑŸ¦Ã‚ÇYb‹d8„ ¤f‚^“¶ô•1 aó?—À&äUŒ­™â`*·!1:(B‘XèR `xÙžVÈ4•ˆƒÏˆ�‡TÔ æºˆÿ70?o#J -v`úƒ"dÕxBå ÒlÄ€ WµŒœÅ°ìÀI!’a#5„8ð);[›³$.Ù@†nÒöñEö@îçç0êd;»Aâµï^ ðÕÿúô¯ˆ±8:lvó±uq<õ äðÑú!8³øËo`§1¨�ækê"Àö×ÊŒO+y:K7[_ þµ‹g œ¢Õ´žâ¬Ô¤žu¬Ñs›,ý‹¼²bBçÆ´ø&?E�EjHFÄ¡ŒK‚©ªøÞaWQV@S<‘�‰$qÑw—8#ê€�P‘6³ÄÈÐê6|Ѥ¿NrüLacºF H7†ü´GhqƒpªŽÛõ½n�Õ˜ÿÛŸ3Ì™ú=5ÇW7­¾„™iîgY~°áíÍ�\‚Z(h¤€ˆA2F,òŽ0’ËõN°Ks[‰5"GÆ‚}…å>øI’°£À€ÈˆhþácùÁÇàhna÷ê€ÕkÝ]¿½ÓdÞwaå»`'ý€m¡"Ã0f�UÙ@‡~@Yek ð…;'D�€ å~À©æ’žu/#²M¶Þ4ÄîN9’¦º¢˜ úƒý±Ìuƒ6öôØÄAÑÿ�TzyGkîÈîåí².Ú¸Œè`b™-¹¼ðÌÿdo¼8A XÇЄgét€ù/ЩÓJùîPÇa£¥‘ÒÍF{»�¢ÿ¹uØoÕEköÞ*è€êŒÕu½õ›ÍK/¯¼Š»ìÑGÎvïølû›Sœ]—æù“�ëj]wXúÙeS�:êÃ~Ìæ#Èýl†ß•'Y޼¾'»f? %v - gÛ_Uõ8ޏ‘ŠÁeìúE�áˆs€ÿ5+ �Û0K;�™ˆr ’ÄÈ�]†¹Ù02 =Ú?,7Àü).½µåÁ.C3+ CEAš0‚ Q4�=€œ«Äx™ !æèÃ05D‹âQÉ(SUYшÛm~×!Ð4VAt£n)#–/<yí¼ÂÏ™²¢8´MÇ �*@L#˜0ÞÇdö½K¥ùųW¾ã·~ã3_øÜgŠ_ q~¨Ã6ˆbEEv£h?… 7Šr~D�hVVÞËa�÷•Áã—°qìëßxö7~ûÿУp³Ù^$(:ß%, ˆ8½©«õº]•2K¾ßé¼y˱¬ZãH^ -2¦¸Î†H¹éõ´$'’Qƒ`!‚ù6a=¥%,^&ô<…ƒá0E¤mCïlt:;m~Àh›“pÇü§hÄ^õá!ÐsÈU‚‰¯�Œ$"hå@$¨¢dM+~¬f‡©šu‰æk^ã�v<�Lâ˜+@U«  ç‡‘‡%ú´îmy *æïÕ_ð^NcÁÇp�–'…ÚÂP¢°ïÐ�ˆ\% ‰‚˜C^Ú$¶¡ºw\瘃6ï0æ„Õâ½:éQßpÞ«Gi¬O«�û,¸P'q'ðžŒR!á›O ÈÞŠ0é‡ñ^„5¬Ä죉­Ž0þ“P(NSeRÉvv‹á}¯§´�ZËËÂýz�Î3cC¤±ØàóSO~Ìó¼õ×W¯7Wáìm·uJqy=/»C<ÌB)pJRîG™Tòÿç+\Ð×Ú({å  ¥W × 4Ö¤d˜Ñ§¬úœ–A:ÂU„F8†ê˜û®(“ÂÊò1椖Ž`+á¯J˜…ƒ¿5ž˜¢ôa½Ù³Ê…GQäFûý:”Gƒ9“ôzóÍ«Û@.^w'ˆ&Ûù¶ÏÀJy}YYKy¥(Ýé~–Þ` ±2�LKÒ”,ˆÂ‚ˆþÇŽƒ ~Jgÿ–6ƒ-D`ãÖ–Eo¾eÓ 4¯ã“úµ¿EØŒÚ=ÕŽ�SíLUá»W-Ò"³ÎõõÜŽuÌzáûëõ…jãèßp>#Jß @ð‰>µ¤ÙsV§åæ þ.Løpö8’¨x}_²gíæf»±XÿðcŸøê_J¨ö¹�PpLiveS!6a‚]<ÂTšJiaA¨3/‘B6ÍütQ¾)‚«6l’àœ‘g섈"JjªOlÑË5Ù—°w°ê˜»<0Ø)ú´ç±&¸ P ß„,�Š`kAAònF|60,\V�²°0Ï…!ðG"ê¦×LR)£I¶¥‚/£2+¿r æbæ$Ö -pЋï<'Þ »Zãålï´­š ¡t[/<{öq‰Ë�œ¡IÒ?J«,YØ•ÚÀrÿõßøô>ÿ™Ã/+ Á½QA0™G_ÌDÿ×¾ùœý¼N=̬?­jÕ§Öß…Ó§íYG|O€ô?ôz0Ê0L°ìÊñàíÍÎ{IÕòúñÁŒä»°¿î ç”w s‘bÕ©TÆÓËe XÊ]b}ÁæyœÅ:{½!(€^o\ ê‘« «H0$婬k$„¸ yÌ%pšk\Qj V0· 3œPö‰’Ìaêv“ÆnT—P˜mCâ.¬&� †À-ð -õÝ ÷€šxŠ5¨ðxô© -ÅÙÀhl†rß}Kº$,Ö€¬-ζåsŸÏ”§?-Ž#åÚã‘â¹È›¡ä?'²lrμã§«bTzi�È_¹ò¶*'ÄŒ‚ÀÌbašŠÜ%7ÒŸÁŒàx+2:�Ksjr�ThAšA(ëËΡË̓£®áó,ˆPXÿ½òÊJ›òجä{§Àl—ù¹ê¬)$–T˪Lç¼uµªƒ¨A]—MÇAqâÓMzÙ�Œw8¤ 4QŽ`ç|"—¨”!ò!‚Ì¥Vg/¢½ãIÆümã�†x á¹îå{.1cÁ�W6@Ä·[]8tRü›Ï,.Õê„*€Ç"– ^y~í Q&tnw'1Zëº�UÑÌJÞpnåà"kþà„³ªåÒ?ø�c"߉gªúT"²*_ðY¾w›H;TˆEwÏ4䃃9ãûÌ ~'°6H ×ké,xf¡•‹¬àÛðw™Ä±.ã´C—Z=¯ Ž[í`¡n&ƒÄ®Ø\ëÌ_šïBn¦Í -¹DÛ¡8AÏÖÀ+Û|mÕ:&C䌗kh¸;`,œ=—_ëô[�þ`ƒh¤‚É…G{Ž, :à—~é×ÿüÏDZ ,–­Š²©ïQ|Ö4‡è¼mšø÷ÿóðŸ/¸ÿ˜aQbjíêÕʱJmi©³±qù—Å™­wÞ�ðßEù ÚÕœ»?ØÁ Aò7$*èÒ0À3uš°S�h6gL¸(èçÒA/ñý(Wì²YÁAgÐ©ÎØ–ÔxL•¿|9'ÌÈŠèEÖ Ã)2×Ã&{„i¤ÂM“*R*éÏŸlOcê«Á2ë œ€æ†ÒŸÕ@¸—€èóÎ,ýáŒ`Ñ%áPÜ\Î^= IDATæ#¥9ADUÏ áOÃѨUA€°çpßr‡0œívÏÉ?^N�”2ÕhVò…³L/ã¸-:d}1$2<0¾uÉ'&„ÌiÓœ‹*q0ËùüB'–̱ZÿgŸ„óC¯< -ß”Á‹/£&ØÜÂÐÄâüáÜþLjSæVòB»®E×u]W¨±Ç�˜áA`¨*ñ0F7—6HÇ2ìÐ(ØÍB4‰49iÏB9"øósóód߀`à0º“ê鳇#Z–¯æû™r…‚°§±bÝ:½í<ƒÈË@äæ?¿…EjÖРrÙBL8 ¬‚Œ«Ô€ÛG‰Ì€]sÀö÷›ž3CUŸ>ƒËc™² ½~Ä}RØ™s³S'|ºöæŽåØ ý™9€}Ì\ù>‘ú=VóÕ6èÓÂoÄ:ÎQ~�G¥¿ˆš ÒŸÀ¡ !ŒH„ÅG>>þ%ÎÕŸÊL€¢dmýCª8*•´$ Ò¬^%ÉÄ=«�„dfH?¢ûîçY>MÛq=WFö€ôç�‘c×Ù@50ˆâBCraÁòƒ jéæŸ”Ô€L·1µò´&Ɔ� àëºß�­#éðÆ`'‘Š»Óq -ŒÕ Ð ÒŸÓðEgN€ù�©ðbŒüé�Õ�x¢•ÿò_ž†ã£}êÐÏ#BÀÁ«Bé LÇT�]{µù•¿øŠþ;ŽÆÎ©�¹EœPp~æOÿèÜû~ŽeWL�þpFWÜäÙ³p°…ÇõÌVATY¬¶µí©%Õœwå -@V)Pƒ®(p^s ˜Ê±õ ¹@ÀåÐùhµñ· hžËe×i ýï´Y°èÇB–‰¬j(Hdó·húÁ”õ4É~(‘‰Á7vAÁèp4)òM© -û‚9^2[µ vî¸ÌC� ÞŠÀü˜@¦iœ[ð(ù V6(€ (BcòAðD)­hÖ9Ÿ {ò+—OÁüÇþ E^”(‡1.£bãÖúÒ‰3E{ž`„À¹g‚t€8:Î?p L£ó^úø/tÀÍk Zí&œu¡;5\ê ÚÓ}в3E£%8)A¶îé3ÁºÔªÆi¡0Á2žÿ¼­$—þ -à“'õ|»À‘ƒ¾/è™§¤ÂÑ-ì¡e †w'@󟧔±²ÁU)ëcâšB¸¿ÕY­Œ œ‡ J^$¼¤Æ¾ C- ÙΆöõ@ @4/êÄÌ“¤’n,ó]XôóðÞ†�³Êlì[{ɽRŒ$ˆô¹Ã/ˆGJ!ò[¬Xú耕ç×î]éßz³5�Í59ýz9SlÖ! ù�4sR âEilk¢ÄÏüV ÷¹é�ùOÀµr®’APÿ6œö˜ †¡\—œŠ Kœ¬.V ¡àÐÁ�+!{æn²^Ô³k½ñ“íõ’JE-‚ãš�-,þ2»˜ë#L´’bÙ¦KXúlMšèƒ°¶t -ü,w»°e¬:7ßÝjaÏ[è_¹ríÌËUòCÙÅä9´çªÍíú¢Å³.Ï—íGÿ§ÿù�ôW0œ–à#_.BÜò]{ûÊÞ¾÷ù?ùÒŸ|þK[›Mì�¡†át”‘èÆ‰5cž:+M¶@–X!}ècï‰1©�<}ÚïËÔVç��ƃ�¨2­C ƒ%‹A‘—kÿé‰�êÎè\(ü‹EœC1ÉÀÀW&Jz“ßδèvðAG�Ä îRNêªÚíôáe0$Xf)‚< -crò™Rh¥xè÷Nuh¦‚‘%Ú·^ßõ=ƒW«Í™�RÀ()Öõc‡$\t`gVà†0îM¤�Æ$ÚüíhŠèÓ¸ÂãÅ“ê(¥-MýÉ.È]ð'† [YÜ„ƒ,òSBç R¤ï -&d‡e‡Ö´>z½éœ¥„ÕÃ~Ï_\XözbBÛ$âONåqg&ÈæüûCF’íУH�™œÐþÛñ¼šmÚÓllêjòJö‡L�35m*T»�ë¤,ÚÞ–»Ó¬˜œ�Ê#%žÍ4 †Cpç±�¼©i¢ù|ãæÚÅ ?ûÙÏý+1P.¾ Þ<ÄûCÀ¸‹Ë—/>ˆ±ÍN·µúÚµ�[k«¯\T6݈^,aE”’ÆìcjYcœ¥tDˆfe³Šó +�ó½ ÿÌÉ yˆÿDL=“áz–a&klXb +°¼E*ŒRFK«�x¦¿Då}«’`Q©Y¿GV×øad�B5ã¹í<_=Òä÷#L*x¡ËÚHËÐOMÍîFiÇß0õ*Ý­•ˆ€íc”eÁé˜M}ÒLÒU«ížßI -Tnq<."2\ê�D’€­¶¿:`™PœšeZjã�»ÕÖ›0ðýŒÇ¸{Ûå¾¢ª¢¸¯uÂ,­šíÔ7ßð´ ³³éun»çjtwº;;Áì¬ibqáô³×¾«•o§iOKÃ8¾…V>PðãºÏ‰R?Sœ\Q˜¬#!¥3<ô±U±Õª×ëÚ•ªÍì‡), pÍeœvX�0%³õS;ö)ÌV’F|°UÞzƒŠD ˜,ÁÌ”`1ƒp—­Ž$yôÔг¶m�_jlÞ"ü �êq'ÝO/½GzùºÑè´Û�ŒäÌ8?óm7D ;ôöæ­õgþöéO|üƒ ðàOÝwŠô}3‹\išØQ MåÖ3et࣌ŒÛ]SÇ*YËwSåLYNÚŠ!Ó�,ô@¥;)rLlÆ�‡MJá™RBi<МöGìNê�ç0‰¹Àh¥QÈ·—Ôˆ€/èÇù5÷|`ù2Á[éHvª–•B³.‹þ"é‡U«·ˆóúìò²Oý ÷ûý6,ë€õWVfçæ9Òµä>päKYjr!�}ð‰Ý ö‡Út¦ÙšhßÍYo÷²â¹ ¨‡w,¸n¤¿19~‚¢+°üÈrVÅ”w�Jz^¡ú%C+„g §*눻�QTÑB%]éßÛ KÚ„d¹Žìà$AÅ´,s‘H_]Ï-¢�’J'b¹êA:*¨[¤¿ž“´pžE‡Š~žuW¥\«š‡€Š£³Ý+ú<VpJG°Ë³�~LHûµtŒ2ÿ#âÐlµ¼J϶*ؼ#$í¸Ž�WCÁÙ(;yͬÌÌPbÎne# ‚»>n ŠXrvšu@QôQ9yœ:hþó¸«è?:–¸Çÿì3_üw_½ü>ÔŒõÏä_DR&_ Òßah,%LÇ&¼Râð`s ƒªHv4î Ër"ÃÎKi+I€êú¹â.jÕ²:O™°Û]„­ÅÇî‡ ý¹�o4“ƒðú’rg¯7õ*˜ÿù?AôGq:@+s©.¿%E:ós(Ž=ÿm{wG�òr¬ý´@7Ÿp%¤ðšU¾}?˜ÿÕª gUi×êõñžôºÍsá�¬¾Ô¼ÕjƒôgÐÚ‘¼��]ûnç-Y%Õ¼u}íÖÆ©_;õ¹?ý¨�'ßÿ�›7Öjó  ¸êß4m¸à¥(>ĪŒ+¼�™;ùcæ@VµŽÎH1¬ª¦]à ¢_Cg#?ÿQK(´‘Tïèä$Ø¿”*âðÚÎGnU¤ÌÅte¥l -ì„fFˆÐ�:Æ‹ÓAöA“F´çwnݰæHŽOY¤Aa¯ZÙØëwý]ãÔ»°÷>8èv”IMå˜$¬Ÿ=»òlÊó¥ó޾ÿç.céN±t’‰&�ëUõœô×Õø¨T––êË�úÒÿÕ²÷²7”MzIj˜Vãþ3ºnx]JG›b4T2ŸÛnd•5Ž6&{þN{óÌ»/¢)§ë]ZÕ{U²ìÒt¤ wî>ݪ֗ãݦ`™Ý¡žL ÷Å÷¹æ;<+&‡È(:Iv“ï%-!�\BÝ(2–™§–+·vÜÎñ‹ôiS­èøT_¤l¬l×nmt®¯ošÇãÞÛÅ-‚ñT<ì3,Ô0UhŠi&Ù”bãÅ[°… -žlŒ‹—ÅÍáf7TO¹ÈTKèG­øï6ÆdbLf:3*vš ÒîN¤R«zu¶ -V¤jªöq»s»Í9¥Ò=°ú ¼íæÍÀßÅÏ¿ð.„〩;ºSµÜ®¹ƒîm÷\Ï?qb�@#&Μ\iƼ­Àœ7ÕtŠÖ«…œºC5/îîË5 ßÛúpDÝ+£Ržì1çØö¥Ÿ|?ÿ3.�lÀ£ÌC½œLb¯„ò@_ùÚ—×®¯z;í„BÛ"£4)¾¾8¸ß'g’ê—繉D‹£×쇆il¶¼jM¾Ì™žîá{m¾ê+ý\(#…kÑ›@[�,xÏ‚Í|T®ðpµIÌ$Ã!÷FƒØÊêñ´i-Þ ‘>:†åˆd¹ð[Û×0 eÀOëäÁ·]×(—"x´û‰QÏ“ðy2¾u‰õ;‰�Ì`Ý A ŠÆ]¡šT:»7Jª¦Àmî;~ÜÕ3… -~@}®aèK !¢ØËž=cÔOØãi¥ ø“Hø=ÐC*W †œ?Ð9§À*_öÇ‚“4iƃ„e®ZÀêánXoǃ??œènmu1ø }¤t¶w@ª.ÜkŸ¼žW ¸ýܵ«X#~å{ÏÀNˆ>‰8`ò⵿û.x^¶‰,Ä_þÏ_þÔÿþ)¸ø÷_þ÷û§sކà4‹»Èýâ�Rµ:ÆÅ¬† ©†1aÌF”ʆG“HÞ9 «M”".vàL/Ár`ùL2ˆeøP¬ÝÀ�.ù»à5šã'£ÞåúoЈ=?:ù@Õ´58?Ö�%ÜH1¯kŠ>…¯½0ÂÈ+È�þðyn?Ô°nýmu.ˆž«ÑcƒsÞâu6Mj@7‰{þP"¡þŽ¥öëG?êÿÑûá¸ë_ù‹§Ÿùŧ.ÿ˜Û(޼J—‡{Ûo<´8o�áÁ82¢}ŒƒpTɶ'UXÖÁ~\½g~Hÿ.BŒ£F9‚�Jø½|Î’ÊñlBðy¶£c07 =ôn*ã¥þDÝ[ë½Ò߮ڨ -]Á„¥–¸™�,»ö6)°²XXª‰ïøÖöŒÞÞb6Q;èÎ+Œïó -.\ ƒq" À”CFëhèÙ³ÄËh©Ý¿»#ã?ùªÀâ?Â瀣Ӗ¶WÙÿRçvŽÚqôaµÚÕ -ÃÌ]XF[Û±-Û«ÀyÇ•yø­®>­Ùó&ê35§* ýƒ½ži½m 1D˜.é(¹ë ¬Hx4dÇæÝÆG~þc__^ùÁ wýíÑQÄ{Ÿ9Üî¢? B�dë¯4ψF®VWÖAúÃ!È„g<½ûíã ”Š‚°CÃLúq·¹~ÄG1Éb@ä -òʇ0¸ø�SÜmÀ}g\�„ZCCJ¸Ÿ:–æúÒÞÎ׳V€cé?äOLu)«g«Æ —®¬"Å6Þ˜Ú£d÷øPc¨mÜ/…ç¢?ßÜÏ•‘ ý~¢ë ”T8P PX•ƒyÁ /rözᬈqV#ÊzV¸(ëâ£�_|ô18¯­ oºò÷/¼°²ríï®ÁÁ/ûÝÏüÞcï}ü¹ï�{‰V´ -ÇÇ>ö«+/àk–/Œ¹$ÿ!CUÍ$ 2º$AtC‚M~Œ4¤ã b$Ù—PìzÁÆ7î„E0þ-|¾ªÄ_êÌßK*¼—Ô¨ -œ²ÖI+A«p%°­’B#1u� 0¼X:¸U8çwðÑš'‰C8´É;3 61V‚Z„ਖ>D¸Û¨~ÿô‹wÉý‚èÿ˧Ÿ�ó¯�!¹†ˆ"ß}îÚW‹¯�Ãë†��þðýQß’ë·ààWÚUŠ$ìö ¦²BÆÁÒ_NÓ¯�jàú¯=úÔGø‡9jéü¨$ò5/z~�=AV†äðV2¼½»:þú]éb7¯7õ)ü´¨èX(a‰Ø^@„|¯Þu U}¡ý¾oQøò€(&Ë%£jÁC(ɘƒ~¢”ê‘ÁXX8¼žð-…> Yz_1½í.–le8é`û;ÇT8ÎR¼@7\‚�{ÝâLÌj.a·5 ë7[Ü݃ßtZcúè¨#ÈÏ^@mnÁõ±Ðà�ÀG�NÒcòÕ,¢Çó{ðð'„+Õ¯ç ¶åí¦4I00ý� ÷Mã0‹=��¢ ÑÝX<óáõ"3£U©ÕªG_@Ý@r©ÈŽ%øì9€ìй㚰 IÃ>2-Þ�sÉèÌaH‹PIUÄ \Q\uš'‡ñ†i1°ôÏ»ÌA©c™?ýy=ÃØPR –þ¦fz½¶KaPá€K]¹GR¶¿`Å*uª3Ú6÷‰¼" ÄêIlgÍ�°Hú‹ ¶>–@‡d¶(²ø‚×½yûžÛKôxhh%Py`œ€Cmƒ0®]ELÀŸ&€þ ËËŸø5aÛN®‚¿é³Ï=:`ùá ŸþÝOÃ?ÏÝŽ¥?�?þüï<òðO?üî'àâgžø¥Ó?q—ø!ÇY.K�¹C ;®TF|S™Yd˜¨ð$"6ùžYés‘B•¬±|§YãPje3)óreÀvÆ¿CÑÏ Åèj[ƒƒ[VÕb”Ñüg'@àöˆe+é08»³ùÊ*èùŽt�ÁhYï@i&itö}å‹?y1»ÈS’ŸbÛŸ�çþöÛ‚Ìÿ/þÛÏ>p�›çˆ�þ×_]{ú¿}哟úôêk«�nçò{0tâä’¢Hûà9¢“·Aƒ¯ »(¨3Ъȥ/rŸ -¦ÑÆ–!YtYA« ŒãÌÿøßØò¹`²ù?ä¾²6,£»‘ÁšÅeÌ&Œ&SSçE9Î5‰}|U<(­F¡‚Snƨ¹R½ï–¦q“´^¼êwÚ ,÷¶·tsN+)í >>€‡~êáöÆFÞèÔ8×øÅ=.2Ü¢Oÿá—Ö~tý«ÿõiüÕ}u5ƒÝX{yí£¹ò�/�àÔ�ÍΩSK^?Bkì⾇øiá“Æâwä;§Ö»3ç^xg™ZwwƒÝ^ITàõéÄp¢ Ö -z[po¼Œ&&”S÷£VKGêÞ�ç»p‡°OÂÐu0£4eÎÑ ¡ §g}¦áû¾^iÄ#_Ó" Â2`/Õ׃7OÑ $›Bšö†õùj,8+ªV�ÇIƒi vñžeç÷~?Ƹ>AP퇈¼�=÷*Ð\͹øÞsŽã<óWל™é �\p ÜtVù.Ki‹ÔJÅA�% u²tþÝø [­õuÅž›·©Ñ´·;ÞHëÔ0Œv£á["êÎ�öÄ­[(ຽ}ÝëÕºí·:wÚÈZ—˜�6luÑ85_é—P{ ^t—’F‚¾M{[8iöZ3è¯Å¥†Q¶— EÕl§‘«ÀRTÌæÍMÛ©ÁE7ƒ%?îÔ4¡EQ{qÞ~ñå5Ú^·Ó8±¤M²™¦lìlØ\ª4Àï{ý& -î_úGZ¿Ù¼ú�gü~Çë·áìöUKTÕ>õë÷|‚ôïGLƒCJq½-pSà\ÁåÕ*–ÛîÃü�P}&‚»�Ò£a¬¬~•ìØ�XÀš}¼®L)í¾çz¡®«~ÀªK?Ás}æÛWA›bTM7Vš�­îå^‚÷¶7Ý8JÏœ]Dpl˜C«ŒHïG¥žk†l›Tƒ=Þ/ø¹è”1yƒ¤i“&ÚPc²¦¦ïk2¡Ú]hÒ�ÇæÄ¦£f³¬æë?NG -Yà‹Âb0NƒépÈÙ�¤Œ”¿iÆ¢ŠöÕ['%%}Dç¸2¡³·V™Hõ �vý¤beÁÌÄ–a `SÖhÐ’ÔJØÓgϘ9q¼i”¢ýl¢‰ã—/�™ÎZŽŽ´ÉwÝ -Õ0·ÝÃC sÙ¹~ýy¸X}uÍžw¼�äÛßøöó?\yøÝË¿ù¿~~¾|þᕟÿ1‹Ç.ñOÿ8õÎ?tîÅ—Vá¬ë¢:§l¼þúÒñ“±à–]ÇUBò/1‚�ƒNPeʪN[>LHV¢v}Œ‰®„›à)#ìÕÜ÷�R )Y »Ä ç÷éP -sÄèíG­7ñ£ju» +65ˉFñÄ@poÙØAʘÿ(ãDx{¥ƒF°UuŠÿ„-« gžÔTÝ�ÎlÆVy‘ƒC$Ω‡ÎÞø‘,•ûÃ?ø|ñ¯ÿèKÿæsÿi‹HzÏÞ�z5Úë‘æÇX?ý;ŸýÌ¿ü­â_·«µ­=Ⳟ2óŠ£|,ȯ…%^_V˜×ú =k„… ë¾Û鮿²~æ�3ìœ~7š ÷1À:â$ú1p 4t¥âÓ°,KIJÃA"åH¾k?I&¤õ ;ë� ßÞWSX–éR…Ss IDATûHgê�k‰ŠFÔ †GÎÚþ.5‹�w,4_oý¹@ãï-ØõÍ™»Mq±ü]ß(ЛFk%Ž}ÌÀF˽³å�“Áø&3pQrÄJËJ3€Ã¼ZÉ:&¿¸ë\…†wþN^ô#$1žÖMÃìl�ûì`*éõEã$xØl—G°üÝ =7¥™žß¡¤Hu6°Ñ8™¡ywƒ3§kë×±$üòO ýðÃóž?Ð…ž�¥ÅF:‚~ל®Â™ÒŸ5�Kï},ð¤ßcMW1åž•“c(ºÃ§Ã³ÝO¼­€&PæBþ 6¢Õ#1«Na-Ugïò¬s aP`—0Õ0õc˪ÊÒ�£‹ ý²î5EanÔèS:U��º¹¼þ)‚„¹.Y=¶jZbÍ(‰mtVÈØÄB‚DG'SS!# !(Þ;”�ý|ý“Pê\̦Vr0ìÿ^T9h*Ï K(¸)ÜìûÔ¸Fid„�b¯üWÒ·2�¢ÜfuJý�8wþÔÚZ“ñœ5rÙâ$„ ¢R-A Z¬ùã±ñzÛsÆjcýÅÕÙùZõxMd¢Ÿoïè�¢ÿnFr&9bˆr¶Z³ÁñêÍôHààSq€PÀ`gLpÁû6-»¹æá޵¦à¸°é‰Îóg½Ä -èXÖ°'Eó&Þùû—Zovî­Y3f'c]÷w]4uw¼+Ï®8…¨�þpÁ:.^Z}é¡sÁÅÿ¯/�íù§oÞÚX.´ãƒè‡£³5f*-J•i4h@úó?s˜_]·‰~$KÙ;€– æÔ? n:·‰±®O`A[]8üžÔ�µúÝùE†¶ËÑ•PÝŸu@­î @hV¸cƒý‡QÒXŽÄ2Y¥Q@KÂAãÀâ…)k†Ã¡1ipÇ€‚À‚¨„<—Ñi�Ø®ƒ²D7‚ó¨D&G(Â’D”à,ý£,¤‰ ÛÄ¡ N@³)'»Ô‰¥?'pý—E³å–:¾YY0ÖÎÛ*w�ÉéJdQ©޳ìƒÂçäI×"—²·Ûrý /ïÊ ËÌàÎ2D‡4ïµêÌÿÇÙÛ¹q¦wb/Ðèžnöì&f@@‡„HÎh¤¹Ã•Ì%#�-zµ¾ÕÖ^âu9¹Ä¹Ë9{—Ø•ä/»œrÊ•«»JÊ•TR©\ʱ“º�“\®ÊŸ×I¶¼özm®mÊ¢éÕr,îH³C‘‚83 ÀnÓÓ=Ýh ÏÇÛ�ž!µN®ÕÕjb�þxßçûùýžm9}õßûùtãûïÞþ«ï®­¡>øßÿ�ß‚-Hÿ_ø¥_áDW*ýí9ë6 à9 tÀÎ6 -LÝÐëåKÿáþ@™D -@˜ÅJúŒ�[êbéÏÕ:²"Hè\×6Yêd—JÕÛßã§7c öý`„:ܶR-陼�5NuÀÂd–þ‚DL&qú§9*m¿¿Æ! AÖ¨ñ½¹±’¸ ÷¿õ‡ -ë‹/ÿ¸¿'>má’ílêt@õ¹úüŸüÌÓÇIP¶�sÍí{-X/ñ…€MTÙ8ƒâƒÆ{sós° -¬þ\貕zœL”ÆHp6â#âµfÛ\^mj -³x óŸË7yq‡tû¥äÓ’ÈL6‚úà %.çÉÒ¶³T6Óúhûú ÐëïvYhÇðmù$ºÐS`œ)1™0ì/Íù@Ö}uà‚ù -¶0ô9Õ.”HHçÚûÄ£@&¿•´€aÀÞ´PÌ�é¼³¶Ž3sÔ…Ï"ÎÆ_?¦q¬2oaæ?8,hx`{«Õ ®éÒq»rRr¡€²u'0l;�ð·¸Ì°ý៰ÃÒö¯ÿÙ�Õ‹?±µÝºqóúÏüôW[÷ò³RE³cH¾×/üüWA\ÿýo¦?�Šþ¾˜æÿ§ö”t©T˨:½Á^?ûùý{ÛgÏ5Ž,M–Ñ_Ÿ^š›/mnlkº: +ýÓY -|€ðÝfÒ˜�F¢C*!·uƒý#—cÔwØr“£v˜Ú“ºã8ÿ 6y.ä#D-Î3·^PÑöE:!˜ƒù„‡T#µ7�åù«¾ëîM% Ëʬ#Â1퇘rT°±s1¨, }˜ÀY¹ :@>¢Ø«Ï¯$�kŠçö?/��éyõ£°€¼¬®¾«øYÜ¿ùî7Áü—ç¤1vë/P14Ï5[‡¬�*!’mÜû`¹�  @î£Ð’:‹ŽÍªÁ~DÍïŠlBû¸ò´§[®”Ê�†ûûaWòq+í�Ïj€©"¥ ¹�%b MÅìåòß¼ -æËÂRsg«%FâæÍëÖ‰róìÒÎ'ml©2”Ð5ðuf”þ“¾Å Ãû�5Wim¬»½î¹—WAºÞx~ÑÛïG Ú¬®À½ËñV4=Ûb¦aæ±ÇRŒ‘x±Å Z~¬€A¥ô�>’–Å8¦nŠžY¶å~ÉT7:P‹ÇÁ¡'¨gFÁÄ^†íŽ$1H:|÷"j·û†¥kF^Ÿ‰‘i}¤ÃŽu¾` =0ŽiY“3‰ž4¾aq5½Ê ’TÏi�ÜT@å �@ߨ*nC¯Ÿ"Oìtºµç’ðk(ÑÍ Ýè¸8S P±ñ7qÁC PƉš3Šˆ+ÀÆWZ'ÙJµ †.÷þÄŠ"¸Õ“º7Dó_#¿d®QŒgw›¡ªßsÜþcçê«—:�:ÖI¥IØa•�$!éµL£qï^ÿ×ÿçÿ þyõÊ0^Y½T¶jïÞÆé·tö"ÜÅ»w°Uø•‚õÿô×ßüñ[yyù7~ówðû µ²õ¬èpö²Á ¸CE`ë¿®ÙİY"ÓÁw^h6¢7JGAtz±R,…ì<õYeá\¥»Óu,Ä.›ŒŠ\‚0ª -&‚™%;.˜`xÁ:àÇ‹Ç+ñ¸ /.¤ê¨à`|ú\íö_n6Nã`îõýf\ÓÙ÷0.­*–¡²sVÈmaØ1©ÌëHäºL<0­;·š0QÎ|CSÕl;¥³ÛSYLÊ„°ưÅxb¢j,]Öj\û·~âú¿�vhvá¼¹ -jQ÷TJSößó,ò÷ÿÓ_úGo®=› -øòçWÏ׸1gííëà†XÄdä>ÆÙÅ¢ŸwŠ³ÅªeI@D¿=_i.¯ ]œ±ÝíV÷aËœ«UêÒdÍ'm -°dgd^A+€quÝ]�0ÊÜÑÚÚšHJ�áá¡ÈØ=ëïÞ® ݈dŸlÿ1#Q+¯›ž-¦©šWóÅŠ*½³d×êÍÛïM™LÓæÜ[±T›-U³OU×gaíöܬôO»Üô÷ãÍ–þb -o£›eðÌ¥¹’ T–¼ê™p༊‚è¶]A>I0œ'²DAúwºåùgœÐ„qµ?>ùaÝ× œLÆÑõ=‹Ê®À¾.Ð-¤ÄÖ!Fl‡h·³ðÂE�þÎ.^�&ºz(LoŸ¬µÄš×ïvﮃ0Ë-£Pî³�’AÝðÞŸ¼ÛΆ¦Ø!�€·r…ØþßþöŸ‚ø¯þëøòÅ—¿ÿÞ÷å½=_«?_…­ Ñ_]hÖš¨>w•¥º€ଠÌ<¤%!� N¨�~ç-HÿÊ©¦yBšçÈS¨évQs†!ŠË\â¤nyñÔ�¡ -rKÑ4ŽŒÕªµ�* -Áü§„mAô³ôÖê¶·äsð�øå¹9"á#,õò¼ :Ìÿív¶¬Jǵ6AAè&’¿³ôW1'Ï€‹HâI)�ðjyPû,÷­¢*Š*šÿ `\,vE¹Ó ›ÔÖm{9M€è|‚“äˆè//1üºº ’ÇÞ£€Qð`imS“ZV1&•Žj`"D^ðd&”Ⅎ‘£ºž–ЫÆÑ‡:œ¶ýa¬ÂNªi@üÑÿHÿ7¯½ùíëXx÷Oÿɯ±€ß„í�wn°Û|Pßúƒ?€þí[@¾ñ�¯?û…=µTþ$,šG¤?/Ò<çULJ‡‡ƒ)"ÿ¬é<šºí«—§9°¹9Ö#'t]¯L ‹{ÅQ¶âø©7:.â$‹Êɹõ;›yU{ñ|ÌP0Èù,°¾¿:cÀaj—!¨(Y¥¦­Ãx XwD±~$ò,hŽïÙ†©ùƒ^e^á•K™¸Ÿ€¥?ï„ H=ž*Mó&xv¼MÑèð%Ž‚1yZðÛLÊf’œb[¤•…ÐF24 -:<îeMƒàµ¤À0„¾wý_Ëð+¬Rwº|æÑG�]Dí3Çì8`øëO÷$ –é2vK¥ -¬B¤ÚùB<°Ü²¶i•z•G&Ô÷…Àöz÷&^µcòçJ–ÒnEEŸ@·³]©I‰ïôײ€kûA‡�^¸ü|tNÌ K�Aˆ×aüšÍ�ûlûÃÖÝ݆Õ:‰?ÆØ# -ag¹.yÜæøGÁ[ÑÉÜc�-U¼üù×@Üú£·EÒÉ6‡Ùž^ÜAfmù:@üÒ?:e°4Á©‹§ÒsVÅæZ÷7›g—ÀpÑ`²Í�F9’`JŠêµ®dY•F<€•+×Zn°`Me"íeôà]Pxg¦!b©r=lÚ2óª*uÀ§TzVÏÉ·2²/ú=pý(a¨3ŸŸK¯&lÔçÚ ÷àI:¶•Ó¥à¦{q -Æ|Úat@¼…$]–jwá‡9ä¡f k°ýAôWê¦YR÷)iÆ~@ˆãÞßóÓ–Æ�H/À è÷ðæÊ&{úü9ë'3hÙ¡1Éð�ư5 ëŸbhá%òyžO?Éš) #áA�°¹ÑúüÏ£ôçÏ_ù f¤Þý+ôÆ~îüØþ¿ü‹¿ û­�7Ø€åÿþÆï€ù�•ÞßÇ -…ü«¿"~Uüèë×D<�̃�ÔÐ+^©”OŠD˜†Ö~(ê§�º…fc§Ó¢c(ôgM%Çj™µÆÆÚ"4ÿí²iÍSu@›qüåñ©+@'Á¯TN–¹š¨ï¸—¯\jow`5—u ÷‚íqY¦™˜À‚ÈÐùaxÇ—ýe¶mseŽNù¶ÜÓøè«(SØ'D�0ÿÁ832”aàXôu„@Ú©ÆOKVÖ€¡ˆcCšÿÄM‹ŽÔ«qò€t·3’Uäy—CÛ_0ÉDþS’N´¬ýÕÍK¯‚èÏHÿOí6GÑ/‰€4ñC2Clùn1‰"ìí¼rñò»õ àØ”\›Õ¹Û±Yª*!¥ôiTôݾÓ÷B<Ñ?´Æ—ìh–@ ÀÜ)¯´·ÖOºzQÞ”mÍN±îÇOAæc`§à8.«Ùžó¸à˜ó ½PEÀz§T¶ãÞ–>èõ÷Õ^q~Naæ€êDHŠm„ðU˜?Z ¿f€¹œ«ïaSX»;ÍWĹqýÅ¥×ÀVí÷ß¹±á§Tj#.Š¢-Ö³ËãÁ‚¨•ëúÆX - ç›+W(áì Ò„­Á4[Œ�ˆs©VJßuµcÓŒ¿�~ñà2ïlù•«îC !é|¼Ñºó®U“ü¹ÁHúÐãÞ`bÖ-sØqOvv t!á:ñÄPIÕ•‹(’ÀQ”„º6Q~æãŠæyá>fÈh= ¡(ɸÝ—ÂÆÒw‘QÄšÕÁ| Ä)҈öû0!„q#&çPâ†cÃ3 M˜* ]™²‘ù#£ ZI±'À'/ró-õ£Ã½†ˆ¬©�÷„1k�s‘N8$ÊÊzð„|?dE*¸ç`Ö�5¡L`ú¡uú /<ÊÇ#}0ŒKEØ1ßWAÅHz,�çõÐåõ|€ÒËR"Æ”€�=s† 'I?š:yDØ'�„xp“˜ ]}?N�tÝp>Úþ@|wo^ƒmÐÙõþÞßÁ²¼n¯sùs™¥ùkÿË×~ñ—~essãî>ø¹ð÷ÛmœK«_þg¿õ�Ÿûû_åSy{Ò‹o··¼ƒÊ{w0…ðî�wç�?O£¶¸³ùÇéìêwñ¶>Ú‚5Ì&UAU M/ Új–!•««éÞk$Ü�dœ<º¾½»3=Þ2_¿x :A¶v£^†m»ÝËçå{]§~ª“?Ø“…>¶ûRS.!4ðHí;Ì“86âb.#ë;Á �?�m7Á„U$ç‰ï1ì&†.ao d�<9?F±3ò¸r�>À$0W²q·n˜T៱ՔZèaö‘‡ùÞ¡ ²¬{woŸXØQòzNÖÂO+yïZL@¢`Sê*'œ%¢Y´yqš3W ò±†J�¨3¡¬Â(7›Ï/9Ãþ×~ó¿4‹Vý¹fã9)«/\MŸs–Á0 æÊàw{8H*sÔ¯�)‘„ëBbpö3šÆq‚BPZ–mU—é­•àF&Â×gyÃ>¤_fʈìW8C²‘éð8?�±–" ,ªú¬ìµó5~G<÷½a¨ëÇø$ý^ÿÞÇzð »pgñÆ�­å Ó#{ué?á)ì¢EK!leps4­t"aîõ7Þ©/£|äÙÈ 9Y?}®~ú>ì,¿:}plhŠ.ã\óãPÉH¬=âg7�[XÄ«dðÖ¯}é‹×~ï÷¯Ÿaê\ÏS£|ªº;ÝFµrª†]ïIÊZ1”æ x‘ÎÛ˜êé¶Z¦eUšÍÀqÕÄSæM#]j#qqÊ\�yãû˜7ö©~´–è®·u)¥ÿ aÛOHVq|ƒAR§c.]Ø®V7’4ÿ³ Æ‚€c`Œ>}ž³z¥fw;NÙÒûîÑï²iŸ&ÄòôE4µh:ƒØa-"b¨Ä­©æ£|JH™’(¥u·Ë:@$æ¿8œ1&$¸픲Cܲ‰lÇE5ùâ ÕñÒÁn„l!5Æ·§+ ЕÉ8Ãç- -Ù/¾´ ¼až É�ü»œZ(—®gipÔC÷£[™É³ôO—%jêi·ï}å'1�¢Áü+,—_}ýÛò[BHÔÛæÙ:¬ ýaË¢�e:—¡WIDQxä$î¤0äGÏ!ØvZSµÑ>SßN´ˆ¡äAô¯"èzY¨ÛÙ¶j ®ã´K6lÑë'S¶`�2I=÷¸˜3›ÿ†1�’3h ÂD‘ ÖAŸèJŠ™N(8&…¼æf¿áÎrŸá͆P„×˹bVØu9ŠÀ¨Õj·×6;�Þ¥Õ¥`Ï�8G¥ šÆ¥GÂ$1 s #Hùq6ÑÊœÖñ1¬ @¤:€cbˆ¥zbë�ï]çmó ÈœÿV Ê÷ÕÏ]ä¿./½’=8å+E6mrAD¢òùCÌÿC¤èò[;¯ˆú)#Ÿ°#õž«‘üœr -iôŽ´dN1Z3L|Xk¤Bî³G½b9Úzp(!Ì -€™'X@¥qî<ó`–þ2”Ä ýAô›I6ò¼tÈò»¶¿ë9Ì`¼šh/pª‹S‚û¤Õbº€@†¿ç{u¶2×`’Zå˜O¤ÿø)ÒÃìÂCŽ×ui¾©ô!°“mb„!zZ À>tF�:LêsvjÈsÖ¤ÿÜüœjà{ýo¬<ã‡iÁB¬TZA8ß4j�¡]d„E�ÁJcœŸ,¿zmð¸;xÒmá %„rÿ=LG—f”A¿ß| 5›È䪜fò.ó”r÷g«gcޱH@Š)Œ™<²y$@yΪV›�ú[t3Uµá Á?1ꢋ1€能¿‰�qbok"–vL4ár4L®qØ¿çº�‚ñ(tÃ�šyLÖ`ä3þ$ìågT-7V°³?IHÛ Ž‘ïW&ñàh•pÉÔŠÈÕ9Ó>av -œÓE ùBÉÞŽ˜ÄJ׉½r%Ýls»iŒ-åÞ=o0ÊetQ·?víš”ej!³io yF dî_Ý@j†Áu†²i¶£> îÊpo{Bù`N{‚Á"ö`üå *XQªQò÷P…«J\ÕYu&Xëc,¤£$3 6?P|Íй•Wý˸H¬~¯[ž«€çíô:�ç¬"’L9cy¾±Û×ç¦/%Hã X”N+'šàÙÔJsÓsƒÆB¹rÒ÷¥y¦¦ÏL`NTÁˆÂA?‚™¤«9›n¸®·Õ‚+±Z÷ÛîãÁê«Ë­à•Ôëõv»]šµêµÊƇ­åóÍý\ ׿l ¶ñ>H|ͶËë-}¶séå RÎÐ�«õä‡Ñ5ÝÂI.6ŽéÞp¨ä! «�A�b~%I¿cesN¢ùjÇLU×~x|ùèÀ‹ÂP“´¢pã¡nšc"Æ%äG-…��1�þq¬å4pGÆ>új†—Ï¥¥ ˆõ‚Ê yL�TN–×ïlvwûW®¬2Ó@”ÃÑ‚5£3'IÛÍÈøã`”ª¦æ-ÌÖÙ=ÎG˜ëÇJ>Ç¢Á`ÈÝøÝ�¾:s,}�Îi\RöKNáªtU‹3aýµï¿“nA¦Á€™›¯ÀvñÊŠ•^Á MÜ#0uU�³É8¡­ç§cÍZÈœ¤jj'mç ¿& }#oÎãži*î0ЍÔ¦j,Û°bžåÄF1¦®[ƒ½.ÆT -c¸‘Ð…»F˜ÏZµs®lÊ`ˆ;+ºž×&¨¹@cšè~Òâví8]ùDÊ'kýÝÎÊkŸßøîõÒ‰JÑ®Àk¶ ûž8°¦h°ÛY~óK¼O�¤?£ ÒHʈ'Û0ß›Jÿd©-Ô×Ä¡…¥?ïg«§ë§ë xß,jáŒ`]ŤNÜ'|!§×ë Ï£yú¡Y6…tNØ…Ì9Ï/¶?¼[ ýçªUPC§[:!ƒÂš&2°S>9ßß™Ff@ôóŽžÄ”·/Ä+e`¨š1ŒmÄ5B°­€_&~ØÂn,Îÿ"³\z�Ó�[BFly‚�©¸ò9^"–G&…' 2"Û´:áŽNÜaþ"Ù -D lÙÔYéÏg@ ¢IAœnª‹°8ü]jˆö-Üâ ï�[…žÕ(VŒil®O“�ƒì)Âk|¸Ò‘IyG6~æÅS TH# ÛŽ;9Ž©8^Äj€cÁqÂÓ+êGVð ‡[Ðw™UQ_!³�É¡ü# !‚ÅÜñŸJ�D©0miĄ̂ ÷†(•ô©ô§…‰|±†‡”(ø³¬YJªºÑ –Q:í' ª�L�;y%Ïš’k�@7+(Ä51òaR¥VUv'mLH¥ -E±aÅÂv=:ÂèÂË¥Õ‹·×Þ[ýÌØÉ~FtH “Ó§1ì{ƒÞ½mô3@úÃö§~zÊ_·ü=줥·)€KÆpàÃ6ý–K¹©™“D?èpÀuÑ_'à ýKg› ýË'셓͵5Écã>XÇK ýA hºÆ€kòGvÖ±lœLÆF ¶ý´t¸”´¦£˜Æ:2D$Èt楈Xa¨SL`$�Z^æ›Á�RÇ;³û–á»R¶2š�ÀÄ›�Mª¤èü‹?‚D½¸ÜL!ó`§hËþ•xœ4P)Ш›±ŸX'`v–ç£ÄG‚³©”‘”؃Ÿ›·¯ÿþ;â©D?-MEÇ(—" D©€ñ%F£{ÿhºñ²¿�î±™BeÄu1Z[-û8:®ãr»+#'OFŸQ;{N5�„¸$£ÍcMT”e9åþÜðSÈ‘„˜R³Vã`šT•çš×þÖWÓthó¥Õ”°¾|rgð¸Ë! ‘ÁÆ�%+ýa’¨_¸ä&Ù6xˆ,™S Ðï Á ã�=x�Jâ -€ÐZo}ýëßÊž–ÓY)f·8e0¯‚”}ɲۭlõQì�Šnm¬¿¸"�ŒÀ ˆÕ€¥¿�ø *Y £iìmüÅMЂ‚?‹W^ç[ܘ$檻7°’÷‹~VMP\oxHr³è�eð$Ïf/lë5»ÝÁ‰~€–äˆ(áP‘ó˜³Jªe1A¹Oñ¥Â&âïWÊ'k…ì/ãÏÁOƒçáHÄÅ<³"+-�TÝH>^p™ýC¨”``a†€<¸fŠtƒyWÊAL2Å¢^¢rf¤ñJ,T¤ÐM~”5É¢Ÿ†‘·ªºtxœÐ™”h¨[Òa$,‘ "ÇEWu3ØC˜Y -hjI•ñr‰"ñŒüV -ñÆ Øþ `¶vq£y-z˪0}ö¦ƒ±’x�Ý6Ö›±ôÿêøs_ÿ½ÿu{»ÛHè¯ù¦`Ëù›,F£Ÿ ?¦Ò_ŠþOYRó8„Ç+Ÿ|?5[Ô<ðæ‚LipÌ*¡Aµ:À÷#Ñ’ñ$°Í#è?*vÙqI‚-Í š¼t¨#+ȈfF—ƒRöA ½)ÿpözRZAñ =P˜ e?§\…*&n3†u<‘‚}ŽÑ%ö>X·XòäIH°vÃÃ鄵¿Xkžo2'G£Ÿ -<´‘“£ÐŠE£*éX,˜)4$»Œòª¼¿ö‡, úí—©Yä‰%Îà' ýí¶ï9²÷(»®Ëöë]n»á†zE±2‡»F�–Ÿö[ðŠÙÀ×]`\ lÃ.€ç n� üMê -‡Súô$í“5ï±sòLsãæõz³ ‚•zD¤b1AÀ®kÌ٠–_$9;"ŽSþUôÈP<1ú‚‡·!4jÔ6rIéN^…›´¸ÿEÑ•O)(Sº§ïê†ÇãåóM¡ƒá>Fð5ÝÛ‹ÊåR�•Ü$ØÁLiž]Y¿õvÿÁVåÌBéXI$Æö¢�¦å(ŒF0fM6‚ô‚X¸€·c5š±n¼÷Ý׿~JÁºO�Ý̘ @ŽÛ¾[…jùÔO´[ß™70l]*;±JêXW$ ¦ük «­áÕ ÛÃ�’¥Ç -ÖáÄ’†^åòŒ!Xü &ð2ÔÀ ¸¹~È÷0w¤+ºÛG{¥ûÈõ¼ 2oÁ9$‰yqg|0&BQaèÉ»(ä£d ˆÿÁ‰¢ÐžÓRv-D9ðÖe¦sqœ£¾€œ’ G -‰oòW&Š¡å}Fª(èFŽB@ÊXAR$ÌöÁ½°ôg‡ ¥¥ J³F`2t0¹‰ˆÙ’½DXÇQ0Íä�ÀÒÑ?ð1öáØàèœ>kŸ;½ð_üçÿökÍi2VÏð+œN0Æaé>în|øÁWÿý¿»ñÁ»jÞD*+ê½ÈÅx‘¬óÐêžQÙyE ¤ƒÀÐ DÛÏIÅæu˜/\Å‹…X…±^P8³ó5OӞʟ` ` e?ä˜3¦eÙ"èˆXY]…Ùçïöv‡Ãa±X$[$ ß©"êZú(ì5= -QAårÊl7CD)ÃäçÀT_%¢��'ãRÉöfÉŽñÁê:HLˆéÚ`¯Ëo$/òØR>Yô 6–uxiŽ_k¹Ù0ð`Ì€)Œ&á™F1Ë‹ÜjuÀ…Ö±ýÈ[ý‘•ùjç8é¹ñ$¶L{øUÄ#bB+wà�/ -ԊĉV2$hc¾€½;“¼c^K,ñ’9ËÙ‚Ò°‹/âXe37"÷]t�¬ä*©’Ž*¹ðkBöj:Ñ$– l4«¾ßšmƒ–‚iŠJW–«”÷–õNhìæBD/RT˜óƒ`�“º)/²jPWp˜à’„`dm4j1É\0W&ÉË6^ú1%Ì~b´a™ —š�öÒu×é×–¼Ç�X`+ãè D£à?ÔV*Mç¦ZÚ!£~à:,ýaG/ÚœB¶¹Q0ÈøÝýÝíÞn{‰ ƒ8)ªRÕF€É ôÈ¢Id*Ôt6F‡Ú¤ô¨KJÌí%:€–o|ãú—‰8:lqèÆÑš*°Sàýq¥é˜¦�mWÖ¾{Ýy€M4+?úZåô";yßf± äfu|j{høM³T´ËC«˜6?º'Äåk_Äê@xÇaž–ð¯2…‹˜�^-›˜„Ròú ¿¹„},!‡Šã ”á5L-ÕTú‹ ^VÊŽdât<úaéùÁÅ·fq ¾ -8ˆðÝ|RlÃ…L(“F3oiIB‚ -´Ñv„ò¸ôRS¼$«o±‘%i©÷¨P”í8Vÿ‚t€B†9Ë)—±B©w¤µíb'ð~:ÀK„ ÷\ýêQ8*�W±)‘4'ãë+ªAŒšvðâ}JÏêü4øü§DH׸ÎÒüžƒÈ“r8& mZ3ï wFÄ¿“<�_þ‡ÿðµE¦'C›|7a\¿s'=!w„ñÒyä¤Á"…N¢(˜šÅ ˜2«°ãÂWçãeÓç®àWUJT6 -oT{?Xd"£w—’¯ññŒìo•Kôð^Ø­'¤Ö00Ð2 .bY4™"ù�ƒ­6“go’Dj‰‰PR,LA‘F�á1}ßÛ+BŸ·a„q¥ƒõ c;&˜M:޲§)ÜL¢}>p5Ä%N%PwÞ>¥RH~¹D½ze¹Ö¨u~w -ö5H¼œ Œ5âf`Ü?ˆ¬²B�уÆ;…"6 ÍóCØú#ŸŒX‘<[äUÎŽŠ”M¡ßwËe~D!Ó»bUBbé;ŽÃL2˜N÷øqÓ´aľ–acé2î–¥ú¹Gh•sÛó¸ìûÆ1Hÿ(CJãL,SC‡òÁäè.½U7(·JÎP”üÀ–¸gûDÓk?ÐbaAzÒÙ€ðhÒÃ@Z.Ëñ”€Šð"�Э§#ÚžÿaØLNŸÞ -M›åås øsja…É’Àqºà4Ï®tg·@ôw) -„ÅRf‰�¡æ9ÛÑDpD�èÇÓ¾z…wºi£Ÿ>sŽ -à•›ÇñòÀènµŒj -VЂˆ|<'ŽX�±Ö%�M› rNÖk3ëø%ðϨ!Kd -cd9°®Æ{Òºa\Éô9XeŒÿR-­�Q‚2ä<,ýi‡®<6a\®MJ8%¸q)Ó£<; z=Ñ{ä¢ð>Ö ‚V3ˆC =¶ÄÊNß>L昤ۘks± ¢¿u·;ãLÊ4íÑ÷‚höX�¥?8^$#m4ÛüÓ¡B•,_nþâ`A1ä6IlÿO }ŽC?Žž]aÀ”p -Í¡Kð,=j Ûìæ¸Sì&wç!§ â+ çâqZÙ¥Ñ"_\IjVP|×’aÍ5Ïæ| Ãâ`„� ì˜'ô6¨�…ã¿‚ªn˜…‰�Á‚¶Ë¥æb$C»Ó.&ŸŠc«@ÓúH1(/qŒRXP˜8©ù¯ëV*ƒ8¤fê:8êªD~‹;9¦DRt?1†I8ˆ0¶ÙüW�Œ˜ŸÁ ÍT)×Á ðüiMÜÅqGwÚÝÕY�á™z`>ZÏJRPh_Žâ¼¤«”ñ5Sk—Ä$¯ˆö„?dó?+ýYp#‚È£™liØ.Çã*}}T„'r%ë€h„!ÆReéσ\e (ZÏD7ba¡Çî˜�q,çV�Sÿ, Ïÿ(ç3—r~¤¢�þ¼TÝÝníTµC<3 ‡ Nq´“ÇÌ€KˆÊå{•tQD¾0˜$تÇâǾ1 -êÔ5x2 w<ŽöD.õk±ÌÔŒÀíl¾·¶tq5žŒÃ[Àï`lj ã¸dÆÑˆ->… ž¥C±¯™ÇÁ»vmõë_ÿæoýÖï|ùË×tªbce�âö=#‰W^z¹ù­?PƒÀßùÞ¬ö=$-¨àVækpªVk#pûº­÷?Ùj.¯`(ƒ0× TòpûhÁ æÁé7fBÇñ žœaœkÕFçã{_úÙÿö{»S+oã{ïÔù+ƒrój ÜX­yA¨Ýð IeÓÙn¾½Þù¤ož8Û› dÓÿ…Ssðܺ»ƒ…œ&@ØE2“Ê–÷¼2‰mÛôÁ}=ˆ00ºTª¼i1ž¸O¨Ø« hœ´@¯ÀŒZ–‚0�˜cõFÄðYg½ËBŠ&S]¢1'+‚tx¾ú1>D\�X,Qü§»ãÀ‹/•Jðz¢ýÈ,›ÅcEÌ6„QÕ¶àÚ@ãÁܳmÛu;ÞX0WÑÆÚFföB£ÛîŽý¾U­« -åÆ'ŒnTkÁ &ñn¶ fTôÛÀî£ÿ�CL0ßàjEÒF'#º.›E?,Çp¢cCO¦ä -­™®«¤V´´É¼lÄ:ŒC?Èa%Äb É ©¦žfy£H W€€.7Ĥ·©�mØ<óV»}oeI�-ÜBå$·.{Eñƒ½<ù‚ÝGƒzCÚk7¿#�i°@½ý¸Þ°ƒ!Ã´é©Ø2jØØ%V=åé¸âEÆëÀx c7öQoiêÚÚðL—^¨lþ »ô‚溃{?h/]¬÷wªÐ*'-P!]×!¦j1ä*à|Z¬âùH-Q>aõ»bf$ÉnÏ�›>E3<ÙÀÅž.¡×ÒÂŒ¾‚e") ÇÂQòº2ƒÑQPÛÚLÉœ1½¯?p¬¢í=î†lRüåÀW__6t£µÙ­k\„,„ÚÛï;º®5O•ù¶ú»ý{÷,&¡Nƒ^:ªa]§¦œLKÄoÊ.bCo*‘󹼉°ÕÓ'²Z s¡Ç:ÒÒ±faóClô\9 -³lFÕE~¸Åûð �¤€eÜ`ò£œô"lsÓR¬óÈal%¤Õô¥ÍbKËKO‚] -N†ÃÎðq k²hùüAA3º#õ8ÆfÉ‚'©À´¤H9Y áÔK{wŸôÈ.²¢‹jËxÆôw;ýÝê\Uêpg½ˆE|žK€à¸{Rî`µ¢"��»bß$|ª9kÌ?¥ê sŒÆÉ.tfy˜Ò#¹ïܸîôºð’?ø«Û�3˜Ã�O!oÍzsº Âaû„ -ÖÛßùÖå·þõö}º¸ü…Ÿˆ2¾ë¿ýÏa»råõÊ©ÓÁnKE¢4Ò«4ªµ¹ÕÏ.ÙªÝÙ•š9ï¦ßÑ_9Y‚­Hª\` Ò$™ª¦€�ë„'`ÍIâ$�Ðn9vY^ùvÛ}ñùÀÙ4fl}®ð q5™¢ð²L+1á5ih $�ìi+·§¦—šò(…ˆë£alÁ¸ç௿Ç~ÊVmF)W¦Õñúáª|�ø`KªTÕ–öI‚xU"Œ�‘ô§�«ÂxÏ´ìÕ¤@�›ÀžH-ÓO[âQÈí )Ø-[ÖŠ*ƒ`‚|däx à‘Ô¶³‰ÍC¤?úAÒ?&Ÿä¾@LŒC~ðñÝ~í¾¶„<Ž¥{»ëæfó”-Ávú&y·nnèI=e¾L©.ñz§ûÌóEãåª<¿m5[÷ð$ÍsMï0ËX¦Ößk]ûÂ*laå³Íµ›¸³z¥¹±Þ²O XYë~«RÁÙÒt@�i=¯/TÒ^�O[²(I|ßi�!¾eý H�Ò§ìwFÔøÇÒ¿d™k­ÆéH~ëßkéV°ò’ì«@à~êZcÜ}ÔÑÝZ—xGzZÀzÈüÇ9®))–ÑôŽC©ßuûón¹’êº ò¤ÀÂÐdÞ¡HÉå™è[��Å”ù–Ù4dVN·ãÂTºV›ú\eb=Œ§�ˆ%~Âô«pDˆš¨nyã#e¹ÍV ¼"ëbœÞ3LPBi²Ä:¦³Ó jÀ¸L¬†/™€0 -Tâ&9rAÛs3¬ÁánéöÝupJåJH�)œM›ƒx‡á£y:òUq®“À öú'‚àgðHkFfó`¬8‡�Ôÿ‹±AžÂNëãÁkÿÚê�wn§·a—°bA™$Ó�æ¡=WáJЬô—/û0�µÀä:ˆþÕ+×Ü~—ËKÒ¥~ö,è€ßùõ_«=ßìlÉNq['éßXènOìÀ!R¨x®öœ¼ÚÎŽäŽrÇÄa›JAiI×—p›r4ÃVd„‚ 'ƒø$cm²Ø dÐ ¦I—°éŸ&?q,âhÃ6ðÔÞ1‹‡ò¨•ª †?˜ÿZG! NÌûQð÷È3\ziqóý»ýnvòšì ‚=ôñuêdÙî„2Q÷*ñ¯I¦Åò²ê9H¥?cPsFª7Òvµ(�¤Í§G3ˆÙš)èYš#t d‰$UtmÕ´P�ªŒøªP ˜6‡’ͺL€³¨×Ÿ�&Ÿa½B -D?(€ËW–V^ƃ××°~tååxq—/WŸ¬\h²=Åæ¿21&h�tw�©’À¦$¢Ô­VëC\¯}‹&ú=œØ‚…~õ vT>YºötMV.Jƒ×*M˜»Ž - ï8 ®œXÝØüP ÎyØaùåf{ çQýùÓ­»-NÅý�$/7…I¹/°ÒÔÞ&“@Ú : dM/„&Ü;(€k_¾4x<­.‰B®Á§ÈU,²oÔ IDATüÀ¼ÔjË}‡Š¶#iáVxÉcŠiƒÐ3,I ®¼q( (ÏqR“HA<YÀÁ”, LÐ8&‚s¢ªfŒ'Ôøæûè²'z νPãI‡‰ñ‰`$Éš�„}è -¯ÑAÌÒ¥(X$† ‚…d‹²VH¹cÁd®ð†o¸¼B‚ -‰žF ¹‡y� -ÌŽËTé`û|ší¿|åÚ ß…œÔ³øhà°a¥Òã' ·³N€IšÀÒuº Á=_驨pó‚é¬MÛUTí¨º–¨m`ûÊÓÝÞí;›ýG�·ÿ|Ú5œ%à•?a˜­�u–þGfÔÄÕõ+ÇÌ»y£\_(×±íË.¢çó¿væÜ­?Ä4oã,NÝÚ©&®Ä:0عÛ}ø€�ŒÄ^žÊDz®ºTZ;=qxa€Õ€5¯§N€2£2#J -‹�‘˵Ge ,ý­²žæ@ú—Jz©8µY>êN—�2åCœ¯Ã8~QªÎÔQá3*að¸ÁbeU†€ø‹)™£±ëô‚8ò›v�¥X= ýÆ%˽Gý±ß¯ž“[ñd ä”êD$=),ýIƒ¹­p¡‘ ì 8–4ÙU‡€Aúç ù˜c‰XE*ÂOQé‚ Ã4î�—=€ô0>ÔHþI=Ü#Æ®@ú ýÁ ªì? 2ûŒ”Uþf±N@kホ7[à|å§ID¥6LJ�ôóŸÀú�Öµ7WÁ´‡�¥—¥˜Sýö�ìy[VFиb`Î&è��¡„Íóøð7(Ï™›?è&Ç£’ ˆi"¼Vùw¶ ¢ÖÕW°ïl�Î Š~Ü.â¶ß{,ÈÆçŽ·ï°¸}cíÒë«NÏu9g—XC€ªh}ˆI)Ph€ܡй�þ©à²[ -µ�+gÇòjÓÐ�ë¤üИ�+D6^©T¶Û�þ˜Só˜Í–lxà³·mP)Qjû£ãËê'“ØÏJ�®Û¡ìû°ŠD±8Ôµ@VZÖ†�EÉ’Ç5ÀÆŠïO{ŒyáúË(C -Èö1×üÀŽBŸÊX"U"ªòa *j�á´-R·NÒ>¡Hבl1ñ�‡\7p´ :l€€á…€&Ü´²§är(&qtØf÷G¢µ‰èÖ|5šDˆÞ‘Ì‚lézQÏçÆK/âœ�ÉáÐx‚ˆ“¡a±9|ÎWE¿À”r0S¸{�G–eÃöÿ‡¯�õq�h:î¯oxp±Ön7_\¶��S€É .XDØI)›x »a½ýç7?Mëå7þf»uï½wÿôêou¢¨ª5kÕóËvÕU¥¶pûÏ$Ä¿"âÂ:ýÂÊÒÅWêÏ#,èâ…Ë\ÑÿÎ7¾Þ¼° -`s':ˆÒÜBüˆñÞbÄåF@�|ò -õ`´'ˆÜYW�+¢È´3Tg�é>Q ¾N,JÇ�»=8Ô¹ƒ<º)LK§BÚÀ¶ôÖC“•J ˜Q•y[ÉyÞÞž^n&— M µÍ”Ljô+K­¼êP—&†°öf):žy ‰C¬�¸÷a»2_ÔueÃyˆ°-𢠼ìÈçw¦+ -Q2ß Œ l> Ÿ£TÔ\ê°·lÃÓtäÅ-�¥6!<†Iž%°I*ÁóÐk‰¹÷2‡YS®ó(¸lQÞ[™Ñþû–3>‡= #Ü#Œ¹M’Âx5ÃÁ`†ô -†ÄaÒc8ÑèÙ„#Ä>bxEv1â™èƒ¬¡(Ì|e¶4•#ŸfÎÉ*’ž{B]7a5�— Ë6>¶­ˆ%_†©w³µýнví¢U&vÒ~°Ó‡ùR®Ú¶ë¾òê9)0V/~æ h7oè”Oèþ~Ókàœ^Þ@çaÇ:®#Î�¡5ÏÖÛ;°…‡ÙjµWW—qçÃöÕ7.m¾ÏQ�A@Ÿ~+qûíi“&ÌÀáÀ•Ô~Ø�|gŸgy®´öYì|ÚeJSõÉú^ûÞ‡pL½²p÷½.ƒ!»ýsgO @¯¾v¹R++m®\Y\¬ïïÅ�Oúb¬�I�Εïܾ¾°P¯ÌÏ­os奥~ÇYÿäÞêgWv:ÝΓ֥ KU’Н›ßÙ([¶ïùX�CìÇ̆/tn§çô¹sóV4ñ#B�ÈiB—èEÝn;ÖHXçF…J a´¡•CÑ,ŽUò>¼#ö^¦hUU“I sbÌ q\0ÆNvçÈ;¤Š81|ãhÚ�Ñüùñ�^:fG‘ƒþ´Šh ¯¿aÃÛäSñàÇŠ!�Xú« Ì©q †´<˜ �!’°ÊÎ�b?Ð šl¦£ç/‰¾}”Ô0[S/%—×ðÄìÒ˜n“|1âå�GqÑ"ô˜/Çß÷@HPjžÃXa$ÿ z×™âxív%‚[F¹ÝãÓÊïLx‚ù<Ós f;ënºãkšOIV§_8»µqÖ¾q/[}Q;#ÕuóÅsMRÝMR6,ýÍ¢�·0~†ûÒÙÚjœ9·ýñ=�þë¼íw;­µ5g§ãVw`›’Z-­^.WËísw·ïmÖÏ/¾÷6‚Ä�¸õGߨ<×Ño‘S«V.­®tvºµjåée Ÿe3L[(±«;É:v»ƒF#Ss9#œ!n‘>)+5¶¼çziìûHãèæFwi¹&¼ ÒõsW@Sx®Œlð˜÷ÈF3©Ž¶f.5,ÚEXAjÔ‰ö¬ïe"’uÄ—¶ì»ð.( #lý®ÃÛ…³ÍÖ]ÖöÝ»­ÅÅf¹lݼ¹¶ú™e°ßAúÃy<ú.Hö~oP[˜z0!uÍõ Ó¿â?{ƒíÖz£^iow·Û]®âei©’�÷ïm>à�µïmž{^ÆÄV.¬°�é_©”yôÖž«€àÀ›𥟼zý÷oWª6¬Õ¹jBuYçö¦Ð{ôüó½GG‰yy)—Ÿ1ûþÚ¥R±‹'¦²‹èÇEªDÊ31–1I�9oÉù!2EÃü§ÊEWñy‚ôOϼ½Ý½usýK_”HÃ0¢œ¡Dùh'©lø«I%(çôÄ+ Ó²­ÔÕNK‰A7ò‡`ëúTÐôœÁq�ÁŽ]ÔxlSèI1‘¼v «V�÷§(è ˜Ø€ª©²2’BåJE¼�½ôÆ[ŒÇ¢_cüïø¨ÀmÝß´NÌÍ+²ô§k•� 0ó“¹$©s -Q pÏÌL¤…e9†š/d¸R–vP­�Vëƒ�éûÓž‘ÎílMCóõ¦ç ÐÒáôf–B~wFñÃ1—ÀÛŘǶ†27ïcX9Š}ˆêÝ2aÅP/LÅåŠH"ûÙÚvFg [É©×AÔTúÃ㧤 å”þœƒ¿ö:‘¤oL1t]%ˆ>9¹L}£% ||˜÷ÈëïP#Þ ½uߊkÍU9PË¢\+ 9H^9ÈðÇÉ“àÄ�&`r ãWq -W•?i@Ÿ�‚î�¦<’4Ê.\zN%ƒH‘{ {]&ŸáÕ€€ƒ)Ê! ´C fR%èÍ™0ô®ýÈ«¬5ª ýïÿüf0Ò/_Yj 2¯Ú'¤À‚Cê¾5Ì·©³“('Q8¤`�/�ÀX Ϙÿ l»xòd¹G¦1¬`þ7IUô�ÅEi0•“�=œ¤~ -E<ˆõ+¯—îÂ+×@þþî;•zùìâØà‹/aÒ¸ß^¡aGžkHVŒËBl}r?½°î£½Ês2ç?È,vw»°òþÔ@|_þ¿ó öyé¦rûÎfíä¬XtPµ[<1�9ó�‹«Lÿ·¹²¼´ùa <€«¯_zçÆm�X¼Sž³WÏݽ»Î: Ýjm»dY×Õ“v"÷ñÀ¢l|Úð%HúÃví»«¯.²¢Úð˜û{¾'ÖH‡E韦ÝpACC%`šÍž{·Ñ¨ÀÚnT²¡$�x_I••Tðq!¶ƒäU�þˆY¥é\eËÕ®\¢Ï:1Á`X¶é:Ó‡ïk.¡ð5�ÏQïvZs¢?�Á‰(Á8B€mÿÛâu¬4I`Šè©´m‹„¦5_EÄîZ -cVB©�î>î1©üR”Ì:–þl;Œáb0ä# £¢¤Ê¤??#wÏéŸ*€, RÊð~ý_~KäMið�½¡°çjýO¶¶¨}] ²èoÿù ˜±lþ³&(WjìÀuÎÔÀíï\_Z=*ÿé¶?x°ÿ•ÿàAÀÊ� ¼’Ý£Ìv¹ÞÙFÑ÷‡Ùšßì1G„Å”ô#³€=—&\Y«ûZ1-3í�ú´…Ëx8Žo 9$Ÿ kt‘�ÅSO̹&tLM“u8`}`¼èú��•åzr jgǵ-“B@N’¼k–Îj�ìkjõRMUW ý Àpöôlš.õ`Ì€èÇ4Œ�ÑÔðI»/–3%ŸÀ·â À¶úLð'Ûä,0M">…HX³‘¬—PrÓ3`C<Í -Ô9ÎB‡Y -e�þ 2ß4%À)é1Ä -rè‡;Û;·o®�¸ô*âA‚1 +x\Íó‹â‡.Séÿ¬…u˜ÿ,ýaG?vÔóf�ý$•w  ¸E‘݈Åå:—ÁŽfºí>HÿJ}.û]�#ýz� $ôœ æ?ì_¾¼ò` íñ×_[ºñö¦aè+Ÿ]' R›;{¾±Óé­~'‡ôY \§2�gCÞ`ç“ÔöÇRÐ"ᾦœS«L•mêô¼~C¢¶�P鱃¡Ï&+îdÌØYÿV½Ùéš 2·šBjßý ÒÿÊ•Up‰jì]¿µòRÓ:Q‚cÀ£)÷œF yϳ‰IwŠ6wrÁNo8H@åÆ -Ùò “."ÄN�ôÈÀj€—ËWVÀ²Iˆpa[MO“‘·ál‚ Î(zÒµÀ�éwÓ@ -¡:àú·×Ài››+nþ ý¥/Ÿ~ç»ÀçKgŠ9j0¨ÅD^’»fZbWƒÜL0^¦ŒT¨ÜòÀEZFAÂÝÀN¬š0 ÂÀÚEºy­A�GÎ\ŠwŠ*AÇ£è‰Ç -P Ä¢1¢·£ †Á$G­Iû\\!ç˜ïùq†Ø¤ï£¨5iXä—§x\5�Ww>ºÛz›òëK+æ¬ÝÝn5—/mß¿;xìÝ[¿Óo?-ÓypÏ®T°).‹>gR(–»/7Ön›ÇKð7p&g�ãÂaqœ¤¤®÷¸ÓÞÜð†Ã͵wáÕz®Û\]uÝN<‘À|ìX1�™Þ¾ç¸AmîjÐZä¼AAÏñ¾†°ãƒÀÅEE ±G|¦X[â £¹ùbí”>D!<ƒlÕp”�$Šdžéæ,Åš’wú‘n$8`,c» -äíOœ¹rI¥À¨mé^–‹žU(e,�äC ©RY 0²„Q>æWšÍ Æ%/ª•KØp4°a£>/(ô©ÏĈc£ëFÓ ñÄöcñ à½ØãB�9»ÚÑ}|÷‘eª^,'üÀo3ù0âø�%›Gý:­h2ø#G9ÏŽ¦ë5MÁ¨Ç[‰¶Î@p�^ÕqÑ3($cÜ1ýQкÿž@cUÍáÆqN±Mª A¶‹ý4øÅ ·ëÀOb–¦Øœ8 m< -¢»2è)Šc»6sy{®9kgíÎV¿Óò/½v¹¶PÞüþ{í�ÛËŸY^y¹Ž-�{.lanÇ"§É’ÜH¡®ìÈÅŽV?u¼ÇáA×ÃÕ_†¦ÅuËÒ�czHÁ^×ݱì*L  -‰€< Nc)0X‚²‹-ß„ž?ˆ9c‰…+™š·¾3dBÌÓ’UÁ�¦�Ž»JVt]øL_SA¬¾Òt÷ú çç`Ž;{né„ # ¹µ'±­�w?é„ûý‰(µt77ZVIë÷Ü­�;«¯,¯ßAýòë—77n•çê+Ÿ½¼µÕ:g7+ÏÕºŸtò“ Q¯mS–"¥«�¬u>ñî}¿µðÚbëîýÊñ$¶‰þc�*ÚŸü¡tÜ׿۪=‡ý:áF�/Þµ�7w>Âg;n7²‹•Ì©‚mY‘e5šgšÝnÄm°ÝîžxÉjž^¹þ‡×a ºêÝïmüÔßzkû£Nû“�•Ï,ln`ÅvãÔÜú­ÊI«rÒîî:ª‰�öþ®[>ié4Þ|¢7Jf¿;àÜI0ÈWO2ŸWÒkn!ô”·¿sãGߺ({3K s c…2 X©D9L¾’‡�I_,¸�Õ«¾éD~ǾTnß‹92JLzp.^DÕÛÔCA=+Yf¤…'ò0V‰�-6E6˪!LÊêõ¤É[¢½?U%Ù|iÕ¥U¤J u޹cjRÿÍmS�ÕÔƒæ~3à =‘Q•²I•Æ:õ ›:(€ì�šIí&Ø?Eª¸X¿y}åʵÒ\ ü³úü"ˆþJ£Ù}ØZ×Á€¹°§IEÄ š/aÃJ÷î&(ØŽóqsåE3Lñ3/ܬ¦U‰2IóÞÎWµzî¡àã‘BÌD±[¦uÎs寧sîeðÄ)·‡Ç]ØI+ISÕ, š÷Ûî“À:.瀦+ B’L,ÙÚõ÷Ç ý�cS[ X4Ä ¹„- Â |û¿ø�ò j†r »r[¡ÉŠÍâS -+¦ªä|sm"ì˧1Ä1JËÖA܋óƌ‘Þ,1Ý»l`ºT2·Û]PEÌêÞ®ó�ðq³C”ø˜‰e´ÎH|òÍr,HdzhSZ‘ VbAAÒƒŠ§ýÆ4‘` ž,¨~$9fƒ‘›À–²I‘’l(Õfä°4“[J;¤t}ÖÛs̤¨³ÕÑ+hþD¦þ0Ó©S 7u£p,ÙX"cþÆåš7A -€c®fÓLðè£IÑžªÁ‚¡Ë#Nžƒ�"[y"P‚?‡Ö{“Ç3Ñ&V‹!øį̮̂Ši ¨mJ€�ñèÈŸ+s8eCnD$£5”笫¯ËªJ¶©yËK¿‡ciý{k ýyçÂ¥e�þ·þrí§~ò­µ;�ÝÎê…Õµ;kþc¥¹xŽW·×JÏà“ö]•Ϲ ÒŸ�‰Ü„ªì(OÙ!¿µÈnç£{ó{ÿÏu„,CUq“ÞÝ^«µuí�×a[­UV.¢ô¯œ¬\~ÏÝx®«U× ½˜z£ÜúH†‘×ï´V¯ vÜ|¯uõ «àît>éƒÇ;áCg饯æû(y.¿ruíέÚÉ:¨�­æEÎ,¼öÆë0h$h1Hã|œ6sÐ�Þ“AåT¶7Skx!­e#–.®öw±±ùâßÀòjVú¬å “Ê.Ù7LÐþ„iŸj ôÈ$Ê©é³5‹ª7Œ@úƒîO? ¹`ñ˜ä¦¥ -Ò8I¢ÞdìËG7Ø Jdˆ>aié¦ÊÈ -„®'æ¿`�æ iYU¤“NÔ€Bô>¸]߸Ë:@d‚’.²BâÙS¡Ï;A&jaYV³ÑP*š ºÎ=/ìšê€4»ËÝjàäI“ŸYˆ©¬ Å/, -ÉaÄÊ EÕ¦ÖjÀÔH¬?…’KóôbëÁÝôŸÄ½§‹¼b¨(ý�œÆ!å0 \$3¤ºÏ˜À$îãŒWN$>D�&y4@Lc/ ýo¿½yîå2˜ÿéèbåÊû!ݨºdÿ�#ŒoÎ?æðãqh±5A†°SžJW H9i…éÀx—Õeò\ Ò‰$Œ=ŽÒ>ª"¯‡”;˜¡ÁJ��K„ó©À´©�V�ñähÎ/Ekड़ß9ZÕ{´½´ŒxJ ®}ù-°ý–·® -ª—¿ü#«ì€Ô†€Ó -@ô·î¢!ÕÞÞé|íÍk׿}]?VZ½¼²vk½Ú¨°dg@„åZ¥²úêû„Ô@«b|zL–Nõþ}´�Z?hž9 '_Å ¶ÚÝ[b ¤ý¹êõRñ|ý·ß©œ4¸îœ€>í,Q/E•jy¹×gëá3’P @ö¤ÿLÙÞÁþçú¢l@˜ �x‡÷m[eNоï±�ÅÑ×,�À¶A<€oþîõÅ—¤Ð¯TËÌyj@O"+  ”|ž‘G1Ä${ì)Àá—¹=+\d¤¿@}"“� úyó:‚;`{ý~ÈáHß÷Ë')}´Û'àäù"Ñ0³•l²qHËb–þ‚lX/è´:¥8t6ïܺúfä®Hа -àúo�Ïcôûµç—ÀüÂÛnà‹Ù@Û+úûí­ÆÙ†E%I_¹Êô¼xO…àјU´L"D?w5{ŽÒŸÉå™·Ëó-åØ÷º­)$‹~X°Z†æKñ¸ˆ~˜ê.Y|sI™ 8\rÒß>®gÕ1¦} -ÈÐé »¬²¢8ôSÒ¿G - a–ôÙ13Ú‹r“ Ï…žýv ‚'>Õ律 \²­\"K§%Úv¹”²H‹„•Á852©¦-æÉ‚ÿ˜Eó0ô`�”.x DÒ¥<}D3ʘÊ8Äid®b»ÄzH (I\œøfiU<«üè(”|–6N>FJ‚)ˆCp”B‚÷0Bg"KäÍUÿ"��ÔLu{!xaG@� ØÐØöö\oo*À ‰ù�¼ª££‘}›dïtú¡6£2î! ßÔüOËÛÉð×ÁÀ.9ÙãÍžÝGÀUI5»¼9‘J>€S8 ý5J¹£~<¦y€äuÅÊÒ¶ûgø‘en~Ê·ÌÒÿé¥zg˜ío½ùVç¯uó̰m4++pjÃv�FW5áZØ!óäûÚû ÁWvuA\{}>ÏíwQ²_zevÊ•J£^Þn÷a{zaẸq MrñàÁÖµ/ m‡à9µ:HÿíO¸©ÜÞî'ýÛRúuw�cÇô~Úˆ7�O§ó g)ôwºpˆÍÞá#·>Þzû;7®}qòS¤®8@Cžò£H-> -Mc*|²] üq‡�€TUpžŒõÄ•7°Êˆ=A:€w»%U,ý)´€ÿä®1�C#»~Ô4„Âk-Ù6ebuý„=èIJÝ•©£RÑòq8ÖLU;fb¥óÐÙ÷=é‚ †;aŽ� -O0·Æ¦œMvt÷áVåÔƒ;´]ºpyw¸©PzçdmáÖÿ_œc»÷ýÛåj#>ðJV¹dÍÁV§ -Y§×qíÔÍí‡-�°/®\‚ÙR.Ϻ۰ŠúBgë^ãÔR©TîílGnSÛn—�†�OÃ#%l³™ðަéƒÇníTs›©%w|Ø‘¥¨qùÂÊÖ#ï"Z\8ß:[¿úß#ˆük—˃ ƒp÷à' "x�ù3°^y±X¤ $þ.ò˜ùþF¨óØ¡FWÅe¸J,DÜŽÎv€iáH=,âÅ(Ü$éÛÛí/]höw’ût剑T6³”¦[[u곚 BÄõ0þ æ§âDÉI ÔÚl†SD1e° -ši(Hp†6ªB 0¢õ~WBí�0Ÿ¡å{2MØ -“ŠýÇýQ6ž àióÌa áGbR ß*E‡R𥠶­¨hÜÄÑ$ϘY ©X -³ÀÉÚÖœRúîÖ pçlSăZ]ƒS‚¥¯‘ò¦Ž9,¼ƒmç�PNä…æ? ÜHQ™à Û*MÍ$‚kµïxŠ®�ìˆò׈’$ž“¨YGq›‰w UTŒ#˜ç&�vÿ@ }žŽ¢s£5¨%« -€Œˆsã�0éL$¢ ²tI¯‚·…í;þ^€cLãš=ønúâ$&Lˆ[Ü‹ÁÃÈwRÊ�|^(¼V›Ž×ù`øÓpз¨xãÃõ0ÁdÏ®Dve¡ç zCôŲªúñN§eŸÀY?Üï-®,ÀK "ÿê«ËÝÁ–i‹své^çNq^ÑíZÇÙ(�À_Üío F­3Ø�ïßß‹zµ²ÔimùW‚öÖö­¿¸õÖ—¯v>éïtz×~ìs´0Âñb³yýæÚÊE¬[]óâg›åŠÝï:+—šÞÀOKQyþ:¤ãÙòa3®¨>¾¿õ%ÙZݦ IDAT†Ûs——^;óú¿ó³?ƒY˜|ÂcbU†7±*�êñ …GÅŒ×Xv€j#¡ƒ+À'º˜Ïsöü”w¼2`¯3ظ³ï‚:Ôt,ê„áýÊ•‹Ì|YBxk -¢*ù`2æ <ŒŠ  îâ Ž�B˜ä£aÇÈ@î•fì�3µk6n¼Sš+ç禽õÉÁÔS•�Œ8§ßo..Úå2wö~D;œvû~ëÒ•« ý»Û@ðç`õƒáÝþîvYæRÄ\­+(‘é ¸}ã›Íåÿ—³·Žã<ÏÓÓ�4fØÍ‡3äˆa�i@”hÑb1¦eÉ«8–Öç|ÞÍ®îÎç²c—Ëw¹J­/[{åÛ«\Å•‹WjoË»¹Ueã¬#ù*:I‘å¥V¡MšúÁˆDé!Œb4Í4¦Ñ==sïÏ×ß4@JN®ÕÕjκ¿þ¾÷ÿ}ôø@˜i+µ8ó‹à¬4¯a!H‹1ÕP7-Dúv×BÀ nFo·[qrŸÚî»ÝØ_ýØ10ÀŽž¾ÙGJ÷»ï§çGLf†÷Ñ™P¶j¥¥é `ƒ-Õ« @s‚ .6ÈÚbÐJ¼)‹XÔ>�±Ì•�2ÌÚUgü¶¼ ŸÚJ ¢ß]�Ð B�« ‰äK�Jȱ½¶Ö\x£R¸E”-“ð�)y(6ü;ƒ'7[·RI{î�Zi†½v�¨Ö8¤º¦–ó{ •Ü^_€@lƒðäBOñkƒX¶,36†e©qB‘?øðZÞ8…Àø’„7ÐX‹Ä ™ä«TyÕëF4ÂbÐÛ¢ûÙ ë%pI[Ö©ñ¾»x¹>U*¤¨V今Y�-žJЃ�lü@/¥É�*àh|ÙºÎÆ¼× ‚ŒwÖèø*wª$–ò·�ÀM$u×0˜]§ë• -hh×›Ž:ä±Ẏ,´L³½áÊ8 ëÐi‡Œò6tpÖÄ¢�‘ü¨ $ÐTM±Ã þI¢ßm¼+‚‚¨¼S窿Ņ•ÆZëÀô8[0n�)-Ëâà ¢ô"¼SÐB7‡Óî¦ðÉÀ1™Žhì¦îÀ -(§Ùš9**>‹Ä˜LJv‰aŸ¹s²…Œ˜f‹]•¨ù ^o -¹Å7+ @Ž\¹Œ×|üþÙ³/`)êìÌÁf‹mNÞðô §�çr™zÚ‰ûf@<õ„ 6XZXT†Û¹Ì )¢H4¤M†5d“Ô—l.µ#h°¼àóMQ‹ŒxQN0Ë ’g —N?{!¯ c¡çs¹Q/ìq3¸ÌÅRa%A2 ˜ÍˆÙä!H<ƒ}§FS{PÌTœšŒß€È-†ÒÕ©‡Í¦2›ÊÒÒÔá#n �¢ZY³=mgAî�ï+ÁÏfl¤?¿;¹Û]dJ¹5VWËç …ñ•wáwÆ÷NÚct$~j8…¹Ö †YÜvD?(P¹­ë�Vk Ž™YA Ð(C2[–zL×ÐX“5Ëq|üî£ò|=ðÿå7¾öâ¹ó¬>h;ñ1T°þ‚#VÌd2ív†± eM®xx˜åv8—›±D˜�µPÔ #—ÛP_ù€m-rKeObí-.T³cè–öb½kkžò®r�Êú ¬©À—IÖ˜mÜ)ÜÏ|aLÕF›DRS:ÑH²*>Vo¸™h A ØÅБ%Ѝ‘ 7¨ƒ€=€„ÇÁwI)¥?æuc7(#àh…=™NPQFŒ¹5l/w¥Á±ÿ¶éK¿˜W".ßx}§Âùùˆ±.ä8(?ÃàðK@ùu˜é¶¤] DÒ_‰Á–ðæ8 'Æ�ÝiN*¹ÔˆA…áèÀít8§�Xz*2y÷zØ’ƒíl ÚUâé#xZ=¡sq!‰†Î†ŸÑAúƒ`kÑ4�ƒ+ƒ-ÛbZGl1L´ýy™ˆ†,Ê\0gÒ#ãh(c„’D·"‹”N½ƒí÷Ú‘$w¬¤É�k˜Þ‹‡]R¿œPæO�çYèX|EåpQL,NÆé8îÌGKõU+Ùwa™Pâb¼@‘µù ò&á¡#nÊݱ\N¤sØ“™"%›©lžÃvji[!jeùÍÒÿäýÇë„­'�÷›Ü`¡`ëh <PàÀ³ùo[®ç®_Ãã™çAúŸy±¼goþ L�þ‹o-ÍÞ} ÞѤ­|+Š™ÁÎML¿KASWÁ<Ìï›Ûþ¢£˜ªà@…¸Šûqg•_�ç°ôW‹‰» °¶+çHC“`÷KÁPH4˜ï£~!F$RÈT—:ÌqîW7L¦‚ßÃÖ®H~ @'õkõÜ®ajNÍÜSEó¶ -~ðâ+«X~}ŽmÿÜøžN§3¶{œ³Ò@‡ ºrüÁG¹6ŸE†¬-+JHàE?W«å°ÒßBõ0èqÏdÆ´adÈâfZLÞ“¾†oq ò�©iðfb‹ÀÌÌ^b¼4ÿê�¾ûK¥¿‚ÁŸûÄãÑRh¶ÞZ­(€t:ãû-Y¨DЃpÌX[Ҙ؟ ´28èhwÅè×¹' žÅ[v· ;c<0÷L­†ÑäT‘ú9{1.cå]¡ðXb²€¿o ò²c>U�¶�ÍvPX—v5|¸G$Îõ޽Ã04.> )“I9 Õ´Ô’³^áÚdîQd)& -„(,�bŸ8î™&Eáh¸&0ˆà“Ø ÙÅÐã›”þ7±ýÅ?TTäœqØ_…¡ùLˆl\ ý¹­Aã¶j]#Àóö¦³¶ÿä¾�7‰ Ü£ªÝû.²% t€¡%$¤ý�×4dÛ›NÖškŽ×£Êô:lwlÃ15ÐÁ80u �€¤*'3OÔq�¬^h©³-+¯/‚Æ�ˆƒ�2æ¥ 1HÍN€BÒ‡‹;àÞj& õR0â:R3¤Õ€J€K¹ct‡ÜN3�ñ�ÙåÎvð<*}Ãåø‰ƒkÍb$PÞRðБϱ‡½}Œ¿� -Œu@¼Ê¥}Ýe' uÌd«GÌ*pÒl¶âÝpÎýðè±+»„?¢Ì>é¿í×@ À¾ô‹Wà"Mœ�“*ëªÎuó‹W#t%�l‰Â`.?~—Jר“õx0ÃWª5ÎxóQâM±ô—0D² “Ï9™ä%Ä¥¦ª©ú®ÊE„-Pþ˜jÀÌ$¸�s/œ¶Çrˆ±ü~ÝÛ£LɤU.WRUT½õ¢zx^ibbåÝJÆÎáêl7/¿ñJ둳¿1gÙh¹Û¹œµ+§Þ>•!~•ê»ÄæŽìÂËè4Y㥫ï.÷{avWŒ‡ŽÓœ(ð:.Å�­vÓ÷=“nÞ¹îX;,Ÿ¼?cX…&뀣U(…Þuoæ®<œ\z7ŠÛb€qòã(¬OÞ{ x~—] HØxÓYñâÏ~êy›‚ü¥Q¦àõF³qÝD�!ƒµ‘ïìuòkÅÌÀ*Èd5�“¼r¸ ‡ëqý Ó£à><P)#áyxµù]¥ÚНkÊ0RW/¾¹2NÏ¾Þ �oÓ·…ó®Â×½u¿ã)£`‘ ý�Ø«!ZôMÇÅß§á&˜`×7ì�f­¾‘ÝšDãc“ b@0�˜¥² �º‚ ßóÝõ°´7ŸRìÚ¹Jæ–LÄV—ùë y0j¡€ ª™†m–ë907ô¤‘P1C‹ %˜ ÓÉ“Yñ% ^W }ðaz)ò$ZT…,£ 'úQ@3ðÙAà&f—«¢"Îhå ü|¹Ll˜óê¨å­;ÛH¶Â.‘©`ùâŠu;­sCª`•âxH¥„×µ 3ky¯{±�ÍÀo6­+—ë…[Á.·12£*»M*ÒÍ‹uPMTâàŽA;Âzl4ÿAÀŽÜôyw3€1‡�â4•¯jhËw�bó"¤Z„Ëu´¨o¨–‰+šÚí6¼‚‰®tézÈÎMzÄtZˆŠŸÊŸ"R£±FS§(»kX,‹X³ž :VX(k Û»�xVsbŸª‡‘¢£Û—ÃT\Œ¯i¦‡¸6˜Ub,UœŸ!Hœ“µ•zsÝËí¶®TkˆŽwbS"~ÏCœJÕ1Zž2„ØkjBûLS+Ì�XˆszÔ÷X—XvËóÚ.\8È» (¿Pk4Z �šÇ«ï6rEQ‹og”¢ÛkÒ-÷E" -±­Ò æB )ÑCW©—€%æ`V “I]í„IŽW˜Iå>ï €¿à¢ŸÛ�[º¼8ÿúüôá ¸¤ä—7‰áF70wf!U$™‰>]¸àlúý4PÀØa‰ÑSôA‚)žÁaÛQpgÃÊ¢kí0­ÑR§¥]ã§gÎO‹÷Þ}l5¹ -ö·§u£›€ëGfÆucbö+€¯'åJöéEá))R[M¡gOœdH5Ž%u€”:¸$4»»°v#ï�«µÖZíâ™§ù‹\g6V(N΋›�Õ_T@ôOMÏ‚ ÏWaQœÛnåŠE3��#µÅÚ…ÌÞ+‹~…t€vCËoOþÍ3�üúC|K! è§þëÏ>²\­Â®Ð—–( 4K1åâè+®!›C mÄ{í(c\rcö>Ð:Å‚¨E^Sº!ˆþ³Ï׸*3VÈì*dÆÔ”�Õ•bÍ®¼9_Ѝ@úo-Ádq¯7ÌcîõíÈÉ^ÔBÍ�–ÛaÀÑ/?³tYt`1~G𠻬G?óiØAlµîo¼!ú}j›ânoŽŒí²'§J oU@úƒ˜º™ô�o÷}üÞm¯°ô—ÿdI'K€™Ï}ü€Ùj™¬Îš§Q�ÅXDômO 1„Ã[C/�zK9„å¤n“¾žÚïÎX¦³ÖÛߦÀHÿø»¢ÿnX—s¢¶ÎÊÆô!‘°bÛNœk54öéoƒ7Üxk»á�iæZÃeÀ²´é Ñ žLù]‘ˆàGá`%JŠ ”ÒM›G ­ãoIœˆ¿Hd0„p’ ¥{ÓÐàó„‚ç 9žœf1…7ÛÞh+1È9ÞÌ! Øh¯õº9Šrßs·ã�ƒpíÌc˜J—ÍOü …Šn<ý¢^Å ñw9=Èt›X˱µ+þ© zŠGQ”³•QñwCJž‹hLØ“wç¹�lvãOr^‡-Ê@ø ⪑;± ÀŠÃtQØŒíÙ„ÄÐO¨Tÿã³�ÈA$‰e†°°±‰:ú½ì"}ÂÉÙ3sM6Õ±ùÖòZèÐÄä”à�Rþ¢p)~ŦÈ/f±àÌVÄt‚ÚÀÝ0Q5q®�µ3±ä–& MPòEv¶xp°ï:)¨‰é’Yn9ŒxBƒ@ -̾t±V¿ZŸ><}òÔÉúÕK á€`Τ_ê\b;K´|&rA�Y7@À‘!bº7tB�ºð‹å—æóÅAøDÿàaE �q}énúrž$S‘ÕƒÁ5Âï“D7õ ¹e9U0ÃÀ! eëë¶³îp<}òð *€Qœ~w±|žËxÖjÕ‰ý¸�Xú§3ˆ~Žàã5mýn[äv¼ ½­ WQ™�=€•«5©ìÛûäþ}p´wd@úŸ}é8žþ»Ó ú•¿÷vckevÌj¬ Ô ¨pý¦n+)¼�xég�Ëœ”þ<}9ó©ªÛÿ‰~t€â‰6lY�¡��2(ÆJïnS¼-¾¹¢›¥Œwð:^`oM€ù¯`#{ -@Dÿ`üêÊ [°é!ØÃ°�BŸR Œ¥P‡RonTü¨Ñ´Ì”‚ -‡.k6ש -ˆhfM0è“)×kÂD¿�˜kx+ƒ?!bä&º`Z¢%¡¦ï{Ñ(�„˜©)W ›Ÿì¡»7ÇÎln»Iηé‘ùÛlËŽw÷Ô‘ŽšØ"÷ã8ú�•c ýA# ÎIȼt¼Ä@ÿ ©¢Å!¶¡++ÆÌãÆ¬~–øplÁüØ 8Èiað_5ªŽ•_äÌ9O¤ô¨&=ÙSÆBâò†u¶ý9•½2B®u5&”>53£WŠŸàâ)9v¨M/@�¡ò…`XxÜHàÉ ä°ôWH4×k úÁ à� j?HSj‹‘%9PœQ8›sáFÂ&ì õ0Þ…€Œ6¾�´=ét×Nåš�:»دÉGfŸÇ¦¼0`Ï#�õ�þ®‚F˜WaTaè˜ÿ nþÏ¿>j`f¦Äô�†/¥mLY,£áv`ˆ\·É48�˜?T+A -€C@ -6°‡­×ªuV:þô¥(ä`H†[Xôãxn%^L"žÌ:/" <Ñ>>0ßÐŒ¥rêž�•ew½�"ÇV‡ä. B&ϳÃ`ôÕzM‡%{n¬�+P•g·3yÇaLp‘Z&е°¹Vcäw=¶*ƒN7Ê£€áŽXÍ!²ßÍÞ�öøÌôÁƒ·O壜-Çî½Ð·,#ÜÄüóõù…‡)Ký̉‰Óþ8Žl,þßçÿ?²ç¶Þ|]ÁÒXæS°ž�k›;òc÷ßý«ÏýçÇWj�Ri=à&ò�¥ŒÒ­ùË—(U…ܹA"¢škÀJ�­$_®ÉëWP0™ù[5˜ÔXpÃXêÖ«a0Úψ 3ÞíXisbOvéÍjg½'ž;$`…L°ÀdPÂSP 6[®�1Í4×à5R掔ϵEÃ:¸‘L(\Ú_8^°—¯ÀJP -y[KàÔÆç¼�8øÈ)š2›×j0�Mø+ë>X(¡ÂÙÂpa¡‘êã_l6üÕ«u¤l¶[Nk¼T¬Õ±â+7aÖ–×t]ßž|* �]c±@¡UMr¿{ÅtÁé`ç˜Ïúz`ŽbÔÂm!nS1\K‚´µƒ¬–2jW…Äå¶{ö”@�eÒ1Í«òä1è¶±-î5Æ=ÌPæëJÉ£…_h½/~ªp[öΚnö2££š‘¶:¤R…äv„bw^¢CÕ_zJ[�,;½§™¶ÉøØCØFc’‡»Ù†à;C=Ï÷tPØ= 8(È^€Ã9êž@�ƒ²¨Gü.‰r‘ë7Cè•N¢JDTt|‘odXä]Y£8ëaÚÀô/ò4ô•6…IÁᶃ ŒÉ´qˆ| üaÁ¤0–UžÀ$Ô¨„ñyS¢_ÿDS®»Ì�NƒN©9¦=P(Üêm†àýx��Ã÷hiÆÁ‘T‰¤(•€éÜuá³¢3Õ;œqÅz=á -«(v�Þ@€¿-Û‰­QÌÓ0ä ^ /y14މiºàžx g3³‡y`�V ÁH‘⣙ì³ñkêÚfäD`}}´8P\�º®0Óc–.n(HÝ(IšdÜÒ W¢sØÐº(ýÏ…ñ˜í@!$Toï ¸Í€.¬T¼Èå‚mHcÎqp¼Luœ†Šy…È&ÅÎÞ[¸dÆvÖZ¥©"¨°r¸ª -KZ;>²\DtJ¤’y�a‡»ƒÑã·`ü >;xñ†À@0AàxF…ßr~þØý"¨Î-`¹ÂX.Ÿ•ü¾$u±8ñÔXP5�öª!Š€‹ré/&–/f*â oDzéßšNtÖ?„ë ‡ŒzÜ•­›>8Yzkî_*áZ=~:€Çfñ®@ú+[+sâ›CjÙˆÕzŸ/c´ -Dÿãùä‹¥ÞÈå²\à•6G¼hì†6…ù�N€ª÷º>vÐt·°Ý^ šÃ#‡vâÉ=óÈgEX ¤?–“o�N—vgÁö?ýÂö˜vtÑöïqþM~^ÆOàò¦M®®U¤ Zï¬Ãš'@µãÇ"…bVne¯µO¢Þ -6œüÞ«k—Ù\s+ u8¦ì˜ÿë÷0WIP?Tm)*FXúß8¶=´d†¬h>u¢€¾T­õ 3ªé»³å×çÁç‚WúQ%8ª‰¢¿¾ìÂQA+° „no33¢¢·�Ç[Í»‚Ù‹(S‚¶¿.NF¹ºå)E…‹²¹:ÛÝpK¥b¥R5ðÛÿôS¬`â‡ß?ñ+'AúŸù»Ó§N¢)°péÂÔþ#7Þé/Ý$I;ãbu|½y'èI @!"6逴›|%zËœlñ%�»l~}”¤?ÇèYp Û°‰èí ëï‘Ó›rfô³|d=�‚Ó!È<ê8^¬ZT“e¦,Lùœ×‡Ô ì¿%—}vüÀjÓ‘‘e´[cYk�/r¶r›—˜)[r†Ç·[Kç ´––ª�Fëž{¦@ ’]T"É¥Ÿ\Â¥¨*r³k&R"½²D7Ù3¶--TAÁ–n�r]twH Šþë]‚ÖðQôóg¬i3ˆ¢sââÝ /•4•�É-De¡ -jàžûgЩ¢¦zUÊ] æÉ)fÅJˆQ:ø“!ñDN…º¯Äã¡lx‚J^S‹d±Uß©ó‰ÄƒC¹OËšÖlÏLjˆPà'}âá[¤knð&)Äç èùDS½'ø&ſ୒²ÝÚb×I‰M|e2¤“ËÚŸÿM\œÓ‡0ªóЉãÊ?d£)¢ytŒ–<^ÀQX�r¯Ï/˜£ÆÉœøY^p4bp'¸žÙˆ:×åæÿáéIð¿¹tìî-u¾êÐM¼¥R̹obpUEêNlòìq|,&‘�å1¨œaÐFÆë¹><Ô#QEJ©(¿´´Z̶:uJ Šd‹/Måœk.8œëwbÏʦa¿«‰d5\|ü•wiðB_p_l¢Ú¶-¼í”r7)Àq¸ÀÎ'ñ˜{Ü=�eú0µwCV+7—§˜áz'&�╦Pgp‡N6gÃÞ¤8²�Û�oÖP£Åô%(fóºâD‹éÛø¸×"µ;3=k[™{'&Kp4âè]žªK¦q/Ö!¼ ¶Áõø^Tr7„ k¡ÈŽzÎzóÅŸ�{øÁ“àI-½„EbhÚ$BSU8D«v<¤ö‘Ûç>sŠ¾Õ 6;Åâ�å÷êŒDØÿ‘ …_›ºíncô‰³/¿|òã§Ôîu,S�öS12¾S7FMcïÅ]÷Q%Q‹",íj«þ~ ®MתB J �±â!ZH�@\:hnÍçrvÑ0æ{ÕÆÕ�Ü®´$ˆ@úøŽ^áÖ\¦MZ}ÓtRH %À™ì�þÖ­ 7©¦F�LZŒÃÙŸ.ض™¿% !½#í€}7lpD æŸnêP¯KT½œÙ¦{7L­�3 ³gYöÞÛ0É.ÿT²ÐZoeFñétbž\»5@ÿveYÎ"—»£ñoy†ì”^~{ðÝ ž,.¢È0D±̺ìøó¿øò—»´ˆñ„‡~„�8y=3} vøç—~ûKü#pâ85ÅkÞsçìþbÎ[¯Ôk×áˆCñó³S3Så ss¯”¿ú�oþéÿñxñ«¿ûÍ<þ8œ|þ³ÿàGO}泟ƒóüåãÓÓ‡SÛ-ÕÞ«­ÖVK{wªÚ0� <³l¤tÃ^Ðv\#•H$•^Bíɧ�.BEª6²gÑíïvì1‘Ø÷TUj›p³'½ÎE)TD‹yõ »êu¦MGÛSô�ÞO0æS¸`t#‰X\K¢“zk5”8d�…”McüG6cí˜É„Q¹çœÃÞ¦KB8ÚÅí¬c ÅuÓ:æuB‰Àœ„€'ÿÉS\ô¥ø)•4µR}{¡³±p‹å¼ïÀe##q*ÔvÎΙ!¦Üš×mG}Ñ`\‡ú°F¬¤�àF4nÕG†àPAóËs[~óN!dŹ£Øz?*•ÆVgØÑ¡é‰›Â”ow>ˆBwH f¥R&³û¥ “Ûð±”Ñ!92�Ý™9]ŸsßHòù‚Ó¬‰VC*ó Áh…›*e˜1@ÔcHÚ!Åõ�ê›ðá�ö{`eÂõ³VqÔ ¬!†ÍXâŽÎ�)Ïž˜RÔÂ4…Úéæî!HÇT$ßAKÁ¤R/P1SHGysQwGG‚¢à²òK¶Ïž¿ïø18*±ÚêøvòÁ‡‹'fi«¯ÅÐ:¹…2v"aŠ!Ѝ1à=¦užyꙇŸ>89q©ÓWA|á–íWÎ7F‚Ü?ùñŸœþÙóÑU%âž—Ü@p�ý*µ’_måò„isÁ`ÁcjGt †îa¯ &_b¶Éô¡R³]QÞŒ W›¥ýD`°îùéÁíܯ×tèaj/Äù«ëá&öT¤FEI"ÃM+ãžA¹ú^#O-òÜmÈÈÏaØ—”UÞÆMÂq†¹ÅÂj6ÝJ¥^*å°VaÈÏ/^Â@RsÔªf:m’>Èå¢Bá�±¦ä+¦ÓU$ŠJ:Ò -í¦—Þ‘Êì0Ò×½öõ¬ØÖÚ`d^~K¢_yu.Në˜E)|ôNT+ÕX4CŒÍž�{½¼áµîš=üÊB>öåÇðõ»fa‡“O}æaþ<ˆ~1þ1¾R‘3D, t˜Ä3›*ÿ|ÁÊfr»ÓKKÕl6j@:é Ì�7/1â�›NoúVËieÒ£7} uÿV¾ -¢e*òE6$ž¡Þ³Ï·³ÙI€hI轞€bä´µu�ëkA ´[C—ÍÕ–i:õ Ÿ�¥w0–¢£~ao›ç?¶Ý©ª Ñ¥©íy¢�‘SAÝž}\­Ö¬½çœ|ø¸¬a0(Q¶¤rslBL¼¸ŽÔ$j”ˆçî&M*°MÜf\zCœ—ÏW ]™º«$u—ÇX²jK׌@ƒ•Âá z{®$��ô|ìT‘‚}aˆïËØpÙ±ì¹3gáxÜq+ -KcI,ã•û!3ÂRƒø/š·H®N>�B.îém­Š5P" -¿&¥ ¢‰n´²˜çó»…é:oNÚMrí”ø15ý7HÿÉÈ�Ó‘ãŽWÞ8>RúÿËÿék]U=~ Ó¶ßùã?;{þþÀ÷ÿä;'îØ Š–Ü(úy ¶Æ­â[\ôËšk=ªÜ˜¹SÄj^Ÿ¿jÌ©$š>Î!�^ðÖU®,ô}lµ�Àô#÷eúà�üõS¿ýß|n¹°½ -VnÛ`‡ê§g9Ìàƒí?…w$ª_ÍÖÜn”à;è¸~ðÍõŽ=ŠS´‡ Áö¯×8}õzkúP1“ÉÈůÓV[ŒRãêÜÚ‘š¿(XÃ@îËãþÛ&Yúãæý_üT1‘²Å?§§&_~ kÃÀüŸŸ ÿÂ-Þ�&Ì,¢O�ux€4œ,ÿ‚AMLЬ*K•™{fj•Šã8333årÜñÉC¥Å7Ñ Éæí…KµbÅëµÕFqo1Î`qãa¾R9€ÇdRº®Ç G?#)`½=�raJ E� -ÜA˜ÞLm G.¿¹i¡ga€‘KÉ©sý+B ÆR£ ÜÄP(ÌîÇ]ÄÌ�œ¶Óò“³w–jÇmˆq5ÀaL.[òC‘A%H lt'ôV%Ñ£ü1X€!•Ë3Óä`Š.ÿÏ Ej¤·{1ž^¸¸ %±&à+Z°Xd˜2 ˆ¹z]èáÐ+Y†²¿¼’�´û='Ž7ÖÌøÈ¯€©ÏŠ’…ª+ÒXÜ 7Îíc^GQ9³m�vBÍÄâ@ô¸ ’œ{l`L€�A1´–åíXÄCX,ýE8N.��˜¦([õè"­�±ÝùUèƒ-ÿÙV™b¾Ç£ÿÕçΟG¡ÿµ¯Í6R'?ûP°K'ÿ›_ÿ²ñøÿSy{±rIØ_2,“èz¹±›‡�Yú“PŽ_ã@%ô©,Œ+SÍZ�X‡ðØõO|ü¯žø"üéöùçX�£n„“X߇ªÝÄSqÛ.ØþpÂ~ob]ʯ0¸�"�€{?Áãhò®Ä~ž1ÜyînÛÔ˜ÍúÏ$;¹M9`bk:pT•K5^ùæ¨�Ô ëÄ‚žÕK…œ%ŠªéAX~¶9÷JŦ,Ñ�€…ؤ`Ûäj./ØìD$\u*®ØÎúJË+íjµ‰ð^3%nÍóŸC@`†ûð¬ h°€ÈE˜NÓ‡fD³$H™[†ä~ÚæX�S¤ª¡êr3sG4œÌž(¬,¸ 2cúŸý›ï½³ jNÌLúÔ©SÏ?ÿ<ÁöåÕóìEħ/ò/c(Ú¼.¬ð/‚8:{äìËDé_~y.—C°—Ko-^Z¸ó ‹�ugúŽ# ýç߸†-‚¼/ì²”·«¬Î�“Uð¾Aô³ËÖ$ge-§Ab…nŽf³Ê›8fF�*a•Ã[—�VQ)¶¬¬�ÁU†‚Ù¸Ûòa¬èÑeRèHg-™pÖ›ðÜ�uÃÜ¡dF#ª hyt×0ï•Ì,Äô ls ¨êÞ¬9«–Q0 °‡šÆJ™*aö ~Á�ƒ»°É 'nÏ‚û'ûo‡é˜fX*�µN¨¬™cà—˜)ËûØÝG°žmÄß±Cµ-ûÚÚR£qG!_úó¿ú·ÓGŽ\x£üÃþé·ÿ{?øëïÏ_œûÊÿÕïÿ»?…?÷Ø?ÿêüáÓûoÛÿÀ¯}ê{ÿöO?óУû÷M=÷ã'úäàÊ/]ZøüB*ÎàyBâÿí³ùF«6}¸ÄRaÌG·†Äka”+ÈA+µUxk•à èÙ¶wy‰åA3Q¾¤¼†å#FöÊ[õ±<è«~Å×sOÖTýÈÌÜyô*¦ît°ôÂéÅÔˆí\çU/$w£Ñ´Æ²ŒköúÜ Ý\sì1ˈA¹DõtÊk¯:×®ë-¯Ýê¤3©äÈà”.*øû•Ÿ5<®¡�ݹq`ŸVº�)XBËT=ò“}ÄÛ@ê>uÅ�×õ±6…@­1ËÄ6{G£ÔŒ†å'¡çù õ/^D`‚‘QÄœ¿PF‡òÈÌÏ$_'˯º=1M±¶ÇÇG^Gdžö Z’ØÔî -¡çcóHˆË�¤bÏÑ„÷{Ô(ä÷�Åæ¬w -ù\Øó”®�ÜÅYKåo„é'ú½~�SŒjB÷6C-e€Ü -ÿÁÛï}ýk|rï�±*:Z õ­´pÛ¶µV{ $ߎÌ⻨á�<û…‹Kj"›�9íÄ(ºdqŶ>É8sc«ñ¹d\ëlPÃôFÇÎÚ�þcѰpqAÙº1¬ zFÔ,#�b\\ºÒŸ!¹Aú—ÆÁ<ÿÜ�O…Bÿt»÷ž{zî§J,Íß4Mx|ȉû»±yp÷¬sÙ¸^(Å�0‘á`eSõ ÐìG§@ô7c!Fzû8Eâ�5®GRˆ¥RG½°ÙlÙöMBÒ(s±€ 5Í×÷Åòf˜#ùIÓT+ïxz2�È£îºg¦·—–²û£ÇÆL_—œŽš -nÓÔÐ4c×ÃQrû4=¯Xý;ð Øh¹][¯¼S9õ‰ß˜¹CŽ�ýÖ—áú.]^øÊ—¿Å_ùÃ�‚þÈ3G¦¾§`Xov½Žýü�þû¢sÞàë((ýŸ{ö‰ý¿ó-8¾üÚ¹ÿñßúÃ?ú6¼ûÕ/?ö§ßý‹O=xBÁ,Î@1Øö *Èrxž ˆ×ÆU#"•ÉÁ×e J£>�¤ÎZkd5ÇÚ*¾¸ìàßÓÏŸæò)þwåí*xpRþùB‡æÉ|…~¡hÕªƒËcéG§JpÙÜîÌüëÕúÕÖôáâÙ—*ÎuwfºTž¯€Ñ=}èÀü›K¹]Ù\1;ÿÊ|î–ìsåùBá—siÄ7{g¦ù~˲37 ê®^E,€ü­VaÜ®­4ËçÊ÷Ü3Óh8°8Xš³ -žîÉû§Ê/Q&iªTY¨ÀOòf¹\ÏL{Ì|û-ïí’Š~Øã¿ïǦæß\tšm›úE‚Í¡Æû!ìçÞ+ï…¥½ziÏMÊs-; _ÁãÍ€F@ (7,p§Ñ5ÐXkÀ>ù*Çt×`qû‚* -ƒ ò ˆÄ›„ŸçL5“°ˆ8¨Ë�x­é]B R\Çæ{xmÚúÀáFKp¤VEˆ¢ö6�ô×RšPËÄ{eEµxGO�ü;qô0ÿÓ‹µ°$k=þIÿ“¿"à‘Yúßø�+�Öž¬xÝÙJÐ(ÛÖÕxë×RÖs+&•ð †à%JeÊx⯟Î/^\øÂç¹|@ÚÎq1/Ù�ÚJ’®ÄHú6P|ò$7Œ0…·¡nŸ:'>v€smÕÌXÌ%¢y¤¸Á­ª¾Š`8Æ_$Ú?AÄÞ"Wìð»vÖ }<€Å%$¤ž{mf¶e‰Xj³íÚiÓÖ}ÑÕ9�Ü‹ ¡‰Ýö@7T.W{›± YË“FM€ãÙÀÒŸ!ºÜëü›°„ °øë5œÛR‘\‹†~hRóÈâ'›'ûŠÖ)¿×á…ê�E¨�z¦8|ÌÁ4.� ×É ÿAÔC°�ÿAoMÄTAmuáäýŸÂ{¯\ÛŸßúÊ÷U4xá„”ÇþýS ýáä�½ïþ_ƒ“‡?ý(¤ÿþÛ'.]º"vþõÊ1.T.Wf�ÎÀ¬¿™£3åWÊéÑìôÌäég΂°®\®ÌÌ”ø+ì=Ô¯6K·£Tm\sﹿ´ºB„3cPÅy57 Â.Yb6sP¹œ�#Èâú5‡ƒNNc0‘ê«N.�Ò_*ç},çk\EÛaßGŽTß©3nàéç…�'Æì¬DÈáõúäÁÜ-B N@­VŸ½kzþuª•8pìôsç‹+“Î,¼µP,{}µryŦà8LHyÍYMôÚUñ'Êç*å¨<øÜ9�ovú¼6í¼q[­¹çÎ " ÛD?o¿÷õG¾ú»ßiŽƒÐl›#™ìN>©+ì @ )n¾`•_­n±÷–а"øš›õ†MUÎpRØSt$ÆŠáÆ‹ám´˜>¾r¥žË6(»iíÄ·8¡È…¶LêÉ_ai ªbƒaÄ ûk—"4V¢˜åž $aÜ ;Qâ³éºÎÕV>‚Ÿ‡ii©ºS¡ÀG«¢Nê‘gŠš 'Ê)aù ˜(äqÏÃ}¡ý…Ò?¦ ~úò…3??/=€èÆÒÌÿÆõ–£ð^¦i -:NÂŽkíÈØ™A"ˆ€è™ 5Æ1Ä ƒÊ ”R(#ÛñÔÁ)öþ·?ùÞ¬ãÛ÷ÅÜŒzkEͯÊÉyÁÊVYY9}î<¨�Ê¥ùI‰?�Q Ðs—Þ.¿ývýÒ¶ýåæ¶�Ÿ3²³M�¾›+ ð¼Á» ¸5fÂbPñ´âßm6¼8RÛ5ƒ[æú<òÔIй°NÜ Apy»‘¬µÔ]ô·H„Š03dq§-“xõ(Oæ?(îéÏ -�¯v@úÏãn«Ó~úYAzuúyfÇUX (¨ü+EA\å H80ÿKûÆá­z½9}Œú -œúÈD™¾õЩãÿñ/ñw�¶¶²½Š¥“$oó êÏSAô×VyZn—Åñ Ì>¹¤Á¢6·†ÕÀÁÛ›3w–V‰÷D?(ñ6õÁ J²¯™~Ü1è÷od½mM]Htzø›Ùt› -ÿ•ôS«Ùj¿ß>ztZEw13¦£�˜Ô�¿Æë-ö#zC¢4 ݸ�®ë\ï¡Á®j†‘J$ƒvÓ¯½äŠQQ±Nø›.*nLèxȾÛU°pCP˜��’ñºoÈ#´È.S—RþŸ¢hC sž2#î6¥ˆš~4*SIñ$�ýNG%MoÆWáÂ>UÍr@#N]�§F¾Å %P�Q{²gÀÔ¦™}â¯ð­»¾�wD?>±¢ .0“18Í3¶ ÍgôAfîj­¶ÿ#9ìÂ]÷fî*!bóf0q[Áõ�­%;fy^01a -áê»Þ ‰-o=˜šÙ¯‚ÎÜ�Çîß‘Þj¶k‹—êé[Ôj¥‚®ŸmÏÍÍOÕâÂâñû�·œVõ�êÔG§Êo¡�š¹g¶|nγK¥R¹<Gcج×kSE/ÄÐ:Å /O�!Ë4—Íq|Ôu\Ó2½¦À)©\®Ç ÞšT±šÝm­7Ý&i²&Yôµª�JµZ™ *N?‹"~dGæçgç¹ReþµMÁy²´Ø€ßyô\¶+ÕÚÔ©“+¸š”ñ‰‰‹9DÙl¶fï¸tµ5e¾ —DÓ,ÉÜ$(Cú -‹ ¼Ì&ÙàÓ‡öÁô/Žgæ^Væ^^˜œ*:ÍÁê€õ.€?m½øŸkœñzæGsàš7ê�Ë“G޹ä.À‰âæ¦öÏZ©•‚5®p”$iÌ€Ý*öhÁÞ¹šÏçæëšbüÆÃ¿qéíÊFP… ƒ' ǰë'†ÐBWCÈÂZ,8ÁØ}T ’ì{�r°´‘û×>LHì�À'²é‚  !Ùs½Nóý^~W¶â·,Ã^½ŽÎ¨è§®i^#JRˆTŠ–ä{“éüo0¥ÔþMZ@q•&•XˆŒ'~3,ØXúȶ¯�ËÄÇ"é㟓|ŠŒ§Ê'=ª’ùî`Kð•¹2—.]zøÁ–¢Ð�qy°PüXY؇lßøòWøä¿üäùâêjTþ11‘ŒÑ7¶ßïd²Ø*ûÑæ¶}. CÌtºQð7Áë\{ßÛ9°a%·jH,µpì¬+F¶²‚ðH~xîç�š·m~‚•[#P©Šè.0å*#îÝg.oN²¥´Ço ãÎ-5�f«ì´›7Iø›<¹4C(³„Ȇ©Œ2�Ò¿ Ò?…è„]o@àÆŽIE’êHÖ%ÂJ¼šÉ«É(Q¯l��ã".bäÆ - q�Q§!C“Þx#r Úõ©ƒÓßúýoÇ_éŸËYí¶Ç†! ¾Ds¨HÐMâ~Ð -v{ �¥ë ‰ÊÙl»ðt:¾ŸÂ¢Cïì8ÛG~jf¦EùöãQ=¬Y.-îÅù`‘Iè4¶DkÁ;)äíù7çNæ> ÿ,_Xš9r޵«�_ýµ™E2l'—*¯U@ôÃ'¬*@úc¿ˆf0þ§fbÍÿƒÞ>�=�—ß|_@ñÔ®aå¶»8ó¢p§@úWWVÇ÷ÙÕeXC3|Ÿ8±éVªþxQé__õsy1�Q¼†>b¿i&ãH²>8qïØiXŠKo‰bÙô¢�mOôÀŸzºyà€1y;®4&¯[Ô IDAT˜5FŒåe[^ª—¼Z8öàØ–_â°•S~u‹¸{îÙÓûö—r™¢¤„ä�¦c0uÍéxLÃä -°›)DB5àoÚ[6˜6u0¦‡²ÃP±á Ä;:x1"«Ø’Þ’e�Ú³cÙâ¯ Ä - b®êã.j -oÞñAÛþ[rû(‰'Îz¼²ÂãÑ‘“L&ÉR#õãÔ�ÞOHcD' �ø}���N@ú?õìsßü�¯¼¾¸ ƒò¼¡JÛÔ¤˜Çq~<ÿôpƒŽ÷ô³O?óì3ÊVZÁ8À/ÈýopeùíÝ»Ç[ /®:>¨Äš¾=ú¤`üÎ�¼=× Deø ã6oÛšï»,ý�†›7¥¸©è—"“åÖ=¢RéЈ©X�û;ƒûÑLÎÆD~]‹!bºÑ :È…®×– ’NÔJ3÷JE�r!Å’™õ·A’øƒC(úÁüO$¦÷ -ˆç ì| À)(.¶¿©E‘#¡Ò#Vb©`…C@ÛC@*‚;èJ…"Þ#6@h€u² -vân�¸$¾iéÜÂÅù‹çýÇŸMðÌ ÏÔëNý -0ÿ7® ¬fT™]æü“mDâ6ÁögÊF%pÖ°Ÿ^¤¿�6½Í`@ŒÛ¸ƒd¡\.–¶à¯Àš�¯l;+Â#¥%‹høfff’'ïÿ4¿ÒŽù|v…xFŨ’ôgVm§é‚ùï�ÀÈK33™f³ÝºÒšUUeV6x{Êß· -èÆ u 8=?� ÛõFs±ºÈ=ßýãïÖƒÎ)“蓸פÿþ[nREÀ)ïmÓÄW>õ´™kÌ»Žº·Xôƒ ÷ý?¨°€EÌ0�Æ9¬‚ô§–´Mžø›Ó -°¼\aé¯`ÆÍŸèßgéŸÞyÇž(§u6ÉWkxÛ>ïêQ^š=Þì�BúoùC×Ý=“ØÁQ ðƘnLü9MôÈÄSÁI=›\¥ ù× ª—«…ShErdq»ºÜÌix1ÄÖ8½µÓ”:€·´­·œ Zq9îŽ9ªJ§-ìÆ?«ÞMì‘¶âgÍ?¥ªü¢°º½¿»åw¨ªŠY¬…ôïò�ìð \É(… Ðaá¾�Ì]Cv^ÔÝD/I‹§›“ÒîÁÿ‹ r»lÉ=e`�RBzK -Û©Ÿ>+µUUC‰i%¸õôÔÀ(½+û¹æ_¯æv£m7?¬ïÆÍq>ðó`ûv£ôß½±ˆ“+AÖ>Zâ>s•M©R¦:À¶ÓúˆÚ¸ê€àO‚èç+ÖÞ¥P(ìð­µ÷Û�Fëx6söç · ´ób�[çÏ—‘¶ýü/¤?8Rú+hr�±¤€ÆÅ~À½?,?FNÀÊâBµpëHTŒÜÇ�(6¡ÀøÔ§ÔùòÊô „çßX¹÷ãˆM91‘{áÇçAŠƒÚ�Zµ :`æÎÙ‚zñM”7GÍŒ5Ð(^×{êožzø×þÔ'îûÚ׿öÈ¿ ��ÑwÅê|þÇÏ/SÖkáByáµ9pëÕª ¢I¯eLÈŽ�1j&ýPŸQŸà¨§ •BçDæIQ6&· -0|~Ýïyë~Ž<ÆÁK «°ƒ€À–cs¼ÚŽIýª{`rüÒBqN(4 ~M5©=—$uB€QÓUGÌ^c­•-°Œ�V½´Ür\vÒÁ¢q®»TÞš l?‘$è œèX¼�T”1A£�@¾ð7šMÏ1’ž -SšÖ :pD¸ Q[ÇÅOl˜ÛLÂÿ»´7ßhx­5G7Òõeeå6@Ã5Hbke(=lh$ۄ[&áß#a¬)HÙG«¥Gä_3#5œ1J$¦ëG�dè“lÚ‘Œø!’±i2¸]xJaþºIsëP £6ƒžj”«I‚c4l‚k«Ò=zÝ ¤.ˆg†M¯ãÎ<:óûXrºzÍ…‹Í嬓¹™ÆšcY¢w yÓ°Þ¯‡æ¿Š­¹ømæ˜ó]¥�Çè½$Ñs‰¹S„€°v‹à K9z¬X¯·Z­ýc¤R¡.nX0«tîÉBÉ€ÑÈ™YLàH“ 9%kŸÒq}XoS¡š„\ÆŸQ8BÅ-`!׿Â8§S!;¬ÙŒÎvTæï8Å1‹RûAé– ßÐÌ¡b°ÞN§ÔÃÓ¡çN–²Þ-Ì·Ù;&àûîF}ö.œ· õZvwé¡_?ÞXC" m`z*‘I§�×£Êò•p¥ -o¥Ù]‰4bð€à26CnOi6ƒ‡~}öØ]³>¥|—ßv>qêž#ÓN½Ö0`}©¡?¢Æ8ÁwS!’ åÖÄÞ±&¡8XFÊ4Pª>ó£sŽ×<ö+3Å"š\Õúe8NìÏœuñÿ©òé_Gœ˜Ú{u˜ÿ£)ã™§ž)äóÆ.¼…‚#iJ§�Ž,Yßaàq|¸ÚèðŒ0ZCø½¾¢+*¬…Ì(:Ê -Ž>ëm˜ ™û ÊS®ÓÙôÓ^§cïÊ/P¾‡;ݼNSïëÜÓ§�eœ‘�$d z„ -Â?õ”x§í`“qÙìÊþK<¤ÓÍŠú;¾ÿ—?�¿À4oÓ‡¦¦§NXé#“Q­ERˆ~¶ãDš›J•˜¾‚"6½¨%4nÎ’•!¸}$/l ýùø5*azŽÂ8ðc?yÛtA8««òæ�33é\ñ†@J×ã2|ô§4®Ÿ âœM ✴jÌÊ^¾ÒÚ³GALñlÙ8i–ßEGD4y £ýžÙaÂNpÅìî ãhz‚k4SZ¢COݶL×Ùa·³™ -©ý©ÃûÓ0w6p…+jë<„]fÖ8#·S[Ââ§¶ÒíÊBÞÖ;žÇýÀ#Æêʪï‹iî0âXù,ý¹ ­ñ(Ñ5ÆDJ`2)Á Yô:~ f<ÉwaJDWN«"É0ÿ��ct-(ý±¶Z”cÿ`§Ócð5Xúý”&02D ÝöŸé�¤TM™K—/-^¾üð'àW@ô¯­5ÇÆl†YfS�SK°ÌÙiFÑÎ %è8â/~��ôa�Ôq“:wÂÑíºae5d.—AÌ¥ËõÙ£ƒg纶÷'TF�I*AÈQ ãPZ[[Cün�½E…Fà”2�!`ëȲ`]ÈòkýrƒƒÖÖdÉ|ØíÅ#W¬Ôa½·:8!ÁL±Óƒ…ÜŠ0ƒ—*Ù]RÜ '8ŠˆUô«`À¯\¹ê2N@ùHkä¦õ¥Qè40|ìÎ#ç_½ ÿè€ç£²%±qŒ’e]?dX˜¨Ë•`b¯>Q‹ÌL¢iþgâä³U«µ*E«V¨Îg¼0öÈÃÇÿâß�~úoN³à ¤¿<ï.>Í´Ås]Ò_¡t C~bÛp_\T4Œƒ¥¤�èþV¦èÒÞ’rkbµ†�–Új}ŠT©lrV" -¡È��þHÍ ¢ ×û  .}�}íII=¸&šgVÔv j`æŽéÙéi0ÿä�Úóƒ¿z<Pé7üc·Gè!g'ˆñGHØRÉeÞXë ¶¿I¨Þöä®NŸ¼]¬�xêÈÞÙ •›n"‡SÃ*,NäáK›Ü§®F �!v!ð ¨}E¹rƒK{2~ÐaÌ,PŒujR÷!ñá8>±= ÒŸ{µ$«»çm¿wfw‰¿~@*e0‘Èöt‘– ÁƒDØiXÞ²c,<a'O ¦o\ú7iU§t Àhl ;ú3RÈ\¡¥ —XÉàˆ¨2±°–Az€b4+lð65�Ò-|%ð -¼š”:³r£PE7H'·+4V�Jz°šÍ 8n#97Ùx½ )’úB¹±†8`\\ Ø�§*Ü”Ã=ƒºŠ9a‘墜9  R)Ï4-ÂŒõÌÔ ü‰†„“XÄO-ˆQEÂǶ°Í$‘g˜ëÖ˜„¢R/rFŽó5Ä#‡‰¦Ñ—#€�èý�k»1áOö8LQ°T‚®—I›`·f"£ -ÌP ýýÍžI̽þF/ëSóöèÉòÁjylqg“ŸÑ�¸G+›ýÚ—¾xÓIQo¸æHl5ÉäbdP2?Êò;>+€ê»ÂX<öñý¼�GøÕ÷ úA(XÓµJÐà«·/1S܉DLŽôéJ,rÒ¡,:8=áž@ qžL¡šiÏõ˜Aˆu&½FÌÊ;•TR<ëB>7OÜ…EšvÚæP'sxpO?/ý¬�påÝTúK“ÿÆmÛëì J܉R1÷Øo}N@ À±â8`þ£8´¥%Gþݨ²3Z�¾ÉØ ã‹æÂ|,Ò§º-Qô͘Jën}µ¾\wÎÏÍ�§âÕmIéoÄúþ¡gQtJ¼€µËñ…"?ª¾%¾/u€*J ñx7\´„KdÑÏ­^�ØgØö‡#ìn[”L€‹J¢u0Yk[Úa¤¨¾SÏ|´${;›íÖYÿ‘…ÿ¼Ið©ÃM…Ù�³[Ã&ècØDÒÄ@b®“¦•j€_­¬Õh ¼ÍàN4Î@`goÄ…Ë8Ž,ý†ÄÒ¶÷1ÇK+TìÁ&]m—¯<ä -"…€=”ÚBET‘F‰ ƒk¤e£FSޓՏÇ*âÂƲö…ôo6êdû éCûñ{1Ä‘}ùu¬A%?ÌÓ0MãæÍ - Ü€ó<¸ö°+´¬0VOÞkJ–0|“j—‘…ò¹ ´J¯g¦F <¿(…À½¬ÒA‡€¸Æò²VÚiê2d×’¿©È�kœ bý+Fœ>>Êg¡à&…Õ_ê‰)¶©�”Àha†@¹ç6èµ7×�Ÿ’þ -/¡Q°~`þÓ ?OC ¿£ ;Æñ…ÊÛK3»çX¹€¶S§ŽÿäÔ¹ÿô£¹- -@É-}šà,ï @oͳù?>QpÞüÀ< -ˆþ¹Wæg�¢è«ÕjsåòìÌŒfã•0|`}³&`ÛŸ¥?Ã…J¶(¾,¾öTi"³ô6.8>ävæØPn°ýY,#ô™Œ©€éAu›<«“‰-!”XúYêG))ñÙkfy-™Q‘å+cóIʵ%“Én·k' ½ß‡ñÉü0oeýGbÁøáà6Ú1§ÆØ�©X_�«H©0ÈLÇ9}útù5íª,-UÞ^¬½WõÖ#ŒïQ˜ü†�µA<ÕkUùÝÂ8º.Íïx)öÀ@ËP5aC”rì£íƄԮ‚@áúޱèƒ�Šô�*B±ÄPJ@]¾ÒÛmÀJ³FXàé°ÎÜ�6b¨h#M§"ÛÛ쀊†m®¹Å=¹ú{Ç4±)‚©Ÿ"Æôú*,5™¬–Ž4Ÿ%0D —޹‰\•.ÔöC·ÓÓuVâX¼1¤ðix\Hï#ùm"!Yæ=P0èF Æ­�Ò°‘. eVV¤¶*µVá!:^ÌìÖþë4B««±f±˜!Åü"p|ä�»ágëkUкpL�‚« _IÝ}÷Ôwÿä™Õ•›}7^éG¨Ûîú½ o€qí/TðÑŸ=w¥Ùˆ ÍÄÀÓê…­…%¼þ£w¢nfô÷‹�¨‹“Šª*ˆ>!è‡á�öú¤é3=Pu=~Ì¥£.z£âGV,I5]Ä}Z¯�j¤•æfšn½D{õµZƲPfÐ4§-äd• 0Ì ¬2#IÅ%qc_†õ†¨ž�˜5»Ñ[b�Ä=®Ø0 [M-üzŒ›gæðaÛØúö?p{Š‚øO=û´KÍ[ ýáèÄhg­|v>OE -ÍöLÚm ƒºòVÙL[¹b‰uß ÞÚ6éž~¨�ˆªP"+¡C€û0ÕxÌ%Q {[ ÒZÕ-D-Q`Û�øÕ¢ùS¿Vå–“–ã¦7W°J?‰r#‚~Ûeb^™ÈU0ôoneÛU@ô¯½ß‹PõƒhxÓñtŠð‚ègs²ã .'…ae‚è_8·PUªÇ·2²�ô×5ö ¿Ò¿C9g›×.ÁZÄvÇñ¢Õj…õ:×ÕôÜëÍB©ç($�ˆÙÑß9Òƒ­ižà -zvA˜+þñ{=fWfn[†™ÔbA™Ìtó1DvT’ IÛ* Tpu(#êÇ=O72¾'¯ÎF[¾5µà×6[¨Y�ën"i˜i \7L· …D2Adp Oºaªø\ÀW0odˆ¤bû‡B~^ð# -ÄC4°åòÖtT†�1–Q•"@8dqÈn 1$‡ Æ6Ã,”*%U&ðBµ€‚�µ¸`W¶J èßÄTmÞ2œ˜Ç#ØK0d„A'ʇ'ä�#˜‡¢¥tÔ ÛÊ徺aœ}ITUÅ;�ã¡]ðøä 1É�—yhòvy.É‘¾õ­¯ó HùîÂÅ…ƒþûÿò•+—ß“çKKï þnŸA2°Ù³0.Æêô ¯4�xqÁà”U¾‚(ôÔ¹�ÊîÊŠ~Oõ½uD¥„‘O‰¦-.Îaÿ@æ $�3û¾TCØ“èÅ•KµÚ;BhйgžzD?—K,h4ÙÙ܉þ@7É’Aè‘Mßë÷‡”È–WbJ‚ÛnYK(ñÌPù <ÂÜë˜�™=|$ŽÞ'™¦a+ƨ¥[úâ™3-rcŸz -#9gΜübŒÉ«t`ÀËÑémO rŠÒÜ‘©¿[5#H"3#¤¤`æÃDWÏr\áW³(† )·³í÷¹J„Šgz\ ÃÒ_èЃObs‡)Žþ]ÆHÚu…L‘q¹…ÑŠ…VÌ ïÅÛ[­ Ýöù$k[‹—+ à¤ÕqeÀ£º$ýÑŠ§ÙÀ2EQ®ešõë­V£•¡8ÒÊr}|"OH€Ð—Í…DI�ÇÌT -<FÿçÊwÅZ@µ"‰Ì΂ü…Añn¦F5ýn#0³½ñ•Káäæß0P.BÏñ¶5�ûŽç1»aÉ,P1;�¾™àwøéÄd.\GœùéEünÉAÄ–¥àµP¨ºGO ŽS·êÄmÒ=¥[sŒ ÀE{˜Ã7Y} r?ð\ðMá—㼃 -7‚Q3°ø$w‡E&ÐÜaO‘„À¶�.í+2JA}Õ£L% -‹%’ ŒGùyÞ˜9ÕʘmÊþñÐ F_ Áý™e…‚uØ �ů`âD.²A³�µ&–ɆT“:< šóßóÑ9`°&Ó@0I@ﮉћ(Tà$ ffp—–�ß-ÈÍ;‡ã8`bžüÑs|òGßù=íñAŠõƒ6ý¹±b\Lœ*Ý6°ô­Ñ›ÃH,¬T¾õ»ÿ;œœ—«E3[K HNÛÀ“HD«Ï@ºPñ Éî¡3ÜöHˆ³u -„úŠP ðöeö#0¹xÀÐ ƒÀ‘>IåÑS'Ÿ~öéã³GŒãÇäÇÏoßùsX�õ“3gW«kWWà(Ý=�°ù±ݳÆE~„ã VËÀ.L0^>• é}-LôÔ­ð¨ÄEÐÞf¬æµº¿áÁûfJHâ^)UCÁ[¢”W‰0+L4~Ì †Â‚JÍZn •&�ývS6ô´�Ë&–=‰¡YàøÔªˆÚÜŽ¦¿)€®eô_„£‘jJt0î×(ƒ™`笵5ª:RõXgÊ3špxƒxmé´Öj9ðÏòk qƒ8Žcî°ÀØ„ë�>�(Є}údtÄ`¶&& -çܹse;kퟚBJaúRo“ìPS÷|'AÁð@áÎ:~&_‚š�J³£�ÜU* !�e¥R+mP¦ÍvGéÁ$&àô^¢ „oÚ(°CÆPM•¥ÿÀUPÄï(ÃFÐ'Š2%@ޏŠ~O.;[Nß¶²˰3Ùòù µ*Ñ-ÃäRRí"�J\±hÂô{³L ÉŒ+BP˜ÉÁðjÃZJ7;¾‹˜z†É`Ý2ÑzŸ9%è!÷�墳[F‰¦ð¾žÄJ\´TOч(KÁ-oIƒ$ ¼Q&…¹â^¶ÃÐÂ�Úë†í6æl¨_ a‚<¤ðó_ÎﻊÊzHL³0ÈЀ/·ÆßÛ9fpø…ÑœFÒfjKý˜GÏ÷+_ûWÏ<û"Ü~±X¨VkgÏ\øÊ¾ôNåðÔtmµþ�ÿ�¶÷Žã¾ïCw{»ØÃÇ=xÄ ȳ(B�`É (Ó¢¥H„£È¢CG–’Ʊë¶~Êä%uÆ3I;ÍxFOòÔfÒ‰“7™¦~u£—6i\¿çJVÌŠ²j—¶F*ZaÊ� P¤�‚xÄé–wXÜb÷öð¾~ûÛ½(§Í¼ŸnVËÃÝÞþùý¾ÿ¿ŸÏמxàèì~µ91X|¥á8­|>W¹´zঽ`ÑU×VM¬C5LÝΛ"`x )ÚY=ËÊZA ?]ôuÃ-�º—»*Ä‚ú«À‰×”ÚîvÕ6ö•…æ¨Ïe�bÀ=ýݹɛÆiC‚�€‹ 2{ËGw›Ã6ðX¾; IDAT4#Ô -‰žà¾t¶z¬HÆv·3³'Û¶�cû¿pòÙ“på'ž‘•9ßýÎ÷Ô+SaϘ/H G–†¿‰õÑܳ=fŠ©–×Û|­·”;;hµ[MopØŒäBØg$ê"©ÔTÍVKzÈç¢F0cÀý¶ªícÐÔÒé°-#9@Ne3qÈ«ÝIת3kþÇ8éß¾´ºwߨ‚íQ@?ùŽÀ²“œ²¾WVàÆ¥A``‚èçX3âE%ùIìèœIè„BËmÕåePµj{�€kBÃÐ|/tÁI &�ûÉxŸ\dâ)ô)IÞ ­œ6s]É¡èP~8‹ä3HuŽ!,Ä’h·Õ*âˉ”¬óÛÄLWaÂcà U’Uâ†ÌÈr  ’ø%úlw*Èf‘±ÉD4É^ 5L3§EWg™YIupQÁ–wäUÀõÖ’G°sÃù(̈õ-Fš2¸¡îˆ}Æ€‰¡*…tRÌÉ{®juÔXm8 àTÒ¢@ÐРQ]Ö/· -Ôœd’bK_Zâ �Š®T0TüUøóÀt}?�¥÷´5HV±oÈæ{Ø^ßðÀ¶@Géu&jÅÎÜac¹$õøWÉD„§ËïÌ$Є’¥h­�VÎÚ¡À·H©¾“Ïž*ßttÀ±w¦é¦&VQ[[.îƒmòOn»Ù'úy€ÜéÏûÜêÕ7@ôï¹ïŸºx ÏytÃP¬´¸ÿðsß=£Î°V­ÍÏÍσsk~ÈÄ�}b.©-¤1'©!„â©’ P£ûì÷6À#´FÎ:?W+Œâ×'{!aà�V4�¬¯ büD®·”e iÑ/:·¿#È4]ØÓ ;‰ÞÝ�„ÝSß> ž˜ÿ•ê’2q|�ûÛ¿+/À0 îc $žªO5!ÉR­÷�!ée€÷wÓ²ÄúÝÄ|J“zÀ2Œ)s”u›-=E»tÓýM?OUÞ `feGJà`=h†2iY/"=€„ܭ՜҈=VÆï®TK—â n»�Hvủr ¤?]xšc8 -ÈÁêe]¯¯5A#Ž�ÉÕÒpZ3нfTŠÙä¾bæ�ˆX§±3T?X�ŽçYÛª<çw¶mø>‰“+�µôŽîFÁ·KØ:«Ž¿©�è‡è€j[JÞ|/-Œïyz6«SIOÉw1>0º4²ù¼ÈìÕóG¶’Ñ d Åÿ¶³-ì•K�cŸ¼kÇËáqÞš²I -&¾Wq��¾Ï›Û‚n™x -ýÙŸÿ lÿÒíóob–«òΊÓl•okPû^‰S‚<:2Û$hqS©IÈñ~ü @|sÀ7Y�ÏÜëÜE®‡°îß\Ižè€·�ÁÖ§)Çyrf‘ªÿ.“æRΞ¼TD®`PÚ€ÃbêO19�OR'©ò9å_w)c(á–u@°£•2äUˆvÕ?÷v,GNk¨ÿ‰|á‹��øëÿû�¶˜�èâÈøü™k09>ÿùßúÎ÷vø$þïßW¾@+tÀGÅ… -îg)v7¹­‰|”é™éi!#Z~¢RYuPû¡|^ºÖÕRñ­ðYo¶„’ë—Ôö5/a;Êžb®ånVÄ ïÆ�;bEe@ôó„O§Ð5ØŠÁúû\�ùÅ ó‹a[yó ÁÒ]³kžëÿÔ`Ã_—éP N)@å -TQÛí·ìÀð[®ëÔ³ƒñ¼ Ž×0'¥ .E‹-h Æ©îÌ’!=/ž ˜“TÆêƒvÎ' „ÄNº�ã$MÇS´æ<Š{ -íM Üy޵âêiõs(E¿%¶ÇôûFåás}h -{2IúcÊÑäEˆð#ƒ‹­N HHÿÊùŠ@.¡ž`´eì®&N8Lü2C"ˆéÑý£õ%·¶ˆ1Ýmu� ¯<&Ó$Ü… =˜Ä½1zIxØ,• ¡,ý=¡¤¿<%L–Ù/8@l¿!Td…‰ðôùXkŠwIÐÚ㘌Gñ}+*t=¬þ¤ïxüK=BÌpW›&!ã²Èf5¸9ܯ€Õ0é4§4ÑšŒ}õu6ÞQRSüG½�yÚ@GwOðqFFðrØ(ìÉÝu¿l7Òi8‡õ”µ¨’®½("‘pïv %º|åSH–Ãñ£“ƒ‘Q$á5D j}£GáOl,ý}¿-ºD@ÍlnäpD¿ê9軥ï#úßg€+�/ü‹¯ýáCÇïÿ_ø:Œ§Ÿ~¤¿ òñ÷ù˜Ò¸Ï! Na�âh\FÁTõ`þ£¾_÷•À¸ån¢@ŽöÚ -²UY�R,JGT.®Ü>s€Í§ÿvA…€è‹DpB�`xجŽL)ÿA}�ÝÝìZ |xf‘"“)�‰èv<éÿ'¿‹…˜çξòÚÙ——Î_t[Í#äÑ…åGvÛ##éÐ3ÌÆZ5?Râ*â©tBPvÅ6)©ë8 RÅ“ˆj{¤ Î(-žÔÙ}¦ªm_#ÕJƒ5j©zÃ!Û´ì´Û³òšòw» Ç3TReº!á_Ðö°º>Ê.>+[ðÂ=kØj¬ùYCyxÓoÇË•ÊØå?�õ¸a¤ºÖ>pëüÚ�[í‘ënYY™k6«¹ÜpQð“ ÷:�v§“ÍdÌLF§–}6ßôN:»ðŽ«—~ËÎ[ù¼v=^›ž×æß´‡sˆ·‚\vàBðr§ˆ›Ëa}nI.:;oâ:ܤJ>ªK/�•÷—~¼Øî8è8ø¾Ö¨ÈS¼Þ�Z¥a2¥³±¼¨;¡·Þ5‡Ò«?4¬ëŒ®o�ì¹a—ð!¤,-ˆ®�eûi ëMˆR�!ŒãT,z¼nWâÇédüh<å2&< q‹ªQºAchØn·­KµUi wuÞ€íJ - %!ÜÒÄVD(�ñ¨xÿFóܲMÑ Zlj¬±]çnØ3?:sû æ�jÃ.Ùú»ËÖ N¬n(cµ°m϶%Cÿ{†Øñu!�Jò6$F‚IÝÀØ5bš,Ä»¿Nvhª�jiÐÐr×Yµåz¯ËÍÊÒȨ̂œ«M†r)ÀlñÃ’³ˆOÆ�-ŠQxËÀ쥰‚aÐ’�nf¸IÊhÆ Ô-¯ ÌIx‘FSƒ=K$9é„éëÃÃx7,)XŒŒADž�Ûf4¬ j3ïÅÌŒ“ àgðk¦Ç­Xo'.­]ö‡3ïóo|ñËß|êäã_þ"LcùuMw;\Xp–/ä ×ÙgÍÛÞ�eå¬;_øí?úú_|þ9±o"bÀ¦GC2ôwn׈ÈH‹j|´ìu|ÅÝÔH g‡ÊšVñœFw3­¥a†…õÕµÒXAÑšIwÃnkÑ™8ªƒ]—É,è²)Œè.:Ôyt�hB†H퉴 × -&rB©î¼kªhçkUœ$Y‘=ò‘8  RÍ>Á�pž$ó…t± Å˰Ü'$uÀŽãéo? «÷™g0¤sò¿žL‹"¸ºaå†Ë7ÓÏ'š¶Œ(PîƒQ@¡|þ§ª;¢®çD³MbP†Ÿ Å€ éýö5†·,l%åâKމèg`½"–™eµ7\x™ ±.wDTœ‡X]‘9Ü“ˆp(Qpx!c<ð_X?Ã6ýÓî�çŸ?yï½Èw¢ŸßÁb¹Rå ýE¤ r«ƒN×½îMír£¡6‚ÜŸ!Ô\Ø1m;*Þ‘! Iº"T©ŸÀH=<št�€‹`úº‡ïûà3æ‡ó ý­FU -©„èõáÂu¹Å‹+á{Íân[R‡(ý¹à_È`¡ÁV÷a�ç†\ò¬÷µ—÷±hâS(ýAæ)K¶ã°wQCÿònÔж(Fú¶ƒð”‡À�%Žë‚�Ï É b¼kY"¢Ê%�_•ùÊÊE: Ù‹Ã*éVbÑàrLË}�ã(¼£«*\þ”S‰Þ~mW�ú%]ý¬Ø>”°9†l3æ “ŠV)bgÔ—ŒI¹°˜Ђmh%< Îú§ ŒC)¬ý éÔÎùÁgOü͇^“ -´r©‚ø9Ñøü?ú­§O<¢?ù†Ÿ1̾ïÂãHóèè‘ãèîNÀ$ïqíÝúô“Ób²V]3©È; ZÌ|à54A~vÀD =ÙA -©IM!I IÙ�NC,` êÄò–·­†ãÖêN±ØãÄh†î».KŽ$'CqhGéÿÔ·ž†í‰ï`i&H±)m;À¨Eƒ -ì°×&?’÷eÉ�P‚€¸^ÙE&èâ3äÀäé~ì‡ja7µè¢‡€Q´@ÈÈZ–ïò–&éÀ: Ñ/ðä¾ê掸n/ Hÿ.÷:Øê‡wB)|\«é¬Ùs¨_Æõo'ÊCúäC°ý…_ø�­[Ýßû½/ˆm£íYC§Ž½½ÕÍGQ0Ïô šüìñÒU×¼„þ+îÉà ÔÿD?¯šb‹‰3,ýMÓ“ö ŒŸð\ä„Uä¥}:€íÜF£�çY D¿ªÜåa ™à³‚ù -`t¿¹Q³‘»cl$?|ù= J u°ëey–i2WÄ•�tŠÒä¡§™ÆêjøUÇÇj™ŒìÞäÀÒ›˜Æäê”|o^Ä¥';¹_^½MŸuŽD°3�JÇ84ßE*×P¢Ëè1ùh·GN4`G‰~ù8`�ô·±E“a´5˜'m¬Égú-º>ý Ì@5 cƒÆQxw ›Ý\:¾êJ%lj’ »±ÒáeŒEØ»r3Ì1«6ÁŸ]*Œ0|Ò*_""Þ�»Êœ±|9¬-è»ü€è}�Ív2ð=}@·rV°À©©þŠn7–ì|ÙNçàwÁßUE£¥]v -ýÑŸÄãŸÀ“Ö’‰¯œ]x�Oë;ðšØ?Ÿ 6²kýú›‡*9ø€z–ÃêZ�%è€ùWA 8ë.³«â‘É“–é®Dé`¦½zFðD˜Q`ÍR¶�ô· Ý‹ædmµ‘™½2-ʬÂÀ×dNÄ–Ïa(?è”ã8*æïÕ7+kNu©òÒÙ³§ KG¬ÕYú‹¿–Hp\Šn7Ö®éd5 É*Ù.Rݸ‘<®ïÄX¼Öþæ2üº‘f±þûÈy�jZ%¼m¤Q¢7‡Ì¢ŸÓÂò-þY~4‰°@c®úämÓ…=Å‚•»ûÞ{ï¹ï^xg*ahˆŒæ¿r†‡GÙà²z"ýÀ�œmF>”0ç9¹ƒ¦çØyKaïDïäì| Ô€–fÕè³`Ot iV HÂ0ÄXîßE=ÀçæK£rr ‰"ÚERßvÏ t×=¶ý)äU¯Ä  ¼o”3 åº)SÖüK¦�?_–Œ´Œ¦žÆ÷z<€¸Ý$N… ª´a' :ײ”ô‘°}$_`Y(Ó›c ,YøØVjmöÐ$Œ-Ü–³s˜0ä(Pr€ôç› ËxÍip˨�Ì@Vµ£~°ê÷È v>àÑétÔêpã€)”QÂ&DSei¤yÍ/ø4Ó�"ÝE†û$Øá TüGuNˆ¬›Žå&ñA}ê¯ÔE¤9”»²¢^kÄÍNËŒ½z" *´-jÃàU—U ÷"qY¦®‘ÉJJVcÖ`Òœºÿóâw¤Üßæ]%ǯÿêÃ}ãs¯ËìnÒüèSÿ›O=×ç°FI~ýÀÍÄßc€ìJS  -z:1�µÈ&+Má,$±(dÈN“ª”Á½õ({ÌcöÁƒÂ�9´À ˜=ÚÓß:€™¼%Î(Ði/²xa2d~óÿø—°wáõù‹óóãfúön| =õtŒt¶•à ÈDf<�õNhF>D†‰b�ŒÉçè3Foõ¬=? °¹olE†Ø²º ¯ó,Ì~ô¹ü2þ¤‰Œ,do ­›FF—"p@™4hTÅX�•nÀV˜a z;¥` 77l! -ÿÛºÃ0,„óÅ 6UîÍp•<œÕpêCx£ï¾ïÞðüßùììÏ.ïE‚ˆrV>¦2îˆ�ýä_ý>8Ñîþ¢¿¥s‘b¤?)v–JbðG—ä´Ø±eYøìøá™š™Õ@U Å7úW½ÆZÃw½±bžT¬™.ØyÛY[KM.¼�¸¥B°&B} «Qçˆ<ÓÄ.P�‘¨fq¤0ÿãsExâÚVíNÛd­lhF{³íuºÙ,¢ÇŽ0àk{ZvKßîU_�´�ÅìüøÛ®·xqyjªÌÅÄaà†ütÙ®—–¸r¡¶e‚óÇ$yéTˆÙüA¨8#{ïļúaá¦ð¶ Ôs:ç�}mðR°¶¤ -_[_«­^ˆWP'¡ ž+ûrêâì’_gìzŸ²5 KWk¦¥7ÉÄ»r)3jŽ5͹³Ï:tÜ ¯ãd3%-ÈÖßm•®/¶Ã&ç“«VàùžÛl& Z$Íùƒ´Hz� ÖaíÈ^ë¶×‚/‹Y„†è¤fJàÎÄ´>¤Ïým%—7 ª?ÉfMo34)ݺ¥qt.½‚y?‡·\ Ôž–û!å2âÊ!3h:ÅÊ/ôÖ=ƒ¢F\ÙVU„âi1|4& 2ñ É„JS–†«rµŒàŽ_.jk~(gdµA£Þl–wÛî&<þP˜�6€ýÛpVfhú œÉÙ(cµ^ßëI»ŠÕ^³Ý€WÖ”ÏâþŸ™:ñßæÊûâêLþÀ POúØÏÝÛ³ôh®>ÿƒ,½˜ª—ÆË^ovçg�Þÿô·žWÑž Ô˜W�ܸÑñòì=åzËÄH¾kÙÍf»|óÔüùJù&¯x½5ÙÝ 7›§XÎ�BÂߨMS°ã3æ\1š¹n]à’ü�µœˆ�kNËaÆCt&"ÄÓÓß=;uë$CÞF»ñž»p±R,Š»©Ì üêÔ™WˆÝúúØ$×ÐÅÝ=Üyß›úÄ÷‰mãÞûî°ý}÷�9pklàs2Vé_ýw'þýWŸÜñëaBBÏ/ÄôØxáÌK‹+ËõÃwa|‰hdWiW.ÅXÙMpl L»ì–…ž‘ºrA˜òæÃûF/§lõÝúÌ2�ÅÒ_Ð4è†]V¼mËÓ'¼ØÂ3Íì¿5v™·×/²ôg©Ê…éTŒ„'QAH x›�Ø6Ttt@ÖÌ6H8ª�ã‰ö|íw¡Q5ÁVĦÑé 2ú–=׋€ÐßCF‡ó„—©³FŠ� $ýA øm×*J 8�¼rá<Æ&ÆÇ?þÀ|œwª‰Œ?h{P`þƒ ¼žã$Gœä¤Û:€`ˆ�fq÷¸ë5ÀŠ7ïÎ8¥ -=Aú3ì𛈱z¿A!#xU0—ëYQ;X¡hƒôW?í¬9¨Ò’O3u˜{¾N÷ß#ñ„;�ìLOñ2XRG€å - -@î�¾9ÕhºæND¢•;lq3®‘•×›M—Õ@7„>²°´") w®7롘†wé^�Ý„ôð P è zA¸.=X‰ qžXXúãhÅÈé"³nzí0¶ÛÍUçj5zX¨ ØÀ’ -2ÿq·{š!תmõ×a ˆJá+Μ,†}uUˆ­F@1FôÃ@c¦*tšîènѰ¼&ÈšQø%KöAÉÚ¸iÕù†Þê¼Y¹Tsw†˜à�"Š9±]4ÙªE™›Ž`öè -D^M‘´ "}‹8I0©Ú�6Y+˜76"#Ýhr�9W<^,6�VÙp> 3ì9j£M5"Ý -^KKhîÜ¢9d²ô‡qòäóñýJxrÅbü%±“ÈJz—1AþÄù×ϳ�©¥¹ñÈUµá¯¼z~õÒ×8@|n²†ˆ~Ðð‘܇«µg„†ÕþöcqÁ‹5 kmá?Æ)b£!“ŽÙ]`¹ÿ )̹WÅjum´42{ôH­& †€6ÁGl{ ?Ys,¹²zÏRæ(êŽW™Ô<2„Š�ãD—ºÞá ©ž5Œ$>¸ˆ¢Zm¯­€þALoWlªKÃdøJ YŸd„ÇÏwb4mº+ºÑ¥4 �jЛÚѯ8}Òjn½æ…=: ¼ÿ@ù¦IØ:ˆ“ìÞŸÅö¼ù~uÁ @<ñWO>ú¹GÞçcjÜsäã¬x€wÚˆc·!Ü`Fº`N67]ÆÁOh�Çè+j$©¬T7¢² hz¤}-ÓÄ<$‘~ÃÚ­­ÕO½ðÒì=wKvq46²Àö‡E›ÏåAñT¯4$~KÈp@f±�¯¾+蝹K×B‹ÍÿfÃ]Z]+2D�lå¥fpvœžW-„I¦ß¾ÁËDaÆXfŽi¤p[eH§Ùì{3iûsçvÚÈŠˆßØk_Ssï8šW›ùݱ28tGŒœZJ\ƒíO�=Pf,ï`ñÃR䤫 ±‘N¤šìÈaóŸ©Á`ë®Ó}Î[ªÀ¿2o×ê2––‚ôo6¼òÍ=yXblñ�ù/ˆ27*#‡›žá:+*�HDÒ £?ϧšÆÙÒGAO© ©c"È&Žÿ0W¥êUd€%g”Ùª5]¿‹Hª3FÐA_Vï\³|îØ±XŽ'=€3s—À4b@”d0ʈ^KúÿÞïýxg¦Ä§Žoÿëñ_>þ•ßýŠü-’þ¬B -µºCffߎG¾–cü´Ä—ßYËÛy„ùô\$ØñÕŒ‚. X¨�Ú�Të¯åç©X+ìºòB€¨ŒC@°3JÔ4§¾zúÖIõuÑ«#™ù!:¡ÛœV˜IS¨ ÃëŽ�î„xÆÀÜñý-¾Ëx^HÏUn ±àwåñ;h}wa‘ëš,¬¤‘N�a˜™,¸»…Â8xÐmx…AÖŒO3!]Yln!d½ßÅV�ªp°È쉲ˆ$»‰­LL Å+iùݸóÛIô^�õê¬K#·<}ð—îBx¢{î:\( ¶=bçaëELµêZ5¤âküwävU..×ÖVn¹í–ùŸËšæämÓÊSk{XžÈíWˆéÊy…”$νûÀ)t¡rvúÀÁ‰ëÇkõª»�¡îûå#ø‹/w¸›žÛ -Tn(‡Ås[TÌžår8—ÑÜ%Tûºµ¬S½�žÕ�uÐq!<ÖfÛÅØW -ÍmYéÑAªX¬ÑLau<ôñÑQ8 ×Æ%¯-§Kˆ€0à-ÀíaÓixØÎžŽ˜ÓÑK“ñ -0ö½�4vZ¬7´�t!ou œ•"à8I@îû>滬ÊKwcµ#y¡ôˆRÀg¥Ö£§�UÝ`ÝMc&�&Lf/rÕ"úe«i ÆÇ¤!ÖX«Í7Í<ª Kû5�(ðÜÞlÀõí¸‘Ç ”c‰¶g^x™ß¼ýƒÓÕjLê»:kbg­öÀÇŽE“ª8:4zÿ½G_üáÜÄX DóÊr­8Z€msÝ�<0¶FÜ„…QkþÍjqghk#,s0+굦9d0RXa�í_ѸU)£)²ï¹š‘’³¤íf÷V²÷OÍÏ�¶65½T°M®ûDŒ„{B$Jc6�¦ÐM/Á…–¦°sä1y29Ü~ZÎù°ãi[©c ŠÂ×ü'pÅ8*‡ÃDôP,Ût¯6¹DûÂÊÛÃà±ðÙ¥‚›ð-$©¶8dMkÀ‚‰}×´‘ó…ÜÙ—ò»ÅØ ²˜Ð˜5~±¹î£0W:kŸù î®ÈºËD�¼óGŽßg'z84lŸýwÿ×Ï}ž¦yê…ñ‡O<þetÚ’¹Ö#Óûÿz|”Óy{�±ÉŒZWÙ’æ3=Ü8uw¦¥ÿ=÷·sð�…ùåfË�º¹ K Ì„º@4¸Ë£Ã#0ÚCèf—2@Z -ñ+¬œ¶Ž… IDATÕmÓR¯hx ðô6[YÕðG[-WÓd$¦p½e¦a7[˜®ô:}­B‘®%–XZ÷Ã.޲ê‚1ÖÕIšI@–< -¦3Lb’c3I'@BTRi¦A5¿àH"X[ÆäškI}‰4§ØÿÒ¿áÔòvt€*×A·ÕcúùQ¾j%'œ,$±‚ÕÎâÿ ã!¢þÎÉò§;œ„JXY3Ï�—\pÂ\Z0¾ñŸžœmabJ¢s?žpÿÑûÔ·‚M ÊÛ¯üñŸþ³ßþ¢úÓÒ -ꉉ±Qgƒ ˆK¸™‚ºó×ê‰&okWZ¨hçöo¬_vÏUŽüÜLmµQ«:³ÇfN�œ+í+üðä3ß:]+¯9¿°x` -�;ø|€�Óh´œ÷š,xÌl¿S˜³eG¨MxÎ}1Oüõº3R° àÉ5ªâÿ·á¶0Ê—äæˆ:Ãï‰á¬¼ƒ·Ô³C›ä…€ô‡Iëz>ìŒO˜+ï˜ËK8£"Ñö~Agzø-Nýàô‘œ>ýýž€þ±c¿¡¯Í¨¼?JÞD)7TB# ƒéao%«Sw삌€ΟÂW-î -÷­æ Š ¿¦"Ÿ¬íªÈÇä­“mG1Å=¹½7î©­ÅÑž˜i1ìZ¿\2ôˆ<ôF£~À¡^®vg'Àk³¥[µÏ`;è®™-Òh*mÐkWã{G¶C¤ì”?Aq[U…Í¢ÿüB…yá‹Qèö ÇÄ‘¾HŒ ,".ÃҨݸ,ßi·ºÎ{�|Iñ.Ȇ¦ºRúÃ6Œêñy(†‰t*Í%� }M -}€€…Äx!hIÚ&×µ"¸§äéÏj€RÐD=8‚ØEà úÝ�¨¸ÚÇþ¢K~ú>²bŸ ð—_ÿÆÒ¥‹�~þQþŠ�íÓ¡Èáã¸ë.‰n{ú¥3 oÊÅ j`é&“NU_Ÿ6O¿$ãÚMzpµ5œ€‘ÝËÄé; ýagòö2ìG󂛞)³:@½-H.”d0ÿa�‰Çæ^ÆŸ˜š.ÏÍWÊ7`PháG SšZ¹´NÀ샳gç�8ïàÌÁ³/㸉à,z¤?èP‚Y -{v.œ}ÿ«ÏÚ•sÉ‚©·²Rƒ­ˆTµÖ²ºâN§B6hðË©tåüŠ ôÏg²f¨¯é°‚´‘®­«Ô1†ÈÇnÈJÐíQ?ô¼ÔY=ýíï~þÑß)�÷„¶fï;‚:àè#ø�ÿùBtÀÉgeÖ�eZÃi—oÌ�Ào*IjfM6Ïy‰a!lÛ÷6»µCDÄc}3͵@ç‰*Dô~m­Œ8¾Â×瀹„ļ¡®Ø¬%Ƚ^»²¶øúâÌ Z ýk—›ç¦y�ä9·Ç� J ðB9ƒ -™F)Äç!õ•l¾§V]»œƒ•!šŸÒÐwPÂ\šìþÑN×Qþ.û®LrrJ‹à’ä*tcswÝåÿæö!ß81}ð¼à�òž"Kº–ž®çž= :· tuJSç{ñ@úÌÿä˜þàíóó¯ýÂý÷‹[{Þg â|yì ƒP,`Þ‰·˜Þ‰ÌpýF;x3’@mÒvjÉ`ï•¥¿H ¾rÃ]ϵLKÏZFZ‰ÃøÁˆ­Ð ˆt{É;€µÞ½7¤íùYÓÀÔå°Ž¶¦Sy þ0üoTÙÅ! õfäFµùœì§OõX¯i`×r! ÌÉ€¥Æ|Âป;´wˆ^é ~ëxw—ÿäÿ|vÿ×X§B@_ùƒÇÿWÿò‰¿xBé€ün“ÕÀ‘HÀÎÌÔØ‹?”ôIª¹Ÿˆ~µc‘µ^¯51ÔóLés(ßµíìåµ$0µÚ Q\•¸­ÎXœæ@BBGp®ºlûÛÃbÛ(óð¯WØö_<_©×m˜(‹¯Í¹Ô€ß -ìà™ÿŽªâÈу/|¯ëž£3'Oœ.]Ÿ-Ùs¯V&öâ5Ö.×§o›t¯¶jK+åNÁ¶ö^¤ÿÂB%—³`§²€^QqÌv�³Ä Lã™lÐøþVùÀX¾�«ˆ˜ÆSÓ¾?ÀÆnvYŃ=×Ü�®œ€í%@j°ôßþ>HÞùµßxìø3³_ûªD“þă÷)€¿E=³ì�%¢-ñO)ý·P„b@CdéMf -.½S - I ĽxZ -«t’«ì+h°(ˆªAÑ �D?;Ž´–Æœ�Ðáœ9·aºj2çpnf+Øì›©”È+ Ø>1½t\jÝDmúž2̱{ \°â;fìJ³‘ÞJ¥Iàuü΀–ÒuÓÝô0¡�#jKÖk4V�ü(åµ·Ž?a _ZˆÓ¿ÊZT†)TƒŸ'’qÌf¦æ}.[(ÎÜ6uð¶[`»½K™›nÂÄû…±ÒüoxïÞûgWV²‰©‘DÛÓ„êoÈv¥Þö®ºÿä—�Œâ›óó ÙO_~=èñëKBÖÆ¹m1ŒŒÔ�ô§¤JI–'¦\º¯i­jº‰\ÏžkhH©S]3ŸBácÃ;bÅŽ #3_Zøc¯ S•Íš p;ךΪçß‚e‡�ÖqÌ(I–E—‰M4!�\°ð¦$]:,;K¥¥×iOÜ å—xÙN–î�D®:ØnÛ7³Nýº)¹aÃÝð©ËÜȆ†ºöi�|s;™0ûÓâ[£*€‘K‹D=·u·ºò)–áZ©Ð…­ž‘ÝËp|Ð,Á:š” #¸Q» ;8U‘8QA§�fx™N¼l1Dx„—�÷:mk×(¼^yíô¿ùã'æÎ½‚÷.â>;·pïÏÜý�ÿç¯.\\œ¾õvo½nsLû•?~ü‘O}>355‘-æ+ü+ÛÑæz“Ñ›iÆ&¦fbNªœSc­ÙíhÃùáVCFvÞÒR!C ׉ÿÖ¦h€™2‚Ml7+OL,¿‹^ÏÒO(NM‡ŒB9æåwdJü™wN•Jhm<óÿžÊÛÎZãâ8ó=§Z£8:Þx/;îô7W]]XűBðž+×®8žã�_?Jö@ �rù\nlÌÝË~|s}>W(xår3ogW–4+“ÝsÝÈÅ×—ðó…œã4FGó–!ÎÌ-¼k -¦ÿ¹.Ì›­¾[?÷£ÅcŸ<òÒ è»Üródvxµü� p\p�˜l4éŠ4Ós]¦wE½ù¬‡?šw}§±ço@a|ú—¤Á÷ÙÿíŸý›OMŒ£gì‘)óµZCtL»`8ußÔ&o,þÕŸ?^ïçÑÏ?öð§xôŸ" -´)´ö&Vf9‚‰fæº1ÁŠ�íÈšöd=>¬MÙ¥¼FÍ1-3K©iÏó*ïTm»4V* �Oãåm‹k—q9#þá<†~ºkt»¾žÆ-ü)�îjQÞÌ�nÀÅiDó‡µÁ:²ÑQUŦ¯E­³y;ï4»ùaÜ÷î�—SLJ[½Ü€5b€Ž˜BFÛ‘K|¦Ø—E´<´;ÝN&Ý_ÖG±â# TT_/—ùLÏBõª>'Ž2dàù~^÷aõ"ò[Û¸ÿ§Æñã½yèãèè=L1}¯§CˆGE% °÷’´ËÜkóÕ˵éÞò�ÿ‚Àù7VÖ®¾mrù2j› ¡ŸÕÛ\BgÄxYÃ`�,fѹ?ÿæÓ7ß;ðæ™Wç@úÃË%ÿ†·ØîcåY°…ËA­Ã‡fÿô«�¾ýŽ•qÏ„¯:ô˜>4=¨¥ÑPu·ùÝàx¿ºT_}§>uG1‰§/�é…"z¤X_”ΚgQ( ä>Øn`²€—ü nýÕ‘ZDž—«X3Hö6Åa¬A£¸VA>H­v%ðHúÈô¿"FrÖ8³'!¸T‘ÑÃJØ›ìz 3lMà -‘ >L¦.DÔ.°ãI°¦¾X('/ÏL®{QhŽO~ë©™Ûû{zy€ÜŸ¾õ5põ`G1ÃHÿ©©i˜üÎ…‹ç÷ßx¶`ÆVÞ$AvóÔÚ•¼&§ÆN¿°P/”o*Îým¶¡æ-¾Y9r÷ È÷ÅWÞ3Òß¹ÒûÀ ,ýÇÊcKoU -»óà™Ág&nŠ |K&îW–°–¡|> Vñ½lÆ.ƒÛ”ÝŒ¥ÑQöqz!Òú©Eä謨êkÍ•å&øüæ3ïªÜ@%o›õz“‘&牼·¶R;õ­SÌŠuê»g‹{òõµÆéBM¯V�ÑQ¹f>ÔïÌÂÐVy_Ü8Ù¨¯�KÂû*I‹;ûíÃ�˜=j?ùŸ{�8�›=qòÔ¯}á±ÕÕU–þ}¤?ˆ~uuþèÌ™ÿ1÷ÙOþæà·ÿü¡ã³ðzúÄ)y’¶f>lyëà܆¶%‹÷ÓØçR®Óâ̳*Ç4#Xì껵¹Wç±pCÌ¿V)î±§o+ƒèçFùhÈFÄ<–†Çì"u†" -1oiÜAŽ‚…ÏZ4é$�+ü•çðÛ—jKo׎Ü�ž¨]´*¯×œærù€œ*\k-^�«?U¥_E�è—‘wÁsÙÁxíÐFŽn…Eœvè€íß!Ø�À_ÀÂ’+M×û\tß ¶Q7® ½éèx²ö1’øŸ8~,Œ¤?Þîk$�A<½§*3ÖŠÝS¬^–IÖî–9v¹¾ri=†‡†¸¶2 ÷^$úQ h!3èb·NoФÿôÔ”øJÿGèÜÀ¢æ& é·Y c�Šþ¯Êƒ€mnÙéNÀ�D¶-Ëä#ØÄÓv)pӆѠ™”O�ßÚ#9{¤U­ô`ˆ‹B6§2��Ü©†ŠbPDhìŒáb±81¦Â¸j¨zm $â Ï*SŽ`›€ùo ò¾”ã ²C¦¿U "' RÂê¥g…‰²¶ý“¾hddDUyzÞájΠ7A§m <ævõƒ¡3”n¦Óû6ÿÏþèåòõ(žª«Kt]µ¾�mO8«:Àm54ÖÈn)”Að ƒôçwôq~¤ç´›Äí3&Æê¶ ªeRØ™*/\z‘ßDÿÛ?©íý@¶"¬Nß~`þÜùâh!o½}éí½ûöNì�p"Y_­V§cäúrÓÓÁüçxë ñt’ž´W�À¦šÛ®ºH±þZ4mj`uÒº®Ó/VäBð~EH”V¯ƒÚ¥t}aõÝ5¯��¾riµR©NÝr˜@åü¢9,'^Þ¶ÝV‹CØ fÀ˜«Õ‚b§àìùSÏÉsSÒöû¤?8¦\6êµCs°gΰøü¯=ö7Çg!R,ý™ÿ¦¡‚¥ÔÑÒõ=Ïa#À¢Z=çª×&ÛÍÿ®X­âT™¹cô(€ewÐN¦òe¬ÏÞŠó‚²ú�ìF0ˆÑ´'é/¸/ÂPò|Ÿ¥¿:ÿ½ûŠðRa°<azœñâ¢OìE�V:è”w™ F`5ÂüçŒkß3FM:@�v%Ø‹8ßËD]ú˜ÿðb`Yy�þ¬TUÈ}×q…mž–{Ä÷<»XÊï-ß:ó3wbfõ—åà}üÐOáíì§®]öÅ»“JôƒáÏÛOÿâ# BXúËÛ7lqq½i˜ª5 ÿLžjžBÑ �û‡ï˜yòÄIØÂdã˜;)€z=x°ù/OÛsuÓb�\b√€Q}¸k”E?xX°¢_ÙþÝÌk*ÒR¥Uû)‚f ú}G–þ¼]8÷Šz¿pÝžù×Ï�ùß -=ù­o<6õ¸zDßA°ñf5Ú׬´ xEuÇ›¼e1¨Ëføô¼üM´ýsvÔ€ÊÊÀŽEŒÒezä>¼N½ˆjäþ)õ£5òhóöÞ¥·e¹ó Ï¿p�ò„gçæ>Qš�_¨€ù?{ÏÁyÄ2:3ûà#§žE{hrj|qaÎ3¿«€˜bN\^]-í±«$È,/žGwaòÀx­Ž·8ŽÒlG`µAEðGëJñ8ÙO¬Qošƒ2r�:à�Hð@€ôÑ/(äµãð,·1ªò–þø±M¥@úÃKì4–œZ¨¶ÒÛs‘³:`ñbDŸô8›ÁÔÀ @M�¡ÒÓCGIOÙþ�w•Ç~@ù,ýEÔ—ƒ- XTÉo:&ÒÖ+ç? -W°¥•Û" ÍvÖ@ŒÇLJsÈÛg¯ 'À.R˜¢@Tòo1~WàP‡„âÛâÚy;ƒÌ½ª„êeXV±tƒÜñ½¸ò‡E �‹6çlñ·H‘ ÝšÎ´Ú^³-=GoMJXO´Í¡¬0ex»�†¬»�cÖä�÷ìß7öÀQrd1Çóz(£Êp -1L™–Bj�¼�úU¬q£bG3#³Þ&¶ƒ(ƒý…7+¡.n¿mæÌçr¶ýµÿô×o%Þ4ÉâW<¸=ˆ?–¥ŸD2Ù´nI*n™i>uoŽÜyä�7ì!Û¶†§L5ZÎð¦Çú#…¡{é6 >;—WwDy¼\ž˜<ó*&�Œ­½A ìq÷*æ½%õ�æ¿é#zˆZŒ~‚êåàxm˜FVåJ­Vq܆oŽ˜9;›Î>ùÔéÙ�Å¢ÊËx¡/¨X-•ße9Ž—Â�åß:ÈZî¦E7ô–~‚ÖYaOÞëjÝæÛkwÚ�P³.º¢ð@L·<aÇÛÄÀü³¸¿Ïxá-§˜·”¬ÚÌwÑòEJ¢ùÃÃÖôN»FžLënIsD„MI´Ë4h‹&¨ -Hw\‡êÜÛ%?'¯¯Á�Åy]ÂD¯_YkºMÔ¼¦*›‹).¢š¨þ•"œtêRí¡Ñ»ï@Av÷÷ˆÿyyå�©‰C·ÍÐs÷ЦËÁ(ìyü÷‘fyµZ½R7‡Â σ¹�sÛH€¼² ‚·cpšf¸¬ØL½å´º³•f;>ßEaѤJA¸žÄàÚÖWë0½y^Ùù\£ã4jµ±‰âþɱ‘=¶ëú°jµÝ#Gg@Ä„éµ;ï>�¡Þ\¾ýÃû½;ÕVux�–ÊÂŽ=NÁ1¯�;p[5{4kåŒv·nŽxú°×\‡ÅZ93ë;kõvg´N…víNaþì¼]ÈéF8vaê6Ìœ=3ðð´–Ñ_øáÜ=žy{e5¸Úž¹gjŽ¢ü¸óÒ|¥|óÄÜK•©›1'1÷ò³÷™bçæMp·.”Jè y­ª SDK502 s`+÷‘ê&ð×[®62jþƒ\šÍ9ûr"dÆ6r–å<Í ϼ¡Õ®öx'<î9šŸ¸ šn ô,”F€ð Ü¡‚�G×mÁCàüÖ5Áâ xa†¯Â=Ü](üäüR臦ìöƒÕ -3–Úâ¶® �"Ë󺡩eÌÎ~&•Ñ:Tî,Ù:±ÑyƒÓºA]�kˆNq+t<§Q‡¹:±÷p½^]«Wa»w̆‹‚™¶øúJ½yyf¦lïb^ŠM߉D‹šA¡A”¡*Àb�ŒêŠ}­€Œ¯ Ñ?ôvTŸ#þÞãø±cÇ?qlµÞºû¨,¿-%h€jõøÁ`éD‚B·w£®B¯ ý˜£UÂx"oÓ O‘¼«\Zž=z¸ég~x–¿«¤¿ Ãbýñ)ɳ ?‘ý_!«ìúÒ™WçÞ €ï#Ÿ”9(^¥YÃÔÒažnöðð¡{Yp9Do†Z/×e­Õ("ã<’}3ä:’s¥B¸(ð­J¶Íæn‘’ê†åŸ9³(cà¢rÅVå"ÊôòäX©$ .øºm›FO†SÖ.;“·•Aú/¾sUʯ�„El™v슪&d\‡žI,(«—VíáÜ~`xØ(”ìZ5áÎD–¸Ž½£é �Î¥¼M‚ýb!jê�5LO¤ }[ðP™9×ìÖ*zU*AÖ sÓˆ�¹pÌ¿>?}ë4lEo£� —qúôùÜfÓÊåxçÄÜËÇÜ¡³´íóÜ àFa?Hcƒ’º®rú�ÎÚ^l9ÂÍ5Ðh‡ìù ’ûŒþˆ°xQ”¹r©¢_¬OJ€žR^ ¤ Ø«Tå…•$ª°˜›‡áÿü¶éÀz"T®ü�´ÜË¥õ«+Í–{ËT¹ÙtWý)âTÉ Yu”ië¬�p!Î §9CÄ#Nw˜2¤? ¤¿<1 -mñ>iäNnØl¶¼1Êͽº˜Ä±QãÝlKã²y -´¸Ótá^�PE2³÷�Ú9§RiW~²ƒ]l â«VÔó¾sÓŠþ}ôZØi”Öq'ª<ßr×]^>‚b¡ŠâØk;°oDà¬!71bvF¹ïeH\D²VnÖ{Ñ×AúƒQh™1`ÉH¡4yààÊ’,Ù=œ+l±¾áY¡ä$›ÿŒTßh©›‘r?!ý‰ÁYG 4ei¶ˆ¤?3BHô‚žµÀ’F�WïŸ� }ÿŸÀEòÌ3'>ýKˆ� -¶ Ëqwå…K+j¿@XV¶gùa”)?9+ï¦:“5‚àÖS9ÈZfh -�¼‡ò> wž;_9üáƒg¨bïÑ_Æ޳rÁ£äâîÆ­ma0”þp¶„âÂìú�þ ÆK2‹õä·‘ïÔ@‚<Äd„^x!BoB ¾C*?´Á[�¬Šc9ÅÌ®ˆÄ˜…ç¾£¹)‘Í¡êPós•ÚªÃ%  ÆÇ¢U}ãèX]­�è.]2d¢¦0ª.ÈÛ ÖÈc/Áke¹§-^lSÄعwß#æ/�û­®Ø6«­bIžd°O£È·›Ž(¦éÞA,þˆøiÕYN€mÙÑ�Û »…ÈHIRÙ>®‘�ûÉÁ(!bƼrÃûæç>MStãÖ�0>>ng0i4}K -Mmeyñ­óÇÜán µéØ ÁÚ²Œ€Ê -õl\ÞŠˆÓ„í¬º„@¯Ã\ÍIé�}ÑmƒsU°wå}e¿ßÃ$×ø2H§ÄædbÑ TT£—º±^Õóö°œ3Ë+q¶Ìÿ\ ãDDŽÓd³#êÁêJšdïØh¸~C3eAò¹3q…¢Äù;oͽR�mùF¢U IÎPœÿ”ŸÌõ<ëÚe¯ü^•²j únÏ™¸¢FjÀuÃZ­?*;1¡úTl€r{9þ°£ C¥ÁØf’5ÕeA„ŽÍó¤²bÇÁXÜ’¡³—Í”¥%†‰?„­�6Œ.¢”#J„U£™Y±àBsÖW‹×á=\#'`ÈìŸù‘ôosŠ–µË¢—Ž”v‚õb3ÁÐ%×–„â›* -$½Ô€“$@Ȉý7OÝ8u lS1/H‘àØ "éâäÉý·ÜùnññÛ±ˆ—Q „àðuýM’8ìÀx<öû�ƒùÏ€ Û_ Q|Ë‘£8ÃA ôý(bQªÆÛ„{çwuÔaÂå’%á|b�°³å«š®l„êxahKï׸ˆø–Ž'yyÊJ6úÈG’ÿ+fô¥”O›æ'±�“�§UÏ [Mº�°=jî°`ÛÇvéÿþC™ÿ¸cæF#Õi¸3‡¤íÈ&? -ý@¦=Y°ÀÐÙÛûÆY 8ލ¾T«ø|�÷z,tð\*T+ìÑ'&ð° ¼^Z_=+ÒXOA¸Ä¨8œÃ®F•”lËoq�wß(QGÈö®LVüâx§› IDATÃìøIY³Çäµ]¶ý±¦9›ñÚ–þ>NMزÀ°µà - �íçÃbk¡Ùž™‘÷ÐÈÖš Р àlí|TX¥HE§#ÒOÆÝ„U*ç ¹b›�XÕ{‰;”d¬¿‹Zjïýè‘ûî¾KÈNßT.R´BÜ®;NuMZúùÝÅVh|åß}ff¤¿ã4üØßç#£ðC[A)˜Æ.õ[fFþ., “ 7^3}IkäÓ á§¶œ�™ä šÿů? -ϲY[­þ¤òO~ñáÜ�9:d.ÕjE®31ƒ’Ð%ݤ K€�(û̧ðì/O¾W¾qB$â‰t<8˜Mé;YYÁWJ×2~ýÔ¹W/„mׄ‡ºé˜™a-íÊTD -‘Y‚-‘’! %rid*v‰g4r©4:R,äwçÄz£vu�Ë䫵*x!£»GÍ�´‡•lRÒu;±àXlA´ßóÝy{q´pêÙÓöPeS'U±Y)2¤ œ‡¡§a»¡‡Ôèz¨�ʪ–F®¢®ÏÂîQ�CÏ—žB$ž<ÐÒ‘JÁŠò¶:ð4�”†ø™0èEbî§M7ß¶4-…Ö––Õ³ƒFà3¦M¨#à5­ÝA=!‚Ôg7Doޤ¾ìe  ¯“Ð19Hs{ä:{éÒÛÿü·¿ðÕûÄü«Çï¼óàþqtìæÏ?þ—ÿ¡”·?ú‘™w–ï î¸yÞÊ/½ýÆ÷~ðäçþá£{Šæ¹×æòù)3kJ,ÅM¿ê´årCC>6Í å»QCl=òPJ ƒ! ÁÜ3B r¹v j,„‰GþËÈrX˜¯ „9p}2v°éss™„| y"�}r ¬AëI6m›0¦pþyr ø<+�–£mZ!ÁÙˆ‚¬“è`JÍj˜cµ�nYSÊâ0¨&mÅ8FJ(ÅhqJ'Á?±Ó5Äâm,Ú+ïTj“SE0£Í|©ZoæÉ«01 -®ùèüÉvEÛBcÈÛè˜Þæ:¯P"XgÄMħÝ­òúÌíQžÆéÿ¶~ìá#·¿ð‚o¹ï.�ü`ç=ß %al‡³’ÓÂÃd¼/+˜¹ø˜kr ¹ŽøHj@—ì!)8«gà-kÈÝDø Æv4³#ÃG|>Q*1ëmu3d¤zXQÏúX‚�¨½ºÇ ‚MÛÂ…¤u© \m$ô®kà=í²öNÜraS¾æ�9}G™bþ‚÷ 5˜J7 �§Z.Á€i„ Alz;{×Ç�Éȇ=ôPòOJðÕêN¹®kNȨ÷ß´_}¸ºZëR8˜ÿÉ�Âë!â9§Bs[©¿YRË\Ðbk:LD6¸ÒZ�½éEÕG*hæ7þËS`Ê}ú†xgbw¤ÿD±¨& -7£Æ - !ôSÉÖ^¾�†3w1Ž›?ýô‰‰RqöÞkÒ>ýmüÑï~¡ Nž8qìøñœ•_®UrQ|ÃÛ Û~—U Hü†ÓÈ‚\1Íêj5æµm &/KÊœ+QÜi@S1(µ#ÿÄmÆ 7”¤–,�ÌÏ-ªî_5TóÀ…²O9ñu.Ân/ݨ­¸ŒLQyk•± -=èdä§Û‘˜Nþ–ÇYôì #„ -(–dæ’gBe×CƒÉšT’2ä€=ǰ·= ™÷"Ú*=‰Š�dKùoüÓGAÀëÐaÂùXDi -èE%ƒi7çw¤bCÕ!ŠgH~ØF€~”w:éÄÀTÓ&aÅqxJ×ã< ÈGN‰ ?eI_ªÄ}\ðŽE?³TŠ(Æ[£\7Huë*oa4t€šðIPc•wVa û¦‘qZž9±æ‡âˆl U]ã´ø‹h»hY±xŽ r++ñô€Ëõ(.‡jÉòBbI%0š7ÖÚcÿм4C“Ö��ÄTÒ@ä±£íß78Š‹e¬)ÁU=Aw¼òŠc¬PÆ å{+o¾Ü¦‹=eB鿼T£S’ ­VmˆL³xíö`?j5²r¶ÛtP€ùï¶¢2Þ·/ª�r=þq¢@¹ÿç°ñ -¤ÿû\a2y+v‚Ö¹ðÖ…PÇœé�§"á -"c?BÁ•ÿÔ5‚ hx ¬]†tT1;et°|³ÑrÙIô¾'>F]]TÜ©y/Rà3Ÿ(S—E8?ý¡ªñÐCÇóù’_ƒ»7y*¶ó7'Àeé/ˆ3–w@üæéß$$2º¸Æ4è€v€¢_1—ˆ¢«qTóLAúãÚå&Lnyòä@Ä@𽃹ý8$H^l'eÝ>8â†]õu/è—¡-6‚E¥ÞH¬þ¤¸--S¡Oa4ÈH\D�¢¨Ý°~Lc¬�1¥'JKŽæO„¢jö&�äà{ÅÅlbÑŸIðÊËsmb왾yÀ•µžŒHn—ݼڸåƒù•Ï&߯ü¤Rþ@ÜÅ‚œx¦ú€ás.�¢ÿrýÃ# oÁ?¢À ʤNDÓˆ¬Š>(€.!ÀuêØŠ¸LKŒí‹À ØŸcúAqsÞÂ|‹õ=#L�ã¬#iLÛG’Ó7‡¨äWP¸V,(† á¢a¢¸‘´õœÄ(lÅ*ÄÁž2+žçŠ7F]×p^ -,èš)êkîÚyóRn¹QoZV#}Ã+ß0êRžÉi)ã¦Ã¢_ì$0N¸L@§�Œ¢L`5� úMR�x¨W^£y‹kðA(^OT]¾œÿX­õO$˜ü�º›¬$ß[:#$4ˆZtDŠx§é\®rI #t‚W�ŒO²BUxb `Élç$ÈBì³ - X”@iò\BŸKÌ]S/¼2•(s[;þ+hÐø ÞûÁ)–þ"Òù©£öÊ}ÐrªáÐmá}gó¿4Z<ù,ÛÎÌ`ÁÀvž[0ÿ˜ì;«@„tMVè_C.ƒô·sViw"j™<çÈp‡¹žT`ûæh?Ðßed"ÚÞRÞ.šùßø¦ ) -à±ßû}þө矟{ùlâK;SÊ5ÝD9Z4�P’v8Ÿ`™GöĈ³,=–ûõËq°.ØDЦÝÛ²‚Yh:²µ¨ÞŸ}‘ìN={:ùavHeíp$ý]Z6ì™�@s68 Wßq¼õøç¬áxŸŸ²!CüÒüÇl­#gÍ'D¿ß›Ÿ“цŸ¶ï8¾Ó3_'M#m=ÑÜoþ‹¨#N�Þ6ÏuÛîÆN-]‡îœiT¥Ð'`O¡Q'·+ÿÆ�Ï>ñ—öGÿúߨ7•ô‡U –¯e�þFYéœURT(ý• àR¡ËÀYz”ÍC$}âòÔ*¨cq«N¢_T.Ö -…ùIîãÛ˜²d`+ä*d®ë±JÀg§x¸h)e Y±Æ¶¿ Š—õvm:gÐ\qK/Y£Î —c -Å2M’N›)‘UÚ“/‡•� -ñ•¾òN�C@uŠe�P¾ ¡�|B ã�wÛ,ý“œ8af¢[®±¦4xVöQ²ˆÌ£Àæ?ÇŠ]¸Y^¤7@ ¨œ -6¥©ð)˜ÌcÚív9ýÛÞ¸fÇ�¼RK—_gTŸˆÖt€Ó¬Ù¹¢iÉN]5H»YˆÁQL BsáœæU^·|§‡€@úS¨X»÷6i$ñAV°ºØÞÀ˜yøs�:xû�ÑáýÙ#‡w<û¤ !EøÕl{óŒ„Ôh:z£AËm’‡9Õð¼³o.NŒc)NËóÕ%Y¦¡i&šù&†4lê`—6»®Åá?†CÐ�8L$N½²°ð#Ô´oœ;;BØ?üò—¹·‰«Œë ጟø‹¯?úùÏ”o(×®Ô‹Åâüë Ó·ö¸½qüD *R*�Ž˜#Åyæ‡g`œþÁó×—Îþð•»ïž]YºX¾qºrqÞiÔì¡Qƒ[÷Lë #bôN”{o9ï,¾µ8>V”ðs¦lš+ÎÂÇŒŠ«íyíu9˜fUKÆ·9dò²€sPkpLvÐj¡PÖ‚� HàŽ^Ó+97“àEÀŠãÀÎÛ��hã'Oœ>|×$aû`ç}Á¶1p™„êM‘}·XCàeS†ÓsEÐÆPÆF×oÅë‡Ýume‰Ê˜��òMèµPà›jˆоïšT€,�(€óAÁw&�ö:˜%Õ"x(s€âQ[àIØÍF £v /¯%@ ´7Ú†AAɹûË2¹"â6—ú¬¡?;=(zùpÙ/D*Øà°!µ†5CÕâ¥RÂî¿ñ€™TÞCù­ç|iü–C©œ=T>÷ZåÐÁrM ar5*Qh[a᜻-W0ÒYIõœéæz@•yäÇм%’ÃÂüÚÑ´¥\YÜi°ÕÑEnûS·Ž™9é9èe½•ùzá:k¢”«¿çÊî}ÒÖVJw<Ïq]¯9Í�¦˜fÔe(#p˜ äÒ&ÍB7Aâ”Ji#°±X±‘WK™FÆky‘!Â-ä.f¼ Q C¶‘>€jäµsÍ#ò¨4ZÓ¨™PD¼•3g�M9u7Ÿ7KùÒÙ«sešì ~ °V«‡àQ,7;:bäè\–¦Ñ®Â@ôi5“7ç^X°GràM¯¾Ó‘…˜{ºíÍ�Q¤\ÇCŽ9Dª2DëÔ8c¤¥u×à—M—œÛƪ\+«³ŸÝ%y=8ˆ5om΀û>|¾ƒ;nk½±& ò@öÖ¯Ôá� Ý"Sb™lÁ=ñm+óvD[´6$Wf2*¿‹ÿ\TgúÄ›í‡È­”Á¿}MÌ|–y;W§Ÿ}cl_ÞÞ•ãPøA»me³ heî–aÙ¨*Œïgæ‰ûGbÛ@[ QâÉuiÛ x€ô_¡Æ³ù -êXÐp‹sÖN.9Q¯,Q}_*"¼À´&Áhž3Ëg�,Ú‘‰—¦;KŒxÏ}ïÔwþ;:ÍuÀTÔ3üݼø³÷¾xÿ}w'´Ësö¨üëü<Š~Þîx¶ÛÇÓÿ•B:Ïœ8óJÜ)ª\Zù늼Å�Tâw—{ªû¸²R�šo]±•èöÖ€^¶@æÖ®ªÞS` °¶«+ýq¶|îý*7˜Š(\a2±¶½BÊ 2w]ßУ>xÖXÄ–@$(±¬bC®üÜ.“­¬á] �¤ãb ™,} -&‹ãÈ š`Å”¯çt4òüdd•�®áÉx›”O‹8{sùáÜ�Q½$ s�y¶în†¢'‚ƒ^Zº01!sNî:%–™C\‚Ha¯g �þ°XÚm¸?Vj+ÝnK…*6<“²ñÙa[ÏJ×{öè±¾^�ø¾éFÙŒ a[!Šþ‡f€Q£ëL;ègT(7ap°ÄäÖ�èìër•‹+Y/~ÊwÝYÑ�Ò¿/Ä—ð€+Â:ùWƒ³zJ5I JȌӶžßaãvŒ�¯cXVú¼LóªÈÇLDGeKY¤dßâ«+† ²ÊyŒ sƒô'îǨCõrÕßìi+‡nSz« H·Ã’pûUlÏH¥•o¡NL Ù,O��˜{¡§€\Ɉ娊ß0 ŸòYEö¨ Ë@äAØ÷»]Õ“!"%7¤séóO "Í©`®Ã¶³žï�ð‚6hYN`àeÒzòɉÏnsⓃÁ~‡(ÁÞ*–lØÂºËåk�¼ð¶b}ú—¾Öý=ñìs-Â9yòI òœLðJ—¼Áx¯Ë7)üÕx¯/V‚ù°¸/1²ÎÐd -cíº¼RKº]èDnÜóZTàÈ¢BH,YILpÁ”ÆòJ ì(ýÙöçÁÅïf/É%Z�ß0Â: p]\b˜LƒDã5O©¶žIi â½­] ¬¬: y• Ÿ!“g!î[q–Ïóp²²*J:™ë ¶]äí‚Ë,ÀKD Ãà€`¤ú/P1Rü]F:-{Áô8kgYÁ90k8gFqUýÙ¨±ÀŒ †@ ®£ÒÛbéÔ÷O.­,ÿú¯~ñÐAùË1�¹NHÅ -½JëQykto»†lÑÂÐ?F""=ìUÎЖxµ,c>;ï5=#�ß-Oõ¥—+à(?Õ¨P´§7ü¥ \௠-W‡%š –{l¸HM�N–“ŠM¶ˆn–êªpŽW%�• 2¥Œïâ£fe,0Üï2�+€g¾{òàmq2ˆ~‰*yc ÅÞΛ¶¡9 �g"–bµÆá ±Ø—"°¥1C: ½ág©²§£À) "‰å´=+ÒÜ`z‚ø”­y˜ž‘�+‚Ú_ÀŸ×µwkÖ _�€jÁ�ûrßÔ sLß0d U/,v€VÎÎeëõ~;A¢Ò’ÿ£�XàG¼em¹¡Ö\K1�:€ƒiŒéß[2>þNU@pÙð²°5ÉPpÒè¨Fx¹¬Y´cÁÑòü±bž�{d4y(å$‡)S—$ýus{äš–…%ª>?þ±Ypžü�Oˆÿ(Àn&ˆ~9´–@˜ݨ‡¿xêû¢~+��?Ò 8ûÆÂÜë ç^BAÒ¶«b�,³÷ZÔX¹Xi5ð@ l¬A¨?1ž>ê€DÏrœÓ¶o:W–N€Ä�0 Û4\ßw£ìhÈ™Œý�E‰ÚjÊ û¹ßøüîž*u‰g¸œoÇF_’rg^Z<|ö1Œäe¼»þ^¼E—ì3üÙËðª_ŽÔ•…�l ýÇ&lØVÞªrŸ…SÓ‡�>²¥bï‡ÖpÒ„ÎÌ�xòrvn¼,@´7Ú¥}%/Âme Ú°5ËÚAó�’‰Â! ðĶ~K ÜM&¿ÌåÜGÈ”�øÄç:ÒHÐÅ=1èXei ^J�Ù¦)’’Ü'@Í@sÈôi½·‘‡%öóIR卨 -AôÃ?gîœò:žSÛ9¥ò %{"K�!S²78VnPM‘RÛ¹X†¿:ÀYwTM$ž|w lx™`’ã-|>Ã5?"² “Ò_DH$3Áà ÙÀ&ÊnL‘/XåŹ—*¬âÓ�@U=oFñ&§C‚\:Žº šh’‚?UVì‘~F¶¸{kÐàBdÞZX$(•�wÆ�R¬)Yú…ë2¥/0!Y -v|×òÞñ¹©©†ã”GlßYƒ—ajÆŽä&ZªÖ# -@8¥La‹R)ØùìÏ_z½òµ?EúŽc?‡~À§yx~aÁ µOòùe®´e±Eù~’fF»_ú5gí+_ŃœøÖ7Ò¦±ü“Ê;\ÓÉÁ»¡œ54<º¯¬E„hŠ¢÷fLäbåsàìÙ¬×öìüpÛu·ˆ«(Åa+¼éš)£Û\H—R]uÞºX]vïüPž±™7H>ׂ©–Ò²D™¢“ËÌ�™¦–õ¼ò"ƒtÛ²Fwgϼt&Ü ÃTl渑=ò¼x¥Z«Ï> MTS: -\j�aóA3µÒXŽ·m¬Ä5éOfÃqõ(/t°JÁ”5Ý`YØ C<ðéè‡yá¨]#ŸÛ%rS‰Üõ8¹Ml´ˆÔŽiæ:®I¶¡´×H3QŠ2èVE§†Øå�ÚEu†óÅòÆ´©5Aèž&´ô"µ;È‹¥²8Оª®¾½¼‚Ï1¿»@W­çsE,\ÜÒ%“F'F!µ‡L8±Ú•†>`éZÔ/bš 4Õ>B¬2Ìkäl8ãe˜¢û'§Ì!!Õ5kb_¹ºº :mÉlŒÞºyáV¨¥Íg‰œ}+äžv´,©6�X®‘à„šn†,Õ@jc?*Ô$d£ê|17·`  -`/#¼‹ úÀYsXMktæ’dQCj”¹Î=6<1?Ü"p¸3A¸…ïÃä·2èYÊ€¦KËpKCÞ…@Ø„EÃM(»Sš™E9NœE6*#_A%2Kׇã陦O�ªIeVw+ËÌÒô‘!ëÜ»KµzÝ*hËo×Û›%Fü�Oghâš Ä)ÄŠÏ”«˳Úi î$†­d«&H·4<ßn௯w³fºí�ƒÙÍcá,Úv§ÞZ‚ûà!' -4ËËó±@0«;�–*èäv_©6Ð$5Lç=‡Bèmz -ÉÕ¶ÇåšFo£�S0cf1übó:²²hQÕ®ÔL£h‚í‰÷]… 6ðË+ä›ËïÖªïÖ>q|öUÊÜutfþlul±^Â6.¹\îÎ÷çóù�‘‹ë#Á�Ó߯ì¿i¼G’9¤†Ü¥G&©é¬â2r⹡‡©~âfŒC6åàòÑþµù·M‹(LÄü�aJ&0Êÿ)pNZD© ÁW”5Uƒ'/׋{âCU+nA88Û!}ÐÜaP¯�l{Ÿ}�Í: 0ÒDµm«AZc¥åwVÅN£¸;vÐç* ÊýäS'ys+Ë«‡?/÷Ê9ksé­ÕÚª3=S†íÊ¥*\Èükè¶ó¥ê»=¡¡ o-ïß?tÝFÓåh°ªù1°”Lj¯Q1. )é;aÈ9Ô@7,ý“¿:€ËT’4/QW=.ª‡M�%3Â:'<€Éýûá%PÇÆ“Xˆ#VÃ…ç‘ÔÊMŽ>Ñcú–)Çë÷‹O`çIÊÜ>ýml¿ê«RƒEÿö‘äœKÊ}NBʦÇ‘½>•,%î=XðQ•³FZ=„UêR�í€\<+kÕ5”f¡ÆûÉó‰įIRel|üð]‡E¦ÒþyÏÏÌÀ=,]_`ˆƒG¦O=w¦rq@ýr,LëàE$è¶IAúWÎ/ŸyñÌØÄ8lEÔ± £´§/LôeR -Y=Û¦Y_•G øt,®µs[nsÃ&é/°�46†,ƒë ÙƒV¡9-Š•"#YÕ"'o;öÁçaË�˜Íh6‘˜J”÷)d±ž5ˆtŠ¢¼ÿ,ýa¶Ã¬Ö·a‡è¦Fh¦Æ@�›ÿÙ_zôÿcím€Ü¸î;Á4º§1=£‘`ŽH 5&=4†Œ[´eÙrGòºÖÙœ·nËwW›sîªî²u[©Ke뮲•M.®½ÊÅ›º»õnªrN|—µ“,cÙ²¼tÊThQSi4i˜£�1„D˜&zºÑ�û¼~Ýó!Ù¹º'T«ÄW¿~ï÷ÿþýÍTëÐÕ[7àÁ2€‰¡R@;ˆe€61A¨€6æã>dâ#ôÅS– -r&_Ñ·‘:`¼-þr¤cŠNì0aÚV_TP: œ}¦ſDz,MÇSé4’Õ€Ç�x€ ¾[·BwbUÎ9‡šôàsQâ>qË �òß2—2Ÿ³Ø`)bÑLbvCÏ­=89ý`ù+‚ùÇå•M‰ù[¸k4 6ù éeË Šóe·û`@ý§Ÿ‡Áð¥W¯Ï=йzKµ¾ÙæÐã$Î|\f¨rú•;z0’æ3ˆ°X¹UHPÿ�v½^�ãêÍEõ™kom«D0%Ð.óÎ+“öÉ“úÓµ*<@÷HQùÚù y^LDc( IDAT«¯á¡x2ï WõÀWWïÇgª÷—V–¥2ý�¯_>~ª^¢.ó •YdÊðF^WÄDv��pŸK‡ÑØ gõ_A0ouA1ëäÆ0Ë&²d*ÉÉL5nq'�úƒµ«×p -ÀPLûm·G"|Ê€æ�-¿Ž~:{�D* ç¯Ü ãM8i¿ù:£?�½¦ß¡tv:‰3sY�ú��ÄI)#`ÛGíU” º^•r(¿-Ðê©Ö²˜=�}•m_ ÀWÿ|m?E@\ü[¬§]¿_ª<_ü7²ú Ä€‰J–Ãb`úÁ)Ž uÚ‰T8û ' &:îOR�!«˜iÝXEb/ Lã‹ ¾�øÁw¹XìâÊ�"£?ÝhÐ+{]wÍÔ‹¼ -Ù,HEe�\Vz®òQÀ‰â÷ëßëf3È…âz]c{ïO¦ª}§œœÝƒ»³q*·º°¼‘û—vÌn1ð÷qÖ‚ Їý,Œñ<Â*ÈÚL„U|2|šh6¶Õ”¾M’‡@%ÚÛÅÄDƒ;€è¾Ý­NË  ö¼ÄC’xRP|¦ÔqÂtx€ÕÿT¿S]0Þ¥†w¦ÌeŸ…£?‹'øSq+ñ¿2YþBR}bÜŒ}hèñ“–ï!ÖýA4omÀdÀÚ-„6PÿÙD ¿"feÞs|‹ÓÄp‚ŒûÛêx!Àœ�Z× Z랺gŸ<¯1 ^F€`´†»šƒÂÁÅ%`”'Çù5(BÑíu½-¯º¿úúk¯ãl¬/¾¼8nš‡©_zqŽV¡ß‹ó5›«Û Lí®“o·Û• -Ê6Pÿúáç3÷Û—//² È,í\½l¸w=†~�Û;Ql îÿ0¦×ÃQÖK�% ˜‹¿TEõ¨Ê'ÇÍcùž±LÓ²ù1$ ·uL е¼G‘2�†Ñhdê õnû?n�±Dý·dÃí9TAo›åvgÍ/º÷zn æ*T1QX7 Ôz®q-õFëޗ¨�ÍÖ�‚ÜY–Ä0,Mà<‡£t�nÔ눈ɠα1 HÀö‡Íì8ØÔ¡¼OG¯:¨ÏÈýb¢.3–‰�í�‘†á•‰á^ò>5ŸÛšÈ{¸`ø¦¢.;ìa#Œ¡«e 36>˜ AÐÈ‹¸…äþý>4ûég>mÙZÇY�©•:¿>äêt¤�͘ ¥[lbè=à‚vkLc‚C3@ãv‡òzÝMñmǰ¦ÚÓúì`‰lÑš^èŽ#Ox—..×ÖJ¥bÕªb–QLYcŽ%)¡0u,§MSïz}¯ˆ÷šÈFÈóÊíMœ®eƒ¸LnÒô“èº^�Í-†�]Ò½{3pÀ\y±R ^ë ©«¨çÚ¶ià3¬/†#Yß'ÆeymwAãq;½Ëß[:ù3D+mÐ�ÈøÌá–3À»œ{^×uJtkà6‰˜iYÀgb#UË�«@ò&_ݽç�…=9U"q lÂb¾,èí °ÎÊ_'"ôò»µê°¿èÚË×�ÿìÑöz·y«Uüù)ËÈ#ÑÂŒW›ªjò”Ÿ~âï©…IDêÁVP}Ø~ñ[ ãš­V§µÖv‹.ÿÝoK[£T½iÐÒ†ƒvÜʸç‹Ú{Êð(,à Q©ÄH‘øb£¶\D`m÷wËÃ'ãO¹žóÈY=yl‹àð\¥Ýé€ÞìrΊm“•Œ­Û€Â<ú˜¥‘øŒ†Ô¡Ÿ‚ÑZ6ä5pŸ,+•H@è^ ¼0³ºòÞÀG{¾Ç�ì4µG·Òé¤<–߸þÉgÎ�PÏD;¸Ü~ÒøËóè̹ðMÌÏô‡ãúZBÅ&yÑ.Õªƒˆv¡+œÃÀb@I�l ÝRœéÁŽ~y_ŠÐü¸°1”P1@á2M¬]tºC*ˆ/¸–ÓLšúƒ5nqƒeÁ9¹—_º|òÔɤ]éöQ9PPÇb9ɶb§Áô U{9x½¾%Î~øä`˜"ª,Ú̆°†ò”É®Ú$µßî:vÔ�³x}ß 2~rÖ�¼J½Ù¿Û|éõ‚¹9[ ­Æõ6(SvÙê܉ÿi³g˜˜äì�åV”nŸÌö”4g¹Æ…`ŠÄ˜ó%¿L3kÛz01ö^°Â”ïs¼t9'°ø¤±Š¶ 7¢)§ì}R5·¼Èø {}ßëÑÁÕ æ…@÷ yNï¡ ÔI;aÚ-¨Å¤ãzFlñ|îŸ|Φ"í¥7–晿üÊbóÇ­Úýò‹ÀGž)E¹¡x¼™]‡+ÛA0O«çt½J_A‹,ª0N;t¨æ =lýÑî‰Gk€þ;îEšñI}¯âY9R­÷VÄÏȦ¬ËË+ÚŽ$¥X03AWÿâO"öÛ¶Û­v±”l0y'§ݹ| Ô¹Ýíõ]€Ýå7°véÔG® -ðñäÏ/4oaR ¨áðh¯;pìÜqW®]§OîxC³Z³[MüêootgÞS™‰»³©ÀCmÚ†‡`�rKö6;Øû~@­1»]bïð‡Hjn~Uß?å1o‡’<Ÿ©î7—/¯T*%n¿¯Lw@A�QÀ ß| ã즜Bÿtò%% J·›ªr.bVÑ6S%áNæ L³i¦Ö“œ÷’œ,ý³»ªj(Îùó_ fô¨¥&ΨùãIÐr�ª\UÔ.‚ÊñÙ‡˜vâæR,``„èÙ�iRŒþìÕbÚ&?-PèÓ”ƒŸ†‘¤hSÝžƒÝ€Y¢kðÍ>íÿ`+ù -Øeµép¬Ï%|yìlS;ÖTÐ=h9˜j²cß×Ì})?ìöÍ«j0äãj&—R*ú—ì¢>‚;NñŒ|Ñ @’ÆYª9ª¡©Öz ýõîÉL‰fÓµr²ß!ŒZµÖl5Á(N»›}Ï“·&C¨$;Þ1ô3?óÂâ–&'5:.ÆÒýß±7`ÐwA€yo¤v"³“£OçnbŒ2‰ à 1Ã,‚ èWqæP�ƒƒžšA�ŒþÆö®>ßûþ÷ôóŸÓÕ©fÜ?Ý#õ‚I¡ƒLÒ.VÓòYM">y{àN@LX¦ìöš»©d¥WõÝR*äX._ziyæÁ$¤YŠ‘®ÛíMÚ|‚lü Qxú¯·îxè_41Y̳wÿãÛ¬ç[œK“²ŒWñ"DÖ]dz˶9n’$Ð8z þ0)Ü�«£[)õÑ‘o¡ ü2�j`á‘·ðÂKËB^>ª�‘ -êbâUöªTzÛ*9nWì -JÚÝx0Ÿq·ë‚^/v�"ù*j”< èè¨t½ÎEhb1°vkýòß.ÆÓ+ N�ô/(GBŸš.ÁÏVM¡¿ÓJð"&F`¨Â.‡ôi¤åt%õEŒþ ®é†ÉMAÅ$ñÙVk0ÃTèÎGlòìéÚôätJ! ¤/³ °½˜DŒ lùBX”Û�þ;†5n8?‰é‚‡ªûØ�þjú¿¾¼ íöQãÊõÕå×–^þþâ•E,q^¼˜¢¦ù)*ú¤ôc"¥Ý«**“iÀ£»Ñd¯ÏÖÓ¢BpR�–Iò>9}“=øÊ^ôO�ŽO>h©O)X²¯Ô~«GœsMªÿ°5.ŒLUèЯ’s 2@ç¶4Œ½X’~Êaï#æô»qØ öz±])X ì A�ëþ0*åéë«?Bö?b¦*8áêE¼S,ê=ªÖ�#g"áWwÜÆê2È@°jT¸Ç€e•%v(}Œ//¾|ð¡® û×Z2¤:Y‚9Ðí»EðBeÓz©»ÏèGç¤;wïqkÝ«NÛÆ˜Íý0´x½�`í36ÞF¹ FÀÊJ󸉹nLÞ®2åU �%�‡ÓzÛ[§qÇ70Â-?e²3S Öýi¨¥D²�˜DèCÈéSL­¿µ&+Ê×eÒ!AÖ=£(#á2ŒR®ŽbBê²÷+lVtÖšmåR4¨` -d…aL)üп^©w]§¶©ô ½@N¼ë?jÌ=2è߼ٜÙqÁ8|,IñèÐwæö{.ÛÍfbyÐ+ͽù– ®Ö¬Ö")ÅîxRXÀ^`õŸÇêå[ŠùÄÙst6ºJ£€ßà"-_¢¿zÛóY@À£hš¥b )ü¶RŠæ Ü_£K˜®•ËË•Z�ëZ°(™‘ Ì8ð¥ b5”G¤ÅTñ^�RªT8R"!ÌRoÉÀ =M˜ñOÄô8661Öu‘á¼Ð:÷÷C‡é™ ŸÕ¾ÀóÏ¡Rÿü•Ë�•ë�•8š¶�ä;NHEMeÚBì”VT@0gk?FÀš~hvíG7ꇎ8í–]©Ö]¸tþ«�Ü£â5·š1ðp^°´gØ­ÖçÖn.…Ø*—oð%£�­ÏŒ@p,:$`Š«b“–7\¾ÔÊsy1f1¿¼Y*ã†5JâÇN¤°ÛïqÚµH5f’IAB[m¬zÝšeÈT \E¤µ¯‡Kßåz¸—°i‘�%¶ZÚÝ -ècz£Ùž;:PhåAìy‘†äß\‘ÅjøÁ WÂä°²†YFQ˜CàóÜ¡–Éô·…±üjs9F°ñ0=|à!ý/ìÞ-–Ä+5NßsïzœESÀ6s•˜Ô²{¬T0¡Àh�ˆZî• A%ŒË`1#-g†Tqã3îgp"0o2“䟄²2VýËG7Q†!a:'»ë¼Vå½ ‘;Ïœ˜Z]»nÁªC°±ÆTNØcÀ4'Ìn§€ï«@¥YÙWÓó¦A®N(?Ô0òðù,ãIÀã¿®®5>÷_þ33óÒuZÝú‡j|ñ/¯¼rÓ±Ðí&¼Í(_²Â ¤¼{d¤Áèrˆ$?F/ÙÓàâ2#-ŸÃ’ØÂ 5=Õ³¹ h‹� -k½k°CörÀ„ßó@ÀÓÀ+WŠÇh†² *+%‰F« ü“Ú€Tœ"©ÞPs©Û” ®¹—ƒ°\`¥¡gï+v6æ? ƒµ[ìYY¾yøáÚí·:�NïìÇ6œA{Ý�Ð ¼Ø+è B¼‹°tÉ¡ª�6sF‹¸†€Ö8ô•'m�¯’höÁ™¢Ul¿Ý­ì/¹¢‹&Yž®bÒÇb“ÛÏÎ=¼Úì´ooœø™/¾¸¸!ęǖ^½ À =kq/³Pl¬4[mDä Ͻ$¨ææÂ_H~Æ&WäP"r•Ÿ}ÎÀÌ{ª…‚Y,â’®PA�f¶5§¥á¥ =ÏÁJ”þF¿—E*=λ‡3wa¹¶H � ˆ‘Me9fG0%ó>«Ù|ïž§›–ëv9Ÿ*&,ç²t»Ea@Íõˆ¸(66{pﬦ�FœLåûáìÁX/_¹qæñù®3Èæ:ìÜ G¸ ð+ÀÚ5Š®ïµÉrÒG!ü·ß…çs錚l–r‡£�º'÷¨’7XqÍûžžÝèß}üî¿úW|róÍ2ú‹8‰� aŠ]c¨ædãôÃ1¶aà úkué9)íŸRÇmƒ;ÃĺÚDTÄÈV]±TPšDm‘�¹lnIW‹FÝ;%;1i1‚ëõ¹¥ ÀÚ6ܱÖZ£:]Ï�[ÝNƒ -ÌzÅ•Íò4îhË'ÈXi¯·?l×ß“¤ÁñJŠ)Yý÷ó2jç s™iå-\{Ã�&š ïbÀÐÄŒsZÜ�”Öðúì0˃"¶·…*ä`«_3û¤_À±çzL8Ê�mXë}ÇÎ[ ¼@‚¾uÏtïÊol4ZŠ�„¸i†íŽÃ)dÔ^Î>N£'³?CJ—´(o2Ÿ‰c�!vÂápnÁ£ÒCy²™[lZ&S üˆíŒ�7=yåƒÎÅGº·yb+2Éùa 1hh•¥a®“«3H9[�T–ÑÌtýKþÅ�=v4v=0 6Ÿ#:èZàYC曲q ÐO½ÝðzÓ^+Õ -MÞ&�Û{Y\S˜¢X?›?jjÙ$rÖí8¥²tq`ÃSžìèÝÉèÿ. ¿{·_Ÿ©-þ`Dõ©3§_"ûûÔ™…ë¯6Ê)ÿ Èñ0úæ©óÈ#å?ð9åi/vîÊdµkÃÏ®"ïÿׯV[rû·7Fÿ¥åF©bÚesñ¥VýPÉ7¿ßZx_ëbâ�öíÎêª\Ø àO徿úí¤zŸsö;œ¨î­�?õr)¾¨¼ç܉Ój‹ÙfÓéé´oÝœ°òâ}×ÈKâ&°ÒÐNÅ.o:øÞݾaÛ’¨1uSú‘Kµ€�v~R@0ôdkß|ÉÝ’Ödàƒžfªvˆû”¨¦“ðà2Fd�3 -TEÖ23SY%Wðé3ÇE\ëb>ìW8ôwƒ�e˜®Ï¾:” -b‡c…¡?i\ÜÇO†‘T»®§¥Ü;9¦—òф܋2ú¹o¾VœüùW¾ÇóßPy™Û’öꇓ°0/pÖ#¨Þ¾—v˜à1.6ÄzÙÉ'> -' þ Ì™]ô‡#<ªÁ‰“O-Dº =#›“pñ^ïN»x_¥Ø­pi>gÄ*ô‡“h¨‘-–‹Œeô!p“�Šv„Ô­¾ë*÷Ž©ra¹¯rVN9±{¢¤h$@ÖCy»81ÏÚ�½ñ8sƒ º=ÑŸ¦1ÕÐ-Žª&Dø…uÿ蟂6Ý3ÇŠ àÁ=3š½nqÌÄêž8$ènÃŽCLf‘à8½‘I4ÞZçöpØ” -;žbAˆ�’mrÞ'á�Æ-pá­‘Gšç&“$£P5ÔæÙcà ÿÕÅ~ðô/Nl³¸g¦�À5²rB­ôÜ6ªpn6©þ žƒ£¿�悚¶ýú»@Ô ˜Ø‹n³Øq‰€�¾„¤)&=�T<*쩸à™ðÄÀÜûæà·l¬wËìÎm§q½Q:%kˆp2çcNìH®èÝ•F@�´žbÉ^¾²X©¡ÒӾݚ?ºèï íU ,€€Ô¯Cs²œâÔ“ œ:ŠnÏã?âð8ñ èYxôƒîÿ¥?½'3ï©\ºxµ=ôÔë›·6àäúJûÆu¼épL¯U0ËT²_uVŠ4{²¨Ö-m&2 G˜®–%U- /·Öî9áÂÏÌ;­Ð4Ãò�â¦#Üžoaéà(§¸´LcùåLÒ¹ÜÇ{ÄɬΦ ÆÎ?z¸:Ý£.px9#ŽU–^¿W\ÈY­~öÛ�†,� G8Å•×!ª$7kÆtƼÑÈa§ƒ�j˜ÖÕu(nŸIØy}?ñã Ã‘©ÿ3¾Ftø1#i`‚‚¹Tᆸí„exC¬ç@*=o´ìÌ„å2n°^Äl¸` 7IN£°à 0°ý,ý�´ö0 »AzlÐ4Ô$Ž�§U†Q¡¨Ãí+ï7¯]÷¼Ùã�iý¸ÓëÝóG>̺nÀ‡ô”_ßó±YБؓ’EÆ;çbîç)“�/|ý¼z~�4Ù™Ñ|KU ·ë]Œþ x†"T–޶Wе&ò/ÉÃu’q†>»ƒá®æ÷|€ Š[&#ÉAÀŒ™»Ûß„ ™3ÄAž%'i ËKöþJ}n¾»Þj¯&%Ìø–üÉ)¡Ø;"}M¤íb§©ÜÓKó�=gïÙg°‘ò¹�b‹M@�)­‰@õ¼AÀɉ㧛ë(ؼ˜D! –8’–½}¢RÏ Uȵ†~Ë,ÉAèÄÚ½iAÚHÓ™#oèEq–—{¯‡!VŽÒe"\vØÇ#+ÉÐib”› ﮬ‹É}l½Õ­>PŠ!vÂcŸÛ6B=âÃìŽCý‡^O»2ů~Á^õ‘¶Ítx‡^–uì -T€fò´h\Àƒx­ õ�éFcÔ¹éKU–^¿1d;žçþ$\ô”Õ8R'7õšmÉ�ý’Z`3å?QþýÆ› .£[üÞÈ€Z½ºú£æÌCµÔ'Xe -À0ú ʯoÇÌÈö!$µÈƒÝR©”Å�y§§ËÝØˆtîôÌ‚¤S†£m»ßÛz«7ûžú�âÞ�#““·þâüÎ�õ>7bìÜî•¶Wº–& ð@¡ágJà8í¶”:5äqºø±ëÄ…Ðî@êø©ô8}ºòÌèùØ™†mÖã`˜çú«¼^æŸïö±è×ÌíôõiFÅÁ³4¥™Aµ4g€ÍÈâ–ÈiO\}MßžÜV�z|†˜Oì ¹¡üˆ�ƒß Gv›s„ÀËÕœ€Gõ@y­ŸNõþòÕWVà8S'n®{ž5ö¿™Êwà6ôhÙç'¸¾—oú«ÿ!ÞÝòî§-€tç,†þŸ8@z¾3-gÀèd3+ªŽ;zôó IDAT„0ô+ ÞýÞüx^IN�óÅ 3BaU]rKpj¦† »±““N¾>f|ÛFÿÀ´ºï� Ù¦^Çú¶&âÜ/b#åsŸ8óÌè/våxñ¸²xm~îÁÇŽŸb ¯¦KV ŽaÜXÆœ¥;h–ò5Î)ò‡=c—Tà2Pdÿ ‚Ù$“޽M™³ˆÊHÖ`ÎBk¼F²GÏ[NßÝÑ&Ø‹Á,‹�þ]¿°Ï(îÓ£’°¡/Iýúcjb�â":rÊ#+ü-bXÑ“¤�<òbOþFN(f+w¯8°–òï«>Ãiôgõß�Ù¦új¢Íb¶œ�­U¦?1b?÷‰g›ë ாµ�ÉDÕ”.7<àB|ŸŠ¹¼�ßíöK1á6�î†WÁ2`c£[{°úÖMT8XÜwîØõ‡ë æËhóT­ÂÐ2àÌ'{­ëDÇÁÀa¦?|]êÂYƒFÞàý%“h±§g(Óq7owüHJ‹µµNpo3ý í˜Î+m´ÖP¥¨NËkèÿÆ·.̾gLN¸/Øf*ˆâõw¦ 7n¢œB¯ýö÷4ÈmÈbÀJ"ö+Î%ÏðØÑ´kÈÇ4EYƦ¼�ŽSö�ñGé˜Ë`+h1�A,€ÁnðÝ _‹Sxwðƒ€Eª³çŒþ‚¤·oL;-±¢%°»Ÿ®ËS®ºˆT×I0½¶q•Ç+�"^êÉ(Œ�°tƒ èÿøý§?~}nw¤ Àõý†Þ¦ËM�á˜S(+K¯#ÏÜåï/]¾¶$î¶ýqìY[ÿÿi(ï3˜¥ÛxÖr_0',û©Ø7—©+Oº 8Å?“é˜qì«wÁ`¦øÐí©z.”ä!E¶‡@ý·ö•¬}¶{wo§¡<ìˆBûɲ‘ÁÓ&¬ÊTl±Óüüùëÿâ_t~ˆÐÀ2à�ྠÐ•ï¿ -t!>2àÈà ¬ªã'i¿žF@•es& ?¾ _xÛh+¥Ã�Ö% û»½&Ûüi€þ]·é z`àºÌ™ù1ËÐå >Àò0.{y�².€2C¤•üùÈEJ 0ˆ@ýï¾åY÷í=2Ç�4u(sÁý emQ$ûBg¨ ¥Yäüѱ�–ÆLPv,ÑÙ„„iÌ·“KR|­í¡à¬� 9–éÏD=xÒ¢4Ð�\¸¾j*2½@ª%Î"·ï*7‚¿ÿ{ÿòt£yÌ<0=£²€Çå7^�{äÐoÿÎçO?R³uõêc.ü§ O?uöÊ+„ûï?&Føë¯\]c%)˰¼Ç5,Ë�pBêUŠf05Ë ˆh9#4RÛûnWϰ†æ¦›7”™â$!&qÍâêå•ã'·nuޝã­çž3„Ìnåw–�·ôLîóÿý¯©EP©Õ*“ŒÃ>¶í8ïC§{¶G"zNF”+)‹ÂcFO¡ßÚ_ñ]7¸ç¦]%˜˜�ã -Ù ©(†„9Àz+L}#çM3GŠÞ²0&™ÚýM=d×ʃzÎzMìíÀ©]pnïdpÝ=ž}ûG~ò™OÂ4*—Nz(¦£¯üÅùOž;÷â÷ÿTß÷Ï~™`ëõÄLþ£ÿýOòDu€àø'‡ƒ ¸ö[Ÿ•ÐÏ—O%ï|³eŸ Š îÑ -'aœ{æ#‡ú%@!Ûí@Xâшé$]GŠ~Ù±˜ôÆGÊvq¤ª.ǧ!ißãŠâ´/kÐ÷õ˜¡À*èÕ” Û! �A*�Û*ÅHëºA^g·O ýBQÄíD!2uU ÏFb8“uRÌ[åòÉÜÏt÷óÿ¿ŒúÁÙæ­Æ;ýëä~k’œòÓ3r@wÚ½Éý…•ךî�¨ä+¯5àØ\•»¬4Yqçõz©tμ]ÖKûÁ2�+§›âái­'U¬¶½GcçcñÊëꬺ›7WoÜÄ8êÌôÁö†Tì*e¼¹ó‡JòüQ *ŸGydþšÛÛ±qJ+ÇÛMMãôe^®\“L”GIrœ†iQ’.‚ÊŒeÌ a²>=vuFœ^‰K&w‚E2ö~—~OÞ0@n —ŸjáÃYS1©*/on!k!]W&UûXí -æ‚b„ ƒ�ÓyCÐú}i&:›®²Œ¹Ÿš {JÓÒY‘\6Ï*œÊÏ+ô¯Uk‘ˆZ1k´ª£¼qd3…#ìí®�%9iì»bE­sS·J™¶AµVnQUðÇŸ=ÝÝL”˜áR¡GØÞ½Ä2Ë:–¤‘©ï`fãÝèÄ^#¥,r^3å8³î¯@�Ç�>ýnÎËo`â'Ÿ9@l9È€ÅÊ~ÿ÷—Q÷§qâ8nüÓÿⳂî%?yìѾñ`{õˆk_=ÜÂ_ÅÀ§Ö‘]3°;kÏ1 mo�Ëä ¸³ZBáBž4ö¡ÃǰDA—åÈÀÂ@aCXž2ðÉ€•ÈÊ*Ê•ߥŠ9Ì ½Ûr5Zå˜òQÀŽÛ’b÷žŸ¥ÖŒóÐfúÝTíA £ú!5–ô‡l‚Íĵ¤à�{¤È&q‚ ž)Ù{§¾Ñ%J`¦Ñ&šÓïÕkÓ«·ÐM7S›]mÞØýök¯b<Æ+~ãùç?ú†î¿ñŸžÿìý¹ÆÍ�7§h �½ŽOŽž˜ë»¸7ÞvW^k3oöÚjPžó>Ë•Äsè?¹¿ºK)ö³Ûq°€mI% ì€ J²t8,Tÿ÷™ ªSýJùY½µV¹ßj®¶×ˆÌÔ@&ŒÂ‘rçr#ÒÙƒ3Îh£”;è§sùî¹yâ…äì{®ÃbÝ_SÅ+ähv\Ì8¦)¥®Åœ×ˆ¢JÙ™1‚›úZ¦l:Ïwœ2ÖBî´¹0{ÍÀ÷JûlK±±"Òœ©”,,¿Ò¨½%'ü`UpÌ@nQ5IÜ:XrZbÂèªÒ ê„.p©*ãÀʈ}€**†{„Lg0HÐ5…Š©-ðCî\�µZUE'Š…B¡Ù’ÞB3U¨Ä2€4akÝ#&VØæV5õm~H^ÿf!vãw]Ðý¿öÕK @¨fAêõè�¸\™ìQáÞYV!^Ž)#Ðß0óý‘�”–p'a~U…§‚~âÏI®ÊH}ƒÛÙÐÇÑ @ÑÁã?(}�u4бqz \ǵ¨'8vŒñBŸv/Î5»© ¢�l‹�ã fJû-?ÿé… ‹-«€¬Ÿ�7"æ(¥¢$_U ¯ý¨1ýn`°ìÕüPµÿÀÙ'á87�Tî&bû‰ÔÿßùÃ/‚ðô)hÁøÜ¯~V½ÀÜNmŸ•™³,8!‡sr`í2:,À}çíw4Ñ东y%â$zN *°LÊ>ÄMi*g›ɵ¦-ˆò%£ïˆc{›A©jÙ“V£GU}Ð2|AÀ7üMò�æ¥`uí¦‹É†F"·ÀX5MÆ\¼$²¨ 2M&ì¥ò¤œ+Æe -t:ˆn`ì°h`+Ûv v!(6É Çi‹8Õbñ�×f�ôé/þðWžùµ/ÿõ—oüðƯýWŸûÃÿã Åqñ�ÿ³_¿öêKÇŽžš=8;{ð¦@¬œ=KëÔ8.--/½†e.¿ù[ÿréõ„·Êß•Év<Zú›¹ƒê_µTpÕÙØ™º&ȈY܉4mèuï‹ß]¶q«µqu£w ªªž'éQ¾¿Â”±øö­Qa¯^Ê?q”ŠÅno�x;‹�¤ t`“ƪr"EÊ—N) ôi˜2ªžÃ¾©l©û’Âr£ þ—¨íä Ö5Iý×Ù"a�¤¢xÌé àƒÓuX ÈÔ{ÀcZ)tNÐ*g,þà³(Ñ„ÝÊ’ËaÝßÐe)¸ˆ;‚º¢�2`˜n»Š®&ñŽ(õßí9SÄqÀ9,Ƥ)ìý:Ùs…Ë­µ 8ô+ôgè·òÚ[dUƒ`Ž[¹Þ]Ge4ª€Æ9Eh˜^gÎÌÆÓ µÍlìR4 3Y�•ý!W3’_$�6øÿi�€ãÂÊâåâþŠÂ#Õv÷¿GŽ0š�ÁÐËni܉ÉÄÎîæùä4Êø–¤e%iy©0ÖgW^_; ›<í·’TŸÆzâçY8�±ò³O<~ö‰3¿ößþ¿xîÙßý�ßoÛGˆ.éHÏHúO¬Ðã®:aÀ1Œ�¾Îç9¿éï{Ê‚š©™¢ Juôô¢hˆ &­[o÷JÅI3W**ÅiÛ%ú—^z‘ïòüÑï�u¼E©‰Õ©Jç.Z¥`€�Ö˜åϱ -pÌ¥o‰¡lµno_¥4}´ª„©¥[ñëFc»î®âA¡¿ÄJByÞÒå©iú,ÙU‰žÛÒ:9G“ -wú)ƒš?¸‰ÎSJ™rCÃk¬‚ÔeýÅ»vÜò™OÐ9ÒH\øö‹€O~ø¬zM£Ù®×¤Æ„]•3ZúrÒüÕêŸÔ‰@ïÿW?I¡éÙ§“¢©ŸÿÚóü‚K?¸ºð^t� èô6>ó?¹ãG=8sùÅ¿�öíÜê:KnEX9X ÎNÕ0òÃd?3µÃŽ,[;§ã²‡M¤¨=EŠ%tj¿Í/ÀW†RkqÂ2¬�‰¶ûÓÍÔq/¡ÞÝØÿ¶Ï\^nq9¥æ,‘ !aA��`Ó•,�ň�|Þ ü̈‰B·åŠ”*Vw}àöv&ub.ëÆ[+ÎÝÎòK_ù‹/ò™OÃÉsçÏÿú÷ê•€þ|òì?�þ?þÖo^ú.VlœzüƒŸÿÝÿ©E–ÄŸüþ“jß¹€¥ì`ö㬇¹Gçk3Õ£ï;öê÷¯ÁÑ‹E¸ùãë�› ›Škpâ¼! @Väáí…‚Õëí¡Úó¨ÎHß}kµÃ�<×[´]øù€þb{}q_>¦P¶EÊ/jŽe¹Ž^LR‹SGH ûNZN CGäñà匀~‘ŠÐp YT­¢(¤û}ÂT ²]§ËŸ™¾ß÷ÈŽÄœ“pËú×»qæ 6 LHÃüwä_¡æhñ¶2¨E #UH% ¼9ÎÒ‰]:ŒT’[4ÇÅ/û cÏ¡t݈k#!ó²ó¥¼#ÛÖ6d΀sÛ.U6×yéI #Î�‹¤û'©& ™çäÖAvÊ&É~P • Ú·O•&\ùX)•6:=6Ó‘uß š­n¡�ï¡mAr‹# -#yýE0¼ÀNÁÛOä\—.‡YB‹°œ¿+@,¼ÿÁÅÅ¥…™@ŒU®.§N]#ÁBÎ0“^‘Ùíî¾çrv¦/Û;P4Ñ ú™¦¿ ¬vWqÓmv4‹¸3^wÖQ…1„>›üB$ê?Ý/RÿI‚p¥Ç°é+¬Ó6A€º�¦Rè¿{|ô#Øs¹0ž?÷q<9÷ OowãàDúÃñÃ:ûÏã7÷wÄ ßº0ûÈœz#»º5Òb›ªLrÉŒþs�ÌýÑ¿ý" 89B±ßC‡Ðuð�~ùWø�‹ó×.¼tñ3»~ö±ƒ3•³íõ› pæ]WGîOœ>ò3übÎÎc–›op$Í’Ä2Ù¶% `Ýšc1W�Š -ÖAŒòZ©÷ÉëËÂ2xö ™›Å“Ó§ðþ^~ù2þüѼJ”!`,¿¾Ü¢†B§îé_{ì½Ç*åê?„>@é*YÏsÀôßuÓ’ám%>ß©Òd±(ïTºÍgëm´DWo"Ð7Vâ[”šé¥¸ÊÔªV¯L?TñîyI𠽆·×å("5,BÖ…áBx³Hr`®ô¦gŒ±ˆ™Å@Dœî¼Å:˜Ý¨p€î Fá€2|4vóý4×ÖÁÀÌú@Ê.°(“ÆÕÌN÷Ý8çÛwåž²âà‡j>Ìè?ÜòcÙoœÅ -I1-ýù{éD¨¦ÇØîáÊÅøíÈg] -V²Ók{˜´Ó÷Ó”™fR8��Ü,½CÙžm”LÒ®ÙõÞ€TPe€îÄ€E¡ï.{Á]TMÐN˜Éö#||1£ô‹"ˆØlÞ'BFc,Ä»lyytvFتŠ. ¡¼ƒ•d,'€þ þ£Wç‚=”¥ÌQÚ×ä¡÷=Ùõ�mj›[)®Dè÷%¸øÌkl絇%} 3ŒY,TÙ'úOt=VÿQ ÷ï Ü¥ûpÑ2AI2Àß -àadñ?ÊoÞÝd:{XÖÎzÌþ_ÀC‡�Ì:2ÇZ¹Äècjr§Kg÷ àŸÿ¢?œìvñx—Þ5pùØÓñÏå7–�ÌÍ=÷Â…ÇŽ‡Š�´ h=q½Ó˜?öÔ…o~�€³ÝÑ*[üOýº%{úp¬¶0l×7Á%¾”$Cz ¯¬K¤/°ìd�0¶ HÙçsÂ,›y‡YñoRj‹ž‚Ïòˆ ¶@?[ ЙÇè¿t¨#€þ 4¶D©g€¾jÙ¦¢qÊlq†þô´8¤qƒ]ˆjYLÜÐß&¢BÞä(±ãoó¸èä÷w{]x¨È3X~˜PVèy!)¥uL}4ãŽ1ƒ-Ô$~îpkõà> ?SÕ -|×£}dHšHA7 -‡tý€"„e²ù¼‰¡2Ì» -µ +¿éEè³Ã²̸¢‘x@•ÇŒ•é›!X$¿9æŸ ÃÎúÆdm†þÙä:Ô¯G‰FZÛ2ûÉ7lln$ÓÇ¥Ï�;W˜DAròøÂÉãÇgÕËÛ»Áh®·MiªWTÒìV/^^œ•ý¥×–?yêÜ3¿ôâ÷®€•pþÛ/ž#³@ ƒîÉRkƒB“Ü‘ªuÈ ùAÙã�·®¾Ù8ûþ°—g‰óÖÙtNã9TšT¥¶Õ©¬®·Á¸öÚ�c�¢®ªR»`aÕöÝaV³}_ÍëW{wnXÖƒpÄ�ŒÀm�µÌFÁaûp6žó¶cAN‡l )Hê-zå–�w‰§z$ÔöµÙö5l·¤g sB“ühv…­à´‹aKpŠXšVNfÁê´:ÊPž,hYÛ`!…{o´zk½V­,«B`Èy|‹ñØù±gí3; „ÄÜ\ðqýŽ[¯Ýø�cíÓKeSŒL‹\¦™á~¶ö>ž]ä«¡Óuo5‚{ñÂpaŠÿ÷d-Lžÿ‰c�Ÿûä‡O>z²~pÞ.UįŠwÞ0‰¨ÛÉBòœ$�.?‘$T§e^æÕ«—›ƒÐýÍ  -¦f2L™¹}ÈÏ)ÝW4÷™EËâîªî í× -zý>I€Œã«{Çg&gj&-�dÚ¯ÙÄ]Æ›¿Ûïb* �c×qóqæ¨�y³yH4Ñ£04Æ`QhØ�GÑ(yåÎK¥ÎÇwlb3ðB-Ò$ú紀؜ P¢CbJòÓö¼^É¥ªé»˜±ïp‡SÒm ÉíªEX‚#80&­j8F[ÂËHÊ#üvöBi!—tÁ�ð{¤MX-ºfqŸ¸3eÁææt]Ö͹¡Q Awýòw+SayÒ¾tqñð\½|À’”Â~à†qe–i‹Ö8ЀþìÒ†ÿPë74ÇÁNË”o�$"«ül˜ƒ”&V …~Lì~1p}t4YùšŽ„ÑWS„\a‚¬ã9ð³mìã²/ ŒôÎm: 3¬qÓÁ'fÙ€cHeqÒ†…q¬­Æ7&ø®(Æ/ÁÎ-ÞòJ­¨hH IDATôõnÏ+öJšÅl‰˜‡ª™Œ6ØÂ›žSõñÉà”ü(¾!‰�XÖ |Ÿ¥GÞ0°"6ž‰û)Ú}FKöú©ÏÞhµ¿ÿx¹U�ü]6äO1ž~•ú~ðƒ‚ÐŽSiÄß•ÓÔäâ¾hÝn/¾º´ptöù¯=ðჳ‡¶Q¸¼ðíïÀN> ǽx~v�,Åv?_¿¿úÙ¸7ì—ÿÃW>Mg«€H™fNÿÒ×/ÌP?úW—–X¤ðO¾÷�ø3qù×á¤P:Ð�è;|�‡ˆó‚Õ…©W刜qï@8ç M»6?ñéÇÄ;¸±¹Â ä €pC ¬pq.6§�îoPú9œxqÿá¢m¹÷‚µÕÖ´$hÍVS&½5ÑïW*—ZoµÌ\Þ¢Ú%8†q�^­V)×Pðƒ P—À NÙœ‰Í¸1—×l®¥:¾ï°Sì’ ÐoÛO<öøc'ÎÀóp²ôÚ~ ȧÛFô‡qãG:šŽ-T�ÊÁ ê|¶6{áo%“9{>ÿæâ·î¥$妽î4ãœn3n.].‹6‡wz)³y}ÊÈÎfp -$ç¶¶B.�ÁâUCpN Dg¾í‘¬ÍDCJ¤ºtôsaªWMñ€¤w„w)¾#Ü“¹áà]VAŸ:¸¥Û· - â •Me¹Ã¶É-Ýq—Uh—q¯cA†#/$™Ýà/=�b„>±$E¹¼ »�TY5,¢žJHѬþi²TÚˆ¹<{•#L™íõN»Õ™_8´LÄÑ'n¡öÖzàãËÅ4çÏ`pN"ÍÊoc6%TÈ�¢ý!ŸyÿÙFá}§Šo…JÓ¤Z®TàeHJæ2ºŸ|Éù»’é”L¢" ]à³eÀQž[å¬ÇŒQ6Mö †ÊîÓ©—äÖXAD­/,.€e|’põ÷ÀÛRÑ‚wëÙ!J à;¶��"õòX x˜ŠK^…±PAN…òŵvŠ?c[ºç»nѦ[ãé'Ÿþ…§øäCO>Éè/Þ�Kg÷`ô‡ñÜ ž~ò,ˆbö©�?2àæ›7ëKK¯ƒúvÀÁ÷Ì>ùÄ@ÀÑüIc?q\x•Ðù#sK¯/§Ÿwû¸Û[Cÿ*ýÂk¯-í’ à¤xßlóæó|z·Ó„På¯ÌØn'èõÜ~ßPPÅu £Jnœ"iòõƒ£61¼—b7]÷ϦtaæõèçÜWŸùÑŸÇw¾+qÿê’ ˜ç’e*ŒñXX�±¢ãÇOw»­ËH¥@‰z¤ºú J"�¿óŽ› þ÷h“ƒPÜgmÒeNL˜Ñ(`3¤¡è 5—ù-ÕêÌŽ'’Ç:CÑ?Å0“Ò°PË‚¢…ÙxI3½CÊ”¬‡yÆB§�”¸‰-ÕƒIUK¥r‡°R£?_{)“ ø%Ò½4È2⹼¸áIèI~Œ-‹PWô ô˹J �×A?(9�;Ôœ TZ|åZÁ¶@óXþ~£2U†€v\÷Õ?Ãû÷åô™îàEq“TЙ8Ó”®ÃÊ[á8 -†PS�Y䦲z-]*CšÀ\�ˆ3É¡{‡PX–×uÀr‚3²ËÈõÐÑ­¸Ø`Í« 6†(,Á1gîøÄ'A”x™"r©ÁaÅ—ŒË’c–^À¿ -dVeªÔ^ïVˆdñòuªiœVƒúŸ§]Ÿ c»L¤š@�ÌÆÉ&‘h�yJ´g¿0X‘\Ü�v‘kJ’µH.M¹(ß ì€2éÅ+¯\íü¸eXré°_Œé£ ÅJ­V?xpáÄcÇß�­ÞŸýX’™óÓa>Ž—¾�à{ê} ——N.Ìצ* ýü¯_ ê y•E{~þȧ) çå—¯ýîÿü[/œùÐ ± ¼@{Ž=ÕÿÍæ�Q€¡_}3@ÿŠÎG÷z øÙ@’¦ÅFÀüað8½0W;øÈt�`)¸±êµ6؈•ÔôÿlÁÂñÒ)ü\W"b¾?õ^ŽcÀ� mÔ_Tœ4€~·ËÍyLN=†uV®¦*Ns¸aÚ婿[è1Ð]wúÙ�ûƒng Ͷ¨üì 8îgí3¬}º™“Ÿ`°™¾ñ‰ýD¸ÿ÷`’«·ä„ÉK ŸeÀÚêÛJ¤Ù:yœýyÔ?ô1ëƒg>ÌϬÝFñ¼pü4€ßÿ_~]½’¡ÇØa0ú×¶GÂ@ €Šq¯É˲¤û¤‚Z�娺HÇݸ—²Šþua�…™ B�²¡®” ²(Ðí[íyj¶ úc—ü6FLö ϳk¨ë ë›ŸDGgU’®šÕ¶-~lÐ/qÙÀâ^úÁh`ö¢¿†å¶¢-¡3ú£+B„LVƒ=,†›–i±Àèßl:prö‰S—î,‚ 8|•ú¾ãI\øúKRJ–¯W«õÚLµ¹Ú‚#€•eY°}ìxÝq]wTÔ˜±3 lScè�Å-“Á°òºÜ>�t®Š¸"ŒÑ?Ä()ÇÞH¸úIãõ`à«soN²Æ°“‡*Óá¼,ýééÝ“©S¾k˜PŠ¢“V×ýùO® -æú#…þ°+×7Ö»=ˆ�†ã±Ñ¶ƽ§9{5ué͉4ÙꌜE^ßEF ÍVçàÚ¸|WR2à‚šÈL/Ý|\a£)Úä!}ö™Oá�;¶ðÈ¡ãs‡á˜vã¤q½»I.¿ClE‡fч㠽å×–ç�ƒ#,Á§>òT�(]Ç)ó_ý+ä³ëÅî¦Cg?rîáäáÙ‡é§z_<áñ÷›�·a=¾¢apt.©ð¤ PÇŸ’IõLŽ`kŒø6h¬å±åóÓÇP7¼ðÝËÝ çê+׎;–7ó1 ¶Tçùü¿ûêáú<Íïò‡¬CC ‰òű‡gfî/çêÒñ­ºaM W¼´ÍY CLQõ¶0NSœÀle¯ï �žBM ÉÔ&3™s¥‰4Â@ÆDìvo⌠Áf{$T‚ R(⢩ˆ¬c"ÎôbžmßëEqjyÑ´=±æwn»—/]vï&Ñ0ÃèÒJÀmìeÅñb�Zf¸ß6Íb×iΚS£!sÃÁÎ`–�»{¶^)ËK×®v6œ³9 »éy9œ2Ä_�ÃÝ”â Ðo&ØxŠ4E[ ¨ûc4i*|lp7G ò -#©Ì”f÷Nc†lÌÕÛ‰øüÿö…s{jæ!é·àùo>ã&úÊ—ßl£ïÑù#í»½sAWÒuø§ÑÐÿ¹¯?÷0Œ‡8û~\aõû+Õ -~þÙ3�_¸xñÙ�}8ýÕ¹=3'âìiB�úõ œZ°øýWáxäàƒo Ä�S sÓÓÕk?X†Ç±÷Ή]ãƒÇçAt;�ú¡³v¹îtI¹iGƒè XºœPæn$yü¹} -CçHpo/Ü9©k ÜkÔá_ËÎG®é¹^D™vÒ“+5¼¿Y °ÏÞÞÚp‚ÕDðTª¤ÑO0+‚5u¾  ª^3ðúðð<€A¢&Íåýa�i9“»² ‰te鞃9'x¼øb⻿|%éÊà  Ì"áqâýl_âo~ì}6¸x ßûOÿ –8›I´te¦ÆÄdê«©º¸ël#g½å¶Jõ"U´ˆÝ´8}E¼ö©+2+Ó¬xª¾ƒpÂR™1”Kn„�Un*AžI@m5Q™ªJ×sŒœ¬•áÌlö¼«mm™Y¥<²fÊç*5Sgòýùqbk`|4|CßC')š„Ÿ~´~ÜÇhkT9PnßÞ¨˜„gÖÜ^¼"mµ—.Êfî+oPNÔ¤59iù÷¬GM¤3y 3ÓYo9w6ºwÞæ'ÍœId¢Óp|êƒXAsæç1·zî‘„üÒyçþœ»Ç•Wç�,pêÎÓOžM[ç¿þ¼²ªöòÅ‹ û™?�…˜Øì€iêŠÀúèÜáƒá!ÈôN_º?Ÿ€¸±Öúܧžþ‰¿0^å°‘â(zÊŠzöcg�Md€ô»¸&“Ï/-.ßqpŃð™_Æg°|sÇÿç[R{ýÀñù~ûJ—ÍFšJE¬Òq9G„dCùØæ�\žô(ﳸÆ�)P¸r•‹~ ™¡ò¾ƒì%—PF)ô‡øpN #1  ˆMì­+°óÈOHÔ¯w½®e–¨Y¶¦€lH‚I�¶×íÄ×2¦;qž%“¬¥Ç™3O>þø“O>ñ©ä©X _ZF/P¬þËqâØã úïÊÅ$R|2‚ {òÐiº®ªdÔoc�"1ÌÆý,¾ÃŒ„ubÀ ÓQÇÕžB•£Å5øŠk û£iIGkA•@º ŸówØ¥ÌÌkôÞ¬NþÅÜ)ÈÙÍÕ¹¬þƒˆ¸ôÄ—¸;ªc�jÃʱ儠,à ‘zuáõååò}åÃ_ºsézì”G½ž2 ž;�à^~¨íœT4ë¸ÁÑ$÷bG\ý� ÿü±Ãð˜0ÍMÚ ›¯P°0ÑwÊ1iЬ:XÊfAVZ9=W7Q -<׬  @° oϦê¼ZÝnˆôsè‚I`"zzvìpîSŸÆá�DIR=x¹¤øÃ�ÿÄ´(pËÉçÌ1d€~6@�ó¶<åÅ,€zmܹ\ÂŽÎèyU àH’ì&0MDý¡’àU¯›Xµ]'ù¡èÓORõµOýòÿ;÷±§f~°\*Ã=†czö7ï!èç(~ Zóv§½ÑZy³qøà¡Cq"¦“*ÀùÎ7¿ú;hñæX[¼vÛ¡×ÿü¿þ|ú3§¦ëÓ÷WkÕ)8˜®ÜltºÎé —.b?ÅÓ§šžñ‡PÏþ›ÏþJc½Å­ÕfÃÏg£D’eÆ Ý$&e1àmt——¯ƒîþ…ïœ{ò£ÑˆK|áiÓ�jÙÙù“ѳ™,ùîCÎj(O¿óò•k?X:û¡Ç/_½º´²ìM׎ġ…Ø8}êøâr£Û»·ôêÒ…—/}©zÛëÍvk�ÛÊ—©»½'êëQ�±E“L¸× - '„YV éø±Ý3­¹˜03:Àü úìðeO˜ ™T[GwË·FYñè£Ìh�nŸ}Gš©I_:g(e;ô£�Ÿƒ-áae6 ¯Šj†êG¼A躛¨ÆNkLÛ–©•‚0îŸÌ,S¤’>i‡;Ô1Õúƒ>mÈM?JÒŠü}f©*›‡ÀÎÒeV‚;ûðìü܉ùGƒ#ÜSbfç–�ò�åûf¬|{—“ví�4„že/LôÒ dºˆÈ‘‹eÉ’À‘1Þ [ 5TÉ`x,*ÓТT¹ w�à ߧy£D¨s¦e–ý0¬Ôu,qÈå»]·XÑAùTÙdjå^¯×~{^Þéô–—׉�±wyC ã@sõø]ú¡Ù -MÕ*½Óõ²^“X`ÑÁòãʬ�Y–ÉÌ4pd–_6ªl›I©“霯ØÓt³:]ËçÌNgS÷I&¡sLD¦èŒYÑ™º‚ â`½ëpK/k¤8&Äã¬f�â>¤Ò='4ʘ ŽaÖ˜ -³Â.€u‚}¯ÑOŸuØ–qZê§Í13Ÿ-ä,ú‘`]…‰º‘ÐC Χ´ ž¦½U#´bk¹Vsˆ˜PW›�� ÑË¥BÔígëµ`¹åÍíÇU׃=&œ–mÁ&š*áÌW`‘nŠÖæÓ3ã�,ÜÍa*á±”jì:ÃòÔxí�7ØòLY\}¹#� iΆ;ñ™MÑÚÀþWþ.ºQ™Ëä±YNKÇ*ò†ÑÅp?~o\¥ˆ]H¼ì8yiãmgrÿ®‚ʵË6¾`åúÚáCÓ•Ér{£S¡ëlxö¤iSÙç°³•Ð~»]¡4§6¼•ý“• -H…ŽrÍw➬ð&g#.¤7}Ò´xuu]Y ëecN�™¡$ŒJ—ªàÚÎÈe U=0Ùº½ÑºÝ�Çt½NY1§ýv£™Þ«‡”ôÀ4îu�Õ…Š®žZÑ�m©¼˜ýKDÉÙjõtÙÅ€�äîí6“çîò½œ¬Äf –õ1ÎÖCÀ,çŒåR•ç„þ'-Œ‘X"²‹\öO$ã‹L˘Ù.Ò¬ZOŸ,¾Ðt+ð¨YíDt6:×—WÔŸS±ûûÜÓOƒˆ=÷±�‚š�oËšH\:€û�;2·oHZ[{WœÿÚóç>þ ýo¾¹Çç¿&̸Œ€úL�Ñ_ˆ§à{Ï Sz@\¦,{�'ß¿º?'„½û°â®N°m™Ä~›º6ëþðPo�¨ƒ¹ˆiëw~ºÿ0þ6ªO^^“¦î‹ß½ÜëIÿàâë×Óol,/Ï•lM øƒúŸþW°&÷OqÙzk@¡„ÐAÐË‹�Aw+‰Ì«ŠbôEæ0rƒ)w£@QOcAo*ÏŒu6?½ØË±#'•˜ÌQàGèÇ0ÙP)¾/‘«×ójµ�óÓjöÖ›ý©ZAËz�˜¯&MèT©RÛ¿ ÆU£sþͽ»^1ÕúÊ*š*OÛ.€ ‡ei1ê?~Ž/Kä±NŠ´ÚÁ=œ%�¯¦KvË ô`¤�Ø•§åv¦Ýq{‚ƒqw�k˜«Àsq3o‚1¹°É~™8ÈË’®!�ó¬g¨™äsþ“ë!8å·�½Hf;P=ë‘d-H¢5Š]™JÀå· IÃ.ï�+™½j€þ+¯EÒǯ\Dfí¡ÄÓ5Y.‚:ê#€¥7®Ï?²-eŽYõEÊ…8ÿè¼xT|éO¿zö‰Óü Ez%Vð$À¶ßv�ÌN·aH¢nàsþ ÅN³qØVƒ;9Ì*ôg޶t‹`X–d`³Ü�?yº;è:Ô -ìÅlˆb`Èam^{^zý«ÁK•<âÓV^wúž]0E®è1‚ 4ŠÏ�v€ -Òbšæ˜Å[ í€ R…ßä?À(4o.YI˜qÁ¦ðcgMEФ -“V³¦ÇNšü6•‹¡_0ú“úÏz> Šç^ÞôÙgëýáÏœ}°žýåÏ,/½:7tî½ÇN>ЍzŽj¯~Ê«ò}RªkÑ©Æõ xÀÉçã”üë¯cÑ ¨ÿ>lŽ�ÏÆžúóçÿ -yüŹsŸ €Ÿÿä9é J=È€ri§Â’îC èo�çY¤ógöþÐÙÿø" -¶@ ìFü(n/;)ƒÔÿËË(™ÿê?ȦÊ/]µ½�•ÿ/mo#GšÞ‡½]ÕUS=5ݬb›Ó;³³ÛG.)îòn5¼½£vuôêhÎ^[N²‚9²òG�mHâÜAÂŽ'g‰í Ø2r ErdÀÅ�r�Eé´'®©Ûãìò¸;G¹½œ�a{¦YÅî©éšª®š<ïûVõ ¹’§X({ª«ëã}Ï÷ïô‡,X¢ð=¿‚vCCuwB;€°¶Ú^gDê¿(ùµ(I%®É¤cJÂI³”éêD)ISžAV­p¹dœI E91õ!åqÄÞÏɼ(ÆǬ¨ÂÖµµ�ÅEÀÚZ/¢Ôòþ…éàö¢T0uL¯ÜêÚ)¼©úyaè×èQ9¨«Œ ¯.�’Ñ?Ý?ÒªJ–¡_õ RþŸ´¸€IO¬ˆ€&®›ÐÂZ ã'ß‹4ŽpF�úF€C™u Ê€àšRAÖ·+©Qã] †€¢hq1E‡^ ;“b -ÙB++2@Ré‚(U”.˜rÏ™=—)5]¥ õŸê|-d̯9’öR`kÏÞF—��kאָüÆHƒ‡£Î�<ÓÜýÖºç‚î?|ÇÛNÐÏU™�×Öš/ü½`à[îxZ4]<óM*sÅÿæ{·Î¿ §°–Ñžê7kËœr¤ª�‘‰zFrÒÅDÍb ·Œµ¯²¥GcÎÑTšGoÆmg 0I£qýBlývîÍ-p\„K´ñ*š3¶­’vxüË[âp9½~]L?'Ù;@¸nŶ¤“#Š -% ‹xÁ®„ù5 -Ùû/à -ÐYÀ0èctMº-ÝÔy‘±±Âп¢¼8Û IDATdmÁX;`hºwÓê,¦ýåçtE,J½ãŠ¥zù ¯½ò2"ÎË?vñü'ϵ¤¨/m†FEX^=öÓaàãÖQ–0±Ì#¢6ft ¯²Œn,3‰xÄyù¥•ð�ÿÙ8Û<^ùä¹ çqÌ­P èõ îº³•ÿñ×óþ3TÆ›'ZÃÝèouó(�ùÄ2¾iÌÏËøbðÌÔAÓ(´ÈPÓ䣹0kN­†üÝŽYAŠ¥ò}¥Ê­aV €Âk«ˆû?ù×^ûçÿëo¸ªQù ©® -Ú�zh.‹‰¸B¥gwºëw?¼7Fu‡�º6P¦Ú;Û½ö‚WŸs™Øs43´”™Ñ(Ùõïz¾ãó^¼üWƒžd¨¢¶\†°æ†”©âRsžÎ³ÏNKTYéˆPuåŠpËͲÓp²,5*:I\Àg0ó#ÌÌTÇ#¬n»¦a¤yf6M¦L-`Rj"whâl0«±àeÝ‘ê¹ñ˜h)ÒþÖðæê&ËÜÍÃa8¥1À̃,ÞGQš+Å"ÞϹƒ¼@3·L#cÙ€t­˜,$CAñnR÷]ÃâÇSƒ®Gá”ü¼¿µš5×]ßÀIÚ'½Õwî,œô;§ÖÞ‰['ÍfËÛø¨ß€2'¿óo®¶Ú^°ÿ‡?\«¡’+Ëò’¿ü äÞÀœ™ªdJˆAšVmÌm£Q«VâQ„1’< F½y~¸×Õ&T8ˆÂG¨�{DÞÑ0î�9ߟsd¿OGL@1‰'–S­yN4¤¦ÜŽ1‰Ç»Øë©Z+�M´9"¾e-3”¹ƒmìè &Òq�CÆp=³3'”ácͺ¬§fU^4¾Ô -Ö†¥Ô0@(Çñ0k‰} uÔºLdjJ@Æa É}i.`ʵIáqêØ6~’"MrB…´y–€Å…Ù¢ð56Xm¢&¥±��¸jÉÆ9Iš‰í]Lé4#1#bÔ» Gô°’\,TûNT"läU¢•%asƒ{"4A1Âïj -+؉ÌEÃM“ËŸ÷»k›q;®  ¯þÛózÀûè+úx©˜NI~Ö4M´œ™Ô¦Ê~ÜŸätbˆ¬þüò¥W¾ú•/ýüßÿGoüMt߯~íëßøæë?ùÚæ}”ogOµýñÈϽ f&¬4°ìr>8OB$Õ5¢L&jÊVˆ˜u›f13‡õ5¡FLBÔäWŠî˜W¾sí«¿ô â ¬�×Þ]�~íTm®­Þ,9#r:7ޡӦ6ãìln;Í®j۲ň��»7ú[Owúuýc*Øsˆ¶)Q€å**…~„;·üg`«OËrŽÙù)Û3âzz,T=(ˆƒÌŠÌ*CK…ÂtØÄE«™Ymélt…ÖI–ë5‹:ê,G|Z pÁÒyU÷-š-·yÂ]Z.ôD� ®L܃ AÏ@´¦³Ë±+ñ| ÅûÈJ7�æ*h/€‰£½XËìs§K]Nýy_�n[ÄU©Å ‚^YÉ8‡YóÊü%¹RE®û 'ë v|²Õ o³ä½ã.F‰²H0½ÏÂö.¦iq"/Ý5j©šhžwÊévÎ æ¦#‚%1Lò"�=ÆÐ)/ƒmÉнÝïœ!5|õÖù•³ú@ÿ­Á‘Ý~¯+ÞÁ(Ð:éÁ3ú|\Û^96²6û²«X«~eÍw°Åy½2Lè¿ìœ=uÀ7ß¿ê5]XA ÎŒ¨Ì¢1×(w}˜”&—+sRSm¶+Ûpš¹ÀR<ö”¸)Km9òa¢ÌAû²du_úÜç‚°«[ò–Ç?²8ŽcÖô™w]vàÀ~Âòe±¯•³nd3¨D…dÌ xÑ¢Ä*Ó1ÈzÆñ–!e ³¶d*�~ s1Ž4hó&=€þ`¬*´kÅVP_ ¤Ômˆ8x|ìv‘¼ø#ziºÌûÖÕï]ï§~þ¹¯Ý¡�g*Å,:ÒD—Ý…¬nKîf¡R3§ì,K”E†5Ìë\1�P'�ü؂ Ÿuÿ‹Ÿ^ô�;a¸¥`èçE'Yb˜®’™z) ¦¡æšý! -*§^´T.Yý˜A¡2á ¾þ»ß|ý¯¼vùÇ/^ùãk°Â'¯\DóèêuÄú·‰ÀÑ_<‘›€@ <„�žŠ*Ê'Z. †�W—ôƒˆ©ú½¹F¬Æ¨�­±i¸�ñ¡³è®}cåÒ—½ùÛ t9=d¢“U‚¸oqH»–{(ž‡TÙ& �É1½k�ipЇƒSw¤ó—¹ŒÎóÄNëý#…þg^h5[�w|±ƒTÌ¥Jƒ›¿c VPýÙC˜o9çY ú)¬(;²;Ï.”Ñ?‘a "¼Ä�,³#ä÷§}÷˜·C–>“nf¥î†F)ZèOÌ̧ýœðÆ‹cl Âè�äKìÙGFtâŽC0PØÕœ¬°ƒ$ß®KžüœÑŸwˆþUÊŒòï2 “ ¶·×ºÍyï̹ì°à…HrvnRÛH¸œÕ8,Áà¿‚úO_¯µÔ'Nɧ¬9M›Í†N—$²¹Ç»y±Øe<ÊmÀ2àÖÝ[åcýësuÞI©µM‰7U§zTàó7¦´°C�‚x6%GØÆ,{Já{ó;ß1g†çž;Ç2@FÚiüc¼-é®ÌšÃ µ?Ò=¥óËD;Θ@I@׫)ÉØE„̸Y)ûHÕ5c·hÊ€À�ßñ,ý~¿e üÉ ?œ'È]k®…7[H}l�H¸ê¿wB~꿵ÜêL -Ì„þõ:ZÑ¥áÙÈ�þŽÍ-AÐ`H%o¸ªT¬¢Ó¥*AžRI|*Ѷ™ø8måkÿúë°S[îì“�o�¡ÿ Åh<�ø…sßsn!“4F! -€QqÇŽå8vÉ…t‡Ï Flßú~—Ñ_Lg§|üèˆ0¢Ýlµ¯þÁïp6§àœúª]õ€þÝ›« šó…úO×&§ú0ÞÕ]„à.´ [Z×�N6Ç45ôƸ0Äs%_t�ê ‡ÜЖaF@p�£qÊê?/ýMjAÃÙ‰ð¦Ö´l~6CòY‚T» êv‰ƒŒÐ_¨6R<ÿ5_ Pÿ[Tè~¸õùéßR -Úã -Ýù¾hJÎê“,c¶ÊCñzw)&Â+Ó� Â�ï=¦Ð”:X„þ¼G},TG{r£a·Ms -¿dûC) RÝ—‰·X�:à #8Ò£”Ðõ�ú�g[Au?ì_þÂÊÈs‡D‰Ðºÿ`'1pý-¿éÂN¸  ØÀtXýu3q¡¢#ÒèQÆNw@Ö±Ó$�iT¾œ¡t4‰6†IÂ} -Á· û b`aô׋?ç°¨ÖþþÜžQ®¶ñ®ßÄá’‰E#£·3⤦4OÈeа«u -2ác\_Ç‚¾Æ\‘æÎdˆrü£Ñ—³ÏF8æ\&)&hîËJ`ZÐÕ=ÌŠ*9;UÑ¥l,òèlÚAÂéž`D×Èb@¨ü0¼º×íR`Ïu5úórú‹[˜‘èÐogxö( -G‚;e*d5DÿÁö¾(„D•% ¼Ç4 E�=Vi.ÛiæyZÒ© Í7Ç`—�u/¹ÃÔœ™�öF¬ºšØ„&3@ËNÆã=‘Í8hZkˆq3ª]‡÷þÕ/`b@8Øvgª²ë¼4ýìRÉu4Q‚ç 3³¿¶��WÖéKTMQ¸Å̸w?ÀzálG;4c•™¡gmXqÞ½� -þ?ÿÍß^]½!vÃ01ƒ~oôÁ:<"wµo3I– Ü#Dr¥+áL�Œ[sºß¿>Û¸ì`$3@«Jð•Rcf׌ ƒ€¼19&ÚÏ6`;Øé·ÚKl¬Ø3.<Æô Å©Rw\î›Ú¼´ÑÏŸ9;é 2§&¹€N!‡©gV3ø•8æN{¿O‹R‰ñ~+Øq‚'<Œ'êöCOx�X±‹¶ŒÇÊa¸Pô¬!™„¨8âý$ 4§ÁðÑPA¼¦óÞÖF*?(þô»ä硺ЊÁìíCÃæ®˜ð³n‰Ò<±“†¦C| Á99 ¢42-vYLPj»ñ êu�ƒ»Almõ@ÅæKâqè�F&b•z6ü—)ÐOi?Ê•�}§5‰ ¼GuGÈ“Ocr8$Ût2v‚ÖɦaÄ Û¹cÃtú>Ÿx7öæšñ�ÄÎÕU&WDd�­ôÑÏàŠ¯pFÍ/BÜÿ6lZíùÕ·W¸O�[¾òïVÏ¿Ôi=åm|°S©=ï ·‡·ol²’þÖ¬��ÐÛ´iê“£Àš³Îw:y¥CTÈn4¢TojÏžY±,A5Îp£$´]¬ÁxÕ%ŽË;ã<� Mì -ÚœÑãµ*ªßœ¨’ôzIcÁô“ñ®Ô±u¦Â�5ãq DÈÝÊš?€Û­¸uÐ…3£êŠ*Ø·$Mw©½»SMÕa³u[By¥–ä™; 8­“{^1¶‹8@J5ÌhªP•…ÀV31(¦°Kì)zÝÅ…Ït¢ýÍÓç™™‡E8�0ùr ï–\�8Ñ2®œ‡AB)ùèT°¬†Â–„pǦ�/XÖ:ã.Q fØ< �D0©½š �GŸ뇅d]Ä(%LëªL ó׿.ö…?+¼ -½Ê³Âw°¿7Qü ˜Ð°ïP˜@¨Q%í¾!B�ÏäÍíKÏÌÞsŒaB±ôgZ¹åf0ð†¤øž[ènÜaÕ]ëÚÑì«?ûék梙šrºfd/s»‰ñ–®„*ŠdXãró–š�‡€þúV»Äˆ;F´?÷CÙ±£¢™ôKW+;PN[¢]Šaxsî¡®^ý¥åú{˜‹ùîûÈôö÷Ñ¥Ã:Ë€•³çʽ龷Z[êt4!%›�y&Ù¾<�C×¥Àc¤„¢ë4š­ÍÛh=Ô›-vkà%9waÅd‰l ¾têlƒªçú[› ø§÷©}¯+J¼ý¸6S †� Bºþ`Ðj67ÐsÞÅ©•bœÃ€mÆîœ4NA%aFò)R_Ötpc­@Up}¿Py®)奰¹À‡éNÂ0¸³ ¡ii-H8hžx¼Ï‡½RòÅ©|j]mÀ­f„ì7`êÖQúë€Îi”Z¬;âg>,A.Å9\œÎ?M”OK)f³ánÝô� …Kv½‰¾v{L ,í;æ¥ÑÀ÷e)ûyþDñ»^½^³çƒÑN¸;€0 Tu&é|Òâo„‡Ý»›�S‹ƒþpg{töÜé÷çWÎ2Éeÿ~Ðß¿À -ÿ½ú¦jz³/O kbå³ÒÑÏÚ=gß{ 7FÜú-NU°Ç4mjjR‚i똀¿›R¸›·´ÃD §jDØÃÄÁöÎû)Gì-bL+/!V#Š¿½—& œvÃ[·7¼ùâ ôs 1èø,wÇqÒ^ð‚0¶e#FÐcÌšªg13¶t-¢+O™Þ)Qˆcë:ä¶²0v’�ÜuÝÒ¸�qy@¯ÊJ^;ÙÛ‹Siátì¬Vrxü—ÉA¿£B:ÝN¨BŒäIJ^êD¦ hlaËI4mŒ­¶«ˆþÁú`÷‡{b±)Fc ÊÎ<Ü -€ý†0<©ÚÃêÒè[�–/�x3ñ²y¿˜8 –¥ àåõ—»ïö�wïË[¸€lCÎLö™ÊlŸ´ £šz¤4j_!@^B­-"jc &u!vÑ0GJö»€ÝÓýÏÿ“×¶ÈqŒFç�Âh -ÝŸÀR‰K¥x1X™YÊÐèw‡D®ßB“gõdøL2FÿÇ./~ -µ$ÿX d@ç…•Z½F÷s©&C݈aÛ™,“Þ À}XA Àºxæ< �q)1ÆÆ–žÅ5îlܽ2 ÞÞl-,r) ?ËP~ÑV˜‘®v -ƒ# œkú»sñXz61s\•ãÃ;49„ËZ�Ì÷?â•Vín¤G¿ìÕœIj}$¼�ƱÆ!pt±”VË ^˜†Œ™ ì#•Ìh‹+=1Š||Ë‘ [t -í‹rO6ÎÁÕ¡ÝF£±¹9å”JK1€DdHŠm˜,úaÖTõJÍ�@½h IÚÛËV¿öX%-h<ô7[Kƒ¾ÌÝ -†øLbú*¨ÿ!ÉæÇ¢÷fÏ=æ´žöaÇkE¾�J¶:¨L9U®üîUöÞÜûakÎ;Üá¤9ï•ýõq©Q/C¿üœ>äõ—bB"ÑÇ9i÷mKzl²ƒÈÆþqô‹G#¨G®|k1Ay®2V›Ìáùfã왥ëß½î¨c�ýï9&ù(ªù8N‰”Äd† ¤ã8g�F˜$*H`öu71Àô¥Ü#–Ty|2ÔV¹tŸµO—"sHüP•L'ÌàÆéËì”cjè(Έ/ÏbMˆOû\›O´ ¨2€ó˜¹‹1 ÌÜ…©×Â@">9W½'dgŠ<Ƥ+~ÔôÇñ€©>¸ò2аǮ -.Ï…ATÁZB+‘Ú 7ña„¼UËî:È+ A4=ü•¡z±�ºà¡±Ô”¯àŧ6oôP׬ªa!Ò�ËÝ— ÊUÒÍ¢ Á«)ÆÜTP”g™ÞΓ,€þËñrçFîÂ,¸·°n)Ãf‡iºÌ^’‘T¨–f”Š0Ã; ÃÐ'vÀ•ï½Ï_½½>.~ÿì�Âí-ë]öÿ  @&»i®8cQ1÷Âd½{Ñ£�á`Š'ŒsÆÌǬJcÖ¶I®@0@ ”� â0VyÕû1¨ÿ`€âèÏk«}¶ûCÌ1ÀƒXûdY¹†-GnY ºAÍe„ ïãJ(Â)J-ïÙìƒg[o°üãN2¸2`³#`«Ô± ЧU�ät! بc§-Ç`á5»#,òƒ—‹rA§ÀG7�~ПW§ÒfŽÜ`)@EeI…mbÔÿ îš@Á´¥xÁ2cÕ·À®/JÔÓ%*\wÎô/ÿb‡L°ý»=Œ|²úÏþúôôú‡(*.}þâ ·ã6ȯH% þÃvõ»kÉ~º¿xo³Üd@ý,þŒ¼† Ãå 퓞ƒPô–’ãŒ+’ræßÎ8€éÚž›z`ÀŽA9þn�3Âu¯é‚°OqÌÉÐ…9S¼À}N:5ÙËÝ1Á>¢¸:ŒŒÂâ£2[Š^¶ RóÄqÆèê?’òc ™aÇQC«�âXe){,@ýÇF»%MA“…0ÜŒWökžò9“0hÕ|d(IS¸„t„Æœþ�Z…âäI'&)Z²Ç†à¤ FŒ,ãD;�5ãÕ‘N�Ñ¿xzc´@÷ß$qbÐKy¹�Ø zöÛä÷gU‡=Ž÷¶Ÿyfö¬÷öž9-nzõ¬þó¼[lF_«s5¼øâS_ç¿V…ÌÖ猇ƒ ÅØÿÓÀýL;d ìÓÎdslÚš{�)�9²aZ ¸Eà#ÿ¥Ã|“qžþÄR8¡Dˆ9Ï�«{sÎ�Öç�“_/Å2]L¸V‹.Rª–A«R5r—æn€Až;wï †ÑÎ(‚-³<ªZS¼»†$\™²2Ì~±ÆÄ”KMøãØ;דgÎÐöúÝö +ﯞûÌËü§1ˆ»Ý�{-eÌ|€‡†œC¾rN“ðZmaÏZýýÖSKêq�€Ó"rÓAÎNx˜î17ËEs�È=Ú·ßûö{7ZOýÄÂfx VgÖîE `´ ‚Ý‹{Ñ úó+æl°sÇ=~Ú2w0x`¤(hsÌLà,4[§L€|šPd˜²Œ‘ ÞÄÀåˆV0Ó@މª�+DÆöŽæhmX<í~êÕ$/<<^®P�w%ÉOg5Ž “Þp’žWøŠI±VkÆt*&rº�4�d?5P©7ù-ƒ�6H8B÷”Ût“½ýê<%3,ŽcÖì}©ê ÷0ÚÝSŒºFw´;¬9R¹ÊAèúÒºOÓb8!åK!0÷ðØã%Ž‹BB]ÉÜëÝŒãØwág›ßi}ûÚ›‹íV}¦Ù½Óët±-8rZMê¡ü‡ß¼ÖÃöÉf�r´ßjyÞB­õLÌÈÕ6r•ŸF®þ}šn%°ÃDyJ-|L÷¹bvèX ®tskXx�Å_UÇ©Îe@Òbš M±é˜^´?pg@Öœ â^Ýõë.‹:Y.�§f –J´$ASn.WyŠu�¼®ÇÇÂóLr ß_½îÕ—E5–µ5›ÎfãFÇ(ÕБBÍJÀ\ÊöbêH ª¸‘^•V­¬gèD/¸+Bg+Íœ’‚�TSfy`m­ê¢š’>‚Û̽šF²ÎÇ?üqüªÅ#|˜íì ‘§ó Ɖ;CyGØO =QìÑä)©¡,̱®�R‰Ú‰ -‚%�e¦‚#�`Y¬à ĵ%¾ÖXršJ<¶e³rŽ)¶xÁ©1­Ò]8T“±»+ÿûÉ• Õƒ™0 NMÁЩÙ8žhX[Xo¤¬“ -¦pb%¿Ø�Ê;\·`P×4«°“LÝŽ"Íú£aXÿú[Lo¥ç'>1Ë:Dp°à{4þñ97Œå÷ÁƪÉÒøgW>nU¬ˆëR‚ÒøÅÑßä#`ô™åtõí›�8? -ÏÖˆ'ôçV¼-HOÓ\ØsýXˆv€[ÊŸjZh&4íÁÒ³ÑÍ8Z'“!H‚mÑR¹¡(qKšSOEßz»ÕË;¹s�?™òî³#H˽ÃA`}X9 Ìè�Ø]øú“²À0ª‡=zÝÿ‹QüÜõ3a)˜Ü,5Õ©™kw× -ß|GzunÞ+jŠ¡ßm¸ƒé cZ0µb¢ØÜT")zjƒP+¡wÐßôN,Ä?|8ƒÅS8Qý‹ÇEü?˜OQ…ß�^yô(ìÔµé^ZOÉx‹Mè� Àœ�EÚÑ èï/´ÄD¿wÄ@ÿþº×Z`Š7Z�ý¥~‚èßýVëÔ»ïDïX38ÀÎ=(©ÈÒD]×®ÓÑ4-ÇVØ-Ã�ÂwÑ�h,ÜŠ´^…�­ä‘+Â4tÛ¡Ú9Õ„U=– Ì™¢Ÿ­Lû¡ Â(�ý±� -ÚGØ‘4Ù$wà°½„Ñßžµ—ŸnôÓ1©„˜fSØ‚eô¿}—èšøä±1=蓘iZcÀ/]Ã}z”ågzY»…©çξø�þÉ—ÿÒO¼þâ'_ùòßÿ©Ÿý›_bîëÑæ{½n·vúÑöÙ¸�Þ?í¢I°¸ä3ú JDîH‚²¿^Nº˜U!+Çú(°wlUžÌ&É&FEæYVñ\9؜٠¿f)à%Ænkr®Yf#ÚÛõöûCÐ¥b·¶HèOgNÇü]�šèP§Æc‘TÅät?º}îGV~ã× þû3?û·¿þï~v^Ç^¢âÆM¤;×ÞºúÒ§?÷/íÃ'ï¯uÛíf�·–žÁ‡s‘šÍ¹ê™ v†®[¢�0`#vÌéúgN7#@sýˆ`Û^šð–R@Ò-RÐkŽ®V­;e[ª2 ̾4ãÀ©Ö`�',&Y‘‚b@›þh -`¤—]4 Š�Š�IeL])cES„¦`Œw%úÃVŽ™ŸûëÝ­írÀ�R:¤fD­ã$ƒ [©Ìdåì ’›eÊ7Êâ‘Iµ2¯øâ¾'yÇ|‘~Ý?ûÜÙÛ÷{÷úƒîN0œdÝ ˜6ƒ[÷moÞïG»Q¿‡NˆgÆqgjÍc x€6v)µ’$Æ$„<Ú˜¬¨T¹ý¨1cq>"¨�mBÙUH”>N8ܪ�4#UT4*ä -6ðHøosùÌò'ÑíS›­ouß?uî‚=-£`'£`ˆAÄ+&ó¤ƒ\¤Èg"†»¡K%áƒ�­¥g;Ã>ÉçªcVk:Ž‚ŒU;‰#n«�'±[oô77¢Ñ°Þh l:5„ÂäÑö0Eö CL ‘ðF|ÇIân°y|>F½ø\£ßm=sñÖ¤åfØ3¤Ä®SçL nÆ#[z!—aÄ:èæ)Õv² -ı9�÷dV>ÈË9b'%´æºD.�>ÍI:Â0N¼Ü²¹½lŒŽ‹,/Ýd†Kó3/Ü)fnr™¦ßƒe6§Etµa0Š÷³…yŒ¤•,3¸æ9|,tÂâXÿp «s˜8‘Ëj�º3Åý~ôÓŸ»üÅWe«Ñ²ñ ˜ùÜyÜfû²Ç(ÅïÞÀ@Ü‹ŸZù¹ÿæçõúêõwo®¾s³³ÔYZ|êÚŸ|çÛW¾!2|b_þÊß{å³—þð�®þò÷ÕË?�l%aÔýÆïw/~YcO5G£ÑùOw`{09À_Dj²µ­rírPB¹ÕM’'ÛÜ -�tvršSÿå(ô£ÛyŽ?W›q³ŒÓ1©*ØaŽH䇰+R]q-×=·ÖŠÆ}ИãJ?ÞO¸µ§9©ÔªÎÏÄ.@R’îbãë öŠâ>¢^Í�SéùÁÚf)fÕ3ØJ3Uo/Ôv‘û;+Lb¢bÎ<Ì -&àç˜�š¿³æ)ú}À�€1SM4W ~“œõpy®iqÙ9Ì$dn ù›aíö¥áY‚÷Þëõðeé7ëd{1U°åK†TÁçR)»¹ºŒ�òÆñNô°'u °qg‘qGØÁÄË&ìk‰fï™WŽÁ ‰%q Æ‹lX/l¬ ôeŸuËÎQ¸ Ó–-‘Ê?cæ±pu:å[?ÜZngý]±là5G�軎p&¢2ƒù50¼ç›ØŠ¤ †G"y Œ}̉r°b£¶x1»¢^“ª¤—1‚å’ȱî�ObÞÉ~kôÒi¯ÿ[«Ëã<ûé3«¬ -T3©¥ 5dÊ¿©bðÈRjV.ž° ™ý?åþ²X-mÏQY§—«ß•>ßþ×ÿôÿøú¡¸Ù·¤Víâ{A•V`9ýG^g–báåŒl‡ºß¶=fn¡BÓÈF4™dÍ®Êüe6+áT,-@Tôîy¢�ã͵ï^…mÝŸ� Ùb€÷ 6„aÛ:¨Ä L Xa°ñ¡h’ógpŸÒ:i˜r¯]þŠŽŽô»�Fkq)ÚË@ÀJ/Âd- ¶ûO #Ñê0VZMÛß ÂæqÞ÷Æ÷1‰Hub£$Ô“!æ–+#tá\Ù+¹!ùÉ+«ùÐ4·­(©låÃF¨¥ŽãhÇ´lT SRª\ãª!7À‚ç+ÈDPù‘ß_ƇaÂðVp¦¿Â}]g‹Ñ¨Ç.»£áÖzÅ€øÓ–ñ¿ü‹ánÿW¾ü+ÿðŸþCøï/ý׿xãÆõO}êˆ� /žÿÚÿþÁ‡ ®ü¯]üì¥kò&¬¯¼ò…«ò&ýò«—q%pû®' ¾ö¯¿ZNB…×ÌsÁ5$ý‘vgÅè�èù3‘¢Ž4´\ô1F)†d#ÂØql/V¹ùN)‰{(«Å²é$[NòÙÚ94J‘d¿†JUìåàÔIÛ•hè Ý‹¸&ÌŒ5©z“em“}š&–R‹êÖl‚n¥lÔ¥ñ††Â�(“;éÂݲ`†ÑH~H7Ï1€ «a�È,"†ɽzĪ@·¹t¸M˜SóÃÕ禬I^¢‡]�DÒh��v“ÅO<Ïÿ5«³ú0³Rx5Œ4’î¾ýèÙtIpRbŒàÈ{™xf±‚¥�$ ƒ%¢{ónçü©Î §o~ã_ñç­9öS‰R°C�ÃL&}‚ðë”�SšsùWÎÑ'Øwü™-€~‹Œƒt_Xîjàú½‘jý�.ý†(1Bƒ`°JY_›Û›,¼êÇͽw)?"ÖúÃ:V'Ð9A©‰(á¾Kã¶�ÊÅlU�Pì#þSAÀ2ƒ|èœØ:5IJ¥€ÎADܶ Þ -ØÚѾ` Qá¶…gÏn}Xp˜€`6£?ŒKËu8…b è¦Â‰Ïÿè�wVW›*P&ɨË.+& þƒ€�îÞo-cÏ΃�³Ÿº8|´mZF†îdÇp2~Z¤×¡ÿWý&Ȁi”,ËQÁgù$™Ù -g&VW$د*GA4³0Fò5Ëkè?eï -V®Qm¦Ó½º‡&-wÁžnÃ2 #C÷™!1€Ï) 8ç†�œ$( Ð!Õ“€¦»a€þ( -á°ß–[*Ê[ãR€ý¬N)•`èz÷ÆõŸÇqõ«ÿÛ¯~ñó_Üêo}÷úw?sAöŠùöUÙóçË¿øót0D¹$@ ÀÐÿâg?÷ ?� ⬿$¾ÂÇ÷v -ó™uÿ£ ·cª€XÉT\Eĵl°è§´ŠI®k7Aýw­&ÌXöË J¾¨Q: H‚ñd+Þ—í `ë0Uêö­ªk[ŠÁ…p¾Kµ(Šžk’» Ñ?„+œ±5fe¨)Ó¡cÐrs]ÁÄ€œþ[">³è+)�+ršë�I)˜4ä„âµ.?�LeG 1—„9±KÁ……,¥À4GEï‚þ£>¥r– žy”ÿëÎQ†®!oÄõ;e‚ú ôC”Î3E_à˜SÅ_<ýüÊ�÷W×P¼w݉WÊÔºÇûø˜à™¹¿àÊ’ß ur¼�% ?l¯üÖ·Dn2ô …þÌ(7V �èO€^à91— ŽN0ßšgÇ `eÛ�9}Q7ž¦ê¸¶~îG¯À}ÝÈü‘© °&¾ç|ÿr�à5¿ŒZµ\-ê³uÞÚª �býÁàÞ|ëàÕÆŒþ‚0î•ÏH¬éÓ/²úÿ1‹«´²…þ©.%U;\ÂjëÊLP�-K;yå>‹t#13íp�z7l(´ŸAu ìXO�»°xêì((’ôe)y¢ûŸ\á¦",C�ã ÃpãÃnƒóOÉãŒO®æ³XýçÉO‹e@&I -EžŠ V\ê:2ƒ~ü"”ÎÈÊ&Ë€a¨ƒ"‰ï»Øƒ1Nf�)‰ÈH�P®8!øõY2.œrÀmÆÔ ²áZ,IrÊЯ�_\ô77@ØÜÿ§øÙ¿õÆ�«îlãô³§a½Û½ËA PÿöZfõÿÕW$‚¿ø©0²ƒˆÑÿ ü¬È°úó.¬"ÙŸˆ²\Öå�L�¨Fß#¸ ³dÀÂþJÍZôd€v @Ëù`G ¡›Û˜#M81Ms?\µ ¸¯3ý9‚/“Ý3s8+R,2%ãÉ­Oæf•ú×Û†æ�¢dG$ „5¯º¢4(©� £¿aÕRÁ<äXú¼hŠ|9D‰ÃÊ©ô“@_�Ûmz 0¯Õóð< ÖÃGÃhDÉqäù-Á�q:ÌŸ/JQJpæÚÃþ­Í÷¾ÛÞV!N¦ÚŽV aïÉ&½ûÝ»¨A¿ñw/ksŠgMHõe|˜Tìè©êïê/Th Œ€î{w.~F~«¿kzŽ4éþñ¾d}(uáÄEIy©—sTË'AÕ¡àÓb’s1r”k§¼>¬¿úÎå _}ù›B mbµû`pî™Eý Š7 #ü.†: 5ŽA Á‘·Ø{u–ÝðQpF¦#«‚HðTRæ*'s�,ƒÎ‚CdÑÉ]zÎÿïÿƒÙŠeú<·ñ´ÞïÞûß„£°Äa;ù ½;‡®Y ÅŸáxçÊ¥WcqÞ©Þ�‘ÉÔ0‹¹¦‡ì{¬3/©!dq·>˜D6»È�†»ú®vΞuNÌD½Ûg–¥å T�¯SôáÎbÙ9(µ¨ MäÛ™óE°M×c©ènUôSR)vÛKǺÉ=Er–ó¹s¼®`7nV×Wo»çÄ·Çógà[<è��<|ìòâÙνÍþ5E¥p�zÛ^û>¦ Äaoi¡ ¶µš;F 3¸°–oß -†è ¬Mg;ðÒ½±ÚîœCš$øJÝ3i¼2uF9?]7ä1O2îq(ÈI…õ�U“{ôX*g>¡ï2[î¤9ÖµUM6ÌÙE‹Â„Io`’sw(ÙÉŸ— ýg_@Q9baø(,2FX3 #ñt·@ƒ sïÄ’ßZ¼þ_/›“YÂz7RGØ3. f•Èø², ܺsË[X ¿¥Ý,È4"mj‰þú˜Æ¬»öQ÷¯Ó9sùú[_Ë'-Ér¤‘Ž’•ìÓüÀdSûšZEª¨P¬¶å÷‚$£ØÐJ–DrK¬é|”Sÿ�ÝRC`³ -åŠRÆ›£,Ø’Ãq%~Ë�ÉÄè¡Â»aÔù‘N4Š`gø(i³7Öñ$�sÞf·_÷݆çæYqµ7ßëë§6E‡ èñ%Zü'à¿×®!è/¶[Kªä¢·ýáÖJñÌØu}X£¨DrF•69Ü3é;` —a5\€\{Æ‹öBWµ8ï6YpZj”àÕ¶ë’œ*VÏ'ˆ6kV^X4&ÁYuÙ(²Ke ¬$ ª9O¥y‡èo©ê>HM5Ù2ˆøña �¦ß@Å‹it�"3†¿k±”’äK 6ä¡¶ ª7œ’^[„’²õw™6Š–ÊeD¿ˆeV°åÇ©È%÷ŽÐÎ¥RÛwþˆ‰xËîå©ÒÙby\ߎ�YÌ#é銭]€MŸØ)B � ÿ_ùåÕ7¿]N=*¸apzÚüü‘{Å0 ŠZÐMùt^S5û{t˜‡ƒtE÷ÎÓ0¹Ð3á¶%ÐJn ú×fÅxO}!&'§«Â”ú|z“Võ|VÎDíùâV×îmh àI ûpÞ%/Ø»wK¬ôЗˆ²Š·A€#Ø÷[ ‚á FNIØ–¹Jü“í.½KïäûCRz`¤4·1' »P‘ë`T®éPÝ M Çè‘͈õIf+Ž×v“I”bݯXeRo}ÓÔîtA2°] ‚­>èþ;Û[°‚<ãÄaT“§éœ°«ŸeåØÖ¤Ö}ïZ¸��Ôo6Yý//̲'‚~n®ëz¾î2Àk"ˆûØì"MT/Œ'†þë§‚. þƒ€íåó!ƒ4¶È'›¢¶Fu~4‹LP!a ÷KªœÎvjÒ2îcvöôÍa¿F5”÷ °êÊmL„-ÑüÕ\;ަ&ÀæÝŒ0l»?è¢ %«qÌZZvA ÃÐHÙí;Ç û‡�ÈÕ@'iQï�K/¿ú•¿÷Ëâ϶lÜ_OÓñ¡ÝYV“¨ r©ÞFÉ ý‘z_.1 Uqܰ¿.ÏSó£1úÁ'wmÓM²(÷ýZ МF‚¨âdH?åX%¦¦q²PŽKw�P:²i •¥t‘�S£P}Ðä³k¦f OóJ’Ž5?¾VáµN£¿àîÇÄ|-Ŧý0úÇ¢Ô@É‘zCÑ‘BÐøL©ÆŠ)Ç9_ˆ˜YJÅ -ú¼pòœ‚1ƒPò„ÓM½)ÑÿÏ´Lµ{Ê»+Ä4Á_y[Ù’Ií±î9£ý!$Ì ?ÿt¯á2Ž=ØQfQqÊAšA,€%ùDšÀ[ëeõ�ú�æä“ññÖ\@!¸ ÷ä(d Î\ÞúàŠN„ÐÑfË{ÌD9QšŸžšØ2ç‡)¦5WÌÈûH�§Õÿà¡Ü)«ÿô‹nN2tŠ+ ‹“-€~?ítœàaØÝîx½nVÜâ)T™y VШAýÿû*éûAÐ î{|ªÇlÞzÇ`¼Ø€þý>~þ¹{|`–—‹/]»öæÒtÅ5èþÓ};^ë„b�=”ÔÀªò‘÷î*’8Pÿaª€°Ùï3ôÖþBfë,è/ÐÀ�HÄiú5ËgD#hã1Ñås²:ɰ"”ú�1[V}H=7T‘Ì—iïRÌÎÕº'*éŒóš…&ÐZvJñF!Št~¸ÑX«õÂ@Ç–äø2d#Ò¢1”¥Ûê -Òxä0)!~t€]Ã(Zð½(ΰúÊ�‚‡¥d¨ ’ uì1¬ÿ±ÝšIL›Ô¢DzX18éö5úƒ°öÇk,Óöäñ ñºÑ˜ à°jÖí2�¼¥*»@t(LÀhSÅ"hº—t|ô™ÔœÃEL·3áŸ@#D•Æè4ƒpýÑy½IE©~Fv¹zÛàå½µnÌXa :>zuî|p§7·l›õúf¯ß˜s±¨�¾¼Ôò‡Èøúäž ¢a§½€Íœ’ıA•ÃäPRü9Ç ÊÒÁ£67pP6Æ{¸f §OÄlÃô7=¯§c§ÖèÞ|·:Óxú¹sêz“4„ÝE0OóZUÞ5€&÷[OU™‚–Á$¥l™”‹L´y-ƒÀîŠÌÎa¬MÆb»\G†H°R–™ -bÓXKTIT›kÁñëÝ%º<`J`dÌ –#‰ ü³Óý ÊàáƒæS˃½Ôõ±�¾J�8Ö/âIbî!ú'±¤ÓJ±pÚ¨Ñ\ÝøÁÕ,>Ól7‡[wüMŽ�ÃÝšSÃæ -ðøÒ ±ß ²þ(äÌðRÙqŠW¸öÃ^§s®ÑìI* §Šý†�,WHüb%ž|ôX+ÄHƒm€4¢ùÇÀg’w˜Ëqø -’–H-çXµ Ú\‚ʰ=ÏïÉ�ÝÂÒ3ó'ê;Û(–„“ìG¢â–Ûíö[ñ~´±už#„Í -Ûn#‚¡ŠB³m>JîÜ Ü†}ýÍ^> ñ¼’µ¾nÃrëöœëê ÔL ³œ"ŠƒÁ”Ìáhg}óžp¤ï…=þ0-Ë1M‰ª—ÿÂ*@PSæØRkÆsÆ]Œà 5 Ü/»ª¥N“Ð1)ÿ¤æÆsÜyxܘk:Ø€FdÛú1'�ì.æ -#‹Ù0 ˆ5%^ˆa­j�iî }¦Š&vÕ¦ê?ä·ðj؇‹9 $BE+q"j†l¿‹DëX˜J”Î&»÷{ âšÏ3dÍÌ�(E&²´$äØÉH…�Ø"I“D†a£±-Ë€¡| èíŠ ,ƒ4JQ›¥vßR ¤$?(æLˆÏžÝ˜˜|P);ÀIJÚƒ‰ iԪȴ©�ûÞh´[*� ¬0ädÙ²çsÌ4Èóá?øèkÎÕ;bzÉgb£Óƒé�JQg]CÀ K,r–JQ籑Ëe •õ<¸‘—~üÕ˯ÿtw�¶4\ás"ù–HdÿKú„)�6e!âÃgM‹æ f"иªûÍ…y>î­¹'Ћ³9óN�s¦áÛ,E³˜ô™íaÓÇQ€Û`_Ä…3'záÐm�< dÿ88ÛÕÄ ·ãFC4�£ À—›ËÄ!Óq®¬¢bº²¸¹¹ÞwDÏÌQ ªô¿ûOþßp ²èÚM/I2€þ†JÊiGè“¶F#Ń&° ¬ôo&Á$ƒ­C °àÿš=fþÄ�âÂòéZc*çÁ2KtòíhS@°oî@ÒQ¤*-6%O:YJ%×¶iFœÓR³¥ò’› CF�e×`‡ë[Çðæ�×s.õa�ã­áCéYnc2Àp§×~öœÅ˜#,¡2‰j?#pÔÖÛ7V›'ø·(Û¢FÝÏQþû[ÃÜzö ÈŒþ‡·a +]~a)Ÿ.£0 0)Щ٘Û#Û¡Ýn÷\ç¢X Ç–öï íõÂBN3¥‡Yvs åÊÄ7gL»($ÿ¢Ë_ç¬�;d[É”žè/ÐZBWFç¹&Œ³ú1Pá]fDP¯DÝ»]ñl�röE4L@Ö�Ù�cÅ~MU‡…ï`?fÍ;åúÚØdƒ£Ôÿç?ƒÕž�ù6@?lŸ¿Ô�CÐý³ý$A§y©© ¾bz `{æS¥îäDÒ©m $¡7i—ê«mËÜ @ýïüèËÝwÞÜb V«a½$ó|ì;Œ†µ™¬²Uì8²�ä3 ÿg]° HÈ2œï—z¯'‚‹.õ·ÀˆD„ÜøwŠU.tÔµcòøýÔš9üÓ·Þ“!¥Íõ"I†ï²AÁ ŸÆ €dRLªhXª¨œå»`ÎDÝ¿$ ä#UmÀð0@äå­^\"7æÉ¯Ó·´¡æÖ[ѨПDRy7ÝVëÄ"' †d¶¬ÞDˆß ¼¬Ûw°l%ŠxX¹‹Àæ«Å¯ëgX޲à“Ô0ÑÛVS×È -/PÉ-•5É®m„ €þÜ5ÅAr‰¶LÊÄG‚à±0;¡�ÃR¿.…+8ã@çx ”j`d†�a¨D8ô�,·† e€ÛŠ¥{ ÅI«±¡IÑc¾sÓfÐÒ¸Å�DÃ�yùE…«ñÍ£F ã¸Ì2ÿ¿ãkòSNNâ­ZéûÚ&@¢ìM[¼vaáõ:�xœ¡P^8ÊøÒ�¿ -ëÇæLçbȲ‰‰bÍB ˱,Å¡«�- ¤Y(F·@œ\’€ ÝŸ—z KºlEûÃV¸S½ Á½¨ý ÂRRX)ñF€€ìóòóî֔禊]>gôXtá³ã<Üýq<Ç,àƒÁ¹ûËða¨ü-:¨…IšÜŠF 2/ÂÈ4�¦®¢ª#0u�ùÊÓT)·ê„£¸F+ÞÛ¥`)B@šÔæü$ŽÀFñ½Z3ÅJÆý<3.þ>¨ { I£Q§pÜ6y�O.ö?ê†ußþÎx4ìœ;/['Â#*À‘ý#f*r0˜F£;¢ê¸Ç𑃥$ȰÅ6Úô<ÇaÔx²FMò<“¨æ6/|þuøïšp­M®ûÆL¤íÐoyñ>öÒƒËe/±˜2�$n˜{0Nرæ/?ˆãƒ0v[ã�d0ÔOÕe;�Ç)‡¶xžä“” Ì›æåÈ®#Ë#ÐÛŸîËÊ,s³ßtjÙóÓ4dkóÎÖãX‚ ã9®ã¶|Ò «±æ„É*1Ä£Ýz×ÊXÆ>9«ð‹uŽ»5lÊ£,ä€iî´ý ý° 8æTQ‚úÍ¥1àJsŸs{A¬o­_ç*Ÿ¶ìp;÷¬Œî¦%ª€µ;«Ã2¯uu¼¹)Sœ»¢ ×@)λAë)© ÄqØVu0ãýaÃGGê0XŸ1‹*~£o .ØéZZ㛈Ša²aZ�±Çª=á8;ñœì(p«òr“Þ”Tl@Ü­Ñ™LIéL…£»BÉžrÂE6NÇ:ÃGèÂöfë‚(¶ÓˆÉî�¿"Z©s­ëHq)ÀÔ%e,À= Âú¾B)–ß³ïÈÌfLÔ¥LtÕ¢ç -ŽA4Sjî²í2ZkÑȰõüûø2sÔ\ûº¾‡q_¡¹_¬Þwf w_vp dD+`´Ë¨ÌRÿ¹aoãÊ÷ßj�¥¼„îñÎÁZt Z3C#÷v„ïÊžÀYBB?õyÇ×/D2ÆYÜk½€åÏý&ëO›áÎÈZ< ~UøÎ0?­}ߺžo~>Ëv³s³ëU ÙÓ£÷6™ˆßÈù8ÅÚÎQŠ.3Ð|g,lv£–`7ŽöS—äG9€™å¥ô¸–¥ý å>áê¢'Ð|Ó÷¥­m“ä”o—Ê[2™°ˆ¥&Û¹Iú~”ù$É9[”KD)¹÷Ó1©0ˆþfÕŠ¨�¹MBBׯãŸJ…мDaªsé2Ì›à>&öéâ€òâ ÕDÌBÅõZ+/_ê}„·Ÿ^æIÈÆ‡‰–9ˆ”ð&s¢`ÃNÛ©Éõý£®çÖ{«ó'0~ìô1i§«ßjšD\+ÑÝð b9 ¯IwmTï1hù¾Ó\Iˆeæl;K -í•¡ßž©EC ÙÜýŽg&kX¿ƒ¬2øZ9¥=™U‹èj“Qwéóן]¼÷!Üã7BÕl�Z°b ÙœþXÅlRzYUž¡.Œ 3’æerã_Çä¯oy ÷%ô/ÿzð0ð�ûw>X»ó¯¾ÊŸ´¤èØzŽ3Þ›*ÅôÇBêùýI´·Ð/°dtmªÁˤ«xÞã)÷…²>~pè“£èï·NýçjÎKÈ¥'xpK|ìRF‡XnâÝB…bôo¶^,¾@AõQp÷³ Àâòe°Òö>¼¸�''ôO%¿­ &阕¯‹E¸/Šƒ½Y,ìâÈ�Í•‘%¦ée˜•aYˆF*0;D›R¢ùâ­9ùðA¹þ)Àýd÷pÝÌ¡~”5}-ú2¢Q  å¥l.ÈX‚náRyò‘B¬üÄå‹á ×þè÷ô'n‰ý~ñÔOÖýÛt#øöýõŸØ4ý9ƒ. ¥XG£Âpœ�³žÁ«*UœFã!É€/‚ h4 åz®k# œÀ¡x@i‘o¶óÂôÇåˆFÍéùŒK�„q\"-˜êPÆ¿uQLS4Ì¡ÿ�ãtåqüØRÏVç‹ý®` ˆ‘«ÄéËÔËät~me2ÚzÄ”G;–Š6j‚¬¬TÆoQ›R…²Õ¾ÀèŸ1½DÉ|aõÿÐâ̺‡¨ßämb3˜ñc¡ÿÏ»è<"AèÿƯ|µŒþhËÒŠŽÍ9œ•«h=…B7ྒྷýýúB0ÚÒ5Òhý#©Ÿ…¶Iš:¦¡Ã|@Hl`>%A°p7þýÍÑâ²^jJ1€F€f=ÊØÚŽÐòÔ­FIA[IJìxc€ålì<’°v@ù®«wÊ%©K÷€›³¸US­F™àûÚßÇû g(³…NðÆŠ5†¯8±â`“ö—Q=²f3vü¶…ö ·–ݬ¯7Ÿ–{ ×K¯Œ†h1‚ó ‘ÎÕ¹°0l�ZýoA}ÖD{`Â-ËÑA‘H ‡Í4ñ.+&å8 -Ã,»e ËŹ†• [d1¶…áDåŸu¼šS5–;Ýï]sªbé̹Ú|«ÿ€hoaDOn?«‹rÛÏ­´«âæ·¯€õ€Á|Û± #,æ2±) ] &J�4M÷©Î$®©>ocŠF®}ÿª×l…Û½þæzkÁÅœÁÄVŒOÌXù~¦ó>AÝϪ –n!ÿxâS’R2I‘3®æp<|�tD/\8á§Ç_=úê0!àäv) ÛÁØ™U³×0›•«ƒ,<Àæ\"#Âÿ<3a Lõñ½îçÒ˜€ˆr–Oµý€!¬(�0ÕÍÊÁPWsìÛkeûTt3!&˜œ{Ã!b»Z†=§‚öBH>Íf³²©Áa£á8æpÀ¬É@4æ—�ÛŒ¢÷£¶{�ã�å^ÓÀgRÁ\¿{ÇÊUßÐ n?õ¬žÎB+ñq\v‚¸w>b�™+z…ë,eßü÷ßjÓ{Q©äÔñq*Dý¤¥D@Vj._Fñr[Óø ôšÍ&Þ Ê<íº‘} ¶Q) ˆ»@»�F4š†" [¿ýêå_ùë_ºõö7÷A™íÑ©° Ë0�œÙ)HÐ|7,c¿û)¶ž±hF‹1e™F&ãùRïrA@±¸ÇϤ–|õc­F)·Ê”NwÜÖ½yáù«LD­î ˜&§Ïœ¿sãm˜‡`©Sz”`³UPhsü9úPùSM¹<¹¸Pÿé®/|þ‹ð87áÝÝY]½ûÎõú|;$ëÜkµç@柑1!Y×bRdÕm9~ÞFh‹o¿w3§w›í½Ó¼ñæÏæ1Úm Ò�2r5�¡­6žÈrT—þœ´Û‹ní¦;}|VK'j‹ËNmpN¸á$ö¬PhH¶"wïNÙž‹”ÚÉKɼ:º€¶zÂø�ÙnÌ7‡;÷„¸¼x¯ÛwqôV9U†yÖræ¥!^F¼èº�0½>ÒyKJB|a.#8 -€Æ‰b QêØ¦ïZ1×Å©ïò_[‹ »](òtØltµÐå¾Á(æŒ~²ùzARÎëgÛúÔ@¸fÚ/Ái[`¸`¸ä….¾Æé’ŽQœn_®Yï|òeÁ}y©�“íáƒRÈœ3°<Œºo}Ó]>׿×m©�£¼—aÔ¨[\ÒŒú»aqLEPÛ>f¼GýÄ)å¶ ý ðjO´uh„ù®á¾`'Áœ6¤„û–ò{ZGZˆmmÇ 'Û]ˆ"©)X”/È �_ÙOãýÄ™±µ}jQ½3æÇ2�mEÒ -!!I�èm{Be¸¥\[˜‹<ïÜ»ãÉ]%Â^Cycž9®ê6›I�Fãz½«m�û`N�Á²Æ -&*¾ŸÂÝÅS—4ý×þgyÎG¨[-ŸBˆ>,| Ý»ø¦ÙÛz?+ŸMágëäâú�Â{Ã/h•Ú4O`œ£‹õ -דîW%„(¿—�„ ÔU7.åçYµR@ûhs¦¨ƒp¨ä˜€ïE Úkè… –#¤ij\ŽÉ2ÿÔYÌùaÑŸãH5ìü@¶ÐD� ‘CÄÌkÒxóŽ“t»¸wWåó¸þY÷øáHÉÇ/€û_ü[vNÝx»¿y{í-IÊŸUÈ®åád:ºæ‹UØ©0/Ãý?e¹£­^ØúÊýûµÿþ—„ø¥éb@�ð¶·Â‡Áò¥¸y ïúÌ�"Í8+Rg_”ég^8Ï;ñîr°�þ¢pç–ˆ»�yN.¿É…uî1|2ºA,–ÍR*|§íˆÜûaos'†uqÞù %7WšaoWÜÞÁ7uf- Y  -{23@x DºøE|ã›k·ßŸí�sW»#½UÀ}ÎÆ‹š…:5‰sŽÊpÈíÃqÆqn_çQrK6ÃÕ¶ZÒž#Ý!5Ñú¶¹Aë~l;Žçúq21àLS,´Nv`Ó\.µjqΆ¢—10LB—üA dSÖsi’ƒúÿ¤+ Àó—à5çƒÄÄSgÎÞ½�>Üó+oRtªÕ^ìïlÒå-öl¶ŸÆ)Úûhûä2Zù쥭Í{I²·øì)ù(^ÿÁFë$:¦Öð½„ÓÛè.ÑHظ‡;ƒ8ÈÛK˽�õòç–°{›ëlUô¬7O.2%¸¿°l­óNãÌn4ÛÃQבò¡U0"Ç”Ÿ]«5‚ê˜0–z{Dk:ëõAýçÆsí§;0ªý[ËE4»ùÔ™Á}<­jmmqgF¼åLý�D¤&wt‘¤Ó:BP'Ó3|»¶· CþÓ©ô¼�“î‰?øîûúVwxyë÷¿u÷S/ñþ°D¨•oZd¥„–H/AÀªXå~æú¯Oúä(ËË¡퀪³~{M^3Í‹[«¨FÀë€ímŽcž=�Ä(þ°âwwÎ$1Z£í› ØÐK9åZ`lïíâ9<çµµdÀ×B3€þ×þkOuúA ´D‹â¦ ʦ(7“)/£íÃ!–*⬪™r(¡^}9Ý?¦SŽª.-¾.épUŽDKfÔõ> -œYÛoº°?Jk–bL�´†F¡þ]@ܾúí3/_–?Q5‘ø“²ø•*Š}X¬êTnç}¢NM¢;'çhšYŒ±4åûR%,ÕÎRY¯a�ApÕ1:‚d—% —4h_ut {í^|þ RKeÎ ,ÓyHëÌJ»(’g B7.1Ó-éõÉcÐÚæ‚�°X}ëÈjÈØº —VñŽ,õuNÚ;)¬ÔüžœR’%òñ~ƽVú[­•V‹d€ãʾؓ¬Ìn(OËtð%þ攤 rÅcz¤F–Óg:wnKY ƒ„ÆInúåãÂöäS‹;ƒþ|³Õl¶@î0ú Ôˆ{‡N5�ÓÞÝDU)ý‹ëdvIj#S÷ ðî÷®½øé‹‡£ïAL[ü/×-o=˜*ìè/öOþ)$‰OZýy‡¥0Ã=@ÿ¡#ùsüÓ¢üS“~´,ÊÇ3ú rþð–u@�“t<‚b@(}ìFØvÏÇ»c÷XÓ=vØÏ.»[gAajLÛ‰<"†nüRr³pR·ÖØéËÈ€ ¯¾Áû Â�^ôð6ذ )Ô9$§JoŸ9 €Þ�B"jFç-å†-Üö®8Hñ¤û«DO€~•|ÎîGõýÿ_—[P›sn¿wÐÿÖÍ›§?‘�ðO ÄeõŸ·ñ®š)�Ö“�[’rº‚p_� ÖáC|û«|kw=gO$(èèÕA%ìu[0ü©þ‡Cô5æ› Ï�Y°QÝéÔwÀ¨z³³Lp�Á¤á‰�¬r€�E|Éi°:UÓ¯;â ÛÚîéxbG1[Cm®†©#L©™X 21ýktl.#ÌÅú—4o¢.ƒ÷ óíéÁO;Í–»¨–‚>‹À± fb¸2Û¬‚.ŒCGÌèÁH3~ѱ»IAe¦³9®cWm&¸>RE0ÙçU›3U’IÒˆ­Hê -À'q›ÍF«ãòäéÓ;÷Î9~÷6š¢~³í ¥KªjÆQÜ8Ö|ÿæÕÆ Ÿ°< +ïa_N1xÄ)»ÔÁc’؆mLÌq³ûÅ®V¸ýéââ¢= 'èÏr�ÎÞh°Õ“�Œüu1Þ�kh_1èg‘Ãð#¢Ç1M̤4Ñ�2‹z$ì„’¬áo»âSYd:3�±ã;o;3ÒûäT#Ðú�XÛµâ‰H÷0,Kd¢Å@4 3cåãäL:3a\çÙÿ�µ·�‘ã¼óÄž®êª©ššnu«‡ÍiõˆT›4¹¤¸Ò’ÖËI+�w•uìµaÜ��Kçl€ À!‹;øÓ—÷)¸÷-@^ÙØI°ÉÞ:vt«•V\J2gi�Ä%M¹­G3lN«ŠÕSSÕU]Õù¿<ÏSÕ=C;RhkšÝÕUO=Ïÿõ÷ÿýû·öÉ3ç6ãY<~Ø&ƒCrf-bNe#?šÓÊgIÿ4ù¼I`­øÃáPb“2Á�³!GÞr©¬¦>“�§¸1àxÁœF[‰QAÍ)í¶Î¶{×ö†ï‚§qéòó°|Í.ðRဋ>Ö{(øzÏ tIͲ.\¼`pî"<šñø�ç5ÙSéÏTëíî¡?²ÝÞà2¸Œìæþ€­<y^#3)wML£%‘�Å8ð’±ÁDªY67d‚ -”‚Έ&(÷ÙWî&jFЩv«V?s–³Æ9U=8¹õ©|0*:ÏŽ - -“cðÍ€Û««6˜>0!;ëDΠ׿íÁewÏ †?»é4"KŒše¯¬’¨ ®¶Å¼�QË™ô;ÁÅ‘æ>K²&?µÑî]§õ•½_ÞûÆòOà�E–š�ÎÝ�?à �ø|+ -üpo?: 9 åïí2;/a¡ £V«…ÈL&Hõ½ç˜«¤UEä6vÝ‘ª(ÏT�Æ÷eü§&Ìj¢rx"KÄÒÆŸ‘5ð\Ê‚á -Ý ã–ÉþÉ*çÌ}ž•Øý"FÞÄè»wæÿ½õSïwº]ïÉÒÅooÈ8’é\ºòìß¿û¡l�eÕÒýO?–ã\ÑØQ­ ¯ DÜõîŽöî>â¡è¬äçû¶XçûÖèö®˜sVY¤d놔&9SßÙùÅNcEì|½õqëŸüÇ—Æ¢f=Æ%Î<$&åýjé"­MÏ(#>y{ìíÌÝ1e:NÃa i)7sŽ A^#Í­ç*�»ÞPƉ«:è¡7YO5 -é3)]ƒ#I£2Ý&�}=§î€б,<€)«Q¥aH¢eÙÇ9XT¼Ïv„›+æxˆniçé3 ¦û÷ZTÀ :%J°Á$ƒJÃGãͧ/‚íí÷tXÀ“À Bg–RÆ‚@úÃuNó0 ›´ØQ= IDATqÒoýT÷àá´# ¼:=”û+޳âøaÀI<¸Gp’°cÍBו V°•°iű4¦À‘ʾ3ŒúaÔ;ÕO4w�•&¨�9§Öš’QsˆÊ6§KELü«ÊyzO•å…ç�Ó­£ËAôà‡áó¸Fþ�C@ðg¤ .�P‡wŠ‡Ò¥z+V‰/š£;b©Ó]àûŲˌçßý úg|¹«ž«RÜÙTv‡æð¢à #k#8ĦNŽí²ôÄð‘'€ôÇ™F ª©‡•$�ýíäÊ e<1ý’ò*’¤?¼™Å¥Ÿ‘fL1_6`àoj0á  S!…�"sEG6]¾_)Ö©ªËu±O5ÕŒfˆìBšžðºäŠ+¢Aô�v† ý½'ʘ8 ¨u(3)[@«%ÀAEÙ-ŽÊøýnÿ9>¸òÒy€@\é=�Bmáxޱ~ -Dÿh8äÁéÏÚàjg*£i&d½§AŒ¿ø+–•.†h@úÃkv\~hk~ùæÉàdgU<|\å3Ǩåè™Îó_*k’øo©°‡ÆxÄŒÂ#ñ!zäZ¬5»Ü wð›5ºð,†Î@ €ô¿úÛ_åÏŒ>‘É�ñƒN úùÏî©�î)™vzû­ë÷vñ�0óÆÝ q¡5¹Ø -Ÿ_Ç pë@Îÿ•u:¶ŒÉ£X-Tøã ÄñäGÑÆL¤¬óß�3Ÿr.% ª 7dÈ5[CÑÏìüÌåâÔm?Å |8W= Æû;åÕ‚hãö7¯¿y­ Q¼^ç3ÉÒÐv½„ÞŒÑEø -+ž¼–³LA¿OÈŽ1ò‘hö¥Dq0pÀ$Å.»�{�¸œÕƒŽ&�§åÕŽ?Ýóÿê+ߤ¢„5‡¬õÃf“*{ŸÜ»öå¯ê³Ù,[éR™/¹aãÒöæFc -[Š«˜+kO,D´A€ôWô™¾G˜“ð”xtmÛÓ öl»‚ÄÚå*Ó†: Ùß²‚N×÷a÷G5nÜØ î\Ó('K^® -ÎOBV€àR�jLy'‡z±²ÐwÖ6@ T? ÒgHA^·‚ˆ2�2:H]7Í 3Wé÷ zX*rܺýŽ_†<¿'Y‘[ëml2Ctr…­Að”à}ùŽål´zûÁ‹þÂÊ ¬:±Ó ®aÐ ÷áesëÍ,�cPÈK‡.Tªz0”QÁB‰RÌÍí4“ükÚ»²+½-«ù$:é0e’Ȩ¡&Ò: S,[¦eÊÎé  æs&žJ§‰îÏlÕm7·T¾*ý—6¼øšÅ¹ù[dûãQ,¥?h‚nÿù¥/‚ôß~Ü-ž*j?©$õô—WÂååiºÔWÆ:H�…bm¶4KªZ Ís)Ê Fêr ‚�-òFÈM&Š…8Æ·T]Œ´ç‹j€¥?G“ -ùŽT=KÌt…Öº�ÄbáÛÎÙçÀuÚß¡l_mƒÖÅ+8ªOK roçÞåg¿Í¢ýÔåƒÝ·õI’,I%¨�¯½„“ùÞnŠj@…Ëþô—ýv}ŸuÀs§ˆ)ýœØùÿ VĽO¤H¬3·N‚ *àr‘Lòw‚ØJæàè[Ì«! yÏYÁØMæAl×¼˜¦è°§@ ¸æ4EoKzÁš}L¡eªšÿêztRÑ2­\e�Á0¯M±{Š0Ûj�àsR×ß…³qˆ»¡Â˜$+f>Ž Ñj€5ˆ~Pƒ ת|úMЍÞÿôN3ìôΖˆæjN´iFih]ê1ž$'5Là*²v<ØÛ‡�qI�ˆßÒÒ?WUú•ÊK“�¦Q¥ÏM¹)FåpãÔ¥²·I”¡´EÙ”±ÐìóØJ,K�ª·”Ú§,µ�íê—.Ê+?Ýé¿ô‹ ú¹=(€¨‚m×…i ¢£LSÜ€6â&?È\½b*BÁ/ÙÐ�È'¸4º›/¿Ó$Š´ù¯U>þ©Î�Óü�)§­ÌTƒ 4kìAfˆ�[¸#´úIô‹ -‘K^YTÈàã*04©Ì-ý…"Uf'Àä� Á -d›ÌYªÎfeêÂpöL3±¸q—=�þrFÍAô{Í68¹)mØ›+ ô/á£GåMµ×{£ £Â´<�`p_Ct•¨\Ë[,9Þ~ï�ÃHÂS®ýîW?zÿ]ý_`þ{ð’·ÖÔ:€ÍVc: -$ˆ: õ­�-r¸¸²˜¥scAIhi‹ dzmÑ0¯¡w†ïkp¢2¨@?—JÀDU%pO`ˆ�éRäO¨ña „õÆ"þõ„ä“6P`w2ÿÁXoÉe»õW?¼|ù+w>ü~§{éâ³ß6lzpä4Åýn·7•™³ó}^V¸«ßJóö½ÙÞ™'¥ú£¯~Y>²z2K�ŠZ µ=‹‹Ö yßh>dþdbËu©™¢åE‘$½ì®æªO x´¬ÕSJ=·ž$]q - , £”v1L8ìºÖN&¾ÿpÜ>]â‚CYšÏ\Z„å¢/��&`…2Ñ[:KòXñ:�ÃÈ­'L¬-‡C-#ñ@âýʺ£«øÆþÝÆ�Ômd¹AfÀŒƒ%ZÔr~4Ç”8áþg{áÁAç©3¶ã¥‡QþDù°¸•‹ ðša…ÛÎåW¾þÑ¿û±*Ô¥aÔ ˜ê0t†ááœ/�y4õ0ùŠE½BSbY *Ü4?ýÔ:¦+×^ؾñNøTßk•ãS€&â�F‹�cÌÃií:¶‡díÂ’Á àøÓ1;27‘mœVZâ]u/)"?µÍ�VÓ -B$�Çp_ þV-Âx‹Ÿa‚t_Èä€Âºfä™Äp XTh£A�E{s¹L›žC+6ü ±ÚÈR¹$Zm{P§xs“GÑj£iSù/hJÔBØ ÙFÈ×dÔE€ŒX! º�92qÐÃ^Et„Ø­õ‹–±—¨ -aT0ª¡‡`ƒ�…�™D½¦N<â0ÕÝЇr¸¨¼œšíÄ ¢Xm׬) t3O - âÛ¦ãe3¬GÐÑE�Y„3&!nX’úMxŸE¼9“[ Ð7µí¯Å=n£ÿéßð�‡Ì¨¡Ï{¾’ß‘Â+fܰ1D6(Œ(2£äRHÀP#´ÁÈ‘¦¥ô2seM÷¢Cä-iC–´–¿òàq~ÿ2BI} ³žV�…ÅÇøQVÈ(µ€ÿ¢žÕ_˜®í€Ùr8� -5Ô龌EðÿünÎÃp?êοxëO…ñ|óô {{ ×ùRš)Ðí®‰(Áû5�NQ0JÁäYF!õ-X—*÷e/ÜzpO°{0 ~ºßÜèa~‡&`@ÙÏéŸ`KEêdV·[k­ÝL=þI½g]×aþð~·½wà¾ÊI�ŸÁ€]Ìï¥vV°‘(OP½1ÒȨgî -<÷<‰¹á X‡XQœ¦\h 5u·µ»›IÚ9t½¦£(Õ°T\&è.íbž·æJ…’š®�S¾Ú…‘ÇT­n¾ˆžÎCRÀÊg¥YAu'6£P+ç‰%ãì6/ ÷ð¨#cGÄë7Ë L~Z„.S±K²W2£”lŒ±(rPÏÕ]'eQ�³œ\ÂùÑ‚Ï ¢?d‘\„æÒ ÝÒÛÝçHô/lÈ GÄ·Ã}û¹òÑýƒQgÅJª*�¼øëK[~Ì6‡õŒMpT·jÚ³‹P£FmVMÊpX¨øô±U_�Ý7�àW³LƒñFBÍÍW9õ1ï�Å‚¦øÓ3Åêºå0FF 5‘*{Õ\i nä-™»Í2­uöÙèž¼fļÀLĹ5ˆ>h…¡×F1yø~8Â3tOŸƒ—@v“�gË™S—½þx+Š6Å‚] ûâZ*�¤qô¿N±/y»½¡ÁX>ñô¶)@É`ˈ6‹Û²$ÇIÑé(PóÉNòYé¼p^½1îS�(çp¿‰5…þ_Q‰GsA$BµB0yÃiD�Gîy\yŒšgh¦ŽB‚ô÷<:sNä³Ô¦å:ü)æa@ |ô—мCE@§ç3ª,£Ö’v8’žWc‘0NÓWÀ ¥e×4ÿù¸]œ$Ò0e%sJâtÀ•—_{óòÓ·þì¹/½zÚ˜‘¬¥*Ë'°yðÈ<ê_íî¢ñ¾|ýq�H¦·ÁüéºÜœ{ìŽPh…” -t`»1XÀA¦X.Çô@e|Àõ,§ÉÓø*Ðö‡ÿÝù1™ÌŒocéÏ‚B ±Ï Ñ à€€³–�Õ ©ci�Á'€YEIUÙ±¼¨Þ.\¾2z€ZÙeಠ->8kM]H…ìÿ•EË(iP±° á…à1°H*”ˆñ‹À¼gÀrŸXÏè3 �ËÆnmÆÔ"ú ³§P äj*X‡X –iư1¡ì\–è« ³WÊÊ2øXsÕÿ6ÐN{=# ò|Õk•Œ{š9uÃBb¤?ªº*0àÚ¯½q°¿çå6‹�žT¡à~(´ånP�k?×µf`�éaÉɧ6¿ô—„„èwd৪_ŽÙŸ*ˆOEE©B,Ö^.íXYŸÕR‘ÿD)L²ËϘV5Lʭǵ½¯~E_¿ÔBÁRäèþ�Q|Ãþâ³/|¼�0¡Á•˃gÈóyKeΟ»/È bãÔ‹ðˆbÿ+~gôà^p|ý›ßÚ£úÖ:S€ÉsÌ -6ÿa¡�Ѐ€)ûðhbS#]!iˆÓ5KÚ$2ø«Áç˜ôq†Ÿ;f—qg;î‹[­Éä�Ùuä1qpTÇ!æKPhÔÓEÚòRÙÚE1g!b]: ²YÉ»jðlpG…€=ªœ’WEª…S²UZóX‘W@½‹9ë}ä�aæ;ÜÞzÿr÷[ àÕ\Tñâüà`=(Phºù âÙÍØ òñà¬îÞúà�ÿå?}þw¾jÀ�z•žÚb&T•°Y1°gP饌9þd�èW÷ü¡/F.‹%ÓB(;Чµçº ÿ˜NnôùH›Ûªë޼~˜¸-êçÌíeñGÊ1γæ‹e€í Ž(Âo’paÄ$ÈýK°àˆyî@|€hµ‚TÉ„6.2ÿ©õÝ�¶¹“—?ºß\ö÷îƒè}‘jÙà™KÃ_bnm°9‡œ˜Ùýä^pqâ€&èõÏøÔ ÷ô`x?¹1£‘ã6AúçÊ·eÑ–Ñ$b#‘g—ÖŒV€.)ˆ©ØXLùZ¢Óì”ÂàÔ%VÕÀ”-\j/£’ɬ˜AôKŽ6l‚T0·•ÿpªK§C"¢•µ½eµaÚNF싱þGD?««†Ò_ èëêhg‡ik‡»}æ¼”M ÕÐþ =KÕuZYŒÜ‹©ŠqUû8¡t4ŒT·v!GœÓlžc±ô—ਿ§”3,K«”V¼ ´ÊèV›ˆU’g¦¹  ©šœU=„—±XÀh/RŠ•L_ŠSWƒ@×]Ä—ê�EIæPÂÑæN°mm,° €peG ·?ºôÜ5d jJ/ÖÖ³å1ô!LnÛ_9ŸÞÞSìuXÕ `�kÿ °kY{¦ ªÏÀÒ:²¿ -xŸ«Õ“8Ί ŒO2 lÛ¤#â²á¢�F;‰“„u /[JÑ ;uÀ4ɦ±×lFFðfëTÏ[m† Ì£4#BÑ~'¯ÿ(Á�àÔ"_[rxg Š|£V30�›¢¦”?£ƒØeÖH°ÄA·¹ˆR5,u Ìw� •ñ,Á˜’í ëG¡Ã49´W�š/‚[ÝûB«÷šÖuq°ÿ‹‹_zy ÃW˜YJÕI�öƒ;¥›fWVáaÒ&&Ö8FÒséÿÌE³ƒ]||rüƒnP#° (!gööö÷o>|SëÅó¿õrçé�ç5í¹¸ýþ›·ß_ÿGXn3~€ÿ›‘¨Í‹š¨ÜËÉœã¬à XHžg²$B‘–]óT ¨8Á­÷0!ÑÀ»‹w“T´ê~¢k|b ¬ûDOf˜ î$ÉM#±<¯€#Û+ ;I²„* -&G,ý½Ü˜·\'",5Ì ä^Ê ñþ›¬86 uŒ cUAA¾Ú4aQ˜40¨«„aï9§åh§ -ÐBÓÌI’Ïo'–Ù>}ž«¨s0Òêþü#¦g8Eé8[e®r‹x~´^�žÁßúkõôõÝaLBp8ÄYêN#)i­÷R-ƒfq:‹C.©«»ÚȰj9ãý‘ —@½NØkÕùеÞ=$ÁJü$Y í„D¦šs�E9wÞ�›È•:+{s§¥e[éQhQM~nÉJø½¥Ä4š‚ºh8Â":ô£ ܆Ï@‘›ø¶ã°Ôl>y©sö QnijôycíSΚÌQ®ã°ÜÜJ&"öaõ7úY‚mœ%4.… Ò̧© ÷r™+¸S¤¥ÖÒZL�sñö5lßåß -FŽã�Çi:(sŠ$Öš¡±WUMUé`›2‘Ži0FR‰c[�OHŸ§óKÌ!úabš5Ë&ÑjH7Õ‘R"Ï0I…±ò,¯¡7†\2uâ’1)ÿGeuXœ–›ºæ?;=|¥úr2 C¯Ûæš[ÌðÊѽ›•­pó•~ðÞß~ûÐuz›*S½öÊ«Çï¶Z�êBL3ÂÈ@›ë*`ßÚ¸–Ö°â=òïã$Ê�f½Ä Qñø`$Ìs!Òü�}j¦’˜í33û ,r0¢¹ F«>€Ü�¾nÔ1…KíÀÙþE…£˜ UveàÛ’ŠÏÀ÷³26fr¶)c¨Ä)Òк}ýÍþ…+0Ü(ú¿$îüäÆÙg¯êÏðÁ˜z˜+VF6Ñ*€QŒë:ùl9ÑÔîâÃK&—ûÆ ¥¿üïºh�êrpÌÁ6øá( -Aôo½óæŸýÉ÷à îâîÇ%mªÚ!¸N"Ц¨ï ¤4LÐ=Æ•í­õA€ÇÝR©Âdž*bÍI‘"8u‰ÈkË„6Pu±­Ùc,«â…`°'ò„¢Á!BÓ$‘ÈN�þJ©¹œÏsžpûÙ€R)Kר)ê?Øn�–�įü¾„áv»e)¯m­èãÑÃ’zvV¡†ve5C¡^R‰ë¸èZ% zx„l¶¤û›É=±gçyÞ$´Rå·m”taÖ˦óxÃv™@(*Ê ®p@¡j'Ä9˜<9¨5t ˆPýD€P -öw¿qe)�Ž—W§Ê¨Ý‹hL¼e‘÷$. ØË8e«‚„us³ÛeÀqFðÚj€E-WÐðóèy¡ùâèÆÎ2éd)ÌN¦ŽÙ½{Ô@£³¥Ý6CYRŽÛ€€×šr²à'`P@ôà üþu-5Öùa¶ýÁy�—KÁ"Œüqzƒ˜ÔgG1B2C,û+ŒøÆv·�®¿/ìà˜Þ ]Z¼Þ;ÛyêÌ»ŸýO°OIäå -®Ç—²Ž„ìÄm~xC@Ï|õJ§×«vtÒ�jñ»;믽±±3Ð?{ñå¯~“u¸eWŠ - sk0sAÃp˦ð�—%óêø�©/Dç)äõ› ªðV^Ƭ‰5û&Gl@:ØX�h]Spgy¬í2­VÓ£~2Â:SÉmÙ^ŒAÕ†Ç=mÀ`®!Mg¤âö˜5ðÑvYp°¿WòåV·xVMt—ï/ÆÕQY"SÐoÝøøÃ›Û7¥Ã…¡>°VA—Ù|¿B…€PõÎKa·R/¼,}ÂÈ@˜ ð@즱«êoiZ*ÍPÅ9"fxËm‡ó˜Mç'ÈQ�&b¡=ý àÅO´HbÈKÿ|)C–ˆO£´šfÑo5ڙ⬃àòo]{pÿ“0Ákâ�ºOt'sÅæªøÑš�”Ϋž?U�$ºQ³ÞØÀŸKbËqÛ=yÉ­†Š�µÅàaW�Â’r(_`ý¤q6+j ú]–þ¢ÖçØ�e/˜G útæÔ’$)®¡ÅÖbrC:Ý[ØÄ–`‚øüޤ+ - Mž¥3«^¶†NE -ŠG«Ëat@.}& Õ€V6 ¢p<¼½=øÛ+ ·Ye ¸ñŸº†ã[½Jƒ,_yù¹¦ç�€—KV0ˆªV»=˜¦_èú@„ÁeÉÑ‘eËtB*ÿ7&¹·ê±ôG‡AÕUÛ+ ËkBEƒÍNG³>Qü!¥¸�ôÖ”€Tö†Ô[pÀWÂH!xÌU€óØ!°P€ôÇVb¶”þXÅ®Ü,SŒ:Ø5Ó™Œ«°¿ŽG`þÃ~½·9V±30ÛAdsèÎOÞîìÉAÇdÝŠ/8àø��‘… =ôïlÉ¢>1“ApœÕ¦�¤eö@íŒÀwö¼FM`ß;3{ñÚ[ñæ� -Ðð±Ý_ÞedÓ €`‡ã—¬á8;²ârwbPo»ß?æ"æ€ÜóŸ_VâkŠn ™Z–�¤Ký�™z‰.,[3t‚ùß"¤(Æ�¨�(Ê¢i »#èÄ zjF dPI_øŠƒDêYµ¹P†¿ŒYöàãGÿöÏôo -<€¯ÿýo‹ÿÿ6Ð/¾‚#:`ûæû7¯ß`'€·8MýI$I¹Ñ»L«eç0ª¼dÁp0Þ"0cIùý€¬býqËF—:h]1çµf©ÆMp`Ö–Cv%Y­7¶ýyÓˆ~xé÷Aô‡’Šý”.Äš­ÖGsÓ&Jç&YîÚkd,Á¼RÇÃN€e9 lÛMӏпrœFRAÁ‚ô·Áˆ67YÛá-×¥nC'–ð±†ØT‘Ç1’âó_(ÙUýº qU©ÞãÙuy*°ÄE!YòL£<«\¨!@ĽdlþÓûæ¢Âé/‡W¥l•mN(¦Ä€®ìãÛÇšÚƒ€WopióÌÆÓgA €ù¯G“kJŽßK;ͲuIÅüO³4o¬¶üdfÞ\k°#%‡É,6Q÷˜\ßk®Vv—]mÀ¤Çô)Êà(>”ó¸Õ¦âÕ0³WŒ�+b`è-;™ÁÁž·æE�Æç¯½Ø -ÆQ0†‘l7�ð( -�„ J‚£–|È4‚äË\ƒˆfcFÓ£Ì#�çlj ¾6³lÖ5…q–Öæ¹k)j³yÞ¤.˜&­Ë€ ChRbMg Ø/æªv›ë�Ý۷ƒñÕ¯¼Ñü¤;útgtžJ»×$õúY¤y*jæésWD&»pŽwwî¨~¼|%¼uN÷ºg_t]´†`=$�½ «Éøàª)ª ë�õ?Leg­�åà“®�U]øFΊûÞSƒÞ?úOoüøOÿä¿þßúÇßÓ7“ [Çyïx¬¶ËÕ|²e{½;[[ãýëIæ÷Ÿ½ØÚèÂÈ™õb“!z ÊPÒªò�9(yÍ\¹•¯É6ø0! òN)zÊóc_9F6‡±‘-(]lànÆQÎYÄUÄÔ#Ûà”�ä}{ {j~ޱ ›ÖÎØ‘…¹EµßF®Ý‚¥p“£½Vÿep{Ã0i·Z\¿áïïßxç/Ï_¹rþÙ+ƒÍJeõ‚Õ_é�;“kŒÀøN9·-Y ³+°òöʵ×àõòïl´õþmb‚¼½-邃×nomësö”Û§ÅÏŒ¶Úg*Ç3ëy‘g.bœXY²NuKj,ÅÕ“a'Qz[7cÉ$+æ¨8œ'ñ“‚8Ç6¶‹gû)–q!ð[×Ú£ÝaúÝþà(:â¶É‰a¶û¯& ÑÌÚ§îL)é†l|`�GRÀò&+2ØßóžŽË{Oà:Möwà“4)’ÈlxIŽñ"ÄhÂ"Âd¤F\>RŽÏ£d6Çž¬5ǬÀtÒ<1,ô¦IŒQÆÕ�(ØsÖÚ¹e˜ -�âˆ'©a‚cÊÂÄ~‹Eà IDATªrxfÝ-c@:zv<\“Ι#ÒAzû©ß^k‹YbÔ]¤_L’<‘ÚQªuL€²Ù!í0ëq`+d€ï¢mÖ|1EêÑ®§÷sÌ—`Ï>ð9¨FÞ‘ÍøìzbK-ÏXùpÈY’g\b"í£­ë{Ÿ~ܺ×m¯w7Ÿ¹t拊nˆ$=[­j¾Äù( ÷dGIÆv¨bJÏòXeqÆNSo -Ä`Ô3 -Ũºkô1©¬LÂ1Iôã(L ]°DÈ3Þé?¸újD8¼dš8+àØ t?9Æñžã9¼OT&%†FÔf²K"Ý ;}Œ·µ‰¦†Q–Òãø¶YqŒ@ô7N­÷/a¢bDý~¯¼òZ@ƒAµºgÎ�vîÑëv�W(~J!ëõz¿ßé`|y¬Ú ÄqÄ žËõ(fè‘®·…Ëöxð)‰X³IßûtØ{zðòï}t¼¾üÿxWQÔÂè%‹¡¶î·Þ~“È—0µù…×úg/î~rB'B÷_âûQË×{³ŸĘ�äë‚é –Óãù¡éä«Nó›ö‚™i¨ -Æ#†J󪵂l”°\/ŸꪰBP9;‹s©º�Ü¿÷á6¼àøÅ—_¾òÂËWŽQ„V7Iƒ“Ȱ§¼`¦r«¬jø¯=ÆKW_€€€Çqó¯ßÞºþ¼ªì•ᣠùD+|Toخ̳Ìó�öúÃ)L †S3WZ5Î#î(c¦,%‚ÁŽÆ¦¸`V+~ A`²Ob#TÎcl;ì£ð„ÇÓT`_ål@úg²ï8b�d�_RB­u¢‚WS£‹üÒ¸(ÂÏ1ÔêR7D‰;`gH¥¹Ô#Ca‰ÕÕ¬Äßýƒ}ðQlElÞÍ��ãOµ,Õ^a$–­Lö@5êü$yj‚%o�SÍàÿÎ1¤á ¯ -Ç ìéy kdù£í©þÕKâÿ!ÎJBÊ}‚½ê0;sK×Ãh|—rrà(0-¦¼©Z•šeap9< otæÞ¥³ç/k5À›TŠjû‰L‚²©ÊÆUÁ5˯½Ðµ'õÒÙA•>ãÒ°ÒÕåˆ3hPJb‡âw¼Oë´Ÿe튪7–þÌxÓn¶@„ÅGEKNk4�Iâs‡a£Ð7 Ǫ³ 7æÌ˜&¹€8`Åú@(Ô¶ ¥¦¡®–—pÞ;›ý®¢nÝÛ¿;ÀAý”ßí| J®Û?{å¥×áÏVOZãÝûãJ'îÔÁÇL\AãŸÏó¼ZÙä¨Â`Û°è5PåÞÙýÅÝþ.€øÁÿð¯oüŸßß¼p¹òŒ¥èù×ö;oÂÄ3ˆ~N3D�B�þK:—å¡à5_˹UÂ|YÔòÿz¶4ÿY€ôçʳLq‘Ÿ9×dY:º/£ Z`¿ßiÊ�h°.”M¶:f²8BЂe3…PÒ™"�!h£Ç‹~AÔZãýÝóª)ÇöOnÀ @\yñ•+Ï-gÌD¥ðÇÂIBK§ôØø¨"œÙö¤ 66ûW_ymëï¼j êÒ“Ðo4ÛìÕÁÞu\SU´¢ éÉ<ZCJ™7MŸ -M%ý‘ä¼ns¡_J¡HseU�ÐAïÁ23Å;’fS9Qïê¦×lG�V4 Â0ì÷ûbq &KØÛkMýA€%p%ôÓL¤Á< °x -’YÍ'»ðʦ!småFnQÚ9šŒÀ–G…—–�8äþ %Е-…™P[ àð -Èð_ÍÁ „d„–Ç$(ÍúÉ�ï¥,ºÖ -ø׸ÌRDdêkH°5žNªW7YÇ@:`IúKQ®T¸üQ.‹We•¢’J´2Q•Þb0ízÝ®+!Ì.¹#*Üz\p]íÎÏoà Ô@ó‰õþÙþæYê&=ÍØüMPg*DfJÐÍuKnŸ,ÊÀv&?€d‚‘ŸÂ,–î¨ÌR”åÑq[ÚØŠéôúã=Œ§ÃþùßŬ]¤Êp@r±ðr]Ç÷NAç•$³®“¿Î b0ÍE¢¿M×h -ó_rœi‚9eø§ÇC‡êF -ÇæÅ¸I‹ …iغÀU‡€’†Uó¤?ÖßíÉDèPTù­*¡4 Ë‘ÛV#³ÐÜó?¤À‹Hݯ"›FÚHI¸Ø À¢èY*sàœ„[Ù¨B²£Èô"=z)6\\+.Æèü<_Z5BÅ6ôŸ´#íwew3b䢃֛‡g¹N>—Ý“•”'T~ X2e€HŸ_¦ -8m  -5Ê?é<ªþz–Îêv]ß‹P™=³Ô,$¸Õ€2éIHºPЭSƒûŸÜß=» j`ýô&¶ûžD+­:|�ê{‘øÁ˜KLn>/òŸ Ì„¦!œÐdô§F§¤YêÖH7ÊË¢‰ Ò9îmÆèÂÙâ a5®�½„ Byc°h&ƻΚ¯æ©Îî­›áçÁ¥¯Â1‹³°¢AN'òïRm*•lðb1«ê˜ÖÜóC�ÿ›ƒj�:uV ÐS2rU§,1óš{ƒvCrjŠ9ê-ËÀ(QJñªõµ+¼uà,–cÚÎùk×,B KìþrçÒ+o„ãÑd<‚ýÆÀM¼` R Ü7j٘ʔ8Õ3çibS bpœÀ‰Ÿ…&ÖÞÞZsÑD‰¹²ž^ž#ßR£¨)ÍÁgòDÔå”ÊjT_ ×E££þ™ ·œ·oüøûoüXà8îö;o³cÞî .´(P Âk´ãiœ…ãxI!⢖GÁH Q°§1 žÎ.Ò„k=Q.Bw ^ø¿÷>¥…Á(©¬™d&A�ƒ~àßÞØðZ˜ÒÝì÷Î�“Ž‘í™g¾¨Bäõ’ ÓÔ.v†œ9LЉhbz,á}¦–qLO?«9ˆ€. íï¶HôsŽš§¨ƒ3štÏ]Â&eq4™Do¿ùã[\?÷Å —_¸véKWq!8|/˜ù�&‰P ’­u™b�%A¼Q¬•c¥ÌÏðëßúÎ+o|m8¼óÖÿöƒm*>ˆr†Õ@m­´çÕJ½$5ÀýRjá8Oç–¨›3Ó*æ2Q#¾*ר¾L6ç¥xKR–Ákæ3 aƒÔ>?@Š:BõAÙÍ&_7–|^t0L>!›“ÁÇ"d'9Ü3©vMÚ<—ĤÁé±Kp2Xí°ZOv©(É�%Ó°iaÔÜ!ÈØ½®Ä�AW,M‡éŽ«a•,3íÀ -õÒyÓÅ©;Îé3YasJâ÷B¾[ 9Z²ÿ—rá€HU€|éÔ#Áäø?ËÆš)y¥ bâš›ü-›š kyMÍ rmãÅ:/pÁÏ2.(£: …‹›/GüÅ®“>"•“)ëª64ª­ÂσÿAP4C›Ø¥HJƒšü0þ£ë� S¾Ïg¨ÜÑ£1Oô#wÿãàþÇÛ›gÎô7¿p!8Ld?.©×EŒ‚¢r%7!52DÞ48PDHö k°+d~B)(ƶk|‹àòÎ8fªBýf³Õ™ãF» ¢_žLK—×m*áCŠn aP1ëÝLWÃGÂ.'¡î0â�ý‰GÓ(Ê SRGˆÇä;UöÌì:\í)hÙëü�iy%‚¥fúãHÿÞÓ '8…ËÇ,úaÄ�Ê·&¸†ñ0³H[kílf1ÉHÉÁ`NÓ�\aöñÒ€ÐU‡¢R—�gÚRdÓŪ#‚w0:k©;éÒÆ¶¿Ê„™eºN³ò× -Šˆ©¡óLa‡Xh+Žhx”d×sn–©Ì@xbAaª†ä a”ê¦ -ë<ž -N©bƒ�Kørª,Wm¿Jx«Šñ1Œ¿.DÐÒS–±„"eO‚{´�¸�ì 0V -ò’âØjàÉw‡þE€ÙŽRdâµ´>€G让ŠjÉÔ(/E|bõ,˜¢&BéÏ¢›âÂÌ— -€7‡‹è‡®ßœ¨ ÿîÇC�þýs¡l[í‚¥Ä@Gèr,œFÌ7-jÝ_LÕ¡F¢.ë€2£¨q¡D€?Ɖ圱ß;üK[·2‹,±¼›ÿ��3cjÕ ÒB“žå>o^Ó‹¨zÂZ±’¬ tñJòœ€Då 0 ¦¤?ɼ†-¬jAÒd¤ÀsÐ�ÈHéÅÌÆŠLk©×òO˜Kv>‚è×Ewspæ‹—9þs|k7ÛÜU¹¸Îsz»?¿3R^í;ý3”óØÿpŒ¦ñ½;ü_%"«õ|tuÃ?–aã¿vÛý¿ÒZsF»¨ºý‰I�µfËl´ŒâРI<Íe?> Ö˜%Ø•žÍØÇÕ!bëqÅ­÷ß…×ÿ·âÕ׿:àÜå‹°O‚Ä÷}Ý*d bȱ�´H‘öË´¢ yŒ-SWz{áï~^ÀïÝúë·¶®¿Ãj@ãÍÓ$Ö¤.4iSÍ'mµéƲ ®¤ ²4ÇœN&‹¥ø5¦ÖJÑÆæHx6íT5¥®`/f1gôéõrüNÁÁ&6Tmæ?UŸ0)…ô ,ò¦Þ ÊÎsY'Á! G�C»Õß›ÔËKªÖyÉæ�È[#�îhUhàà‹’š¿Âº¡ÀOZ ŸIÀ[¨Ž}é¦`þäs޼«kЙg ì1Œ%eP†øçfÅ8nJ¨pe°Ü7ˆÞ�òÃvÉ!"ˬº -T ä×ß»?4WœÞ/yóCÝ#™†æŠ ó&‰ ³ižÞÜܽ}·ÿÌ+s¢il¬âÕÁ|�gq‘.qãÉ‘€±t’Tm -Þš­–,¹*þÓtÅ®¤ô€ÍÐÄ¢ óÁ -±V0ðEE�lŒ5Í›Oެå¸ ;>ô‰cÝårgç§ÈÆ×}jÐj¼;ôìž{9Á’®nr"�l\4{r©�‹yŽˆ®5aÞH_Ÿ�í“q$4™"\k>ë®#0ûd&ÓËj8à>­L†Rˆ)ö¨ -)n•&à¢y„ŒŽÂ±Ègµ 2ý̹߼÷þuP¥?HÙ‚Yš-rÑÆöì�KT’OùyöLÿìÙ«çñ�þ_[{÷ƒ$‘&A²èZÓ`9Ží:V ´cÍ �'©ëbá~†„bvåsÉ¥9[!H„)c¿êÚÃP` m%�„¢žz®=ö‘”ƒ�Žëµ:]·ÎŠ“bmŒø¯mØn#‰ýX‚³9IFŒbW%A² -d"¡qhŸê�ogEosÀ�ïöÖ»ðjv:ý ¯þÖÕk/ÉÐ�ï—ÞO6KlÌJ‘‡^'›n†˜ÞÔM!Á Å -¼òû÷¶é׳s_<ÿÂßEíÍÿãûÃ;·ÿìO€Ú…SÄÊ×a~� (æBQÙÒYÌÖ …ÕG7nÔL‰gUmœ3T;_Ϧ1µZkÂÃqOõ$Ù½i�íéÒ0Ì&!§Ô1Û†Æb‘=ntƒ¥Os>Ò=Õ ÇC/mo×]õ’Y‚]ç½fðp$ˆb }¥ùÓwÄ;ͤI\$ˆ¼˜h�0Iä܈‰àÝ8JÝSDÈ1+02K¢ pá‰`â�ÎÀ1R‚3øq.7åâ$- wÙ5Äw–¼d (—Ùäš¼`™ƒÃŸÅ ±*6ÖÌb"‡ <�[H¹økÖI¹ -䉥(¯ÁãÃO昣¨|`ÅJ#œr6üºV;s¼j$¢¨s"\ت>6¶ô ðÞ]&øQ'Äøy*—ðøó=€@U3ú}Çs’ˆ=¾²ðJ(éÏïÈÌ!ÿ¯Ò*É¡4'� �`&;‰KÞcXrÔÆ �(rVqVä*‚6rW]ØÃËkµmŠK -Š‘±€wRe¹# SAwÁ>Jq)Êi³�¥ÿÂ%)µÄåÙS PÇÔÀ�‰dZ[ñh—°}º?Ä+ßm�Þ„ü o¶NuÕ�¦<\H~Y¤º£7NáN³ÌkÈá~œr–ì0…²•ôªÆ­òXô-ø®¶‰9/;D#ÊRŠíCïuŸ9ûñg÷5Á;+w®¿=c³ÂhèR­ÙíõŸ½šS¬>ª%¸w—�BkË–>—Î;¤@ú;ÊQc£’Å·’>a˜•б$Ù€Õz`ÜüYãz× -ü.‰£ýûCoÍÙ¾� �îz«ÓFEuö7N@v²A�„éiÉû$¥ªë¡&žP>#nù:nÎüT“ñÁíëïÞ|ûÍ­—®ÃŸW_~eðŘxõõÀ܃ùçà0˜Ã�e”`!Žò;8Ðoü=,Tþú?üÎÖ{ïÞ|ï:ì«çÔ¨¡…f jœyÓ«REJ]fÏ7‚û¶° g[ÎðçDoþÅ“»BZ�¦˜g²?!AŠÅë*\¿! -o —êàü¥}bÁ ->ùþ¨ÝÚ�2ס¬)6­´´ál˜H©ÆO¹¬ÕRÉÏiFI¸x9$ËØ®/Ã.jñò¶N -±�+ãÅÇX@QÐã‘ûòœ O)„r”H¨ -apÆt]…>¥¾(åW>�F2ȧ:î=ð>‰�„Ñr¤ {Ï¥ñRƒ?ûX10H¸B(À 4 ’zÌò„ zî�QÖ ³ÈW¨ /Ä´4¼hñ±–þ ŠH3­(´ªb¨ Yy,©5-0HÿÁsW†¾éß}zj !4ó­GqÄ%Çîjé�´€«$®¹ÛŸÜþ 1�¤™°+U—eqõj—ÒŸ«À¦ 3%¤H23@q]ûúýàÁ}�þ°ˆt<Þ§GeƒMm>N´WÝài¢»ØV°ÚyQ£*êµ)×añû�Î:¼škÞMͰ¿öÊ+—®\»D]¼»½« •ETùa’ž™M޶¥¸CFÅ�’×óêK¯^E'ã»ÿæüï>øËñÿ2ZU#++϶¹C0½„%ÒR±•ANì Odöp;­S§õûÑ¡—-逯�Ððgó€FLã.¸W%ê˜|”ýƒ;ˆA"N@Œ*ñO¡î–Qÿ°º`X‘†Hé*]l¤£²Q`¤9 -¦‘¿Ëp,0.ÁÄðZ-î€$¸O1±!ÉÒB0IFiãsvw¹]o!÷99¤–ZhZxS>³ndúØ*Z‚mîê­�‚4Ój* êŠj—66ÿ…Ê¾ŠŠ�¯3½¢R°Dç§?_r`(é¿t�X2O­²�ÁBfM‰ÛJ⑪ ¥]dК ŽuBùc,îù»_MÙP’S-F îkíL-o°¾á�u€Þ˜õ>ŠN¨øèRJ -Ô€MO%‹2ìví: àÕî´©ÛQ¢t³~­É œ—ÈLI_§™×0™cF[ç�`ÎY²¯,•¹±š‰°‹xžÄf#»½¬Q¹7=Xýß޸ö•oñ1è–þÇoSþÜ -«% F2<S¾Ð5 QÏü¯Íd/N«WhÃ�qÒëŠðóB}Ø+r®2—~‹70ÿù€¥?øë}÷‡ñøÁÞ�Ÿn]|î*È}6ÿa¼Èòü…;åMÕjT—€´iÖj•ùØe¼ü µœrKs¬»aZv^å[V×®Ã|ðÊúRž®{ê±ÍÍ…|‚ÂQƒjK¦jïuÔ÷�I T7ºý³›·¶%þg:à�ßÿSo­ñá¡Fy«+G?Àª™dþ“­W3@|ÃEMð÷GÿÅ¿â_�xÿ­o¿û¶Î£0¶Š�³¹iÕ¥àáU;€;²é¢8Š-eBykmýpÐy¢ /�þK×PÍœq ROWN¶¥•Ú‹è0äN­'»ð -ö÷¤õMYSìñéyèIðõ”ð<ÚçÜŽÛBÎhü^—:aD"ähµ¿¿�IN�vz\ëEmÚ³¯€#¬šÂe¾—/Œ>oÉ}®ý3èîi’¹÷D[<óuHšÿä=(" -)œ5,§šã]ªš:ùò+äqù¢�F>†¼6~\&‚™uJò*ˆÒºgJfY¦ÿr$üÁ�BTrH€~ì”ר CA+Azûò! ûßʦ‘d#¡fž‘¬”±9ª` ³ÈŽdq×àÔÝäp¯èÑAr˜x^Ó(°ŒÌ†g‹ Q-°‘P¯€mÃf"°&ö1ÞȨ¼~49[²Ý6†³bòôŠ}P6&†81Ô%ŠšeaŠ/)Ð8v-Li¤ ¡Â^ÃI “z°#BÔ„1`/`†âëh9¤Sê$S§úïfÛ1Ž�×-We®âº@J}°¶Ïëœ9…cØï;Ž{é¥ß¹ñãïà 8N‹‘¯0Ç}0Üà–W…(Ó8NÌϪ#�”c;Eš[«œÜ¨#ÈœpXä52caÌ_pœI˜JâƒE¶¶æÆq %Gn±ü4r­W¿)ÐÂñx¼¿‡1«[ÛÁþý«ÿÞ×vv~)�Ãu²qû\Fa: ù8ÏÁÎc™µßÿ,†g‘gä²pmÎ÷‚þ{B�,ܺ‡1%Û—€ n›-BF–n¹*lFÚ^~§Èu�™‹Šš‚?3ÓaÍ,æX„ˆ}¤Ùp.r�H4OÜL`»T#¯šû4!aÞ8±ˆµ·ëRR” &’´*!\#d¤�çÖ*I´ºkʈJ —®Ì¼9Œ2Ucfél£7€…M&7¯_gŒÐ7ÿÃ?€ý«¿+9ôo¾wãò¥çõŽ“ØQhMäÈ©O·`Uª¾³y¦eÄÞÏoÃ#xáÅáþ³þê­Þy ö‡ne=Óôñºr ¦|‘¥£mJð¼0¥a ŽÿÊ3'“$ üKW{�fC_§UË£4E’gì^í‚Q’E!È“0c^Y,' IDAT²I=wi1ÏMÉÒ˜ôž�epè�†Ã�g6£(@çó)¸�: ¥ø°a"}F�HŃðž6¬Ö^¦,&—ÍpظÉQ ž@t“²{�Óx–ÕmæHà:mǨ›hg¯X9 1ä�âQ-òヤ5’Ás–Å:¦ô'ÐÃpP¢Î‘{3Md{LÏ=¯àpRYœÃ�S]Ïê2¶SáÒðvLÃÉÉŠgrû* =Jb�b®Óˆœx>Ï�'º’ vžë$¼iy¬Œ1�1gœ®¼–rbÀ—g1èWƒj"d‚¶¢�àëUJ*^!I«Õ¦J�ÈZñ2 ¨ò†{kMþ3=Šáe¯º°ã¿ùÄcÍ1ì�¥ WBæƒE“ s­‡A{c@ׄL�ÕN¶ò‚€]BºùÓp¢+ >€m¬\Gx„Ä'`ð×UøÁ„œÍú)¨~س‘?.ÊðŽÚM,’Ša&€c© s‚=^×{}ÞxCú黿¸}éÅ7ª—Ú&ig)#/§”HöAŒGÁÄÊõ&™v>' Š? -‚B2È -ö†ãrø( |kÍã˜,þ=ìv»íû¾lùýpÄÁ¨Û×1�Ùè¬oÝÏc䪵±Œ4i¸×OU°‚K÷Xï�mÛjôEÛ"†ÎYqÜ×—Ù†¹'è‚ôWo–®ñ1'ìKÞ•ªq­åf•§áÄ-&öÊ* âÒ‡AJ‹�ÖQØ ß† Õ&޼ñÌ÷ x%Ôç_ÿ—ÿâ³Wnoo_}ùåk/á+™œ|I81õ"Q˜ 6ê1m J6yøDôÞý=¤[q^øí/à Þßzÿ½ïýWÿòø9¯YÞ2¥Íø˜qúHÑ^X˜ýÁ ,g9ó×:ÕNŽâ$ØCÑOkÁ<”²2NŠþ�"íîjí?¤ù'†Äü$¼0ôoJß®ÆÆËA&ØHKÈeú'Ðþ3e‰·Qcé¯?j`¦³upEhI§ð¢xÀf>#/k*X�òZE“„×ìš+Ë"ßçä*×[è2)ôÏâmðYbøQÌ?6Ò/ªèMVœÐQ²G’�Azîbñ�v^ó\•|+oÌP~[•�ƒ eYHàdœ>¬Hý Ô¢B•.+Ua -·Ò>{±ƒ[‰ð‘:öÛï¾¥?�«Ô×ì7x«Oõ™D±wíPxñD”ø6MœÊ¦ šÙB§?¸=L;›ûßÂùýI³_ð2˜ÎâéÌ]©ÃÞF3¡JÒØÜ 4.·žb×�IJæ9Kaþó`owüÙ}0±û_¸¢Ì8\º*Íj=Ïüõp@&Eù€ÁjóÐ(¸g€¼Ê*?Œá�jn{<å²È®Ò4QÈn±)YI¹µ³Ü@ŸÌP×þýoùv9S]%Èt}š¸®æ?(ØŸÀO[5,sœ&D¡³*E¿{¬çÏãNÅqy-Ù™€Å’ýÿJ ›PbBT$¸–�ãìÊéWHŒr$¤ÀH[â†Ô'‡/–DdþŸø+ˆn x}ƒE/_ºtåÚË'”¹õÒÓgmª –.nÒ‘O§"ƒ®¾þåÿæõ7·Þ~ëæ;±uý­ê9ùQ‚à„™ r}kµ)ÏlÛˆëOå”n¶Ú`þOü:O”ëºþÑoh$",àE–ž “ˆG¨¾éµZ‘ŠV1‘†ž*¦¥?zWšm�îX³¼p’ µQ(€Y³÷Ëa{cÙ™$a¥…Õ’=Wåc êFÉ7*\›˜yÊÞG(3¿«Á¼«�Q#ŽØ¤qÞ¿(µfš¤ùad·Ú°ÞL¤¶õre„ié/Ïv¬W�©šA -çá(7Rx’Ð:@O6HÇÎh+ÖÞAûvÃ˧ $*¦?5&ÙYª -#·HÔ ´Áž²:;DÝþ »9XPé�~ªvF�%¢¿Ú¨¤Ê鯿?HÿÝ�aõœÔï;cô‹�àÅ…•Æ­)±n€z­¸kmì+»èpûimþ UU/!¡Ü>³åŒö5€å¾…àøˆ`w=Öy>çrPXý¯æq1Ë‘~n£ü²ÊË­ÄM„�C0N^wœU°‘“CŸ‘Bþ$nS÷´&ÄŠëƒùÅ—^üáÖ›ƒ«o€ô¯&”ÒYÚÈs=øÝx - -‰±›F¤Ë[à1¶Ú÷>ºÏ<©I@°Ç5¯:LåÚ SC¶‹ÉNá  }råQ³Ñ„e†¡¤øŸ#|h–Ζ‚?jBËcƒÐèš³�ã`Öl‘F±€ÒÚHöªc®CÒ3”p_˜x3ù+ؤ¾f`Ab^Áÿ  Æ‹ì�—EI&Ú¬IẨ�VAÊtŸ�!¬(¥~ ƒ5ŽÃ’�r½_üíöG?y×ñšÃŸß¹ö¥¯^{¡iÛgûéú¡L�Ø Øª‚„³•ðzĶ0e {i6Û_ûöwàuûg[?úßÿÍ­÷Þ–ƒA«=™$Á$è�ÞÜPLŸ&f標Ã9;O÷à<sy&ì7ÖÛÇ{ù<µ„ÏÄ©wå=Dî 4‰,jüâºMgÅþ0Ú5WÝ[»F¿‡¡*øJÌ@ Ái#ÃŽUí)f|cž[d=d³4›g¦¬Ö¡‰8hXÌY1£sV=MŒª©°q2gÄ� -¿¥ÛüÎJÜ”‘pfQã$ Î[øVã - R*ÕåX•[�@€sÚ—ÍÜP ¥ÌxFÓ,QI-é6Å縈ù©Ãº± -÷8B`!ÑYé!5žÀšŠÑîj“Ýz0ïæÌ v튋EcsÉGT 7QŒÓŸØÃÕ€gAzÄô%1¢¹ŠÊ¬7tŸê•@³Ûqj-ìí>ñaï’ ž„�ÓlU½ìªÑePÁ·|_™cöjc˜,×MA·YNF‰lÌ$¢JÐ|²ãKW_ ©0Xã|y@  [d;ê‡"Ûõ@¶¦ ©•  ©tÿ˜a^“A8†¨a–O…T\ž²»†O¹µd¦²+®·¡RÞ)Œ¸¥k/wïn‹ W6ΟßúáŸ_UŸŒŽ’áÑ�ÙͲز€-Aw9?AXs"Ò+‰S@¶#w)"ú5J -û-Q‘ 4-×Óia�tµ³8w§ £„×<Þ-««QT {�‘E!HÀg$Æ€�`MK›‚-ñ“âð_ऺž«ËGð�R�Üåh»‚{ÊxwÅüçB°Å<Þ³·‚|ÔðJ$©– `Tçð±®@Ù‹uf‹´ôo0ˆAŨx.Ë-T.TÌUžD—IP<<#î‡ÊtB1ã©(J.T7qì6’0‰­›lQ IÐç/_~þ¥_Õ�Ï bDp`ÕŒ ¬Hdb4÷’D›ª“G>¼à fð‡ÿôŸÿ¡øç ~úÞ;7Þ}»zªý]t¯Y „AÐT-(I�@ñ-Y[…Yx“aœ¼l&•L#ýqÅ•‘ôÖ<ÆØ„Ÿ—áCYx s@‡û”;…ÇB!åáÖˆßÔ’ÏøáÖªj�GÅ%ÁxÔx²Ëy{|W¹ÆLˆ]–¹â°«±°«þŠn:¦ÝG—t%êêªæyŒ¸¤­L~ŽÈù�¯ß©>¬š`àf9tìŠùB[‹IQ -f2ÏU‚�Qìh9–YHÒÆF†œÛƒ=¼bEKŽ,8`›Ö„F[h×JÕÓб’þF¥xgs°Ölw{ ýE5Ð8µÊÓiœ�Ë�Bº¦¦œCàxIú¡>bFcœp–Ûȱ€ž[5ð"eHq ðÆÄ�öz4ñ9�.qƒ*@ö‰ä8bEXN(€qʆ–þz Ói.B¸`ËÆÚcY+€žÇL‘ÄÏÙüO°pÄö%•@-vé®=dÒ#¯‰>Ð¥W0åëÓÍ¢ù_Ù¼U<–þpmªN„¨²V |¬¯l מ-ûÞÉBb…m¯R´[n¤¢4ºa…ïG®»‹èª¢� ýÎ~ã’KU‚Û g\ù‰:@¨€Œ¹hYÄ �!©Yµødèá$ Ã2Q”%•ÄC! ¥4K©ò3-Û…žTw#*±Z¢*±­J™å¯Ýœ±(òØNË6•5‡Ó•â8Ä$\Ïeë~­8[jB·A¥ÓÚ©òë1Ê ÔÀ»oþ¿.\F¤ÐÝ�néhè·Pj€ ¬JðMcy5°J«õù—^‡×þgÿL”íQYO¯�õ€»Ã!H­Vï¨%=:J¼e‰ãchqÃp)X¡sëC·×ïÊŠñÝ�‡�§6KÚ‰ŠE¬¡ÕK_¯ôê�F@4ö½N)‚6žp‹AKCvH?¶±ô‡Å‚`ÒÐŒ•°UtEA -Ê2*(¥§ë¸Ü ¾zþªôGݼØiÕÛZ ër*¼^%Ô›Ô[ bV=®…ý¬¨² úõIàa�©ÎÒÔçží5YÛ’�Í‘%8ƒ8&úIÿõ§ÍU‡¥¿8ž^Ú’ø,ýyãøDJxí.¨ÿS,i±‘Êmbƒ XÐP9ƒ"� ²ýù‘€á¿ûñá ¿Nr¥Z^PÃhĨQœ³æâB•rŒÍE ¹_߸O…Påcyµ³Ï,cJ5ÐHš¨HܘD‰Íÿp<â8WÿûçÎW¯¶ÛiGq —¤]zXÞµ˜~Ž?)³vÔ‹Æ\1©ß ³vÈ"2þ˜…ujšIÕ-;²û.ÈKsô`iî;ý3[?ú>x `I;^é€nàCgD�*‹«Hÿó—AjÜÐêÜÿ‰RžÆM2’Ò%ø#¿Ým7›Íû‹-ôsaÑÆ>ã>—Á \•ŒfÛ¿ŠBU¡\ÆŒ6mïüŠ °PªK€è·=¡Ë¦‰ò¿€–J>MØtÒ䔼>Yôãc²iÐD[ý¿â–¶[ïÝ€\{ýÐ/?ûàÐ�|Ÿ¥6+@¸°nFÀ´…M­#ìC )N¬{Õ›.(û³ÿõO@l½wö½M\í –†œÛ?Ž"ð`]U�˜3¬´ôÇ0±Ù›!!L 8pÀs4‰8$pE·á5Ú¥TÄ#(ÿ'£òÔi‹¥?¦*Ê–ŒûÁ|N�E#€›^pç ]š§?/*U´rpLx™°«QP�U©Â«æ±,uiB9”ìPËçxz)%Fzý§Ä&0Q1v�蕵–…ĺ“»®%¢˜Ö´F­v“™ª³^¦„L3žx<«=êÐæ?€Òå�ëÉΚÜ ÆÓ4�xV»$åÕmTRk¦ -“°ô‡}»²hêàJðÕø1¹ÑŠ.†„ß‘âmr_ß( -Çl&çÐ8 íìc?H}§ÕI�°ˆÙuÖðö’#x‰:òóËz±š - ljêÔaõ¶2Dv{éQØ9u6 -ýàÁô$&ŽÈFK‚X84çÐFι‹t”…öªgÖŒä0´°295Ï]ÅHD:Åò[ißÙX$9™àóðM?ô™ ‰þ„ÉMc,„åi!Ú^y�ÒÜ0ìáF>U,; ÄÓœ0DY8bÔaÝ3‡ãáÍñ«ÿà;ã½ûø 1û9u”A»œUâ© &~*rÎ9gÌÅaX£�Ðä¼4§c°Õ&h£âÁø€•Z€ÜÁ^°yœ ÛõŘ+…‘3XÇÐiÝ¢@’Ägž}Ÿ]:qVÝt!™;o w¥Ìø¹\�ƒÒ-wg -Â$:ƒMçæO†l×#…€Zc…Z´˜kñL XûFåœZñä0‰ë±GÔ4Þ)/]�d³å„!°V½^�g±‚dHìs¦ØÛÙ™£V·–¼/þEåáÆqÌʼny‘¯‚ÓS'ª2¸;Ž}gè�$GA³-M]ö3 ´—cÓ ¸UøEx@´r@š‚&®™pQx•اw¯¬¸3¦î(0[#kVW¨VÒi n7 f ˜bZú㚤ª"< ÂBÎÅUU”G,7p¶lšÝ|û:¼ºOõ±CÙµžA††_ž{„a÷?Ó¦.FX¤‚¦«Yž38ØãzC°«PbO¹üÇúÎþ]8xû‡ºóñÝÛïßLU”¬µÖØzï�ªâ5Œ°×‘é&Ûé§6Á€ˆ,ÈøÉ9Á¨°Y'Æl‹Á [ÈíÂÆ&.Xì–A –"ÊÒ:â}ÍÂÀ -ÇL‹lÝ8„x9u‘ÉÇi¢B¥)¶Þ€Ð�g¨�À¤�ÇÜQ‡±• À¹–º¬XÎâ Y˜WÒ½°âŸQ¥™�„�,ù¹À5`Bšè�~ˆöÊZšÄ”:¢…l`_b ¦ç%Ø'+ñÃwzgg»Høc0¿‚­ð]˜¯Ï5cø™áëýŒwÁ¨Ì‰¤óa -Ž’pâ7í¤ŽÙxä¨ -'› —–‰nZÜ®‡[ȵ“ß)é8{¿qíâƒ�°$æTK…Ò8õ«=•@B¥‹þ5a[Ë8o(ý•ŽAéøp¦„‚ø âÃÈ]ãê­È¤à ;‚ì»j³ÍF»5!öiì-·;ìöl&(zg‹³|êGãÊ%”Xv¬IÔ²›‰Œ.« -wIYoSWaJ³ÿE˜¿¬ð£Ì±6#æؘmÊ%ÀA ×Û¸}ª3¸„\Á`kë°»Næ°¦Á¯¹jZÊOw1cq/Y,†´t°ØduIE?^ÛßÖÂH/ašéJ}pŸe6øÐï‘Ôë<%ó~�§ÎŒ?“ׯ¡Ãv»åX^ (Ú�oƒÁ•V« Ò¿ú¦»/Áu–LoÆÿ€ÐgëéDÜå,­H2~ aªÑFtP…}E÷n$×0­˜¦´8J¬·Ýý�Ñ —‘´‡àz™"G˸£>N ±ÆEÑûlV'+ïç‹ô±ÅRqf*ÿ‹ÍLº s ¦Mj@Îpl¯fØL1Š�}P pý]zR£Ïvßüì[ï¿ûÇÿ½ðÜ—^>{î쯸µê¦+@‚à ÙIâùÇ ÷áàõ¯~SÁûÝ[7ïüÍìYúë±]:à †+U^BYT˜K™TçÎjªL÷º�ƒÎzWB�l;Ë—Ã5–êý«‹¤P»Kª‰¬F‰¢½O‡íN™ÁÚì÷óJoż,t2«y£*û¯è.>5k.é~=ðÿ溘ŽsËX¯)tÎpGØÃô°‘n9ª!¯ÞúFµÏ6;Žùbѵöœ˜„ÃRs†³�]é�†Cþ“X§Êi¼Ä>ÔTqx&îF�G¦Q+[óVú؜ȭ ·nÿL·v½Óê´¤ýgY%I’ �ùßwQúsÓ¶Á²ÎÀü·W0~bÎó˜ä°þ`CTƒä0Šý·½S+ ä¬y C‘³ߤÚZÞ:e: ü-Päb›Hä5çl«Ìy\Ð {¯Ñfx¥åéEp©š¾":ÌÛ-¤¥†=ï�ê1ÊÓfï„ä´½b2ìAô·U‰.¬nnŒˆÒ¦å‡™»bÀ‹éå[ë�­·¯ƒWºÞ?Ë -€ý8ÂzföЇž¯‡:€PÕ¶¥ü»àï•ÌÕ†ŒÃPƒbô%€ç'Zx±¸4#} @¡VéƒÆŸí~òá�‹âuþÓÅ„ —àiéïGa›bß`·A3¬I‚³áp¡™­¨€ôáAgqÂVÿï’§¬që  ª“’[wÅIŒb�oŒ}•ÈU3ÝX¨$‡™VÚõÕMæÕ -lÿÊo`Æ"Õ b&¹2€x¨€räŸÔuIolQJ&E¤¥?ÿïDŒ)SÍ b˜³O7SÄ2¥·´c5�‘Ixëƒð:áò•kW¯\Ã:íÆ�Ý�ݦBjÂÆ:;Û=d°&�6ˆ¢s?~ï¬Ov/< ^wo]½÷3Ì:€€×—¿ñMÖ BÀšá¯ð”–ƒFJÚãÎ$5Á•ö‚È9J œ1—Áz¼¯WLNNórœŽÝºc*ªdQcòvÛTÖKÛýÝÝN§Ã•´h8 ”G ¤Áüw’Ÿë¥K´WÊò˜ãLÃ6׈§à變�{Ín:�xÏ]‚ý½ÖÆB‹$|Þg†`༌“¸7@°ˆç¡àû�Fž'©‚1™É|X�õñ93#!ìÐ2šxÃ^›ç.íQ—'�réôˆ[›ð�jÔ²>éH98ÍnÏiœÑߥ'[ ûÈúhbͨÇYêZv Z7M ’Àb›'(úQXÙ4­~¹*Ñô†¿C8QÜ6Ue,±S"¦lÙ�8h>ÙÞýxÈæ¿| Ô¨Z(Ó‘LU6;R¿°�„Ï.*SyÍ& -¸«¸�þ�ÏF‹~ÁÑóy¾÷�è-5Q"cZúã×-t@¢(B9d�}¦E2•oÖHú ÚÃõó›°`<¯a×-PKžë�Õ˜~SÈ€ž�m9Q�“Òâç.fEab l˜8®g�±) šÑ rºØævièóæUD¬÷0éwñK¯ë_ÑJâ¦Ý‚Åê5¢ßZ¯Ô‚¢ÿŽTްo=†£†5Ç·j±ÒãJs5)ðùÕ°h,[@\ÿ¥ï tf %€x¡}à×ä2mÌÊ P§æâmÖ­26#J(ÓYƒ•Æ-E—ÌÛ6ª:@ý­åP_eüLA:ƒq3åFƒàt¼æòhÛ¾y^B|tÀ—¿öõþ™>(€ðQXÀ/6¤š›Õ»ŽùÌÚ÷åãIx‚«:àË¿óuA -€nÄŽ&‘¾*­v?Ù*a«ùTp= -™³‹E›üÎÑB5Ðhpa&Y¸‚ר3 ×H‚ɃÅâ>“õ+WíïTÓl4LÕ>Hîdó|Á HŒ™‘/b+À{6*©fÍmd™2WŒí¬e·A"y®ÿz3Ÿ½• ží:³ -ží€D]B§’÷./ƒÜ ¢ìµô±{$HX³-rÜÈ îÇÎ}«PôSHÿ:§CôügßTÆcJÀ`÷ˆ˜_ýÍS°ßØXÉã|©î1Û%!C´xQ• .å;I˜xÉŽà—+dæ X˜2ÿ¾»Rwìz -Ñ6�v ÛdÌâ,š0D7üÇKp¨‘PÓÈ»›ƒ;7ßöG÷½ ÏÇàã›ÿIy)Ž&“ç[+"ð`þETNœaŸö6Ò$w 1'«ažgE­Äuá¤!÷ Ë4f ].´s§{ä·[-gNЧ&¹õDÇ®á7ÚTú±!¡Aáøv` vr8Š'#QC0Ÿ¦�›Yˆ{–—©I}â´µ.ˆu'Oræ‹E4j «ÚöV½Éá–¢³6&Ü d?—Q»[É%9 ƒ›¨™šŨÔ˜aaŽ"jÀµÙ-@Zo¾°rœõVr”ŸΪ“$¾�±Jd$j­áÊí샞žg˜~y’U�gЗk~ÀÉd¢‹hL8[‚ñ;¤'ªa…„l+”ׄQF%™SqÀ,2Dnf¥ò³ë:ÄóÏ­×6�uTÂ$›²æÙ&ü—Ãå)¬Ñ@[ÿ¿í}[�ÜÖyæi �Ó=hö°5£¦†î�&=òÄZÊFÚ•«ÌT­¼•[ÅNÊyÝÊ{^òž§}Ü·<û5©ÚŠk\ÎVÖUrÙ²T˵,E-šôPmŽfØTsšÝD �ÞÿrÎÁé¹ÈJ¶œ'ŸêÁžn4p€ó_¿ÿûßüßßûÉ�Þ¸ú»ÛW··a»Þ&…mÁ¢K¦F1>Ù¾´&� �·**b~ñ�Þ¿ŸþDïIÈ:>ôÎòJ³ð–t>c IDATWìÍlhã'’¿% a%cR’•m#8@r­4Æg±î&‡“ä(Â| áK™êS�I@'¼:X¤dø£u2“=o³Ã©»âÀt úýV§åSÉˆææ¯ÐØn�û62µºÂ’Í¢‘Mc›h�r/†@·j<¦.$†p¹Ý\jŠu$4u`xÁU"\�Y’Vhî9Í•öúæ ýÅYF¬û[EúNW“«ðØÛ†åàûwWeÏÖ®ÎÒªNEöڬʙ±ÇYöÚËðxû^&8£€@0ºw«ÆÛߦV¯æuÒYÙ¸¼éµÖ@è5 G8ÆCPQ‡R1É·èàýº’j%^èvà0M&mQÃõ$I -r-N ïÞ¶Xmh)™bÕÏ\‡5`ŠƒN7èên|ìåýƒ½=Ømê”Ä`¿ƒ�ƒÑüBR�#a2Øñ¸Ì=,MTî!vìB’çAóŽÄ‡0É¢¿ú¤OÛff¡MOÑ‹+" -̪,9Éqæ“ -´æ›üxÎY¡-÷Jú»u¾�`õÀoÝ{÷‡Û„îõ¯Þx•3õ¨gh>s5&å °˜@Ŭ˜ †ëBYú Ê:ÄX?ìp*‚£Õ)ÅFò™:yç„|Ôc÷Cô7{½Ý~ä~ku ¶ô�UvÈýéèÞ�é/¢Óà^f'ÂÁ®…] \káM³!%û=òa RÃâÔU¡�8´÷Oôe=5ØcÎB×°`cW#Ißÿ$Ú „Ð}Ï îÂÇ5.=ë4ø¾¨ÏU—�h- Bª,T‹ ªr�NdIe™”Z4Ø.F×,{Ȳ$3Ã!Ñ÷6.mŒ&;ÿr^âïðzæ5/¤Åp©&O{õ©ÔhÓößÿî{õ‘G@ï´VCx†ÊC°jäŒÁ™he’R¬¡5~PbŒ+†»ÛȤ è+'Ý]3<¦ðQ€ÅƒúçÊ),YÊè �ótsƒ{|¸Û/¬‰Å(¹´'hß^rÄõPk%dt�c0í°ô×Dò¢RyR%€ŸGqÅ$nÒꇲ–=FHÇã!ˆ~ÎùëCÑ"-@ °dÀhO¾ð édSoé÷%Å?·˜—î{É­O4‘u—ƒ1‡€^èeSL›“Ü~ ;0öJÌm(7NãwïÒ‹8‡£ -›7Ü>ŠªåP=V¬8 2êä¬à6ëlúʹ”î}S%圈J2éæìò¿qä*‡·Ýí ÀÞŽ´JºW®íüüg$K÷CÅ[U@v2.à2ćn -£B�‡ãùñd(Ü.¨�ña’Mε‚1‘ã)V>·šÈ¶1ŽâÀ•¸ КVO±æi!Òk©/õx©€ègx5N²#(qîRú3�ó¤RLTðPNAs$ -ìGéöò  - üPög£gQÓ(âí•×¾ÿ?ÿìlþN^º0jòld٣鋢Ɏ·HÂç­t@À6ϰ�åäÉätr5#'ý‚í ŠÎÙÀGÕEÄÀP¾ë$l_E�pIŸE!Œ(®‡\uQti‚((ÎüⓌ:7ò�Â/LìæYl\Bán™y_ö2â«Ó!Ç’ì{ËèjP¢9UÊ4c}¡d�[£X.=qÎƒÍ—Š·],²­üFGªÚÇ£8V²ts³k t´AÐå¨$;×:­Î�* ö76?£;Àè¦9F~«dU÷Ja uÅ)éÏ%Qôy°÷-¶ý9€)z\ 0­A™º  ”ë ’5éL« *ì¬x�_÷’YŠ[ž�iEý¤[B†…áêVš²q#E]ŒJ.^Ý4óÈ#aÝ`öùázG!f3tBÛåžÝ;l2‡ªt€ctñä*xêÖžG‰�: †3¹ÁÍ<Œ‚ÍÀo‚è–›ðÿDÿäB�ÓtÐ\“„µuå\#:6ž�Õ&¼@¬()¶yiä>ïƒ+à.¹ãg ýñPâ\ã×o @ÐI¢a6ýEýóâÙ¤E€K0køO¦ $¼4“mŠûñû°c)# d“y�v­ÔÅÒˆoIsë¤3ǬcæmÔñu×rM‰<àj¯ C‹%é€ -¯ [ŒüPËa�CQµÊ‚�¤V±V_çÞ¢¤BÓ›ÈYŽàw Z-A~€¸°^™³Tëu ÿÓ Õ9Ñ«óa ¢8eà 3›y§%P-ã~ºœâö–½u.‡aä ”`ÑÏ€lþ -úO �ûñQ„¯$šüòïôûZú ì L±�«²ÙÈÁ‹"‚Ðó@ärõšÇah {È…�Ñ…)ç9H{Û*@¢%qê7(œ7·j)0„‚T›œc+(q$ó!QÜZ¿å°Mßú¡Ý»¶¶Þ*’›’íÏ·Ì× °¹w’ù l.aQ -Žû3è$äèÑÐõüÎó›w~úfgãrgs¤?þÐpèÃ#æt”åYrÂ� ü ¸²d&[Îb@•‰ãcFgΰш1D?0|<†×«ÿåD=î=\ëJô^­,’ãÔ_B„ -\ƒ#º¶(M‹]u»†èi!¦~B±y¦O?ƆŽMaŠü%«1CQÞºxEˆev‡ÕÀ«˜ìŒâèѲ@£ZšÒ²ƒàø«úÓ&~œš¥ïÁÉËÿ—„ÅÌŠù�ÜéœøÓ9ÅGí†ç€ÁËÜC"öüæJ³}�òÿð¸äÁ™cµ^Ç8�EUk#¡{s -wª9±Ï3‹¾§¼$Luâû­|ŽÅôQ_J?FK -¶ëk˜„LŽÉlÓò={YÙ 50¸BF³€5ÄPô|ã•Yœ@ËàñÒdvÝ£¿T\åˆÚÁE¥ÎðeÕ>£˜Ï1ádaßJbŒ±PI#-„—ÏwI&ŠyÍû*Ü/ÈóAD¯-ÛªØ&Yzl,ñð -n�@�~³äÇZUü6’BŽŽì™°íêX–gÄÁÓ”æ�nªÿjšñh w�>›¸2A‰²êPÝÙ¼ÔC_¾õ‹»:?Me3"ÔÊ5,*‹k¬¶ÙðÙ„E?qä,a|¼¨;L"„îìLpÌ&F+Aò±ÀEéMÀ ìl´á8Ì7ÄÙ(ž ‡ëœ†gƱt$ tª¿B9 ‡¹ê -m¿'lMƒ£PæLÇÆŸ/ÈpÄ0oÝ*á霧,ú -.ªagÖF£9�FƒÁ Û½ÎA­îÙ�p:šdÓAg£OáZˆóYéT†k â=â²dÖƒ1Ò…9ØJžb€örPÑ’+ý”¤“]’8VVI‚Ž<ÚÝMŽ&íÍÍ# -6ºZ�‹ëE,:çð„ dáO¡Âé³½x²�ÐsÛ`+gÅBÑfÀs^‡%Àb�ã¼�ëB -A_ ùâÈ,åIϰvŸ€mq„Ò_ðÔ(íîR‰“àj°‘õRqÝÔÄÞ‡š¸ùû¯>¼§Oº´@nú”gGü·Êÿø�“a‡èé¨y¡=GO†LÉˤ¿À^¸ƒƒÁ¶×o¼Ü½¶éæ$ÎÉݤ½9œEf»§½T»¢&”à}Ögºlr8ž è?kx -–ªø•§Ž‰7±0Ü´¦ŒéÜZí÷òÕí|yl^ßö„Áë0C©7ù˜Z÷ÚÅø Î!lû¿ô>»\ûôƒ±.ºîéÌ1™NBƒü•e´¯ መbý%¼_6ÒA+œNÀà´.:‡¶U!¥<ÿìÈÒycûey½�ÕÍÞö;¶l£°7Døø-ëÌL>¼ƒ…oõœ³8ºQ-"k–D¾[œB^gÇØ…FçBR]êØ Ø… -õÈÏÀ±t ÚC3E]ìÈ·>à,Ù¸%#“3^,úÙi°jÕµÀ9xʇ“­œèw¸¼¸ó’‚p ÏÑ5–örøˆívçúµm�Rƒ‡Ò|WW¤s@¤ÐêD#-JaŸœµ‹rÖ³c°tRÂö¸:ÕÌßM'ŒùD«p‚¢÷Á«;�@’´š¤|uQš©‚…îÍs…ŒTûŠû¿åÑu–¨k¥6bÏŒ"ÙÍæB2£ÑÓÈ -¨¶ ¶N^i]¸Á ú90˜å©ãú²o°7gœ«f+2�¹€dÓ×�Ÿädî÷5ïˆ~Þé€ -º¸.ï…G,\Æ�å®MvFý¶øá9 Ø8ðT˜—ÝÓ:H'°®´B‡¿¶ý1ƒUfš)A`] åsƒ³j*\ƒŽÆš®fa) -Ž’vɹô;••ÿpóÁ?S|*Kùc,@uSon;žLãñ`Ø¥tÇt|Ð$ëX´ÃÁÃá£]ðWž-¨¸· ¶^¹Åj€¯%3�P5kúYÔSh^”‹kÀ‹1YÛ@4Úß½þ•×@=žNZ�N^úËG«AôÇT!A—£xÓ.^+Í„;®¥û¹ƒÜ7ˆÉP‘åOÆËôÉäY?\Ã9'@`{nùp´×š£ƒ¶°’êþÔ þƒ]Ü™‰«ŸÛ|ýOÿ“þ+Ñxëóè�õ¾¿p”ÛÐj»Œ/y\3<�N�‹EMö‡IøÃ“:àôàU­¥?¶ýZZhWÒ~Nþé¹®Ü ××H#[þ'ljÁ�v0ÿ5î[SàúÜÇÆX׎'I: �¤ôM Iê£á>ø|\È -@¡5P¾û�ßpùs¨œÙ~¥Rù[ás[,ýy€ù/ððÄðÙ}ûMôŠR¼ÿÓ»ü™ÉÁÂùïüb÷uµÂöÿƷР~ü~~÷C<æÁ>îƒ8ÝíK¶%‰BædÑ€®(†ÅÌÜML&ÁÒŸŸ4h–ƒ°Ýi­â„¯_ÂeÖêþúîð0úwnŸv´A„•ÕXðž€ù�¨KŒ6lr¦qÄ%(šÏ½wçR”×Ý ™3Q„Äi%¡�Дƒ‚±Ôa®�/dý UßrDÉ(/¶ý]ׂ�È·\&'�ðŽ ‹øD– j€ùŸUšd ‹=oÁM۸܃׻?zc÷ÞîN¡{oœ$¸‹Lõª¨Ø¼™Ê -ðûÙ ,YG£ƒ>É[æ1÷ûú�Âh¹ŒîÁµÍÎÏòŠòÜü¤öðÁC ·x拳¢o:�ºÄ£¶³ÝÚ¿ß=JX€€IíxÌ–¾>< H�?Á˜nZ£•N³àá(Õ÷xð¨¬�Š�A€è ˜†×ÿãk÷ÞBŠðZç×+°þK'Ñ“ÛlõŸ ýI¸ìÜ7/ALÚšKRöÒ¤sÂ8oÍe”'‚¯»Žé¸H±À5eþSûM“/¬pç21P”¶G�0´û‰ò›* °¯B¸Ö¹ó߸öÒM¯Ñ*üºÇÎÝøÉ �ãì(ƺ@Ò4ÃÇxVš"P(›ýªLíÝýgî–&¸hëêuTþÚòÝn§�¦| Ö_襇�¿ý·ÿÈÿíß­ú¹/ÑŒ ó_lluÏ%™"†ƒ°‘ £wÚ„|´;—akmõ3ãa:êËcb÷ :&KÿÃ8ÂÜ`JHP±Égc#¤Go…Nû’rY6‚çÖqu�!Î<ÖT�„¤ *ùr—¨Ö$ÊQÒˆŽãŠ›%¾³±øNáûãÁÀÖø¬p)È€†§ãÙs‘æÈÓWнH%ÓŽ4¦Š2-Ø£¼ -†H‘9>ºBX0'–;¯‰¹¤ö%VaÙ…EiL�Ï!�9wbžçë– º¶ÃµJL —0]±XR ä¹(Žcj‡MùêsE$éèÏ5ÉÆcÏbK±+3JUÒÒÆ{|qE$ÆYŒ±`feÉ·jëB�=Ç´�ƒ$ò¹M-Ú󼢞†É´¨÷åWo]½¾õæ�ÞèÞ¥ÌÄ^ÖA�bíN’ƒ×{�§N8� ;ã#N©ôbŠn–Gö¸m×r55*5˜Á -:’³MÅ:ƒG?@®­ò0ƒuÝë1¥‡ªÐÔ½+¨DC¨z,#Ð~| û-s¶ÉD0§È뎎âÔå\ÝÞl»* 2¡ýÜ%ÞA~)0úì¤ÝY¯’Šì(Âüà\d:"¦¨2èTKük-Ó1¨,1¤¿ ç5bªáš4í[�N–¥û¿º×ýÌuøo»î|ýOþÏy2ªÙò^œ€ÕñºÞÿèûÑä>œžÃøh­RíðHÃ勲H“‚±mìðÕÍ®F‹! ¹ìãƒor¶Þ` ¨G}.WxEýEÞA1Šd„w,0É,ûtX5>Ü_¨€ô=ÚS�0�þ°½óÚÂ�õ®š£vë"Z…f„Ž8Ü­,\Á …å]>W»»ùàÎû£G»�‚àðTà:¨Øƒ]Xà¹d!ÚeŠWJó`×*\?ÞßÓä»?y¶[_~ùÞ»â჻—¯,X.‚ªÿYú %úyl½TUè5ƒÊôŽUÐüË¿·uhÀ¹µ+=îü´ÿÁûèUì÷ñÈý_U$bÞ§¨l�ß5ÀÙ éSB[ o2:¾rí:ŠöÖ -.ÈÍ«Ô\Èõ@ôËsV§ ·Î®ĈB`s_‡ì¸ÔÒÿSÉ©YÇøI‘yLj† ²ÆgªÆ$î™OX(ÑÏëD—•:~@uª¾IÕcAPEmWH6lù+Û†ÅÑXR›{§Z!#ª7ŸgÌ}"IjUè)V¬J)H!õÔ!ƒâþ,ô-`ÉìEçÃì„|ZnŽªHÛ°šuržÎ ôa ÷ßåÞk_½õða÷áÐ2/h«8–a¸®Ìp�•f®èÒ*IÙ’cÅ‹Ñlƒ˜S?0Òf‡‘·Ȧ48¶Ž˜!L%w¯‡|ù|ÁÜÖéÉAhœ‚nеÔ-4×YÝ—mŸ ¸=…bð׃f3Ž"§^ãÃòýÒØÿbnWD&F‚›ªÈ9±*å>LsSÁ�Zkr'¼Øåæ×þt¼ša{¿�PÉnï²ËÙg,�ûÓñ=Øâ<ë\0¹©P \×9²ôÊ9ÔCÏbE^&ÑŒñÇjF”þðO Íù 1=8ðcgø” -á�˜m‹£(˜0 -¬NŒ{ïܾþ%Üv8~ Cãá ³qI*€:±1CyªÏpg£‹-ú¼Àöƒl<„�5…–¹þ•×@àΗ� �Mx®w+ç‚¶ÈpübVù@|É–;Ú[ÿ„±yek÷ÁÝNÏ„C¢`qa3ìlßÀ+ê��Ûûlõ-;¯Cçb>;“ÉRuû‹½$%Ãäk¸ñëÕšIf•ƒo¾oޱAñ6ªG¤,(XG -@¶óV!o�þ‚�€¤;D%Ôñ8 Ül“z A—j z†�Çå£áÁ -À\´'ÂwòWXo™†¥²íÒŸñ0¬ À¨r”~‚ÂÓF±‹06©±Ä 4'¹©®¹B8ÒÍsÂo• -¤¤Ž€PTîuŽ :ŠŠ4[–ƒåÔ6¶îËöL$ú5O/þ,%a‡y%ô¦óÒŽ#ãA‘—Yf©€Ÿ¹UUKv.£±­_Ãô®æÇa¦&!-3ÎOèÞŠÌå¬ZìÖíÍË=x� ßý±lM †¿üé8Âf%–#‹ãìJfc9D’µÌ`ÜŒö‘Ù—À³½CV“ãù\€‡\2:Ÿ0cqVÚ®%{7¥x ø™Ä7ôXÂ4…Jžs`ÝB¸ÍÍËlÏ.T,žG`‡�èlH,Æâ§ã8JqiÓºFvE�gžª§x' Õ_ŒG Ö5è€Ð@mÕ§A5à•J®v:ñ$ºýƒïê�q§¬.ÅQO(€xr?ß‹wÍ7ÁöÏàà�+5-’Ìß�Ч6·"f¥OlÊjEHàC™ÿÈ©ƒ¸S >CDВݽÒcF MeûÃŽlã×h ÷« *ÈÐ …žMøvu·Îôð+™øÂ—z?{gÉd¼YH~Ö+Kí¹õ -:›Wï× î63šÞy¡2pXê�ùOßJâŽc½0@ú{ž�¦òÈ`û³8s/”Á´¨ƒvŒ6¯´Ïû® ý�Š=Í6ƒµáEÛ÷pæ¹à¼#pJ_Õ~ÛÜht€åœ´šÙ àpJ¾h,ƒ& À~’JaåÅYQ.•U±ÞL0wýQÆpôAT¦—9Ð8$¥¿þ Å82­ÆjIã/5å/oí%©fÌŸÀwʺ®Å±ÅqQQ0UN>×Fë…Ó“†?Z“×DV¬"fØÕÀõÊß}÷­�ÅHÿñ“½ÖÚ†E�2õÓ*yÎÍX<�fM/¶?›ÿ¸µQ¢ë:¶ÁÁ¶T- Ö=\…æ¶Âó1 yuF©R†Ô1] 2Óev ΣPñ›Â¸ ’e¥É‹D?²gáK®THƒÌ™Ù�k€©S‘Ëüµj§(”äÆjsòŒzÿªV3°R‚fè-{�ëÄ*õt2zRU-_ÚÚrÃÖð1ñ¸­u«é»(m„”0µa#˜L«[h3p¨,Z«áøÙdðQ¿wíúÎÏïdÑa^ÒkÃ5š••:¥˜86.À›1Ç,˜¯8 @™¦(ì–“Šyº¶6šNÝýÉ··¾ü—½ÿüêí|Ç„ñ¼uçh�æ÷íÛÿt{çƒ �>íjœeó¸ýÖÝ3Þ5 »ó¿ûë‡qœó,ètV�©wÍ€ùð-|þ<«|f~×<Caï_¾R�bWÃJ“S£ökÛ—¯ÿîæà#´.ñnæÞî‡;~¢èÒè§ßµ¨ƒRª;óä©1‡`ïÀ�´häªV¢Öð®Ä"(àœõ‡ðÌS;$­Ã?ár›9éá"éCõ£åÃáäÌϘü/’Ïc¾ð ¡ØP ^¯nÅǹU# -õ[Œé€ý­/Þ�Fýû÷nýÉ7ÞûÑ—Qœ½ûÞΕýáQF� °W¬€Š^ÞxÛµˆ‡ŠzJc¸è÷×�=Í‘8A‹Œpò² Œ�÷®„Ÿ&¢¦ý¤¢T%Áy– {³J·¤è¡0‰y~�¦�U ìƒáò”3ðžï8·5¥.i -PKåo† Ætn[Ïl›ôߌÔa‹LXî,9�ëu‰•Ç+Z*¿þ�?êpwC~ü “º´áäÖ,�&;ñð� ê3;–È zr1ïÏ Í5󸉩u�˜ø°µ¬:¦¾˜u®‰•™qËaF*Pe‘ƒˆo­ðÒ1AÐGtçøO�fs8ƒètZÔ·GŸk‘±ô?1öwî6.Ušpx C"�µÎpð¸³!Ó/Ž·¬?£ï‹~-ý›�§�keeãzì|ý[Ñÿe_GZjµÊ&^ò�Õ¦³G1AIDAT*1ÈÕ�Œ¢L�¦ÊÛðbè^¹%¯âWwá…çY{?~JØÛ W;Z¿ÿ¶ñþOÏ€4$²–‹ À¿ãéüFÆK_4ðK†Un4FE˜JÂ~á+7MG³µöëýªá£��c.F0¨ŽOr I‡ÔS30»5(¤ª�vZívë•W¹PàÆWo�¸õ‡ß„ýþ}D*><Ë‚1ÚÇQsE­)r溛½é³MVä)ÈVfPÀ��ÜåªÀj²};ΓL‰ ³m$8À…Añ�+®Æé,ö–:�2.Ĺ6�T‡ÎÁ §yúÆ?|§÷â‹·þì›Õï®^M ú§ãâ|¼�’‹r_7,Ãd{ݦZôœÊ°ªH 7ÚË‘—P¶�ý�ñ�y´—8þ‹M }EÿXu '`J‘µˆnR‹j"@ú t] çNد¦¢òh©ë‡ù‘Üo¯6M‡3V>`÷êÖfwc¨B„Í*K?¥Ôüö Ùz}DñŸöZ[ã7Bú(ޡܽ¨¾lX:Ÿí]ýü6èP·ßº -€K½½s¤gƦ›pm§¬Úæ…^ô´ïQƒMpn~í›,ýñŸî¼þg75ÎÒ) UÃâøxÿP´…¥iX+O'‡g¾Ï]MxÔÏANÖ (tiÀøÆOLÅ\ šf¸¢÷=ƒñ|fXñO†Õù´:ÕçãñÙk{ÍXW†õêf˜íÅ{×6öÎÞ?Ó0>úøÎµ·ÿúoþÿw!Äa„Å -“¾m^�Cn|f!^fЛÄù9jÇ ÔÚÆg -ã}ó»æçÏ Ý›¹3ÇcÄ×’ôì9?ï8º0ÅYrÊYÉ2 ›Ñ�*aâ"ü=+¤©É˲<ó¨zô®méí.Uz>$@Gœ¤£�ÔU(÷#”Zú ,è Aôïïö›«½G§ÛM'…BÖ33ÈtÐ;A›�À|Ï(ãRs‹_d楥){m„B‘ðâŸ7æô·áŸå@,jÒ ÙlQGå˜FxAZ�ÈqÄ]TE$Ç¢áUèv•aÛ¢…Ê€(³–Š`³ü‰�z˜êÞ‹[ãA -¢?ölçñî�#â¹Ð[Øq¹ŸW—d4Q�*6ÿšç\´L+Xƒ£ ™È¸dlÿ éäJ�ò!)�$ -ˆ~PíÕ’¥?Œƒ8 ”Ä7 è$µ´ ˆ_%Óõ˜PHa”Î…^ü¾)|Í�‚ ÑÏ;ábU°Vž³�!ÑDÿÕímÞ¹õµ[g~æÓŒh:™*|:‘Ö (€þ=¯û™“ O9¶oTÞÏ9A–]s�f(à<Åf"C²¹A[3™R8ûwÿMeiünxÞyæçD3$e|~ê¥/Êr‡ñA¥|R÷þe^Ͱb–ýíøW ÝHRá”óƒ ‘l¤¿£¬®ÆJ+Š&ÃÇø.öïß�F/¿ò*–Á 0Ÿ†rð¶¿sWܬÆ�÷0²O#KÓʘ¥ úÏBØö«Ö¸ÖµH’Ô Z’�p–:ÚjR¡¬É°-GÑ{¤iÕ×[é µƒ`¹zö\LJ—lêRGóû÷]É0”e`5ÊŽ.uK Ó�€ Äê_UôÐY¯"–:Ô +}Ò2Œ15ã T¢KFêA0§lÿþwá¶z úãh‡A•�æ?Hÿ h#0�m¦¡£�™¨SÈó`%¡¡˜ Íÿ-½¥»ˆñŽôIEND®B`‚‰PNG + @­¼ó3”ø~y}¦´ö3¡’½ffNGЋ$ ¼f~> H°~J`€û_xŸ\A²9q€¹ ´óé1|ßÀæíº¥IÀý×ÝÝŽ„û#öˆ Ö Š `ý[‘•ÈSü®Ÿl äŠ}µûDaýì1 ¾ËX‚+ ¬ßžØ¾ÍF±HFµ;ð÷l{* ‰éRå¾(È�*C9”œ"…öYu×fÕÕ)ëWéîoÃrîÍñëpg«Ø¯Žž#ï xܘ�,÷GÄ,µu¦oQvÝ’qõßSÔ£ÜLÛËÕ�=[HÅR¶o}îO© ÷×6Äú)Éc¬�.l| `k¯ÉúÅ|÷/²£ãë?ØG£ö ‹îåÅ ÷giæû˜¾3@²Þ°øÜ8ßÈñëÀýa€ËOšÎÇÜ_·²HNë¾ý"¸õƒwós¿|Ï€|ä� þ±ËëíÅ!çó#ø‹÷þé>Tè)¢‹†cÆîoFI°K�RÍé$$òwOSÞ<†¹?¥©%ƒõ_€� +Èú|÷W€õÀ4%3DÀtÊJ4jÿ)ñ}\þêÆÅP‡Ÿ£$À~Ш¡ð\e¤Súl¤4gΜôg–8ð}e¸€„cýÑ™œQk‹rsTícÀ…û ˆØ÷§ QÁúÅ–ƒï›õߟ£ôﵯÞZ°Øÿb(Z~ÖŸjjìhübA‚\W�xº@©ð¿­Ë�úþB�wÝëJ+„¬ ¬_>ëàˆýãð?ÑD晀NK +ÿr’€ÓoNýÀýÙ„ÿ.|‘  .@ظ¿ò¬a+”²Q1gº¤ È€L‚õ_&ôàOÂ.èé½eoj¸?ÖÏÎ¥RXÓb½‘!�Ë ½ëÚ�2¤ 5.˜—_Ý¢5D—€Ô³æÆÜ-i Û„� @)ë' Ìß±ëÇ÷©äW-W¨ŽÂým¬ÎýuÛ5—oœž5´ Û%€¹û+@¬€ HÀ÷€�e"Ÿ ÷haùIØþ +ÕQi•ðð 0`¾¯ðk-üNmÖ¨àõ´Êd@%áþÝQß,Ü%Vy²–°|–ìpð¯1OGBdÿ1”¸›;Ä€Èúãç«øK3ÿàØOwî=P½o)(NF÷¿*< LÝ�Bêr÷d1ø¾˜‚õ«¤¨ (ôæãû΀õ'�ì²�„. e&u]œPª P64.D5Ḣÿè_\óI‰í ñKzÍûDCìiaÀ<7ÄàæÅ¶ÛÌýÁ€»¹|D+wØ Á±ž�T43ŸbNÏ(i^ +ÿ©b€¬_™‡:”¨M{�3ߤgþ @Â÷‰ýÁ@ R SW”axG�äî/ˆu±¿dÀ÷gÓ×yeêŠôó3:€ÀÔ P1IEîï]@X? ‚ï{pàûÄþŠ^qÿpèZGPüMÊþSÊú% ÅÀ�R¾¯ Àg6…g@IKÀú­=Üdƒå¶TVÜnf9Tðý±U•´.k`Ã�(ü7%ö‹ìÞÿÁÃ�Ÿ]Œ´zîþÅR¦§ÜŠH ùëÏv5jô‹ÂåÞdI@¸2KrÇGÀ€ûþGÚ˜ù«i8q8 ¶€«.uþx� ßwD�ƒ¬ø9@b³cýÞ$÷g—Yàï +€Ž`Ç&îg%æþñ¥ï«© }�)rIÖŸI€õ]²~‰‰®9Öƒ÷ûËÊg¿4Sr0 ©w/ìÚ»×ôµ|>7ÿÓ©9sçšÂ+º—Î5�ºëæ‹'^½`¡ ËY°C”0Ä0Ö~±D�‰ ¯kBM¿Û¬;)Þõ +3ë’.r*˜²ðÚ&äó#ÊiCzÔƒDi�þ�¹R¥š—.ùLfá§S*=H×ú7¢«,B|QÍÜ/–Ö'wÛJU\s~c^Mñ“ôWä{ÊÃè©gv�xåÐìøã-zÊO´ïía¡fC[À£rø!¢~ÉZÚüh/ Ë®7©®è¾µeç“ã[ÿM%zwsnó#=[¿\A¹-c’hfV_$–ƒ¬0Å-ŒïõºýÎ9ëæˆ:̪ä¿k2¹Bªí‹‹)3dٹ楿·„¹ƒßغОÿÞ•jm_¤$@jýöÿíÓ“H–}næíóïžU+Öë­éS§ßxmêÄÄñÉ#Ç^9Då­3'fÞ™¢DÓoN¡Óoœ˜z}òÔÉã’MŒ©ðô×Ç•7KEJ;W5ëø/‡§¸¬ê@Æ€¡ŽÁ‘.ä7tC>¼ùe¥”_Ú˜sù hx´„@{¶=½rM›,˜Ja•= €‰TÝíƒwA{åÞ\w�=%Üïû4´©Šm”êû–dÁRò!<åõ�’íô yWuC§4¶Ãî€tEëêÞn4þä(eoÕnÃÙyk+•êHÁÇ¿ç ­(»<�ÒÍ)”_Ù†”¿¢ÁMÖì‰pG·W‘Úçæm½£Ü²µl!ŽÅÚX­TêF£×åȈ�lÌê'ûéB½ëíÆº”•Þ™E›­]^S8ú¤ÒÚv)˜;�ܘE÷Ú£d¯õ t jÈו²Û!£\!tÉ‚uD»˜‡˜ßRü]HØb•äl²é¨Ÿ Ô‘¨Rðî«v¤[5z°ºqŠ¢ö»¾ERT§Oœ‘ßÏz% ÇC–ÖTP¸ø)zÉúaJ¢Üß ÷gº\•Ò‚âØý“HÝ�N/Ë8;k~wd«¨{'•jøíöYÒ…k›ˆî�‡æ±ÏÆ@fý ì¤B#ÖŸ¹© dÚsü +Ü_ˆV,!})Ë’¿ÑuUÃü:ßwÉúó¥^ôìžç�¶g´‰Ã‹ %Ö¹? +¡¢”pÿ¸¿eZR_Ù±ˆrJ� +ÂýÅ´ù‘Âý±-¾ÎMŸ�«5[£ ·Æ¥ÅP +H�À¡‡Ü¥šø; �ï·´-BªÚéÝìçÉý©’ÎHþ›0×d„�+`ú�‰³o¿�fH[ƒÀ€Üßà:ý÷DZ~•:u"rÿÙØÿg»±þí_ÞZ|Ÿ-) R™{°~J”@q]‰ÜméÕ½£§ÙÖ+÷wP’jàûr„õKà¢(>¾{ p÷ïýRaèÁ‰RÖ€ªCæû5\ +¨wmN ¢Î°~ÿ:w •Ñ^´ó™QdéȦ ÷Gjÿ¸•F!`xsI�±¢ÀÜúg‚õ›ûƒ��è¶�†�»YT€2õ ¤#Ë-˜˜sËÒ ì `ý<áâdë8Xl†�¸ H1~8–Ãñå¿K±O¨âs"¹¿¤¨X~2�¾¿¾2ªT~u‹ž¡&l~Œ6úŠá0¬C� +v;h 2¡‹_ûþl?Ú½wo¡TBÖu“0µäKÖÿOÀ;F"?½󯵮¹¿gQ?{ìÈú dõwÐEð—qÈôÙ�h¢P}‘i4Eg#‚üº>þ¿‰’Û•Âà÷þÙþ=ßù®�€’õ×€ € $À–G*@%{Zy¸w˶ +²@~[EÖϽL_®ŒíV Ø_¥ÀÚÓ+ä­�|3Ù@ip45©X¿’  €ŠÜ_Àß^�Dü-Y¿JCœÔÀO åõ5t¯ºî’€€$@�û +ÿ)QÔÏ# ¼q¬ÿÄqÏNN3Ä@ø> P€ ¥[äG¸�Åþ÷uQ*öÇýmø—[ë`f‡ÿ�…4¾¯î*l¬Ÿy¨(Àý)wîU ð}ÜÁÂ�6%újdý…Õòe:UèwýÙÒï@ø¾Ë÷µ)Eñ€†sa@ü¥0\²v�ËEË �ðýžr›5€Ú¡Æ’RÁú[Ø�ÌPq}Î3‘À` .2elv’ Jäî0Š%c_jÖŸ€ò¹¿€³'‰f€‰«7ÆÝœ9Å Ícÿ†³5˜µ@ó$?¥™£“Ã1TJ¹[›ÙÝJ� ”H@s"û ·Ú?òÊ1ôµÿð\qÃh±¯vá•wÜÿ¯€ @’½F¬_ýìñhœ‹º€(“^™x�¿ßw( Dø¾_ÏeŸRº€²~ïBµÕ‹ÿÕ7ò ×4^õ[ó?þÏ3:½úsp~/›%wÛJtðØ$¾�Ü÷]IàûˆíÿÔ3»5Míolû°’4º� ,¾¯[‡šݺ}÷§R€�O޳¿€þq/�¿ÜŸ +íIg¢(Ýý©h�™ÚŸµ’Ðæ¨¨�9ìÚ‚¬¿5»÷Ov%€ð/—¦ˆü‹õGÐÌ0ঔ:(5 +H�Ѹ?Ö¯ðŸŠÂÉÐÖ5? €Èúg¦“Â÷¥©×ãþG"@¤×Mêšüñ„Ü? €á eÜßP×Äa�ïPÊý)Ëë³ø>±X8óiÀ¦¶Y{²¬ðŸ +ïÚ !�û+ ð. `îÑXu¤Ó±¿r©® HÂ÷]²~�An"x_ jYv]ã5 RfY: ¹?IÀø“£Ã£D-A6’2Ru¤àª¹ÿÅp÷<�ûoÞÖK;”¡{€õ[×|Ö?4Rx7X|û«³>dbï’ ë +`ˆháàPø/ÉúÅ|ŸE›ž8d¢95l4ü +I[Ã{ó£Ù¼ò€è-Í»ÿèv»á#Öo'`@ìû�ªôU;(dÅõYÛã19–Ÿï‰0¼c'꺫Œ®ºúê�ÿoÿL=øsæÎµh]>¬|q¸ÈvqºYÿ"n¤„]ÖΔÆ]:C�P±p!ò…DŠ/°Zô;‘RËøº Ò=ôy‹E)Q`þEá¾Ê”:«s°çƒ@Èu7,A™– ÒÉd‰Ïª +}òS‘,üÿíÆÔg2”¦k\IàEg8"ÍCùU½hlÇνû_xõõÞÿpâØ«Þ¿0ºmÌÎ7&^îøûþóÞ:tä¢rôG®'ví˜y÷eyCqd¬Š¢Fºb(Õ¸v¡ž­GEó®ô™¥×шmÇk�@¸ŸÒ*!v`kF¡‘!õlJ‰F)©½Úyà�6šìq`ÌSì \mru¯l!Ù×=àR74ȸÑÒ–EvNxùbâÐŽî&‘DÆšíX,Ù)�Ï/Vf�ý‚ ÊæóYÝZÂa]°JŸ¡ì¹³qô¦—]”œ;÷:{ö´»v¤Ÿ—&_;zœð?Öô›“ E]@¦7&]SoF:øòþCu੯�WÊ33Sä[?¥²÷žÖΕ‹ o˵…ç£�nÏSö”[HÝÚn¾>tåE�sBÚ­R>ÄòˆJþ¶Žìò¬ÔÓkCb¢“¢¥\ù�°ùù;±HK–iô±Õ5…s©¸*ƒÚÚ—˜²©%×/Pû_ò¯®jøÄ\D%Ý<e³óQ¾+UÈI•u+2ËR£•_�#¯ —5$ÛŒ¬0¹Vq{‹î꬟oÓC«£Á«´–¿Ù· ®}ƒvm ” ù!Ú¡Yp¸°Ž·¨èD:u*¬ŒÖG-‡’oTJa•-…þº%m%=—ÛGû˜îcýù&VR«g?„ßú‚à×�ð(Y¥/ƒ>”ù7?÷ë"~ïh~ËûÑ6HjÛD…çwY%qò–ͨMj[UÛ0¬¸ãÛ +£�Ûõnù•-€J9Ü'\Ò)Êà é‰Ü^/9~Pz™Ý´Àìr6jYÿ‚F@Ó#-\˜Z–YH8¿p¡l=2w–¦‹lc4^›^ü»é¦æf¤¬wèÚ¦$$݉({H`þ¢…ŒA¬_ñ¾]è{)dºòùUE´gï¾={¿›<ž� 5ߨ»ßé/ ø¾0ñß&;v>ýÔŸìBåõUJ€Z+‰“AɃ +ëÇèÅ5I-/jÁú…] èè²o «£Ñ.ï +ýõíkÜ´Âàþ:ðÜý—·-vPq÷7….ÀÝäºR™ì"€(XîOiî/Á †�ưÛaß§Dü+÷Ÿ €KX¿ôÿÐ €Þ~bÉ,@ø> @0 ÓÒØ™�6ùÚm²_¸ÞÃyT^×%á2ŠÝ$Y¿T½o…ë£ ×�v­,¶4/�?ïsÐ’z›Çý@ÅBÚ•ï¾®¦®T¹¯Õ òÙ0lI†¥6ƒ£Y>@K£ IŠî�j{Ì£v)>ÓË’ÒàQµC-‡M¤ËªÁ€_K�°~–,ør`€pí{ƒûSÑóøTj '%¿E�Ùѧ˜MG‡}0¤ªè>Ø€¬_Y—í‚0È*ñAmïw”ÅÄ6áÝx�Z”ýô‡ÇCâྋR+ uàÐÆúÂý±~%îþ¦p3Ñè2 `ý_Ÿv¹õב@v ššo]·©³Eð~dÖoãpLêÌqàþÊðnœ§6Ǿ•Ô’û ê&r }ß�ÂR„O.p³–õKŠý/€9›+`ýsÃË�¤GÇ|÷Ïö£Y^ ‘H–\ 4þÄNT\SÅú%Åþê…“û+ ß½O%;±³­Å ”õÓ†’R㋚ Ib {+$`€ãÊZm8ÀԬžÅßR SCÔ—²4[�žäKéдTgü@úÆùrÿ!Ö�Ȭ¬? )êȰ~@å¦ÚÂðz÷}w¦DÉû¥�d€�ú • 3ÓPÊú/¼c•ÙxáÀ7Сÿ²ôþ*¥U6WþïÚõÕ$víÅý%¹¿’e(Õ]�Šû;y@¾Ô—t +•Ãõà | è"üW Àë¯ËJeë‘蹫E¬mþ,‰ø¼H×м#áþ$P)aúIÕ ØÓ,àû P‰bñ&ŽTø]˜š0¬_1GˆÄUúFPSW;´&×˸Ýý©ÐYNè�±‹ÅäþžDjÙi9*=ü·¯f%qX(µ¥ ÷gQ”ëⱞH€š½V A¶L»‰w¸e[0t¾ZÇ ­ƒ�é±~(@3 ˆK‰ûó-Ñ»:ð‘V@ÛG×jàþX�bÿê°� +&Þª%ñݤm{믆ç‡_®( �;/JBx¬ P†Ë©üB­H6¿FÍÏêÓÇ÷€2–æQ¼/ßtm- à_%ˆEÉý1q¦ ¨æþר�P€HÔ$ ,É,Í´g}ËU×ÌgzÔƒÿ±¹–�Pyê?îF“oN#Y³^u^IÕ€×Ö?Ü™-ü¿´ýtUç}ç�²Vš;t9žÒåÆ%—ĵ.”D[SÕ²Õ*ǪO�…O"#9‰àXDäYø�|@Xp" V P�I‰b·ÔØ ­—¹Ô²<¯§Ä­;4:d<Î%uã7Ô‰×Лäfµ³®ïç÷|Ÿý;[G`§ó¾ï^ßõ¬çì³ÏÞûìýìïç÷{ö¿¢¬)pÅY‡¡ÎH‡„Wìò« 6Áàà”¦¤ ©ùª)[›~Ð:‚Bû®1€ +øh­-,—ɬYoÉÕuq( +u]@€’üZPZÌÛÞ�@tÿ»Â¯€ìRÿ�ã ê¨xPçÇ–Öuò.*ø~ÜÈ—ÞpœùÖiYÿô‘ +•'Ÿuøð?OYÚQÚZ{‚+{ZOò£Ôùlj4±é„–�"0¶…wn³›Gha0ƒì!Œ×4*£ÅëÉadõ ­‰–RÚÒ“hË~¢I"~ϯËtÜÑŒVænÓ­ªw6šV˜˜Àb|ü1¼(ƒŠõü$hkoÀ賤=M]ÝÁýÃã"²¹&)ÿ™V�ìµó½«[ú +í”ëk/nXUÞR¤òÔñ'k›4 §¿ù ¾>¾÷¥¿|�Êä�ÊÉ?;vág‹¹Ëÿtéô ÏU«ÃT^úËSèòå‹”ÏýÉQ×ää*®Ë¡Ñ‡³wµIé—XyT,Ù32µaµé6=Ô'˜>ÐëbG¸Öß¿Êå;Ñ”d}ëÚ‹á¢REô­%ŽIüýC55¶,ìø�FIëSؘÑURë7-WÙ_GMý:ñ‘�™…O¶÷¯ï Ì÷¶ò­º¯�o p··™Ò*kÚJ³ë×-GÕ‰rwwfpcž +¶®UE4˜¶æ$ D‚I m‰xÀ‘)=|¶ +¦6»§O ¶rP"©›æðn¶�1±K¤qÞ¨÷ÆìëLÚ°õ’éJë‡l²ÒCÄïAÉÁ’ç·¤ÄÚáXЬ¢)§‚§xT†4¼½odw¡²¯H…#ˆcQ1kV !àÁ¿áAG%š:RšØ�AçGv×®Ý\Y%�=Z°Þ¤Ð¨l ­÷Ì~e-$<"4øÛûQfyÛ䑲ÝG2ñ°Ý&¦×Â0Ÿ3áͳKãuyLS<³Šê H?2 <ç €o�j\Ò´ R¦¯ŠõÕ„w³kŠH0ö$W×Ô®Ï11òƒ6�»¿€¯�r *X¿Êhýo �¶=vük¡ßl÷§Äý^#:±EýÑâM²~ ÉÛlê„×?u|FÀý©*ßùιêĤ”]“¯LìETŽ<õ”VÅE¾õÖ·¿÷¾ZXtÞ]vÕ—ê*‘G‚"©P©€Ý¬FÃΦ¹¨ÁYT’4t¤žÊ8eÈ1­Åo¶ëFbkÛ—W#q(ù•½.®èþ�áв ¾­ëïÿL·p5è¤ùbÊd[�2§† =ÃRRw®¹ûÞVWo¡ ƒSÉÒqwÀú®j謁¯cà³�EýjÊ·Æñ! (®kë/Ü" Ü¿¼Ù^fçÐS•P²HMÅ|óÝÒm$Hºe¬NŸª']@æÈ!VŸ¸¬ð�í9¤ßJ¼'=9Á÷ãr™ƒ(Béa»ÍÓ#³æ"Ö/É©íÂ6½3#ܸk÷î†~!�ðyÚJzj²¥[×Å1ÏPÚùU€EéPây8~Dƒ±Ã0¤ébÖB“°ÿ««wvuÖDxï‚ÛÐr`€@O Åý±~°öÓö°<ŽKd:´çáû~•¤÷«HWgÊúÕÕ­?<Ü8ºÖ/_Fò}J$›–<°¹%ޝŠê€p…¾JÂ1€réMË€HÀW>O-]}ŸZ�K'þô$Â[-¯) ÿéòñ¯�$ Àý©œýnì.`�­G¯§š /ñsJMã3XÿþÃÓ”HÖü�ŸCÊ””F+¾q‘a öWh¸ò_wa�q騰fšΙ8c(Ýý­ÁyÈŸ4J›8i¸”¢Bœ,$’qq3u 0ßoÁÜ-¨@ç]ÍÈb{P¶–d»ñ}@@wx_¼Íó3­@[{¾ß™]ÆX.äè\yá¿!„V¾¥h}Gw5âþXܤ©Aî�Èüyeö®f„û§p䉽þ_úéEõùHç_=#¼ Øb.uÊKº£UÒÜ�ë@Ù»ÛQóÍ�¨ñæ—€ÈV­nQXm +>Š +‘©D«Àýë@Eá?¢‚õËý­R ÿ;‰ýeô�@s& @1öÏ·š’ Ì¢b^ûóþSWì/X[õn™pÂùl˜‰I†Ýß�däÐogéA¶@F `æ>«°>æþ†�ä¢%‡À?“\fmî/ Ä…£g²èþôÄõ±uK¢+ °Âõø”¡Ò‡Xa#Aˆýu(¥ Øß¼xb­¬Ÿã‘ ÷燔ÊäþT¬-k%q¨bý.µº4pKBó» &,N¶€ ê‚êÿ”ad¾ÏG1@ý?1w}0>z!�û Pau]@ièc ¿n@,áû0@Zxã�¯kðí2ükí&¬ÖÛ; ƒÃÕCÓO›¹øãËRôÔ0¸AEçEX?Àý뺀dñ2÷èýaÐxIsPN 9Ÿ=w)öW}( é. «`æÅ JÀ€Z­ÌWÍ·æÅ¡ý}è�³ænyqh©¡™ª¹¨4C¾C³ó ÃOu&£®#�†«Ö&ùÒ)Y +î¿~S§@Ö¯;û!A~]›we»ÛäþÂý Ý5só ßO@ `¹ŠýRÿ�º€È B e»YŸÂý)åþ'ÿìRøY€»|Ñ…ï»êà:ó×3.€iSk{*öW7Q÷Ç;P³^íyÓ‡]²~a€ðŸÍ«<ßWÿ�wE¹û£Ùpi·J²~Å•úVH¹Öbü�X*úÌýÁ@ Bd@€ Îë/„Ü‚ñ: à}´Ia@kë@Ùó€šûG¨ ˆÖ. ¼^n+ßçßQ†6¯b‹¶e¥€lehÕáïS�Çrÿ°I³Äþ´yJhûNῤyjÝlæ¡sÕ $@ÖŸ€¶?uïòþD#Qà”¦w ?íhÝÝxÌ&¬ HI€Üíº*ø' Pû47°  ÎÇu9¦É®§´‘T´5Á‡š8¾›om[¸¤Å‘uÒÅøT0ñƬÂ0дlÁ‚…­wd•Y?I1C‘»´paƒ+ÝûÉÛî{z_<<ýÒ_œ}óÒ¥hŸ©áõ‹o\x=ªÎô¿ñÎèÑŽTøjhtQ9ñÍã�ßz+>'oÎ \qTÞú§·.¼öÃégOR7—5táû^ÿáßxóЏ|ù•ï¿^úö¹°boýã?ýO‰å¾ôŸ^É�N|úÝ3Ä>V™npŠ/$Q�¦l/ZÒÕýꢵÅ#ʼ[�ý<¹NÔÚkxá†^¼§Ö�?ô0YpÜlW•07ÍSËBᆚØ/¿²wYÏêå-·5"*d+ïiG�7e ÿnëhDíAÍ„·�­·5‘Îåz3VùPC¶·™²¥Õ)‘é´ûŠQOïm'R¶¦BWv¥]u´XjlZ¨§wI:üÿþ:ûòéKÿ­Ö³wÅ!u·Æ¬†/•’kŠÐ%8túÏgØ€ýË;ï"×iìüØMˆ-0G ¥LvivMsß}ízHg^O¤I4ža@Å%Ÿˆ=‹µm6 †gˆ–FƒïYo ÊbñѼìÆÔ°£Ñ†Íá·á'°þ!{F©-”íYȬX!õ¯ë”V [{ýÆ”…Ouôß×I‰úîmÍÝÓL‰4ñÀÆNTÝ_Ö.¦’>á)GFÖ–Â9X„ÿnx¨ Ž˜•oØ®Õ |0¥`îãÞôPNÏè·ÊּˈÌ߃ +]¥µhüÑ2àïÈ–Gíêx«$Ç •aŽ£ û9p ­o*PJwc%)HØòF)�¨0¥2Õu8Äzˆ½ìð 'ê,b óÑ·ñOiMÂÕü/J;´ƒ†+V—A[=ï*•ßh“ò+ÿaØJÉ"ÂÅÕCö–ÍìÇ[*ûìöàõØñ;¾·Ù”�ômßS° �FsótÊ7JdâÈN×ÇË:oü°=¬Ÿ,ýpú·AÐÂÇ„‘J)‹ÿUs¶P¤œ5ÙÏ €ü§Ö£#OE| ùÇLsÜÉ^À™ÿˆÕ^~î¹çÎýg«¤pâùoÍ *?'ˆþ¯8ð¥i-BÖ¯s €Äóg^GžzFkø³Ëÿè`bÀÄÖÚGbâÖÂB3b÷ ºVA�¬�ëç‡V&?´Jê25|_¯[BñpÕƒ îF¸¿)4w55|å=-¨ SkY(ut.Æú¾�áþ0 ù–-ƒ–õSvÝÝÜÙÕŠõ„û»©ówð÷�4üŽ]IéJ¬¿ ä mÙîe*÷{ñÌ7û÷åo¿(±1ßÞý_ýþ9”À‹/=ïÂ÷�›’¾rü÷Ðà¦^D–ãÂ÷›Hîø` ·¶…0s–dý0É÷?³9‹°~¶|Œ�^'2ÜE…#ßìžÀ9 ö(éJë7rØ‹…3Xp*6%À Ò?¸‚åR"YyK–RV. ¥Í]iàø²~�Pm-°sûú»€ÖV~äNjm)X¿‚Œhý… z3�Óš$¨€Kˆ +Ö?þhÉ€ã#Y×Ê*ø>š~z ”ÈÝ?˜ondl$oÿaÍcädÉDÈQl…Ц¯#BG%‡Çzu€P·ß&'Ìø×ö«01ãµ²ou +Eß÷ýzE¡ž”€¬_¿µÅ%¥€’¨+DßÎå +Ï‘ŽPIàïj¾N˜€Ü‘ +d{Ú‘2€Ò¦œD*€õK$@»i3¾ã ÷Ný»ãÒÄF$Bõâ†,jøÐ<Ôxó—»ÿäï–Ùz0€$%—¥†®˜Äñë0@D)P²IåþT¢õoÉY°Ñ’Fb©ì}…ÿVI½Lë—û#|ßÅÎÂýU2™@à‘€é¦.…óZgb àþY¿ààW÷XgVXRCR[ +Éeh`¸a@,p{J³ÅÚ:›…ûS²m±~5Q|??�Võ¶cúü<³¢™™#À@¢åè¶aäÀ‘ù˜­Üß’€¤ý£šû'Pà.�âQí c$~›t7Ùqšî2 ++`K´,ÄLQQÈŸ¶~UØD‡­¬Ÿ¿I©JZfn듸?%GŸ’­?`ÀÝ߀û£š vñO2gWø>¦Ü¿ ßoj^óï2¢Ô‡_)À÷%Hpý¢®ùåëâc€û3}æc+Ë;Ç��8‰üHFîþï€3}QÁîqóÏIŒ™Ü7éÂ÷= X°gžD_Ÿ3¸û§€­kM€oüùÀ…ï_pá¿€¿&hÑêBÀ“ÚAtðàûÞždý–u‚�ÄýÐ}%vø…8BíIý?:Àωýåþj%Ö’hm¡ H³²‘jg©. ¬_ÞdÏY,d½ ÷'Ð,Äþ.Åòê’õwÜÙ¤ @Â�&šÕ”ÒÏ’å¯ýí9éÅÿÌ©ošô4Êm�lh[Ñ áû.@"ðW€ð}túÏg.]¾È6tèÈ—Üñë$ ¦ÊĤhZy¡{? ÿÃÕ2ä@‘=ßT„‡SZ/¹3À&VÉϲ~eαbÎF==?b ¹4È»€˜X_m±¿J°rU›ÄL8^X(¥ú@eWî_ �]IÜßÀGÜŸÃ÷µ³”èÓ!÷gÃòQcldêt™^²e%G.UÊý%YÌm.þ§—kk2÷÷$@ÓàþÓG+Õýv»†0`çt[oÚ© ` Œ ÂkŒÝ !¨'ý6è†ð„)}Ù¥wÜ›Rѽ®ÄÏ­) Ò®Ééã'Ξ{ÅM\ƒlQzíõ7\ßùî«zð"]?óWgU>wòcÎý—WÑ¥K—^øg}qUMIÇOžúOßý¯H¿Å¯EyþÿóÚÌ׿�ÿ6¶g¨¼úƒ"­ƒÙ:a}ÂÙß8(T—YËn~vùgˆ¹ùpòß½�+)�U/~? Tœ¥“‡žxª¸¹¢~‡7.¥^\†m¿ûdÛºòäΠҎr7Gj¦ìZÚ MÁšE%Z¿d-Ã_ê�´ûzòé½h¬ZDÙ{LÉã¬Qæ®4òpM?=‰N>ÙR*÷  ö{úânEß”ptæÚ¶z;˜^c½:Áß1ó¿Š1cÞ&Ð4ÂcTÑ|ôªaùD{íý0A†‰d{ø sДñ¡£¡ÆûF¶Ú�M +u©”HG@Ñ(›¸¯aý¦°åîï¢IT&Š`8{WZQªùáJQ›Ê4^ÝŒ<ÌGù"q«™¾ù~¹_¯{D뻳w·êê)GæÜ[°—Û„˜£=¾º ɳw·èE½Ÿî^¹wr³4}¤ª ˜É@iÕç�š:®�pgÊR¸*)l»4Þ€Ríßvs†RÿNÛ� ìÑŠaJüW>«o-®Ýô +Ú~q؆MdùMõ±Â䡸ÐEfšŒ�ð`ëø½qnáéo”ì ñÃv“––ÂW’ýðáŒ49‘-oíÈmÊO=²˜ÊÁÊ’‘û—J¥Í©:ÚâþÿgÐ÷©~tìøq?>cü.¥†hÓAú6 €êþ)JH7Ü7•åþ`ß×L¾ó_^•ûÏœ8i•`ý²Zå¥Ñ1Y¿†èýap þ‚Ü? €cÏžª“‡¨`ýç¿{^ p<õìÉþò, ¼"NýùË ò…É鯟¥ø{= ÅY7�Fm‚ög±@p¿õ×­Çw~.-°T@ç�Eø–™$­¿ÛÝ_A b>`ùJ»T§&jÆ÷+–!=Ù8^ù"åîÉÔ´¦eÃûßñ}¹?uY?2 šuIèÛ ¸‰\ÁFÆ +0@Â5\µ�°#'$@úo�"Y¿žzö¯ÿ"¥³®ïüõË0 gϾˆû_øþ+iÈ‚ûc +1ôFÚ;ʨä×òn¬\ƒ¢õ‡kQø¡Ù}ˆ÷í‡aš8“ä„p�ûcý@zC¤Í$¸?í$,Â~HEî/ÔœÒ'—f*ìu”6fQèêß°Í€^¢Ÿ b¥Þ÷«w~aÙz«;Rç¡$ë‡� ÿéZÖÂú#ÜiåÑÈÎBÏÇÛÑ\°zb@Ønl™ðºSŽ `ývC@Ȥ½ý»ûÛq~¨ÿ¨}�À»Œ1LLEýûZ+¾ÅÖ©àïêÔŠ][Uû‰$ÄYíÈÉýU²†òwæÀ>båÙGŠý b¾|Ðz eýb¾/ |¡áþ”XÿÉ} p*óomC2zy}€nòbd£�•õ¿=ô †4ü�øˆ@øÉcÏ¨ë¦æt?^ü�çŽ}ý4P*ü?~âÂý§ÿ)TÞR‘õÃe ¸?% üç'€¨Ô@à�p’Mf $ z¢÷‡AÖÿ³Ëÿˆ~òÓŸH€ï}ÿ5ÀßJð 8¾ÈÞø¾'Þ§šE°þÐÇÊG\[ö�>JÆÓzt�SÊý%»ª,¹rÑ ùè°F™ø¾µÔ€J€M ¨+·L ˆÖ? +ÿqJY¿€õ+@îþH€äF�úîoÑ_×b?ݶ¼&üè©™)‰À_IúÓSÇP|µu¸¶G8~üˆ?úâøê¢€Øÿô¿?¥ ëG�÷Çúi`u ög‹>Ã|V" `“’ص›3yœ4a€&P8æ¤ß™½�<:Bî/ÓOOÏÏUÚ ?»ë·�©7Ò øw'Š3±e±’ÉSÒØ›Hæ(Fz¢õþãþ1X—q”ìE€R­Žff’ÝUDT”_gÀÀúqóæb&Û*ø»�õä$ ö-ÂôÑ1€»?’õ_ ¸?y€€Ò$ë·ö¯W^'I€lÿIÚ�ì'´ÿpŒ(ü§ÔcvøJG¾ìb%bBWü/ˆÃJ `�Áý‘pVI¿Zºæ¯ ûº´‰äŒðÈ„ûþ£“ûæ“Ììk�°þÔÿã½@³ —O¼ÃW@SËmÍí*¿|ý{çýÂ< ߇-·wd×äþÞ“èìw/ Ëøx¢^þŽ]>áõx +—ÀPb¾�ûƒä΂ÿ_" Ä÷‘[SjP€÷ÿ0DïCôþ0Èýõ+|÷gA”š äoþ×¹û“¨ H½@}ï?d»mûÝ']ø>á?°$À|?@îå�†Á¸iaÖLCËP[AAرzI)ëGÊÄÍÇf…ƒ„ €J»÷$€†¸þþNœš$€ 8¨\ êüQà@ +ÿŽﷸ±�h2”éj´'µ}tiã‡Jîþåé6æƒÝ?€àî_uþX¿2 ÷g¨€º€€šƒ³=7wéšZ¶­"wÙ·‡äTjîà p¸õk Í œàûb€@@‰þ+Ðõ+ëŽ,±T 8Kšê’õ ¸Mì±kd´:æ@àOD(ñ}Üêñ* ]ý9¦l+j¼¹Á*‰û“¬´÷§G`Hø¾+�¼ ¼ ˆöï!¼LœŠ¬ßN( +á¿íŽtûO`•Ðþù›6“”úïˆ +óA‘¡cGðð?ÌÍÏx�†,AÓxçÂ÷½{G�˜­æO* ë—ð}@€ð}—¬_À,,ýÈM®ÆæV—n¿’¼¿¦Ú[b‚z ýèèÓÏœyùÌ+ß{åÍÿöf4Îdøéÿq ùqúmÎ?qò;ÿ¹æÈxŸKñ;#­¼|ù;çÎö¹ê¾É´¦Ÿž9õ™s¯\À|™òÛÿåÂéo™ûŸþ&Y¹=}óÛß9ÿÆ�ø–¡åò…\xåo£^ÿÑÅþý®‹»?ý™NÒÊÊQÇšO<ÿk®Rwÿª ™¾|ÿga0'`øqÔ©ÿíŽÿæð™¿>Û�ï§2ó'§.¼z!êbíbò™ožÿ‘ÞõCTÊû§Qad¼«0Ð7\A¥‰)TÜ1‰¦ž=]yü)º’�’A½wT¯�ð†ˆdÃÛ­ÂGµ*µxkô©>JoÄšŒ:bbŸ²ä—œ#ØY×ÝM™»¬Ó†²õöQãÍ �‰kש«»©ë†•†Dæ®Åmí7 æ›kÏ?°È)£Ï0err÷½v'êZµ”¿ø‰±Ïü){•Ýwù\¾Ä.B?�ºð·Î÷ìkg'c^û»×(¿÷½ïæW¿ÿ*¢ÁX0pöå3H!ÿ_ü¥Iuu�õük?xíòO/S²ñù×z(M‘£�ÉÎ2ÛMžVnC�VŽGzüÂ|ß9œ~Ô4¶#¬E蔊iq€uR³8ö”Õìî¿ß®µ™$þΑuæ$ËEä†sEL<œF*~¶Sû}óöš|ý‘ +$õô¶ ��]H§³v·]ÖïœbUG¶ þÏô ®»Û›om¤D8²s*¹5™Â}]ƒC¶eÜñKXíÿ,<ë²wr vÙí~ƒ]ùõ+6Ù‹½Tjýu™Ÿ#%4Heûäú:Qu¢D©œŒ„Ö.ÐȦu±\v�¦Îæ*±_Øæ#lðiñ•®˜P©#Ž2d'v˜^ת-ÆûÝó.ânîùò?JÌM·o¸¿<°eÜ® +á~˜­¼Þ†ˆOÚV î ]�$ÔÜÿÕ 3öMTyl +aý¨±%C‰õ»:×›Wd¥ì@àþ0`ôsö|P•´-.kÁᥣ4D¤ÃÑ”±~**ÍK¶.÷‡”€š©¾µ è'Ì\²¨‡f®4ÝŸX¦vJbÀ;@"¢GÑß“pÞ"úä2PÔ™µÛ†%ï êê1÷Ïå— µñ¸¿€û+Ì.þ袄û§ôšdýÁýÏ}ûåWÎ'íþÖJ€�ï¿ùã7$ú3R×�,^1»Œ8oý?fÐÁ§‚ ÙVÚâm¯aô‰û#¹›¾µE×£ÄýäVˆ„-š�Xüêþ.¹¿à*|&3«z[dýíK)ñ} —É”Fì‰ÄviÖ:»ÉVîoþ™ {O›î.W•GŒG¯Çú]Åcø>r`ý¸"ðw`ýÀàf;WÁ_ŽJ¶!•Ò}X?eÛòf¬�@A Ò¾ClsõËS [I*D]vQS€²~Ý n#à mÎ!´7ÇÖ†wô"9¾M�=”"�žaïL²�p îï�õÙv=Âý±~J°~¹?ÂýUqXeÿ|ÀÆ„³2¿Ã¹û|¶TÄ…e¬²`I®§ß'�jîÿæW¾¯™PÁú¿òÇÇ«U¤~|uåþÇ…2Ø”‘ø¾@ùú�˜s²J©¡ž˜ïÿägˆé½ßI�À›íbPÜß@çë ˜ 6‚•I€¨²ç ”-”Ò’õ«$ðwÓ—Ày€2%�[/�Km×ZdÒ-I2ËOz¸;VB§´Kži4MµQÄ· +‚|J¯ÐY„� å ½ÁÊžÕì¸ZÐ|Ë¢÷-ú—”-·Öžd­?¨cùbäÒ•9Ì +™ûSIŒÞ.ûÁýÉyù¨$À Vg¾dÖOø�ð}"þD6àæ”øþ+¯¾B�²/ÿU-öwxP€`Ê1+Çß-ÆF/ëð_�·2�nŽ•³³§lg%ÝAÔe©äþìkÆósÆÛLBøo·ô8(ñA2DEHƒG}Üs@€ð}õÝUñ}ÄVu¬Êµ Ü¿myƒ�Àkò5@¯Æý±~ ߇’¬û&˜ ÷G`ÀHnšS�¿ßGÆßäéÿ²eÆx€ÿ±~d$HÂjZ²Ü_‡Rºý§�ì¾Ï^`¡”J»% „ÿLcž.iAQ; ‹ðØŸŠJS€ä°D$ÌMÀ÷ObîÒÄü4äøfú¦XÙ7ï©­µ àþwüë.ʈý)+û¦Nœ<‰d‚Ñù4¸Û΀Ë|ß5±è¹SÕ}ÄøAÁúa$Pÿ�$êPZÅÒ…W7kj H r@�?êˆS]ä@: ¨ÀOdý—Éem%&Sø?ýì ’õ£76Öù¾ ßÿ€dúÊÔùƒä–<=£ðÉúÕ|ícòâiZ’ÚklµÁýí¢~}H‡ÃÏ뺀ôm*%5P…ÿž`|z^?Ößù1+Ñ 7^‡tQ€îóp t yÿ�)uif´~)ÄþÈ “]ö1(sWÛ¡JdýæÚ¦³r*ɾ/)Àú"ö?û×®t�ÀÞ3h]Æ1üßÜ¥Øáõ +Ã)ñ;�DæÈÆéäÎØTt/³V]€Mº€Ìì䆞JUäþˆED7Ül¼ä#‹¦´=ž\å‚O±ÎÂ@fE#m÷Ïõµâû$:øJ"öÕ”÷GÖÿ“@7^™[% ¨ëBg¾¯. t€òá…ìæþ…L®�q(@` åþaƒàÙ¿N6 ÿH±¿º€°~u!üÔ½UÖ¯€Ý›:b»9†Ãw:‚ûkÑt.�‰ã“ÈŒ]ìÇ—Uv­VøÏ<ãR DȪ½”õWvY 3€¬ÿèØûNãï;æÕÜ¿ZX@yä¡Y @îdîÊmßµ�|þ…×.¾á'lçуuþäò?r„É1ã½KÿôÖ?þ÷Ëzéö›A:ß †‰u2“ÓÿÛŸ·Ý•«LL–F«ògÿÓy¤ù¿ôWg_ÿßÈOÆŸ8¦ßž~ñÌ?Ž'~rÉæð³ŸþŒŠñæÍ7†‹?†=—~òö�Ÿýùxò2�p>–ÒŽÿ‹mšŸ½Üôm…g]ÊùÖ yQiëΟþ/Iú¿‰ŒaQ©áôËgÑïndßÁâhµë“Ŷîj¿;·ªX¢l¼µmõƑܺêîY?œßTzÖ›Úö?‘/?~lý޽Žß·eOat/eï–Ý<°ëA??^Ÿ­÷_Öo¿ÛËîüŠ�•ÖXC³K±]$ßIß ›¦�´àáðŽ dV2ïkW¹éá)·®M~KÛ"ù<Öÿ/DÇ÷aÁ‚ù�yŸžÖÙ}�¡B•îO˜ewÝÝH'EÈ$zú–Õ´f ”´8»$tMËÚu· |ªïSQÌ­²¯xö\| Mñ�‹¯¿þƒ×ì”{èÞ‰^.ä¿‚œÿÕ¢ûsß=÷�sßÁèÿâ¥_>ûÒ™O›¾uú/þòΞ}áÂ÷ÿ††JeìÑ¢B~$ Ö67O'„íœp87Ké%+—›ËëÑãæ”1c!#µl€É´¥þ��¾;”gHéiz×uhe¨ä×ÛMÈ™�5S©Lä±u½/¾«§¹°!ƒ¨X}o%Чjƒt榴ÙpBÓÒúSÙüpŸÝvtWmŸ°®HFR<°rô‘þ\¡� +þ›YÑVül*oÉ£¾Bûs×½f¦MÙO܉ãSRïë_QØÐE™_¿<·¦�²x¸_,Ü5f•°élƒ„»ßQŒÜÿ&‚ÊCšom é¹·cÓÈJ™¥Ûyçjƒe�\í\iœ6�4dΞ\AÇGg›"”ƒÛºÑP¸nGcT‰aSXÑðo–Bé#©°bh˜åâõ©}WX€Žm{7zjó¼é�ó(щí&l�òԣל�‡¨Lmœwl뼓U“Ü_:úÈ¢ý\_),8y¨áè„il4ƒæyä‹€ cÅ2qÞËÿÃÎjHàÍŸþLÖ/Í@ÔàþT€ùú[o€™–jPÂY¿ÄH áû®�rDàì€é¿ýHŠÐ%wTýJ}+€Ê£ÃÚÕFE÷á¯Î¾pæå½�?‰råÜÆšp—Ü߀õG‘êsXþŽÈúÅ|?¿¹‚€Üæ*î�úÇ&%0yô”€š¦»?uÀLœRÍWÙ®.&³C×:Oiú”v „Ø_Óø’”²-À~N pÇq À¢Û·áºë¯YúáëåøRWw“” wüâþ‰ìåï”iÔ׬?`@‘¾ 7¶aýÝŸhtÈýhŠÑýÜß_%Æõÿ•ïžsÙÈïë×d¯ÿ“�Fˆ¦¿zø>¢¡RN>^–û#w*%Ûëw÷—ä¡éŠby@ÖO‰|ä{"tø6Ûc½7ø~Çï|˜õqPÂ푞Û�ûSâû›²0Ș$¬ß%çe­hN@a]·À-÷&•q@WâþRaÀzr$|ß ë—ð}$øÄŠú‘®ÚÄFY.‚,÷§Lñäþ(ÝþeýººF-\%³²¹…]©p>& +‰û#-Ôö/øÙÖ­{‰}M4·U +¾^ã*Åx_�?áAu¨lnÆ÷§¸F˜yجŸ™ïï6Á¹ÿ\¼ô¸é{Mæû�,B0 ¿©xæÐ¼+àü«$î� Êú)Ó†ðMÆ8~ö—€‹?0ëÿqwø ØŸ’ÀQgp÷GîþH½êæþ„üo¾)0DëÒÒ…wsÖ6Àåÿ~ÙÅúû×·áùoáþžhüé¿8‡öN?…r›*&|߬_êý¬ ÷§”û ø¾ÂH€û#Ü_Žï<€Há¿€ï×’ZUYƒ ëW`­* ðùX—è0зjè$žu°ð?‰î8s€û{€õ«£`.pe÷ǸùÊ{“ºsÆ•ný½»)L00 $ pƒ§ž�²=…ÿ’Níª—_H\†�àþ¯F€hýA²~0P€tпõÿ(ÐÔ–dk#& Œ‘�#c÷1F{Ay€»¿2$ hJ¶Âc3¨° ±~‹ëïjÔ·3¾ßØÒ€½kÛ±¿V ™ï'|`¥DC +²¹?•«Àž†@‰õ‹$iàû0 b`Ý +’J³õTô m„õKÖ/it>C±¿¹p€¹ÍÆ ð_íßÃSèR™€´4$-‘’ÿKì¯ @Iâ+JY¼MÃá³Í’6,¥�@É +Üßɺ!«lnžÜô>‚}äî¯^¹?¹ÿÌ–pÿÓO7ÈúX?åù£ W¾/÷p)Dÿq�!J²~€gºÚB Ðp5L?=ƒø(¨ èŠ�õG¤Y?kkÄ +KGàM0qéM@\]ò—e¬€þQ”¨zø™ì@EŠÖÿs@ (ŽVq �ßT‘v�õ þ êÿAÙMÀÎ +Œæ= P£4‹§y%¾À1fÍ:¸¿a ¸?%�X�2„ÿ!¸ ¯4™U÷¼Ã’Ö!¼F?Ÿ dýW€J�ÎÔÿ#d»­—?æÁñu©hŒýC€ïc÷ˆ +î¯: ©€dv®ïTGPª¤3DE8÷Ýsèì¹³÷·T ôÿHáNà+@'*Ùà@øŒ[’ÌÀÉ/»D²~•’÷ÿPâûH¹�¦ÑO²á¬l~ £mEce_ž$€-IE±¿JuàJÒ2¬_%±¿’¤�(i}„ÿ)eýˆŠ¬_b5$¦Ÿ d¦ÂJ¤ ü=HOWàî/xÀ¿S`[/\óCÅÊp2ƒu£Ä^m ëê�#�¬(@ÿÆ&ô¯ÕþÍýCø�hÞ´s‰¹mˆ·¨„ÃÍî“ç瀋Ecýzâ¿6‚F*̬ç'HЩ°bjäÀÝ_�õ×I±¿„õ?øz‰ðsG ëwh‚BcôæOìá)ø)V{á~ú“ÿ;Fþkðn„ÿðïHI]�*?ûÉÿ÷�¿ æ¨SùÆß_|ýï.P2s&8÷�s•*Չꙿ8íøÍ!ÌÙ*ÁÁù„T—dñ7טŸ\‚ +Ö¹¤$£nð“èÒO/�þ«³ÈΧî9пC/ž=ò¯/LüÁפìêbÛòli×TþþJ÷†2²7ý o/n©†Çdú«G¤œõä”eèøxn ¦æ[Û0tÊŽ�õ¬ÚFÈ/ ”̧÷þѶ»r*» +~(°$`ÛxnK%¶í.î4 OFÓ'NSÒ(“SÒÎÜ#ÔªÔpeÙéfmá m=4PM¬X&6³î®¥ 3A¯Ä1³i«?”˜ug÷Riáû­ççºë¯‘éwܱuf—¢+Íâ)�Ñô{—uÝÓ„¨¨NiI@o“|Ÿ +÷|rÊédïšð(ˆO6“¬^w ²·$74ߺ`òñJ-†-‹·$à‡¯ ’|ío¿§Kþ©¼ö·¯ }¼ðýšþæ»/£3/ŸF/ÿÕ)tú›ÇLÏO£×ÿ÷sßþö©Éý%3ýò*än^µ]ãÒ‘JÉ b¦‡VÖ”š¾o]ûÐëà"üÝzf†³TV®j– SéýdG­›þŽ7~h!%‚ ¨gm?ÁýQ³€N3;wº5¾\…3œV&•xUû uyÛEôÈ`‘Gˆ‘QöcöÐ…òöµÒæ­½Õ}E•™åmöа±§Ð@80Ôc tIäzÊ›k½�éµJn]¦ðÙxo�pÈÊX…ÆzN¬Ò&¶9Boºƒ±#ŒÊÄÚLé&¿òæîD¥Ú¿B%UÊ;’+|˜& EŒñ2Y:«PJÍWIö1œ¶™ìˆ'í¤ÉûæWòó)§7ÍŸÂ÷ƒŽ–çÍTLñzžÐ­¯è~ftÞ7öÌ{iÊ¢û3G¢½ŸïýÊá[fFç¿°÷Ýèo޼ë•có^>!qáø¼_óLõúÉÍ ã•Ž ÏΧDó+‰!¤6 7ÿág|ßàîϦHJ p÷wÄìûï.p8Qþ³0KÿíGÈÝß áþiœùëï B¸:Ô¬ÿô_}í?:ƒò[ª¨¯<ŽWä¾/Pf +ÅGô}vEë§sñýl¡¬’/._•§ø>+?5€ïÃaßÇýûîEX?Âë€_dzxÂ’€‡'î•ühMÝÞ™½‰‰©°Ñˆ¬q„�÷ÜÛ&áûmí ’»?$ȪC`@²{~…Êz#4NM IR:¤kf´ž£ÛK|%imëð)ÝœlWÓ'¹ �;“Í„ +Ö� +÷ueïiËõv"æð}ÜA‚¢�ËÅè-+Âëû?Û�äþ%{ë\7Âý b�ýQ(ÖÛîŠÐõQ:q¢ÿ¢F«Õªä\nÖH3±y†´LîO…1ö�f·ÿPwü&¨IÖ¯3áÙºi¸õ«n +—Iîþëû±~1àû¸ÿ×¶Žm‰îo$§sqâw¬H@iW™RÖ/tñ„•*_›ZŒê€ €¤! €KÿÇO9°~—ªä˜±C.{!žR0èØW޽u¹ÖEmýGDÒ ÷ÿ‡7‘¬?v÷+öJ»?Ö? +ÿ'Ÿš1ýþq9~�IÖ�¬ßÂÿ¬ €û+ À÷ŤØ €Jn]Ù3Y¿€øÇÂLtEVw+, á¿1 @I€bñB Ñ ñ™»U’ðŸˆVè�r.bV›rêTô‘fíš›\r$ß—Ê$|€ˆ„ÐÕÃÄÆ€{Ã�¾„ÿ(ø¾@á¿uÜyC1 ’û+:Aj®HH@@mUyÀë¯O\¯¼R“Üÿò?]rˆ¸¿„±õ\îþ(Û�e·áþTòÅ ؇Y¿J6”ÂJuéH  ƒÌè“3´ÈÝÉú%Y¿d¾Ÿ$¸?SÊ4¯|dl@ª°~y–·7¤v…ÚZš•ØL¶æe¸¿gîþ”Ê�aÚkÞ*æþzL›ÂY³-Τ-W€ºn´ÂÍ•¦«–L€hüÖþíïÄ‹>5ö‘¹¿ ­_Qªý룵ÿä?"|__iž”6Û$H²Ã$9Ð8ô|ñ1Î!$l�ÒÐòü= Péžþ  8ùH- øæc1 ˆý)�?ò ë¿x|r  õÃÏJÏ`¾Ã+S-b’ûG]=Àú•hP ãÅ. àþDî²rÜß*©á'É@]ó'_<3õ•Rq×T~ÇdMs¬_š €ìê"ïÿñ. %¸¿@ ð_�õÀ¶9¹dù-Y¿waý*ÓÈ1Ù6Àà½@X¿'“GªÖòÔšÍý-˜Ò/k› ¾Õï—µyàð:Þ„ã¸ÒXÖ²( ù¾»—ï‹”H¦¯Ø_á¿x  @ÓH0Àò€Ù@êºR�3ÆþÈ€¨Óü©Rá?ºøãxû\¥žâqAîŸá¿2€©CU@á¿úëÍ÷Ã+Ïö<>ˆû÷6¨Ü_"ü×ÃŽ¨8” Ê¾ðl÷”Ñ×�¤u¹û#|ߟõ$Ø“ @¨îª¨ˆR�?•]¥ ²$D÷·nk*ÖÆ’KžÀ÷aeÈ€\¨ÿG0ßL$÷gþ”¬ª–hì1Û}8ôþËýÉ +ápˆ½@á?í_N-è`aQúI/Ä"êÚ?¢^�(nßU  ¬Luá¿‘ uu«m±òŽ 9¾WX=K¾“þ¦q÷wˆx½ À( À÷åþV� @²~1`.$€rrsCn]>€àæ?û& “”clÓèèÊŒö°³7u® é!¯ÿÝëˆcãGÿšŽ1Ýü£‹¯™¸½ÿä§—ì^ß{âòåKçþówüˆ²g¥n( ËŽƒì•Îÿà"zîßÿš|âØèŽ ì>�ÛRÕ©Úü–ÝAfñýc{‹»&)¥Âèì•ñ…mV)î¨J™î\îþÑÌêBóò ðhnÏ`ßQÌ3œÅ�—ôÜ7´zƒU²¢~@0Üó©²~¡O•z‡[Ú:îÛXéÛT)lzh¬oh”å¬©áææîâPX™ÉÂè¦O‰ú+VGTh}ˆ:¨¨=9´sˆFLIû¦•«­ËÜåïé‡c‰ãÖš¸×í:QŽ·$�¦ +O*·o©èåGÁ/ÈPÒ|Õ¦‡ÃÓ@»0ñÐoÓܲ4,¾.sçRS¶1ó;ATî2Ó—ï3ewn2Ï[ðžýÄ2ÔÙ݈zìÍùBsîÞeˆf»{û[zî]†ì'A…�ÖÞÂ-sèût‹ÔܾpïÔÈùWÏJ¯ýà‰ÈÝÛXhf³ß䃢� µy)Ü•b|ë­—ÿêE ¢´i•4¹¿Ü»¶kø¡ÊØ3/ –½…6{a ƒºV67·ÛÛš(‘úëÕe¯kÿ’çã,ò,J==\_$à·ôÄþúW¡â¦ŒU‚�ŽŒ‡íj1»N‘²<º6¼¯¼<²söŒläöÂä¾jb÷R¼WË<1(ˆ¦-Ù)ÍäF»9vkŸ”YÞ\ÜH¬P*o'(>ððÇ¥Ì] ¹{;ì½]zEÁÖÞÒf~Õk•ð\ +�ÎU£µyÒb+áÚJõÞl‹i +sù*¥äåÃH�nû§Lµÿ°‡koøG µ|•šXSsИtûÇâìSúlõ“Ñ]½’ö�`ïuXž! ­¾¶ïÎk(ÑäºyèȦ„ü¡ç‡£?¹{Þ7'ç�yq„»)ÂŵVx±Y¿ÊÄýIÜýÓ]@u°ÀßÜpµ © ¨Ö\CD�õ ’ðñ¯@1¾TG�ʈxûöÏG[í„aü#¤¿¦–oáèŠ0•@ØÈ°Ácû‡Xá|’õÛ +'+ì ´.üP€»?©@¦e¾waýÀ÷y Î|ÿâó&2w„ïK�Àpéùð-á˜F±ÿ•º€8…0(F÷“Añzù ¦dð�ÿ�¾v‰pÞ5ëš Û'&)�>÷µMÛÇÏÿà•³çΣgþí7PåȱáýG°i”Ý\A½Ûv÷ïœ,lß›­öï<€5¶O2&?ÊH*6Fêß¾J›&¦9 ²¿²W%óÌmvƒeÿè$€T·ˆJiß4ºíc=¨ðи´ª¸©»(öó`÷À†aSroW–1¤Ë]kŠX|ó­Ä:ô‘Rèö±M•¶p}ç–qA¥ïþ¦ìþÔ`æž|gß@óòlib¶îɳª[÷ð�ú¶íA°�Únß álûl,ožœª>q¬P©êð´7ŠÐÜí™~ºŒF© Fcbw‡J83LÓ”ÅÐRѬÃ&ÄAÌ�Ÿ«)3-& +w3RÑYMÔ¾bémË»:V4vÞ•YÑ ­¸k‰R�l8L¥ûÀÔý„ñÀžì–·Ó¿=}v�4ë’Ðää0 0¨î» ÷§„G¾4©´Ò)Ý/ÿ´¦K—.¼ðïg•üºì¥KgO¿ptò #LvêÏŽ�îAÙ{Ú(óýÙ…7ΧDz\Ýø£ƒhìÑÂæÊ*•’a„ ›<ÁM¾€‚¦½”úˆ/‡Š]Y_ÝUÝ>Heh[¯$'’”ç¡ÒC9bg—ù¾ûì»~¥ݵ֥�ëûNN`#V4€U÷6#@ùŽ˜xllÛÎA¬Ÿáû‡~·"àû$Èv7ãþ”Hî/L?9‰.|ÿ,:õï¾"1ÛÉÇK˜î/H0€­‡]²1Í:g[?RÓÇúÃu8æûâ•rÅNºFáû‰†·öyä^ÙE°ß¯’ý"ŸU‰)W÷ÍÐGCw˜�B]JÆhç"Æ;ÊöJë²@(¾ïÒ¡ ë»S4[—ÏÓ”\)$¨ÙŸRЯÔ,€TL榟Çúl÷ê.�õ! üH¼ûŠ +¼%7úØ(¾¿÷¾,M{Æuà鮃ǎ¡+@LETN)Ò +Ѳ1üÍ�*…ÈÌ€õSN)9&¢ûŸ«€œÞ¬ÿ Ó«`r¸°þ³°àô‘…à•?Œ¾o¾ +×ÿrÿzààrÿ+€‘?I÷óüôòO~f@v|ïï¾wö»g‘®¡¾^xé Â÷~аH(eÖ’¬_Âåñ_IŸx½¬?tåãûá²HcCâûÈrsÏTÁúåþ`€Ø_*1Ÿ$`2@ p uòèšë +°Ò|ßeÀÍ) ÿÄþ€þÑ $˜ï°€<@€Y¼0‚û‡sTHM5÷èõÁ¾ý€Dñ`ãÆ#ÔFC –8Â9¼ÕÐõ[5kµx…<~$3¥ aÉ‚æ[oPø/´-�²À?(ðg¯�Xží,ô~Ê Éî= @Ôá� [äþuÀKqZÖ?y¨zîÜËß8ý§X¿J|ÿÔŸ}EPŽd7¦®Ë +ŠýÕz�"HÖ/é[) |Ÿm«< ±m|*HPé~„ï+ü7í¬iû#%©:Q±ëë+kuqNðýx¡Žù¾ùf ½ƒ•³Â@ûÎvtâþT|ç†2Y™�¸�*ög<¥š³¥Ôõ×XÁ#(ÕäÂ¥–ju¾bȃSìçaÿø…ÀY­U®`ý&¹¿éˆkþ¹!Óž’4þÅɉßM}ý :öbM3/ŸOé‚ëä_Ÿ—À€Ž‰�)i5ؘڶɦ°�Ñ¥CÌZBèÓ³mH2€˜,Ÿw„û#ÜeÖ1�¸¿å!ü”¥Už©IÜÿå?|ßÀ€ûk�û;~øãKôˆˆ‹—j á?  Lw}çÛgOüÙi4utæÐïÃã$<Žð_�õ¿=Üýƒã×"}u÷Ÿ•˜ï'ѱû~Úý™º H�?é. •ê M�Þÿãèî²JèÿQ7Ž�½@ê"öçOQ€þ‡ ÷�Ú2.¤3€z�È< Àúû¶(ÕÁ¥ÿ(ˆÄ4}j—vÔ¥Žk—Ê ¤Ð@)í8L¢DûêŽs™Hœ29˜)±þöK‘½àåæ…X°Й$HÖ��+ð^ J„ûó+½áKÊ4;dúLìÖ/aýñ&€�¶Òæ `&Ö´)/PâûXös'¾‚dý¹5Y„ïë²K€’€Ó/½t [—jæþÏ€¬ßL!y XØø9|©\[XçfÝý•`ý8~Z0À xøO*àûh�h×Èú¥ÚŽ»RPâãÑý)cçO’ÀF†o#É(ãB“ߢá1{tZê³R{ó|„#š˜ÆÉ3ëgæÉü«áíZÕC5M-K¿;P™("`•}e×äÇj:>ãÂ÷á?ÿ%WȺ²kjÊò®¬½¶:ª¹ué‚_Y€Ø�²{ߤHum>Rò×8¸¢’k¯‘»ãÂy¸¿ . õÿ Y¿2ïÔ¡oAŠýeîÏšÀÙ?XP&À÷_>z‚ø~-8ÿ·¯Ç“_våCJ©Á›ù©—ξô7¯Ä©m° ã^úOçб3hï‘#Cãë·Œ¡ü¦2Z¿-vvS!\)ï›ÊtçPþ�rÛòLi‚rp×ð@‰vD˜>åàÄÁ ã�EÍ;B‡þ®ƒT°þÁÏÙ4v ßRM„®Ò®)Ò‚êxå(Á¾•(Ý£3À”…m{„*VkëÎá³”+?]B:%¾¯9é�*ùàßž �pÿhvuAÂÊù_¹ ›Qaë8bÊþí…‘‰¾áq•½›¶³\•à-sOlPÑú õ¬ÿŽpþcÇÞ¶OÕþ—} ðC¤•CÇ&�+m/F…HϱÒ!jm”@/Ũ±Ê†¨h Ó«A«M3R'¸B%¦±TÔË<¼�Í�ÅvQskÇFëGkÏ}ëênUÏ�Uìc2þn•Í5¹VåÚ +÷ÙéGÊþÁ�õíÍ·¤µ²w™«íŽ¥d ü�Jy4S(¶"*#÷£'ž¤T¿ÍxuØ*ÝÍãÕØ¥3}´ŠÎýçÐùÿúÍ ?8#½ùætþ»§Ñ…WÏüð‡ç/ýÃE”Àô=tágÑk?x]þ§‹L?¹d7oëE£�ÑÐVBûÜè#öbôG¤±ÝÈŠöÑö]ƒ¦êb2T™(�ìêW©ÓŒ‰ÿ†3œa¯i�l ¡�ì赋twônÛU»6Ñ~âSªñ¡áÎUÑ]3aWúž�öï ‘;fM¸ ŽÄäù?Zº¤âÁ/ÒJ«„f“nZðÆ{Ÿò´\?˯¨hb4úHjÏ4¡ŽÍ®ìÇïv5¶4£EKЂ_YXÓ‚šæ§õžhÞÿÒ0ÿLmË;J;ÆÔþ…´áä!Z#�„Íd» Ùþ¶}·š’?˜Y±°øÙŽ\߇{;Þ])Ì“¦H¶Í;ûDБy3;æ�Ú3ïÅ/Ì{éߘƒÎÙîé¥D~v×ìþ« ÐÌþfÊs_ªA¦Q@ÆÌþÚß�EiX¦û?~f +Yï¥x‰iŒíîÇú)Qp|c@ÐÀÐÖ>ÅÂ–ŠªeÉPÞÙG‰ïÇË4wÔÜ<¸s|ž�)Ù#¦àþì`®EkNÞÊŽ–/£0[“v®šGh¶†r¤çÿÕZ‹Lße3<`Vº0izJÅÑý-ê�‹óÁÏSú`Þ/Ì ²W&Ò˜9úgïú…w×I#ß=?jþ{ìevïûÞõ.¹ÿôó§IŒ lÕx½od‡OØ,Àñ9+”ü5¬_ÈÜ<¿ßxÌ„ïc÷”Æ€Tdýß&€'¬"¼ø¥†K_O¬_Âú™L½@a îO‰û×0óï_Šöuø£½¿?ƒÒ—`Êú%|ߥØ?¸ÿ�?P™Ö/@‚ ;ì$­0 ÷—°~’Œ8 „û[ìÿ¹ƒ– +0M"€’‰ñ}/öð_ðÞ7}æOéêi ¼oZy€=Ëá³Û`€¥³àWáþü/ÂÊÌ' +rÿ4ÈXœ'¬ƒ'JY?›«´û€þnýIÅþ²@à*ª˜2ŠÆAøO…CN9­P‡±*”Ÿ:\™ÌÚ´:|Bt~hG¦´ñ•uù:4ܸ@¾ïIÊ4dý’�YÞL‰ãþ³\ ¸ÑÆPQìš[âûH�¶Ç÷‘€ï_úñ…+èJ ‚ï×@y@ŒýÕÕ)¨rÙ 0=`ß÷  z¢CøO`×GbýàOTðSêÁX r*X?Âô)€Y¿ ÅXk½ð¡c��’dröF‘�H€0qìö¡Ä‰j�® ¨)þ‚ºF¬?Ü« ©{ j$”Ì\w…Jˆ´ÂL©¦åýNÊ´hýÑ‚Š7Bê +ÿg¼û_̯É]üÝóß•ÖÓw½{þ5ÊðýÚ¯“6Ü_`=k ûˆzØžºH4qÚ,”Óè/“ Á»ßåI¾/˜Pâûg�y:Âߟ˜•ÈèÉ,ðÉ’ MmZ€ï×P=j�ã×àîÿŸ^»xö¿|ï©?{¡rär—7½H¬çgËîo©À¶q¹?©À\àþêB +ÿñ}õQÁý%HÀ"4�¤. JÂɼ2ˆ)¬ÿ'æ¡ ¨´Ë®¡ÔÉX³`c€u¬×@€Åþ¤)T(‘Âÿ˜ÌÉTzÿNÖØ�w-|ßV 0@ÖßQ6mÇ÷‰ý|ð­€ûó­Ü Ê?�v÷œ¸�'Nr ð~œ«!ÚÈp¼Í=°ã92U—S„1Öó#¸ÿÜ dïÉ( �õ3Ò3œ:·¦‘  ­½�$€ë'öÇýµ¸t�„ïËý‘“ƒ<@�?”0àĉ'ë­_ +<üÌúÿë7î¯È&·~é§—"f@¥º€„Y¿ºt°ûèþûʲTP�ŒŽ€‡“ÁYbÀ®Tç�9ûNó} ‘0 ð}P ¯/Ǽ´Ç)}‡¦Å²Šxýl¨â�˜¿šŠK˲ñ7$­Ëú˜ƒ…Æ©åR-3×ü™ìÿV$Áþ5)ß7ññ]¿ð.Öïo´Æ÷„û‹Èþo@èä1ôRÚ^ó³îÁýlJm 2¥@ ÐS?Õ ¤‡9ãþv68¸?¥erv<=ÉÀé‰hô5P‰0’ àÏ÷ÝOl>ûôû"}õÄ¥Ëo½ðíWÐô³'wéXéÑ) …@;»±Ò·e¢¼Zv?ò»_|t*¿£Zzô¢R94]þüáÒžƒVŒ�M·TÐÀö Ô¿uœ‘øþ`e\ãû‡G¡Âʵ…¶™ÊãÇšÛÛ`C6_¸{]É�½ÿ‘½ÈÌŽ?¸?ž®^ ù;cbçO�&Ðx7°ÓÂdJÅûø>Šíö�ŒãÂTà³ +þ{ü©›ï“™#Ë2‡Ç°ã¶ÙÞ¡Šd]ÿ)õ~vT"- 6fp¤+¿ž¥P¶Ü‘ev»ïp)çHÝP•ú†Æ\0£gÝ`ç=½¨8®â�ÌZáÁÝ¡+,<ÉvXï�º†4 ª>1³ù‘¡âfW“­x”FkP�R -R�¡%°É”Æa«Ôl»`ƒÊ¡‘n©¸ÑîÉjëXŒ�:³7éiÆA­®æ–†•=­™&*zÇSó-VYÙÛŠòVi»µuÞi•ÖŽ¥�77H²þÎ첞Õ-k×Û •¾u5õoh“Ú–/œ:üˆ?úûâÅóè'?¹ˆiÇk4ü�Ÿýì'o ÀðÚßž½ðêDåÍx£æøéÁG¢Ù÷¸¦ž¨°õFwÛ5-fá±ïÑ‘“çaÛv¯–¶W-ðg<åèx¦ RØæn.oo� +ý*€a{u­dçNu†v;ó´g„#*þ¬y*š3±J°–N¥¸9I³­[í!*yæÓ¸ËûÎ+n ª¼”§#ÿ­)‰!Xg�àµ3À”sÕ€˜ÿà‚c b2×±ož]],Y/Ììa–Ñ]q¤«ž� ×¼çšïY ]ó‹×¼ë_˜×ÇòÝïr…ÚÐ~G×Ì_ŸŸ|ú$:üo_¨>X&]“©ì¶}ä›�½àûÈöBØòÈڃΚTˆ&3ýŸxŸëÀÀ¼#›æQÛó€øî—ó^xlÞ7Â# O?6ï ÙÀVùóc:<èÙùg¾4ÿØ–ù'�ló¼—§¢Ý¿zÌôÊ“V^xvþôŽÅˆÊñ/,:ÿô¼±J+š—6SÅ’N>j§[î/`ýÁý'±þÊï>)¤€ûKFDZ~€R4ôˆ±A „Ë÷G¸?ÖOEP/Pºb^ÿ9ëŠ]@ !�ùþö=” +ö-| c{ƒ ÑŽGì¦*|_“YìáÀú]kŠvaÏŠ,¿úÁ1d•á1›ò³£ò}—¬_%‹ðeù™géŠÀýYC0ØÐ€û ÚJñ¹ÍKntf8`èÑÚùäÇÄJ7qSèOPPI¤E:B=2cá6÷1B*1Š4ë°~µûÁá®4p¤'Þàï­mÂýÍîò… ¥À¦”1 óî&¤«}òº=xu %¾Ÿû䲨5ÍXaã-”+?ÑxE¼ùæÜ_øŸ©ˆÀë?<ñÇ�^ûá÷.þýkçÿëˈÊ;ॿ:1ñ…› óúàTÄDÝ<ÂN†>ëñ� ›( €d€:ydå�ü$‡ûW÷ùJ#©Èý±i%‹“õÄù„…FÂâ·u‹ø>ûZ�L\>î°J¸»ÐÜ?ÀÇãþÌ\A=³e=ù­*0 b Ü�‚X½Á䑜F‚$3³º¦ŽŸ¾°uÂy·xé•´¢ïÿâük~i�ù~2àûïþïŽ +Cç8þ±çÏàûš ò?ÛaãSš’;é�,¶¿µ„àþÒ¦ ͹åó€j!€Rˆ Øàˆ% Á“&Ã@€¹ÿ€3ë—û §¿Tšs¹«ë—dý0€$ÀÝÉý)'Ÿ˜Á÷ù¥€Û"€‹)üp’äP@ì?ø>øËÜQ�Zg‰dý¶ÜÙáá¡1•¤> ÿI˜>0ÀÐÖ�£‚ï#ÂJ¹¿^áb�?YB’€£Âg·ñßîï�)Ï•=h ìî_xȶ›2 ‡X(`b`èÑp\o†Ù¶[îoO’ˆø¾3ÀÜ”t)pÀ{ŸÇ›¨` 4IøŠ_™‰$ÐÅ£jô K¯GL^¾ïFß°d�Ý1ÐÑÙ$Y°.ã’õKX¿+ÛÛ(÷WÀ¢ ð Ôe)ÄÛ\Ôá©$ß¾¯gH |߬_Ãlœ<5-ÉÙ%|¤ÀH•ª ßn¦ O(Ý5‚0“õù÷G¤ìÛ)ašZø ÅÙ÷q²Æ€’–`%¾ÏZÉÄãó‘R·"HÀ€wèS‰±¿Îý2ß‚ +î8ÁýM!zPàîÏ‚h¢rưh4ñÅÃõøÅkjzÛx¿N×\»À|ÿ—èê €`‡!ÁÝ?@’‘Z2Ãæ�{€»¿Tyt¨.@ÚïÚ lv±\J޲èþ¨2š(±~—=nWdÖ/˜’÷A’àûê‚÷GTäþî{ŠP€t f@Ö¿ûKÇ�UŸ86ò»_FÊ\²~Dàá?‘>F&#F²~€pÿ¹¨ëTÇÓÍû‹W¤oN—ZgÆhÆãûÈâbò€Ô‰_ÅþïØ˜!|_ @ŠýUgÎX¿=Húõå7YçKihj¦ÂœO$ üÃáL X=Üß΋„$ßg D „.îiÕuÅ$ Äþb€2%è%çõ@srjšª$�?R-{PkÖuÍjôÊêàFߨT“ÆtdšP¦« ê’z>Þî’õ+Pì¯$ ¹?*nnã8¼bàá:�ûkø¾º€¬è‡ßó^ àÌË'ÑñGPu é¿Kî¶HÖïðñr·fŒ`Ûn#AÚýÕù£<À�;xwtJÀ”€JÍÙÍÜã‚, H¨c•0M¦åªÄýíªù‰¢ Æ` #„ÿ¬>®HßÜ?É"”ûVçO”õólüfëoT ÎVÌ0°Ë’Ò{hOÒ�4 r 0Ã5ךõ«L Á½Þs|?^*ß PÿO”»?J©ñ̪ýŽ.Üÿm ëwÔÇ!öQ²ñk9wnà¡,@„ÿ0€ À0€À7ª5ÉýÉ(sÿãóÿ•XGP€tpþH ”³€ÃVJ8~Á ×ÂÿÒ¾ÃùÑÉõãÓ”M#3—]S¥½‡•�êÁÊ¡iDepç^„‹Q–vï­ìŸ*?z€ÊàŽ=.!¡oãpó­måCÇ2÷ärŸ¢‚Š��tk£dqò}Ó£‡ÑúÝ‘ìmøœuý ”åp½�ý£ñý[wã¤ÛÉBìÎ[Fêé ¬¡*}›Ç˜ÅûrS—i&2èÜðXs{¦¸o:so¿�®=»m<—<Þ§wÓ¨ë¶îÕ¨áæ¶ÜÆÍG*lÙƒT·Óæ#´ë%[=´õ–Qßý€s +5/Ïf ƒZ›"¿¹ZÚ3…Öo·®-{Œ]|¦)iPTÿNÛPºjàs–® ïÿ2”-sh%¢ J:ج9†s¹ŠÝt ûNY +Oð“]6}à�÷`ù�LËm1®ïênjlZ 5·/lï\œëm3­iÖÛÞ)1ñÝˤ®UMR÷½ËôXP=®çÞ¦ÞO.£´Û€1ý|ËÚþ› ·¹´©Ø[È |¡ •†{×oè*–²RnMÛÈÎõ§_<)�=wÆ•îºÑý+èå³§N¿8SÓ·NýãÃÒ8MorCx2Z¦¸±ÙÍ��ÕÏJÕ{oCT™(ºø8y¤‚¨¸#7}¤ˆXÒ·WÐîµ5í+ºªûò®ÝŸßà²Å%b¦5>f�ž¿‹R§dm×§›AâÔÝÚïÚõ4oB”X<"ä¤ •˜mùUÒ´�–%Ç—4©2Q™<~R*7¾T ÿ®8\ûK ®{ïû$ùþµ ®»æ=×ò•ã!=ˆiÅi~¡¦†58vB{â´÷é>�ºÚ¬·mr´¼sm8Åb¥GNlgv7(ëR …lÌX¯”hËÜ:¯ï㋆hE†þ%:¶ÅÎL×Þ |"¹U�zÔD*ðâïB‚hú‰<šÙo&`üÙ#Öqd}G â‰ùè“×Lm\�_“9}daå�4ßzì02LLÂSõ©¬ß®½ÙgAeœHø= ˜ËȬ�wäî/ ¹ˆÖ/¥ ÷ÿ &}TvdÞ®ôü}äØçG(ë€ê*Ñú¥àûjEø¾6Á>¾oa~`€þ]d€Â‹»¬rL�dýb€Þé pÙ5B�šËSâþ'6>sx9¥�7 1ë7÷?b�ûS™®.”œE ÄKY  @Ö/UŸ–`¾�`"úV ÜýdgvÅz”€U +EOÜý‘lÇ´< ÿ¾Ïx`$HuOû×@�¿*ˆ‘û“ßLj½S¨¦ÜŸ +Žì¦ì(&7”¡l¡¨ @Е?È8±9œv�!Rì~¨<@Ö�Àš„ÿuÀ÷qÀÖ@ºþÕvJÈT²§ÄàÖ°m÷j¬_ ä˜¤™Ê tÀ«@±?²XÃMÎ%\ „ÿ±¿ ÷'@ÑúÃ; Ýý!¾ïÀ÷• ’€â@ë—HÖ/ ¨¼�ãj½‹?…õ#*e5mjsé_K:\%ÏÞRéñl14ùÅ1Ê:L<>&MþÞ¸&«W +îþhòñ”€´zoM¿ÿ{hüÀˆ)„ÿû¿45}üäá™S.ù¾„û›¿'y¢ HÖÂGö8ÿH»>ZhBêåp€Ñ{~´·º ø¾6¾`äsCã�”û¿=<Ò—Ý»õ3ÞŒüí‡9ñA°!qÿ¶Îì™\N ¦ÐI5ñÅÈÀ¥@0Qê[=»ëWà@Àä„�âºÆÑÁˆ2%ÈŸ�py]*а~bå€pr—…ÿÊpÿg*×J³2ü[W ~÷W·¶Â4ö­z�B� 0“ àû’º€ÔÿƒÞ¨® ( ÌÝ…ïkqTþ{�`„J"õ¥àþ.�׫âò�†="\Ĭ$2Åþ€º€äËrÿÒŽI$GuЕ?’f¨< öÿ� -ÕÞÁ²@½@”€$ët®"é: üà É|?a@8zÃ…%Ó¾¢3€#Pý¿”¸¿¨á˜g2…ÿ0À[³ 0� ”i¨ÿGI�¿º€¨Öÿ€„=Ü_ιÿÚþŽðÃf€ÂT-âûH}ôøþïýÁ¤$÷—Þ>xê� ïÿA‡ÿpïÌó3ˆÊ±¯Ï¸¦Ÿ>pò›'¥cÏŸ<üÕÔhæÅÓWÑ™+ë›)}ë¬ëØó§]Ó'fjzöXJ|ŒšJé蟜rMŸà牎Ÿt¥€—9dý0@'{‘ñ‘&¡�.ɸ$�é6<ØE€Ò0=ØåÂ÷G'JÕCU„ï›õ«o= ÿç`Áu×ËèÓR¼ÿsY¿†·@d@âþÓ/žu÷GÄþcO‰¦ŽLV'Ëhûèx!ð�ÔßÙ'´+�õ7w!@"ö‡€¬øCqJ7z¤ À ´€Š�0r÷¯ïQ¶$3EÔq�ÒÞxŽòABcJ{ÁÀÔÀ#“hø1«”™�Öo/=²×5P™@ò}�¤E¸Ûàžƒz*•Þ�e%Ïê?€ÌÔd‚ƒ†öéÛÅ?ZI­-®:ÎÈaýrI{ +ж½’ÙzÅî- ÔiX¼›2º0%Öž¶�“Iºlºmy¶´º÷�JqbŠÒ´i4·±,õ=P‘`´våº?S¦’ß¶·¸Óºh(Ym¼[ê{h¼P™ 4Šl,¯-?"å‡Q¦7Oi¯+�è¿ÃB¯ô‡—ø©òþpƒXº2°+n4&fcêOUM•;8´}­D�Bëíë)ï"r‰‘¾û©EŽ ; bNž6lÏž\Mšr6Wh·ýöbÐ?˜iÏ4 Ž;nìÌ6Jöâ—\sTòöó {$œÔ?�ÉáõAú¶p_'*nÌ¡Í[óV Ѩ޻ÉÄ3þˆú¸Ðøcå©ã']zN*ÚP/�¥üàÚò®Š«²Ê¥‹® }5ÁûÜú!�ß“Ƽƒª.ÝE™H—“IÙuWV¦·(Ýv!”DR¶·(e>Ö›ßÑÓ‹hÌ”>²é7ZJ[ŠÇ^®ý‹Aÿ—¥Ïœ~ñó’ñÉÈpÿòþ)1 Ü_bÊ¡G©Dèiš`€ñX9«¤‚ +±[F1x`€w¥`�Ý?í¨¹Ó× sWëoøPs»Í_›ºûoªÔÜŸY +*;zVI†.2{¾û+Ü!¬[�.�Jm7íSF÷”X¿ÜŸR¶"}ÜŸð$F(êÖÍÃÁý­3×. 2èŽ�«ÀÝßÜ<× "jî�jÀ÷a€´ykŸTÝW«qJÄQ!3‚*ºr 9¦Ÿ5ßo½£K¢¨kuérÞD9WK¦ËÕÜž©Éådêê+h>Òm]=¨¡©µ,_�ÞØ€oms5|¨ÑµðÆšÒã,\èš؆¹E¥†ôoon®SóG;L·¶µeº•æÛ;Y[JÖ6ý[5,i}õ9*‰õën€Nêjƒ‡Ëââ£FFÒ<”Èúeau¾/�ON›~ZW@×'õP^*ì ÙÅ<¿¯î¯¹?#“ëv|ˆóÌÞõ.»Þ¿n°é“JmHºƒLɰð††ùïY°ô_·I­Ë;Qaó(¨T‘À5ùÄ“X?²ãeS³ÜŸJishÌ4iµê¤SÈ0€ûë¡âî~¿ùþá¡w#÷ŸÞ¼€Ê4Ž/÷ÀúÕe$ëGÕÞyù�ÙÓ‡D˜Ï†$Ïõ˜ ” Î0’R(ø2’û“+PI÷Gžx”T1 rt¦rô¤€•Ab€\,™]òÏZ(mk’œûMBh呞ÁH›I°~,>õ, . ¾ ìq°†²~J0€ïSì ›í½¾�ÀÐýÉ"á?bÄ¢í mÀ¾oÖ¯$ ¼Ö 4ð}¤Ž8€´þüýèþTÂãí"økÉ3‚€6šm7veõ€T=4 pÃÀ¨õûSÂÕÊjáÈ” @ñ Ü?2àêÀâ#r͹¾Û„�:ôfGv–ÿÛ¥W0J“‡ŒÂ+ÉÒ•pœ¸<ü¿(ç`åš~`õà�̱°iTîßÕ[p÷§Ìܳ1J€$ÀŒuùŠžuƒÂÁ5Ö¯X�¾­3‹¨´tdîO)û¾­³‹²©µ áþ”Í­X?¥Unløpk»Ðxó-r*úíMÍPšã·g¼D·Ý¹R ö7÷§rO^P…gkhÁbÜ8Bã}Pnê£}Hþìc+0i�Dë¨'_ìÄ÷evhòéÓ)Õ[‰|ü@ϧ\mwt¹ü• €¬¿€Ä ñzݽ%Q×4x:ŽÿóÑæ5¸û£ôðžÚÓ#ÒƒÞñ±êúx¯Â n"ë)zâɉÇ÷¢¹À¬öœœ@þHÈô6£ò`òðàþ®4pÿ:Úx]=Ìgu +1qUÅ×ø,ÖŒ È*�³‹ àþ@~SeýÖq1@îO@…ñu]@u°¾ T \$2 ¸^F­_J.em1AÜCˆ‘ûK5÷Ç|Ã+¬þˆM P1ëO’€û‡< €ìÚ€Šl]À÷ H ¸Ëúê@ dý˜þ…0€õ³&Ê$€Lo¥€Ø;±®Ø?u·„¬ŸŠRû&ÖÖÃ÷™¿J|¿Æ€Ñn‰ À‚¸äØTÊú•pœGƒ]@ÖSt% @Ç7¶µ/Dø~¾��”›· +÷uQV÷•ñýÉÇ'¥¹Hò ÿ)ë ÷G:T4 û§§ó,˜ €ì½ø¾JSÿÐ&P¬_’ûÿ¯@î/ Ö/9$Y¿„ûK€K�dúRŒý?Úþ#uiUm=ƒûg EÄxOÒJn£BàŸîû­¤ ÎFÒxð}){OÛäÑg¤éçÏãû!ö·Rý?ÅÑ2ÊQã­ä]:(ÚkÂxâàî�âýAþ BÈ~šÄþÒ?sÐâð¿I{ + "ÃáO"uNJ“OLIãFhÌqkÏÀøÃ·¹dýÂ@vÅ‚á5×xbÿhrÀ€Œ¡ó÷§‚ûÏjT¦«‹€z�æ ?ö{˜ÅÐÞÃæ&³®µŸúüaÜ™ +†²>\`ƒŠãñ™<òß0F«ºØßNöŽM 2Ù5¹a»]J9¸{Ý£S¾mwe;×û¬P2Ÿlÿ -=ˆÚ¢÷…“ ÁÊa�e¬¡]xŠ)Ø:|î n F|¥Ô >zÅ9Ld†„Քغ[|_¸þ‡2g—U%{BC8!lHØ©Ëí'W µßÕSÞ,7XFÅÊdúj¢ÞÏŽG'Ûºs]Ÿh¾£ÙÉ€]æþ¨oëž qÄ‚(Y‘ÀÖd«=9÷ßTÝÏöo›XYFl™f’mê=Së '�)“ 5°ë ž Šônd½G¯Ç ñ=9Ê Ö““í9@ždÀضª¼³ Ñ@ufÏú‚vÅwê˜w ‡{†CÍ�¤te§väo^˜/vTöåËY{üŠØ±ShGºàotWÓŸ(Mî¯ *62‡±R§%ìI…E³3’ÚS·jw·Ùyˆ°b‡ÿøOg¾uqê陿Û:¤ì½ýhùÊ^Ê®>S÷§Pn „TÏo,câ½C”Ùüú\‰cýØåŠ\j[žé¸»/Ó[´2éCG+sRû�Y¦i_ÑÕqW7⛶ή¶;»©´´wܲ¼Q±¯–gZ>Ú�Ò›Zn¡\zs‹¬¼©¥uÙ­íõTcp�%M˘€’�‹›\ú jn»MbέË+CD¥'Jut÷p¬uÝ›'7E¹u¥ö®,âï³èò®ê±ožÅ‰ª�y˜\ �ù!ëýKúϦÖv–ú‡û$;K?0Y«OŸD#‡�¢êq«èØAéÙ5ÅŽîÞ–ßîB‹?ØtCÃRåu !ÜŸ’\çº÷¾x_{ÝuØì5ï¹6^Ëÿžïù—&*vs﵉ÿþbrwXúÔ.<¸Ê 3½?�’{H2Þ†k4„;Ë´ªK×.XpM•×]˜`]|‹ÿÕ2ÔÚÑ™íÍ÷~fX)>ª>}Ú5ýü™‘‡¥ÊËCRi4ï*�fÇö#»óñ�lvM³Tè_6^iAÇo›ØtÃÌŽÒ3_ã:½kþ“æñOÏÏ´/œ9Ò¶·² j HÜŸŠ»?eÉm»ÍÊü7<�AÜ{Üý)×�Ž V �æ z\bjHˆe8ë äC¤JnëHÏ„à‡TÒôÞ$F'(­‚#wÔPœ0ëG,Bgh PM·Àý³Åa@,¶O a@}Aæþc{åþ”ö`¥1@‡’ÿ"÷ç[6»îÍîßq€ßו?¬ž[?Í”úHþÄÆ‰ÙÀc_Á`§‚’ë:<Ü Ç¹*õπܟRÈd?ì@T6?¼ +)'ÀúÊ‘y¬ŸRsCE{¯·]O�Åc÷Æ€Ú9±p³k¸ñUphê€Ò�õK¸?–í (±~€×wÄ€“|_jÿ�ny=¢‚äþ>2÷–g°~Ì÷w,»¥áþ8{Ršããþ¥ÆZŒÓ¿añR×1 V¯Áý%÷7 pJ•’Ý»dî¯Ó¾mñ¾¶³ésCÚÔhä± É:s& +T4ÈŽÖaÜ_9YcS3�ÞûþÄ*ªÖÏpàþ5ñƒ «@ƒ9ûÕa ¯f Lt†+àÚ_Ž 4h0 •å0ÜÒÑ)ÙmF¼£“€ðý)rÙ ±»%À5R]ïÒëí$è/| ç÷ÏC¬_Ú°vñ,Äð_ý �Z¤ €€°~2süßO%H^,ë/OLRæ·T°~tÿ—nb€Àobg­’SÓtÖ_>4 XDÙ.÷$oR]Uú! ®Øþi2`H" �Ì€)€]¼Ÿü–V‹õä À…õû —4Êý~H)ÈýmŒÎè‚Î�D÷GmÝù: Œ›ß·k=b†z7K¤¬“ÎHÊÊD x pY°Îø©¢þ_Êô3åq^ S¸"� ÉúKL[¿‹ ÀÃ| õ‰ Hˆß¦º} É:0‡ñ/Œ] 2>¬ï�€p%È|?¿>?PNg†�Þ¢YÿË­´‹p„¬Ÿ 祔ш÷C@‰çøcý�7·!@Pîï0g—]¶ØYe9~š’z„p+omó$@á?¢’¹'Wc@€tExÀ^@rÿôÎB�`Vo~%©¾�tj­{] i[ÕÜ?€$ æ76`ý’¹ãÂ…é Ç„©2d÷yÔ05?Ê�Ê Òš=ÈîÓ•ôP ׆a–éÿr­2+�û«œ nl” AOqy ÷§rìù󇞚‘þKø>I¢¢ð÷7 t·!@™½§atàz$x ë��û«$ë÷î�¿°k @s»€pgŒXP€ï ¤»€®€|9Üî”±P”ÎÒrÿáàçjá?|_½@�¤Ùz0e˜uþPêò!¹¿%¡ÿ‡’ @±?î@©ÎßÇý½ È@ì¯00Ü?§÷÷§â]@u ÐÆÑV²]²~ êr�ׯ ߇¤$€Ã[ÀôåþJ*Eg€M3p¤ ðYΑò‘Øù“+ëWé4²µ +ÖãÐ`ýLŸîÒ¬äþu°37 äø .Ȭ<@y€÷ÿ˜§÷w¨ÛG@Éd0@²Ø…<@Ö/¹û£†¦f )ŠOgc_µ´þ ؽw1»dI@X ++8ÄRõÿ8€J úø—‡¶t)üO€ €mËFfS[E·k¥¬õ÷© ‹ ˆWU±‰ÒHg’ y€û[GÐüùrLei¸Ì÷1ú:˜’ä@¾ï•Ÿ{ˆHü*Ì_î|=±û_¶WϪ¤c¬_z' ¿„ �`ý(Û›ÄþdTtçÁÞ#‡‘ž5¢ @�ˆý%\Ån‹ý)Q¦}a >w@F�Ñ”�—ެß}@‘¸¼Ø|§jÆÚ¿sï@•ÒBN*ë­W[9H¥¸¥¢ç¾Ivç—úÈÞ ;÷P¢� жBùñc´†ü–q[t"uVHæ×3x4±0Ö� +룞C�î§ŸPљ͸ø‰ÿ<Æàº@sÛxèüï{pŒ¶+g¹˜>Í·¸ÓÞe¿ò“ƒý[÷`+”}ÉͨwØTœ˜æ0Àµµ QnK5_Ù+)Z—e¶îéÇ©·Š1vU’fU1õ �±&¬j¡l�!¢ØÍŒ*òO÷‡‹SAErh('õÚdÄÇ�puP¨DZ$_ÅûÅJÕðº±*?,—¶Yï?¥Þ cÅpÓ/Çì«p™ éI��±< ¡iØR,¾esÄLò€¹mÕÂÈξ²�è+?”ÿˆUt*,üܺ›tyb¨„{J·u[Òh>žxüúÙégOÊQÛ]Ù5Ź꺷 ™!Š.¾j¿k•„¡£ÛîèBÆ¿‚è®ì-wt!*­+ºÚ üïê¦Òšéjïê–¨ó[�hm¾½3 +wí(ÞWç>Rÿ¾2Åþ1ü7…. ›Z–4Þ°d颗Թ?ºñC�ˆ‰™?·d²’Öh±&Ù|?RÆ“Y“o¾5ƒÚïÎUMÙƒŽgNRÚÞ·=GÅvŸ+ìÄí™|z&íû•'f\&4ûÜÆ‘Lo?‡Rï¦í([(õ|²uæzÙVÄO­¿6­mKùïMË–|¨ÉþWÃÒE¿ÿ×{ÝpÝ{Ix.±ÿu¿ò^e>\ûËï•®ù¥ë<—G›MÿÒu^ÿç( �” ¨ÿÚ_¾]÷«‹�zö£Ræ~5Å_ÍùÞ÷Ý€ôZtãbÄ •†¥Íͺm ²éJªêÓ3.ßã_|fâ‰ãVyüÉÊþ©‘=eí2;‚R]FƒõÆg®š3w5¬-¶—·÷!�¨àûrJ³Ýp2ÖLÓ|ÿ¢"÷ÌGöØåù”zÞ§ßÛžýðˆ= «€Ø™kH ´Ñ„À"÷ɽ±‚ûÃCQyŒ-ßµºר€KÿBÿHйÛ,µËCkpHðqýÎ1³þê^*XyçêX†ˆOp÷GŒׇ˜ËÓ¶äþ@tŠ”ûS²Fj…SGâÉÞ0¾'Æõên +—fVXOe_*€í{Ø Lo×E7eÄñ{TÂaàm€¡gîî”îþ™îÞšû'èÊõ¡4dýÂ@´~è~[GËí+Ÿ¸¿¦I»¿ÃÀ°<›€‡ù‡èžRîÏH”&�¦K- €i à›È`ji[öÑå’¯3 X¾ª ëo½#‹Ò(mÎ`ý’v–”X¿MgìKÇñ}{מ)4¬_ ”û÷ ”€ü@éí ‘À‚ä‹äþ‰®Gi÷7(И8>M…ŸCÑñ¯ù¥kQ­’­•D׿ÿ†šÞW/ùûõ ceÑûcôª×IT˜ÖOÐàÒueÂÀ€€`:jŸš¢ÜÿÔŸŽÆÛ&AY6¤ aý$’ÌTlp÷Ç ƒïWKû¦„ÿÈC~Ç€R¼Ìåè{€`¡Ü? …ó”DԻ˛ÂÕîLƒéM¬_0<H]Ý$»´éCà’û“˜ÂS"�='n§%Öù³sR @,Å�[Ö(WnI H¾2³{ë¨ Ú¾—Ø_IóQ` +îU0…ÖÎlÿ‘‡ùAfýII…}$šáû’å!öÇýqjÅò*eýEÝì.øÁp)1€ÉÄcFè&ŠÞb)þr˼{G· Ùó¥wååþ„ÿTªû‹X¿øá„�ÀÓàƒ]W@O¾ +ÊqSw.­]ÉH¬_r÷w„ð¿=v(?ÅúaŽæPPÇÛkžèJÍ[Ûäìòz…ÿ’ì^ði�À’€pY¡àŽi•- ¨€g’¬ÿ€”Ä=¸%:|Üýgð}ióÁ'Ýý30µ·ë§%#¬_Jg¨¸:Ð?.|ë_¸pa¨\ÿÞ…‹„Ï‚"‚®†ä„�)É\Édf÷×þòu’@Eî]X msÛì!Z�û¯-®“0€ï»é§ã}É1ÀWNeÀ[¸¤A™ž<*VªW@Ä@€\e“�—#bçO°p>t’«'Õÿ“ȬŸ#óð¥Y„ÿv@Ò TfëÀ¶¢Ëƒ�07§a òzI6§œ äî�ø;r$ÓÔÏ ÿÍ—Å€Ðù#è©AÈÚt€z�Ôù#áÚnÜʼni$ ÔÜ?À%ˆø¾‹E(“°¹…Ή͎„0ÿæ L\Ú?- Øßw&±¿mŠä?Ž'ÉŒAø¾]Ö5ZV ÁY¿¤. ø´Â¤ËÄØ?N¡>úØù À@£EÀH¼w×ú°EÜáþÈÿÐÿÃo­§(0À*;r +ÿƒlM´J€¹ÿœ. „ã`úm¿ÝÕÜ’T–gp¥Ø„ÿØ®Œ‡Åúoºµ� +Ö¯™àìçˆ�ÛxSKó­e(Ý$Ç—ûGë†.ë—py—w ,HÓGë§¶Áý#RÝ&æÏÄfýáýÕÙ;iAJší¡Lgêz› `v_ÿ,`ýºÇEî�¨¤3€)q`ÉÄÿ‘þ %ª�PG9Àý%ËfÑÖù. /[®ý¥�7„Š�GɯTIÏSs°Ž{¹\�T ë—dúWø˜tîÿ!Âë‘êNƨC XeÁ¹?ƒ5,iFÂ@iÇäøŸq$;«æþu˜::ír÷�@ù€=ÜÍ?8)•«ÐÈ�#¨ô¹©òþ/#*v|4Xm8O Ÿ² =9ß‹tB8~ v6Zð ‚ßmöž¼•6Z92C9°óÁØ} ï;ŒÆ"Âg[™Do ÀO€µEŸ©~�EËôÅ JÉ�A);V~#` û6<0ÎÎÄŽî�ïµÈXìÖÓîG—8�V~z€ ¦NŒTõr1ºòÓƒèÚ)gÙÙ` ·¬&ÍM7 Ùý_!tBlCÔ·±ÜyÏZ¼ ³ªO¦Ð{ÿhv]‰’µÕ™"ÖÁV£2á‚aêÑ2ª…¹Ùyìð ‰ÿ¢í/ùBÑÐçÆPq´ˆÌdÃ=>f¯áô/¤˜]¥,;– ÌÍÁwÙ�ºhH]:»ìÖÐr¥yänƾU)g—¹§Aœ=öõû‹gQü–߆Óª°DÈQýÂØÔ3Ç�}óüѯŸZ¸¤Q’�J~ˆšÂƒ¢’»«�B©áC|5ë LM¯½,¾±BXWOSk»ÄǦp½?¥ˆò‘–ßD~6¸©¥}YPÓÍ­(=Ÿ¥7YPOÉ_ih\fkþÁ&[çÐs‚ƒ`šÔÕ£ÒÔb' À†®Aj¿³u¬ì¡l[‘é \®Žî\Ëog*‡¦§¿~æàñSTJ£$m¦ÑÇÊ“©gÚH•/+퉗6Ø›”FªÅ-ÕÞ�2êê-vüNk›ßXY¹f€9œTF$XÙ‚�qÉÜ•Ó-iäC¬dÓoܶô#³¶|¢eˆ�¿ðÆÅ2At=SÊžq¥÷WÚ¾•+È@Óãg)õ[…Þ±þ¾š€S¾ïý hQÃâëÝ�”Kl„ò†_7nQ²þT-^¢:¢ÂGSèµ³Ô … 4>ý¿Òk¢%²h£`r•”-åƒKšU¶ÜÞÙµº_qê¬�å$xúä�gN ©ã'÷{nòèÌ�§O°¯§ž==ýüىÇQe¢bÐó¬’¸?V‹û¿ ø¾`•ýSÂvq0€Ò�ûëŠ �ÐI`|biôÜ7,ëG„Àø¾BT@îOÉ*±D~k•àþZaÖùú¤ ¿ƒ×ËýcW@BÄÀج_`ý©˜câ¡Á"í·¬m0kâ—ÂÖ Ü‹Çy)åþˆƒÁݶíU”¤?‚8læ@bµup¦w­ù~ˆÎLí™ÜÀ�¶§@…ú·N°ô̽y1 òÄLZÄ<ýÑFö/ì«6DE[L"Ro|¤®»=Qì´Qü"wið¡„¿C‚Áð†XJ3÷”õËýHœð¾¤œƒü±h&Ö¯l}’×ÏÊñ%€om‚�=8 +›†¥òîÇ\£�rËÛ]Ÿ~ ìÜ>áúô[]ß;€:{ûê Î®--mn•ŒñBO“¬?¸?$0ë� ¸¹U°kc’™Ø|nj–ûÏ@ªÛ$ $´üV’ûgîÉQv¬ìάÁ|GH`búËSÏžq7{â8Ö�Ô®dý(Hî�ÚVä`ýb€Îµ¬XÕg w&'§C2b€c`ɇ›–~ÄÜß…u׺AÔÙ•`Ñ–ܰx)¥ìRÞMíæ.D…»ÌâøpÃ�įäå¹T|V²~Ò‚E¿fÏüÁˆÙ²c hIM²ø”­ *ùhT¸q‰úîì,ί›4Ùþ_¿îª­'YaVëW�Š/Ô�D3� »¦Pß;ø>îoWy�b€aà«5EÈOe²*þ |Äú+�S $ÀÊp’@<˜¼ fÃvó}%Ö@€¢¥^ ž`—ž0¥MºPˆ…û«¢¥«³ˆJ +ó‘¬?2 A_g¾”°z¬§âeÙôªû†)d¬Œ �ýÛµ­– âþHÿE7 :™Œû{?²$èèJÓáû®üCV€t®î¯1 tg±òÊìÖPö§ƒ!ë—øvUqQ‘û�:Ò±?u³×T€FYm!|¸tÇzð+½JŒ[M|˯ìé`! à+|?º?Aý®¼8as—÷(¬§(@?Aîõé<@«$@@ºøÖ[§Ï]p /ö›«é¯ŸvÕøN””O˜,��î|Aže‡7FܰPÞøáeX¶0 ë�Hõõ§`�ÿ­*åþf‹7·j>Q!w©@áã2ÿ„ÿHî¯  myÖ“Y¿ Ø¿±¥Y@rJ|_Ú|èIdÅ–hýb€‡ÿ¤þüqJH€ï÷¬Ri—Ò®ê#ü·2\ Šîï�õKÑú“ €Ø˜™†*æÉý7n*êcIºŒLIø¬Š+ýÛYú5`å@‰õ/¶õaé æìiÉýåì*­…hL8{åiÁâ%jE°h[JXìÞ3_a ¥?(h­$e–Â@y_í¹{@�)¥"ë¿ô´¼az°n‹ïW�£$À#”ÀY¿¤_) Еþ8%Öï]@²~ ̆p¢4üÎè EzîŸÛR�X +�T¸¿@éŽï' $Y¿-‘ŸF1+¹¹*ø{�ÅÛÿ©$Ó ›Up ½ˆE« H)‹ý‹ÔôÉ�¶¡ÄF^»i›0 ÎÉÃÿz5ËÄÕ•/a +å}Óˆ¯?W‹¯­’t©’£’�ß#M=n�´`w¼^E§(Éš™¸³·€°þÁ‰C’žx£‡h¶ëw˜£E,…R&®o-�O"}�ÁÙ‹ã_P ®5‡Oú›öwôC…‰Ygk¬ßÜŸ¶¾©‚ +…»vGìõªu›2Ýyl·kMaË%šoû´»ºïF­w†[À7ï^?¤‡ŽE…Sshei=+öè’J,¾n(ËÙ[Ã*«‡¶QöÞ?¢­·z“}´•yp,¤Õõ• I»¬=ÛC¢Ò¿}ÒÎýÚmÃÈNª&ÒÖè Ojloë\Û¯ì�Ù¢êãSCŸÛ«Øß,8)ã˜`¾2\ë²ï¿F•]¹‘�v¹z8¥†®Iä@vÆ8y¼0ŠDÙ^&ž\ZªEëf4>�æ$ËE’4‚ +H@“_>8}ê%<ºçÓƒŠ�9NÚ»ºûË£Õ'ŽÍòý¯Ÿvù=÷Há0âhÑ�ü<øG'�*v\=k¯,GÕ#Gó7á}È/%l[щq¸¬WÇ•:Pµ†RSs b&”|µøÃMȧ¤ŽY,þP“É >²÷e¦ˆ¤¥Ãž<�È)[ïìÚWötÜÝ‹h´Öt»ÝŽÐñ±Üæ=‡Ô306õ¤þ)ª|ñ¨¬¿ððê]?¼zpQÑ­sÌ„²g}IêüD¾óãf˜(SÑ·RWxšž”éÍÓVµnPŠ­³Ü:%ÿéGLŒ¤4,^ +5ÕÄŸ•]Fýºé†_'ĶÒ$/V'IºÏ=­`ÓnÙ®ôü0!*i1BŽ�"Œå¿Áâ}&ª»ôíܯ¨»|Œ�÷¾&Ús�ãH¤N$âÜpCÃ’Å\Š›ì›…É.?wÐnÁ ‘uœ X0PÊÍe£Š1Í‘+8é8.‰sQÊú)‘¥Àd¹Ë7/&@…ÿH˜+|“Þ�UµuÆí¿Ìfb5´J&wÂç‡Æ£3H6ŸCvQ&îO…¯p ßì*Ã@W¢áRÊúWö±Mä×zC@qYážÉh9�0À%`ýb@Œ×<9®PåèI›®êz’õ#*ü;2°+ßO[¿„ï{Žï�ìZ-ØE>ÉÛñýò®w€ù¾ÜïÐ&­ÿ't7©#È—k¾O–øãîO™^Ÿ«÷÷¦ûã}£{¼=û"™-&G‹ÜÿÀWŸSÝók4óòy ”v�vŠi,ú@ÖO‰h!Hf·4¹ÉËL0ÀÒ/‹v ¤À¬œà ‰£qÂjÜ_Zv[h_Ù�òrÃÀÇrsàÿ÷°þ¾M£ßÏJ€R¶®Ê´C€²5Ó¥[¬uÇu÷§‘ cUodÀòŒ`ÿ=ue”€…Q^ÿ¾E€ ½l¼Ü?ÅÀ<‰¸ÝúµÅd¯(ü°V‘Ë£­‡Þ€ÝŸz +îÚ>“:¥—âS2Æ?"Ÿ@`$�€þEüS¸ÁEó†Â[O jëZ³^Ðþ•¦Oœ¾äŒê?ÑG„ûÛ³6“ l¹?¥bçèéêqÆÐå)VÁ»·ï¡DŠL&>Êä\øš¥$"TBÊkàI¢~Œ^<Ðê€g€ÿ;Ä IôQ(Ò_Ð €˜¨W=€ŸËý)•é¬+1bÄN²JW±?ë‰d»È ¬_âï8” ’¹¿ X¿K㥾ûGÄÝyïú4ÄÄÒ@WÞ.v”õó_�þ àÝ Ú}è"¾ÖI`CBÈ$À¬ŸJþ b€a qÿÉ'ŠÕÇMg€,,û#±ÇÒ+"’!tEPêâN©�#9ÈHðèÁ+@á¿åÈ$áPÑxÕa@¨×„ïK0@�EÂ@пü¥” o¼Qb-i\¦sÈHÀý‘Á}ŸŠÆÈîÓî¯R=éb€»?%á]@CE:, Ðöæ ôØa¹n]‰’ÈëGžÈß=üÇÐñ}ÖSo1Ó·”Ѹ3h«±'àþH¥dùJ äŸÊ£äþ7â•öрˣµ‰j¾ïJ WÒÜê>ºûSÎê† +çâ4)ðô³§%/ÖOø–:#5™×õÑK%."ü÷·™¤ÿËâÅÈ Á- èÞïêp÷‡ó°\L�$²~Ui.ù9³N>J˜&+#Fø‹ÜÓ� Dµ¤s`n¬ŸæE‰1É%ÈúB�ÂJ-Ñ»€Ü÷©P +²~ÆØÈpVfç]@”ü_ýG4J<@šÊtçù_ÈV8€gX?Ạ™ï»fÀþT`¡ú`¾ß{ÿˆ�6zwKÂ%@  l¼¹- ��-i¾ä]@ZgÿƒˆÀß Ódý*Ó±¶w�à€ÂÿÁÍöÇžÕ]¨#^Ý•YÞFè©®E•ýE|ŸÅQÚ OÂì^"ð”ÈúGÆr•]¶>ˆ•¹Pø>ŠhjCÝùpúÜ…¯}ëÛGŸQ ˆøêsÄû€'�µw›8Pê„Ì·Ø™!àyóæáþÀ‚p©_d@iÖIG¯¬Áf³Ä>z‰pÒ¿teh»+{Å. Úžuþ$�ûsé.9I]@”ü]€uþHI€û+Kð @Pªê À÷i™”„ÿƀİҠŸu[4ßGÑúõ1Ù€nÓÚJRü˜x½Ü–‘î¹µR±ÿUº€¨›HJøÜ4+}ô½¦‘é1éâ£-4,Zc¨\± ȦIþ‹Õb%„ÿæþL™Z�oOÔvW Õ'feÀ¡iò3.÷4+OI3�Ðs (­’¸[a›=éSÑ+¢Žú©o¶¨ßÅ‘�Š#c¥Õ�ʤTÚ5Eë\¹nuÜÓÛ÷™r¶·XÞ75°­jÑÇæqJ–¨é&)*¬SÂG;% ðH2}õü˜ã‡¬… +®ç£‚±ã'¾8,·nì²e'Ú°sr0ÜøFE'uYó¾Ǩ¶N¬ºo˜ƒ*ÿ ½3’Ù]]:y€·B”äQ¸vÿÈh¡’ÞnŸÞj—äSš³o©ú[ÆØŒ:a!Øý£üdíƒcNñ•0rl� QÓýzL4íÊ6·gQ¦·XL: Š;í¾6”ß¶6Ø^C941Ù·©\}âü÷ŠÂ£]ÕCQýŸéÌä¤lOgö®,긽£óŽÎ6Ö‡¶»0¼å#¼Rãº_¹náû¶´6¯Îg¥Â@·Þ*n�Ø‘¿²Â ^i¨b|Èz„âe£ÀcÓSá^°3m]Ý’NxZŸÃŠl{6ÞþŠã|ø7ZoXÚ´€CziÓò�åJ;«S'N"~ë:éZº´>3«›(¨–Lÿ¿_œùÖyÊÊãÓí`àJÃûìrï¨ôAO÷%ßûþE×-¼žÊnøuDØK©8W�ƒÖIà(=Y(ðäJP{¶…N{¡�.ƧB“ÓU"ˆ\ÐÒÁ­ã·]Ĺë7õ¬3Èg×ä»ÙaAƆäùTìÝ;àÞ•®ÞBwÁ*Ê6:sk‘r‘Ž•=)þ‚´¬­ÃÐÖ¡{&�N¤›h™.“]Bnô‘J$û#UZÒ˜„á©xÜ*vžœŠ>¿FLlÓSñ¯fEñra¶ó¢àª»©ÖÔÔ|Û$>B�E‹¥š›k>é1Q!0�å$Ä_%—x¢ëÕðƒX-]Ö¯)Ó +k!GÆ#T¸øÊ;[~+ƒt,ô‡«ÔV H PÅF\I  Ô=«ztþ(™Wζ~¾¯ð! „—áþýí¦h‚ßwÈý%–ŽÌR´Ë.%0ʘ…hmUbîêùÁèJù¾ýDW +1e|ZNxÁ:Ó'`KÀ.ÄÄê°òѪ¬ŸJçš~¶‹õ Ù5s`Û3@ �ûG')õ QEý¤÷‹ l+g€€¨àþH¹ëàÂ÷@ïæ +’õ˦=Ñú+{‘ùþ¶Ýb€žíª| ßG??ðýö�.C´v‰â’ƶÛZíqô·wÈý)q€ë¿ö=× +ê‘Þß�<Á¾µïSÙzë—æ@Âýß�½k³»é‰Fïî�ˆ=a€J|F‚›Æ'ßX¿WÒWSüêIéðq\}M‚:¯08º»Žo€DÔ ”øþ¬c;Åœbɇš€ÌA1 �_oÛŠØ Cs•€‘CÓ€M�v žO®ÏöÒ¶ñýõ0€’Ÿ« ”Š®lO@™+¾ŸéÎÁ$ëGáá©íwvמ��ÀošCºÊ°ðFsdÀÿ î0W@./1½];›Åo“阌’íÐõ°^xvS­ ¨aiTšÿ&ª9~cì· +óÃù Ý_“ÅJ8{¡iäþ–2Ä=~%D Ééo$¶\g@Só2š "׉‰ö(j6:(äþ²xå7W±H¹$’…É›�ÜJÈ¬Ì Ö›AÞÖ¯i<ôXsÿÏ”€KÖ/øþËý±¿ºƒ-I�þž¤}_$ ^sÿûK˜ ù~`Â÷Y´¹?I@øk$”UpsÞ}Ó9T:”àþl7•,Tî/HL/÷W©ØYd@âþƒ�Ø#B±~ÐÁQšT¯šÝ ¬ß`Ï£N ÷/í;â@}Ÿî�”ÓèýäòeÿºQ²ŽŒDîþžxøŸ€«5…ûæÛ;ÚPWWGaýJT�]'r²~õ½Me¾�Äþ 'Ï�GspàØsHu|ÿð�š~öt(¯$H£Ÿÿ½Î»{¶^v(\»`Áu ßÇáJ©kþ]ïºdñÑ:ÉÄ�‡ÿʈý•`ýʨ¤ ÷dý”ßw!×–$�PEÄþé (ð <7»Gî¯ @á¿9~ÿ…@ºbì/D»òºÙ}Ê虌 +a[ÙxSø‰~æ&;¦Â¶KŸÝÄ6gbå©>(~2Ë‹ƒ4+UÌ߃¹›§ãï‰ãSÊ 5¥»?2�:b°uíq;¥á§ÄLâÊ$¨‘ I/�©å+0ø»_pFüT q˜!†KSÜý,’ÒÜ9 cåþ¸îO…&Â.L@"ðç[$`ýé.  ·1<3€Í?X3TÇú¥hýÂ@õ 3À‚ýä¶w@|&ZpÂ|PÿH‹SE]@€w!ÜŸ•§‚óÂD›v*á)¡x}ª ÈÀƤâ@îþ|Eào±èbc"Í&u÷W@~-ÄÀý= �õKuÀúùûÈ.BÝwQéÛd¯@‘ˆQ°~D¥é¦d}86ÔÞËúóÀ»€þY�š›š%H yö­éØØSÜd�?L_IÀÛdrJü\ “ù?£AíÜ‹ûƒ�™ÏÚ…I௠àû0 Y¿0p5̼|A‚8,Ö/ °qÅ€PF÷›ˆ�æþdr�:ÉV$c@HÄeáêäþ`¨ãYàŸ÷±¿úïš ÉÃÛÁý¥t�ö2ëWPðýØ”ÿ€*&wpï”äòŠ÷5¥˜¡1Ⱦ ìÔo5MH”è£À¾J ¥hÄ^¦?Ê‚Yù;³Òx8¡‰™F °2¸¿`¾ïžžš^ÒLÜ÷µª¶¶“LC $‚óŠ;÷–'W�£\;´=w_í$?÷؇ï{†Š<*œ�ìÝXFéñ=Å’õöv,Çh +më‘ +�!�ÀÌ›oÍdzúŠ;¬ÂLt=™´úþm¨wÃÈÚáí’­4±R‹ÀúÍa+Ö“c½:»-äïß1‰v™pcF �ð Bèœ�z�tçÒ:(¢b[™P¯Nö“(_¶ÛÁ°{êTøØ¼<›YÝϹûGÈ¨Š‰ß2³:üw$£W°¿zx;$p|¾U'OßШ¶Z=Ìdcø~ïgG³eÔ³q¤wÓ6ßžV©ì-™éZ»�c hS˜Æö 2û…î þ­»Wö—ü(EÍ+LÝ÷ î> X'Á•dO ¿ðÿø…ùïÁ¤®E˜øÂ_Yˆn|ÿ �K·µ4/¿½åîÉu¯ìK%h¾¹Y']i ¸úUM¿º�ñ7üÚ ‹[Jÿá¦eY†øUËo´xÙÜÒÖþ[­·¶Sf–gP6Û�/‹ëò®Á‡Ðž#G޽x§n»3+™éßÕ#ñ7Û»ºå5²žh@Átø¶µc9މoÊ4Í–4ÞÔÚž-+ŸŸ‚ów~ödM3§D*Ó' DÔäÓv7&%²^£pò€ßêúÑÒöÝX-péBÒx9i2DŽ&&K金ÝðAÓâäl°ÿ¢“Žl®ók�“ˆÍ‹S{ÿðkhäߥ}öÞ?Òó©Áì=ÖÏÿ¶Û¸Öô³eðtÄôÝŸ@lUÊžB‡@¦§·¡©0 ÌÊÞÌÝ«MTì�9½ +�˜ µt¬@·,ïji_‘È|B‰–µµ»ÀÛâ¦fDÅÌ›ÿ1ªÎî½îb$e >MC¹ÔJËRã-Þ·^ ”-ŸÊ.fÛÝðë0ÀeX´Øùaïu÷k¯Èú%�qi_±ìP;|8RXnbô¦.M=¢*>üŠi´t‚E5ñ7ƒ–6·ÄÇÓ~´ƒdPvM €tE÷rÃÑëÝýí¢õa?ækøÂÐq”Û0$ ]XæîŸ[WÎm(ãþ”Hî¯;o�TäþÈò€Èœ=a@:p X=Ü1žªìGá<¥ë—ïK|X¿`ÓëD+™¸?ÂýQï�õ†áûb€a ¸¿J&þL¶˜m+&°OZ¹i›@Ó°U�Ö•½ÇFP�‘ €LËŽÀäf4$ë_U,‘7àûHÁ `ÿl3BÑýšõËý››€lWp`ÓWŽŸvÿÙ ]dýüü–ß¼Éú%@êîÎÊ ZomËÞ•AW€d HžÒl +¦OÊ6Q½=¼èQQ³¬ª=» +Á±š½w-‚îþ( ¹ÿï}íy€ïž‰˜:~ ÷�xj ü°øP¥ùöL4,Ï$Žƒ¬_C|øp`@�û+°¿³<‹õËÓññƦ±—%\Æ€`ýæþ÷äWÜÓ‡h*€®{m|ç=}@~cY l¾½Ã¬ŸÖ…‚û·ßIào'~µUo »@¾op1Ù\Ü +wƒFÿj®äwT˜LcTñ‘¸¿d$ˆ=i¶ ƒ½u껀 +¢>ÔŒõ«Äý™À³÷tU(ÝèÍÙƒ4†²nJ/¯g·†Ç`°ìÓE 7J5÷H)a?™Më w’ÇûɵA‚H×P=r›+@I’ÝuRâ/^w—§‚õ÷„‹¨ð1Kk˜€âhÅ“÷5< ÷§(ÐÕÄJÌ÷וŀp7yIpÈú곊]@»Ã…=¡ Wû˜ûÀ4¼�H±¿“ß÷'%P:pp 7Çë%ÖV©€�pI±¿¹ÿ6s€ßÚ64*)ö7[·÷ à[`ÙwØ>u`ããûLŒ, Ø´M²u 8I€$€ g D¯žDàOø¯<ß—8¶û‹W€»?ÃÕ€û ´ï´3š£@eJrÿ4$~(÷{`ýˆÊÛ÷ç¿×€Ø_á?¥Ü_¦)HX?‡«”]“/nR˜ùÖùf,ˆ`˜1L�L` È R{¶Û·9¹WÜþ^*=ž><(Ÿ�ŠÞ@"˜§ú#”ŠýÏ�€Š‡ÿ”r&^Ñ[ÀýkÝúŸ ×ÿ¬+Qbå,°Í“ ÀÝßò€$ügû+öOò³þ[h0·Æ `á‡ß|SˆÁ$:8J;¾¬\ÕÓ^_7Fu}¤4¯o0ë—÷·oCÿ‰lÔF„ð}Ïdývƒ‚•îþÖ·£‰©ÈÊåéˆ]£Jz¼&ö�ªX=¡à�¸¿»ûÛ] ´3@‰Ìú%~¨“@¨é7oC‘ö„’(Àmw®Œ@@á¿�ؽUÿU 2àõ™Þ<ÖO\€¬ÆèÛ«@Ö/k«€Â„ï+ü·rƒ½Vapf©#vFA  TÝz~”D÷çcèü‘ø-‚ +öåþŠýÕd Hú”صOḻ¿™xÒùC©Ê Å ¯ãÍ÷‹ý(b éRçð. J¤Ø_r÷4Y]­ÿ®ÜÊâP]�ú¨xøO9êr'BêÁ—ï̦ðå4ðôY˜#€1 L¬$€ À�vÿl¶[îOE |ttÇ»ŸØY¸¿÷wÈúß.œN‚“G�ýÆ0@Iì�}S:”L[r` @ø>œˆ¸ +Ž}ë<Ú¼÷ $àøWÖ@`$˜^—( È 8�úŽV¹?Öv.4% êÿ‘”’óŸÕbÓ]9e”|$öÇýÃæ�îŸ(Ӷ€<ü7 ¤»€°fwyUüczŒ›»{½Æ¨DšL^¯Øß~•dš é¢â ¤ ;þ ²~¦ÜÍ.¤ëT$Ÿ†_…Fß—´8•‹&ü§bòÂ÷I |ŠÒé$¨Á Zo‘šÛÛŸ€0÷ìšõÚ‹ïÝ0,ÅËÂBÆÇW©QÔY#*"�Ô‘íaÕ)7UôËž†F­BX½i[߯*™\¡ñÖLþþQJÿ!ë`óLÖ!wßZ¢`ü뛬«dh;ê„%cáòJ;iQÚeÏSÐs=Ùa\•²øH¼; …ÌÀ®2%7”©¢‹dP00ÀÖ?œ³-f©¡l¿;W¯‡¤ÒÖ�ù‘ݦðè:=ÂÚo4Ã÷ûXçPZ%Q~sìÛz7ŽèÖ_JËÂB©0� É$àQ|Ø6 ëI™ÈÞ¨C‰ï{ÿÏÀîC¹Òhq×eæãöÌ%{¹xêd]›÷;rT'Tå)×þÒµˆ]Éúlxï{cø‰_ãòm·µ¡,.Œ²YÜùË_-¥5Ó”9 Ý -zß"ý–aÑ¢E7|àM€–~h)j +CKn¹õÔþÑöâÊå•:'Œ„Êüš¼0yäIõÑ·Ü‘•ð sXOóoÅ1ÖúFB§„ú%"ÔI�éâ‡þ[`I{{×ÝêÊÀž7ÝÄ!­ûxË“hæ[g¥ÊÁõ‡=o@r}ùÄóñ™½á4²'Âs&¢ŽÎLýÑÉcá‘südpëXËG;€.¢�J ÚSÒÂܨ“œÛüG‰îX•‹î_(vÚ‹Y²�7Û5X?‹ò›ÊÙ¾õ™î<%!WW_‘½"g7Ž!ï~œÚÇÕQþáÚ�Fʦ–¶ÎOØë_:îî¡Ò±Ê¤›¿´�ãÖ^žmí´>7J> + (ºUx9ÜØÜŠnü �ÜŽ}‰ÔÁýëËš‘ltɇíV8|™J2&uâ7š~ðú`÷²Z•q¤8AÄ�•ÿÚ�” €xB˜tĵhÉRtax¸òJóAòt¯»é«¢‘`C2x„(^Ý8š�dç|Â9p*zÈ .�uãFµ§ ²•’K µp‰Ý±Œ·=”Ä7-·H>“Ž�åf@è¦e`÷æû Üý¤Ñ•Ë#,›²=k1…4BˆÀ‚`@Ëí3 X†a f€”m¨»)Zÿ`¨$ Ô­¼<] pPr�ѽÄvqr�¼a X¿$#V‰õ»y וÒð×èc1@@vW°þ(Yÿgc²…õKË…šØɽÑ÷ÁáÃáR«€ì§FÏ1l/WØ}ˆc)>«ÁHpÀ5°‡ÿîå~$æ.èmÀ€ûË»5Üxã�uÀ÷qd0ÐÖn'ÒÀúëÜ_ƒ3ÀÝŸÁÀ|DEXѹ9l‰W€l% ñB¯‚3@Ž/ë‘°$ýŠca.ÒQª0ïæSfóýX¿p5„'Oœrˆ”@¼Óø�NŠ +TÒ¿-íØsE\ÃþI@ àØ–õëov’»¤À‘¥2 €ÜúÖ¯RÖº€Túî =b‹µ®°ó1€Š¬ßÜÿî@ VY%„ï»4&½ –4À€)¼@TrY§ �VŸ ¼†RÀ:"RðMJE§Ü•hŒ6»3 ±âY|y8væHÞ.ü´1ÅóíRÎèþ˜²�øÿµi¥é €rá¯,L3ë�I@2“´Ý»Ò“% ËT¨¨Ç ?ˆtý+%yÆM£" 0Î^Sˆýq6WKxÌ +ÇðßÔrKÓÍ-¸¿•‰û÷~¦\ß„”°ÅÛ�¡¿OûÏ÷²þ¾2kÜŸ­#Ëð  À"pÿ4”ØåØÝ9ÄðýÌ=¹4”PÁý…ÿ’Ý4€’e|°~¹?¥î 4*$¯@º=JI€Î7H²~ÉÃ÷‡$ø> ˆ çNpJ�Û{�ÜýUÁÙåþHV.¹û³\¾b‹Å$Ç'!W© óBà@¸¿½d8Zÿ ^ à3€÷†Aí?@ þ{PÓ‡›Ä€àîï ¨€`î?Äþ]wv)øy F›nÒ„Üí˜IÂOðÿü@üq]øÿkQ‹§»€–ݼ aý.1ëw Èz�`OwöÀôQÀ¿=-—AwÙ%(í+º‘½‡¥^Ñîj¹}9¢ïG 7%µ&oxÇï0P<ßÉbæJÑYãGZn\¼”?K™ûÔ@õà‘“/žEêÙ—°~WÚè�<{ +añV$<ù§ÃÛrà«'þ‘éÉSvæU�ëÈvëýæhþ‚š0µ6 7¨ý®¬â9SÒ”Éõ —-Q²ß9‚zÖY´g +7‚!b8eQ._Õk/—¿·?W(utó• ÃE„–¹uÅΞø°dÏ~ÀIr«Máv<¥S†ÕðÂz½³¾öV}œ«ÃĬ(±…ƯXc,E¥¤¾Ôò[�^¯)µGj©@¢¤w(ºpЬ \ÐTé”)5ßóæþÉÝ×éoëTÿ- hè¾GDñ^aµÎSYÖÚΖYü¯ìR¨Û2]ê·¡ÂHaÒhʶº=º¿ ªºÄ|hÃM·ÄMA…ߺ2½E4ôèTõèL }Œå†+¸€JÙÇÚ‡ìu† +o¥bJÖ“îã³CX¿KÖ)³6ï  tÜdûµ<àþ¦äù!L–¾´Ô€470àèݨ7¨„90@îoW‚îŒÏŠäþ²ûÒDx]ð¸UøVÎh$¨c@´þð~`|D;\ø¾Ü?(¾Ò iY’Gß@W9äûõˆÒ‚p¥�ÝeÍ–Ù2nwG ö®Ð½nPûB�XÿãáoF÷·½'œ™€xåO¸Å¼Û€ËËýs½û b@\îþV&î߸¤±á,€Ý €ïËýþKÊüšüÛáþ”Í˳r“húív�]tûò[HèDEºj ÈúÁ@Ëív˜)Gñè +O²”õëÛf±ó­ñ¬‚#�xG¨oë„àb²¾Fæ…_ûKø¦.s´+7–‰ýÅ€:x`ÇíÊxyÌEB@{ÌÁD´âI@rå ’û ø©3À|?Õ'# *ü§’6Gì˜)÷ЭÅÛ÷ +u’`2¹¿™opU’¥×€Ù*@º~4*€¬_²‘É¥¢Êš —\>)ã§ <°‘ˆÝ-\„ÿs3l]f­ wÿtÀÄîþ>‡X&7‚Í͸¿@‰ãËúNp̘¿(pÿ�Æ{€€M:Í"BèdV2€÷Çú%`îõiÓy{ Žç®\Ÿ0pú»QGŸÿs@ÄÀŸX� œÀ€€¨§KÛw·Ý™5¼Ç$p Ýtk›@�Š–‹&ŽÎpøÄ ¢û§2¶•»Lï ”ûGÈý4“¹À÷% ë_F¸šË•õ[_õßêt IÅö‚º>$a é7Z\€¨€ûû9!¡L–@ú+|ß%‹WÐP»è>@]:Ö«ÔlŽlÀͲ~U¬ñèÙ¨Áý5ceÀýµÛ–ÏêºÔH@Ö/釸ÿؤ»ÿ; šHpëw©ó‡‘˜ˆ®³ãþÊäþfÖÁý#BçxàûJB—”eˆ ÀÝŸŠ� ÎÀÂÿ�ñbP•xŸÅøÁ +q@~Ôž*a¾¼Ã¬_ °Ÿ$·›Ž]@4ebÿÌÇ i O~èBRa@î/É…£’³Ó”¶ äÔìT ’Ë[U�“†Á€Üß°²ßn÷-?~ŒcO@߃crùð¿b�$è[ßéJ@’w3X—}€$ˆÅ�"r·~Ï48(–ÔN465¦€û«#Ç—ü@.\úŽ@î{§3 ¬ß¥#GǤ Eë¿•hË0y½,F¦o? ¦£ÊÛÀ…oïÞ‹ûƒ�™—ÏËý‘bEý’º€Ð�¯šÞ®‘~¦+b @"ðGzV’º€�à€»ÜŒÁµ• ÜŸÒÌϻ€°n7%9{QìJÜßz�‚õG%á¿g-] ¨)œ‰Ic…‘5k�Ľ“tô¥€Ÿ0ª�g¹æøs�~L4¾ÏHD £·éCÖèÌý/ë¿™C%ÛÆºáõA2}µ7Y¿¤ +H°~M\×¤Ø �—ûûÜÖìYnâþå#Ñú#tÕ +²S—;&uIŒ�•õ‡VW˜D“ +ámÿN³<åÚíéoD ¹�MÒÚM£.Åæº„¿w`¨û‚DЭ™,bS’t„·‘q#A)E]ŸÈwç‹”VIÞLÄL AnÃÐÚa»RHÏ«Ð, +á º8 *îœÄ”u�ÿŽ¿ÿ21{x(�•ÕƒF‚êÁõüåTÔ\ÚcZÏVÚs°8¶·|h:·q$Ó[T‡;¢"œØÌ1Ö�4 »-+¦'a¹:áìÎkK [ØîD£2f*ŒÚL¼{�Ð’0f«sé À1Б =ÝÙìŠ e¾�gÑhÏá/YOŸÑáj‚ØyÍnJÇG~äPùÍåwj?RÁ&~“ÀJ}D¿½â–]”ˆo¡…Æ£¦ß¸-ý‡t³Û�¡Eç”g0YË-HF ù«)…�e·´“ÑN|陓}Aò>"täO¾ášš9‰t¯€;*Ù…¤áyÔ‡¿fO¦ÓåCTô�‰áê^Lwvå>5 £bO²ûúiýpóc‡ ÃÛt¬¹SSr ú!) Ê‚5†Òy‡ù5›šŠ6& +Ùƒ©óž^¤º„ïÇ ÈtV ,î¶.ó¡\¸¤‘�ŸE,ý×­š’ŸØÃÒ%v‚ì#Û­a—™R÷x7ÞŠ vPZ%àAûÌÈÄëÔÔrÛRh½¤‘Š Ñ¢{Ê…764 )ô«Pr¸ù™aì¤J.0‹ JN]0FÿBÓ [go“¡¥é/´|4³tY³J¶¿¥i±M|ýP +u[œkJnE¹ÍÕÑCO"šÇž?°V´÷­b�\,^“ `]ŒL:+‚©a�nmæþ÷D›FÆ€uCr*²~]½œ@çÇóî¯R­Mb÷#ÍVÖŸ€Þ<œø¾‡Ì¸?þš]ç Ç´š<áûü)J@2�õ—÷O‰@²—(<~Ì#nÅÔ0év\€ÍggPBVS:@¶IG÷ +V)�!ÜÁ*IŠ€dý6ÿÑ=}ÄþÁÁíßt®l­HìÄò�'߸ÿÔñ“¸ºú“¡ºíÐ FX¿Ê¹ˆur ð«ñN`I_9Ä€ùDë¿=Z?Cç��o…ÛÎbÆ‘0 fÊÞs ñ÷wùÁ†ì·Écã̾ƒû ž˜ûó­0�€ÕXÞú«@:Ö�„Dßà0$øùŒ>^0ŠƒK¸¹ ýÀWžCÂÀôógF›êYk$�û L) 4Dͨä0¤¢tJÂ÷u�RÁ *xœ²+ç Ö7 ´ *›" Äô.wÖ! €¸§t +!°×Üý[n'Wˆ—ǰüÚ,û£döÝjgt(ñ}Ä¥\øk‹Íì£$ë] ó‰ +¶Îô¬9+ �ˆ�ŒÔ¶Õ·¶·uÔuÝè/`Sˆˆ´+¾Uc³)r ææš €žû†v�õG÷—"rv·Tè–Cè&ÜÇÁ}¨àøX•$HkGÆ-ö%¾Ÿí%4 Dë �õã×”X¿*fý:,•tó¯h[Ú‘jø¾Jx£×Î Ì ëG0@�-R*`WÈ�äÃÞÌý·í–Gè1p‰õþKø‡þzÆ{ø¯ @îO€û«Ï«õn%ëca{²,¥ÉVrHÌY °JXA÷·Í2 æAÚÎ:5-„û“8úç�û#%üYwÿœÒ¬¿üùéêµG”÷î­€3ß�îo·æGàf(�¸vë-­b1À*Áú£B�¤ €Á ûãþJdýºéLîßÛ›{Gˆ:بØñ– -¥u�Å(œTǹ¿`. nYÒË$÷G²~J‚J½õW ¤ôLš;:9%<óÂK®Ž[Ê/ÿé7€D5ÓŸ ɯø¾'L(YJõé“ζ›À‘Ë#Ž>9¯*~œ"Ï�º�dv8>M‘JšŒažÈýµ›®2[�ßéfb>¦!d^<ÑLÿ.K´×˜)À÷a ++/‘dîþ¦Û»°~•Ì ëggQIß(ÕµBi•� +¤ Ù"B…5‘ãSò(%¾òɲü¿PÑåõ¬i›”ß"¶IüwáŸÚ”5~Ô2wÿ®Õkeýz×[Íý�Fë'üçØŸGà/Èœk>Žc °< ž^¦ÀVÖVSp½¨àÂÊtñ¾]Ói—ušõǘ}vj­*lÄ^OËHšš’|_‚zx‘º€Ôùƒ )9"ç÷GÞ$È îÏ·”ÊôµÜÆ‘ôI׸ÝB ù+`C±¹Ø8”Æ›°mméaþˆ1ZdÜ_�õÇ9' @ÚÚ¸H&�ò@O.r÷G +ÿ½ ˆ$ zd¥ŸS�õþãþäW@-üŸ Üßà�?u�ûÇ!±þº^ t ÷G +üÕÿÃ]�’{ÅÝjÒ]’žà2”Î*A÷…[‚‘ âÉô£Èœ*n”r ÁOÛ·‚ ¸î;’H“Ô_à¸8r¼$ý¨¶C7ÊÓóå€#ýÂÿ`”|]^b‹ +k(-ÖÑt]v˜!ù7Þagf8Ó´E,MM@nœTìm£NKVO?GÅhS‚ô­¢’þ/1ËÔpaJ”‰—ÚMîÞóØÎÞÁUª3Jè‹gÚnCº`âî�8‘)^úüé£ì´^ߦÐ-"iâô~${6²’'ÙAL¢iÇn[ÂŽÝ eÚ¸Ão`�[Ú÷ô�¯Õ—–ïÝs®ÞÎYüUŽgr0»ü©S»¶èL^žs®~bê¯r6¼!vêÆ2ç˜ àÉ`sBŒ™IUhW�ÖΨRÑmq|JEOþ¡, u‡Ç g`8ä„_ÆÌ¡qAççvßnR£d_Ê ô©)>¤V£�èM÷`Ó“ÎäÖ®¹¾°Ÿ³Mè±Óƒ#Žz†Wç£0-Ï!Á†ŒM`B°½u7´°™aào~”Þa6ÕÓ +´uÙviJ{ö&"ë# gZ$¬Oܱž[]óÓâtRƒ!©´¿°´¨®ÒЙ¦¦(�ŽsøF/]›œ¿oÝqfñiNöòêék7õ‰.èè¾< ”¡/18Áij&ý5”©$(¤U³†= 3Ë °„ÁŸÔP@j\@$´«êrÒèlJ¶-ÆÁtZôýh¤t¨,õ— `B)ˆl Á\y•mïåy¤ô×µØÕ|£øéÛKS3H?@ ÕëËúp¥;3ª?%SÜ´Ç Ø@Tÿ¸VáI¥€^x_{éíKTÖ1í“éùE ݯÿÓRÔ‚_þÑA÷Ͼ?öŽß #ÕZQ û€ à à�€<@ õ—¨q¦gOÏjà/z€Þð¥ ôB}  ø-t¿³Ðùå€.À} ²Ò„ÏÉkó!&д£ð�±BKP 3H À< Ah³eãAÃN„z"$R¾Ç �¾ùQ.%'Ÿ¾)�Ûf=@B$sw~‹˜d¢€Øâ2@‰ÐP!¹Aý™ˆîCÓSí[ÐĶv~E²Õ`zzH¡P…üqæ�L¸¸£ûÐütgjM;Úrõ§’eæAýù!;¾œ}%@{öê1 @Ò/÷€*ò›b­I×RèÁ¹)QÿǶ7Ûqo5cöã«eße6 =õˆ%è19¨¿€n„Ö¯g9P¹‘lLÓel�v»y@0!è>T.]…t„ÏÔõÅÅÏþ©L]©Mœtrp@Ó±¤¿4Q ÀÚNyZ*¦­Û@n��™a$€„É”¸(-� ¸Páìaº@Œ§tÂ)-†©þãjP’ HýÉÜPJk²›l­Eˆusµµž�0Æ�Øš[Çlžh‹´g�x¤Ÿ +¥2€ÅþÁl¶$°ØŸ<ã´©¿ð @ ßÕO£ûJ¨#ýj¦t?®@–°9©\ZúTûD�bþJ*öŽõ’c�ðJ©e¢¸ÚP¡F!5­gH?H£e�=ö˜K¿þò Ü\¶žþÇQ@áO ðßœöïkŠý….]“ïd즱Žh~ËâÃèr7Ï8uíD gljTL÷C3•ìfj ’È<7çÛüežˆ1®Ð̸î\=íbÌn “I€yÒ/@°,ðOŽC +‘9p�Èü¡ûü"%È@ÀlšS±?ßµ–€ËL÷ƒzAú…+5èÔª(}¡ne€“� @ÐÆ+üw ˆ$ËTïˆë¾<€EÉ+*辩Կ£×n޳=Ç\™°ù”’~7€ÖB—òI¿ Ý$´=:iÊ éÿ䮑€bÿ¹þ-Hú+(Ù–:¥ÐÒ*Yd +ŠýeÌ $üQy³ÉpÖà ÀÕ=€êµEy€€‚t} +7KÂ!—¸€¤Ô$$ým/Qéùñ¨2ÂP¸å>kÿQ€ìR²!iÀD�þ¢û‚:Ò¯— `jü²RÅìŠýcb°mg„öJý¢J‡ +jÿÏâbOÍ»r¦–Ñ}±üû/Ôøƒú“ û$åÐ +„î; P¿6© `½& ‘€<À“P´.@÷‰ý•4À×Ãs¤£È6õ¿¯Ïzƒ€ìF°½ö@åÁ aäÿî°Ûñ|¤Â­6\€J!�Dé@´“`0œ´Òw…ôs’ÇÇ„ €¥¹€yÀw13™ +ü_@l +±¿  žx€É¥ +Ö²bÇ €Šibð€Žýdˆ Pñ& pnRv°9×iRÀ<Ê�¬´V JÃÕOš® @/Ò$ø¨Ø—=(0êO)×j»ÌÔßfN–&ÑwPØLÛÒP‘úSÆÍ  :hWhiJT5IýAÒ¯¤6J Jÿ*@÷夒~áêo`AnÒ—«æï zÖÚƒ‚K÷¥>¡ÇÎÛGħ6Â=~—Øþ�Ž}”šáõ ñN¢ZЩFës}屿Î"å¦M›Ü]›Ÿí�Ü’@ës]ÍíÆnNΤþAÐŽˆ÷©ö¼4Üwðõòñ:‡Á*Y+Pû ¥ý¯�Ÿ¸(Øv™Kª›Ç}*—ØF…­Àçø ŸžeýÛ8{ú†ˆý){_wÃ+ëùšo›gPÚ¿'Î[%ÙÉÊ¢"áÆ®Høtÿè8娥9§z~ê~ówî&,CýúYÊÒË»Aâ>ñV¯3yþ ƒÐ;UóƒˆÀé½ +FŸnxh#äÏ~h㦯mr,t�~Ë\»õ©Vuÿ‚¿¬egËÖïlUO¯¤Ÿ?¾¢ûŠíÖ⇭ ¨¡ÈÌd[|œ°‘¦®Û ®2‰|[Ë&˜zwzñw÷°À–B—àÒ²ëMW—Ý=T€ðBÄ|Äj›Äí2`º=è¾�!iÑmGY‡›¾»½µ lXÑ3al_¸7UoÞØÚlàM= +ö!&áþO¿ÕFœK >ð $ ÃÒeݲëI?D$˜™H§k~™Áß}ËØø•M›þvó\ò‚š™¥O' ” Ô>¸U:Vu1ÛäÌ ›Ú:´9,y{¸gUó m­�&p&èAï²^¡ƒâJ$•ÒØÓ+MÛülP‰K^!ý¦’ú:èS +Íï3K‘í+Aè™ +½¥Â>ÃYÊ·ºú6“ +»ý‰§ íûJ”LA�[žã¤Š7Ä -!ê²q.ûâ»—í‡öh׋‘ÃJj«A+IÅ–�½¼Hë,Z{"[š¶õ¾2ª†Ja¸ ƒU{�C%¼ÎïìÍ» ãåΩ/,Ö.ŸÔ{+'û«g µu„Á*Ò àf@* ¹ŒNÔŸ±>3 6?‘r¦_à@9ziN`¨ÿØ;7d€ ™è,n¸úf÷óEaºŸÒ/Üäè~˳=©PÂþC¤Ÿ+ŠŠnßl‚K?dšŠmWˆÁÿÖÿ‘ï“Ð%nÓÏÏ!ýÒ/ Àu¿‘°gÇk0p4‡.½:T$ýÂÕ6®c#vLúëÔ�ëg«g‡jóêòÜ ¢OWÀ†‡6¤€ô›úÛèêî½X6@´¾Úìo¥¬Vÿ7gèPê¿ÚtíÅëÊ’Ä« �úËÐ})šÉýS…­ß3eÞL„¸KÙ©hin2àßèÏt¹Y˜ï€„ìÖÍLý·ïŒO‹íÜ…ÉÐ}¿—UÒ¯Ddû®VGyŒ�¥­¶ê/XüÌžG­$@͆i€yÀk•¸»±À¼GD/6@©Ç–aT¤þ‚¯Hû$^×t©!ZÜ`¤”2$’Rr/¨ ;ða™éQFXm9ºc LÑ)¢¯èWôsd¦þx•_6 €Ôé/¾Ìéa×&ñBÃÓQÐ�x´µÚg÷?Ë´’B+iFåê�Äg’þ¦Ým2GÒ/&¯ÿÂ¥ßI=àìõ9t¿|¤d9Á(ÍÐy€K�´Ý¦kAý%šH?óƒuð2g�6«LÇж„ š€ û‚é¨?¨][ÈLLËÐ}3ç`è¾À¤þ$\'RÿÖg»ÜTêÈqêP¢þ2eÙ€lLºï,!6ÅÈↄ᛾-èþèÅy•#Ó³½‡«”– +ì)UîÊ´pŸ +%f)@÷û^9,ü9º€Ô_`î较î+ü7>¨WO ‰ò±6©? @êõ÷†�~JH `àGí°ýÉG6nܰñ¡ MM�¤ R°í‰Ç Á„êßl7—šÈÔúïï…' x�¸úSo0€Þ—ºDyl@TÏé0F¤þëpQ)ü�dQ< e¹Ö¯4€¨t–„aÝÁbì¯XX±@aš°÷o´#åæÌ&à´”ú[hO%„ù,\ dZ›¾s¨Ïõç*�  ûšZžnwšÃp¦ØŸrmEƒ È(õ"J{'Aè +Và"õ¥»•ó³Ñ²Q”H¿’¨ @`áZG§�Ò¹üù¿ª«B°Ÿ{@0VRàQ¶‹¾‰x×ÛWU•zÚ’ùH}Ñi�1® “a�5˘ú»dè>”†Ë  ‡d`ÁLâ%÷ü `UÉô‘mݾ‚Uj@k¥_˜)²EÖ¾„°&ž€†tÛ3|nÚà}H�pà\ý‘þÉ c•ãEÅþÂÿ, ˜€ •XouÇ'víj�Íߨ¿²ÙQ²ð>ÞÞ»ÊGð›¡Ê›qs&ÏÀø©þñS”Ô@åxIÿçwõL)z/êצ–ÿðÅü�{>@…k�«]—}k!Ž¥â�™ÂÿµÓL¡}ÔýlüO˜!�¶;8h6Ä�Åúˆ· …oIÐõŒ9–L+¡ëeMŒe}¦×ae¶6¯x HÖµ9ZO}Å·�æ¼Ñ‰J—Õ#�oE¯¿ùèãsw¬ Èž-a﬿wuùSõè!qégŸÎüÜrDgòÊ|áKÀîzËØf�6²—>ú÷[mýw°&æ¦j“/¶`�A M‹}ÂÄ·/vØZŸ-ÿ¾È’³a Ït)dï+–¬G‰O¾å#…=Õ}UིöCÞ k•œöb/+(ºì+�ÛiÀ{}½¢z\CuYgmPVQØ!\ýq¦d™¥ð¾?(OÍ ?Ëš¨¼xóŽÚ~©ø±PéÌßùj3ã•Z•}³Æ&ûÇßÊáº6âXÍþ¥=Þ·íKȵ[%/J¡UøW`£õîÌ$RlbA3…y´4t¿Áø”ÒÕÔm¥SÝoëê-¾<ƒoŒ9’~Ù€ õ§t äšAýeÚ(ÿz–ƒôƒö«ç«Šî+ΔðEmPZ~½öÿ J?È=`µlß±:�;Z†Ë=0r¤ßåNV=“ª?¢/õwépðpÚ{âÍ8 i–PR‘X[=ë ªðRJÐ�‹6}44Ò/Ì Ú ÷›S‹Í~Th”úhc‡‚Pò/ÙóÈ‚n}¹Á¨<î(†­OÄg‰ìê°)Ú"a_Ìr>]Ïnüò·2©?%¸ú>Cw Í=<àÀÑêš73¸š6M'1²Q4fÐú|OîRÏLÊ‘~®ôÔ(¥ªQ^ƒô£ªöÅDÄÑVæa"Ýìà¤CqògV¿HÌnš#ÐýxÚ$@Ùú|/„zo¾À�+8Z¡s@™Š¤¿£w˜Øõƒ!ÁÒö¿1.Ð}Q}ÿVíúíùß|A‰ ýµwo×ý¸¸pCêRàŠ@÷í2ÉD¹§tø× € @ +R�¨Î&|A(±cºë»‡ÿÕ0œQêOÉ ÒM-ÄáëZe\òZÀùŠúS¦ƒ3›$@²>t¬ŠôSÚpÏU029M‰ôþËô¨@ ÃÂ-üó³|»l,SÜ!ö�„-Õæ(öW?ßú˜½ó9PûðöØ•€ €rà°Q±q™S³K9W?>ì,6åÌ/Uœéw\4�˜ÝYozФ_xVHIà:i¦.—ݤþ`IÀÑ’ ·ÌCTkC¢üzià@OÎARÛ®©ð²Iý–ð…@ºÎA÷‹”Á ¢úãn¡ À*ëá¿  Ðg�”HIô¥Ñ*™’{I*¸0ƒæ±™3°WÄX#R´S´@ÍoZdÝ¥ß @7˜úïHzƒ³ @+ ØŸÒ÷«?€yÒÙ@f¥ÿÉ�ƃ€5ÝAMò纯煅ò3‡}+°�ò‰i7N Ì&æ7™:…2x¤0:ì¾-•è>H”Ýš¾×*õ—Œ*ü—°JÄù¢•~§X¸Ÿ ôÔIs”ì7džîcI_°¶©–çl„g]4Ë€…k±ú!ÇWÀV51€®Žˆâ¡Jÿ«9èþð©‹P¹¶ˆî‹ú'÷�~½ƒVP9]*²ap8{ýêä…QI¿±¿Ê±“}ŠýSR÷€h™F�¶¦ðìÉ nWvÅþkfš!­Pj ‘,E°O³& J¦xPúü +¤Ü @±CÀ~Aú¡rn$ñx€•‰û+ü§Ôš°Vl�æ·™ÙüéY÷­¡úˆý½·€­ÖæX¥>ï­@¨¿ ìø}xR�¬œXpß ZŸÞFìO jüiheâà¡‚s`¤Ã9Xîv†RðAÏä“g¥­†bÿÌÜÖ4€¦$ý™û?ˆ þéÄd�§Þ9ø% & v>6€�È$ÐР×S#pyEUåAa-f¨~ý?e­@²�dæhZ`”øP1w»Xçp³¹‚IyhÛÑ·ð dkðäN"Ôíy|Ûãßi¢Ôé—þ¯6K²§E^ú™5¹è¸Ÿ}ŽÖÖÔî�ˆd�çV �·òæ�êÿ|x*ƒót'xÛBªŠX€™òÓY¹Bx �£Gå—é½NçOÑ!»é—¸ú7íŠYŽÂú¨=F�?a=u˪�ô I¿’�î;è†Ó`ââÍ;²a0é?^00ÝŸìçr ´(*@j°"°†�lü»éuÐ5Sê³WEéx�áØ;�Óù®æ—aÜ—êl �aôÙÃ<ûŽrüê¢`¿»&¯-ŽÔêÚqº›W¸p‹êÕ[ SᮼoÊ~s-P9’Ý̙ĥZÝñ•l r®µ«ó?^ÖÕR>V¤œ¿³<|¤¤Qùª™Å�€cдý›êkmÀGÔÿÝ¿ÿÉwÓ¿d9¡£a�¿ó$#‚VlNò·bþõþV|7!mªÊßl¸ñ‰�;Ï>ÿ]§õ™­0|¤»~½,û™~zù÷ž|gÎuSbI»I!H(Ü"�†DÂ])‘láFƒþÞŸ¼+�¾)¹QkÓÃ[5�Š´ß(E¯|ñÈ~é_zÃ}ãþ<8gæçŸŠ«ËŸÕoÚ-(¾� +ŸÎÝ6'˜ LÝXBȪW摼ƒG«�îŸh�™®Mx�:kwPZÐÑMO¶jPiGo ô`˜æ­gTà—Ùˆ,•›d(¸Ã®VOµuVï.8ñYž�mO¶2õló+”¬•úÿAgQÇ´>6õë¦Æ%Q|¹<ÞRzQ•^Ÿ%%¬\Y…�ӣ춇­+>4ÄÕ?^^þ÷/(1¿ù_þqæÖ’Ðþ‡ék3ÕS6°*'LèMëkVÑD”‰WÒKýÕì#P€îKÓÁ Ô˜ƒúã]/ +KB^ßaÔðÈdÁD÷•Ë‹’þزÃJCJ"paaߺ�è1޲�LúEéwUÔ¼£ž ûQè£ô‡ €‰î$ý¦þ!Öªï-Ô–)aêÚ"þSjº ðŸZXõ›9S×oÏ.!‘†oXõ;Ÿá?�^ÞæéI–Ò°(� ¸(ɉHàÊÒé KpÒyR ¨]�g*¢|¬8|¤$þð]˜MH§§�·³ •5I矽¾6WF�™�Æœ•‹â'"ëýnú[é<éôù›•5™ýh4çz%'Y~ÚžNWÏ�@÷€¿À_ll¥+»¢{Ó#kô‘i–Øu®,ͦ+±b÷NQ‘éµzÅD%Œúßý¡%¼ þÛm¯ô!  ’fè¾·é_.Ký- êÏ@ýí¤€¤_x§&¤û'Õ}`¯ª"éO3€é¹é깡Ôþ+�È$ú&ñµ~I¿ä>Qÿ!óƒ“ÁN–þ Ð#ã�zn,IEND®B`‚‰PNG  - IHDR€}WÑ pHYs  ÒÝ~ü -MiCCPPhotoshop ICC profilexÚ�SwX“÷>ß÷eVBØð±—l�"#¬ÈY¢’a„@Å…ˆ -VœHUÄ‚Õ -H�ˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:Ø�OHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç �RÈ.TÈȰS³d -”ly|B"ª ìôI>Ø©“ÜØ¢©�™(G$@»`U�R,À ¬@".À®€Y¶2G€½vŽX�@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?�çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z -Ðzù‹y8ü@ž¡PÈ< - í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù�@+Í—¤ã¼è\¨”LÆD �*°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ -¡–ATÀ:ص° šá´Á18 çà\�ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9�\@ú�ÛÈ 2ŠüмG1”�²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V�5cX7vÀžaï$‹€ì^„Âl‚��GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±�XF¬&î!!ž%^'_“H$É’äN -!%�2I IkHÛH-¤S¤>ÒiœL&ë�mÉÞä²€¬ —‘·��O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwR�PÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ�!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘f�æqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup�@�,�õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046�l18cðÌ�cèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ�)Ò)õSnÚ1ìüì -ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡s�ó5¦K�Ë—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã�§›§Âó�ç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËý�ø¿áyòñN`Áå½��³k™¥5�»/ >B Yr“oÀòùc3Üg,šÑÊ�Zú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ�©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸�x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû%ÒŸ3 cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅF÷IDATxÚìÜMˆœõÇñ_6›ØÌĪ ±­Ø6ÚôÍ„$„Ô*($E(4tŠD‡6² !-„=DÖäà1ÉAˆD±íÔ°"yzèÁj}ARÝ]bju©k­QÑ$›&ûäe7»=d)5øRKÍlæù|`oÃ2ü™�ßwž™�îéééÕÒí@€ @€ @€ @€ @€@€f¯-[¶Ì¨;v¬–d^’©$§×®];~÷ÝwŸÝ´iÓ´SÀÿÉæÍ›»Z­Ö‚²,ëI.KÒåT:Þd’Ó+W®<944tf6Ü¡z½^/Ëòš$×%¹6É™ûùÁ�Fïºë®¿ Ù¿ÿd»ïk__ßÜ}ûöÕfþfæù›éxÓIÎ%)gþf&‰¸äÝ{ï½szè¡/'¹>É·“,™‰:ûÉìt’÷‡‡‡ÿV¯×G[­ÖX£ÑhÛ«ëz½¾°,Ëï&¹±ÑȆmÛ²6ÉÜ$Ó££9¶ukö—ež/Šb°§§çÝvF@OOÏeEQ|-É·’|#É3÷•Î5•äD’·†‡‡ßX½zõ;ƒƒƒ"@\ÚvîÜÙ�dñêÕùé®]Ùì -@užÐFGsdëÖì+Ëò™f³9ÜjµŽ¶#n½õÖùeY~}á¬à�ürãÆ,«Õ>r“%kÖäWÛ·çú¢ÈDQe’#mÿ¥3¡ò³mÛrÓÌsÕ©Ž718˜‘mÛ²chhh,ɘ#—ºyI/Z”ï­[—kG¥,Y´([šÍÔ˲ìj6›ƒíˆ€ƒÖ’\·qc~ÒÛ›ew›•+sùý÷çÇÏ=—¡±±¼Ù××7¶wïÞsmÿë’ÜÒhäÎV+?ªÕ •ÌŸŸî$ßLòª� +É‚©©ÔEõ4ùj«•_4›IY–iGŒ��})É5}}Yñi·»á†,\³&ËŸ~:WŒŒŒÌÍù÷dÛ1þÍV+ë�õœ=›9I.·O “̉K˜UŽ€¯´9º“,˜œüìÇàÔTæ'¹¬»»û¢½Meüù˜M€Ž1=óƒhGL&9ÕÝýÙ�Á®®œMrfrrrÊøÓ&SŽ@tÒƒùTWWÆ…hG\yå•§ÇÆÆÞÝ»7¯ÞrKÖ}Òíʉ—_Ρ$Ç—-[ö…_þ7þ\hþüLçüL: Ð &’9z4¯=óLþÿÐɺ’̽ñÆ|ù‚OÙ·5V¬X1þ /ŒîÛ—'{zò�F#×\x›²Ìô=÷äÙ±±¼’äÃ/ú€Ÿwü‡‡sæèÑœš jWÓ:ô¹rp0#IÞJR:pÉÛ¾}ûäÎ�;� æ÷ë×çµø€Ž~“äêF#7µZùá' ÚÅŽ€çŸ~¢^¯¿}òdùl³™»wçÎÿüWÀááœØ¾=ÏE~—äÕF£q|6�Qäƒf3O–eFf^ -€ÎóïïHòƪU«\1—¾;vL>|øŸ­Vë¯eYºÐÙæ&¹º(òz³™òÓ†íbG@«Õ:Ñl6•e9Ñ×—Ñ]»òƒE‹²8ÉäK/å/e™WfÆÿ�/òK€þ‡ñ¿ÙÌoË2J2â•aÇúÈ7ú Ð1öìÙ3µgÏžñÄç:]OOÏá¢(ÆŠ"Íf2[" ÑhL���«×ë˲|wx8NRËù÷Z�'ù°ÑhŸ…ãÿë²ÌjµÚÐîÝ»�öööú€˜}öïߺ§§çÍ¢(RÉlŠ€$/~øáS�<òÈ{9%jzéÒ¥çfÛ{þŒÿ`»¾Eðy"àÌlŽ€ÞÞÞéÞÞÞ‹v‰Õøƒ0K"ÀøƒD€ñˆãÆ Œ?@@U#Àøƒ*ÆP±0þ €ŠE€ñT,Œ? b`üA‹ã¨X@Å"Àøƒ*ÆP±0þ €ŠE€ñT,Œ? b`üA‹ã¨X@Å"Àøƒ*ÆP¡xðÁ�>ñÄó‹¢XjüA‰€M›6½žäò$7@5"`^Yf8É�F6@5"àçwÜ‘ïßv[–´ZYeüAÕˆ€Å/¾˜uË–e^­öÉ¿×øƒ:,V¯Î¼Oû}ÆС`üA"ÀøƒªÆP±0þ €ŠE€ñT,Š"ï5›ù�ñtvL5›9õØcÙðÔSy{füÿhüA�çŠ"Þ|sŒŒä½²ÌP­V{Ýøƒ:8n¿ýöÑÇüØà`^Ir®:ñè£�žÜ°aƒñtª���‰þþþ#÷Ýw_×òå˧<8åT@Ðßß?ÝßßÎI€ @€ @€@€ @€þKÿÿÿÈ{ �jyQIEND®B`‚‰PNG + IHDR@õ]©¾½IDATxÚìÝmlÇñßÝõÖ§Õ=ÄÅL@³é6�ƒ%&F4&$’tâÃãSâ:p`tHPa�Є„˜ð`^ljRH€ £ÃM@ NX•1¥)[ÛëÃÖ^ï|� ÊdÀ Ûý>/ÛíÚôúÿ^{wmMº®ƒˆŒÉć€ˆ "€ˆ"bˆˆ "€ˆ"bˆˆ "€ˆ"bˆˆ "€ˆ"bˆˆ "€ˆ€!Ø´iöï¯Gsó÷†]iUUïÃåªD{{;AȸÎb± ‰Àãñ ‰Àb±d\oµZÑÖö+º»eJp9ßl.þó•Wf÷tv�÷@Å~ow Ëu]‡,›`³Ù±{÷W®S§NÁ‰'€áäóùà÷wä˜ À i”g˜ÉIUqêâÅÎ 99‚]×ûD@Ó4H’‹Å«Õšq�Ýnƒ®Û´=6gŽîv:Q|à@û±�;¿Ú8wnEÈn·CUÕŒÿ¹v;étºß;&ŽlœMCRUa÷]C­VZZ|Ç/þuÝ7ß`ùøñÀ‘#è^»«¦M+ŠdgÛh×w<ˆ"’É$¢Ñè-ÿöíè:xGóòAýGšÌfX/]Ây‡Ãñ0Ì\.víÚûÃŽ?.4Ö6æ~|ñE×›ÍÍém·�®®.8�N#™LöîÁÏζ# êK–¼õAyyìtI‰Vrê”ð]iéô#“&¢½½½ÏÞ~A2.lø7nÄe·ÛòRVÖ#G“É3Z?"¦L)0Ì¢Ñ(l6ã�¾P^^„x|¦gÆ /nºÁ"‡a6›a6›{—c³Ù!I](+ƒqãÊöüñÇL˜pcÇÞ‡X¬²,z?þ ¬®Æ‚-[>oòùšQWgœˆâÕ£/ À°¿Ö<5š)J³gW {Â3cƱ[Ž@OOÏMïU%Äbq‚€ÂB;D1ŠË—eÄbq8÷ÝéðÏ_¹r]ÓÒ¥sàrí5Ü:‰¿³É3G�+WºðôÓ�¢±CŠÀ͇íA€¦iH&“PUétºÏßÜÎð¯XñYSeå<œ=ët– aÐÙº£\þT*õŸC?Ôáw¹æáìÙ6Þò²‰ ÿ1š¦Ál6CUU$ ˆ¢MÓÜbeøÏ�óõF†º#�H$PPP€ššx½^ƒAX,–~Ïóêðëº>à爠{ š¦!‘H`úôé�e^¯Š¢@–e¤R©;~nù!¯:::0yòdx½^äçç÷žçÏágh”G@(Š‚h4 +Q{‡˜ÃÏ�"ÐÖöÛ ìáð34Š#PYù"þúëRo8ü *bÓÛo¿ŒÃ‡#/�ÃÏ�Á"°|~vvnÓ¤I�cëÖ„Ãg8ü %‚€z·û­çËÊž<®(g^ãð3d TU¡ S÷¬^ÝøuK Þáð3d°|ôJÞ{U99~€ ?@�‡Ÿ FàäIls:�õëñ÷²eXÈágÈ 8zTðÌšÕ”µt)ÔÕÙ?Y¶¬†ÃÏÜûjkkQ[[Ë5wwÔ¨Û¼ùú&”Þ•×××óÑeˆˆ "€ˆ"bˆˆ "€ˆ"bˆˆ "€ˆ"bˆˆ "€ˆ"º ÿ H…µæ6äî„IEND®B`‚‰PNG  - IHDR¸½A÷ -7iCCPsRGB IEC61966-2.1xœ�–wTSهϽ7½P’Š”ÐkhRH ½H‘.*1 JÀ�"6DTpDQ‘¦2(à€£C‘±"Š…Q±ëDÔqp–Id­ß¼yïÍ›ß÷~kŸ½ÏÝgï}Öº�üƒÂLX € ¡Xáçň�‹g` ðlàp³³BøF™|ØŒl™ø½º ùû*Ó?ŒÁÿŸ”¹Y"1P˜ŒçòøÙ\É8=Wœ%·Oɘ¶4MÎ0JÎ"Y‚2V“sò,[|ö™e9ó2„<ËsÎâeðäÜ'ã�9¾Œ‘`çø¹2¾&cƒtI†@Æoä±|N6(’Ü.æsSdl-c’(2‚-ãyàHÉ_ðÒ/XÌÏËÅÎÌZ.$§ˆ&\S†�“‹áÏÏMç‹ÅÌ07�#â1Ø™YárfÏüYym²";Ø8980m-m¾(Ô]ü›’÷v–^„îDøÃöW~™ °¦eµÙú‡mi]ëP»ý‡Í`/в¾u}qº|^RÄâ,g+«ÜÜ\KŸk)/èïúŸC_|ÏR¾Ýïåaxó“8’t1C^7nfz¦DÄÈÎâpù 柇øþuü$¾ˆ/”ED˦L L–µ[Ȉ™B†@øŸšøÃþ¤Ù¹–‰ÚøЖX¥!@~(* {d+Ðï} ÆGù͋љ˜�ûÏ‚þ}W¸LþÈ$ŽcGD2¸QÎìšüZ4 E@ê@èÀ¶À¸àA(ˆq`1à‚�D €µ ”‚­`'¨u 4ƒ6pt�cà48.�Ë`ÜR0ž€)ð -Ì@„…ÈR‡t CȲ…X�äCP”%CBH@ë R¨ª†ê¡fè[è(tº C· Qhúz#0 ¦ÁZ°l³`O8Ž„ÁÉð28.‚·À•p|î„O×àX -?�§€:¢‹0ÂFB‘x$ !«�¤i@Ú�¤¹ŠH‘§È[EE1PL” Ê…⢖¡V¡6£ªQP�¨>ÔUÔ(j -õMFk¢ÍÑÎèt,:�‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ -{{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% -5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^�ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾ÆoÍ�µ„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõH�WM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~é�ˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{�°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ï�é÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû�pf* pHYs  ÒÝ~ü IDATxœìÝ_¬e×}ðufîŒÇ3öxÆŽãxâ6q“úçÁ/<"Ñ -JUŦµUª*QMKMp”â**´•[”4”Ò6 �€'ϼø¡)A¸Im§žØžÏxæþ™¹‡ßïîµgö=sÇv’¹çæÞßç#-�s÷^ûܹ’WN~ßµöÚ+?ñB¶•½þ»O  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€€ë^|î‘Cñ2‹v¨ÚŒ6ø‰6ß¡ï¡Þ÷–ý�wÇ8`·È"âp¼�v¬·ñûa=Újœ_�×�,(zÁqdÒ7[ ó…þëÑÿÚrÿØ¿ŒCv› ¸(»¢Ýížh'ÛP„äìáZ´óÑ.D{3úfa‘ß§zß{£ïÇ®.ô¿ý/Eñ±¶Ô?ö!ã€eÖ‹Ž,"î‹ö@´÷ö÷cáq9Ú7¢½-û®õ×ÓÑŠö` -•œ¹ÌYÆ·¢½íl´W£­Äï8¯ø€[3X@Q}¹qÎ8f¡q&Ú‡òu>Ÿ?=í7›Í~¶ …Hëý5‹”Eßg?7ú?Ó†bæp?t5~×UË�áfÆ!Ë$¨+‹‰\n<¿±S§8þKQLü\–_î¯ìTtôþ[…K\óxf#/÷vå¶ÿ°ÿ‡,�  ¾�Xn–÷çrã3ã¹(>߆%Ĺôøh?íãøgûñ•~ÍØÿù6Yd‹¾�öSù™yòÑ.Äï\³+9Ü`°l€šr·ð,<ò¾áû&³…Yt佯Y,änâwDZçâüÑ~>ÞçìäJ¼¬÷ÿbî3>×ûŸÌÏÈóù™ñþÉ6,CÎ>o.ùo„ïtÆ!K%¨)gó;`¼§x”˃ÇÙœ%ÌåÞÉùéû”»ŒçÆd¯öþïkÃÒäщhwöß“¿óúýÇ;<¿ºÍÞæ}~ÏÇ!µ˜šõ–ÆçŒO “ܬlº|8—"g‘òrÿyܘlt´Æá6)ò£ø_|~ù‘&à`Ëq³m5[Œ�|½ÕóK‡Ô#¨)‹‡|^øzo£œ)ÌG‹å2â,@îï?�ŽõëFù> ™‹ýçÕ…ó‡ÛÎÅ0yßsî|žËŸs¶RÀA5ÿy�~.Á½ ³öëýÜÒÇ!5 jÊÂ"‹„­‚d6›}n>Ÿ*Ú�ÇûÓ†$¿#NDZ�M®—íO�Ëš[Û>+ÙÚ�%þ[ú²ÿœ�Ì ‹šD{OB€œµ<ÜààÉ%÷km(þ_k7–áçÏYø/uP—  ¼ÿ8Šñ,<ò^ã\>|}c°(4þîÛ\z­Ý|ÿðôþÅ"#ƒ†Åb$ûd±ŸEÍ—¾É:ì{QÜ´ ö¥½‡$¨-— çÌä•(J~3ŠŽŸœžŒcÿ5^îŒã?Ø­µíK‹ó{$—#ßÝ>Ö¶·Œ…ŠânÍ8`)õ¥øÓ–ßW£Ðøí6,×/Þ—Ÿ3”óÉÏyï~Þ›¼Öûåîä'&çsv3ï}ž›½ÿ¹ø}¹¬Ù-t‹·œë?§½‡$¨k,8ŽÏçógó@¿×nlX–ȵ8÷ú¹/´¡ð˜~wäŒcî6ž�Ëb%‹�{&ç¯ô¶µÙÙäÖƒKmxÎyþ®ÜÍ&€d;m˜c ÇÂ8[¿´q¸+!û‚€ëA+ -ŒÿØzÑѶÏ2~µ »Œ¯L6+{¬$§ú5YÄ|<;Çñ,f²ÐÉbeuü¬‡ŸxaãÅçÉâ'—0ç}ÏHÛØ[;:9¿e〚ueÁ±õè°(²ˆø\Œ×^ìç® …GìY°\ÏEÿGoñù_oÃrç|ÜÙjÎþ�'z�…MΈN7/ƒƒlÜ©ÞWÃj{8¨GPÐÂSrvð¥(.~!ŠˆÏ,ö�ãOÅËÿ‹örïŸßâøãñz&®yú×|-Ú«m˜­\_ì3)Dw3‡¾Æ!µêÊåȹ,xÜ|/7{2^ïêç³0Ï¢áO¢½Ò†%gWúk^¾_s¢ÝX®œŸ™³Ž/E{#Ú¥(tù°3〥Õgs ~nÆ—EDÞ—Ÿ3…¹‘X~?äla.MÎâ!—�÷ꯗû¹¼ïøŽ~ÍÕÉñ¼æ|»±Û9°À8`™…åŒ`9‹˜EFY„ä¦|¹“xn6ݰlc\¶׌FgÛp?òÛ^ìÌ8`YÅõÂ`-ЉqöqÜ”oÛ†e ×äRâ+qÍølów¼¸5ã€e°å[Ù”ÏF~p{‡ì& €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -pÝ‹Ï=r(^fÑõC›Ñæ?ñÂæ;ô=ÔûÞ²?ðî‡ìcq$Ú±ÞŽöSëÑVãüj¼ndA±CßlY€Ìú¯GÿkËýK`ÿ2Øm€â¢H8/Ç£�ŒvO´SÑîè§×¢��v!Ú›Ñ7 ‹•Þ'ûÞÛ¯ÍcWú_Œþ—¢øX[Þ_û“qÀ2 -볈Y8Üíþhg¢½7Ú�½Ë•hg£½Ò†bäJÍþE{° K/9ËøV´×ú5¯F[‰ßq^ñ·f°,€Úr qYt|0Ú÷Ìçóg§f³ÙSmXŠœ}ÇÂ# ”�,öíýŸiÃÌäá~èjW-C†[2X -@Q}Ö1ïÎ%ÄYHÜTt¤<ÅÄϵ¡�¸Ø†™Ê‡vêÛû?�¯qÍãm˜�¼ÜÛ•Ýø;`?3X&@]¹aX9KøÞ±�ˆ‚áwÛ°‘ØÖ�qüG¢ýbÿT -�qæ±õþÏ·¡°È"ãXô}´ŸÊ>yòÑ.D¡³fWr¸‰qÀÒêÊ™Ç\Rœ…ĉ…s× �ɱ,Prùñ‰(.>¹ur6ûbî3>ׯ9Ç>çËÈxÿd¿.û¼¹k ì_Æ!K# —O¿²¸¸ÚßO�ç,弿Žr—ñܘ,7ËYÅ÷µaiò( šÜÈ, œ,t®ß¼ÃóËá Ûìm¾Ã,üžŒCjÔ5 ‹x -;ù>‹’£“c¹Ûx.-~¹ÿœ³˜LÎ�›–žþŽ(þŸ_~¤ 8Ør¼mD[Íc`õá'^Øh{8¨GP×´àØ˜Íf¿5ŸÏÿ~´¿´Ø1Îýv -•ÅYÊ,P² ¹Ø^m7Š–ÖûïTüßÕ†MÏò1f¹ûyÎV -8¨Æâ?ïÑÏ%ø¯·á~üKm�Æ!5 êgÇönúڡ︬¹M^Gãÿ-}ÙÎFf��<û@´÷´!ÈYËà ž\r¿Ö†âÿµvcþX¤/uP—  I!žËŒïŽv:góÜl6û÷m˜©LÇãøßŽöc}—ñœY\,<¦3˜‹EFÞ«¼XŒdŸ;úïüÒíø{`?‰±ôÑ6lØ7ó{1(HPÓøè±,:NEañÔÖÁ¡¸È{‰Ç�Âs7ñçãüdzõ%ÈÓYú•Éç´þ~úÝr­7ÅÜ, u〥Ô4]0ÝM|\ª¼Ñ^kÛw Ï¢cúH²¼wÿtï—ŸyoÛþ(³õþYÓâc³÷?…ÌÇš[8øo8×N9“¿ã€‚L‹î,D²p‹„ñña£«mûæb9ãø@ï“I!÷LÎ_é- �Í|ôÙ‹Ï=’ïsó³oôß“¢Ù�ƒl§Ms äXš÷>K‡ßö_À¾%¨)‹€,rÆðÊxp>ŸÿÈl6ûÝv£Ø8‘Ç&×eá²}~-Ž?í±xÿ…8vª LÞ«üñìÇŸíý³àÉ{–· -�|ôYßý< ˜||™ÇRÁ¶ÇöÖúëÒÇ!5 jÊ" ‹�óÑÎF‘ðé(>½ub{¡q]/$^í×ÝuýƒæóGoñ;¾Þ†åÎòšœýOô —#çŒèâóÏá wêŸ÷Õ0ùßýž�CêÔ‹�, ²(x)Ú±iñ±(ÏÅËWÛ°l?g1ïˆcOÄëƒqÍÓ;ôÏÍ̾ֆB%ŸM¾¾Ó¿¡¿½¶x*øN‡Ô"¨+ ˆœy'¶ÓmØ�oü~Èeú¹t8 ˆWúû,"rþ\Æ®_“÷(çÒãk½OÎ:fA“;™_ŠBG‘;3X@Q}ö1—à�³‰YHd�‘EÄXŒäñ¼O?w-ÏYÊ,*ræ>Ÿ �3ŠYXä}ÇYˆäwJ*—ûñ쟅͸Û9°À8`™…åŒ`YXälbY„ä¦|ãŽä9c8Ý´l£,y> Œ,.ζ¡ÉÝÇç;õ_Þ_û�qÀ²Šë…ÁZãìãtS¾m›–M®É‚äJ\3>Û|¼fÇþÀÛ3X[¾•Mùlä·—qÀn@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@ @q/>÷È¡x™E;ÔÛN6{›?üÄ ›·¸î¦>À»c° €Â¢x8/Ç&-^,>²ˆØˆ¶š-®¹Ú��\—È<Úzï“}×£¹¶ëìsÆ!Ë"(ªwE»'Ú}ÑNF;Þnc’EÇ[ÑÞŒv>ÚZ´Ã½ï©þšß'Wû¹ìs!ÚÅø—¢øX[ÒŸûŽqÀ2 -êˆsæ0 �û£} Ú{ÚP|ÜÑÏ�ß9›x1Ú7¢½Ü†È,<²Xyo¿&ÎYÆ,P^‹v6Ú«ùñ»Î+>àfÆ!Ë&¨+‹�,2NÏçó/½› f³ÙO´a2—¿?®ûì}žiÃŒäá~èj.W¶ vd°4¾÷F»3ÚÉ(:>³S‡8þt¾Fòxf#/÷veYÿH8àŒC¾%€ºrS±\|.Š„�µaéñ½ý5—ŸŽv* -‰?›�£Ï¯µá¾älï?$Ž?߆Â"‹ŒcÑÿÑ~êLîC~#Ú…Ÿ{dÍ®äp〥”@yOñ¥6ÜSœÁ¹6cq$Šˆ¿’ý£¸ø­6¹ÙÝqüýøÛpŸq^›»�ŸŒcŸ�ó�å d¼² Ë�³Ï›Ëüá;�qÀ² ŠŠâc#woîá¹iX¹<8%–Ë‹OMº¿Ò†MÅòÜ]“ãú¹Üh,‹—÷µa7òщþY¹™YÞë|ýþãwùÜs8H6{›�³ð{=¨EPX/>²Èųp¸» »�ç=Ä�åël6û¥xy© EÆ]½ß( –œ‘|¹ÿœ›™=09ŸG.UÎ�È®ùïò¹çp�ä¸É™ûk«1Vsü剽‡Ô#(®/CÎÅüNÈÂ!gOLºä¬b.O^í}æ“sWûñ‹ýçÕ~lt¸í\ü¿ÝsÏá ‹ÿ\ÖŸKð_oÃýø—&!ÀRÇ!5 H9C˜³Žyïñýóùüçóàl6ûçm(:²`¹Öû,—5·¶}Vrë#Úöâÿ�ž{~¸ÁÁ“c'7úËâ?—ð�Ëð×sæ²)ßRÆ!u ŠëEyÎ6æŒ|Þo|ßät.+Î{’sñì—³•ó…�˜ÞÿXddßÅbä›~î9$Qд ãj1[æ8  9ëž3òù¸±û&³ŽŸkÃle¹´8g'³ð˜n –ß#yÿ8#y¬mÿn¹Ö›âÞžqÀ®�EÞkœËðï™ÏbãÍÞ.ö>Yx¬OúäŒe,¹¼9gïmÛï[^o7Š•éòäÅçž»€ƒlñ€sýçiA¾ìq@A€Âú²ãœ-ÌG„-n:–ÅÆ¥þš›—åwF>žì­IŸœq| _Ÿ÷g2-^®ô–Èæ-ž{þz³ ÛN›æXïcb©ãð6ÿmì#€Ú¦»Ž›ÏçOmœÍ>Û†"%ï9΢# ‡Õþókqþ™èût>¢,Þ¡ ÷,çìýñ8öñþÏöÏx³_»uÏòÏ=÷@*ØöÀlãÚŒCj�²ߘü|¶ �eÑ�…ÇøŒò ýÜ©±c�Þâ3¿Þ†åÎyÍêd§óésÏó³§›—ÁA6îÔ?ŸŽ‡‰¥ŽCê�EG.>?9–ECÎæ²ãõÉÒýü9ŸG~x6›=¯grrñã\Î`~­÷ÝúŒÅ>“BäÚâ9(hOÆ!µjËåÀYä ãKýñd)7)ïSÞ*Уø¸Ö—î�ßyü|\ódîY>Ü�ågeáòRf//åµËùs`_2X -@a}F1—g±�3òú©ÜM<‹ŒË K÷×¢ÎPæle.IÎÂ"—!ç½Ë+ Çó³Î÷ÏnÁ8`YÅM6åËÈñ^ü,6Ö'›”Mûgñ1ã½Èù³ÜÈ,g2W'mÃ=ÇðÎŒC–AÀtS¾é±[ })ñ•¸f|¶ù¸‘ß;mrÜ‚qÀn°å[)lä·—qÀn@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@ ×½øÜ#‡âeíPo›½Í~â…Íoµ/ðî‡ìcq$Ú±IË¢bm5[ôÉ×�~É­ú®Oú®Grm™ìgÆ!»MP\ ‡ãåx´“Ñî‰voЉ£Ñ®F»í\´ Ñ.õËŽOúæû•Þw-ÚùÞ÷b|ö¥(>Ö–öÇÀ>e° €ÂúŒc÷E»?Ú™hï‹vw´Ã½[¯F{%ÚÅ6Ì0æ5öv²÷ÍYÆ·¢½íl¿f%~ÇyÅÜšqÀ²j»#Ú©6Œö=óùüÙÅN³ÙìâåÎh¯÷CYl<}q‡¾ÏôÏ —«Q|\µ nÉ8`)Eõ%ÇwµaùðûÛ-ŠŽÇ?ÅÓm˜qL÷űÏÞ¢oöËäñ6ÌF^îíÊíý `ÿ3X&@]yoq.1~ Úw�EG ¿×†]ij0Y‰ã?œÇãõ™8÷é~í{ƉcÏ·¡°È"ãXô{´ŸÊeÌyòÑ.D¡³fWr¸‰qÀÒ -ê÷çc¹�XMN�;‰çýÂ×¢°øý(&þf?—…J#OnuœÍ¾Ø†ûŒÏõkNƱÏÇùÇr2Þg¿S½Ï›KøÓ`ß0X6@MY\dá‘EÁQ$|jëàlößÛ0ã˜3„‡zß,>~« ³‹yìŽÉçä.ã¹)Ù«ýšÜ¸ìøäü‰6ܳ|´_{ýþãž_Ýfoó> ¿çã€Z5e�ÅÀøØ±Q›Qˆü�iç(<~§ ÏoýºQî6žK‹_ž\ÿÀä|öÍg•n“"?ŠÿÅç—iB¶,Ì7¢­f‹1�¯{:¨GPSY dQp}&1 -ŽÜ©sÿÑ^|¬õkFùÌñ,d.öŸWû±Ñá¶sñŸ›žå²ç|ìY>Ç›€ƒk,þsö>—àç.þúñ#mÆ!5 êÊb`¥-}ó±¼—8— ßEÇ�åñ^|ü‡6,[ž—5·Éëõ�kÛ‹ÿqÆ3€|äÙÚpïs†YnpðäXÊ¢=‹ÿ×Ú�eøY¨¯´%�Cê0ßDañ¥vã^â´š3ŽYtôŸ�LûwÓ{ø‹Œì»XŒŒ÷/ŸŽÏýÒ·ùo‡}'ÆÔGÛPܯO/{P� ®é=É£,J¾ÑÛx›À]“ó‹EG~�ä=üw÷Ÿ�µíß-×zS|ÀÎŒC–FPSY\iÃb£\¦¼Ñn -Ùgz/qÎXN‹�¼wÿt¿. •{Û°ãø´ÿFÛ^|löþçf³ÙÇš[8øo8×¾ÚÛ^ŒC -Ô”E@Î8æ¦d&Çó{!g³¸Èû†s£¾c“ó‹ÏÏÇÜm{J IDATüÎÞÿt¿ft¥·,@6óÑg/>÷H¾¿Ô†ÙÍüwä†h6ä ÛiÀ9޶%�ÃÛñ°? jÊÂ"€|tØÙÙlö³óùü—¢=ï½ 3òYŒŸˆc�æqüWâåüø>Žÿt´ÇâýÚðóœ½?Ç>Þû<Û†BçÍþ»¶f,~â…�Ÿ{$‹ŸœÑÌYO�¤‚m�ì-�åÿ[ú8 &@A}&>‹�œuÌÍÆŽF¡ðT ÏFû©[\öÕ6,]N§Çƒca²ƒ¯·a¹sþŽÕü�“ߟ!@.GΙÏéæep��;õÏÇñ°—ã€zuåldÎ -æìûÖ#ÅÆÈi§8öLŠ“?n7ž3~w<^ÏDÿ§?8‹˜xùZv1ÏkÖûL -‘k·å¯�ýiOÇ!µŠê«Æø”Kƒ×£høm¸'?�gÁ�ˇ϶ážýK½oÞŸœ÷Ÿ�þO¶añ\zœÅ|39ëøR–6_Šß¥È‡‡,“ °,úýøãýÉyO~¹#ÿXxd!‘ˇsñr¿4ßçuYXœêýó;åjïóF¿&ïU^[ÒŸû’qÀ²ŠëÅGãîü9Óx´ŸÎBbܰl}œAì;ù�;—Ÿíýsùò¼mßälÃ=ÇðÎŒC–AÀx?þZ9û˜ÅǸyÛ†e“þY€\‰þã³ÍÇ�ünÚä xwŒCv›€ë¾Ù�ùlä·ŸqÀn@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@ [^|î‘Cñ2‹v¨·Ñfoó‡ŸxaómúïØx÷ŒCv“€,"ŽÄ˱IËŸÇbb#Új¶è·Ú�­,ôÏdm}Òo= -�kKþS`ß2Øm€â¢H¸#^NF»'Ú½ýý�m(<®F»íÍh¯G{« …Çñhw÷þù~¥÷]‹v>Ú…hã³/Eñ±¶Ì¿ö#ã€e…Ááx¹+ÚýÑŒö]ÑîkCá‘r&1‹Ž×¢îïõkìíd?—³Œoõ¾g£½m%~ÇyÅÜšqÀ²j;چĢ}x>ŸÿÆ­:Îf³¿Ü†ï�ýÿ‡¢ÿ³;ô{&^Nõ~éjW-C†[2X -@Q}ó°¼o8—¿7ÚCïpI.QÎÇœiü®�ŠŽÇŸÎ×(@oÃläåޮܞ9Æ!Ë$¨+7 Ëû†óþá¢`ø'[g³ÿÒ†%Ç—Úpq.%ÎeÄ×zÿÓmXrÜzÿçÛPXäùcñ9�öSgúõoD»…Κ]Éá&Æ!K#¨+¿òãœI<=9žIn$–»Ž¯÷–ïs™rÎTÞÅŧ¶:Îf_lÃ}ÆçÚ°ûøÉ8öù8ÿXÎ@Æû'Û° 9û¼¹”¿ -ö〥ԕ…Ä�½�˜Ï{†�ô6žËû“õ÷wMúæ.㯴af2gß׆ÙÉщþGûõ×ï?~›ç�ÃAµÙÛ|2 ¿§ã€Zõâ{¥·±ÈžÏç?<í?›Í>׆™Ã,JÊÝÆsiñËýç¼?ù�Éù£ý³óºëEþÛ<ïª,Ìs5[Œ�Õ~lÏÆ!õÈ Ã~zòþÏïpþSQ|üëÖï/žœÊ%ÊYÈ\ì?¯öc£Ãmçâ?g/³€ÉG�åÒ眭pP�ÅÞ£Ÿüëm˜µÏñrý¿ùeŽCjÔ5%×w�ââ_öcyq§¢èø;y.^"Îÿ~»ñX±éçlNÞO�Kü·ô•99>óüÑÞÓ†àŽ>‚,Ø×ÚPüçf~ã2üq¼,uP— ®,r¦ðõ((þ^îÎcãÌaéï�s¿EÇ�öcYŒÌ>gzÿb‘1o7#Ù'‹ýÓñ¹_úvÿØobL}´ öåXØ«q@A€Ú²È骃 ýuü9g'ó±d¹qØÝ“þ‹EG~�›ô9Ö¶·\kÛg:�›‡,… ¶üÈ¥ÄÇ{ËeÇ›íÆòâéLdÊG‘M‹�ñyäY¬ä¬c+'úçgN‹�ÍÞÿÜl6ûXs ßâ-çúÏ9Æ 9—=(HP×x?~>Oüßå�(ÈŸiÃFbYHdAžõM7[|†xÎ8ænã9C™÷ŸnÛw'¿Ò[ ›ù賟{$ß_Šö�6#¹!šM9ÈvÚ0Ç@Ž…_K‡·ñï`ŸÔ–÷õY÷(@žŽâã7ÛP¬¤;ãØ£ù&ŽÿJ¼œßçŽåÑ‹÷_ˆC§úç�cï}žmC¡“ÅJÞã¼5cùð/l¼øÜ#YüäŒf>¾Ìc©`Ûc{ËcYü/}P“ ®qó±ËQ$|2 -†_΃ñú“·èÿÕ6,]N§Çƒca²ƒ¯·a¹óÖãÎrö<ÑC€\Žœ3¢ÓÍËà wêŸ÷Õ0ÓM—>¨GPÐd)~. ÎÙÁ—£øø…(">³Ø·/G~%Ú·Ï¿;Ž?¯gr¶r‡kžŠ—¯E{µ_³¾Ó¿¡¿½vþ$Øw¾Æ!µêÊåŹ,xÜ|ïj O¶á±cãsÊs‰~ΞmÃ=û—úµÙ'‹–óýšý3®õÏÌYÇ—¢½‘×D¡£È‡�‡,� ¨>û˜Kð³ È"$‹Šœ)Ì�Äòûa|YÞoœË‡sñr¿übEÞw|ÇäšËýø…~íÚrþ"ØŒC–IPXÎFñ‘³‹¹48g ³ÉMùr'ñy?>nX¶>Î öeËY`dq‘³’G'×L79ÛpÏ1¼=ã€e× ƒµ(&ÆÙÇqS¾m–-\“È•¸f|¶ù;^ÜšqÀ2Øò­lÊg#?¸½ŒCv“ -@(@  €VZ›íõ¿ØeV@(@  €PÀJ›íõ?ØmV@(@ €{ÀÁg €P€ -@(`¥5€ƒÎ -(@  €P€ -Xi³½þ'»Í -(@ °b@8ø¬€P€ -@(@ €•Öf{ýov™P€ -@(@ €O€ƒÏ -(@  €P€ -X™íõ¿ØuV@(@ €•Öl�P€ -@(@ °Òf{ýO`?ú¿¿ú‡â%¿Eõ¶ÙÛüßøƒÍ½ü·AÆ!ß +¸I/*·¡ ]�‚âZ?w$Ú±IËdm=ÚjôYÍ÷Ù¹ÿr88ŒCn7ÛDÑ�GÇÛð=‘- ‰,(²°8íd´{¢Ý;éw5ÚZ´óÑ.D»ý/Eñ±¶ô?ö9ã€Ý àº^tÜít -‹»Û0«x¾·,<îŒv_´‡¢=؆"$¯ËYÆ·¢½íl´W£­ÄgžW|À»g°[l™÷·¡ ø®h§æóù¯Ïf³Š÷Ò†ÂâD´÷GûSqîÙÅω¾Ïäum(FÒÕøì«–!Ã;3ØMÆ{�s qÎ(fQñ§£=…ÅÏö.ß݆™Å\’œEÅwïTt¤8þt¾Fòx¿æroWvóo€ýÎ8`·­xáŽ6ï�ö‘hßÄ?šœOî'ÎûŽó~ãÇQ`<߆Âb«0‰ëí§Î´a¹òym7k±+9¼ã€]e@q_ùÕÈ�Äóþá,(r¹ñ‡ŠŽtWoù½qoœ*FÑñÅ6Üg|® »�ŸŒcŸ�ó�å d¼² Möys)ìCÆ!Ë (ì+Û7ËÙć&EÅÿŽ÷¦wÍï‹cýý�“�ÈÙÈWÚ°ÑXÎ*¾¯ K˜G'zÿœ±ÌåÍ×ï?þÊÍÏ/‡ƒn³·ùt~/Ç!µŠúÊ�û�³èx  K…ÏLºL‹„,PÆâãŽÉñÜŒ,—¿Ü¾£Ö( Ž#máYæ}¶súüò#MÀÁ–…ùFë�ò‹1°ú‘OüÁÆ^ŽCêÔ5.9Îû�?íÃóùü“yb6›ý¯¶ý;"ûæ b#ÓÂ#Ÿ9žÍÅþój?6:Üv.þs¶3ov_ÿ7oB®±øÏ{ôs þëÑ.ÄXÈŸó¿ù¥�CjÔgs1‹ðœmüž(:þqž‹¢ã´áûaú‘JÎ2®·K�Gã²æ6y�Kü§¿7g#ÇÇœ}  ›åçgAs¸ÁÁ“ûZŠÿ×Ú�eø9^rœ-uP×Êð�@1ù?þYˆgAqßä‘aÿ³ GãÓ{ˆsyr0y¯ñ‘…ÏšÞÿXdä†d‹ÅÈ¡þù§ã÷~éÛú+`ŠqöÑ6lØ—cmÆ¡ÿïP•uÝT,DòçvêÇÿb¾Faò›mû,ýx?òÝýçcmûw˵vc¦¸™qÀÒêÊ{„s6ñâ;u\¸fZDŒ›—åçd“�0;19ŸK•óÞçiñ±ÙûŸ‹BæcÍ-|‹·œë?çXØ«q@A€šrIp¹”øå(ļ …x>+üÞþþþq&2Îÿç6ì0ž›—�|NÎ8ænã¹1Y®+Î"äžÉù+½åïÚüÈ'¾¼ù•_ýþ|)Ú7ÚPŒägÚ�ƒl§Ms ¬ösK‡»ñ°? -ê…xYxdÑ�ÅAÎÂgá�›ó�éÇFùŒñ?nãƎF!òl>§<Úcñþ m(Xröþxûx^�}ÚP¨dÁ“¿kÞ÷Füî,~r374ó@*ØöÀÞrF>ÇAþÿ±¥ŽCjÕ ñ, -Æ•ã=ÄYxŒÅÂè�¢}µÏb}c<…Æ£·ø_oÃrçüìÕ ~w?ãcÐÿT0îÔ?ŸŒ‡Í½‡Ô#(l‡Bü|få³°˜>Gü�Ú°ô8‹ˆüîxk6›=¯gÆ�˧âÜSñòµh¯¶áÞæõ~÷Xˆ\»]ìG{9¨EPÜ´ïEHÊûˆ7úãÊRnZ–ˈ³(ÉïŽÜl,ûž�>O¶añÃýXÎNæ¬ãKmXª|)~‡"Þ†qÀ2¬x,£�üÃ/o~å_]ß ‹…sýTyßþ8C¹Úßga‘÷çþY�\�ÏÏ8¿u­ïx׌Cv‹lÅÇFYdäráñÞüœ�\ÏsùCœÏsY`dqq¶ ;’gy‘ŒM79ÛÈbf¹ìÆ!»AÀMzñqmáØæä}ž»}Æg›�ùÝØäLÁßã€ÛMÀŽÞMá0éãÞbØÆ!·“ -@+6„€ƒÏ -(@  €P€ -@(@  €VÚl¯ÿ Àn³ -@(@ €€ƒÏ -(@  €P€ -@(@  €VÚl¯ÿ Àn³ -@(@ °â)€pðY  €P€ -@(@  €VÚl¯ÿ Àn³ -@(@ °â)€pðY  €P€ -@(@  €VÚl¯ÿ |'ø?ÿâûÅK~+êm³·ù÷þÌ—7¿ÝþÀ;3ØMV× ˆ#ÑŽMZóh«Ù¢O¾ndAñý×'ý×£ÿµeÿ=°‡,ƒ °(ÇËñh§¢Ýít´;ÛPXlD»í\´ ÑÎGÿ,,V&ýïí×籫ÑÖ²_ï1ú_Šâcm™ì7Æ!Ë"(ªÏ fÑp´÷F{(ÚÑN¶3‰oF{5ÚKÑîˆöV½¯÷°÷ÏæZ?ÿZ´³ýº•ø=ç°3ã€eÔ•³‹Y4dñÁhžÏçŸYì4›Í>݆åÅÙÿr=í#ÑÿÙú?Ó†™ÉÃýÐÕ(>®Z† ;2X@A}Öñh–gáñþ�ŠŽÇ?ÅÄ?ë?æ2䜭|h§¢£÷:_ãšÇÛ0y¹·+·õ�€}Î8`Ùueñ‘3ŠÇ£Xøåñ` ÿ¶ EÉÑ8þ×óX¼þÓ8þ©6*yÍ™IÿçÛPXd‘q,ú>ÚOeŸ¼ù�h¢ØY³+9ÜÄ8`iµ�†m‰""gsÉp÷ÄÏÿ) -‰¿ÚOçfcY¬œˆcŸìý¿Ø†ûŒsF2ïU>Ç>çËÈxÿd–!gŸ7—õGÁ>c°+³½þ°W²èÈÍÂ^‰á‡âõî6'Ú° YÎ>žœôÏ{ŽsÙñ�“c¹Ëø+mØh,gß×ûŒNôþùY‡fÃìä–?¼ùùåpÐmö6ÿ¾³ð{:¨Å -€‚²øøÃáQbãl`>jì®Þ²xÈÇŠ™Ïç-OFaòÛm˜‘ÌâØä£²pÉ¥Å/÷Ÿsgò&ç³ÿ‘~íõ"?~÷âóË�4![æ9ÎV³ÅÈ×,Ä÷lP� ¨ïû™/oD’÷ ç d¾fÑ‘�!»/7ûEÑñßúÛ,*Vúë(¯ÍBæbÿyµþÿìÝ{¬eçuöïÌÜ‡ä ‡¯)RTd§F$#.à•7IQ[Tà mb°¶‘D‘Cµc9V „z!.Ë­�ü•@²Ù€”)P HÇAÝÀ©\ ªÀrþJˆÔcøš‡Ã™{çÞÓµf{îž«;$EÎ9‡sÖï,ísöùö™s/øéܵ¾Çnû'ÿùoåTæÜø,G7s´R€u5&ÿÙÏ2Ù± £öçÛî}Kí‡Ô¤PÛ8™ J&{\IÈ_Ìc}Ìuʇö¼Ç8­¹MŽ£qŠÿ¼»ëy&9yßó‡#îiC šƒ ÖOö³ì;™ü¿Ð†>1ö½WÛ’û!u)Ô6�Nœ‘ˆ�‰$ãgãø}ïŠÄãCÙ0Ž=ι ÉÄÔt ÿÞ$#ßoo2’m2Ù?ïùô�úAàfýè‘6lØ7ÝcÙý€‚ŠêSñsê}޾çÆc¹IØ8 ?§&?Ÿç"ÙøR$?Ó/Û;ê˜ß#Gúõ­?ž~·l÷�|Àwÿq£?ý€…R(h2?“Žœ‚Ÿ÷ -w ÏÑÂqr³Çhº®¸õkN´aJr¾gnZvÛäõ¼6×>O“��Þþt$5�6KX{—œn»·ý[U?  €ºò; “„æóùÿ‘'"!ÿd6"ËD!G"3™N5ÎÉùäyŽ8žìm³]&!Ç'¯¿ÚãÊúæÉÝÆ‘ÍLFrC4›²ÎöÛ0û@ö…ñ–Kë‡7öGàf¢PÛ5»‰GòñH>þI’•L$n×ÇùßhÃÈe>þõ8ÿs�ÇãÏÅ©;Û0ztÒþ©6$:™ðä†fW–~÷�L`ÆûŸ» \sÀy.g,½P“@]™|dBp!’„�FÂð™<Ç¿s�öÿ©õÄ£ #Œ­·ì:í¿Ý†éÎy»³‹9ú?¾Ð‹ãíϦ›—Á:wêŸ÷Ù0Ú -û!õ(4™ŠŸÓ‚stð›‘|üƒH">½·mœÿT¾ñLÛ½Ïøqþ#m˜¶üä>×|,߈8Õ¯ÙÜÛf’ˆl߀ n:o‡~@- -uåôâœâ˜Iý÷E<q2âXÛý~Èdâ\Ä©ˆoE¼Ü†ƼîþÙ>˜eÌ$å…ˆçú5ñ|ÀþôC–I ®]̤áîˆwG|ÿ|>ÿô~ g³Ù'âp{Ä‹mX_|GÄŸˆö¿¼OÛOµa$sœ¾Îâ4• IDAT|9’�˦!þôC–fãÊj1Jùw¿reÔñpÄ­mH<Þy½¤#ÅkŸˆ„â©6Œ(æhäñëµ�óOæ1Ú¤ £‘®Ä¬½zc -¸¹é‡,›ueò‘‡�dá3ãÉHþi†™¼=^ûé<Ç�Åk¿Ñ†õÈwLÚ± ÉE^s$Ú=Ö_z  ë�_Š8ÉÎ¥?ýKv%‡=ôC–F ¶qð+úãÜ`,“ˆœj|OœûR$?Ó›ä(åv<ÿ›½ýçÛ0™›“åšäcqî³ñúã9�ŸhÃ4älsnI?ÜlôC–B ®L:r³°oE‚ð—Ú0 9GsŠpŽ:ÞÓ†uÆ·N®9Ôvw&O¹ËxnJvª·}G6&ÝÖ¯ÏiÎ9ÒyuýqŸþ¼÷~ç°ÎvzÌ'£ð+í‡Ô¢PP&‘€ç½ÂÇÑÀL6Æ[ˆ¥L2QÈÛ‹mM.Ýi×&뙸äÔâoöç·´aóQ&™¨œ^ÿöÞû—jЬ·ì;Ù—.fDÈc&â+ë‡Ô³a@€š~è—¾¾õµ_y_®o1–‰Ç¸!Y®-ÎÄüÖù|þw³ýl6ûÍÞv:™Ï3‘y¹?¿Øv“—t°M’ŽüÎùÚ�üç´æ¼yNeÎÐs´R€u5&ÿÙß²¯å.þ9j?Nó_z? &3 -ëE€q£±LÂsäðD6Ëû’›4¾íÿ½1Nkn“ãhœâÅ×vw=¿½¿ÿÃm˜â|¬ÿÛ¬Ÿìc¹Æ?üÚî4üýuÙý€º&_ êÁEå@Ž2æˆ|&E<qß|>ÿ¥+ f³¼¥XŽ.æ¨ãÞ$}º†o’‘’íMF²Í•'Þÿéô3ÀM#úÓ#mذ¯÷—Ùø?Kê‡þæ¨Ê €Â¾ö+ïÍ$"Gãs*~nöîŒH8þáØ¦ïHþí6LSÎ�ÄE~�™œ;Ò®ýnÙîá¶cpú!˲ûå  PÊמzoŽætãL:Þñ'3ò>ãc›H:þqÖ)gŒëŒ/MÞ&¯?ÑÏ�›•Ý6y=§8çÚçiò±ÓÛŸŽ÷´YÀúÛ»àtž}!ÿ›Ï„}yýÐß|e™PW®7ÎÄû¾6$ï�¤ãò…H8þE¦gª0®Ù¿Ð¯›îFž#Ž¹Ûø­½m&!Ç'¯¿Ú#��úØï|í©÷æãLdr-s&@¹!šMYgûm8&óù·ØRûá ÿé¸i(ÔGÿ3¡ÈQÂLÞ5I:þMFã39ÉÄ"G&3iÈïŒy¼m>í?ñx<þ\¦$çHæÑ8÷¡þ>Oµ!Ñ9ׯËuÈí‡>öÇ[ñï�ÉOÞ¾Ìm©àšÛöÈsYüZz? &€ºÆÍøòcOÆã?{½ "™øÛmH$NÚ?v�æ¹^9§;çíÎ.æèÿøB/Œ·?›n^ëlÜ©ÞgÃŒÿí¯¤P�@mã­ÈÞ¨¹ÏQû3‘„ä}ÉOFâñäÞFñZ®_þFÄ©6Laþ®c’ˆl¯ÖÌÊú!µl\ÝffG€bÆ)øß‰D!§ çäœj|xòz& ãæe9�ø;m˜F<ÏŵO´a -sŽFn÷ó9êølÄKçèø÷’|ØŸ~ÀÒ˜PP$;_ûŸþT&ã4âL22YÈâPo6NWžn^6î^žrZqnä—ëŽs -óFŸl› GN9>ӮݭèôC–M ¨H>¶"ù7ãËéÁ×ÛŒoïæeãNâù’‰Èsm­ÌÑÈy»v“³­LrþÃÀMJ?`™6®Nü· œÿüü÷[ÿß/ÿ©7²ßÕÍËâš1‘ÈkÇiÉãµûµ^ƒ~À²˜PÜ$Aøž×¿•k�]ú!Ë L -ÖÀº2 -P€v VÀÚ2 -ظ:òo¬-w€6¤ý°þì(@ -PÀnÀf°¶Ì€Ü -0 -P€l˜lø€õç.P€%P€à.P€P€ ¸ °!í€õg à6€P€P€à.P€°$ø‰ï;ІŠû�•íô˜ÿð'þÃΪ? T KÉÿ¡8™D>¯ZÈ„+âbFün.þð'þÃÖŠ?¬=w€ûÃ�_Iþo�8qwıˆ£­f`Lþ/Dœ‹x1âì~âûÎÿð'`‘Ì€Šä?üÃm(ÜñpÄ=m(ÜqpuŸn%¶#.µ!ù¡ �<·¿«íþ¤å°(þ`á2ÉÍdÿÄ|>zÕæíd6›=‡Ó­Ï„ðw ,Ž»o#þ€E±/§µç´÷Ó³ÙìÑf Àt ÀéþÜÔX0X ?óÉÿ¸óo?þžÍxx>âù6$º¹ñ�Mw7ÌßÍfþ®VùÁ`ݹ ,ØŸùÔÜú·O¾'“Ü˯4·¼æ6€ù;ZíG€õg,A/äô÷ù>Ðê&ÿ£�óøÝù€%P€%™$ºÛ+ý @I -P€Û@f@Æý`ý¹ `  ¸ ` ¸ ``@(`ãjÚ/ÿ€µe ` `à6€P€%P€%P€%P€P€°quæ¿%°¶Ì€ w€Ì€ K 3 ¾Ëÿû÷:0}þ_ü£gv®Ó&ç�è±Óc¾_{à{£p£)p�H(Åáp’‰´ç6#™Øê¯çùlsd™€Ì#6#.F›‹ù8®Ù^öç‡u °W—þÛ ´?øÅ+ Å-·GÜÖ†„"G_�8ÉÄùþ<Ïßq<⮈£m((_ޏq&âlÄËyÍûõ™KKþQথ°Hf0&·¶!‘¸'âîˆc9Úx*â¹¶;µ8“Žû"Œ¸¿·;‘£Œ¯D¼ÐÛçuñÞg$ðúôCM ¸H 2iÈÑÃL:2‘xOÄóùüWóõÙlö×Ú0­x«_’íŠø�hóÔÞ÷‹öŸjCrr°ŸºÿÆåH>LC†ëÐX·(ì>zeÄqœJœ£‰™tü@FG™ŒähâËmX�|2â]û%)Î?™ÇH@>Ò†ÑÈ Wbve -3°‡~À²˜P[Žfâ‘k�ßñž1q˜È©Å¹ùŽ6l:–S“ï_Œã‹mH.2É8×?Ö_z  ë�_Š8IÎ¥÷Æ®ä°ý€¥P¨-Gó» �;#iøô>mrC²Ü�|LPîŽvË"éø|ÖŸnÃôäcqî³ñúã™ÀÄã'Ú0ª™mÎ-ü§�›“~ÀRX@~ŒD!G3™øí8ÜÏ?Ð_““1ù¸urmî2þ­6l4–£Š9zytòúm½ýp;³Y»ºþø~á»î_ënÜÀoþþ_û®Qø•ôCj1€¼Wø™H8~<Žßñîví÷Ãå~ÌiÊã½ÉG¹ÛxN-þfž£”''¯î×äµW“üHþ÷Þ¿üPS`½ebžøe»}àâûí™­ÉëKï‡Ô£P[&™xäÔáL2qÈ‘Âc“6™¤dò’‰ÃÁ¶»«øôú—ûó‹m7Qi“ö{“ÿ\Ëœ÷/os–£•Ь«1ùÏ5ú9ÿÅ–ëñá¡ómX³¿ô~@M–öþÿù™í?ø{e²0&™täæbÓuÂóÉãqÚþÔ8­¹MŽ£qŠÿ}Ú&8Y¸7âáþïe¢“IÏÁë'“üKmèW¹“ÿ�~n3âÕe÷CóÔµá; ¶‰äã«ï¡LNr42Gs”òÒuš_Y¿¼çÜt ÿÞÆyûîd$Ûd²b>Ÿ?ýf?7ܬf³Ù#mí¿Ò_òo±eöCûÔe ™|ìDò‘S†3rdror‘vúkÓ Äò{$×ðßÑŸi×~·ŒíÝv ^‡~À¢YÀ1&¹ysr>×îŸhÃHeŽ:ÞÕ†ÇG›ýšiò±ÓÛŸžÍf�6KX{—œîχ>ñÆÿ»1ýÐß|e™À^c’1G3‰ÈuʯL^ËÇÜm<×,gZ‘IÈñÉë¯öÈkw~äyfç«?ÿP>ÎiÎÏ÷+7D³ ël¿M³lfŸx�kÒßâÏÀML€©1Q™®=ÎÇcÒ‘¯½0›Í>5ŸÏŸŒx<.ÎÝÙ†Ñû£qîCyQœª ‰Î¹~í•éÌ‘ðl}õç¯ì~žÓœ3‰q@*¸æ6€Ù^§íÂú!5YÀhï(å(�“¥e¼s|1�Ç®ó~ßnÃtç³-“�_ßéŒÇ[_ý¹‡¶û¿5ݼ ÖÙ¸Sÿ|Úöi³”~@=f0ÊÄ GÇuÊ£||¦ ‰ÇÕû�Ïf³�Äñ��ÜûFñÚÇâð�ˆSýºÍ½m&‰ÈöÞ× °¥öCjQ`”Sƒ3ñÈéÂú­ÊÒé¶»f9§íO÷3Ñî‰6l8v°ŸËÄ%GŸ�x)¯‹d_’oŒ~ÀÂ(pEŽÈõçÊÄ#§ -g¢pº¿4Þ›üB??Þ¦,Ÿgb‘Ó�sÿ�=çó}δëßËØC?`‘ìÀU?òÏl}õ¿¿²A_N×åçHãf¾ÖŸ_Š6c‚‘ÉÅs‡ÛðM2Ž^ޱ×Ys ßý€E1€kôäc{Ϲ�=ÏóõW£Ýxoóq#¿ÝMÎ$ð¦é‡,‚ßå�& “vÖà ¦p£Y\-Èÿ`}Y(@ -PÀî6€µe X˜(@–@f@ -P€%P€P€°[°Ö–PÀî&€«üÀB™Ø -° -° -° -° -° -° -0 -°` ` ` ` ` ,É¿zü¡m(¹èQÙN�ùýÙgvVýa K` ~÷ñ‡ÅáÈ$òyÕ"@&ü[3þÕã]ü±Ï>³µâÏkÏX°ß}ìJò{Äñˆ»#ŽEm5‹cò!â\Ä‹g÷ñ‡ÎÿØç`‘,€Šä?üÃm(ÜñpÄ=m(ÜqpuŸn%¶#.µ!ù¡ �<·¿«íûœå°(–Àâe’›Éþ‰ù|þôª?ÌÛÉl6{$§[Ÿ áïX3 {Àâå´öœö~z6›=Ú,˜.8ÝŸSÿý= c ,Ð~ó™�ßù[mÆÃóÏ·!ÑÍ�ïl¸» `þn6ówµÊëÎX°Hl·~ço=”IîåˆWšÛ^sÀŒü­ö#Àú³–àŸfëw~ö¡œþž#ßZÝä´Óc¿#ÿ°–À’<²›èn¯ôƒ%YX˜Ø -° -° -° -0 -P€v—XkË (@ -° -0 -P€,€Ì€ (@ -ØÝp•ŸX(3 (À(À (@ -P€ì˜(@–@f@ -P€%P€P€` ` X˜(@ -PÀÆÿóËï]õglã¯ü—ïXõgÌ(@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -ؘ­ú g (@ -P€ (@ -PÀÆlÕŸX83`Iþ·ß?u Y{?У²�ó¿ú£'wVýa X‚HþÅáÈ$òyÕ"@&ü[3âwsñ¯þèÉ­&X{ -°`=ù¿=âxÄÝÇ"޶šE€1ù¿q.âň³ñ;:¯‹¥ Ô§ýnCàÞˆ‡#îiCà–ˆƒ«ût+±q© Éÿ m(€ä¹Íø]m[‹£‹—In&û'æóùÓ«þ0o'³Ùì‘8œnõfBÀÒ)@ -°x9­=§½ŸžÍf�6K¦KN÷ç¦þÀ‚mÌVý `�ýä�žÜùç¿j3ž�x¾ ‰nn|gÀÝMów³ù“ÖÿÀB™ ‰íÖ?ÿýS™ä^Žx¥¹ à5·ÌøIw€…S€%èE€œþž#ßZÝä´Ócnä–C–d’èn¯ôƒ%)@ -P€ (@³U`áÌ€ (@ -P€ (@ -ؘ­ú g°ÑL€µg (@ -P€ (@³U`á6š -¬=K (@ -P€ (@€×õ¿þëS¦Ïÿ»?wrç:mòæ²zìô˜ï×xsôGÞ¬�Ùª?okÿì_Ÿ:‡ÃmH"ÒN$›?õçNnõ×ó|¶92‰üz™GlF\Œöóq\³½ìÏëDà­Øh*ìãŸýßW‰["n�¸­ ‰D޾q>�óýyž¿3âxÄ]GÛ0ÃìrÄ¥ˆ3g#^Îk~êÏŸ¼´änzú#7‚%|—žlÜÚ†➈»#ŽEä(㩈çÚî”âL6î‹x0âþÞî`DŽ.¾ñBoŸ×mÄ{Ÿ‘tÀ§?p£(p�H2YÈQÃL62�xOÄóùüWóõÙlö×Ú0�x«_’íŠø�hóÔÞ÷‹öŸjCRr°ŸºÿÆåH:L?†×¡?p#)pUi§ç(b&?ІÑÄQ&!9ŠørÖ!ŸŒx×~ÉFŠóOæ1��´aòB�WóSÀzијÊQÁL8r�ñ;"Þ3& 9¥8×!ßÑ†ÍÆrJòýã‹‘X|± E&GâúÇúK´aýñKg#¹¹ôSÞnäðôGn(¦r1¿2á¸3’…OïÓ&7"Ë]ÈÇÄäîh÷±|!’�Ï·a}ñé6LK>ç>¯?ž‰K<~¢ £™9by!§·ÝÛ”Áº»z+¾7˜l/«?f›soíGàf PLŸV<½?x“‘ü^Èdâ`$9r˜IÄoÇá¾xþ�ÞæÀ¤]&·NÞ>wÿV6Ë÷ÌQË£“×o›Äf?—ïq¨)°Þ²?ä:ý¼ßÅè‡y×ݯ²?ÞÚvo+h€5§PH${ï~¨¿”‰É˜�g¢p.��ã÷G¼»]û}q¹öëO^Ë]ÆsJñ7ûó�<9y=Ÿgr¼¿g&Çú9EÖÕ˜üçTüi± kö³Ïåócò¾ìþx¸_s°é{%lÌVý XŠ/É®Îä{¼�Ø8Zxå^âm1Ì[‚eâ�£†·´Ý$}”ÉI&%™0l»»‰§LFrdóåþübÛMPR&.GúçÈc&#÷ô÷¿eÏ{ÁºÈ‘õìW™üçò—üï<ûBö¥ì—Ù'WÑÇöW’¬¿ ÿo°þ¾ü{§ÆQÆL¼ï�x¸ ‰÷m½Éxðoôc& -9rx¤·›®žO�Ë ¦ÆuÎmrœ¶Ï„#™cóùüé7ýCÁMj6›ýD÷Œì“¹«ÿ*úã¸ô`÷kÍ€:òýL¼O\/ñŽÄä‘6ì žÓ�Ǒܶ|é:ïyeC³}þ�“Ç{ÛÛivûã]+ì�ó¦?”¢À^™\žsúòÞ¤bl·Ý®Ý8lœâG~¤]û]3®…Î)ίD‚óh³€õ·w ÀKýù¡×º¨[dÛ+¡PGþ‘ŸIÇéIâ½wÊñéÞæõ‚1Ù˜nV–r3¿ý=r´ñ®É¿‘r3“ÿsý˜£™/6›²Þönx¶í®ÿ?´Âþ¸Ù¯Q(B €Ÿþ 'w¾ü{§ò�ýÜXìù6ü±Ÿ‰÷tÓ±qwòl“mÇïˆ1¹�£†ã´äW&¯åHãÉþ¾¹¢8“�ã“×Ç(›—û¿ç6€T0½ àfžûrŒ£ú«è�¯ö?kN ˆŸþ '·¾ü{§2™È„#“„½·»8Fo› ù˜´L×çã1ÙÈ×^˜ÍfŸšÏçOF<�?çîlÃtþ£qîCyQœª M®iÎäÿ\Ûݽ\òOããþ±°Êþx®_»ß²ÖŒ@!=‘ÈщŸ&ÞW“œ-097�¶<ÊÇYHo-–£‹wŽ/F‚ñØuþùo·aZsN¾�Ÿ¥Ÿß¾N{Xw;o“þxqòï°ÆŠ™ü¡ÿz‰w¶Ë‘Áqã²Q>Gñ¯Þ|6›}$ŽäÈãÞ7Š×>Ö†[š�ê×mîmé�,ÓÆÌ=_Ø_N ΄#§ è·$K§ÛîÚäqwò” Ì™h÷D6;ØÏeÂ’£�϶a÷óó?ó_�4êßý€·Ì öIÁΗþ¯S™päáLN÷—rÍq&úùË=òy&9ý8oé·±ç|¾Ï™vý{˜ס?p#(p]‘tlEÒ1îB>]Ÿ¼™¯õ痢͘XdRñ\v7Ï9fã¨å[™È,ñG€µ¡?ðV)ðšzÒ±½çÜΞçùú«Ñ.GsŠñ¸¡ÙÕÍÌ$ðÖé�¼ -¼®7š,LÚYS ¢?ðf)@ -P€ lÌf«þÀ¢™(@ -P€ (@ -P€°1›­ú#‹f (@ -P€ (@ -P€°1›­ú#‹¶Ñš -¬;K (@ -P€ (@ -ؘÍVý€EÛhM–á·þå·´á‹÷@�ÊvzÌÿÆ�ß¿³êXKÉÿ¡8™D>¯ZÈ„+âbFün.þ�¿kÅŸ Öž,XOþo�8qwıˆ£­f`Lþ/Dœ‹x1âlüŽÎ+Àb)Àõiÿ‡ÛP¸7âáˆ{ÚP¸%âàê>ÝJlG\jCòÿB - yn3~WÛ–Àâ(Àâe’›Éþ‰ù|þôª?ÌÛÉl6{$§[½™°t -P€,^NkÏiï§g³Ù£Í€é€Óý¹©ÿ°`n‹ó¡¿ç‹ÿòÛ›ñð|ÄómHtsã;›în˜¿›ÍYÿ µÑT`¡>ô�û·¾ø;ßÎ$÷rÄ+Ím¯¹ `FþŽVû‘`ýYKЋ9ý=G¾´ºÉÿh§Ç<~7Fþ` 6š)°úÀc¢»½Ò”d (@ -P€°á°þ6ÜÖŸ%PÀF3ÖžP€ (@ -PÀ†{ÀúÛp@X–ëHݲ IDAT@ÍX{f@ -P€ (@ -P€ (@ -P€ (@ -P€ûúÂWž=‡YÄ�i§ÇüÃ|pçuÚ_·-ð½Ñ¸¸FOE™ÄÁþòvÄÅŒh—Ç­~~oûL<曓¶›‘xl/ëç€u ?p#)pU$™X�¸3âxĉˆÛÚ�P¤L0^‰8q6â|?´·¿«?Îï—Ë—"Îô¶/ÇûŸ�¤ãÒR~¸Éé�Üh -\ÑG3Y¸7⾈#NFk»ß™Dœ‹8ñ­ˆ—Û0²˜×Ýß#Ûgâ’£‹™œ¼ñ\¿f#þ�3’xmú#‹ À(G3Y¸;âÝß?ŸÏ?½_ÃÙlö‰8ÜñbÖßñ'¢ý/ïÓöSmÁ§-_ޤã²éÇðšôGn8ÆÑÆÃ·¶!áxçõ’�¯}"‰§Ú0’˜£�ǯ×>Î?™Çhÿ‘6ŒB^èñê ý!`Mè�,Š£L:rð£‘$|f<‰Â?mC¢�#’·Çk?�çãø±xí7Ú°ùŽIû/¶!¡ÈkŽD»ÇúK´aýñKg#ɹd7r¸.ý€N€©q£°+úÔâÜX,“‡œb|OœûR$?Ó›äèäv<ÿ›½ýçÛ0 -™›’åZäcqî³ñúã9ò�ŸhÃôã\‡|!§·kokëì{½ß²úc¶9w#~@ÞÞйÎýÄÇÇy{°ïDbð—Ú0ý8GsjpŽ6ÞÓ†äåÖÉÛj»;’§Ü]<7#;ÕÛ¾£ ’�n›Äf?w¤¿‡"ë,ûCö§émûÆu÷«ì�yýáþïÙ`Í)IÇÞûƒ�ÉBþáed² IC&™\î¯ßÖŸçmŶ&o¹Ó®MÜs—ñœRüÍþü–6ì\Þ&ÏÇ[”åwP&Çú9EÖÕ˜üçTüiÏÍúrÇþ,‚�ëýWÑ÷ó`Ó÷JP(¢'ÿ9m8“ïœ*œ‰÷8z˜ FN-~¹?Îc&c’žkŠ3A¹u>Ÿÿݼ`6›ýf’éd>¿Ø¯oýñåÉëý}nïÇLFîéŸ%““ƒ ÖO&ô9•?“ÿ\þ’ÿ�g_Èä=ûeöÉUôǃMòPŠ@“]Å3ñÎûŠ?܆Äû¶Þd¼?ø7Ú�$Œë“3)?ц Ãòºc“·}¾íÿ=2®sn“ã(?ÇÁþ¾Ç"yyúMÿPp“Šdý'Ú�ügdŸ|°­¦?ŽK(B ŽüCÿJq½Ä;“GÚ0ò˜S�sd2“�‡Ú� Ü×ýRo—·ËQÅmÜ;j¿w-óÔ4�ÊÆþx× -ûc¾¯þPˆS™dä(d&&92™ÉÆ»#Ñø‡cƒ¾ù·Û°ž9w¿crý8ÅüÁ·¾ð•gÇ‘ÂaœÞvlÜa<„!¼’lü›6LAÎë2¡¸{Ò>“™ Ñæ3Ñþ£�Çãϵa*rNç?ç>Ôßç©6$9gÚ�¼œk»·-“üSÁ¸Ƽ?‹«ì�çúuãg`�)Ò‹9Ú˜£…{7ËQÄL(E’ðäxM<þ³×{¿H"þvˆƒ“ö�]§y®SÎõÏ9ýùB~–~~ûÍý4pÓÛy›ôÇ‹9Kè-üÜ$Š™ü¡5ñžÜ&0§_üÞ.gäèå™H>ò~ä'§ÉÊ(^ËuËyK³Smýß|sŸÖ‹þÀ2)0—|'„œ&œk‡sòðäõLÆÝÌsúðwÚ� ÌÆsqím˜¶œ£�Ûý|Ž6>Û†ÝÏÏGÒcÔ^›þÀ §Àt“Àqúp&™$dâ0]—¼w7óÜÌoܬ,§çƒ¹Þ8×(oô÷ɶ™häTã3íÚ]Ê�=ôGE€+öl˜Ó‚¯·;ÿt7óéŽæù�’ Èsm¥ÌQÈù¤]Æ–µÆðúôGA€«^c“À½®îf>I òÚq:òxí~í€7@àFSàûmJ¶Œk�ï¦?p#)@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -°$_øÊ³â0‹8У²�óðÁ�U¨@– ’ÿCq82‰|^µ� ÿVÄÅŒøÝ\üðÜZñg€µ§ Ö“ÿÛ#ŽGÜq,âh«Y“ÿ ç"^Œ8¿£óаX -°@}Úÿá6î�x8âž6n‰8¸ºO·Û—Ú�ü¿Ð†HžÛŒßÕ¶å°8 -°x™äf²b>Ÿ?½êóv2›Í‰ÃéVo&,� ‹—ÓÚsÚûéÙlöh³`ºàtnê?,˜,P®iÿÂWžÝŒ‡ç#žoC¢›ßÙpwÀüÝlZÿ‹¥ –»Ûç.÷ñðrÄ+Ím¯¹ `†;Àâ)Àô"@NÏ‘ï­nò?Úé17òË¡K2It·WúA€’ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€Ø×¾òì�8Ì"ôØé1ÿðÜy«í�7NàFPà=q8qd™HÌ#.fD›Ÿzo£Ùlö‰6L+Îöúñ�ˆ?íŸÚ§ý§Ú0"y°ŸºIÇeÓ�á5é�Üp -Œ£�‡Û0½8Žwî—l¤8ÿ‰H">ÙŸæôã¥|p¿d£·2�qÍGÚ0 -y¡Ç«7ô‡€5¡?°( -Œ2éȑģ‘$|f<‰Âoµ!9çÿJž‹ãÇãü/¶!AÉk˜´ÿbŠL.ŽDÛÇúKÙ&׿q6’œKv#‡ëÒ¸á˜7 -»"’‡E̩™T�çÿ{$ÿM97Ë$å¶8÷ÑÞþómX_œ#‘¹FùXœûl¼þxŽ<Æã'Ú0ý8×!_È©Çm÷6e°î¾×[ñ-«?f›s7ä'àmM ˜}îÞ&�óö`߉Äà/ÇñŽ6$·µaó±u<6y«\kœÓ�o�œËÝſՆ Æ2ÁyGo3ºm›ýܸ~Y€u–ý!wîŸÞºo\w¿Êþxk¯“ÏÀšR($’޽÷?Ô_Ê?ü¯ŒL¶!iÈä<“ƒÛÛ�4äíÄÍçóÿ6GBòÛm‰<Üßg”»Œç”âoöç¹#ùÉÉëù<�­Ìï L>ŽõsЬ«1ùÏ©ø9ÒþbÄËmègãzÿUôÇÃýß<Øô=€ŠèÉ&™|çÆb™x�£…¹Øù6$%¯öÈÇy ²»s£±ñ}"Ùø?ûÃL&6úq”S–/ök[|yòz¶?Ò?G3¹§–|Ÿƒ ÖO&ô9•?“ÿ\þ’ÿ�g_È¢@öËì“«è�›ä €&»Šgâ�IÄÃmH¼oëMÆûƒçýÄǤa§/Nß+’�¿˜Ç>ê˜IÍ¡v­q�s›Gù92áÈ$åX¼×ÓoñGƒ›Nô�ŸhCòŸ‘}òÁ¶šþ8.= €:òýL¼O\/ñîk�3‰¸ºYYÄ™8ÿ³qü¾ˆwŵʶqüëqþËmH"öþ;ÓµÌSÓd*ûã]+ì�ó¦?”¢ÀTNËÏ]Á31ÉÄ`Lr:òó·F’ñ¥H6~¦·ß;Ú8Nñ¿cò~Óïšq-tNi~%ÞëÑf ëoÚþ£õ{-º?n·Ýý(@ Žü#?“ŽÓ“Ä{œrœÓŠ3©§$ß׆‘ÄLr”ðH?n¶ÝÝûÓt=qÊÍüNô'•»&ÿÆøïdò®sS´›MYo{7<Ûv×ÿZaÜìÿ†"@ -ä=Ç¿ð•gó�ýqä0ÿØÏÄ{Üt,_Ë„"’{æóùoåÉHL>Ù†¤e»·ÍÄc:Åø|¿n”#�'{Ûl—ÉÇñÉëc”÷%¹·¤‚ém7ûóÜ—#“öì_«è�ãƒãç`Í)ñá>¸õ…¯<› B&¹ÉØô¶cc2’£�wŽ×DâññH:þI—L n×ÇùßhC"Ÿ�=Îÿ\Äãñøsý=r:ÿÑIû§Ú�äœiCò®];­ÖÝt-‹«ì�çúç˜XS -…ô"@Žæ(âÞÍÁŽöã�‘|4…Ïä qü;×y»ÿÔzÂц‘ÅÖÛ?v�ößnÃúçœþ|!?K?¿ýæ~¸éí¼MúãÅœ%ô~n -ÅLþп&ñŽD$Ïç(d.8IÇ?ˆäáÓ{¯�óŸŠÃ·"ži»÷¿#Î$ŽÄ5OîsÍÇâð�ˆSýšÍ½m "ý€eR`”#ò9xÜ�ÿr$ -O´a²‰Ìe¼?ùsmHLÎ÷k³M®%>Ó¯¹­¿ÇvÏmÌ{šçîçç#é1ê¯Mà†SàŠ¾Q`NEÎD"“�L&r„07Ëï‹Ü; wÏ5ü9m8G/ôË_îí3¡o[6^s¡Ÿ?Û¯½´œŸn^ú#‹ ÀU9IGŽ*æ”à)ÌäcÜi|¼íØÅ›ãÈa¿Ã@&™TähäáÉ5'±e­1¼1ú#7š×è Á¥H"ÆQÇqs²«;˜ïMzâñj\“£‰çÞÈ5ÀëÓ¸‘Ø×õ6'»ÑׯOàFP€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -P€ (@ -PþÿöîîÇ®+Oó*IQ¤D‰T«ÕÒp¦Ç31’ü¹ ßÄJ:ÉÅ�8†Ó–!ÙÖÀ2Æ3˜Æ8# 4˜‰ 0Fì Û­4 Çv#¹H€€WAr�ÿ!p÷°Õ#uKâ—øQü¨¬—{mr×QIIE–x~Ï,œ:{¯}ª -àBñ÷®µ× -@(@  €P€ -@(@Øï�=w¨¿lôvh´Û£m¿öê™Ûù³A5Æ#»ð@£˜ØlS!1»Ù ‰[ãܑގ-Z -�íÞ¶z»Öû\Ë×éÿxrX?Æ#_”€ûêÅB -�ÇÛôw#-D -‰G{;ÙÛs½�^ô»ÙÛõÞÎ÷v¡·K½ÿå^t\쿬 ã€/CÀžF±ñLo§ÚTP<Û¦ÙÄó£¥àxº·z;ÓÛËm*>r]f?íí½}ØÛ½îŸy^ÑŸŸñÀ—%`W‹bãÅ6¿ÜÛóÛÛÛÿxccã?ë_ÿE› -нýRoÿv?÷îêçô¾ïäº6!q³öMË�áá�ìŸ1î#ÎÒáÌ$¦˜øwzûK½ øÝÑåWÚ4£˜¥È)&~e·b#úñ·óÚ �7Ç5WF»ú(XÆ#ûEÀnžjS!ñõÞþroÿn/~kqþkmº�8÷ç>ã—ç½°øa› -Š;I¿îõqê•6-Sþ8×ö¢æºÝÈá¡�ì ;ôB ;ˆç¾áYfüë+ÅF<3ZþŽœîç¿›ƒ½ØøA›î/þ¤M»ŽŸìǾ×Ï¿‘™Çþõ[m*drò•,=n÷Sëîs?Šï1�Çô¹ø¥;¾òÅìò|𘠓ü]˜7Ë,â™E1ñÿö¯ÿ½Ñ?ýŽ�¯Ÿ^||f!ßoÓcù¼o´iéòìÄ¢m�cùœ#MÀzËx¸ÑîíØŸ×ù¾ûƒ�ét|oû¬9@!c6qù|ð#ãT -“ÌÆçïBv©MK„_Y\¾,6Û½¢ã©ÅñlB–%Å?ÕïS€<7®Oñqr°®æâ?Kñ3ÓþQo—Ú‚åß| -ðƒ�GÇ÷ÜlÆ@ €"FñŸÙÄßÙL,…÷<[x}´6Žg£±_ÛÞÞþíØØØøÚοGƵ)B–GŠ–Ìl^ï¯�c³¹Hyf¼¦ùÚøžùœÍë'ã$ã+Ån™ öúK“17›â @cÙfûæÇˆ}³M…÷‰Ñ%…AvÏŒdŠ‘_]ÿW›þ^,ÿf¤(ùtô?Övš—/·Åë,?G -Ž)'û÷øÑ—ýÝàIÓÇÔ·ÚTü§eLži3ç[(BPGþ£ŸÂûÔ^…w/.rñ3‹bãÿnÓߊyéþ,÷$g†2÷Yù˜å½Ì«ÅŲ�ÊæñxúÇc64 -°jcþ¢ÿÁnúñÿèNÇ��Úv.ÛŸ—ø?;Þk;ÿÖÌ÷BgvóÓ~ý·›[X«·|<Þ¯ë»y”ãñÖhB€"uä?ù):>YÞó’ã,žw%¿¹û建Ùv™•œg#3Ûxzñ=Z»·´ùâxͦh5›²ÞV7¼ÐîÝÿäÇãÖø9„E -È3Çß;{.ÿÙ¿ÜÛÏÛôŸýÞó¦c9—" EÂǽ y³ÝÛ˜,ECŠ“çÈ~þoÓÎâùŒ£‹o5ïXžÏÍÌå©ñ9³¹ÊsÉ/�ë=� -–�Üï3vR´gìÄx¼Úîí5 (@PÄk¯ž¹ñÞÙs RpdðåcÇæÀ¼Ï¬á_´{ÏϦ�yüØÕÅÇåÙâÞ¦¥ÌG{ònžOÞÛýëï÷cÏ·i)òñ~ì;¹ }ÚT œoSñq|Ïå=Ê°Îæ=0¶Çû9 8ÈñxqüÛ €µ'(d„).2¿,¼çÙ¿ü]8Úî=—<3ˆ)8æ"aöozûñ8ž"åÆ|¢¯ïñíÖ¦ûŸ³üùJ~–qüÖýaÝÝþŠŒÇkY%ôå¾êÅ,þ£¿[á�€ ÷ Ï�Ël}f'SP,ïEþ7mZrœâ!K>Ë”_éÇÛ«:v3ÿIo´iök_~xÂ�ãü¸øœŒG¾,÷µØ<0Ë„—÷(oÍ÷ñ�' ¤°HQña›îYÎ,e6»¶h7Ük _œñÀ—!à�›.�Ý^|�sWÇýÊYbèípÿçð`Æ#ûMÀÒÑ6;ÔÛ¿µ½½ýOö긱±ñŸ´éïÈæèÿë½ÿ»»ô{§¿Ö ÖÕn�ì›ï»?Èñ˜Ï8:®·Àš²ÇóÄãöxŸÙÆG—mnooÿÆòs666þ´M3†)Fž[œÊ.ãYRüÓñ>÷%¿´8ÿÔøü\³œá<Þ„¬¯¹ø_>²ïR›B°ü›Ÿgï÷x<:¾çf3öJ1Šÿ̦@È£Äæç‰Ç<ŸóO÷ã·æëú×ÿáêge‰q/:þ§6î+^œÊÒäÌl^ï¯�c³Ã£ÿ3ã5ÅÈ×ÆÏ’âd³ÁúÉ8É£ö–�ìËXH(�q™1yãq³)þJ0–ýg¶o~¦ø7ÛTxÏK‹SdðËëzQñ?Œc¹8…Å󽨸¯s®¿þ�~þ_·Ïíó}Îmñ:;4ú§Ø?Ù?ãG_ú—ƒ'L7ßjÓ¸J˘Ìÿ1ç[(BPGþ£ŸÂûÔ^…÷x4اcs°ôO±1ϦPù¥~î_ôëÿú8–"d{—ïshñõÒ²�ÊæñxúÇcú�…XÊâyõ!'ë IDATWñ™‰¼>ŽçqdY¢üì¢ÿj±1/ñŸûk;ÿÖÌ÷Bgv3…Í·›[X«·|<Þ¹ßEíÑ�Ç[£ ŠÔ‘ÿä§xødQx/—gðæY<ï*¾9®Û\|Æòâ'Ë¢c~ùõqýé¶sóyióÅñšMÑ>j6d½­nx¡Ý»ÿÿÈŽÇ9\!( Ïïì¹ügÿro?oÓöSx/7Ká�Yø···³¡X– ¿Ó¦ Ä®�sÙ¬l¹ÉØê³ÃS¨¼4>7…Ë©¶sWò¹úd|îGÍc©aùÀ­ñ>ûr¤€O~ãñêhóÏÀšñÚ«gn¼wö\€™]\}ìXŠ‘y9þ½ðx»ÿ´ÝÛŒ,;’¿ž/úñÔ_ÎÏ_÷ãÿ ·7ú×ßoÓ,åñ~ì;£Ï»m*rrMŠ˜‹ãû®>ÿÖÕ¼Æ?®91>ãÖøÌÌ6žkÓîç—{ÑcÖîÏx`ß ¸cl˜¥È)$R|¤˜È a6Ëß‹ì�ÍÇrŸq– gæðʸüÒ蟂"÷?µ¸æÊ8~a\{ýñüFðä2xÜ•™À^tdV1K‚3S˜â#Ë�³ƒøö8~m´­yæp?ã€/KÀgŒâáHoÇ-ÅÄvo×ÒzŸ¼Þ—ìÕwkÑw«·çïëÀx`¿Ø¡›ýåxo'{{®·Óm*"Žöv³·«½}ÒÛ…Þ.�ËŽ/úæëãïõÞÎ�¾—úg_îEÇõÇöËÀÎx`? ¸kÌ4¦`x¡·{{¥·oôölo›£[ŠŒz{¿·KmšYÌ5/�vrôÍìâ§½ý¢·Ç5‡û÷8¯è€3Øo–žêíù6¿ÚÛ¯moo¿»Úiccã÷ûËÓ½}4¥ÈøK½ïïÒ÷�ñ™sÁr³7-?†2ØWîK�ŸiÓ²á_j{Ñ�ÿa/$ÞnÓLc¼Ð�ýÑ}Ó/…Ç›mš…¼2ÚÕýý `}�< -f¹§8K‹_êíWæb£ -ÿªM»‡§ 9Ü�ÿFŽ÷×wú¹?×~mþ�~ì‡m*(R\ëý^§²|9÷ÜÛ…^à\·9ìÉx`ß ˜ï5ÎÆbÙ8,ÅÙÅéyñÜ'|«ÿºÿÅ8—%EÈ[w:nlü M÷2®9Ù�}¯Ÿ#3�ýëôËòã܇|%K�۽ǔÁº{¨GñÀxLŸ‹ûø{ð%(f—çƒGþä¾ál6ör/~'{�p¶M3�·}Stü³6Í*æØS‹�ÏîâÙŒìƒqM6,;¾8bѶƱ:Gš€õ–ñ�Çô-Û7ßw�ã1{×Ú`Í -éEÇêóÁ�ŒSùÏÿ©6Í6žZ\’bâv/@þóåçô‚ã_´{üÑÅ©ì2ž%Å?]\ÿÒÊçÍ�(Ëß 'Ç1!ëj.þS¤g¦=›õeÇþŒ¡ü›Ï:ˆñxt|ÏÍfì” (bÿÙT,ÅwfSx?½è’"üÅqþŽ^hü•Ý>«ÿë£èÈ2ä#‹SYÒŸ™ÍKãýµql–¿;ÇÆÏ‘×#_?KŠ“Íë'3ë+)þsûË�û÷Û -düdÌÄxÜlŠ€RŒeÿ™íKá�¢â›m*¼OŒ.)PRäâåáyÓ±OFŸçz±ñ7r|ÿk›–//Í÷9·ÅëìÐø>)öOöÏøÑ—þåà ÓÇÍ·ÚTü§eLæÿƒ�ó­!¨c¾?øÔ^…w/ þû¶øÛÐß§ß|q\ËLcŠ�ñ>³�Û»|ŸC‹¯—–ÅT6�ÇÓ8Ó×x(DÀÒ¼dx–™ÆŸ�6ÏÞ?³8¿ZlÌKüŸï�µ�kæ{¡óÌñO{ñòíæÖßê-·Ï.×ßÍ£�·F!¨#ÿÉOÑñÉ¢ðž—߯¹M`¹„øú87)–÷gã±eÑ‘åʧÆu)PN/¾G¤˜Iñq¼fS´�šMYo«›^h÷îÿ?r€ãqk|ž @yæø{gÏå?û—Û4{˜ÿì§ðž7K‘¿ ϯ\šc™aLQ‘B$’[œ_}vxf_Ÿ›þ§Úb³v¯ÊLæ¥ñ3x ,¸5Þ§ÀÏØK~ãñêhóÏÀšñÚ«gn¼wö\€y<Øò±cs1’ÂßÝÞÞ~··ßì_ÿã6-ÑO�~¢{=ôãÿ¨¿œŸ¿îÇÿAooô¯¿ß¦Â%Ë“�÷cß}ÞmS‘“kRü_l÷žg®ø§‚yŒy–~r<^?Çêí¬!@!#ÈlcfâW ïY*|g&pQtü½=>îÇmšÉ�»Ï*Ÿ ’]ü¬M÷?gùó•ü,ãø­/ò»À¸ý�ײJè ÿ<1Å,þ£¿£ðî…È\�ß½ç¸¿Û ˆ?YöëÇÞiÓNäÞî=_üÙ~üÍþúJïÿöê÷LñÒ_~Ò¦ÝËsÍÖ>ü*ðÄ3xœÜ1ö ˜g"#K‚·z±ð·Û´™XާPȲáÛ´—ÀåÑ7÷%ç^âó½ÿ[mÚh,KŽSÔd‰qfϵi÷óËý{™õ‡û0xÜ•B`ì0oX–{“SXä}sÁ1ïbž™Ã+ãÒ|�ëRPé»Õ �[�ü—€5a<°ßÜ1Š�gz{®·z;ÙÛñv¯è˜ �Ÿöv±·ó½]ïmsô}~¼æïËÍq.}.ôv©�˽è¸þ˜~%xb�< -æå™1LÁñboßìíkm*:žçæ¿™E¼ÔÛÏ{ûi›fSp¤Hùú¸&ï3»˜Âä½}ØÛùŒþ½Î+:`oÆ#�Š€YŠŽ§¶··ô0lllü�6Íï´i&rsº™eÊ–Ã}�ì;_ÆéÞžîíd/6þp·ýøÛyí…Ç›mš…¼2ÚÕÇõCBÆ#÷%`–ÍIJø“^|»MKŽO�×,'>ÕÛó½€ø÷Ó¹÷ù³6Ý�œöõùCúñ¶© Hqq¬÷}œz¥M÷ÜÛ…÷Ξ»n7rØ“ñÀ¾Ðòÿ^ä^âËmº—8…À'm*6æâáH/þÓôïEÅ?kSá� ÈžíÇÿþ8þƒ6Ý_œk³ëøÉ~ì{ýü™yì_¿Õ¦åǹùÊØ±ü~�7ƒuòP�â;€ñ˜>Å/ ÀW‹ ˜=ž+>#ׯ×Ù,,EÃÕÑ7ËŠŸ_|Ìûm*âsî™Åñ ãÜãs¾Ñ¦]Èg'mkÛëñf°NV×—×ù¾ûƒ�ù¬£ã{Û`Í -Ùã¹â1&[£Í…dzã}î~#¯Ò_ε©¸x¦Ý+V"…Jf":Þg³—çó>Hm–¿AwîWn;oëf.þ3{Ÿ™ö�Ú´sÆÖ¼ãÿAŒÇ£ã{n6c @{Þl³ÁúÉÌzîçÏËL}þ�g,¤Ðϸ̘<ˆñ¸Ùÿ¥ -¸ÏsÅçBb~>xú¥€H¡ðÜèóâööö?L§���ÿ¶MÅF -“5Ïîòíæûœ[Û9ÙÆç§àH!sòaoë¤�£oµ©øO˘<Óf<ηP„ Ž>W¼µM³…)Ò3#™ûŒ_XtÉrâÜ‹|~|^ -˜í•�YÞ˼Z\,‹¨l�§p<¦¯ñPˆ€UùÛ�eÉyäØ ‹ÙÆ?mÓ¬d -Ž%YQ�‚ãÖʵYÚ?ÏDk;ÿÖÌ÷Bg‰ó§‹Ç›¹€u¶z ÀÇãý‘û]4<Êñxk4!@€:v{®øê’ãó£_–%§hxnq}ŠŒ‹£]צàØZôÉýɧÆ÷Élãé¶ó~å,ežïoÎk6Eû¨Ù�õ¶º à…vïþÿ#8·Ú½Ð@P€ €=ž+žÂ{uÓ±&)æ™Ãe±pi\Ÿ×+£Ï�™üEŸ)/�ÏÍýÅ)>–EË\ͳ–5�¤†åc·ÆûÌÚgS¾à1¯Ž6ÿ<¬9@¯½zæÆ{gÏ¥`HÁ‘"a·ÇŽÍ³�wîOÞÞÞþnNnllüQ› -”ÌH¦Ø˜M–÷¿èçßé}ßΣÉú×ßoÓ½ÊYμûÎøŒwŸ1Ï^Þn;ïQ†u6ï�1ß§?‡9/ŽkW÷` -!@fS4, ï¹0Éß…ÌJÎKƒg¶é¾å‹ãÚ|FІ ãÜósÇ^`¼¾Ç·ÿY›–5çš+ùYÆñ[{ô‡uwû+2¯e•ÐþüJ|• ŠYüGÿ3…w/Fò’b#Ë‚Ï/N¥XÈlafî··ä}žC¾¹±±ñf}%3�«ŸÛÏeæò'£ï¥¶ó>e(Ëxàq°”eÀ)2³xn<†,rÏ~ -ŽÜBp§PéEÇ­qKÁü·$ÇÏ÷kÞjӽʛãX>+Kª™ÌZ^ε�ç×�'šñÀ¾pטIÌRâùþü ãTvOqqe¹T¸}½÷ÏÌdöÈRäY~œGú^9žÏ:?> xã€ý&`‡Åf�™y\Þ“¼µ¸oÙ?EÇ\XÌ÷ ç¾åì:žÌk‹výÆððŒGö“€ÏXl¸<¶g¡0–_í×d61³•ó†fww=WhÀc<°_ìê‹÷ÛÐ øâŒGöƒ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@ØÓ{gÏê/½‡n÷¶ýÚ«gn? ï¡ÑwÏþÀçc<ðe øŒQ<éíØhGÇ©­Þ®õó×úë�»ôMKá±½Ò«÷¿õxxò�ì;ôâ`³¿ïídoÏõö|oO�Ó×{;ßÛ…Þ.ö¾)(�>é{z\›c7Wú_êý/÷¢ãúãûmàÉf<°ŸÜ5fS0¼ÐÛ‹½½ÒÛ×{{zt¹ÚÛ‡½½ß¦"äêxMÿ3½½Ü¦B%EKf?ííãšz;Ü¿ÇyE<˜ñÀ~°”¥Ã)Rlüjo¿¶½½ýî²ÃÆÆÆwÛ´9}ç‚#…É_^í;ú¿Ó¦ÉÍqèf/:nZ~ d<°¯Ü1fs¿p–§€øL±9Ö‹ˆßkSq©M3”gvë;ú¿�×~Í›mš…¼2ÚÕGñ{À:0x̲QX -ŽÌ~}. z¡ð/Û´�Ø�·ýø_ëí�ûñßiSÁ1Ï8¶Ñÿ‡m*(R\ë}_§Ò'÷ÜÛ…^à\·9ìÉx`ß ˜eÆ1K‰S@œX9w·àXKa’eÇ'zQñÛwNnlü M÷2®9Ù�}¯Ÿ#3�ýë·Æu¹ùJ–·{�)ƒu÷yÅ÷8Çcú\üâ¿O -@1»<üÈ8•Â$Â3mšqÜ\\–a·‚ãð¸þèâXvϒ⟎÷ù¬—çó>Èsãú|öÉqLÀºš‹ÿ,ÅÏLûGmZ®Ÿlžé?ˆñ8o¸ÙŒ=€EŒâ?EŠï<&,…÷òqbyXúÜ™!Ìòáííí¿ÕÛ¼úYýÜ?oS�’Âaù·$…If6/�÷×Ú½b¥�¾ÇÆÏ‘×#_?Ëj¡ë"3ë_)þsû˵WáÝ “ßjS±qº÷ù›ãØÿÒ¦¥Ëq¼ÿ¯zûcwñÌ(®Ë{™W‹‹e1•ÍãñôŽÇì`<"`)3�Ïö‚âïçÍ(*rñ¼Cxvÿa?ÿ�´±ôx¹l^âÿìx¬íü[3ß �ÎOûõßnn`ý­Þðq»·Äÿ~õx¼5š @ùO~ŠŽO…÷¼ä8Eyfówáäâš¹p¹1Þ_o;w -O±±|YîW>5úe¶ñtÛù³ÌP¦ø¿8^3“ùQ³ ëmuÀ íÞýÿGp…EŠŠÛT€d×ñíÝú?¾ßž\Æ#ûMÀ£ ¸Þ‹ˆyÖq¹9ÙÝ]Ì—…ÃXB|µ_“ÙÄ‹‹kví<ã€ý$`W{mN¶ß×f<°P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@ÀžÞ;{îPÙèíÐ8t»·í×^=sû}�¾{ö>ã€/KÀgôâa³¿ííØhóß‹­Þ®õó×úë�£Ð8²è›–Âc{¥ÿVïëñþ&ðä3Ø/vèÅÁSýå™Þžíí¹ÞN¶©øÈ¬áõÞÎ÷v¡·‹½o -Šü-y~ô=ÝÛñqìæJÿK½ÿå^t\¬¿<ÁŒGö“€»F±‘âá…Þ^êíëãë¹à¸ÒÛÏ{{¿·ô½>^Oõv¦·—ÛT dÆ2³‹Ÿöö‹Þ>ìíƒÞ÷ïq^Ñf<°ßÜ1–g¦1Æ+½ýz^···ß^öÛØØøÝ6 )4¶ÆkŠ“_ï}ß]ý¤Âµß¬IDATÜÞÿ�61›ãÐÍþ½nZ~ {3xÌRDd™ñ\<ü“Ý:õãÒ‹ˆßkÓÒâ+ãõ¥ÝŠ�ÑÿNÁÒ¯y³M³�WF»ºï¿¬ã€}'`Þ1<›…å¾á,3~e>× …ïµiép–íÄßëí�ûñ?Ç�kæþ?lSA‘ââXïûú8•ÏÌýÇ÷v¡Ïëv#‡Ï2xTDv OÁ‘û…_X̦ØÈ=Æ)²‹ø³ýØÿØÏÿfoÿ°�YÉÃýë7Fÿ´éþâOFÿ“ùŒœÏgö¯ßjÓòã܇|%K�۽ǔÁº{ØGñ=îñ˜>Å/ ÀW‹ ˜]žYnüô¢Í²,xž%¼=®;½8¿ü:²»x6$û`ôÿF›–$ÏN,ÚÖ8–BçH°Þ2nô–GðÍ�â›ï»?Èñøôø~‡?kJPH/:VŸ~dœÊþ³Üx~dØlc´¹Oú?µ8ŸMÊ–3™Y‚œâä§ãý¼!Y[¼?>¾W¾OŠ�“㘀u5ÿYŠŸ™ö�z»Ô¦,ÿæS€Äx<:>c³{%ŠÅ -„ÙY<…÷<»˜¥øóùÍÅe™!Ì#Ų|8…Ç‹ãýìØ¸v–¯3³yi¼¿¶rþð¸æ™ñšbäkãgyjå{úÈÌzµ—â?·¿äßyÆBB�Œ»ŒÉƒ�›MñPŠ €±ì?³})(R4|³M…÷‰Ñ%…Áü,ð›¶½½ýVo«ý?�~ù›qªûöâ£çÛ –æûœ[Û99÷OÁ‘bÿdÿ¬}é_ž0}L}«MÅZÆä™v0ãq¾õ€"uä?ú)¼OíUx�MÁR”\ž�õ¾ó>Ÿy«}ö¾áå½Ì«ÅŲ�ÊæñxúÇcV�…XJñ�û’¯Í»…/Oöcÿgyºÿ+ãPf)w[âÿìx¬íü[3ß �ÍÌ>ퟗÙK·°îVoøx¼?r¿‹Ú£�s` (BPGþ“Ÿá“Eá½\rœ ÃRl¤XÈLa–ÿó6åó²âÕ�úRÐl/ÞgÓ²Sãû¤ßéÅ÷˜¿ÏÕq]^³)ÚGÍ&€¬·ÕM/´{÷ÿ9Àñ¸5~!@€òÌñ÷ΞËö³”8ÏÏöSxÏ›Žå\ -‡;³…‹çŽÿ«v¯xIáq«Ÿ{uœû~› -Žåß’+/�ÏM‘’âã¹Åù¹ÊsÉ/�ŸÁc©`ùÀ­ñ>ûrdÆ>øAŒÇ«£Í?kNPÄk¯ž¹ñÞÙs Rpdvqùر¹É,äÝ]Å{qñ_öÂâk£Øh;gܦ"þpïó§½ïïd‰ò(Dž×ïǾ“Îýø»m*rÎ�ë.Žï»¼GÖÙ¼Æ<Žæ0à ÇãÅñs,? €5%(d„)2¿º9Øññú|/R<üiNô×ßXýœ~þ÷ÚTp¤pI¡ru>×û¿¾Ç·ÿY›îÎòç+ùYÆñÕMË ŠÛ_‘ñx-«„öå7à+MPÌâ?ú; -ï^ˆäxf!s‹À¹^Tü~/þpõú~ü»ýåÿëí§m*4ò·äB?þf}e^®¼Ë5?éíƒ6ÍRníßoO.ã€ÇIÀ,3òY<ïÆs<†ì™q>JŠ…¿èíý6-ÎŒãáñšëÏ�kN´{Ë”ó™™m<צÝÏ/÷¢Ç¬?ÜŸñÀ¾pÇØ(0K‘3ã8?{<3„Ù@,/î<ެMEC– Ï÷¯WƹÜoüÔ¸ææâx®Éýÿ×Û/O(ã€GAÀ]™ ìEÇüø±)>² 9;ˆg“°k‹vc^¾Ü¯™ ‹¶é>äû^ÜŸñÀ~°Ã(®÷"bžuœ7'»»ƒùjÑ0–_í×d6ñâÃ\<˜ñÀ~°«½6'Ûïk€3Ø(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@(@  €P€ -@ÿ?|ÐV7@ÔžýIEND®B`‚‰PNG + IHDR—¨áÀC¡IDATxÚìÜtÞu}ÿÿG’¶iIi¡•¶Äˆ«+sýLÔ–7'”j ~ ÊL±èVöÍ:œt âÜmS' …f”Æ!z–ÅŠüXÅU׺Ou¢]±EÒØBié•6iÒ&¹¾äêÖÏ>îsF�…6·Û9ï“æ"=œózž‹×ýý~]aX©T +0´ ³ @€ @€ @€ @€ @€ @€ @€@€ à%¥¢¢âàk’Ô&éKÒU¾†%9þ�ן/¿ÎKÓ ša©T²bâ^>qâÄ÷~á _˜WQQQÙØØøñgŸ}ö%9yæÌ™M .|ï–-[v655ÝÚÑÑqw’§-™‚€£Ûè“O>ù½�?þø’Ÿüä'»G�=ì‹_üâgßóž÷Œ®©©ihii™·aƽ£G�žøøã�/™6mZiûöí·z`† àèVûùÏþ7lØðìÌ™3?˜¤ïk_ûÚ¯¹æš�%Éš5k¶\tÑEó“ä�¸ý†nøÐœ9s +6�—”1f^¨REEEiÿþý7“ªªªªaÆWYY9¢¿¿ÿ©$O$IWW×®Q£FŸdô!ïŸãÊß×&°œGDe’bùêùg†¨îË/¿¼õÇ?þñg¿ûÝï®xì±Çv�þù¯¼÷Þ{ÿõ¯xÅØ$åM&å?¼’¤oÖ¬Y×555]ÑÞÞþ|Ÿ*;2*Nhnn^V(®N²÷òË/¿ýÇ?þñ /`†•–Cü ÀÞ½{wüáþá£ûØÇþÇ7¿ùÍ=¯~õ«wœxâ‰ýûÊ›ú¸òÏdð“äû-ÛK#™ásf^ˆ}7ß|óÅoyË[~ïu¯{Ý- Î:ë¬×Ïž=û¶óÎ;ïÔË.»ìÂqãÆ]ÙÛÛ[š4iÒiK—.½'ÉžòßQ(®/ +Íqp$<èLR•¤÷0fØi0Ä7“ùóçÿýš5kÞX*•>ÜÛÛ›÷¿ÿý·•J¥Ûï»ï¾—½ãï8eÓ¦MWŒ3&>øàÏW¬X±,ÉîòßÝ_¾:“üÂR¾h†ÏŸ?ÿŽ5kÖ¼é0f†¨ÞþþþÕo{ÛÛvŒ?þ�ýýýÏmݺõ[ü=ñ-W]uÕ.Z´è�UUUµÛ¶mû^’õIX63G·R’ç{{{|ê©§¾�ÁÇøÿö(¿T*ý´½½ý_3øØ¹Ïr™!8öüg›Ãÿ±¡`† @€ @ @€ @€ @€ x©©Hr\’Ñåï÷&é*¿?ŽOR›¤/Éóå×1Cp =f̘w·¶¶^—$sæÌùDggçCINœ9sæŸ-\¸ð½[¶lÙÙÔÔtkGGÇÝIž¶dfŽ~ÓV®\¹dܸq“”V®\ù7^xáŸüñ¿ÑÒÒ2oÆ ]£G�žøøã�/™6mZiûöí·º‹4Cpt«lhh8}êÔ©'Mštc’ÒÆ�ç&yý_ÿõ_Ÿ¿fÍš­]tÑ•IòÀÜ~à 7|hΜ9›ÇKJ…‚€ªª½½}ë·¾õ­öG}ôÊ$ßúÖ·žNòü‰'žX×ßß¿;ÉIÒÕÕµkÔ¨QÇçßÏ™‡åßÏ�k“ XÎ#mIŠIöd𬿪½½½ý0g†¨ã’œÔßß_Ñßß¿+É@E’K¥ÒÁ÷GÏÁ;ÍC®$é›5kÖuMMMW´··?Ÿ¤d9�Øÿ ÍÍÍË +…ÂÕIF&©�3¬´Œâp×]w}$ɰ7½éMó“ä®»îúô'?ùÉ‹7mÚÔúé§ïO2®ü³ü$ù~Ëö’P:d†5CðBT‹ÅÞsÏ=÷ä#Fœ�$g�uÖ«~ô£ýðþûïoŸ3gλÆ�weoooiÒ¤I§-]ºôž >zN’…BáúB¡ÐGGtf<(&©J2ü0fØi0´oüÖ·¾µ¨··w^’<ôÐC¿¸þúë¿�ä÷ßÿI›6mºb̘1yðÁ¾bÅŠeIv—ÿîþòÕ™ä–òE�áM‡9C0DíMÒvÞyç=sòÉ'¿)I¶oßþ½$ÿ”äÀUW]õ¡E‹½³ªªªnÛ¶mßK²>ÉËf† ฃìíí}ðç?ÿùÃåïÿms(•JÛÛÛ7eð±sŸ¥2CpìùÏî +â|ß A€ @€ @€ @€ @ @ð52Ɉ$£“Ô%©JÒ™äù$å«.I_ùµ.Kf† àè·Ö¬YÙÔÔtŶmÛžÛµkW÷È‘#G¬Zµêëwß}÷Š™3g~dáÂ…ïÛ²eË®¦¦¦[;::îNò´e3Cpô+UVVtvvV�7îäóÎ;oÔW¾ò•W&™ÙÒÒ2oÆ Ý£G�žøøã�/™6mZiûöí·º‹4CptQ(®+ +›ä�7ß|óßþýßÿý¾ûî»ïö/}éK7¬Y³fÛE]4/Ixà�Ûo¸á†Í™3§`ó0Cptë)Ýyê©§¾föìÙ ozÓ›>–dûÈ‘#‡õ÷÷ïMòD’tuuí5jÔñøþ9®ü}m’ËyDT&)&Ù›dÿ¯8C0Ľò³Ÿýì‡{ì±'7oÞ|o?HV•Á�Ü`*¹’¤oÖ¬Y×555]ÑÞÞþ|’’e<"*Nhnn¾µP(\}˜3¬´Œ füøñ¿wæ™gžú¶·½íú$IN,ÿ³�$ãùs_ù®“—†ƒÑuœ‚€ê¸÷¼ç=ðì³ÏxòÉ'×gðl¸ê¾ûîûÞ'?ùÉKÆ�÷‘ÞÞÞ�I“&�¶téÒ{’ì)ÿ½…BáúB¡ÐGGÒ¡GÃË›yÍ œa§eD=o~ó›6nÜøÃ$�—_ÛÛÚÚúÅ7¼á ¯Þ´iÓÜ1cÆäÁüùŠ+–%Ù]þ™ýå«3É/,ãQ9C0„•>øÁ~$ƒ�“ž$YwÕUW}pÑ¢Eo¯ªªªÛ¶mÛ÷’¬OrÀ’™!8úíÝ·oßwóˆo_©TúI{{ûÆ >vî³Tfޱ;ÈÿÇ?ˆó}3@€ @€@€ @€ € @ÀKXE’QIÆ$™¤3Éž$¥$Ç'©MÒ—äù$]–Ë AÀ±¡f̘1ï¾å–[®=í´ÓÆþå_þ媶¶¶Ï'©š9sæG.\ø¾-[¶ìljjºµ££ãî$O[23G·áI¦ +…EÕÕÕøÃîº÷Þ{ç]pÁ#ÛÚÚ6¶´´ÌÛ°aC×èÑ£'>þøãK¦M›VÚ¾}û­î"ÍÝNøð‡?ü‘aƽìmo{ÛmI*~øá×=õÔS#—,Yò?׬YÓ~ÑE}4Ixà�Ûo¸á†Í™3§`óxI©3Cð‚`Ê”)¯ž8qbõ¾ð…W^yåÉwÜqÇ“wÜqÇêñãÇ¿­¿¿ÿ™$O$IWW×®Q£FŸdô!ïŸãÊß×&°œGDe’b’ÝIz’œø+Ì Q#J¥Òˆ×¾öµyûÛßþµùóçwoÛ¶í�çÍ›wñ¦M›ú'Ož\*o2ÉàÍ^IÒ7k֬뚚š®hoo>ƒ8ãׯ¢¡¡á„æææ/ +…?ORU*•†½ÀVZF mûÆ�7êî»ïþiGGÇ�I*}ôѳO>ù䉥R)üäø¸òÏ”¿ßoÙ^Rz̼PÏÝ{ï½�]{íµ7nÜ…¥RiØgœñº›o¾ùIJsæÌ9wܸqWööö–&MštÚÒ¥KïÉௗ%ɈB¡p}¡PhŽ#€#éà@g’ª$;ï½÷Þ¸öÚk?øfØi0´uÝqÇ×UUU {æ™gšzzz²|ùòï>úè£7'Éý÷ßò¦M›®3fL|ðÁŸ¯X±bYÏžS¾‹Ü_ÞL~a)_4ÝwÜqÇ'ªªª†Æ AÀu ɶ/}éKŸ|ä‘GO2|ëÖ­ßLù÷įºêªË-ZôΪªªºmÛ¶}/ÉúòßÁ AÀѾ�”J¥'ÛÛÛVþþß>ÌW*•6¶··oÊàcç>Ke† àØóŸ}Š Î÷Í @€ @ @€ @€ @pŒžä¸$uIF&Ù‘¤'É@ùûº$}IžOÒe¹ÌFÿÞïýÞŸ\{íµ¸ÿþ�gŸ}ö™¹sçþ===[gΜù±… ¾oË–-;›ššníèè¸;ÉÓ–Ì AÀÑשׂ¯¾úÊ#FŒ}òÉ'·&éïéé9î¸ãŽ»°¥¥åÊ 6t�=zâã�?¾dÚ´i¥íÛ·ßê.Ò AÀÑmLCCÃé¿ýÛ¿}âÔ©SÿW{{û¿&ùV’½·ÞzëkÖ¬ÙvÑE]‘$<ðÀí7ÜpÇæÌ™S°y˜!8º œsÎ9o8ñÄ«¾øÅ/N?÷ÜsßõÐC�ÿŽw¼cÙÀÀ@MÿÎ$O$IWW×®Q£FŸdô!ïŸãÊß×fð¼™_¿Ê$Å$�Iº“ôÿ +3C5ººº~ö‘�|¤p÷Ýw/É+~ö³Ÿ}tÞ¼yزe˰ɓ'÷eðÃdIRqÈ•$}³fͺ®©©éŠöööç“”,çQÑÐÐpBssó²B¡pu’þ®®®'_à +-#†¶š;ï¼óÑ$ýI~‘ä„G}ô¬“O>y|©Tª(¿>î`,dð“äû-ÛKÊqwÞyç#I6Cð_µkéÒ¥ó/¹ä’w½ò•¯üô˜1cN8ãŒ3N¿ù替‘¤4gΜsÇ�weoooiÒ¤I§-]ºôž${ÊwD¡P¸¾P(4ÇÀ‘tè@U’ÝK—.½ê’K.ùƒ0ÃNˈ€¡mø‚ ¾2uêÔ©ûöí»¶³³3+W®üî£�>zs’Üÿý'oÚ´éŠ1cÆäÁüùŠ+–%Ù]þ»ûËWgùΓÇÈ |uêÔ©Óc† `ˆêíïïÿúÛÞö¶íãÇ�ŸÚßßÿüÖ­[¿™¤=I®ºêªË-ZôΪªªºmÛ¶}/Éú$,›‚€£[)Éó½½½>õÔSßÎàcü{”_*•6¶··oÊàcç>Ëe† àØóŸmÿdž‚‚ @€ @€ @€ @€@€ ४¢üµ2É@ùý1:Im’¾$Ï'é²LfŽ-µ§žzê…'NóÌ3_±iÓ¦¹cƌɃ>øó+V,K²»üw÷—¯Î$¿°”/š}}}�<óÌ3�Æ AyæŠ+®¸"ƒ�–w&ÙqÕUW]¾hÑ¢wVUUÕnÛ¶í{IÖ'9`©ÌCw’ûöíûÇC_(•J?mooÿ× >vî³DfŽ¥Òéƒûq¾´3C€@€ @€ € @€ @ Ç–ŠŠŠC¿­N2:ɘ$û“ìNÒU~Ÿ¤6I_’ç˯óÒó+ϰT*YE ±�ã3gÎü³O|â®_¿¾ã�ÿø�ÿº§§ç¡$cfΜùg .|ï–-[v655ÝÚÑÑqw’§-›‚€£[éøÀÂÛo¿}ÎW¾ò•âùçŸÿÛ¿ýۿݧ££#§œrÊ@’žòÏTr%I߬Y³®kjjº¢½½ýù$>EvdT444œÐÜÜ|k¡P¸ú�ðz!3¬´ŒÚFÕÕÕ½©¯¯¯ú«_ýêW¾úÕ¯®»ë®»þvΜ9¿],+O9å”IÆ•v ƒŸ$ßoÙ^J噌¨««›Ö××7Ò AÀUß'>ñ‰…—\rÉ;^õªW}ö¸ãŽ«û­ßú­—}á _ø_¥R©4gΜsÇ�weoooiÒ¤I§-]ºôž >zN’…BáúB¡ÐGGÒÁ#€Î$UIÊ3|ç ˜a§eDÀ,X°àËS§N}cww÷ŸwvvfåÊ•ß}ä‘GnN’ûï¿ÿäM›6]1f̘<øàƒ?_±bŲ þŽyÊw‘ûË›É/,å‹fÔ‚ îœ:uê›c† `ˆêéïïo{ÛÛÞ¶müøñSûûûŸßºuë7“´'ÉUW]uù¢E‹ÞYUUU·mÛ¶ï%YŸä€e3Cpt+%y¾··÷Á§žzêÛ|Œÿo�òK¥ÒÆöööM|ìÜg¹Ì{þ³ÍáÿØP0C€ @€ € €QM’ê$õIª’”Žð¿¿"I’�Iz“t à×läÈ‘S–/_¾¬¾¾~lWW×þ#jjjFìܹsÇܹsçõôô|×T@øïÖÓÓ³á²Ë.;;/�#@G@WùÚe)@ @€ @À—ê$5IêÊßïNÒYþóñIj“ô%y>I—å2Cpll/Ÿ9sæÕ ,¸ IßâÅ‹ÛÚÚÚnL’™3g~táÂ…ïÛ²eËΦ¦¦[;::îNò´e3Cpt+}àø‹Ûo¿}ν÷Þ»kذa£î½÷ÞŸy晣֮]ûó–––oذ¡{ôèÑüñ%Ó¦M+mß¾ýVw‘fŽrÇüžùóçåÆo¼1ÉÉwÝu×gÿàþଳÏ>{úš5kžºè¢‹®J’xàön¸áCsæÌ)Ø<ÌÝ*oºé¦¦$û“œ�䤗¿üå'.Y²ä_Þ÷¾÷½º¿¿ÿ¹$O$IWW×®Q£FŸdô!ïŸãÊß×&°œGffIŠIö”ç–›nºéÿKrà0f†¨žCÞ “-ZôÆ ëY»vííýèG?•Áóåƒ?SqÈ•$}³fͺ®©©éŠöööç“”,çQÑÐÐpBssó­…BáÏY÷2ÃJËˆÆ 6ìÜ5kÖÜÒ××7ìŒ3θ4É–‘#Gö—7‹qåŸÈà'É÷[²—Œƒ›ÿñÆ ;Ï AÀÕ¨áÇ_òÓŸþôæïÿû—\rI¡¶¶ö7ŠÅâð¯}íkÿô™Ï|æ}ãÆ�»²···4iÒ¤Ó–.]zO='ɈB¡p}¡PhŽ#€#éÐ#€ª$Çþþ8ÃNˈ€¡m`Á‚ç�zê©U;wîìÛ¼yóůzÕ«.þ£?ú£¯Þ|óÍŸ?óÌ3OÙ´iÓcƌɃ>øó+V,Ëà|¹¿¼™üÂR¾xÿûf†êÝäM7ÝtãòåË«®®UUU50lذž�;wþï$ÿzÕUW]¾hÑ¢sªªªê¶mÛö½$ë3øa3ÌÅzöìÙóÍ={ö|;Éðòk}å+¥RiG{{û“|ìÜg¹Ì~ˆ¬¿|ý2q¾o† @€ @ @/ 5Iª“Ô'©JR:ÂÿþŠ$ýIv&éMÒe$ €_³‘#GNY¾|ù²úúú±]]]û_Œ¨©©±sçÎsçÎ�×ÓÓó]Sà¿[OOφË.»ìì¼tŽ]åk—¥ € @€ ÿݪ“ô—ß=I†'�¤6I_’ç“tY&3ÇŽ1µµµokllü@KKËMÅbñ‘$fΜyÍÂ… /Ú²eËΦ¦¦[;::îNò´å2CpôYWWwá×¾öµÏŸyæ™cV¬Xñp’ cÇŽ½°¥¥åŠ 6t�=zâã�?¾dÚ´i¥íÛ·ßê.Ò AÀѯ¡¹¹ùêW¾ò•cöìÙ“$£’œ°téÒËÖ¬YóìE]ô¡$yà�n¿á†>4gΜ‚Íà AÀQî¸ãŽÛûçþçY]]}Ö?þã?~¤¦¦¦r×®]5ÕÕÕ£ûûûw'y"Iºººv�5êø ž)|ÿ—?c°šGDe’b’½<çßÿ+Ì UÝÝÝÛº»»ïnhhxueee2ø!²Ê$åé)­8äJ’¾Y³f]×ÔÔtE{{ûóIJVóˆ¨hhh8¡¹¹ùÖB¡põaΰÒ2"€”7ïƒwðUI”7‘Š$ãʯdð“äû-—‚€cCÕ!wð}I:ï»ï¾üä'?yù¸qã>ÒÛÛ;0iÒ¤Ó–.]zO’=åŸQ(®/ +Íqp$z0â�»û2ÃNˈ’¤·T*=»wïÞR©Tz.ÉŽÖÖÖ[Þð†7œ¾iÓ¦¹cƌɃ>øó+V,K²»üwö—¯Î$¿°„Gå AÀP×ÑÑñÈë_ÿúwvuuý,ɾ$®ºêª.Z´èíUUUuÛ¶mû^’õ|´Œ‚€cA©TÚ¼wïÞ͇¼ÔS*•~ÒÞÞ¾1ƒ��û¬’‚€¡c Î÷Í @€ @ ॡ&Iu’ú$UIJGøß_‘¤?ÉÎ$½IºŒðk6räÈ)Ë—/_V__?¶««kÿ‹555#vîܹcîܹózzz¾k* üwëééÙpÙe—��—Î €# «|í²€ € @€ @ @€ @€@€ ü7ªIR�¤>IU’Òþ÷W$éO²3Io’.#üš�9rÊòåË—Õ××�íêêÚÿb@MM͈�;wî˜;wžžïš +@ÿÝzzz6\vÙegç¥sàè*_», @€ @€ x1Þ/å sÇ�ÊŠŠŠSkjj^ÓÕÕõ“R©ôT’ã«««Ï?~üÔþþþÝ[·n}¨üú>ËeŽ àØx?¼ê�o|ãŸÝyç�sßüæ7_þ‹_üâ«IþG[[Û­çœsÎ+:;;³råÊïÏŸ?A’µIX6sG·ú?ù“?ùÜÒ¥KßÝÝÝ�½{÷Ö'{ùå—Ï�0aÂ)uuu·TWWW®]»vîºuë®lmm}"ÉNËvÔÏñ'Iž³l*Ê_«’ô') >üÄaÆõ\tÑEë—,YrÆñÇ?¼³³sÌ»ßýî7lܸñgÅbqY’¬_¿þ-3f̘ÚÚÚ:1ƒ��G'©�3å#¥2I1Éžòìöæß:cÆŒi­­­uå�+YZûFÖÖÖžU__F’ÒÎ�;ÿ¹X,®]¼xñþläÈ‘gTVVö%~ÈûäÙC6 $˜5kÖµMMMóÚÛÛ;m G.Þêš››— +…ÏÔÖÖž]__ÿÆ$‡1ÇaåVYpŒÛ×ØØØ¸xñâYI²`Á‚¯.Y²ä›å']‡l¥C6ö‘7þò?sÇÿâ*%é.Ïñý‡9G¿ €€!fTKKK˪U«þ9Ivîܹ®üzUù:hï¾}ûöœtÒI¯H29IªªªNèîî~6I_¡P¸¾P(|.ɉ6’#¦2Éî Ô¶´´Ü¶jÕªÆ뺻»ŸK²×Ý?†Žžb±øP±X|¤üý¡@ÏÁ§Iž¿úê«o[»víÍ«W¯¾³ºººbÊ”)5“'O^’¤£ü3û’ËfŽ àè6²ªªêüGyäsgžyf]’<ôÐCïxÇ;®K²³­­mñ9çœsZgggV®\ùýùóç/H²ö—Ü]bŽ à(²oñâÅï?õÔSëF�½hÿþýÇ?ýôÓ�×]wÝ}ãßøÅ„ N®««[V]]]µvíÚ¹ëÖ­»²µµõ‰$;-ÝQ?ÇŸ$yÎÒ!`h¨(­LRJ2úSŸúÔ¢k¯½ö“]]][“üÆw¾ó�·UVVžxî¹çž´qãÆMÅbñ–$Y¿~ý[f̘1µµµub�NRgÊGJe’b’=IúË38œ9¾uÆŒÓZ[[ëÊ!W²´8ö�¬­­=«¾¾þŒ$Ù¹sçvïÞýp’¾$£O?ýô3Þò–·LzßûÞwóòåËgdðeϲ%ÉÀ¬Y³®mjjš×ÞÞÞi9rñÖÐÐP×Üܼ¬P(|¦¶¶öìúúú7&©<Œ9+¿VYŽ pŒÛ×ØØØ¸xñâYI²`Á‚;–,Yòí$æÌ™óÉe˖ͽâŠ+V$ùZ]]ݹå÷ÊȃyÃpÇÿâ*%é.Ïñý‡9G¿ €€!fTKKK˪U«~�¤ÿ¹çžûi’׿ç=ïùÓøÃ³ßþö·?øÝï~÷Æ$¥}ûöõœtÒI'&™œ$UUU'tww?›¤¯P(\_(>—äDÉS™dw�j[ZZn[µjÕcŽuÝÝÝÏ%ÙëîCGO±X|¨X,>\þ�Íe—]öw­­­³ï¼óÎî·¿ýí“>ÿùÏ?tÍ5×|iΜ9Ëžzê©¥«W¯¾³ºººbÊ”)5“'O^’¤#ƒçÏû’}z©¹¹yÞØ±cÇ666Þ±cÇŽ{’tYÆcbŽ{-#†®ª»îºëú»îºëóIÆ”7”ÝI:“ ttt´Ìž=ûkå÷LÑæoŽ àØ°¿|ý¿w[&s@€ @€@x‘Õ$©NRŸ¤*Iéÿû+’ô'Ù™¤7I—‘€~ÍFŽ9eùòåËêëëÇvuuí1 ¦¦fÄÎ�;wÌ�;w^OOÏwM €ÿn===.»ì²³óÒ9pt•¯]–€ @€ @€ü:ßåë¿ò:æŽRIꪫ«ß4qâÄ©{öìyvÇŽßNòt’ÕÕÕÓÆ�?­¿¿÷Ö­[*•JO%ÙgÙÌÝFVUU�ÿÈ#�|îÌ3ϬK’ /¼ðK÷Þ{ï’$õmmmËÎ9çœS;;;³råÊïÏŸ?A’µIX:sG¯}‹/¾ø5¯yM]EEÅÞùÎwþÎý÷ßÙˆ#þù‚ .8c„ ëêên©®®®\»víÜuëÖ]ÙÚÚúD’�–ãO’£¹¹ù_Ëû¨ò&óì!P’ Ìš5ëÚ¦¦¦yííí�6�#o uÍÍÍË +…ÂgjkkÏ®¯¯c’ŠÃ˜ã°$ÃËî·´8öíklll\¼xñ¬$Y°`Áª%K–|;Éð/|á _¹å–[v=ùä“ioo¿pÓ¦M§Ÿ~ú�$#nüå Ãÿ‹«”¤»<Ç÷æý6†˜Q----«V­úA’þÍ›7?ñáxÙˆ#Ž¿ñÆ¿�ä±5kÖ\p ' ëîî©91Éä$©ªª:¡»»ûÙ$}…BáúB¡ð¹$'ÚHŽ˜Ê$»3xPÛÒÒrÛªU«6$x�s¬ëîî~.É^wÿ:zŠÅâCÅbñáòüGõôô\²lÙ²‹ßþö·ÿþ°aÆŸ~úéc.½ôÒk“äÊ+¯üôêիאַ®®˜2eJÍäÉ“—$éÈà#å}Iž±¤/Š®b±øp±X|ôW˜cÑ2"`è8x^ðÎïÀÊ•+¯ß½{wÏÂ… ß³eË–íÓ§Oÿdooïדdúôé]ÍÍÍóÆŽ{Rccã;vì¸'I—e<&æ¸×2"`èêKòt[[ÛŸ·µµ}¦üý®$ÝIÒÑѱ|öìÙ÷”ß3E›¿9‚€cGoùúe¿Ûß}pÁA€ @€ @€ @€ @€ @p4¿_ÊæŽ1#ªªª^VUUU³ÿþ§“ «®®ž:~üøiýýý»·nÝúP©Tz*É>KeŽ àØyOüÆÇ?þñ�;k®¹¦1Éimmm·œsÎ9¯êììÌÊ•+¿?þüIÖ&9`ÉÌý^qþùçúÓŸþôÙ7ÜpÃÚ$¯¼üòË'L˜pJ]]Ý-ÕÕÕ•k×®�»nݺ+[[[ŸH²Ó’õsüI’ç,††Šòת ž—’Ô¾öµ¯½ðãÿøù?þñ�S[[[•¤öÝï~÷7nüY±X\–$ëׯËŒ3¦¶¶¶NÌàããÑIêãLùH©LRL²'Iy‡3ǷΘ1cZkkk]9äJ–Ǿ‘µµµgÕ×׿>É�öööÍ>ñ‰OüÉûÞ÷¾þøÇ?þòqãÆ�Hr|’š$]Iž=dJ’�Y³f]ÛÔÔ4¯½½½Óräâ­¡¡¡®¹¹yY¡PøLmmíÙõõõoHÒs–dxùÏý–Ǿ}����‹/ž•$ïz×»î}Å+^1üâ‹/žø£ýhäùçŸÂ)§œ2vâĉ³ÚÛÛ÷744ô%ypã/oîø_\¥$Ýå9¾ÿ0çè·0ÄŒjiiiYµjÕú$ý›7oÞüæ7¿ù¬¯~õ«§¾æ5¯©©¬¬}úôÍÍÍóÆŽ[ߨØxÇŽ;îÉày2Gÿ÷ZF�$ +…ÂÂC6˜bGGÇòÙ³gß]~ÏmþæŽÁ�ã—¼Öe³0G€ @€ € @€ @ @€M$’”Ê×Á×ÊæŽÇUWWO}ÙË^ö¦ÊÊÊa}}}�•J¥ç«««Ï?~üïö÷÷ïÞºuëC¥Ré©$û,™9‚€£_ÃÇ>ö±¿üÔ§>õ»]]]Ù¶mÛž×¾öµ³úûû÷¶µµÝzÎ9çœÚÙÙ™•+W~þüù ’¬-ß]bŽ à(U1~üøwÌ�;÷w_óš×üÓO>¹nĈ›úûû»?øÁþÑ„ êêên©®®®\»víÜuëÖ]ÙÚÚúD’�–ãO’R*““ì)Ïn_yž/pŽo�1cÆ´ÖÖÖºrÈ•,-Ž}#kkkϪ¯¯ÿ�$}›7oþ饗^:¹¯¯oß�ž=zôo<üðÃó_þò—¿¼½½½²¡¡¡/ɳ‡l@I20kÖ¬k›ššæµ··wÚ@Ž\¼544Ô577/+ +Ÿ©­­=»¾¾þ IúcŽÃ’ ?$AÀ1n_cccãâÅ‹g%É‚ ¸öÚk—\{íµÍIvýÍßüÍø»îºësúÐ‡ÞØÙÙ9ý“½½½_O’éÓ§w577Ï;vìI���wìØ±ãž$]–ñ˜˜ã^ˈ€¡«/ÉÓmmmÞÖÖö™ò÷»’t'IGGÇòÙ³gßS~Ïmþ掽åë—ýn÷ÁMs@€ @€@€ @€ € @ÀK]eùêû%ï—�ò…9‚€cÄðŠŠŠWœrÊ)o¯ªª:iÛ¶mßïííý§$•ÕÕÕ¿3~üø3ûûûwoݺõ¡R©ôT’}–ÌAÀÑoâ…^xí—¿üå9ÕÕÕùÇüÇí¿û»¿{M’gÛÚÚþöœsÎyugggV®\ùýùóç/H²6ÉËfŽ àè5ê¯xÅûoºé¦9¯yÍkîoooïøÑ�~ôÁ�}ìc—=öØcÏL˜0a|]]ݲêêꪵk×Î]·nÝ•­­­O$ÙiéŽú9þ$És–CCÅ!.%9ù“Ÿüä¬ï|ç;ûN;í´±·ÝvÛÔ?þã?~ìÑGýN¡P˜·qãÆ'‹Åâ-I²~ýú·Ì˜1cjkkëÄ >>�¤>Δ�”Ê$Å${’ôçßá¿Ð9¾uÆŒÓZ[[ëÊ!W²´8ö�¬­­=«¾¾þ$éÛ¼ysï3ÏT*•žJ²Ï²™#8ºíkllœ»xñâY;vìÈöíÛû^÷º× ûÓ?ýÓš››?ßÖÖvã9çœóšÎÎά\¹òûóçÏ_�dmùîsG©á---ËÚÚÚÖ=ùä“/»êª«Îû£?ú£S›››×¾÷½ï�;a„Sêêên©®®®\»víÜuëÖ]ÙÚÚúD’�–ãO’\•¤/ɰþþþQ(UTT K2pàÀ�R’1ç�wÞ7n|²X,.K’õë׿eÆŒS[[['fðññè$õq¦|¤T&)&Ù“¤¿<ƒÃ™ã[g̘1­µµµ®r%K‹€cßÈÚÚÚ³êëë_ŸäÀŽ;~¶mÛ¶Ž¯~õ«OlݺõI²hÑ¢&ùŘ1cj2øˆøÙC6 $˜5kÖµMMMóÚÛÛ;m G.Þêš››— +…ÏÔÖÖž]__ÿÆ$}‡1ÇaI†—ÿÜoipìÛ×ØØØ¸xñâYIrñÅß»eË–ç~ë·~klmmíMIò•¯|å¢×¿þõçutt œrÊ)}IFÜøË†;þW)IwyŽï?Ì9úm 1£ZZZZV­Zµ.IÿæÍ›w~ùË_¾¦«««·³³ó»IÒÕÕuÎÌ™3_³}ûöžI“&Õ&™œ$UUU'tww?›¤¯P(\_(>—äDÉS™dw�j[ZZn[µjÕÿ>Œ9Öuww?—d¯» =Åbñ¡b±øíòÆ=îK_úÒÙ<ðÀï»ï¾›’ä¼óÎ;ñÌ3Ï\¹víÚŸ]y啟X½zõ—«««+§L™R3yòä%I:2xþ¼/É3–ôEÑU,.‹�–7ñÙcÑ2"`è(ý‡¯;¿ñ�oüÍ\п`Á‚s“ä‚ .¸uíÚµŸOÒ7}úôbssó•cÇŽ=©±±ñŽ;vÜ“¤Ë2¾dæØÿ+Ìq¯eDÀÐÕŸds[[ÛÕmmmU~mw’Î$}í³gÏþZù=S´ù›#8vìO²«|ýGÝå s@€ @€@€ @€ € @ÀK^Eùké—¼_ÊæŽ£***^yÊ)§¼#É�­[·~³T*=�dduuõ´ñãÇOëïïß½uëÖ‡J¥ÒSIöY2sG·áIÞð·û·‹çÎ�û¦‘#GæøÀÊÖÖÖ¿Nòê¶¶¶Ï9çœS;;;³råÊïÏŸ?A’µIX:sG¯ÑsæÌ¹ò¼óÎ{ÓË_þò+**üÃ?üü-[¶Œ1bĈ &œ\WW·¬ºººjíÚµs×­[wekkëIvZº£~Ž?Iòœ¥CÀÐPqÈŸKIêf̘1uýúõ?Ù±cÇW“TüèG?zËïÿþï¿9I6nÜø“b±xK’¬_¿þ-3f̘ÚÚÚ:1ƒ��G'©�3å#¥2I1Éž$ýù÷Gø/tŽo�1cÆ´ÖÖÖºrÈ•,-Ž}#kkkϪ¯¯ÿ�$}›7oÞÚÖÖö¿¯¾úê?=zôµµµÇ½÷½ï}ýÃ?üó—½ìeuå`xö� (IfÍšumSSÓ¼öööNÈ‘‹·†††ºæææe…Bá3µµµg××׿!IÿaÌqX� *Ë1Žqû/^<+I®ºêªû>ÿùÏßø®w½ëµ{öìYðÅ/~qûOúÓžŠŠŠýå�¡”däÁ�¿¼a¸ãq•’t—çøþÜ£ß@À3ª¥¥¥eÕªU?Hr`óæÍÿz饗þÏo~ó›=—^zéß%x衇Þó£ýhË9çœ“ššš±I&'IUUÕ ÝÝÝÏ&é+ +× +…Ï%9ÑFrÄT&Ù�Á#€Ú–––ÛV­Zµ!ƒOr^È뺻»ŸK²×Ý?†Žžb±øP±X|¸üÿQÆ »hÅŠ¯ë[ßúòSO=µ®··÷©5kÖ|ñ‡?üák7lØðÙÕ«WßY]]]1eÊ”šÉ“'/IÒ‘Áóç}Iž±¤/Š®b±øp±X|ôW˜cÑ2"`è8x^ðÎïÀí·ßþ×Ï?ÿ|ß_üÅ_œÿä“OþôÃþð§’ÔUÔ(j -õMFk¢ÍÑÎèt,:�‹.FW ›Ðè³èô8úƒ¡cŒ1ŽL&³³³ÓŽ9…ÆŒa¦±X¬:ÖëŠ År°bl1¶ -{{{;Ž}ƒ#âtp¶8_\¡8áú"ãEy‹.,ÖXœ¾øøÅ%œ%Gщ1‰-‰ï9¡œÎôÒ€¥µK§¸lî.îžoo’ïÊ/çO$¹&•'=JvMÞž<™âžR‘òTÀT ž§ú§Ö¥¾N MÛŸö)=&½=—‘˜qTH¦ û2µ3ó2‡³Ì³Š³¤Ëœ—í\6% -5eCÙ‹²»Å4ÙÏÔ€ÄD²^2šã–S“ó&7:÷Hžrž0o`¹ÙòMË'ò}ó¿^�ZÁ]Ñ[ [°¶`t¥çÊúUЪ¥«zWë¯.Z=¾ÆoÍ�µ„µik(´.,/|¹.f]O‘VÑš¢±õ~ë[‹ŠEÅ76¸l¨ÛˆÚ(Ø8¸iMKx%K­K+Jßoæn¾ø•ÍW•_}Ú’´e°Ì¡lÏVÌVáÖëÛÜ·(W.Ï/Û²½scGÉŽ—;—ì¼PaWQ·‹°K²KZ\Ù]ePµµê}uJõH�WM{­fí¦Ú×»y»¯ìñØÓV§UWZ÷n¯`ïÍz¿úΣ†Š}˜}9û6F7öÍúº¹I£©´éÃ~á~é�ˆ}ÍŽÍÍ-š-e­p«¤uò`ÂÁËßxÓÝÆl«o§·—‡$‡›øíõÃA‡{�°Ž´}gø]mµ£¤ê\Þ9Õ•Ò%íŽë>x´·Ç¥§ã{Ëï÷Ó=Vs\åx٠‰¢ŸN柜>•uêééäÓc½Kz=s­/¼oðlÐÙóç|Ï�é÷ì?yÞõü± ÎŽ^d]ìºäp©sÀ~ ãû:;‡‡º/;]îž7|âŠû•ÓW½¯ž»píÒÈü‘áëQ×oÞH¸!½É»ùèVú­ç·snÏÜYs}·äžÒ½Šûš÷~4ý±]ê =>ê=:ð`Áƒ;cܱ'?eÿô~¼è!ùaÅ„ÎDó#ÛGÇ&}'/?^øxüIÖ“™§Å?+ÿ\ûÌäÙw¿xü20;5þ\ôüÓ¯›_¨¿ØÿÒîeïtØôýW¯f^—¼Qsà-ëmÿ»˜w3¹ï±ï+?˜~èùôñî§ŒOŸ~÷„óû�pf* pHYs  ÒÝ~ü IDATxœìÝAŠd7@Aý"ñ=|<ßÖç1M·1˜ªñd�^ÄjfVÚ ÿU¦4¿ÿñçÏ®6§ì'@€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€0k=§Ïlf @€ `ÖsúÀn& @€wÀýL@€ @€³–‡àv& @€ @€f=§�ìf @€€q ÜÏ @€ @À¬õœ>°™  @€ `¼÷3 @€0ÏéÛ™€ `Ör ÜÎ @€ @À¬çô€ÝL@€ @Àxîg @€f-ïÀíL@€ @€ÌzNØÍ @€ŒGà~& @€ @€ @€ `ÖsúÀn& @€ `<÷3 @€ @€ @€³žÓGv3 @€ŒWà~& @€ @€ @€˜õœ>°›  @€ `¼÷3 @€ @€ @À¬çô€ÝL@€ @€ÌsúÀv& @€ @€ @€f=§�ìf @€ `žÓ'¶3 @€ @€ @€ @À¬çô€ÝL@€cîg @€ @€ @€ @€€YÏé#»™€ `Ü÷3 @€ @€ @€ÌzNØÍ @€ã@¸Ÿ  @€ @€ @€ `ÖsúÀn& @€wÀýL@À/À,ÜÊ|€¸–  @€æ}ùßã@¸•  `Þƒÿ6àZ& @€€_€¸•  àlÀµL@À¼ù7×ò -ŒÏ~¸Ÿ; @€>Àep-à@0¸L@Àøáîç°xL@€xÆg?ÜÏ -xL@€^€ @€W ÀŒþà~^€+ @€W À @€g ÀŒßýà~ž€+ @€W Àà0.€€yöûþ€kY€+`<V À -X€ @À¼'ÿ­ÀµL@€^€ @€00ïÕwÀµL@€ž€ @€0X€€ñÝ÷³V À`L@€¸L@€V à|ÿÀ½¬@€|îp \Ë`L@€V À`L@€Ÿ`®e>—ž<°• pX€+`¬@€°& À`¬@€°V À -X€+`L@€; À -X€+`¬@€0î€+`¬@€  à³`®e°& @€+` @€€Ï%€'Ole°& @€Ü& @€+`ùþþþÏß_¯×¡“ÿ7+ñýõµ~¾þúçOÿþËkýÌoë5~€ÿãó7{÷¯$ÇQp¸g·ïN– 611@ïCʳ�ð:$~ -R  -lc[H:éþ­¸YY²�x½Uóû>ÕÕuõ\ÐÙîüÔ=@ÀzóójÜ¿¹~ßçvójÌ'O¿ < À§=lܺíÿpÿfÜ]ÿ{ܾøjܾúæ8ùìÓñöðÓ±ÛïÇØ=u6Îظõ3þáövܽüf¼þòïã³ßýæ8ÿ«ßþa,ËnÌ«gcùÔwØ8;`ëÖw7ãþõ‹qóâ«ÓëøòãO�×Ö¿vÀ¦ °y‡qx¸·¯�à½u¼Î­×¾{0 °Uóp|ðøö©ÀÀÖ<Ü<Þä?þÜ¿y5îo®?̯ãun½¶þ�#°móæÅ?Žƒë½<óR€Sx¸}3^óÏqûâëq÷êù‡ùu¼Î­×VûË'çZ"ð˜×Ÿÿå8x~õÑ™—œÂáþnܾüz\ù·ñæùæ×ñþâê8¾{ù|ìæÅ¹–üæõç>öãêÌKNáððp<ï¿Þðß|/¼?ÜÝŒùÑ�Þ½جù×?þþÜkÎà‹?}vî%? o€€ù‹Ÿ|î5'ôöí÷‡ñæö0nîãËçïÞüó³O.ÇÕÅn<¹Ü�¹ß�Åk`Óæ'Ïl€-{8¼w÷ËØíþû½ùúd?ž^íÆÅÜ�ýN€-›?`ÓÖps{cyoÇï}tù.|üøsu)ÀÖ͵úÛu¿Þû?þ»x;î.¿ûÜ¿|?9Ø�'�ߦ¯°is·ói[6ÇaÌýs—ß»Ë_ÇëÜzm�ö�¶ÍþØïÖýÆåÅwÛü×ñÜ/ÇkÀö °ß­7üïnôýËŸ?½Úçöîÿ A€�{·µÿp|Òÿúÿÿß~ú¯Ïü›�s;Ûÿ A€€õ}Àîžôçæ:ˆx¿àÿç€BÜð@— @€ @€ @€ @€ @€0—s¯89; @€ @€˜Ë¹Wœœ @€ @€s9÷ -€“³ @€ @€€¹œ{ÀÉÙ @€ @À\νàä쀀9l€Í³ @€ `.ç^prs(°yŽ@€ @€ÌåÜ+Nn6Ï @€ @€€¹œ{ÀÉÍ¡Àæ9 @€0—åÜKNÍ @€ @€沜{ À©Ù @€ @À\–s/RùdÓ!IDAT85; @€ @€ `.˹—œÚC€­s @€ `.˹—œÚC€­s @€˜^Û7‡›çÌa lž @€0½¶oz lŸ#0‡-°yv@€ @Àôؾé-€°}Ž@À¶ÀæÙ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ @€ü§;äo=È…À€€ 0 `@À€€ 0 `@À€€ 0 `@À€€ 0 `@À€€ 0 `@À@  ›­éSçIEND®B`‚‰PNG + IHDR—¨áÀÿIDATxÚìÝ?�¥cÆáûyçXÂL$KÁ®�bÑQ��BG$$�� ÑkÔ²AA�ˆB'!4*‰†Š‘�ø“]çUœÙ‰O°fžûºÉ„îMvßßÜÏsŽÍ}/ýc’ý-7Iîö ÊÁ&É•$žÔ¸²ñ  �@€ @€ € @€ @ @€ @€@€ @€ € @€ @€@€ @€ € @€ @ @€ @€@€ @€ € @€ @€@€ @€ € @€ @ @€ @€@€ @€ € @€ @€@€ €ÿ7†§@˜!\ P°À,àX`Šp,@AÀ@³€[` €)À°Àà +X€Ž°€€¦WÀ`Æp@“€C°Àà +XÌNÀ@€Nnø XÌNÀ@€Nnø X`Šp,€ œšð1°Àà +X@85àc` €)À°€pjÀÇÀ@S€+` @Àÿ¾ úÀû@€ œœðM@` +À@€ €¾,@AÀ@€p‚À€(Ô.2úÀû@“ÀH2œ@UŒÄ¨[€Ö0€˜<F’Ń€ªØ�ÿŽ kJÀ� €€ÂúÀ]àSк…` 0y¸­ €÷?ÐãèŸÕ€šp]püî7@Ùp|ô€÷?4.@a˜ *¼ö u0@[\ó+èZ€²0@_Œ$c÷P²ÿú/ ,€¾p�'ÐC@é€Ð@WøÅZG L@Wø&@h]`,À´ À’dë�@W8€®ðÞ€Æ(\€ +°˜2€Æ°@_xï@[Œ]¬ãè.б$ÿ¹tÀ¸¾xP´¸¥ €€²ðpe0ŽÀ´-ÞýÐ^þÐŽ@àSÐñò€ºp�àÝ(— qpP€Àúh@ à0»12Æ’$Y×m²®ž `VëÑŸõeŒþñg’dÿÖ[²]×ãÿÀõð;Lþ‹’±ìå¯Ãß“_H’üuÇùܼ{²ýÇ‚¦Ë^–e/˲˜aöXF26ùöÛoòúÓ÷&I^ùè›<üØ“É2²ný= ÀX²,‹€ŠØ$#ùã·Ÿ³æ\’ÝÏË2’õ¦¬¹æ!AK|õ釹óûÛ²lÔ?Ì{IF.ü^~zj·\þø½|9–$kVÇÐï¿öt6·ìíþo€@CäÊ3óÄ#$IÞ½ôjÎÞ“¬[ÏšàÌ/_d{m›m܆ÿœI®]ØýüûY¿óL -^xö%OZ~ù?ªüË'ï¼õf’ä¹ç_Ì]7ïþ½k@P�?zÖS€²øìóŸsñÁ‡’$w&¹þ÷€€¢ðçz¬ëî¨ïÂ…[óÁÛo$G?¯«ï�¾ð§º" ɹs·ç“÷/%Iî¿ÿî\½ê Ô€G}®]Ýæü¹³Ç?(Y@€ à†Àð À@8�à X`Žp,€0G¸@À) — qPP€0c wÀ@S€+и(( @˜1|X`Žp,€ €S.€€æwÀ@8¥à T. + +€& €á X`Šp*…`þp� €€ÂPЀæ_• €€Â @€ @€@€ @€ € @€ @ @€ @€ @€ @€ @€ @€ @€@€ @€ € @€ @ @€ @€ @€ @€ @€ @€ @€@€ @€ € @€ @ @€ @€ @€ @€ @€ @€ @€@€ @€ € @€ @ @€ @€ @€ @€ @€ @€ @€@€ @€ € @€ @ @€ @€ @€ @¸qpà1@•ƒM’Ÿ’ì{Pãðß±T”Õxן9IEND®B`‚‰PNG  - IHDR€€Ã>aË pHYs¸Œ¸ŒÌö»/ -MiCCPPhotoshop ICC profilexÚ�SwX“÷>ß÷eVBØð±—l�"#¬ÈY¢’a„@Å…ˆ -VœHUÄ‚Õ -H�ˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:Ø�OHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç �RÈ.TÈȰS³d -”ly|B"ª ìôI>Ø©“ÜØ¢©�™(G$@»`U�R,À ¬@".À®€Y¶2G€½vŽX�@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?�çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z -Ðzù‹y8ü@ž¡PÈ< - í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù�@+Í—¤ã¼è\¨”LÆD �*°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ -¡–ATÀ:ص° šá´Á18 çà\�ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9�\@ú�ÛÈ 2ŠüмG1”�²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V�5cX7vÀžaï$‹€ì^„Âl‚��GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±�XF¬&î!!ž%^'_“H$É’äN -!%�2I IkHÛH-¤S¤>ÒiœL&ë�mÉÞä²€¬ —‘·��O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwR�PÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ�!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘f�æqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup�@�,�õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046�l18cðÌ�cèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ�)Ò)õSnÚ1ìüì -ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡s�ó5¦K�Ë—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã�§›§Âó�ç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËý�ø¿áyòñN`Áå½��³k™¥5�»/ >B Yr“oÀòùc3Üg,šÑÊ�Zú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ�©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸�x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû%ÒŸ3 cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅF'¤IDATxÚì�{tTÕù÷¿çœ¹ßg’Éä + IHDR€€Ã>aË'¤IDATxÚì�{tTÕù÷¿çœ¹ßg’Éä äB ¹Ä(¹) ‚ŠJ­öU+/(jK�jýiÁºZ�Z¡E-&jÁ�‚`¹†$$æ~�L&“¹Ï™™3gÎyÿÈ �Ö¾?+$œïZg±+sÛÏg?ϳ÷~öÞžçÑ�W‚HDˆ(@D"ŠQ€ˆ"D ¢Eˆ(@D"ŠQ€ÓÒ9ÉCú‡%Üú8qéÒ%ª¶¶–r8‚®®.!ŠeYÊçó‘ˆïx/—Ë9‚ X�@ÀÆÇdzÑÑÑlrrr0??Ÿ«/{kÈ.�þaó�Ûøcg�_}õ• ¡¡Aìõz¥(]- =2RÂÐï&¾€óx<>»Ýîà9vì½}ûvZ­Vû233™‰'éš=\$\C…ùäÑ£GEV«U ¼§   ý{ù‘Éd�F£R*•òääd€ÿä8Žã‚µµµv–e½f³ÙƲ¬€ €€ÍápØNž|¸ë'ÙD À÷ÔÁZ� ¡ô5E(®'ŸûÄOÜüØc�¥ÇÅÅ]îí‹…ûôÓO]ü±õŸÿü§­··×ÀÀ À2z8³ïo|þ[à2¨PÛxž�F±Ñh”9rDúòË/+’’’T“'OÖÞÿýÚéÓ§+d2f̘¡Ÿ1c†¾ºº:ÿí·ß®úðÿr»ÝUê[[[[7µÂ2yòdo¶ª-à?È3�ضm›$ã‡H—Ëå¹�>úè„Õ«WçÄÆÆŠ€çyœ9sÆÿÁX÷îÝk6�VÎ�áéo>ø-ƒwLô{.Ã@ @ÒÞÞ.Û¹s§bçÎ�ꬬ¬¨x fáÂ…êÔÔTaVV–âÝwß-|ê©§²V¯^ýÏÒÒÒS<ÏW¨?vìXÇ9…ÂöüóÏÚ�oá#ôÓ‰�àBé6E(± `Ìí·ß>éõ×_¿5''G6üßÿþwÏo¼Ñ}ôèÑn–eí¡á™»ŸáÙ~Fÿ¡êJ0úAh.A@^]]mzá…:^}õUÝüùócŸyæ}^^žx̘1ÊO?ýtú�²~õ«_­©©9à’Ûín\¹re÷¼yóèÄ`ÀŸËÍ"šnÑ…â|¦N§»éõ×_Ÿ¹xñâäp6úôißêÕ«�eee]zC†w… Ï\£_(¹„7ôùbV—Ëeyÿý÷Í»wïŽ~ðÁÖ¬Y›””DÍž=;¶°°ðž7ß|sÔúõër§PSRRÒžššê¼3#Èþhˆ.x˜X·n�@L¨×çLŸ>}úÆ�'egg+ »»›{á…L|ðA»Ïç3»{oÈÜ÷tëW[\¿0†Áîóùì[·ní---5/_¾|ØòåË£¢¢¢/¿ürÞ„ â–/_þy}}½€¼±±±i›Qj}tº�ùÑÐ-GlZ·N @&€±+V¬˜³fÍš<™LFÀ¾}û\+V¬hmllì``Åùkiøïò á°ãy$gww·kÕªU¶Ï>û,iãÆ�ÃÆŽ+ž5k–!''gÁ’%Kb÷ï߯ óz½uü{‡ùùçŸ÷÷œù ÿ£ S�Gü±@"€l©TzË–-[Šzè¡á`6›ƒ«W¯6mÛ¶­™çùî�Ëw†x¨Î´õ!"ÜÇŽsO™2žzõêäçž{.:11Qü׿þuú‹/¾µ~ýz9 ˲—Ö®]kZ³f�×rv;CÐ)È#‹‹‹•¡,?7))iÊþð‡YsçÎ�€/¿üÒ÷ÄO4WUUµ0£oÞÓo7ÔÅ÷}0¼.—‹^µj•ûĉÉ[¶lIJHH ~÷»ßåkµZéÚµk^¯W€Z·n]ç`C0¨˜ÄdñÞ½Š�ñóSRR¦ïß¿~ff¦>þøcדO>Yo±XÚCÆw„2û ®?q!�ÁWZZê›;w®ïOúSòرcÅ+V¬�––¦\¼x±€¦iÖ­[×ù2‚¾áˆû±éÅe†ÈMII™±ÿþ¢°ñßyçÛÒ¥Kk9Žë ßÕ/Ö„ˆ~=v ½ò`�sçÎfΜéûä“OFMœ8Qz÷Ýw'¸oñâÅ i: ¸µÌdüùŒXß À‹/¾( �ñÇ$''OëoüÍ›7Û–-[v‰ã¸Ž�ñÝ¡†ã�¡ßM… àúÅî�‚!Ê 8A‹Åœ?>¿{÷îÑS§N•Þ}÷Ýñ,Z´ˆõz½ŸÏøs¹¹û‘i1Ì À_þÑ#MëfI¥Ò[Þ{⦅„�ÿÖ[oYŸyæ™K:зÄŽ÷e| ABžç½¡Ïô taoà�d8‹ÅÂÏ›7�ûôÓO3§L™"½ûî»Ö®];ç׿þµ€Ÿ¦éÀÁZ�eæh–½®8X+x<€Q$IÞ´}ûö{¦M›rûö_þò—5Úûõü�úÁaãkè'Mš4ü‰'žˆ{üñÇkhšîÐ diff --git a/examples/web/models/models_yaw_pitch_roll.html b/examples/web/models/models_yaw_pitch_roll.html index 528b406..c888261 100644 --- a/examples/web/models/models_yaw_pitch_roll.html +++ b/examples/web/models/models_yaw_pitch_roll.html @@ -1,27 +1 @@ -raylib HTML5 GAME
\ No newline at end of file +raylib HTML5 GAME
\ No newline at end of file diff --git a/examples/web/models/models_yaw_pitch_roll.js b/examples/web/models/models_yaw_pitch_roll.js index 168fe1d..0bc377a 100644 --- a/examples/web/models/models_yaw_pitch_roll.js +++ b/examples/web/models/models_yaw_pitch_roll.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_yaw_pitch_roll.data";var REMOTE_PACKAGE_BASE="models_yaw_pitch_roll.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5286928,DYNAMICTOP_PTR=44016;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="models_yaw_pitch_roll.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"wasi_unstable":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":322,"maximum":322,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);return exports};var tempDouble;var tempI64;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___lock(){}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-2}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_write(stream,iov,iovcnt,pnum){try{stream=FS.getStream(stream);if(!stream)throw new FS.ErrnoError(9);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i0||pageYOffset>0){return[pageXOffset,pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function __requestPointerLock(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(__requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function _emscripten_get_element_css_size(target,width,height){target=target?__findEventTarget(target):Module["canvas"];if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct,e){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle]);GL.contexts[contextHandle]=null},acquireInstancedArraysExtension:function(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)}}},acquireVertexArrayObjectExtension:function(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)}}},acquireDrawBuffersExtension:function(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)}}},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;if(context.version<2){GL.acquireInstancedArraysExtension(GLctx);GL.acquireVertexArrayObjectExtension(GLctx);GL.acquireDrawBuffersExtension(GLctx)}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var __tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=__tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var numBytesWrittenExclNull=bufSize>0&&name?stringToUTF8(info.name,name,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[params>>2]=tempI64[0],HEAP32[params+4>>2]=tempI64[1]}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function __computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4};var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel=__colorChannelsInGlTextureFormat[format]*__sizeOfGlTextureElementType[type];if(!sizePerPixel){GL.recordError(1280);return}var bytes=__computeUnpackAlignedImageSize(width,height,sizePerPixel,GL.unpackAlignment);var end=pixels+bytes;switch(type){case 5121:return HEAPU8.subarray(pixels,end);case 5126:return HEAPF32.subarray(pixels>>2,end>>2);case 5125:case 34042:return HEAPU32.subarray(pixels>>2,end>>2);case 5123:case 33635:case 32819:case 32820:case 36193:return HEAPU16.subarray(pixels>>1,end>>1);default:GL.recordError(1280)}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}function _emscripten_glUniform1fv(location,count,value){if(count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}function _emscripten_glUniform1iv(location,count,value){GLctx.uniform1iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*4>>2))}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(2*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){GLctx.uniform2iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*8>>2))}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(3*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){GLctx.uniform3iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*12>>2))}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){GLctx.uniform4iv(GL.uniforms[location],HEAP32.subarray(value>>2,value+count*16>>2))}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(4*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(9*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(16*count<=GL.MINI_TEMP_BUFFER_SIZE){var view=GL.miniTempBufferViews[16*count-1];for(var i=0;i<16*count;i+=16){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=__findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}if(e.type!=="wheel"&&e.type!=="mousewheel"){JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=__findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(dynCall_iiii(callbackfunc,eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent,e);if(dynCall_iiii(callbackfunc,eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=target?__findEventTarget(target):__specialEventTargets[1];if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(dynCall_iiii(callbackfunc,eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(ev){var e=ev||event;var keyEventData=JSEvents.keyEvent;stringToUTF8(e.key?e.key:"",keyEventData+0,32);stringToUTF8(e.code?e.code:"",keyEventData+32,32);HEAP32[keyEventData+64>>2]=e.location;HEAP32[keyEventData+68>>2]=e.ctrlKey;HEAP32[keyEventData+72>>2]=e.shiftKey;HEAP32[keyEventData+76>>2]=e.altKey;HEAP32[keyEventData+80>>2]=e.metaKey;HEAP32[keyEventData+84>>2]=e.repeat;stringToUTF8(e.locale?e.locale:"",keyEventData+88,32);stringToUTF8(e.char?e.char:"",keyEventData+120,32);HEAP32[keyEventData+152>>2]=e.charCode;HEAP32[keyEventData+156>>2]=e.keyCode;HEAP32[keyEventData+160>>2]=e.which;if(dynCall_iiii(callbackfunc,eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:__findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=__findEventTarget(target);var touchEventHandlerFunc=function(ev){var e=ev||event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[touchEvent>>2]=numTouches;if(dynCall_iiii(callbackfunc,eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _exit(status){exit(status)}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source===null||source.length==0?0:source.length+1;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(GLctx.VERSION);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?parseInt(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2];view[i+9]=HEAPF32[value+(4*i+36)>>2];view[i+10]=HEAPF32[value+(4*i+40)>>2];view[i+11]=HEAPF32[value+(4*i+44)>>2];view[i+12]=HEAPF32[value+(4*i+48)>>2];view[i+13]=HEAPF32[value+(4*i+52)>>2];view[i+14]=HEAPF32[value+(4*i+56)>>2];view[i+15]=HEAPF32[value+(4*i+60)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}var GLFW={Window:function(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null},WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;dynCall_vii(GLFW.active.charFunc,GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;dynCall_viiiii(GLFW.active.keyFunc,GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;dynCall_vii(GLFW.active.cursorEnterFunc,GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}dynCall_vidd(GLFW.active.scrollFunc,GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;dynCall_viii(GLFW.active.windowSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;dynCall_viii(GLFW.active.framebufferSizeFunc,GLFW.active.id,GLFW.active.width,GLFW.active.height)},requestFullscreen:function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||function(){};RFS.apply(Module["canvas"],[])},requestFullScreen:function(){err("GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.");GLFW.requestFullScreen=function(){return GLFW.requestFullscreen()};return GLFW.requestFullscreen()},exitFullscreen:function(){Browser.exitFullscreen()},cancelFullScreen:function(){err("GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.");GLFW.cancelFullScreen=function(){return GLFW.exitFullscreen()};return GLFW.exitFullscreen()},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullscreen()}else{GLFW.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;dynCall_viii(win.windowSizeFunc,win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}if(!Module.ctx)return 0;var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)dynCall_vi(win.windowCloseFunc,win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(22);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}var GLctx;GL.init();for(var i=0;i<32;i++)__tempFixedLengthArray.push(new Array(i));function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"d":abort,"b":___assert_fail,"Cc":___lock,"F":___setErrNo,"mb":___syscall140,"bb":___syscall145,"r":___syscall221,"Ia":___syscall5,"xa":___syscall54,"E":___syscall6,"D":___unlock,"le":___wasi_fd_write,"C":_eglGetProcAddress,"ca":_emscripten_exit_pointerlock,"Id":_emscripten_get_element_css_size,"xd":_emscripten_get_gamepad_status,"md":_emscripten_get_heap_size,"bd":_emscripten_get_num_gamepads,"ba":_emscripten_get_pointerlock_status,"Jc":_emscripten_glActiveTexture,"Bc":_emscripten_glAttachShader,"yc":_emscripten_glBeginQueryEXT,"qc":_emscripten_glBindAttribLocation,"nc":_emscripten_glBindBuffer,"gc":_emscripten_glBindFramebuffer,"$b":_emscripten_glBindRenderbuffer,"Yb":_emscripten_glBindTexture,"Qb":_emscripten_glBindVertexArrayOES,"Fb":_emscripten_glBlendColor,"yb":_emscripten_glBlendEquation,"wb":_emscripten_glBlendEquationSeparate,"vb":_emscripten_glBlendFunc,"ub":_emscripten_glBlendFuncSeparate,"tb":_emscripten_glBufferData,"sb":_emscripten_glBufferSubData,"rb":_emscripten_glCheckFramebufferStatus,"qb":_emscripten_glClear,"pb":_emscripten_glClearColor,"ob":_emscripten_glClearDepthf,"nb":_emscripten_glClearStencil,"lb":_emscripten_glColorMask,"kb":_emscripten_glCompileShader,"jb":_emscripten_glCompressedTexImage2D,"ib":_emscripten_glCompressedTexSubImage2D,"hb":_emscripten_glCopyTexImage2D,"gb":_emscripten_glCopyTexSubImage2D,"fb":_emscripten_glCreateProgram,"eb":_emscripten_glCreateShader,"db":_emscripten_glCullFace,"cb":_emscripten_glDeleteBuffers,"ab":_emscripten_glDeleteFramebuffers,"$a":_emscripten_glDeleteProgram,"_a":_emscripten_glDeleteQueriesEXT,"Za":_emscripten_glDeleteRenderbuffers,"Ya":_emscripten_glDeleteShader,"Xa":_emscripten_glDeleteTextures,"Wa":_emscripten_glDeleteVertexArraysOES,"Va":_emscripten_glDepthFunc,"Ua":_emscripten_glDepthMask,"Ta":_emscripten_glDepthRangef,"Sa":_emscripten_glDetachShader,"Ra":_emscripten_glDisable,"Qa":_emscripten_glDisableVertexAttribArray,"Pa":_emscripten_glDrawArrays,"Oa":_emscripten_glDrawArraysInstancedANGLE,"Na":_emscripten_glDrawBuffersWEBGL,"Ma":_emscripten_glDrawElements,"La":_emscripten_glDrawElementsInstancedANGLE,"Ka":_emscripten_glEnable,"Ja":_emscripten_glEnableVertexAttribArray,"Ha":_emscripten_glEndQueryEXT,"Ga":_emscripten_glFinish,"Fa":_emscripten_glFlush,"Ea":_emscripten_glFramebufferRenderbuffer,"Da":_emscripten_glFramebufferTexture2D,"Ca":_emscripten_glFrontFace,"Ba":_emscripten_glGenBuffers,"Aa":_emscripten_glGenFramebuffers,"za":_emscripten_glGenQueriesEXT,"ya":_emscripten_glGenRenderbuffers,"wa":_emscripten_glGenTextures,"va":_emscripten_glGenVertexArraysOES,"ua":_emscripten_glGenerateMipmap,"ta":_emscripten_glGetActiveAttrib,"sa":_emscripten_glGetActiveUniform,"ra":_emscripten_glGetAttachedShaders,"qa":_emscripten_glGetAttribLocation,"pa":_emscripten_glGetBooleanv,"oa":_emscripten_glGetBufferParameteriv,"na":_emscripten_glGetError,"ma":_emscripten_glGetFloatv,"la":_emscripten_glGetFramebufferAttachmentParameteriv,"ka":_emscripten_glGetIntegerv,"ja":_emscripten_glGetProgramInfoLog,"ia":_emscripten_glGetProgramiv,"ha":_emscripten_glGetQueryObjecti64vEXT,"ga":_emscripten_glGetQueryObjectivEXT,"fa":_emscripten_glGetQueryObjectui64vEXT,"ea":_emscripten_glGetQueryObjectuivEXT,"da":_emscripten_glGetQueryivEXT,"ve":_emscripten_glGetRenderbufferParameteriv,"ue":_emscripten_glGetShaderInfoLog,"te":_emscripten_glGetShaderPrecisionFormat,"se":_emscripten_glGetShaderSource,"re":_emscripten_glGetShaderiv,"qe":_emscripten_glGetString,"pe":_emscripten_glGetTexParameterfv,"oe":_emscripten_glGetTexParameteriv,"ne":_emscripten_glGetUniformLocation,"me":_emscripten_glGetUniformfv,"ke":_emscripten_glGetUniformiv,"je":_emscripten_glGetVertexAttribPointerv,"ie":_emscripten_glGetVertexAttribfv,"he":_emscripten_glGetVertexAttribiv,"ge":_emscripten_glHint,"fe":_emscripten_glIsBuffer,"ee":_emscripten_glIsEnabled,"de":_emscripten_glIsFramebuffer,"ce":_emscripten_glIsProgram,"be":_emscripten_glIsQueryEXT,"ae":_emscripten_glIsRenderbuffer,"$d":_emscripten_glIsShader,"_d":_emscripten_glIsTexture,"Zd":_emscripten_glIsVertexArrayOES,"Yd":_emscripten_glLineWidth,"Xd":_emscripten_glLinkProgram,"Wd":_emscripten_glPixelStorei,"Vd":_emscripten_glPolygonOffset,"Ud":_emscripten_glQueryCounterEXT,"Td":_emscripten_glReadPixels,"Sd":_emscripten_glReleaseShaderCompiler,"Rd":_emscripten_glRenderbufferStorage,"Qd":_emscripten_glSampleCoverage,"Pd":_emscripten_glScissor,"Od":_emscripten_glShaderBinary,"Nd":_emscripten_glShaderSource,"Md":_emscripten_glStencilFunc,"Ld":_emscripten_glStencilFuncSeparate,"Kd":_emscripten_glStencilMask,"Jd":_emscripten_glStencilMaskSeparate,"Hd":_emscripten_glStencilOp,"Gd":_emscripten_glStencilOpSeparate,"Fd":_emscripten_glTexImage2D,"Ed":_emscripten_glTexParameterf,"Dd":_emscripten_glTexParameterfv,"Cd":_emscripten_glTexParameteri,"Bd":_emscripten_glTexParameteriv,"Ad":_emscripten_glTexSubImage2D,"zd":_emscripten_glUniform1f,"yd":_emscripten_glUniform1fv,"wd":_emscripten_glUniform1i,"vd":_emscripten_glUniform1iv,"ud":_emscripten_glUniform2f,"td":_emscripten_glUniform2fv,"sd":_emscripten_glUniform2i,"rd":_emscripten_glUniform2iv,"qd":_emscripten_glUniform3f,"pd":_emscripten_glUniform3fv,"od":_emscripten_glUniform3i,"nd":_emscripten_glUniform3iv,"ld":_emscripten_glUniform4f,"kd":_emscripten_glUniform4fv,"jd":_emscripten_glUniform4i,"id":_emscripten_glUniform4iv,"hd":_emscripten_glUniformMatrix2fv,"gd":_emscripten_glUniformMatrix3fv,"fd":_emscripten_glUniformMatrix4fv,"ed":_emscripten_glUseProgram,"dd":_emscripten_glValidateProgram,"cd":_emscripten_glVertexAttrib1f,"ad":_emscripten_glVertexAttrib1fv,"$c":_emscripten_glVertexAttrib2f,"_c":_emscripten_glVertexAttrib2fv,"Zc":_emscripten_glVertexAttrib3f,"Yc":_emscripten_glVertexAttrib3fv,"Xc":_emscripten_glVertexAttrib4f,"Wc":_emscripten_glVertexAttrib4fv,"Vc":_emscripten_glVertexAttribDivisorANGLE,"Uc":_emscripten_glVertexAttribPointer,"Tc":_emscripten_glViewport,"Sc":_emscripten_memcpy_big,"Rc":_emscripten_request_pointerlock,"Qc":_emscripten_resize_heap,"aa":_emscripten_run_script,"Pc":_emscripten_sample_gamepad_data,"Oc":_emscripten_set_click_callback_on_thread,"Nc":_emscripten_set_fullscreenchange_callback_on_thread,"Mc":_emscripten_set_gamepadconnected_callback_on_thread,"Lc":_emscripten_set_gamepaddisconnected_callback_on_thread,"Kc":_emscripten_set_keypress_callback_on_thread,"Ic":_emscripten_set_main_loop,"Hc":_emscripten_set_touchcancel_callback_on_thread,"Gc":_emscripten_set_touchend_callback_on_thread,"Fc":_emscripten_set_touchmove_callback_on_thread,"Ec":_emscripten_set_touchstart_callback_on_thread,"Dc":_exit,"B":_glActiveTexture,"$":_glAttachShader,"o":_glBindAttribLocation,"c":_glBindBuffer,"m":_glBindFramebuffer,"_":_glBindRenderbuffer,"g":_glBindTexture,"Z":_glBlendFunc,"k":_glBufferData,"A":_glBufferSubData,"Ac":_glCheckFramebufferStatus,"Y":_glClear,"X":_glClearColor,"zc":_glClearDepthf,"xc":_glCompileShader,"wc":_glCompressedTexImage2D,"vc":_glCreateProgram,"uc":_glCreateShader,"tc":_glCullFace,"q":_glDeleteBuffers,"sc":_glDeleteFramebuffers,"W":_glDeleteProgram,"rc":_glDeleteRenderbuffers,"V":_glDeleteShader,"t":_glDeleteTextures,"pc":_glDepthFunc,"U":_glDetachShader,"T":_glDisable,"l":_glDisableVertexAttribArray,"S":_glDrawArrays,"R":_glDrawElements,"z":_glEnable,"f":_glEnableVertexAttribArray,"oc":_glFramebufferRenderbuffer,"Q":_glFramebufferTexture2D,"mc":_glFrontFace,"j":_glGenBuffers,"lc":_glGenFramebuffers,"kc":_glGenRenderbuffers,"P":_glGenTextures,"jc":_glGenerateMipmap,"y":_glGetAttribLocation,"ic":_glGetFloatv,"hc":_glGetProgramInfoLog,"O":_glGetProgramiv,"fc":_glGetShaderInfoLog,"N":_glGetShaderiv,"p":_glGetString,"x":_glGetUniformLocation,"ec":_glLinkProgram,"dc":_glPixelStorei,"cc":_glReadPixels,"bc":_glRenderbufferStorage,"ac":_glShaderSource,"M":_glTexImage2D,"i":_glTexParameteri,"L":_glUniform1i,"w":_glUniform4f,"v":_glUniformMatrix4fv,"n":_glUseProgram,"_b":_glVertexAttrib2f,"Zb":_glVertexAttrib3f,"u":_glVertexAttrib4f,"e":_glVertexAttribPointer,"Xb":_glViewport,"K":_glfwCreateWindow,"Wb":_glfwDefaultWindowHints,"Vb":_glfwDestroyWindow,"Ub":_glfwGetCursorPos,"Tb":_glfwGetKey,"J":_glfwGetPrimaryMonitor,"s":_glfwGetTime,"Sb":_glfwGetVideoModes,"Rb":_glfwInit,"Pb":_glfwMakeContextCurrent,"Ob":_glfwSetCharCallback,"Nb":_glfwSetCursorEnterCallback,"Mb":_glfwSetCursorPosCallback,"Lb":_glfwSetDropCallback,"Kb":_glfwSetErrorCallback,"Jb":_glfwSetKeyCallback,"Ib":_glfwSetMouseButtonCallback,"Hb":_glfwSetScrollCallback,"Gb":_glfwSetWindowIconifyCallback,"Eb":_glfwSetWindowShouldClose,"Db":_glfwSetWindowSizeCallback,"Cb":_glfwSwapBuffers,"Bb":_glfwSwapInterval,"I":_glfwTerminate,"h":_glfwWindowHint,"H":_llvm_stackrestore,"G":_llvm_stacksave,"Ab":_nanosleep,"zb":_time,"xb":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["we"].apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return Module["asm"]["xe"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["ye"].apply(null,arguments)};var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=function(){return Module["asm"]["ze"].apply(null,arguments)};var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=function(){return Module["asm"]["Ae"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["Be"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["Ce"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["Le"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["Me"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["Ne"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["De"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["Ee"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["Fe"].apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return Module["asm"]["Ge"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["He"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["Ie"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["Je"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["Ke"].apply(null,arguments)};Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["calledRun"]=calledRun;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="models/models_yaw_pitch_roll.data";var REMOTE_PACKAGE_BASE="models_yaw_pitch_roll.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="models_yaw_pitch_roll.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["qe"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["re"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){var alignedSize=alignMemory(size,16384);var ptr=_malloc(alignedSize);while(size=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___sys_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function __getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _emscripten_get_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;var rect=__getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function __fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;__fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function __fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)__fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(ext.indexOf("lose_context")<0&&ext.indexOf("debug")<0){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.timerQueriesEXT[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.timerQueriesEXT[id]=null}}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.timerQueriesEXT);query.name=id;GL.timerQueriesEXT[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.timerQueriesEXT[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function jstoi_q(str){return parseInt(str)}function _emscripten_glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQueryEXT(id){var query=GL.timerQueriesEXT[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){GLctx.linkProgram(GL.programs[program]);GL.populateUniformTable(program)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.timerQueriesEXT[id],target)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(GL.uniforms[location],v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(GL.uniforms[location],view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(GL.uniforms[location],v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(GL.uniforms[location],view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(GL.uniforms[location],view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(GL.uniforms[location],v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(GL.uniforms[location],view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(GL.uniforms[location],view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(GL.uniforms[location],v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(GL.uniforms[location],view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(GL.uniforms[location],view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(GL.uniforms[location],v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(GL.uniforms[location],view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _emscripten_glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(__requestPointerLock,2,[target]);return 1}else{return-2}}return __requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}function _emscripten_run_script(ptr){eval(UTF8ToString(ptr))}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function __fillMouseEventData(eventStruct,e,target){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=__getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function __registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;__fillMouseEventData(JSEvents.mouseEvent,e,target);if(wasmTable.get(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);return 0}function __fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function __registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;__fillFullscreenChangeEventData(fullscreenChangeEvent);if(wasmTable.get(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);__registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function __registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;__fillGamepadEventData(gamepadEvent,e["gamepad"]);if(wasmTable.get(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;__registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function __registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,32);if(wasmTable.get(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){var browserIterationFunc=wasmTable.get(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)}function __registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var touches={};var et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;var targetRect=__getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent>>2]=numTouches;if(wasmTable.get(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){__registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendEquation(x0){GLctx["blendEquation"](x0)}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}var ptable=GL.programInfos[program];if(!ptable){GL.recordError(1282);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){HEAP32[p>>2]=ptable.maxUniformLength}else if(pname==35722){if(ptable.maxAttributeLength==-1){program=GL.programs[program];var numAttribs=GLctx.getProgramParameter(program,35721);ptable.maxAttributeLength=0;for(var i=0;i>2]=ptable.maxAttributeLength}else if(pname==35381){if(ptable.maxUniformBlockNameLength==-1){program=GL.programs[program];var numBlocks=GLctx.getProgramParameter(program,35382);ptable.maxUniformBlockNameLength=0;for(var i=0;i>2]=ptable.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _glGetUniformLocation(program,name){name=UTF8ToString(name);var arrayIndex=0;if(name[name.length-1]=="]"){var leftBrace=name.lastIndexOf("[");arrayIndex=name[leftBrace+1]!="]"?jstoi_q(name.slice(leftBrace+1)):0;name=name.slice(0,leftBrace)}var uniformInfo=GL.programInfos[program]&&GL.programInfos[program].uniforms[name];if(uniformInfo&&arrayIndex>=0&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(GL.uniforms[location],!!transpose,view)}function _glUseProgram(program){GLctx.useProgram(GL.programs[program])}function _glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function GLFW_Window(id,width,height,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=GLFW.hints;this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=null;this.windowSizeFunc=null;this.windowCloseFunc=null;this.windowRefreshFunc=null;this.windowFocusFunc=null;this.windowIconifyFunc=null;this.framebufferSizeFunc=null;this.mouseButtonFunc=null;this.cursorPosFunc=null;this.cursorEnterFunc=null;this.scrollFunc=null;this.dropFunc=null;this.keyFunc=null;this.charFunc=null;this.userptr=null}var GLFW={WindowFromId:function(id){if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:null,errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function(keycode){switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 94;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}},getModBits:function(win){var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343])mod|=8;return mod},onKeyPress:function(event){if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;wasmTable.get(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:function(keyCode,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(!GLFW.active.keyFunc)return;if(repeat)status=2;wasmTable.get(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))},onGamepadConnected:function(event){GLFW.refreshJoysticks()},onGamepadDisconnected:function(event){GLFW.refreshJoysticks()},onKeydown:function(event){GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:function(event){GLFW.onKeyChanged(event.keyCode,0)},onBlur:function(event){if(!GLFW.active)return;for(var i=0;i0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)},onMouseleave:function(event){if(!GLFW.active)return;if(event.target!=Module["canvas"]||!GLFW.active.cursorEnterFunc)return;wasmTable.get(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)},onMouseButtonChanged:function(event,status){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;var eventButton=GLFW.DOMToGLFWMouseButton(event);if(status==1){GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}wasmTable.get(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:function(width,height){if(!GLFW.active)return;var resizeNeeded=true;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}else if(GLFW.active.fullscreen==true){GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}else if(GLFW.active.width!=width||GLFW.active.height!=height){GLFW.active.width=width;GLFW.active.height=height}else{resizeNeeded=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height,true);GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.windowSizeFunc)return;wasmTable.get(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},onFramebufferSizeChanged:function(){if(!GLFW.active)return;if(!GLFW.active.framebufferSizeFunc)return;wasmTable.get(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)},getTime:function(){return _emscripten_get_now()/1e3},setWindowTitle:function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=UTF8ToString(title);if(GLFW.active.id==win.id){document.title=win.title}},setJoystickCallback:function(cbfun){GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks()},joys:{},lastGamepadState:null,lastGamepadStateFrame:null,refreshJoysticks:function(){if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:null;GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy0},getCursorPos:function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")},getMousePos:function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")},setCursorPos:function(winid,x,y){},getWindowPos:function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){setValue(x,wx,"i32")}if(y){setValue(y,wy,"i32")}},setWindowPos:function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){setValue(width,ww,"i32")}if(height){setValue(height,wh,"i32")}},setWindowSize:function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){Browser.requestFullscreen()}else{Browser.exitFullscreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowSizeFunc)return;wasmTable.get(win.windowSizeFunc)(win.id,width,height)},createWindow:function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;var win=new GLFW_Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id},destroyWindow:function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)wasmTable.get(win.windowCloseFunc)(win.id);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}__ATINIT__.push({func:function(){___wasm_call_ctors()}});var asmLibraryArg={"a":___assert_fail,"ae":___sys_chdir,"X":___sys_fcntl64,"$d":___sys_getcwd,"ce":___sys_ioctl,"de":___sys_open,"z":_eglGetProcAddress,"_":_emscripten_exit_pointerlock,"le":_emscripten_get_element_css_size,"ge":_emscripten_get_gamepad_status,"he":_emscripten_get_num_gamepads,"ne":_emscripten_get_pointerlock_status,"Ed":_emscripten_glActiveTexture,"Dd":_emscripten_glAttachShader,"Ud":_emscripten_glBeginQueryEXT,"Cd":_emscripten_glBindAttribLocation,"Bd":_emscripten_glBindBuffer,"Ad":_emscripten_glBindFramebuffer,"zd":_emscripten_glBindRenderbuffer,"yd":_emscripten_glBindTexture,"Md":_emscripten_glBindVertexArrayOES,"xd":_emscripten_glBlendColor,"wd":_emscripten_glBlendEquation,"vd":_emscripten_glBlendEquationSeparate,"ud":_emscripten_glBlendFunc,"td":_emscripten_glBlendFuncSeparate,"sd":_emscripten_glBufferData,"rd":_emscripten_glBufferSubData,"qd":_emscripten_glCheckFramebufferStatus,"pd":_emscripten_glClear,"od":_emscripten_glClearColor,"nd":_emscripten_glClearDepthf,"md":_emscripten_glClearStencil,"ld":_emscripten_glColorMask,"kd":_emscripten_glCompileShader,"jd":_emscripten_glCompressedTexImage2D,"id":_emscripten_glCompressedTexSubImage2D,"hd":_emscripten_glCopyTexImage2D,"gd":_emscripten_glCopyTexSubImage2D,"fd":_emscripten_glCreateProgram,"ed":_emscripten_glCreateShader,"dd":_emscripten_glCullFace,"cd":_emscripten_glDeleteBuffers,"bd":_emscripten_glDeleteFramebuffers,"ad":_emscripten_glDeleteProgram,"Wd":_emscripten_glDeleteQueriesEXT,"$c":_emscripten_glDeleteRenderbuffers,"_c":_emscripten_glDeleteShader,"Zc":_emscripten_glDeleteTextures,"Ld":_emscripten_glDeleteVertexArraysOES,"Yc":_emscripten_glDepthFunc,"Xc":_emscripten_glDepthMask,"Wc":_emscripten_glDepthRangef,"Uc":_emscripten_glDetachShader,"Tc":_emscripten_glDisable,"Sc":_emscripten_glDisableVertexAttribArray,"Rc":_emscripten_glDrawArrays,"Hd":_emscripten_glDrawArraysInstancedANGLE,"Id":_emscripten_glDrawBuffersWEBGL,"Qc":_emscripten_glDrawElements,"Gd":_emscripten_glDrawElementsInstancedANGLE,"Pc":_emscripten_glEnable,"Oc":_emscripten_glEnableVertexAttribArray,"Td":_emscripten_glEndQueryEXT,"Nc":_emscripten_glFinish,"Mc":_emscripten_glFlush,"Lc":_emscripten_glFramebufferRenderbuffer,"Kc":_emscripten_glFramebufferTexture2D,"Jc":_emscripten_glFrontFace,"Ic":_emscripten_glGenBuffers,"Gc":_emscripten_glGenFramebuffers,"Xd":_emscripten_glGenQueriesEXT,"Fc":_emscripten_glGenRenderbuffers,"Ec":_emscripten_glGenTextures,"Kd":_emscripten_glGenVertexArraysOES,"Hc":_emscripten_glGenerateMipmap,"Dc":_emscripten_glGetActiveAttrib,"Cc":_emscripten_glGetActiveUniform,"Bc":_emscripten_glGetAttachedShaders,"zc":_emscripten_glGetAttribLocation,"yc":_emscripten_glGetBooleanv,"xc":_emscripten_glGetBufferParameteriv,"wc":_emscripten_glGetError,"vc":_emscripten_glGetFloatv,"uc":_emscripten_glGetFramebufferAttachmentParameteriv,"tc":_emscripten_glGetIntegerv,"rc":_emscripten_glGetProgramInfoLog,"sc":_emscripten_glGetProgramiv,"Od":_emscripten_glGetQueryObjecti64vEXT,"Qd":_emscripten_glGetQueryObjectivEXT,"Nd":_emscripten_glGetQueryObjectui64vEXT,"Pd":_emscripten_glGetQueryObjectuivEXT,"Rd":_emscripten_glGetQueryivEXT,"qc":_emscripten_glGetRenderbufferParameteriv,"nc":_emscripten_glGetShaderInfoLog,"mc":_emscripten_glGetShaderPrecisionFormat,"lc":_emscripten_glGetShaderSource,"oc":_emscripten_glGetShaderiv,"kc":_emscripten_glGetString,"jc":_emscripten_glGetTexParameterfv,"ic":_emscripten_glGetTexParameteriv,"fc":_emscripten_glGetUniformLocation,"hc":_emscripten_glGetUniformfv,"gc":_emscripten_glGetUniformiv,"cc":_emscripten_glGetVertexAttribPointerv,"ec":_emscripten_glGetVertexAttribfv,"dc":_emscripten_glGetVertexAttribiv,"bc":_emscripten_glHint,"ac":_emscripten_glIsBuffer,"$b":_emscripten_glIsEnabled,"_b":_emscripten_glIsFramebuffer,"Zb":_emscripten_glIsProgram,"Vd":_emscripten_glIsQueryEXT,"Yb":_emscripten_glIsRenderbuffer,"Xb":_emscripten_glIsShader,"Wb":_emscripten_glIsTexture,"Jd":_emscripten_glIsVertexArrayOES,"Vb":_emscripten_glLineWidth,"Ub":_emscripten_glLinkProgram,"Tb":_emscripten_glPixelStorei,"Sb":_emscripten_glPolygonOffset,"Sd":_emscripten_glQueryCounterEXT,"Rb":_emscripten_glReadPixels,"Qb":_emscripten_glReleaseShaderCompiler,"Pb":_emscripten_glRenderbufferStorage,"Ob":_emscripten_glSampleCoverage,"Nb":_emscripten_glScissor,"Mb":_emscripten_glShaderBinary,"Lb":_emscripten_glShaderSource,"Kb":_emscripten_glStencilFunc,"Jb":_emscripten_glStencilFuncSeparate,"Ib":_emscripten_glStencilMask,"Hb":_emscripten_glStencilMaskSeparate,"Gb":_emscripten_glStencilOp,"Fb":_emscripten_glStencilOpSeparate,"Eb":_emscripten_glTexImage2D,"Db":_emscripten_glTexParameterf,"Cb":_emscripten_glTexParameterfv,"Bb":_emscripten_glTexParameteri,"Ab":_emscripten_glTexParameteriv,"zb":_emscripten_glTexSubImage2D,"yb":_emscripten_glUniform1f,"xb":_emscripten_glUniform1fv,"wb":_emscripten_glUniform1i,"vb":_emscripten_glUniform1iv,"ub":_emscripten_glUniform2f,"tb":_emscripten_glUniform2fv,"rb":_emscripten_glUniform2i,"qb":_emscripten_glUniform2iv,"pb":_emscripten_glUniform3f,"ob":_emscripten_glUniform3fv,"nb":_emscripten_glUniform3i,"mb":_emscripten_glUniform3iv,"lb":_emscripten_glUniform4f,"kb":_emscripten_glUniform4fv,"jb":_emscripten_glUniform4i,"ib":_emscripten_glUniform4iv,"hb":_emscripten_glUniformMatrix2fv,"gb":_emscripten_glUniformMatrix3fv,"fb":_emscripten_glUniformMatrix4fv,"eb":_emscripten_glUseProgram,"db":_emscripten_glValidateProgram,"cb":_emscripten_glVertexAttrib1f,"bb":_emscripten_glVertexAttrib1fv,"ab":_emscripten_glVertexAttrib2f,"$a":_emscripten_glVertexAttrib2fv,"_a":_emscripten_glVertexAttrib3f,"Ya":_emscripten_glVertexAttrib3fv,"Xa":_emscripten_glVertexAttrib4f,"Wa":_emscripten_glVertexAttrib4fv,"Fd":_emscripten_glVertexAttribDivisorANGLE,"Va":_emscripten_glVertexAttribPointer,"Ua":_emscripten_glViewport,"Yd":_emscripten_memcpy_big,"me":_emscripten_request_pointerlock,"Zd":_emscripten_resize_heap,"Z":_emscripten_run_script,"ie":_emscripten_sample_gamepad_data,"wa":_emscripten_set_click_callback_on_thread,"ya":_emscripten_set_fullscreenchange_callback_on_thread,"ra":_emscripten_set_gamepadconnected_callback_on_thread,"qa":_emscripten_set_gamepaddisconnected_callback_on_thread,"xa":_emscripten_set_keydown_callback_on_thread,"pe":_emscripten_set_main_loop,"sa":_emscripten_set_touchcancel_callback_on_thread,"ua":_emscripten_set_touchend_callback_on_thread,"ta":_emscripten_set_touchmove_callback_on_thread,"va":_emscripten_set_touchstart_callback_on_thread,"_d":_emscripten_thread_sleep,"ee":_exit,"Y":_fd_close,"be":_fd_read,"Ta":_fd_seek,"W":_fd_write,"r":_glActiveTexture,"F":_glAttachShader,"l":_glBindAttribLocation,"b":_glBindBuffer,"k":_glBindFramebuffer,"I":_glBindRenderbuffer,"e":_glBindTexture,"za":_glBlendEquation,"P":_glBlendFunc,"f":_glBufferData,"y":_glBufferSubData,"La":_glCheckFramebufferStatus,"Q":_glClear,"R":_glClearColor,"Ra":_glClearDepthf,"Ea":_glCompileShader,"Pa":_glCompressedTexImage2D,"Ca":_glCreateProgram,"Ga":_glCreateShader,"Za":_glCullFace,"o":_glDeleteBuffers,"pc":_glDeleteFramebuffers,"J":_glDeleteProgram,"Ac":_glDeleteRenderbuffers,"K":_glDeleteShader,"M":_glDeleteTextures,"sb":_glDepthFunc,"L":_glDetachShader,"T":_glDisable,"j":_glDisableVertexAttribArray,"V":_glDrawArrays,"U":_glDrawElements,"A":_glEnable,"c":_glEnableVertexAttribArray,"u":_glFramebufferRenderbuffer,"q":_glFramebufferTexture2D,"Sa":_glFrontFace,"g":_glGenBuffers,"Ma":_glGenFramebuffers,"Oa":_glGenRenderbuffers,"O":_glGenTextures,"Ka":_glGenerateMipmap,"x":_glGetAttribLocation,"Vc":_glGetFloatv,"S":_glGetFramebufferAttachmentParameteriv,"Aa":_glGetProgramInfoLog,"H":_glGetProgramiv,"Da":_glGetShaderInfoLog,"G":_glGetShaderiv,"p":_glGetString,"w":_glGetUniformLocation,"Ba":_glLinkProgram,"Qa":_glPixelStorei,"Ha":_glReadPixels,"Na":_glRenderbufferStorage,"Fa":_glShaderSource,"N":_glTexImage2D,"i":_glTexParameteri,"C":_glUniform1i,"s":_glUniform4f,"v":_glUniformMatrix4fv,"m":_glUseProgram,"Ia":_glVertexAttrib2f,"Ja":_glVertexAttrib3f,"t":_glVertexAttrib4f,"d":_glVertexAttribPointer,"oe":_glViewport,"D":_glfwCreateWindow,"na":_glfwDefaultWindowHints,"ke":_glfwDestroyWindow,"E":_glfwGetPrimaryMonitor,"n":_glfwGetTime,"ma":_glfwGetVideoModes,"oa":_glfwInit,"ba":_glfwMakeContextCurrent,"ga":_glfwSetCharCallback,"ca":_glfwSetCursorEnterCallback,"ea":_glfwSetCursorPosCallback,"ia":_glfwSetDropCallback,"pa":_glfwSetErrorCallback,"ha":_glfwSetKeyCallback,"fa":_glfwSetMouseButtonCallback,"da":_glfwSetScrollCallback,"ja":_glfwSetWindowFocusCallback,"ka":_glfwSetWindowIconifyCallback,"fe":_glfwSetWindowShouldClose,"la":_glfwSetWindowSizeCallback,"je":_glfwSwapBuffers,"aa":_glfwSwapInterval,"B":_glfwTerminate,"h":_glfwWindowHint,"$":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["se"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["te"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["ue"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["ve"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["we"]).apply(null,arguments)};var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=function(){return(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=Module["asm"]["xe"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ye"]).apply(null,arguments)};Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); diff --git a/examples/web/models/models_yaw_pitch_roll.wasm b/examples/web/models/models_yaw_pitch_roll.wasm index be0c94d..23f404a 100644 Binary files a/examples/web/models/models_yaw_pitch_roll.wasm and b/examples/web/models/models_yaw_pitch_roll.wasm differ diff --git a/examples/web/models/resources/angle_gauge.png b/examples/web/models/resources/angle_gauge.png index f7871de..810097d 100644 Binary files a/examples/web/models/resources/angle_gauge.png and b/examples/web/models/resources/angle_gauge.png differ diff --git a/examples/web/models/resources/background.png b/examples/web/models/resources/background.png index 69a74b7..88ece1f 100644 Binary files a/examples/web/models/resources/background.png and b/examples/web/models/resources/background.png differ diff --git a/examples/web/models/resources/billboard.png b/examples/web/models/resources/billboard.png index e2fe398..8c99118 100644 Binary files a/examples/web/models/resources/billboard.png and b/examples/web/models/resources/billboard.png differ diff --git a/examples/web/models/resources/cubicmap.png b/examples/web/models/resources/cubicmap.png index b361c01..392dbf2 100644 Binary files a/examples/web/models/resources/cubicmap.png and b/examples/web/models/resources/cubicmap.png differ diff --git a/examples/web/models/resources/cubicmap_atlas.png b/examples/web/models/resources/cubicmap_atlas.png index 7ddfc83..9fc404a 100644 Binary files a/examples/web/models/resources/cubicmap_atlas.png and b/examples/web/models/resources/cubicmap_atlas.png differ diff --git a/examples/web/models/resources/dresden_square.hdr b/examples/web/models/resources/dresden_square.hdr deleted file mode 100644 index b6d0e77..0000000 Binary files a/examples/web/models/resources/dresden_square.hdr and /dev/null differ diff --git a/examples/web/models/resources/dresden_square_1k.hdr b/examples/web/models/resources/dresden_square_1k.hdr new file mode 100644 index 0000000..b6d0e77 Binary files /dev/null and b/examples/web/models/resources/dresden_square_1k.hdr differ diff --git a/examples/web/models/resources/dresden_square_2k.hdr b/examples/web/models/resources/dresden_square_2k.hdr new file mode 100644 index 0000000..60b4a4c Binary files /dev/null and b/examples/web/models/resources/dresden_square_2k.hdr differ diff --git a/examples/web/models/resources/guy/guytex.png b/examples/web/models/resources/guy/guytex.png index 7f81355..05a58ee 100644 Binary files a/examples/web/models/resources/guy/guytex.png and b/examples/web/models/resources/guy/guytex.png differ diff --git a/examples/web/models/resources/heightmap.png b/examples/web/models/resources/heightmap.png index fe30f67..474db87 100644 Binary files a/examples/web/models/resources/heightmap.png and b/examples/web/models/resources/heightmap.png differ diff --git a/examples/web/models/resources/models/LICENSE b/examples/web/models/resources/models/LICENSE new file mode 100644 index 0000000..39cdd61 --- /dev/null +++ b/examples/web/models/resources/models/LICENSE @@ -0,0 +1,4 @@ +Medieval City models and textures have been created by Alberto Cano, +and licensed as Creative Commons Attribution-NonCommercial 4.0. + +Check for details: https://creativecommons.org/licenses/by-nc/4.0/legalcode diff --git a/examples/web/models/resources/models/bridge_diffuse.png b/examples/web/models/resources/models/bridge_diffuse.png index 7aa3404..45a86b5 100644 Binary files a/examples/web/models/resources/models/bridge_diffuse.png and b/examples/web/models/resources/models/bridge_diffuse.png differ diff --git a/examples/web/models/resources/models/castle_diffuse.png b/examples/web/models/resources/models/castle_diffuse.png index b616e1d..c7085a3 100644 Binary files a/examples/web/models/resources/models/castle_diffuse.png and b/examples/web/models/resources/models/castle_diffuse.png differ diff --git a/examples/web/models/resources/models/cube_diffuse.png b/examples/web/models/resources/models/cube_diffuse.png index 25e0377..6becd47 100644 Binary files a/examples/web/models/resources/models/cube_diffuse.png and b/examples/web/models/resources/models/cube_diffuse.png differ diff --git a/examples/web/models/resources/models/house_diffuse.png b/examples/web/models/resources/models/house_diffuse.png index 9ab726e..b36a58a 100644 Binary files a/examples/web/models/resources/models/house_diffuse.png and b/examples/web/models/resources/models/house_diffuse.png differ diff --git a/examples/web/models/resources/models/market_diffuse.png b/examples/web/models/resources/models/market_diffuse.png index f38fbbb..3ad3046 100644 Binary files a/examples/web/models/resources/models/market_diffuse.png and b/examples/web/models/resources/models/market_diffuse.png differ diff --git a/examples/web/models/resources/models/turret_diffuse.png b/examples/web/models/resources/models/turret_diffuse.png index 08db495..33628e3 100644 Binary files a/examples/web/models/resources/models/turret_diffuse.png and b/examples/web/models/resources/models/turret_diffuse.png differ diff --git a/examples/web/models/resources/models/well_diffuse.png b/examples/web/models/resources/models/well_diffuse.png index df22941..f8f6686 100644 Binary files a/examples/web/models/resources/models/well_diffuse.png and b/examples/web/models/resources/models/well_diffuse.png differ diff --git a/examples/web/models/resources/pbr/trooper.obj b/examples/web/models/resources/pbr/trooper.obj deleted file mode 100644 index 8342149..0000000 --- a/examples/web/models/resources/pbr/trooper.obj +++ /dev/null @@ -1,18312 +0,0 @@ -# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware -# File Created: 26.04.2017 15:31:30 - -# -# object asdf -# - -v 0.000000 0.622922 0.713143 -v 0.000000 0.729854 0.627920 -v 0.000000 0.786583 0.636084 -v 0.000000 1.045946 0.570983 -v 0.000000 1.031233 0.544927 -v 0.000000 1.298009 0.514342 -v 0.000000 1.149254 0.538029 -v 0.000000 0.849328 0.558225 -v 0.000000 1.010490 0.528641 -v 0.000000 0.812325 0.602129 -v 0.000000 0.826873 0.574585 -v 0.000000 0.598750 0.710767 -v 0.000000 0.597623 0.667964 -v 0.084179 0.001562 0.626712 -v 0.000000 0.019620 0.500428 -v 0.169721 0.247278 0.492525 -v 0.000000 0.672880 0.668161 -v 0.151477 0.524575 0.652958 -v 0.131329 0.580069 0.661848 -v 0.114890 0.690102 0.619225 -v 0.089181 0.737425 0.627349 -v 0.053560 0.774530 0.633427 -v 0.049246 0.664280 0.667001 -v 0.186382 0.271672 0.580150 -v 0.311559 0.308788 0.348438 -v 0.378840 0.342231 0.214617 -v 0.183507 0.569029 0.586468 -v 0.209450 0.536520 0.545413 -v 0.198080 0.521331 0.574546 -v 0.267398 0.403558 0.503948 -v 0.256089 0.441711 0.491998 -v 0.285742 0.459568 0.464178 -v 0.306543 0.432843 0.469860 -v 0.165325 0.437671 0.633861 -v 0.247099 0.266255 0.460384 -v 0.411737 0.577071 0.405239 -v 0.391126 0.593584 0.404410 -v 0.423157 0.665068 0.384484 -v 0.450381 0.650863 0.385873 -v 0.455839 0.767810 0.367329 -v 0.485703 0.759030 0.374794 -v 0.459863 0.861942 0.364012 -v 0.441495 0.926861 0.380699 -v 0.464600 0.938004 0.400564 -v 0.486272 0.860457 0.381569 -v 0.412950 0.958719 0.400066 -v 0.433231 0.969863 0.422984 -v 0.384666 0.993819 0.454111 -v 0.373370 0.975991 0.421316 -v 0.268595 1.001637 0.475054 -v 0.282018 1.019372 0.506357 -v 0.140747 1.022724 0.522858 -v 0.142861 1.038352 0.553143 -v 0.382002 0.526733 0.421956 -v 0.358027 0.549805 0.420654 -v 0.283231 1.129298 0.472519 -v 0.407676 1.103160 0.412405 -v 0.142742 1.145411 0.517657 -v 0.475980 1.051464 0.381820 -v 0.436937 1.273467 0.377742 -v 0.509148 1.215159 0.336059 -v 0.304083 1.289812 0.450362 -v 0.143813 1.298790 0.497732 -v 0.110535 0.005395 0.599741 -v 0.144636 0.007877 0.604104 -v 0.293295 0.114109 0.276156 -v 0.260152 0.107644 0.254081 -v 0.197065 0.074325 0.379573 -v 0.227388 0.078784 0.397485 -v 0.237847 0.407594 0.541883 -v 0.231621 0.449564 0.516437 -v 0.160737 0.631269 0.602314 -v 0.444186 0.859839 0.371886 -v 0.434630 0.774993 0.376796 -v 0.411293 0.784139 0.372012 -v 0.403227 0.683902 0.400076 -v 0.388978 0.692028 0.396861 -v 0.369494 0.625951 0.429479 -v 0.358286 0.634576 0.424258 -v 0.342018 0.588721 0.453890 -v 0.331282 0.598798 0.447604 -v 0.289939 0.540541 0.495245 -v 0.281628 0.555508 0.488272 -v 0.309166 0.574121 0.466919 -v 0.261032 0.532563 0.515138 -v 0.258024 0.548682 0.507222 -v 0.202005 0.604862 0.553457 -v 0.205910 0.611484 0.542729 -v 0.223742 0.580733 0.532442 -v 0.221625 0.567634 0.541178 -v 0.178827 0.658546 0.552711 -v 0.173035 0.649694 0.573047 -v 0.125737 0.710486 0.599078 -v 0.141059 0.725485 0.557956 -v 0.098129 0.758054 0.597822 -v 0.108767 0.774398 0.560327 -v 0.061667 0.811050 0.570191 -v 0.057506 0.797335 0.602919 -v 0.154331 0.735616 0.545874 -v 0.190511 0.669141 0.544146 -v 0.120866 0.788022 0.551539 -v 0.065878 0.831958 0.557455 -v 0.439622 0.164783 0.046454 -v 0.403369 0.158676 0.035724 -v 0.454695 0.393247 0.013123 -v 0.498859 0.652598 0.320131 -v 0.478108 0.569070 0.289071 -v 0.518749 0.756759 0.340138 -v 0.527035 0.864085 0.351082 -v 0.550736 0.898387 0.334364 -v 0.544386 1.063371 0.335370 -v 0.545633 0.957967 0.341651 -v 0.533646 1.144131 0.326771 -v 0.422309 0.390526 0.007474 -v 0.113420 0.036204 0.643019 -v 0.134754 0.038875 0.643369 -v 0.135221 0.496068 0.699086 -v 0.113959 0.491977 0.697827 -v 0.100398 0.533113 0.702830 -v 0.121035 0.544521 0.704907 -v 0.076885 0.568295 0.706604 -v 0.093612 0.585987 0.709064 -v 0.041615 0.592176 0.710046 -v 0.050283 0.614831 0.711977 -v 0.432885 0.496493 0.293853 -v 0.400949 0.430460 0.265742 -v 0.096783 0.628475 0.664271 -v 0.052102 0.724350 0.626520 -v 0.138353 1.005327 0.509887 -v 0.263014 0.984554 0.465959 -v 0.365811 0.960416 0.411823 -v 0.394256 0.940253 0.388419 -v 0.410052 0.910315 0.375204 -v 0.419575 0.862522 0.366444 -v 0.380631 0.699220 0.401037 -v 0.349108 0.645921 0.427353 -v 0.323965 0.614964 0.450672 -v 0.278554 0.580382 0.490828 -v 0.300994 0.592376 0.471315 -v 0.254464 0.581187 0.510285 -v 0.215870 0.620817 0.535316 -v 0.557803 0.755616 0.295922 -v 0.546731 0.661016 0.259888 -v 0.531596 0.568778 0.214190 -v 0.503308 0.414580 0.027689 -v 0.523063 0.514749 0.176710 -v 0.512466 0.454397 0.115234 -v 0.566009 0.866797 0.314610 -v 0.335534 0.135443 0.125461 -v 0.370979 0.144594 0.147925 -v 0.133099 0.006781 0.635881 -v 0.115421 0.004489 0.635349 -v 0.107225 0.496826 0.657458 -v 0.098172 0.534477 0.662574 -v 0.078210 0.567301 0.665019 -v 0.042684 0.588742 0.667999 -v 0.138654 0.035774 0.498835 -v 0.177433 0.045028 0.511062 -v 0.232130 0.302131 0.350816 -v 0.394011 0.379101 0.048138 -v 0.329111 0.350753 0.175490 -v 0.508459 0.549937 -0.030999 -v 0.447154 0.538399 -0.038645 -v 0.521728 0.703778 -0.084572 -v 0.462647 0.692239 -0.093682 -v 0.541601 0.885421 -0.147515 -v 0.482814 0.888664 -0.158438 -v 0.406864 0.426440 0.035170 -v 0.422535 0.552211 -0.000368 -v 0.437495 0.703889 -0.055161 -v 0.460158 0.902545 -0.122292 -v 0.511690 0.951481 0.370465 -v 0.119837 0.785737 0.545637 -v 0.065203 0.830441 0.550092 -v 0.000000 0.847636 0.551977 -v 0.318931 0.563527 0.473299 -v 0.325282 0.505009 0.439221 -v 0.347680 0.478912 0.441207 -v 0.233389 0.598793 0.525692 -v 0.241209 0.558521 0.519476 -v 0.239296 0.542350 0.529470 -v 0.216445 0.488345 0.537085 -v 0.216352 0.460240 0.561593 -v 0.135568 0.289508 0.673741 -v 0.114279 0.286852 0.673442 -v 0.109956 0.290610 0.632618 -v 0.462678 0.445515 0.162601 -v 0.475992 0.504367 0.232227 -v 0.419538 0.415538 0.178370 -v 0.084165 0.004645 0.599219 -v 0.084146 0.352002 0.640173 -v 0.084146 0.482690 0.655758 -v 0.078088 0.516461 0.660174 -v 0.061269 0.547527 0.662898 -v 0.033034 0.565643 0.665350 -v 0.000000 0.572762 0.665373 -v 0.000000 0.569438 0.693598 -v 0.061279 0.544283 0.690643 -v 0.084179 0.479331 0.683015 -v 0.033134 0.562394 0.692770 -v 0.078102 0.513276 0.687002 -v 0.084179 0.347638 0.662632 -v 0.084179 0.353069 0.668186 -v 0.084179 0.340460 0.666706 -v -0.151477 0.524575 0.652958 -v -0.183508 0.569029 0.586468 -v -0.131329 0.580069 0.661848 -v -0.160737 0.631269 0.602314 -v -0.052102 0.724350 0.626520 -v -0.053560 0.774530 0.633427 -v -0.049247 0.664280 0.667001 -v -0.311559 0.308788 0.348438 -v -0.293295 0.114109 0.276156 -v -0.378840 0.342231 0.214617 -v -0.370979 0.144594 0.147925 -v -0.198080 0.521331 0.574546 -v -0.209450 0.536520 0.545413 -v -0.267398 0.403558 0.503948 -v -0.306543 0.432843 0.469860 -v -0.256090 0.441711 0.491998 -v -0.285742 0.459568 0.464178 -v -0.165325 0.437671 0.633861 -v -0.247100 0.266255 0.460384 -v -0.227388 0.078784 0.397485 -v -0.411737 0.577071 0.405239 -v -0.450381 0.650863 0.385873 -v -0.391126 0.593584 0.404410 -v -0.423157 0.665068 0.384484 -v -0.485704 0.759030 0.374794 -v -0.455839 0.767810 0.367329 -v -0.459864 0.861942 0.364012 -v -0.486272 0.860457 0.381569 -v -0.441495 0.926861 0.380699 -v -0.464600 0.938004 0.400564 -v -0.433231 0.969863 0.422984 -v -0.412950 0.958719 0.400066 -v -0.282018 1.019372 0.506357 -v -0.268596 1.001637 0.475054 -v -0.384666 0.993819 0.454111 -v -0.373370 0.975991 0.421316 -v -0.142861 1.038352 0.553143 -v -0.140747 1.022724 0.522858 -v -0.478108 0.569070 0.289071 -v -0.498859 0.652598 0.320131 -v -0.518749 0.756759 0.340138 -v -0.527035 0.864085 0.351082 -v -0.382002 0.526733 0.421956 -v -0.358028 0.549805 0.420654 -v -0.283231 1.129298 0.472519 -v -0.407676 1.103160 0.412405 -v -0.142742 1.145411 0.517657 -v -0.511691 0.951481 0.370465 -v -0.475980 1.051464 0.381820 -v -0.436937 1.273467 0.377742 -v -0.509148 1.215159 0.336059 -v -0.304083 1.289812 0.450362 -v -0.143813 1.298790 0.497732 -v -0.115421 0.004489 0.635349 -v -0.110535 0.005395 0.599741 -v -0.133099 0.006781 0.635881 -v -0.144636 0.007877 0.604104 -v -0.197066 0.074325 0.379573 -v -0.260152 0.107644 0.254081 -v -0.335534 0.135443 0.125461 -v -0.177433 0.045028 0.511062 -v -0.138654 0.035774 0.498835 -v -0.237847 0.407594 0.541883 -v -0.231621 0.449564 0.516437 -v -0.186382 0.271672 0.580150 -v -0.057506 0.797335 0.602919 -v -0.098130 0.758054 0.597822 -v -0.089181 0.737425 0.627349 -v -0.125738 0.710486 0.599078 -v -0.114890 0.690102 0.619225 -v -0.202006 0.604862 0.553457 -v -0.173035 0.649694 0.573047 -v -0.221625 0.567634 0.541178 -v -0.261032 0.532563 0.515138 -v -0.289939 0.540541 0.495245 -v -0.369494 0.625951 0.429479 -v -0.403228 0.683902 0.400076 -v -0.434630 0.774993 0.376796 -v -0.444187 0.859839 0.371886 -v -0.394256 0.940253 0.388419 -v -0.410053 0.910315 0.375204 -v -0.263014 0.984554 0.465959 -v -0.365811 0.960416 0.411823 -v -0.138353 1.005327 0.509887 -v -0.342018 0.588721 0.453890 -v -0.325282 0.505009 0.439221 -v -0.318931 0.563527 0.473299 -v -0.419575 0.862522 0.366444 -v -0.411293 0.784139 0.372012 -v -0.388978 0.692028 0.396861 -v -0.358286 0.634576 0.424258 -v -0.331282 0.598798 0.447604 -v -0.309166 0.574121 0.466919 -v -0.281628 0.555508 0.488272 -v -0.258024 0.548682 0.507222 -v -0.223743 0.580733 0.532442 -v -0.205910 0.611484 0.542729 -v -0.178827 0.658546 0.552711 -v -0.141059 0.725485 0.557956 -v -0.108768 0.774398 0.560327 -v -0.061667 0.811050 0.570191 -v -0.190511 0.669141 0.544146 -v -0.154331 0.735616 0.545874 -v -0.120866 0.788022 0.551539 -v -0.065878 0.831958 0.557455 -v -0.566009 0.866797 0.314610 -v -0.557803 0.755616 0.295922 -v -0.403369 0.158676 0.035724 -v -0.422309 0.390526 0.007474 -v -0.439623 0.164783 0.046454 -v -0.454695 0.393247 0.013123 -v -0.232130 0.302131 0.350816 -v -0.329112 0.350753 0.175490 -v -0.169721 0.247278 0.492525 -v -0.394011 0.379101 0.048138 -v -0.113420 0.036204 0.643019 -v -0.134754 0.038875 0.643369 -v -0.114279 0.286852 0.673442 -v -0.135568 0.289508 0.673741 -v -0.121036 0.544521 0.704907 -v -0.100398 0.533113 0.702830 -v -0.135221 0.496068 0.699086 -v -0.113959 0.491977 0.697827 -v -0.093612 0.585987 0.709064 -v -0.076885 0.568295 0.706604 -v -0.050284 0.614831 0.711977 -v -0.041615 0.592176 0.710046 -v -0.347680 0.478912 0.441207 -v -0.400949 0.430460 0.265742 -v -0.432885 0.496493 0.293853 -v -0.419538 0.415538 0.178370 -v -0.475992 0.504367 0.232227 -v -0.546731 0.661016 0.259888 -v -0.096783 0.628475 0.664271 -v -0.380631 0.699220 0.401037 -v -0.349108 0.645921 0.427353 -v -0.323965 0.614964 0.450672 -v -0.278554 0.580382 0.490828 -v -0.300994 0.592376 0.471315 -v -0.254465 0.581187 0.510285 -v -0.233389 0.598793 0.525692 -v -0.215870 0.620817 0.535316 -v -0.065203 0.830441 0.550092 -v -0.119838 0.785737 0.545637 -v -0.550737 0.898387 0.334364 -v -0.533646 1.144131 0.326771 -v -0.544386 1.063371 0.335370 -v -0.508459 0.549937 -0.030999 -v -0.503308 0.414580 0.027689 -v -0.042684 0.588742 0.667999 -v -0.078210 0.567301 0.665019 -v -0.098173 0.534477 0.662574 -v -0.107225 0.496826 0.657458 -v -0.109956 0.290610 0.632618 -v -0.084165 0.004645 0.599219 -v -0.216445 0.488345 0.537085 -v -0.216353 0.460240 0.561593 -v -0.239297 0.542350 0.529470 -v -0.241209 0.558521 0.519476 -v -0.447154 0.538399 -0.038645 -v -0.521729 0.703778 -0.084572 -v -0.462647 0.692239 -0.093682 -v -0.541601 0.885421 -0.147515 -v -0.482814 0.888664 -0.158438 -v -0.406864 0.426440 0.035170 -v -0.422535 0.552211 -0.000368 -v -0.437495 0.703889 -0.055161 -v -0.460158 0.902545 -0.122292 -v -0.512467 0.454397 0.115234 -v -0.462678 0.445515 0.162601 -v -0.545633 0.957967 0.341651 -v -0.523063 0.514749 0.176710 -v -0.531596 0.568778 0.214190 -v -0.084146 0.352002 0.640173 -v -0.084146 0.482690 0.655758 -v -0.078088 0.516461 0.660174 -v -0.061269 0.547527 0.662898 -v -0.033034 0.565643 0.665350 -v -0.033135 0.562394 0.692770 -v -0.078102 0.513276 0.687002 -v -0.084179 0.479331 0.683015 -v -0.061279 0.544283 0.690643 -v -0.084179 0.001562 0.626712 -v -0.084179 0.340460 0.666706 -v -0.084179 0.347638 0.662632 -v -0.084179 0.353069 0.668186 -v 0.472678 0.498641 0.495580 -v 0.455134 0.363052 0.415115 -v 0.495820 0.677998 0.552178 -v 0.508480 0.873301 0.617343 -v 0.418954 1.198035 0.746808 -v 0.226891 1.228586 0.775409 -v 0.000000 1.239688 0.783618 -v 0.507938 0.922792 0.636298 -v 0.498280 1.034902 0.679668 -v 0.463011 1.172257 0.732715 -v 0.526901 0.501753 0.487367 -v 0.503139 0.380206 0.406528 -v 0.557002 0.682570 0.546605 -v 0.557258 0.890442 0.616173 -v 0.440330 1.260757 0.756994 -v 0.237063 1.291562 0.788802 -v 0.000000 1.303438 0.798479 -v 0.551565 1.044372 0.673726 -v 0.519555 1.199309 0.727544 -v 0.578629 0.860338 0.602969 -v 0.453456 0.387867 0.009125 -v 0.514033 0.413414 0.006748 -v 0.538383 0.540815 -0.041315 -v 0.563228 0.698624 -0.097146 -v 0.578629 0.889788 -0.165692 -v 0.401001 1.304767 0.242620 -v 0.335796 1.309552 0.340186 -v 0.121185 1.312348 0.465164 -v 0.000000 1.311687 0.475739 -v 0.556904 0.925710 -0.185852 -v 0.553961 0.965324 -0.221030 -v 0.547991 1.040282 -0.269386 -v 0.533706 1.185715 -0.306229 -v 0.460050 0.394654 0.460563 -v 0.507153 0.403294 0.446925 -v 0.485571 1.116606 0.710684 -v 0.535991 1.130023 0.705238 -v 0.542214 1.125565 -0.298134 -v 0.531238 0.518132 0.263921 -v 0.559660 0.689425 0.272826 -v 0.578629 0.873101 0.278899 -v 0.557889 0.905482 0.281533 -v 0.551597 1.042421 0.292352 -v 0.539814 1.135696 0.301089 -v 0.518906 1.213291 0.458865 -v 0.454415 0.367847 0.251116 -v 0.507363 0.391047 0.248269 -v 0.521461 1.231712 -0.295396 -v 0.551526 1.040605 -0.117034 -v 0.544234 1.105747 -0.107437 -v 0.462265 1.300027 0.118026 -v 0.521878 1.217109 0.125659 -v 0.497751 1.296740 -0.210064 -v 0.439391 1.282255 0.525135 -v 0.237065 1.307015 0.594925 -v 0.000000 1.310493 0.630779 -v 0.457592 0.372454 0.442336 -v 0.504071 0.386924 0.431313 -v 0.509748 1.274034 -0.264504 -v 0.457855 0.385287 0.432539 -v 0.454862 0.383365 0.250964 -v 0.455654 0.378042 0.411305 -v 0.460638 1.175477 0.718840 -v 0.417039 1.199882 0.732548 -v 0.495675 0.682478 0.538474 -v 0.472448 0.503090 0.481931 -v 0.508165 0.878296 0.603678 -v 0.225296 1.229162 0.761042 -v 0.000000 1.239799 0.766477 -v 0.497310 1.039942 0.666166 -v 0.507395 0.928064 0.622852 -v 0.483919 1.120965 0.697020 -v 0.459794 0.402406 0.446365 -v 0.496029 0.399310 0.418886 -v 0.524404 0.529557 0.264265 -v 0.499299 0.405394 0.253953 -v 0.496064 0.396443 0.403086 -v 0.493704 1.202905 0.706920 -v 0.491877 1.222469 0.271484 -v 0.432994 1.237217 0.726031 -v 0.406565 1.283041 0.245873 -v 0.545063 0.682278 0.529418 -v 0.548665 0.682341 0.276431 -v 0.514660 0.503906 0.469355 -v 0.558168 0.861778 0.586649 -v 0.561787 0.869876 0.282683 -v 0.227789 1.268357 0.761172 -v 0.344000 1.286400 0.347772 -v 0.123232 1.293313 0.475684 -v 0.000000 1.276835 0.764351 -v 0.000000 1.291718 0.487812 -v 0.544438 0.891741 0.598331 -v 0.547857 0.901451 0.284972 -v 0.533694 1.044316 0.657349 -v 0.542418 1.041574 0.280644 -v 0.541725 0.940231 0.285367 -v 0.538157 0.929880 0.613045 -v 0.523336 1.130394 0.687416 -v 0.532723 1.127003 0.276865 -v 0.438828 1.287197 0.115931 -v 0.467218 1.288406 -0.109583 -v 0.497531 0.413366 0.432461 -v 0.417627 1.255699 0.520493 -v 0.573825 0.913823 -0.177280 -v 0.573955 0.895149 0.280376 -v 0.574051 0.881109 0.610551 -v 0.435214 1.306286 0.112960 -v 0.483731 1.303610 -0.110598 -v 0.460597 1.307026 -0.109257 -v 0.517924 1.185677 -0.279932 -v 0.527570 1.125716 -0.273598 -v 0.533346 1.041535 -0.244216 -v 0.538489 0.966120 -0.193288 -v 0.545807 0.923712 -0.158500 -v 0.559396 0.890681 -0.141981 -v 0.541768 0.699706 -0.078683 -v 0.522827 0.542499 -0.018996 -v 0.502348 0.421501 0.023788 -v 0.454188 0.400027 0.020421 -v 0.490524 1.185677 -0.282528 -v 0.493804 1.125716 -0.277663 -v 0.490550 1.185908 -0.305724 -v 0.493268 1.125560 -0.301537 -v 0.498703 1.041535 -0.252803 -v 0.498387 1.041395 -0.273887 -v 0.502402 0.966120 -0.203136 -v 0.501880 0.968429 -0.229786 -v 0.501328 0.910853 -0.182371 -v 0.501295 0.908990 -0.160008 -v 0.496870 0.699706 -0.084306 -v 0.496949 0.701241 -0.103441 -v 0.477537 0.542852 -0.032825 -v 0.477593 0.543778 -0.048374 -v 0.497124 1.262500 -0.242720 -v 0.509349 1.220731 -0.273629 -v 0.490045 1.279480 -0.202366 -v 0.485872 1.230418 -0.296101 -v 0.486558 1.220731 -0.276225 -v 0.478962 1.262500 -0.247944 -v 0.477158 1.274252 -0.264501 -v 0.467497 1.298303 -0.209259 -v 0.470183 1.284062 -0.202366 -v 0.516461 1.240163 -0.107947 -v 0.524456 1.220080 -0.155722 -v 0.534875 1.172294 -0.175250 -v 0.542633 1.125781 -0.154095 -v 0.534875 1.173073 -0.039573 -v 0.524411 1.219834 -0.058684 -v 0.540902 1.125098 -0.060120 -v 0.534875 1.111311 -0.107437 -v 0.534875 1.128549 -0.151332 -v 0.534875 1.237813 -0.108846 -v 0.534875 1.218874 -0.154189 -v 0.534875 1.128377 -0.063540 -v 0.534875 1.218432 -0.061318 -v 0.473441 1.302867 -0.010762 -v 0.452160 1.306359 -0.010008 -v 0.457523 1.287529 -0.009930 -v 0.529670 1.121062 -0.010335 -v 0.465373 1.263467 0.126383 -v 0.515162 1.259525 -0.190287 -v 0.507844 1.272916 -0.111218 -v 0.504476 1.273514 -0.025759 -v 0.526132 1.220835 -0.227576 -v 0.497090 1.270667 0.125320 -v 0.488818 1.255423 0.493359 -v 0.490346 1.237550 0.741165 -v 0.443790 1.189769 0.740555 -v 0.441632 1.192343 0.726499 -v 0.467913 1.224439 0.715903 -v 0.469037 1.237820 0.508236 -v 0.245138 1.311425 0.423078 -v 0.247845 1.290506 0.430310 -v 0.440425 1.267422 0.260726 -v 0.476756 1.273515 -0.009293 -v 0.482988 1.277877 -0.109284 -v 0.502717 1.204145 0.512725 -v 0.501746 1.227849 -0.007411 -v 0.505001 1.225114 -0.109696 -v -0.524404 0.529557 0.264265 -v -0.499299 0.405394 0.253953 -v -0.496064 0.396443 0.403086 -v -0.491877 1.222469 0.271484 -v -0.440425 1.267422 0.260726 -v -0.465373 1.263467 0.126383 -v -0.460050 0.394654 0.460563 -v -0.507153 0.403294 0.446925 -v -0.472678 0.498641 0.495580 -v -0.526901 0.501753 0.487367 -v -0.495820 0.677998 0.552178 -v -0.557002 0.682570 0.546605 -v -0.578629 0.860338 0.602969 -v -0.508480 0.873301 0.617343 -v -0.226891 1.228586 0.775409 -v -0.418954 1.198035 0.746808 -v -0.237063 1.291562 0.788802 -v -0.440330 1.260757 0.756994 -v -0.557258 0.890442 0.616173 -v -0.507938 0.922792 0.636298 -v -0.498280 1.034902 0.679668 -v -0.551565 1.044372 0.673726 -v -0.443790 1.189769 0.740555 -v -0.463011 1.172257 0.732715 -v -0.490346 1.237550 0.741165 -v -0.519555 1.199309 0.727544 -v -0.485571 1.116606 0.710684 -v -0.535991 1.130023 0.705238 -v -0.455134 0.363052 0.415115 -v -0.454415 0.367847 0.251116 -v -0.503139 0.380206 0.406528 -v -0.507363 0.391047 0.248269 -v -0.531238 0.518132 0.263921 -v -0.559660 0.689425 0.272826 -v -0.578629 0.873101 0.278899 -v -0.237065 1.307015 0.594925 -v -0.439391 1.282255 0.525135 -v -0.551597 1.042421 0.292352 -v -0.557889 0.905482 0.281533 -v -0.488818 1.255423 0.493359 -v -0.518906 1.213291 0.458865 -v -0.539814 1.135696 0.301089 -v -0.574051 0.881109 0.610551 -v -0.573955 0.895149 0.280376 -v -0.457592 0.372454 0.442336 -v -0.504071 0.386924 0.431313 -v -0.545063 0.682278 0.529418 -v -0.548665 0.682341 0.276431 -v -0.514660 0.503906 0.469355 -v -0.561787 0.869876 0.282683 -v -0.558168 0.861778 0.586649 -v -0.247845 1.290506 0.430310 -v -0.227789 1.268357 0.761172 -v -0.123232 1.293313 0.475684 -v -0.547857 0.901451 0.284972 -v -0.544438 0.891741 0.598331 -v -0.533694 1.044316 0.657349 -v -0.542418 1.041574 0.280644 -v -0.538157 0.929880 0.613045 -v -0.541725 0.940231 0.285367 -v -0.523336 1.130394 0.687416 -v -0.532723 1.127003 0.276865 -v -0.502717 1.204145 0.512725 -v -0.493704 1.202905 0.706920 -v -0.521878 1.217109 0.125659 -v -0.478962 1.262500 -0.247944 -v -0.477158 1.274252 -0.264501 -v -0.486558 1.220731 -0.276225 -v -0.485872 1.230418 -0.296101 -v -0.470183 1.284062 -0.202366 -v -0.467497 1.298303 -0.209259 -v -0.517924 1.185677 -0.279932 -v -0.527570 1.125716 -0.273598 -v -0.529670 1.121062 -0.010335 -v -0.533346 1.041535 -0.244216 -v -0.538489 0.966120 -0.193288 -v -0.559396 0.890681 -0.141981 -v -0.545807 0.923712 -0.158500 -v -0.541768 0.699706 -0.078683 -v -0.522827 0.542499 -0.018996 -v -0.502348 0.421501 0.023788 -v -0.514033 0.413414 0.006748 -v -0.453456 0.387867 0.009125 -v -0.538383 0.540815 -0.041315 -v -0.563228 0.698624 -0.097146 -v -0.578629 0.889788 -0.165692 -v -0.573825 0.913823 -0.177280 -v -0.556904 0.925710 -0.185852 -v -0.551526 1.040605 -0.117034 -v -0.245138 1.311425 0.423078 -v -0.335796 1.309552 0.340186 -v -0.401001 1.304767 0.242620 -v -0.462265 1.300027 0.118026 -v -0.121185 1.312348 0.465164 -v -0.497531 0.413366 0.432461 -v -0.454862 0.383365 0.250964 -v -0.455654 0.378042 0.411305 -v -0.457855 0.385287 0.432539 -v -0.441632 1.192343 0.726499 -v -0.460638 1.175477 0.718840 -v -0.495675 0.682478 0.538474 -v -0.472448 0.503090 0.481931 -v -0.508165 0.878296 0.603678 -v -0.417039 1.199882 0.732548 -v -0.225296 1.229162 0.761042 -v -0.497310 1.039942 0.666166 -v -0.507395 0.928064 0.622852 -v -0.483919 1.120965 0.697020 -v -0.454188 0.400027 0.020421 -v -0.459794 0.402406 0.446365 -v -0.496029 0.399310 0.418886 -v -0.467913 1.224439 0.715903 -v -0.432994 1.237217 0.726031 -v -0.469037 1.237820 0.508236 -v -0.496949 0.701241 -0.103441 -v -0.477593 0.543778 -0.048374 -v -0.553961 0.965324 -0.221030 -v -0.501880 0.968429 -0.229786 -v -0.547991 1.040282 -0.269386 -v -0.498387 1.041395 -0.273887 -v -0.542214 1.125565 -0.298134 -v -0.493268 1.125560 -0.301537 -v -0.501328 0.910853 -0.182371 -v -0.533706 1.185715 -0.306229 -v -0.490550 1.185908 -0.305724 -v -0.406565 1.283041 0.245873 -v -0.344000 1.286400 0.347772 -v -0.438828 1.287197 0.115931 -v -0.435214 1.306286 0.112960 -v -0.473441 1.302867 -0.010762 -v -0.452160 1.306359 -0.010008 -v -0.417627 1.255699 0.520493 -v -0.457523 1.287529 -0.009930 -v -0.467218 1.288406 -0.109583 -v -0.460597 1.307026 -0.109257 -v -0.493804 1.125716 -0.277663 -v -0.490524 1.185677 -0.282528 -v -0.498703 1.041535 -0.252803 -v -0.502402 0.966120 -0.203136 -v -0.501295 0.908990 -0.160008 -v -0.496870 0.699706 -0.084306 -v -0.477537 0.542852 -0.032825 -v -0.509349 1.220731 -0.273629 -v -0.497124 1.262500 -0.242720 -v -0.521461 1.231712 -0.295396 -v -0.509748 1.274034 -0.264504 -v -0.497751 1.296740 -0.210064 -v -0.490045 1.279480 -0.202366 -v -0.483731 1.303610 -0.110598 -v -0.501746 1.227849 -0.007411 -v -0.505001 1.225114 -0.109696 -v -0.524456 1.220080 -0.155722 -v -0.534875 1.172294 -0.175250 -v -0.526132 1.220835 -0.227576 -v -0.516461 1.240163 -0.107947 -v -0.507844 1.272916 -0.111218 -v -0.515162 1.259525 -0.190287 -v -0.524411 1.219834 -0.058684 -v -0.504476 1.273514 -0.025759 -v -0.497090 1.270667 0.125320 -v -0.544234 1.105747 -0.107437 -v -0.540902 1.125098 -0.060120 -v -0.542633 1.125781 -0.154095 -v -0.534875 1.111311 -0.107437 -v -0.534875 1.128549 -0.151332 -v -0.534875 1.237813 -0.108846 -v -0.534875 1.218874 -0.154189 -v -0.534875 1.173073 -0.039573 -v -0.534875 1.128377 -0.063540 -v -0.534875 1.218432 -0.061318 -v -0.476756 1.273515 -0.009293 -v -0.482988 1.277877 -0.109284 -v 0.000000 0.275313 -0.663685 -v 0.000000 0.401435 -0.692916 -v 0.000000 0.482880 -0.796468 -v 0.000000 0.553547 -0.851344 -v 0.000000 0.832426 -0.872868 -v 0.000000 0.893900 -0.856622 -v 0.000000 0.927457 -0.832146 -v 0.000000 1.131149 -0.815607 -v 0.000000 1.220981 -0.796999 -v 0.000000 1.284136 -0.768631 -v 0.000000 1.310340 -0.741967 -v 0.000000 0.743029 -0.878336 -v 0.000000 0.425120 -0.718862 -v 0.000000 1.403912 -0.699561 -v 0.000000 1.546331 -0.229220 -v 0.000000 1.540559 -0.376814 -v 0.000000 1.522687 -0.517027 -v 0.000000 1.479294 -0.625103 -v 0.000000 1.543301 -0.073087 -v 0.000000 1.533419 0.076839 -v 0.000000 1.516212 0.199947 -v 0.000000 1.346225 0.433512 -v 0.000000 1.420419 0.392736 -v 0.000000 1.484265 0.311647 -v 0.000000 1.296991 0.443624 -v 0.000000 1.027557 -0.826267 -v 0.000000 0.649856 -0.873601 -v 0.000000 0.378046 -0.678510 -v 0.000000 0.273635 -0.628613 -v 0.000000 1.296991 0.502498 -v 0.466306 0.386360 -0.136250 -v 0.454450 0.392430 -0.287917 -v 0.425859 0.398485 -0.412160 -v 0.368089 0.401568 -0.521642 -v 0.297157 0.403666 -0.596314 -v 0.205207 0.403504 -0.649593 -v 0.105847 0.402057 -0.682957 -v 0.480393 0.409301 -0.301310 -v 0.452650 0.418753 -0.431928 -v 0.390228 0.422728 -0.545312 -v 0.312241 0.424274 -0.619736 -v 0.215618 0.424967 -0.674609 -v 0.111099 0.424687 -0.705398 -v 0.639960 0.513162 -0.272312 -v 0.599536 0.452946 -0.199652 -v 0.565749 0.452970 -0.370140 -v 0.619839 0.518132 -0.424157 -v 0.571177 0.525431 -0.548174 -v 0.523320 0.460508 -0.502629 -v 0.494740 0.534493 -0.657377 -v 0.451475 0.468040 -0.610905 -v 0.395924 0.543049 -0.744076 -v 0.362309 0.473311 -0.693480 -v 0.123652 0.483032 -0.786924 -v 0.245744 0.479214 -0.754807 -v 0.265657 0.549179 -0.808178 -v 0.132838 0.553184 -0.842528 -v 0.661515 0.618840 -0.315200 -v 0.644798 0.622977 -0.442636 -v 0.595960 0.628675 -0.572599 -v 0.513801 0.635011 -0.677834 -v 0.409901 0.641868 -0.763748 -v 0.275951 0.645809 -0.830733 -v 0.136471 0.649791 -0.865248 -v 0.617504 0.863480 -0.269102 -v 0.648789 0.803643 -0.321878 -v 0.621909 0.816086 -0.447824 -v 0.582346 0.882561 -0.430587 -v 0.544359 0.883943 -0.558911 -v 0.574742 0.819434 -0.574193 -v 0.483138 0.885529 -0.663189 -v 0.504765 0.823740 -0.679602 -v 0.270124 0.894651 -0.811084 -v 0.274073 0.830747 -0.832120 -v 0.134353 0.831969 -0.865275 -v 0.126694 0.894325 -0.844375 -v 0.555684 0.924913 -0.215786 -v 0.542490 0.930013 -0.409367 -v 0.506223 0.929637 -0.540696 -v 0.453039 0.926990 -0.643237 -v 0.251092 0.934623 -0.761604 -v 0.131933 0.935714 -0.801735 -v 0.118270 0.928204 -0.817928 -v 0.541290 1.131051 -0.329770 -v 0.522547 1.221382 -0.333103 -v 0.527345 1.130042 -0.414468 -v 0.507335 1.220849 -0.419783 -v 0.466574 1.222041 -0.533019 -v 0.483032 1.131700 -0.538807 -v 0.401709 1.220497 -0.629408 -v 0.423966 1.131922 -0.637852 -v 0.499345 1.281729 -0.300617 -v 0.483534 1.282236 -0.412917 -v 0.440056 1.282233 -0.516511 -v 0.377487 1.282191 -0.611856 -v 0.305615 1.282151 -0.683800 -v 0.322480 1.219805 -0.699842 -v 0.218417 1.284231 -0.727081 -v 0.236803 1.222103 -0.751386 -v 0.135989 1.220931 -0.782210 -v 0.117495 1.283165 -0.757567 -v 0.445922 0.403746 -0.027623 -v 0.505883 0.408960 -0.050173 -v 0.468055 0.381464 -0.035311 -v 0.580665 0.890722 -0.197061 -v 0.138959 0.743105 -0.870690 -v 0.596701 0.725339 -0.578856 -v 0.516370 0.731493 -0.688300 -v 0.642316 0.719345 -0.447379 -v 0.661834 0.716038 -0.329195 -v 0.520064 0.454769 -0.062988 -v 0.548213 0.459164 -0.113006 -v 0.546190 0.422366 -0.110464 -v 0.592898 0.490111 -0.196279 -v 0.620879 0.540437 -0.260291 -v 0.638525 0.622410 -0.295973 -v 0.630203 0.789048 -0.299916 -v 0.608579 0.835674 -0.253307 -v 0.639084 0.716171 -0.308229 -v 0.579652 0.842662 -0.180699 -v 0.561758 0.716544 -0.140073 -v 0.443242 1.310225 -0.388568 -v 0.404913 1.310202 -0.498226 -v 0.349724 1.310198 -0.586795 -v 0.282673 1.309843 -0.654823 -v 0.198588 1.310222 -0.700834 -v 0.106783 1.310295 -0.731039 -v 0.385868 1.400122 -0.400909 -v 0.310421 1.467857 -0.390880 -v 0.266173 1.457967 -0.524738 -v 0.311280 1.398134 -0.549305 -v 0.103505 1.534730 -0.378049 -v 0.099605 1.515760 -0.515166 -v 0.098392 1.474770 -0.620740 -v 0.251767 1.392396 -0.618851 -v 0.196272 1.456735 -0.592215 -v 0.175834 1.395176 -0.666718 -v 0.098528 1.399139 -0.691758 -v 0.180286 1.497351 -0.508038 -v 0.205987 1.515010 -0.381370 -v 0.418065 1.396418 -0.086963 -v 0.401971 1.392277 0.064915 -v 0.338078 1.463460 0.067784 -v 0.344507 1.467198 -0.084766 -v 0.109455 1.537381 -0.075093 -v 0.108976 1.527873 0.075027 -v 0.225309 1.511005 0.071866 -v 0.230138 1.517579 -0.079762 -v 0.314399 1.385814 0.295828 -v 0.278741 1.440388 0.260842 -v 0.314098 1.453090 0.186838 -v 0.372752 1.383205 0.193041 -v 0.211867 1.461839 0.285578 -v 0.225744 1.402438 0.355029 -v 0.110084 1.478708 0.303265 -v 0.110939 1.417340 0.385419 -v 0.108071 1.511040 0.195934 -v 0.214860 1.493880 0.189970 -v 0.495293 1.130906 -0.311334 -v 0.486364 1.216647 -0.318528 -v 0.468907 1.289028 -0.251379 -v 0.473660 1.269780 -0.286016 -v 0.504737 0.925614 -0.191771 -v 0.507862 0.810263 -0.150418 -v 0.495591 0.714721 -0.119267 -v 0.491635 1.132654 -0.106675 -v 0.432580 1.329079 0.074886 -v 0.465204 1.286335 -0.088443 -v 0.450412 1.329108 -0.088832 -v 0.444194 1.291131 0.083885 -v 0.401969 1.292611 0.206764 -v 0.333440 1.292107 0.313494 -v 0.234143 1.294910 0.394789 -v 0.113326 1.296983 0.434097 -v 0.328881 1.326787 0.307695 -v 0.394160 1.326788 0.203723 -v 0.233009 1.336604 0.387698 -v 0.114571 1.344287 0.424379 -v 0.462744 1.311686 -0.259062 -v 0.109254 1.540182 -0.231520 -v 0.229079 1.519875 -0.231583 -v 0.343282 1.468938 -0.231173 -v 0.417230 1.398320 -0.239037 -v 0.471985 0.567307 -0.075478 -v 0.540053 0.567203 -0.095331 -v 0.136825 1.029733 -0.811013 -v 0.147588 1.027527 -0.794752 -v 0.249720 1.023759 -0.756375 -v 0.498972 1.029689 -0.542891 -v 0.441643 1.029899 -0.640491 -v 0.536198 1.028551 -0.419037 -v 0.547465 1.036499 -0.298053 -v 0.501330 1.041592 -0.279615 -v 0.258015 0.928087 -0.777295 -v 0.153096 1.129226 -0.801359 -v 0.162876 1.115404 -0.786713 -v 0.250912 1.115393 -0.756707 -v 0.455484 0.349625 -0.025968 -v 0.450950 0.357358 -0.135180 -v 0.438576 0.364976 -0.278590 -v 0.416686 0.370766 -0.404924 -v 0.359161 0.375531 -0.513272 -v 0.288606 0.376913 -0.584422 -v 0.201735 0.377912 -0.635053 -v 0.105106 0.378058 -0.667741 -v 0.278818 0.741071 -0.838910 -v 0.418408 0.737259 -0.769866 -v 0.566206 0.782571 -0.334788 -v 0.553921 0.735774 -0.319053 -v 0.527469 0.510938 -0.261160 -v 0.545175 0.507375 -0.277553 -v 0.569095 0.515103 -0.296617 -v 0.593006 0.554095 -0.321349 -v 0.605831 0.626748 -0.341959 -v 0.599099 0.764999 -0.356748 -v 0.585171 0.784938 -0.352159 -v 0.608177 0.717896 -0.357361 -v 0.529242 0.562382 -0.273853 -v 0.344794 1.128248 -0.717305 -v 0.367282 1.027340 -0.714399 -v 0.384778 0.927942 -0.710487 -v 0.402272 0.889632 -0.739208 -v 0.412484 0.828200 -0.759841 -v 0.365095 0.934093 -0.708841 -v 0.347186 1.025898 -0.709747 -v 0.255804 1.130180 -0.766157 -v 0.328548 1.115315 -0.714309 -v 0.401698 0.161159 0.035348 -v 0.377051 0.160724 0.006376 -v 0.368521 0.406688 0.091378 -v 0.343597 0.404088 0.094562 -v 0.413219 0.715576 0.027679 -v 0.436055 0.716322 0.023696 -v 0.382800 0.574088 0.054618 -v 0.404840 0.573925 0.050695 -v 0.331589 0.254574 0.135128 -v 0.303326 0.254948 0.136872 -v 0.320307 0.205128 0.145554 -v 0.292115 0.205551 0.145640 -v 0.432841 0.801786 0.021187 -v 0.455617 0.802996 0.018481 -v 0.337860 0.157653 0.114579 -v 0.311484 0.156788 0.114977 -v 0.295638 0.172621 0.137148 -v 0.324782 0.174236 0.135367 -v 0.415282 0.162208 0.019281 -v 0.349958 0.233448 -0.504833 -v 0.399038 0.215040 -0.405576 -v 0.285763 0.249069 -0.573785 -v 0.101710 0.271338 -0.652303 -v 0.421193 0.195600 -0.276785 -v 0.426462 0.177916 -0.130665 -v 0.198180 0.262088 -0.622766 -v 0.322960 0.231834 -0.482911 -v 0.365646 0.212881 -0.392210 -v 0.264730 0.247261 -0.545574 -v 0.094875 0.269410 -0.617867 -v 0.386129 0.193272 -0.273976 -v 0.391105 0.175399 -0.131456 -v 0.185617 0.260371 -0.590118 -v 0.480064 1.136059 0.081115 -v 0.487545 0.819099 0.080478 -v 0.432745 0.818974 0.083847 -v 0.467901 1.284465 0.089812 -v 0.445221 1.289194 0.217243 -v 0.375291 1.292107 0.352815 -v 0.263750 1.294910 0.452360 -v 0.127368 1.296983 0.489311 -v 0.500087 1.137085 0.083727 -v 0.507598 0.816962 0.082356 -v 0.378612 0.402151 -0.029888 -v 0.352383 0.438381 -0.235280 -v 0.352669 0.408344 -0.049001 -v 0.512539 0.970340 0.083013 -v 0.492501 0.970961 0.080783 -v 0.502190 0.964727 -0.102247 -v 0.363441 0.220628 0.091202 -v 0.555135 0.924435 -0.296496 -v 0.534707 0.472766 -0.108628 -v 0.385031 0.311832 -0.044641 -v 0.389544 0.345010 -0.250336 -v 0.374571 0.365985 -0.367508 -v 0.336980 0.385292 -0.460572 -v 0.282361 0.399908 -0.526535 -v 0.200756 0.413689 -0.577795 -v 0.104426 0.424403 -0.610495 -v 0.000000 0.426302 -0.622922 -v 0.000000 0.518012 -0.581708 -v 0.095767 0.514240 -0.569918 -v 0.181719 0.504288 -0.533168 -v 0.250913 0.491717 -0.481709 -v 0.303037 0.475351 -0.416525 -v 0.335127 0.460809 -0.336618 -v 0.000000 0.443393 -0.583372 -v 0.351251 0.330560 -0.061170 -v 0.353121 0.362843 -0.247197 -v 0.094819 0.437749 -0.574202 -v 0.180289 0.427513 -0.539896 -v 0.250278 0.414870 -0.491564 -v 0.303258 0.400518 -0.429420 -v 0.335573 0.384386 -0.350114 -v 0.308468 0.200412 0.127973 -v 0.366319 0.181806 0.035711 -v 0.368809 0.228761 0.029032 -v 0.314214 0.247332 0.123412 -v 0.307475 0.243242 0.115479 -v 0.360379 0.226428 0.028026 -v 0.303706 0.202899 0.120956 -v 0.356610 0.186085 0.033502 -v -0.466306 0.386360 -0.136250 -v -0.468055 0.381464 -0.035311 -v -0.450950 0.357358 -0.135180 -v -0.455484 0.349625 -0.025968 -v -0.425859 0.398485 -0.412160 -v -0.454450 0.392430 -0.287917 -v -0.416686 0.370766 -0.404924 -v -0.438576 0.364976 -0.278590 -v -0.368089 0.401568 -0.521642 -v -0.359161 0.375531 -0.513272 -v -0.297157 0.403666 -0.596314 -v -0.288606 0.376913 -0.584422 -v -0.105847 0.402057 -0.682957 -v -0.205207 0.403504 -0.649593 -v -0.105106 0.378058 -0.667741 -v -0.201735 0.377912 -0.635053 -v -0.480393 0.409301 -0.301310 -v -0.452650 0.418753 -0.431928 -v -0.390228 0.422728 -0.545312 -v -0.312241 0.424274 -0.619736 -v -0.215618 0.424967 -0.674609 -v -0.111099 0.424687 -0.705398 -v -0.599536 0.452946 -0.199652 -v -0.565749 0.452970 -0.370140 -v -0.639960 0.513162 -0.272312 -v -0.619839 0.518132 -0.424157 -v -0.523320 0.460508 -0.502629 -v -0.571177 0.525431 -0.548174 -v -0.451475 0.468040 -0.610905 -v -0.494740 0.534493 -0.657377 -v -0.362309 0.473311 -0.693480 -v -0.395924 0.543049 -0.744076 -v -0.245744 0.479214 -0.754807 -v -0.123652 0.483032 -0.786924 -v -0.265657 0.549179 -0.808178 -v -0.132838 0.553184 -0.842528 -v -0.661515 0.618840 -0.315200 -v -0.644798 0.622977 -0.442636 -v -0.595960 0.628675 -0.572599 -v -0.513801 0.635011 -0.677834 -v -0.409901 0.641868 -0.763748 -v -0.275951 0.645809 -0.830733 -v -0.136471 0.649791 -0.865248 -v -0.617504 0.863480 -0.269102 -v -0.648789 0.803643 -0.321878 -v -0.582346 0.882561 -0.430587 -v -0.621909 0.816086 -0.447824 -v -0.574742 0.819434 -0.574193 -v -0.544359 0.883943 -0.558911 -v -0.504765 0.823740 -0.679602 -v -0.483138 0.885529 -0.663189 -v -0.134353 0.831969 -0.865275 -v -0.126694 0.894325 -0.844375 -v -0.542490 0.930013 -0.409367 -v -0.506223 0.929637 -0.540696 -v -0.453039 0.926990 -0.643237 -v -0.384778 0.927942 -0.710487 -v -0.402272 0.889632 -0.739208 -v -0.258015 0.928087 -0.777295 -v -0.270124 0.894651 -0.811084 -v -0.118270 0.928204 -0.817928 -v -0.536198 1.028551 -0.419037 -v -0.547465 1.036499 -0.298053 -v -0.555135 0.924435 -0.296496 -v -0.555684 0.924913 -0.215786 -v -0.498972 1.029689 -0.542891 -v -0.441643 1.029899 -0.640491 -v -0.365095 0.934093 -0.708841 -v -0.251092 0.934623 -0.761604 -v -0.347186 1.025898 -0.709747 -v -0.249720 1.023759 -0.756375 -v -0.131933 0.935714 -0.801735 -v -0.147588 1.027527 -0.794752 -v -0.136825 1.029733 -0.811013 -v -0.541290 1.131051 -0.329770 -v -0.527345 1.130042 -0.414468 -v -0.522547 1.221382 -0.333103 -v -0.507335 1.220849 -0.419783 -v -0.483032 1.131700 -0.538807 -v -0.466574 1.222041 -0.533019 -v -0.423966 1.131922 -0.637852 -v -0.401709 1.220497 -0.629408 -v -0.499345 1.281729 -0.300617 -v -0.483534 1.282236 -0.412917 -v -0.440056 1.282233 -0.516511 -v -0.377487 1.282191 -0.611856 -v -0.322480 1.219805 -0.699842 -v -0.305615 1.282151 -0.683800 -v -0.236803 1.222103 -0.751386 -v -0.218417 1.284231 -0.727081 -v -0.135989 1.220931 -0.782210 -v -0.117495 1.283165 -0.757567 -v -0.462744 1.311686 -0.259062 -v -0.443242 1.310225 -0.388568 -v -0.404913 1.310202 -0.498226 -v -0.349724 1.310198 -0.586795 -v -0.282673 1.309843 -0.654823 -v -0.198588 1.310222 -0.700834 -v -0.106783 1.310295 -0.731039 -v -0.504737 0.925614 -0.191771 -v -0.501330 1.041592 -0.279615 -v -0.495293 1.130906 -0.311334 -v -0.486364 1.216647 -0.318528 -v -0.468907 1.289028 -0.251379 -v -0.473660 1.269780 -0.286016 -v -0.445922 0.403746 -0.027623 -v -0.505883 0.408960 -0.050173 -v -0.507862 0.810263 -0.150418 -v -0.579652 0.842662 -0.180699 -v -0.561758 0.716544 -0.140073 -v -0.495591 0.714721 -0.119267 -v -0.580665 0.890722 -0.197061 -v -0.138959 0.743105 -0.870690 -v -0.418408 0.737259 -0.769866 -v -0.278818 0.741071 -0.838910 -v -0.412484 0.828200 -0.759841 -v -0.274073 0.830747 -0.832120 -v -0.596701 0.725339 -0.578856 -v -0.516370 0.731493 -0.688300 -v -0.642316 0.719345 -0.447379 -v -0.661834 0.716038 -0.329195 -v -0.546190 0.422366 -0.110464 -v -0.520064 0.454769 -0.062988 -v -0.548213 0.459164 -0.113006 -v -0.620879 0.540437 -0.260291 -v -0.592898 0.490111 -0.196279 -v -0.638525 0.622410 -0.295973 -v -0.608579 0.835674 -0.253307 -v -0.630203 0.789048 -0.299916 -v -0.639084 0.716171 -0.308229 -v -0.553921 0.735774 -0.319053 -v -0.566206 0.782571 -0.334788 -v -0.534707 0.472766 -0.108628 -v -0.527469 0.510938 -0.261160 -v -0.545175 0.507375 -0.277553 -v -0.569095 0.515103 -0.296617 -v -0.593006 0.554095 -0.321349 -v -0.605831 0.626748 -0.341959 -v -0.585171 0.784938 -0.352159 -v -0.599099 0.764999 -0.356748 -v -0.608177 0.717896 -0.357361 -v -0.540053 0.567203 -0.095331 -v -0.471985 0.567307 -0.075478 -v -0.529242 0.562382 -0.273853 -v -0.385868 1.400122 -0.400909 -v -0.311280 1.398134 -0.549305 -v -0.251767 1.392396 -0.618851 -v -0.175834 1.395176 -0.666718 -v -0.098528 1.399139 -0.691758 -v -0.266173 1.457967 -0.524738 -v -0.310421 1.467857 -0.390880 -v -0.103505 1.534730 -0.378049 -v -0.099605 1.515760 -0.515166 -v -0.098392 1.474770 -0.620740 -v -0.196272 1.456735 -0.592215 -v -0.180286 1.497351 -0.508038 -v -0.205987 1.515010 -0.381370 -v -0.418065 1.396418 -0.086963 -v -0.344507 1.467198 -0.084766 -v -0.401971 1.392277 0.064915 -v -0.338078 1.463460 0.067784 -v -0.109455 1.537381 -0.075093 -v -0.108976 1.527873 0.075027 -v -0.230138 1.517579 -0.079762 -v -0.225309 1.511005 0.071866 -v -0.314399 1.385814 0.295828 -v -0.372752 1.383205 0.193041 -v -0.278741 1.440388 0.260842 -v -0.314098 1.453090 0.186838 -v -0.211867 1.461839 0.285578 -v -0.225744 1.402438 0.355029 -v -0.110939 1.417340 0.385419 -v -0.110084 1.478708 0.303265 -v -0.108071 1.511040 0.195934 -v -0.214860 1.493880 0.189970 -v -0.491635 1.132654 -0.106675 -v -0.465204 1.286335 -0.088443 -v -0.502190 0.964727 -0.102247 -v -0.444194 1.291131 0.083885 -v -0.480064 1.136059 0.081115 -v -0.432580 1.329079 0.074886 -v -0.450412 1.329108 -0.088832 -v -0.333440 1.292107 0.313494 -v -0.401969 1.292611 0.206764 -v -0.328881 1.326787 0.307695 -v -0.394160 1.326788 0.203723 -v -0.234143 1.294910 0.394789 -v -0.233009 1.336604 0.387698 -v -0.114571 1.344287 0.424379 -v -0.113326 1.296983 0.434097 -v -0.109254 1.540182 -0.231520 -v -0.229079 1.519875 -0.231583 -v -0.343282 1.468938 -0.231173 -v -0.417230 1.398320 -0.239037 -v -0.404840 0.573925 0.050695 -v -0.368521 0.406688 0.091378 -v -0.153096 1.129226 -0.801359 -v -0.250912 1.115393 -0.756707 -v -0.162876 1.115404 -0.786713 -v -0.328548 1.115315 -0.714309 -v -0.401698 0.161159 0.035348 -v -0.363441 0.220628 0.091202 -v -0.337860 0.157653 0.114579 -v -0.415282 0.162208 0.019281 -v -0.426462 0.177916 -0.130665 -v -0.421193 0.195600 -0.276785 -v -0.399038 0.215040 -0.405576 -v -0.349958 0.233448 -0.504833 -v -0.285763 0.249069 -0.573785 -v -0.101710 0.271338 -0.652303 -v -0.198180 0.262088 -0.622766 -v -0.436055 0.716322 0.023696 -v -0.344794 1.128248 -0.717305 -v -0.367282 1.027340 -0.714399 -v -0.255804 1.130180 -0.766157 -v -0.331589 0.254574 0.135128 -v -0.492501 0.970961 0.080783 -v -0.455617 0.802996 0.018481 -v -0.487545 0.819099 0.080478 -v -0.320307 0.205128 0.145554 -v -0.311484 0.156788 0.114977 -v -0.377051 0.160724 0.006376 -v -0.382800 0.574088 0.054618 -v -0.343597 0.404088 0.094562 -v -0.303326 0.254948 0.136872 -v -0.413219 0.715576 0.027679 -v -0.292115 0.205551 0.145640 -v -0.432841 0.801786 0.021187 -v -0.432745 0.818974 0.083847 -v -0.324782 0.174236 0.135367 -v -0.295638 0.172621 0.137148 -v -0.322960 0.231834 -0.482911 -v -0.365646 0.212881 -0.392210 -v -0.264730 0.247261 -0.545574 -v -0.094875 0.269410 -0.617867 -v -0.386129 0.193272 -0.273976 -v -0.391105 0.175399 -0.131456 -v -0.185617 0.260371 -0.590118 -v -0.445221 1.289194 0.217243 -v -0.467901 1.284465 0.089812 -v -0.375291 1.292107 0.352815 -v -0.263750 1.294910 0.452360 -v -0.127368 1.296983 0.489311 -v -0.512539 0.970340 0.083013 -v -0.500087 1.137085 0.083727 -v -0.366319 0.181806 0.035711 -v -0.368809 0.228761 0.029032 -v -0.374571 0.365985 -0.367508 -v -0.336980 0.385292 -0.460572 -v -0.282361 0.399908 -0.526535 -v -0.104426 0.424403 -0.610495 -v -0.389544 0.345010 -0.250336 -v -0.385031 0.311832 -0.044641 -v -0.200756 0.413689 -0.577795 -v -0.378612 0.402151 -0.029888 -v -0.352669 0.408344 -0.049001 -v -0.507598 0.816962 0.082356 -v -0.308468 0.200412 0.127973 -v -0.314214 0.247332 0.123412 -v -0.353121 0.362843 -0.247197 -v -0.352383 0.438381 -0.235280 -v -0.335573 0.384386 -0.350114 -v -0.335127 0.460809 -0.336618 -v -0.351251 0.330560 -0.061170 -v -0.094819 0.437749 -0.574202 -v -0.095767 0.514240 -0.569918 -v -0.180289 0.427513 -0.539896 -v -0.181719 0.504288 -0.533168 -v -0.250278 0.414870 -0.491564 -v -0.250913 0.491717 -0.481709 -v -0.303258 0.400518 -0.429420 -v -0.303037 0.475351 -0.416525 -v -0.307475 0.243242 0.115479 -v -0.360379 0.226428 0.028026 -v -0.303706 0.202899 0.120956 -v -0.356610 0.186085 0.033502 -v 0.045195 0.106111 0.726884 -v 0.000000 0.124316 0.731242 -v -0.045195 0.106111 0.726884 -v -0.063915 0.062158 0.716360 -v -0.045195 0.018206 0.705836 -v 0.000000 0.000000 0.701477 -v 0.045195 0.018206 0.705836 -v 0.063915 0.062158 0.716360 -v 0.039704 0.095512 0.747571 -v 0.000000 0.111505 0.751401 -v -0.039704 0.095512 0.747571 -v -0.056150 0.056899 0.738326 -v -0.039704 0.018286 0.729080 -v 0.000000 0.002292 0.725251 -v 0.039704 0.018286 0.729080 -v 0.056150 0.056899 0.738326 -v 0.024381 0.119402 0.730066 -v -0.024381 0.119402 0.730066 -v -0.058861 0.085869 0.722037 -v -0.058861 0.038447 0.710683 -v -0.024381 0.004915 0.702654 -v 0.024381 0.004915 0.702654 -v 0.058861 0.038447 0.710683 -v 0.058861 0.085869 0.722037 -v 0.021419 0.107188 0.750366 -v -0.021419 0.107188 0.750366 -v -0.051710 0.077729 0.743313 -v -0.051710 0.036068 0.733338 -v -0.021419 0.006610 0.726285 -v 0.021419 0.006610 0.726285 -v 0.051710 0.036068 0.733338 -v 0.051710 0.077729 0.743313 -v 0.000000 0.058196 0.733203 -v -0.037584 0.095022 0.740514 -v 0.000000 0.110160 0.744144 -v 0.037584 0.095022 0.740514 -v 0.053152 0.058473 0.731753 -v 0.037584 0.021924 0.722991 -v 0.000000 0.006786 0.719362 -v -0.037584 0.021924 0.722991 -v -0.053152 0.058473 0.731753 -v -0.058981 0.107430 0.632200 -v -0.064044 0.083671 0.626511 -v -0.058981 0.059912 0.620822 -v -0.045286 0.039630 0.615966 -v -0.024431 0.026312 0.612777 -v 0.000000 0.021387 0.611598 -v 0.024431 0.026312 0.612777 -v 0.045286 0.039630 0.615966 -v 0.058981 0.059912 0.620822 -v 0.064044 0.083671 0.626511 -v 0.058981 0.107430 0.632200 -v 0.045286 0.127712 0.637056 -v 0.024431 0.141031 0.640245 -v 0.000000 0.145955 0.641424 -v -0.024431 0.141031 0.640245 -v -0.045286 0.127712 0.637056 -v -0.015701 0.191440 0.662358 -v -0.029510 0.208600 0.659555 -v -0.047927 0.206062 0.647498 -v -0.052534 0.186364 0.638244 -v -0.038724 0.169204 0.641047 -v -0.020307 0.171742 0.653104 -v -0.027832 0.180575 0.695644 -v -0.041393 0.197977 0.692247 -v -0.059481 0.195683 0.679370 -v -0.064010 0.175987 0.669892 -v -0.050449 0.158585 0.673290 -v -0.032361 0.160879 0.686166 -v -0.016500 0.186147 0.678574 -v -0.021067 0.166450 0.669208 -v -0.039320 0.164034 0.656742 -v -0.053005 0.181315 0.653641 -v -0.048437 0.201012 0.663007 -v -0.030185 0.203428 0.675474 -v 0.062761 0.192783 0.661866 -v 0.048977 0.209954 0.658914 -v 0.030654 0.207413 0.646686 -v 0.026115 0.187701 0.637409 -v 0.039898 0.170530 0.640361 -v 0.058221 0.173071 0.652589 -v 0.050406 0.181970 0.694964 -v 0.036870 0.199368 0.691450 -v 0.018871 0.197059 0.678451 -v 0.014409 0.177351 0.668966 -v 0.027946 0.159954 0.672480 -v 0.045944 0.162263 0.685479 -v 0.061352 0.187275 0.678726 -v 0.056851 0.167565 0.669345 -v 0.038690 0.165140 0.656731 -v 0.025031 0.182424 0.653499 -v 0.029532 0.202134 0.662880 -v 0.047692 0.204559 0.675494 -v -0.072228 0.298449 0.698603 -v -0.072228 0.312687 0.653319 -v 0.080729 0.291987 0.704095 -v 0.080684 0.308771 0.651751 -v 0.061209 0.308457 0.651655 -v 0.061241 0.294422 0.697845 -v 0.060283 0.298627 0.698038 -v 0.060280 0.312685 0.653315 -v 0.080683 0.221337 0.651028 -v 0.080707 0.215851 0.672265 -v -0.072325 0.216169 0.672110 -v -0.072266 0.223066 0.647211 -v -0.063682 0.215894 0.672214 -v -0.063688 0.294407 0.697837 -v -0.063340 0.213876 0.679535 -v 0.080728 0.213876 0.679535 -v -0.063339 0.291987 0.704095 -v -0.072457 0.114034 0.635819 -v -0.072393 0.151119 0.651150 -v 0.080686 0.151134 0.651099 -v 0.080661 0.114068 0.635710 -v -0.072319 0.132879 0.676343 -v 0.080696 0.132879 0.676343 -v -0.072335 0.116302 0.671131 -v 0.080689 0.116302 0.671131 -v 0.022267 0.289779 0.700695 -v 0.020190 0.288298 0.705372 -v 0.009350 0.287210 0.708857 -v -0.001534 0.288308 0.705386 -v -0.003563 0.289779 0.700695 -v 0.022286 0.217834 0.678053 -v 0.020253 0.216353 0.682731 -v 0.009369 0.215265 0.686215 -v -0.001471 0.216363 0.682746 -v -0.003543 0.217834 0.678053 -v 0.009362 0.289776 0.700572 -v 0.009362 0.217862 0.677966 -v 0.078299 0.289779 0.700653 -v 0.075566 0.288303 0.705323 -v 0.059365 0.285897 0.713014 -v 0.042025 0.285897 0.713014 -v 0.025794 0.288314 0.705339 -v 0.023084 0.289779 0.700653 -v 0.078319 0.217827 0.678010 -v 0.075608 0.216351 0.682679 -v 0.059385 0.213945 0.690371 -v 0.042044 0.213945 0.690371 -v 0.025836 0.216363 0.682696 -v 0.023104 0.217827 0.678010 -v 0.050702 0.289857 0.700313 -v 0.050702 0.217906 0.677826 -v -0.004096 0.289777 0.700653 -v -0.007634 0.288299 0.705320 -v -0.023576 0.285895 0.713014 -v -0.040917 0.285895 0.713014 -v -0.056893 0.288314 0.705340 -v -0.060404 0.289777 0.700653 -v -0.004077 0.217820 0.678008 -v -0.007587 0.216343 0.682675 -v -0.023557 0.213938 0.690368 -v -0.040897 0.213938 0.690368 -v -0.056846 0.216357 0.682695 -v -0.060384 0.217820 0.678008 -v -0.032240 0.289838 0.700374 -v -0.032240 0.217884 0.677894 -v 0.080670 0.156545 0.641776 -v -0.072379 0.158415 0.640456 -v -0.003610 0.193106 0.675959 -v -0.008306 0.190821 0.683225 -v -0.044264 0.190821 0.683225 -v -0.048118 0.191864 0.679908 -v -0.003610 0.188319 0.674454 -v -0.008306 0.186035 0.681720 -v -0.044264 0.186035 0.681720 -v -0.048118 0.187078 0.678403 -v -0.048118 0.196367 0.665589 -v -0.003610 0.196367 0.665589 -v -0.048118 0.191580 0.664084 -v -0.003610 0.191580 0.664084 -v 0.070219 0.192991 0.676324 -v 0.065411 0.190820 0.683228 -v 0.029630 0.190820 0.683228 -v 0.025776 0.191864 0.679908 -v 0.070219 0.188205 0.674820 -v 0.065411 0.186034 0.681723 -v 0.029630 0.186034 0.681723 -v 0.025776 0.187078 0.678403 -v 0.025776 0.196367 0.665589 -v 0.070219 0.196367 0.665589 -v 0.025776 0.191580 0.664084 -v 0.070219 0.191580 0.664084 -v 0.073479 0.200727 0.682695 -v 0.068774 0.198767 0.688927 -v 0.030021 0.198767 0.688927 -v 0.026085 0.200727 0.682695 -v 0.073479 0.195940 0.681190 -v 0.068774 0.193981 0.687422 -v 0.030021 0.193981 0.687422 -v 0.026085 0.195940 0.681190 -v 0.026085 0.205229 0.668375 -v 0.073479 0.205229 0.668375 -v 0.026085 0.200443 0.666870 -v 0.073479 0.200443 0.666870 -v 0.070043 0.209345 0.685404 -v 0.065521 0.207384 0.691637 -v 0.030018 0.207384 0.691637 -v 0.026163 0.209345 0.685404 -v 0.070043 0.204558 0.683899 -v 0.065521 0.202598 0.690132 -v 0.030018 0.202598 0.690132 -v 0.026163 0.204558 0.683899 -v 0.026163 0.213847 0.671085 -v 0.070043 0.213847 0.671085 -v 0.026163 0.209061 0.669580 -v 0.070043 0.209061 0.669580 -v 0.013475 0.209399 0.685231 -v 0.008838 0.207365 0.691699 -v -0.044948 0.207365 0.691699 -v -0.068126 0.208904 0.686807 -v 0.013475 0.204613 0.683726 -v 0.008838 0.202579 0.690194 -v -0.044948 0.202579 0.690194 -v -0.068126 0.204117 0.685302 -v -0.069379 0.213847 0.671085 -v 0.013475 0.213847 0.671085 -v -0.069379 0.209061 0.669580 -v 0.013475 0.209061 0.669580 -v 0.003782 0.200633 0.682665 -v -0.000640 0.198669 0.688913 -v -0.044217 0.198669 0.688913 -v -0.047822 0.200633 0.682665 -v 0.003782 0.195847 0.681160 -v -0.000640 0.193882 0.687408 -v -0.044217 0.193882 0.687408 -v -0.047822 0.195847 0.681160 -v -0.047822 0.205136 0.668346 -v 0.003782 0.205136 0.668346 -v -0.047822 0.200349 0.666841 -v 0.003782 0.200349 0.666841 -v -0.071989 0.226043 0.675139 -v 0.080363 0.226036 0.675164 -v -0.050269 0.217877 0.701110 -v -0.053928 0.219802 0.694990 -v 0.080363 0.220942 0.691363 -v 0.006891 0.221067 0.690966 -v 0.012066 0.221067 0.690966 -v 0.071721 0.217877 0.701110 -v -0.006867 0.217877 0.701110 -v 0.025176 0.217877 0.701110 -v -0.071989 0.221257 0.673634 -v 0.080363 0.221249 0.673659 -v -0.050269 0.213091 0.699605 -v -0.053928 0.215015 0.693485 -v 0.080363 0.216155 0.689858 -v 0.006891 0.216281 0.689461 -v 0.012066 0.216281 0.689461 -v 0.071721 0.213091 0.699605 -v -0.006867 0.213091 0.699605 -v 0.025176 0.213091 0.699605 -v -0.064956 0.215367 0.692366 -v -0.064956 0.220153 0.693871 -v 0.009469 0.226039 0.675153 -v 0.009469 0.221253 0.673648 -v -0.071989 0.236253 0.678350 -v 0.080363 0.236245 0.678374 -v -0.050269 0.228086 0.704320 -v -0.053928 0.230011 0.698200 -v 0.080363 0.231151 0.694573 -v 0.006891 0.231276 0.694176 -v 0.012066 0.231276 0.694176 -v 0.071721 0.228086 0.704320 -v -0.006867 0.228086 0.704320 -v 0.025176 0.228086 0.704320 -v -0.071989 0.231466 0.676845 -v 0.080363 0.231459 0.676869 -v -0.050269 0.223300 0.702815 -v -0.053928 0.225225 0.696695 -v 0.080363 0.226365 0.693068 -v 0.006891 0.226490 0.692671 -v 0.012066 0.226490 0.692671 -v 0.071721 0.223300 0.702815 -v -0.006867 0.223300 0.702815 -v 0.025176 0.223300 0.702815 -v -0.064956 0.225576 0.695576 -v -0.064956 0.230363 0.697081 -v 0.009469 0.236248 0.678363 -v 0.009469 0.231462 0.676858 -v -0.046746 0.238940 0.707881 -v -0.049545 0.240909 0.701620 -v 0.070235 0.240909 0.701620 -v 0.065421 0.238940 0.707881 -v -0.008537 0.238940 0.707881 -v -0.004021 0.240909 0.701620 -v 0.026278 0.238940 0.707881 -v 0.022269 0.240909 0.701620 -v -0.046746 0.234154 0.706376 -v -0.049545 0.236122 0.700115 -v 0.070235 0.236122 0.700115 -v 0.065421 0.234154 0.706376 -v -0.008537 0.234154 0.706376 -v -0.004021 0.236122 0.700115 -v 0.026278 0.234154 0.706376 -v 0.022269 0.236122 0.700115 -v -0.049545 0.248509 0.677449 -v -0.049545 0.243723 0.675944 -v -0.004021 0.248509 0.677449 -v -0.004021 0.243723 0.675944 -v 0.022269 0.248509 0.677449 -v 0.070235 0.248509 0.677449 -v 0.022269 0.243723 0.675944 -v 0.070235 0.243723 0.675944 -v -0.071989 0.257502 0.685031 -v 0.080363 0.257495 0.685055 -v -0.050269 0.249336 0.711002 -v -0.053928 0.251261 0.704882 -v 0.080363 0.252401 0.701255 -v 0.006891 0.252526 0.700857 -v 0.012066 0.252526 0.700857 -v 0.071721 0.249336 0.711002 -v -0.006867 0.249336 0.711002 -v 0.025176 0.249336 0.711002 -v -0.071989 0.252716 0.683526 -v 0.080363 0.252708 0.683550 -v -0.050269 0.244550 0.709497 -v -0.053928 0.246474 0.703376 -v 0.080363 0.247615 0.699750 -v 0.006891 0.247740 0.699353 -v 0.012066 0.247740 0.699353 -v 0.071721 0.244550 0.709497 -v -0.006867 0.244550 0.709497 -v 0.025176 0.244550 0.709497 -v -0.064956 0.246826 0.702258 -v -0.064956 0.251613 0.703763 -v 0.009469 0.257498 0.685045 -v 0.009469 0.252712 0.683540 -v -0.046746 0.260085 0.714530 -v -0.049545 0.262054 0.708269 -v 0.070235 0.262054 0.708269 -v 0.065421 0.260085 0.714530 -v -0.008537 0.260085 0.714530 -v -0.004021 0.262054 0.708269 -v 0.026278 0.260085 0.714530 -v 0.022269 0.262054 0.708269 -v -0.046746 0.255299 0.713025 -v -0.049545 0.257267 0.706764 -v 0.070235 0.257267 0.706764 -v 0.065421 0.255299 0.713025 -v -0.008537 0.255299 0.713025 -v -0.004021 0.257267 0.706764 -v 0.026278 0.255299 0.713025 -v 0.022269 0.257267 0.706764 -v -0.049545 0.269654 0.684097 -v -0.049545 0.264868 0.682592 -v -0.004021 0.269654 0.684097 -v -0.004021 0.264868 0.682593 -v 0.022269 0.269654 0.684097 -v 0.070235 0.269654 0.684097 -v 0.022269 0.264868 0.682593 -v 0.070235 0.264868 0.682593 -v -0.071989 0.278810 0.691731 -v 0.080363 0.278803 0.691755 -v -0.050269 0.270644 0.717702 -v -0.053928 0.272569 0.711581 -v 0.080363 0.273709 0.707955 -v 0.006891 0.273834 0.707557 -v 0.012066 0.273834 0.707557 -v 0.071721 0.270644 0.717702 -v -0.006867 0.270644 0.717702 -v 0.025176 0.270644 0.717702 -v -0.071989 0.274024 0.690226 -v 0.080363 0.274017 0.690250 -v -0.050269 0.265858 0.716197 -v -0.053928 0.267782 0.710076 -v 0.080363 0.268923 0.706450 -v 0.006891 0.269048 0.706052 -v 0.012066 0.269048 0.706052 -v 0.071721 0.265858 0.716197 -v -0.006867 0.265858 0.716197 -v 0.025176 0.265858 0.716197 -v -0.064956 0.268134 0.708958 -v -0.064956 0.272921 0.710463 -v 0.009469 0.278806 0.691744 -v 0.009469 0.274020 0.690240 -v -0.062901 0.287276 0.701624 -v 0.080363 0.287266 0.701656 -v -0.044962 0.281179 0.721014 -v -0.056345 0.283658 0.713129 -v 0.080363 0.284244 0.711267 -v 0.006891 0.284369 0.710870 -v 0.012066 0.284369 0.710870 -v 0.071721 0.281179 0.721014 -v -0.006867 0.281179 0.721014 -v 0.025176 0.281179 0.721014 -v -0.062901 0.282490 0.700119 -v 0.080363 0.282479 0.700151 -v -0.044962 0.276393 0.719509 -v -0.056345 0.278872 0.711624 -v 0.080363 0.279457 0.709762 -v 0.006891 0.279582 0.709365 -v 0.012066 0.279582 0.709365 -v 0.071721 0.276393 0.719509 -v -0.006867 0.276393 0.719509 -v 0.025176 0.276393 0.719509 -v 0.009469 0.287271 0.701640 -v 0.009469 0.282485 0.700135 -v -0.009010 0.218793 0.692928 -v -0.012796 0.218793 0.692928 -v -0.012796 0.216921 0.698879 -v -0.009010 0.216921 0.698879 -v -0.009010 0.280736 0.712405 -v -0.012796 0.280736 0.712405 -v -0.012796 0.278865 0.718356 -v -0.009010 0.278865 0.718356 -v -0.041859 0.218793 0.692928 -v -0.045645 0.218793 0.692928 -v -0.045645 0.216921 0.698879 -v -0.041859 0.216921 0.698879 -v -0.041729 0.280736 0.712405 -v -0.045515 0.280736 0.712405 -v -0.045515 0.278865 0.718356 -v -0.041729 0.278865 0.718356 -v 0.030300 0.218793 0.692928 -v 0.026514 0.218793 0.692928 -v 0.026514 0.216921 0.698879 -v 0.030300 0.216921 0.698879 -v 0.030300 0.280736 0.712405 -v 0.026514 0.280736 0.712405 -v 0.026514 0.278865 0.718356 -v 0.030300 0.278865 0.718356 -v -0.071896 0.169696 0.656630 -v 0.080374 0.169696 0.656630 -v -0.041175 0.161282 0.683388 -v -0.044093 0.163812 0.675340 -v -0.065337 0.164090 0.674456 -v 0.080374 0.164335 0.673676 -v -0.071896 0.167221 0.664498 -v 0.006576 0.165674 0.669420 -v 0.016885 0.164042 0.674608 -v 0.012158 0.165674 0.669420 -v 0.074157 0.161282 0.683388 -v -0.001016 0.161282 0.683388 -v 0.040546 0.161282 0.683388 -v 0.036692 0.164042 0.674608 -v -0.071896 0.166290 0.655559 -v 0.080374 0.166290 0.655559 -v -0.041175 0.157876 0.682317 -v -0.044093 0.160406 0.674269 -v -0.065337 0.160684 0.673385 -v 0.080374 0.160930 0.672605 -v -0.071896 0.163816 0.663427 -v 0.006576 0.162268 0.668349 -v 0.016885 0.160637 0.673537 -v 0.012158 0.162268 0.668349 -v 0.074157 0.157876 0.682317 -v -0.001016 0.157876 0.682317 -v 0.040546 0.157876 0.682317 -v 0.036692 0.160637 0.673537 -v -0.018960 0.166290 0.655559 -v -0.018960 0.157876 0.682317 -v -0.020689 0.161282 0.683388 -v -0.020689 0.169696 0.656630 -v -0.022418 0.166290 0.655559 -v -0.022418 0.157876 0.682317 -v -0.022418 0.150312 0.650535 -v -0.018960 0.150312 0.650535 -v -0.022418 0.144723 0.678182 -v -0.018960 0.144723 0.678182 -v -0.022418 0.136348 0.668404 -v -0.018960 0.136348 0.668404 -v -0.001932 0.141164 0.669311 -v 0.001157 0.141164 0.669311 -v -0.001932 0.154131 0.651407 -v 0.001157 0.154131 0.651407 -v -0.002329 0.151537 0.649529 -v 0.001554 0.151537 0.649529 -v -0.002329 0.138571 0.667433 -v 0.001554 0.138571 0.667433 -v 0.025744 0.138814 0.672600 -v 0.030625 0.138814 0.672600 -v 0.025744 0.154152 0.651422 -v 0.030625 0.154152 0.651422 -v 0.024876 0.151537 0.649529 -v 0.031493 0.151537 0.649529 -v 0.024876 0.136200 0.670706 -v 0.031493 0.136200 0.670706 -v 0.009588 0.169696 0.656630 -v 0.009588 0.166290 0.655559 -v 0.047294 0.186886 0.698846 -v 0.041074 0.195470 0.697412 -v 0.030340 0.201216 0.691923 -v 0.021653 0.200439 0.685840 -v 0.012342 0.195382 0.677847 -v 0.008582 0.184456 0.671713 -v 0.012375 0.171698 0.670120 -v 0.031651 0.156278 0.678265 -v 0.040438 0.156864 0.684355 -v 0.049307 0.162929 0.692371 -v 0.051639 0.174611 0.697782 -v 0.035176 0.210072 0.695854 -v 0.043394 0.205703 0.700015 -v 0.027425 0.151596 0.672042 -v 0.020347 0.155651 0.668430 -v 0.019039 0.162676 0.671688 -v 0.049940 0.188159 0.694957 -v 0.043719 0.196743 0.693523 -v 0.032986 0.202488 0.688034 -v 0.024299 0.201712 0.681951 -v 0.014988 0.196655 0.673959 -v 0.011227 0.185729 0.667824 -v 0.015021 0.172971 0.666231 -v 0.034297 0.157551 0.674376 -v 0.043083 0.158137 0.680467 -v 0.051953 0.164202 0.688482 -v 0.054285 0.175883 0.693893 -v 0.037822 0.211345 0.691965 -v 0.046040 0.206976 0.696126 -v 0.030071 0.152869 0.668153 -v 0.022993 0.156924 0.664540 -v 0.021685 0.163949 0.667799 -v -0.030589 0.185510 0.698391 -v -0.036953 0.193985 0.697059 -v -0.047578 0.199819 0.691761 -v -0.056218 0.199532 0.685749 -v -0.065593 0.194724 0.677677 -v -0.069523 0.183933 0.671410 -v -0.066057 0.171077 0.669849 -v -0.047354 0.155111 0.677853 -v -0.038339 0.155613 0.684136 -v -0.029378 0.161384 0.692033 -v -0.026584 0.173134 0.697278 -v -0.042245 0.208357 0.695999 -v -0.034512 0.204028 0.699950 -v -0.051642 0.150181 0.672108 -v -0.058865 0.154641 0.668233 -v -0.059836 0.161761 0.671685 -v -0.027918 0.186726 0.694501 -v -0.034282 0.195201 0.693168 -v -0.044908 0.201035 0.687870 -v -0.053548 0.200748 0.681858 -v -0.062923 0.195940 0.673788 -v -0.066853 0.185148 0.667520 -v -0.063387 0.172293 0.665958 -v -0.044683 0.156327 0.673962 -v -0.035669 0.156828 0.680246 -v -0.026707 0.162600 0.688143 -v -0.023913 0.174350 0.693387 -v -0.039575 0.209573 0.692108 -v -0.031842 0.205244 0.696060 -v -0.048971 0.151397 0.668218 -v -0.056194 0.155857 0.664342 -v -0.057166 0.162976 0.667795 -v 0.000000 0.103257 0.749016 -v -0.018148 0.099602 0.748141 -v -0.033639 0.089706 0.745772 -v -0.043814 0.074641 0.742165 -v -0.047572 0.056992 0.737939 -v -0.043814 0.039343 0.733713 -v -0.033639 0.024278 0.730107 -v -0.018148 0.014383 0.727737 -v 0.000000 0.010728 0.726862 -v 0.018148 0.014383 0.727737 -v 0.033639 0.024278 0.730107 -v 0.043814 0.039343 0.733713 -v 0.047572 0.056992 0.737939 -v 0.043814 0.074641 0.742165 -v 0.033639 0.089706 0.745772 -v 0.018148 0.099602 0.748141 -v 0.000000 0.104790 0.743713 -v -0.018246 0.101117 0.742833 -v -0.033820 0.091167 0.740451 -v -0.044051 0.076021 0.736825 -v -0.047828 0.058277 0.732576 -v -0.044051 0.040532 0.728327 -v -0.033820 0.025386 0.724702 -v -0.018246 0.015437 0.722319 -v 0.000000 0.011763 0.721439 -v 0.018246 0.015437 0.722319 -v 0.033820 0.025386 0.724702 -v 0.044051 0.040532 0.728327 -v 0.047828 0.058277 0.732576 -v 0.044051 0.076021 0.736825 -v 0.033820 0.091167 0.740451 -v 0.018246 0.101117 0.742833 -# 1902 vertices - -vn 0.874367 0.142896 0.463750 -vn 0.839359 0.129826 0.527846 -vn 0.769638 0.335020 0.543525 -vn 0.769638 0.335020 0.543525 -vn 0.839359 0.129826 0.527846 -vn 0.750340 0.293327 0.592410 -vn 0.116849 0.176924 0.977264 -vn 0.301224 0.372748 0.877680 -vn 0.000000 0.212854 0.977084 -vn 0.000000 0.212854 0.977084 -vn 0.301224 0.372748 0.877680 -vn -0.000000 0.428954 0.903327 -vn 0.000000 0.212854 0.977084 -vn 0.000001 0.613691 0.789546 -vn 0.116849 0.176924 0.977264 -vn 0.116849 0.176924 0.977264 -vn 0.000001 0.613691 0.789546 -vn 0.275018 0.577380 0.768764 -vn 0.872814 -0.299764 0.385146 -vn 0.876645 -0.220403 0.427686 -vn 0.897861 -0.284137 0.336321 -vn 0.897861 -0.284137 0.336321 -vn 0.876645 -0.220403 0.427686 -vn 0.879104 -0.123736 0.460289 -vn 0.839359 0.129826 0.527846 -vn 0.878718 0.118805 0.462320 -vn 0.725880 0.010497 0.687741 -vn 0.736370 -0.009801 0.676508 -vn 0.667492 -0.004836 0.744601 -vn 0.650783 0.155178 0.743237 -vn 0.650783 0.155178 0.743237 -vn 0.667492 -0.004836 0.744601 -vn 0.558848 0.112880 0.821552 -vn 0.865779 -0.017836 0.500109 -vn 0.878718 0.118805 0.462320 -vn 0.874367 0.142896 0.463750 -vn 0.874367 0.142896 0.463750 -vn 0.878718 0.118805 0.462320 -vn 0.839359 0.129826 0.527846 -vn 0.872814 -0.299764 0.385146 -vn 0.667492 -0.004836 0.744601 -vn 0.868708 -0.239350 0.433656 -vn 0.868708 -0.239350 0.433656 -vn 0.667492 -0.004836 0.744601 -vn 0.736370 -0.009801 0.676508 -vn 0.872814 -0.299764 0.385146 -vn 0.868708 -0.239350 0.433656 -vn 0.876645 -0.220403 0.427686 -vn 0.876645 -0.220403 0.427686 -vn 0.868708 -0.239350 0.433656 -vn 0.899836 -0.220831 0.376203 -vn 0.563981 -0.086031 0.821294 -vn 0.506636 -0.080127 0.858428 -vn 0.423336 0.053240 0.904407 -vn 0.423336 0.053240 0.904407 -vn 0.506636 -0.080127 0.858428 -vn 0.328463 0.080054 0.941118 -vn 0.506636 -0.080127 0.858428 -vn 0.345092 -0.069681 0.935979 -vn 0.328463 0.080054 0.941118 -vn 0.328463 0.080054 0.941118 -vn 0.345092 -0.069681 0.935979 -vn 0.069472 0.062895 0.995599 -vn -0.102947 -0.125139 0.986784 -vn 0.094891 -0.123581 0.987787 -vn -0.231638 -0.421064 0.876954 -vn -0.231638 -0.421064 0.876954 -vn 0.094891 -0.123581 0.987787 -vn 0.160787 -0.314713 0.935469 -vn 0.267558 -0.406754 0.873478 -vn -0.072677 -0.707963 0.702500 -vn 0.160787 -0.314713 0.935469 -vn 0.160787 -0.314713 0.935469 -vn -0.072677 -0.707963 0.702500 -vn -0.231638 -0.421064 0.876954 -vn 0.298116 -0.370998 0.879481 -vn 0.138482 -0.732184 0.666881 -vn 0.328776 -0.398405 0.856259 -vn 0.328776 -0.398405 0.856259 -vn 0.138482 -0.732184 0.666881 -vn 0.086428 -0.753305 0.651967 -vn 0.175494 -0.359003 0.916689 -vn 0.078068 -0.775295 0.626756 -vn 0.298116 -0.370998 0.879481 -vn 0.298116 -0.370998 0.879481 -vn 0.078068 -0.775295 0.626756 -vn 0.138482 -0.732184 0.666881 -vn 0.000000 -0.331736 0.943372 -vn -0.000000 -0.773117 0.634263 -vn 0.175494 -0.359003 0.916689 -vn 0.175494 -0.359003 0.916689 -vn -0.000000 -0.773117 0.634263 -vn 0.078068 -0.775295 0.626756 -vn 0.345092 -0.069681 0.935979 -vn 0.094891 -0.123581 0.987787 -vn 0.069472 0.062895 0.995599 -vn 0.069472 0.062895 0.995599 -vn 0.094891 -0.123581 0.987787 -vn -0.102947 -0.125139 0.986784 -vn 0.563981 -0.086031 0.821294 -vn 0.756897 -0.413234 0.506304 -vn 0.506636 -0.080127 0.858428 -vn 0.506636 -0.080127 0.858428 -vn 0.756897 -0.413234 0.506304 -vn 0.755253 -0.322586 0.570553 -vn 0.506636 -0.080127 0.858428 -vn 0.755253 -0.322586 0.570553 -vn 0.345092 -0.069681 0.935979 -vn 0.345092 -0.069681 0.935979 -vn 0.755253 -0.322586 0.570553 -vn 0.712959 -0.201500 0.671630 -vn 0.094891 -0.123581 0.987787 -vn 0.345092 -0.069681 0.935979 -vn 0.646546 -0.091362 0.757385 -vn 0.646546 -0.091362 0.757385 -vn 0.345092 -0.069681 0.935979 -vn 0.712959 -0.201500 0.671630 -vn 0.599920 -0.116148 0.791584 -vn 0.563981 -0.086031 0.821294 -vn 0.490474 -0.015548 0.871317 -vn 0.490474 -0.015548 0.871317 -vn 0.563981 -0.086031 0.821294 -vn 0.423336 0.053240 0.904407 -vn 0.298116 -0.370998 0.879481 -vn 0.328776 -0.398405 0.856259 -vn 0.390125 0.174215 0.904130 -vn 0.390125 0.174215 0.904130 -vn 0.328776 -0.398405 0.856259 -vn 0.491149 0.152390 0.857642 -vn 0.298116 -0.370998 0.879481 -vn 0.390125 0.174215 0.904130 -vn 0.175494 -0.359003 0.916689 -vn 0.175494 -0.359003 0.916689 -vn 0.390125 0.174215 0.904130 -vn 0.230528 0.218428 0.948233 -vn 0.000000 -0.331736 0.943372 -vn 0.175494 -0.359003 0.916689 -vn -0.000000 0.233936 0.972252 -vn -0.000000 0.233936 0.972252 -vn 0.175494 -0.359003 0.916689 -vn 0.230528 0.218428 0.948233 -vn 0.160787 -0.314713 0.935469 -vn 0.094891 -0.123581 0.987787 -vn 0.595966 0.010468 0.802942 -vn 0.595966 0.010468 0.802942 -vn 0.094891 -0.123581 0.987787 -vn 0.646546 -0.091362 0.757385 -vn 0.540100 0.136136 0.830518 -vn 0.267558 -0.406754 0.873478 -vn 0.595966 0.010468 0.802942 -vn 0.595966 0.010468 0.802942 -vn 0.267558 -0.406754 0.873478 -vn 0.160787 -0.314713 0.935469 -vn 0.513045 0.085684 0.854075 -vn 0.491149 0.152390 0.857642 -vn 0.547185 0.096805 0.831395 -vn 0.547185 0.096805 0.831395 -vn 0.491149 0.152390 0.857642 -vn 0.540100 0.136136 0.830518 -vn 0.513045 0.085684 0.854075 -vn 0.385025 0.087869 0.918714 -vn 0.491149 0.152390 0.857642 -vn 0.491149 0.152390 0.857642 -vn 0.385025 0.087869 0.918714 -vn 0.390125 0.174215 0.904130 -vn 0.385025 0.087869 0.918714 -vn 0.208441 0.117321 0.970973 -vn 0.390125 0.174215 0.904130 -vn 0.390125 0.174215 0.904130 -vn 0.208441 0.117321 0.970973 -vn 0.230528 0.218428 0.948233 -vn 0.208441 0.117321 0.970973 -vn -0.000000 0.141983 0.989869 -vn 0.230528 0.218428 0.948233 -vn 0.230528 0.218428 0.948233 -vn -0.000000 0.141983 0.989869 -vn -0.000000 0.233936 0.972252 -vn 0.129730 -0.990616 -0.043006 -vn 0.072237 -0.977132 -0.199989 -vn 0.102817 -0.994359 -0.026060 -vn 0.102817 -0.994359 -0.026060 -vn 0.072237 -0.977132 -0.199989 -vn 0.116236 -0.981237 -0.153826 -vn 0.238279 -0.957056 -0.165130 -vn 0.244426 -0.956220 -0.160935 -vn 0.252548 -0.961968 -0.104105 -vn 0.252548 -0.961968 -0.104105 -vn 0.244426 -0.956220 -0.160935 -vn 0.257569 -0.961355 -0.097239 -vn 0.252548 -0.961968 -0.104105 -vn 0.257569 -0.961355 -0.097239 -vn 0.264099 -0.963244 -0.049115 -vn 0.264099 -0.963244 -0.049115 -vn 0.257569 -0.961355 -0.097239 -vn 0.275481 -0.960323 -0.043470 -vn 0.238279 -0.957056 -0.165130 -vn 0.286498 -0.934423 -0.211594 -vn 0.244426 -0.956220 -0.160935 -vn 0.244426 -0.956220 -0.160935 -vn 0.286498 -0.934423 -0.211594 -vn 0.219139 -0.948685 -0.227980 -vn 0.793372 0.044920 0.607078 -vn 0.736370 -0.009801 0.676508 -vn 0.815337 0.129486 0.564322 -vn 0.815337 0.129486 0.564322 -vn 0.736370 -0.009801 0.676508 -vn 0.650783 0.155178 0.743237 -vn 0.856568 -0.147677 0.494451 -vn 0.868708 -0.239350 0.433656 -vn 0.793372 0.044920 0.607078 -vn 0.793372 0.044920 0.607078 -vn 0.868708 -0.239350 0.433656 -vn 0.736370 -0.009801 0.676508 -vn 0.000000 0.852896 0.522081 -vn -0.000000 0.428954 0.903327 -vn 0.440421 0.756675 0.483190 -vn 0.440421 0.756675 0.483190 -vn -0.000000 0.428954 0.903327 -vn 0.301224 0.372748 0.877680 -vn 0.693408 0.534699 0.482993 -vn 0.436523 0.194338 0.878454 -vn 0.746743 0.367139 0.554603 -vn 0.746743 0.367139 0.554603 -vn 0.436523 0.194338 0.878454 -vn 0.577927 0.320953 0.750326 -vn 0.839359 0.129826 0.527846 -vn 0.804035 0.222201 0.551501 -vn 0.750340 0.293327 0.592410 -vn 0.750340 0.293327 0.592410 -vn 0.804035 0.222201 0.551501 -vn 0.795050 0.365669 0.483923 -vn 0.804035 0.222201 0.551501 -vn 0.725880 0.010497 0.687741 -vn 0.637792 0.094825 0.764349 -vn 0.725880 0.010497 0.687741 -vn 0.804035 0.222201 0.551501 -vn 0.839359 0.129826 0.527846 -vn 0.815337 0.129486 0.564322 -vn 0.650783 0.155178 0.743237 -vn 0.586426 0.081490 0.805893 -vn 0.586426 0.081490 0.805893 -vn 0.650783 0.155178 0.743237 -vn 0.583297 0.099180 0.806181 -vn 0.423336 0.053240 0.904407 -vn 0.328463 0.080054 0.941118 -vn 0.396273 0.237589 0.886859 -vn 0.396273 0.237589 0.886859 -vn 0.328463 0.080054 0.941118 -vn 0.332949 0.174518 0.926654 -vn 0.328463 0.080054 0.941118 -vn 0.069472 0.062895 0.995599 -vn 0.332949 0.174518 0.926654 -vn 0.332949 0.174518 0.926654 -vn 0.069472 0.062895 0.995599 -vn 0.176996 0.117972 0.977116 -vn -0.102947 -0.125139 0.986784 -vn -0.231638 -0.421064 0.876954 -vn 0.156160 -0.047093 0.986609 -vn -0.072677 -0.707963 0.702500 -vn 0.077064 -0.547430 0.833296 -vn -0.231638 -0.421064 0.876954 -vn -0.231638 -0.421064 0.876954 -vn 0.077064 -0.547430 0.833296 -vn -0.054624 -0.259423 0.964218 -vn 0.138482 -0.732184 0.666881 -vn 0.247673 -0.520936 0.816874 -vn 0.086428 -0.753305 0.651967 -vn 0.086428 -0.753305 0.651967 -vn 0.247673 -0.520936 0.816874 -vn 0.212866 -0.594441 0.775453 -vn 0.078068 -0.775295 0.626756 -vn 0.142005 -0.600231 0.787120 -vn 0.138482 -0.732184 0.666881 -vn 0.138482 -0.732184 0.666881 -vn 0.142005 -0.600231 0.787120 -vn 0.247673 -0.520936 0.816874 -vn -0.000000 -0.773117 0.634263 -vn -0.000000 -0.616413 0.787423 -vn 0.078068 -0.775295 0.626756 -vn 0.078068 -0.775295 0.626756 -vn -0.000000 -0.616413 0.787423 -vn 0.142005 -0.600231 0.787120 -vn 0.069472 0.062895 0.995599 -vn -0.102947 -0.125139 0.986784 -vn 0.176996 0.117972 0.977116 -vn 0.176996 0.117972 0.977116 -vn -0.102947 -0.125139 0.986784 -vn 0.156160 -0.047093 0.986609 -vn 0.490474 -0.015548 0.871317 -vn 0.423336 0.053240 0.904407 -vn 0.465482 0.198170 0.862586 -vn 0.465482 0.198170 0.862586 -vn 0.423336 0.053240 0.904407 -vn 0.396273 0.237589 0.886859 -vn 0.650783 0.155178 0.743237 -vn 0.558848 0.112880 0.821552 -vn 0.583297 0.099180 0.806181 -vn 0.558848 0.112880 0.821552 -vn 0.508399 -0.001748 0.861120 -vn 0.583297 0.099180 0.806181 -vn 0.583297 0.099180 0.806181 -vn 0.508399 -0.001748 0.861120 -vn 0.524770 0.165762 0.834949 -vn -0.231638 -0.421064 0.876954 -vn -0.054624 -0.259423 0.964218 -vn 0.156160 -0.047093 0.986609 -vn 0.156160 -0.047093 0.986609 -vn -0.054624 -0.259423 0.964218 -vn -0.223353 -0.078074 0.971606 -vn 0.176996 0.117972 0.977116 -vn 0.156160 -0.047093 0.986609 -vn -0.116952 0.164913 0.979350 -vn -0.116952 0.164913 0.979350 -vn 0.156160 -0.047093 0.986609 -vn -0.223353 -0.078074 0.971606 -vn 0.332949 0.174518 0.926654 -vn 0.176996 0.117972 0.977116 -vn 0.235208 0.242647 0.941169 -vn 0.235208 0.242647 0.941169 -vn 0.176996 0.117972 0.977116 -vn -0.116952 0.164913 0.979350 -vn 0.396273 0.237589 0.886859 -vn 0.332949 0.174518 0.926654 -vn 0.250798 0.356808 0.899882 -vn 0.250798 0.356808 0.899882 -vn 0.332949 0.174518 0.926654 -vn 0.235208 0.242647 0.941169 -vn 0.465482 0.198170 0.862586 -vn 0.396273 0.237589 0.886859 -vn 0.327185 0.359445 0.873927 -vn 0.327185 0.359445 0.873927 -vn 0.396273 0.237589 0.886859 -vn 0.250798 0.356808 0.899882 -vn 0.375740 0.369738 0.849772 -vn 0.476121 0.310210 0.822848 -vn 0.524770 0.165762 0.834949 -vn 0.524770 0.165762 0.834949 -vn 0.476121 0.310210 0.822848 -vn 0.583297 0.099180 0.806181 -vn 0.586426 0.081490 0.805893 -vn 0.583297 0.099180 0.806181 -vn 0.578466 0.274019 0.768304 -vn 0.578466 0.274019 0.768304 -vn 0.583297 0.099180 0.806181 -vn 0.476121 0.310210 0.822848 -vn 0.637792 0.094825 0.764349 -vn 0.701508 0.141475 0.698478 -vn 0.804035 0.222201 0.551501 -vn 0.804035 0.222201 0.551501 -vn 0.701508 0.141475 0.698478 -vn 0.693111 0.218075 0.687052 -vn 0.795050 0.365669 0.483923 -vn 0.804035 0.222201 0.551501 -vn 0.692277 0.290502 0.660576 -vn 0.692277 0.290502 0.660576 -vn 0.804035 0.222201 0.551501 -vn 0.693111 0.218075 0.687052 -vn 0.746743 0.367139 0.554603 -vn 0.795050 0.365669 0.483923 -vn 0.665432 0.371470 0.647465 -vn 0.665432 0.371470 0.647465 -vn 0.795050 0.365669 0.483923 -vn 0.692277 0.290502 0.660576 -vn 0.746743 0.367139 0.554603 -vn 0.665432 0.371470 0.647465 -vn 0.693408 0.534699 0.482993 -vn 0.693408 0.534699 0.482993 -vn 0.665432 0.371470 0.647465 -vn 0.565544 0.401306 0.720495 -vn 0.440421 0.756675 0.483190 -vn 0.395914 0.622562 0.675033 -vn 0.000000 0.852896 0.522081 -vn 0.000000 0.852896 0.522081 -vn 0.395914 0.622562 0.675033 -vn 0.000000 0.735528 0.677494 -vn 0.692277 0.290502 0.660576 -vn 0.492427 0.164830 0.854603 -vn 0.665432 0.371470 0.647465 -vn 0.665432 0.371470 0.647465 -vn 0.492427 0.164830 0.854603 -vn 0.511349 0.270648 0.815642 -vn 0.665432 0.371470 0.647465 -vn 0.511349 0.270648 0.815642 -vn 0.565544 0.401306 0.720495 -vn 0.565544 0.401306 0.720495 -vn 0.511349 0.270648 0.815642 -vn 0.410556 0.235873 0.880800 -vn 0.395914 0.622562 0.675033 -vn 0.283113 0.470702 0.835635 -vn 0.000000 0.735528 0.677494 -vn 0.000000 0.735528 0.677494 -vn 0.283113 0.470702 0.835635 -vn 0.000000 0.588858 0.808237 -vn 0.646546 -0.091362 0.757385 -vn 0.712959 -0.201500 0.671630 -vn 0.693830 -0.131650 0.708003 -vn 0.693830 -0.131650 0.708003 -vn 0.712959 -0.201500 0.671630 -vn 0.739324 -0.227264 0.633838 -vn 0.267558 -0.406754 0.873478 -vn 0.540100 0.136136 0.830518 -vn 0.328776 -0.398405 0.856259 -vn 0.328776 -0.398405 0.856259 -vn 0.540100 0.136136 0.830518 -vn 0.491149 0.152390 0.857642 -vn 0.328776 -0.398405 0.856259 -vn 0.086428 -0.753305 0.651967 -vn 0.267558 -0.406754 0.873478 -vn 0.267558 -0.406754 0.873478 -vn 0.086428 -0.753305 0.651967 -vn -0.072677 -0.707963 0.702500 -vn 0.086428 -0.753305 0.651967 -vn 0.212866 -0.594441 0.775453 -vn -0.072677 -0.707963 0.702500 -vn -0.072677 -0.707963 0.702500 -vn 0.212866 -0.594441 0.775453 -vn 0.077064 -0.547430 0.833296 -vn 0.302576 -0.139600 -0.942847 -vn 0.192392 -0.228822 -0.954267 -vn 0.292926 -0.140834 -0.945706 -vn 0.292926 -0.140834 -0.945706 -vn 0.192392 -0.228822 -0.954267 -vn 0.238326 -0.280306 -0.929855 -vn -0.885110 0.090062 -0.456583 -vn -0.908319 0.101642 -0.405740 -vn -0.901202 0.095876 -0.422661 -vn -0.838070 0.099633 -0.536388 -vn -0.885110 0.090062 -0.456583 -vn -0.872698 0.061052 -0.484429 -vn -0.872698 0.061052 -0.484429 -vn -0.885110 0.090062 -0.456583 -vn -0.901202 0.095876 -0.422661 -vn -0.906366 0.121056 -0.404780 -vn -0.918399 0.104092 -0.381717 -vn -0.908319 0.101642 -0.405740 -vn -0.908319 0.101642 -0.405740 -vn -0.918399 0.104092 -0.381717 -vn -0.901202 0.095876 -0.422661 -vn -0.838270 0.058952 -0.542059 -vn -0.848483 0.011890 -0.529089 -vn -0.841805 0.021328 -0.539360 -vn 0.004213 -0.178993 0.983841 -vn 0.005068 -0.169127 0.985581 -vn 0.000875 -0.119271 0.992861 -vn 0.000875 -0.119271 0.992861 -vn 0.005068 -0.169127 0.985581 -vn -0.000283 -0.119211 0.992869 -vn -0.028557 -0.125072 0.991737 -vn -0.030092 -0.127525 0.991379 -vn -0.033619 -0.126186 0.991437 -vn -0.033619 -0.126186 0.991437 -vn -0.030092 -0.127525 0.991379 -vn -0.033272 -0.126422 0.991418 -vn -0.009534 -0.119049 0.992843 -vn -0.012070 -0.128801 0.991597 -vn -0.028557 -0.125072 0.991737 -vn -0.028557 -0.125072 0.991737 -vn -0.012070 -0.128801 0.991597 -vn -0.030092 -0.127525 0.991379 -vn 0.008610 -0.088195 0.996066 -vn 0.006816 -0.096393 0.995320 -vn -0.009534 -0.119049 0.992843 -vn -0.009534 -0.119049 0.992843 -vn 0.006816 -0.096393 0.995320 -vn -0.012070 -0.128801 0.991597 -vn 0.008610 -0.088195 0.996066 -vn 0.000000 -0.094600 0.995515 -vn 0.006816 -0.096393 0.995320 -vn 0.006816 -0.096393 0.995320 -vn 0.000000 -0.094600 0.995515 -vn 0.000000 -0.097825 0.995204 -vn 0.629564 -0.097579 0.770797 -vn 0.897861 -0.284137 0.336321 -vn 0.827590 -0.457878 0.324718 -vn 0.599920 -0.116148 0.791584 -vn 0.827590 -0.457878 0.324718 -vn 0.753614 -0.507019 0.418327 -vn 0.753614 -0.507019 0.418327 -vn 0.794821 -0.533487 0.289225 -vn 0.692347 -0.561281 0.453452 -vn 0.794821 -0.533487 0.289225 -vn 0.753614 -0.507019 0.418327 -vn 0.827590 -0.457878 0.324718 -vn 0.712959 -0.201500 0.671630 -vn 0.755253 -0.322586 0.570553 -vn 0.739324 -0.227264 0.633838 -vn 0.739324 -0.227264 0.633838 -vn 0.755253 -0.322586 0.570553 -vn 0.757093 -0.350156 0.551544 -vn 0.756897 -0.413234 0.506304 -vn 0.753614 -0.507019 0.418327 -vn 0.692347 -0.561281 0.453452 -vn 0.599920 -0.116148 0.791584 -vn 0.753614 -0.507019 0.418327 -vn 0.563981 -0.086031 0.821294 -vn 0.563981 -0.086031 0.821294 -vn 0.753614 -0.507019 0.418327 -vn 0.756897 -0.413234 0.506304 -vn 0.559633 0.486693 0.670777 -vn 0.577927 0.320953 0.750326 -vn 0.275018 0.577380 0.768764 -vn 0.275018 0.577380 0.768764 -vn 0.577927 0.320953 0.750326 -vn 0.116849 0.176924 0.977264 -vn 0.769638 0.335020 0.543525 -vn 0.750340 0.293327 0.592410 -vn 0.559633 0.486693 0.670777 -vn 0.559633 0.486693 0.670777 -vn 0.750340 0.293327 0.592410 -vn 0.577927 0.320953 0.750326 -vn 0.235208 0.242647 0.941169 -vn -0.116952 0.164913 0.979350 -vn 0.517412 0.107566 0.848949 -vn 0.250798 0.356808 0.899882 -vn 0.235208 0.242647 0.941169 -vn 0.503238 0.171977 0.846862 -vn 0.503238 0.171977 0.846862 -vn 0.235208 0.242647 0.941169 -vn 0.517412 0.107566 0.848949 -vn 0.327185 0.359445 0.873927 -vn 0.250798 0.356808 0.899882 -vn 0.576598 0.119160 0.808292 -vn 0.576598 0.119160 0.808292 -vn 0.250798 0.356808 0.899882 -vn 0.503238 0.171977 0.846862 -vn 0.476121 0.310210 0.822848 -vn 0.375740 0.369738 0.849772 -vn 0.622963 0.010707 0.782178 -vn 0.622963 0.010707 0.782178 -vn 0.375740 0.369738 0.849772 -vn 0.613048 0.091494 0.784730 -vn 0.622963 0.010707 0.782178 -vn 0.578466 0.274019 0.768304 -vn 0.476121 0.310210 0.822848 -vn 0.578466 0.274019 0.768304 -vn 0.622963 0.010707 0.782178 -vn 0.600783 -0.009281 0.799358 -vn 0.701508 0.141475 0.698478 -vn 0.561162 0.016469 0.827542 -vn 0.693111 0.218075 0.687052 -vn 0.693111 0.218075 0.687052 -vn 0.561162 0.016469 0.827542 -vn 0.534016 0.096637 0.839934 -vn 0.693111 0.218075 0.687052 -vn 0.534016 0.096637 0.839934 -vn 0.692277 0.290502 0.660576 -vn 0.692277 0.290502 0.660576 -vn 0.534016 0.096637 0.839934 -vn 0.492427 0.164830 0.854603 -vn 0.433159 0.872883 -0.224608 -vn 0.000000 0.965908 -0.258887 -vn 0.420776 0.879811 -0.221087 -vn 0.420776 0.879811 -0.221087 -vn 0.000000 0.965908 -0.258887 -vn -0.000000 0.965233 -0.261391 -vn 0.775130 0.531844 -0.341050 -vn 0.689875 0.626450 -0.362813 -vn 0.662525 0.655485 -0.362491 -vn 0.654908 -0.078612 0.751609 -vn 0.646546 -0.091362 0.757385 -vn 0.693830 -0.131650 0.708003 -vn 0.547185 0.096805 0.831395 -vn 0.540100 0.136136 0.830518 -vn 0.580964 0.116968 0.805481 -vn 0.580964 0.116968 0.805481 -vn 0.540100 0.136136 0.830518 -vn 0.552821 0.127056 0.823557 -vn 0.238326 -0.280306 -0.929855 -vn 0.205507 -0.341339 -0.917199 -vn 0.413320 -0.375423 -0.829593 -vn 0.740528 -0.552831 0.382095 -vn 0.794821 -0.533487 0.289225 -vn 0.897861 -0.284137 0.336321 -vn 0.740528 -0.552831 0.382095 -vn 0.879104 -0.123736 0.460289 -vn 0.825383 0.027812 0.563888 -vn 0.879104 -0.123736 0.460289 -vn 0.740528 -0.552831 0.382095 -vn 0.897861 -0.284137 0.336321 -vn 0.275481 -0.960323 -0.043470 -vn 0.202619 -0.977154 -0.064148 -vn 0.264099 -0.963244 -0.049115 -vn 0.264099 -0.963244 -0.049115 -vn 0.202619 -0.977154 -0.064148 -vn 0.185660 -0.980159 -0.069421 -vn 0.005068 -0.169127 0.985581 -vn 0.004213 -0.178993 0.983841 -vn 0.005265 -0.232431 0.972599 -vn 0.005265 -0.232431 0.972599 -vn 0.004213 -0.178993 0.983841 -vn 0.001215 -0.234994 0.971996 -vn 0.946101 -0.091808 0.310587 -vn 0.947651 -0.069522 0.311647 -vn 0.933835 -0.126242 0.334685 -vn -0.363064 -0.930250 0.053092 -vn -0.385532 -0.921257 0.051487 -vn -0.687639 -0.725988 0.009737 -vn -0.687639 -0.725988 0.009737 -vn -0.385532 -0.921257 0.051487 -vn -0.709102 -0.705080 0.006041 -vn 0.000000 -0.999654 0.026321 -vn 0.000000 -0.998690 0.051159 -vn -0.363064 -0.930250 0.053092 -vn -0.363064 -0.930250 0.053092 -vn 0.000000 -0.998690 0.051159 -vn -0.385532 -0.921257 0.051487 -vn -0.900188 -0.434837 0.024056 -vn -0.913375 -0.402924 0.058299 -vn -0.980424 -0.151736 0.125481 -vn -0.980424 -0.151736 0.125481 -vn -0.913375 -0.402924 0.058299 -vn -0.980182 -0.136745 0.143330 -vn -0.687639 -0.725988 0.009737 -vn -0.709102 -0.705080 0.006041 -vn -0.900188 -0.434837 0.024056 -vn -0.900188 -0.434837 0.024056 -vn -0.709102 -0.705080 0.006041 -vn -0.913375 -0.402924 0.058299 -vn -0.994612 -0.017356 0.102202 -vn -0.994065 -0.017268 0.107409 -vn -0.980182 -0.136745 0.143330 -vn -0.980182 -0.136745 0.143330 -vn -0.994065 -0.017268 0.107409 -vn -0.980424 -0.151736 0.125481 -vn 0.000000 -0.031297 -0.999510 -vn -0.002828 -0.032587 -0.999465 -vn -0.008149 -0.028624 -0.999557 -vn 0.072237 -0.977132 -0.199989 -vn 0.219139 -0.948685 -0.227980 -vn 0.116236 -0.981237 -0.153826 -vn 0.116236 -0.981237 -0.153826 -vn 0.219139 -0.948685 -0.227980 -vn 0.286498 -0.934423 -0.211594 -vn -0.035271 -0.981040 -0.190571 -vn 0.035271 -0.981040 -0.190571 -vn 0.000000 -0.993771 -0.111439 -vn 0.823204 0.041899 0.566197 -vn 0.877209 0.129252 0.462382 -vn 0.815337 0.129486 0.564322 -vn 0.815337 0.129486 0.564322 -vn 0.877209 0.129252 0.462382 -vn 0.793372 0.044920 0.607078 -vn 0.605520 0.092760 0.790405 -vn 0.823204 0.041899 0.566197 -vn 0.586426 0.081490 0.805893 -vn 0.586426 0.081490 0.805893 -vn 0.823204 0.041899 0.566197 -vn 0.815337 0.129486 0.564322 -vn 0.676738 0.161385 0.718318 -vn 0.605520 0.092760 0.790405 -vn 0.578466 0.274019 0.768304 -vn 0.578466 0.274019 0.768304 -vn 0.605520 0.092760 0.790405 -vn 0.586426 0.081490 0.805893 -vn 0.375740 0.369738 0.849772 -vn 0.327185 0.359445 0.873927 -vn 0.613048 0.091494 0.784730 -vn 0.613048 0.091494 0.784730 -vn 0.327185 0.359445 0.873927 -vn 0.576598 0.119160 0.808292 -vn 0.524770 0.165762 0.834949 -vn 0.465482 0.198170 0.862586 -vn 0.375740 0.369738 0.849772 -vn 0.375740 0.369738 0.849772 -vn 0.465482 0.198170 0.862586 -vn 0.327185 0.359445 0.873927 -vn 0.508399 -0.001748 0.861120 -vn 0.490474 -0.015548 0.871317 -vn 0.524770 0.165762 0.834949 -vn 0.524770 0.165762 0.834949 -vn 0.490474 -0.015548 0.871317 -vn 0.465482 0.198170 0.862586 -vn 0.629564 -0.097579 0.770797 -vn 0.599920 -0.116148 0.791584 -vn 0.508399 -0.001748 0.861120 -vn 0.508399 -0.001748 0.861120 -vn 0.599920 -0.116148 0.791584 -vn 0.490474 -0.015548 0.871317 -vn 0.629564 -0.097579 0.770797 -vn 0.827590 -0.457878 0.324718 -vn 0.599920 -0.116148 0.791584 -vn 0.856568 -0.147677 0.494451 -vn 0.877209 0.129252 0.462382 -vn 0.865779 -0.017836 0.500109 -vn 0.877209 0.129252 0.462382 -vn 0.856568 -0.147677 0.494451 -vn 0.793372 0.044920 0.607078 -vn 0.946101 -0.091808 0.310587 -vn 0.921518 -0.135700 0.363854 -vn 0.947651 -0.069522 0.311647 -vn 0.885192 -0.082688 0.457819 -vn 0.921518 -0.135700 0.363854 -vn 0.856568 -0.147677 0.494451 -vn 0.856568 -0.147677 0.494451 -vn 0.921518 -0.135700 0.363854 -vn 0.868708 -0.239350 0.433656 -vn 0.868708 -0.239350 0.433656 -vn 0.921518 -0.135700 0.363854 -vn 0.899836 -0.220831 0.376203 -vn 0.329487 0.646995 0.687630 -vn 0.275018 0.577380 0.768764 -vn 0.000001 0.672206 0.740364 -vn 0.000001 0.672206 0.740364 -vn 0.275018 0.577380 0.768764 -vn 0.000001 0.613691 0.789546 -vn 0.630978 0.528192 0.568225 -vn 0.559633 0.486693 0.670777 -vn 0.329487 0.646995 0.687630 -vn 0.329487 0.646995 0.687630 -vn 0.559633 0.486693 0.670777 -vn 0.275018 0.577380 0.768764 -vn 0.829124 0.305410 0.468271 -vn 0.769638 0.335020 0.543525 -vn 0.630978 0.528192 0.568225 -vn 0.630978 0.528192 0.568225 -vn 0.769638 0.335020 0.543525 -vn 0.559633 0.486693 0.670777 -vn 0.903662 0.091606 0.418334 -vn 0.874367 0.142896 0.463750 -vn 0.829124 0.305410 0.468271 -vn 0.829124 0.305410 0.468271 -vn 0.874367 0.142896 0.463750 -vn 0.769638 0.335020 0.543525 -vn 0.874367 0.142896 0.463750 -vn 0.903662 0.091606 0.418334 -vn 0.865779 -0.017836 0.500109 -vn 0.903662 0.091606 0.418334 -vn 0.885192 -0.082688 0.457819 -vn 0.865779 -0.017836 0.500109 -vn 0.885192 -0.082688 0.457819 -vn 0.856568 -0.147677 0.494451 -vn 0.865779 -0.017836 0.500109 -vn 0.689875 0.626450 -0.362813 -vn 0.433159 0.872883 -0.224608 -vn 0.662525 0.655485 -0.362491 -vn 0.662525 0.655485 -0.362491 -vn 0.433159 0.872883 -0.224608 -vn 0.420776 0.879811 -0.221087 -vn 0.565544 0.401306 0.720495 -vn 0.410556 0.235873 0.880800 -vn 0.395914 0.622562 0.675033 -vn 0.395914 0.622562 0.675033 -vn 0.410556 0.235873 0.880800 -vn 0.283113 0.470702 0.835635 -vn 0.440421 0.756675 0.483190 -vn 0.693408 0.534699 0.482993 -vn 0.395914 0.622562 0.675033 -vn 0.395914 0.622562 0.675033 -vn 0.693408 0.534699 0.482993 -vn 0.565544 0.401306 0.720495 -vn 0.436523 0.194338 0.878454 -vn 0.693408 0.534699 0.482993 -vn 0.301224 0.372748 0.877680 -vn 0.301224 0.372748 0.877680 -vn 0.693408 0.534699 0.482993 -vn 0.440421 0.756675 0.483190 -vn 0.301224 0.372748 0.877680 -vn 0.116849 0.176924 0.977264 -vn 0.436523 0.194338 0.878454 -vn 0.436523 0.194338 0.878454 -vn 0.116849 0.176924 0.977264 -vn 0.577927 0.320953 0.750326 -vn -0.838070 0.099633 -0.536388 -vn -0.872698 0.061052 -0.484429 -vn -0.838270 0.058952 -0.542059 -vn -0.838270 0.058952 -0.542059 -vn -0.872698 0.061052 -0.484429 -vn -0.848483 0.011890 -0.529089 -vn 0.205507 -0.341339 -0.917199 -vn 0.238326 -0.280306 -0.929855 -vn 0.178952 -0.332850 -0.925844 -vn 0.178952 -0.332850 -0.925844 -vn 0.238326 -0.280306 -0.929855 -vn 0.192392 -0.228822 -0.954267 -vn 0.178952 -0.332850 -0.925844 -vn 0.203434 -0.333613 -0.920498 -vn 0.205507 -0.341339 -0.917199 -vn 0.205507 -0.341339 -0.917199 -vn 0.203434 -0.333613 -0.920498 -vn 0.201669 -0.331943 -0.921490 -vn 0.203434 -0.333613 -0.920498 -vn 0.163755 -0.336085 -0.927487 -vn 0.201669 -0.331943 -0.921490 -vn 0.201669 -0.331943 -0.921490 -vn 0.163755 -0.336085 -0.927487 -vn 0.153812 -0.338506 -0.928308 -vn -0.848483 0.011890 -0.529089 -vn -0.857799 0.017740 -0.513679 -vn -0.841805 0.021328 -0.539360 -vn -0.841805 0.021328 -0.539360 -vn -0.857799 0.017740 -0.513679 -vn -0.852988 -0.069459 -0.517289 -vn -0.857799 0.017740 -0.513679 -vn -0.850491 -0.071994 -0.521040 -vn -0.852988 -0.069459 -0.517289 -vn -0.850491 -0.071994 -0.521040 -vn -0.846858 -0.092154 -0.523774 -vn -0.852988 -0.069459 -0.517289 -vn -0.852988 -0.069459 -0.517289 -vn -0.846858 -0.092154 -0.523774 -vn -0.847084 -0.090957 -0.523617 -vn -0.846858 -0.092154 -0.523774 -vn -0.856333 -0.079551 -0.510260 -vn -0.847084 -0.090957 -0.523617 -vn -0.847084 -0.090957 -0.523617 -vn -0.856333 -0.079551 -0.510260 -vn -0.858056 -0.079184 -0.507414 -vn 0.478460 -0.790217 0.382927 -vn 0.740528 -0.552831 0.382095 -vn 0.276535 -0.885349 0.373744 -vn 0.740528 -0.552831 0.382095 -vn 0.590636 -0.714540 0.374942 -vn 0.794821 -0.533487 0.289225 -vn 0.750340 0.293327 0.592410 -vn 0.795050 0.365669 0.483923 -vn 0.577927 0.320953 0.750326 -vn 0.577927 0.320953 0.750326 -vn 0.795050 0.365669 0.483923 -vn 0.746743 0.367139 0.554603 -vn 0.646546 -0.091362 0.757385 -vn 0.654908 -0.078612 0.751609 -vn 0.595966 0.010468 0.802942 -vn 0.595966 0.010468 0.802942 -vn 0.654908 -0.078612 0.751609 -vn 0.645955 0.010511 0.763303 -vn 0.540100 0.136136 0.830518 -vn 0.595966 0.010468 0.802942 -vn 0.552821 0.127056 0.823557 -vn 0.552821 0.127056 0.823557 -vn 0.595966 0.010468 0.802942 -vn 0.645955 0.010511 0.763303 -vn 0.251850 0.142172 0.957266 -vn -0.000000 0.162236 0.986752 -vn 0.148083 0.146979 0.977992 -vn 0.148083 0.146979 0.977992 -vn -0.000000 0.162236 0.986752 -vn 0.000000 0.141845 0.989889 -vn 0.309236 0.165615 0.936453 -vn 0.419722 0.109486 0.901025 -vn 0.258902 0.164100 0.951862 -vn 0.419722 0.109486 0.901025 -vn 0.251850 0.142172 0.957266 -vn 0.258902 0.164100 0.951862 -vn 0.251850 0.142172 0.957266 -vn 0.148083 0.146979 0.977992 -vn 0.258902 0.164100 0.951862 -vn 0.419722 0.109486 0.901025 -vn 0.612309 0.047674 0.789180 -vn 0.564812 0.045085 0.823987 -vn 0.612309 0.047674 0.789180 -vn 0.419722 0.109486 0.901025 -vn 0.606936 0.075890 0.791119 -vn 0.419722 0.109486 0.901025 -vn 0.543709 0.088666 0.834577 -vn 0.606936 0.075890 0.791119 -vn 0.419722 0.109486 0.901025 -vn 0.454197 0.114604 0.883499 -vn 0.543709 0.088666 0.834577 -vn 0.454197 0.114604 0.883499 -vn 0.419722 0.109486 0.901025 -vn 0.309236 0.165615 0.936453 -vn 0.669690 0.002394 0.742637 -vn 0.671572 0.000921 0.740939 -vn 0.564812 0.045085 0.823987 -vn 0.671572 0.000921 0.740939 -vn 0.643622 0.003589 0.765335 -vn 0.564812 0.045085 0.823987 -vn 0.643622 0.003589 0.765335 -vn 0.639898 0.000849 0.768459 -vn 0.564812 0.045085 0.823987 -vn 0.612309 0.047674 0.789180 -vn 0.636922 0.014002 0.770801 -vn 0.564812 0.045085 0.823987 -vn 0.636922 0.014002 0.770801 -vn 0.657122 0.006114 0.753760 -vn 0.564812 0.045085 0.823987 -vn 0.564812 0.045085 0.823987 -vn 0.657122 0.006114 0.753760 -vn 0.669690 0.002394 0.742637 -vn 0.643622 0.003589 0.765335 -vn 0.683680 -0.002210 0.729778 -vn 0.639898 0.000849 0.768459 -vn 0.639898 0.000849 0.768459 -vn 0.683680 -0.002210 0.729778 -vn 0.627582 -0.013520 0.778433 -vn 0.683680 -0.002210 0.729778 -vn 0.640471 -0.013126 0.767870 -vn 0.627582 -0.013520 0.778433 -vn 0.667492 -0.004836 0.744601 -vn 0.629564 -0.097579 0.770797 -vn 0.558848 0.112880 0.821552 -vn 0.558848 0.112880 0.821552 -vn 0.629564 -0.097579 0.770797 -vn 0.508399 -0.001748 0.861120 -vn 0.897861 -0.284137 0.336321 -vn 0.629564 -0.097579 0.770797 -vn 0.872814 -0.299764 0.385146 -vn 0.629564 -0.097579 0.770797 -vn 0.667492 -0.004836 0.744601 -vn 0.872814 -0.299764 0.385146 -vn 0.600783 -0.009281 0.799358 -vn 0.676738 0.161385 0.718318 -vn 0.578466 0.274019 0.768304 -vn 0.676738 0.161385 0.718318 -vn 0.561162 0.016469 0.827542 -vn 0.701508 0.141475 0.698478 -vn 0.561162 0.016469 0.827542 -vn 0.676738 0.161385 0.718318 -vn 0.600783 -0.009281 0.799358 -vn 0.701508 0.141475 0.698478 -vn 0.637792 0.094825 0.764349 -vn 0.676738 0.161385 0.718318 -vn 0.676738 0.161385 0.718318 -vn 0.637792 0.094825 0.764349 -vn 0.605520 0.092760 0.790405 -vn 0.637792 0.094825 0.764349 -vn 0.725880 0.010497 0.687741 -vn 0.605520 0.092760 0.790405 -vn 0.605520 0.092760 0.790405 -vn 0.725880 0.010497 0.687741 -vn 0.823204 0.041899 0.566197 -vn 0.725880 0.010497 0.687741 -vn 0.878718 0.118805 0.462320 -vn 0.823204 0.041899 0.566197 -vn 0.823204 0.041899 0.566197 -vn 0.878718 0.118805 0.462320 -vn 0.877209 0.129252 0.462382 -vn 0.878718 0.118805 0.462320 -vn 0.865779 -0.017836 0.500109 -vn 0.877209 0.129252 0.462382 -vn 0.000875 -0.119271 0.992861 -vn -0.000283 -0.119211 0.992869 -vn -0.033272 -0.126422 0.991418 -vn -0.033272 -0.126422 0.991418 -vn -0.000283 -0.119211 0.992869 -vn -0.033619 -0.126186 0.991437 -vn -0.995493 -0.030523 0.089784 -vn -0.993894 -0.047100 0.099785 -vn -0.986612 -0.094408 0.132977 -vn 0.921518 -0.135700 0.363854 -vn 0.885192 -0.082688 0.457819 -vn 0.947651 -0.069522 0.311647 -vn 0.740528 -0.552831 0.382095 -vn 0.478460 -0.790217 0.382927 -vn 0.590636 -0.714540 0.374942 -vn 0.692347 -0.561281 0.453452 -vn 0.590636 -0.714540 0.374942 -vn 0.662696 -0.571306 0.484194 -vn 0.662696 -0.571306 0.484194 -vn 0.590636 -0.714540 0.374942 -vn 0.478460 -0.790217 0.382927 -vn 0.756897 -0.413234 0.506304 -vn 0.692347 -0.561281 0.453452 -vn 0.729157 -0.440006 0.524142 -vn 0.729157 -0.440006 0.524142 -vn 0.692347 -0.561281 0.453452 -vn 0.662696 -0.571306 0.484194 -vn 0.755253 -0.322586 0.570553 -vn 0.756897 -0.413234 0.506304 -vn 0.757093 -0.350156 0.551544 -vn 0.757093 -0.350156 0.551544 -vn 0.756897 -0.413234 0.506304 -vn 0.729157 -0.440006 0.524142 -vn -0.994065 -0.017268 0.107409 -vn -0.994612 -0.017356 0.102202 -vn -0.995493 -0.030523 0.089784 -vn -0.995493 -0.030523 0.089784 -vn -0.994612 -0.017356 0.102202 -vn -0.993894 -0.047100 0.099785 -vn 0.692347 -0.561281 0.453452 -vn 0.794821 -0.533487 0.289225 -vn 0.590636 -0.714540 0.374942 -vn 0.897861 -0.284137 0.336321 -vn 0.794821 -0.533487 0.289225 -vn 0.827590 -0.457878 0.324718 -vn 0.072237 -0.977132 -0.199989 -vn 0.035271 -0.981040 -0.190571 -vn 0.219139 -0.948685 -0.227980 -vn 0.219139 -0.948685 -0.227980 -vn 0.035271 -0.981040 -0.190571 -vn -0.000000 -0.979515 -0.201370 -vn 0.006740 -0.119147 0.992854 -vn -0.014744 -0.114681 0.993293 -vn 0.010643 -0.117305 0.993039 -vn 0.010643 -0.117305 0.993039 -vn -0.014744 -0.114681 0.993293 -vn -0.016403 -0.114530 0.993284 -vn 0.001677 -0.122098 0.992517 -vn 0.006740 -0.119147 0.992854 -vn 0.002947 -0.126501 0.991962 -vn 0.002947 -0.126501 0.991962 -vn 0.006740 -0.119147 0.992854 -vn 0.010643 -0.117305 0.993039 -vn -0.015049 -0.110728 0.993737 -vn -0.008436 -0.120558 0.992670 -vn 0.002947 -0.126501 0.991962 -vn 0.002947 -0.126501 0.991962 -vn -0.008436 -0.120558 0.992670 -vn 0.001677 -0.122098 0.992517 -vn -0.004325 -0.103474 0.994623 -vn -0.007502 -0.104044 0.994544 -vn -0.015049 -0.110728 0.993737 -vn -0.015049 -0.110728 0.993737 -vn -0.007502 -0.104044 0.994544 -vn -0.008436 -0.120558 0.992670 -vn -0.005018 -0.111652 0.993735 -vn -0.005159 -0.111410 0.993761 -vn -0.004325 -0.103474 0.994623 -vn -0.004325 -0.103474 0.994623 -vn -0.005159 -0.111410 0.993761 -vn -0.007502 -0.104044 0.994544 -vn -0.000000 -0.103656 0.994613 -vn 0.000000 -0.104054 0.994572 -vn -0.005018 -0.111652 0.993735 -vn -0.005018 -0.111652 0.993735 -vn 0.000000 -0.104054 0.994572 -vn -0.005159 -0.111410 0.993761 -vn 0.383256 0.917388 0.107303 -vn 0.381629 0.918042 0.107509 -vn 0.000001 0.993140 0.116931 -vn 0.000001 0.993140 0.116931 -vn 0.381629 0.918042 0.107509 -vn -0.000000 0.993137 0.116961 -vn 0.944421 0.326503 0.038270 -vn 0.996158 0.087056 0.009500 -vn 0.944072 0.327512 0.038261 -vn 0.944072 0.327512 0.038261 -vn 0.996158 0.087056 0.009500 -vn 0.996136 0.087303 0.009553 -vn 0.383256 0.917388 0.107303 -vn 0.734848 0.673668 0.078545 -vn 0.381629 0.918042 0.107509 -vn 0.381629 0.918042 0.107509 -vn 0.734848 0.673668 0.078545 -vn 0.733828 0.674769 0.078632 -vn 0.944421 0.326503 0.038270 -vn 0.944072 0.327512 0.038261 -vn 0.734848 0.673668 0.078545 -vn 0.734848 0.673668 0.078545 -vn 0.944072 0.327512 0.038261 -vn 0.733828 0.674769 0.078632 -vn 0.999999 0.000168 -0.001210 -vn 0.999999 0.000474 -0.001197 -vn 0.999999 0.000133 -0.001444 -vn 0.999999 0.000474 -0.001197 -vn 0.999999 0.000168 -0.001210 -vn 0.996136 0.087303 0.009553 -vn 0.999999 0.000474 -0.001197 -vn 0.996136 0.087303 0.009553 -vn 0.996158 0.087056 0.009500 -vn 1.000000 0.000059 -0.000503 -vn 1.000000 0.000066 -0.000537 -vn 0.999999 -0.000103 -0.001265 -vn 0.999999 0.000168 -0.001210 -vn 0.999999 -0.000103 -0.001265 -vn 1.000000 0.000066 -0.000537 -vn 0.999999 -0.000103 -0.001265 -vn 0.999999 0.000168 -0.001210 -vn 0.999999 0.000133 -0.001444 -vn -0.874368 0.142892 0.463748 -vn -0.769637 0.335024 0.543524 -vn -0.839359 0.129821 0.527847 -vn -0.769637 0.335024 0.543524 -vn -0.750336 0.293332 0.592412 -vn -0.839359 0.129821 0.527847 -vn -0.116849 0.176925 0.977263 -vn 0.000000 0.212854 0.977084 -vn -0.301220 0.372748 0.877682 -vn 0.000000 0.212854 0.977084 -vn -0.000000 0.428954 0.903327 -vn -0.301220 0.372748 0.877682 -vn 0.000000 0.212854 0.977084 -vn -0.116849 0.176925 0.977263 -vn 0.000001 0.613691 0.789546 -vn -0.116849 0.176925 0.977263 -vn -0.275020 0.577380 0.768763 -vn 0.000001 0.613691 0.789546 -vn -0.872815 -0.299763 0.385144 -vn -0.897861 -0.284137 0.336321 -vn -0.876646 -0.220404 0.427685 -vn -0.897861 -0.284137 0.336321 -vn -0.879103 -0.123735 0.460291 -vn -0.876646 -0.220404 0.427685 -vn -0.839359 0.129821 0.527847 -vn -0.725879 0.010493 0.687742 -vn -0.878719 0.118802 0.462319 -vn -0.736369 -0.009801 0.676509 -vn -0.650778 0.155174 0.743242 -vn -0.667494 -0.004835 0.744600 -vn -0.650778 0.155174 0.743242 -vn -0.558854 0.112881 0.821547 -vn -0.667494 -0.004835 0.744600 -vn -0.865777 -0.017836 0.500112 -vn -0.874368 0.142892 0.463748 -vn -0.878719 0.118802 0.462319 -vn -0.874368 0.142892 0.463748 -vn -0.839359 0.129821 0.527847 -vn -0.878719 0.118802 0.462319 -vn -0.872815 -0.299763 0.385144 -vn -0.868708 -0.239350 0.433657 -vn -0.667494 -0.004835 0.744600 -vn -0.868708 -0.239350 0.433657 -vn -0.736369 -0.009801 0.676509 -vn -0.667494 -0.004835 0.744600 -vn -0.872815 -0.299763 0.385144 -vn -0.876646 -0.220404 0.427685 -vn -0.868708 -0.239350 0.433657 -vn -0.876646 -0.220404 0.427685 -vn -0.899836 -0.220835 0.376201 -vn -0.868708 -0.239350 0.433657 -vn -0.563982 -0.086031 0.821293 -vn -0.423338 0.053242 0.904406 -vn -0.506635 -0.080128 0.858429 -vn -0.423338 0.053242 0.904406 -vn -0.328468 0.080050 0.941117 -vn -0.506635 -0.080128 0.858429 -vn -0.506635 -0.080128 0.858429 -vn -0.328468 0.080050 0.941117 -vn -0.345102 -0.069683 0.935975 -vn -0.328468 0.080050 0.941117 -vn -0.069477 0.062895 0.995599 -vn -0.345102 -0.069683 0.935975 -vn 0.102959 -0.125140 0.986782 -vn 0.231638 -0.421065 0.876954 -vn -0.094883 -0.123582 0.987788 -vn 0.231638 -0.421065 0.876954 -vn -0.160782 -0.314716 0.935469 -vn -0.094883 -0.123582 0.987788 -vn -0.267556 -0.406753 0.873479 -vn -0.160782 -0.314716 0.935469 -vn 0.072677 -0.707963 0.702500 -vn -0.160782 -0.314716 0.935469 -vn 0.231638 -0.421065 0.876954 -vn 0.072677 -0.707963 0.702500 -vn -0.298116 -0.370998 0.879481 -vn -0.328776 -0.398405 0.856259 -vn -0.138480 -0.732187 0.666877 -vn -0.328776 -0.398405 0.856259 -vn -0.086429 -0.753305 0.651967 -vn -0.138480 -0.732187 0.666877 -vn -0.175494 -0.359003 0.916689 -vn -0.298116 -0.370998 0.879481 -vn -0.078068 -0.775295 0.626756 -vn -0.298116 -0.370998 0.879481 -vn -0.138480 -0.732187 0.666877 -vn -0.078068 -0.775295 0.626756 -vn 0.000000 -0.331736 0.943372 -vn -0.175494 -0.359003 0.916689 -vn -0.000000 -0.773117 0.634263 -vn -0.175494 -0.359003 0.916689 -vn -0.078068 -0.775295 0.626756 -vn -0.000000 -0.773117 0.634263 -vn -0.345102 -0.069683 0.935975 -vn -0.069477 0.062895 0.995599 -vn -0.094883 -0.123582 0.987788 -vn -0.069477 0.062895 0.995599 -vn 0.102959 -0.125140 0.986782 -vn -0.094883 -0.123582 0.987788 -vn -0.563982 -0.086031 0.821293 -vn -0.506635 -0.080128 0.858429 -vn -0.756897 -0.413234 0.506304 -vn -0.506635 -0.080128 0.858429 -vn -0.755254 -0.322587 0.570552 -vn -0.756897 -0.413234 0.506304 -vn -0.506635 -0.080128 0.858429 -vn -0.345102 -0.069683 0.935975 -vn -0.755254 -0.322587 0.570552 -vn -0.345102 -0.069683 0.935975 -vn -0.712964 -0.201500 0.671625 -vn -0.755254 -0.322587 0.570552 -vn -0.094883 -0.123582 0.987788 -vn -0.646545 -0.091367 0.757385 -vn -0.345102 -0.069683 0.935975 -vn -0.646545 -0.091367 0.757385 -vn -0.712964 -0.201500 0.671625 -vn -0.345102 -0.069683 0.935975 -vn -0.599921 -0.116149 0.791584 -vn -0.490471 -0.015544 0.871319 -vn -0.563982 -0.086031 0.821293 -vn -0.490471 -0.015544 0.871319 -vn -0.423338 0.053242 0.904406 -vn -0.563982 -0.086031 0.821293 -vn -0.298116 -0.370998 0.879481 -vn -0.390125 0.174215 0.904130 -vn -0.328776 -0.398405 0.856259 -vn -0.390125 0.174215 0.904130 -vn -0.491149 0.152390 0.857642 -vn -0.328776 -0.398405 0.856259 -vn -0.298116 -0.370998 0.879481 -vn -0.175494 -0.359003 0.916689 -vn -0.390125 0.174215 0.904130 -vn -0.175494 -0.359003 0.916689 -vn -0.230528 0.218428 0.948233 -vn -0.390125 0.174215 0.904130 -vn 0.000000 -0.331736 0.943372 -vn -0.000000 0.233936 0.972252 -vn -0.175494 -0.359003 0.916689 -vn -0.000000 0.233936 0.972252 -vn -0.230528 0.218428 0.948233 -vn -0.175494 -0.359003 0.916689 -vn -0.160782 -0.314716 0.935469 -vn -0.595966 0.010468 0.802941 -vn -0.094883 -0.123582 0.987788 -vn -0.595966 0.010468 0.802941 -vn -0.646545 -0.091367 0.757385 -vn -0.094883 -0.123582 0.987788 -vn -0.540099 0.136138 0.830518 -vn -0.595966 0.010468 0.802941 -vn -0.267556 -0.406753 0.873479 -vn -0.595966 0.010468 0.802941 -vn -0.160782 -0.314716 0.935469 -vn -0.267556 -0.406753 0.873479 -vn -0.513045 0.085684 0.854075 -vn -0.547185 0.096805 0.831395 -vn -0.491149 0.152390 0.857642 -vn -0.547185 0.096805 0.831395 -vn -0.540099 0.136138 0.830518 -vn -0.491149 0.152390 0.857642 -vn -0.513045 0.085684 0.854075 -vn -0.491149 0.152390 0.857642 -vn -0.385025 0.087869 0.918714 -vn -0.491149 0.152390 0.857642 -vn -0.390125 0.174215 0.904130 -vn -0.385025 0.087869 0.918714 -vn -0.385025 0.087869 0.918714 -vn -0.390125 0.174215 0.904130 -vn -0.208441 0.117321 0.970973 -vn -0.390125 0.174215 0.904130 -vn -0.230528 0.218428 0.948233 -vn -0.208441 0.117321 0.970973 -vn -0.208441 0.117321 0.970973 -vn -0.230528 0.218428 0.948233 -vn -0.000000 0.141983 0.989869 -vn -0.230528 0.218428 0.948233 -vn -0.000000 0.233936 0.972252 -vn -0.000000 0.141983 0.989869 -vn -0.129730 -0.990616 -0.043006 -vn -0.102818 -0.994359 -0.026060 -vn -0.072237 -0.977132 -0.199989 -vn -0.102818 -0.994359 -0.026060 -vn -0.116236 -0.981237 -0.153826 -vn -0.072237 -0.977132 -0.199989 -vn -0.238285 -0.957055 -0.165127 -vn -0.252549 -0.961967 -0.104105 -vn -0.244430 -0.956219 -0.160933 -vn -0.252549 -0.961967 -0.104105 -vn -0.257569 -0.961354 -0.097240 -vn -0.244430 -0.956219 -0.160933 -vn -0.252549 -0.961967 -0.104105 -vn -0.264099 -0.963244 -0.049115 -vn -0.257569 -0.961354 -0.097240 -vn -0.264099 -0.963244 -0.049115 -vn -0.275481 -0.960323 -0.043470 -vn -0.257569 -0.961354 -0.097240 -vn -0.238285 -0.957055 -0.165127 -vn -0.244430 -0.956219 -0.160933 -vn -0.286498 -0.934423 -0.211593 -vn -0.244430 -0.956219 -0.160933 -vn -0.219139 -0.948685 -0.227979 -vn -0.286498 -0.934423 -0.211593 -vn -0.793375 0.044918 0.607073 -vn -0.815336 0.129486 0.564323 -vn -0.736369 -0.009801 0.676509 -vn -0.815336 0.129486 0.564323 -vn -0.650778 0.155174 0.743242 -vn -0.736369 -0.009801 0.676509 -vn -0.856567 -0.147677 0.494454 -vn -0.793375 0.044918 0.607073 -vn -0.868708 -0.239350 0.433657 -vn -0.793375 0.044918 0.607073 -vn -0.736369 -0.009801 0.676509 -vn -0.868708 -0.239350 0.433657 -vn 0.000000 0.852896 0.522081 -vn -0.440416 0.756677 0.483190 -vn -0.000000 0.428954 0.903327 -vn -0.440416 0.756677 0.483190 -vn -0.301220 0.372748 0.877682 -vn -0.000000 0.428954 0.903327 -vn -0.693405 0.534698 0.482998 -vn -0.746744 0.367133 0.554606 -vn -0.436515 0.194333 0.878459 -vn -0.746744 0.367133 0.554606 -vn -0.577924 0.320947 0.750331 -vn -0.436515 0.194333 0.878459 -vn -0.839359 0.129821 0.527847 -vn -0.750336 0.293332 0.592412 -vn -0.804042 0.222216 0.551485 -vn -0.750336 0.293332 0.592412 -vn -0.795047 0.365673 0.483925 -vn -0.804042 0.222216 0.551485 -vn -0.804042 0.222216 0.551485 -vn -0.637787 0.094809 0.764355 -vn -0.725879 0.010493 0.687742 -vn -0.725879 0.010493 0.687742 -vn -0.839359 0.129821 0.527847 -vn -0.804042 0.222216 0.551485 -vn -0.815336 0.129486 0.564323 -vn -0.586431 0.081488 0.805890 -vn -0.650778 0.155174 0.743242 -vn -0.586431 0.081488 0.805890 -vn -0.583298 0.099182 0.806180 -vn -0.650778 0.155174 0.743242 -vn -0.423338 0.053242 0.904406 -vn -0.396273 0.237589 0.886859 -vn -0.328468 0.080050 0.941117 -vn -0.396273 0.237589 0.886859 -vn -0.332958 0.174510 0.926653 -vn -0.328468 0.080050 0.941117 -vn -0.328468 0.080050 0.941117 -vn -0.332958 0.174510 0.926653 -vn -0.069477 0.062895 0.995599 -vn -0.332958 0.174510 0.926653 -vn -0.176995 0.117973 0.977116 -vn -0.069477 0.062895 0.995599 -vn 0.102959 -0.125140 0.986782 -vn -0.156165 -0.047092 0.986608 -vn 0.231638 -0.421065 0.876954 -vn 0.072677 -0.707963 0.702500 -vn 0.231638 -0.421065 0.876954 -vn -0.077064 -0.547431 0.833295 -vn 0.231638 -0.421065 0.876954 -vn 0.054624 -0.259422 0.964218 -vn -0.077064 -0.547431 0.833295 -vn -0.138480 -0.732187 0.666877 -vn -0.086429 -0.753305 0.651967 -vn -0.247668 -0.520946 0.816869 -vn -0.086429 -0.753305 0.651967 -vn -0.212866 -0.594441 0.775453 -vn -0.247668 -0.520946 0.816869 -vn -0.078068 -0.775295 0.626756 -vn -0.138480 -0.732187 0.666877 -vn -0.142004 -0.600232 0.787119 -vn -0.138480 -0.732187 0.666877 -vn -0.247668 -0.520946 0.816869 -vn -0.142004 -0.600232 0.787119 -vn -0.000000 -0.773117 0.634263 -vn -0.078068 -0.775295 0.626756 -vn -0.000000 -0.616413 0.787423 -vn -0.078068 -0.775295 0.626756 -vn -0.142004 -0.600232 0.787119 -vn -0.000000 -0.616413 0.787423 -vn -0.069477 0.062895 0.995599 -vn -0.176995 0.117973 0.977116 -vn 0.102959 -0.125140 0.986782 -vn -0.176995 0.117973 0.977116 -vn -0.156165 -0.047092 0.986608 -vn 0.102959 -0.125140 0.986782 -vn -0.490471 -0.015544 0.871319 -vn -0.465480 0.198176 0.862586 -vn -0.423338 0.053242 0.904406 -vn -0.465480 0.198176 0.862586 -vn -0.396273 0.237589 0.886859 -vn -0.423338 0.053242 0.904406 -vn -0.650778 0.155174 0.743242 -vn -0.583298 0.099182 0.806180 -vn -0.558854 0.112881 0.821547 -vn -0.558854 0.112881 0.821547 -vn -0.583298 0.099182 0.806180 -vn -0.508398 -0.001751 0.861120 -vn -0.583298 0.099182 0.806180 -vn -0.524767 0.165762 0.834951 -vn -0.508398 -0.001751 0.861120 -vn 0.231638 -0.421065 0.876954 -vn -0.156165 -0.047092 0.986608 -vn 0.054624 -0.259422 0.964218 -vn -0.156165 -0.047092 0.986608 -vn 0.223344 -0.078069 0.971608 -vn 0.054624 -0.259422 0.964218 -vn -0.176995 0.117973 0.977116 -vn 0.116951 0.164914 0.979350 -vn -0.156165 -0.047092 0.986608 -vn 0.116951 0.164914 0.979350 -vn 0.223344 -0.078069 0.971608 -vn -0.156165 -0.047092 0.986608 -vn -0.332958 0.174510 0.926653 -vn -0.235209 0.242648 0.941169 -vn -0.176995 0.117973 0.977116 -vn -0.235209 0.242648 0.941169 -vn 0.116951 0.164914 0.979350 -vn -0.176995 0.117973 0.977116 -vn -0.396273 0.237589 0.886859 -vn -0.250798 0.356808 0.899882 -vn -0.332958 0.174510 0.926653 -vn -0.250798 0.356808 0.899882 -vn -0.235209 0.242648 0.941169 -vn -0.332958 0.174510 0.926653 -vn -0.465480 0.198176 0.862586 -vn -0.327185 0.359445 0.873927 -vn -0.396273 0.237589 0.886859 -vn -0.327185 0.359445 0.873927 -vn -0.250798 0.356808 0.899882 -vn -0.396273 0.237589 0.886859 -vn -0.375740 0.369738 0.849772 -vn -0.524767 0.165762 0.834951 -vn -0.476121 0.310210 0.822848 -vn -0.524767 0.165762 0.834951 -vn -0.583298 0.099182 0.806180 -vn -0.476121 0.310210 0.822848 -vn -0.586431 0.081488 0.805890 -vn -0.578472 0.274016 0.768300 -vn -0.583298 0.099182 0.806180 -vn -0.578472 0.274016 0.768300 -vn -0.476121 0.310210 0.822848 -vn -0.583298 0.099182 0.806180 -vn -0.637787 0.094809 0.764355 -vn -0.804042 0.222216 0.551485 -vn -0.701511 0.141462 0.698478 -vn -0.804042 0.222216 0.551485 -vn -0.693125 0.218098 0.687030 -vn -0.701511 0.141462 0.698478 -vn -0.795047 0.365673 0.483925 -vn -0.692277 0.290506 0.660575 -vn -0.804042 0.222216 0.551485 -vn -0.692277 0.290506 0.660575 -vn -0.693125 0.218098 0.687030 -vn -0.804042 0.222216 0.551485 -vn -0.746744 0.367133 0.554606 -vn -0.665438 0.371469 0.647459 -vn -0.795047 0.365673 0.483925 -vn -0.665438 0.371469 0.647459 -vn -0.692277 0.290506 0.660575 -vn -0.795047 0.365673 0.483925 -vn -0.746744 0.367133 0.554606 -vn -0.693405 0.534698 0.482998 -vn -0.665438 0.371469 0.647459 -vn -0.693405 0.534698 0.482998 -vn -0.565548 0.401311 0.720490 -vn -0.665438 0.371469 0.647459 -vn -0.440416 0.756677 0.483190 -vn 0.000000 0.852896 0.522081 -vn -0.395912 0.622565 0.675031 -vn 0.000000 0.852896 0.522081 -vn 0.000000 0.735528 0.677494 -vn -0.395912 0.622565 0.675031 -vn -0.692277 0.290506 0.660575 -vn -0.665438 0.371469 0.647459 -vn -0.492427 0.164830 0.854603 -vn -0.665438 0.371469 0.647459 -vn -0.511353 0.270647 0.815640 -vn -0.492427 0.164830 0.854603 -vn -0.665438 0.371469 0.647459 -vn -0.565548 0.401311 0.720490 -vn -0.511353 0.270647 0.815640 -vn -0.565548 0.401311 0.720490 -vn -0.410565 0.235886 0.880792 -vn -0.511353 0.270647 0.815640 -vn -0.395912 0.622565 0.675031 -vn 0.000000 0.735528 0.677494 -vn -0.283113 0.470702 0.835635 -vn 0.000000 0.735528 0.677494 -vn 0.000000 0.588858 0.808237 -vn -0.283113 0.470702 0.835635 -vn -0.646545 -0.091367 0.757385 -vn -0.693829 -0.131658 0.708002 -vn -0.712964 -0.201500 0.671625 -vn -0.693829 -0.131658 0.708002 -vn -0.739324 -0.227264 0.633838 -vn -0.712964 -0.201500 0.671625 -vn -0.267556 -0.406753 0.873479 -vn -0.328776 -0.398405 0.856259 -vn -0.540099 0.136138 0.830518 -vn -0.328776 -0.398405 0.856259 -vn -0.491149 0.152390 0.857642 -vn -0.540099 0.136138 0.830518 -vn -0.328776 -0.398405 0.856259 -vn -0.267556 -0.406753 0.873479 -vn -0.086429 -0.753305 0.651967 -vn -0.267556 -0.406753 0.873479 -vn 0.072677 -0.707963 0.702500 -vn -0.086429 -0.753305 0.651967 -vn -0.086429 -0.753305 0.651967 -vn 0.072677 -0.707963 0.702500 -vn -0.212866 -0.594441 0.775453 -vn 0.072677 -0.707963 0.702500 -vn -0.077064 -0.547431 0.833295 -vn -0.212866 -0.594441 0.775453 -vn -0.302568 -0.139599 -0.942849 -vn -0.292919 -0.140833 -0.945709 -vn -0.192392 -0.228822 -0.954267 -vn -0.292919 -0.140833 -0.945709 -vn -0.238326 -0.280305 -0.929855 -vn -0.192392 -0.228822 -0.954267 -vn 0.885111 0.090062 -0.456582 -vn 0.901202 0.095875 -0.422662 -vn 0.908319 0.101640 -0.405741 -vn 0.838070 0.099637 -0.536387 -vn 0.872698 0.061054 -0.484428 -vn 0.885111 0.090062 -0.456582 -vn 0.872698 0.061054 -0.484428 -vn 0.901202 0.095875 -0.422662 -vn 0.885111 0.090062 -0.456582 -vn 0.906363 0.121056 -0.404786 -vn 0.908319 0.101640 -0.405741 -vn 0.918398 0.104089 -0.381720 -vn 0.908319 0.101640 -0.405741 -vn 0.901202 0.095875 -0.422662 -vn 0.918398 0.104089 -0.381720 -vn 0.838271 0.058954 -0.542057 -vn 0.841805 0.021328 -0.539360 -vn 0.848484 0.011890 -0.529087 -vn -0.004213 -0.178993 0.983841 -vn -0.000875 -0.119271 0.992861 -vn -0.005068 -0.169127 0.985581 -vn -0.000875 -0.119271 0.992861 -vn 0.000283 -0.119211 0.992869 -vn -0.005068 -0.169127 0.985581 -vn 0.028557 -0.125072 0.991737 -vn 0.033619 -0.126186 0.991437 -vn 0.030091 -0.127525 0.991379 -vn 0.033619 -0.126186 0.991437 -vn 0.033272 -0.126422 0.991418 -vn 0.030091 -0.127525 0.991379 -vn 0.009534 -0.119049 0.992843 -vn 0.028557 -0.125072 0.991737 -vn 0.012070 -0.128801 0.991597 -vn 0.028557 -0.125072 0.991737 -vn 0.030091 -0.127525 0.991379 -vn 0.012070 -0.128801 0.991597 -vn -0.008610 -0.088195 0.996066 -vn 0.009534 -0.119049 0.992843 -vn -0.006816 -0.096394 0.995320 -vn 0.009534 -0.119049 0.992843 -vn 0.012070 -0.128801 0.991597 -vn -0.006816 -0.096394 0.995320 -vn -0.008610 -0.088195 0.996066 -vn -0.006816 -0.096394 0.995320 -vn 0.000000 -0.094600 0.995515 -vn -0.006816 -0.096394 0.995320 -vn 0.000000 -0.097825 0.995204 -vn 0.000000 -0.094600 0.995515 -vn -0.629564 -0.097579 0.770797 -vn -0.827590 -0.457878 0.324718 -vn -0.897861 -0.284137 0.336321 -vn -0.599921 -0.116149 0.791584 -vn -0.753614 -0.507019 0.418327 -vn -0.827590 -0.457878 0.324718 -vn -0.753614 -0.507019 0.418327 -vn -0.692347 -0.561281 0.453452 -vn -0.794821 -0.533487 0.289225 -vn -0.794821 -0.533487 0.289225 -vn -0.827590 -0.457878 0.324718 -vn -0.753614 -0.507019 0.418327 -vn -0.712964 -0.201500 0.671625 -vn -0.739324 -0.227264 0.633838 -vn -0.755254 -0.322587 0.570552 -vn -0.739324 -0.227264 0.633838 -vn -0.757093 -0.350156 0.551544 -vn -0.755254 -0.322587 0.570552 -vn -0.756897 -0.413234 0.506304 -vn -0.692347 -0.561281 0.453452 -vn -0.753614 -0.507019 0.418327 -vn -0.599921 -0.116149 0.791584 -vn -0.563982 -0.086031 0.821293 -vn -0.753614 -0.507019 0.418327 -vn -0.563982 -0.086031 0.821293 -vn -0.756897 -0.413234 0.506304 -vn -0.753614 -0.507019 0.418327 -vn -0.559636 0.486691 0.670775 -vn -0.275020 0.577380 0.768763 -vn -0.577924 0.320947 0.750331 -vn -0.275020 0.577380 0.768763 -vn -0.116849 0.176925 0.977263 -vn -0.577924 0.320947 0.750331 -vn -0.769637 0.335024 0.543524 -vn -0.559636 0.486691 0.670775 -vn -0.750336 0.293332 0.592412 -vn -0.559636 0.486691 0.670775 -vn -0.577924 0.320947 0.750331 -vn -0.750336 0.293332 0.592412 -vn -0.235209 0.242648 0.941169 -vn -0.517412 0.107566 0.848949 -vn 0.116951 0.164914 0.979350 -vn -0.250798 0.356808 0.899882 -vn -0.503238 0.171977 0.846862 -vn -0.235209 0.242648 0.941169 -vn -0.503238 0.171977 0.846862 -vn -0.517412 0.107566 0.848949 -vn -0.235209 0.242648 0.941169 -vn -0.327185 0.359445 0.873927 -vn -0.576598 0.119160 0.808292 -vn -0.250798 0.356808 0.899882 -vn -0.576598 0.119160 0.808292 -vn -0.503238 0.171977 0.846862 -vn -0.250798 0.356808 0.899882 -vn -0.476121 0.310210 0.822848 -vn -0.622967 0.010702 0.782175 -vn -0.375740 0.369738 0.849772 -vn -0.622967 0.010702 0.782175 -vn -0.613048 0.091494 0.784730 -vn -0.375740 0.369738 0.849772 -vn -0.622967 0.010702 0.782175 -vn -0.476121 0.310210 0.822848 -vn -0.578472 0.274016 0.768300 -vn -0.578472 0.274016 0.768300 -vn -0.600779 -0.009294 0.799361 -vn -0.622967 0.010702 0.782175 -vn -0.701511 0.141462 0.698478 -vn -0.693125 0.218098 0.687030 -vn -0.561167 0.016480 0.827539 -vn -0.693125 0.218098 0.687030 -vn -0.534016 0.096637 0.839934 -vn -0.561167 0.016480 0.827539 -vn -0.693125 0.218098 0.687030 -vn -0.692277 0.290506 0.660575 -vn -0.534016 0.096637 0.839934 -vn -0.692277 0.290506 0.660575 -vn -0.492427 0.164830 0.854603 -vn -0.534016 0.096637 0.839934 -vn -0.433159 0.872884 -0.224606 -vn -0.420776 0.879811 -0.221087 -vn 0.000000 0.965908 -0.258887 -vn -0.420776 0.879811 -0.221087 -vn -0.000000 0.965233 -0.261391 -vn 0.000000 0.965908 -0.258887 -vn -0.775173 0.531858 -0.340932 -vn -0.662547 0.655515 -0.362398 -vn -0.689916 0.626465 -0.362709 -vn -0.654905 -0.078622 0.751610 -vn -0.693829 -0.131658 0.708002 -vn -0.646545 -0.091367 0.757385 -vn -0.547185 0.096805 0.831395 -vn -0.580964 0.116968 0.805481 -vn -0.540099 0.136138 0.830518 -vn -0.580964 0.116968 0.805481 -vn -0.552822 0.127057 0.823556 -vn -0.540099 0.136138 0.830518 -vn -0.238326 -0.280305 -0.929855 -vn -0.413320 -0.375423 -0.829593 -vn -0.205507 -0.341339 -0.917199 -vn -0.740528 -0.552831 0.382095 -vn -0.897861 -0.284137 0.336321 -vn -0.794821 -0.533487 0.289225 -vn -0.740528 -0.552831 0.382095 -vn -0.825379 0.027816 0.563894 -vn -0.879103 -0.123735 0.460291 -vn -0.879103 -0.123735 0.460291 -vn -0.897861 -0.284137 0.336321 -vn -0.740528 -0.552831 0.382095 -vn -0.275481 -0.960323 -0.043470 -vn -0.264099 -0.963244 -0.049115 -vn -0.202615 -0.977155 -0.064149 -vn -0.264099 -0.963244 -0.049115 -vn -0.185655 -0.980160 -0.069422 -vn -0.202615 -0.977155 -0.064149 -vn -0.005068 -0.169127 0.985581 -vn -0.005265 -0.232431 0.972599 -vn -0.004213 -0.178993 0.983841 -vn -0.005265 -0.232431 0.972599 -vn -0.001215 -0.234994 0.971996 -vn -0.004213 -0.178993 0.983841 -vn -0.946101 -0.091808 0.310587 -vn -0.933835 -0.126242 0.334685 -vn -0.947651 -0.069522 0.311647 -vn 0.363064 -0.930250 0.053092 -vn 0.687639 -0.725988 0.009737 -vn 0.385532 -0.921257 0.051487 -vn 0.687639 -0.725988 0.009737 -vn 0.709098 -0.705084 0.006035 -vn 0.385532 -0.921257 0.051487 -vn 0.000000 -0.999654 0.026321 -vn 0.363064 -0.930250 0.053092 -vn 0.000000 -0.998690 0.051159 -vn 0.363064 -0.930250 0.053092 -vn 0.385532 -0.921257 0.051487 -vn 0.000000 -0.998690 0.051159 -vn 0.900186 -0.434841 0.024039 -vn 0.980425 -0.151730 0.125476 -vn 0.913375 -0.402926 0.058283 -vn 0.980425 -0.151730 0.125476 -vn 0.980184 -0.136733 0.143331 -vn 0.913375 -0.402926 0.058283 -vn 0.687639 -0.725988 0.009737 -vn 0.900186 -0.434841 0.024039 -vn 0.709098 -0.705084 0.006035 -vn 0.900186 -0.434841 0.024039 -vn 0.913375 -0.402926 0.058283 -vn 0.709098 -0.705084 0.006035 -vn 0.994612 -0.017356 0.102202 -vn 0.980184 -0.136733 0.143331 -vn 0.994065 -0.017268 0.107409 -vn 0.980184 -0.136733 0.143331 -vn 0.980425 -0.151730 0.125476 -vn 0.994065 -0.017268 0.107409 -vn 0.002828 -0.032587 -0.999465 -vn 0.000000 -0.031297 -0.999510 -vn 0.008149 -0.028624 -0.999557 -vn 0.000000 -0.031297 -0.999510 -vn 0.002828 -0.032587 -0.999465 -vn -0.002828 -0.032587 -0.999465 -vn -0.072237 -0.977132 -0.199989 -vn -0.116236 -0.981237 -0.153826 -vn -0.219139 -0.948685 -0.227979 -vn -0.116236 -0.981237 -0.153826 -vn -0.286498 -0.934423 -0.211593 -vn -0.219139 -0.948685 -0.227979 -vn 0.035271 -0.981040 -0.190571 -vn -0.035271 -0.981040 -0.190571 -vn -0.000000 -0.979515 -0.201370 -vn -0.823208 0.041906 0.566191 -vn -0.815336 0.129486 0.564323 -vn -0.877212 0.129258 0.462376 -vn -0.815336 0.129486 0.564323 -vn -0.793375 0.044918 0.607073 -vn -0.877212 0.129258 0.462376 -vn -0.605525 0.092770 0.790401 -vn -0.586431 0.081488 0.805890 -vn -0.823208 0.041906 0.566191 -vn -0.586431 0.081488 0.805890 -vn -0.815336 0.129486 0.564323 -vn -0.823208 0.041906 0.566191 -vn -0.676740 0.161393 0.718314 -vn -0.578472 0.274016 0.768300 -vn -0.605525 0.092770 0.790401 -vn -0.578472 0.274016 0.768300 -vn -0.586431 0.081488 0.805890 -vn -0.605525 0.092770 0.790401 -vn -0.375740 0.369738 0.849772 -vn -0.613048 0.091494 0.784730 -vn -0.327185 0.359445 0.873927 -vn -0.613048 0.091494 0.784730 -vn -0.576598 0.119160 0.808292 -vn -0.327185 0.359445 0.873927 -vn -0.524767 0.165762 0.834951 -vn -0.375740 0.369738 0.849772 -vn -0.465480 0.198176 0.862586 -vn -0.375740 0.369738 0.849772 -vn -0.327185 0.359445 0.873927 -vn -0.465480 0.198176 0.862586 -vn -0.508398 -0.001751 0.861120 -vn -0.524767 0.165762 0.834951 -vn -0.490471 -0.015544 0.871319 -vn -0.524767 0.165762 0.834951 -vn -0.465480 0.198176 0.862586 -vn -0.490471 -0.015544 0.871319 -vn -0.629564 -0.097579 0.770797 -vn -0.508398 -0.001751 0.861120 -vn -0.599921 -0.116149 0.791584 -vn -0.508398 -0.001751 0.861120 -vn -0.490471 -0.015544 0.871319 -vn -0.599921 -0.116149 0.791584 -vn -0.629564 -0.097579 0.770797 -vn -0.599921 -0.116149 0.791584 -vn -0.827590 -0.457878 0.324718 -vn -0.856567 -0.147677 0.494454 -vn -0.865777 -0.017836 0.500112 -vn -0.877212 0.129258 0.462376 -vn -0.877212 0.129258 0.462376 -vn -0.793375 0.044918 0.607073 -vn -0.856567 -0.147677 0.494454 -vn -0.946101 -0.091808 0.310587 -vn -0.947651 -0.069522 0.311647 -vn -0.921518 -0.135702 0.363854 -vn -0.885192 -0.082688 0.457819 -vn -0.856567 -0.147677 0.494454 -vn -0.921518 -0.135702 0.363854 -vn -0.856567 -0.147677 0.494454 -vn -0.868708 -0.239350 0.433657 -vn -0.921518 -0.135702 0.363854 -vn -0.868708 -0.239350 0.433657 -vn -0.899836 -0.220835 0.376201 -vn -0.921518 -0.135702 0.363854 -vn -0.329491 0.646994 0.687629 -vn 0.000001 0.672206 0.740364 -vn -0.275020 0.577380 0.768763 -vn 0.000001 0.672206 0.740364 -vn 0.000001 0.613691 0.789546 -vn -0.275020 0.577380 0.768763 -vn -0.630979 0.528195 0.568222 -vn -0.329491 0.646994 0.687629 -vn -0.559636 0.486691 0.670775 -vn -0.329491 0.646994 0.687629 -vn -0.275020 0.577380 0.768763 -vn -0.559636 0.486691 0.670775 -vn -0.829128 0.305413 0.468263 -vn -0.630979 0.528195 0.568222 -vn -0.769637 0.335024 0.543524 -vn -0.630979 0.528195 0.568222 -vn -0.559636 0.486691 0.670775 -vn -0.769637 0.335024 0.543524 -vn -0.903664 0.091600 0.418331 -vn -0.829128 0.305413 0.468263 -vn -0.874368 0.142892 0.463748 -vn -0.829128 0.305413 0.468263 -vn -0.769637 0.335024 0.543524 -vn -0.874368 0.142892 0.463748 -vn -0.874368 0.142892 0.463748 -vn -0.865777 -0.017836 0.500112 -vn -0.903664 0.091600 0.418331 -vn -0.903664 0.091600 0.418331 -vn -0.865777 -0.017836 0.500112 -vn -0.885192 -0.082688 0.457819 -vn -0.885192 -0.082688 0.457819 -vn -0.865777 -0.017836 0.500112 -vn -0.856567 -0.147677 0.494454 -vn -0.689916 0.626465 -0.362709 -vn -0.662547 0.655515 -0.362398 -vn -0.433159 0.872884 -0.224606 -vn -0.662547 0.655515 -0.362398 -vn -0.420776 0.879811 -0.221087 -vn -0.433159 0.872884 -0.224606 -vn -0.565548 0.401311 0.720490 -vn -0.395912 0.622565 0.675031 -vn -0.410565 0.235886 0.880792 -vn -0.395912 0.622565 0.675031 -vn -0.283113 0.470702 0.835635 -vn -0.410565 0.235886 0.880792 -vn -0.440416 0.756677 0.483190 -vn -0.395912 0.622565 0.675031 -vn -0.693405 0.534698 0.482998 -vn -0.395912 0.622565 0.675031 -vn -0.565548 0.401311 0.720490 -vn -0.693405 0.534698 0.482998 -vn -0.436515 0.194333 0.878459 -vn -0.301220 0.372748 0.877682 -vn -0.693405 0.534698 0.482998 -vn -0.301220 0.372748 0.877682 -vn -0.440416 0.756677 0.483190 -vn -0.693405 0.534698 0.482998 -vn -0.301220 0.372748 0.877682 -vn -0.436515 0.194333 0.878459 -vn -0.116849 0.176925 0.977263 -vn -0.436515 0.194333 0.878459 -vn -0.577924 0.320947 0.750331 -vn -0.116849 0.176925 0.977263 -vn 0.838070 0.099637 -0.536387 -vn 0.838271 0.058954 -0.542057 -vn 0.872698 0.061054 -0.484428 -vn 0.838271 0.058954 -0.542057 -vn 0.848484 0.011890 -0.529087 -vn 0.872698 0.061054 -0.484428 -vn -0.205507 -0.341339 -0.917199 -vn -0.178952 -0.332850 -0.925844 -vn -0.238326 -0.280305 -0.929855 -vn -0.178952 -0.332850 -0.925844 -vn -0.192392 -0.228822 -0.954267 -vn -0.238326 -0.280305 -0.929855 -vn -0.178952 -0.332850 -0.925844 -vn -0.205507 -0.341339 -0.917199 -vn -0.203431 -0.333613 -0.920499 -vn -0.205507 -0.341339 -0.917199 -vn -0.201666 -0.331943 -0.921490 -vn -0.203431 -0.333613 -0.920499 -vn -0.203431 -0.333613 -0.920499 -vn -0.201666 -0.331943 -0.921490 -vn -0.163755 -0.336084 -0.927487 -vn -0.201666 -0.331943 -0.921490 -vn -0.153812 -0.338505 -0.928308 -vn -0.163755 -0.336084 -0.927487 -vn 0.848484 0.011890 -0.529087 -vn 0.841805 0.021328 -0.539360 -vn 0.857799 0.017740 -0.513679 -vn 0.841805 0.021328 -0.539360 -vn 0.852988 -0.069459 -0.517289 -vn 0.857799 0.017740 -0.513679 -vn 0.857799 0.017740 -0.513679 -vn 0.852988 -0.069459 -0.517289 -vn 0.850491 -0.071994 -0.521040 -vn 0.850491 -0.071994 -0.521040 -vn 0.852988 -0.069459 -0.517289 -vn 0.846858 -0.092154 -0.523774 -vn 0.852988 -0.069459 -0.517289 -vn 0.847084 -0.090957 -0.523617 -vn 0.846858 -0.092154 -0.523774 -vn 0.846858 -0.092154 -0.523774 -vn 0.847084 -0.090957 -0.523617 -vn 0.856333 -0.079551 -0.510260 -vn 0.847084 -0.090957 -0.523617 -vn 0.858056 -0.079184 -0.507414 -vn 0.856333 -0.079551 -0.510260 -vn 0.000000 -0.932573 -0.360982 -vn 0.000000 -0.932573 -0.360982 -vn 0.000000 -0.953392 -0.301735 -vn 0.000000 -0.932573 -0.360982 -vn 0.000000 -0.953392 -0.301735 -vn 0.000000 -0.953392 -0.301735 -vn 0.000000 -0.972069 -0.234696 -vn 0.000000 -0.972069 -0.234696 -vn 0.000000 -0.976110 -0.217278 -vn 0.000000 -0.972069 -0.234696 -vn 0.000000 -0.976110 -0.217278 -vn 0.000000 -0.976110 -0.217278 -vn 0.000000 -0.953392 -0.301735 -vn 0.000000 -0.953392 -0.301735 -vn 0.000000 -0.972069 -0.234696 -vn 0.000000 -0.953392 -0.301735 -vn 0.000000 -0.972069 -0.234696 -vn 0.000000 -0.972069 -0.234696 -vn 0.000000 -0.264205 -0.964467 -vn 0.000000 -0.264205 -0.964467 -vn 0.000000 -0.264205 -0.964467 -vn 0.000000 -0.264205 -0.964467 -vn 0.000000 -0.264205 -0.964467 -vn 0.000000 -0.264205 -0.964467 -vn -0.478456 -0.790218 0.382931 -vn -0.276536 -0.885350 0.373742 -vn -0.740528 -0.552831 0.382095 -vn -0.740528 -0.552831 0.382095 -vn -0.794821 -0.533487 0.289225 -vn -0.590635 -0.714541 0.374944 -vn -0.750336 0.293332 0.592412 -vn -0.577924 0.320947 0.750331 -vn -0.795047 0.365673 0.483925 -vn -0.577924 0.320947 0.750331 -vn -0.746744 0.367133 0.554606 -vn -0.795047 0.365673 0.483925 -vn -0.646545 -0.091367 0.757385 -vn -0.595966 0.010468 0.802941 -vn -0.654905 -0.078622 0.751610 -vn -0.595966 0.010468 0.802941 -vn -0.645965 0.010516 0.763295 -vn -0.654905 -0.078622 0.751610 -vn -0.540099 0.136138 0.830518 -vn -0.552822 0.127057 0.823556 -vn -0.595966 0.010468 0.802941 -vn -0.552822 0.127057 0.823556 -vn -0.645965 0.010516 0.763295 -vn -0.595966 0.010468 0.802941 -vn -0.251850 0.142173 0.957266 -vn -0.148081 0.146979 0.977992 -vn -0.000000 0.162236 0.986752 -vn -0.148081 0.146979 0.977992 -vn 0.000000 0.141845 0.989889 -vn -0.000000 0.162236 0.986752 -vn -0.309238 0.165614 0.936453 -vn -0.258904 0.164100 0.951861 -vn -0.419722 0.109486 0.901025 -vn -0.419722 0.109486 0.901025 -vn -0.258904 0.164100 0.951861 -vn -0.251850 0.142173 0.957266 -vn -0.251850 0.142173 0.957266 -vn -0.258904 0.164100 0.951861 -vn -0.148081 0.146979 0.977992 -vn -0.419722 0.109486 0.901025 -vn -0.564812 0.045086 0.823987 -vn -0.612310 0.047672 0.789179 -vn -0.612310 0.047672 0.789179 -vn -0.606924 0.075892 0.791128 -vn -0.419722 0.109486 0.901025 -vn -0.419722 0.109486 0.901025 -vn -0.606924 0.075892 0.791128 -vn -0.543709 0.088666 0.834577 -vn -0.419722 0.109486 0.901025 -vn -0.543709 0.088666 0.834577 -vn -0.454197 0.114604 0.883499 -vn -0.454197 0.114604 0.883499 -vn -0.309238 0.165614 0.936453 -vn -0.419722 0.109486 0.901025 -vn -0.669690 0.002394 0.742637 -vn -0.564812 0.045086 0.823987 -vn -0.671572 0.000921 0.740939 -vn -0.671572 0.000921 0.740939 -vn -0.564812 0.045086 0.823987 -vn -0.643622 0.003589 0.765335 -vn -0.643622 0.003589 0.765335 -vn -0.564812 0.045086 0.823987 -vn -0.639893 0.000847 0.768464 -vn -0.612310 0.047672 0.789179 -vn -0.564812 0.045086 0.823987 -vn -0.636933 0.013998 0.770792 -vn -0.636933 0.013998 0.770792 -vn -0.564812 0.045086 0.823987 -vn -0.657122 0.006114 0.753760 -vn -0.564812 0.045086 0.823987 -vn -0.669690 0.002394 0.742637 -vn -0.657122 0.006114 0.753760 -vn -0.643622 0.003589 0.765335 -vn -0.639893 0.000847 0.768464 -vn -0.683680 -0.002210 0.729779 -vn -0.639893 0.000847 0.768464 -vn -0.627557 -0.013526 0.778453 -vn -0.683680 -0.002210 0.729779 -vn -0.683680 -0.002210 0.729779 -vn -0.627557 -0.013526 0.778453 -vn -0.640497 -0.013131 0.767849 -vn -0.667494 -0.004835 0.744600 -vn -0.558854 0.112881 0.821547 -vn -0.629564 -0.097579 0.770797 -vn -0.558854 0.112881 0.821547 -vn -0.508398 -0.001751 0.861120 -vn -0.629564 -0.097579 0.770797 -vn -0.897861 -0.284137 0.336321 -vn -0.872815 -0.299763 0.385144 -vn -0.629564 -0.097579 0.770797 -vn -0.629564 -0.097579 0.770797 -vn -0.872815 -0.299763 0.385144 -vn -0.667494 -0.004835 0.744600 -vn -0.600779 -0.009294 0.799361 -vn -0.578472 0.274016 0.768300 -vn -0.676740 0.161393 0.718314 -vn -0.676740 0.161393 0.718314 -vn -0.701511 0.141462 0.698478 -vn -0.561167 0.016480 0.827539 -vn -0.561167 0.016480 0.827539 -vn -0.600779 -0.009294 0.799361 -vn -0.676740 0.161393 0.718314 -vn -0.701511 0.141462 0.698478 -vn -0.676740 0.161393 0.718314 -vn -0.637787 0.094809 0.764355 -vn -0.676740 0.161393 0.718314 -vn -0.605525 0.092770 0.790401 -vn -0.637787 0.094809 0.764355 -vn -0.637787 0.094809 0.764355 -vn -0.605525 0.092770 0.790401 -vn -0.725879 0.010493 0.687742 -vn -0.605525 0.092770 0.790401 -vn -0.823208 0.041906 0.566191 -vn -0.725879 0.010493 0.687742 -vn -0.725879 0.010493 0.687742 -vn -0.823208 0.041906 0.566191 -vn -0.878719 0.118802 0.462319 -vn -0.823208 0.041906 0.566191 -vn -0.877212 0.129258 0.462376 -vn -0.878719 0.118802 0.462319 -vn -0.878719 0.118802 0.462319 -vn -0.877212 0.129258 0.462376 -vn -0.865777 -0.017836 0.500112 -vn -0.000875 -0.119271 0.992861 -vn 0.033272 -0.126422 0.991418 -vn 0.000283 -0.119211 0.992869 -vn 0.033272 -0.126422 0.991418 -vn 0.033619 -0.126186 0.991437 -vn 0.000283 -0.119211 0.992869 -vn 0.995493 -0.030523 0.089784 -vn 0.986612 -0.094408 0.132977 -vn 0.993894 -0.047100 0.099785 -vn -0.921518 -0.135702 0.363854 -vn -0.947651 -0.069522 0.311647 -vn -0.885192 -0.082688 0.457819 -vn -0.740528 -0.552831 0.382095 -vn -0.590635 -0.714541 0.374944 -vn -0.478456 -0.790218 0.382931 -vn -0.692347 -0.561281 0.453452 -vn -0.662695 -0.571305 0.484196 -vn -0.590635 -0.714541 0.374944 -vn -0.662695 -0.571305 0.484196 -vn -0.478456 -0.790218 0.382931 -vn -0.590635 -0.714541 0.374944 -vn -0.756897 -0.413234 0.506304 -vn -0.729157 -0.440006 0.524142 -vn -0.692347 -0.561281 0.453452 -vn -0.729157 -0.440006 0.524142 -vn -0.662695 -0.571305 0.484196 -vn -0.692347 -0.561281 0.453452 -vn -0.755254 -0.322587 0.570552 -vn -0.757093 -0.350156 0.551544 -vn -0.756897 -0.413234 0.506304 -vn -0.757093 -0.350156 0.551544 -vn -0.729157 -0.440006 0.524142 -vn -0.756897 -0.413234 0.506304 -vn 0.994065 -0.017268 0.107409 -vn 0.995493 -0.030523 0.089784 -vn 0.994612 -0.017356 0.102202 -vn 0.995493 -0.030523 0.089784 -vn 0.993894 -0.047100 0.099785 -vn 0.994612 -0.017356 0.102202 -vn -0.692347 -0.561281 0.453452 -vn -0.590635 -0.714541 0.374944 -vn -0.794821 -0.533487 0.289225 -vn -0.897861 -0.284137 0.336321 -vn -0.827590 -0.457878 0.324718 -vn -0.794821 -0.533487 0.289225 -vn -0.072237 -0.977132 -0.199989 -vn -0.219139 -0.948685 -0.227979 -vn -0.035271 -0.981040 -0.190571 -vn -0.219139 -0.948685 -0.227979 -vn -0.000000 -0.979515 -0.201370 -vn -0.035271 -0.981040 -0.190571 -vn -0.006740 -0.119147 0.992854 -vn -0.010643 -0.117305 0.993039 -vn 0.014744 -0.114681 0.993293 -vn -0.010643 -0.117305 0.993039 -vn 0.016403 -0.114530 0.993284 -vn 0.014744 -0.114681 0.993293 -vn -0.001677 -0.122098 0.992517 -vn -0.002947 -0.126501 0.991962 -vn -0.006740 -0.119147 0.992854 -vn -0.002947 -0.126501 0.991962 -vn -0.010643 -0.117305 0.993039 -vn -0.006740 -0.119147 0.992854 -vn 0.015048 -0.110728 0.993737 -vn -0.002947 -0.126501 0.991962 -vn 0.008436 -0.120558 0.992670 -vn -0.002947 -0.126501 0.991962 -vn -0.001677 -0.122098 0.992517 -vn 0.008436 -0.120558 0.992670 -vn 0.004324 -0.103474 0.994623 -vn 0.015048 -0.110728 0.993737 -vn 0.007501 -0.104044 0.994544 -vn 0.015048 -0.110728 0.993737 -vn 0.008436 -0.120558 0.992670 -vn 0.007501 -0.104044 0.994544 -vn 0.005018 -0.111652 0.993735 -vn 0.004324 -0.103474 0.994623 -vn 0.005159 -0.111410 0.993761 -vn 0.004324 -0.103474 0.994623 -vn 0.007501 -0.104044 0.994544 -vn 0.005159 -0.111410 0.993761 -vn -0.000000 -0.103656 0.994613 -vn 0.005018 -0.111652 0.993735 -vn 0.000000 -0.104054 0.994572 -vn 0.005018 -0.111652 0.993735 -vn 0.005159 -0.111410 0.993761 -vn 0.000000 -0.104054 0.994572 -vn -0.383264 0.917386 0.107289 -vn 0.000001 0.993140 0.116931 -vn -0.381628 0.918043 0.107501 -vn 0.000001 0.993140 0.116931 -vn -0.000000 0.993137 0.116961 -vn -0.381628 0.918043 0.107501 -vn -0.944421 0.326503 0.038270 -vn -0.944072 0.327512 0.038261 -vn -0.996158 0.087056 0.009500 -vn -0.944072 0.327512 0.038261 -vn -0.996136 0.087303 0.009553 -vn -0.996158 0.087056 0.009500 -vn -0.383264 0.917386 0.107289 -vn -0.381628 0.918043 0.107501 -vn -0.734851 0.673666 0.078540 -vn -0.381628 0.918043 0.107501 -vn -0.733828 0.674769 0.078632 -vn -0.734851 0.673666 0.078540 -vn -0.944421 0.326503 0.038270 -vn -0.734851 0.673666 0.078540 -vn -0.944072 0.327512 0.038261 -vn -0.734851 0.673666 0.078540 -vn -0.733828 0.674769 0.078632 -vn -0.944072 0.327512 0.038261 -vn 0.000000 -0.993771 -0.111439 -vn 0.000000 -0.993771 -0.111439 -vn -0.035271 -0.981040 -0.190571 -vn 0.000000 0.198064 0.980189 -vn 0.000000 -0.117199 0.993109 -vn 0.000000 0.198064 0.980189 -vn 0.000000 -0.117199 0.993109 -vn 0.000000 -0.117199 0.993109 -vn 0.000000 0.198064 0.980189 -vn 0.000000 -0.116642 0.993174 -vn 0.000000 -0.116642 0.993174 -vn 0.000000 -0.116649 0.993173 -vn 0.000000 -0.116642 0.993174 -vn 0.000000 -0.116649 0.993173 -vn 0.000000 -0.116649 0.993173 -vn 0.000000 -0.116648 0.993173 -vn 0.000000 -0.116648 0.993173 -vn 0.000000 -0.116628 0.993176 -vn 0.000000 -0.116648 0.993173 -vn 0.000000 -0.116628 0.993176 -vn 0.000000 -0.116628 0.993176 -vn -0.999999 0.000168 -0.001210 -vn -0.999999 0.000474 -0.001197 -vn -0.996136 0.087303 0.009553 -vn 0.000000 0.493608 0.869684 -vn 0.000000 0.493608 0.869684 -vn 0.000000 0.198064 0.980189 -vn 0.000000 0.493608 0.869684 -vn 0.000000 0.198064 0.980189 -vn 0.000000 0.198064 0.980189 -vn 0.000000 -0.714981 0.699144 -vn 0.000000 -0.714981 0.699144 -vn 0.000000 -0.441037 0.897489 -vn 0.000000 -0.714981 0.699144 -vn 0.000000 -0.441037 0.897489 -vn 0.000000 -0.441037 0.897489 -vn 0.000000 -0.116649 0.993173 -vn 0.000000 -0.441037 0.897489 -vn 0.000000 -0.116649 0.993173 -vn 0.000000 -0.441037 0.897489 -vn 0.000000 -0.441037 0.897489 -vn 0.000000 -0.116649 0.993173 -vn 0.000000 -0.116628 0.993176 -vn 0.000000 -0.116628 0.993176 -vn 0.000000 -0.116642 0.993174 -vn 0.000000 -0.116628 0.993176 -vn 0.000000 -0.116642 0.993174 -vn 0.000000 -0.116642 0.993174 -vn -0.999999 0.000474 -0.001197 -vn -0.999999 0.000168 -0.001210 -vn -0.999999 0.000133 -0.001444 -vn -0.999999 0.000474 -0.001197 -vn -0.996158 0.087056 0.009500 -vn -0.996136 0.087303 0.009553 -vn -1.000000 0.000059 -0.000503 -vn -0.999999 -0.000103 -0.001265 -vn -1.000000 0.000066 -0.000537 -vn -0.999999 0.000168 -0.001210 -vn -0.999999 -0.000103 -0.001265 -vn -0.999999 0.000133 -0.001444 -vn 0.000000 -0.116739 0.993163 -vn 0.000000 -0.116648 0.993173 -vn 0.000000 -0.116648 0.993173 -vn -0.999999 -0.000103 -0.001265 -vn -0.999999 0.000168 -0.001210 -vn -1.000000 0.000066 -0.000537 -vn -0.984694 0.174160 -0.006738 -vn -0.980089 0.198515 -0.004173 -vn -0.983212 0.180337 -0.027797 -vn -0.808708 -0.587341 -0.031976 -vn -0.494936 -0.863469 -0.097259 -vn -0.708309 -0.701790 -0.076086 -vn 0.339143 -0.505622 0.793302 -vn 0.299846 -0.516749 0.801912 -vn 0.182952 -0.354088 0.917143 -vn 0.182952 -0.354088 0.917143 -vn 0.299846 -0.516749 0.801912 -vn 0.154745 -0.355795 0.921664 -vn 0.182952 -0.354088 0.917143 -vn 0.154745 -0.355795 0.921664 -vn 0.116745 -0.319879 0.940238 -vn 0.116745 -0.319879 0.940238 -vn 0.154745 -0.355795 0.921664 -vn 0.109565 -0.318437 0.941591 -vn 0.109565 -0.318437 0.941591 -vn 0.131033 -0.317293 0.939231 -vn 0.116745 -0.319879 0.940238 -vn 0.116745 -0.319879 0.940238 -vn 0.131033 -0.317293 0.939231 -vn 0.138390 -0.332970 0.932727 -vn 0.067684 -0.219277 0.973312 -vn 0.144281 -0.209043 0.967204 -vn 0.071452 -0.215752 0.973830 -vn 0.071452 -0.215752 0.973830 -vn 0.144281 -0.209043 0.967204 -vn 0.158943 -0.205989 0.965560 -vn -0.000000 -0.227028 0.973888 -vn 0.067684 -0.219277 0.973312 -vn -0.000000 -0.224410 0.974495 -vn -0.000000 -0.224410 0.974495 -vn 0.067684 -0.219277 0.973312 -vn 0.071452 -0.215752 0.973830 -vn 0.138390 -0.332970 0.932727 -vn 0.142304 -0.333246 0.932039 -vn 0.149920 -0.347308 0.925690 -vn 0.149920 -0.347308 0.925690 -vn 0.142304 -0.333246 0.932039 -vn 0.161840 -0.334626 0.928350 -vn 0.161840 -0.334626 0.928350 -vn 0.142304 -0.333246 0.932039 -vn 0.166593 -0.330885 0.928850 -vn 0.191886 -0.210924 0.958484 -vn 0.196009 -0.235372 0.951935 -vn 0.196192 -0.207154 0.958434 -vn 0.196192 -0.207154 0.958434 -vn 0.196009 -0.235372 0.951935 -vn 0.196607 -0.228696 0.953438 -vn 0.178410 -0.306737 0.934924 -vn 0.188830 -0.293149 0.937234 -vn 0.196009 -0.235372 0.951935 -vn 0.196009 -0.235372 0.951935 -vn 0.188830 -0.293149 0.937234 -vn 0.196607 -0.228696 0.953438 -vn 0.345594 -0.929888 0.125990 -vn 0.390945 -0.918337 -0.061799 -vn 0.357049 -0.929812 0.089253 -vn 0.357049 -0.929812 0.089253 -vn 0.390945 -0.918337 -0.061799 -vn 0.396515 -0.915703 -0.065292 -vn 0.984334 -0.176055 0.009521 -vn 0.983848 -0.178923 0.005394 -vn 0.980679 -0.195518 0.006376 -vn 0.990796 -0.135356 0.001687 -vn 0.983848 -0.178923 0.005394 -vn 0.991086 -0.133014 0.007440 -vn 0.991086 -0.133014 0.007440 -vn 0.983848 -0.178923 0.005394 -vn 0.984334 -0.176055 0.009521 -vn 0.991086 -0.133014 0.007440 -vn 0.998589 0.052790 0.005722 -vn 0.990796 -0.135356 0.001687 -vn 0.990796 -0.135356 0.001687 -vn 0.998589 0.052790 0.005722 -vn 0.997021 0.077063 0.003255 -vn 0.095426 0.992875 0.071360 -vn 0.284211 0.955066 0.084101 -vn 0.083437 0.994889 0.056877 -vn 0.083437 0.994889 0.056877 -vn 0.284211 0.955066 0.084101 -vn 0.322783 0.944059 0.067556 -vn 0.000000 0.999116 0.042032 -vn 0.095426 0.992875 0.071360 -vn -0.000000 0.999216 0.039578 -vn -0.000000 0.999216 0.039578 -vn 0.095426 0.992875 0.071360 -vn 0.083437 0.994889 0.056877 -vn 0.993002 0.117935 0.006226 -vn 0.999247 0.038797 0.000740 -vn 0.996380 0.085006 0.000430 -vn 0.996380 0.085006 0.000430 -vn 0.999247 0.038797 0.000740 -vn 0.998947 0.045842 0.001757 -vn 0.615919 0.785318 0.062605 -vn 0.893410 0.448498 0.025842 -vn 0.682062 0.729639 0.049171 -vn 0.682062 0.729639 0.049171 -vn 0.893410 0.448498 0.025842 -vn 0.914969 0.402789 0.024342 -vn 0.893410 0.448498 0.025842 -vn 0.978147 0.207638 0.010723 -vn 0.914969 0.402789 0.024342 -vn 0.914969 0.402789 0.024342 -vn 0.978147 0.207638 0.010723 -vn 0.983245 0.182196 0.005792 -vn 0.756449 0.653385 0.029548 -vn 0.997021 0.077063 0.003255 -vn 0.823527 0.566803 0.023172 -vn 0.823527 0.566803 0.023172 -vn 0.997021 0.077063 0.003255 -vn 0.998589 0.052790 0.005722 -vn 0.363218 -0.788030 0.497072 -vn 0.354110 -0.803703 0.478192 -vn 0.339143 -0.505622 0.793302 -vn 0.339143 -0.505622 0.793302 -vn 0.354110 -0.803703 0.478192 -vn 0.299846 -0.516749 0.801912 -vn 0.161840 -0.334626 0.928350 -vn 0.166593 -0.330885 0.928850 -vn 0.178410 -0.306737 0.934924 -vn 0.178410 -0.306737 0.934924 -vn 0.166593 -0.330885 0.928850 -vn 0.188830 -0.293149 0.937234 -vn 0.978147 0.207638 0.010723 -vn 0.993002 0.117935 0.006226 -vn 0.983245 0.182196 0.005792 -vn 0.983245 0.182196 0.005792 -vn 0.993002 0.117935 0.006226 -vn 0.996380 0.085006 0.000430 -vn -0.993452 0.113575 -0.012418 -vn -0.993500 0.113826 0.000749 -vn -0.983596 0.179257 -0.020171 -vn -0.983596 0.179257 -0.020171 -vn -0.993500 0.113826 0.000749 -vn -0.984694 0.174160 -0.006738 -vn -0.993500 0.113826 0.000749 -vn -0.993452 0.113575 -0.012418 -vn -0.985935 -0.166960 -0.007524 -vn -0.985935 -0.166960 -0.007524 -vn -0.993452 0.113575 -0.012418 -vn -0.975625 -0.218711 -0.017944 -vn -0.324453 -0.809413 -0.489470 -vn -0.095583 -0.992659 -0.074102 -vn -0.119524 -0.861339 -0.493770 -vn -0.095583 -0.992659 -0.074102 -vn -0.000000 -0.997673 -0.068181 -vn -0.119524 -0.861339 -0.493770 -vn -0.000000 -0.997673 -0.068181 -vn 0.000000 -0.871316 -0.490722 -vn -0.119524 -0.861339 -0.493770 -vn -0.985935 -0.166960 -0.007524 -vn -0.975625 -0.218711 -0.017944 -vn -0.959190 -0.282414 -0.014033 -vn -0.959190 -0.282414 -0.014033 -vn -0.975625 -0.218711 -0.017944 -vn -0.965709 -0.258960 -0.018602 -vn -0.996490 -0.080699 -0.022271 -vn -0.998432 -0.055875 -0.003518 -vn -0.996882 -0.076594 -0.018986 -vn -0.996882 -0.076594 -0.018986 -vn -0.998432 -0.055875 -0.003518 -vn -0.997107 -0.075791 -0.005838 -vn -0.965301 -0.259102 -0.032545 -vn -0.969905 -0.243373 -0.007371 -vn -0.996490 -0.080699 -0.022271 -vn -0.996490 -0.080699 -0.022271 -vn -0.969905 -0.243373 -0.007371 -vn -0.998432 -0.055875 -0.003518 -vn -0.850012 -0.526176 -0.024864 -vn -0.969905 -0.243373 -0.007371 -vn -0.965301 -0.259102 -0.032545 -vn -0.969905 -0.243373 -0.007371 -vn -0.850012 -0.526176 -0.024864 -vn -0.808708 -0.587341 -0.031976 -vn -0.965301 -0.259102 -0.032545 -vn -0.791469 -0.609184 -0.049722 -vn -0.850012 -0.526176 -0.024864 -vn 0.914969 0.402789 0.024342 -vn 0.983245 0.182196 0.005792 -vn 0.945131 0.326041 0.020602 -vn -0.767409 -0.563943 0.305045 -vn -0.979545 -0.197391 -0.039099 -vn -0.772660 -0.348538 0.530583 -vn -0.772660 -0.348538 0.530583 -vn -0.979545 -0.197391 -0.039099 -vn -0.990615 -0.133182 -0.030719 -vn -0.755223 -0.652355 0.063808 -vn -0.973639 -0.218470 -0.065558 -vn -0.767409 -0.563943 0.305045 -vn -0.767409 -0.563943 0.305045 -vn -0.973639 -0.218470 -0.065558 -vn -0.979545 -0.197391 -0.039099 -vn -0.707233 -0.162804 0.687980 -vn -0.738957 0.055017 0.671503 -vn -0.985507 -0.169473 0.007393 -vn -0.738957 0.055017 0.671503 -vn -0.761618 0.252637 0.596751 -vn -0.985507 -0.169473 0.007393 -vn -0.997107 -0.075791 -0.005838 -vn -0.998432 -0.055875 -0.003518 -vn -0.775408 0.330567 0.538023 -vn -0.761618 0.252637 0.596751 -vn -0.998432 -0.055875 -0.003518 -vn -0.985507 -0.169473 0.007393 -vn -0.985935 -0.166960 -0.007524 -vn -0.959190 -0.282414 -0.014033 -vn -0.820751 0.061453 0.567972 -vn -0.820751 0.061453 0.567972 -vn -0.959190 -0.282414 -0.014033 -vn -0.804082 0.167348 0.570480 -vn -0.993500 0.113826 0.000749 -vn -0.985935 -0.166960 -0.007524 -vn -0.724913 0.292702 0.623560 -vn -0.724913 0.292702 0.623560 -vn -0.985935 -0.166960 -0.007524 -vn -0.820751 0.061453 0.567972 -vn -0.984694 0.174160 -0.006738 -vn -0.993500 0.113826 0.000749 -vn -0.771535 0.304529 0.558566 -vn -0.771535 0.304529 0.558566 -vn -0.993500 0.113826 0.000749 -vn -0.724913 0.292702 0.623560 -vn -0.980089 0.198515 -0.004173 -vn -0.984694 0.174160 -0.006738 -vn -0.740815 0.342903 0.577590 -vn -0.740815 0.342903 0.577590 -vn -0.984694 0.174160 -0.006738 -vn -0.771535 0.304529 0.558566 -vn 0.385018 -0.919892 -0.074557 -vn 0.396515 -0.915703 -0.065292 -vn 0.386712 -0.919150 -0.074949 -vn 0.386712 -0.919150 -0.074949 -vn 0.396515 -0.915703 -0.065292 -vn 0.390945 -0.918337 -0.061799 -vn 0.985997 -0.166579 0.007890 -vn 0.984334 -0.176055 0.009521 -vn 0.982751 -0.184689 0.009457 -vn 0.982751 -0.184689 0.009457 -vn 0.984334 -0.176055 0.009521 -vn 0.982479 -0.186010 0.011654 -vn 0.993671 -0.112316 0.001790 -vn 0.991086 -0.133014 0.007440 -vn 0.985997 -0.166579 0.007890 -vn 0.985997 -0.166579 0.007890 -vn 0.991086 -0.133014 0.007440 -vn 0.984334 -0.176055 0.009521 -vn 0.995237 0.097405 0.003889 -vn 0.998589 0.052790 0.005722 -vn 0.993671 -0.112316 0.001790 -vn 0.993671 -0.112316 0.001790 -vn 0.998589 0.052790 0.005722 -vn 0.991086 -0.133014 0.007440 -vn 0.998589 0.052790 0.005722 -vn 0.995237 0.097405 0.003889 -vn 0.823527 0.566803 0.023172 -vn 0.823527 0.566803 0.023172 -vn 0.995237 0.097405 0.003889 -vn 0.761245 0.647906 0.026911 -vn 0.574631 -0.446587 -0.685827 -vn 0.996550 0.082383 -0.010068 -vn 0.998947 0.045842 0.001757 -vn 0.082937 0.995311 0.049767 -vn 0.322783 0.944059 0.067556 -vn 0.135626 0.988292 0.069896 -vn 0.135626 0.988292 0.069896 -vn 0.322783 0.944059 0.067556 -vn 0.180265 0.982087 0.054868 -vn 0.180265 0.982087 0.054868 -vn 0.322783 0.944059 0.067556 -vn 0.429327 0.901377 0.056555 -vn 0.011871 0.999709 0.020995 -vn 0.083437 0.994889 0.056877 -vn 0.082937 0.995311 0.049767 -vn 0.000000 0.999970 0.007701 -vn -0.000000 0.999216 0.039578 -vn 0.011871 0.999709 0.020995 -vn 0.011871 0.999709 0.020995 -vn -0.000000 0.999216 0.039578 -vn 0.083437 0.994889 0.056877 -vn 0.363218 -0.788030 0.497072 -vn 0.345594 -0.929888 0.125990 -vn 0.354110 -0.803703 0.478192 -vn 0.354110 -0.803703 0.478192 -vn 0.345594 -0.929888 0.125990 -vn 0.357049 -0.929812 0.089253 -vn 0.982423 -0.186181 0.013505 -vn 0.982479 -0.186010 0.011654 -vn 0.984334 -0.176055 0.009521 -vn -0.983596 0.179257 -0.020171 -vn -0.984694 0.174160 -0.006738 -vn -0.984046 0.174020 -0.037009 -vn -0.959190 -0.282414 -0.014033 -vn -0.965709 -0.258960 -0.018602 -vn -0.997107 -0.075791 -0.005838 -vn -0.997107 -0.075791 -0.005838 -vn -0.965709 -0.258960 -0.018602 -vn -0.996882 -0.076594 -0.018986 -vn -0.959190 -0.282414 -0.014033 -vn -0.997107 -0.075791 -0.005838 -vn -0.804082 0.167348 0.570480 -vn -0.804082 0.167348 0.570480 -vn -0.997107 -0.075791 -0.005838 -vn -0.775408 0.330567 0.538023 -vn 0.138390 -0.332970 0.932727 -vn 0.131033 -0.317293 0.939231 -vn 0.134867 -0.315546 0.939277 -vn -0.999569 0.028846 0.005434 -vn -0.999550 0.029492 0.005516 -vn -0.998069 0.045238 0.042564 -vn -0.998069 0.045238 0.042564 -vn -0.999550 0.029492 0.005516 -vn -0.997809 0.049679 0.043688 -vn -0.998069 0.045238 0.042564 -vn -0.997809 0.049679 0.043688 -vn -0.995800 0.065592 0.063883 -vn -0.995800 0.065592 0.063883 -vn -0.997809 0.049679 0.043688 -vn -0.995888 0.066977 0.061000 -vn -0.507293 -0.858759 -0.072022 -vn -0.515410 -0.853105 -0.081018 -vn -0.811258 -0.584646 0.007064 -vn -0.811258 -0.584646 0.007064 -vn -0.515410 -0.853105 -0.081018 -vn -0.818825 -0.574042 0.001045 -vn -0.995708 0.084216 0.038390 -vn -0.992675 0.109002 0.052112 -vn -0.995703 0.084333 0.038251 -vn -0.995703 0.084333 0.038251 -vn -0.992675 0.109002 0.052112 -vn -0.992674 0.108503 0.053153 -vn -0.995703 0.084333 0.038251 -vn -0.999464 0.014411 0.029383 -vn -0.995708 0.084216 0.038390 -vn -0.995708 0.084216 0.038390 -vn -0.999464 0.014411 0.029383 -vn -0.999501 0.014175 0.028222 -vn -0.249117 -0.963466 -0.098359 -vn -0.247950 -0.964620 -0.089610 -vn -0.104406 -0.994097 -0.029509 -vn -0.104406 -0.994097 -0.029509 -vn -0.247950 -0.964620 -0.089610 -vn -0.106145 -0.993954 -0.028067 -vn -0.000000 -0.999979 -0.006475 -vn -0.104406 -0.994097 -0.029509 -vn -0.000000 -0.999971 -0.007637 -vn -0.000000 -0.999971 -0.007637 -vn -0.104406 -0.994097 -0.029509 -vn -0.106145 -0.993954 -0.028067 -vn -0.990700 -0.134435 0.020989 -vn -0.998261 -0.056077 0.018160 -vn -0.990656 -0.134478 0.022719 -vn -0.990656 -0.134478 0.022719 -vn -0.998261 -0.056077 0.018160 -vn -0.998293 -0.055357 0.018610 -vn -0.990700 -0.134435 0.020989 -vn -0.990656 -0.134478 0.022719 -vn -0.959183 -0.281844 0.023066 -vn -0.959183 -0.281844 0.023066 -vn -0.990656 -0.134478 0.022719 -vn -0.957430 -0.287103 0.029993 -vn -0.959183 -0.281844 0.023066 -vn -0.957430 -0.287103 0.029993 -vn -0.818825 -0.574042 0.001045 -vn -0.818825 -0.574042 0.001045 -vn -0.957430 -0.287103 0.029993 -vn -0.811258 -0.584646 0.007064 -vn -0.999569 0.028846 0.005434 -vn -0.969840 0.166099 0.178388 -vn -0.999550 0.029492 0.005516 -vn -0.999550 0.029492 0.005516 -vn -0.969840 0.166099 0.178388 -vn -0.994998 0.093231 -0.035887 -vn -0.994625 0.082784 0.062195 -vn -0.995800 0.065592 0.063883 -vn -0.994644 0.081683 0.063330 -vn -0.994644 0.081683 0.063330 -vn -0.995800 0.065592 0.063883 -vn -0.995888 0.066977 0.061000 -vn -0.992675 0.109002 0.052112 -vn -0.994625 0.082784 0.062195 -vn -0.992674 0.108503 0.053153 -vn -0.992674 0.108503 0.053153 -vn -0.994625 0.082784 0.062195 -vn -0.994644 0.081683 0.063330 -vn -0.999501 0.014175 0.028222 -vn -0.999464 0.014411 0.029383 -vn -0.998261 -0.056077 0.018160 -vn -0.998261 -0.056077 0.018160 -vn -0.999464 0.014411 0.029383 -vn -0.998293 -0.055357 0.018610 -vn -0.417566 0.902141 -0.108536 -vn -0.426749 0.902770 -0.053783 -vn -0.440343 0.896429 0.050135 -vn -0.440343 0.896429 0.050135 -vn -0.426749 0.902770 -0.053783 -vn -0.446303 0.893472 0.050214 -vn -0.448052 0.757634 -0.474595 -vn -0.446061 0.791914 -0.417015 -vn -0.417566 0.902141 -0.108536 -vn -0.417566 0.902141 -0.108536 -vn -0.446061 0.791914 -0.417015 -vn -0.426749 0.902770 -0.053783 -vn -0.319057 -0.035786 -0.947060 -vn -0.328251 -0.031289 -0.944072 -vn -0.404581 0.077599 -0.911204 -vn -0.404581 0.077599 -0.911204 -vn -0.328251 -0.031289 -0.944072 -vn -0.359800 0.075412 -0.929977 -vn -0.169298 0.324929 -0.930462 -vn -0.263657 0.363905 -0.893341 -vn -0.180314 0.325379 -0.928232 -vn -0.180314 0.325379 -0.928232 -vn -0.263657 0.363905 -0.893341 -vn -0.290602 0.358700 -0.887065 -vn -0.169298 0.324929 -0.930462 -vn -0.180314 0.325379 -0.928232 -vn -0.212363 0.301851 -0.929402 -vn -0.212363 0.301851 -0.929402 -vn -0.180314 0.325379 -0.928232 -vn -0.235126 0.317229 -0.918739 -vn -0.085991 0.008774 -0.996257 -vn -0.085479 -0.001567 -0.996339 -vn -0.212106 -0.072179 -0.974577 -vn -0.212106 -0.072179 -0.974577 -vn -0.085479 -0.001567 -0.996339 -vn -0.239693 -0.077290 -0.967767 -vn 0.000000 -0.057309 -0.998357 -vn -0.085479 -0.001567 -0.996339 -vn 0.000000 -0.050714 -0.998713 -vn 0.000000 -0.050714 -0.998713 -vn -0.085479 -0.001567 -0.996339 -vn -0.085991 0.008774 -0.996257 -vn -0.255352 0.293656 -0.921174 -vn -0.212363 0.301851 -0.929402 -vn -0.235126 0.317229 -0.918739 -vn -0.263699 0.309474 -0.913613 -vn -0.262790 0.310576 -0.913501 -vn -0.290612 0.326849 -0.899285 -vn -0.290612 0.326849 -0.899285 -vn -0.262790 0.310576 -0.913501 -vn -0.305134 0.314478 -0.898886 -vn -0.310643 0.219722 -0.924783 -vn -0.276780 0.226506 -0.933856 -vn -0.263699 0.309474 -0.913613 -vn -0.263699 0.309474 -0.913613 -vn -0.276780 0.226506 -0.933856 -vn -0.262790 0.310576 -0.913501 -vn -0.276780 0.226506 -0.933856 -vn -0.310643 0.219722 -0.924783 -vn -0.359800 0.075412 -0.929977 -vn -0.359800 0.075412 -0.929977 -vn -0.310643 0.219722 -0.924783 -vn -0.404581 0.077599 -0.911204 -vn -0.446303 0.893472 0.050214 -vn -0.415109 0.907407 0.065557 -vn -0.440343 0.896429 0.050135 -vn -0.440343 0.896429 0.050135 -vn -0.415109 0.907407 0.065557 -vn -0.410226 0.909524 0.066933 -vn -0.405249 0.503584 -0.763005 -vn -0.446061 0.791914 -0.417015 -vn -0.436406 0.498474 -0.749049 -vn -0.436406 0.498474 -0.749049 -vn -0.446061 0.791914 -0.417015 -vn -0.448052 0.757634 -0.474595 -vn -0.263657 0.363905 -0.893341 -vn -0.405249 0.503584 -0.763005 -vn -0.290602 0.358700 -0.887065 -vn -0.290602 0.358700 -0.887065 -vn -0.405249 0.503584 -0.763005 -vn -0.436406 0.498474 -0.749049 -vn -0.305134 0.314478 -0.898886 -vn -0.255352 0.293656 -0.921174 -vn -0.290612 0.326849 -0.899285 -vn -0.290612 0.326849 -0.899285 -vn -0.255352 0.293656 -0.921174 -vn -0.235126 0.317229 -0.918739 -vn -0.850012 -0.526176 -0.024864 -vn -0.791469 -0.609184 -0.049722 -vn -0.539402 -0.840642 -0.048634 -vn -0.539402 -0.840642 -0.048634 -vn -0.791469 -0.609184 -0.049722 -vn -0.488009 -0.871020 -0.056324 -vn 0.562710 0.825931 0.034560 -vn 0.541816 0.839771 0.034923 -vn 0.761245 0.647906 0.026911 -vn 0.761245 0.647906 0.026911 -vn 0.541816 0.839771 0.034923 -vn 0.823527 0.566803 0.023172 -vn 0.495577 0.867646 0.039930 -vn 0.756449 0.653385 0.029548 -vn 0.541816 0.839771 0.034923 -vn 0.541816 0.839771 0.034923 -vn 0.756449 0.653385 0.029548 -vn 0.823527 0.566803 0.023172 -vn 0.138390 -0.332970 0.932727 -vn 0.134867 -0.315546 0.939277 -vn 0.142304 -0.333246 0.932039 -vn 0.980679 -0.195518 0.006376 -vn 0.981678 -0.190277 0.010176 -vn 0.984334 -0.176055 0.009521 -vn 0.981678 -0.190277 0.010176 -vn 0.982423 -0.186181 0.013505 -vn 0.984334 -0.176055 0.009521 -vn -0.984694 0.174160 -0.006738 -vn -0.983212 0.180337 -0.027797 -vn -0.985848 0.161528 -0.044851 -vn -0.984694 0.174160 -0.006738 -vn -0.985848 0.161528 -0.044851 -vn -0.984046 0.174020 -0.037009 -vn 0.075421 -0.342512 -0.936481 -vn 0.088936 -0.352542 -0.931560 -vn 0.080619 -0.343276 -0.935768 -vn 0.080619 -0.343276 -0.935768 -vn 0.088936 -0.352542 -0.931560 -vn 0.094136 -0.352187 -0.931184 -vn 0.088936 -0.352542 -0.931560 -vn 0.110062 -0.360826 -0.926116 -vn 0.094136 -0.352187 -0.931184 -vn 0.094136 -0.352187 -0.931184 -vn 0.110062 -0.360826 -0.926116 -vn 0.115215 -0.359361 -0.926059 -vn 0.731212 -0.381836 -0.565270 -vn 0.099908 -0.581232 -0.807581 -vn 0.713582 -0.257949 -0.651354 -vn 0.713582 -0.257949 -0.651354 -vn 0.099908 -0.581232 -0.807581 -vn 0.071198 -0.408463 -0.909994 -vn 0.713582 -0.257949 -0.651354 -vn 0.071198 -0.408463 -0.909994 -vn 0.723566 -0.082382 -0.685321 -vn 0.723566 -0.082382 -0.685321 -vn 0.071198 -0.408463 -0.909994 -vn 0.051319 -0.202061 -0.978028 -vn 0.731212 -0.381836 -0.565270 -vn 0.574631 -0.446587 -0.685827 -vn 0.099908 -0.581232 -0.807581 -vn 0.099908 -0.581232 -0.807581 -vn 0.574631 -0.446587 -0.685827 -vn 0.108229 -0.493339 -0.863078 -vn 0.108229 -0.493339 -0.863078 -vn 0.092628 -0.376477 -0.921784 -vn 0.080619 -0.343276 -0.935768 -vn 0.080619 -0.343276 -0.935768 -vn 0.092628 -0.376477 -0.921784 -vn 0.075421 -0.342512 -0.936481 -vn 0.080859 -0.444705 -0.892020 -vn 0.092628 -0.376477 -0.921784 -vn 0.108229 -0.493339 -0.863078 -vn 0.574631 -0.446587 -0.685827 -vn 0.080859 -0.444705 -0.892020 -vn 0.108229 -0.493339 -0.863078 -vn 0.723566 -0.082382 -0.685321 -vn 0.051319 -0.202061 -0.978028 -vn 0.668540 0.161888 -0.725842 -vn 0.668540 0.161888 -0.725842 -vn 0.051319 -0.202061 -0.978028 -vn -0.006508 0.083612 -0.996477 -vn 0.000000 -0.871316 -0.490722 -vn -0.000000 -0.514402 -0.857549 -vn -0.119524 -0.861339 -0.493770 -vn -0.119524 -0.861339 -0.493770 -vn -0.000000 -0.514402 -0.857549 -vn -0.192801 -0.483418 -0.853894 -vn -0.476271 -0.348677 -0.807211 -vn -0.324453 -0.809413 -0.489470 -vn -0.192801 -0.483418 -0.853894 -vn -0.192801 -0.483418 -0.853894 -vn -0.324453 -0.809413 -0.489470 -vn -0.119524 -0.861339 -0.493770 -vn -0.879217 -0.280086 -0.385394 -vn -0.658652 -0.695759 -0.286526 -vn -0.702167 -0.425692 -0.570743 -vn -0.702167 -0.425692 -0.570743 -vn -0.658652 -0.695759 -0.286526 -vn -0.491332 -0.797984 -0.349020 -vn -0.658652 -0.695759 -0.286526 -vn -0.879217 -0.280086 -0.385394 -vn -0.833807 -0.528564 -0.159328 -vn -0.833807 -0.528564 -0.159328 -vn -0.879217 -0.280086 -0.385394 -vn -0.957276 -0.214865 -0.193535 -vn 0.446710 0.893463 0.046633 -vn 0.166799 0.985578 0.028524 -vn 0.429327 0.901377 0.056555 -vn 0.429327 0.901377 0.056555 -vn 0.166799 0.985578 0.028524 -vn 0.216363 0.975064 0.049360 -vn -0.324453 -0.809413 -0.489470 -vn -0.491332 -0.797984 -0.349020 -vn -0.253349 -0.964463 -0.075004 -vn -0.494936 -0.863469 -0.097259 -vn -0.491332 -0.797984 -0.349020 -vn -0.658652 -0.695759 -0.286526 -vn -0.956032 -0.272734 -0.107795 -vn -0.813515 -0.572091 -0.104428 -vn -0.957276 -0.214865 -0.193535 -vn -0.957276 -0.214865 -0.193535 -vn -0.813515 -0.572091 -0.104428 -vn -0.833807 -0.528564 -0.159328 -vn 0.429327 0.901377 0.056555 -vn 0.216363 0.975064 0.049360 -vn 0.180265 0.982087 0.054868 -vn -0.780359 -0.622831 -0.055866 -vn -0.944473 -0.323507 -0.057569 -vn -0.755223 -0.652355 0.063808 -vn -0.755223 -0.652355 0.063808 -vn -0.944473 -0.323507 -0.057569 -vn -0.973639 -0.218470 -0.065558 -vn -0.763261 0.075432 0.641672 -vn -0.759621 -0.099247 0.642749 -vn -0.998456 -0.051981 0.019606 -vn -0.998456 -0.051981 0.019606 -vn -0.759621 -0.099247 0.642749 -vn -0.997150 -0.075336 -0.004072 -vn -0.805391 0.217929 0.551228 -vn -0.763261 0.075432 0.641672 -vn -0.998707 -0.048248 0.015984 -vn -0.998707 -0.048248 0.015984 -vn -0.763261 0.075432 0.641672 -vn -0.998456 -0.051981 0.019606 -vn -0.775685 0.361202 0.517538 -vn -0.805391 0.217929 0.551228 -vn -0.999627 -0.020816 0.017698 -vn -0.999627 -0.020816 0.017698 -vn -0.805391 0.217929 0.551228 -vn -0.998707 -0.048248 0.015984 -vn -0.999627 -0.020816 0.017698 -vn -0.999782 0.020752 0.002261 -vn -0.775685 0.361202 0.517538 -vn -0.775685 0.361202 0.517538 -vn -0.999782 0.020752 0.002261 -vn -0.740592 0.322814 0.589333 -vn -0.999782 0.020752 0.002261 -vn -0.998303 0.058229 0.000632 -vn -0.740592 0.322814 0.589333 -vn -0.740592 0.322814 0.589333 -vn -0.998303 0.058229 0.000632 -vn -0.728818 0.284083 0.622994 -vn -0.773857 0.304856 0.555164 -vn -0.728818 0.284083 0.622994 -vn -0.990513 0.137395 0.002445 -vn -0.990513 0.137395 0.002445 -vn -0.728818 0.284083 0.622994 -vn -0.998303 0.058229 0.000632 -vn -0.738957 0.055017 0.671503 -vn -0.707233 -0.162804 0.687980 -vn -0.763261 0.075432 0.641672 -vn -0.763261 0.075432 0.641672 -vn -0.707233 -0.162804 0.687980 -vn -0.759621 -0.099247 0.642749 -vn -0.761618 0.252637 0.596751 -vn -0.738957 0.055017 0.671503 -vn -0.805391 0.217929 0.551228 -vn -0.805391 0.217929 0.551228 -vn -0.738957 0.055017 0.671503 -vn -0.763261 0.075432 0.641672 -vn -0.775408 0.330567 0.538023 -vn -0.761618 0.252637 0.596751 -vn -0.775685 0.361202 0.517538 -vn -0.775685 0.361202 0.517538 -vn -0.761618 0.252637 0.596751 -vn -0.805391 0.217929 0.551228 -vn -0.740592 0.322814 0.589333 -vn -0.804082 0.167348 0.570480 -vn -0.775685 0.361202 0.517538 -vn -0.775685 0.361202 0.517538 -vn -0.804082 0.167348 0.570480 -vn -0.775408 0.330567 0.538023 -vn -0.740592 0.322814 0.589333 -vn -0.820751 0.061453 0.567972 -vn -0.804082 0.167348 0.570480 -vn -0.724913 0.292702 0.623560 -vn -0.820751 0.061453 0.567972 -vn -0.728818 0.284083 0.622994 -vn -0.728818 0.284083 0.622994 -vn -0.820751 0.061453 0.567972 -vn -0.740592 0.322814 0.589333 -vn -0.773857 0.304856 0.555164 -vn -0.771535 0.304529 0.558566 -vn -0.728818 0.284083 0.622994 -vn -0.728818 0.284083 0.622994 -vn -0.771535 0.304529 0.558566 -vn -0.724913 0.292702 0.623560 -vn -0.771535 0.304529 0.558566 -vn -0.773857 0.304856 0.555164 -vn -0.740815 0.342903 0.577590 -vn -0.740815 0.342903 0.577590 -vn -0.773857 0.304856 0.555164 -vn -0.969840 0.166099 0.178388 -vn -0.759621 -0.099247 0.642749 -vn -0.772660 -0.348538 0.530583 -vn -0.997150 -0.075336 -0.004072 -vn -0.997150 -0.075336 -0.004072 -vn -0.772660 -0.348538 0.530583 -vn -0.990615 -0.133182 -0.030719 -vn -0.656028 -0.418182 0.628292 -vn -0.627242 -0.676188 0.386443 -vn -0.772660 -0.348538 0.530583 -vn -0.772660 -0.348538 0.530583 -vn -0.627242 -0.676188 0.386443 -vn -0.767409 -0.563943 0.305045 -vn 0.600495 0.443647 -0.665270 -vn 0.004398 0.419539 -0.907726 -vn 0.554377 0.702479 -0.446307 -vn 0.554377 0.702479 -0.446307 -vn 0.004398 0.419539 -0.907726 -vn 0.010368 0.800881 -0.598734 -vn 0.554377 0.702479 -0.446307 -vn 0.010368 0.800881 -0.598734 -vn 0.517246 0.846290 -0.127473 -vn 0.517246 0.846290 -0.127473 -vn 0.010368 0.800881 -0.598734 -vn 0.051864 0.975168 -0.215306 -vn -0.627242 -0.676188 0.386443 -vn -0.634100 -0.764086 0.118699 -vn -0.767409 -0.563943 0.305045 -vn -0.767409 -0.563943 0.305045 -vn -0.634100 -0.764086 0.118699 -vn -0.755223 -0.652355 0.063808 -vn -0.780359 -0.622831 -0.055866 -vn -0.755223 -0.652355 0.063808 -vn -0.634100 -0.764086 0.118699 -vn 0.517246 0.846290 -0.127473 -vn 0.051864 0.975168 -0.215306 -vn 0.494071 0.869415 -0.003328 -vn 0.494071 0.869415 -0.003328 -vn 0.051864 0.975168 -0.215306 -vn 0.145820 0.989051 -0.022703 -vn -0.707233 -0.162804 0.687980 -vn -0.656028 -0.418182 0.628292 -vn -0.759621 -0.099247 0.642749 -vn -0.759621 -0.099247 0.642749 -vn -0.656028 -0.418182 0.628292 -vn -0.772660 -0.348538 0.530583 -vn 0.668540 0.161888 -0.725842 -vn -0.006508 0.083612 -0.996477 -vn 0.600495 0.443647 -0.665270 -vn 0.600495 0.443647 -0.665270 -vn -0.006508 0.083612 -0.996477 -vn 0.004398 0.419539 -0.907726 -vn -0.923588 -0.380903 -0.043567 -vn -0.951043 -0.307690 -0.029046 -vn -0.985507 -0.169473 0.007393 -vn -0.833807 -0.528564 -0.159328 -vn -0.813515 -0.572091 -0.104428 -vn -0.708309 -0.701790 -0.076086 -vn -0.494936 -0.863469 -0.097259 -vn -0.808708 -0.587341 -0.031976 -vn -0.539402 -0.840642 -0.048634 -vn -0.994998 0.093231 -0.035887 -vn -0.969840 0.166099 0.178388 -vn -0.990513 0.137395 0.002445 -vn -0.990513 0.137395 0.002445 -vn -0.969840 0.166099 0.178388 -vn -0.773857 0.304856 0.555164 -vn 0.969531 0.242434 0.035143 -vn 0.984202 0.176837 0.008696 -vn 0.971231 0.238135 0.001538 -vn 0.984202 0.176837 0.008696 -vn 0.668540 0.161888 -0.725842 -vn 0.971231 0.238135 0.001538 -vn 0.668540 0.161888 -0.725842 -vn 0.600495 0.443647 -0.665270 -vn 0.971231 0.238135 0.001538 -vn 0.554377 0.702479 -0.446307 -vn 0.971231 0.238135 0.001538 -vn 0.600495 0.443647 -0.665270 -vn 0.967156 0.254168 -0.002830 -vn 0.969531 0.242434 0.035143 -vn 0.885029 0.465465 0.008081 -vn 0.885029 0.465465 0.008081 -vn 0.969531 0.242434 0.035143 -vn 0.932362 0.360030 0.032846 -vn 0.956121 0.292541 0.015885 -vn 0.844338 0.533959 0.044504 -vn 0.945131 0.326041 0.020602 -vn 0.945131 0.326041 0.020602 -vn 0.844338 0.533959 0.044504 -vn 0.789936 0.611456 0.046072 -vn 0.996550 0.082383 -0.010068 -vn 0.993936 0.109771 -0.006474 -vn 0.996380 0.085006 0.000430 -vn 0.993936 0.109771 -0.006474 -vn 0.989557 0.144091 0.003808 -vn 0.996380 0.085006 0.000430 -vn 0.996380 0.085006 0.000430 -vn 0.989557 0.144091 0.003808 -vn 0.983245 0.182196 0.005792 -vn 0.723566 -0.082382 -0.685321 -vn 0.995327 0.096478 -0.003944 -vn 0.713582 -0.257949 -0.651354 -vn 0.996550 0.082383 -0.010068 -vn 0.713582 -0.257949 -0.651354 -vn 0.993936 0.109771 -0.006474 -vn 0.713582 -0.257949 -0.651354 -vn 0.995327 0.096478 -0.003944 -vn 0.993936 0.109771 -0.006474 -vn 0.668540 0.161888 -0.725842 -vn 0.984202 0.176837 0.008696 -vn 0.723566 -0.082382 -0.685321 -vn 0.723566 -0.082382 -0.685321 -vn 0.984202 0.176837 0.008696 -vn 0.995327 0.096478 -0.003944 -vn 0.510928 0.859417 0.018820 -vn 0.453914 0.680417 0.575321 -vn 0.512047 0.858797 0.016581 -vn 0.512047 0.858797 0.016581 -vn 0.453914 0.680417 0.575321 -vn 0.449290 0.674456 0.585873 -vn 0.126933 0.991885 0.007160 -vn 0.135281 0.990653 -0.017479 -vn 0.173425 0.735723 -0.654703 -vn 0.173425 0.735723 -0.654703 -vn 0.135281 0.990653 -0.017479 -vn 0.182289 0.709418 -0.680806 -vn 0.178828 0.405350 -0.896500 -vn 0.173425 0.735723 -0.654703 -vn 0.182289 0.709418 -0.680806 -vn 0.453914 0.680417 0.575321 -vn 0.435398 0.431875 0.789881 -vn 0.449290 0.674456 0.585873 -vn 0.603657 0.376752 -0.702606 -vn 0.609064 0.605926 -0.511757 -vn 0.616263 0.596857 -0.513792 -vn 0.248653 0.725676 0.641534 -vn 0.274003 0.415746 0.867224 -vn 0.258900 0.717586 0.646561 -vn 0.126933 0.991885 0.007160 -vn 0.248653 0.725676 0.641534 -vn 0.135281 0.990653 -0.017479 -vn 0.135281 0.990653 -0.017479 -vn 0.248653 0.725676 0.641534 -vn 0.258900 0.717586 0.646561 -vn 0.510928 0.859417 0.018820 -vn 0.512047 0.858797 0.016581 -vn 0.609064 0.605926 -0.511757 -vn 0.609064 0.605926 -0.511757 -vn 0.512047 0.858797 0.016581 -vn 0.616263 0.596857 -0.513792 -vn 0.844338 0.533959 0.044504 -vn 0.956121 0.292541 0.015885 -vn 0.885029 0.465465 0.008081 -vn 0.885029 0.465465 0.008081 -vn 0.956121 0.292541 0.015885 -vn 0.967156 0.254168 -0.002830 -vn 0.494071 0.869415 -0.003328 -vn 0.145820 0.989051 -0.022703 -vn 0.446710 0.893463 0.046633 -vn 0.446710 0.893463 0.046633 -vn 0.145820 0.989051 -0.022703 -vn 0.166799 0.985578 0.028524 -vn -0.780359 -0.622831 -0.055866 -vn -0.813515 -0.572091 -0.104428 -vn -0.944473 -0.323507 -0.057569 -vn -0.944473 -0.323507 -0.057569 -vn -0.813515 -0.572091 -0.104428 -vn -0.956032 -0.272734 -0.107795 -vn 0.989557 0.144091 0.003808 -vn 0.983787 0.179160 0.008038 -vn 0.983245 0.182196 0.005792 -vn 0.956121 0.292541 0.015885 -vn 0.945131 0.326041 0.020602 -vn 0.983787 0.179160 0.008038 -vn 0.945131 0.326041 0.020602 -vn 0.983245 0.182196 0.005792 -vn 0.983787 0.179160 0.008038 -vn 0.713582 -0.257949 -0.651354 -vn 0.996550 0.082383 -0.010068 -vn 0.731212 -0.381836 -0.565270 -vn 0.996550 0.082383 -0.010068 -vn 0.574631 -0.446587 -0.685827 -vn 0.731212 -0.381836 -0.565270 -vn 0.996550 0.082383 -0.010068 -vn 0.996380 0.085006 0.000430 -vn 0.998947 0.045842 0.001757 -vn -0.998432 -0.055875 -0.003518 -vn -0.761618 0.252637 0.596751 -vn -0.775408 0.330567 0.538023 -vn -0.969905 -0.243373 -0.007371 -vn -0.923588 -0.380903 -0.043567 -vn -0.985507 -0.169473 0.007393 -vn -0.923588 -0.380903 -0.043567 -vn -0.969905 -0.243373 -0.007371 -vn -0.808708 -0.587341 -0.031976 -vn -0.998432 -0.055875 -0.003518 -vn -0.969905 -0.243373 -0.007371 -vn -0.985507 -0.169473 0.007393 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.885029 0.465465 0.008081 -vn 0.932362 0.360030 0.032846 -vn 0.494071 0.869415 -0.003328 -vn 0.494071 0.869415 -0.003328 -vn 0.932362 0.360030 0.032846 -vn 0.517246 0.846290 -0.127473 -vn 0.446710 0.893463 0.046633 -vn 0.844338 0.533959 0.044504 -vn 0.494071 0.869415 -0.003328 -vn 0.494071 0.869415 -0.003328 -vn 0.844338 0.533959 0.044504 -vn 0.885029 0.465465 0.008081 -vn 0.932362 0.360030 0.032846 -vn 0.969531 0.242434 0.035143 -vn 0.971231 0.238135 0.001538 -vn 0.554377 0.702479 -0.446307 -vn 0.932362 0.360030 0.032846 -vn 0.971231 0.238135 0.001538 -vn 0.932362 0.360030 0.032846 -vn 0.554377 0.702479 -0.446307 -vn 0.517246 0.846290 -0.127473 -vn 0.429327 0.901377 0.056555 -vn 0.789936 0.611456 0.046072 -vn 0.446710 0.893463 0.046633 -vn 0.446710 0.893463 0.046633 -vn 0.789936 0.611456 0.046072 -vn 0.844338 0.533959 0.044504 -vn 0.682062 0.729639 0.049171 -vn 0.914969 0.402789 0.024342 -vn 0.789936 0.611456 0.046072 -vn 0.789936 0.611456 0.046072 -vn 0.914969 0.402789 0.024342 -vn 0.945131 0.326041 0.020602 -vn 0.284211 0.955066 0.084101 -vn 0.615919 0.785318 0.062605 -vn 0.322783 0.944059 0.067556 -vn 0.322783 0.944059 0.067556 -vn 0.615919 0.785318 0.062605 -vn 0.682062 0.729639 0.049171 -vn 0.144281 -0.209043 0.967204 -vn 0.191886 -0.210924 0.958484 -vn 0.158943 -0.205989 0.965560 -vn 0.158943 -0.205989 0.965560 -vn 0.191886 -0.210924 0.958484 -vn 0.196192 -0.207154 0.958434 -vn -0.247950 -0.964620 -0.089610 -vn -0.249117 -0.963466 -0.098359 -vn -0.507293 -0.858759 -0.072022 -vn -0.507293 -0.858759 -0.072022 -vn -0.249117 -0.963466 -0.098359 -vn -0.515410 -0.853105 -0.081018 -vn -0.212106 -0.072179 -0.974577 -vn -0.239693 -0.077290 -0.967767 -vn -0.319057 -0.035786 -0.947060 -vn -0.319057 -0.035786 -0.947060 -vn -0.239693 -0.077290 -0.967767 -vn -0.328251 -0.031289 -0.944072 -vn -0.253470 -0.964963 -0.067819 -vn -0.253349 -0.964463 -0.075004 -vn -0.488009 -0.871020 -0.056324 -vn -0.488009 -0.871020 -0.056324 -vn -0.253349 -0.964463 -0.075004 -vn -0.539402 -0.840642 -0.048634 -vn 0.322783 0.944059 0.067556 -vn 0.682062 0.729639 0.049171 -vn 0.429327 0.901377 0.056555 -vn 0.429327 0.901377 0.056555 -vn 0.682062 0.729639 0.049171 -vn 0.789936 0.611456 0.046072 -vn -0.491332 -0.797984 -0.349020 -vn -0.494936 -0.863469 -0.097259 -vn -0.253349 -0.964463 -0.075004 -vn 0.322783 0.944059 0.067556 -vn 0.082937 0.995311 0.049767 -vn 0.083437 0.994889 0.056877 -vn -0.324453 -0.809413 -0.489470 -vn -0.476271 -0.348677 -0.807211 -vn -0.491332 -0.797984 -0.349020 -vn -0.491332 -0.797984 -0.349020 -vn -0.476271 -0.348677 -0.807211 -vn -0.702167 -0.425692 -0.570743 -vn -0.324453 -0.809413 -0.489470 -vn -0.253349 -0.964463 -0.075004 -vn -0.095583 -0.992659 -0.074102 -vn -0.095583 -0.992659 -0.074102 -vn -0.253349 -0.964463 -0.075004 -vn -0.253470 -0.964963 -0.067819 -vn -0.253349 -0.964463 -0.075004 -vn -0.494936 -0.863469 -0.097259 -vn -0.539402 -0.840642 -0.048634 -vn -0.833807 -0.528564 -0.159328 -vn -0.494936 -0.863469 -0.097259 -vn -0.658652 -0.695759 -0.286526 -vn -0.494936 -0.863469 -0.097259 -vn -0.833807 -0.528564 -0.159328 -vn -0.708309 -0.701790 -0.076086 -vn -0.708309 -0.701790 -0.076086 -vn -0.813515 -0.572091 -0.104428 -vn -0.745659 -0.659800 -0.093041 -vn -0.764602 -0.641682 -0.060234 -vn -0.813515 -0.572091 -0.104428 -vn -0.780359 -0.622831 -0.055866 -vn -0.813515 -0.572091 -0.104428 -vn -0.764602 -0.641682 -0.060234 -vn -0.745659 -0.659800 -0.093041 -vn -0.780359 -0.622831 -0.055866 -vn -0.634100 -0.764086 0.118699 -vn -0.764602 -0.641682 -0.060234 -vn -0.808708 -0.587341 -0.031976 -vn -0.850012 -0.526176 -0.024864 -vn -0.539402 -0.840642 -0.048634 -vn -0.708309 -0.701790 -0.076086 -vn -0.923588 -0.380903 -0.043567 -vn -0.808708 -0.587341 -0.031976 -vn -0.923588 -0.380903 -0.043567 -vn -0.708309 -0.701790 -0.076086 -vn -0.745659 -0.659800 -0.093041 -vn -0.745659 -0.659800 -0.093041 -vn -0.764602 -0.641682 -0.060234 -vn -0.923588 -0.380903 -0.043567 -vn -0.764602 -0.641682 -0.060234 -vn -0.951043 -0.307690 -0.029046 -vn -0.923588 -0.380903 -0.043567 -vn -0.634100 -0.764086 0.118699 -vn -0.951043 -0.307690 -0.029046 -vn -0.764602 -0.641682 -0.060234 -vn -0.951043 -0.307690 -0.029046 -vn -0.634100 -0.764086 0.118699 -vn -0.627242 -0.676188 0.386443 -vn -0.656028 -0.418182 0.628292 -vn -0.951043 -0.307690 -0.029046 -vn -0.627242 -0.676188 0.386443 -vn -0.707233 -0.162804 0.687980 -vn -0.951043 -0.307690 -0.029046 -vn -0.656028 -0.418182 0.628292 -vn -0.985507 -0.169473 0.007393 -vn -0.951043 -0.307690 -0.029046 -vn -0.707233 -0.162804 0.687980 -vn 0.984694 0.174160 -0.006738 -vn 0.983212 0.180337 -0.027797 -vn 0.980089 0.198515 -0.004173 -vn 0.808708 -0.587341 -0.031976 -vn 0.708309 -0.701790 -0.076086 -vn 0.494936 -0.863469 -0.097259 -vn -0.339143 -0.505622 0.793302 -vn -0.182952 -0.354088 0.917143 -vn -0.299846 -0.516749 0.801912 -vn -0.182952 -0.354088 0.917143 -vn -0.154745 -0.355795 0.921664 -vn -0.299846 -0.516749 0.801912 -vn -0.182952 -0.354088 0.917143 -vn -0.116745 -0.319879 0.940238 -vn -0.154745 -0.355795 0.921664 -vn -0.116745 -0.319879 0.940238 -vn -0.109565 -0.318437 0.941591 -vn -0.154745 -0.355795 0.921664 -vn -0.109565 -0.318437 0.941591 -vn -0.116745 -0.319879 0.940238 -vn -0.131033 -0.317293 0.939231 -vn -0.116745 -0.319879 0.940238 -vn -0.138390 -0.332971 0.932727 -vn -0.131033 -0.317293 0.939231 -vn -0.067684 -0.219277 0.973312 -vn -0.071452 -0.215752 0.973830 -vn -0.144281 -0.209043 0.967204 -vn -0.071452 -0.215752 0.973830 -vn -0.158943 -0.205989 0.965560 -vn -0.144281 -0.209043 0.967204 -vn -0.000000 -0.227028 0.973888 -vn -0.000000 -0.224410 0.974495 -vn -0.067684 -0.219277 0.973312 -vn -0.000000 -0.224410 0.974495 -vn -0.071452 -0.215752 0.973830 -vn -0.067684 -0.219277 0.973312 -vn -0.138390 -0.332971 0.932727 -vn -0.149920 -0.347308 0.925690 -vn -0.142304 -0.333246 0.932039 -vn -0.149920 -0.347308 0.925690 -vn -0.161840 -0.334626 0.928350 -vn -0.142304 -0.333246 0.932039 -vn -0.161840 -0.334626 0.928350 -vn -0.166593 -0.330885 0.928850 -vn -0.142304 -0.333246 0.932039 -vn -0.191886 -0.210924 0.958484 -vn -0.196192 -0.207154 0.958434 -vn -0.196009 -0.235372 0.951935 -vn -0.196192 -0.207154 0.958434 -vn -0.196607 -0.228696 0.953438 -vn -0.196009 -0.235372 0.951935 -vn -0.178410 -0.306737 0.934924 -vn -0.196009 -0.235372 0.951935 -vn -0.188830 -0.293149 0.937234 -vn -0.196009 -0.235372 0.951935 -vn -0.196607 -0.228696 0.953438 -vn -0.188830 -0.293149 0.937234 -vn -0.345594 -0.929888 0.125990 -vn -0.357049 -0.929812 0.089253 -vn -0.390945 -0.918337 -0.061799 -vn -0.357049 -0.929812 0.089253 -vn -0.396515 -0.915703 -0.065292 -vn -0.390945 -0.918337 -0.061799 -vn -0.984334 -0.176055 0.009521 -vn -0.980679 -0.195518 0.006376 -vn -0.983848 -0.178923 0.005394 -vn -0.990796 -0.135356 0.001687 -vn -0.991086 -0.133014 0.007440 -vn -0.983848 -0.178923 0.005394 -vn -0.991086 -0.133014 0.007440 -vn -0.984334 -0.176055 0.009521 -vn -0.983848 -0.178923 0.005394 -vn -0.991086 -0.133014 0.007440 -vn -0.990796 -0.135356 0.001687 -vn -0.998589 0.052790 0.005722 -vn -0.990796 -0.135356 0.001687 -vn -0.997021 0.077063 0.003255 -vn -0.998589 0.052790 0.005722 -vn -0.095426 0.992875 0.071360 -vn -0.083437 0.994889 0.056877 -vn -0.284211 0.955066 0.084101 -vn -0.083437 0.994889 0.056877 -vn -0.322783 0.944059 0.067556 -vn -0.284211 0.955066 0.084101 -vn 0.000000 0.999116 0.042032 -vn -0.000000 0.999216 0.039578 -vn -0.095426 0.992875 0.071360 -vn -0.000000 0.999216 0.039578 -vn -0.083437 0.994889 0.056877 -vn -0.095426 0.992875 0.071360 -vn -0.993002 0.117935 0.006226 -vn -0.996380 0.085006 0.000430 -vn -0.999247 0.038797 0.000740 -vn -0.996380 0.085006 0.000430 -vn -0.998947 0.045842 0.001757 -vn -0.999247 0.038797 0.000740 -vn -0.615919 0.785318 0.062605 -vn -0.682062 0.729639 0.049171 -vn -0.893410 0.448498 0.025842 -vn -0.682062 0.729639 0.049171 -vn -0.914969 0.402789 0.024342 -vn -0.893410 0.448498 0.025842 -vn -0.893410 0.448498 0.025842 -vn -0.914969 0.402789 0.024342 -vn -0.978147 0.207638 0.010723 -vn -0.914969 0.402789 0.024342 -vn -0.983245 0.182196 0.005792 -vn -0.978147 0.207638 0.010723 -vn -0.756449 0.653385 0.029548 -vn -0.823527 0.566803 0.023172 -vn -0.997021 0.077063 0.003255 -vn -0.823527 0.566803 0.023172 -vn -0.998589 0.052790 0.005722 -vn -0.997021 0.077063 0.003255 -vn -0.363218 -0.788030 0.497072 -vn -0.339143 -0.505622 0.793302 -vn -0.354110 -0.803703 0.478192 -vn -0.339143 -0.505622 0.793302 -vn -0.299846 -0.516749 0.801912 -vn -0.354110 -0.803703 0.478192 -vn -0.161840 -0.334626 0.928350 -vn -0.178410 -0.306737 0.934924 -vn -0.166593 -0.330885 0.928850 -vn -0.178410 -0.306737 0.934924 -vn -0.188830 -0.293149 0.937234 -vn -0.166593 -0.330885 0.928850 -vn -0.978147 0.207638 0.010723 -vn -0.983245 0.182196 0.005792 -vn -0.993002 0.117935 0.006226 -vn -0.983245 0.182196 0.005792 -vn -0.996380 0.085006 0.000430 -vn -0.993002 0.117935 0.006226 -vn 0.993452 0.113575 -0.012418 -vn 0.983596 0.179257 -0.020171 -vn 0.993500 0.113826 0.000749 -vn 0.983596 0.179257 -0.020171 -vn 0.984694 0.174160 -0.006738 -vn 0.993500 0.113826 0.000749 -vn 0.993500 0.113826 0.000749 -vn 0.985935 -0.166960 -0.007524 -vn 0.993452 0.113575 -0.012418 -vn 0.985935 -0.166960 -0.007524 -vn 0.975625 -0.218711 -0.017944 -vn 0.993452 0.113575 -0.012418 -vn 0.324453 -0.809413 -0.489470 -vn 0.119524 -0.861339 -0.493770 -vn 0.095583 -0.992659 -0.074102 -vn 0.095583 -0.992659 -0.074102 -vn 0.119524 -0.861339 -0.493770 -vn -0.000000 -0.997673 -0.068181 -vn -0.000000 -0.997673 -0.068181 -vn 0.119524 -0.861339 -0.493770 -vn 0.000000 -0.871316 -0.490722 -vn 0.985935 -0.166960 -0.007524 -vn 0.959190 -0.282414 -0.014033 -vn 0.975625 -0.218711 -0.017944 -vn 0.959190 -0.282414 -0.014033 -vn 0.965709 -0.258960 -0.018602 -vn 0.975625 -0.218711 -0.017944 -vn 0.996490 -0.080699 -0.022271 -vn 0.996882 -0.076594 -0.018986 -vn 0.998432 -0.055875 -0.003518 -vn 0.996882 -0.076594 -0.018986 -vn 0.997107 -0.075791 -0.005838 -vn 0.998432 -0.055875 -0.003518 -vn 0.965301 -0.259102 -0.032545 -vn 0.996490 -0.080699 -0.022271 -vn 0.969905 -0.243373 -0.007371 -vn 0.996490 -0.080699 -0.022271 -vn 0.998432 -0.055875 -0.003518 -vn 0.969905 -0.243373 -0.007371 -vn 0.850012 -0.526176 -0.024864 -vn 0.965301 -0.259102 -0.032545 -vn 0.969905 -0.243373 -0.007371 -vn 0.969905 -0.243373 -0.007371 -vn 0.808708 -0.587341 -0.031976 -vn 0.850012 -0.526176 -0.024864 -vn 0.965301 -0.259102 -0.032545 -vn 0.850012 -0.526176 -0.024864 -vn 0.791469 -0.609184 -0.049722 -vn -0.914969 0.402789 0.024342 -vn -0.945131 0.326041 0.020602 -vn -0.983245 0.182196 0.005792 -vn 0.767409 -0.563943 0.305045 -vn 0.772660 -0.348538 0.530583 -vn 0.979545 -0.197391 -0.039099 -vn 0.772660 -0.348538 0.530583 -vn 0.990615 -0.133182 -0.030719 -vn 0.979545 -0.197391 -0.039099 -vn 0.755223 -0.652355 0.063808 -vn 0.767409 -0.563943 0.305045 -vn 0.973639 -0.218470 -0.065558 -vn 0.767409 -0.563943 0.305045 -vn 0.979545 -0.197391 -0.039099 -vn 0.973639 -0.218470 -0.065558 -vn 0.707233 -0.162804 0.687980 -vn 0.985507 -0.169473 0.007393 -vn 0.738957 0.055017 0.671503 -vn 0.738957 0.055017 0.671503 -vn 0.985507 -0.169473 0.007393 -vn 0.761618 0.252637 0.596751 -vn 0.997107 -0.075791 -0.005838 -vn 0.775408 0.330567 0.538022 -vn 0.998432 -0.055875 -0.003518 -vn 0.761618 0.252637 0.596751 -vn 0.985507 -0.169473 0.007393 -vn 0.998432 -0.055875 -0.003518 -vn 0.985935 -0.166960 -0.007524 -vn 0.820751 0.061453 0.567972 -vn 0.959190 -0.282414 -0.014033 -vn 0.820751 0.061453 0.567972 -vn 0.804082 0.167348 0.570480 -vn 0.959190 -0.282414 -0.014033 -vn 0.993500 0.113826 0.000749 -vn 0.724913 0.292702 0.623560 -vn 0.985935 -0.166960 -0.007524 -vn 0.724913 0.292702 0.623560 -vn 0.820751 0.061453 0.567972 -vn 0.985935 -0.166960 -0.007524 -vn 0.984694 0.174160 -0.006738 -vn 0.771535 0.304529 0.558566 -vn 0.993500 0.113826 0.000749 -vn 0.771535 0.304529 0.558566 -vn 0.724913 0.292702 0.623560 -vn 0.993500 0.113826 0.000749 -vn 0.980089 0.198515 -0.004173 -vn 0.740815 0.342904 0.577590 -vn 0.984694 0.174160 -0.006738 -vn 0.740815 0.342904 0.577590 -vn 0.771535 0.304529 0.558566 -vn 0.984694 0.174160 -0.006738 -vn -0.385018 -0.919892 -0.074557 -vn -0.386712 -0.919150 -0.074949 -vn -0.396515 -0.915703 -0.065292 -vn -0.386712 -0.919150 -0.074949 -vn -0.390945 -0.918337 -0.061799 -vn -0.396515 -0.915703 -0.065292 -vn -0.985997 -0.166579 0.007890 -vn -0.982751 -0.184689 0.009457 -vn -0.984334 -0.176055 0.009521 -vn -0.982751 -0.184689 0.009457 -vn -0.982479 -0.186010 0.011654 -vn -0.984334 -0.176055 0.009521 -vn -0.993671 -0.112316 0.001790 -vn -0.985997 -0.166579 0.007890 -vn -0.991086 -0.133014 0.007440 -vn -0.985997 -0.166579 0.007890 -vn -0.984334 -0.176055 0.009521 -vn -0.991086 -0.133014 0.007440 -vn -0.995237 0.097405 0.003889 -vn -0.993671 -0.112316 0.001790 -vn -0.998589 0.052790 0.005722 -vn -0.993671 -0.112316 0.001790 -vn -0.991086 -0.133014 0.007440 -vn -0.998589 0.052790 0.005722 -vn -0.998589 0.052790 0.005722 -vn -0.823527 0.566803 0.023172 -vn -0.995237 0.097405 0.003889 -vn -0.823527 0.566803 0.023172 -vn -0.761245 0.647906 0.026911 -vn -0.995237 0.097405 0.003889 -vn -0.574631 -0.446587 -0.685827 -vn -0.998947 0.045842 0.001757 -vn -0.996550 0.082383 -0.010068 -vn -0.082937 0.995311 0.049767 -vn -0.135626 0.988292 0.069896 -vn -0.322783 0.944059 0.067556 -vn -0.135626 0.988292 0.069896 -vn -0.180265 0.982087 0.054868 -vn -0.322783 0.944059 0.067556 -vn -0.180265 0.982087 0.054868 -vn -0.429327 0.901377 0.056555 -vn -0.322783 0.944059 0.067556 -vn -0.011871 0.999709 0.020995 -vn -0.082937 0.995311 0.049767 -vn -0.083437 0.994889 0.056877 -vn 0.000000 0.999970 0.007701 -vn -0.011871 0.999709 0.020995 -vn -0.000000 0.999216 0.039578 -vn -0.011871 0.999709 0.020995 -vn -0.083437 0.994889 0.056877 -vn -0.000000 0.999216 0.039578 -vn -0.363218 -0.788030 0.497072 -vn -0.354110 -0.803703 0.478192 -vn -0.345594 -0.929888 0.125990 -vn -0.354110 -0.803703 0.478192 -vn -0.357049 -0.929812 0.089253 -vn -0.345594 -0.929888 0.125990 -vn -0.982423 -0.186181 0.013505 -vn -0.984334 -0.176055 0.009521 -vn -0.982479 -0.186010 0.011654 -vn 0.983596 0.179257 -0.020171 -vn 0.984046 0.174020 -0.037009 -vn 0.984694 0.174160 -0.006738 -vn 0.959190 -0.282414 -0.014033 -vn 0.997107 -0.075791 -0.005838 -vn 0.965709 -0.258960 -0.018602 -vn 0.997107 -0.075791 -0.005838 -vn 0.996882 -0.076594 -0.018986 -vn 0.965709 -0.258960 -0.018602 -vn 0.959190 -0.282414 -0.014033 -vn 0.804082 0.167348 0.570480 -vn 0.997107 -0.075791 -0.005838 -vn 0.804082 0.167348 0.570480 -vn 0.775408 0.330567 0.538022 -vn 0.997107 -0.075791 -0.005838 -vn -0.138390 -0.332971 0.932727 -vn -0.134867 -0.315546 0.939277 -vn -0.131033 -0.317293 0.939231 -vn 0.999569 0.028846 0.005434 -vn 0.998069 0.045238 0.042564 -vn 0.999550 0.029492 0.005516 -vn 0.998069 0.045238 0.042564 -vn 0.997809 0.049679 0.043688 -vn 0.999550 0.029492 0.005516 -vn 0.998069 0.045238 0.042564 -vn 0.995800 0.065592 0.063883 -vn 0.997809 0.049679 0.043688 -vn 0.995800 0.065592 0.063883 -vn 0.995888 0.066977 0.061000 -vn 0.997809 0.049679 0.043688 -vn 0.507293 -0.858759 -0.072022 -vn 0.811258 -0.584646 0.007064 -vn 0.515410 -0.853105 -0.081018 -vn 0.811258 -0.584646 0.007064 -vn 0.818825 -0.574042 0.001045 -vn 0.515410 -0.853105 -0.081018 -vn 0.995708 0.084216 0.038390 -vn 0.995703 0.084333 0.038251 -vn 0.992675 0.109002 0.052112 -vn 0.995703 0.084333 0.038251 -vn 0.992674 0.108503 0.053153 -vn 0.992675 0.109002 0.052112 -vn 0.995703 0.084333 0.038251 -vn 0.995708 0.084216 0.038390 -vn 0.999464 0.014411 0.029383 -vn 0.995708 0.084216 0.038390 -vn 0.999501 0.014175 0.028222 -vn 0.999464 0.014411 0.029383 -vn 0.249118 -0.963466 -0.098359 -vn 0.104406 -0.994097 -0.029509 -vn 0.247950 -0.964620 -0.089610 -vn 0.104406 -0.994097 -0.029509 -vn 0.106145 -0.993954 -0.028067 -vn 0.247950 -0.964620 -0.089610 -vn -0.000000 -0.999979 -0.006475 -vn -0.000000 -0.999971 -0.007637 -vn 0.104406 -0.994097 -0.029509 -vn -0.000000 -0.999971 -0.007637 -vn 0.106145 -0.993954 -0.028067 -vn 0.104406 -0.994097 -0.029509 -vn 0.990700 -0.134435 0.020989 -vn 0.990656 -0.134478 0.022719 -vn 0.998261 -0.056077 0.018160 -vn 0.990656 -0.134478 0.022719 -vn 0.998293 -0.055357 0.018610 -vn 0.998261 -0.056077 0.018160 -vn 0.990700 -0.134435 0.020989 -vn 0.959183 -0.281844 0.023066 -vn 0.990656 -0.134478 0.022719 -vn 0.959183 -0.281844 0.023066 -vn 0.957430 -0.287103 0.029993 -vn 0.990656 -0.134478 0.022719 -vn 0.959183 -0.281844 0.023066 -vn 0.818825 -0.574042 0.001045 -vn 0.957430 -0.287103 0.029993 -vn 0.818825 -0.574042 0.001045 -vn 0.811258 -0.584646 0.007064 -vn 0.957430 -0.287103 0.029993 -vn 0.999569 0.028846 0.005434 -vn 0.999550 0.029492 0.005516 -vn 0.969840 0.166099 0.178388 -vn 0.999550 0.029492 0.005516 -vn 0.994998 0.093231 -0.035887 -vn 0.969840 0.166099 0.178388 -vn 0.994625 0.082784 0.062195 -vn 0.994644 0.081683 0.063330 -vn 0.995800 0.065592 0.063883 -vn 0.994644 0.081683 0.063330 -vn 0.995888 0.066977 0.061000 -vn 0.995800 0.065592 0.063883 -vn 0.992675 0.109002 0.052112 -vn 0.992674 0.108503 0.053153 -vn 0.994625 0.082784 0.062195 -vn 0.992674 0.108503 0.053153 -vn 0.994644 0.081683 0.063330 -vn 0.994625 0.082784 0.062195 -vn 0.999501 0.014175 0.028222 -vn 0.998261 -0.056077 0.018160 -vn 0.999464 0.014411 0.029383 -vn 0.998261 -0.056077 0.018160 -vn 0.998293 -0.055357 0.018610 -vn 0.999464 0.014411 0.029383 -vn 0.417566 0.902141 -0.108536 -vn 0.440343 0.896429 0.050135 -vn 0.426749 0.902769 -0.053783 -vn 0.440343 0.896429 0.050135 -vn 0.446303 0.893472 0.050214 -vn 0.426749 0.902769 -0.053783 -vn 0.448052 0.757634 -0.474595 -vn 0.417566 0.902141 -0.108536 -vn 0.446061 0.791914 -0.417015 -vn 0.417566 0.902141 -0.108536 -vn 0.426749 0.902769 -0.053783 -vn 0.446061 0.791914 -0.417015 -vn 0.319057 -0.035786 -0.947060 -vn 0.404581 0.077599 -0.911204 -vn 0.328251 -0.031289 -0.944072 -vn 0.404581 0.077599 -0.911204 -vn 0.359800 0.075412 -0.929977 -vn 0.328251 -0.031289 -0.944072 -vn 0.169298 0.324929 -0.930462 -vn 0.180314 0.325379 -0.928232 -vn 0.263657 0.363905 -0.893341 -vn 0.180314 0.325379 -0.928232 -vn 0.290602 0.358700 -0.887065 -vn 0.263657 0.363905 -0.893341 -vn 0.169298 0.324929 -0.930462 -vn 0.212363 0.301851 -0.929402 -vn 0.180314 0.325379 -0.928232 -vn 0.212363 0.301851 -0.929402 -vn 0.235126 0.317229 -0.918739 -vn 0.180314 0.325379 -0.928232 -vn 0.085991 0.008774 -0.996257 -vn 0.212106 -0.072179 -0.974577 -vn 0.085479 -0.001567 -0.996339 -vn 0.212106 -0.072179 -0.974577 -vn 0.239693 -0.077290 -0.967767 -vn 0.085479 -0.001567 -0.996339 -vn 0.000000 -0.057309 -0.998357 -vn 0.000000 -0.050714 -0.998713 -vn 0.085479 -0.001567 -0.996339 -vn 0.000000 -0.050714 -0.998713 -vn 0.085991 0.008774 -0.996257 -vn 0.085479 -0.001567 -0.996339 -vn 0.255352 0.293656 -0.921174 -vn 0.235126 0.317229 -0.918739 -vn 0.212363 0.301851 -0.929402 -vn 0.263699 0.309474 -0.913613 -vn 0.290613 0.326849 -0.899285 -vn 0.262790 0.310576 -0.913501 -vn 0.290613 0.326849 -0.899285 -vn 0.305134 0.314478 -0.898886 -vn 0.262790 0.310576 -0.913501 -vn 0.310643 0.219722 -0.924783 -vn 0.263699 0.309474 -0.913613 -vn 0.276780 0.226506 -0.933856 -vn 0.263699 0.309474 -0.913613 -vn 0.262790 0.310576 -0.913501 -vn 0.276780 0.226506 -0.933856 -vn 0.276780 0.226506 -0.933856 -vn 0.359800 0.075412 -0.929977 -vn 0.310643 0.219722 -0.924783 -vn 0.359800 0.075412 -0.929977 -vn 0.404581 0.077599 -0.911204 -vn 0.310643 0.219722 -0.924783 -vn 0.446303 0.893472 0.050214 -vn 0.440343 0.896429 0.050135 -vn 0.415109 0.907407 0.065557 -vn 0.440343 0.896429 0.050135 -vn 0.410226 0.909524 0.066933 -vn 0.415109 0.907407 0.065557 -vn 0.405249 0.503584 -0.763005 -vn 0.436406 0.498474 -0.749049 -vn 0.446061 0.791914 -0.417015 -vn 0.436406 0.498474 -0.749049 -vn 0.448052 0.757634 -0.474595 -vn 0.446061 0.791914 -0.417015 -vn 0.263657 0.363905 -0.893341 -vn 0.290602 0.358700 -0.887065 -vn 0.405249 0.503584 -0.763005 -vn 0.290602 0.358700 -0.887065 -vn 0.436406 0.498474 -0.749049 -vn 0.405249 0.503584 -0.763005 -vn 0.305134 0.314478 -0.898886 -vn 0.290613 0.326849 -0.899285 -vn 0.255352 0.293656 -0.921174 -vn 0.290613 0.326849 -0.899285 -vn 0.235126 0.317229 -0.918739 -vn 0.255352 0.293656 -0.921174 -vn 0.850012 -0.526176 -0.024864 -vn 0.539402 -0.840642 -0.048634 -vn 0.791469 -0.609184 -0.049722 -vn 0.539402 -0.840642 -0.048634 -vn 0.488009 -0.871020 -0.056324 -vn 0.791469 -0.609184 -0.049722 -vn -0.562710 0.825931 0.034560 -vn -0.761245 0.647906 0.026911 -vn -0.541816 0.839771 0.034923 -vn -0.761245 0.647906 0.026911 -vn -0.823527 0.566803 0.023172 -vn -0.541816 0.839771 0.034923 -vn -0.495577 0.867646 0.039930 -vn -0.541816 0.839771 0.034923 -vn -0.756449 0.653385 0.029548 -vn -0.541816 0.839771 0.034923 -vn -0.823527 0.566803 0.023172 -vn -0.756449 0.653385 0.029548 -vn -0.138390 -0.332971 0.932727 -vn -0.142304 -0.333246 0.932039 -vn -0.134867 -0.315546 0.939277 -vn -0.980679 -0.195518 0.006376 -vn -0.984334 -0.176055 0.009521 -vn -0.981678 -0.190277 0.010176 -vn -0.981678 -0.190277 0.010176 -vn -0.984334 -0.176055 0.009521 -vn -0.982423 -0.186181 0.013505 -vn 0.984694 0.174160 -0.006738 -vn 0.985848 0.161528 -0.044851 -vn 0.983212 0.180337 -0.027797 -vn 0.984694 0.174160 -0.006738 -vn 0.984046 0.174020 -0.037009 -vn 0.985848 0.161528 -0.044851 -vn -0.075421 -0.342512 -0.936481 -vn -0.080619 -0.343276 -0.935768 -vn -0.088936 -0.352542 -0.931560 -vn -0.080619 -0.343276 -0.935768 -vn -0.094136 -0.352187 -0.931184 -vn -0.088936 -0.352542 -0.931560 -vn -0.088936 -0.352542 -0.931560 -vn -0.094136 -0.352187 -0.931184 -vn -0.110062 -0.360826 -0.926116 -vn -0.094136 -0.352187 -0.931184 -vn -0.115215 -0.359361 -0.926059 -vn -0.110062 -0.360826 -0.926116 -vn -0.731212 -0.381836 -0.565270 -vn -0.713582 -0.257949 -0.651354 -vn -0.099908 -0.581232 -0.807581 -vn -0.713582 -0.257949 -0.651354 -vn -0.071198 -0.408463 -0.909994 -vn -0.099908 -0.581232 -0.807581 -vn -0.713582 -0.257949 -0.651354 -vn -0.723566 -0.082382 -0.685321 -vn -0.071198 -0.408463 -0.909994 -vn -0.723566 -0.082382 -0.685321 -vn -0.051319 -0.202061 -0.978028 -vn -0.071198 -0.408463 -0.909994 -vn -0.731212 -0.381836 -0.565270 -vn -0.099908 -0.581232 -0.807581 -vn -0.574631 -0.446587 -0.685827 -vn -0.099908 -0.581232 -0.807581 -vn -0.108229 -0.493339 -0.863078 -vn -0.574631 -0.446587 -0.685827 -vn -0.108229 -0.493339 -0.863078 -vn -0.080619 -0.343276 -0.935768 -vn -0.092628 -0.376477 -0.921784 -vn -0.080619 -0.343276 -0.935768 -vn -0.075421 -0.342512 -0.936481 -vn -0.092628 -0.376477 -0.921784 -vn -0.080859 -0.444705 -0.892020 -vn -0.108229 -0.493339 -0.863078 -vn -0.092628 -0.376477 -0.921784 -vn -0.574631 -0.446587 -0.685827 -vn -0.108229 -0.493339 -0.863078 -vn -0.080859 -0.444705 -0.892020 -vn -0.723566 -0.082382 -0.685321 -vn -0.668540 0.161888 -0.725842 -vn -0.051319 -0.202061 -0.978028 -vn -0.668540 0.161888 -0.725842 -vn 0.006508 0.083612 -0.996477 -vn -0.051319 -0.202061 -0.978028 -vn 0.000000 -0.871316 -0.490722 -vn 0.119524 -0.861339 -0.493770 -vn -0.000000 -0.514402 -0.857549 -vn 0.119524 -0.861339 -0.493770 -vn 0.192801 -0.483418 -0.853894 -vn -0.000000 -0.514402 -0.857549 -vn 0.476271 -0.348677 -0.807211 -vn 0.192801 -0.483418 -0.853894 -vn 0.324453 -0.809413 -0.489470 -vn 0.192801 -0.483418 -0.853894 -vn 0.119524 -0.861339 -0.493770 -vn 0.324453 -0.809413 -0.489470 -vn 0.879217 -0.280086 -0.385394 -vn 0.702167 -0.425693 -0.570743 -vn 0.658652 -0.695759 -0.286526 -vn 0.702167 -0.425693 -0.570743 -vn 0.491332 -0.797984 -0.349020 -vn 0.658652 -0.695759 -0.286526 -vn 0.658652 -0.695759 -0.286526 -vn 0.833807 -0.528564 -0.159328 -vn 0.879217 -0.280086 -0.385394 -vn 0.833807 -0.528564 -0.159328 -vn 0.957276 -0.214865 -0.193535 -vn 0.879217 -0.280086 -0.385394 -vn -0.446710 0.893463 0.046633 -vn -0.429327 0.901377 0.056555 -vn -0.166799 0.985578 0.028524 -vn -0.429327 0.901377 0.056555 -vn -0.216363 0.975064 0.049360 -vn -0.166799 0.985578 0.028524 -vn 0.324453 -0.809413 -0.489470 -vn 0.253349 -0.964463 -0.075004 -vn 0.491332 -0.797984 -0.349020 -vn 0.494936 -0.863469 -0.097259 -vn 0.658652 -0.695759 -0.286526 -vn 0.491332 -0.797984 -0.349020 -vn 0.956032 -0.272734 -0.107795 -vn 0.957276 -0.214865 -0.193535 -vn 0.813515 -0.572091 -0.104428 -vn 0.957276 -0.214865 -0.193535 -vn 0.833807 -0.528564 -0.159328 -vn 0.813515 -0.572091 -0.104428 -vn -0.429327 0.901377 0.056555 -vn -0.180265 0.982087 0.054868 -vn -0.216363 0.975064 0.049360 -vn 0.780359 -0.622831 -0.055866 -vn 0.755223 -0.652355 0.063808 -vn 0.944473 -0.323507 -0.057569 -vn 0.755223 -0.652355 0.063808 -vn 0.973639 -0.218470 -0.065558 -vn 0.944473 -0.323507 -0.057569 -vn 0.763261 0.075432 0.641672 -vn 0.998456 -0.051981 0.019606 -vn 0.759620 -0.099247 0.642749 -vn 0.998456 -0.051981 0.019606 -vn 0.997150 -0.075336 -0.004072 -vn 0.759620 -0.099247 0.642749 -vn 0.805391 0.217929 0.551228 -vn 0.998707 -0.048248 0.015984 -vn 0.763261 0.075432 0.641672 -vn 0.998707 -0.048248 0.015984 -vn 0.998456 -0.051981 0.019606 -vn 0.763261 0.075432 0.641672 -vn 0.775685 0.361202 0.517538 -vn 0.999627 -0.020816 0.017698 -vn 0.805391 0.217929 0.551228 -vn 0.999627 -0.020816 0.017698 -vn 0.998707 -0.048248 0.015984 -vn 0.805391 0.217929 0.551228 -vn 0.999627 -0.020816 0.017698 -vn 0.775685 0.361202 0.517538 -vn 0.999782 0.020752 0.002261 -vn 0.775685 0.361202 0.517538 -vn 0.740592 0.322814 0.589333 -vn 0.999782 0.020752 0.002261 -vn 0.999782 0.020752 0.002261 -vn 0.740592 0.322814 0.589333 -vn 0.998303 0.058229 0.000632 -vn 0.740592 0.322814 0.589333 -vn 0.728818 0.284083 0.622994 -vn 0.998303 0.058229 0.000632 -vn 0.773857 0.304857 0.555164 -vn 0.990513 0.137395 0.002445 -vn 0.728818 0.284083 0.622994 -vn 0.990513 0.137395 0.002445 -vn 0.998303 0.058229 0.000632 -vn 0.728818 0.284083 0.622994 -vn 0.738957 0.055017 0.671503 -vn 0.763261 0.075432 0.641672 -vn 0.707233 -0.162804 0.687980 -vn 0.763261 0.075432 0.641672 -vn 0.759620 -0.099247 0.642749 -vn 0.707233 -0.162804 0.687980 -vn 0.761618 0.252637 0.596751 -vn 0.805391 0.217929 0.551228 -vn 0.738957 0.055017 0.671503 -vn 0.805391 0.217929 0.551228 -vn 0.763261 0.075432 0.641672 -vn 0.738957 0.055017 0.671503 -vn 0.775408 0.330567 0.538022 -vn 0.775685 0.361202 0.517538 -vn 0.761618 0.252637 0.596751 -vn 0.775685 0.361202 0.517538 -vn 0.805391 0.217929 0.551228 -vn 0.761618 0.252637 0.596751 -vn 0.740592 0.322814 0.589333 -vn 0.775685 0.361202 0.517538 -vn 0.804082 0.167348 0.570480 -vn 0.775685 0.361202 0.517538 -vn 0.775408 0.330567 0.538022 -vn 0.804082 0.167348 0.570480 -vn 0.740592 0.322814 0.589333 -vn 0.804082 0.167348 0.570480 -vn 0.820751 0.061453 0.567972 -vn 0.724913 0.292702 0.623560 -vn 0.728818 0.284083 0.622994 -vn 0.820751 0.061453 0.567972 -vn 0.728818 0.284083 0.622994 -vn 0.740592 0.322814 0.589333 -vn 0.820751 0.061453 0.567972 -vn 0.773857 0.304857 0.555164 -vn 0.728818 0.284083 0.622994 -vn 0.771535 0.304529 0.558566 -vn 0.728818 0.284083 0.622994 -vn 0.724913 0.292702 0.623560 -vn 0.771535 0.304529 0.558566 -vn 0.771535 0.304529 0.558566 -vn 0.740815 0.342904 0.577590 -vn 0.773857 0.304857 0.555164 -vn 0.740815 0.342904 0.577590 -vn 0.969840 0.166099 0.178388 -vn 0.773857 0.304857 0.555164 -vn 0.759620 -0.099247 0.642749 -vn 0.997150 -0.075336 -0.004072 -vn 0.772660 -0.348538 0.530583 -vn 0.997150 -0.075336 -0.004072 -vn 0.990615 -0.133182 -0.030719 -vn 0.772660 -0.348538 0.530583 -vn 0.656028 -0.418182 0.628292 -vn 0.772660 -0.348538 0.530583 -vn 0.627242 -0.676188 0.386443 -vn 0.772660 -0.348538 0.530583 -vn 0.767409 -0.563943 0.305045 -vn 0.627242 -0.676188 0.386443 -vn -0.600495 0.443647 -0.665270 -vn -0.554377 0.702479 -0.446307 -vn -0.004398 0.419539 -0.907726 -vn -0.554377 0.702479 -0.446307 -vn -0.010368 0.800881 -0.598733 -vn -0.004398 0.419539 -0.907726 -vn -0.554377 0.702479 -0.446307 -vn -0.517246 0.846290 -0.127473 -vn -0.010368 0.800881 -0.598733 -vn -0.517246 0.846290 -0.127473 -vn -0.051864 0.975168 -0.215306 -vn -0.010368 0.800881 -0.598733 -vn 0.627242 -0.676188 0.386443 -vn 0.767409 -0.563943 0.305045 -vn 0.634100 -0.764086 0.118699 -vn 0.767409 -0.563943 0.305045 -vn 0.755223 -0.652355 0.063808 -vn 0.634100 -0.764086 0.118699 -vn 0.780359 -0.622831 -0.055866 -vn 0.634100 -0.764086 0.118699 -vn 0.755223 -0.652355 0.063808 -vn -0.517246 0.846290 -0.127473 -vn -0.494071 0.869415 -0.003328 -vn -0.051864 0.975168 -0.215306 -vn -0.494071 0.869415 -0.003328 -vn -0.145820 0.989051 -0.022703 -vn -0.051864 0.975168 -0.215306 -vn 0.707233 -0.162804 0.687980 -vn 0.759620 -0.099247 0.642749 -vn 0.656028 -0.418182 0.628292 -vn 0.759620 -0.099247 0.642749 -vn 0.772660 -0.348538 0.530583 -vn 0.656028 -0.418182 0.628292 -vn -0.668540 0.161888 -0.725842 -vn -0.600495 0.443647 -0.665270 -vn 0.006508 0.083612 -0.996477 -vn -0.600495 0.443647 -0.665270 -vn -0.004398 0.419539 -0.907726 -vn 0.006508 0.083612 -0.996477 -vn 0.923588 -0.380903 -0.043567 -vn 0.985507 -0.169473 0.007393 -vn 0.951043 -0.307690 -0.029046 -vn 0.833807 -0.528564 -0.159328 -vn 0.708309 -0.701790 -0.076086 -vn 0.813515 -0.572091 -0.104428 -vn 0.494936 -0.863469 -0.097259 -vn 0.539402 -0.840642 -0.048634 -vn 0.808708 -0.587341 -0.031976 -vn 0.994998 0.093231 -0.035887 -vn 0.990513 0.137395 0.002445 -vn 0.969840 0.166099 0.178388 -vn 0.990513 0.137395 0.002445 -vn 0.773857 0.304857 0.555164 -vn 0.969840 0.166099 0.178388 -vn -0.969531 0.242434 0.035143 -vn -0.971231 0.238135 0.001538 -vn -0.984202 0.176837 0.008696 -vn -0.984202 0.176837 0.008696 -vn -0.971231 0.238135 0.001538 -vn -0.668540 0.161888 -0.725842 -vn -0.668540 0.161888 -0.725842 -vn -0.971231 0.238135 0.001538 -vn -0.600495 0.443647 -0.665270 -vn -0.554377 0.702479 -0.446307 -vn -0.600495 0.443647 -0.665270 -vn -0.971231 0.238135 0.001538 -vn -0.967156 0.254168 -0.002830 -vn -0.885029 0.465465 0.008081 -vn -0.969531 0.242434 0.035143 -vn -0.885029 0.465465 0.008081 -vn -0.932362 0.360030 0.032846 -vn -0.969531 0.242434 0.035143 -vn -0.956121 0.292541 0.015885 -vn -0.945131 0.326041 0.020602 -vn -0.844338 0.533959 0.044504 -vn -0.945131 0.326041 0.020602 -vn -0.789936 0.611456 0.046072 -vn -0.844338 0.533959 0.044504 -vn -0.996550 0.082383 -0.010068 -vn -0.996380 0.085006 0.000430 -vn -0.993936 0.109771 -0.006474 -vn -0.993936 0.109771 -0.006474 -vn -0.996380 0.085006 0.000430 -vn -0.989557 0.144091 0.003808 -vn -0.996380 0.085006 0.000430 -vn -0.983245 0.182196 0.005792 -vn -0.989557 0.144091 0.003808 -vn -0.723566 -0.082382 -0.685321 -vn -0.713582 -0.257949 -0.651354 -vn -0.995327 0.096478 -0.003944 -vn -0.996550 0.082383 -0.010068 -vn -0.993936 0.109771 -0.006474 -vn -0.713582 -0.257949 -0.651354 -vn -0.713582 -0.257949 -0.651354 -vn -0.993936 0.109771 -0.006474 -vn -0.995327 0.096478 -0.003944 -vn -0.668540 0.161888 -0.725842 -vn -0.723566 -0.082382 -0.685321 -vn -0.984202 0.176837 0.008696 -vn -0.723566 -0.082382 -0.685321 -vn -0.995327 0.096478 -0.003944 -vn -0.984202 0.176837 0.008696 -vn -0.510928 0.859417 0.018820 -vn -0.512047 0.858797 0.016581 -vn -0.453914 0.680417 0.575322 -vn -0.512047 0.858797 0.016581 -vn -0.449290 0.674456 0.585873 -vn -0.453914 0.680417 0.575322 -vn -0.126933 0.991885 0.007160 -vn -0.173425 0.735723 -0.654703 -vn -0.135280 0.990653 -0.017479 -vn -0.173425 0.735723 -0.654703 -vn -0.182289 0.709418 -0.680806 -vn -0.135280 0.990653 -0.017479 -vn -0.178828 0.405350 -0.896500 -vn -0.182289 0.709418 -0.680806 -vn -0.173425 0.735723 -0.654703 -vn -0.453914 0.680417 0.575322 -vn -0.449290 0.674456 0.585873 -vn -0.435398 0.431875 0.789881 -vn -0.603657 0.376752 -0.702606 -vn -0.616263 0.596857 -0.513792 -vn -0.609064 0.605926 -0.511757 -vn -0.248653 0.725676 0.641534 -vn -0.258900 0.717586 0.646561 -vn -0.274003 0.415746 0.867224 -vn -0.126933 0.991885 0.007160 -vn -0.135280 0.990653 -0.017479 -vn -0.248653 0.725676 0.641534 -vn -0.135280 0.990653 -0.017479 -vn -0.258900 0.717586 0.646561 -vn -0.248653 0.725676 0.641534 -vn -0.510928 0.859417 0.018820 -vn -0.609064 0.605926 -0.511757 -vn -0.512047 0.858797 0.016581 -vn -0.609064 0.605926 -0.511757 -vn -0.616263 0.596857 -0.513792 -vn -0.512047 0.858797 0.016581 -vn -0.844338 0.533959 0.044504 -vn -0.885029 0.465465 0.008081 -vn -0.956121 0.292541 0.015885 -vn -0.885029 0.465465 0.008081 -vn -0.967156 0.254168 -0.002830 -vn -0.956121 0.292541 0.015885 -vn -0.494071 0.869415 -0.003328 -vn -0.446710 0.893463 0.046633 -vn -0.145820 0.989051 -0.022703 -vn -0.446710 0.893463 0.046633 -vn -0.166799 0.985578 0.028524 -vn -0.145820 0.989051 -0.022703 -vn 0.780359 -0.622831 -0.055866 -vn 0.944473 -0.323507 -0.057569 -vn 0.813515 -0.572091 -0.104428 -vn 0.944473 -0.323507 -0.057569 -vn 0.956032 -0.272734 -0.107795 -vn 0.813515 -0.572091 -0.104428 -vn -0.989557 0.144091 0.003808 -vn -0.983245 0.182196 0.005792 -vn -0.983787 0.179160 0.008038 -vn -0.956121 0.292541 0.015885 -vn -0.983787 0.179160 0.008038 -vn -0.945131 0.326041 0.020602 -vn -0.945131 0.326041 0.020602 -vn -0.983787 0.179160 0.008038 -vn -0.983245 0.182196 0.005792 -vn -0.713582 -0.257949 -0.651354 -vn -0.731212 -0.381836 -0.565270 -vn -0.996550 0.082383 -0.010068 -vn -0.996550 0.082383 -0.010068 -vn -0.731212 -0.381836 -0.565270 -vn -0.574631 -0.446587 -0.685827 -vn -0.996550 0.082383 -0.010068 -vn -0.998947 0.045842 0.001757 -vn -0.996380 0.085006 0.000430 -vn 0.998432 -0.055875 -0.003518 -vn 0.775408 0.330567 0.538022 -vn 0.761618 0.252637 0.596751 -vn 0.969905 -0.243373 -0.007371 -vn 0.985507 -0.169473 0.007393 -vn 0.923588 -0.380903 -0.043567 -vn 0.923588 -0.380903 -0.043567 -vn 0.808708 -0.587341 -0.031976 -vn 0.969905 -0.243373 -0.007371 -vn 0.998432 -0.055875 -0.003518 -vn 0.985507 -0.169473 0.007393 -vn 0.969905 -0.243373 -0.007371 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.885029 0.465465 0.008081 -vn -0.494071 0.869415 -0.003328 -vn -0.932362 0.360030 0.032846 -vn -0.494071 0.869415 -0.003328 -vn -0.517246 0.846290 -0.127473 -vn -0.932362 0.360030 0.032846 -vn -0.446710 0.893463 0.046633 -vn -0.494071 0.869415 -0.003328 -vn -0.844338 0.533959 0.044504 -vn -0.494071 0.869415 -0.003328 -vn -0.885029 0.465465 0.008081 -vn -0.844338 0.533959 0.044504 -vn -0.932362 0.360030 0.032846 -vn -0.971231 0.238135 0.001538 -vn -0.969531 0.242434 0.035143 -vn -0.554377 0.702479 -0.446307 -vn -0.971231 0.238135 0.001538 -vn -0.932362 0.360030 0.032846 -vn -0.932362 0.360030 0.032846 -vn -0.517246 0.846290 -0.127473 -vn -0.554377 0.702479 -0.446307 -vn -0.429327 0.901377 0.056555 -vn -0.446710 0.893463 0.046633 -vn -0.789936 0.611456 0.046072 -vn -0.446710 0.893463 0.046633 -vn -0.844338 0.533959 0.044504 -vn -0.789936 0.611456 0.046072 -vn -0.682062 0.729639 0.049171 -vn -0.789936 0.611456 0.046072 -vn -0.914969 0.402789 0.024342 -vn -0.789936 0.611456 0.046072 -vn -0.945131 0.326041 0.020602 -vn -0.914969 0.402789 0.024342 -vn -0.284211 0.955066 0.084101 -vn -0.322783 0.944059 0.067556 -vn -0.615919 0.785318 0.062605 -vn -0.322783 0.944059 0.067556 -vn -0.682062 0.729639 0.049171 -vn -0.615919 0.785318 0.062605 -vn -0.144281 -0.209043 0.967204 -vn -0.158943 -0.205989 0.965560 -vn -0.191886 -0.210924 0.958484 -vn -0.158943 -0.205989 0.965560 -vn -0.196192 -0.207154 0.958434 -vn -0.191886 -0.210924 0.958484 -vn 0.247950 -0.964620 -0.089610 -vn 0.507293 -0.858759 -0.072022 -vn 0.249118 -0.963466 -0.098359 -vn 0.507293 -0.858759 -0.072022 -vn 0.515410 -0.853105 -0.081018 -vn 0.249118 -0.963466 -0.098359 -vn 0.212106 -0.072179 -0.974577 -vn 0.319057 -0.035786 -0.947060 -vn 0.239693 -0.077290 -0.967767 -vn 0.319057 -0.035786 -0.947060 -vn 0.328251 -0.031289 -0.944072 -vn 0.239693 -0.077290 -0.967767 -vn 0.253470 -0.964963 -0.067819 -vn 0.488009 -0.871020 -0.056324 -vn 0.253349 -0.964463 -0.075004 -vn 0.488009 -0.871020 -0.056324 -vn 0.539402 -0.840642 -0.048634 -vn 0.253349 -0.964463 -0.075004 -vn -0.322783 0.944059 0.067556 -vn -0.429327 0.901377 0.056555 -vn -0.682062 0.729639 0.049171 -vn -0.429327 0.901377 0.056555 -vn -0.789936 0.611456 0.046072 -vn -0.682062 0.729639 0.049171 -vn 0.491332 -0.797984 -0.349020 -vn 0.253349 -0.964463 -0.075004 -vn 0.494936 -0.863469 -0.097259 -vn -0.322783 0.944059 0.067556 -vn -0.083437 0.994889 0.056877 -vn -0.082937 0.995311 0.049767 -vn 0.324453 -0.809413 -0.489470 -vn 0.491332 -0.797984 -0.349020 -vn 0.476271 -0.348677 -0.807211 -vn 0.491332 -0.797984 -0.349020 -vn 0.702167 -0.425693 -0.570743 -vn 0.476271 -0.348677 -0.807211 -vn 0.324453 -0.809413 -0.489470 -vn 0.095583 -0.992659 -0.074102 -vn 0.253349 -0.964463 -0.075004 -vn 0.095583 -0.992659 -0.074102 -vn 0.253470 -0.964963 -0.067819 -vn 0.253349 -0.964463 -0.075004 -vn 0.253349 -0.964463 -0.075004 -vn 0.539402 -0.840642 -0.048634 -vn 0.494936 -0.863469 -0.097259 -vn 0.833807 -0.528564 -0.159328 -vn 0.658652 -0.695759 -0.286526 -vn 0.494936 -0.863469 -0.097259 -vn 0.494936 -0.863469 -0.097259 -vn 0.708309 -0.701790 -0.076086 -vn 0.833807 -0.528564 -0.159328 -vn 0.708309 -0.701790 -0.076086 -vn 0.745659 -0.659800 -0.093041 -vn 0.813515 -0.572091 -0.104428 -vn 0.764602 -0.641682 -0.060234 -vn 0.780359 -0.622831 -0.055866 -vn 0.813515 -0.572091 -0.104428 -vn 0.813515 -0.572091 -0.104428 -vn 0.745659 -0.659800 -0.093041 -vn 0.764602 -0.641682 -0.060234 -vn 0.780359 -0.622831 -0.055866 -vn 0.764602 -0.641682 -0.060234 -vn 0.634100 -0.764086 0.118699 -vn 0.808708 -0.587341 -0.031976 -vn 0.539402 -0.840642 -0.048634 -vn 0.850012 -0.526176 -0.024864 -vn 0.708309 -0.701790 -0.076086 -vn 0.808708 -0.587341 -0.031976 -vn 0.923588 -0.380903 -0.043567 -vn 0.923588 -0.380903 -0.043567 -vn 0.745659 -0.659800 -0.093041 -vn 0.708309 -0.701790 -0.076086 -vn 0.745659 -0.659800 -0.093041 -vn 0.923588 -0.380903 -0.043567 -vn 0.764602 -0.641682 -0.060234 -vn 0.764602 -0.641682 -0.060234 -vn 0.923588 -0.380903 -0.043567 -vn 0.951043 -0.307690 -0.029046 -vn 0.634100 -0.764086 0.118699 -vn 0.764602 -0.641682 -0.060234 -vn 0.951043 -0.307690 -0.029046 -vn 0.951043 -0.307690 -0.029046 -vn 0.627242 -0.676188 0.386443 -vn 0.634100 -0.764086 0.118699 -vn 0.656028 -0.418182 0.628292 -vn 0.627242 -0.676188 0.386443 -vn 0.951043 -0.307690 -0.029046 -vn 0.707233 -0.162804 0.687980 -vn 0.656028 -0.418182 0.628292 -vn 0.951043 -0.307690 -0.029046 -vn 0.985507 -0.169473 0.007393 -vn 0.707233 -0.162804 0.687980 -vn 0.951043 -0.307690 -0.029046 -vn 0.693869 -0.717639 -0.059504 -vn 0.734614 -0.292666 0.612119 -vn 0.951661 -0.299535 -0.067968 -vn 0.951661 -0.299535 -0.067968 -vn 0.734614 -0.292666 0.612119 -vn 0.865823 -0.075119 0.494680 -vn 0.694372 -0.659335 -0.288316 -vn 0.688953 -0.713776 -0.125968 -vn 0.911130 -0.251283 -0.326649 -vn 0.911130 -0.251283 -0.326649 -vn 0.688953 -0.713776 -0.125968 -vn 0.936547 -0.324609 -0.132316 -vn 0.591638 -0.669054 -0.449811 -vn 0.694372 -0.659335 -0.288316 -vn 0.776501 -0.261174 -0.573441 -vn 0.776501 -0.261174 -0.573441 -vn 0.694372 -0.659335 -0.288316 -vn 0.911130 -0.251283 -0.326649 -vn 0.450135 -0.670894 -0.589305 -vn 0.591638 -0.669054 -0.449811 -vn 0.582436 -0.291964 -0.758634 -vn 0.582436 -0.291964 -0.758634 -vn 0.591638 -0.669054 -0.449811 -vn 0.776501 -0.261174 -0.573441 -vn 0.167519 -0.631543 -0.757027 -vn 0.303200 -0.657246 -0.689998 -vn 0.203644 -0.349140 -0.914675 -vn 0.203644 -0.349140 -0.914675 -vn 0.303200 -0.657246 -0.689998 -vn 0.389637 -0.317883 -0.864369 -vn -0.000000 -0.641479 -0.767141 -vn 0.167519 -0.631543 -0.757027 -vn 0.000000 -0.346225 -0.938152 -vn 0.000000 -0.346225 -0.938152 -vn 0.167519 -0.631543 -0.757027 -vn 0.203644 -0.349140 -0.914675 -vn 0.688953 -0.713776 -0.125968 -vn 0.694372 -0.659335 -0.288316 -vn 0.440580 -0.890619 -0.112635 -vn 0.440580 -0.890619 -0.112635 -vn 0.694372 -0.659335 -0.288316 -vn 0.411066 -0.888894 -0.202218 -vn 0.694372 -0.659335 -0.288316 -vn 0.591638 -0.669054 -0.449811 -vn 0.411066 -0.888894 -0.202218 -vn 0.411066 -0.888894 -0.202218 -vn 0.591638 -0.669054 -0.449811 -vn 0.372727 -0.870575 -0.321206 -vn 0.591638 -0.669054 -0.449811 -vn 0.450135 -0.670894 -0.589305 -vn 0.372727 -0.870575 -0.321206 -vn 0.372727 -0.870575 -0.321206 -vn 0.450135 -0.670894 -0.589305 -vn 0.308118 -0.845792 -0.435546 -vn 0.213971 -0.821557 -0.528451 -vn 0.303200 -0.657246 -0.689998 -vn 0.127120 -0.776749 -0.616849 -vn 0.127120 -0.776749 -0.616849 -vn 0.303200 -0.657246 -0.689998 -vn 0.167519 -0.631543 -0.757027 -vn -0.000000 -0.641479 -0.767141 -vn -0.000000 -0.775130 -0.631802 -vn 0.167519 -0.631543 -0.757027 -vn 0.167519 -0.631543 -0.757027 -vn -0.000000 -0.775130 -0.631802 -vn 0.127120 -0.776749 -0.616849 -vn 0.829370 -0.508463 0.231538 -vn 0.547229 -0.823054 -0.152061 -vn 0.933139 -0.256382 0.252030 -vn 0.933139 -0.256382 0.252030 -vn 0.547229 -0.823054 -0.152061 -vn 0.834994 -0.497446 -0.235229 -vn 0.547229 -0.823054 -0.152061 -vn 0.499176 -0.817395 -0.287557 -vn 0.834994 -0.497446 -0.235229 -vn 0.834994 -0.497446 -0.235229 -vn 0.499176 -0.817395 -0.287557 -vn 0.746611 -0.509098 -0.428241 -vn 0.499176 -0.817395 -0.287557 -vn 0.433962 -0.796400 -0.421218 -vn 0.746611 -0.509098 -0.428241 -vn 0.746611 -0.509098 -0.428241 -vn 0.433962 -0.796400 -0.421218 -vn 0.626875 -0.487380 -0.607855 -vn 0.433962 -0.796400 -0.421218 -vn 0.339986 -0.770658 -0.538977 -vn 0.626875 -0.487380 -0.607855 -vn 0.626875 -0.487380 -0.607855 -vn 0.339986 -0.770658 -0.538977 -vn 0.474424 -0.451462 -0.755715 -vn 0.219380 -0.740034 -0.635784 -vn 0.105150 -0.721120 -0.684785 -vn 0.298918 -0.442208 -0.845636 -vn 0.298918 -0.442208 -0.845636 -vn 0.105150 -0.721120 -0.684785 -vn 0.134280 -0.433849 -0.890923 -vn 0.000000 -0.711059 -0.703132 -vn 0.000000 -0.428150 -0.903708 -vn 0.105150 -0.721120 -0.684785 -vn 0.105150 -0.721120 -0.684785 -vn 0.000000 -0.428150 -0.903708 -vn 0.134280 -0.433849 -0.890923 -vn 0.933139 -0.256382 0.252030 -vn 0.834994 -0.497446 -0.235229 -vn 0.950169 -0.026411 0.310615 -vn 0.950169 -0.026411 0.310615 -vn 0.834994 -0.497446 -0.235229 -vn 0.957770 -0.134386 -0.254199 -vn 0.834994 -0.497446 -0.235229 -vn 0.746611 -0.509098 -0.428241 -vn 0.957770 -0.134386 -0.254199 -vn 0.957770 -0.134386 -0.254199 -vn 0.746611 -0.509098 -0.428241 -vn 0.861660 -0.163786 -0.480330 -vn 0.746611 -0.509098 -0.428241 -vn 0.626875 -0.487380 -0.607855 -vn 0.861660 -0.163786 -0.480330 -vn 0.861660 -0.163786 -0.480330 -vn 0.626875 -0.487380 -0.607855 -vn 0.707443 -0.172771 -0.685328 -vn 0.626875 -0.487380 -0.607855 -vn 0.474424 -0.451462 -0.755715 -vn 0.707443 -0.172771 -0.685328 -vn 0.707443 -0.172771 -0.685328 -vn 0.474424 -0.451462 -0.755715 -vn 0.530815 -0.169218 -0.830422 -vn 0.298918 -0.442208 -0.845636 -vn 0.134280 -0.433849 -0.890923 -vn 0.338040 -0.168109 -0.925996 -vn 0.338040 -0.168109 -0.925996 -vn 0.134280 -0.433849 -0.890923 -vn 0.143223 -0.147346 -0.978661 -vn 0.000000 -0.428150 -0.903708 -vn 0.000000 -0.139213 -0.990262 -vn 0.134280 -0.433849 -0.890923 -vn 0.134280 -0.433849 -0.890923 -vn 0.000000 -0.139213 -0.990262 -vn 0.143223 -0.147346 -0.978661 -vn 0.887379 0.408080 0.214547 -vn 0.955533 0.229356 0.185346 -vn 0.775796 0.611274 -0.156478 -vn 0.775796 0.611274 -0.156478 -vn 0.955533 0.229356 0.185346 -vn 0.899654 0.371805 -0.228876 -vn 0.838201 0.338530 -0.427570 -vn 0.748562 0.572863 -0.333891 -vn 0.899654 0.371805 -0.228876 -vn 0.899654 0.371805 -0.228876 -vn 0.748562 0.572863 -0.333891 -vn 0.775796 0.611274 -0.156478 -vn 0.838201 0.338530 -0.427570 -vn 0.730079 0.280919 -0.622953 -vn 0.748562 0.572863 -0.333891 -vn 0.748562 0.572863 -0.333891 -vn 0.730079 0.280919 -0.622953 -vn 0.670026 0.523745 -0.526077 -vn 0.141285 0.197838 -0.969999 -vn 0.000000 0.169328 -0.985560 -vn 0.141907 0.486043 -0.862337 -vn 0.141907 0.486043 -0.862337 -vn 0.000000 0.169328 -0.985560 -vn -0.000000 0.429750 -0.902948 -vn 0.910865 0.382103 -0.155956 -vn 0.775796 0.611274 -0.156478 -vn 0.852446 0.395819 -0.341559 -vn 0.852446 0.395819 -0.341559 -vn 0.775796 0.611274 -0.156478 -vn 0.748562 0.572863 -0.333891 -vn 0.852446 0.395819 -0.341559 -vn 0.748562 0.572863 -0.333891 -vn 0.727146 0.408695 -0.551567 -vn 0.727146 0.408695 -0.551567 -vn 0.748562 0.572863 -0.333891 -vn 0.670026 0.523745 -0.526077 -vn 0.561493 0.486609 -0.669281 -vn 0.515036 0.508272 -0.690216 -vn 0.260541 0.716419 -0.647196 -vn 0.260541 0.716419 -0.647196 -vn 0.515036 0.508272 -0.690216 -vn 0.306784 0.535384 -0.786923 -vn 0.306784 0.535384 -0.786923 -vn 0.141907 0.486043 -0.862337 -vn 0.260541 0.716419 -0.647196 -vn 0.260541 0.716419 -0.647196 -vn 0.141907 0.486043 -0.862337 -vn 0.139642 0.443685 -0.885237 -vn 0.141907 0.486043 -0.862337 -vn -0.000000 0.429750 -0.902948 -vn 0.139642 0.443685 -0.885237 -vn 0.139642 0.443685 -0.885237 -vn -0.000000 0.429750 -0.902948 -vn 0.000000 0.345679 -0.938353 -vn 0.978524 0.071526 -0.193328 -vn 0.865780 0.298022 0.402004 -vn 0.910865 0.382103 -0.155956 -vn 0.910702 0.410936 -0.041879 -vn 0.865780 0.298022 0.402004 -vn 0.663248 0.596004 0.452638 -vn 0.910865 0.382103 -0.155956 -vn 0.852446 0.395819 -0.341559 -vn 0.978524 0.071526 -0.193328 -vn 0.978524 0.071526 -0.193328 -vn 0.852446 0.395819 -0.341559 -vn 0.911055 0.107518 -0.398019 -vn 0.852446 0.395819 -0.341559 -vn 0.727146 0.408695 -0.551567 -vn 0.911055 0.107518 -0.398019 -vn 0.911055 0.107518 -0.398019 -vn 0.727146 0.408695 -0.551567 -vn 0.783256 0.126122 -0.608771 -vn 0.419181 0.072841 -0.904976 -vn 0.381991 0.053413 -0.922621 -vn 0.426493 0.056983 -0.902694 -vn 0.426493 0.056983 -0.902694 -vn 0.381991 0.053413 -0.922621 -vn 0.394310 0.036711 -0.918244 -vn 0.319266 0.017626 -0.947501 -vn 0.341576 0.029789 -0.939382 -vn 0.381991 0.053413 -0.922621 -vn 0.381991 0.053413 -0.922621 -vn 0.341576 0.029789 -0.939382 -vn 0.394310 0.036711 -0.918244 -vn 0.000000 0.345679 -0.938353 -vn 0.000000 0.077721 -0.996975 -vn 0.139642 0.443685 -0.885237 -vn 0.139642 0.443685 -0.885237 -vn 0.000000 0.077721 -0.996975 -vn 0.103853 0.070740 -0.992074 -vn 0.887417 0.192326 0.418929 -vn 0.963287 0.140801 -0.228590 -vn 0.895262 0.186285 0.404727 -vn 0.895262 0.186285 0.404727 -vn 0.963287 0.140801 -0.228590 -vn 0.922032 0.290901 -0.255407 -vn 0.963287 0.140801 -0.228590 -vn 0.891648 0.172871 -0.418426 -vn 0.922032 0.290901 -0.255407 -vn 0.922032 0.290901 -0.255407 -vn 0.891648 0.172871 -0.418426 -vn 0.845815 0.329793 -0.419325 -vn 0.891648 0.172871 -0.418426 -vn 0.767576 0.190717 -0.611926 -vn 0.845815 0.329793 -0.419325 -vn 0.845815 0.329793 -0.419325 -vn 0.767576 0.190717 -0.611926 -vn 0.708098 0.345784 -0.615654 -vn 0.883142 0.315792 0.346895 -vn 0.895262 0.186285 0.404727 -vn 0.746380 0.632005 -0.208535 -vn 0.746380 0.632005 -0.208535 -vn 0.895262 0.186285 0.404727 -vn 0.922032 0.290901 -0.255407 -vn 0.845815 0.329793 -0.419325 -vn 0.682306 0.642739 -0.348346 -vn 0.922032 0.290901 -0.255407 -vn 0.922032 0.290901 -0.255407 -vn 0.682306 0.642739 -0.348346 -vn 0.746380 0.632005 -0.208535 -vn 0.708098 0.345784 -0.615654 -vn 0.597176 0.623458 -0.504659 -vn 0.845815 0.329793 -0.419325 -vn 0.845815 0.329793 -0.419325 -vn 0.597176 0.623458 -0.504659 -vn 0.682306 0.642739 -0.348346 -vn 0.708098 0.345784 -0.615654 -vn 0.565694 0.317444 -0.761065 -vn 0.597176 0.623458 -0.504659 -vn 0.597176 0.623458 -0.504659 -vn 0.565694 0.317444 -0.761065 -vn 0.484964 0.591691 -0.643981 -vn 0.565694 0.317444 -0.761065 -vn 0.379772 0.322230 -0.867145 -vn 0.484964 0.591691 -0.643981 -vn 0.484964 0.591691 -0.643981 -vn 0.379772 0.322230 -0.867145 -vn 0.297017 0.614079 -0.731223 -vn 0.186911 0.318785 -0.929215 -vn 0.000000 0.303281 -0.952901 -vn 0.160628 0.572026 -0.804354 -vn 0.160628 0.572026 -0.804354 -vn 0.000000 0.303281 -0.952901 -vn 0.000000 0.566902 -0.823785 -vn 0.872500 0.486439 0.046048 -vn 0.883142 0.315792 0.346895 -vn 0.695502 0.699075 -0.166048 -vn 0.695502 0.699075 -0.166048 -vn 0.883142 0.315792 0.346895 -vn 0.746380 0.632005 -0.208535 -vn 0.682306 0.642739 -0.348346 -vn 0.641577 0.697453 -0.319279 -vn 0.746380 0.632005 -0.208535 -vn 0.746380 0.632005 -0.208535 -vn 0.641577 0.697453 -0.319279 -vn 0.695502 0.699075 -0.166048 -vn 0.597176 0.623458 -0.504659 -vn 0.576935 0.677233 -0.456619 -vn 0.682306 0.642739 -0.348346 -vn 0.682306 0.642739 -0.348346 -vn 0.576935 0.677233 -0.456619 -vn 0.641577 0.697453 -0.319279 -vn 0.484964 0.591691 -0.643981 -vn 0.445043 0.671109 -0.592916 -vn 0.597176 0.623458 -0.504659 -vn 0.597176 0.623458 -0.504659 -vn 0.445043 0.671109 -0.592916 -vn 0.576935 0.677233 -0.456619 -vn 0.484964 0.591691 -0.643981 -vn 0.297017 0.614079 -0.731223 -vn 0.445043 0.671109 -0.592916 -vn 0.445043 0.671109 -0.592916 -vn 0.297017 0.614079 -0.731223 -vn 0.311586 0.626785 -0.714181 -vn 0.160628 0.572026 -0.804354 -vn 0.000000 0.566902 -0.823785 -vn 0.167735 0.583693 -0.794460 -vn 0.167735 0.583693 -0.794460 -vn 0.000000 0.566902 -0.823785 -vn 0.000000 0.578067 -0.815989 -vn 0.827008 0.305512 0.471932 -vn 0.663248 0.596004 0.452638 -vn 0.787499 0.326946 0.522448 -vn 0.787499 0.326946 0.522448 -vn 0.663248 0.596004 0.452638 -vn 0.865780 0.298022 0.402004 -vn 0.887417 0.192326 0.418929 -vn 0.895262 0.186285 0.404727 -vn 0.790440 0.189724 0.582417 -vn 0.790440 0.189724 0.582417 -vn 0.895262 0.186285 0.404727 -vn 0.775527 -0.000898 0.631313 -vn 0.883142 0.315792 0.346895 -vn 0.964631 0.193831 0.178653 -vn 0.879022 -0.245419 0.408766 -vn 0.643794 0.051604 0.763457 -vn 0.734614 -0.292666 0.612119 -vn 0.645109 -0.423749 0.635823 -vn 0.827008 0.305512 0.471932 -vn 0.731349 0.176702 0.658715 -vn 0.722072 0.167012 0.671356 -vn 0.722072 0.167012 0.671356 -vn 0.731349 0.176702 0.658715 -vn 0.822162 0.061563 0.565915 -vn 0.731349 0.176702 0.658715 -vn 0.687158 0.108164 0.718411 -vn 0.822162 0.061563 0.565915 -vn 0.827008 0.305512 0.471932 -vn 0.665715 0.458373 0.588828 -vn 0.663248 0.596004 0.452638 -vn 0.141923 0.004781 -0.989866 -vn -0.000000 0.003909 -0.999992 -vn 0.141285 0.197838 -0.969999 -vn 0.141285 0.197838 -0.969999 -vn -0.000000 0.003909 -0.999992 -vn 0.000000 0.169328 -0.985560 -vn 0.549889 0.016593 -0.835073 -vn 0.341784 0.005125 -0.939765 -vn 0.556365 0.235871 -0.796758 -vn 0.556365 0.235871 -0.796758 -vn 0.341784 0.005125 -0.939765 -vn 0.340643 0.199708 -0.918738 -vn 0.879747 0.084713 -0.467833 -vn 0.732050 0.035948 -0.680302 -vn 0.838201 0.338530 -0.427570 -vn 0.838201 0.338530 -0.427570 -vn 0.732050 0.035948 -0.680302 -vn 0.730079 0.280919 -0.622953 -vn 0.963144 0.096949 -0.250908 -vn 0.879747 0.084713 -0.467833 -vn 0.899654 0.371805 -0.228876 -vn 0.899654 0.371805 -0.228876 -vn 0.879747 0.084713 -0.467833 -vn 0.838201 0.338530 -0.427570 -vn 0.952537 0.082086 0.293147 -vn 0.963144 0.096949 -0.250908 -vn 0.955533 0.229356 0.185346 -vn 0.955533 0.229356 0.185346 -vn 0.963144 0.096949 -0.250908 -vn 0.899654 0.371805 -0.228876 -vn 0.645109 -0.423749 0.635823 -vn 0.762062 -0.580087 0.287682 -vn 0.652378 0.102382 0.750946 -vn 0.652378 0.102382 0.750946 -vn 0.762062 -0.580087 0.287682 -vn 0.817308 0.373606 0.438665 -vn 0.066628 0.586188 0.807431 -vn 0.829370 -0.508463 0.231538 -vn 0.933139 -0.256382 0.252030 -vn 0.829370 -0.508463 0.231538 -vn 0.066628 0.586188 0.807431 -vn 0.482375 0.684024 0.547198 -vn 0.933139 -0.256382 0.252030 -vn 0.950169 -0.026411 0.310615 -vn 0.066628 0.586188 0.807431 -vn 0.066628 0.586188 0.807431 -vn 0.950169 -0.026411 0.310615 -vn -0.074275 0.267465 0.960701 -vn 0.955533 0.229356 0.185346 -vn 0.818615 -0.123715 0.560860 -vn 0.172799 -0.451525 0.875366 -vn 0.818615 -0.123715 0.560860 -vn 0.955533 0.229356 0.185346 -vn 0.887379 0.408080 0.214547 -vn -0.096717 0.033816 0.994737 -vn 0.955533 0.229356 0.185346 -vn 0.172799 -0.451525 0.875366 -vn 0.955533 0.229356 0.185346 -vn -0.096717 0.033816 0.994737 -vn 0.952537 0.082086 0.293147 -vn 0.127120 -0.776749 -0.616849 -vn -0.000000 -0.775130 -0.631802 -vn 0.105150 -0.721120 -0.684785 -vn 0.105150 -0.721120 -0.684785 -vn -0.000000 -0.775130 -0.631802 -vn 0.000000 -0.711059 -0.703132 -vn 0.213971 -0.821557 -0.528451 -vn 0.127120 -0.776749 -0.616849 -vn 0.219380 -0.740034 -0.635784 -vn 0.219380 -0.740034 -0.635784 -vn 0.127120 -0.776749 -0.616849 -vn 0.105150 -0.721120 -0.684785 -vn 0.372727 -0.870575 -0.321206 -vn 0.308118 -0.845792 -0.435546 -vn 0.433962 -0.796400 -0.421218 -vn 0.433962 -0.796400 -0.421218 -vn 0.308118 -0.845792 -0.435546 -vn 0.339986 -0.770658 -0.538977 -vn 0.411066 -0.888894 -0.202218 -vn 0.372727 -0.870575 -0.321206 -vn 0.499176 -0.817395 -0.287557 -vn 0.499176 -0.817395 -0.287557 -vn 0.372727 -0.870575 -0.321206 -vn 0.433962 -0.796400 -0.421218 -vn 0.440580 -0.890619 -0.112635 -vn 0.411066 -0.888894 -0.202218 -vn 0.547229 -0.823054 -0.152061 -vn 0.547229 -0.823054 -0.152061 -vn 0.411066 -0.888894 -0.202218 -vn 0.499176 -0.817395 -0.287557 -vn 0.762062 -0.580087 0.287682 -vn 0.440580 -0.890619 -0.112635 -vn 0.829370 -0.508463 0.231538 -vn 0.829370 -0.508463 0.231538 -vn 0.440580 -0.890619 -0.112635 -vn 0.547229 -0.823054 -0.152061 -vn 0.762062 -0.580087 0.287682 -vn 0.829370 -0.508463 0.231538 -vn 0.817308 0.373606 0.438665 -vn 0.817308 0.373606 0.438665 -vn 0.829370 -0.508463 0.231538 -vn 0.482375 0.684024 0.547198 -vn 0.822162 0.061563 0.565915 -vn 0.980730 -0.192660 -0.032425 -vn 0.722072 0.167012 0.671356 -vn 0.722072 0.167012 0.671356 -vn 0.980730 -0.192660 -0.032425 -vn 0.968206 -0.249820 0.012937 -vn 0.652378 0.102382 0.750946 -vn 0.817308 0.373606 0.438665 -vn 0.926853 0.296065 0.230845 -vn 0.849402 0.514429 0.117811 -vn 0.817308 0.373606 0.438665 -vn 0.044560 0.961925 0.269656 -vn 0.482375 0.684024 0.547198 -vn 0.066628 0.586188 0.807431 -vn -0.454056 0.816322 0.357003 -vn -0.454056 0.816322 0.357003 -vn 0.066628 0.586188 0.807431 -vn -0.741744 0.469145 0.479291 -vn 0.066628 0.586188 0.807431 -vn -0.074275 0.267465 0.960701 -vn -0.741744 0.469145 0.479291 -vn -0.741744 0.469145 0.479291 -vn -0.074275 0.267465 0.960701 -vn -0.800068 0.182433 0.571498 -vn 0.818615 -0.123715 0.560860 -vn -0.577310 -0.607635 0.545429 -vn 0.172799 -0.451525 0.875366 -vn 0.172799 -0.451525 0.875366 -vn -0.577310 -0.607635 0.545429 -vn -0.757302 -0.341398 0.556724 -vn 0.497236 -0.822134 0.277223 -vn 0.429055 -0.842434 0.325909 -vn 0.489758 -0.824720 0.282797 -vn 0.489758 -0.824720 0.282797 -vn 0.429055 -0.842434 0.325909 -vn 0.413625 -0.846061 0.336297 -vn 0.172799 -0.451525 0.875366 -vn -0.757302 -0.341398 0.556724 -vn -0.096717 0.033816 0.994737 -vn -0.096717 0.033816 0.994737 -vn -0.757302 -0.341398 0.556724 -vn -0.846383 -0.041168 0.530981 -vn 0.817308 0.373606 0.438665 -vn 0.482375 0.684024 0.547198 -vn 0.044560 0.961925 0.269656 -vn 0.044560 0.961925 0.269656 -vn 0.482375 0.684024 0.547198 -vn -0.454056 0.816322 0.357003 -vn 0.722072 0.167012 0.671356 -vn 0.665715 0.458373 0.588828 -vn 0.827008 0.305512 0.471932 -vn 0.665715 0.458373 0.588828 -vn 0.818615 -0.123715 0.560860 -vn 0.887379 0.408080 0.214547 -vn 0.818615 -0.123715 0.560860 -vn 0.665715 0.458373 0.588828 -vn 0.722072 0.167012 0.671356 -vn 0.822162 0.061563 0.565915 -vn 0.687158 0.108164 0.718411 -vn 0.807536 0.080137 0.584349 -vn 0.807536 0.080137 0.584349 -vn 0.687158 0.108164 0.718411 -vn 0.643614 0.102220 0.758493 -vn 0.980730 -0.192660 -0.032425 -vn 0.822162 0.061563 0.565915 -vn 0.992109 -0.110931 -0.058437 -vn 0.992109 -0.110931 -0.058437 -vn 0.822162 0.061563 0.565915 -vn 0.807536 0.080137 0.584349 -vn 0.643794 0.051604 0.763457 -vn 0.645109 -0.423749 0.635823 -vn 0.652378 0.102382 0.750946 -vn 0.762062 -0.580087 0.287682 -vn 0.645109 -0.423749 0.635823 -vn 0.693869 -0.717639 -0.059504 -vn 0.693869 -0.717639 -0.059504 -vn 0.645109 -0.423749 0.635823 -vn 0.734614 -0.292666 0.612119 -vn 0.688953 -0.713776 -0.125968 -vn 0.693869 -0.717639 -0.059504 -vn 0.936547 -0.324609 -0.132316 -vn 0.936547 -0.324609 -0.132316 -vn 0.693869 -0.717639 -0.059504 -vn 0.951661 -0.299535 -0.067968 -vn 0.695502 0.699075 -0.166048 -vn 0.641577 0.697453 -0.319279 -vn 0.737048 0.630837 -0.242495 -vn 0.576935 0.677233 -0.456619 -vn 0.657376 0.599430 -0.456663 -vn 0.641577 0.697453 -0.319279 -vn 0.641577 0.697453 -0.319279 -vn 0.657376 0.599430 -0.456663 -vn 0.737048 0.630837 -0.242495 -vn 0.445043 0.671109 -0.592916 -vn 0.522000 0.565707 -0.638350 -vn 0.576935 0.677233 -0.456619 -vn 0.576935 0.677233 -0.456619 -vn 0.522000 0.565707 -0.638350 -vn 0.657376 0.599430 -0.456663 -vn 0.445043 0.671109 -0.592916 -vn 0.311586 0.626785 -0.714181 -vn 0.522000 0.565707 -0.638350 -vn 0.522000 0.565707 -0.638350 -vn 0.311586 0.626785 -0.714181 -vn 0.366912 0.544933 -0.753938 -vn 0.167735 0.583693 -0.794460 -vn 0.000000 0.578067 -0.815989 -vn 0.182275 0.548030 -0.816357 -vn 0.182275 0.548030 -0.816357 -vn 0.000000 0.578067 -0.815989 -vn 0.000000 0.566147 -0.824304 -vn 0.522554 0.775614 -0.354063 -vn 0.531461 0.826347 -0.186276 -vn 0.657376 0.599430 -0.456663 -vn 0.657376 0.599430 -0.456663 -vn 0.531461 0.826347 -0.186276 -vn 0.737048 0.630837 -0.242495 -vn 0.124090 0.987698 -0.095156 -vn 0.155681 0.954668 -0.253718 -vn 0.000000 0.996295 -0.085997 -vn 0.000000 0.996295 -0.085997 -vn 0.155681 0.954668 -0.253718 -vn 0.000000 0.968551 -0.248813 -vn 0.155681 0.954668 -0.253718 -vn 0.174351 0.814871 -0.552800 -vn 0.000000 0.968551 -0.248813 -vn 0.000000 0.968551 -0.248813 -vn 0.174351 0.814871 -0.552800 -vn -0.000000 0.828372 -0.560179 -vn 0.370339 0.773014 -0.515071 -vn 0.522554 0.775614 -0.354063 -vn 0.522000 0.565707 -0.638350 -vn 0.522000 0.565707 -0.638350 -vn 0.522554 0.775614 -0.354063 -vn 0.657376 0.599430 -0.456663 -vn 0.366912 0.544933 -0.753938 -vn 0.370339 0.773014 -0.515071 -vn 0.522000 0.565707 -0.638350 -vn 0.000000 0.566147 -0.824304 -vn -0.000000 0.828372 -0.560179 -vn 0.182275 0.548030 -0.816357 -vn 0.182275 0.548030 -0.816357 -vn -0.000000 0.828372 -0.560179 -vn 0.174351 0.814871 -0.552800 -vn 0.370339 0.773014 -0.515071 -vn 0.283844 0.920677 -0.267929 -vn 0.522554 0.775614 -0.354063 -vn 0.283844 0.920677 -0.267929 -vn 0.289060 0.948825 -0.127180 -vn 0.522554 0.775614 -0.354063 -vn 0.522554 0.775614 -0.354063 -vn 0.289060 0.948825 -0.127180 -vn 0.531461 0.826347 -0.186276 -vn 0.811511 0.582008 0.052118 -vn 0.564449 0.824801 0.033177 -vn 0.813126 0.562843 0.148437 -vn 0.813126 0.562843 0.148437 -vn 0.564449 0.824801 0.033177 -vn 0.586343 0.801355 0.118456 -vn 0.107263 0.993482 0.038571 -vn -0.000000 0.999113 0.042110 -vn 0.101507 0.989456 0.103309 -vn 0.101507 0.989456 0.103309 -vn -0.000000 0.999113 0.042110 -vn -0.000000 0.994745 0.102388 -vn 0.564449 0.824801 0.033177 -vn 0.285655 0.957858 0.030146 -vn 0.586343 0.801355 0.118456 -vn 0.586343 0.801355 0.118456 -vn 0.285655 0.957858 0.030146 -vn 0.271656 0.956444 0.106859 -vn 0.675523 0.489859 0.551096 -vn 0.790476 0.510996 0.337684 -vn 0.504243 0.754679 0.419760 -vn 0.504243 0.754679 0.419760 -vn 0.790476 0.510996 0.337684 -vn 0.566436 0.773715 0.283751 -vn 0.306688 0.839558 0.448424 -vn 0.395709 0.594759 0.699769 -vn 0.504243 0.754679 0.419760 -vn 0.504243 0.754679 0.419760 -vn 0.395709 0.594759 0.699769 -vn 0.675523 0.489859 0.551096 -vn 0.000000 0.644588 0.764530 -vn 0.172841 0.641260 0.747604 -vn -0.000000 0.890696 0.454600 -vn -0.000000 0.890696 0.454600 -vn 0.172841 0.641260 0.747604 -vn 0.151422 0.882115 0.446031 -vn 0.114776 0.969606 0.216080 -vn -0.000000 0.977356 0.211603 -vn 0.151422 0.882115 0.446031 -vn 0.151422 0.882115 0.446031 -vn -0.000000 0.977356 0.211603 -vn -0.000000 0.890696 0.454600 -vn 0.306688 0.839558 0.448424 -vn 0.504243 0.754679 0.419760 -vn 0.269387 0.933644 0.236092 -vn 0.269387 0.933644 0.236092 -vn 0.504243 0.754679 0.419760 -vn 0.566436 0.773715 0.283751 -vn 0.775527 -0.000898 0.631313 -vn 0.992653 0.114144 0.040135 -vn 0.790440 0.189724 0.582417 -vn 0.879022 -0.245419 0.408766 -vn 0.992653 0.114144 0.040135 -vn 0.775527 -0.000898 0.631313 -vn 0.964631 0.193831 0.178653 -vn 0.992653 0.114144 0.040135 -vn 0.879022 -0.245419 0.408766 -vn 0.992653 0.114144 0.040135 -vn 0.964631 0.193831 0.178653 -vn 0.965976 0.251500 0.060315 -vn 0.787499 0.326946 0.522448 -vn 0.998468 0.034872 0.042952 -vn 0.827008 0.305512 0.471932 -vn 0.827008 0.305512 0.471932 -vn 0.998468 0.034872 0.042952 -vn 0.731349 0.176702 0.658715 -vn 0.941576 0.289157 0.172692 -vn 0.987901 0.136372 0.073847 -vn 0.965976 0.251500 0.060315 -vn 0.965976 0.251500 0.060315 -vn 0.987901 0.136372 0.073847 -vn 0.992653 0.114144 0.040135 -vn 0.965976 0.251500 0.060315 -vn 0.905940 0.384539 0.177207 -vn 0.941576 0.289157 0.172692 -vn 0.921473 0.383876 0.059379 -vn 0.905940 0.384539 0.177207 -vn 0.965976 0.251500 0.060315 -vn 0.730356 0.204967 0.651589 -vn 0.877960 0.234283 0.417490 -vn 0.736229 0.256875 0.626085 -vn 0.736229 0.256875 0.626085 -vn 0.877960 0.234283 0.417490 -vn 0.859273 0.317420 0.401117 -vn 0.730356 0.204967 0.651589 -vn 0.736229 0.256875 0.626085 -vn 0.478164 0.165313 0.862572 -vn 0.478164 0.165313 0.862572 -vn 0.736229 0.256875 0.626085 -vn 0.464356 0.290440 0.836671 -vn -0.000000 0.342544 0.939502 -vn 0.000000 0.200670 0.979659 -vn 0.190440 0.332540 0.923661 -vn 0.190440 0.332540 0.923661 -vn 0.000000 0.200670 0.979659 -vn 0.189718 0.191129 0.963056 -vn 0.811511 0.582008 0.052118 -vn 0.813126 0.562843 0.148437 -vn 0.921473 0.383876 0.059379 -vn 0.921473 0.383876 0.059379 -vn 0.813126 0.562843 0.148437 -vn 0.905940 0.384539 0.177207 -vn 0.859273 0.317420 0.401117 -vn 0.790476 0.510996 0.337684 -vn 0.736229 0.256875 0.626085 -vn 0.736229 0.256875 0.626085 -vn 0.790476 0.510996 0.337684 -vn 0.675523 0.489859 0.551096 -vn 0.395709 0.594759 0.699769 -vn 0.464356 0.290440 0.836671 -vn 0.675523 0.489859 0.551096 -vn 0.675523 0.489859 0.551096 -vn 0.464356 0.290440 0.836671 -vn 0.736229 0.256875 0.626085 -vn 0.190440 0.332540 0.923661 -vn 0.172841 0.641260 0.747604 -vn -0.000000 0.342544 0.939502 -vn -0.000000 0.342544 0.939502 -vn 0.172841 0.641260 0.747604 -vn 0.000000 0.644588 0.764530 -vn 0.113784 0.993394 -0.014901 -vn -0.000000 0.999950 -0.010010 -vn 0.107263 0.993482 0.038571 -vn 0.107263 0.993482 0.038571 -vn -0.000000 0.999950 -0.010010 -vn -0.000000 0.999113 0.042110 -vn 0.285655 0.957858 0.030146 -vn 0.564449 0.824801 0.033177 -vn 0.293378 0.955452 -0.032274 -vn 0.293378 0.955452 -0.032274 -vn 0.564449 0.824801 0.033177 -vn 0.558464 0.827906 -0.051870 -vn 0.558464 0.827906 -0.051870 -vn 0.564449 0.824801 0.033177 -vn 0.795043 0.603545 -0.060330 -vn 0.795043 0.603545 -0.060330 -vn 0.564449 0.824801 0.033177 -vn 0.811511 0.582008 0.052118 -vn 0.872500 0.486439 0.046048 -vn 0.795043 0.603545 -0.060330 -vn 0.921473 0.383876 0.059379 -vn 0.921473 0.383876 0.059379 -vn 0.795043 0.603545 -0.060330 -vn 0.811511 0.582008 0.052118 -vn 0.910702 0.410936 -0.041879 -vn 0.887379 0.408080 0.214547 -vn 0.775796 0.611274 -0.156478 -vn 0.665715 0.458373 0.588828 -vn 0.910702 0.410936 -0.041879 -vn 0.663248 0.596004 0.452638 -vn 0.795043 0.603545 -0.060330 -vn 0.737048 0.630837 -0.242495 -vn 0.558464 0.827906 -0.051870 -vn 0.558464 0.827906 -0.051870 -vn 0.737048 0.630837 -0.242495 -vn 0.531461 0.826347 -0.186276 -vn 0.558464 0.827906 -0.051870 -vn 0.531461 0.826347 -0.186276 -vn 0.293378 0.955452 -0.032274 -vn 0.293378 0.955452 -0.032274 -vn 0.531461 0.826347 -0.186276 -vn 0.289060 0.948825 -0.127180 -vn 0.000000 0.996295 -0.085997 -vn -0.000000 0.999950 -0.010010 -vn 0.124090 0.987698 -0.095156 -vn 0.124090 0.987698 -0.095156 -vn -0.000000 0.999950 -0.010010 -vn 0.113784 0.993394 -0.014901 -vn 0.895262 0.186285 0.404727 -vn 0.883142 0.315792 0.346895 -vn 0.775527 -0.000898 0.631313 -vn 0.775527 -0.000898 0.631313 -vn 0.883142 0.315792 0.346895 -vn 0.879022 -0.245419 0.408766 -vn 0.964631 0.193831 0.178653 -vn 0.883142 0.315792 0.346895 -vn 0.872500 0.486439 0.046048 -vn 0.737048 0.630837 -0.242495 -vn 0.795043 0.603545 -0.060330 -vn 0.695502 0.699075 -0.166048 -vn 0.695502 0.699075 -0.166048 -vn 0.795043 0.603545 -0.060330 -vn 0.872500 0.486439 0.046048 -vn 0.762062 -0.580087 0.287682 -vn 0.693869 -0.717639 -0.059504 -vn 0.440580 -0.890619 -0.112635 -vn 0.440580 -0.890619 -0.112635 -vn 0.693869 -0.717639 -0.059504 -vn 0.688953 -0.713776 -0.125968 -vn 0.643614 0.102220 0.758493 -vn 0.869836 -0.056841 0.490055 -vn 0.643794 0.051604 0.763457 -vn 0.643794 0.051604 0.763457 -vn 0.869836 -0.056841 0.490055 -vn 0.833627 -0.033590 0.551305 -vn 0.807536 0.080137 0.584349 -vn 0.643614 0.102220 0.758493 -vn 0.652378 0.102382 0.750946 -vn 0.652378 0.102382 0.750946 -vn 0.643614 0.102220 0.758493 -vn 0.643794 0.051604 0.763457 -vn 0.652378 0.102382 0.750946 -vn 0.926853 0.296065 0.230845 -vn 0.807536 0.080137 0.584349 -vn 0.807536 0.080137 0.584349 -vn 0.849402 0.514429 0.117811 -vn 0.992109 -0.110931 -0.058437 -vn 0.998468 0.034872 0.042952 -vn 0.787499 0.326946 0.522448 -vn 0.992653 0.114144 0.040135 -vn 0.000000 0.077721 -0.996975 -vn 0.000000 0.152101 -0.988365 -vn 0.103853 0.070740 -0.992074 -vn 0.103853 0.070740 -0.992074 -vn 0.000000 0.152101 -0.988365 -vn 0.170294 0.181676 -0.968501 -vn 0.402909 -0.008557 -0.915200 -vn 0.394310 0.036711 -0.918244 -vn 0.339259 0.010099 -0.940639 -vn 0.339259 0.010099 -0.940639 -vn 0.394310 0.036711 -0.918244 -vn 0.341576 0.029789 -0.939382 -vn 0.402909 -0.008557 -0.915200 -vn 0.452658 0.019859 -0.891463 -vn 0.394310 0.036711 -0.918244 -vn 0.394310 0.036711 -0.918244 -vn 0.452658 0.019859 -0.891463 -vn 0.426493 0.056983 -0.902694 -vn 0.911055 0.107518 -0.398019 -vn 0.783256 0.126122 -0.608771 -vn 0.891648 0.172871 -0.418426 -vn 0.891648 0.172871 -0.418426 -vn 0.783256 0.126122 -0.608771 -vn 0.767576 0.190717 -0.611926 -vn 0.978524 0.071526 -0.193328 -vn 0.911055 0.107518 -0.398019 -vn 0.963287 0.140801 -0.228590 -vn 0.963287 0.140801 -0.228590 -vn 0.911055 0.107518 -0.398019 -vn 0.891648 0.172871 -0.418426 -vn 0.784323 -0.020364 0.620019 -vn 0.804548 -0.044303 0.592232 -vn 0.791556 -0.097603 0.603252 -vn 0.643794 0.051604 0.763457 -vn 0.784323 -0.020364 0.620019 -vn 0.865823 -0.075119 0.494680 -vn 0.865823 -0.075119 0.494680 -vn 0.784323 -0.020364 0.620019 -vn 0.894455 -0.085918 0.438826 -vn 0.894455 -0.085918 0.438826 -vn 0.987210 -0.158821 -0.013868 -vn 0.865823 -0.075119 0.494680 -vn 0.865823 -0.075119 0.494680 -vn 0.987210 -0.158821 -0.013868 -vn 0.951661 -0.299535 -0.067968 -vn 0.936547 -0.324609 -0.132316 -vn 0.951661 -0.299535 -0.067968 -vn 0.986121 -0.113166 -0.121487 -vn 0.986121 -0.113166 -0.121487 -vn 0.951661 -0.299535 -0.067968 -vn 0.987210 -0.158821 -0.013868 -vn 0.911130 -0.251283 -0.326649 -vn 0.936547 -0.324609 -0.132316 -vn 0.944819 -0.103296 -0.310882 -vn 0.944819 -0.103296 -0.310882 -vn 0.936547 -0.324609 -0.132316 -vn 0.986121 -0.113166 -0.121487 -vn 0.776501 -0.261174 -0.573441 -vn 0.911130 -0.251283 -0.326649 -vn 0.817637 -0.091284 -0.568451 -vn 0.817637 -0.091284 -0.568451 -vn 0.911130 -0.251283 -0.326649 -vn 0.944819 -0.103296 -0.310882 -vn 0.582436 -0.291964 -0.758634 -vn 0.776501 -0.261174 -0.573441 -vn 0.615939 -0.083779 -0.783326 -vn 0.615939 -0.083779 -0.783326 -vn 0.776501 -0.261174 -0.573441 -vn 0.817637 -0.091284 -0.568451 -vn 0.203644 -0.349140 -0.914675 -vn 0.389637 -0.317883 -0.864369 -vn 0.205817 -0.136223 -0.969063 -vn 0.205817 -0.136223 -0.969063 -vn 0.389637 -0.317883 -0.864369 -vn 0.394315 -0.101461 -0.913357 -vn 0.000000 -0.346225 -0.938152 -vn 0.203644 -0.349140 -0.914675 -vn 0.000000 -0.144658 -0.989482 -vn 0.000000 -0.144658 -0.989482 -vn 0.203644 -0.349140 -0.914675 -vn 0.205817 -0.136223 -0.969063 -vn 0.000000 -0.139213 -0.990262 -vn -0.000000 0.003909 -0.999992 -vn 0.143223 -0.147346 -0.978661 -vn 0.143223 -0.147346 -0.978661 -vn -0.000000 0.003909 -0.999992 -vn 0.141923 0.004781 -0.989866 -vn 0.338040 -0.168109 -0.925996 -vn 0.143223 -0.147346 -0.978661 -vn 0.341784 0.005125 -0.939765 -vn 0.341784 0.005125 -0.939765 -vn 0.143223 -0.147346 -0.978661 -vn 0.141923 0.004781 -0.989866 -vn 0.707443 -0.172771 -0.685328 -vn 0.530815 -0.169218 -0.830422 -vn 0.732050 0.035948 -0.680302 -vn 0.732050 0.035948 -0.680302 -vn 0.530815 -0.169218 -0.830422 -vn 0.549889 0.016593 -0.835073 -vn 0.861660 -0.163786 -0.480330 -vn 0.707443 -0.172771 -0.685328 -vn 0.879747 0.084713 -0.467833 -vn 0.879747 0.084713 -0.467833 -vn 0.707443 -0.172771 -0.685328 -vn 0.732050 0.035948 -0.680302 -vn 0.957770 -0.134386 -0.254199 -vn 0.861660 -0.163786 -0.480330 -vn 0.963144 0.096949 -0.250908 -vn 0.963144 0.096949 -0.250908 -vn 0.861660 -0.163786 -0.480330 -vn 0.879747 0.084713 -0.467833 -vn 0.950169 -0.026411 0.310615 -vn 0.957770 -0.134386 -0.254199 -vn 0.952537 0.082086 0.293147 -vn 0.952537 0.082086 0.293147 -vn 0.957770 -0.134386 -0.254199 -vn 0.963144 0.096949 -0.250908 -vn 0.952537 0.082086 0.293147 -vn -0.096717 0.033816 0.994737 -vn 0.950169 -0.026411 0.310615 -vn 0.950169 -0.026411 0.310615 -vn -0.096717 0.033816 0.994737 -vn -0.074275 0.267465 0.960701 -vn -0.074275 0.267465 0.960701 -vn -0.096717 0.033816 0.994737 -vn -0.800068 0.182433 0.571498 -vn -0.800068 0.182433 0.571498 -vn -0.096717 0.033816 0.994737 -vn -0.846383 -0.041168 0.530981 -vn 0.869836 -0.056841 0.490055 -vn 0.643614 0.102220 0.758493 -vn 0.905834 -0.117974 0.406875 -vn 0.905834 -0.117974 0.406875 -vn 0.643614 0.102220 0.758493 -vn 0.687158 0.108164 0.718411 -vn 0.965976 0.251500 0.060315 -vn 0.964631 0.193831 0.178653 -vn 0.921473 0.383876 0.059379 -vn 0.921473 0.383876 0.059379 -vn 0.964631 0.193831 0.178653 -vn 0.872500 0.486439 0.046048 -vn 0.614486 0.229061 -0.754942 -vn 0.767576 0.190717 -0.611926 -vn 0.698707 0.118060 -0.705599 -vn 0.698707 0.118060 -0.705599 -vn 0.767576 0.190717 -0.611926 -vn 0.783256 0.126122 -0.608771 -vn 0.727146 0.408695 -0.551567 -vn 0.561493 0.486609 -0.669281 -vn 0.783256 0.126122 -0.608771 -vn 0.783256 0.126122 -0.608771 -vn 0.561493 0.486609 -0.669281 -vn 0.698707 0.118060 -0.705599 -vn 0.670026 0.523745 -0.526077 -vn 0.515036 0.508272 -0.690216 -vn 0.727146 0.408695 -0.551567 -vn 0.727146 0.408695 -0.551567 -vn 0.515036 0.508272 -0.690216 -vn 0.561493 0.486609 -0.669281 -vn 0.730079 0.280919 -0.622953 -vn 0.556365 0.235871 -0.796758 -vn 0.670026 0.523745 -0.526077 -vn 0.670026 0.523745 -0.526077 -vn 0.556365 0.235871 -0.796758 -vn 0.515036 0.508272 -0.690216 -vn 0.732050 0.035948 -0.680302 -vn 0.549889 0.016593 -0.835073 -vn 0.730079 0.280919 -0.622953 -vn 0.730079 0.280919 -0.622953 -vn 0.549889 0.016593 -0.835073 -vn 0.556365 0.235871 -0.796758 -vn 0.137038 0.934417 -0.328765 -vn 0.229349 0.870656 -0.435152 -vn 0.141598 0.929887 -0.339500 -vn 0.141598 0.929887 -0.339500 -vn 0.229349 0.870656 -0.435152 -vn 0.233757 0.866197 -0.441656 -vn 0.151357 0.841808 -0.518122 -vn 0.149833 0.848035 -0.508318 -vn 0.141598 0.929887 -0.339500 -vn 0.141598 0.929887 -0.339500 -vn 0.149833 0.848035 -0.508318 -vn 0.137038 0.934417 -0.328765 -vn 0.783017 -0.101303 -0.613695 -vn 0.819661 -0.094117 -0.565065 -vn 0.787275 -0.100989 -0.608276 -vn 0.787275 -0.100989 -0.608276 -vn 0.819661 -0.094117 -0.565065 -vn 0.824120 -0.095081 -0.558377 -vn -0.219733 -0.075510 -0.972633 -vn -0.207125 -0.070360 -0.975781 -vn -0.113867 -0.056451 -0.991891 -vn -0.113867 -0.056451 -0.991891 -vn -0.207125 -0.070360 -0.975781 -vn -0.100825 -0.056839 -0.993279 -vn 0.796721 -0.072073 -0.600035 -vn 0.799694 -0.074176 -0.595808 -vn 0.819661 -0.094117 -0.565065 -vn 0.819661 -0.094117 -0.565065 -vn 0.799694 -0.074176 -0.595808 -vn 0.824120 -0.095081 -0.558377 -vn 0.262423 -0.608163 -0.749181 -vn 0.326439 -0.587395 -0.740544 -vn 0.262466 -0.605799 -0.751078 -vn 0.262466 -0.605799 -0.751078 -vn 0.326439 -0.587395 -0.740544 -vn 0.325064 -0.583268 -0.744400 -vn 0.325064 -0.583268 -0.744400 -vn 0.326439 -0.587395 -0.740544 -vn 0.368755 -0.617809 -0.694501 -vn 0.368755 -0.617809 -0.694501 -vn 0.326439 -0.587395 -0.740544 -vn 0.366732 -0.621124 -0.692613 -vn -0.135651 -0.058713 -0.989016 -vn -0.207125 -0.070360 -0.975781 -vn -0.144397 -0.062565 -0.987540 -vn -0.144397 -0.062565 -0.987540 -vn -0.207125 -0.070360 -0.975781 -vn -0.219733 -0.075510 -0.972633 -vn 0.530815 -0.169218 -0.830422 -vn 0.338040 -0.168109 -0.925996 -vn 0.549889 0.016593 -0.835073 -vn 0.549889 0.016593 -0.835073 -vn 0.338040 -0.168109 -0.925996 -vn 0.341784 0.005125 -0.939765 -vn 0.474424 -0.451462 -0.755715 -vn 0.298918 -0.442208 -0.845636 -vn 0.530815 -0.169218 -0.830422 -vn 0.530815 -0.169218 -0.830422 -vn 0.298918 -0.442208 -0.845636 -vn 0.338040 -0.168109 -0.925996 -vn 0.339986 -0.770658 -0.538977 -vn 0.219380 -0.740034 -0.635784 -vn 0.474424 -0.451462 -0.755715 -vn 0.474424 -0.451462 -0.755715 -vn 0.219380 -0.740034 -0.635784 -vn 0.298918 -0.442208 -0.845636 -vn 0.308118 -0.845792 -0.435546 -vn 0.213971 -0.821557 -0.528451 -vn 0.339986 -0.770658 -0.538977 -vn 0.339986 -0.770658 -0.538977 -vn 0.213971 -0.821557 -0.528451 -vn 0.219380 -0.740034 -0.635784 -vn 0.450135 -0.670894 -0.589305 -vn 0.303200 -0.657246 -0.689998 -vn 0.308118 -0.845792 -0.435546 -vn 0.308118 -0.845792 -0.435546 -vn 0.303200 -0.657246 -0.689998 -vn 0.213971 -0.821557 -0.528451 -vn 0.303200 -0.657246 -0.689998 -vn 0.450135 -0.670894 -0.589305 -vn 0.389637 -0.317883 -0.864369 -vn 0.389637 -0.317883 -0.864369 -vn 0.450135 -0.670894 -0.589305 -vn 0.582436 -0.291964 -0.758634 -vn 0.389637 -0.317883 -0.864369 -vn 0.582436 -0.291964 -0.758634 -vn 0.394315 -0.101461 -0.913357 -vn 0.394315 -0.101461 -0.913357 -vn 0.582436 -0.291964 -0.758634 -vn 0.615939 -0.083779 -0.783326 -vn 0.341784 0.005125 -0.939765 -vn 0.141923 0.004781 -0.989866 -vn 0.340643 0.199708 -0.918738 -vn 0.340643 0.199708 -0.918738 -vn 0.141923 0.004781 -0.989866 -vn 0.141285 0.197838 -0.969999 -vn 0.379772 0.322230 -0.867145 -vn 0.186911 0.318785 -0.929215 -vn 0.297017 0.614079 -0.731223 -vn 0.297017 0.614079 -0.731223 -vn 0.186911 0.318785 -0.929215 -vn 0.160628 0.572026 -0.804354 -vn 0.297017 0.614079 -0.731223 -vn 0.160628 0.572026 -0.804354 -vn 0.311586 0.626785 -0.714181 -vn 0.311586 0.626785 -0.714181 -vn 0.160628 0.572026 -0.804354 -vn 0.167735 0.583693 -0.794460 -vn 0.311586 0.626785 -0.714181 -vn 0.167735 0.583693 -0.794460 -vn 0.366912 0.544933 -0.753938 -vn 0.366912 0.544933 -0.753938 -vn 0.167735 0.583693 -0.794460 -vn 0.182275 0.548030 -0.816357 -vn 0.182275 0.548030 -0.816357 -vn 0.174351 0.814871 -0.552800 -vn 0.366912 0.544933 -0.753938 -vn 0.366912 0.544933 -0.753938 -vn 0.174351 0.814871 -0.552800 -vn 0.370339 0.773014 -0.515071 -vn 0.174351 0.814871 -0.552800 -vn 0.155681 0.954668 -0.253718 -vn 0.370339 0.773014 -0.515071 -vn 0.370339 0.773014 -0.515071 -vn 0.155681 0.954668 -0.253718 -vn 0.283844 0.920677 -0.267929 -vn 0.155681 0.954668 -0.253718 -vn 0.124090 0.987698 -0.095156 -vn 0.283844 0.920677 -0.267929 -vn 0.283844 0.920677 -0.267929 -vn 0.124090 0.987698 -0.095156 -vn 0.289060 0.948825 -0.127180 -vn 0.124090 0.987698 -0.095156 -vn 0.113784 0.993394 -0.014901 -vn 0.289060 0.948825 -0.127180 -vn 0.289060 0.948825 -0.127180 -vn 0.113784 0.993394 -0.014901 -vn 0.293378 0.955452 -0.032274 -vn 0.107263 0.993482 0.038571 -vn 0.285655 0.957858 0.030146 -vn 0.113784 0.993394 -0.014901 -vn 0.113784 0.993394 -0.014901 -vn 0.285655 0.957858 0.030146 -vn 0.293378 0.955452 -0.032274 -vn 0.285655 0.957858 0.030146 -vn 0.107263 0.993482 0.038571 -vn 0.271656 0.956444 0.106859 -vn 0.271656 0.956444 0.106859 -vn 0.107263 0.993482 0.038571 -vn 0.101507 0.989456 0.103309 -vn 0.151422 0.882115 0.446031 -vn 0.306688 0.839558 0.448424 -vn 0.114776 0.969606 0.216080 -vn 0.114776 0.969606 0.216080 -vn 0.306688 0.839558 0.448424 -vn 0.269387 0.933644 0.236092 -vn 0.172841 0.641260 0.747604 -vn 0.395709 0.594759 0.699769 -vn 0.151422 0.882115 0.446031 -vn 0.151422 0.882115 0.446031 -vn 0.395709 0.594759 0.699769 -vn 0.306688 0.839558 0.448424 -vn 0.172841 0.641260 0.747604 -vn 0.190440 0.332540 0.923661 -vn 0.395709 0.594759 0.699769 -vn 0.395709 0.594759 0.699769 -vn 0.190440 0.332540 0.923661 -vn 0.464356 0.290440 0.836671 -vn 0.478164 0.165313 0.862572 -vn 0.464356 0.290440 0.836671 -vn 0.189718 0.191129 0.963056 -vn 0.189718 0.191129 0.963056 -vn 0.464356 0.290440 0.836671 -vn 0.190440 0.332540 0.923661 -vn 0.186911 0.318785 -0.929215 -vn 0.379772 0.322230 -0.867145 -vn 0.170294 0.181676 -0.968501 -vn 0.170294 0.181676 -0.968501 -vn 0.379772 0.322230 -0.867145 -vn 0.409926 0.237447 -0.880670 -vn 0.000000 0.303281 -0.952901 -vn 0.186911 0.318785 -0.929215 -vn 0.000000 0.152101 -0.988365 -vn 0.000000 0.152101 -0.988365 -vn 0.186911 0.318785 -0.929215 -vn 0.170294 0.181676 -0.968501 -vn 0.379772 0.322230 -0.867145 -vn 0.565694 0.317444 -0.761065 -vn 0.409926 0.237447 -0.880670 -vn 0.409926 0.237447 -0.880670 -vn 0.565694 0.317444 -0.761065 -vn 0.614486 0.229061 -0.754942 -vn 0.767576 0.190717 -0.611926 -vn 0.614486 0.229061 -0.754942 -vn 0.708098 0.345784 -0.615654 -vn 0.708098 0.345784 -0.615654 -vn 0.614486 0.229061 -0.754942 -vn 0.565694 0.317444 -0.761065 -vn 0.978524 0.071526 -0.193328 -vn 0.963287 0.140801 -0.228590 -vn 0.865780 0.298022 0.402004 -vn 0.963287 0.140801 -0.228590 -vn 0.887417 0.192326 0.418929 -vn 0.865780 0.298022 0.402004 -vn 0.787499 0.326946 0.522448 -vn 0.865780 0.298022 0.402004 -vn 0.790440 0.189724 0.582417 -vn 0.790440 0.189724 0.582417 -vn 0.865780 0.298022 0.402004 -vn 0.887417 0.192326 0.418929 -vn 0.790440 0.189724 0.582417 -vn 0.992653 0.114144 0.040135 -vn 0.787499 0.326946 0.522448 -vn 0.804548 -0.044303 0.592232 -vn 0.833627 -0.033590 0.551305 -vn 0.796174 -0.034614 0.604077 -vn 0.865823 -0.075119 0.494680 -vn 0.734614 -0.292666 0.612119 -vn 0.643794 0.051604 0.763457 -vn 0.998468 0.034872 0.042952 -vn 0.992653 0.114144 0.040135 -vn 0.998297 0.019801 0.054872 -vn 0.998297 0.019801 0.054872 -vn 0.992653 0.114144 0.040135 -vn 0.987901 0.136372 0.073847 -vn 0.731349 0.176702 0.658715 -vn 0.926994 -0.129511 0.352007 -vn 0.687158 0.108164 0.718411 -vn 0.687158 0.108164 0.718411 -vn 0.926994 -0.129511 0.352007 -vn 0.905834 -0.117974 0.406875 -vn 0.216505 -0.964012 0.154295 -vn 0.344016 -0.936633 0.066114 -vn 0.128723 -0.973951 0.186681 -vn 0.804548 -0.044303 0.592232 -vn 0.796174 -0.034614 0.604077 -vn 0.791053 -0.070536 0.607668 -vn 0.051570 -0.896247 0.440547 -vn 0.055472 -0.996740 -0.058593 -vn 0.035555 -0.976723 0.211536 -vn 0.035555 -0.976723 0.211536 -vn 0.055472 -0.996740 -0.058593 -vn 0.040877 -0.998968 -0.019776 -vn 0.173479 0.168868 0.970252 -vn 0.170701 0.176661 0.969357 -vn 0.103368 0.223513 0.969204 -vn 0.103368 0.223513 0.969204 -vn 0.170701 0.176661 0.969357 -vn 0.097159 0.235044 0.967117 -vn 0.052936 0.216365 0.974876 -vn 0.064598 0.228971 0.971287 -vn 0.097159 0.235044 0.967117 -vn 0.097159 0.235044 0.967117 -vn 0.064598 0.228971 0.971287 -vn 0.103368 0.223513 0.969204 -vn 0.170701 0.176661 0.969357 -vn 0.173479 0.168868 0.970252 -vn 0.168149 0.101726 0.980499 -vn 0.168149 0.101726 0.980499 -vn 0.173479 0.168868 0.970252 -vn 0.164097 0.082307 0.983004 -vn 0.064598 0.228971 0.971287 -vn 0.052936 0.216365 0.974876 -vn 0.028834 -0.044924 0.998574 -vn 0.028834 -0.044924 0.998574 -vn 0.052936 0.216365 0.974876 -vn 0.002361 -0.045708 0.998952 -vn 0.116158 0.033510 0.992665 -vn 0.123951 0.033775 0.991713 -vn 0.164097 0.082307 0.983004 -vn 0.164097 0.082307 0.983004 -vn 0.123951 0.033775 0.991713 -vn 0.168149 0.101726 0.980499 -vn 0.082393 -0.961065 0.263752 -vn 0.216505 -0.964012 0.154295 -vn 0.031297 -0.968343 0.247652 -vn 0.031297 -0.968343 0.247652 -vn 0.216505 -0.964012 0.154295 -vn 0.128723 -0.973951 0.186681 -vn 0.035555 -0.976723 0.211536 -vn 0.069238 -0.603543 0.794318 -vn 0.051570 -0.896247 0.440547 -vn 0.051570 -0.896247 0.440547 -vn 0.069238 -0.603543 0.794318 -vn 0.059046 -0.495915 0.866361 -vn -0.073850 -0.984960 -0.156207 -vn -0.011693 -0.985385 -0.169942 -vn -0.066127 -0.984212 -0.164178 -vn -0.066127 -0.984212 -0.164178 -vn -0.011693 -0.985385 -0.169942 -vn -0.001533 -0.984680 -0.174366 -vn -0.093677 -0.987412 -0.127443 -vn -0.073850 -0.984960 -0.156207 -vn -0.091072 -0.986479 -0.136255 -vn -0.091072 -0.986479 -0.136255 -vn -0.073850 -0.984960 -0.156207 -vn -0.066127 -0.984212 -0.164178 -vn 0.000000 -0.998857 -0.047789 -vn -0.055000 -0.996369 -0.064993 -vn -0.000000 -0.998702 -0.050933 -vn -0.000000 -0.998702 -0.050933 -vn -0.055000 -0.996369 -0.064993 -vn -0.055740 -0.996133 -0.067916 -vn -0.011693 -0.985385 -0.169942 -vn 0.049456 -0.988223 -0.144810 -vn -0.001533 -0.984680 -0.174366 -vn -0.001533 -0.984680 -0.174366 -vn 0.049456 -0.988223 -0.144810 -vn 0.055033 -0.987514 -0.147607 -vn 0.049456 -0.988223 -0.144810 -vn 0.071620 -0.991106 -0.112155 -vn 0.055033 -0.987514 -0.147607 -vn 0.055033 -0.987514 -0.147607 -vn 0.071620 -0.991106 -0.112155 -vn 0.073058 -0.990988 -0.112275 -vn 0.073058 -0.990988 -0.112275 -vn 0.071620 -0.991106 -0.112155 -vn 0.055472 -0.996740 -0.058593 -vn 0.055472 -0.996740 -0.058593 -vn 0.071620 -0.991106 -0.112155 -vn 0.060234 -0.996137 -0.063893 -vn 0.055472 -0.996740 -0.058593 -vn 0.060234 -0.996137 -0.063893 -vn 0.040877 -0.998968 -0.019776 -vn -0.085404 -0.992811 -0.083858 -vn -0.093677 -0.987412 -0.127443 -vn -0.085338 -0.992316 -0.089595 -vn -0.085338 -0.992316 -0.089595 -vn -0.093677 -0.987412 -0.127443 -vn -0.091072 -0.986479 -0.136255 -vn -0.055000 -0.996369 -0.064993 -vn -0.085404 -0.992811 -0.083858 -vn -0.055740 -0.996133 -0.067916 -vn -0.055740 -0.996133 -0.067916 -vn -0.085404 -0.992811 -0.083858 -vn -0.085338 -0.992316 -0.089595 -vn 0.905940 0.384539 0.177207 -vn 0.859273 0.317420 0.401117 -vn 0.941576 0.289157 0.172692 -vn 0.941576 0.289157 0.172692 -vn 0.859273 0.317420 0.401117 -vn 0.877960 0.234283 0.417490 -vn 0.101507 0.989456 0.103309 -vn -0.000000 0.994745 0.102388 -vn 0.114776 0.969606 0.216080 -vn 0.114776 0.969606 0.216080 -vn -0.000000 0.994745 0.102388 -vn -0.000000 0.977356 0.211603 -vn 0.271656 0.956444 0.106859 -vn 0.101507 0.989456 0.103309 -vn 0.269387 0.933644 0.236092 -vn 0.269387 0.933644 0.236092 -vn 0.101507 0.989456 0.103309 -vn 0.114776 0.969606 0.216080 -vn 0.586343 0.801355 0.118456 -vn 0.271656 0.956444 0.106859 -vn 0.566436 0.773715 0.283751 -vn 0.566436 0.773715 0.283751 -vn 0.271656 0.956444 0.106859 -vn 0.269387 0.933644 0.236092 -vn 0.813126 0.562843 0.148437 -vn 0.586343 0.801355 0.118456 -vn 0.790476 0.510996 0.337684 -vn 0.790476 0.510996 0.337684 -vn 0.586343 0.801355 0.118456 -vn 0.566436 0.773715 0.283751 -vn 0.813126 0.562843 0.148437 -vn 0.790476 0.510996 0.337684 -vn 0.905940 0.384539 0.177207 -vn 0.905940 0.384539 0.177207 -vn 0.790476 0.510996 0.337684 -vn 0.859273 0.317420 0.401117 -vn 0.796705 -0.095826 0.596723 -vn 0.791556 -0.097603 0.603252 -vn 0.804548 -0.044303 0.592232 -vn 0.069238 -0.603543 0.794318 -vn 0.028834 -0.044924 0.998574 -vn 0.059046 -0.495915 0.866361 -vn 0.059046 -0.495915 0.866361 -vn 0.028834 -0.044924 0.998574 -vn 0.002361 -0.045708 0.998952 -vn 0.796705 -0.095826 0.596723 -vn 0.804548 -0.044303 0.592232 -vn 0.791053 -0.070536 0.607668 -vn 0.068959 0.997617 0.002300 -vn 0.218354 0.974305 0.055235 -vn 0.084065 0.996201 0.022715 -vn 0.084065 0.996201 0.022715 -vn 0.218354 0.974305 0.055235 -vn 0.252470 0.964683 0.075137 -vn 0.014728 0.999791 -0.014175 -vn 0.068959 0.997617 0.002300 -vn 0.018825 0.999773 -0.010023 -vn 0.018825 0.999773 -0.010023 -vn 0.068959 0.997617 0.002300 -vn 0.084065 0.996201 0.022715 -vn 0.015249 0.999853 -0.007842 -vn 0.014728 0.999791 -0.014175 -vn 0.015359 0.999847 -0.008355 -vn 0.015359 0.999847 -0.008355 -vn 0.014728 0.999791 -0.014175 -vn 0.018825 0.999773 -0.010023 -vn 0.007721 0.999968 -0.001961 -vn 0.007912 0.999965 -0.002547 -vn 0.015359 0.999847 -0.008355 -vn 0.015359 0.999847 -0.008355 -vn 0.007912 0.999965 -0.002547 -vn 0.015249 0.999853 -0.007842 -vn 0.000000 1.000000 -0.000000 -vn -0.000000 1.000000 -0.000005 -vn 0.007721 0.999968 -0.001961 -vn 0.007721 0.999968 -0.001961 -vn -0.000000 1.000000 -0.000005 -vn 0.007912 0.999965 -0.002547 -vn 0.110017 0.005351 -0.993915 -vn 0.111445 0.005659 -0.993755 -vn 0.126614 0.038353 -0.991210 -vn 0.126614 0.038353 -0.991210 -vn 0.111445 0.005659 -0.993755 -vn 0.133476 0.042166 -0.990155 -vn 0.126614 0.038353 -0.991210 -vn 0.133476 0.042166 -0.990155 -vn 0.253493 0.077283 -0.964245 -vn 0.253493 0.077283 -0.964245 -vn 0.133476 0.042166 -0.990155 -vn 0.262361 0.077868 -0.961823 -vn 0.340643 0.199708 -0.918738 -vn 0.306784 0.535384 -0.786923 -vn 0.556365 0.235871 -0.796758 -vn 0.556365 0.235871 -0.796758 -vn 0.306784 0.535384 -0.786923 -vn 0.515036 0.508272 -0.690216 -vn 0.141907 0.486043 -0.862337 -vn 0.306784 0.535384 -0.786923 -vn 0.141285 0.197838 -0.969999 -vn 0.141285 0.197838 -0.969999 -vn 0.306784 0.535384 -0.786923 -vn 0.340643 0.199708 -0.918738 -vn -0.888112 0.137352 -0.438624 -vn -0.946841 -0.010033 -0.321544 -vn -0.961150 0.056049 -0.270275 -vn -0.956670 -0.001270 0.291171 -vn -0.963043 0.024640 0.268217 -vn -0.840437 -0.003126 0.541901 -vn -0.840437 -0.003126 0.541901 -vn -0.963043 0.024640 0.268217 -vn -0.857807 0.003552 0.513960 -vn -0.621471 -0.025881 0.783010 -vn -0.840437 -0.003126 0.541901 -vn -0.649274 -0.021358 0.760255 -vn -0.649274 -0.021358 0.760255 -vn -0.840437 -0.003126 0.541901 -vn -0.857807 0.003552 0.513960 -vn -0.223132 -0.032589 0.974243 -vn 0.000000 -0.039132 0.999234 -vn -0.212283 -0.038788 0.976438 -vn -0.212283 -0.038788 0.976438 -vn 0.000000 -0.039132 0.999234 -vn -0.000000 -0.037251 0.999306 -vn -0.963043 0.024640 0.268217 -vn -0.956670 -0.001270 0.291171 -vn -0.996973 0.006708 0.077452 -vn -0.996973 0.006708 0.077452 -vn -0.956670 -0.001270 0.291171 -vn -0.994531 0.006140 0.104260 -vn -0.996973 0.006708 0.077452 -vn -0.999371 0.000763 -0.035441 -vn -0.984573 -0.023021 -0.173451 -vn -0.999371 0.000763 -0.035441 -vn -0.996973 0.006708 0.077452 -vn -0.994531 0.006140 0.104260 -vn -0.928473 0.002886 -0.371389 -vn -0.984573 -0.023021 -0.173451 -vn -0.946841 -0.010033 -0.321544 -vn -0.946841 -0.010033 -0.321544 -vn -0.984573 -0.023021 -0.173451 -vn -0.961150 0.056049 -0.270275 -vn -0.961150 0.056049 -0.270275 -vn -0.984573 -0.023021 -0.173451 -vn -0.999371 0.000763 -0.035441 -vn -0.621471 -0.025881 0.783010 -vn -0.649274 -0.021358 0.760255 -vn -0.405789 -0.043061 0.912952 -vn -0.405789 -0.043061 0.912952 -vn -0.649274 -0.021358 0.760255 -vn -0.427059 -0.024260 0.903898 -vn -0.405789 -0.043061 0.912952 -vn -0.427059 -0.024260 0.903898 -vn -0.212283 -0.038788 0.976438 -vn -0.212283 -0.038788 0.976438 -vn -0.427059 -0.024260 0.903898 -vn -0.223132 -0.032589 0.974243 -vn -0.984573 -0.023021 -0.173451 -vn -0.928473 0.002886 -0.371389 -vn -0.962439 -0.024231 -0.270413 -vn -0.202739 -0.978340 -0.041815 -vn -0.023703 -0.999235 -0.031121 -vn -0.050170 -0.995292 -0.082922 -vn 0.601143 0.119267 0.790191 -vn 0.614054 0.126132 0.779120 -vn 0.603048 0.121629 0.788378 -vn 0.614054 0.126132 0.779120 -vn 0.601143 0.119267 0.790191 -vn 0.601351 0.120282 0.789879 -vn 0.601143 0.119267 0.790191 -vn 0.597652 0.112916 0.793764 -vn 0.601351 0.120282 0.789879 -vn 0.603048 0.121629 0.788378 -vn 0.614054 0.126132 0.779120 -vn 0.599764 0.125022 0.790350 -vn 0.599764 0.125022 0.790350 -vn 0.614054 0.126132 0.779120 -vn 0.635852 0.133040 0.760258 -vn 0.635852 0.133040 0.760258 -vn 0.614054 0.126132 0.779120 -vn 0.687777 0.151464 0.709945 -vn 0.597652 0.112916 0.793764 -vn 0.572388 0.153981 0.805396 -vn 0.601351 0.120282 0.789879 -vn 0.572388 0.153981 0.805396 -vn 0.594374 0.153736 0.789357 -vn 0.601351 0.120282 0.789879 -vn 0.601351 0.120282 0.789879 -vn 0.594374 0.153736 0.789357 -vn 0.668633 0.073281 0.739973 -vn 0.093377 0.001257 -0.995630 -vn 0.094757 0.001026 -0.995500 -vn 0.110017 0.005351 -0.993915 -vn 0.110017 0.005351 -0.993915 -vn 0.094757 0.001026 -0.995500 -vn 0.111445 0.005659 -0.993755 -vn 0.731349 0.176702 0.658715 -vn 0.998468 0.034872 0.042952 -vn 0.997539 -0.014146 0.068676 -vn 0.997539 -0.014146 0.068676 -vn 0.998468 0.034872 0.042952 -vn 0.998297 0.019801 0.054872 -vn -0.757937 0.083145 -0.647008 -vn -0.888112 0.137352 -0.438624 -vn -0.812212 0.128738 -0.568980 -vn -0.812212 0.128738 -0.568980 -vn -0.888112 0.137352 -0.438624 -vn -0.961150 0.056049 -0.270275 -vn -0.743623 0.126560 -0.656511 -vn -0.757937 0.083145 -0.647008 -vn -0.812212 0.128738 -0.568980 -vn -0.743623 0.126560 -0.656511 -vn -0.728687 0.061348 -0.682093 -vn -0.757937 0.083145 -0.647008 -vn -0.765253 0.041319 -0.642403 -vn -0.793371 0.048012 -0.606842 -vn -0.728687 0.061348 -0.682093 -vn -0.728687 0.061348 -0.682093 -vn -0.793371 0.048012 -0.606842 -vn -0.757937 0.083145 -0.647008 -vn -0.793371 0.048012 -0.606842 -vn -0.765253 0.041319 -0.642403 -vn -0.928473 0.002886 -0.371389 -vn 0.784323 -0.020364 0.620019 -vn 0.643794 0.051604 0.763457 -vn 0.804548 -0.044303 0.592232 -vn 0.643794 0.051604 0.763457 -vn 0.833627 -0.033590 0.551305 -vn 0.804548 -0.044303 0.592232 -vn 0.887379 0.408080 0.214547 -vn 0.910702 0.410936 -0.041879 -vn 0.665715 0.458373 0.588828 -vn 0.910702 0.410936 -0.041879 -vn 0.775796 0.611274 -0.156478 -vn 0.910865 0.382103 -0.155956 -vn 0.910865 0.382103 -0.155956 -vn 0.865780 0.298022 0.402004 -vn 0.910702 0.410936 -0.041879 -vn 0.926853 0.296065 0.230845 -vn 0.817308 0.373606 0.438665 -vn 0.849402 0.514429 0.117811 -vn 0.807536 0.080137 0.584349 -vn 0.926853 0.296065 0.230845 -vn 0.849402 0.514429 0.117811 -vn -0.996773 -0.018467 0.078112 -vn -0.996358 -0.022534 0.082241 -vn -0.963650 -0.052073 0.262043 -vn -0.963650 -0.052073 0.262043 -vn -0.996358 -0.022534 0.082241 -vn -0.962906 -0.051413 0.264895 -vn -0.999792 0.019275 -0.006705 -vn -0.999913 0.012170 -0.005074 -vn -0.996773 -0.018467 0.078112 -vn -0.996773 -0.018467 0.078112 -vn -0.999913 0.012170 -0.005074 -vn -0.996358 -0.022534 0.082241 -vn -0.252664 -0.057093 0.965868 -vn -0.251793 -0.044009 0.966780 -vn 0.000000 -0.036099 0.999348 -vn 0.000000 -0.036099 0.999348 -vn -0.251793 -0.044009 0.966780 -vn -0.000000 -0.022294 0.999751 -vn -0.493589 -0.076185 0.866352 -vn -0.494095 -0.060695 0.867287 -vn -0.252664 -0.057093 0.965868 -vn -0.252664 -0.057093 0.965868 -vn -0.494095 -0.060695 0.867287 -vn -0.251793 -0.044009 0.966780 -vn -0.689424 -0.095290 0.718063 -vn -0.690337 -0.077073 0.719371 -vn -0.493589 -0.076185 0.866352 -vn -0.493589 -0.076185 0.866352 -vn -0.690337 -0.077073 0.719371 -vn -0.494095 -0.060695 0.867287 -vn -0.861733 -0.089612 0.499385 -vn -0.862233 -0.079902 0.500170 -vn -0.689424 -0.095290 0.718063 -vn -0.689424 -0.095290 0.718063 -vn -0.862233 -0.079902 0.500170 -vn -0.690337 -0.077073 0.719371 -vn -0.963650 -0.052073 0.262043 -vn -0.962906 -0.051413 0.264895 -vn -0.861733 -0.089612 0.499385 -vn -0.861733 -0.089612 0.499385 -vn -0.962906 -0.051413 0.264895 -vn -0.862233 -0.079902 0.500170 -vn -0.508924 -0.173879 0.843067 -vn -0.580600 -0.129349 0.803849 -vn -0.530011 -0.161213 0.832525 -vn -0.530011 -0.161213 0.832525 -vn -0.580600 -0.129349 0.803849 -vn -0.606607 -0.112074 0.787063 -vn -0.420642 -0.894155 -0.153453 -vn -0.423196 -0.892876 -0.153873 -vn -0.445537 -0.885349 -0.132870 -vn -0.445537 -0.885349 -0.132870 -vn -0.423196 -0.892876 -0.153873 -vn -0.445045 -0.885607 -0.132797 -vn -0.443902 -0.894515 -0.052850 -vn -0.445537 -0.885349 -0.132870 -vn -0.444520 -0.893994 -0.056369 -vn -0.444520 -0.893994 -0.056369 -vn -0.445537 -0.885349 -0.132870 -vn -0.445045 -0.885607 -0.132797 -vn -0.382942 -0.923043 0.036704 -vn -0.443902 -0.894515 -0.052850 -vn -0.390221 -0.920247 0.029540 -vn -0.390221 -0.920247 0.029540 -vn -0.443902 -0.894515 -0.052850 -vn -0.444520 -0.893994 -0.056369 -vn -0.308278 -0.943585 0.120883 -vn -0.382942 -0.923043 0.036704 -vn -0.309267 -0.942490 0.126753 -vn -0.309267 -0.942490 0.126753 -vn -0.382942 -0.923043 0.036704 -vn -0.390221 -0.920247 0.029540 -vn -0.308278 -0.943585 0.120883 -vn -0.309267 -0.942490 0.126753 -vn -0.240249 -0.947922 0.209103 -vn -0.240249 -0.947922 0.209103 -vn -0.309267 -0.942490 0.126753 -vn -0.245596 -0.944213 0.219420 -vn -0.143501 -0.937524 0.316949 -vn -0.139148 -0.943161 0.301804 -vn -0.245596 -0.944213 0.219420 -vn -0.245596 -0.944213 0.219420 -vn -0.139148 -0.943161 0.301804 -vn -0.240249 -0.947922 0.209103 -vn -0.139148 -0.943161 0.301804 -vn -0.143501 -0.937524 0.316949 -vn 0.000000 -0.924899 0.380214 -vn 0.000000 -0.924899 0.380214 -vn -0.143501 -0.937524 0.316949 -vn 0.000000 -0.917956 0.396682 -vn -0.928473 0.002886 -0.371389 -vn -0.946841 -0.010033 -0.321544 -vn -0.793371 0.048012 -0.606842 -vn -0.207642 0.930056 -0.303118 -vn -0.218086 0.925466 -0.309759 -vn -0.208097 0.929860 -0.303408 -vn -0.208097 0.929860 -0.303408 -vn -0.218086 0.925466 -0.309759 -vn -0.218979 0.925066 -0.310326 -vn -0.854784 0.009411 -0.518898 -vn -0.854783 0.009414 -0.518900 -vn -0.854781 0.009420 -0.518903 -vn -0.854781 0.009420 -0.518903 -vn -0.854783 0.009414 -0.518900 -vn -0.854780 0.009423 -0.518904 -vn -0.391140 -0.918370 -0.060048 -vn -0.391102 -0.918388 -0.060026 -vn -0.391137 -0.918371 -0.060046 -vn -0.391137 -0.918371 -0.060046 -vn -0.391102 -0.918388 -0.060026 -vn -0.391100 -0.918389 -0.060025 -vn 0.157284 -0.147242 -0.976515 -vn 0.157283 -0.147243 -0.976515 -vn 0.157284 -0.147242 -0.976515 -vn 0.157284 -0.147242 -0.976515 -vn 0.157283 -0.147243 -0.976515 -vn 0.157282 -0.147243 -0.976515 -vn -0.791236 0.154415 0.591693 -vn -0.790899 0.154309 0.592172 -vn -0.791187 0.154399 0.591763 -vn -0.791187 0.154399 0.591763 -vn -0.790899 0.154309 0.592172 -vn -0.790837 0.154289 0.592260 -vn -0.693869 -0.717639 -0.059504 -vn -0.951661 -0.299535 -0.067968 -vn -0.734614 -0.292666 0.612119 -vn -0.951661 -0.299535 -0.067968 -vn -0.865823 -0.075119 0.494680 -vn -0.734614 -0.292666 0.612119 -vn -0.694372 -0.659335 -0.288316 -vn -0.911130 -0.251282 -0.326649 -vn -0.688953 -0.713776 -0.125968 -vn -0.911130 -0.251282 -0.326649 -vn -0.936547 -0.324609 -0.132316 -vn -0.688953 -0.713776 -0.125968 -vn -0.591638 -0.669054 -0.449811 -vn -0.776501 -0.261174 -0.573441 -vn -0.694372 -0.659335 -0.288316 -vn -0.776501 -0.261174 -0.573441 -vn -0.911130 -0.251282 -0.326649 -vn -0.694372 -0.659335 -0.288316 -vn -0.450135 -0.670894 -0.589305 -vn -0.582436 -0.291964 -0.758634 -vn -0.591638 -0.669054 -0.449811 -vn -0.582436 -0.291964 -0.758634 -vn -0.776501 -0.261174 -0.573441 -vn -0.591638 -0.669054 -0.449811 -vn -0.167519 -0.631543 -0.757027 -vn -0.203644 -0.349140 -0.914675 -vn -0.303200 -0.657246 -0.689998 -vn -0.203644 -0.349140 -0.914675 -vn -0.389637 -0.317883 -0.864369 -vn -0.303200 -0.657246 -0.689998 -vn -0.000000 -0.641479 -0.767141 -vn 0.000000 -0.346225 -0.938152 -vn -0.167519 -0.631543 -0.757027 -vn 0.000000 -0.346225 -0.938152 -vn -0.203644 -0.349140 -0.914675 -vn -0.167519 -0.631543 -0.757027 -vn -0.688953 -0.713776 -0.125968 -vn -0.440580 -0.890619 -0.112635 -vn -0.694372 -0.659335 -0.288316 -vn -0.440580 -0.890619 -0.112635 -vn -0.411066 -0.888894 -0.202218 -vn -0.694372 -0.659335 -0.288316 -vn -0.694372 -0.659335 -0.288316 -vn -0.411066 -0.888894 -0.202218 -vn -0.591638 -0.669054 -0.449811 -vn -0.411066 -0.888894 -0.202218 -vn -0.372727 -0.870575 -0.321206 -vn -0.591638 -0.669054 -0.449811 -vn -0.591638 -0.669054 -0.449811 -vn -0.372727 -0.870575 -0.321206 -vn -0.450135 -0.670894 -0.589305 -vn -0.372727 -0.870575 -0.321206 -vn -0.308118 -0.845792 -0.435546 -vn -0.450135 -0.670894 -0.589305 -vn -0.213971 -0.821557 -0.528451 -vn -0.127120 -0.776749 -0.616849 -vn -0.303200 -0.657246 -0.689998 -vn -0.127120 -0.776749 -0.616849 -vn -0.167519 -0.631543 -0.757027 -vn -0.303200 -0.657246 -0.689998 -vn -0.000000 -0.641479 -0.767141 -vn -0.167519 -0.631543 -0.757027 -vn -0.000000 -0.775130 -0.631802 -vn -0.167519 -0.631543 -0.757027 -vn -0.127120 -0.776749 -0.616849 -vn -0.000000 -0.775130 -0.631802 -vn -0.829370 -0.508464 0.231538 -vn -0.933139 -0.256382 0.252030 -vn -0.547229 -0.823054 -0.152061 -vn -0.933139 -0.256382 0.252030 -vn -0.834994 -0.497446 -0.235229 -vn -0.547229 -0.823054 -0.152061 -vn -0.547229 -0.823054 -0.152061 -vn -0.834994 -0.497446 -0.235229 -vn -0.499176 -0.817395 -0.287557 -vn -0.834994 -0.497446 -0.235229 -vn -0.746611 -0.509098 -0.428241 -vn -0.499176 -0.817395 -0.287557 -vn -0.499176 -0.817395 -0.287557 -vn -0.746611 -0.509098 -0.428241 -vn -0.433962 -0.796400 -0.421218 -vn -0.746611 -0.509098 -0.428241 -vn -0.626875 -0.487380 -0.607855 -vn -0.433962 -0.796400 -0.421218 -vn -0.433962 -0.796400 -0.421218 -vn -0.626875 -0.487380 -0.607855 -vn -0.339986 -0.770658 -0.538977 -vn -0.626875 -0.487380 -0.607855 -vn -0.474424 -0.451462 -0.755715 -vn -0.339986 -0.770658 -0.538977 -vn -0.219380 -0.740034 -0.635784 -vn -0.298918 -0.442208 -0.845636 -vn -0.105150 -0.721120 -0.684785 -vn -0.298918 -0.442208 -0.845636 -vn -0.134280 -0.433849 -0.890923 -vn -0.105150 -0.721120 -0.684785 -vn 0.000000 -0.711059 -0.703132 -vn -0.105150 -0.721120 -0.684785 -vn 0.000000 -0.428150 -0.903708 -vn -0.105150 -0.721120 -0.684785 -vn -0.134280 -0.433849 -0.890923 -vn 0.000000 -0.428150 -0.903708 -vn -0.933139 -0.256382 0.252030 -vn -0.950169 -0.026411 0.310615 -vn -0.834994 -0.497446 -0.235229 -vn -0.950169 -0.026411 0.310615 -vn -0.957770 -0.134386 -0.254199 -vn -0.834994 -0.497446 -0.235229 -vn -0.834994 -0.497446 -0.235229 -vn -0.957770 -0.134386 -0.254199 -vn -0.746611 -0.509098 -0.428241 -vn -0.957770 -0.134386 -0.254199 -vn -0.861660 -0.163786 -0.480330 -vn -0.746611 -0.509098 -0.428241 -vn -0.746611 -0.509098 -0.428241 -vn -0.861660 -0.163786 -0.480330 -vn -0.626875 -0.487380 -0.607855 -vn -0.861660 -0.163786 -0.480330 -vn -0.707443 -0.172771 -0.685328 -vn -0.626875 -0.487380 -0.607855 -vn -0.626875 -0.487380 -0.607855 -vn -0.707443 -0.172771 -0.685328 -vn -0.474424 -0.451462 -0.755715 -vn -0.707443 -0.172771 -0.685328 -vn -0.530815 -0.169218 -0.830422 -vn -0.474424 -0.451462 -0.755715 -vn -0.298918 -0.442208 -0.845636 -vn -0.338040 -0.168109 -0.925996 -vn -0.134280 -0.433849 -0.890923 -vn -0.338040 -0.168109 -0.925996 -vn -0.143223 -0.147346 -0.978661 -vn -0.134280 -0.433849 -0.890923 -vn 0.000000 -0.428150 -0.903708 -vn -0.134280 -0.433849 -0.890923 -vn 0.000000 -0.139213 -0.990262 -vn -0.134280 -0.433849 -0.890923 -vn -0.143223 -0.147346 -0.978661 -vn 0.000000 -0.139213 -0.990262 -vn -0.887379 0.408080 0.214547 -vn -0.775796 0.611274 -0.156478 -vn -0.955533 0.229356 0.185346 -vn -0.775796 0.611274 -0.156478 -vn -0.899654 0.371805 -0.228876 -vn -0.955533 0.229356 0.185346 -vn -0.838201 0.338530 -0.427570 -vn -0.899654 0.371805 -0.228876 -vn -0.748562 0.572863 -0.333891 -vn -0.899654 0.371805 -0.228876 -vn -0.775796 0.611274 -0.156478 -vn -0.748562 0.572863 -0.333891 -vn -0.838201 0.338530 -0.427570 -vn -0.748562 0.572863 -0.333891 -vn -0.730079 0.280919 -0.622953 -vn -0.748562 0.572863 -0.333891 -vn -0.670026 0.523745 -0.526076 -vn -0.730079 0.280919 -0.622953 -vn -0.141285 0.197838 -0.969999 -vn -0.141907 0.486043 -0.862337 -vn 0.000000 0.169328 -0.985560 -vn -0.141907 0.486043 -0.862337 -vn -0.000000 0.429750 -0.902948 -vn 0.000000 0.169328 -0.985560 -vn -0.910865 0.382102 -0.155957 -vn -0.852446 0.395819 -0.341559 -vn -0.775796 0.611274 -0.156478 -vn -0.852446 0.395819 -0.341559 -vn -0.748562 0.572863 -0.333891 -vn -0.775796 0.611274 -0.156478 -vn -0.852446 0.395819 -0.341559 -vn -0.727146 0.408695 -0.551567 -vn -0.748562 0.572863 -0.333891 -vn -0.727146 0.408695 -0.551567 -vn -0.670026 0.523745 -0.526076 -vn -0.748562 0.572863 -0.333891 -vn -0.561493 0.486609 -0.669281 -vn -0.260541 0.716419 -0.647196 -vn -0.515036 0.508272 -0.690216 -vn -0.260541 0.716419 -0.647196 -vn -0.306784 0.535384 -0.786923 -vn -0.515036 0.508272 -0.690216 -vn -0.306784 0.535384 -0.786923 -vn -0.260541 0.716419 -0.647196 -vn -0.141907 0.486043 -0.862337 -vn -0.260541 0.716419 -0.647196 -vn -0.139642 0.443685 -0.885237 -vn -0.141907 0.486043 -0.862337 -vn -0.141907 0.486043 -0.862337 -vn -0.139642 0.443685 -0.885237 -vn -0.000000 0.429750 -0.902948 -vn -0.139642 0.443685 -0.885237 -vn 0.000000 0.345679 -0.938353 -vn -0.000000 0.429750 -0.902948 -vn -0.978524 0.071526 -0.193328 -vn -0.910865 0.382102 -0.155957 -vn -0.865780 0.298022 0.402004 -vn -0.910702 0.410936 -0.041879 -vn -0.663248 0.596004 0.452638 -vn -0.865780 0.298022 0.402004 -vn -0.910865 0.382102 -0.155957 -vn -0.978524 0.071526 -0.193328 -vn -0.852446 0.395819 -0.341559 -vn -0.978524 0.071526 -0.193328 -vn -0.911055 0.107518 -0.398019 -vn -0.852446 0.395819 -0.341559 -vn -0.852446 0.395819 -0.341559 -vn -0.911055 0.107518 -0.398019 -vn -0.727146 0.408695 -0.551567 -vn -0.911055 0.107518 -0.398019 -vn -0.783256 0.126122 -0.608772 -vn -0.727146 0.408695 -0.551567 -vn -0.419181 0.072841 -0.904976 -vn -0.426493 0.056983 -0.902694 -vn -0.381991 0.053413 -0.922621 -vn -0.426493 0.056983 -0.902694 -vn -0.394310 0.036711 -0.918244 -vn -0.381991 0.053413 -0.922621 -vn -0.319266 0.017626 -0.947501 -vn -0.381991 0.053413 -0.922621 -vn -0.341576 0.029789 -0.939382 -vn -0.381991 0.053413 -0.922621 -vn -0.394310 0.036711 -0.918244 -vn -0.341576 0.029789 -0.939382 -vn 0.000000 0.345679 -0.938353 -vn -0.139642 0.443685 -0.885237 -vn 0.000000 0.077721 -0.996975 -vn -0.139642 0.443685 -0.885237 -vn -0.103853 0.070740 -0.992074 -vn 0.000000 0.077721 -0.996975 -vn -0.887417 0.192326 0.418929 -vn -0.895262 0.186285 0.404727 -vn -0.963287 0.140801 -0.228590 -vn -0.895262 0.186285 0.404727 -vn -0.922032 0.290901 -0.255407 -vn -0.963287 0.140801 -0.228590 -vn -0.963287 0.140801 -0.228590 -vn -0.922032 0.290901 -0.255407 -vn -0.891648 0.172871 -0.418426 -vn -0.922032 0.290901 -0.255407 -vn -0.845815 0.329793 -0.419325 -vn -0.891648 0.172871 -0.418426 -vn -0.891648 0.172871 -0.418426 -vn -0.845815 0.329793 -0.419325 -vn -0.767576 0.190717 -0.611926 -vn -0.845815 0.329793 -0.419325 -vn -0.708098 0.345784 -0.615654 -vn -0.767576 0.190717 -0.611926 -vn -0.883142 0.315792 0.346895 -vn -0.746380 0.632005 -0.208535 -vn -0.895262 0.186285 0.404727 -vn -0.746380 0.632005 -0.208535 -vn -0.922032 0.290901 -0.255407 -vn -0.895262 0.186285 0.404727 -vn -0.845815 0.329793 -0.419325 -vn -0.922032 0.290901 -0.255407 -vn -0.682306 0.642739 -0.348346 -vn -0.922032 0.290901 -0.255407 -vn -0.746380 0.632005 -0.208535 -vn -0.682306 0.642739 -0.348346 -vn -0.708098 0.345784 -0.615654 -vn -0.845815 0.329793 -0.419325 -vn -0.597176 0.623458 -0.504659 -vn -0.845815 0.329793 -0.419325 -vn -0.682306 0.642739 -0.348346 -vn -0.597176 0.623458 -0.504659 -vn -0.708098 0.345784 -0.615654 -vn -0.597176 0.623458 -0.504659 -vn -0.565694 0.317444 -0.761065 -vn -0.597176 0.623458 -0.504659 -vn -0.484964 0.591691 -0.643982 -vn -0.565694 0.317444 -0.761065 -vn -0.565694 0.317444 -0.761065 -vn -0.484964 0.591691 -0.643982 -vn -0.379772 0.322230 -0.867145 -vn -0.484964 0.591691 -0.643982 -vn -0.297017 0.614079 -0.731223 -vn -0.379772 0.322230 -0.867145 -vn -0.186911 0.318785 -0.929215 -vn -0.160628 0.572026 -0.804354 -vn 0.000000 0.303281 -0.952901 -vn -0.160628 0.572026 -0.804354 -vn 0.000000 0.566902 -0.823785 -vn 0.000000 0.303281 -0.952901 -vn -0.872500 0.486439 0.046048 -vn -0.695502 0.699074 -0.166048 -vn -0.883142 0.315792 0.346895 -vn -0.695502 0.699074 -0.166048 -vn -0.746380 0.632005 -0.208535 -vn -0.883142 0.315792 0.346895 -vn -0.682306 0.642739 -0.348346 -vn -0.746380 0.632005 -0.208535 -vn -0.641577 0.697453 -0.319279 -vn -0.746380 0.632005 -0.208535 -vn -0.695502 0.699074 -0.166048 -vn -0.641577 0.697453 -0.319279 -vn -0.597176 0.623458 -0.504659 -vn -0.682306 0.642739 -0.348346 -vn -0.576935 0.677233 -0.456619 -vn -0.682306 0.642739 -0.348346 -vn -0.641577 0.697453 -0.319279 -vn -0.576935 0.677233 -0.456619 -vn -0.484964 0.591691 -0.643982 -vn -0.597176 0.623458 -0.504659 -vn -0.445043 0.671109 -0.592916 -vn -0.597176 0.623458 -0.504659 -vn -0.576935 0.677233 -0.456619 -vn -0.445043 0.671109 -0.592916 -vn -0.484964 0.591691 -0.643982 -vn -0.445043 0.671109 -0.592916 -vn -0.297017 0.614079 -0.731223 -vn -0.445043 0.671109 -0.592916 -vn -0.311586 0.626785 -0.714181 -vn -0.297017 0.614079 -0.731223 -vn -0.160628 0.572026 -0.804354 -vn -0.167735 0.583693 -0.794460 -vn 0.000000 0.566902 -0.823785 -vn -0.167735 0.583693 -0.794460 -vn 0.000000 0.578067 -0.815989 -vn 0.000000 0.566902 -0.823785 -vn -0.827008 0.305512 0.471932 -vn -0.787499 0.326946 0.522448 -vn -0.663248 0.596004 0.452638 -vn -0.787499 0.326946 0.522448 -vn -0.865780 0.298022 0.402004 -vn -0.663248 0.596004 0.452638 -vn -0.887417 0.192326 0.418929 -vn -0.790440 0.189724 0.582417 -vn -0.895262 0.186285 0.404727 -vn -0.790440 0.189724 0.582417 -vn -0.775527 -0.000898 0.631313 -vn -0.895262 0.186285 0.404727 -vn -0.883142 0.315792 0.346895 -vn -0.879022 -0.245419 0.408766 -vn -0.964631 0.193831 0.178653 -vn -0.643794 0.051604 0.763457 -vn -0.645109 -0.423749 0.635823 -vn -0.734614 -0.292666 0.612119 -vn -0.827008 0.305512 0.471932 -vn -0.722072 0.167012 0.671356 -vn -0.731349 0.176702 0.658715 -vn -0.722072 0.167012 0.671356 -vn -0.822162 0.061563 0.565915 -vn -0.731349 0.176702 0.658715 -vn -0.731349 0.176702 0.658715 -vn -0.822162 0.061563 0.565915 -vn -0.687158 0.108164 0.718411 -vn -0.827008 0.305512 0.471932 -vn -0.663248 0.596004 0.452638 -vn -0.665715 0.458373 0.588828 -vn -0.141923 0.004781 -0.989866 -vn -0.141285 0.197838 -0.969999 -vn -0.000000 0.003909 -0.999992 -vn -0.141285 0.197838 -0.969999 -vn 0.000000 0.169328 -0.985560 -vn -0.000000 0.003909 -0.999992 -vn -0.549889 0.016593 -0.835073 -vn -0.556365 0.235871 -0.796758 -vn -0.341784 0.005125 -0.939765 -vn -0.556365 0.235871 -0.796758 -vn -0.340643 0.199708 -0.918738 -vn -0.341784 0.005125 -0.939765 -vn -0.879747 0.084713 -0.467833 -vn -0.838201 0.338530 -0.427570 -vn -0.732050 0.035948 -0.680302 -vn -0.838201 0.338530 -0.427570 -vn -0.730079 0.280919 -0.622953 -vn -0.732050 0.035948 -0.680302 -vn -0.963144 0.096949 -0.250908 -vn -0.899654 0.371805 -0.228876 -vn -0.879747 0.084713 -0.467833 -vn -0.899654 0.371805 -0.228876 -vn -0.838201 0.338530 -0.427570 -vn -0.879747 0.084713 -0.467833 -vn -0.952537 0.082086 0.293147 -vn -0.955533 0.229356 0.185346 -vn -0.963144 0.096949 -0.250908 -vn -0.955533 0.229356 0.185346 -vn -0.899654 0.371805 -0.228876 -vn -0.963144 0.096949 -0.250908 -vn -0.645109 -0.423749 0.635823 -vn -0.652378 0.102382 0.750946 -vn -0.762062 -0.580087 0.287682 -vn -0.652378 0.102382 0.750946 -vn -0.817308 0.373606 0.438665 -vn -0.762062 -0.580087 0.287682 -vn -0.066628 0.586188 0.807431 -vn -0.933139 -0.256382 0.252030 -vn -0.829370 -0.508464 0.231538 -vn -0.829370 -0.508464 0.231538 -vn -0.482375 0.684024 0.547198 -vn -0.066628 0.586188 0.807431 -vn -0.933139 -0.256382 0.252030 -vn -0.066628 0.586188 0.807431 -vn -0.950169 -0.026411 0.310615 -vn -0.066628 0.586188 0.807431 -vn 0.074275 0.267465 0.960701 -vn -0.950169 -0.026411 0.310615 -vn -0.955533 0.229356 0.185346 -vn -0.172799 -0.451525 0.875366 -vn -0.818615 -0.123715 0.560860 -vn -0.818615 -0.123715 0.560860 -vn -0.887379 0.408080 0.214547 -vn -0.955533 0.229356 0.185346 -vn 0.096717 0.033816 0.994737 -vn -0.172799 -0.451525 0.875366 -vn -0.955533 0.229356 0.185346 -vn -0.955533 0.229356 0.185346 -vn -0.952537 0.082086 0.293147 -vn 0.096717 0.033816 0.994737 -vn -0.127120 -0.776749 -0.616849 -vn -0.105150 -0.721120 -0.684785 -vn -0.000000 -0.775130 -0.631802 -vn -0.105150 -0.721120 -0.684785 -vn 0.000000 -0.711059 -0.703132 -vn -0.000000 -0.775130 -0.631802 -vn -0.213971 -0.821557 -0.528451 -vn -0.219380 -0.740034 -0.635784 -vn -0.127120 -0.776749 -0.616849 -vn -0.219380 -0.740034 -0.635784 -vn -0.105150 -0.721120 -0.684785 -vn -0.127120 -0.776749 -0.616849 -vn -0.372727 -0.870575 -0.321206 -vn -0.433962 -0.796400 -0.421218 -vn -0.308118 -0.845792 -0.435546 -vn -0.433962 -0.796400 -0.421218 -vn -0.339986 -0.770658 -0.538977 -vn -0.308118 -0.845792 -0.435546 -vn -0.411066 -0.888894 -0.202218 -vn -0.499176 -0.817395 -0.287557 -vn -0.372727 -0.870575 -0.321206 -vn -0.499176 -0.817395 -0.287557 -vn -0.433962 -0.796400 -0.421218 -vn -0.372727 -0.870575 -0.321206 -vn -0.440580 -0.890619 -0.112635 -vn -0.547229 -0.823054 -0.152061 -vn -0.411066 -0.888894 -0.202218 -vn -0.547229 -0.823054 -0.152061 -vn -0.499176 -0.817395 -0.287557 -vn -0.411066 -0.888894 -0.202218 -vn -0.762062 -0.580087 0.287682 -vn -0.829370 -0.508464 0.231538 -vn -0.440580 -0.890619 -0.112635 -vn -0.829370 -0.508464 0.231538 -vn -0.547229 -0.823054 -0.152061 -vn -0.440580 -0.890619 -0.112635 -vn -0.762062 -0.580087 0.287682 -vn -0.817308 0.373606 0.438665 -vn -0.829370 -0.508464 0.231538 -vn -0.817308 0.373606 0.438665 -vn -0.482375 0.684024 0.547198 -vn -0.829370 -0.508464 0.231538 -vn -0.822162 0.061563 0.565915 -vn -0.722072 0.167012 0.671356 -vn -0.980730 -0.192660 -0.032425 -vn -0.722072 0.167012 0.671356 -vn -0.968206 -0.249820 0.012937 -vn -0.980730 -0.192660 -0.032425 -vn -0.652378 0.102382 0.750946 -vn -0.926853 0.296065 0.230845 -vn -0.817308 0.373606 0.438665 -vn -0.849402 0.514429 0.117811 -vn -0.044560 0.961925 0.269656 -vn -0.817308 0.373606 0.438665 -vn -0.482375 0.684024 0.547198 -vn 0.454056 0.816322 0.357003 -vn -0.066628 0.586188 0.807431 -vn 0.454056 0.816322 0.357003 -vn 0.741744 0.469145 0.479291 -vn -0.066628 0.586188 0.807431 -vn -0.066628 0.586188 0.807431 -vn 0.741744 0.469145 0.479291 -vn 0.074275 0.267465 0.960701 -vn 0.741744 0.469145 0.479291 -vn 0.800068 0.182433 0.571498 -vn 0.074275 0.267465 0.960701 -vn -0.818615 -0.123715 0.560860 -vn -0.172799 -0.451525 0.875366 -vn 0.577310 -0.607635 0.545429 -vn -0.172799 -0.451525 0.875366 -vn 0.757302 -0.341398 0.556724 -vn 0.577310 -0.607635 0.545429 -vn -0.497236 -0.822134 0.277223 -vn -0.489758 -0.824720 0.282797 -vn -0.429055 -0.842434 0.325909 -vn -0.489758 -0.824720 0.282797 -vn -0.413625 -0.846061 0.336297 -vn -0.429055 -0.842434 0.325909 -vn -0.172799 -0.451525 0.875366 -vn 0.096717 0.033816 0.994737 -vn 0.757302 -0.341398 0.556724 -vn 0.096717 0.033816 0.994737 -vn 0.846383 -0.041168 0.530981 -vn 0.757302 -0.341398 0.556724 -vn -0.817308 0.373606 0.438665 -vn -0.044560 0.961925 0.269656 -vn -0.482375 0.684024 0.547198 -vn -0.044560 0.961925 0.269656 -vn 0.454056 0.816322 0.357003 -vn -0.482375 0.684024 0.547198 -vn -0.722072 0.167012 0.671356 -vn -0.827008 0.305512 0.471932 -vn -0.665715 0.458373 0.588828 -vn -0.665715 0.458373 0.588828 -vn -0.887379 0.408080 0.214547 -vn -0.818615 -0.123715 0.560860 -vn -0.818615 -0.123715 0.560860 -vn -0.722072 0.167012 0.671356 -vn -0.665715 0.458373 0.588828 -vn -0.822162 0.061563 0.565915 -vn -0.807536 0.080137 0.584349 -vn -0.687158 0.108164 0.718411 -vn -0.807536 0.080137 0.584349 -vn -0.643614 0.102220 0.758493 -vn -0.687158 0.108164 0.718411 -vn -0.980730 -0.192660 -0.032425 -vn -0.992109 -0.110931 -0.058437 -vn -0.822162 0.061563 0.565915 -vn -0.992109 -0.110931 -0.058437 -vn -0.807536 0.080137 0.584349 -vn -0.822162 0.061563 0.565915 -vn -0.643794 0.051604 0.763457 -vn -0.652378 0.102382 0.750946 -vn -0.645109 -0.423749 0.635823 -vn -0.762062 -0.580087 0.287682 -vn -0.693869 -0.717639 -0.059504 -vn -0.645109 -0.423749 0.635823 -vn -0.693869 -0.717639 -0.059504 -vn -0.734614 -0.292666 0.612119 -vn -0.645109 -0.423749 0.635823 -vn -0.688953 -0.713776 -0.125968 -vn -0.936547 -0.324609 -0.132316 -vn -0.693869 -0.717639 -0.059504 -vn -0.936547 -0.324609 -0.132316 -vn -0.951661 -0.299535 -0.067968 -vn -0.693869 -0.717639 -0.059504 -vn -0.695502 0.699074 -0.166048 -vn -0.737048 0.630837 -0.242495 -vn -0.641577 0.697453 -0.319279 -vn -0.576935 0.677233 -0.456619 -vn -0.641577 0.697453 -0.319279 -vn -0.657376 0.599430 -0.456663 -vn -0.641577 0.697453 -0.319279 -vn -0.737048 0.630837 -0.242495 -vn -0.657376 0.599430 -0.456663 -vn -0.445043 0.671109 -0.592916 -vn -0.576935 0.677233 -0.456619 -vn -0.522000 0.565707 -0.638350 -vn -0.576935 0.677233 -0.456619 -vn -0.657376 0.599430 -0.456663 -vn -0.522000 0.565707 -0.638350 -vn -0.445043 0.671109 -0.592916 -vn -0.522000 0.565707 -0.638350 -vn -0.311586 0.626785 -0.714181 -vn -0.522000 0.565707 -0.638350 -vn -0.366912 0.544933 -0.753938 -vn -0.311586 0.626785 -0.714181 -vn -0.167735 0.583693 -0.794460 -vn -0.182275 0.548030 -0.816357 -vn 0.000000 0.578067 -0.815989 -vn -0.182275 0.548030 -0.816357 -vn 0.000000 0.566147 -0.824304 -vn 0.000000 0.578067 -0.815989 -vn -0.522554 0.775614 -0.354063 -vn -0.657376 0.599430 -0.456663 -vn -0.531461 0.826347 -0.186276 -vn -0.657376 0.599430 -0.456663 -vn -0.737048 0.630837 -0.242495 -vn -0.531461 0.826347 -0.186276 -vn -0.124090 0.987698 -0.095156 -vn 0.000000 0.996295 -0.085997 -vn -0.155681 0.954668 -0.253718 -vn 0.000000 0.996295 -0.085997 -vn 0.000000 0.968551 -0.248813 -vn -0.155681 0.954668 -0.253718 -vn -0.155681 0.954668 -0.253718 -vn 0.000000 0.968551 -0.248813 -vn -0.174351 0.814871 -0.552800 -vn 0.000000 0.968551 -0.248813 -vn -0.000000 0.828372 -0.560179 -vn -0.174351 0.814871 -0.552800 -vn -0.370339 0.773014 -0.515071 -vn -0.522000 0.565707 -0.638350 -vn -0.522554 0.775614 -0.354063 -vn -0.522000 0.565707 -0.638350 -vn -0.657376 0.599430 -0.456663 -vn -0.522554 0.775614 -0.354063 -vn -0.366912 0.544933 -0.753938 -vn -0.522000 0.565707 -0.638350 -vn -0.370339 0.773014 -0.515071 -vn 0.000000 0.566147 -0.824304 -vn -0.182275 0.548030 -0.816357 -vn -0.000000 0.828372 -0.560179 -vn -0.182275 0.548030 -0.816357 -vn -0.174351 0.814871 -0.552800 -vn -0.000000 0.828372 -0.560179 -vn -0.370339 0.773014 -0.515071 -vn -0.522554 0.775614 -0.354063 -vn -0.283844 0.920677 -0.267929 -vn -0.283844 0.920677 -0.267929 -vn -0.522554 0.775614 -0.354063 -vn -0.289060 0.948825 -0.127180 -vn -0.522554 0.775614 -0.354063 -vn -0.531461 0.826347 -0.186276 -vn -0.289060 0.948825 -0.127180 -vn -0.811511 0.582008 0.052118 -vn -0.813126 0.562843 0.148437 -vn -0.564449 0.824801 0.033177 -vn -0.813126 0.562843 0.148437 -vn -0.586343 0.801355 0.118456 -vn -0.564449 0.824801 0.033177 -vn -0.107263 0.993482 0.038571 -vn -0.101507 0.989456 0.103309 -vn -0.000000 0.999113 0.042110 -vn -0.101507 0.989456 0.103309 -vn -0.000000 0.994745 0.102388 -vn -0.000000 0.999113 0.042110 -vn -0.564449 0.824801 0.033177 -vn -0.586343 0.801355 0.118456 -vn -0.285655 0.957858 0.030146 -vn -0.586343 0.801355 0.118456 -vn -0.271656 0.956444 0.106859 -vn -0.285655 0.957858 0.030146 -vn -0.675523 0.489859 0.551096 -vn -0.504243 0.754679 0.419760 -vn -0.790476 0.510996 0.337684 -vn -0.504243 0.754679 0.419760 -vn -0.566436 0.773715 0.283751 -vn -0.790476 0.510996 0.337684 -vn -0.306688 0.839558 0.448424 -vn -0.504243 0.754679 0.419760 -vn -0.395709 0.594759 0.699769 -vn -0.504243 0.754679 0.419760 -vn -0.675523 0.489859 0.551096 -vn -0.395709 0.594759 0.699769 -vn 0.000000 0.644588 0.764530 -vn -0.000000 0.890696 0.454600 -vn -0.172841 0.641260 0.747604 -vn -0.000000 0.890696 0.454600 -vn -0.151422 0.882115 0.446031 -vn -0.172841 0.641260 0.747604 -vn -0.114776 0.969606 0.216080 -vn -0.151422 0.882115 0.446031 -vn -0.000000 0.977356 0.211603 -vn -0.151422 0.882115 0.446031 -vn -0.000000 0.890696 0.454600 -vn -0.000000 0.977356 0.211603 -vn -0.306688 0.839558 0.448424 -vn -0.269387 0.933644 0.236092 -vn -0.504243 0.754679 0.419760 -vn -0.269387 0.933644 0.236092 -vn -0.566436 0.773715 0.283751 -vn -0.504243 0.754679 0.419760 -vn -0.775527 -0.000898 0.631313 -vn -0.790440 0.189724 0.582417 -vn -0.992653 0.114144 0.040135 -vn -0.879022 -0.245419 0.408766 -vn -0.775527 -0.000898 0.631313 -vn -0.992653 0.114144 0.040135 -vn -0.964631 0.193831 0.178653 -vn -0.879022 -0.245419 0.408766 -vn -0.992653 0.114144 0.040135 -vn -0.992653 0.114144 0.040135 -vn -0.965976 0.251500 0.060315 -vn -0.964631 0.193831 0.178653 -vn -0.787499 0.326946 0.522448 -vn -0.827008 0.305512 0.471932 -vn -0.998468 0.034872 0.042952 -vn -0.827008 0.305512 0.471932 -vn -0.731349 0.176702 0.658715 -vn -0.998468 0.034872 0.042952 -vn -0.941576 0.289157 0.172692 -vn -0.965976 0.251500 0.060315 -vn -0.987901 0.136372 0.073847 -vn -0.965976 0.251500 0.060315 -vn -0.992653 0.114144 0.040135 -vn -0.987901 0.136372 0.073847 -vn -0.965976 0.251500 0.060315 -vn -0.941576 0.289157 0.172692 -vn -0.905940 0.384539 0.177207 -vn -0.921473 0.383876 0.059379 -vn -0.965976 0.251500 0.060315 -vn -0.905940 0.384539 0.177207 -vn -0.730356 0.204967 0.651589 -vn -0.736229 0.256875 0.626085 -vn -0.877960 0.234283 0.417490 -vn -0.736229 0.256875 0.626085 -vn -0.859273 0.317420 0.401117 -vn -0.877960 0.234283 0.417490 -vn -0.730356 0.204967 0.651589 -vn -0.478164 0.165313 0.862572 -vn -0.736229 0.256875 0.626085 -vn -0.478164 0.165313 0.862572 -vn -0.464356 0.290440 0.836671 -vn -0.736229 0.256875 0.626085 -vn -0.000000 0.342544 0.939502 -vn -0.190440 0.332540 0.923661 -vn 0.000000 0.200670 0.979659 -vn -0.190440 0.332540 0.923661 -vn -0.189718 0.191129 0.963056 -vn 0.000000 0.200670 0.979659 -vn -0.811511 0.582008 0.052118 -vn -0.921473 0.383876 0.059379 -vn -0.813126 0.562843 0.148437 -vn -0.921473 0.383876 0.059379 -vn -0.905940 0.384539 0.177207 -vn -0.813126 0.562843 0.148437 -vn -0.859273 0.317420 0.401117 -vn -0.736229 0.256875 0.626085 -vn -0.790476 0.510996 0.337684 -vn -0.736229 0.256875 0.626085 -vn -0.675523 0.489859 0.551096 -vn -0.790476 0.510996 0.337684 -vn -0.395709 0.594759 0.699769 -vn -0.675523 0.489859 0.551096 -vn -0.464356 0.290440 0.836671 -vn -0.675523 0.489859 0.551096 -vn -0.736229 0.256875 0.626085 -vn -0.464356 0.290440 0.836671 -vn -0.190440 0.332540 0.923661 -vn -0.000000 0.342544 0.939502 -vn -0.172841 0.641260 0.747604 -vn -0.000000 0.342544 0.939502 -vn 0.000000 0.644588 0.764530 -vn -0.172841 0.641260 0.747604 -vn -0.113784 0.993394 -0.014901 -vn -0.107263 0.993482 0.038571 -vn -0.000000 0.999950 -0.010010 -vn -0.107263 0.993482 0.038571 -vn -0.000000 0.999113 0.042110 -vn -0.000000 0.999950 -0.010010 -vn -0.285655 0.957858 0.030146 -vn -0.293378 0.955452 -0.032274 -vn -0.564449 0.824801 0.033177 -vn -0.293378 0.955452 -0.032274 -vn -0.558464 0.827906 -0.051870 -vn -0.564449 0.824801 0.033177 -vn -0.558464 0.827906 -0.051870 -vn -0.795044 0.603545 -0.060330 -vn -0.564449 0.824801 0.033177 -vn -0.795044 0.603545 -0.060330 -vn -0.811511 0.582008 0.052118 -vn -0.564449 0.824801 0.033177 -vn -0.872500 0.486439 0.046048 -vn -0.921473 0.383876 0.059379 -vn -0.795044 0.603545 -0.060330 -vn -0.921473 0.383876 0.059379 -vn -0.811511 0.582008 0.052118 -vn -0.795044 0.603545 -0.060330 -vn -0.910702 0.410936 -0.041879 -vn -0.775796 0.611274 -0.156478 -vn -0.887379 0.408080 0.214547 -vn -0.665715 0.458373 0.588828 -vn -0.663248 0.596004 0.452638 -vn -0.910702 0.410936 -0.041879 -vn -0.795044 0.603545 -0.060330 -vn -0.558464 0.827906 -0.051870 -vn -0.737048 0.630837 -0.242495 -vn -0.558464 0.827906 -0.051870 -vn -0.531461 0.826347 -0.186276 -vn -0.737048 0.630837 -0.242495 -vn -0.558464 0.827906 -0.051870 -vn -0.293378 0.955452 -0.032274 -vn -0.531461 0.826347 -0.186276 -vn -0.293378 0.955452 -0.032274 -vn -0.289060 0.948825 -0.127180 -vn -0.531461 0.826347 -0.186276 -vn 0.000000 0.996295 -0.085997 -vn -0.124090 0.987698 -0.095156 -vn -0.000000 0.999950 -0.010010 -vn -0.124090 0.987698 -0.095156 -vn -0.113784 0.993394 -0.014901 -vn -0.000000 0.999950 -0.010010 -vn -0.895262 0.186285 0.404727 -vn -0.775527 -0.000898 0.631313 -vn -0.883142 0.315792 0.346895 -vn -0.775527 -0.000898 0.631313 -vn -0.879022 -0.245419 0.408766 -vn -0.883142 0.315792 0.346895 -vn -0.964631 0.193831 0.178653 -vn -0.872500 0.486439 0.046048 -vn -0.883142 0.315792 0.346895 -vn -0.737048 0.630837 -0.242495 -vn -0.695502 0.699074 -0.166048 -vn -0.795044 0.603545 -0.060330 -vn -0.695502 0.699074 -0.166048 -vn -0.872500 0.486439 0.046048 -vn -0.795044 0.603545 -0.060330 -vn -0.762062 -0.580087 0.287682 -vn -0.440580 -0.890619 -0.112635 -vn -0.693869 -0.717639 -0.059504 -vn -0.440580 -0.890619 -0.112635 -vn -0.688953 -0.713776 -0.125968 -vn -0.693869 -0.717639 -0.059504 -vn -0.643614 0.102220 0.758493 -vn -0.643794 0.051604 0.763457 -vn -0.869836 -0.056841 0.490055 -vn -0.643794 0.051604 0.763457 -vn -0.833627 -0.033590 0.551305 -vn -0.869836 -0.056841 0.490055 -vn -0.807536 0.080137 0.584349 -vn -0.652378 0.102382 0.750946 -vn -0.643614 0.102220 0.758493 -vn -0.652378 0.102382 0.750946 -vn -0.643794 0.051604 0.763457 -vn -0.643614 0.102220 0.758493 -vn -0.652378 0.102382 0.750946 -vn -0.807536 0.080137 0.584349 -vn -0.926853 0.296065 0.230845 -vn -0.807536 0.080137 0.584349 -vn -0.992109 -0.110931 -0.058437 -vn -0.849402 0.514429 0.117811 -vn -0.998468 0.034872 0.042952 -vn -0.992653 0.114144 0.040135 -vn -0.787499 0.326946 0.522448 -vn 0.000000 0.077721 -0.996975 -vn -0.103853 0.070740 -0.992074 -vn 0.000000 0.152101 -0.988365 -vn -0.103853 0.070740 -0.992074 -vn -0.170294 0.181676 -0.968501 -vn 0.000000 0.152101 -0.988365 -vn -0.402909 -0.008557 -0.915200 -vn -0.339259 0.010099 -0.940639 -vn -0.394310 0.036711 -0.918244 -vn -0.339259 0.010099 -0.940639 -vn -0.341576 0.029789 -0.939382 -vn -0.394310 0.036711 -0.918244 -vn -0.402909 -0.008557 -0.915200 -vn -0.394310 0.036711 -0.918244 -vn -0.452658 0.019859 -0.891463 -vn -0.394310 0.036711 -0.918244 -vn -0.426493 0.056983 -0.902694 -vn -0.452658 0.019859 -0.891463 -vn -0.911055 0.107518 -0.398019 -vn -0.891648 0.172871 -0.418426 -vn -0.783256 0.126122 -0.608772 -vn -0.891648 0.172871 -0.418426 -vn -0.767576 0.190717 -0.611926 -vn -0.783256 0.126122 -0.608772 -vn -0.978524 0.071526 -0.193328 -vn -0.963287 0.140801 -0.228590 -vn -0.911055 0.107518 -0.398019 -vn -0.963287 0.140801 -0.228590 -vn -0.891648 0.172871 -0.418426 -vn -0.911055 0.107518 -0.398019 -vn -0.784323 -0.020364 0.620019 -vn -0.791556 -0.097603 0.603252 -vn -0.804548 -0.044303 0.592232 -vn -0.643794 0.051604 0.763457 -vn -0.865823 -0.075119 0.494680 -vn -0.784323 -0.020364 0.620019 -vn -0.865823 -0.075119 0.494680 -vn -0.894455 -0.085918 0.438825 -vn -0.784323 -0.020364 0.620019 -vn -0.894455 -0.085918 0.438825 -vn -0.865823 -0.075119 0.494680 -vn -0.987210 -0.158821 -0.013868 -vn -0.865823 -0.075119 0.494680 -vn -0.951661 -0.299535 -0.067968 -vn -0.987210 -0.158821 -0.013868 -vn -0.936547 -0.324609 -0.132316 -vn -0.986121 -0.113166 -0.121487 -vn -0.951661 -0.299535 -0.067968 -vn -0.986121 -0.113166 -0.121487 -vn -0.987210 -0.158821 -0.013868 -vn -0.951661 -0.299535 -0.067968 -vn -0.911130 -0.251282 -0.326649 -vn -0.944819 -0.103296 -0.310882 -vn -0.936547 -0.324609 -0.132316 -vn -0.944819 -0.103296 -0.310882 -vn -0.986121 -0.113166 -0.121487 -vn -0.936547 -0.324609 -0.132316 -vn -0.776501 -0.261174 -0.573441 -vn -0.817637 -0.091284 -0.568451 -vn -0.911130 -0.251282 -0.326649 -vn -0.817637 -0.091284 -0.568451 -vn -0.944819 -0.103296 -0.310882 -vn -0.911130 -0.251282 -0.326649 -vn -0.582436 -0.291964 -0.758634 -vn -0.615939 -0.083779 -0.783326 -vn -0.776501 -0.261174 -0.573441 -vn -0.615939 -0.083779 -0.783326 -vn -0.817637 -0.091284 -0.568451 -vn -0.776501 -0.261174 -0.573441 -vn -0.203644 -0.349140 -0.914675 -vn -0.205817 -0.136223 -0.969063 -vn -0.389637 -0.317883 -0.864369 -vn -0.205817 -0.136223 -0.969063 -vn -0.394315 -0.101461 -0.913357 -vn -0.389637 -0.317883 -0.864369 -vn 0.000000 -0.346225 -0.938152 -vn 0.000000 -0.144658 -0.989482 -vn -0.203644 -0.349140 -0.914675 -vn 0.000000 -0.144658 -0.989482 -vn -0.205817 -0.136223 -0.969063 -vn -0.203644 -0.349140 -0.914675 -vn 0.000000 -0.139213 -0.990262 -vn -0.143223 -0.147346 -0.978661 -vn -0.000000 0.003909 -0.999992 -vn -0.143223 -0.147346 -0.978661 -vn -0.141923 0.004781 -0.989866 -vn -0.000000 0.003909 -0.999992 -vn -0.338040 -0.168109 -0.925996 -vn -0.341784 0.005125 -0.939765 -vn -0.143223 -0.147346 -0.978661 -vn -0.341784 0.005125 -0.939765 -vn -0.141923 0.004781 -0.989866 -vn -0.143223 -0.147346 -0.978661 -vn -0.707443 -0.172771 -0.685328 -vn -0.732050 0.035948 -0.680302 -vn -0.530815 -0.169218 -0.830422 -vn -0.732050 0.035948 -0.680302 -vn -0.549889 0.016593 -0.835073 -vn -0.530815 -0.169218 -0.830422 -vn -0.861660 -0.163786 -0.480330 -vn -0.879747 0.084713 -0.467833 -vn -0.707443 -0.172771 -0.685328 -vn -0.879747 0.084713 -0.467833 -vn -0.732050 0.035948 -0.680302 -vn -0.707443 -0.172771 -0.685328 -vn -0.957770 -0.134386 -0.254199 -vn -0.963144 0.096949 -0.250908 -vn -0.861660 -0.163786 -0.480330 -vn -0.963144 0.096949 -0.250908 -vn -0.879747 0.084713 -0.467833 -vn -0.861660 -0.163786 -0.480330 -vn -0.950169 -0.026411 0.310615 -vn -0.952537 0.082086 0.293147 -vn -0.957770 -0.134386 -0.254199 -vn -0.952537 0.082086 0.293147 -vn -0.963144 0.096949 -0.250908 -vn -0.957770 -0.134386 -0.254199 -vn -0.952537 0.082086 0.293147 -vn -0.950169 -0.026411 0.310615 -vn 0.096717 0.033816 0.994737 -vn -0.950169 -0.026411 0.310615 -vn 0.074275 0.267465 0.960701 -vn 0.096717 0.033816 0.994737 -vn 0.074275 0.267465 0.960701 -vn 0.800068 0.182433 0.571498 -vn 0.096717 0.033816 0.994737 -vn 0.800068 0.182433 0.571498 -vn 0.846383 -0.041168 0.530981 -vn 0.096717 0.033816 0.994737 -vn -0.869836 -0.056841 0.490055 -vn -0.905834 -0.117974 0.406875 -vn -0.643614 0.102220 0.758493 -vn -0.905834 -0.117974 0.406875 -vn -0.687158 0.108164 0.718411 -vn -0.643614 0.102220 0.758493 -vn -0.965976 0.251500 0.060315 -vn -0.921473 0.383876 0.059379 -vn -0.964631 0.193831 0.178653 -vn -0.921473 0.383876 0.059379 -vn -0.872500 0.486439 0.046048 -vn -0.964631 0.193831 0.178653 -vn -0.614486 0.229061 -0.754942 -vn -0.698707 0.118060 -0.705599 -vn -0.767576 0.190717 -0.611926 -vn -0.698707 0.118060 -0.705599 -vn -0.783256 0.126122 -0.608772 -vn -0.767576 0.190717 -0.611926 -vn -0.727146 0.408695 -0.551567 -vn -0.783256 0.126122 -0.608772 -vn -0.561493 0.486609 -0.669281 -vn -0.783256 0.126122 -0.608772 -vn -0.698707 0.118060 -0.705599 -vn -0.561493 0.486609 -0.669281 -vn -0.670026 0.523745 -0.526076 -vn -0.727146 0.408695 -0.551567 -vn -0.515036 0.508272 -0.690216 -vn -0.727146 0.408695 -0.551567 -vn -0.561493 0.486609 -0.669281 -vn -0.515036 0.508272 -0.690216 -vn -0.730079 0.280919 -0.622953 -vn -0.670026 0.523745 -0.526076 -vn -0.556365 0.235871 -0.796758 -vn -0.670026 0.523745 -0.526076 -vn -0.515036 0.508272 -0.690216 -vn -0.556365 0.235871 -0.796758 -vn -0.732050 0.035948 -0.680302 -vn -0.730079 0.280919 -0.622953 -vn -0.549889 0.016593 -0.835073 -vn -0.730079 0.280919 -0.622953 -vn -0.556365 0.235871 -0.796758 -vn -0.549889 0.016593 -0.835073 -vn -0.137038 0.934417 -0.328765 -vn -0.141598 0.929887 -0.339500 -vn -0.229349 0.870656 -0.435152 -vn -0.141598 0.929887 -0.339500 -vn -0.233757 0.866197 -0.441656 -vn -0.229349 0.870656 -0.435152 -vn -0.151357 0.841808 -0.518122 -vn -0.141598 0.929887 -0.339500 -vn -0.149833 0.848035 -0.508318 -vn -0.141598 0.929887 -0.339500 -vn -0.137038 0.934417 -0.328765 -vn -0.149833 0.848035 -0.508318 -vn -0.783017 -0.101303 -0.613695 -vn -0.787275 -0.100989 -0.608275 -vn -0.819661 -0.094117 -0.565065 -vn -0.787275 -0.100989 -0.608275 -vn -0.824120 -0.095081 -0.558377 -vn -0.819661 -0.094117 -0.565065 -vn 0.219733 -0.075510 -0.972633 -vn 0.113867 -0.056451 -0.991891 -vn 0.207125 -0.070360 -0.975781 -vn 0.113867 -0.056451 -0.991891 -vn 0.100825 -0.056839 -0.993279 -vn 0.207125 -0.070360 -0.975781 -vn -0.796721 -0.072073 -0.600035 -vn -0.819661 -0.094117 -0.565065 -vn -0.799694 -0.074176 -0.595808 -vn -0.819661 -0.094117 -0.565065 -vn -0.824120 -0.095081 -0.558377 -vn -0.799694 -0.074176 -0.595808 -vn -0.262423 -0.608163 -0.749181 -vn -0.262466 -0.605799 -0.751078 -vn -0.326439 -0.587395 -0.740544 -vn -0.262466 -0.605799 -0.751078 -vn -0.325064 -0.583268 -0.744400 -vn -0.326439 -0.587395 -0.740544 -vn -0.325064 -0.583268 -0.744400 -vn -0.368755 -0.617809 -0.694501 -vn -0.326439 -0.587395 -0.740544 -vn -0.368755 -0.617809 -0.694501 -vn -0.366732 -0.621124 -0.692613 -vn -0.326439 -0.587395 -0.740544 -vn 0.135651 -0.058713 -0.989016 -vn 0.144397 -0.062565 -0.987540 -vn 0.207125 -0.070360 -0.975781 -vn 0.144397 -0.062565 -0.987540 -vn 0.219733 -0.075510 -0.972633 -vn 0.207125 -0.070360 -0.975781 -vn -0.530815 -0.169218 -0.830422 -vn -0.549889 0.016593 -0.835073 -vn -0.338040 -0.168109 -0.925996 -vn -0.549889 0.016593 -0.835073 -vn -0.341784 0.005125 -0.939765 -vn -0.338040 -0.168109 -0.925996 -vn -0.474424 -0.451462 -0.755715 -vn -0.530815 -0.169218 -0.830422 -vn -0.298918 -0.442208 -0.845636 -vn -0.530815 -0.169218 -0.830422 -vn -0.338040 -0.168109 -0.925996 -vn -0.298918 -0.442208 -0.845636 -vn -0.339986 -0.770658 -0.538977 -vn -0.474424 -0.451462 -0.755715 -vn -0.219380 -0.740034 -0.635784 -vn -0.474424 -0.451462 -0.755715 -vn -0.298918 -0.442208 -0.845636 -vn -0.219380 -0.740034 -0.635784 -vn -0.308118 -0.845792 -0.435546 -vn -0.339986 -0.770658 -0.538977 -vn -0.213971 -0.821557 -0.528451 -vn -0.339986 -0.770658 -0.538977 -vn -0.219380 -0.740034 -0.635784 -vn -0.213971 -0.821557 -0.528451 -vn -0.450135 -0.670894 -0.589305 -vn -0.308118 -0.845792 -0.435546 -vn -0.303200 -0.657246 -0.689998 -vn -0.308118 -0.845792 -0.435546 -vn -0.213971 -0.821557 -0.528451 -vn -0.303200 -0.657246 -0.689998 -vn -0.303200 -0.657246 -0.689998 -vn -0.389637 -0.317883 -0.864369 -vn -0.450135 -0.670894 -0.589305 -vn -0.389637 -0.317883 -0.864369 -vn -0.582436 -0.291964 -0.758634 -vn -0.450135 -0.670894 -0.589305 -vn -0.389637 -0.317883 -0.864369 -vn -0.394315 -0.101461 -0.913357 -vn -0.582436 -0.291964 -0.758634 -vn -0.394315 -0.101461 -0.913357 -vn -0.615939 -0.083779 -0.783326 -vn -0.582436 -0.291964 -0.758634 -vn -0.341784 0.005125 -0.939765 -vn -0.340643 0.199708 -0.918738 -vn -0.141923 0.004781 -0.989866 -vn -0.340643 0.199708 -0.918738 -vn -0.141285 0.197838 -0.969999 -vn -0.141923 0.004781 -0.989866 -vn -0.379772 0.322230 -0.867145 -vn -0.297017 0.614079 -0.731223 -vn -0.186911 0.318785 -0.929215 -vn -0.297017 0.614079 -0.731223 -vn -0.160628 0.572026 -0.804354 -vn -0.186911 0.318785 -0.929215 -vn -0.297017 0.614079 -0.731223 -vn -0.311586 0.626785 -0.714181 -vn -0.160628 0.572026 -0.804354 -vn -0.311586 0.626785 -0.714181 -vn -0.167735 0.583693 -0.794460 -vn -0.160628 0.572026 -0.804354 -vn -0.311586 0.626785 -0.714181 -vn -0.366912 0.544933 -0.753938 -vn -0.167735 0.583693 -0.794460 -vn -0.366912 0.544933 -0.753938 -vn -0.182275 0.548030 -0.816357 -vn -0.167735 0.583693 -0.794460 -vn -0.182275 0.548030 -0.816357 -vn -0.366912 0.544933 -0.753938 -vn -0.174351 0.814871 -0.552800 -vn -0.366912 0.544933 -0.753938 -vn -0.370339 0.773014 -0.515071 -vn -0.174351 0.814871 -0.552800 -vn -0.174351 0.814871 -0.552800 -vn -0.370339 0.773014 -0.515071 -vn -0.155681 0.954668 -0.253718 -vn -0.370339 0.773014 -0.515071 -vn -0.283844 0.920677 -0.267929 -vn -0.155681 0.954668 -0.253718 -vn -0.155681 0.954668 -0.253718 -vn -0.283844 0.920677 -0.267929 -vn -0.124090 0.987698 -0.095156 -vn -0.283844 0.920677 -0.267929 -vn -0.289060 0.948825 -0.127180 -vn -0.124090 0.987698 -0.095156 -vn -0.124090 0.987698 -0.095156 -vn -0.289060 0.948825 -0.127180 -vn -0.113784 0.993394 -0.014901 -vn -0.289060 0.948825 -0.127180 -vn -0.293378 0.955452 -0.032274 -vn -0.113784 0.993394 -0.014901 -vn -0.107263 0.993482 0.038571 -vn -0.113784 0.993394 -0.014901 -vn -0.285655 0.957858 0.030146 -vn -0.113784 0.993394 -0.014901 -vn -0.293378 0.955452 -0.032274 -vn -0.285655 0.957858 0.030146 -vn -0.285655 0.957858 0.030146 -vn -0.271656 0.956444 0.106859 -vn -0.107263 0.993482 0.038571 -vn -0.271656 0.956444 0.106859 -vn -0.101507 0.989456 0.103309 -vn -0.107263 0.993482 0.038571 -vn -0.151422 0.882115 0.446031 -vn -0.114776 0.969606 0.216080 -vn -0.306688 0.839558 0.448424 -vn -0.114776 0.969606 0.216080 -vn -0.269387 0.933644 0.236092 -vn -0.306688 0.839558 0.448424 -vn -0.172841 0.641260 0.747604 -vn -0.151422 0.882115 0.446031 -vn -0.395709 0.594759 0.699769 -vn -0.151422 0.882115 0.446031 -vn -0.306688 0.839558 0.448424 -vn -0.395709 0.594759 0.699769 -vn -0.172841 0.641260 0.747604 -vn -0.395709 0.594759 0.699769 -vn -0.190440 0.332540 0.923661 -vn -0.395709 0.594759 0.699769 -vn -0.464356 0.290440 0.836671 -vn -0.190440 0.332540 0.923661 -vn -0.478164 0.165313 0.862572 -vn -0.189718 0.191129 0.963056 -vn -0.464356 0.290440 0.836671 -vn -0.189718 0.191129 0.963056 -vn -0.190440 0.332540 0.923661 -vn -0.464356 0.290440 0.836671 -vn -0.186911 0.318785 -0.929215 -vn -0.170294 0.181676 -0.968501 -vn -0.379772 0.322230 -0.867145 -vn -0.170294 0.181676 -0.968501 -vn -0.409926 0.237447 -0.880670 -vn -0.379772 0.322230 -0.867145 -vn 0.000000 0.303281 -0.952901 -vn 0.000000 0.152101 -0.988365 -vn -0.186911 0.318785 -0.929215 -vn 0.000000 0.152101 -0.988365 -vn -0.170294 0.181676 -0.968501 -vn -0.186911 0.318785 -0.929215 -vn -0.379772 0.322230 -0.867145 -vn -0.409926 0.237447 -0.880670 -vn -0.565694 0.317444 -0.761065 -vn -0.409926 0.237447 -0.880670 -vn -0.614486 0.229061 -0.754942 -vn -0.565694 0.317444 -0.761065 -vn -0.767576 0.190717 -0.611926 -vn -0.708098 0.345784 -0.615654 -vn -0.614486 0.229061 -0.754942 -vn -0.708098 0.345784 -0.615654 -vn -0.565694 0.317444 -0.761065 -vn -0.614486 0.229061 -0.754942 -vn -0.978524 0.071526 -0.193328 -vn -0.865780 0.298022 0.402004 -vn -0.963287 0.140801 -0.228590 -vn -0.963287 0.140801 -0.228590 -vn -0.865780 0.298022 0.402004 -vn -0.887417 0.192326 0.418929 -vn -0.787499 0.326946 0.522448 -vn -0.790440 0.189724 0.582417 -vn -0.865780 0.298022 0.402004 -vn -0.790440 0.189724 0.582417 -vn -0.887417 0.192326 0.418929 -vn -0.865780 0.298022 0.402004 -vn -0.790440 0.189724 0.582417 -vn -0.787499 0.326946 0.522448 -vn -0.992653 0.114144 0.040135 -vn -0.804548 -0.044303 0.592232 -vn -0.796174 -0.034614 0.604077 -vn -0.833627 -0.033590 0.551305 -vn -0.865823 -0.075119 0.494680 -vn -0.643794 0.051604 0.763457 -vn -0.734614 -0.292666 0.612119 -vn -0.998468 0.034872 0.042952 -vn -0.998297 0.019801 0.054872 -vn -0.992653 0.114144 0.040135 -vn -0.998297 0.019801 0.054872 -vn -0.987901 0.136372 0.073847 -vn -0.992653 0.114144 0.040135 -vn -0.731349 0.176702 0.658715 -vn -0.687158 0.108164 0.718411 -vn -0.926994 -0.129511 0.352007 -vn -0.687158 0.108164 0.718411 -vn -0.905834 -0.117974 0.406875 -vn -0.926994 -0.129511 0.352007 -vn -0.216505 -0.964012 0.154295 -vn -0.128723 -0.973951 0.186681 -vn -0.344016 -0.936633 0.066114 -vn -0.804548 -0.044303 0.592232 -vn -0.791053 -0.070536 0.607668 -vn -0.796174 -0.034614 0.604077 -vn -0.051570 -0.896247 0.440547 -vn -0.035555 -0.976723 0.211536 -vn -0.055472 -0.996740 -0.058593 -vn -0.035555 -0.976723 0.211536 -vn -0.040877 -0.998968 -0.019776 -vn -0.055472 -0.996740 -0.058593 -vn -0.173479 0.168867 0.970252 -vn -0.103368 0.223513 0.969204 -vn -0.170701 0.176661 0.969357 -vn -0.103368 0.223513 0.969204 -vn -0.097159 0.235044 0.967117 -vn -0.170701 0.176661 0.969357 -vn -0.052936 0.216365 0.974876 -vn -0.097159 0.235044 0.967117 -vn -0.064598 0.228971 0.971287 -vn -0.097159 0.235044 0.967117 -vn -0.103368 0.223513 0.969204 -vn -0.064598 0.228971 0.971287 -vn -0.170701 0.176661 0.969357 -vn -0.168149 0.101726 0.980499 -vn -0.173479 0.168867 0.970252 -vn -0.168149 0.101726 0.980499 -vn -0.164097 0.082307 0.983004 -vn -0.173479 0.168867 0.970252 -vn -0.064598 0.228971 0.971287 -vn -0.028834 -0.044924 0.998574 -vn -0.052936 0.216365 0.974876 -vn -0.028834 -0.044924 0.998574 -vn -0.002361 -0.045709 0.998952 -vn -0.052936 0.216365 0.974876 -vn -0.116158 0.033510 0.992665 -vn -0.164097 0.082307 0.983004 -vn -0.123951 0.033775 0.991713 -vn -0.164097 0.082307 0.983004 -vn -0.168149 0.101726 0.980499 -vn -0.123951 0.033775 0.991713 -vn -0.082393 -0.961065 0.263752 -vn -0.031297 -0.968343 0.247652 -vn -0.216505 -0.964012 0.154295 -vn -0.031297 -0.968343 0.247652 -vn -0.128723 -0.973951 0.186681 -vn -0.216505 -0.964012 0.154295 -vn -0.035555 -0.976723 0.211536 -vn -0.051570 -0.896247 0.440547 -vn -0.069238 -0.603543 0.794318 -vn -0.051570 -0.896247 0.440547 -vn -0.059046 -0.495915 0.866361 -vn -0.069238 -0.603543 0.794318 -vn 0.073850 -0.984960 -0.156207 -vn 0.066127 -0.984212 -0.164178 -vn 0.011693 -0.985385 -0.169942 -vn 0.066127 -0.984212 -0.164178 -vn 0.001533 -0.984680 -0.174366 -vn 0.011693 -0.985385 -0.169942 -vn 0.093677 -0.987412 -0.127443 -vn 0.091072 -0.986479 -0.136255 -vn 0.073850 -0.984960 -0.156207 -vn 0.091072 -0.986479 -0.136255 -vn 0.066127 -0.984212 -0.164178 -vn 0.073850 -0.984960 -0.156207 -vn 0.000000 -0.998857 -0.047789 -vn -0.000000 -0.998702 -0.050933 -vn 0.055000 -0.996369 -0.064993 -vn -0.000000 -0.998702 -0.050933 -vn 0.055740 -0.996133 -0.067916 -vn 0.055000 -0.996369 -0.064993 -vn 0.011693 -0.985385 -0.169942 -vn 0.001533 -0.984680 -0.174366 -vn -0.049456 -0.988223 -0.144810 -vn 0.001533 -0.984680 -0.174366 -vn -0.055033 -0.987514 -0.147607 -vn -0.049456 -0.988223 -0.144810 -vn -0.049456 -0.988223 -0.144810 -vn -0.055033 -0.987514 -0.147607 -vn -0.071620 -0.991106 -0.112155 -vn -0.055033 -0.987514 -0.147607 -vn -0.073058 -0.990988 -0.112275 -vn -0.071620 -0.991106 -0.112155 -vn -0.073058 -0.990988 -0.112275 -vn -0.055472 -0.996740 -0.058593 -vn -0.071620 -0.991106 -0.112155 -vn -0.055472 -0.996740 -0.058593 -vn -0.060234 -0.996137 -0.063893 -vn -0.071620 -0.991106 -0.112155 -vn -0.055472 -0.996740 -0.058593 -vn -0.040877 -0.998968 -0.019776 -vn -0.060234 -0.996137 -0.063893 -vn 0.085405 -0.992811 -0.083858 -vn 0.085338 -0.992316 -0.089595 -vn 0.093677 -0.987412 -0.127443 -vn 0.085338 -0.992316 -0.089595 -vn 0.091072 -0.986479 -0.136255 -vn 0.093677 -0.987412 -0.127443 -vn 0.055000 -0.996369 -0.064993 -vn 0.055740 -0.996133 -0.067916 -vn 0.085405 -0.992811 -0.083858 -vn 0.055740 -0.996133 -0.067916 -vn 0.085338 -0.992316 -0.089595 -vn 0.085405 -0.992811 -0.083858 -vn -0.905940 0.384539 0.177207 -vn -0.941576 0.289157 0.172692 -vn -0.859273 0.317420 0.401117 -vn -0.941576 0.289157 0.172692 -vn -0.877960 0.234283 0.417490 -vn -0.859273 0.317420 0.401117 -vn -0.101507 0.989456 0.103309 -vn -0.114776 0.969606 0.216080 -vn -0.000000 0.994745 0.102388 -vn -0.114776 0.969606 0.216080 -vn -0.000000 0.977356 0.211603 -vn -0.000000 0.994745 0.102388 -vn -0.271656 0.956444 0.106859 -vn -0.269387 0.933644 0.236092 -vn -0.101507 0.989456 0.103309 -vn -0.269387 0.933644 0.236092 -vn -0.114776 0.969606 0.216080 -vn -0.101507 0.989456 0.103309 -vn -0.586343 0.801355 0.118456 -vn -0.566436 0.773715 0.283751 -vn -0.271656 0.956444 0.106859 -vn -0.566436 0.773715 0.283751 -vn -0.269387 0.933644 0.236092 -vn -0.271656 0.956444 0.106859 -vn -0.813126 0.562843 0.148437 -vn -0.790476 0.510996 0.337684 -vn -0.586343 0.801355 0.118456 -vn -0.790476 0.510996 0.337684 -vn -0.566436 0.773715 0.283751 -vn -0.586343 0.801355 0.118456 -vn -0.813126 0.562843 0.148437 -vn -0.905940 0.384539 0.177207 -vn -0.790476 0.510996 0.337684 -vn -0.905940 0.384539 0.177207 -vn -0.859273 0.317420 0.401117 -vn -0.790476 0.510996 0.337684 -vn -0.796705 -0.095826 0.596723 -vn -0.804548 -0.044303 0.592232 -vn -0.791556 -0.097603 0.603252 -vn -0.069238 -0.603543 0.794318 -vn -0.059046 -0.495915 0.866361 -vn -0.028834 -0.044924 0.998574 -vn -0.059046 -0.495915 0.866361 -vn -0.002361 -0.045709 0.998952 -vn -0.028834 -0.044924 0.998574 -vn -0.796705 -0.095826 0.596723 -vn -0.791053 -0.070536 0.607668 -vn -0.804548 -0.044303 0.592232 -vn -0.068959 0.997617 0.002300 -vn -0.084065 0.996201 0.022715 -vn -0.218354 0.974305 0.055235 -vn -0.084065 0.996201 0.022715 -vn -0.252470 0.964683 0.075137 -vn -0.218354 0.974305 0.055235 -vn -0.014728 0.999791 -0.014175 -vn -0.018825 0.999773 -0.010023 -vn -0.068959 0.997617 0.002300 -vn -0.018825 0.999773 -0.010023 -vn -0.084065 0.996201 0.022715 -vn -0.068959 0.997617 0.002300 -vn -0.015249 0.999853 -0.007842 -vn -0.015359 0.999847 -0.008355 -vn -0.014728 0.999791 -0.014175 -vn -0.015359 0.999847 -0.008355 -vn -0.018825 0.999773 -0.010023 -vn -0.014728 0.999791 -0.014175 -vn -0.007721 0.999968 -0.001961 -vn -0.015359 0.999847 -0.008355 -vn -0.007912 0.999965 -0.002547 -vn -0.015359 0.999847 -0.008355 -vn -0.015249 0.999853 -0.007842 -vn -0.007912 0.999965 -0.002547 -vn 0.000000 1.000000 -0.000000 -vn -0.007721 0.999968 -0.001961 -vn -0.000000 1.000000 -0.000005 -vn -0.007721 0.999968 -0.001961 -vn -0.007912 0.999965 -0.002547 -vn -0.000000 1.000000 -0.000005 -vn -0.110017 0.005351 -0.993915 -vn -0.126614 0.038353 -0.991210 -vn -0.111445 0.005659 -0.993755 -vn -0.126614 0.038353 -0.991210 -vn -0.133476 0.042166 -0.990155 -vn -0.111445 0.005659 -0.993755 -vn -0.126614 0.038353 -0.991210 -vn -0.253493 0.077283 -0.964245 -vn -0.133476 0.042166 -0.990155 -vn -0.253493 0.077283 -0.964245 -vn -0.262361 0.077868 -0.961823 -vn -0.133476 0.042166 -0.990155 -vn -0.340643 0.199708 -0.918738 -vn -0.556365 0.235871 -0.796758 -vn -0.306784 0.535384 -0.786923 -vn -0.556365 0.235871 -0.796758 -vn -0.515036 0.508272 -0.690216 -vn -0.306784 0.535384 -0.786923 -vn -0.141907 0.486043 -0.862337 -vn -0.141285 0.197838 -0.969999 -vn -0.306784 0.535384 -0.786923 -vn -0.141285 0.197838 -0.969999 -vn -0.340643 0.199708 -0.918738 -vn -0.306784 0.535384 -0.786923 -vn 0.888112 0.137352 -0.438624 -vn 0.961150 0.056049 -0.270275 -vn 0.946841 -0.010033 -0.321544 -vn 0.956670 -0.001270 0.291171 -vn 0.840437 -0.003126 0.541901 -vn 0.963043 0.024640 0.268217 -vn 0.840437 -0.003126 0.541901 -vn 0.857807 0.003552 0.513960 -vn 0.963043 0.024640 0.268217 -vn 0.621471 -0.025881 0.783010 -vn 0.649274 -0.021358 0.760255 -vn 0.840437 -0.003126 0.541901 -vn 0.649274 -0.021358 0.760255 -vn 0.857807 0.003552 0.513960 -vn 0.840437 -0.003126 0.541901 -vn 0.223132 -0.032589 0.974243 -vn 0.212283 -0.038788 0.976438 -vn 0.000000 -0.039132 0.999234 -vn 0.212283 -0.038788 0.976438 -vn -0.000000 -0.037251 0.999306 -vn 0.000000 -0.039132 0.999234 -vn 0.963043 0.024640 0.268217 -vn 0.996973 0.006708 0.077452 -vn 0.956670 -0.001270 0.291171 -vn 0.996973 0.006708 0.077452 -vn 0.994531 0.006140 0.104260 -vn 0.956670 -0.001270 0.291171 -vn 0.996973 0.006708 0.077452 -vn 0.984573 -0.023021 -0.173451 -vn 0.999371 0.000763 -0.035441 -vn 0.999371 0.000763 -0.035441 -vn 0.994531 0.006140 0.104260 -vn 0.996973 0.006708 0.077452 -vn 0.928473 0.002886 -0.371389 -vn 0.946841 -0.010033 -0.321544 -vn 0.984573 -0.023021 -0.173451 -vn 0.946841 -0.010033 -0.321544 -vn 0.961150 0.056049 -0.270275 -vn 0.984573 -0.023021 -0.173451 -vn 0.961150 0.056049 -0.270275 -vn 0.999371 0.000763 -0.035441 -vn 0.984573 -0.023021 -0.173451 -vn 0.621471 -0.025881 0.783010 -vn 0.405789 -0.043061 0.912952 -vn 0.649274 -0.021358 0.760255 -vn 0.405789 -0.043061 0.912952 -vn 0.427059 -0.024260 0.903898 -vn 0.649274 -0.021358 0.760255 -vn 0.405789 -0.043061 0.912952 -vn 0.212283 -0.038788 0.976438 -vn 0.427059 -0.024260 0.903898 -vn 0.212283 -0.038788 0.976438 -vn 0.223132 -0.032589 0.974243 -vn 0.427059 -0.024260 0.903898 -vn 0.984573 -0.023021 -0.173451 -vn 0.962439 -0.024231 -0.270413 -vn 0.928473 0.002886 -0.371389 -vn 0.202739 -0.978340 -0.041815 -vn 0.050170 -0.995292 -0.082922 -vn 0.023703 -0.999235 -0.031121 -vn -0.601143 0.119267 0.790191 -vn -0.603048 0.121629 0.788378 -vn -0.614054 0.126132 0.779120 -vn -0.614054 0.126132 0.779120 -vn -0.601351 0.120282 0.789879 -vn -0.601143 0.119267 0.790191 -vn -0.601143 0.119267 0.790191 -vn -0.601351 0.120282 0.789879 -vn -0.597652 0.112916 0.793764 -vn -0.603048 0.121629 0.788378 -vn -0.599764 0.125022 0.790350 -vn -0.614054 0.126132 0.779120 -vn -0.599764 0.125022 0.790350 -vn -0.635852 0.133040 0.760258 -vn -0.614054 0.126132 0.779120 -vn -0.635852 0.133040 0.760258 -vn -0.687777 0.151464 0.709945 -vn -0.614054 0.126132 0.779120 -vn -0.597652 0.112916 0.793764 -vn -0.601351 0.120282 0.789879 -vn -0.572387 0.153981 0.805396 -vn -0.572387 0.153981 0.805396 -vn -0.601351 0.120282 0.789879 -vn -0.594374 0.153736 0.789357 -vn -0.601351 0.120282 0.789879 -vn -0.668633 0.073281 0.739973 -vn -0.594374 0.153736 0.789357 -vn -0.093377 0.001257 -0.995630 -vn -0.110017 0.005351 -0.993915 -vn -0.094757 0.001026 -0.995500 -vn -0.110017 0.005351 -0.993915 -vn -0.111445 0.005659 -0.993755 -vn -0.094757 0.001026 -0.995500 -vn -0.731349 0.176702 0.658715 -vn -0.997539 -0.014146 0.068676 -vn -0.998468 0.034872 0.042952 -vn -0.997539 -0.014146 0.068676 -vn -0.998297 0.019801 0.054872 -vn -0.998468 0.034872 0.042952 -vn 0.757937 0.083145 -0.647008 -vn 0.812212 0.128738 -0.568980 -vn 0.888112 0.137352 -0.438624 -vn 0.812212 0.128738 -0.568980 -vn 0.961150 0.056049 -0.270275 -vn 0.888112 0.137352 -0.438624 -vn 0.743623 0.126560 -0.656511 -vn 0.812212 0.128738 -0.568980 -vn 0.757937 0.083145 -0.647008 -vn 0.743623 0.126560 -0.656511 -vn 0.757937 0.083145 -0.647008 -vn 0.728687 0.061348 -0.682093 -vn 0.765253 0.041319 -0.642403 -vn 0.728687 0.061348 -0.682093 -vn 0.793371 0.048012 -0.606842 -vn 0.728687 0.061348 -0.682093 -vn 0.757937 0.083145 -0.647008 -vn 0.793371 0.048012 -0.606842 -vn 0.793371 0.048012 -0.606842 -vn 0.928473 0.002886 -0.371389 -vn 0.765253 0.041319 -0.642403 -vn -0.784323 -0.020364 0.620019 -vn -0.804548 -0.044303 0.592232 -vn -0.643794 0.051604 0.763457 -vn -0.643794 0.051604 0.763457 -vn -0.804548 -0.044303 0.592232 -vn -0.833627 -0.033590 0.551305 -vn -0.887379 0.408080 0.214547 -vn -0.665715 0.458373 0.588828 -vn -0.910702 0.410936 -0.041879 -vn -0.910702 0.410936 -0.041879 -vn -0.910865 0.382102 -0.155957 -vn -0.775796 0.611274 -0.156478 -vn -0.910865 0.382102 -0.155957 -vn -0.910702 0.410936 -0.041879 -vn -0.865780 0.298022 0.402004 -vn -0.926853 0.296065 0.230845 -vn -0.849402 0.514429 0.117811 -vn -0.817308 0.373606 0.438665 -vn -0.807536 0.080137 0.584349 -vn -0.849402 0.514429 0.117811 -vn -0.926853 0.296065 0.230845 -vn 0.996773 -0.018467 0.078112 -vn 0.963650 -0.052073 0.262043 -vn 0.996358 -0.022534 0.082241 -vn 0.963650 -0.052073 0.262043 -vn 0.962906 -0.051413 0.264895 -vn 0.996358 -0.022534 0.082241 -vn 0.999792 0.019275 -0.006705 -vn 0.996773 -0.018467 0.078112 -vn 0.999913 0.012170 -0.005074 -vn 0.996773 -0.018467 0.078112 -vn 0.996358 -0.022534 0.082241 -vn 0.999913 0.012170 -0.005074 -vn 0.252664 -0.057093 0.965868 -vn 0.000000 -0.036099 0.999348 -vn 0.251793 -0.044009 0.966780 -vn 0.000000 -0.036099 0.999348 -vn -0.000000 -0.022294 0.999751 -vn 0.251793 -0.044009 0.966780 -vn 0.493589 -0.076185 0.866352 -vn 0.252664 -0.057093 0.965868 -vn 0.494095 -0.060695 0.867287 -vn 0.252664 -0.057093 0.965868 -vn 0.251793 -0.044009 0.966780 -vn 0.494095 -0.060695 0.867287 -vn 0.689423 -0.095290 0.718063 -vn 0.493589 -0.076185 0.866352 -vn 0.690337 -0.077073 0.719371 -vn 0.493589 -0.076185 0.866352 -vn 0.494095 -0.060695 0.867287 -vn 0.690337 -0.077073 0.719371 -vn 0.861733 -0.089612 0.499385 -vn 0.689423 -0.095290 0.718063 -vn 0.862233 -0.079902 0.500170 -vn 0.689423 -0.095290 0.718063 -vn 0.690337 -0.077073 0.719371 -vn 0.862233 -0.079902 0.500170 -vn 0.963650 -0.052073 0.262043 -vn 0.861733 -0.089612 0.499385 -vn 0.962906 -0.051413 0.264895 -vn 0.861733 -0.089612 0.499385 -vn 0.862233 -0.079902 0.500170 -vn 0.962906 -0.051413 0.264895 -vn 0.508924 -0.173879 0.843067 -vn 0.530011 -0.161213 0.832525 -vn 0.580600 -0.129349 0.803849 -vn 0.530011 -0.161213 0.832525 -vn 0.606607 -0.112074 0.787063 -vn 0.580600 -0.129349 0.803849 -vn 0.420642 -0.894155 -0.153453 -vn 0.445537 -0.885349 -0.132870 -vn 0.423196 -0.892876 -0.153873 -vn 0.445537 -0.885349 -0.132870 -vn 0.445045 -0.885607 -0.132797 -vn 0.423196 -0.892876 -0.153873 -vn 0.443902 -0.894515 -0.052850 -vn 0.444520 -0.893994 -0.056369 -vn 0.445537 -0.885349 -0.132870 -vn 0.444520 -0.893994 -0.056369 -vn 0.445045 -0.885607 -0.132797 -vn 0.445537 -0.885349 -0.132870 -vn 0.382942 -0.923043 0.036704 -vn 0.390221 -0.920247 0.029540 -vn 0.443902 -0.894515 -0.052850 -vn 0.390221 -0.920247 0.029540 -vn 0.444520 -0.893994 -0.056369 -vn 0.443902 -0.894515 -0.052850 -vn 0.308278 -0.943585 0.120883 -vn 0.309267 -0.942490 0.126753 -vn 0.382942 -0.923043 0.036704 -vn 0.309267 -0.942490 0.126753 -vn 0.390221 -0.920247 0.029540 -vn 0.382942 -0.923043 0.036704 -vn 0.308278 -0.943585 0.120883 -vn 0.240249 -0.947922 0.209103 -vn 0.309267 -0.942490 0.126753 -vn 0.240249 -0.947922 0.209103 -vn 0.245596 -0.944213 0.219420 -vn 0.309267 -0.942490 0.126753 -vn 0.143501 -0.937524 0.316949 -vn 0.245596 -0.944213 0.219420 -vn 0.139149 -0.943161 0.301804 -vn 0.245596 -0.944213 0.219420 -vn 0.240249 -0.947922 0.209103 -vn 0.139149 -0.943161 0.301804 -vn 0.139149 -0.943161 0.301804 -vn 0.000000 -0.924899 0.380214 -vn 0.143501 -0.937524 0.316949 -vn 0.000000 -0.924899 0.380214 -vn 0.000000 -0.917956 0.396682 -vn 0.143501 -0.937524 0.316949 -vn 0.928473 0.002886 -0.371389 -vn 0.793371 0.048012 -0.606842 -vn 0.946841 -0.010033 -0.321544 -vn 0.207643 0.930056 -0.303118 -vn 0.208097 0.929860 -0.303408 -vn 0.218086 0.925466 -0.309759 -vn 0.208097 0.929860 -0.303408 -vn 0.218979 0.925066 -0.310326 -vn 0.218086 0.925466 -0.309759 -vn 0.854784 0.009411 -0.518898 -vn 0.854781 0.009420 -0.518903 -vn 0.854783 0.009414 -0.518900 -vn 0.854781 0.009420 -0.518903 -vn 0.854780 0.009423 -0.518904 -vn 0.854783 0.009414 -0.518900 -vn 0.391140 -0.918370 -0.060048 -vn 0.391137 -0.918371 -0.060046 -vn 0.391102 -0.918388 -0.060026 -vn 0.391137 -0.918371 -0.060046 -vn 0.391100 -0.918389 -0.060025 -vn 0.391102 -0.918388 -0.060026 -vn -0.157284 -0.147242 -0.976515 -vn -0.157284 -0.147242 -0.976515 -vn -0.157283 -0.147243 -0.976515 -vn -0.157284 -0.147242 -0.976515 -vn -0.157282 -0.147243 -0.976515 -vn -0.157283 -0.147243 -0.976515 -vn 0.791236 0.154415 0.591693 -vn 0.791187 0.154399 0.591763 -vn 0.790899 0.154309 0.592172 -vn 0.791187 0.154399 0.591763 -vn 0.790837 0.154289 0.592260 -vn 0.790899 0.154309 0.592172 -vn -0.002040 -0.982183 -0.187914 -vn 0.000000 -0.975856 -0.218413 -vn -0.019019 -0.978509 -0.205324 -vn 0.023703 -0.999235 -0.031121 -vn 0.050170 -0.995292 -0.082922 -vn -0.050170 -0.995292 -0.082922 -vn -0.050170 -0.995292 -0.082922 -vn -0.023703 -0.999235 -0.031121 -vn 0.023703 -0.999235 -0.031121 -vn 0.002040 -0.982183 -0.187914 -vn -0.002040 -0.982183 -0.187914 -vn 0.050170 -0.995292 -0.082922 -vn -0.002040 -0.982183 -0.187914 -vn -0.050170 -0.995292 -0.082922 -vn 0.050170 -0.995292 -0.082922 -vn 0.019019 -0.978509 -0.205324 -vn 0.015799 -0.977740 -0.209227 -vn 0.000000 -0.975856 -0.218413 -vn 0.002040 -0.982183 -0.187914 -vn 0.000000 -0.975856 -0.218413 -vn -0.002040 -0.982183 -0.187914 -vn -0.019019 -0.978509 -0.205324 -vn -0.015799 -0.977740 -0.209227 -vn -0.067791 -0.985150 -0.157747 -vn -0.019019 -0.978509 -0.205324 -vn 0.000000 -0.975856 -0.218413 -vn -0.015799 -0.977740 -0.209227 -vn -0.067791 -0.985150 -0.157747 -vn -0.015773 -0.974169 -0.225268 -vn 0.012040 -0.967510 -0.252545 -vn -0.067791 -0.985150 -0.157747 -vn -0.015799 -0.977740 -0.209227 -vn -0.015773 -0.974169 -0.225268 -vn 0.019019 -0.978509 -0.205324 -vn 0.000000 -0.975856 -0.218413 -vn 0.002040 -0.982183 -0.187914 -vn 0.067791 -0.985150 -0.157747 -vn 0.015773 -0.974169 -0.225268 -vn 0.015799 -0.977740 -0.209227 -vn 0.067791 -0.985150 -0.157747 -vn 0.015799 -0.977740 -0.209227 -vn 0.019019 -0.978509 -0.205324 -vn -0.012040 -0.967510 -0.252545 -vn 0.015773 -0.974169 -0.225268 -vn 0.067791 -0.985150 -0.157747 -vn 0.697758 0.640804 0.320162 -vn 0.377613 0.848927 0.369770 -vn 0.668696 0.574599 0.471891 -vn 0.668696 0.574599 0.471891 -vn 0.377613 0.848927 0.369770 -vn 0.362004 0.774468 0.518799 -vn 0.000000 0.921893 0.387443 -vn -0.377616 0.848928 0.369767 -vn -0.000000 0.843980 0.536375 -vn -0.000000 0.843980 0.536375 -vn -0.377616 0.848928 0.369767 -vn -0.362004 0.774468 0.518799 -vn -0.697759 0.640807 0.320155 -vn -0.911691 0.329542 0.245403 -vn -0.668696 0.574599 0.471891 -vn -0.668696 0.574599 0.471891 -vn -0.911691 0.329542 0.245403 -vn -0.873986 0.276575 0.399567 -vn -0.986768 -0.037754 0.157680 -vn -0.911686 -0.404959 0.069542 -vn -0.945676 -0.075697 0.316176 -vn -0.945676 -0.075697 0.316176 -vn -0.911686 -0.404959 0.069542 -vn -0.873983 -0.427558 0.230973 -vn -0.697752 -0.716323 -0.004794 -vn -0.377636 -0.924330 -0.054816 -vn -0.668690 -0.726020 0.160464 -vn -0.668690 -0.726020 0.160464 -vn -0.377636 -0.924330 -0.054816 -vn -0.362020 -0.925447 0.111757 -vn -0.000000 -0.997398 -0.072093 -vn 0.377636 -0.924330 -0.054816 -vn 0.000000 -0.995385 0.095966 -vn 0.000000 -0.995385 0.095966 -vn 0.377636 -0.924330 -0.054816 -vn 0.362020 -0.925447 0.111757 -vn 0.697752 -0.716323 -0.004794 -vn 0.911686 -0.404959 0.069542 -vn 0.668690 -0.726020 0.160464 -vn 0.668690 -0.726020 0.160464 -vn 0.911686 -0.404959 0.069542 -vn 0.873983 -0.427558 0.230973 -vn 0.986768 -0.037754 0.157680 -vn 0.911691 0.329538 0.245406 -vn 0.945676 -0.075697 0.316176 -vn 0.945676 -0.075697 0.316176 -vn 0.911691 0.329538 0.245406 -vn 0.873986 0.276575 0.399567 -vn 0.000000 0.921893 0.387443 -vn 0.377613 0.848927 0.369770 -vn 0.000000 0.972184 0.234219 -vn 0.000000 0.972184 0.234219 -vn 0.377613 0.848927 0.369770 -vn 0.382689 0.898156 0.216482 -vn -0.697759 0.640807 0.320155 -vn -0.377616 0.848928 0.369767 -vn -0.707113 0.687335 0.166016 -vn -0.707113 0.687335 0.166016 -vn -0.377616 0.848928 0.369767 -vn -0.382694 0.898152 0.216489 -vn -0.986768 -0.037754 0.157680 -vn -0.911691 0.329542 0.245403 -vn -0.999999 -0.000329 0.001369 -vn -0.999999 -0.000329 0.001369 -vn -0.911691 0.329542 0.245403 -vn -0.923879 0.371836 0.090475 -vn -0.697752 -0.716323 -0.004794 -vn -0.911686 -0.404959 0.069542 -vn -0.707102 -0.688000 -0.163286 -vn -0.707102 -0.688000 -0.163286 -vn -0.911686 -0.404959 0.069542 -vn -0.923879 -0.372490 -0.087743 -vn -0.000000 -0.997398 -0.072093 -vn -0.377636 -0.924330 -0.054816 -vn 0.000000 -0.972838 -0.231488 -vn 0.000000 -0.972838 -0.231488 -vn -0.377636 -0.924330 -0.054816 -vn -0.382697 -0.898803 -0.213765 -vn 0.697752 -0.716323 -0.004794 -vn 0.377636 -0.924330 -0.054816 -vn 0.707102 -0.688000 -0.163286 -vn 0.707102 -0.688000 -0.163286 -vn 0.377636 -0.924330 -0.054816 -vn 0.382697 -0.898803 -0.213765 -vn 0.986768 -0.037754 0.157680 -vn 0.911686 -0.404959 0.069542 -vn 0.999999 -0.000329 0.001369 -vn 0.999999 -0.000329 0.001369 -vn 0.911686 -0.404959 0.069542 -vn 0.923879 -0.372490 -0.087743 -vn 0.707113 0.687339 0.166001 -vn 0.697758 0.640804 0.320162 -vn 0.923881 0.371832 0.090466 -vn 0.923881 0.371832 0.090466 -vn 0.697758 0.640804 0.320162 -vn 0.911691 0.329538 0.245406 -vn 0.707113 0.687339 0.166001 -vn 0.382689 0.898156 0.216482 -vn 0.697758 0.640804 0.320162 -vn 0.697758 0.640804 0.320162 -vn 0.382689 0.898156 0.216482 -vn 0.377613 0.848927 0.369770 -vn 0.000000 0.921893 0.387443 -vn 0.000000 0.972184 0.234219 -vn -0.377616 0.848928 0.369767 -vn -0.377616 0.848928 0.369767 -vn 0.000000 0.972184 0.234219 -vn -0.382694 0.898152 0.216489 -vn -0.697759 0.640807 0.320155 -vn -0.707113 0.687335 0.166016 -vn -0.911691 0.329542 0.245403 -vn -0.911691 0.329542 0.245403 -vn -0.707113 0.687335 0.166016 -vn -0.923879 0.371836 0.090475 -vn -0.986768 -0.037754 0.157680 -vn -0.999999 -0.000329 0.001369 -vn -0.911686 -0.404959 0.069542 -vn -0.911686 -0.404959 0.069542 -vn -0.999999 -0.000329 0.001369 -vn -0.923879 -0.372490 -0.087743 -vn 0.697752 -0.716323 -0.004794 -vn 0.707102 -0.688000 -0.163286 -vn 0.911686 -0.404959 0.069542 -vn 0.911686 -0.404959 0.069542 -vn 0.707102 -0.688000 -0.163286 -vn 0.923879 -0.372490 -0.087743 -vn 0.986768 -0.037754 0.157680 -vn 0.999999 -0.000329 0.001369 -vn 0.911691 0.329538 0.245406 -vn 0.911691 0.329538 0.245406 -vn 0.999999 -0.000329 0.001369 -vn 0.923881 0.371832 0.090466 -vn 0.873986 0.276575 0.399567 -vn 0.911691 0.329538 0.245406 -vn 0.668696 0.574599 0.471891 -vn 0.668696 0.574599 0.471891 -vn 0.911691 0.329538 0.245406 -vn 0.697758 0.640804 0.320162 -vn 0.986768 -0.037754 0.157680 -vn 0.945676 -0.075697 0.316176 -vn 0.911686 -0.404959 0.069542 -vn 0.911686 -0.404959 0.069542 -vn 0.945676 -0.075697 0.316176 -vn 0.873983 -0.427558 0.230973 -vn 0.697752 -0.716323 -0.004794 -vn 0.668690 -0.726020 0.160464 -vn 0.377636 -0.924330 -0.054816 -vn 0.377636 -0.924330 -0.054816 -vn 0.668690 -0.726020 0.160464 -vn 0.362020 -0.925447 0.111757 -vn -0.000000 -0.997398 -0.072093 -vn 0.000000 -0.995385 0.095966 -vn -0.377636 -0.924330 -0.054816 -vn -0.377636 -0.924330 -0.054816 -vn 0.000000 -0.995385 0.095966 -vn -0.362020 -0.925447 0.111757 -vn -0.697752 -0.716323 -0.004794 -vn -0.668690 -0.726020 0.160464 -vn -0.911686 -0.404959 0.069542 -vn -0.911686 -0.404959 0.069542 -vn -0.668690 -0.726020 0.160464 -vn -0.873983 -0.427558 0.230973 -vn -0.986768 -0.037754 0.157680 -vn -0.945676 -0.075697 0.316176 -vn -0.911691 0.329542 0.245403 -vn -0.911691 0.329542 0.245403 -vn -0.945676 -0.075697 0.316176 -vn -0.873986 0.276575 0.399567 -vn -0.697759 0.640807 0.320155 -vn -0.668696 0.574599 0.471891 -vn -0.377616 0.848928 0.369767 -vn -0.377616 0.848928 0.369767 -vn -0.668696 0.574599 0.471891 -vn -0.362004 0.774468 0.518799 -vn 0.000000 0.921893 0.387443 -vn -0.000000 0.843980 0.536375 -vn 0.377613 0.848927 0.369770 -vn 0.377613 0.848927 0.369770 -vn -0.000000 0.843980 0.536375 -vn 0.362004 0.774468 0.518799 -vn 0.000000 -0.277783 0.960644 -vn 0.000000 -0.277750 0.960654 -vn -0.017785 -0.274350 0.961465 -vn -0.017785 -0.274350 0.961465 -vn 0.000000 -0.277750 0.960654 -vn -0.017790 -0.274330 0.961471 -vn -0.032750 -0.264436 0.963847 -vn -0.017785 -0.274350 0.961465 -vn -0.032751 -0.264436 0.963847 -vn -0.032751 -0.264436 0.963847 -vn -0.017785 -0.274350 0.961465 -vn -0.017790 -0.274330 0.961471 -vn 0.032750 -0.264436 0.963847 -vn 0.032751 -0.264436 0.963847 -vn 0.017785 -0.274350 0.961465 -vn 0.017785 -0.274350 0.961465 -vn 0.032751 -0.264436 0.963847 -vn 0.017790 -0.274330 0.961471 -vn 0.000000 -0.277783 0.960644 -vn 0.017785 -0.274350 0.961465 -vn 0.000000 -0.277750 0.960654 -vn 0.000000 -0.277750 0.960654 -vn 0.017785 -0.274350 0.961465 -vn 0.017790 -0.274330 0.961471 -vn 0.046351 -0.232601 0.971467 -vn 0.046347 -0.232603 0.971467 -vn 0.042918 -0.249889 0.967323 -vn 0.042918 -0.249889 0.967323 -vn 0.046347 -0.232603 0.971467 -vn 0.042909 -0.249890 0.967323 -vn 0.032750 -0.264436 0.963847 -vn 0.042918 -0.249889 0.967323 -vn 0.032751 -0.264436 0.963847 -vn 0.032751 -0.264436 0.963847 -vn 0.042918 -0.249889 0.967323 -vn 0.042909 -0.249890 0.967323 -vn 0.032644 -0.200849 0.979078 -vn 0.032676 -0.200818 0.979083 -vn 0.042938 -0.215297 0.975604 -vn 0.042938 -0.215297 0.975604 -vn 0.032676 -0.200818 0.979083 -vn 0.042958 -0.215274 0.975608 -vn 0.046351 -0.232601 0.971467 -vn 0.042938 -0.215297 0.975604 -vn 0.046347 -0.232603 0.971467 -vn 0.046347 -0.232603 0.971467 -vn 0.042938 -0.215297 0.975604 -vn 0.042958 -0.215274 0.975608 -vn -0.000000 -0.187577 0.982250 -vn -0.000000 -0.187566 0.982252 -vn 0.017785 -0.190857 0.981457 -vn 0.017785 -0.190857 0.981457 -vn -0.000000 -0.187566 0.982252 -vn 0.017807 -0.190835 0.981461 -vn 0.032644 -0.200849 0.979078 -vn 0.017785 -0.190857 0.981457 -vn 0.032676 -0.200818 0.979083 -vn 0.032676 -0.200818 0.979083 -vn 0.017785 -0.190857 0.981457 -vn 0.017807 -0.190835 0.981461 -vn -0.032644 -0.200849 0.979078 -vn -0.032676 -0.200819 0.979083 -vn -0.017785 -0.190857 0.981457 -vn -0.017785 -0.190857 0.981457 -vn -0.032676 -0.200819 0.979083 -vn -0.017807 -0.190835 0.981461 -vn -0.000000 -0.187577 0.982250 -vn -0.017785 -0.190857 0.981457 -vn -0.000000 -0.187566 0.982252 -vn -0.000000 -0.187566 0.982252 -vn -0.017785 -0.190857 0.981457 -vn -0.017807 -0.190835 0.981461 -vn -0.046351 -0.232601 0.971467 -vn -0.046347 -0.232603 0.971467 -vn -0.042938 -0.215297 0.975604 -vn -0.042938 -0.215297 0.975604 -vn -0.046347 -0.232603 0.971467 -vn -0.042958 -0.215274 0.975608 -vn -0.032644 -0.200849 0.979078 -vn -0.042938 -0.215297 0.975604 -vn -0.032676 -0.200819 0.979083 -vn -0.032676 -0.200819 0.979083 -vn -0.042938 -0.215297 0.975604 -vn -0.042958 -0.215274 0.975608 -vn -0.032750 -0.264436 0.963847 -vn -0.032751 -0.264436 0.963847 -vn -0.042918 -0.249889 0.967323 -vn -0.042918 -0.249889 0.967323 -vn -0.032751 -0.264436 0.963847 -vn -0.042909 -0.249890 0.967323 -vn -0.046351 -0.232601 0.971467 -vn -0.042918 -0.249889 0.967323 -vn -0.046347 -0.232603 0.971467 -vn -0.046347 -0.232603 0.971467 -vn -0.042918 -0.249889 0.967323 -vn -0.042909 -0.249890 0.967323 -vn -0.019644 -0.213940 0.976649 -vn -0.000000 -0.233082 0.972457 -vn 0.000000 -0.206033 0.978545 -vn 0.000000 -0.206033 0.978545 -vn -0.000000 -0.233082 0.972457 -vn 0.019644 -0.213940 0.976649 -vn 0.019644 -0.213940 0.976649 -vn -0.000000 -0.233082 0.972457 -vn 0.027733 -0.233031 0.972074 -vn 0.027733 -0.233031 0.972074 -vn -0.000000 -0.233082 0.972457 -vn 0.019590 -0.252093 0.967505 -vn 0.019590 -0.252093 0.967505 -vn -0.000000 -0.233082 0.972457 -vn -0.000000 -0.259970 0.965617 -vn -0.000000 -0.259970 0.965617 -vn -0.000000 -0.233082 0.972457 -vn -0.019590 -0.252093 0.967505 -vn -0.019590 -0.252093 0.967505 -vn -0.000000 -0.233082 0.972457 -vn -0.027733 -0.233031 0.972074 -vn -0.027733 -0.233031 0.972074 -vn -0.000000 -0.233082 0.972457 -vn -0.019644 -0.213940 0.976649 -vn -0.697752 -0.716323 -0.004794 -vn -0.707102 -0.688000 -0.163286 -vn -0.377636 -0.924330 -0.054816 -vn -0.377636 -0.924330 -0.054816 -vn -0.707102 -0.688000 -0.163286 -vn -0.382697 -0.898803 -0.213765 -vn -0.000000 -0.997398 -0.072093 -vn 0.000000 -0.972838 -0.231488 -vn 0.377636 -0.924330 -0.054816 -vn 0.377636 -0.924330 -0.054816 -vn 0.000000 -0.972838 -0.231488 -vn 0.382697 -0.898803 -0.213765 -vn 0.737682 0.632293 0.236708 -vn 0.681840 0.613669 0.398125 -vn 0.738575 0.630131 0.239670 -vn 0.738575 0.630131 0.239670 -vn 0.681840 0.613669 0.398125 -vn 0.665560 0.605372 0.436525 -vn -0.311467 0.906530 0.284940 -vn -0.278363 0.932868 0.228630 -vn -0.312038 0.906994 0.282832 -vn -0.312038 0.906994 0.282832 -vn -0.278363 0.932868 0.228630 -vn -0.266781 0.940996 0.208218 -vn -0.976892 0.210142 0.039026 -vn -0.931751 0.308242 -0.191901 -vn -0.977049 0.209732 0.037243 -vn -0.977049 0.209732 0.037243 -vn -0.931751 0.308242 -0.191901 -vn -0.925744 0.314520 -0.209940 -vn -0.739447 -0.632675 -0.230087 -vn -0.740368 -0.630416 -0.233303 -vn -0.682404 -0.614001 -0.396646 -vn -0.682404 -0.614001 -0.396646 -vn -0.740368 -0.630416 -0.233303 -vn -0.665230 -0.605254 -0.437192 -vn 0.312372 -0.905730 -0.286490 -vn 0.312955 -0.906184 -0.284411 -vn 0.279566 -0.932034 -0.230553 -vn 0.279566 -0.932034 -0.230553 -vn 0.312955 -0.906184 -0.284411 -vn 0.268192 -0.940088 -0.210496 -vn 0.975975 -0.216438 -0.025065 -vn 0.976107 -0.216022 -0.023446 -vn 0.930418 -0.309743 0.195913 -vn 0.930418 -0.309743 0.195913 -vn 0.976107 -0.216022 -0.023446 -vn 0.924760 -0.315558 0.212701 -vn 0.924760 -0.315558 0.212701 -vn 0.820657 -0.389489 0.418114 -vn 0.930418 -0.309743 0.195913 -vn 0.930418 -0.309743 0.195913 -vn 0.820657 -0.389489 0.418114 -vn 0.820373 -0.389920 0.418272 -vn 0.268192 -0.940088 -0.210496 -vn 0.234742 -0.959072 -0.158355 -vn 0.279566 -0.932034 -0.230553 -vn 0.279566 -0.932034 -0.230553 -vn 0.234742 -0.959072 -0.158355 -vn 0.234311 -0.959193 -0.158266 -vn -0.665230 -0.605254 -0.437192 -vn -0.583961 -0.567471 -0.580488 -vn -0.682404 -0.614001 -0.396646 -vn -0.682404 -0.614001 -0.396646 -vn -0.583961 -0.567471 -0.580488 -vn -0.583078 -0.567833 -0.581021 -vn -0.925744 0.314520 -0.209940 -vn -0.931751 0.308242 -0.191901 -vn -0.816619 0.391452 -0.424144 -vn -0.816619 0.391452 -0.424144 -vn -0.931751 0.308242 -0.191901 -vn -0.816318 0.391895 -0.424316 -vn -0.266781 0.940996 0.208218 -vn -0.278363 0.932868 0.228630 -vn -0.233075 0.959900 0.155782 -vn -0.233075 0.959900 0.155782 -vn -0.278363 0.932868 0.228630 -vn -0.232585 0.960036 0.155678 -vn 0.665560 0.605372 0.436525 -vn 0.681840 0.613669 0.398125 -vn 0.586860 0.568918 0.576132 -vn 0.586860 0.568918 0.576132 -vn 0.681840 0.613669 0.398125 -vn 0.586054 0.569260 0.576614 -vn 0.730109 0.631128 0.261950 -vn 0.674042 0.612076 0.413559 -vn 0.730870 0.629198 0.264459 -vn 0.730870 0.629198 0.264459 -vn 0.674042 0.612076 0.413559 -vn 0.658902 0.604471 0.447731 -vn -0.309867 0.910080 0.275204 -vn -0.277606 0.934791 0.221588 -vn -0.310374 0.910441 0.273431 -vn -0.310374 0.910441 0.273431 -vn -0.277606 0.934791 0.221588 -vn -0.267058 0.941974 0.203383 -vn -0.975179 0.221311 0.006884 -vn -0.925862 0.312979 -0.211715 -vn -0.975276 0.220926 0.005394 -vn -0.975276 0.220926 0.005394 -vn -0.925862 0.312979 -0.211715 -vn -0.920190 0.318481 -0.227641 -vn -0.731779 -0.631473 -0.256403 -vn -0.732555 -0.629471 -0.259094 -vn -0.674460 -0.612301 -0.412543 -vn -0.674460 -0.612301 -0.412543 -vn -0.732555 -0.629471 -0.259094 -vn -0.658586 -0.604310 -0.448412 -vn 0.310648 -0.909417 -0.276512 -vn 0.311165 -0.909772 -0.274755 -vn 0.278716 -0.934049 -0.223315 -vn 0.278716 -0.934049 -0.223315 -vn 0.311165 -0.909772 -0.274755 -vn 0.268348 -0.941166 -0.205417 -vn 0.973944 -0.226729 0.005129 -vn 0.974028 -0.226334 0.006528 -vn 0.924735 -0.314179 0.214839 -vn 0.924735 -0.314179 0.214839 -vn 0.974028 -0.226334 0.006528 -vn 0.919377 -0.319305 0.229760 -vn 0.919377 -0.319305 0.229760 -vn 0.817616 -0.389044 0.424440 -vn 0.924735 -0.314179 0.214839 -vn 0.924735 -0.314179 0.214839 -vn 0.817616 -0.389044 0.424440 -vn 0.817361 -0.389419 0.424586 -vn 0.268348 -0.941166 -0.205417 -vn 0.235758 -0.959292 -0.155492 -vn 0.278716 -0.934049 -0.223315 -vn 0.278716 -0.934049 -0.223315 -vn 0.235758 -0.959292 -0.155492 -vn 0.235318 -0.959416 -0.155393 -vn -0.658586 -0.604310 -0.448412 -vn -0.579992 -0.568280 -0.583667 -vn -0.674460 -0.612301 -0.412543 -vn -0.674460 -0.612301 -0.412543 -vn -0.579992 -0.568280 -0.583667 -vn -0.579111 -0.568623 -0.584208 -vn -0.920190 0.318481 -0.227641 -vn -0.925862 0.312979 -0.211715 -vn -0.813745 0.390880 -0.430154 -vn -0.813745 0.390880 -0.430154 -vn -0.925862 0.312979 -0.211715 -vn -0.813468 0.391275 -0.430318 -vn -0.267058 0.941974 0.203383 -vn -0.277606 0.934791 0.221588 -vn -0.234166 0.960067 0.153092 -vn -0.234166 0.960067 0.153092 -vn -0.277606 0.934791 0.221588 -vn -0.233661 0.960209 0.152976 -vn 0.658902 0.604471 0.447731 -vn 0.674042 0.612076 0.413559 -vn 0.582696 0.569623 0.579651 -vn 0.582696 0.569623 0.579651 -vn 0.674042 0.612076 0.413559 -vn 0.581938 0.569929 0.580111 -vn 0.999999 -0.000024 -0.001367 -vn 0.999999 0.000110 -0.001589 -vn 0.999999 0.000312 -0.001607 -vn 0.999999 0.000312 -0.001607 -vn 0.999999 0.000110 -0.001589 -vn 0.999999 0.000042 -0.001067 -vn -0.000428 -0.310851 0.950458 -vn -0.013543 -0.308905 0.950997 -vn -0.000211 -0.310413 0.950602 -vn -0.000211 -0.310413 0.950602 -vn -0.013543 -0.308905 0.950997 -vn -0.001386 -0.309078 0.951036 -vn -0.001386 -0.309078 0.951036 -vn -0.013543 -0.308905 0.950997 -vn -0.022512 -0.308285 0.951028 -vn -0.999999 0.001490 -0.000526 -vn -0.999996 0.000606 0.002709 -vn -0.999999 0.001133 0.000814 -vn 0.979622 0.191624 0.060169 -vn 0.973898 0.217328 0.065502 -vn 0.979285 0.193237 0.060504 -vn 0.979285 0.193237 0.060504 -vn 0.973898 0.217328 0.065502 -vn 0.973553 0.218779 0.065802 -vn 1.000000 -0.000004 -0.000861 -vn 1.000000 0.000071 -0.001001 -vn 0.999999 0.000042 -0.001067 -vn 0.999999 0.000042 -0.001067 -vn 1.000000 0.000071 -0.001001 -vn 0.999999 0.000312 -0.001607 -vn -0.013543 -0.308905 0.950997 -vn -0.022202 -0.232051 0.972450 -vn -0.022512 -0.308285 0.951028 -vn -0.022512 -0.308285 0.951028 -vn -0.022202 -0.232051 0.972450 -vn -0.041394 -0.269769 0.962035 -vn -1.000000 0.000415 0.000131 -vn -0.999997 0.001624 -0.001522 -vn -1.000000 0.000666 -0.000237 -vn -1.000000 0.000666 -0.000237 -vn -0.999997 0.001624 -0.001522 -vn -0.999997 0.001815 -0.001774 -vn 0.016620 0.948094 0.317555 -vn -0.007601 0.955684 0.294297 -vn 0.005416 0.940885 0.338683 -vn 0.005416 0.940885 0.338683 -vn -0.007601 0.955684 0.294297 -vn -0.016858 0.956666 0.290698 -vn -0.041394 -0.269769 0.962035 -vn -0.022202 -0.232051 0.972450 -vn 0.000025 -0.048301 0.998833 -vn 0.000025 -0.048301 0.998833 -vn -0.022202 -0.232051 0.972450 -vn -0.000058 -0.045863 0.998948 -vn 0.000023 0.953980 0.299870 -vn 0.000003 0.953963 0.299924 -vn 0.000018 0.953975 0.299885 -vn 0.000018 0.953975 0.299885 -vn 0.000003 0.953963 0.299924 -vn -0.000002 0.953958 0.299940 -vn 1.000000 0.000071 -0.001001 -vn 0.999996 0.000825 -0.002665 -vn 0.999999 0.000312 -0.001607 -vn -0.998986 -0.013491 0.042948 -vn -0.998667 -0.016054 0.049061 -vn -0.998969 -0.013636 0.043294 -vn -0.998969 -0.013636 0.043294 -vn -0.998667 -0.016054 0.049061 -vn -0.998646 -0.016207 0.049426 -vn 0.000000 -0.965024 -0.262163 -vn -0.000187 -0.964080 -0.265612 -vn -0.000006 -0.964991 -0.262283 -vn -0.000006 -0.964991 -0.262283 -vn -0.000187 -0.964080 -0.265612 -vn -0.000193 -0.964048 -0.265727 -vn 0.000000 -0.299947 0.953956 -vn 0.000000 -0.299947 0.953956 -vn 0.000000 -0.299947 0.953956 -vn 0.000000 -0.299947 0.953956 -vn 0.000000 -0.299947 0.953956 -vn 0.000000 -0.299947 0.953956 -vn 0.016620 0.948094 0.317555 -vn 0.005416 0.940885 0.338683 -vn -0.000131 0.932658 0.360761 -vn -0.000131 0.932658 0.360761 -vn 0.005416 0.940885 0.338683 -vn -0.000135 0.932688 0.360683 -vn 0.000000 0.810325 0.585980 -vn 0.000015 0.810283 0.586039 -vn 0.000101 0.810034 0.586382 -vn 0.000101 0.810034 0.586382 -vn 0.000015 0.810283 0.586039 -vn 0.000116 0.809992 0.586441 -vn 0.000000 -0.299936 0.953959 -vn 0.000000 -0.299936 0.953959 -vn 0.000000 -0.299936 0.953959 -vn 0.000000 -0.299936 0.953959 -vn 0.000000 -0.299936 0.953959 -vn 0.000000 -0.299936 0.953959 -vn 0.000267 -0.997944 0.064095 -vn 0.000039 -0.998007 0.063111 -vn 0.000229 -0.997954 0.063928 -vn 0.000229 -0.997954 0.063928 -vn 0.000039 -0.998007 0.063111 -vn 0.000000 -0.998017 0.062945 -vn -0.999996 0.000034 0.002962 -vn -0.999999 0.001133 0.000814 -vn -0.999995 0.000190 0.003234 -vn -0.999995 0.000190 0.003234 -vn -0.999999 0.001133 0.000814 -vn -0.999996 0.000606 0.002709 -vn 1.000000 -0.000285 -0.000940 -vn 0.999999 -0.000024 -0.001367 -vn 1.000000 -0.000308 -0.000684 -vn 1.000000 -0.000308 -0.000684 -vn 0.999999 -0.000024 -0.001367 -vn 1.000000 -0.000243 -0.000572 -vn 0.000053 -0.954216 -0.299120 -vn -0.000468 -0.953831 -0.300343 -vn -0.000135 -0.954094 -0.299507 -vn -0.000135 -0.954094 -0.299507 -vn -0.000468 -0.953831 -0.300343 -vn -0.000646 -0.953846 -0.300294 -vn -0.003087 0.953735 0.300634 -vn 0.000450 0.954940 0.296798 -vn -0.002318 0.954233 0.299054 -vn -0.002318 0.954233 0.299054 -vn 0.000450 0.954940 0.296798 -vn 0.000629 0.955233 0.295854 -vn 0.003057 0.954558 0.298009 -vn 0.002713 0.954781 0.297297 -vn 0.000450 0.954940 0.296798 -vn 0.000450 0.954940 0.296798 -vn 0.002713 0.954781 0.297297 -vn 0.000629 0.955233 0.295854 -vn 0.923843 -0.114166 0.365350 -vn 0.923710 -0.114285 0.365647 -vn 0.921004 -0.116698 0.371662 -vn 0.921004 -0.116698 0.371662 -vn 0.923710 -0.114285 0.365647 -vn 0.920870 -0.116816 0.371957 -vn 0.000091 -0.300271 0.953854 -vn 0.318065 -0.284513 0.904371 -vn 0.000798 -0.300107 0.953905 -vn 0.000798 -0.300107 0.953905 -vn 0.318065 -0.284513 0.904371 -vn 0.319183 -0.284229 0.904066 -vn -0.318216 -0.284823 0.904220 -vn 0.000091 -0.300271 0.953854 -vn -0.317308 -0.284775 0.904555 -vn -0.317308 -0.284775 0.904555 -vn 0.000091 -0.300271 0.953854 -vn 0.000798 -0.300107 0.953905 -vn -0.924369 -0.114759 0.363831 -vn -0.921680 -0.117164 0.369835 -vn -0.924243 -0.114872 0.364114 -vn -0.924243 -0.114872 0.364114 -vn -0.921680 -0.117164 0.369835 -vn -0.921553 -0.117277 0.370116 -vn -0.000033 -0.953359 -0.301839 -vn -0.000278 -0.953520 -0.301330 -vn -0.000468 -0.953831 -0.300343 -vn -0.000468 -0.953831 -0.300343 -vn -0.000278 -0.953520 -0.301330 -vn -0.000646 -0.953846 -0.300294 -vn -0.001640 -0.954772 -0.297335 -vn -0.000298 -0.954188 -0.299209 -vn 0.000335 -0.953740 -0.300633 -vn 0.000335 -0.953740 -0.300633 -vn -0.000298 -0.954188 -0.299209 -vn 0.000000 -0.953686 -0.300805 -vn -0.000000 0.954554 0.298037 -vn -0.000460 0.954487 0.298254 -vn 0.000313 0.953920 0.300062 -vn 0.000313 0.953920 0.300062 -vn -0.000460 0.954487 0.298254 -vn 0.002027 0.953163 0.302449 -vn -0.000460 0.954487 0.298254 -vn -0.000000 0.954554 0.298037 -vn 0.000638 0.954564 0.298005 -vn -0.000528 -0.953655 -0.300901 -vn 0.000335 -0.953740 -0.300633 -vn 0.000000 -0.953686 -0.300805 -vn -0.000000 0.954554 0.298037 -vn 0.001170 0.954567 0.297993 -vn 0.000638 0.954564 0.298005 -vn 0.000638 0.954564 0.298005 -vn 0.001170 0.954567 0.297993 -vn 0.001423 0.954677 0.297640 -vn 0.691212 -0.216569 0.689437 -vn 0.874794 -0.144989 0.462292 -vn 0.690147 -0.217044 0.690354 -vn 0.690147 -0.217044 0.690354 -vn 0.874794 -0.144989 0.462292 -vn 0.873242 -0.146055 0.464884 -vn 0.691212 -0.216569 0.689437 -vn 0.690147 -0.217044 0.690354 -vn 0.228632 -0.292125 0.928650 -vn 0.228632 -0.292125 0.928650 -vn 0.690147 -0.217044 0.690354 -vn 0.228653 -0.292173 0.928630 -vn -0.228291 -0.292369 0.928657 -vn 0.228632 -0.292125 0.928650 -vn -0.228138 -0.292322 0.928709 -vn -0.228138 -0.292322 0.928709 -vn 0.228632 -0.292125 0.928650 -vn 0.228653 -0.292173 0.928630 -vn -0.690365 -0.217540 0.689980 -vn -0.228291 -0.292369 0.928657 -vn -0.691255 -0.217104 0.689226 -vn -0.691255 -0.217104 0.689226 -vn -0.228291 -0.292369 0.928657 -vn -0.228138 -0.292322 0.928709 -vn -0.875485 -0.145283 0.460889 -vn -0.873890 -0.146380 0.463561 -vn -0.691255 -0.217104 0.689226 -vn -0.691255 -0.217104 0.689226 -vn -0.873890 -0.146380 0.463561 -vn -0.690365 -0.217540 0.689980 -vn 0.000000 -0.953686 -0.300805 -vn -0.001312 -0.953480 -0.301453 -vn -0.000528 -0.953655 -0.300901 -vn -0.000528 -0.953655 -0.300901 -vn -0.001312 -0.953480 -0.301453 -vn -0.002079 -0.953140 -0.302522 -vn 0.000960 -0.954369 -0.298627 -vn -0.000226 -0.953559 -0.301207 -vn 0.000812 -0.954153 -0.299318 -vn 0.000812 -0.954153 -0.299318 -vn -0.000226 -0.953559 -0.301207 -vn 0.000234 -0.953479 -0.301460 -vn -0.000921 0.953534 0.301283 -vn 0.000237 0.954506 0.298191 -vn -0.000732 0.953805 0.300426 -vn 0.000237 0.954506 0.298191 -vn -0.000110 0.954609 0.297862 -vn -0.000732 0.953805 0.300426 -vn -0.000110 0.954609 0.297862 -vn 0.000237 0.954506 0.298191 -vn 0.000712 0.954491 0.298238 -vn -0.000808 -0.953593 -0.301096 -vn 0.000234 -0.953479 -0.301460 -vn -0.000226 -0.953559 -0.301207 -vn 0.000879 0.954765 0.297360 -vn 0.000943 0.954675 0.297649 -vn 0.000237 0.954506 0.298191 -vn 0.000237 0.954506 0.298191 -vn 0.000943 0.954675 0.297649 -vn 0.000712 0.954491 0.298238 -vn 0.650392 -0.227638 0.724686 -vn 0.812562 -0.174506 0.556139 -vn 0.649233 -0.228149 0.725565 -vn 0.649233 -0.228149 0.725565 -vn 0.812562 -0.174506 0.556139 -vn 0.810489 -0.175641 0.558800 -vn 0.650392 -0.227638 0.724686 -vn 0.649233 -0.228149 0.725565 -vn 0.231733 -0.291900 0.927952 -vn 0.231733 -0.291900 0.927952 -vn 0.649233 -0.228149 0.725565 -vn 0.231837 -0.291965 0.927905 -vn -0.231379 -0.292175 0.927953 -vn 0.231733 -0.291900 0.927952 -vn -0.231222 -0.292123 0.928009 -vn -0.231222 -0.292123 0.928009 -vn 0.231733 -0.291900 0.927952 -vn 0.231837 -0.291965 0.927905 -vn -0.649442 -0.228653 0.725219 -vn -0.231379 -0.292175 0.927953 -vn -0.650458 -0.228194 0.724453 -vn -0.650458 -0.228194 0.724453 -vn -0.231379 -0.292175 0.927953 -vn -0.231222 -0.292123 0.928009 -vn -0.813432 -0.174813 0.554769 -vn -0.811420 -0.175917 0.557360 -vn -0.650458 -0.228194 0.724453 -vn -0.650458 -0.228194 0.724453 -vn -0.811420 -0.175917 0.557360 -vn -0.649442 -0.228653 0.725219 -vn -0.000942 -0.953189 -0.302373 -vn -0.001026 -0.953315 -0.301977 -vn -0.000226 -0.953559 -0.301207 -vn -0.000226 -0.953559 -0.301207 -vn -0.001026 -0.953315 -0.301977 -vn -0.000808 -0.953593 -0.301096 -vn 0.999999 -0.000024 -0.001367 -vn 1.000000 -0.000285 -0.000940 -vn 0.999999 0.000110 -0.001589 -vn -0.999997 0.001624 -0.001522 -vn -0.999999 0.001490 -0.000526 -vn -0.999997 0.001815 -0.001774 -vn -0.999997 0.001815 -0.001774 -vn -0.999999 0.001490 -0.000526 -vn -0.999999 0.001133 0.000814 -vn -0.000004 -0.953959 -0.299938 -vn -0.000007 -0.953977 -0.299879 -vn -0.000009 -0.953960 -0.299935 -vn -0.000009 -0.953960 -0.299935 -vn -0.000007 -0.953977 -0.299879 -vn 0.000000 -0.953952 -0.299959 -vn 0.851215 -0.157429 0.500649 -vn 0.962086 -0.081807 0.260189 -vn 0.851217 -0.157420 0.500648 -vn 0.851217 -0.157420 0.500648 -vn 0.962086 -0.081807 0.260189 -vn 0.962090 -0.081799 0.260177 -vn -0.358834 -0.279992 0.890417 -vn 0.000000 -0.299969 0.953949 -vn -0.358832 -0.279992 0.890418 -vn -0.358832 -0.279992 0.890418 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn -0.669870 -0.222721 0.708286 -vn -0.358834 -0.279992 0.890417 -vn -0.669870 -0.222721 0.708286 -vn -0.669870 -0.222721 0.708286 -vn -0.358834 -0.279992 0.890417 -vn -0.358832 -0.279992 0.890418 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.000001 0.953943 0.299987 -vn -0.000002 0.953945 0.299983 -vn -0.000003 0.953942 0.299990 -vn -0.000003 0.953942 0.299990 -vn -0.000002 0.953945 0.299983 -vn 0.000000 0.953952 0.299959 -vn 0.962086 -0.081807 0.260189 -vn 1.000000 0.000000 -0.000000 -vn 0.962090 -0.081799 0.260177 -vn 0.962090 -0.081799 0.260177 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000002 -0.953958 -0.299941 -vn 0.000003 -0.953936 -0.300012 -vn 0.000007 -0.953955 -0.299951 -vn 0.000007 -0.953955 -0.299951 -vn 0.000003 -0.953936 -0.300012 -vn 0.000000 -0.953946 -0.299979 -vn 0.832911 -0.166011 0.527920 -vn 0.957315 -0.086673 0.275747 -vn 0.832923 -0.165972 0.527914 -vn 0.832923 -0.165972 0.527914 -vn 0.957315 -0.086673 0.275747 -vn 0.957336 -0.086634 0.275685 -vn -0.359045 -0.279975 0.890337 -vn 0.000000 -0.299980 0.953945 -vn -0.359046 -0.279977 0.890336 -vn -0.359046 -0.279977 0.890336 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn -0.670204 -0.222630 0.707999 -vn -0.359045 -0.279975 0.890337 -vn -0.670207 -0.222633 0.707995 -vn -0.670207 -0.222633 0.707995 -vn -0.359045 -0.279975 0.890337 -vn -0.359046 -0.279977 0.890336 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.953940 0.299998 -vn 0.000001 0.953941 0.299994 -vn 0.000000 0.953943 0.299989 -vn 0.000000 0.953943 0.299989 -vn 0.000001 0.953941 0.299994 -vn 0.000001 0.953944 0.299986 -vn 0.957315 -0.086673 0.275747 -vn 1.000000 0.000000 -0.000000 -vn 0.957336 -0.086634 0.275685 -vn 0.957336 -0.086634 0.275685 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000000 -0.953959 -0.299938 -vn 0.000000 -0.953977 -0.299879 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953977 -0.299879 -vn 0.000000 -0.953977 -0.299879 -vn 0.811445 -0.175317 0.557513 -vn 0.951696 -0.092093 0.292905 -vn 0.811450 -0.175301 0.557510 -vn 0.811450 -0.175301 0.557510 -vn 0.951696 -0.092093 0.292905 -vn 0.951701 -0.092081 0.292892 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn -0.963467 -0.080325 0.255498 -vn -0.856549 -0.154797 0.492303 -vn -0.963471 -0.080327 0.255481 -vn -0.963471 -0.080327 0.255481 -vn -0.856549 -0.154797 0.492303 -vn -0.856553 -0.154807 0.492292 -vn -0.963467 -0.080325 0.255498 -vn -0.963471 -0.080327 0.255481 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.963471 -0.080327 0.255481 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.953966 0.299914 -vn 0.000000 0.953966 0.299914 -vn 0.000000 0.953954 0.299952 -vn 0.000000 0.953954 0.299952 -vn 0.000000 0.953966 0.299914 -vn 0.000000 0.953954 0.299954 -vn 0.951696 -0.092093 0.292905 -vn 1.000000 0.000000 -0.000000 -vn 0.951701 -0.092081 0.292892 -vn 0.951701 -0.092081 0.292892 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000000 -0.953944 -0.299985 -vn 0.000000 -0.953948 -0.299971 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953948 -0.299971 -vn 0.000000 -0.953948 -0.299971 -vn 0.822280 -0.170707 0.542876 -vn 0.954535 -0.089412 0.284374 -vn 0.822284 -0.170696 0.542874 -vn 0.822284 -0.170696 0.542874 -vn 0.954535 -0.089412 0.284374 -vn 0.954544 -0.089398 0.284347 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn -0.964692 -0.078994 0.251256 -vn -0.861276 -0.152417 0.484740 -vn -0.964699 -0.078990 0.251228 -vn -0.964699 -0.078990 0.251228 -vn -0.861276 -0.152417 0.484740 -vn -0.861279 -0.152424 0.484733 -vn -0.964692 -0.078994 0.251256 -vn -0.964699 -0.078990 0.251228 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.964699 -0.078990 0.251228 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.953961 0.299932 -vn 0.000000 0.953961 0.299932 -vn 0.000000 0.953939 0.300001 -vn 0.000000 0.953939 0.300001 -vn 0.000000 0.953961 0.299932 -vn 0.000000 0.953938 0.300004 -vn 0.954535 -0.089412 0.284374 -vn 1.000000 0.000000 -0.000000 -vn 0.954544 -0.089398 0.284347 -vn 0.954544 -0.089398 0.284347 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000008 -0.953947 -0.299974 -vn 0.000003 -0.953949 -0.299968 -vn 0.000015 -0.953945 -0.299982 -vn 0.825428 -0.169341 0.538509 -vn 0.955361 -0.088624 0.281835 -vn 0.825429 -0.169338 0.538508 -vn 0.825429 -0.169338 0.538508 -vn 0.955361 -0.088624 0.281835 -vn 0.955361 -0.088623 0.281834 -vn -0.108662 -0.298199 0.948298 -vn 0.000000 -0.299980 0.953945 -vn -0.108663 -0.298204 0.948297 -vn -0.108663 -0.298204 0.948297 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn -0.216023 -0.292831 0.931442 -vn -0.108662 -0.298199 0.948298 -vn -0.216025 -0.292839 0.931439 -vn -0.216025 -0.292839 0.931439 -vn -0.108662 -0.298199 0.948298 -vn -0.108663 -0.298204 0.948297 -vn -0.997122 -0.022736 0.072318 -vn -0.997122 -0.022737 0.072318 -vn -0.997122 -0.022740 0.072318 -vn -0.997122 -0.022740 0.072318 -vn -0.997122 -0.022737 0.072318 -vn -0.997122 -0.022741 0.072318 -vn 0.000007 0.953952 0.299958 -vn 0.000020 0.953957 0.299944 -vn 0.000039 0.953963 0.299924 -vn 0.955361 -0.088624 0.281835 -vn 1.000000 0.000000 -0.000000 -vn 0.955361 -0.088623 0.281834 -vn 0.955361 -0.088623 0.281834 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000000 -0.953951 -0.299963 -vn 0.000000 -0.953950 -0.299965 -vn 0.000000 -0.953961 -0.299932 -vn 0.000000 -0.953961 -0.299932 -vn 0.000000 -0.953950 -0.299965 -vn 0.000000 -0.953961 -0.299932 -vn 0.828793 -0.167823 0.533795 -vn 0.956239 -0.087764 0.279112 -vn 0.828789 -0.167837 0.533797 -vn 0.828789 -0.167837 0.533797 -vn 0.956239 -0.087764 0.279112 -vn 0.956236 -0.087774 0.279123 -vn 0.000000 -0.299923 0.953963 -vn 0.000000 -0.299923 0.953963 -vn 0.000000 -0.299923 0.953963 -vn 0.000000 -0.299923 0.953963 -vn 0.000000 -0.299923 0.953963 -vn 0.000000 -0.299923 0.953963 -vn -0.968521 -0.074674 0.237466 -vn -0.876060 -0.144634 0.460000 -vn -0.968518 -0.074672 0.237479 -vn -0.968518 -0.074672 0.237479 -vn -0.876060 -0.144634 0.460000 -vn -0.876056 -0.144625 0.460009 -vn -0.968521 -0.074674 0.237466 -vn -0.968518 -0.074672 0.237479 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.968518 -0.074672 0.237479 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.953942 0.299993 -vn 0.000000 0.953942 0.299993 -vn 0.000000 0.953956 0.299947 -vn 0.000000 0.953956 0.299947 -vn 0.000000 0.953942 0.299993 -vn 0.000000 0.953956 0.299945 -vn 0.956239 -0.087764 0.279112 -vn 1.000000 0.000000 -0.000000 -vn 0.956236 -0.087774 0.279123 -vn 0.956236 -0.087774 0.279123 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000003 0.953953 0.299956 -vn -0.000002 0.953956 0.299946 -vn -0.000016 0.953949 0.299968 -vn -0.000016 0.953949 0.299968 -vn -0.000002 0.953956 0.299946 -vn -0.000026 0.953958 0.299941 -vn 0.000007 -0.953955 -0.299951 -vn 0.000009 -0.953948 -0.299972 -vn 0.000001 -0.953955 -0.299950 -vn 0.000001 -0.953955 -0.299950 -vn 0.000009 -0.953948 -0.299972 -vn 0.000000 -0.953968 -0.299908 -vn -0.868644 -0.148587 0.472631 -vn -0.868651 -0.148604 0.472612 -vn -0.868648 -0.148598 0.472619 -vn -0.868648 -0.148598 0.472619 -vn -0.868651 -0.148604 0.472612 -vn -0.868656 -0.148615 0.472600 -vn -0.941437 -0.101150 0.321661 -vn -0.941437 -0.101150 0.321661 -vn -0.941437 -0.101150 0.321661 -vn -0.941437 -0.101150 0.321661 -vn -0.941437 -0.101150 0.321661 -vn -0.941437 -0.101150 0.321661 -vn 0.939018 -0.103135 0.328037 -vn 1.000000 0.000000 -0.000000 -vn 0.939026 -0.103124 0.328018 -vn 0.939026 -0.103124 0.328018 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.763509 -0.193726 0.616055 -vn 0.939018 -0.103135 0.328037 -vn 0.763512 -0.193715 0.616055 -vn 0.763512 -0.193715 0.616055 -vn 0.939018 -0.103135 0.328037 -vn 0.939026 -0.103124 0.328018 -vn -0.334186 -0.282733 0.899101 -vn 0.000000 -0.299980 0.953945 -vn -0.334187 -0.282733 0.899100 -vn -0.334187 -0.282733 0.899100 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn -0.334187 -0.282733 0.899100 -vn -0.334186 -0.282733 0.899101 -vn -0.334186 -0.282733 0.899101 -vn -0.334186 -0.282733 0.899101 -vn -0.334186 -0.282733 0.899101 -vn -0.334187 -0.282733 0.899100 -vn 0.323100 -0.283891 0.902780 -vn -0.334187 -0.282733 0.899100 -vn 0.323099 -0.283891 0.902781 -vn 0.323099 -0.283891 0.902781 -vn -0.334187 -0.282733 0.899100 -vn -0.334186 -0.282733 0.899101 -vn 0.323100 -0.283891 0.902780 -vn 0.323099 -0.283891 0.902781 -vn 0.323099 -0.283891 0.902781 -vn 0.323099 -0.283891 0.902781 -vn 0.323099 -0.283891 0.902781 -vn 0.323100 -0.283891 0.902780 -vn 0.000000 -0.299980 0.953945 -vn 0.323099 -0.283891 0.902781 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn 0.323099 -0.283891 0.902781 -vn 0.323100 -0.283891 0.902780 -vn -0.000001 -0.953951 -0.299962 -vn 0.000001 -0.953955 -0.299950 -vn -0.000014 -0.953954 -0.299951 -vn -0.105776 -0.298229 0.948615 -vn -0.105767 -0.298248 0.948610 -vn -0.105752 -0.298279 0.948602 -vn -0.105752 -0.298279 0.948602 -vn -0.105767 -0.298248 0.948610 -vn -0.105744 -0.298298 0.948597 -vn -0.000016 0.953949 0.299968 -vn -0.000026 0.953958 0.299941 -vn -0.000076 0.953945 0.299982 -vn 0.000003 0.953953 0.299956 -vn -0.000016 0.953949 0.299968 -vn 0.000007 0.953939 0.300000 -vn 0.000007 0.953939 0.300000 -vn -0.000016 0.953949 0.299968 -vn 0.000000 0.953924 0.300049 -vn -0.000002 0.953956 0.299946 -vn -0.000002 0.953953 0.299957 -vn 0.000001 0.953947 0.299976 -vn 0.000001 0.953947 0.299976 -vn -0.000002 0.953953 0.299957 -vn 0.000002 0.953946 0.299979 -vn -0.000002 0.953956 0.299946 -vn 0.000003 0.953953 0.299956 -vn -0.000002 0.953953 0.299957 -vn -0.000002 0.953953 0.299957 -vn 0.000002 0.953944 0.299984 -vn 0.000002 0.953946 0.299979 -vn 0.000002 0.953946 0.299979 -vn 0.000002 0.953944 0.299984 -vn 0.000000 0.953947 0.299974 -vn 0.000001 -0.953956 -0.299948 -vn -0.000007 -0.953954 -0.299953 -vn 0.000007 -0.953955 -0.299951 -vn 0.000007 -0.953955 -0.299951 -vn 0.000001 -0.953955 -0.299950 -vn 0.000001 -0.953956 -0.299948 -vn 0.000001 -0.953956 -0.299948 -vn 0.000001 -0.953955 -0.299950 -vn -0.000001 -0.953951 -0.299962 -vn 0.000000 -0.953975 -0.299885 -vn -0.000015 -0.953951 -0.299962 -vn -0.000012 -0.953954 -0.299954 -vn -0.000012 -0.953954 -0.299954 -vn -0.000015 -0.953951 -0.299962 -vn -0.000007 -0.953954 -0.299953 -vn -0.000012 -0.953954 -0.299954 -vn -0.000007 -0.953954 -0.299953 -vn -0.000015 -0.953947 -0.299976 -vn -0.000015 -0.953947 -0.299976 -vn -0.000007 -0.953954 -0.299953 -vn 0.000001 -0.953956 -0.299948 -vn 0.000003 0.953953 0.299955 -vn -0.000000 0.953955 0.299950 -vn 0.000008 0.953944 0.299986 -vn 0.000008 0.953944 0.299986 -vn -0.000000 0.953955 0.299950 -vn 0.000011 0.953950 0.299967 -vn -0.000003 -0.953953 -0.299956 -vn -0.000007 -0.953939 -0.300001 -vn 0.000014 -0.953947 -0.299976 -vn 0.000014 -0.953947 -0.299976 -vn -0.000007 -0.953939 -0.300001 -vn 0.000000 -0.953923 -0.300052 -vn -0.868654 -0.148611 0.472605 -vn -0.868655 -0.148613 0.472602 -vn -0.868654 -0.148612 0.472603 -vn -0.868654 -0.148612 0.472603 -vn -0.868655 -0.148613 0.472602 -vn -0.868656 -0.148615 0.472600 -vn -0.941431 -0.101132 0.321682 -vn -0.941432 -0.101135 0.321680 -vn -0.941432 -0.101132 0.321681 -vn -0.941432 -0.101132 0.321681 -vn -0.941432 -0.101135 0.321680 -vn -0.941432 -0.101135 0.321680 -vn 0.939020 -0.103149 0.328027 -vn 1.000000 0.000000 -0.000000 -vn 0.939022 -0.103147 0.328023 -vn 0.939022 -0.103147 0.328023 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.763519 -0.193723 0.616044 -vn 0.939020 -0.103149 0.328027 -vn 0.763519 -0.193721 0.616044 -vn 0.763519 -0.193721 0.616044 -vn 0.939020 -0.103149 0.328027 -vn 0.939022 -0.103147 0.328023 -vn -0.334186 -0.282733 0.899101 -vn 0.000000 -0.299980 0.953945 -vn -0.334187 -0.282733 0.899100 -vn -0.334187 -0.282733 0.899100 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn -0.334187 -0.282733 0.899100 -vn -0.334186 -0.282733 0.899101 -vn -0.334186 -0.282733 0.899101 -vn -0.334186 -0.282733 0.899101 -vn -0.334186 -0.282733 0.899101 -vn -0.334187 -0.282733 0.899100 -vn 0.323100 -0.283891 0.902780 -vn -0.334187 -0.282733 0.899100 -vn 0.323099 -0.283891 0.902781 -vn 0.323099 -0.283891 0.902781 -vn -0.334187 -0.282733 0.899100 -vn -0.334186 -0.282733 0.899101 -vn 0.323100 -0.283891 0.902780 -vn 0.323099 -0.283891 0.902781 -vn 0.323099 -0.283891 0.902781 -vn 0.323099 -0.283891 0.902781 -vn 0.323099 -0.283891 0.902781 -vn 0.323100 -0.283891 0.902780 -vn 0.000000 -0.299980 0.953945 -vn 0.323099 -0.283891 0.902781 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn 0.323099 -0.283891 0.902781 -vn 0.323100 -0.283891 0.902780 -vn 0.000025 -0.953954 -0.299953 -vn 0.000014 -0.953947 -0.299976 -vn 0.000079 -0.953940 -0.299998 -vn -0.105749 -0.298287 0.948600 -vn -0.105755 -0.298275 0.948603 -vn -0.105765 -0.298253 0.948609 -vn -0.105765 -0.298253 0.948609 -vn -0.105755 -0.298275 0.948603 -vn -0.105770 -0.298241 0.948612 -vn 0.000008 0.953944 0.299986 -vn 0.000011 0.953950 0.299967 -vn 0.000012 0.953950 0.299966 -vn 0.000003 0.953953 0.299955 -vn 0.000008 0.953944 0.299986 -vn 0.000007 0.953939 0.300001 -vn 0.000007 0.953939 0.300001 -vn 0.000008 0.953944 0.299986 -vn 0.000000 0.953924 0.300049 -vn -0.000000 0.953955 0.299950 -vn -0.000002 0.953953 0.299957 -vn 0.000001 0.953947 0.299977 -vn 0.000001 0.953947 0.299977 -vn -0.000002 0.953953 0.299957 -vn 0.000002 0.953946 0.299980 -vn -0.000000 0.953955 0.299950 -vn 0.000003 0.953953 0.299955 -vn -0.000002 0.953953 0.299957 -vn -0.000002 0.953953 0.299957 -vn 0.000002 0.953944 0.299985 -vn 0.000002 0.953946 0.299980 -vn 0.000002 0.953946 0.299980 -vn 0.000002 0.953944 0.299985 -vn 0.000000 0.953947 0.299974 -vn 0.000001 -0.953956 -0.299946 -vn 0.000002 -0.953953 -0.299957 -vn -0.000003 -0.953953 -0.299956 -vn -0.000003 -0.953953 -0.299956 -vn 0.000014 -0.953947 -0.299976 -vn 0.000001 -0.953956 -0.299946 -vn 0.000001 -0.953956 -0.299946 -vn 0.000014 -0.953947 -0.299976 -vn 0.000025 -0.953954 -0.299953 -vn 0.000000 -0.953947 -0.299975 -vn -0.000002 -0.953944 -0.299986 -vn -0.000002 -0.953946 -0.299980 -vn -0.000002 -0.953946 -0.299980 -vn -0.000002 -0.953944 -0.299986 -vn 0.000002 -0.953953 -0.299957 -vn -0.000002 -0.953946 -0.299980 -vn 0.000002 -0.953953 -0.299957 -vn -0.000001 -0.953947 -0.299976 -vn -0.000001 -0.953947 -0.299976 -vn 0.000002 -0.953953 -0.299957 -vn 0.000001 -0.953956 -0.299946 -vn -0.979755 -0.060043 0.190986 -vn -0.919844 -0.117665 0.374223 -vn -0.979757 -0.060044 0.190973 -vn -0.979757 -0.060044 0.190973 -vn -0.919844 -0.117665 0.374223 -vn -0.919846 -0.117672 0.374215 -vn 0.806339 -0.177418 0.564217 -vn 0.950353 -0.093331 0.296846 -vn 0.806343 -0.177404 0.564215 -vn 0.806343 -0.177404 0.564215 -vn 0.950353 -0.093331 0.296846 -vn 0.950359 -0.093319 0.296831 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn -0.962647 -0.081204 0.258296 -vn -0.853388 -0.156356 0.497274 -vn -0.962652 -0.081205 0.258278 -vn -0.962652 -0.081205 0.258278 -vn -0.853388 -0.156356 0.497274 -vn -0.853392 -0.156365 0.497264 -vn 0.823811 -0.170042 0.540759 -vn 0.954939 -0.089021 0.283139 -vn 0.823816 -0.170028 0.540757 -vn 0.823816 -0.170028 0.540757 -vn 0.954939 -0.089021 0.283139 -vn 0.954944 -0.089010 0.283124 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn 0.000000 -0.299969 0.953949 -vn -0.979755 -0.060043 0.190986 -vn -0.979757 -0.060044 0.190973 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.979757 -0.060044 0.190973 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.953949 0.299969 -vn 0.000000 0.953948 0.299971 -vn 0.000000 0.953939 0.300001 -vn 0.000000 0.953939 0.300001 -vn 0.000000 0.953948 0.299971 -vn 0.000000 0.953939 0.300001 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953961 -0.299932 -vn 0.000000 -0.953961 -0.299932 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953959 -0.299938 -vn 0.954939 -0.089021 0.283139 -vn 1.000000 0.000000 -0.000000 -vn 0.954944 -0.089010 0.283124 -vn 0.954944 -0.089010 0.283124 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn -0.962647 -0.081204 0.258296 -vn -0.962652 -0.081205 0.258278 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.962652 -0.081205 0.258278 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.953955 0.299949 -vn 0.000000 0.953955 0.299949 -vn 0.000000 0.953949 0.299968 -vn 0.000000 0.953949 0.299968 -vn 0.000000 0.953955 0.299949 -vn 0.000000 0.953949 0.299969 -vn 0.000000 -0.953959 -0.299939 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953983 -0.299862 -vn 0.950353 -0.093331 0.296846 -vn 1.000000 0.000000 -0.000000 -vn 0.950359 -0.093319 0.296831 -vn 0.950359 -0.093319 0.296831 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000007 0.953949 0.299967 -vn 0.000002 0.953951 0.299962 -vn 0.000002 0.953954 0.299953 -vn 0.000002 0.953954 0.299953 -vn 0.000002 0.953951 0.299962 -vn 0.000002 0.953965 0.299917 -vn 0.000010 -0.953955 -0.299950 -vn 0.000014 -0.953951 -0.299963 -vn -0.000003 -0.953957 -0.299945 -vn -0.000003 -0.953957 -0.299945 -vn 0.000014 -0.953951 -0.299963 -vn 0.000000 -0.953982 -0.299863 -vn -0.868676 -0.148667 0.472547 -vn -0.868662 -0.148636 0.472582 -vn -0.868667 -0.148648 0.472568 -vn -0.868667 -0.148648 0.472568 -vn -0.868662 -0.148636 0.472582 -vn -0.868654 -0.148616 0.472604 -vn -0.941437 -0.101150 0.321660 -vn -0.941435 -0.101135 0.321669 -vn -0.941437 -0.101148 0.321662 -vn -0.941437 -0.101148 0.321662 -vn -0.941435 -0.101135 0.321669 -vn -0.941435 -0.101132 0.321671 -vn 0.939023 -0.103149 0.328017 -vn 1.000000 0.000000 -0.000000 -vn 0.939020 -0.103152 0.328027 -vn 0.939020 -0.103152 0.328027 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.763519 -0.193723 0.616044 -vn 0.939023 -0.103149 0.328017 -vn 0.763519 -0.193723 0.616044 -vn 0.763519 -0.193723 0.616044 -vn 0.939023 -0.103149 0.328017 -vn 0.939020 -0.103152 0.328027 -vn -0.334203 -0.282718 0.899099 -vn 0.000000 -0.299980 0.953945 -vn -0.334206 -0.282731 0.899094 -vn -0.334206 -0.282731 0.899094 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn -0.334200 -0.282559 0.899150 -vn -0.334203 -0.282718 0.899099 -vn -0.334179 -0.282576 0.899153 -vn -0.334179 -0.282576 0.899153 -vn -0.334203 -0.282718 0.899099 -vn -0.334206 -0.282731 0.899094 -vn 0.323112 -0.283716 0.902831 -vn -0.334200 -0.282559 0.899150 -vn 0.323092 -0.283732 0.902833 -vn 0.323092 -0.283732 0.902833 -vn -0.334200 -0.282559 0.899150 -vn -0.334179 -0.282576 0.899153 -vn 0.323112 -0.283716 0.902831 -vn 0.323092 -0.283732 0.902833 -vn 0.323116 -0.283875 0.902780 -vn 0.323116 -0.283875 0.902780 -vn 0.323092 -0.283732 0.902833 -vn 0.323119 -0.283889 0.902774 -vn 0.000000 -0.299980 0.953945 -vn 0.323116 -0.283875 0.902780 -vn 0.000000 -0.299980 0.953945 -vn 0.000000 -0.299980 0.953945 -vn 0.323116 -0.283875 0.902780 -vn 0.323119 -0.283889 0.902774 -vn -0.000009 -0.953949 -0.299969 -vn -0.000003 -0.953957 -0.299945 -vn -0.000041 -0.953957 -0.299943 -vn -0.105689 -0.298426 0.948563 -vn -0.105713 -0.298376 0.948576 -vn -0.105752 -0.298291 0.948599 -vn -0.105752 -0.298291 0.948599 -vn -0.105713 -0.298376 0.948576 -vn -0.105775 -0.298241 0.948612 -vn 0.000002 0.953954 0.299953 -vn 0.000002 0.953965 0.299917 -vn 0.000018 0.953969 0.299904 -vn 0.000007 0.953949 0.299967 -vn 0.000002 0.953954 0.299953 -vn 0.000010 0.953946 0.299977 -vn 0.000010 0.953946 0.299977 -vn 0.000002 0.953954 0.299953 -vn 0.000000 0.953924 0.300050 -vn 0.000002 0.953951 0.299962 -vn -0.000001 0.953950 0.299965 -vn -0.000002 0.953950 0.299964 -vn -0.000002 0.953950 0.299964 -vn -0.000001 0.953950 0.299965 -vn -0.000002 0.953950 0.299967 -vn 0.000002 0.953951 0.299962 -vn 0.000007 0.953949 0.299967 -vn -0.000001 0.953950 0.299965 -vn -0.000001 0.953950 0.299965 -vn -0.000002 0.953951 0.299963 -vn -0.000002 0.953950 0.299967 -vn -0.000002 0.953950 0.299967 -vn -0.000002 0.953951 0.299963 -vn 0.000000 0.953947 0.299974 -vn 0.000001 -0.953955 -0.299950 -vn -0.000005 -0.953954 -0.299952 -vn 0.000010 -0.953955 -0.299950 -vn 0.000010 -0.953955 -0.299950 -vn -0.000003 -0.953957 -0.299945 -vn 0.000001 -0.953955 -0.299950 -vn 0.000001 -0.953955 -0.299950 -vn -0.000003 -0.953957 -0.299945 -vn -0.000009 -0.953949 -0.299969 -vn 0.000000 -0.953947 -0.299974 -vn -0.000002 -0.953944 -0.299984 -vn -0.000002 -0.953960 -0.299934 -vn -0.000002 -0.953960 -0.299934 -vn -0.000002 -0.953944 -0.299984 -vn -0.000005 -0.953954 -0.299952 -vn -0.000002 -0.953960 -0.299934 -vn -0.000005 -0.953954 -0.299952 -vn -0.000004 -0.953966 -0.299916 -vn -0.000004 -0.953966 -0.299916 -vn -0.000005 -0.953954 -0.299952 -vn 0.000001 -0.953955 -0.299950 -vn -0.979755 -0.060045 0.190983 -vn -0.919844 -0.117669 0.374221 -vn -0.979757 -0.060047 0.190974 -vn -0.979757 -0.060047 0.190974 -vn -0.919844 -0.117669 0.374221 -vn -0.919846 -0.117676 0.374213 -vn 0.806339 -0.177425 0.564215 -vn 0.950354 -0.093334 0.296843 -vn 0.806343 -0.177411 0.564212 -vn 0.806343 -0.177411 0.564212 -vn 0.950354 -0.093334 0.296843 -vn 0.950358 -0.093323 0.296833 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn -0.962648 -0.081206 0.258293 -vn -0.853388 -0.156362 0.497272 -vn -0.962651 -0.081209 0.258280 -vn -0.962651 -0.081209 0.258280 -vn -0.853388 -0.156362 0.497272 -vn -0.853392 -0.156371 0.497262 -vn 0.823811 -0.170048 0.540757 -vn 0.954939 -0.089024 0.283136 -vn 0.823816 -0.170035 0.540755 -vn 0.823816 -0.170035 0.540755 -vn 0.954939 -0.089024 0.283136 -vn 0.954943 -0.089014 0.283126 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn 0.000000 -0.299981 0.953945 -vn -0.979755 -0.060045 0.190983 -vn -0.979757 -0.060047 0.190974 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.979757 -0.060047 0.190974 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.953951 0.299962 -vn 0.000000 0.953950 0.299965 -vn 0.000000 0.953938 0.300003 -vn 0.000000 0.953938 0.300003 -vn 0.000000 0.953950 0.299965 -vn 0.000000 0.953938 0.300003 -vn 0.000007 -0.953948 -0.299973 -vn 0.000002 -0.953945 -0.299981 -vn 0.000003 -0.953962 -0.299928 -vn 0.000003 -0.953962 -0.299928 -vn 0.000002 -0.953945 -0.299981 -vn 0.000000 -0.953959 -0.299938 -vn 0.954939 -0.089024 0.283136 -vn 1.000000 0.000000 -0.000000 -vn 0.954943 -0.089014 0.283126 -vn 0.954943 -0.089014 0.283126 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn -0.962648 -0.081206 0.258293 -vn -0.962651 -0.081209 0.258280 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.962651 -0.081209 0.258280 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.953951 0.299962 -vn 0.000000 0.953951 0.299963 -vn 0.000000 0.953938 0.300003 -vn 0.000000 0.953938 0.300003 -vn 0.000000 0.953951 0.299963 -vn 0.000000 0.953938 0.300003 -vn 0.000000 -0.953958 -0.299939 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953983 -0.299862 -vn 0.950354 -0.093334 0.296843 -vn 1.000000 0.000000 -0.000000 -vn 0.950358 -0.093323 0.296833 -vn 0.950358 -0.093323 0.296833 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000003 0.953955 0.299951 -vn -0.000001 0.953956 0.299947 -vn 0.000008 0.953957 0.299945 -vn 0.000008 0.953957 0.299945 -vn -0.000001 0.953956 0.299947 -vn 0.000013 0.953964 0.299921 -vn 0.000007 -0.953952 -0.299961 -vn 0.000011 -0.953957 -0.299942 -vn -0.000004 -0.953957 -0.299945 -vn -0.000004 -0.953957 -0.299945 -vn 0.000011 -0.953957 -0.299942 -vn 0.000000 -0.953982 -0.299862 -vn -0.868678 -0.148575 0.472572 -vn -0.868683 -0.148586 0.472559 -vn -0.868681 -0.148582 0.472564 -vn -0.868681 -0.148582 0.472564 -vn -0.868683 -0.148586 0.472559 -vn -0.868686 -0.148593 0.472552 -vn -0.941437 -0.101147 0.321662 -vn -0.941435 -0.101131 0.321670 -vn -0.941437 -0.101144 0.321663 -vn -0.941437 -0.101144 0.321663 -vn -0.941435 -0.101131 0.321670 -vn -0.941435 -0.101129 0.321672 -vn 0.939021 -0.103150 0.328023 -vn 1.000000 0.000000 -0.000000 -vn 0.939019 -0.103153 0.328027 -vn 0.939019 -0.103153 0.328027 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.763521 -0.193715 0.616045 -vn 0.939021 -0.103150 0.328023 -vn 0.763520 -0.193717 0.616044 -vn 0.763520 -0.193717 0.616044 -vn 0.939021 -0.103150 0.328023 -vn 0.939019 -0.103153 0.328027 -vn -0.334207 -0.282721 0.899097 -vn 0.000000 -0.299968 0.953949 -vn -0.334205 -0.282720 0.899097 -vn -0.334205 -0.282720 0.899097 -vn 0.000000 -0.299968 0.953949 -vn 0.000000 -0.299968 0.953949 -vn -0.334206 -0.282732 0.899093 -vn -0.334207 -0.282721 0.899097 -vn -0.334208 -0.282731 0.899093 -vn -0.334208 -0.282731 0.899093 -vn -0.334207 -0.282721 0.899097 -vn -0.334205 -0.282720 0.899097 -vn 0.323119 -0.283889 0.902774 -vn -0.334206 -0.282732 0.899093 -vn 0.323122 -0.283888 0.902773 -vn 0.323122 -0.283888 0.902773 -vn -0.334206 -0.282732 0.899093 -vn -0.334208 -0.282731 0.899093 -vn 0.323119 -0.283889 0.902774 -vn 0.323122 -0.283888 0.902773 -vn 0.323120 -0.283878 0.902777 -vn 0.323120 -0.283878 0.902777 -vn 0.323122 -0.283888 0.902773 -vn 0.323118 -0.283878 0.902778 -vn 0.000000 -0.299968 0.953949 -vn 0.323120 -0.283878 0.902777 -vn 0.000000 -0.299968 0.953949 -vn 0.000000 -0.299968 0.953949 -vn 0.323120 -0.283878 0.902777 -vn 0.323118 -0.283878 0.902778 -vn -0.000010 -0.953949 -0.299969 -vn -0.000004 -0.953957 -0.299945 -vn -0.000043 -0.953957 -0.299942 -vn -0.105684 -0.298243 0.948621 -vn -0.105686 -0.298241 0.948622 -vn -0.105688 -0.298236 0.948623 -vn -0.105688 -0.298236 0.948623 -vn -0.105686 -0.298241 0.948622 -vn -0.105689 -0.298233 0.948624 -vn 0.000008 0.953957 0.299945 -vn 0.000013 0.953964 0.299921 -vn 0.000046 0.953973 0.299894 -vn 0.000003 0.953955 0.299951 -vn 0.000008 0.953957 0.299945 -vn 0.000005 0.953949 0.299969 -vn 0.000005 0.953949 0.299969 -vn 0.000008 0.953957 0.299945 -vn 0.000000 0.953938 0.300005 -vn -0.000001 0.953956 0.299947 -vn -0.000003 0.953954 0.299952 -vn -0.000003 0.953951 0.299962 -vn -0.000003 0.953951 0.299962 -vn -0.000003 0.953954 0.299952 -vn -0.000002 0.953950 0.299967 -vn -0.000001 0.953956 0.299947 -vn 0.000003 0.953955 0.299951 -vn -0.000003 0.953954 0.299952 -vn -0.000003 0.953954 0.299952 -vn -0.000002 0.953951 0.299964 -vn -0.000002 0.953950 0.299967 -vn -0.000002 0.953950 0.299967 -vn -0.000002 0.953951 0.299964 -vn 0.000000 0.953947 0.299974 -vn 0.000005 -0.953950 -0.299965 -vn 0.000001 -0.953950 -0.299964 -vn 0.000007 -0.953952 -0.299961 -vn 0.000007 -0.953952 -0.299961 -vn -0.000004 -0.953957 -0.299945 -vn 0.000005 -0.953950 -0.299965 -vn 0.000005 -0.953950 -0.299965 -vn -0.000004 -0.953957 -0.299945 -vn -0.000010 -0.953949 -0.299969 -vn 0.000000 -0.953947 -0.299975 -vn 0.000002 -0.953950 -0.299965 -vn 0.000002 -0.953950 -0.299967 -vn 0.000002 -0.953950 -0.299967 -vn 0.000002 -0.953950 -0.299965 -vn 0.000001 -0.953950 -0.299964 -vn 0.000002 -0.953950 -0.299967 -vn 0.000001 -0.953950 -0.299964 -vn 0.000002 -0.953951 -0.299964 -vn 0.000002 -0.953951 -0.299964 -vn 0.000001 -0.953950 -0.299964 -vn 0.000005 -0.953950 -0.299965 -vn -0.000004 0.953959 0.299936 -vn -0.000007 0.953958 0.299939 -vn 0.000000 0.953957 0.299943 -vn -0.000004 -0.953936 -0.300010 -vn -0.000003 -0.953968 -0.299907 -vn -0.000000 -0.953948 -0.299972 -vn -0.000000 -0.953948 -0.299972 -vn -0.000003 -0.953968 -0.299907 -vn 0.000000 -0.953963 -0.299924 -vn -0.751588 -0.197870 0.629256 -vn -0.308892 -0.285309 0.907295 -vn -0.751587 -0.197871 0.629257 -vn -0.751587 -0.197871 0.629257 -vn -0.308892 -0.285309 0.907295 -vn -0.308885 -0.285310 0.907297 -vn -0.878582 -0.143262 0.455598 -vn -0.751588 -0.197870 0.629256 -vn -0.878582 -0.143263 0.455598 -vn -0.878582 -0.143263 0.455598 -vn -0.751588 -0.197870 0.629256 -vn -0.751587 -0.197871 0.629257 -vn 0.939020 -0.103136 0.328030 -vn 1.000000 0.000000 -0.000000 -vn 0.939024 -0.103129 0.328023 -vn 0.939024 -0.103129 0.328023 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.763511 -0.193725 0.616053 -vn 0.939020 -0.103136 0.328030 -vn 0.763513 -0.193716 0.616053 -vn 0.763513 -0.193716 0.616053 -vn 0.939020 -0.103136 0.328030 -vn 0.939024 -0.103129 0.328023 -vn -0.334190 -0.282728 0.899101 -vn 0.000000 -0.299979 0.953946 -vn -0.334187 -0.282732 0.899100 -vn -0.334187 -0.282732 0.899100 -vn 0.000000 -0.299979 0.953946 -vn 0.000000 -0.299979 0.953946 -vn -0.334178 -0.282680 0.899120 -vn -0.334190 -0.282728 0.899101 -vn -0.334176 -0.282685 0.899119 -vn -0.334176 -0.282685 0.899119 -vn -0.334190 -0.282728 0.899101 -vn -0.334187 -0.282732 0.899100 -vn 0.323092 -0.283838 0.902800 -vn -0.334178 -0.282680 0.899120 -vn 0.323090 -0.283842 0.902799 -vn 0.323090 -0.283842 0.902799 -vn -0.334178 -0.282680 0.899120 -vn -0.334176 -0.282685 0.899119 -vn 0.323092 -0.283838 0.902800 -vn 0.323090 -0.283842 0.902799 -vn 0.323103 -0.283885 0.902781 -vn 0.323103 -0.283885 0.902781 -vn 0.323090 -0.283842 0.902799 -vn 0.323100 -0.283890 0.902781 -vn -0.308892 -0.285309 0.907295 -vn 0.323103 -0.283885 0.902781 -vn -0.308885 -0.285310 0.907297 -vn -0.308885 -0.285310 0.907297 -vn 0.323103 -0.283885 0.902781 -vn 0.323100 -0.283890 0.902781 -vn -0.000007 0.953958 0.299939 -vn -0.000002 0.953948 0.299972 -vn -0.000009 0.953948 0.299971 -vn -0.000009 0.953948 0.299971 -vn -0.000002 0.953948 0.299972 -vn 0.000000 0.953965 0.299918 -vn 0.000000 0.953957 0.299943 -vn 0.000002 0.953945 0.299983 -vn 0.000002 0.953952 0.299960 -vn 0.000002 0.953952 0.299960 -vn 0.000002 0.953945 0.299983 -vn 0.000000 0.953948 0.299973 -vn -0.000004 0.953959 0.299936 -vn 0.000000 0.953957 0.299943 -vn 0.000002 0.953955 0.299950 -vn 0.000002 0.953955 0.299950 -vn 0.000000 0.953957 0.299943 -vn 0.000002 0.953952 0.299960 -vn -0.000007 0.953958 0.299939 -vn -0.000004 0.953959 0.299936 -vn -0.000002 0.953948 0.299972 -vn -0.000002 0.953948 0.299972 -vn -0.000004 0.953959 0.299936 -vn -0.000000 0.953943 0.299988 -vn -0.000008 -0.953931 -0.300026 -vn -0.000006 -0.953939 -0.300002 -vn -0.000004 -0.953936 -0.300010 -vn -0.000004 -0.953936 -0.300010 -vn -0.000000 -0.953948 -0.299972 -vn -0.000008 -0.953931 -0.300026 -vn -0.000008 -0.953931 -0.300026 -vn -0.000000 -0.953948 -0.299972 -vn 0.000001 -0.953943 -0.299986 -vn 0.000000 -0.953975 -0.299885 -vn -0.000003 -0.953971 -0.299898 -vn -0.000002 -0.953961 -0.299930 -vn -0.000002 -0.953961 -0.299930 -vn -0.000003 -0.953971 -0.299898 -vn -0.000006 -0.953939 -0.300002 -vn -0.000002 -0.953961 -0.299930 -vn -0.000006 -0.953939 -0.300002 -vn -0.000003 -0.953952 -0.299960 -vn -0.000003 -0.953952 -0.299960 -vn -0.000006 -0.953939 -0.300002 -vn -0.000008 -0.953931 -0.300026 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn -0.999998 0.001910 0.000600 -vn -0.999998 0.001910 0.000600 -vn -0.999998 0.001910 0.000601 -vn -0.999998 0.001910 0.000601 -vn -0.999998 0.001910 0.000600 -vn -0.999998 0.001910 0.000601 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.999998 -0.001910 -0.000600 -vn 0.999998 -0.001910 -0.000600 -vn 0.999998 -0.001910 -0.000601 -vn 0.999998 -0.001910 -0.000601 -vn 0.999998 -0.001910 -0.000600 -vn 0.999998 -0.001910 -0.000601 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn 0.000000 0.299956 -0.953953 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 0.000000 -0.299951 0.953955 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.000000 0.953959 0.299938 -vn 0.000000 0.953959 0.299938 -vn 0.000000 0.953951 0.299962 -vn 0.000000 0.953951 0.299962 -vn 0.000000 0.953959 0.299938 -vn 0.000000 0.953951 0.299963 -vn 0.000000 0.953959 0.299938 -vn 0.000000 0.953959 0.299938 -vn 0.000000 0.953951 0.299962 -vn 0.000000 0.953951 0.299962 -vn 0.000000 0.953959 0.299938 -vn 0.000000 0.953950 0.299965 -vn 0.000000 -0.953959 -0.299938 -vn 0.000000 -0.953983 -0.299862 -vn 0.000003 -0.953962 -0.299928 -vn 0.000003 -0.953962 -0.299928 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953958 -0.299939 -vn 0.000000 0.953955 0.299949 -vn 0.000000 0.953955 0.299949 -vn 0.000000 0.953949 0.299969 -vn 0.000000 0.953949 0.299969 -vn 0.000000 0.953955 0.299949 -vn 0.000000 0.953948 0.299971 -vn 0.000000 0.953949 0.299968 -vn 0.000000 0.953949 0.299969 -vn 0.000000 0.953939 0.300001 -vn 0.000000 0.953939 0.300001 -vn 0.000000 0.953949 0.299969 -vn 0.000000 0.953939 0.300001 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953959 -0.299939 -vn 0.000000 -0.953959 -0.299938 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953961 -0.299932 -vn 0.000000 -0.953961 -0.299932 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953983 -0.299862 -vn 0.000000 -0.953951 -0.299963 -vn 0.000000 -0.953935 -0.300013 -vn 0.000000 -0.953950 -0.299965 -vn 0.000000 -0.953950 -0.299965 -vn 0.000000 -0.953935 -0.300013 -vn 0.000000 -0.953935 -0.300013 -vn -0.000009 -0.953960 -0.299935 -vn -0.000011 -0.953958 -0.299940 -vn -0.000004 -0.953959 -0.299938 -vn -0.000004 -0.953959 -0.299938 -vn -0.000011 -0.953958 -0.299940 -vn 0.000000 -0.953944 -0.299983 -vn 0.000000 0.953945 0.299982 -vn -0.000002 0.953942 0.299991 -vn -0.000001 0.953943 0.299987 -vn -0.000001 0.953943 0.299987 -vn -0.000002 0.953942 0.299991 -vn -0.000002 0.953945 0.299983 -vn 0.000000 0.953956 0.299947 -vn 0.000000 0.953956 0.299945 -vn 0.000000 0.953979 0.299875 -vn 0.000000 0.953979 0.299875 -vn 0.000000 0.953956 0.299945 -vn 0.000000 0.953979 0.299875 -vn -0.000006 0.953950 0.299964 -vn -0.000008 0.953951 0.299964 -vn -0.000042 0.953953 0.299957 -vn -0.000006 0.953950 0.299964 -vn 0.000020 0.953957 0.299944 -vn 0.000007 0.953952 0.299958 -vn -0.000006 0.953950 0.299964 -vn 0.000007 0.953952 0.299958 -vn -0.000008 0.953951 0.299964 -vn 0.000006 -0.953951 -0.299964 -vn 0.000009 -0.953951 -0.299964 -vn 0.000003 -0.953949 -0.299968 -vn 0.000006 -0.953951 -0.299964 -vn 0.000003 -0.953949 -0.299968 -vn 0.000008 -0.953947 -0.299974 -vn 0.000048 -0.953953 -0.299956 -vn 0.000009 -0.953951 -0.299964 -vn 0.000006 -0.953951 -0.299964 -vn 0.000000 0.953939 0.300001 -vn 0.000000 0.953938 0.300004 -vn 0.000000 0.953904 0.300113 -vn 0.000000 0.953904 0.300113 -vn 0.000000 0.953938 0.300004 -vn 0.000000 0.953904 0.300113 -vn 0.000000 0.953954 0.299952 -vn 0.000000 0.953954 0.299954 -vn 0.000000 0.953934 0.300016 -vn 0.000000 0.953934 0.300016 -vn 0.000000 0.953954 0.299954 -vn 0.000000 0.953934 0.300016 -vn 0.000000 0.953943 0.299989 -vn 0.000001 0.953944 0.299986 -vn -0.000000 0.953947 0.299975 -vn -0.000000 0.953947 0.299975 -vn 0.000001 0.953944 0.299986 -vn 0.000000 0.953947 0.299974 -vn 0.000007 -0.953955 -0.299951 -vn 0.000009 -0.953962 -0.299926 -vn 0.000002 -0.953958 -0.299941 -vn 0.000002 -0.953958 -0.299941 -vn 0.000009 -0.953962 -0.299926 -vn 0.000000 -0.953973 -0.299893 -vn 0.000000 -0.953959 -0.299938 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953948 -0.299973 -vn 0.000000 -0.953948 -0.299973 -vn 0.000000 -0.953959 -0.299936 -vn 0.000000 -0.953948 -0.299973 -vn 0.000000 -0.953944 -0.299985 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953942 -0.299993 -vn 0.000000 -0.953942 -0.299993 -vn 0.000000 -0.953944 -0.299984 -vn 0.000000 -0.953942 -0.299993 -vn 0.000011 0.953941 0.299994 -vn 0.000006 0.953944 0.299986 -vn 0.000002 0.953947 0.299974 -vn -0.000009 0.953949 0.299969 -vn -0.000032 0.953926 0.300043 -vn -0.000040 0.953927 0.300039 -vn 0.000023 -0.953955 -0.299950 -vn 0.000000 -0.953973 -0.299894 -vn 0.000006 -0.953949 -0.299970 -vn -0.945064 -0.098052 0.311833 -vn -0.945064 -0.098052 0.311833 -vn -0.945064 -0.098052 0.311833 -vn -0.945064 -0.098052 0.311833 -vn -0.945064 -0.098052 0.311833 -vn -0.945064 -0.098052 0.311833 -vn -0.043579 -0.299675 0.953046 -vn -0.043579 -0.299674 0.953046 -vn -0.043579 -0.299675 0.953046 -vn -0.043579 -0.299675 0.953046 -vn -0.043579 -0.299674 0.953046 -vn -0.043579 -0.299674 0.953046 -vn -0.960922 -0.083057 0.264066 -vn -0.846727 -0.159595 0.507526 -vn -0.960918 -0.083057 0.264080 -vn -0.960918 -0.083057 0.264080 -vn -0.846727 -0.159595 0.507526 -vn -0.846726 -0.159588 0.507531 -vn -1.000000 0.000000 -0.000000 -vn -0.960922 -0.083057 0.264066 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -0.960922 -0.083057 0.264066 -vn -0.960918 -0.083057 0.264080 -vn 0.962669 -0.081214 0.258209 -vn 1.000000 0.000000 -0.000000 -vn 0.962660 -0.081228 0.258239 -vn 0.962660 -0.081228 0.258239 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 0.853455 -0.156328 0.497167 -vn 0.962669 -0.081214 0.258209 -vn 0.853454 -0.156338 0.497167 -vn 0.853454 -0.156338 0.497167 -vn 0.962669 -0.081214 0.258209 -vn 0.962660 -0.081228 0.258239 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn -0.922398 -0.115888 0.368446 -vn -0.922394 -0.115866 0.368461 -vn -0.922397 -0.115882 0.368450 -vn -0.922397 -0.115882 0.368450 -vn -0.922394 -0.115866 0.368461 -vn -0.922393 -0.115860 0.368466 -vn 0.000000 -0.300040 0.953927 -vn 0.000000 -0.300040 0.953927 -vn 0.000000 -0.300040 0.953927 -vn 0.000000 -0.300040 0.953927 -vn 0.000000 -0.300040 0.953927 -vn 0.000000 -0.300040 0.953927 -vn -0.754741 -0.196780 0.625814 -vn -0.754754 -0.196813 0.625788 -vn -0.754747 -0.196793 0.625803 -vn -0.754747 -0.196793 0.625803 -vn -0.754754 -0.196813 0.625788 -vn -0.754759 -0.196827 0.625777 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.887761 -0.138072 0.439109 -vn 0.887761 -0.138072 0.439109 -vn 0.887761 -0.138072 0.439109 -vn 0.887761 -0.138072 0.439109 -vn 0.887761 -0.138072 0.439109 -vn 0.887761 -0.138072 0.439109 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299941 0.953958 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299941 0.953958 -vn 0.000000 -0.299959 0.953952 -vn 0.000001 -0.953950 -0.299965 -vn 0.000004 -0.953954 -0.299953 -vn 0.000000 -0.953968 -0.299907 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299941 0.953958 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299941 0.953958 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299959 0.953952 -vn 0.000000 -0.299941 0.953958 -vn 0.000000 -0.299941 0.953958 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 -0.299941 0.953958 -vn 0.000000 -0.299941 0.953958 -vn 0.000000 -0.551002 0.834504 -vn 0.000000 -0.551002 0.834504 -vn 0.000000 -0.299941 0.953958 -vn 0.000000 -0.551002 0.834504 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn 1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 -0.551002 0.834504 -vn 0.000000 -0.551002 0.834504 -vn 0.000000 -0.759493 0.650516 -vn 0.000000 -0.759493 0.650516 -vn 0.000000 -0.551002 0.834504 -vn 0.000000 -0.759493 0.650516 -vn 0.000000 0.809898 0.586570 -vn 0.000000 0.809898 0.586570 -vn 0.000000 0.809898 0.586570 -vn 0.000000 0.809898 0.586570 -vn 0.000000 0.809898 0.586570 -vn 0.000000 0.809898 0.586570 -vn 0.000000 -0.586564 0.809903 -vn 0.000000 -0.586564 0.809903 -vn 0.000000 -0.586564 0.809903 -vn 0.000000 -0.586564 0.809903 -vn 0.000000 -0.586564 0.809903 -vn 0.000000 -0.586564 0.809903 -vn 0.992400 0.099663 0.072181 -vn 0.992400 0.099661 0.072179 -vn 0.992403 0.099643 0.072161 -vn 0.992403 0.099643 0.072161 -vn 0.992400 0.099661 0.072179 -vn 0.992404 0.099641 0.072159 -vn -0.992404 0.099641 0.072159 -vn -0.992400 0.099661 0.072179 -vn -0.992403 0.099643 0.072161 -vn -0.992403 0.099643 0.072161 -vn -0.992400 0.099661 0.072179 -vn -0.992400 0.099663 0.072181 -vn 0.000000 0.809901 0.586566 -vn 0.000000 0.809901 0.586566 -vn 0.000000 0.809901 0.586566 -vn 0.000000 0.809901 0.586566 -vn 0.000000 0.809901 0.586566 -vn 0.000000 0.809901 0.586566 -vn 0.000000 -0.586733 0.809781 -vn 0.000000 -0.586733 0.809781 -vn 0.000000 -0.586733 0.809781 -vn 0.000000 -0.586733 0.809781 -vn 0.000000 -0.586733 0.809781 -vn 0.000000 -0.586733 0.809781 -vn 0.965697 0.210307 0.152314 -vn 0.965698 0.210306 0.152313 -vn 0.965702 0.210294 0.152302 -vn 0.965702 0.210294 0.152302 -vn 0.965698 0.210306 0.152313 -vn 0.965702 0.210293 0.152301 -vn -0.965702 0.210293 0.152301 -vn -0.965698 0.210306 0.152313 -vn -0.965702 0.210294 0.152302 -vn -0.965702 0.210294 0.152302 -vn -0.965698 0.210306 0.152313 -vn -0.965697 0.210307 0.152314 -vn -0.000008 0.953953 0.299957 -vn -0.000009 0.953949 0.299969 -vn 0.000000 0.953973 0.299894 -vn 0.000002 0.953947 0.299974 -vn -0.000008 0.953953 0.299957 -vn 0.000000 0.953954 0.299955 -vn -0.000008 0.953953 0.299957 -vn -0.000005 0.953947 0.299976 -vn -0.000009 0.953949 0.299969 -vn -0.000009 0.953949 0.299969 -vn -0.000005 0.953947 0.299976 -vn -0.000032 0.953926 0.300043 -vn -0.000009 0.953949 0.299969 -vn -0.000040 0.953927 0.300039 -vn 0.000002 0.953958 0.299942 -vn 0.000002 0.953947 0.299975 -vn 0.000011 0.953941 0.299994 -vn 0.000000 0.953915 0.300077 -vn 0.000001 0.953950 0.299964 -vn 0.000002 0.953947 0.299975 -vn -0.000001 0.953975 0.299885 -vn -0.000001 0.953975 0.299885 -vn 0.000002 0.953947 0.299975 -vn 0.000000 0.953976 0.299882 -vn 0.000001 0.953950 0.299964 -vn 0.000002 0.953935 0.300013 -vn 0.000002 0.953947 0.299975 -vn 0.000002 0.953935 0.300013 -vn 0.000006 0.953944 0.299986 -vn 0.000002 0.953947 0.299975 -vn 0.000002 0.953947 0.299975 -vn 0.000006 0.953944 0.299986 -vn 0.000011 0.953941 0.299994 -vn 0.000006 0.953944 0.299986 -vn -0.000005 0.953947 0.299976 -vn 0.000002 0.953947 0.299974 -vn 0.000002 0.953947 0.299974 -vn -0.000005 0.953947 0.299976 -vn -0.000008 0.953953 0.299957 -vn 0.000000 -0.953945 -0.299981 -vn -0.000002 -0.953947 -0.299974 -vn -0.000005 -0.953948 -0.299972 -vn -0.000005 -0.953948 -0.299972 -vn -0.000002 -0.953947 -0.299974 -vn -0.000005 -0.953951 -0.299963 -vn -0.000002 -0.953947 -0.299974 -vn 0.000000 -0.953945 -0.299981 -vn 0.000001 -0.953950 -0.299965 -vn -0.000002 -0.953949 -0.299968 -vn -0.000002 -0.953947 -0.299975 -vn 0.000004 -0.953954 -0.299953 -vn 0.000004 -0.953954 -0.299953 -vn -0.000002 -0.953947 -0.299975 -vn 0.000000 -0.953945 -0.299983 -vn 0.000000 -0.953945 -0.299981 -vn -0.000000 -0.953951 -0.299963 -vn 0.000001 -0.953950 -0.299965 -vn 0.000001 -0.953950 -0.299965 -vn -0.000000 -0.953951 -0.299963 -vn 0.000004 -0.953954 -0.299953 -vn -0.000000 -0.953951 -0.299963 -vn -0.000002 -0.953949 -0.299968 -vn 0.000004 -0.953954 -0.299953 -vn -0.000005 -0.953951 -0.299963 -vn -0.000002 -0.953947 -0.299974 -vn 0.000000 -0.953954 -0.299955 -vn 0.000023 -0.953955 -0.299950 -vn 0.000006 -0.953949 -0.299970 -vn 0.000016 -0.953945 -0.299982 -vn -0.000022 -0.953947 -0.299976 -vn 0.000006 -0.953949 -0.299970 -vn 0.000001 -0.953930 -0.300031 -vn -0.000018 -0.953947 -0.299975 -vn 0.000006 -0.953949 -0.299970 -vn -0.000022 -0.953947 -0.299976 -vn 0.000016 -0.953945 -0.299982 -vn 0.000006 -0.953949 -0.299970 -vn -0.000018 -0.953947 -0.299975 -vn -0.528790 -0.207909 0.822894 -vn -0.529347 -0.206827 0.822809 -vn -0.496517 -0.108663 0.861199 -vn -0.496517 -0.108663 0.861199 -vn -0.529347 -0.206827 0.822809 -vn -0.493995 -0.107474 0.862797 -vn 0.542548 0.261481 -0.798291 -vn 0.538860 0.263168 -0.800233 -vn 0.542729 0.261315 -0.798223 -vn 0.542729 0.261315 -0.798223 -vn 0.538860 0.263168 -0.800233 -vn 0.543179 0.260620 -0.798144 -vn 0.538860 0.263168 -0.800233 -vn 0.555186 0.305408 -0.773624 -vn 0.543179 0.260620 -0.798144 -vn 0.555186 0.305408 -0.773624 -vn 0.559618 0.312824 -0.767443 -vn 0.543179 0.260620 -0.798144 -vn 0.543179 0.260620 -0.798144 -vn 0.559618 0.312824 -0.767443 -vn 0.529346 0.206824 -0.822810 -vn 0.529346 0.206824 -0.822810 -vn 0.559618 0.312824 -0.767443 -vn 0.528811 0.207898 -0.822884 -vn 0.528811 0.207898 -0.822884 -vn 0.559618 0.312824 -0.767443 -vn 0.539256 0.262475 -0.800194 -vn 0.559618 0.312824 -0.767443 -vn 0.542412 0.261566 -0.798356 -vn 0.539256 0.262475 -0.800194 -vn 0.542412 0.261566 -0.798356 -vn 0.543115 0.261150 -0.798014 -vn 0.539256 0.262475 -0.800194 -vn 0.543115 0.261150 -0.798014 -vn 0.543135 0.261128 -0.798008 -vn 0.539256 0.262475 -0.800194 -vn 0.528811 0.207898 -0.822884 -vn 0.496521 0.108631 -0.861201 -vn 0.529346 0.206824 -0.822810 -vn 0.529346 0.206824 -0.822810 -vn 0.496521 0.108631 -0.861201 -vn 0.493980 0.107433 -0.862810 -vn 0.699477 0.385150 0.601990 -vn 0.699448 0.385236 0.601968 -vn 0.605421 0.536895 0.587545 -vn 0.605421 0.536895 0.587545 -vn 0.699448 0.385236 0.601968 -vn 0.605431 0.536918 0.587514 -vn 0.699477 0.385150 0.601990 -vn 0.835805 -0.076421 0.543682 -vn 0.699448 0.385236 0.601968 -vn 0.699448 0.385236 0.601968 -vn 0.835805 -0.076421 0.543682 -vn 0.835823 -0.076528 0.543640 -vn 0.835805 -0.076421 0.543682 -vn 0.711226 -0.648338 0.271691 -vn 0.835823 -0.076528 0.543640 -vn 0.835823 -0.076528 0.543640 -vn 0.711226 -0.648338 0.271691 -vn 0.711256 -0.648301 0.271698 -vn 0.711226 -0.648338 0.271691 -vn 0.362955 -0.930027 -0.057562 -vn 0.711256 -0.648301 0.271698 -vn 0.711256 -0.648301 0.271698 -vn 0.362955 -0.930027 -0.057562 -vn 0.363615 -0.929800 -0.057064 -vn 0.409154 -0.912241 -0.020229 -vn 0.431409 -0.902155 -0.001797 -vn 0.362955 -0.930027 -0.057562 -vn 0.362955 -0.930027 -0.057562 -vn 0.431409 -0.902155 -0.001797 -vn 0.363615 -0.929800 -0.057064 -vn 0.409154 -0.912241 -0.020229 -vn 0.613449 -0.772403 0.164544 -vn 0.431409 -0.902155 -0.001797 -vn 0.431409 -0.902155 -0.001797 -vn 0.613449 -0.772403 0.164544 -vn 0.613449 -0.772403 0.164543 -vn -0.256998 -0.853081 -0.454097 -vn -0.257005 -0.853113 -0.454034 -vn -0.257002 -0.853096 -0.454068 -vn -0.257002 -0.853096 -0.454068 -vn -0.257005 -0.853113 -0.454034 -vn -0.257009 -0.853127 -0.454005 -vn -0.756024 -0.261580 -0.600004 -vn -0.771414 -0.220366 -0.596959 -vn -0.837203 0.094028 -0.538749 -vn -0.837203 0.094028 -0.538749 -vn -0.771414 -0.220366 -0.596959 -vn -0.837224 0.094034 -0.538715 -vn -0.711641 -0.361377 -0.602473 -vn -0.711600 -0.361485 -0.602457 -vn -0.756024 -0.261580 -0.600004 -vn -0.756024 -0.261580 -0.600004 -vn -0.711600 -0.361485 -0.602457 -vn -0.771414 -0.220366 -0.596959 -vn -0.711641 -0.361377 -0.602473 -vn -0.839819 0.171460 -0.515077 -vn -0.711600 -0.361485 -0.602457 -vn -0.711600 -0.361485 -0.602457 -vn -0.839819 0.171460 -0.515077 -vn -0.839814 0.171498 -0.515073 -vn -0.839819 0.171460 -0.515077 -vn -0.658607 0.722077 -0.211760 -vn -0.839814 0.171498 -0.515073 -vn -0.839814 0.171498 -0.515073 -vn -0.658607 0.722077 -0.211760 -vn -0.658573 0.722107 -0.211763 -vn -0.658607 0.722077 -0.211760 -vn -0.339481 0.937545 0.075911 -vn -0.658573 0.722107 -0.211763 -vn -0.658573 0.722107 -0.211763 -vn -0.339481 0.937545 0.075911 -vn -0.338967 0.937701 0.076278 -vn -0.339481 0.937545 0.075911 -vn -0.207632 0.962668 0.173664 -vn -0.338967 0.937701 0.076278 -vn -0.338967 0.937701 0.076278 -vn -0.207632 0.962668 0.173664 -vn -0.207584 0.962684 0.173636 -vn -0.758009 0.561350 -0.332127 -vn -0.758064 0.561309 -0.332071 -vn -0.758028 0.561336 -0.332108 -vn -0.758028 0.561336 -0.332108 -vn -0.758064 0.561309 -0.332071 -vn -0.758083 0.561294 -0.332052 -vn 0.235387 0.864929 0.443272 -vn 0.235389 0.864929 0.443271 -vn 0.235388 0.864929 0.443271 -vn 0.235388 0.864929 0.443271 -vn 0.235389 0.864929 0.443271 -vn 0.235390 0.864929 0.443270 -vn 0.830639 -0.306628 0.464778 -vn 0.830664 -0.306605 0.464748 -vn 0.830712 -0.306562 0.464691 -vn 0.830712 -0.306562 0.464691 -vn 0.830664 -0.306605 0.464748 -vn 0.830737 -0.306540 0.464661 -vn -0.555156 -0.305430 0.773637 -vn -0.559601 -0.312809 0.767461 -vn -0.581574 -0.417870 0.697966 -vn -0.581574 -0.417870 0.697966 -vn -0.559601 -0.312809 0.767461 -vn -0.593004 -0.427010 0.682648 -vn -0.542697 -0.261391 0.798219 -vn -0.542768 -0.261326 0.798193 -vn -0.538790 -0.263231 0.800259 -vn -0.542768 -0.261326 0.798193 -vn -0.543188 -0.260613 0.798140 -vn -0.538790 -0.263231 0.800259 -vn -0.538790 -0.263231 0.800259 -vn -0.543188 -0.260613 0.798140 -vn -0.555156 -0.305430 0.773637 -vn -0.555156 -0.305430 0.773637 -vn -0.543188 -0.260613 0.798140 -vn -0.559601 -0.312809 0.767461 -vn -0.543188 -0.260613 0.798140 -vn -0.529347 -0.206827 0.822809 -vn -0.559601 -0.312809 0.767461 -vn -0.529347 -0.206827 0.822809 -vn -0.528790 -0.207909 0.822894 -vn -0.559601 -0.312809 0.767461 -vn -0.528790 -0.207909 0.822894 -vn -0.539261 -0.262469 0.800192 -vn -0.559601 -0.312809 0.767461 -vn -0.559601 -0.312809 0.767461 -vn -0.539261 -0.262469 0.800192 -vn -0.542425 -0.261554 0.798351 -vn -0.539261 -0.262469 0.800192 -vn -0.543193 -0.261101 0.797977 -vn -0.542425 -0.261554 0.798351 -vn -0.543193 -0.261101 0.797977 -vn -0.543123 -0.261115 0.798020 -vn -0.542425 -0.261554 0.798351 -vn 0.555186 0.305408 -0.773624 -vn 0.581597 0.417889 -0.697936 -vn 0.559618 0.312824 -0.767443 -vn 0.559618 0.312824 -0.767443 -vn 0.581597 0.417889 -0.697936 -vn 0.593078 0.427070 -0.682547 -vn -0.527445 -0.204722 0.824555 -vn -0.521047 -0.210346 0.827203 -vn -0.499157 -0.120512 0.858091 -vn -0.499157 -0.120512 0.858091 -vn -0.521047 -0.210346 0.827203 -vn -0.505285 -0.123061 0.854133 -vn 0.559592 0.223151 -0.798161 -vn 0.546538 0.239366 -0.802496 -vn 0.539218 0.242967 -0.806357 -vn 0.539218 0.242967 -0.806357 -vn 0.546538 0.239366 -0.802496 -vn 0.529571 0.257265 -0.808313 -vn 0.546538 0.239366 -0.802496 -vn 0.546101 0.286070 -0.787361 -vn 0.529571 0.257265 -0.808313 -vn 0.546101 0.286070 -0.787361 -vn 0.565282 0.295103 -0.770306 -vn 0.529571 0.257265 -0.808313 -vn 0.529571 0.257265 -0.808313 -vn 0.565282 0.295103 -0.770306 -vn 0.521058 0.210340 -0.827197 -vn 0.521058 0.210340 -0.827197 -vn 0.565282 0.295103 -0.770306 -vn 0.527421 0.204722 -0.824570 -vn 0.527421 0.204722 -0.824570 -vn 0.565282 0.295103 -0.770306 -vn 0.553008 0.246282 -0.795944 -vn 0.565282 0.295103 -0.770306 -vn 0.576294 0.237654 -0.781924 -vn 0.553008 0.246282 -0.795944 -vn 0.576294 0.237654 -0.781924 -vn 0.559688 0.249093 -0.790381 -vn 0.553008 0.246282 -0.795944 -vn 0.559688 0.249093 -0.790381 -vn 0.549439 0.260927 -0.793747 -vn 0.553008 0.246282 -0.795944 -vn 0.527421 0.204722 -0.824570 -vn 0.499193 0.120559 -0.858063 -vn 0.521058 0.210340 -0.827197 -vn 0.521058 0.210340 -0.827197 -vn 0.499193 0.120559 -0.858063 -vn 0.505407 0.123144 -0.854049 -vn 0.602572 0.544224 0.583718 -vn 0.702840 0.379990 0.601351 -vn 0.602547 0.544227 0.583741 -vn 0.602547 0.544227 0.583741 -vn 0.702840 0.379990 0.601351 -vn 0.704472 0.376771 0.601467 -vn 0.702840 0.379990 0.601351 -vn 0.834696 -0.101593 0.541259 -vn 0.704472 0.376771 0.601467 -vn 0.704472 0.376771 0.601467 -vn 0.834696 -0.101593 0.541259 -vn 0.834470 -0.097428 0.542372 -vn 0.693999 -0.668399 0.267597 -vn 0.696653 -0.664399 0.270644 -vn 0.834696 -0.101593 0.541259 -vn 0.834696 -0.101593 0.541259 -vn 0.696653 -0.664399 0.270644 -vn 0.834470 -0.097428 0.542372 -vn 0.344476 -0.937107 -0.056276 -vn 0.345273 -0.936851 -0.055638 -vn 0.693999 -0.668399 0.267597 -vn 0.693999 -0.668399 0.267597 -vn 0.345273 -0.936851 -0.055638 -vn 0.696653 -0.664399 0.270644 -vn 0.411670 -0.911330 -0.002210 -vn 0.428167 -0.903626 0.011550 -vn 0.344476 -0.937107 -0.056276 -vn 0.344476 -0.937107 -0.056276 -vn 0.428167 -0.903626 0.011550 -vn 0.345273 -0.936851 -0.055638 -vn 0.411670 -0.911330 -0.002210 -vn 0.621304 -0.760466 0.188873 -vn 0.428167 -0.903626 0.011550 -vn 0.428167 -0.903626 0.011550 -vn 0.621304 -0.760466 0.188873 -vn 0.621300 -0.760466 0.188885 -vn -0.278012 -0.845821 -0.455297 -vn -0.278023 -0.845854 -0.455230 -vn -0.278017 -0.845836 -0.455268 -vn -0.278017 -0.845836 -0.455268 -vn -0.278023 -0.845854 -0.455230 -vn -0.278028 -0.845868 -0.455201 -vn -0.769322 -0.224426 -0.598144 -vn -0.781261 -0.188402 -0.595093 -vn -0.836255 0.142640 -0.529463 -vn -0.836255 0.142640 -0.529463 -vn -0.781261 -0.188402 -0.595093 -vn -0.836249 0.142639 -0.529473 -vn -0.769322 -0.224426 -0.598144 -vn -0.720273 -0.344710 -0.601982 -vn -0.781261 -0.188402 -0.595093 -vn -0.781261 -0.188402 -0.595093 -vn -0.720273 -0.344710 -0.601982 -vn -0.722511 -0.339911 -0.602028 -vn -0.720273 -0.344710 -0.601982 -vn -0.836094 0.192098 -0.513853 -vn -0.722511 -0.339911 -0.602028 -vn -0.722511 -0.339911 -0.602028 -vn -0.836094 0.192098 -0.513853 -vn -0.836130 0.190417 -0.514419 -vn -0.640987 0.738505 -0.209156 -vn -0.643222 0.735885 -0.211514 -vn -0.836094 0.192098 -0.513853 -vn -0.836094 0.192098 -0.513853 -vn -0.643222 0.735885 -0.211514 -vn -0.836130 0.190417 -0.514419 -vn -0.307180 0.947810 0.085418 -vn -0.307865 0.947635 0.084892 -vn -0.640987 0.738505 -0.209156 -vn -0.640987 0.738505 -0.209156 -vn -0.307865 0.947635 0.084892 -vn -0.643222 0.735885 -0.211514 -vn -0.307865 0.947635 0.084892 -vn -0.307180 0.947810 0.085418 -vn -0.164233 0.967987 0.189814 -vn -0.164233 0.967987 0.189814 -vn -0.307180 0.947810 0.085418 -vn -0.164233 0.967987 0.189814 -vn -0.729536 0.609604 -0.310097 -vn -0.729537 0.609603 -0.310095 -vn -0.729536 0.609604 -0.310097 -vn -0.729536 0.609604 -0.310097 -vn -0.729537 0.609603 -0.310095 -vn -0.729538 0.609603 -0.310095 -vn 0.254629 0.859443 0.443309 -vn 0.254562 0.859441 0.443350 -vn 0.254601 0.859442 0.443326 -vn 0.254601 0.859442 0.443326 -vn 0.254562 0.859441 0.443350 -vn 0.254534 0.859440 0.443368 -vn 0.822825 -0.332602 0.460798 -vn 0.822814 -0.332613 0.460811 -vn 0.822792 -0.332632 0.460835 -vn 0.822792 -0.332632 0.460835 -vn 0.822814 -0.332613 0.460811 -vn 0.822781 -0.332642 0.460848 -vn -0.546135 -0.286051 0.787344 -vn -0.565278 -0.295064 0.770323 -vn -0.577940 -0.382619 0.720824 -vn -0.577940 -0.382619 0.720824 -vn -0.565278 -0.295064 0.770323 -vn -0.614751 -0.410393 0.673543 -vn -0.559617 -0.223203 0.798128 -vn -0.539321 -0.242945 0.806294 -vn -0.546452 -0.239440 0.802533 -vn -0.539321 -0.242945 0.806294 -vn -0.529578 -0.257294 0.808299 -vn -0.546452 -0.239440 0.802533 -vn -0.546452 -0.239440 0.802533 -vn -0.529578 -0.257294 0.808299 -vn -0.546135 -0.286051 0.787344 -vn -0.546135 -0.286051 0.787344 -vn -0.529578 -0.257294 0.808299 -vn -0.565278 -0.295064 0.770323 -vn -0.529578 -0.257294 0.808299 -vn -0.521047 -0.210346 0.827203 -vn -0.565278 -0.295064 0.770323 -vn -0.521047 -0.210346 0.827203 -vn -0.527445 -0.204722 0.824555 -vn -0.565278 -0.295064 0.770323 -vn -0.527445 -0.204722 0.824555 -vn -0.552639 -0.245811 0.796346 -vn -0.565278 -0.295064 0.770323 -vn -0.565278 -0.295064 0.770323 -vn -0.552639 -0.245811 0.796346 -vn -0.576275 -0.238396 0.781713 -vn -0.552639 -0.245811 0.796346 -vn -0.556088 -0.251338 0.792209 -vn -0.576275 -0.238396 0.781713 -vn -0.556088 -0.251338 0.792209 -vn -0.568421 -0.248483 0.784317 -vn -0.576275 -0.238396 0.781713 -vn 0.546101 0.286070 -0.787361 -vn 0.577902 0.382674 -0.720826 -vn 0.565282 0.295103 -0.770306 -vn 0.565282 0.295103 -0.770306 -vn 0.577902 0.382674 -0.720826 -vn 0.614845 0.410555 -0.673357 -vn -0.000034 -0.960657 -0.277738 -vn 0.382293 -0.886674 -0.260118 -vn 0.382276 -0.886684 -0.260108 -vn 0.382276 -0.886684 -0.260108 -vn -0.000034 -0.960657 -0.277738 -vn -0.000034 -0.960657 -0.277738 -vn 0.382293 -0.886674 -0.260118 -vn 0.706342 -0.676101 -0.209685 -vn 0.706319 -0.676125 -0.209686 -vn 0.706319 -0.676125 -0.209686 -vn 0.382276 -0.886684 -0.260108 -vn 0.382293 -0.886674 -0.260118 -vn 0.706342 -0.676101 -0.209685 -vn 0.922902 -0.360890 -0.134202 -vn 0.922895 -0.360906 -0.134207 -vn 0.922895 -0.360906 -0.134207 -vn 0.706319 -0.676125 -0.209686 -vn 0.706342 -0.676101 -0.209685 -vn 0.922902 -0.360890 -0.134202 -vn 0.998923 0.010792 -0.045122 -vn 0.998923 0.010755 -0.045127 -vn 0.998923 0.010755 -0.045127 -vn 0.922895 -0.360906 -0.134207 -vn 0.922902 -0.360890 -0.134202 -vn 0.998923 0.010792 -0.045122 -vn 0.922877 0.382589 0.043869 -vn 0.922885 0.382568 0.043870 -vn 0.922885 0.382568 0.043870 -vn 0.998923 0.010755 -0.045127 -vn 0.998923 0.010792 -0.045122 -vn 0.922877 0.382589 0.043869 -vn 0.706352 0.697725 0.119361 -vn 0.706352 0.697725 0.119357 -vn 0.706352 0.697725 0.119357 -vn 0.922885 0.382568 0.043870 -vn 0.922877 0.382589 0.043869 -vn 0.706352 0.697725 0.119361 -vn 0.382242 0.908327 0.169800 -vn 0.382239 0.908328 0.169804 -vn 0.382239 0.908328 0.169804 -vn 0.706352 0.697725 0.119357 -vn 0.706352 0.697725 0.119361 -vn 0.382242 0.908327 0.169800 -vn 0.000015 0.982272 0.187459 -vn 0.000014 0.982273 0.187459 -vn 0.000014 0.982273 0.187459 -vn 0.382239 0.908328 0.169804 -vn 0.382242 0.908327 0.169800 -vn 0.000015 0.982272 0.187459 -vn -0.382273 0.908314 0.169801 -vn -0.382269 0.908317 0.169798 -vn -0.382269 0.908317 0.169798 -vn 0.000014 0.982273 0.187459 -vn 0.000015 0.982272 0.187459 -vn -0.382273 0.908314 0.169801 -vn -0.706321 0.697755 0.119364 -vn -0.706322 0.697753 0.119368 -vn -0.706322 0.697753 0.119368 -vn -0.382269 0.908317 0.169798 -vn -0.382273 0.908314 0.169801 -vn -0.706321 0.697755 0.119364 -vn -0.922898 0.382537 0.043862 -vn -0.922906 0.382520 0.043853 -vn -0.922906 0.382520 0.043853 -vn -0.706322 0.697753 0.119368 -vn -0.706321 0.697755 0.119364 -vn -0.922898 0.382537 0.043862 -vn -0.998923 0.010848 -0.045105 -vn -0.998923 0.010811 -0.045117 -vn -0.998923 0.010811 -0.045117 -vn -0.922906 0.382520 0.043853 -vn -0.922898 0.382537 0.043862 -vn -0.998923 0.010848 -0.045105 -vn -0.922882 -0.360937 -0.134214 -vn -0.922875 -0.360953 -0.134217 -vn -0.922875 -0.360953 -0.134217 -vn -0.998923 0.010811 -0.045117 -vn -0.998923 0.010848 -0.045105 -vn -0.922882 -0.360937 -0.134214 -vn -0.706374 -0.676072 -0.209673 -vn -0.706350 -0.676094 -0.209683 -vn -0.706350 -0.676094 -0.209683 -vn -0.922875 -0.360953 -0.134217 -vn -0.922882 -0.360937 -0.134214 -vn -0.706374 -0.676072 -0.209673 -vn -0.382243 -0.886697 -0.260111 -vn -0.382228 -0.886701 -0.260124 -vn -0.382228 -0.886701 -0.260124 -vn -0.706350 -0.676094 -0.209683 -vn -0.706374 -0.676072 -0.209673 -vn -0.382243 -0.886697 -0.260111 -vn -0.000034 -0.960657 -0.277738 -vn -0.000034 -0.960657 -0.277738 -vn -0.000034 -0.960657 -0.277738 -vn -0.382228 -0.886701 -0.260124 -vn -0.382243 -0.886697 -0.260111 -# 10365 vertex normals - -vt 0.871414 0.798087 0.000000 -vt 0.852228 0.809224 0.000000 -vt 0.861148 0.786935 0.000000 -vt 0.841327 0.795030 0.000000 -vt 0.828293 0.758206 0.000000 -vt 0.816020 0.756311 0.000000 -vt 0.828099 0.744737 0.000000 -vt 0.813639 0.744737 0.000000 -vt 0.845828 0.744737 0.000000 -vt 0.846646 0.759257 0.000000 -vt 0.891059 0.903942 0.000000 -vt 0.935823 0.931981 0.000000 -vt 0.872802 0.939067 0.000000 -vt 0.918410 0.965970 0.000000 -vt 0.861200 0.819309 0.000000 -vt 0.853690 0.824558 0.000000 -vt 0.878421 0.856169 0.000000 -vt 0.865865 0.866034 0.000000 -vt 0.868269 0.851807 0.000000 -vt 0.860035 0.859357 0.000000 -vt 0.888632 0.812956 0.000000 -vt 0.911588 0.875588 0.000000 -vt 0.954616 0.901820 0.000000 -vt 0.818244 0.881121 0.000000 -vt 0.796012 0.884690 0.000000 -vt 0.815839 0.874584 0.000000 -vt 0.794596 0.876787 0.000000 -vt 0.765906 0.885028 0.000000 -vt 0.765811 0.876702 0.000000 -vt 0.742155 0.870843 0.000000 -vt 0.739925 0.878656 0.000000 -vt 0.726420 0.862641 0.000000 -vt 0.720029 0.868469 0.000000 -vt 0.711174 0.858174 0.000000 -vt 0.718540 0.853732 0.000000 -vt 0.694060 0.814896 0.000000 -vt 0.703556 0.812889 0.000000 -vt 0.703614 0.843515 0.000000 -vt 0.713591 0.842403 0.000000 -vt 0.685832 0.779015 0.000000 -vt 0.694305 0.779028 0.000000 -vt 0.681876 0.744763 0.000000 -vt 0.689209 0.744760 0.000000 -vt 0.810489 0.915025 0.000000 -vt 0.789643 0.904915 0.000000 -vt 0.763502 0.897211 0.000000 -vt 0.736882 0.891458 0.000000 -vt 0.833882 0.877925 0.000000 -vt 0.830196 0.870154 0.000000 -vt 0.665446 0.821078 0.000000 -vt 0.675263 0.855962 0.000000 -vt 0.657850 0.783230 0.000000 -vt 0.654816 0.744778 0.000000 -vt 0.715693 0.882966 0.000000 -vt 0.689929 0.874198 0.000000 -vt 0.632023 0.869789 0.000000 -vt 0.648187 0.889954 0.000000 -vt 0.624729 0.831600 0.000000 -vt 0.617650 0.787994 0.000000 -vt 0.614571 0.744755 0.000000 -vt 0.995992 0.846520 0.000000 -vt 0.996536 0.855982 0.000000 -vt 0.991501 0.845898 0.000000 -vt 0.988333 0.853618 0.000000 -vt 0.961924 0.906842 0.000000 -vt 0.944564 0.937158 0.000000 -vt 0.928403 0.970303 0.000000 -vt 0.972178 0.874978 0.000000 -vt 0.981805 0.879609 0.000000 -vt 0.882666 0.843967 0.000000 -vt 0.869907 0.843064 0.000000 -vt 0.922122 0.842760 0.000000 -vt 0.802869 0.744741 0.000000 -vt 0.807042 0.758253 0.000000 -vt 0.814339 0.770298 0.000000 -vt 0.822772 0.766557 0.000000 -vt 0.824571 0.779950 0.000000 -vt 0.832115 0.776998 0.000000 -vt 0.839157 0.813215 0.000000 -vt 0.832958 0.799411 0.000000 -vt 0.844871 0.823460 0.000000 -vt 0.847351 0.838936 0.000000 -vt 0.841673 0.846389 0.000000 -vt 0.810947 0.863486 0.000000 -vt 0.792244 0.868903 0.000000 -vt 0.765926 0.870387 0.000000 -vt 0.743682 0.866644 0.000000 -vt 0.725129 0.849660 0.000000 -vt 0.732520 0.855317 0.000000 -vt 0.709422 0.811892 0.000000 -vt 0.719360 0.841105 0.000000 -vt 0.700735 0.778593 0.000000 -vt 0.696979 0.744761 0.000000 -vt 0.823595 0.857982 0.000000 -vt 0.844697 0.865754 0.000000 -vt 0.832563 0.852946 0.000000 -vt 0.744624 0.859953 0.000000 -vt 0.765077 0.863689 0.000000 -vt 0.790880 0.864773 0.000000 -vt 0.808861 0.860170 0.000000 -vt 0.820940 0.854831 0.000000 -vt 0.829727 0.850030 0.000000 -vt 0.837776 0.843606 0.000000 -vt 0.842833 0.837312 0.000000 -vt 0.840713 0.823410 0.000000 -vt 0.836029 0.814689 0.000000 -vt 0.827901 0.802468 0.000000 -vt 0.814958 0.787188 0.000000 -vt 0.805131 0.775627 0.000000 -vt 0.798631 0.761364 0.000000 -vt 0.794711 0.744744 0.000000 -vt 0.823022 0.805445 0.000000 -vt 0.810293 0.790673 0.000000 -vt 0.800652 0.778128 0.000000 -vt 0.792317 0.762532 0.000000 -vt 0.787037 0.744747 0.000000 -vt 0.733809 0.904559 0.000000 -vt 0.760316 0.911703 0.000000 -vt 0.991287 0.184616 0.000000 -vt 0.966726 0.142552 0.000000 -vt 0.997388 0.179701 0.000000 -vt 0.972845 0.139150 0.000000 -vt 0.961503 0.229079 0.000000 -vt 0.947051 0.254809 0.000000 -vt 0.918936 0.214844 0.000000 -vt 0.978510 0.203906 0.000000 -vt 0.940721 0.176716 0.000000 -vt 0.933799 0.280513 0.000000 -vt 0.905448 0.246653 0.000000 -vt 0.957712 0.149728 0.000000 -vt 0.987296 0.837510 0.000000 -vt 0.984188 0.841948 0.000000 -vt 0.930988 0.811492 0.000000 -vt 0.927908 0.815945 0.000000 -vt 0.874624 0.782600 0.000000 -vt 0.879310 0.778941 0.000000 -vt 0.883390 0.790657 0.000000 -vt 0.886913 0.786537 0.000000 -vt 0.867629 0.773037 0.000000 -vt 0.873149 0.770324 0.000000 -vt 0.863507 0.760529 0.000000 -vt 0.869542 0.759895 0.000000 -vt 0.863822 0.744725 0.000000 -vt 0.869999 0.748511 0.000000 -vt 0.849470 0.873433 0.000000 -vt 0.850926 0.922938 0.000000 -vt 0.832410 0.914605 0.000000 -vt 0.850628 0.946645 0.000000 -vt 0.824017 0.932271 0.000000 -vt 0.782108 0.922937 0.000000 -vt 0.852220 0.774364 0.000000 -vt 0.789699 0.861815 0.000000 -vt 0.806457 0.856563 0.000000 -vt 0.817326 0.851491 0.000000 -vt 0.831713 0.840069 0.000000 -vt 0.825793 0.846134 0.000000 -vt 0.834948 0.832574 0.000000 -vt 0.834331 0.824327 0.000000 -vt 0.831614 0.817057 0.000000 -vt 0.790882 0.763238 0.000000 -vt 0.785571 0.744748 0.000000 -vt 0.799636 0.779181 0.000000 -vt 0.727417 0.897469 0.000000 -vt 0.666699 0.895450 0.000000 -vt 0.687412 0.895364 0.000000 -vt 0.971997 0.103679 0.000000 -vt 0.982230 0.132221 0.000000 -vt 0.848733 0.990427 0.000000 -vt 0.906049 0.994898 0.000000 -vt 0.915518 0.995736 0.000000 -vt 0.994235 0.842300 0.000000 -vt 0.167314 0.941096 0.000000 -vt 0.157005 0.944138 0.000000 -vt 0.159509 0.928502 0.000000 -vt 0.151449 0.935019 0.000000 -vt 0.170045 0.955096 0.000000 -vt 0.159271 0.955096 0.000000 -vt 0.007461 0.900027 0.000000 -vt 0.147352 0.920573 0.000000 -vt 0.143002 0.929894 0.000000 -vt 0.134407 0.917116 0.000000 -vt 0.133248 0.927578 0.000000 -vt 0.092027 0.900998 0.000000 -vt 0.093769 0.900027 0.000000 -vt 0.079956 0.926907 0.000000 -vt 0.080295 0.916335 0.000000 -vt 0.092054 0.858902 0.000000 -vt 0.870027 0.293539 0.000000 -vt 0.898639 0.291452 0.000000 -vt 0.852039 0.313758 0.000000 -vt 0.887557 0.314149 0.000000 -vt 0.887490 0.319958 0.000000 -vt 0.863674 0.832905 0.000000 -vt 0.873407 0.831316 0.000000 -vt 0.848101 0.831633 0.000000 -vt 0.843067 0.831313 0.000000 -vt 0.960419 0.109997 0.000000 -vt 0.951667 0.076577 0.000000 -vt 0.962974 0.070631 0.000000 -vt 0.940444 0.034450 0.000000 -vt 0.952633 0.031365 0.000000 -vt 0.958689 0.139487 0.000000 -vt 0.950838 0.112785 0.000000 -vt 0.942291 0.079891 0.000000 -vt 0.931355 0.036950 0.000000 -vt 0.826583 0.965707 0.000000 -vt 0.835082 0.988600 0.000000 -vt 0.837427 0.951632 0.000000 -vt 0.713565 0.894176 0.000000 -vt 0.719793 0.778743 0.000000 -vt 0.719398 0.745624 0.000000 -vt 0.762929 0.761192 0.000000 -vt 0.759000 0.745624 0.000000 -vt 0.784902 0.783045 0.000000 -vt 0.722839 0.810315 0.000000 -vt 0.773162 0.774560 0.000000 -vt 0.819474 0.811538 0.000000 -vt 0.726166 0.838217 0.000000 -vt 0.815913 0.804902 0.000000 -vt 0.811087 0.799631 0.000000 -vt 0.800198 0.792446 0.000000 -vt 0.809371 0.832209 0.000000 -vt 0.801299 0.839856 0.000000 -vt 0.787602 0.848287 0.000000 -vt 0.730113 0.846807 0.000000 -vt 0.818819 0.818720 0.000000 -vt 0.815480 0.825394 0.000000 -vt 0.766623 0.855835 0.000000 -vt 0.736832 0.852377 0.000000 -vt 0.747833 0.856606 0.000000 -vt 0.015449 0.916548 0.000000 -vt 0.006293 0.926682 0.000000 -vt 0.007110 0.917489 0.000000 -vt 0.814404 0.948279 0.000000 -vt 0.802918 0.937081 0.000000 -vt 0.893087 0.314095 0.000000 -vt 0.095824 0.933535 0.000000 -vt 0.006082 0.933454 0.000000 -vt 0.129599 0.933505 0.000000 -vt 0.138341 0.935053 0.000000 -vt 0.146346 0.939368 0.000000 -vt 0.151038 0.946615 0.000000 -vt 0.152856 0.955096 0.000000 -vt 0.144859 0.871542 0.000000 -vt 0.150949 0.869044 0.000000 -vt 0.146576 0.879589 0.000000 -vt 0.153315 0.879592 0.000000 -vt 0.132861 0.860617 0.000000 -vt 0.124573 0.858902 0.000000 -vt 0.134998 0.854515 0.000000 -vt 0.125084 0.852531 0.000000 -vt 0.140435 0.864707 0.000000 -vt 0.144883 0.859885 0.000000 -vt 0.092027 0.858272 0.000000 -vt 0.093865 0.858902 0.000000 -vt 0.092417 0.852640 0.000000 -vt 0.007461 0.858902 0.000000 -vt 0.007452 0.852187 0.000000 -vt 0.090091 0.858902 0.000000 -vt 0.871074 0.691493 0.000000 -vt 0.860839 0.702619 0.000000 -vt 0.851934 0.680394 0.000000 -vt 0.841067 0.694553 0.000000 -vt 0.828133 0.731290 0.000000 -vt 0.815877 0.733185 0.000000 -vt 0.846453 0.730237 0.000000 -vt 0.890634 0.585910 0.000000 -vt 0.872415 0.550883 0.000000 -vt 0.935172 0.558265 0.000000 -vt 0.918070 0.524370 0.000000 -vt 0.853388 0.665099 0.000000 -vt 0.860880 0.670332 0.000000 -vt 0.878044 0.633561 0.000000 -vt 0.867920 0.637917 0.000000 -vt 0.865519 0.623725 0.000000 -vt 0.859704 0.630389 0.000000 -vt 0.888242 0.676658 0.000000 -vt 0.911120 0.614185 0.000000 -vt 0.953830 0.588286 0.000000 -vt 0.818016 0.608692 0.000000 -vt 0.815620 0.615215 0.000000 -vt 0.795841 0.605140 0.000000 -vt 0.794431 0.613024 0.000000 -vt 0.765813 0.604815 0.000000 -vt 0.765722 0.613118 0.000000 -vt 0.742130 0.618970 0.000000 -vt 0.726439 0.627156 0.000000 -vt 0.739903 0.611179 0.000000 -vt 0.720063 0.621346 0.000000 -vt 0.711235 0.631618 0.000000 -vt 0.718584 0.636045 0.000000 -vt 0.694188 0.674792 0.000000 -vt 0.703702 0.646243 0.000000 -vt 0.703661 0.676789 0.000000 -vt 0.713654 0.647347 0.000000 -vt 0.685979 0.710585 0.000000 -vt 0.694443 0.710570 0.000000 -vt 0.810271 0.574882 0.000000 -vt 0.789483 0.584973 0.000000 -vt 0.763413 0.592665 0.000000 -vt 0.736865 0.598411 0.000000 -vt 0.833615 0.611875 0.000000 -vt 0.829941 0.619629 0.000000 -vt 0.665644 0.668641 0.000000 -vt 0.675421 0.633843 0.000000 -vt 0.658043 0.706395 0.000000 -vt 0.715732 0.606889 0.000000 -vt 0.690040 0.615648 0.000000 -vt 0.632288 0.620073 0.000000 -vt 0.648399 0.599953 0.000000 -vt 0.625032 0.658163 0.000000 -vt 0.617948 0.701623 0.000000 -vt 0.995069 0.643040 0.000000 -vt 0.990604 0.643696 0.000000 -vt 0.995552 0.633629 0.000000 -vt 0.987415 0.636047 0.000000 -vt 0.961069 0.583273 0.000000 -vt 0.943905 0.553197 0.000000 -vt 0.928051 0.520151 0.000000 -vt 0.971278 0.614898 0.000000 -vt 0.980827 0.610256 0.000000 -vt 0.882292 0.645704 0.000000 -vt 0.869588 0.646646 0.000000 -vt 0.921577 0.646846 0.000000 -vt 0.806850 0.731062 0.000000 -vt 0.814103 0.719122 0.000000 -vt 0.824363 0.709601 0.000000 -vt 0.822583 0.722962 0.000000 -vt 0.831893 0.712543 0.000000 -vt 0.838896 0.676420 0.000000 -vt 0.832717 0.690188 0.000000 -vt 0.844593 0.666198 0.000000 -vt 0.847063 0.650758 0.000000 -vt 0.841397 0.643325 0.000000 -vt 0.810746 0.626281 0.000000 -vt 0.792090 0.620887 0.000000 -vt 0.765839 0.619417 0.000000 -vt 0.743656 0.623159 0.000000 -vt 0.725160 0.640106 0.000000 -vt 0.732529 0.634461 0.000000 -vt 0.709517 0.677781 0.000000 -vt 0.719412 0.648642 0.000000 -vt 0.700865 0.711006 0.000000 -vt 0.823364 0.631767 0.000000 -vt 0.844405 0.624013 0.000000 -vt 0.832310 0.636788 0.000000 -vt 0.744600 0.629834 0.000000 -vt 0.764996 0.626100 0.000000 -vt 0.790730 0.625007 0.000000 -vt 0.808665 0.629592 0.000000 -vt 0.820714 0.634913 0.000000 -vt 0.829481 0.639699 0.000000 -vt 0.837510 0.646105 0.000000 -vt 0.842556 0.652380 0.000000 -vt 0.840444 0.666247 0.000000 -vt 0.835773 0.674949 0.000000 -vt 0.827668 0.687141 0.000000 -vt 0.814770 0.702390 0.000000 -vt 0.804977 0.713925 0.000000 -vt 0.798510 0.728153 0.000000 -vt 0.822798 0.684172 0.000000 -vt 0.810113 0.698916 0.000000 -vt 0.800505 0.711432 0.000000 -vt 0.792205 0.726992 0.000000 -vt 0.733795 0.585344 0.000000 -vt 0.760231 0.578210 0.000000 -vt 0.749864 0.185042 0.000000 -vt 0.743741 0.180171 0.000000 -vt 0.774356 0.142860 0.000000 -vt 0.768210 0.139507 0.000000 -vt 0.779944 0.228845 0.000000 -vt 0.822322 0.214214 0.000000 -vt 0.794326 0.254341 0.000000 -vt 0.762833 0.204067 0.000000 -vt 0.800380 0.176439 0.000000 -vt 0.807594 0.279991 0.000000 -vt 0.835667 0.245974 0.000000 -vt 0.783340 0.150069 0.000000 -vt 0.986459 0.652072 0.000000 -vt 0.930486 0.678108 0.000000 -vt 0.983343 0.647676 0.000000 -vt 0.927411 0.673666 0.000000 -vt 0.874280 0.706939 0.000000 -vt 0.883021 0.698900 0.000000 -vt 0.878958 0.710590 0.000000 -vt 0.886537 0.703009 0.000000 -vt 0.867310 0.716479 0.000000 -vt 0.872816 0.719184 0.000000 -vt 0.863241 0.728954 0.000000 -vt 0.869238 0.729573 0.000000 -vt 0.869789 0.740903 0.000000 -vt 0.849164 0.616351 0.000000 -vt 0.850601 0.566978 0.000000 -vt 0.832136 0.575294 0.000000 -vt 0.823758 0.557679 0.000000 -vt 0.850297 0.543332 0.000000 -vt 0.781963 0.567000 0.000000 -vt 0.851947 0.715162 0.000000 -vt 0.789553 0.627962 0.000000 -vt 0.806267 0.633195 0.000000 -vt 0.817109 0.638250 0.000000 -vt 0.831462 0.649635 0.000000 -vt 0.825555 0.643588 0.000000 -vt 0.834690 0.657109 0.000000 -vt 0.834076 0.665334 0.000000 -vt 0.831365 0.672586 0.000000 -vt 0.790768 0.726291 0.000000 -vt 0.552712 0.587402 0.000000 -vt 0.799489 0.710380 0.000000 -vt 0.727422 0.592418 0.000000 -vt 0.666861 0.594460 0.000000 -vt 0.687520 0.594536 0.000000 -vt 0.758743 0.132695 0.000000 -vt 0.768633 0.104037 0.000000 -vt 0.848394 0.499665 0.000000 -vt 0.905796 0.495536 0.000000 -vt 0.915243 0.494743 0.000000 -vt 0.993344 0.647252 0.000000 -vt 0.167314 0.969095 0.000000 -vt 0.159509 0.981689 0.000000 -vt 0.157005 0.966054 0.000000 -vt 0.151449 0.975172 0.000000 -vt 0.851975 0.319566 0.000000 -vt 0.090185 0.900027 0.000000 -vt 0.147352 0.989617 0.000000 -vt 0.134407 0.993075 0.000000 -vt 0.143002 0.980297 0.000000 -vt 0.133248 0.982613 0.000000 -vt 0.092034 0.900027 0.000000 -vt 0.092317 0.906636 0.000000 -vt 0.079956 0.983284 0.000000 -vt 0.080295 0.993856 0.000000 -vt 0.007373 0.906645 0.000000 -vt 0.841469 0.290835 0.000000 -vt 0.863343 0.656769 0.000000 -vt 0.873052 0.658352 0.000000 -vt 0.847813 0.658044 0.000000 -vt 0.842790 0.658363 0.000000 -vt 0.780288 0.110213 0.000000 -vt 0.788631 0.076689 0.000000 -vt 0.777252 0.070881 0.000000 -vt 0.799339 0.034428 0.000000 -vt 0.787113 0.031492 0.000000 -vt 0.782394 0.139672 0.000000 -vt 0.789903 0.112884 0.000000 -vt 0.798046 0.079888 0.000000 -vt 0.808458 0.036817 0.000000 -vt 0.826307 0.524328 0.000000 -vt 0.834775 0.501491 0.000000 -vt 0.837127 0.538362 0.000000 -vt 0.713606 0.595708 0.000000 -vt 0.719793 0.712504 0.000000 -vt 0.762929 0.730056 0.000000 -vt 0.784902 0.708202 0.000000 -vt 0.773162 0.716687 0.000000 -vt 0.722839 0.680933 0.000000 -vt 0.726166 0.653030 0.000000 -vt 0.819474 0.679709 0.000000 -vt 0.815913 0.686345 0.000000 -vt 0.811086 0.691616 0.000000 -vt 0.800198 0.698801 0.000000 -vt 0.809371 0.659038 0.000000 -vt 0.801298 0.651391 0.000000 -vt 0.787602 0.642960 0.000000 -vt 0.730113 0.644440 0.000000 -vt 0.818819 0.672527 0.000000 -vt 0.815480 0.665853 0.000000 -vt 0.766622 0.635412 0.000000 -vt 0.736832 0.638870 0.000000 -vt 0.747833 0.634641 0.000000 -vt 0.015448 0.993642 0.000000 -vt 0.007110 0.992700 0.000000 -vt 0.006293 0.983508 0.000000 -vt 0.814164 0.541714 0.000000 -vt 0.802712 0.552886 0.000000 -vt 0.846511 0.313581 0.000000 -vt 0.095824 0.976655 0.000000 -vt 0.006081 0.976737 0.000000 -vt 0.129598 0.976686 0.000000 -vt 0.138341 0.975139 0.000000 -vt 0.146345 0.970823 0.000000 -vt 0.151038 0.963576 0.000000 -vt 0.144859 0.887630 0.000000 -vt 0.150944 0.890133 0.000000 -vt 0.132861 0.898549 0.000000 -vt 0.134991 0.904652 0.000000 -vt 0.124573 0.900027 0.000000 -vt 0.125074 0.906633 0.000000 -vt 0.140435 0.894463 0.000000 -vt 0.144876 0.899288 0.000000 -vt 0.693946 0.173145 0.000000 -vt 0.722943 0.178965 0.000000 -vt 0.715167 0.213186 0.000000 -vt 0.533605 0.131198 0.000000 -vt 0.518282 0.125114 0.000000 -vt 0.531182 0.095475 0.000000 -vt 0.731544 0.246003 0.000000 -vt 0.729887 0.257924 0.000000 -vt 0.704107 0.246127 0.000000 -vt 0.703427 0.259698 0.000000 -vt 0.655921 0.250000 0.000000 -vt 0.656540 0.265552 0.000000 -vt 0.611689 0.273725 0.000000 -vt 0.602002 0.258946 0.000000 -vt 0.454887 0.271807 0.000000 -vt 0.502496 0.271672 0.000000 -vt 0.455212 0.287864 0.000000 -vt 0.501087 0.287823 0.000000 -vt 0.401482 0.272503 0.000000 -vt 0.401482 0.288670 0.000000 -vt 0.601618 0.272915 0.000000 -vt 0.588511 0.262397 0.000000 -vt 0.558853 0.265784 0.000000 -vt 0.561431 0.278612 0.000000 -vt 0.510280 0.271988 0.000000 -vt 0.518259 0.271446 0.000000 -vt 0.513069 0.287795 0.000000 -vt 0.523551 0.286047 0.000000 -vt 0.535969 0.269399 0.000000 -vt 0.539672 0.281898 0.000000 -vt 0.749649 0.257155 0.000000 -vt 0.767604 0.294187 0.000000 -vt 0.739495 0.264393 0.000000 -vt 0.755078 0.301162 0.000000 -vt 0.724864 0.312010 0.000000 -vt 0.685373 0.328566 0.000000 -vt 0.643620 0.346523 0.000000 -vt 0.460578 0.336119 0.000000 -vt 0.513579 0.340543 0.000000 -vt 0.401473 0.331545 0.000000 -vt 0.601608 0.361711 0.000000 -vt 0.633851 0.350058 0.000000 -vt 0.529671 0.342340 0.000000 -vt 0.544971 0.344404 0.000000 -vt 0.579232 0.370086 0.000000 -vt 0.606396 0.273921 0.000000 -vt 0.638362 0.348486 0.000000 -vt 0.738390 0.245944 0.000000 -vt 0.735425 0.259160 0.000000 -vt 0.642609 0.223057 0.000000 -vt 0.658537 0.166170 0.000000 -vt 0.686659 0.221168 0.000000 -vt 0.615828 0.155827 0.000000 -vt 0.599276 0.223914 0.000000 -vt 0.463763 0.157942 0.000000 -vt 0.453945 0.235101 0.000000 -vt 0.432699 0.167303 0.000000 -vt 0.402909 0.235101 0.000000 -vt 0.402869 0.170209 0.000000 -vt 0.607818 0.154278 0.000000 -vt 0.591311 0.225769 0.000000 -vt 0.553728 0.229130 0.000000 -vt 0.576439 0.144782 0.000000 -vt 0.581771 0.227055 0.000000 -vt 0.598962 0.152008 0.000000 -vt 0.533257 0.229488 0.000000 -vt 0.557174 0.138522 0.000000 -vt 0.525533 0.186538 0.000000 -vt 0.515975 0.228765 0.000000 -vt 0.578064 0.417206 0.000000 -vt 0.599719 0.514017 0.000000 -vt 0.602713 0.510686 0.000000 -vt 0.614818 0.519487 0.000000 -vt 0.615547 0.514185 0.000000 -vt 0.587761 0.504682 0.000000 -vt 0.590694 0.502497 0.000000 -vt 0.578496 0.011496 0.000000 -vt 0.591295 0.016376 0.000000 -vt 0.575955 0.074693 0.000000 -vt 0.608216 0.027586 0.000000 -vt 0.622451 0.042745 0.000000 -vt 0.636674 0.060017 0.000000 -vt 0.630119 0.053115 0.000000 -vt 0.676348 0.085196 0.000000 -vt 0.708567 0.108239 0.000000 -vt 0.733687 0.125510 0.000000 -vt 0.777022 0.359170 0.000000 -vt 0.791597 0.351363 0.000000 -vt 0.752856 0.384314 0.000000 -vt 0.722727 0.414314 0.000000 -vt 0.686003 0.448900 0.000000 -vt 0.681959 0.454059 0.000000 -vt 0.678966 0.458704 0.000000 -vt 0.645197 0.450985 0.000000 -vt 0.472145 0.378069 0.000000 -vt 0.503514 0.391071 0.000000 -vt 0.528802 0.408323 0.000000 -vt 0.554670 0.430448 0.000000 -vt 0.435389 0.371512 0.000000 -vt 0.401495 0.369589 0.000000 -vt 0.746210 0.251262 0.000000 -vt 0.709480 0.218653 0.000000 -vt 0.771206 0.292787 0.000000 -vt 0.753188 0.256063 0.000000 -vt 0.750507 0.250711 0.000000 -vt 0.510307 0.268374 0.000000 -vt 0.517949 0.267880 0.000000 -vt 0.655348 0.246392 0.000000 -vt 0.703879 0.242550 0.000000 -vt 0.601037 0.255430 0.000000 -vt 0.502698 0.268091 0.000000 -vt 0.454828 0.268222 0.000000 -vt 0.401481 0.268278 0.000000 -vt 0.558121 0.262285 0.000000 -vt 0.587602 0.258919 0.000000 -vt 0.535369 0.265851 0.000000 -vt 0.793560 0.347619 0.000000 -vt 0.731269 0.242097 0.000000 -vt 0.737028 0.241848 0.000000 -vt 0.724406 0.218127 0.000000 -vt 0.734306 0.181288 0.000000 -vt 0.721608 0.222625 0.000000 -vt 0.713560 0.216636 0.000000 -vt 0.507958 0.238879 0.000000 -vt 0.508720 0.229347 0.000000 -vt 0.515396 0.238585 0.000000 -vt 0.643299 0.234864 0.000000 -vt 0.688094 0.231329 0.000000 -vt 0.593788 0.235390 0.000000 -vt 0.454869 0.244112 0.000000 -vt 0.500659 0.240175 0.000000 -vt 0.500770 0.230895 0.000000 -vt 0.402915 0.243859 0.000000 -vt 0.553213 0.238005 0.000000 -vt 0.581215 0.234713 0.000000 -vt 0.531585 0.239088 0.000000 -vt 0.745792 0.127757 0.000000 -vt 0.713337 0.227506 0.000000 -vt 0.718175 0.225676 0.000000 -vt 0.514837 0.183038 0.000000 -vt 0.734256 0.426656 0.000000 -vt 0.764033 0.394527 0.000000 -vt 0.792874 0.363108 0.000000 -vt 0.670541 0.470179 0.000000 -vt 0.676761 0.482066 0.000000 -vt 0.655994 0.486028 0.000000 -vt 0.660688 0.497354 0.000000 -vt 0.638921 0.498168 0.000000 -vt 0.641617 0.509754 0.000000 -vt 0.691540 0.469228 0.000000 -vt 0.627036 0.503995 0.000000 -vt 0.626833 0.514062 0.000000 -vt 0.401503 0.375423 0.000000 -vt 0.434700 0.376915 0.000000 -vt 0.470320 0.383334 0.000000 -vt 0.524924 0.412296 0.000000 -vt 0.500532 0.396636 0.000000 -vt 0.544747 0.436849 0.000000 -vt 0.548949 0.434498 0.000000 -vt 0.569271 0.458371 0.000000 -vt 0.564441 0.460718 0.000000 -vt 0.490755 0.141271 0.000000 -vt 0.501690 0.183534 0.000000 -vt 0.510448 0.119966 0.000000 -vt 0.560442 0.463538 0.000000 -vt 0.572800 0.485657 0.000000 -vt 0.576378 0.482320 0.000000 -vt 0.644348 0.514569 0.000000 -vt 0.626588 0.519585 0.000000 -vt 0.664762 0.499949 0.000000 -vt 0.682758 0.483184 0.000000 -vt 0.696871 0.470881 0.000000 -vt 0.738781 0.428313 0.000000 -vt 0.767651 0.395884 0.000000 -vt 0.593580 0.008852 0.000000 -vt 0.578618 0.005160 0.000000 -vt 0.612085 0.020123 0.000000 -vt 0.627247 0.035345 0.000000 -vt 0.639441 0.045805 0.000000 -vt 0.682593 0.076621 0.000000 -vt 0.714939 0.099261 0.000000 -vt 0.744716 0.120095 0.000000 -vt 0.570488 0.010347 0.000000 -vt 0.559181 0.013750 0.000000 -vt 0.569002 0.005348 0.000000 -vt 0.557040 0.009988 0.000000 -vt 0.617299 0.506217 0.000000 -vt 0.606542 0.504426 0.000000 -vt 0.595934 0.497686 0.000000 -vt 0.552393 0.020923 0.000000 -vt 0.548159 0.019039 0.000000 -vt 0.541175 0.040180 0.000000 -vt 0.581309 0.479426 0.000000 -vt 0.550680 0.068236 0.000000 -vt 0.558203 0.045627 0.000000 -vt 0.523687 0.091131 0.000000 -vt 0.533774 0.062861 0.000000 -vt 0.794219 0.367093 0.000000 -vt 0.606654 0.476742 0.000000 -vt 0.619535 0.475150 0.000000 -vt 0.613626 0.491031 0.000000 -vt 0.596427 0.469565 0.000000 -vt 0.589574 0.474348 0.000000 -vt 0.601644 0.488238 0.000000 -vt 0.596462 0.456333 0.000000 -vt 0.580238 0.456401 0.000000 -vt 0.564474 0.423905 0.000000 -vt 0.629122 0.454336 0.000000 -vt 0.619476 0.446204 0.000000 -vt 0.628661 0.466544 0.000000 -vt 0.626669 0.455159 0.000000 -vt 0.626709 0.465909 0.000000 -vt 0.600154 0.467647 0.000000 -vt 0.607877 0.474550 0.000000 -vt 0.605921 0.447138 0.000000 -vt 0.618663 0.447919 0.000000 -vt 0.599035 0.456745 0.000000 -vt 0.539124 0.064358 0.000000 -vt 0.545401 0.041526 0.000000 -vt 0.111791 0.173540 0.000000 -vt 0.090623 0.213611 0.000000 -vt 0.082803 0.179397 0.000000 -vt 0.272074 0.131370 0.000000 -vt 0.274445 0.095645 0.000000 -vt 0.287389 0.125266 0.000000 -vt 0.072237 0.240197 0.000000 -vt 0.100093 0.240551 0.000000 -vt 0.073743 0.252125 0.000000 -vt 0.100672 0.254197 0.000000 -vt 0.149945 0.243724 0.000000 -vt 0.148516 0.260403 0.000000 -vt 0.192696 0.271216 0.000000 -vt 0.202678 0.256657 0.000000 -vt 0.348145 0.271854 0.000000 -vt 0.347812 0.287920 0.000000 -vt 0.300772 0.271629 0.000000 -vt 0.302124 0.287805 0.000000 -vt 0.215875 0.260681 0.000000 -vt 0.202692 0.270854 0.000000 -vt 0.245096 0.265004 0.000000 -vt 0.242353 0.277848 0.000000 -vt 0.293058 0.271898 0.000000 -vt 0.290208 0.287705 0.000000 -vt 0.285158 0.271285 0.000000 -vt 0.279807 0.285861 0.000000 -vt 0.267659 0.269015 0.000000 -vt 0.263862 0.281496 0.000000 -vt 0.053635 0.251116 0.000000 -vt 0.063805 0.258444 0.000000 -vt 0.034438 0.287782 0.000000 -vt 0.046915 0.294948 0.000000 -vt 0.077447 0.306727 0.000000 -vt 0.117338 0.324766 0.000000 -vt 0.159191 0.344854 0.000000 -vt 0.342353 0.336220 0.000000 -vt 0.289299 0.340680 0.000000 -vt 0.201098 0.361667 0.000000 -vt 0.168986 0.348811 0.000000 -vt 0.273166 0.342554 0.000000 -vt 0.257850 0.344685 0.000000 -vt 0.223430 0.370626 0.000000 -vt 0.197934 0.271664 0.000000 -vt 0.164473 0.347056 0.000000 -vt 0.065374 0.240067 0.000000 -vt 0.068078 0.253266 0.000000 -vt 0.163196 0.223380 0.000000 -vt 0.119146 0.221551 0.000000 -vt 0.147190 0.166514 0.000000 -vt 0.189886 0.156113 0.000000 -vt 0.206530 0.224177 0.000000 -vt 0.341957 0.158019 0.000000 -vt 0.373034 0.167341 0.000000 -vt 0.351874 0.235164 0.000000 -vt 0.197894 0.154553 0.000000 -vt 0.214499 0.226020 0.000000 -vt 0.252086 0.229332 0.000000 -vt 0.224041 0.227293 0.000000 -vt 0.229260 0.145017 0.000000 -vt 0.206746 0.152272 0.000000 -vt 0.272558 0.229664 0.000000 -vt 0.248515 0.138730 0.000000 -vt 0.280223 0.186700 0.000000 -vt 0.289840 0.228914 0.000000 -vt 0.224183 0.418689 0.000000 -vt 0.198386 0.517693 0.000000 -vt 0.182576 0.522783 0.000000 -vt 0.195417 0.514164 0.000000 -vt 0.182046 0.517301 0.000000 -vt 0.211939 0.507362 0.000000 -vt 0.208810 0.505280 0.000000 -vt 0.227018 0.011731 0.000000 -vt 0.229646 0.074925 0.000000 -vt 0.214225 0.016629 0.000000 -vt 0.197320 0.027860 0.000000 -vt 0.183105 0.043039 0.000000 -vt 0.168907 0.060337 0.000000 -vt 0.175452 0.053419 0.000000 -vt 0.129267 0.085565 0.000000 -vt 0.097081 0.108655 0.000000 -vt 0.071984 0.125960 0.000000 -vt 0.021267 0.351703 0.000000 -vt 0.006537 0.343143 0.000000 -vt 0.045268 0.378490 0.000000 -vt 0.075606 0.410662 0.000000 -vt 0.112661 0.447514 0.000000 -vt 0.116676 0.452988 0.000000 -vt 0.119526 0.457894 0.000000 -vt 0.154527 0.452184 0.000000 -vt 0.330720 0.378225 0.000000 -vt 0.299179 0.391414 0.000000 -vt 0.273621 0.408968 0.000000 -vt 0.247402 0.431586 0.000000 -vt 0.367575 0.371577 0.000000 -vt 0.057152 0.245252 0.000000 -vt 0.096319 0.219066 0.000000 -vt 0.030850 0.286314 0.000000 -vt 0.050074 0.249996 0.000000 -vt 0.052831 0.244671 0.000000 -vt 0.293045 0.268282 0.000000 -vt 0.285494 0.267719 0.000000 -vt 0.150722 0.239937 0.000000 -vt 0.100334 0.236957 0.000000 -vt 0.203748 0.253166 0.000000 -vt 0.300577 0.268047 0.000000 -vt 0.348204 0.268269 0.000000 -vt 0.245873 0.261516 0.000000 -vt 0.216849 0.257222 0.000000 -vt 0.268291 0.265471 0.000000 -vt 0.004761 0.339404 0.000000 -vt 0.072545 0.236292 0.000000 -vt 0.066778 0.235993 0.000000 -vt 0.081395 0.218565 0.000000 -vt 0.071442 0.181735 0.000000 -vt 0.084196 0.223057 0.000000 -vt 0.092236 0.217056 0.000000 -vt 0.297872 0.239016 0.000000 -vt 0.290432 0.238737 0.000000 -vt 0.297096 0.229486 0.000000 -vt 0.162522 0.235187 0.000000 -vt 0.117723 0.231713 0.000000 -vt 0.212035 0.235645 0.000000 -vt 0.350965 0.244177 0.000000 -vt 0.305170 0.240301 0.000000 -vt 0.305047 0.231022 0.000000 -vt 0.252613 0.238208 0.000000 -vt 0.224605 0.234952 0.000000 -vt 0.274245 0.239260 0.000000 -vt 0.059882 0.128223 0.000000 -vt 0.092473 0.227926 0.000000 -vt 0.087633 0.226102 0.000000 -vt 0.290913 0.183183 0.000000 -vt 0.062992 0.422821 0.000000 -vt 0.033371 0.388577 0.000000 -vt 0.004787 0.355169 0.000000 -vt 0.127012 0.469953 0.000000 -vt 0.141408 0.486812 0.000000 -vt 0.120140 0.481961 0.000000 -vt 0.136095 0.498246 0.000000 -vt 0.158539 0.499928 0.000000 -vt 0.154140 0.511211 0.000000 -vt 0.105596 0.468174 0.000000 -vt 0.170639 0.506311 0.000000 -vt 0.169501 0.516436 0.000000 -vt 0.368282 0.376978 0.000000 -vt 0.332565 0.383486 0.000000 -vt 0.277537 0.412901 0.000000 -vt 0.302193 0.396965 0.000000 -vt 0.257454 0.437684 0.000000 -vt 0.253170 0.435458 0.000000 -vt 0.231778 0.460510 0.000000 -vt 0.236732 0.462620 0.000000 -vt 0.304061 0.183661 0.000000 -vt 0.314941 0.141380 0.000000 -vt 0.295214 0.120104 0.000000 -vt 0.240837 0.465265 0.000000 -vt 0.227655 0.488107 0.000000 -vt 0.223823 0.485141 0.000000 -vt 0.150332 0.515520 0.000000 -vt 0.169290 0.522106 0.000000 -vt 0.131069 0.499883 0.000000 -vt 0.113942 0.482898 0.000000 -vt 0.099861 0.469714 0.000000 -vt 0.058201 0.424334 0.000000 -vt 0.029594 0.389718 0.000000 -vt 0.211931 0.009108 0.000000 -vt 0.226886 0.005396 0.000000 -vt 0.193440 0.020406 0.000000 -vt 0.178297 0.035647 0.000000 -vt 0.166119 0.046125 0.000000 -vt 0.123009 0.076999 0.000000 -vt 0.090697 0.099685 0.000000 -vt 0.060948 0.120559 0.000000 -vt 0.235025 0.010571 0.000000 -vt 0.236503 0.005569 0.000000 -vt 0.246336 0.013959 0.000000 -vt 0.248472 0.010195 0.000000 -vt 0.180545 0.509024 0.000000 -vt 0.191699 0.507574 0.000000 -vt 0.202897 0.500989 0.000000 -vt 0.253135 0.021122 0.000000 -vt 0.257366 0.019230 0.000000 -vt 0.264380 0.040366 0.000000 -vt 0.218624 0.482684 0.000000 -vt 0.254909 0.068434 0.000000 -vt 0.247358 0.045835 0.000000 -vt 0.281935 0.091292 0.000000 -vt 0.271810 0.063036 0.000000 -vt 0.003278 0.359082 0.000000 -vt 0.192604 0.479055 0.000000 -vt 0.184887 0.493505 0.000000 -vt 0.179390 0.476946 0.000000 -vt 0.203351 0.472074 0.000000 -vt 0.210277 0.477187 0.000000 -vt 0.197336 0.491065 0.000000 -vt 0.203837 0.458398 0.000000 -vt 0.220554 0.458999 0.000000 -vt 0.237641 0.425200 0.000000 -vt 0.170829 0.456184 0.000000 -vt 0.180902 0.447969 0.000000 -vt 0.170608 0.468301 0.000000 -vt 0.173278 0.457092 0.000000 -vt 0.172615 0.467684 0.000000 -vt 0.199614 0.469991 0.000000 -vt 0.191472 0.476881 0.000000 -vt 0.194696 0.449079 0.000000 -vt 0.181670 0.449709 0.000000 -vt 0.201214 0.458873 0.000000 -vt 0.266462 0.064539 0.000000 -vt 0.260154 0.041717 0.000000 -vt 0.482915 0.511831 0.000000 -vt 0.482610 0.488350 0.000000 -vt 0.490098 0.511783 0.000000 -vt 0.490752 0.486237 0.000000 -vt 0.480782 0.575114 0.000000 -vt 0.482154 0.545693 0.000000 -vt 0.487471 0.574910 0.000000 -vt 0.489282 0.544717 0.000000 -vt 0.479787 0.604766 0.000000 -vt 0.486236 0.604792 0.000000 -vt 0.479125 0.629922 0.000000 -vt 0.485964 0.629904 0.000000 -vt 0.479061 0.681800 0.000000 -vt 0.479247 0.656026 0.000000 -vt 0.485423 0.681073 0.000000 -vt 0.485814 0.655306 0.000000 -vt 0.479246 0.707916 0.000000 -vt 0.485364 0.707913 0.000000 -vt 0.475201 0.546442 0.000000 -vt 0.472464 0.576105 0.000000 -vt 0.471307 0.605406 0.000000 -vt 0.471458 0.630164 0.000000 -vt 0.471499 0.655773 0.000000 -vt 0.471913 0.681355 0.000000 -vt 0.471690 0.707919 0.000000 -vt 0.449729 0.518008 0.000000 -vt 0.451946 0.553017 0.000000 -vt 0.433817 0.529127 0.000000 -vt 0.431346 0.556872 0.000000 -vt 0.449892 0.579969 0.000000 -vt 0.429941 0.580608 0.000000 -vt 0.449255 0.605463 0.000000 -vt 0.429112 0.604658 0.000000 -vt 0.448974 0.629552 0.000000 -vt 0.428810 0.628782 0.000000 -vt 0.449326 0.656276 0.000000 -vt 0.449454 0.682068 0.000000 -vt 0.429745 0.656150 0.000000 -vt 0.429377 0.682280 0.000000 -vt 0.450119 0.707927 0.000000 -vt 0.431044 0.707932 0.000000 -vt 0.409940 0.531912 0.000000 -vt 0.407190 0.554682 0.000000 -vt 0.406182 0.578987 0.000000 -vt 0.406388 0.602829 0.000000 -vt 0.406787 0.627217 0.000000 -vt 0.408421 0.654939 0.000000 -vt 0.408026 0.682236 0.000000 -vt 0.409702 0.707936 0.000000 -vt 0.355853 0.512436 0.000000 -vt 0.369251 0.524398 0.000000 -vt 0.345538 0.546253 0.000000 -vt 0.363452 0.549839 0.000000 -vt 0.364225 0.576145 0.000000 -vt 0.347854 0.574374 0.000000 -vt 0.365389 0.599963 0.000000 -vt 0.351123 0.599282 0.000000 -vt 0.370565 0.681832 0.000000 -vt 0.370848 0.707939 0.000000 -vt 0.357319 0.681832 0.000000 -vt 0.358099 0.707938 0.000000 -vt 0.330312 0.542903 0.000000 -vt 0.334132 0.573059 0.000000 -vt 0.339320 0.598579 0.000000 -vt 0.342638 0.620129 0.000000 -vt 0.352827 0.621273 0.000000 -vt 0.347483 0.651191 0.000000 -vt 0.357000 0.651802 0.000000 -vt 0.348834 0.682175 0.000000 -vt 0.350115 0.707938 0.000000 -vt 0.305823 0.547449 0.000000 -vt 0.301797 0.519485 0.000000 -vt 0.333524 0.518145 0.000000 -vt 0.338936 0.500273 0.000000 -vt 0.311563 0.575768 0.000000 -vt 0.317777 0.600481 0.000000 -vt 0.341023 0.624266 0.000000 -vt 0.344054 0.651215 0.000000 -vt 0.323803 0.627792 0.000000 -vt 0.327079 0.651190 0.000000 -vt 0.346214 0.677847 0.000000 -vt 0.329012 0.674650 0.000000 -vt 0.330966 0.707939 0.000000 -vt 0.328754 0.678846 0.000000 -vt 0.273878 0.529732 0.000000 -vt 0.278426 0.550496 0.000000 -vt 0.244103 0.546457 0.000000 -vt 0.256721 0.564160 0.000000 -vt 0.288572 0.580695 0.000000 -vt 0.269655 0.589431 0.000000 -vt 0.297132 0.605744 0.000000 -vt 0.279997 0.613270 0.000000 -vt 0.218771 0.558590 0.000000 -vt 0.241448 0.573633 0.000000 -vt 0.255567 0.595358 0.000000 -vt 0.266771 0.618375 0.000000 -vt 0.286115 0.635085 0.000000 -vt 0.274545 0.639546 0.000000 -vt 0.290074 0.656650 0.000000 -vt 0.278043 0.660112 0.000000 -vt 0.293519 0.679034 0.000000 -vt 0.294683 0.707936 0.000000 -vt 0.281495 0.682427 0.000000 -vt 0.282565 0.707934 0.000000 -vt 0.197466 0.568998 0.000000 -vt 0.228265 0.581211 0.000000 -vt 0.246206 0.600962 0.000000 -vt 0.258120 0.621869 0.000000 -vt 0.266270 0.642009 0.000000 -vt 0.271178 0.662999 0.000000 -vt 0.274847 0.684195 0.000000 -vt 0.276242 0.707934 0.000000 -vt 0.338103 0.488842 0.000000 -vt 0.298557 0.509756 0.000000 -vt 0.269754 0.515859 0.000000 -vt 0.238490 0.540172 0.000000 -vt 0.195889 0.563777 0.000000 -vt 0.247009 0.486454 0.000000 -vt 0.479035 0.481969 0.000000 -vt 0.472333 0.492290 0.000000 -vt 0.372675 0.471561 0.000000 -vt 0.363380 0.490034 0.000000 -vt 0.394516 0.488115 0.000000 -vt 0.399217 0.472286 0.000000 -vt 0.350804 0.497150 0.000000 -vt 0.388639 0.681115 0.000000 -vt 0.389596 0.707938 0.000000 -vt 0.386097 0.624788 0.000000 -vt 0.388500 0.653691 0.000000 -vt 0.366524 0.623096 0.000000 -vt 0.370395 0.653619 0.000000 -vt 0.385178 0.577071 0.000000 -vt 0.385549 0.601740 0.000000 -vt 0.385564 0.551720 0.000000 -vt 0.388514 0.529997 0.000000 -vt 0.463785 0.503472 0.000000 -vt 0.460114 0.491472 0.000000 -vt 0.455275 0.500656 0.000000 -vt 0.428881 0.523387 0.000000 -vt 0.442370 0.513141 0.000000 -vt 0.409522 0.526631 0.000000 -vt 0.362968 0.507688 0.000000 -vt 0.372486 0.518590 0.000000 -vt 0.388440 0.524230 0.000000 -vt 0.628464 0.959968 0.000000 -vt 0.667299 0.976136 0.000000 -vt 0.629123 0.991329 0.000000 -vt 0.667774 0.987916 0.000000 -vt 0.689824 0.906209 0.000000 -vt 0.699322 0.915706 0.000000 -vt 0.694924 0.917012 0.000000 -vt 0.705958 0.952044 0.000000 -vt 0.711347 0.953871 0.000000 -vt 0.715867 0.931975 0.000000 -vt 0.730120 0.946134 0.000000 -vt 0.718174 0.956626 0.000000 -vt 0.729013 0.962078 0.000000 -vt 0.748405 0.956986 0.000000 -vt 0.745142 0.969781 0.000000 -vt 0.801180 0.970564 0.000000 -vt 0.779917 0.986372 0.000000 -vt 0.784998 0.971072 0.000000 -vt 0.774850 0.983603 0.000000 -vt 0.819465 0.971518 0.000000 -vt 0.785125 0.989405 0.000000 -vt 0.768474 0.966156 0.000000 -vt 0.764585 0.979136 0.000000 -vt 0.431365 0.486021 0.000000 -vt 0.438406 0.474564 0.000000 -vt 0.669224 0.934353 0.000000 -vt 0.629277 0.922974 0.000000 -vt 0.217657 0.607018 0.000000 -vt 0.240582 0.632635 0.000000 -vt 0.250462 0.649633 0.000000 -vt 0.255702 0.668837 0.000000 -vt 0.258206 0.686452 0.000000 -vt 0.258729 0.707933 0.000000 -vt 0.230238 0.646244 0.000000 -vt 0.208135 0.630735 0.000000 -vt 0.196996 0.683217 0.000000 -vt 0.221139 0.685315 0.000000 -vt 0.196883 0.707932 0.000000 -vt 0.221353 0.707932 0.000000 -vt 0.240550 0.686341 0.000000 -vt 0.240923 0.707933 0.000000 -vt 0.238938 0.663913 0.000000 -vt 0.222156 0.666598 0.000000 -vt 0.200453 0.657886 0.000000 -vt 0.144918 0.596816 0.000000 -vt 0.145204 0.620342 0.000000 -vt 0.107470 0.605446 0.000000 -vt 0.111566 0.626940 0.000000 -vt 0.142863 0.681242 0.000000 -vt 0.141661 0.707934 0.000000 -vt 0.113415 0.682656 0.000000 -vt 0.112473 0.707936 0.000000 -vt 0.143943 0.650990 0.000000 -vt 0.113487 0.655378 0.000000 -vt 0.058396 0.637178 0.000000 -vt 0.078958 0.618625 0.000000 -vt 0.070774 0.646156 0.000000 -vt 0.086594 0.636979 0.000000 -vt 0.067998 0.662096 0.000000 -vt 0.048782 0.658921 0.000000 -vt 0.042104 0.707939 0.000000 -vt 0.043633 0.684310 0.000000 -vt 0.063861 0.707938 0.000000 -vt 0.065358 0.684252 0.000000 -vt 0.088722 0.684106 0.000000 -vt 0.087552 0.707936 0.000000 -vt 0.088869 0.660187 0.000000 -vt 0.292279 0.470181 0.000000 -vt 0.264842 0.446841 0.000000 -vt 0.332321 0.472762 0.000000 -vt 0.092806 0.584468 0.000000 -vt 0.304041 0.427535 0.000000 -vt 0.099272 0.591632 0.000000 -vt 0.143620 0.579027 0.000000 -vt 0.042357 0.624292 0.000000 -vt 0.064943 0.603139 0.000000 -vt 0.048778 0.628470 0.000000 -vt 0.070534 0.608373 0.000000 -vt 0.025638 0.650617 0.000000 -vt 0.033877 0.654026 0.000000 -vt 0.023639 0.707940 0.000000 -vt 0.012744 0.707941 0.000000 -vt 0.026187 0.681527 0.000000 -vt 0.015898 0.680189 0.000000 -vt 0.171531 0.680159 0.000000 -vt 0.170526 0.707933 0.000000 -vt 0.173540 0.649678 0.000000 -vt 0.177517 0.618979 0.000000 -vt 0.184034 0.593011 0.000000 -vt 0.452802 0.448268 0.000000 -vt 0.488856 0.450285 0.000000 -vt 0.629874 0.895273 0.000000 -vt 0.639039 0.902919 0.000000 -vt 0.670272 0.922120 0.000000 -vt 0.311425 0.707939 0.000000 -vt 0.310176 0.674868 0.000000 -vt 0.309822 0.651748 0.000000 -vt 0.312773 0.671381 0.000000 -vt 0.307535 0.632952 0.000000 -vt 0.535128 0.477085 0.000000 -vt 0.526310 0.459993 0.000000 -vt 0.541837 0.457686 0.000000 -vt 0.534518 0.481019 0.000000 -vt 0.530576 0.512506 0.000000 -vt 0.527092 0.545951 0.000000 -vt 0.522544 0.577332 0.000000 -vt 0.518386 0.604826 0.000000 -vt 0.514778 0.628781 0.000000 -vt 0.509785 0.681252 0.000000 -vt 0.511940 0.654815 0.000000 -vt 0.508560 0.707899 0.000000 -vt 0.420344 0.441968 0.000000 -vt 0.304061 0.629959 0.000000 -vt 0.322646 0.623275 0.000000 -vt 0.306474 0.651689 0.000000 -vt 0.523938 0.446384 0.000000 -vt 0.329696 0.435529 0.000000 -vt 0.403783 0.431796 0.000000 -vt 0.370055 0.433250 0.000000 -vt 0.358127 0.426878 0.000000 -vt 0.535228 0.447553 0.000000 -vt 0.547018 0.454368 0.000000 -vt 0.542978 0.481702 0.000000 -vt 0.454873 0.443496 0.000000 -vt 0.490968 0.444779 0.000000 -vt 0.526394 0.440261 0.000000 -vt 0.424038 0.437860 0.000000 -vt 0.538592 0.442415 0.000000 -vt 0.408324 0.428918 0.000000 -vt 0.371607 0.427446 0.000000 -vt 0.362862 0.418824 0.000000 -vt 0.540562 0.451998 0.000000 -vt 0.544607 0.447268 0.000000 -vt 0.525965 0.604851 0.000000 -vt 0.530366 0.577302 0.000000 -vt 0.522416 0.629304 0.000000 -vt 0.516381 0.707897 0.000000 -vt 0.517485 0.681565 0.000000 -vt 0.534783 0.546455 0.000000 -vt 0.538415 0.512651 0.000000 -vt 0.519613 0.655015 0.000000 -vt 0.059134 0.595488 0.000000 -vt 0.088193 0.580851 0.000000 -vt 0.031040 0.618387 0.000000 -vt 0.011698 0.646450 0.000000 -vt 0.003887 0.677496 0.000000 -vt 0.000875 0.707941 0.000000 -vt 0.331248 0.430808 0.000000 -vt 0.307204 0.423902 0.000000 -vt 0.638791 0.591661 0.000000 -vt 0.635998 0.579790 0.000000 -vt 0.647217 0.593248 0.000000 -vt 0.732192 0.550887 0.000000 -vt 0.713599 0.519664 0.000000 -vt 0.753006 0.537760 0.000000 -vt 0.732612 0.507331 0.000000 -vt 0.769900 0.525029 0.000000 -vt 0.748313 0.496575 0.000000 -vt 0.782214 0.468103 0.000000 -vt 0.801054 0.453833 0.000000 -vt 0.805407 0.496905 0.000000 -vt 0.823062 0.482264 0.000000 -vt 0.689798 0.533164 0.000000 -vt 0.706693 0.564704 0.000000 -vt 0.675778 0.579067 0.000000 -vt 0.645461 0.554901 0.000000 -vt 0.604630 0.548419 0.000000 -vt 0.787477 0.511308 0.000000 -vt 0.764812 0.482881 0.000000 -vt 0.632039 0.536327 0.000000 -vt 0.314384 0.032524 0.000000 -vt 0.322689 0.003520 0.000000 -vt 0.320572 0.037033 0.000000 -vt 0.687420 0.955784 0.000000 -vt 0.687407 0.937818 0.000000 -vt 0.683227 0.977054 0.000000 -vt 0.682377 0.926682 0.000000 -vt 0.675969 0.922939 0.000000 -vt 0.677930 0.987012 0.000000 -vt 0.673249 0.990463 0.000000 -vt 0.355777 0.422588 0.000000 -vt 0.613567 0.598127 0.000000 -vt 0.620434 0.606398 0.000000 -vt 0.613050 0.605615 0.000000 -vt 0.607914 0.599196 0.000000 -vt 0.605944 0.586046 0.000000 -vt 0.610373 0.585928 0.000000 -vt 0.685816 0.524372 0.000000 -vt 0.677273 0.508610 0.000000 -vt 0.707485 0.510754 0.000000 -vt 0.698145 0.495105 0.000000 -vt 0.647636 0.545059 0.000000 -vt 0.637729 0.530161 0.000000 -vt 0.776732 0.460553 0.000000 -vt 0.766336 0.445814 0.000000 -vt 0.794961 0.445940 0.000000 -vt 0.784125 0.431889 0.000000 -vt 0.758684 0.474273 0.000000 -vt 0.748709 0.459214 0.000000 -vt 0.741759 0.486821 0.000000 -vt 0.731964 0.471566 0.000000 -vt 0.725281 0.498946 0.000000 -vt 0.715662 0.483898 0.000000 -vt 0.612713 0.587337 0.000000 -vt 0.634987 0.581679 0.000000 -vt 0.614560 0.596182 0.000000 -vt 0.636567 0.590340 0.000000 -vt 0.482979 0.904091 0.000000 -vt 0.490218 0.904105 0.000000 -vt 0.483048 0.927651 0.000000 -vt 0.491184 0.929739 0.000000 -vt 0.480834 0.840726 0.000000 -vt 0.487525 0.840907 0.000000 -vt 0.482359 0.870104 0.000000 -vt 0.489452 0.871097 0.000000 -vt 0.479797 0.811091 0.000000 -vt 0.486243 0.811041 0.000000 -vt 0.479128 0.785926 0.000000 -vt 0.485962 0.785928 0.000000 -vt 0.479061 0.734032 0.000000 -vt 0.485420 0.734754 0.000000 -vt 0.479246 0.759813 0.000000 -vt 0.485808 0.760522 0.000000 -vt 0.475459 0.869323 0.000000 -vt 0.472488 0.839795 0.000000 -vt 0.471323 0.810475 0.000000 -vt 0.471468 0.785698 0.000000 -vt 0.471503 0.760076 0.000000 -vt 0.471915 0.734485 0.000000 -vt 0.450241 0.896940 0.000000 -vt 0.433732 0.887437 0.000000 -vt 0.451860 0.862932 0.000000 -vt 0.431406 0.859250 0.000000 -vt 0.449931 0.835984 0.000000 -vt 0.430020 0.835382 0.000000 -vt 0.449296 0.810452 0.000000 -vt 0.429179 0.811265 0.000000 -vt 0.449004 0.786334 0.000000 -vt 0.428857 0.787113 0.000000 -vt 0.449344 0.759591 0.000000 -vt 0.429773 0.759726 0.000000 -vt 0.449463 0.733790 0.000000 -vt 0.429390 0.733589 0.000000 -vt 0.409989 0.884294 0.000000 -vt 0.407303 0.861344 0.000000 -vt 0.406296 0.836942 0.000000 -vt 0.406471 0.813072 0.000000 -vt 0.406843 0.788671 0.000000 -vt 0.408453 0.760939 0.000000 -vt 0.408040 0.733637 0.000000 -vt 0.356047 0.903846 0.000000 -vt 0.345608 0.869667 0.000000 -vt 0.369294 0.891113 0.000000 -vt 0.363532 0.865925 0.000000 -vt 0.364308 0.839701 0.000000 -vt 0.347915 0.841498 0.000000 -vt 0.365456 0.815908 0.000000 -vt 0.351184 0.816589 0.000000 -vt 0.370582 0.734044 0.000000 -vt 0.357336 0.734043 0.000000 -vt 0.330378 0.872980 0.000000 -vt 0.334202 0.842813 0.000000 -vt 0.339380 0.817291 0.000000 -vt 0.342688 0.795743 0.000000 -vt 0.347515 0.764686 0.000000 -vt 0.352878 0.794602 0.000000 -vt 0.357034 0.764075 0.000000 -vt 0.348849 0.733698 0.000000 -vt 0.305894 0.868388 0.000000 -vt 0.301866 0.896315 0.000000 -vt 0.333608 0.897683 0.000000 -vt 0.338957 0.915462 0.000000 -vt 0.311628 0.840090 0.000000 -vt 0.317832 0.815386 0.000000 -vt 0.341070 0.791606 0.000000 -vt 0.323845 0.788081 0.000000 -vt 0.344085 0.764660 0.000000 -vt 0.327110 0.764684 0.000000 -vt 0.346233 0.738030 0.000000 -vt 0.329032 0.741226 0.000000 -vt 0.328770 0.737029 0.000000 -vt 0.273951 0.886069 0.000000 -vt 0.244158 0.869371 0.000000 -vt 0.278490 0.865333 0.000000 -vt 0.256773 0.851677 0.000000 -vt 0.288628 0.835155 0.000000 -vt 0.269702 0.826422 0.000000 -vt 0.297178 0.810117 0.000000 -vt 0.280037 0.802591 0.000000 -vt 0.218817 0.857254 0.000000 -vt 0.241493 0.842209 0.000000 -vt 0.255608 0.820492 0.000000 -vt 0.266806 0.797485 0.000000 -vt 0.286149 0.780780 0.000000 -vt 0.274574 0.776318 0.000000 -vt 0.290099 0.759218 0.000000 -vt 0.278064 0.755754 0.000000 -vt 0.293533 0.736838 0.000000 -vt 0.281506 0.733442 0.000000 -vt 0.197505 0.846856 0.000000 -vt 0.228305 0.834638 0.000000 -vt 0.246243 0.814892 0.000000 -vt 0.258152 0.793989 0.000000 -vt 0.266299 0.773853 0.000000 -vt 0.271197 0.752868 0.000000 -vt 0.274856 0.731672 0.000000 -vt 0.338179 0.926897 0.000000 -vt 0.298631 0.906029 0.000000 -vt 0.269832 0.899920 0.000000 -vt 0.238549 0.875659 0.000000 -vt 0.213107 0.861337 0.000000 -vt 0.195928 0.852076 0.000000 -vt 0.479524 0.934132 0.000000 -vt 0.472806 0.923619 0.000000 -vt 0.363459 0.925055 0.000000 -vt 0.372848 0.944020 0.000000 -vt 0.395333 0.928534 0.000000 -vt 0.399667 0.943829 0.000000 -vt 0.350715 0.918398 0.000000 -vt 0.388656 0.734760 0.000000 -vt 0.386154 0.791092 0.000000 -vt 0.366577 0.792780 0.000000 -vt 0.388534 0.762185 0.000000 -vt 0.370429 0.762259 0.000000 -vt 0.385285 0.838803 0.000000 -vt 0.385629 0.814141 0.000000 -vt 0.385712 0.864134 0.000000 -vt 0.388567 0.885956 0.000000 -vt 0.460877 0.924580 0.000000 -vt 0.463628 0.912609 0.000000 -vt 0.454945 0.915570 0.000000 -vt 0.428549 0.893362 0.000000 -vt 0.443156 0.901478 0.000000 -vt 0.409510 0.889669 0.000000 -vt 0.372649 0.896619 0.000000 -vt 0.362845 0.909258 0.000000 -vt 0.388398 0.891757 0.000000 -vt 0.622782 0.959823 0.000000 -vt 0.621661 0.991109 0.000000 -vt 0.583762 0.975340 0.000000 -vt 0.583107 0.987103 0.000000 -vt 0.577558 0.773552 0.000000 -vt 0.583408 0.783969 0.000000 -vt 0.579796 0.786797 0.000000 -vt 0.605568 0.813259 0.000000 -vt 0.603935 0.818711 0.000000 -vt 0.583470 0.809708 0.000000 -vt 0.602225 0.825871 0.000000 -vt 0.586752 0.829528 0.000000 -vt 0.600388 0.837865 0.000000 -vt 0.585002 0.850719 0.000000 -vt 0.597321 0.855473 0.000000 -vt 0.565490 0.901600 0.000000 -vt 0.575280 0.888706 0.000000 -vt 0.590694 0.893430 0.000000 -vt 0.591373 0.887695 0.000000 -vt 0.555673 0.917056 0.000000 -vt 0.590149 0.899431 0.000000 -vt 0.580848 0.872389 0.000000 -vt 0.593680 0.876741 0.000000 -vt 0.432247 0.929890 0.000000 -vt 0.438774 0.941718 0.000000 -vt 0.582559 0.933566 0.000000 -vt 0.622669 0.922876 0.000000 -vt 0.217687 0.808839 0.000000 -vt 0.240608 0.783224 0.000000 -vt 0.250486 0.766229 0.000000 -vt 0.255718 0.747028 0.000000 -vt 0.258214 0.729413 0.000000 -vt 0.230258 0.769617 0.000000 -vt 0.208158 0.785125 0.000000 -vt 0.197004 0.732646 0.000000 -vt 0.221147 0.730549 0.000000 -vt 0.240559 0.729524 0.000000 -vt 0.238953 0.751950 0.000000 -vt 0.222170 0.749266 0.000000 -vt 0.200468 0.757976 0.000000 -vt 0.144941 0.819049 0.000000 -vt 0.107489 0.810422 0.000000 -vt 0.145222 0.795523 0.000000 -vt 0.111581 0.788931 0.000000 -vt 0.142868 0.734627 0.000000 -vt 0.113420 0.733214 0.000000 -vt 0.143955 0.764878 0.000000 -vt 0.113497 0.760493 0.000000 -vt 0.058408 0.778697 0.000000 -vt 0.070784 0.769718 0.000000 -vt 0.078973 0.797249 0.000000 -vt 0.086606 0.778894 0.000000 -vt 0.068006 0.753779 0.000000 -vt 0.048789 0.756957 0.000000 -vt 0.043636 0.731568 0.000000 -vt 0.065360 0.731624 0.000000 -vt 0.088725 0.731768 0.000000 -vt 0.088877 0.755686 0.000000 -vt 0.292377 0.945568 0.000000 -vt 0.141063 0.845974 0.000000 -vt 0.332451 0.942991 0.000000 -vt 0.281041 0.994248 0.000000 -vt 0.304121 0.988208 0.000000 -vt 0.099293 0.824241 0.000000 -vt 0.143647 0.836839 0.000000 -vt 0.042371 0.791587 0.000000 -vt 0.048791 0.787407 0.000000 -vt 0.064959 0.812736 0.000000 -vt 0.070549 0.807502 0.000000 -vt 0.025645 0.765263 0.000000 -vt 0.033884 0.761852 0.000000 -vt 0.026190 0.734350 0.000000 -vt 0.015901 0.735691 0.000000 -vt 0.171538 0.735706 0.000000 -vt 0.173554 0.766186 0.000000 -vt 0.177539 0.796883 0.000000 -vt 0.184062 0.822848 0.000000 -vt 0.453000 0.968186 0.000000 -vt 0.489318 0.965798 0.000000 -vt 0.622679 0.895236 0.000000 -vt 0.613360 0.902669 0.000000 -vt 0.581776 0.921307 0.000000 -vt 0.310194 0.741006 0.000000 -vt 0.309850 0.764125 0.000000 -vt 0.312792 0.744492 0.000000 -vt 0.307570 0.782919 0.000000 -vt 0.535620 0.938607 0.000000 -vt 0.542396 0.958048 0.000000 -vt 0.526858 0.955811 0.000000 -vt 0.534989 0.934668 0.000000 -vt 0.530795 0.903122 0.000000 -vt 0.527204 0.869708 0.000000 -vt 0.522577 0.838354 0.000000 -vt 0.518380 0.810903 0.000000 -vt 0.514760 0.786983 0.000000 -vt 0.509775 0.734545 0.000000 -vt 0.511920 0.760969 0.000000 -vt 0.420258 0.974202 0.000000 -vt 0.304097 0.785910 0.000000 -vt 0.322690 0.792596 0.000000 -vt 0.306501 0.764184 0.000000 -vt 0.524518 0.969438 0.000000 -vt 0.329809 0.980211 0.000000 -vt 0.403448 0.984133 0.000000 -vt 0.370196 0.982445 0.000000 -vt 0.358274 0.988822 0.000000 -vt 0.535809 0.968218 0.000000 -vt 0.547588 0.961358 0.000000 -vt 0.543442 0.933924 0.000000 -vt 0.455021 0.972949 0.000000 -vt 0.491473 0.971280 0.000000 -vt 0.527001 0.975548 0.000000 -vt 0.423815 0.978395 0.000000 -vt 0.539185 0.973348 0.000000 -vt 0.407937 0.987081 0.000000 -vt 0.371751 0.988250 0.000000 -vt 0.363012 0.996874 0.000000 -vt 0.541136 0.963749 0.000000 -vt 0.545189 0.968476 0.000000 -vt 0.525957 0.810847 0.000000 -vt 0.530400 0.838340 0.000000 -vt 0.522397 0.786438 0.000000 -vt 0.517475 0.734226 0.000000 -vt 0.534891 0.869143 0.000000 -vt 0.538637 0.902913 0.000000 -vt 0.519593 0.760758 0.000000 -vt 0.059151 0.820387 0.000000 -vt 0.285929 0.997088 0.000000 -vt 0.031054 0.797491 0.000000 -vt 0.011706 0.769430 0.000000 -vt 0.003892 0.738386 0.000000 -vt 0.331361 0.984930 0.000000 -vt 0.307284 0.991844 0.000000 -vt 0.975584 0.331461 0.000000 -vt 0.975408 0.339843 0.000000 -vt 0.964582 0.325672 0.000000 -vt 0.912218 0.411579 0.000000 -vt 0.894182 0.428346 0.000000 -vt 0.886820 0.385800 0.000000 -vt 0.870121 0.401079 0.000000 -vt 0.877752 0.441538 0.000000 -vt 0.855707 0.413556 0.000000 -vt 0.819617 0.439191 0.000000 -vt 0.841673 0.468871 0.000000 -vt 0.905877 0.366154 0.000000 -vt 0.932155 0.390441 0.000000 -vt 0.938018 0.328903 0.000000 -vt 0.953846 0.364152 0.000000 -vt 0.942180 0.287576 0.000000 -vt 0.860132 0.455141 0.000000 -vt 0.838290 0.426225 0.000000 -vt 0.923533 0.311040 0.000000 -vt 0.491340 0.032524 0.000000 -vt 0.485152 0.037033 0.000000 -vt 0.483035 0.003520 0.000000 -vt 0.564012 0.954671 0.000000 -vt 0.564331 0.936719 0.000000 -vt 0.567839 0.975996 0.000000 -vt 0.569546 0.925676 0.000000 -vt 0.576014 0.922046 0.000000 -vt 0.572963 0.986037 0.000000 -vt 0.577582 0.989565 0.000000 -vt 0.355931 0.993115 0.000000 -vt 0.987986 0.308815 0.000000 -vt 0.994242 0.317548 0.000000 -vt 0.995364 0.310228 0.000000 -vt 0.990473 0.303625 0.000000 -vt 0.978243 0.298377 0.000000 -vt 0.977004 0.302628 0.000000 -vt 0.898377 0.360078 0.000000 -vt 0.879759 0.377646 0.000000 -vt 0.885292 0.347826 0.000000 -vt 0.866962 0.364616 0.000000 -vt 0.928026 0.328347 0.000000 -vt 0.916125 0.314987 0.000000 -vt 0.813696 0.431980 0.000000 -vt 0.802080 0.418185 0.000000 -vt 0.831519 0.417972 0.000000 -vt 0.819486 0.404505 0.000000 -vt 0.847924 0.404753 0.000000 -vt 0.835655 0.391410 0.000000 -vt 0.863816 0.391858 0.000000 -vt 0.851701 0.378742 0.000000 -vt 0.977780 0.305227 0.000000 -vt 0.966673 0.325247 0.000000 -vt 0.985895 0.309216 0.000000 -vt 0.974838 0.328959 0.000000 -vt 0.320638 0.081060 0.000000 -vt 0.402862 0.164002 0.000000 -vt 0.324664 0.105278 0.000000 -vt 0.485086 0.081060 0.000000 -vt 0.481060 0.105278 0.000000 -vt 0.425209 0.161125 0.000000 -vt 0.380515 0.161125 0.000000 -vt 0.332120 0.124242 0.000000 -vt 0.360450 0.152261 0.000000 -vt 0.344295 0.139914 0.000000 -vt 0.473604 0.124242 0.000000 -vt 0.445274 0.152261 0.000000 -vt 0.461430 0.139914 0.000000 -vt 0.579428 0.708922 0.000000 -vt 0.579428 0.699501 0.000000 -vt 0.588756 0.708776 0.000000 -vt 0.588756 0.699427 0.000000 -vt 0.579428 0.690089 0.000000 -vt 0.579428 0.680677 0.000000 -vt 0.588756 0.690088 0.000000 -vt 0.588756 0.680748 0.000000 -vt 0.579428 0.671256 0.000000 -vt 0.579428 0.661863 0.000000 -vt 0.588756 0.671399 0.000000 -vt 0.588756 0.662087 0.000000 -vt 0.579428 0.652439 0.000000 -vt 0.579428 0.643087 0.000000 -vt 0.588756 0.652757 0.000000 -vt 0.588756 0.643523 0.000000 -vt 0.579428 0.633661 0.000000 -vt 0.579428 0.624235 0.000000 -vt 0.588756 0.634319 0.000000 -vt 0.588756 0.625362 0.000000 -vt 0.579428 0.765732 0.000000 -vt 0.579428 0.755934 0.000000 -vt 0.588756 0.763691 0.000000 -vt 0.588756 0.754804 0.000000 -vt 0.579428 0.746508 0.000000 -vt 0.579428 0.737083 0.000000 -vt 0.588756 0.745848 0.000000 -vt 0.588756 0.736645 0.000000 -vt 0.579428 0.727732 0.000000 -vt 0.579428 0.718309 0.000000 -vt 0.588756 0.727414 0.000000 -vt 0.588756 0.718086 0.000000 -vt 0.543043 0.690089 0.000000 -vt 0.543043 0.700034 0.000000 -vt 0.543043 0.670205 0.000000 -vt 0.543043 0.680144 0.000000 -vt 0.543043 0.650359 0.000000 -vt 0.543043 0.660272 0.000000 -vt 0.543043 0.630600 0.000000 -vt 0.543043 0.640468 0.000000 -vt 0.579428 0.614437 0.000000 -vt 0.543043 0.610746 0.000000 -vt 0.543043 0.620698 0.000000 -vt 0.543043 0.749586 0.000000 -vt 0.543043 0.759488 0.000000 -vt 0.543043 0.729825 0.000000 -vt 0.543043 0.739718 0.000000 -vt 0.543043 0.709979 0.000000 -vt 0.543043 0.719912 0.000000 -vt 0.588756 0.616475 0.000000 -vt 0.545255 0.581832 0.000000 -vt 0.548621 0.581473 0.000000 -vt 0.547886 0.590030 0.000000 -vt 0.550841 0.588419 0.000000 -vt 0.553348 0.596685 0.000000 -vt 0.555469 0.594058 0.000000 -vt 0.550035 0.565607 0.000000 -vt 0.552663 0.567728 0.000000 -vt 0.546099 0.573264 0.000000 -vt 0.549324 0.574215 0.000000 -vt 0.564888 0.557513 0.000000 -vt 0.565247 0.560874 0.000000 -vt 0.556690 0.560144 0.000000 -vt 0.558301 0.563100 0.000000 -vt 0.581113 0.562293 0.000000 -vt 0.578989 0.564924 0.000000 -vt 0.573456 0.558357 0.000000 -vt 0.572504 0.561588 0.000000 -vt 0.589206 0.577146 0.000000 -vt 0.585842 0.577505 0.000000 -vt 0.586575 0.568948 0.000000 -vt 0.583620 0.570558 0.000000 -vt 0.584427 0.593372 0.000000 -vt 0.581795 0.591247 0.000000 -vt 0.588363 0.585714 0.000000 -vt 0.585138 0.584765 0.000000 -vt 0.569574 0.601465 0.000000 -vt 0.569215 0.598104 0.000000 -vt 0.577771 0.598834 0.000000 -vt 0.576160 0.595877 0.000000 -vt 0.561005 0.600621 0.000000 -vt 0.561958 0.597389 0.000000 -vt 0.583108 0.543469 0.000000 -vt 0.568362 0.528654 0.000000 -vt 0.589256 0.528684 0.000000 -vt 0.583149 0.513881 0.000000 -vt 0.568364 0.507733 0.000000 -vt 0.553562 0.513840 0.000000 -vt 0.547413 0.528625 0.000000 -vt 0.553521 0.543428 0.000000 -vt 0.568305 0.549576 0.000000 -vt 0.543043 0.769441 0.000000 -vt 0.189202 0.922547 0.000000 -vt 0.194374 0.916535 0.000000 -vt 0.198773 0.926174 0.000000 -vt 0.203134 0.920371 0.000000 -vt 0.177801 0.919806 0.000000 -vt 0.183202 0.912819 0.000000 -vt 0.167758 0.914178 0.000000 -vt 0.172618 0.907346 0.000000 -vt 0.220115 0.948440 0.000000 -vt 0.212790 0.940629 0.000000 -vt 0.223630 0.941400 0.000000 -vt 0.216271 0.933559 0.000000 -vt 0.206585 0.932412 0.000000 -vt 0.210079 0.926013 0.000000 -vt 0.208160 0.912489 0.000000 -vt 0.216391 0.919213 0.000000 -vt 0.223502 0.926914 0.000000 -vt 0.230788 0.934720 0.000000 -vt 0.187652 0.902823 0.000000 -vt 0.177162 0.897793 0.000000 -vt 0.198434 0.907279 0.000000 -vt 0.196169 0.890532 0.000000 -vt 0.201570 0.884097 0.000000 -vt 0.205839 0.894268 0.000000 -vt 0.210469 0.888108 0.000000 -vt 0.184517 0.887654 0.000000 -vt 0.190284 0.880163 0.000000 -vt 0.174180 0.881720 0.000000 -vt 0.179530 0.874410 0.000000 -vt 0.227288 0.916745 0.000000 -vt 0.220082 0.908995 0.000000 -vt 0.231089 0.909587 0.000000 -vt 0.223876 0.901635 0.000000 -vt 0.213754 0.900690 0.000000 -vt 0.217559 0.893929 0.000000 -vt 0.215435 0.880468 0.000000 -vt 0.223799 0.887344 0.000000 -vt 0.230998 0.895336 0.000000 -vt 0.238143 0.903446 0.000000 -vt 0.194712 0.870528 0.000000 -vt 0.184148 0.865255 0.000000 -vt 0.205595 0.875126 0.000000 -vt 0.920507 0.064713 0.000000 -vt 0.924814 0.065630 0.000000 -vt 0.920507 0.092523 0.000000 -vt 0.929448 0.091956 0.000000 -vt 0.902188 0.077993 0.000000 -vt 0.843705 0.077993 0.000000 -vt 0.902188 0.050487 0.000000 -vt 0.840060 0.050487 0.000000 -vt 0.840060 0.077993 0.000000 -vt 0.815555 0.066728 0.000000 -vt 0.819312 0.048894 0.000000 -vt 0.820626 0.065231 0.000000 -vt 0.892909 0.133819 0.000000 -vt 0.892909 0.115039 0.000000 -vt 0.894521 0.133819 0.000000 -vt 0.894521 0.113899 0.000000 -vt 0.940268 0.125989 0.000000 -vt 0.917817 0.126119 0.000000 -vt 0.843705 0.113899 0.000000 -vt 0.840060 0.115039 0.000000 -vt 0.801232 0.128311 0.000000 -vt 0.810083 0.092706 0.000000 -vt 0.820619 0.128448 0.000000 -vt 0.820626 0.093144 0.000000 -vt 0.902188 0.111827 0.000000 -vt 0.902188 0.133819 0.000000 -vt 0.840060 0.133819 0.000000 -vt 0.917435 0.092679 0.000000 -vt 0.845226 0.080753 0.000000 -vt 0.845226 0.111827 0.000000 -vt 0.902188 0.080753 0.000000 -vt 0.902188 0.037776 0.000000 -vt 0.840060 0.037776 0.000000 -vt 0.902188 0.030619 0.000000 -vt 0.840060 0.030619 0.000000 -vt 0.840060 0.016054 0.000000 -vt 0.902188 0.016054 0.000000 -vt 0.832705 0.061296 0.000000 -vt 0.832755 0.054199 0.000000 -vt 0.921776 0.048371 0.000000 -vt 0.908309 0.053735 0.000000 -vt 0.908390 0.060832 0.000000 -vt 0.050479 0.007302 0.000000 -vt 0.056861 0.007404 0.000000 -vt 0.051463 0.009775 0.000000 -vt 0.056861 0.011657 0.000000 -vt 0.063099 0.054914 0.000000 -vt 0.056796 0.054954 0.000000 -vt 0.062091 0.052515 0.000000 -vt 0.056796 0.050719 0.000000 -vt 0.050490 0.054889 0.000000 -vt 0.051483 0.052490 0.000000 -vt 0.062530 0.012897 0.000000 -vt 0.065128 0.012911 0.000000 -vt 0.062353 0.049784 0.000000 -vt 0.064960 0.049800 0.000000 -vt 0.056891 0.012788 0.000000 -vt 0.056762 0.049768 0.000000 -vt 0.051292 0.012770 0.000000 -vt 0.051139 0.049748 0.000000 -vt 0.048532 0.049735 0.000000 -vt 0.048676 0.012757 0.000000 -vt 0.063137 0.007377 0.000000 -vt 0.062178 0.009772 0.000000 -vt 0.071380 0.007571 0.000000 -vt 0.070080 0.005252 0.000000 -vt 0.079089 0.011386 0.000000 -vt 0.083258 0.005035 0.000000 -vt 0.083397 0.057409 0.000000 -vt 0.087655 0.050841 0.000000 -vt 0.096993 0.057219 0.000000 -vt 0.095643 0.054807 0.000000 -vt 0.079096 0.050862 0.000000 -vt 0.087535 0.011384 0.000000 -vt 0.069787 0.057294 0.000000 -vt 0.071112 0.054867 0.000000 -vt 0.096483 0.012337 0.000000 -vt 0.099245 0.012331 0.000000 -vt 0.096598 0.049580 0.000000 -vt 0.099367 0.049574 0.000000 -vt 0.087535 0.012376 0.000000 -vt 0.087655 0.049619 0.000000 -vt 0.079089 0.012378 0.000000 -vt 0.079096 0.049640 0.000000 -vt 0.070143 0.012381 0.000000 -vt 0.070140 0.049650 0.000000 -vt 0.067368 0.049646 0.000000 -vt 0.067368 0.012376 0.000000 -vt 0.096678 0.005012 0.000000 -vt 0.095382 0.007402 0.000000 -vt 0.016910 0.005225 0.000000 -vt 0.030451 0.005126 0.000000 -vt 0.018613 0.007584 0.000000 -vt 0.026276 0.011479 0.000000 -vt 0.044278 0.057230 0.000000 -vt 0.030536 0.057394 0.000000 -vt 0.042545 0.054843 0.000000 -vt 0.034767 0.050919 0.000000 -vt 0.026273 0.050930 0.000000 -vt 0.034741 0.011450 0.000000 -vt 0.016782 0.057284 0.000000 -vt 0.018489 0.054884 0.000000 -vt 0.043577 0.012457 0.000000 -vt 0.046551 0.012462 0.000000 -vt 0.043573 0.049701 0.000000 -vt 0.046554 0.049705 0.000000 -vt 0.034741 0.012443 0.000000 -vt 0.034767 0.049697 0.000000 -vt 0.026276 0.012471 0.000000 -vt 0.026273 0.049708 0.000000 -vt 0.017461 0.012505 0.000000 -vt 0.017453 0.049714 0.000000 -vt 0.014475 0.049710 0.000000 -vt 0.014475 0.012501 0.000000 -vt 0.044106 0.005028 0.000000 -vt 0.042434 0.007422 0.000000 -vt 0.032434 0.074006 0.000000 -vt 0.030188 0.077648 0.000000 -vt 0.011149 0.075985 0.000000 -vt 0.012992 0.077648 0.000000 -vt 0.030188 0.079941 0.000000 -vt 0.034467 0.079941 0.000000 -vt 0.030188 0.082340 0.000000 -vt 0.034467 0.082340 0.000000 -vt 0.012992 0.079941 0.000000 -vt 0.012992 0.082340 0.000000 -vt 0.010510 0.079941 0.000000 -vt 0.010510 0.082340 0.000000 -vt 0.003332 0.079941 0.000000 -vt 0.003332 0.082341 0.000000 -vt 0.032434 0.087859 0.000000 -vt 0.011149 0.085879 0.000000 -vt 0.030188 0.084216 0.000000 -vt 0.012992 0.084216 0.000000 -vt 0.039666 0.079941 0.000000 -vt 0.039666 0.082340 0.000000 -vt 0.075539 0.074187 0.000000 -vt 0.073240 0.077648 0.000000 -vt 0.054285 0.075983 0.000000 -vt 0.056129 0.077648 0.000000 -vt 0.073240 0.079941 0.000000 -vt 0.077395 0.079941 0.000000 -vt 0.073240 0.082340 0.000000 -vt 0.077395 0.082340 0.000000 -vt 0.056129 0.079941 0.000000 -vt 0.056129 0.082340 0.000000 -vt 0.053645 0.079941 0.000000 -vt 0.053645 0.082340 0.000000 -vt 0.046466 0.079941 0.000000 -vt 0.046466 0.082340 0.000000 -vt 0.075539 0.093059 0.000000 -vt 0.054285 0.093059 0.000000 -vt 0.075539 0.087678 0.000000 -vt 0.054285 0.085881 0.000000 -vt 0.082777 0.079941 0.000000 -vt 0.082777 0.082340 0.000000 -vt 0.040086 0.111572 0.000000 -vt 0.037836 0.114696 0.000000 -vt 0.017421 0.111572 0.000000 -vt 0.019303 0.114696 0.000000 -vt 0.037836 0.116989 0.000000 -vt 0.041686 0.116989 0.000000 -vt 0.037836 0.119389 0.000000 -vt 0.041686 0.119389 0.000000 -vt 0.019303 0.116989 0.000000 -vt 0.019303 0.119389 0.000000 -vt 0.015656 0.116989 0.000000 -vt 0.015656 0.119389 0.000000 -vt 0.008477 0.116990 0.000000 -vt 0.008478 0.119389 0.000000 -vt 0.040086 0.131567 0.000000 -vt 0.017421 0.131568 0.000000 -vt 0.040086 0.124389 0.000000 -vt 0.017421 0.124389 0.000000 -vt 0.048865 0.116989 0.000000 -vt 0.048865 0.119389 0.000000 -vt 0.039949 0.179600 0.000000 -vt 0.037786 0.182725 0.000000 -vt 0.018964 0.179600 0.000000 -vt 0.020809 0.182725 0.000000 -vt 0.037786 0.185018 0.000000 -vt 0.041586 0.185018 0.000000 -vt 0.037786 0.187417 0.000000 -vt 0.041586 0.187417 0.000000 -vt 0.020809 0.185018 0.000000 -vt 0.020809 0.187417 0.000000 -vt 0.017180 0.185018 0.000000 -vt 0.017180 0.187417 0.000000 -vt 0.010002 0.185018 0.000000 -vt 0.010002 0.187417 0.000000 -vt 0.039949 0.199596 0.000000 -vt 0.018964 0.199596 0.000000 -vt 0.039949 0.192418 0.000000 -vt 0.018964 0.192418 0.000000 -vt 0.048764 0.185018 0.000000 -vt 0.048764 0.187417 0.000000 -vt 0.011955 0.206884 0.000000 -vt 0.023639 0.217218 0.000000 -vt 0.012555 0.214766 0.000000 -vt 0.049360 0.219511 0.000000 -vt 0.053288 0.219511 0.000000 -vt 0.049360 0.221910 0.000000 -vt 0.053289 0.221911 0.000000 -vt 0.023639 0.219511 0.000000 -vt 0.023639 0.221910 0.000000 -vt 0.012287 0.219511 0.000000 -vt 0.012287 0.221911 0.000000 -vt 0.004383 0.219511 0.000000 -vt 0.004383 0.221911 0.000000 -vt 0.023639 0.223787 0.000000 -vt 0.011955 0.234120 0.000000 -vt 0.012555 0.226239 0.000000 -vt 0.060380 0.219511 0.000000 -vt 0.060380 0.221911 0.000000 -vt 0.042641 0.146377 0.000000 -vt 0.017963 0.146377 0.000000 -vt 0.042642 0.139199 0.000000 -vt 0.017963 0.139199 0.000000 -vt 0.040527 0.151802 0.000000 -vt 0.044306 0.151802 0.000000 -vt 0.040527 0.154201 0.000000 -vt 0.044306 0.154202 0.000000 -vt 0.019687 0.151802 0.000000 -vt 0.019687 0.154201 0.000000 -vt 0.016112 0.151802 0.000000 -vt 0.016112 0.154202 0.000000 -vt 0.008934 0.151802 0.000000 -vt 0.008934 0.154202 0.000000 -vt 0.042641 0.166388 0.000000 -vt 0.017963 0.166388 0.000000 -vt 0.042641 0.159210 0.000000 -vt 0.017963 0.159210 0.000000 -vt 0.051484 0.151802 0.000000 -vt 0.051484 0.154202 0.000000 -vt 0.953336 0.444671 0.000000 -vt 0.954273 0.450779 0.000000 -vt 0.930785 0.443134 0.000000 -vt 0.924201 0.450924 0.000000 -vt 0.953331 0.432617 0.000000 -vt 0.948256 0.436532 0.000000 -vt 0.930744 0.434128 0.000000 -vt 0.932094 0.436532 0.000000 -vt 0.926823 0.437891 0.000000 -vt 0.929554 0.437891 0.000000 -vt 0.926793 0.439649 0.000000 -vt 0.929521 0.439649 0.000000 -vt 0.915044 0.437891 0.000000 -vt 0.922704 0.437891 0.000000 -vt 0.914934 0.439649 0.000000 -vt 0.922685 0.439649 0.000000 -vt 0.982288 0.437891 0.000000 -vt 0.950670 0.437891 0.000000 -vt 0.982225 0.439649 0.000000 -vt 0.950530 0.439649 0.000000 -vt 0.977352 0.437891 0.000000 -vt 0.977314 0.439649 0.000000 -vt 0.960063 0.437891 0.000000 -vt 0.960055 0.439649 0.000000 -vt 0.953878 0.437891 0.000000 -vt 0.953814 0.439649 0.000000 -vt 0.951968 0.437891 0.000000 -vt 0.951905 0.439649 0.000000 -vt 0.945517 0.437891 0.000000 -vt 0.945502 0.439649 0.000000 -vt 0.924228 0.426253 0.000000 -vt 0.926663 0.433590 0.000000 -vt 0.926705 0.443627 0.000000 -vt 0.948283 0.440741 0.000000 -vt 0.932138 0.440741 0.000000 -vt 0.955235 0.444674 0.000000 -vt 0.980535 0.450855 0.000000 -vt 0.980512 0.444540 0.000000 -vt 0.960055 0.440741 0.000000 -vt 0.977314 0.440741 0.000000 -vt 0.954273 0.426504 0.000000 -vt 0.955235 0.432615 0.000000 -vt 0.977352 0.436532 0.000000 -vt 0.960063 0.436532 0.000000 -vt 0.980560 0.432731 0.000000 -vt 0.980600 0.426418 0.000000 -vt 0.903459 0.479755 0.000000 -vt 0.904437 0.485835 0.000000 -vt 0.881075 0.478400 0.000000 -vt 0.874501 0.486121 0.000000 -vt 0.903413 0.467730 0.000000 -vt 0.898406 0.471678 0.000000 -vt 0.880896 0.469431 0.000000 -vt 0.882264 0.471819 0.000000 -vt 0.877016 0.473223 0.000000 -vt 0.879736 0.473199 0.000000 -vt 0.877010 0.474981 0.000000 -vt 0.879724 0.474957 0.000000 -vt 0.865282 0.473325 0.000000 -vt 0.872926 0.473259 0.000000 -vt 0.865280 0.475083 0.000000 -vt 0.872939 0.475017 0.000000 -vt 0.932254 0.472741 0.000000 -vt 0.938486 0.472687 0.000000 -vt 0.932245 0.474499 0.000000 -vt 0.938466 0.474445 0.000000 -vt 0.927336 0.472784 0.000000 -vt 0.927338 0.474542 0.000000 -vt 0.910131 0.472934 0.000000 -vt 0.910134 0.474692 0.000000 -vt 0.903963 0.472988 0.000000 -vt 0.903922 0.474746 0.000000 -vt 0.902060 0.473004 0.000000 -vt 0.902022 0.474763 0.000000 -vt 0.895641 0.473061 0.000000 -vt 0.895647 0.474818 0.000000 -vt 0.874324 0.461617 0.000000 -vt 0.876814 0.468927 0.000000 -vt 0.877017 0.478871 0.000000 -vt 0.898408 0.475887 0.000000 -vt 0.882404 0.476026 0.000000 -vt 0.905354 0.479742 0.000000 -vt 0.930634 0.485707 0.000000 -vt 0.930573 0.479398 0.000000 -vt 0.910144 0.475784 0.000000 -vt 0.927348 0.475634 0.000000 -vt 0.904297 0.461637 0.000000 -vt 0.905304 0.467712 0.000000 -vt 0.927324 0.471425 0.000000 -vt 0.910119 0.471575 0.000000 -vt 0.930483 0.467616 0.000000 -vt 0.930469 0.461329 0.000000 -vt 0.933565 0.698823 0.000000 -vt 0.936203 0.698823 0.000000 -vt 0.933565 0.700678 0.000000 -vt 0.936203 0.700678 0.000000 -vt 0.984256 0.683372 0.000000 -vt 0.987217 0.683372 0.000000 -vt 0.984208 0.685130 0.000000 -vt 0.987170 0.685130 0.000000 -vt 0.969899 0.683372 0.000000 -vt 0.969872 0.685130 0.000000 -vt 0.967097 0.683372 0.000000 -vt 0.967069 0.685130 0.000000 -vt 0.950331 0.698823 0.000000 -vt 0.953277 0.698823 0.000000 -vt 0.950331 0.700678 0.000000 -vt 0.953277 0.700678 0.000000 -vt 0.924196 0.698823 0.000000 -vt 0.924196 0.700678 0.000000 -vt 0.952001 0.704133 0.000000 -vt 0.935169 0.704133 0.000000 -vt 0.950331 0.701706 0.000000 -vt 0.936203 0.701706 0.000000 -vt 0.935169 0.685999 0.000000 -vt 0.952001 0.685999 0.000000 -vt 0.935169 0.695368 0.000000 -vt 0.952001 0.695368 0.000000 -vt 0.962646 0.698823 0.000000 -vt 0.962646 0.700678 0.000000 -vt 0.957856 0.683372 0.000000 -vt 0.957809 0.685130 0.000000 -vt 0.985992 0.697973 0.000000 -vt 0.968437 0.697993 0.000000 -vt 0.985971 0.688627 0.000000 -vt 0.968401 0.688627 0.000000 -vt 0.986036 0.679598 0.000000 -vt 0.984256 0.682013 0.000000 -vt 0.968415 0.679602 0.000000 -vt 0.969899 0.682013 0.000000 -vt 0.996459 0.683372 0.000000 -vt 0.996377 0.685130 0.000000 -vt 0.915612 0.737535 0.000000 -vt 0.916538 0.743631 0.000000 -vt 0.893258 0.735979 0.000000 -vt 0.886595 0.743620 0.000000 -vt 0.915705 0.725470 0.000000 -vt 0.910656 0.729413 0.000000 -vt 0.893164 0.727027 0.000000 -vt 0.894517 0.729413 0.000000 -vt 0.889198 0.730772 0.000000 -vt 0.891925 0.730772 0.000000 -vt 0.889182 0.732530 0.000000 -vt 0.891898 0.732530 0.000000 -vt 0.877447 0.730772 0.000000 -vt 0.885103 0.730772 0.000000 -vt 0.877402 0.732530 0.000000 -vt 0.885094 0.732530 0.000000 -vt 0.944522 0.730772 0.000000 -vt 0.950759 0.730772 0.000000 -vt 0.944500 0.732530 0.000000 -vt 0.950740 0.732530 0.000000 -vt 0.939596 0.730772 0.000000 -vt 0.939585 0.732530 0.000000 -vt 0.922366 0.730772 0.000000 -vt 0.922354 0.732530 0.000000 -vt 0.916190 0.730772 0.000000 -vt 0.916129 0.732530 0.000000 -vt 0.914286 0.730772 0.000000 -vt 0.914227 0.732530 0.000000 -vt 0.907859 0.730772 0.000000 -vt 0.907849 0.732530 0.000000 -vt 0.886535 0.719285 0.000000 -vt 0.889081 0.726564 0.000000 -vt 0.889196 0.736401 0.000000 -vt 0.910587 0.733622 0.000000 -vt 0.894607 0.733622 0.000000 -vt 0.917510 0.737539 0.000000 -vt 0.942776 0.743734 0.000000 -vt 0.942781 0.737419 0.000000 -vt 0.922354 0.733622 0.000000 -vt 0.939585 0.733622 0.000000 -vt 0.916654 0.719367 0.000000 -vt 0.917600 0.725471 0.000000 -vt 0.939596 0.729413 0.000000 -vt 0.922366 0.729413 0.000000 -vt 0.942768 0.725646 0.000000 -vt 0.942770 0.719401 0.000000 -vt 0.965227 0.726360 0.000000 -vt 0.967878 0.726360 0.000000 -vt 0.965227 0.728225 0.000000 -vt 0.967878 0.728225 0.000000 -vt 0.913166 0.769950 0.000000 -vt 0.916120 0.769950 0.000000 -vt 0.913130 0.771708 0.000000 -vt 0.916084 0.771708 0.000000 -vt 0.898867 0.769950 0.000000 -vt 0.898840 0.771708 0.000000 -vt 0.896075 0.769950 0.000000 -vt 0.896044 0.771708 0.000000 -vt 0.982077 0.726360 0.000000 -vt 0.985038 0.726360 0.000000 -vt 0.982077 0.728225 0.000000 -vt 0.985038 0.728225 0.000000 -vt 0.955811 0.726361 0.000000 -vt 0.955811 0.728225 0.000000 -vt 0.983755 0.731673 0.000000 -vt 0.966838 0.731672 0.000000 -vt 0.982077 0.729234 0.000000 -vt 0.967878 0.729234 0.000000 -vt 0.966838 0.713419 0.000000 -vt 0.983755 0.713419 0.000000 -vt 0.966838 0.722835 0.000000 -vt 0.983755 0.722835 0.000000 -vt 0.994453 0.726361 0.000000 -vt 0.994453 0.728225 0.000000 -vt 0.886859 0.769950 0.000000 -vt 0.886836 0.771708 0.000000 -vt 0.914897 0.775196 0.000000 -vt 0.897372 0.775201 0.000000 -vt 0.913130 0.772800 0.000000 -vt 0.898840 0.772800 0.000000 -vt 0.914938 0.766186 0.000000 -vt 0.913166 0.768591 0.000000 -vt 0.897389 0.766190 0.000000 -vt 0.898867 0.768591 0.000000 -vt 0.925319 0.769950 0.000000 -vt 0.925268 0.771708 0.000000 -vt 0.961534 0.767992 0.000000 -vt 0.962458 0.774076 0.000000 -vt 0.939199 0.766454 0.000000 -vt 0.932597 0.774100 0.000000 -vt 0.961630 0.755984 0.000000 -vt 0.956603 0.759885 0.000000 -vt 0.939137 0.757489 0.000000 -vt 0.940480 0.759885 0.000000 -vt 0.935223 0.761244 0.000000 -vt 0.937942 0.761244 0.000000 -vt 0.935200 0.763002 0.000000 -vt 0.937911 0.763002 0.000000 -vt 0.923490 0.761244 0.000000 -vt 0.931131 0.761244 0.000000 -vt 0.923478 0.763002 0.000000 -vt 0.931135 0.763002 0.000000 -vt 0.990375 0.761244 0.000000 -vt 0.996597 0.761244 0.000000 -vt 0.990362 0.763002 0.000000 -vt 0.996575 0.763002 0.000000 -vt 0.985453 0.761244 0.000000 -vt 0.985443 0.763002 0.000000 -vt 0.968284 0.761244 0.000000 -vt 0.968266 0.763002 0.000000 -vt 0.962118 0.761244 0.000000 -vt 0.962056 0.763002 0.000000 -vt 0.960219 0.761244 0.000000 -vt 0.960157 0.763002 0.000000 -vt 0.953798 0.761244 0.000000 -vt 0.953763 0.763002 0.000000 -vt 0.932665 0.749651 0.000000 -vt 0.935079 0.756950 0.000000 -vt 0.935155 0.766898 0.000000 -vt 0.956511 0.764094 0.000000 -vt 0.940544 0.764094 0.000000 -vt 0.963428 0.767997 0.000000 -vt 0.988624 0.774185 0.000000 -vt 0.988628 0.767881 0.000000 -vt 0.968266 0.764094 0.000000 -vt 0.985443 0.764094 0.000000 -vt 0.962560 0.749919 0.000000 -vt 0.963513 0.755983 0.000000 -vt 0.985453 0.759885 0.000000 -vt 0.968284 0.759885 0.000000 -vt 0.988636 0.756108 0.000000 -vt 0.988680 0.749832 0.000000 -vt 0.964067 0.802347 0.000000 -vt 0.963147 0.798874 0.000000 -vt 0.965000 0.798874 0.000000 -vt 0.963158 0.787013 0.000000 -vt 0.958257 0.790840 0.000000 -vt 0.940454 0.787871 0.000000 -vt 0.944550 0.790840 0.000000 -vt 0.936831 0.792199 0.000000 -vt 0.941876 0.792199 0.000000 -vt 0.936821 0.793957 0.000000 -vt 0.941874 0.793957 0.000000 -vt 0.931912 0.792199 0.000000 -vt 0.931895 0.793957 0.000000 -vt 0.991281 0.792199 0.000000 -vt 0.994895 0.792199 0.000000 -vt 0.991265 0.793957 0.000000 -vt 0.994879 0.793957 0.000000 -vt 0.986476 0.792199 0.000000 -vt 0.986469 0.793957 0.000000 -vt 0.969698 0.792199 0.000000 -vt 0.969694 0.793957 0.000000 -vt 0.963655 0.792199 0.000000 -vt 0.963628 0.793957 0.000000 -vt 0.961795 0.792199 0.000000 -vt 0.961771 0.793957 0.000000 -vt 0.955542 0.792199 0.000000 -vt 0.955533 0.793957 0.000000 -vt 0.940431 0.798021 0.000000 -vt 0.958239 0.795049 0.000000 -vt 0.944527 0.795049 0.000000 -vt 0.969694 0.795049 0.000000 -vt 0.989583 0.798736 0.000000 -vt 0.986469 0.795049 0.000000 -vt 0.989584 0.802369 0.000000 -vt 0.938070 0.802357 0.000000 -vt 0.964077 0.783540 0.000000 -vt 0.965009 0.787012 0.000000 -vt 0.938091 0.783540 0.000000 -vt 0.986476 0.790840 0.000000 -vt 0.969698 0.790840 0.000000 -vt 0.989591 0.787154 0.000000 -vt 0.989592 0.783522 0.000000 -vt 0.968521 0.409102 0.000000 -vt 0.966908 0.409102 0.000000 -vt 0.968521 0.381437 0.000000 -vt 0.966908 0.381437 0.000000 -vt 0.971179 0.409102 0.000000 -vt 0.971179 0.381437 0.000000 -vt 0.972793 0.409102 0.000000 -vt 0.972792 0.381437 0.000000 -vt 0.975452 0.409102 0.000000 -vt 0.975450 0.381437 0.000000 -vt 0.958676 0.409102 0.000000 -vt 0.957063 0.409102 0.000000 -vt 0.958676 0.381437 0.000000 -vt 0.957063 0.381437 0.000000 -vt 0.961334 0.409102 0.000000 -vt 0.961333 0.381437 0.000000 -vt 0.962948 0.409102 0.000000 -vt 0.962946 0.381437 0.000000 -vt 0.965607 0.409102 0.000000 -vt 0.965605 0.381437 0.000000 -vt 0.978370 0.409102 0.000000 -vt 0.976757 0.409102 0.000000 -vt 0.978370 0.381437 0.000000 -vt 0.976757 0.381437 0.000000 -vt 0.981028 0.409102 0.000000 -vt 0.981027 0.381437 0.000000 -vt 0.982641 0.409102 0.000000 -vt 0.982640 0.381437 0.000000 -vt 0.985300 0.409102 0.000000 -vt 0.985298 0.381437 0.000000 -vt 0.914975 0.784495 0.000000 -vt 0.897349 0.784533 0.000000 -vt 0.983755 0.741088 0.000000 -vt 0.966838 0.741088 0.000000 -vt 0.982077 0.725274 0.000000 -vt 0.967878 0.725274 0.000000 -vt 0.897275 0.756816 0.000000 -vt 0.915027 0.756790 0.000000 -vt 0.952001 0.713502 0.000000 -vt 0.935169 0.713502 0.000000 -vt 0.984208 0.686222 0.000000 -vt 0.969872 0.686222 0.000000 -vt 0.968302 0.670193 0.000000 -vt 0.986120 0.670167 0.000000 -vt 0.950331 0.697794 0.000000 -vt 0.936203 0.697794 0.000000 -vt 0.040527 0.149509 0.000000 -vt 0.019687 0.149509 0.000000 -vt 0.011149 0.068807 0.000000 -vt 0.032434 0.068807 0.000000 -vt 0.032434 0.093057 0.000000 -vt 0.011149 0.093057 0.000000 -vt 0.040527 0.156078 0.000000 -vt 0.019687 0.156078 0.000000 -vt 0.051577 0.234120 0.000000 -vt 0.049360 0.223787 0.000000 -vt 0.051577 0.227029 0.000000 -vt 0.051577 0.206884 0.000000 -vt 0.049360 0.217218 0.000000 -vt 0.051577 0.213976 0.000000 -vt 0.037786 0.189293 0.000000 -vt 0.020809 0.189293 0.000000 -vt 0.037836 0.121265 0.000000 -vt 0.019303 0.121265 0.000000 -vt 0.073240 0.084216 0.000000 -vt 0.056129 0.084216 0.000000 -vt 0.054285 0.068805 0.000000 -vt 0.075539 0.068805 0.000000 -vt 0.040086 0.104394 0.000000 -vt 0.017421 0.104394 0.000000 -vt 0.039949 0.172422 0.000000 -vt 0.018964 0.172422 0.000000 -vt 0.964590 0.522158 0.000000 -vt 0.959201 0.521125 0.000000 -vt 0.964590 0.519914 0.000000 -vt 0.967084 0.499552 0.000000 -vt 0.959201 0.488378 0.000000 -vt 0.962516 0.488378 0.000000 -vt 0.976836 0.488902 0.000000 -vt 0.976836 0.481364 0.000000 -vt 0.980227 0.480191 0.000000 -vt 0.973117 0.490470 0.000000 -vt 0.973117 0.494058 0.000000 -vt 0.971682 0.490470 0.000000 -vt 0.971682 0.494058 0.000000 -vt 0.973117 0.481924 0.000000 -vt 0.971682 0.481924 0.000000 -vt 0.973117 0.476970 0.000000 -vt 0.971682 0.476970 0.000000 -vt 0.973117 0.473655 0.000000 -vt 0.971682 0.473655 0.000000 -vt 0.973117 0.552237 0.000000 -vt 0.973117 0.559418 0.000000 -vt 0.971682 0.552237 0.000000 -vt 0.971682 0.559418 0.000000 -vt 0.973117 0.547443 0.000000 -vt 0.971682 0.547443 0.000000 -vt 0.973117 0.533935 0.000000 -vt 0.971682 0.533935 0.000000 -vt 0.973117 0.529924 0.000000 -vt 0.971682 0.529925 0.000000 -vt 0.971682 0.521965 0.000000 -vt 0.973117 0.521964 0.000000 -vt 0.973117 0.519069 0.000000 -vt 0.971682 0.519069 0.000000 -vt 0.973116 0.516825 0.000000 -vt 0.971682 0.516825 0.000000 -vt 0.973117 0.510196 0.000000 -vt 0.971682 0.510196 0.000000 -vt 0.973117 0.501596 0.000000 -vt 0.971682 0.502290 0.000000 -vt 0.984087 0.528982 0.000000 -vt 0.981902 0.538842 0.000000 -vt 0.981902 0.530882 0.000000 -vt 0.973117 0.502986 0.000000 -vt 0.989475 0.509744 0.000000 -vt 0.989475 0.516476 0.000000 -vt 0.978202 0.510935 0.000000 -vt 0.978202 0.516476 0.000000 -vt 0.976836 0.494443 0.000000 -vt 0.988109 0.495633 0.000000 -vt 0.988109 0.488902 0.000000 -vt 0.978658 0.502986 0.000000 -vt 0.978658 0.501596 0.000000 -vt 0.980941 0.506545 0.000000 -vt 0.979575 0.498832 0.000000 -vt 0.983832 0.502986 0.000000 -vt 0.983832 0.501596 0.000000 -vt 0.973359 0.257115 0.000000 -vt 0.975141 0.257115 0.000000 -vt 0.973359 0.269863 0.000000 -vt 0.975141 0.269863 0.000000 -vt 0.973130 0.255269 0.000000 -vt 0.975369 0.255269 0.000000 -vt 0.977001 0.257115 0.000000 -vt 0.977001 0.269863 0.000000 -vt 0.971498 0.269863 0.000000 -vt 0.971498 0.257115 0.000000 -vt 0.985058 0.255305 0.000000 -vt 0.987874 0.255305 0.000000 -vt 0.985058 0.270384 0.000000 -vt 0.987874 0.270384 0.000000 -vt 0.984558 0.253444 0.000000 -vt 0.988374 0.253444 0.000000 -vt 0.989801 0.255305 0.000000 -vt 0.989801 0.270384 0.000000 -vt 0.983131 0.270384 0.000000 -vt 0.983131 0.255305 0.000000 -vt 0.970475 0.508957 0.000000 -vt 0.970475 0.500724 0.000000 -vt 0.970475 0.516864 0.000000 -vt 0.959201 0.508957 0.000000 -vt 0.966712 0.491013 0.000000 -vt 0.966776 0.532018 0.000000 -vt 0.966775 0.524058 0.000000 -vt 0.966383 0.549573 0.000000 -vt 0.970475 0.547074 0.000000 -vt 0.970475 0.533567 0.000000 -vt 0.959201 0.549573 0.000000 -vt 0.989476 0.527949 0.000000 -vt 0.984087 0.526738 0.000000 -vt 0.982294 0.556397 0.000000 -vt 0.978203 0.553899 0.000000 -vt 0.978203 0.540391 0.000000 -vt 0.989476 0.556397 0.000000 -vt 0.978202 0.523688 0.000000 -vt 0.984794 0.469017 0.000000 -vt 0.980599 0.471653 0.000000 -vt 0.988109 0.469017 0.000000 -vt 0.036158 0.564907 0.000000 -vt 0.042931 0.561729 0.000000 -vt 0.039648 0.569603 0.000000 -vt 0.044450 0.567575 0.000000 -vt 0.069579 0.489637 0.000000 -vt 0.075548 0.485887 0.000000 -vt 0.067437 0.496174 0.000000 -vt 0.069496 0.502727 0.000000 -vt 0.081131 0.485167 0.000000 -vt 0.088793 0.488090 0.000000 -vt 0.072957 0.507161 0.000000 -vt 0.079458 0.509815 0.000000 -vt 0.084988 0.508995 0.000000 -vt 0.092504 0.492747 0.000000 -vt 0.094186 0.499592 0.000000 -vt 0.091181 0.505779 0.000000 -vt 0.076508 0.514686 0.000000 -vt 0.071543 0.512667 0.000000 -vt 0.045317 0.556387 0.000000 -vt 0.047907 0.556929 0.000000 -vt 0.045721 0.562095 0.000000 -vt 0.046960 0.549557 0.000000 -vt 0.049534 0.549258 0.000000 -vt 0.044699 0.543388 0.000000 -vt 0.046629 0.541757 0.000000 -vt 0.038629 0.539977 0.000000 -vt 0.039721 0.537682 0.000000 -vt 0.032719 0.538938 0.000000 -vt 0.033766 0.536382 0.000000 -vt 0.028931 0.536033 0.000000 -vt 0.030041 0.533637 0.000000 -vt 0.024622 0.537946 0.000000 -vt 0.027905 0.533605 0.000000 -vt 0.023533 0.535508 0.000000 -vt 0.024653 0.542363 0.000000 -vt 0.021992 0.541551 0.000000 -vt 0.022092 0.537296 0.000000 -vt 0.021569 0.548023 0.000000 -vt 0.018989 0.547382 0.000000 -vt 0.020453 0.555022 0.000000 -vt 0.017968 0.555623 0.000000 -vt 0.023849 0.560665 0.000000 -vt 0.022136 0.562522 0.000000 -vt 0.030293 0.563537 0.000000 -vt 0.029239 0.565854 0.000000 -vt 0.034695 0.567306 0.000000 -vt 0.038059 0.571675 0.000000 -vt 0.040647 0.572067 0.000000 -vt 0.045544 0.569989 0.000000 -vt 0.047061 0.567608 0.000000 -vt 0.084626 0.482086 0.000000 -vt 0.088924 0.483963 0.000000 -vt 0.031381 0.506898 0.000000 -vt 0.038672 0.505332 0.000000 -vt 0.033972 0.512201 0.000000 -vt 0.038858 0.511367 0.000000 -vt 0.074140 0.536886 0.000000 -vt 0.080441 0.533896 0.000000 -vt 0.071230 0.543168 0.000000 -vt 0.072489 0.549916 0.000000 -vt 0.086223 0.533755 0.000000 -vt 0.093390 0.537557 0.000000 -vt 0.075545 0.554628 0.000000 -vt 0.081657 0.557947 0.000000 -vt 0.087194 0.557912 0.000000 -vt 0.096527 0.542635 0.000000 -vt 0.097413 0.549628 0.000000 -vt 0.093716 0.555429 0.000000 -vt 0.077950 0.562333 0.000000 -vt 0.073478 0.559879 0.000000 -vt 0.042277 0.500721 0.000000 -vt 0.041301 0.506293 0.000000 -vt 0.044718 0.501840 0.000000 -vt 0.045476 0.494511 0.000000 -vt 0.047939 0.494865 0.000000 -vt 0.044706 0.487950 0.000000 -vt 0.047050 0.486927 0.000000 -vt 0.039610 0.483193 0.000000 -vt 0.041318 0.481139 0.000000 -vt 0.033907 0.480587 0.000000 -vt 0.035595 0.478360 0.000000 -vt 0.030931 0.476898 0.000000 -vt 0.032608 0.474874 0.000000 -vt 0.026101 0.477905 0.000000 -vt 0.030365 0.474299 0.000000 -vt 0.025472 0.475307 0.000000 -vt 0.025357 0.482314 0.000000 -vt 0.022877 0.481001 0.000000 -vt 0.023709 0.476805 0.000000 -vt 0.021057 0.487188 0.000000 -vt 0.018643 0.486040 0.000000 -vt 0.018321 0.493727 0.000000 -vt 0.015865 0.493695 0.000000 -vt 0.020343 0.499987 0.000000 -vt 0.018137 0.501347 0.000000 -vt 0.025977 0.504320 0.000000 -vt 0.024315 0.506425 0.000000 -vt 0.029485 0.508959 0.000000 -vt 0.032017 0.513939 0.000000 -vt 0.034384 0.514842 0.000000 -vt 0.039384 0.513975 0.000000 -vt 0.041417 0.511910 0.000000 -vt 0.089860 0.530982 0.000000 -vt 0.094114 0.533429 0.000000 -vt 0.551366 0.574813 0.000000 -vt 0.550737 0.581246 0.000000 -vt 0.554314 0.569062 0.000000 -vt 0.559318 0.564972 0.000000 -vt 0.565469 0.562986 0.000000 -vt 0.571901 0.563630 0.000000 -vt 0.577654 0.566578 0.000000 -vt 0.581751 0.571577 0.000000 -vt 0.583728 0.577731 0.000000 -vt 0.583097 0.584164 0.000000 -vt 0.580144 0.589912 0.000000 -vt 0.575141 0.594007 0.000000 -vt 0.568990 0.595992 0.000000 -vt 0.562558 0.595344 0.000000 -vt 0.556800 0.592407 0.000000 -vt 0.092826 0.831401 0.000000 -vt 0.088214 0.835020 0.000000 -vt 0.264916 0.968892 0.000000 -vt 0.282005 0.423679 0.000000 -vt 0.286894 0.420841 0.000000 -vt 0.141035 0.569892 0.000000 -vt 0.247093 0.929289 0.000000 -vt 0.247850 0.938786 0.000000 -vt 0.213061 0.554509 0.000000 -vt 0.247770 0.476953 0.000000 -vt 0.252671 0.914515 0.000000 -vt 0.252588 0.501244 0.000000 -# 2574 texture coords - -g asdf -f 18/1/1 27/2/2 19/3/3 -f 19/3/4 27/2/5 72/4/6 -f 128/5/7 22/6/8 2/7/9 -f 2/7/10 22/6/11 3/8/12 -f 2/7/13 17/9/14 128/5/15 -f 128/5/16 17/9/17 23/10/18 -f 25/11/19 66/12/20 26/13/21 -f 26/13/22 66/12/23 150/14/24 -f 27/2/25 29/15/26 28/16/27 -f 30/17/28 33/18/29 31/19/30 -f 31/19/31 33/18/32 32/20/33 -f 34/21/34 29/15/35 18/1/36 -f 18/1/37 29/15/38 27/2/39 -f 25/11/40 33/18/41 35/22/42 -f 35/22/43 33/18/44 30/17/45 -f 25/11/46 35/22/47 66/12/48 -f 66/12/49 35/22/50 69/23/51 -f 36/24/52 39/25/53 37/26/54 -f 37/26/55 39/25/56 38/27/57 -f 39/25/58 41/28/59 38/27/60 -f 38/27/61 41/28/62 40/29/63 -f 42/30/64 45/31/65 43/32/66 -f 43/32/67 45/31/68 44/33/69 -f 47/34/70 46/35/71 44/33/72 -f 44/33/73 46/35/74 43/32/75 -f 51/36/76 50/37/77 48/38/78 -f 48/38/79 50/37/80 49/39/81 -f 53/40/82 52/41/83 51/36/84 -f 51/36/85 52/41/86 50/37/87 -f 4/42/88 5/43/89 53/40/90 -f 53/40/91 5/43/92 52/41/93 -f 41/28/94 45/31/95 40/29/96 -f 40/29/97 45/31/98 42/30/99 -f 36/24/100 107/44/101 39/25/102 -f 39/25/103 107/44/104 106/45/105 -f 39/25/106 106/45/107 41/28/108 -f 41/28/109 106/45/110 108/46/111 -f 45/31/112 41/28/113 109/47/114 -f 109/47/115 41/28/116 108/46/117 -f 54/48/118 36/24/119 55/49/120 -f 55/49/121 36/24/122 37/26/123 -f 51/36/124 48/38/125 56/50/126 -f 56/50/127 48/38/128 57/51/129 -f 51/36/130 56/50/131 53/40/132 -f 53/40/133 56/50/134 58/52/135 -f 4/42/136 53/40/137 7/53/138 -f 7/53/139 53/40/140 58/52/141 -f 44/33/142 45/31/143 172/54/144 -f 172/54/145 45/31/146 109/47/147 -f 59/55/148 47/34/149 172/54/150 -f 172/54/151 47/34/152 44/33/153 -f 60/56/154 57/51/155 61/57/156 -f 61/57/157 57/51/158 59/55/159 -f 60/56/160 62/58/161 57/51/162 -f 57/51/163 62/58/164 56/50/165 -f 62/58/166 63/59/167 56/50/168 -f 56/50/169 63/59/170 58/52/171 -f 63/59/172 6/60/173 58/52/174 -f 58/52/175 6/60/176 7/53/177 -f 152/61/178 64/62/179 151/63/180 -f 151/63/181 64/62/182 65/64/183 -f 69/23/184 68/65/185 66/12/186 -f 66/12/187 68/65/188 67/66/189 -f 66/12/190 67/66/191 150/14/192 -f 150/14/193 67/66/194 149/67/195 -f 69/23/196 158/68/197 68/65/198 -f 68/65/199 158/68/200 157/69/201 -f 70/70/202 30/17/203 71/71/204 -f 71/71/205 30/17/206 31/19/207 -f 24/72/208 35/22/209 70/70/210 -f 70/70/211 35/22/212 30/17/213 -f 10/73/214 3/8/215 98/74/216 -f 98/74/217 3/8/218 22/6/219 -f 95/75/220 21/76/221 93/77/222 -f 93/77/223 21/76/224 20/78/225 -f 27/2/226 87/79/227 72/4/228 -f 72/4/229 87/79/230 92/80/231 -f 87/79/232 28/16/233 90/81/234 -f 28/16/235 87/79/236 27/2/237 -f 71/71/238 31/19/239 85/82/240 -f 85/82/241 31/19/242 82/83/243 -f 37/26/244 38/27/245 78/84/246 -f 78/84/247 38/27/248 76/85/249 -f 38/27/250 40/29/251 76/85/252 -f 76/85/253 40/29/254 74/86/255 -f 42/30/256 43/32/257 73/87/258 -f 46/35/259 132/88/260 43/32/261 -f 43/32/262 132/88/263 133/89/264 -f 50/37/265 130/90/266 49/39/267 -f 49/39/268 130/90/269 131/91/270 -f 52/41/271 129/92/272 50/37/273 -f 50/37/274 129/92/275 130/90/276 -f 5/43/277 9/93/278 52/41/279 -f 52/41/280 9/93/281 129/92/282 -f 40/29/283 42/30/284 74/86/285 -f 74/86/286 42/30/287 73/87/288 -f 55/49/289 37/26/290 80/94/291 -f 80/94/292 37/26/293 78/84/294 -f 31/19/295 32/20/296 82/83/297 -f 32/20/298 177/95/299 82/83/300 -f 82/83/301 177/95/302 176/96/303 -f 43/32/304 133/89/305 73/87/306 -f 73/87/307 133/89/308 134/97/309 -f 74/86/310 73/87/311 75/98/312 -f 75/98/313 73/87/314 134/97/315 -f 76/85/316 74/86/317 77/99/318 -f 77/99/319 74/86/320 75/98/321 -f 78/84/322 76/85/323 79/100/324 -f 79/100/325 76/85/326 77/99/327 -f 80/94/328 78/84/329 81/101/330 -f 81/101/331 78/84/332 79/100/333 -f 84/102/334 83/103/335 176/96/336 -f 176/96/337 83/103/338 82/83/339 -f 85/82/340 82/83/341 86/104/342 -f 86/104/343 82/83/344 83/103/345 -f 90/81/346 89/105/347 87/79/348 -f 87/79/349 89/105/350 88/106/351 -f 92/80/352 87/79/353 91/107/354 -f 91/107/355 87/79/356 88/106/357 -f 93/77/358 92/80/359 94/108/360 -f 94/108/361 92/80/362 91/107/363 -f 93/77/364 94/108/365 95/75/366 -f 95/75/367 94/108/368 96/109/369 -f 98/74/370 97/110/371 10/73/372 -f 10/73/373 97/110/374 11/111/375 -f 91/107/376 100/112/377 94/108/378 -f 94/108/379 100/112/380 99/113/381 -f 94/108/382 99/113/383 96/109/384 -f 96/109/385 99/113/386 101/114/387 -f 97/110/388 102/115/389 11/111/390 -f 11/111/391 102/115/392 8/116/393 -f 109/47/394 108/46/395 148/117/396 -f 148/117/397 108/46/398 142/118/399 -f 47/34/400 59/55/401 48/38/402 -f 48/38/403 59/55/404 57/51/405 -f 48/38/406 49/39/407 47/34/408 -f 47/34/409 49/39/410 46/35/411 -f 49/39/412 131/91/413 46/35/414 -f 46/35/415 131/91/416 132/88/417 -f 104/119/418 114/120/419 103/121/420 -f 103/121/421 114/120/422 105/122/423 -f 67/123/424 68/124/425 159/125/426 -f 149/126/427 67/123/428 161/127/429 -f 161/127/430 67/123/431 159/125/432 -f 157/128/433 16/129/434 68/124/435 -f 68/124/436 16/129/437 159/125/438 -f 104/119/439 160/130/440 114/120/441 -f 115/131/442 116/132/443 185/133/444 -f 185/133/445 116/132/446 184/134/447 -f 120/135/448 119/136/449 117/137/450 -f 117/137/451 119/136/452 118/138/453 -f 122/139/454 121/140/455 120/135/456 -f 120/135/457 121/140/458 119/136/459 -f 124/141/460 123/142/461 122/139/462 -f 122/139/463 123/142/464 121/140/465 -f 124/141/466 1/143/467 123/142/468 -f 123/142/469 1/143/470 12/144/471 -f 178/145/472 26/13/473 126/146/474 -f 54/48/475 126/146/476 125/147/477 -f 125/147/478 189/148/479 188/149/480 -f 189/148/481 125/147/482 126/146/483 -f 108/46/484 106/45/485 142/118/486 -f 142/118/487 106/45/488 143/150/489 -f 107/44/490 125/147/491 188/149/492 -f 54/48/493 125/147/494 36/24/495 -f 36/24/496 125/147/497 107/44/498 -f 127/151/499 20/78/500 23/10/501 -f 23/10/502 20/78/503 128/5/504 -f 19/3/505 72/4/506 127/151/507 -f 127/151/508 72/4/509 20/78/510 -f 77/99/511 75/98/512 135/152/513 -f 79/100/514 77/99/515 136/153/516 -f 136/153/517 77/99/518 135/152/519 -f 81/101/520 79/100/521 137/154/522 -f 137/154/523 79/100/524 136/153/525 -f 83/103/526 84/102/527 138/155/528 -f 138/155/529 84/102/530 139/156/531 -f 138/155/532 86/104/533 83/103/534 -f 86/104/535 138/155/536 140/157/537 -f 89/105/538 179/158/539 88/106/540 -f 88/106/541 179/158/542 141/159/543 -f 88/106/544 141/159/545 91/107/546 -f 91/107/547 141/159/548 100/112/549 -f 174/160/550 175/161/551 102/115/552 -f 102/115/553 175/161/554 8/116/555 -f 99/113/556 173/162/557 101/114/558 -f 110/163/559 109/47/560 148/117/561 -f 61/57/562 59/55/563 113/164/564 -f 113/164/565 59/55/566 111/165/567 -f 105/122/568 162/166/569 145/167/570 -f 105/168/571 189/148/572 26/13/573 -f 105/168/574 150/14/575 103/169/576 -f 150/14/577 105/168/578 26/13/579 -f 149/67/580 104/170/581 150/14/582 -f 150/14/583 104/170/584 103/169/585 -f 116/132/586 115/131/587 151/63/588 -f 151/63/589 115/131/590 152/171/591 -f 65/64/592 116/132/593 151/63/594 -f 123/172/595 156/173/596 121/174/597 -f 121/174/598 156/173/599 155/175/600 -f 12/176/601 13/177/602 123/172/603 -f 123/172/604 13/177/605 156/173/606 -f 119/179/607 154/180/608 118/181/609 -f 118/181/610 154/180/611 153/182/612 -f 121/174/613 155/175/614 119/179/615 -f 119/179/616 155/175/617 154/180/618 -f 186/185/619 185/186/620 153/182/621 -f 153/182/622 185/186/623 118/181/624 -f 15/188/625 16/129/626 157/189/627 -f 64/62/628 157/69/629 65/64/630 -f 65/64/631 157/69/632 158/68/633 -f 359/190/634 190/191/635 14/192/636 -f 182/193/637 183/194/638 71/71/639 -f 71/71/640 183/194/641 70/70/642 -f 181/195/643 182/193/644 85/82/645 -f 85/82/646 182/193/647 71/71/648 -f 180/196/649 181/195/650 86/104/651 -f 86/104/652 181/195/653 85/82/654 -f 84/102/655 81/101/656 139/156/657 -f 139/156/658 81/101/659 137/154/660 -f 176/96/661 80/94/662 84/102/663 -f 84/102/664 80/94/665 81/101/666 -f 177/95/667 55/49/668 176/96/669 -f 176/96/670 55/49/671 80/94/672 -f 178/145/673 54/48/674 177/95/675 -f 177/95/676 54/48/677 55/49/678 -f 178/145/679 126/146/680 54/48/681 -f 24/72/682 183/194/683 34/21/684 -f 183/194/685 24/72/686 70/70/687 -f 65/64/688 158/68/689 116/132/690 -f 184/134/691 158/68/692 24/72/693 -f 24/72/694 158/68/695 35/22/696 -f 35/22/697 158/68/698 69/23/699 -f 124/141/700 23/10/701 1/143/702 -f 1/143/703 23/10/704 17/9/705 -f 122/139/706 127/151/707 124/141/708 -f 124/141/709 127/151/710 23/10/711 -f 120/135/712 19/3/713 122/139/714 -f 122/139/715 19/3/716 127/151/717 -f 117/137/718 18/1/719 120/135/720 -f 120/135/721 18/1/722 19/3/723 -f 18/1/724 117/137/725 34/21/726 -f 117/137/727 184/134/728 34/21/729 -f 184/134/730 24/72/731 34/21/732 -f 173/162/733 174/160/734 101/114/735 -f 101/114/736 174/160/737 102/115/738 -f 96/109/739 101/114/740 97/110/741 -f 97/110/742 101/114/743 102/115/744 -f 98/74/745 95/75/746 97/110/747 -f 97/110/748 95/75/749 96/109/750 -f 21/76/751 95/75/752 22/6/753 -f 22/6/754 95/75/755 98/74/756 -f 22/6/757 128/5/758 21/76/759 -f 21/76/760 128/5/761 20/78/762 -f 149/126/763 161/127/764 104/119/765 -f 104/119/766 161/127/767 160/130/768 -f 162/166/769 105/122/770 163/197/771 -f 163/197/772 105/122/773 114/120/774 -f 163/197/775 165/198/776 162/166/777 -f 162/166/778 165/198/779 164/199/780 -f 165/198/781 167/200/782 164/199/783 -f 164/199/784 167/200/785 166/201/786 -f 160/130/787 168/202/788 114/120/789 -f 114/120/790 168/202/791 163/197/792 -f 168/202/793 169/203/794 163/197/795 -f 169/203/796 170/204/797 163/197/798 -f 163/197/799 170/204/800 165/198/801 -f 170/204/802 171/205/803 165/198/804 -f 165/198/805 171/205/806 167/200/807 -f 147/206/808 105/168/809 145/207/810 -f 105/168/811 187/208/812 189/148/813 -f 72/4/814 92/80/815 20/78/816 -f 20/78/817 92/80/818 93/77/819 -f 109/47/820 110/163/821 172/54/822 -f 172/54/823 110/163/824 112/209/825 -f 59/55/826 172/54/827 111/165/828 -f 111/165/829 172/54/830 112/209/831 -f 129/210/832 9/211/833 174/212/834 -f 174/212/835 9/211/836 175/213/837 -f 99/214/838 130/215/839 173/216/840 -f 130/215/841 129/210/842 173/216/843 -f 129/210/844 174/212/845 173/216/846 -f 130/215/847 140/217/848 131/218/849 -f 140/217/850 130/215/851 179/219/852 -f 130/215/853 141/220/854 179/219/855 -f 130/215/856 100/221/857 141/220/858 -f 100/221/859 130/215/860 99/214/861 -f 137/222/862 136/223/863 131/218/864 -f 136/223/865 135/224/866 131/218/867 -f 135/224/868 132/225/869 131/218/870 -f 140/217/871 138/226/872 131/218/873 -f 138/226/874 139/227/875 131/218/876 -f 131/218/877 139/227/878 137/222/879 -f 135/224/880 75/228/881 132/225/882 -f 132/225/883 75/228/884 133/229/885 -f 75/228/886 134/230/887 133/229/888 -f 33/18/889 178/145/890 32/20/891 -f 32/20/892 178/145/893 177/95/894 -f 26/13/895 178/145/896 25/11/897 -f 178/145/898 33/18/899 25/11/900 -f 140/157/901 180/196/902 86/104/903 -f 180/196/904 179/158/905 89/105/906 -f 179/158/907 180/196/908 140/157/909 -f 89/105/910 90/81/911 180/196/912 -f 180/196/913 90/81/914 181/195/915 -f 90/81/916 28/16/917 181/195/918 -f 181/195/919 28/16/920 182/193/921 -f 28/16/922 29/15/923 182/193/924 -f 182/193/925 29/15/926 183/194/927 -f 29/15/928 34/21/929 183/194/930 -f 185/133/931 184/134/932 118/138/933 -f 118/138/934 184/134/935 117/137/936 -f 115/231/937 64/232/938 152/233/939 -f 158/68/940 184/134/941 116/132/942 -f 105/168/943 147/206/944 187/208/945 -f 188/149/946 187/208/947 146/234/948 -f 146/234/949 187/208/950 147/206/951 -f 107/44/952 188/149/953 144/235/954 -f 144/235/955 188/149/956 146/234/957 -f 106/45/958 107/44/959 143/150/960 -f 143/150/961 107/44/962 144/235/963 -f 185/186/964 186/185/965 115/231/966 -f 115/231/967 186/185/968 64/232/969 -f 188/149/970 189/148/971 187/208/972 -f 26/13/973 189/148/974 126/146/975 -f 64/236/976 190/191/977 157/189/978 -f 157/189/979 190/191/980 15/188/981 -f 191/237/982 190/238/983 186/185/984 -f 186/185/985 190/238/986 64/232/987 -f 192/239/988 191/237/989 153/182/990 -f 153/182/991 191/237/992 186/185/993 -f 154/180/994 193/240/995 153/182/996 -f 153/182/997 193/240/998 192/239/999 -f 155/175/1000 194/241/1001 154/180/1002 -f 154/180/1003 194/241/1004 193/240/1005 -f 156/173/1006 195/242/1007 155/175/1008 -f 155/175/1009 195/242/1010 194/241/1011 -f 13/177/1012 196/243/1013 156/173/1014 -f 156/173/1015 196/243/1016 195/242/1017 -f 200/244/1018 195/245/1019 197/246/1020 -f 197/246/1021 195/245/1022 196/247/1023 -f 201/248/1024 199/249/1025 193/250/1026 -f 193/250/1027 199/249/1028 192/251/1029 -f 200/244/1030 198/252/1031 195/245/1032 -f 195/245/1033 198/252/1034 194/253/1035 -f 201/248/1036 193/250/1037 198/252/1038 -f 198/252/1039 193/250/1040 194/253/1041 -f 191/256/1042 203/255/1043 202/254/1044 -f 203/255/1045 191/256/1046 192/251/1047 -f 203/255/1048 192/251/1049 199/249/1050 -f 14/257/1051 190/258/1052 204/259/1053 -f 191/256/1054 204/259/1055 190/258/1056 -f 204/259/1057 191/256/1058 202/254/1059 -f 205/260/1060 207/261/1061 206/262/1062 -f 207/261/1063 208/263/1064 206/262/1065 -f 209/264/1066 2/7/1067 210/265/1068 -f 2/7/1069 3/8/1070 210/265/1071 -f 2/7/1072 209/264/1073 17/9/1074 -f 209/264/1075 211/266/1076 17/9/1077 -f 212/267/1078 214/268/1079 213/269/1080 -f 214/268/1081 215/270/1082 213/269/1083 -f 206/262/1084 217/271/1085 216/272/1086 -f 218/273/1087 220/274/1088 219/275/1089 -f 220/274/1090 221/276/1091 219/275/1092 -f 222/277/1093 205/260/1094 216/272/1095 -f 205/260/1096 206/262/1097 216/272/1098 -f 212/267/1099 223/278/1100 219/275/1101 -f 223/278/1102 218/273/1103 219/275/1104 -f 212/267/1105 213/269/1106 223/278/1107 -f 213/269/1108 224/279/1109 223/278/1110 -f 225/280/1111 227/281/1112 226/282/1113 -f 227/281/1114 228/283/1115 226/282/1116 -f 226/282/1117 228/283/1118 229/284/1119 -f 228/283/1120 230/285/1121 229/284/1122 -f 231/286/1123 233/287/1124 232/288/1125 -f 233/287/1126 234/289/1127 232/288/1128 -f 235/290/1129 234/289/1130 236/291/1131 -f 234/289/1132 233/287/1133 236/291/1134 -f 237/292/1135 239/293/1136 238/294/1137 -f 239/293/1138 240/295/1139 238/294/1140 -f 241/296/1141 237/292/1142 242/297/1143 -f 237/292/1144 238/294/1145 242/297/1146 -f 4/42/1147 241/296/1148 5/43/1149 -f 241/296/1150 242/297/1151 5/43/1152 -f 229/284/1153 230/285/1154 232/288/1155 -f 230/285/1156 231/286/1157 232/288/1158 -f 225/280/1159 226/282/1160 243/298/1161 -f 226/282/1162 244/299/1163 243/298/1164 -f 226/282/1165 229/284/1166 244/299/1167 -f 229/284/1168 245/300/1169 244/299/1170 -f 232/288/1171 246/301/1172 229/284/1173 -f 246/301/1174 245/300/1175 229/284/1176 -f 247/302/1177 248/303/1178 225/280/1179 -f 248/303/1180 227/281/1181 225/280/1182 -f 237/292/1183 249/304/1184 239/293/1185 -f 249/304/1186 250/305/1187 239/293/1188 -f 237/292/1189 241/296/1190 249/304/1191 -f 241/296/1192 251/306/1193 249/304/1194 -f 4/42/1195 7/53/1196 241/296/1197 -f 7/53/1198 251/306/1199 241/296/1200 -f 234/289/1201 252/307/1202 232/288/1203 -f 252/307/1204 246/301/1205 232/288/1206 -f 253/308/1207 252/307/1208 235/290/1209 -f 252/307/1210 234/289/1211 235/290/1212 -f 254/309/1213 255/310/1214 250/305/1215 -f 255/310/1216 253/308/1217 250/305/1218 -f 254/309/1219 250/305/1220 256/311/1221 -f 250/305/1222 249/304/1223 256/311/1224 -f 256/311/1225 249/304/1226 257/312/1227 -f 249/304/1228 251/306/1229 257/312/1230 -f 257/312/1231 251/306/1232 6/60/1233 -f 251/306/1234 7/53/1235 6/60/1236 -f 258/313/1237 260/314/1238 259/315/1239 -f 260/314/1240 261/316/1241 259/315/1242 -f 224/279/1243 213/269/1244 262/317/1245 -f 213/269/1246 263/318/1247 262/317/1248 -f 213/269/1249 215/270/1250 263/318/1251 -f 215/270/1252 264/319/1253 263/318/1254 -f 224/279/1255 262/317/1256 265/320/1257 -f 262/317/1258 266/321/1259 265/320/1260 -f 267/322/1261 268/323/1262 218/273/1263 -f 268/323/1264 220/274/1265 218/273/1266 -f 269/324/1267 267/322/1268 223/278/1269 -f 267/322/1270 218/273/1271 223/278/1272 -f 10/73/1273 270/325/1274 3/8/1275 -f 270/325/1276 210/265/1277 3/8/1278 -f 271/326/1279 273/327/1280 272/328/1281 -f 273/327/1282 274/329/1283 272/328/1284 -f 206/262/1285 208/263/1286 275/330/1287 -f 208/263/1288 276/331/1289 275/330/1290 -f 275/330/1291 277/332/1292 217/271/1293 -f 217/271/1294 206/262/1295 275/330/1296 -f 268/323/1297 278/333/1298 220/274/1299 -f 278/333/1300 279/334/1301 220/274/1302 -f 227/281/1303 280/335/1304 228/283/1305 -f 280/335/1306 281/336/1307 228/283/1308 -f 228/283/1309 281/336/1310 230/285/1311 -f 281/336/1312 282/337/1313 230/285/1314 -f 231/286/1315 283/338/1316 233/287/1317 -f 236/291/1318 233/287/1319 284/339/1320 -f 233/287/1321 285/340/1322 284/339/1323 -f 238/294/1324 240/295/1325 286/341/1326 -f 240/295/1327 287/342/1328 286/341/1329 -f 242/297/1330 238/294/1331 288/343/1332 -f 238/294/1333 286/341/1334 288/343/1335 -f 5/43/1336 242/297/1337 9/93/1338 -f 242/297/1339 288/343/1340 9/93/1341 -f 230/285/1342 282/337/1343 231/286/1344 -f 282/337/1345 283/338/1346 231/286/1347 -f 248/303/1348 289/344/1349 227/281/1350 -f 289/344/1351 280/335/1352 227/281/1353 -f 220/274/1354 279/334/1355 221/276/1356 -f 221/276/1357 279/334/1358 290/345/1359 -f 279/334/1360 291/346/1361 290/345/1362 -f 233/287/1363 283/338/1364 285/340/1365 -f 283/338/1366 292/347/1367 285/340/1368 -f 282/337/1369 293/348/1370 283/338/1371 -f 293/348/1372 292/347/1373 283/338/1374 -f 281/336/1375 294/349/1376 282/337/1377 -f 294/349/1378 293/348/1379 282/337/1380 -f 280/335/1381 295/350/1382 281/336/1383 -f 295/350/1384 294/349/1385 281/336/1386 -f 289/344/1387 296/351/1388 280/335/1389 -f 296/351/1390 295/350/1391 280/335/1392 -f 297/352/1393 291/346/1394 298/353/1395 -f 291/346/1396 279/334/1397 298/353/1398 -f 278/333/1399 299/354/1400 279/334/1401 -f 299/354/1402 298/353/1403 279/334/1404 -f 277/332/1405 275/330/1406 300/355/1407 -f 275/330/1408 301/356/1409 300/355/1410 -f 276/331/1411 302/357/1412 275/330/1413 -f 302/357/1414 301/356/1415 275/330/1416 -f 273/327/1417 303/358/1418 276/331/1419 -f 303/358/1420 302/357/1421 276/331/1422 -f 273/327/1423 271/326/1424 303/358/1425 -f 271/326/1426 304/359/1427 303/358/1428 -f 270/325/1429 10/73/1430 305/360/1431 -f 10/73/1432 11/111/1433 305/360/1434 -f 302/357/1435 303/358/1436 306/361/1437 -f 303/358/1438 307/362/1439 306/361/1440 -f 303/358/1441 304/359/1442 307/362/1443 -f 304/359/1444 308/363/1445 307/362/1446 -f 305/360/1447 11/111/1448 309/364/1449 -f 11/111/1450 8/116/1451 309/364/1452 -f 246/301/1453 310/365/1454 245/300/1455 -f 310/365/1456 311/366/1457 245/300/1458 -f 235/290/1459 239/293/1460 253/308/1461 -f 239/293/1462 250/305/1463 253/308/1464 -f 239/293/1465 235/290/1466 240/295/1467 -f 235/290/1468 236/291/1469 240/295/1470 -f 240/295/1471 236/291/1472 287/342/1473 -f 236/291/1474 284/339/1475 287/342/1476 -f 312/367/1477 314/368/1478 313/369/1479 -f 314/368/1480 315/370/1481 313/369/1482 -f 263/371/1483 316/372/1484 262/373/1485 -f 264/374/1486 317/375/1487 263/371/1488 -f 317/375/1489 316/372/1490 263/371/1491 -f 266/376/1492 262/373/1493 318/377/1494 -f 262/373/1495 316/372/1496 318/377/1497 -f 312/367/1498 313/369/1499 319/378/1500 -f 320/379/1501 322/380/1502 321/381/1503 -f 322/380/1504 323/382/1505 321/381/1506 -f 324/383/1507 326/384/1508 325/385/1509 -f 326/384/1510 327/386/1511 325/385/1512 -f 328/387/1513 324/383/1514 329/388/1515 -f 324/383/1516 325/385/1517 329/388/1518 -f 330/389/1519 328/387/1520 331/390/1521 -f 328/387/1522 329/388/1523 331/390/1524 -f 330/389/1525 331/390/1526 1/143/1527 -f 331/390/1528 12/391/1529 1/143/1530 -f 332/392/1531 333/393/1532 214/268/1533 -f 247/302/1534 334/394/1535 333/393/1536 -f 334/394/1537 336/395/1538 335/396/1539 -f 335/396/1540 333/393/1541 334/394/1542 -f 245/300/1543 311/366/1544 244/299/1545 -f 311/366/1546 337/397/1547 244/299/1548 -f 243/298/1549 336/395/1550 334/394/1551 -f 247/302/1552 225/280/1553 334/394/1554 -f 225/280/1555 243/298/1556 334/394/1557 -f 338/398/1558 211/266/1559 274/329/1560 -f 211/266/1561 209/264/1562 274/329/1563 -f 207/261/1564 338/398/1565 208/263/1566 -f 338/398/1567 274/329/1568 208/263/1569 -f 294/349/1570 339/399/1571 293/348/1572 -f 295/350/1573 340/400/1574 294/349/1575 -f 340/400/1576 339/399/1577 294/349/1578 -f 296/351/1579 341/401/1580 295/350/1581 -f 341/401/1582 340/400/1583 295/350/1584 -f 298/353/1585 342/402/1586 297/352/1587 -f 342/402/1588 343/403/1589 297/352/1590 -f 342/402/1591 298/353/1592 299/354/1593 -f 299/354/1594 344/404/1595 342/402/1596 -f 300/355/1597 301/356/1598 345/405/1599 -f 301/356/1600 346/406/1601 345/405/1602 -f 301/356/1603 302/357/1604 346/406/1605 -f 302/357/1606 306/361/1607 346/406/1608 -f 347/407/1609 309/364/1610 175/161/1611 -f 309/364/1612 8/116/1613 175/161/1614 -f 307/362/1615 308/363/1616 348/409/1617 -f 349/410/1618 310/365/1619 246/301/1620 -f 255/310/1621 350/411/1622 253/308/1623 -f 350/411/1624 351/412/1625 253/308/1626 -f 315/370/1627 353/413/1628 352/414/1629 -f 315/415/1630 214/268/1631 335/396/1632 -f 315/415/1633 314/416/1634 215/270/1635 -f 215/270/1636 214/268/1637 315/415/1638 -f 264/319/1639 215/270/1640 312/417/1641 -f 215/270/1642 314/416/1643 312/417/1644 -f 321/381/1645 260/314/1646 320/379/1647 -f 260/314/1648 258/418/1649 320/379/1650 -f 261/316/1651 260/314/1652 321/381/1653 -f 331/419/1654 329/420/1655 354/421/1656 -f 329/420/1657 355/422/1658 354/421/1659 -f 12/176/1660 331/419/1661 13/177/1662 -f 331/419/1663 354/421/1664 13/177/1665 -f 325/425/1666 327/426/1667 356/427/1668 -f 327/426/1669 357/428/1670 356/427/1671 -f 329/420/1672 325/425/1673 355/422/1674 -f 325/425/1675 356/427/1676 355/422/1677 -f 358/431/1678 357/428/1679 322/432/1680 -f 357/428/1681 327/426/1682 322/432/1683 -f 318/377/1684 15/188/1685 266/434/1686 -f 15/188/1687 318/377/1688 16/129/1689 -f 259/315/1690 261/316/1691 266/321/1692 -f 261/316/1693 265/320/1694 266/321/1695 -f 190/191/1696 359/190/1697 15/188/1698 -f 360/435/1699 268/323/1700 361/436/1701 -f 268/323/1702 267/322/1703 361/436/1704 -f 362/437/1705 278/333/1706 360/435/1707 -f 278/333/1708 268/323/1709 360/435/1710 -f 363/438/1711 299/354/1712 362/437/1713 -f 299/354/1714 278/333/1715 362/437/1716 -f 297/352/1717 343/403/1718 296/351/1719 -f 343/403/1720 341/401/1721 296/351/1722 -f 291/346/1723 297/352/1724 289/344/1725 -f 297/352/1726 296/351/1727 289/344/1728 -f 290/345/1729 291/346/1730 248/303/1731 -f 291/346/1732 289/344/1733 248/303/1734 -f 332/392/1735 290/345/1736 247/302/1737 -f 290/345/1738 248/303/1739 247/302/1740 -f 332/392/1741 247/302/1742 333/393/1743 -f 269/324/1744 222/277/1745 361/436/1746 -f 361/436/1747 267/322/1748 269/324/1749 -f 261/316/1750 321/381/1751 265/320/1752 -f 323/382/1753 269/324/1754 265/320/1755 -f 269/324/1756 223/278/1757 265/320/1758 -f 223/278/1759 224/279/1760 265/320/1761 -f 330/389/1762 1/143/1763 211/266/1764 -f 1/143/1765 17/9/1766 211/266/1767 -f 328/387/1768 330/389/1769 338/398/1770 -f 330/389/1771 211/266/1772 338/398/1773 -f 324/383/1774 328/387/1775 207/261/1776 -f 328/387/1777 338/398/1778 207/261/1779 -f 326/384/1780 324/383/1781 205/260/1782 -f 324/383/1783 207/261/1784 205/260/1785 -f 205/260/1786 222/277/1787 326/384/1788 -f 326/384/1789 222/277/1790 323/382/1791 -f 323/382/1792 222/277/1793 269/324/1794 -f 348/409/1795 308/363/1796 347/407/1797 -f 308/363/1798 309/364/1799 347/407/1800 -f 304/359/1801 305/360/1802 308/363/1803 -f 305/360/1804 309/364/1805 308/363/1806 -f 270/325/1807 305/360/1808 271/326/1809 -f 305/360/1810 304/359/1811 271/326/1812 -f 272/328/1813 210/265/1814 271/326/1815 -f 210/265/1816 270/325/1817 271/326/1818 -f 210/265/1819 272/328/1820 209/264/1821 -f 272/328/1822 274/329/1823 209/264/1824 -f 264/374/1825 312/367/1826 317/375/1827 -f 312/367/1828 319/378/1829 317/375/1830 -f 352/414/1831 364/439/1832 315/370/1833 -f 364/439/1834 313/369/1835 315/370/1836 -f 364/439/1837 352/414/1838 366/440/1839 -f 352/414/1840 365/441/1841 366/440/1842 -f 366/440/1843 365/441/1844 368/442/1845 -f 365/441/1846 367/443/1847 368/442/1848 -f 319/378/1849 313/369/1850 369/444/1851 -f 313/369/1852 364/439/1853 369/444/1854 -f 369/444/1855 364/439/1856 370/445/1857 -f 370/445/1858 364/439/1859 371/446/1860 -f 364/439/1861 366/440/1862 371/446/1863 -f 371/446/1864 366/440/1865 372/447/1866 -f 366/440/1867 368/442/1868 372/447/1869 -f 16/129/1870 318/377/1871 159/125/1872 -f 318/377/1873 316/372/1874 159/125/1875 -f 161/127/1876 317/375/1877 160/130/1878 -f 317/375/1879 319/378/1880 160/130/1881 -f 159/125/1882 316/372/1883 161/127/1884 -f 316/372/1885 317/375/1886 161/127/1887 -f 160/130/1888 319/378/1889 168/202/1890 -f 319/378/1891 369/444/1892 168/202/1893 -f 373/448/1894 353/449/1895 315/415/1896 -f 315/415/1897 335/396/1898 374/450/1899 -f 208/263/1900 274/329/1901 276/331/1902 -f 274/329/1903 273/327/1904 276/331/1905 -f 246/301/1906 252/307/1907 349/410/1908 -f 252/307/1909 375/451/1910 349/410/1911 -f 253/308/1912 351/412/1913 252/307/1914 -f 351/412/1915 375/451/1916 252/307/1917 -f 288/452/1918 347/453/1919 9/211/1920 -f 347/453/1921 175/213/1922 9/211/1923 -f 307/454/1924 348/455/1925 286/456/1926 -f 286/456/1927 348/455/1928 288/452/1929 -f 288/452/1930 348/455/1931 347/453/1932 -f 286/456/1933 287/457/1934 344/458/1935 -f 344/458/1936 345/459/1937 286/456/1938 -f 286/456/1939 345/459/1940 346/460/1941 -f 286/456/1942 346/460/1943 306/461/1944 -f 306/461/1945 307/454/1946 286/456/1947 -f 341/462/1948 287/457/1949 340/463/1950 -f 340/463/1951 287/457/1952 339/464/1953 -f 339/464/1954 287/457/1955 284/465/1956 -f 344/458/1957 287/457/1958 342/466/1959 -f 342/466/1960 287/457/1961 343/467/1962 -f 287/457/1963 341/462/1964 343/467/1965 -f 339/464/1966 284/465/1967 293/468/1968 -f 284/465/1969 285/469/1970 293/468/1971 -f 293/468/1972 285/469/1973 292/470/1974 -f 219/275/1975 221/276/1976 332/392/1977 -f 221/276/1978 290/345/1979 332/392/1980 -f 214/268/1981 212/267/1982 332/392/1983 -f 332/392/1984 212/267/1985 219/275/1986 -f 344/404/1987 299/354/1988 363/438/1989 -f 363/438/1990 300/355/1991 345/405/1992 -f 345/405/1993 344/404/1994 363/438/1995 -f 300/355/1996 363/438/1997 277/332/1998 -f 363/438/1999 362/437/2000 277/332/2001 -f 277/332/2002 362/437/2003 217/271/2004 -f 362/437/2005 360/435/2006 217/271/2007 -f 217/271/2008 360/435/2009 216/272/2010 -f 360/435/2011 361/436/2012 216/272/2013 -f 216/272/2014 361/436/2015 222/277/2016 -f 322/380/2017 327/386/2018 323/382/2019 -f 327/386/2020 326/384/2021 323/382/2022 -f 320/471/2023 258/472/2024 259/473/2025 -f 265/320/2026 321/381/2027 323/382/2028 -f 315/415/2029 374/450/2030 373/448/2031 -f 336/395/2032 376/474/2033 374/450/2034 -f 376/474/2035 373/448/2036 374/450/2037 -f 243/298/2038 377/475/2039 336/395/2040 -f 377/475/2041 376/474/2042 336/395/2043 -f 244/299/2044 337/397/2045 243/298/2046 -f 337/397/2047 377/475/2048 243/298/2049 -f 322/432/2050 320/471/2051 358/431/2052 -f 320/471/2053 259/473/2054 358/431/2055 -f 336/395/2056 374/450/2057 335/396/2058 -f 214/268/2059 333/393/2060 335/396/2061 -f 259/476/2062 266/434/2063 359/190/2064 -f 266/434/2065 15/188/2066 359/190/2067 -f 378/477/2068 358/431/2069 359/478/2070 -f 358/431/2071 259/473/2072 359/478/2073 -f 379/479/2074 357/428/2075 378/477/2076 -f 357/428/2077 358/431/2078 378/477/2079 -f 356/427/2080 357/428/2081 380/480/2082 -f 357/428/2083 379/479/2084 380/480/2085 -f 355/422/2086 356/427/2087 381/481/2088 -f 356/427/2089 380/480/2090 381/481/2091 -f 354/421/2092 355/422/2093 382/482/2094 -f 355/422/2095 381/481/2096 382/482/2097 -f 13/177/2098 354/421/2099 196/243/2100 -f 354/421/2101 382/482/2102 196/243/2103 -f 383/483/2104 197/246/2105 382/484/2106 -f 197/246/2107 196/247/2108 382/484/2109 -f 384/485/2110 380/486/2111 385/487/2112 -f 380/486/2113 379/488/2114 385/487/2115 -f 383/483/2116 382/484/2117 386/489/2118 -f 382/484/2119 381/490/2120 386/489/2121 -f 384/485/2122 386/489/2123 380/486/2124 -f 386/489/2125 381/490/2126 380/486/2127 -f 14/192/2128 387/423/2129 359/190/2130 -f 388/424/2131 387/178/2132 204/259/2133 -f 387/178/2134 14/257/2135 204/259/2136 -f 201/248/2137 384/485/2138 199/249/2139 -f 384/485/2140 385/487/2141 199/249/2142 -f 200/244/2143 383/483/2144 198/252/2145 -f 383/483/2146 386/489/2147 198/252/2148 -f 378/430/2149 390/184/2150 379/488/2151 -f 202/187/2152 389/429/2153 204/259/2154 -f 389/429/2155 388/424/2156 204/259/2157 -f 389/429/2158 202/187/2159 390/184/2160 -f 202/187/2161 203/255/2162 390/184/2163 -f 385/487/2164 390/184/2165 199/249/2166 -f 390/184/2167 203/255/2168 199/249/2169 -f 198/252/2170 386/489/2171 201/248/2172 -f 386/489/2173 384/485/2174 201/248/2175 -f 390/184/2176 378/430/2177 389/183/2178 -f 390/184/2179 385/487/2180 379/488/2181 -f 387/178/2182 388/424/2183 359/433/2184 -f 378/430/2185 388/424/2186 389/183/2187 -f 197/246/2188 383/483/2189 200/244/2190 -f 388/424/2191 378/430/2192 359/433/2193 -f 465/491/2194 466/492/2195 467/493/2196 -f 469/494/2197 564/495/2198 550/496/2199 -f 424/497/2200 425/498/2201 391/499/2202 -f 391/499/2203 425/498/2204 401/500/2205 -f 391/499/2206 401/500/2207 393/501/2208 -f 393/501/2209 401/500/2210 403/502/2211 -f 403/502/2212 410/503/2213 393/501/2214 -f 393/501/2215 410/503/2216 394/504/2217 -f 396/505/2218 395/506/2219 406/507/2220 -f 406/507/2221 395/506/2222 405/508/2223 -f 397/509/2224 396/505/2225 407/510/2226 -f 407/510/2227 396/505/2228 406/507/2229 -f 394/504/2230 404/511/2231 398/512/2232 -f 398/512/2233 404/511/2234 399/513/2235 -f 399/513/2236 404/511/2237 408/514/2238 -f 558/515/2239 400/516/2240 557/517/2241 -f 557/517/2242 400/516/2243 409/518/2244 -f 426/519/2245 427/520/2246 400/516/2247 -f 400/516/2248 427/520/2249 409/518/2250 -f 392/521/2251 436/522/2252 402/523/2253 -f 402/523/2254 436/522/2255 437/524/2256 -f 429/525/2257 401/500/2258 425/498/2259 -f 403/502/2260 401/500/2261 430/526/2262 -f 430/526/2263 401/500/2264 429/525/2265 -f 430/526/2266 431/527/2267 403/502/2268 -f 403/502/2269 431/527/2270 410/503/2271 -f 406/507/2272 405/508/2273 445/528/2274 -f 445/528/2275 405/508/2276 444/529/2277 -f 407/510/2278 406/507/2279 446/530/2280 -f 446/530/2281 406/507/2282 445/528/2283 -f 408/514/2284 404/511/2285 433/531/2286 -f 433/531/2287 404/511/2288 432/532/2289 -f 557/517/2290 409/518/2291 556/533/2292 -f 556/533/2293 409/518/2294 435/534/2295 -f 409/518/2296 427/520/2297 435/534/2298 -f 435/534/2299 427/520/2300 434/535/2301 -f 496/536/2302 410/503/2303 495/537/2304 -f 495/537/2305 410/503/2306 431/527/2307 -f 447/538/2308 448/539/2309 424/497/2310 -f 424/497/2311 448/539/2312 425/498/2313 -f 399/513/2314 408/514/2315 426/519/2316 -f 426/519/2317 408/514/2318 427/520/2319 -f 427/520/2320 408/514/2321 434/535/2322 -f 434/535/2323 408/514/2324 433/531/2325 -f 472/540/2326 473/541/2327 474/542/2328 -f 474/542/2329 473/541/2330 465/491/2331 -f 473/541/2332 472/540/2333 476/543/2334 -f 476/543/2335 472/540/2336 475/544/2337 -f 563/545/2338 477/546/2339 479/547/2340 -f 477/546/2341 480/548/2342 479/547/2343 -f 480/548/2344 481/549/2345 479/547/2346 -f 476/543/2347 475/544/2348 483/550/2349 -f 483/550/2350 475/544/2351 482/551/2352 -f 484/552/2353 485/553/2354 487/554/2355 -f 487/554/2356 485/553/2357 486/555/2358 -f 488/556/2359 489/557/2360 484/552/2361 -f 484/552/2362 489/557/2363 485/553/2364 -f 567/558/2365 489/557/2366 488/556/2367 -f 489/557/2368 567/558/2369 469/494/2370 -f 488/556/2371 468/559/2372 567/558/2373 -f 435/534/2374 434/535/2375 442/560/2376 -f 529/561/2377 530/562/2378 528/563/2379 -f 528/563/2380 530/562/2381 527/564/2382 -f 532/565/2383 531/566/2384 529/561/2385 -f 529/561/2386 531/566/2387 530/562/2388 -f 500/567/2389 501/568/2390 549/569/2391 -f 501/568/2392 502/570/2393 549/569/2394 -f 486/555/2395 485/553/2396 503/571/2397 -f 502/570/2398 485/553/2399 549/569/2400 -f 476/543/2401 483/550/2402 505/572/2403 -f 505/572/2404 483/550/2405 504/573/2406 -f 473/541/2407 476/543/2408 506/574/2409 -f 506/574/2410 476/543/2411 505/572/2412 -f 465/491/2413 473/541/2414 507/575/2415 -f 507/575/2416 473/541/2417 506/574/2418 -f 466/492/2419 465/491/2420 508/576/2421 -f 508/576/2422 465/491/2423 507/575/2424 -f 412/577/2425 437/524/2426 411/578/2427 -f 411/578/2428 437/524/2429 436/522/2430 -f 413/579/2431 429/525/2432 412/577/2433 -f 412/577/2434 429/525/2435 437/524/2436 -f 414/580/2437 430/526/2438 413/579/2439 -f 413/579/2440 430/526/2441 429/525/2442 -f 415/581/2443 431/527/2444 414/580/2445 -f 414/580/2446 431/527/2447 430/526/2448 -f 431/527/2449 415/581/2450 495/537/2451 -f 495/537/2452 415/581/2453 494/582/2454 -f 420/583/2455 439/584/2456 432/532/2457 -f 562/585/2458 444/529/2459 417/586/2460 -f 417/586/2461 444/529/2462 416/587/2463 -f 416/587/2464 444/529/2465 441/588/2466 -f 418/589/2467 445/528/2468 562/585/2469 -f 419/590/2470 446/530/2471 418/589/2472 -f 418/589/2473 446/530/2474 445/528/2475 -f 447/591/2476 392/521/2477 448/539/2478 -f 448/539/2479 392/521/2480 402/523/2481 -f 402/523/2482 437/524/2483 429/525/2484 -f 474/542/2485 465/491/2486 492/592/2487 -f 483/550/2488 482/551/2489 486/555/2490 -f 486/555/2491 482/551/2492 487/554/2493 -f 483/550/2494 486/555/2495 504/573/2496 -f 504/573/2497 486/555/2498 503/571/2499 -f 394/504/2500 410/503/2501 496/536/2502 -f 451/593/2503 436/522/2504 452/594/2505 -f 452/594/2506 436/522/2507 392/521/2508 -f 452/594/2509 392/521/2510 450/595/2511 -f 450/595/2512 392/521/2513 447/591/2514 -f 558/515/2515 559/596/2516 400/516/2517 -f 400/516/2518 559/596/2519 453/597/2520 -f 455/598/2521 456/599/2522 393/501/2523 -f 393/501/2524 456/599/2525 391/499/2526 -f 393/501/2527 394/504/2528 455/598/2529 -f 455/598/2530 394/504/2531 457/600/2532 -f 454/601/2533 395/506/2534 458/602/2535 -f 458/602/2536 395/506/2537 396/505/2538 -f 459/603/2539 458/602/2540 397/509/2541 -f 397/509/2542 458/602/2543 396/505/2544 -f 460/604/2545 461/605/2546 399/513/2547 -f 399/513/2548 461/605/2549 398/512/2550 -f 460/604/2551 399/513/2552 462/606/2553 -f 462/606/2554 399/513/2555 426/519/2556 -f 462/606/2557 426/519/2558 453/597/2559 -f 453/597/2560 426/519/2561 400/516/2562 -f 451/593/2563 509/607/2564 436/522/2565 -f 436/522/2566 509/607/2567 411/578/2568 -f 463/608/2569 450/609/2570 424/497/2571 -f 424/497/2572 450/609/2573 447/538/2574 -f 456/599/2575 463/608/2576 391/499/2577 -f 391/499/2578 463/608/2579 424/497/2580 -f 457/600/2581 394/504/2582 461/605/2583 -f 461/605/2584 394/504/2585 398/512/2586 -f 452/610/2587 467/493/2588 451/611/2589 -f 451/611/2590 467/493/2591 466/492/2592 -f 450/612/2593 464/613/2594 452/610/2595 -f 452/610/2596 464/613/2597 467/493/2598 -f 559/614/2599 560/615/2600 453/616/2601 -f 453/616/2602 560/615/2603 468/559/2604 -f 472/540/2605 474/542/2606 455/617/2607 -f 455/617/2608 474/542/2609 456/618/2610 -f 472/540/2611 455/617/2612 475/544/2613 -f 475/544/2614 455/617/2615 457/619/2616 -f 458/620/2617 477/546/2618 454/621/2619 -f 454/621/2620 477/546/2621 470/622/2622 -f 480/548/2623 477/546/2624 459/623/2625 -f 459/623/2626 477/546/2627 458/620/2628 -f 482/551/2629 475/544/2630 457/619/2631 -f 460/624/2632 484/552/2633 461/625/2634 -f 461/625/2635 484/552/2636 487/554/2637 -f 462/626/2638 488/556/2639 460/624/2640 -f 460/624/2641 488/556/2642 484/552/2643 -f 488/556/2644 462/626/2645 468/559/2646 -f 468/559/2647 462/626/2648 453/616/2649 -f 466/492/2650 508/576/2651 451/611/2652 -f 451/611/2653 508/576/2654 509/627/2655 -f 492/592/2656 464/613/2657 463/628/2658 -f 463/628/2659 464/613/2660 450/629/2661 -f 474/542/2662 492/592/2663 456/618/2664 -f 456/618/2665 492/592/2666 463/628/2667 -f 487/554/2668 482/551/2669 461/625/2670 -f 461/625/2671 482/551/2672 457/619/2673 -f 567/558/2674 468/559/2675 561/630/2676 -f 561/630/2677 468/559/2678 560/615/2679 -f 420/583/2680 432/532/2681 494/582/2682 -f 494/582/2683 432/532/2684 495/537/2685 -f 404/511/2686 496/536/2687 432/532/2688 -f 432/532/2689 496/536/2690 495/537/2691 -f 394/504/2692 496/536/2693 404/511/2694 -f 425/498/2695 448/539/2696 429/525/2697 -f 448/539/2698 402/523/2699 429/525/2700 -f 465/491/2701 467/493/2702 464/613/2703 -f 465/491/2704 464/613/2705 492/592/2706 -f 414/580/2707 413/579/2708 521/631/2709 -f 521/631/2710 413/579/2711 523/632/2712 -f 413/579/2713 412/577/2714 523/632/2715 -f 523/632/2716 412/577/2717 411/633/2718 -f 421/634/2719 517/635/2720 422/636/2721 -f 422/636/2722 517/635/2723 515/637/2724 -f 422/636/2725 515/637/2726 428/638/2727 -f 428/638/2728 515/637/2729 513/639/2730 -f 421/634/2731 420/583/2732 517/635/2733 -f 517/635/2734 420/583/2735 518/640/2736 -f 518/640/2737 415/581/2738 521/631/2739 -f 521/631/2740 415/581/2741 414/580/2742 -f 494/582/2743 415/581/2744 518/640/2745 -f 420/583/2746 494/582/2747 518/640/2748 -f 428/638/2749 513/639/2750 423/641/2751 -f 423/641/2752 513/639/2753 512/642/2754 -f 481/643/2755 419/590/2756 479/644/2757 -f 479/644/2758 419/590/2759 418/589/2760 -f 562/585/2761 563/645/2762 418/589/2763 -f 418/589/2764 563/645/2765 479/644/2766 -f 416/587/2767 471/646/2768 417/586/2769 -f 417/586/2770 471/646/2771 478/647/2772 -f 471/646/2773 416/587/2774 490/648/2775 -f 490/648/2776 416/587/2777 497/649/2778 -f 546/650/2779 547/651/2780 441/588/2781 -f 441/588/2782 547/651/2783 497/649/2784 -f 563/545/2785 478/652/2786 493/653/2787 -f 564/495/2788 478/652/2789 471/654/2790 -f 547/651/2791 548/655/2792 497/649/2793 -f 497/649/2794 548/655/2795 490/648/2796 -f 441/588/2797 497/649/2798 416/587/2799 -f 491/656/2800 499/657/2801 532/565/2802 -f 532/565/2803 499/657/2804 531/566/2805 -f 511/658/2806 510/659/2807 513/639/2808 -f 513/639/2809 510/659/2810 512/642/2811 -f 514/660/2812 511/658/2813 515/637/2814 -f 515/637/2815 511/658/2816 513/639/2817 -f 516/661/2818 514/660/2819 517/635/2820 -f 517/635/2821 514/660/2822 515/637/2823 -f 517/635/2824 518/640/2825 516/661/2826 -f 516/661/2827 518/640/2828 519/662/2829 -f 518/640/2830 521/631/2831 519/662/2832 -f 519/662/2833 521/631/2834 520/663/2835 -f 522/664/2836 520/663/2837 523/632/2838 -f 523/632/2839 520/663/2840 521/631/2841 -f 501/568/2842 500/567/2843 511/665/2844 -f 511/665/2845 500/567/2846 510/666/2847 -f 502/570/2848 501/568/2849 514/667/2850 -f 514/667/2851 501/568/2852 511/665/2853 -f 503/571/2854 502/570/2855 516/668/2856 -f 516/668/2857 502/570/2858 514/667/2859 -f 519/669/2860 504/573/2861 516/668/2862 -f 516/668/2863 504/573/2864 503/571/2865 -f 519/669/2866 505/572/2867 504/573/2868 -f 506/574/2869 505/572/2870 520/670/2871 -f 520/670/2872 505/572/2873 519/669/2874 -f 522/671/2875 507/575/2876 520/670/2877 -f 520/670/2878 507/575/2879 506/574/2880 -f 507/575/2881 522/671/2882 508/576/2883 -f 508/576/2884 522/671/2885 509/672/2886 -f 510/659/2887 528/563/2888 512/642/2889 -f 512/642/2890 528/563/2891 527/564/2892 -f 525/673/2893 524/674/2894 528/675/2895 -f 528/675/2896 524/674/2897 529/676/2898 -f 438/677/2899 527/564/2900 449/678/2901 -f 449/678/2902 527/564/2903 530/562/2904 -f 449/678/2905 530/562/2906 443/679/2907 -f 443/679/2908 530/562/2909 531/566/2910 -f 524/674/2911 526/680/2912 529/676/2913 -f 529/676/2914 526/680/2915 532/681/2916 -f 491/682/2917 532/681/2918 526/680/2919 -f 443/679/2920 531/566/2921 498/683/2922 -f 498/683/2923 531/566/2924 499/657/2925 -f 500/567/2926 525/673/2927 510/666/2928 -f 510/666/2929 525/673/2930 528/675/2931 -f 423/641/2932 512/642/2933 438/677/2934 -f 438/677/2935 512/642/2936 527/564/2937 -f 568/684/2938 569/685/2939 549/569/2940 -f 490/686/2941 548/687/2942 550/496/2943 -f 564/495/2944 469/494/2945 561/630/2946 -f 411/633/2947 509/688/2948 523/632/2949 -f 523/632/2950 509/688/2951 522/664/2952 -f 534/689/2953 535/690/2954 554/691/2955 -f 535/690/2956 423/641/2957 554/691/2958 -f 423/641/2959 438/677/2960 554/691/2961 -f 449/678/2962 554/691/2963 438/677/2964 -f 533/692/2965 534/689/2966 552/693/2967 -f 552/693/2968 534/689/2969 551/694/2970 -f 538/695/2971 553/696/2972 442/560/2973 -f 442/560/2974 553/696/2975 555/697/2976 -f 439/584/2977 440/698/2978 433/531/2979 -f 440/698/2980 539/699/2981 433/531/2982 -f 433/531/2983 539/699/2984 434/535/2985 -f 428/638/2986 536/700/2987 422/636/2988 -f 439/584/2989 422/636/2990 440/698/2991 -f 422/636/2992 536/700/2993 440/698/2994 -f 423/641/2995 535/690/2996 428/638/2997 -f 428/638/2998 535/690/2999 536/700/3000 -f 440/698/3001 536/700/3002 540/701/3003 -f 540/701/3004 536/700/3005 541/702/3006 -f 533/692/3007 542/703/3008 534/689/3009 -f 534/689/3010 542/703/3011 543/704/3012 -f 535/690/3013 534/689/3014 543/704/3015 -f 536/700/3016 535/690/3017 541/702/3018 -f 537/705/3019 539/699/3020 544/706/3021 -f 538/695/3022 537/705/3023 545/707/3024 -f 533/692/3025 538/695/3026 542/703/3027 -f 542/703/3028 538/695/3029 545/707/3030 -f 440/698/3031 540/701/3032 539/699/3033 -f 539/699/3034 540/701/3035 544/706/3036 -f 553/696/3037 538/695/3038 552/693/3039 -f 552/693/3040 538/695/3041 533/692/3042 -f 498/683/3043 499/657/3044 546/650/3045 -f 546/650/3046 499/657/3047 547/651/3048 -f 491/656/3049 548/655/3050 499/657/3051 -f 499/657/3052 548/655/3053 547/651/3054 -f 539/699/3055 537/705/3056 434/535/3057 -f 538/695/3058 442/560/3059 537/705/3060 -f 442/560/3061 434/535/3062 537/705/3063 -f 422/636/3064 439/584/3065 421/634/3066 -f 439/584/3067 420/583/3068 421/634/3069 -f 439/584/3070 433/531/3071 432/532/3072 -f 485/553/3073 502/570/3074 503/571/3075 -f 489/557/3076 568/684/3077 549/569/3078 -f 568/684/3079 489/557/3080 469/494/3081 -f 485/553/3082 489/557/3083 549/569/3084 -f 544/706/3085 540/701/3086 537/705/3087 -f 535/690/3088 540/701/3089 541/702/3090 -f 542/703/3091 540/701/3092 543/704/3093 -f 543/704/3094 540/701/3095 535/690/3096 -f 537/705/3097 540/701/3098 545/707/3099 -f 545/707/3100 540/701/3101 542/703/3102 -f 552/693/3103 551/694/3104 498/683/3105 -f 498/683/3106 551/694/3107 443/679/3108 -f 546/650/3109 553/696/3110 498/683/3111 -f 498/683/3112 553/696/3113 552/693/3114 -f 551/694/3115 534/689/3116 554/691/3117 -f 449/678/3118 551/694/3119 554/691/3120 -f 551/694/3121 449/678/3122 443/679/3123 -f 441/588/3124 555/697/3125 546/650/3126 -f 546/650/3127 555/697/3128 553/696/3129 -f 556/533/3130 435/534/3131 555/697/3132 -f 555/697/3133 435/534/3134 442/560/3135 -f 405/508/3136 557/517/3137 444/529/3138 -f 444/529/3139 557/517/3140 556/533/3141 -f 395/506/3142 558/515/3143 405/508/3144 -f 405/508/3145 558/515/3146 557/517/3147 -f 395/506/3148 454/601/3149 558/515/3150 -f 558/515/3151 454/601/3152 559/596/3153 -f 454/621/3154 470/622/3155 559/614/3156 -f 559/614/3157 470/622/3158 560/615/3159 -f 470/622/3160 493/653/3161 560/615/3162 -f 560/615/3163 493/653/3164 561/630/3165 -f 444/529/3166 556/533/3167 441/588/3168 -f 441/588/3169 556/533/3170 555/697/3171 -f 478/652/3172 564/495/3173 493/653/3174 -f 444/529/3175 562/585/3176 445/528/3177 -f 563/645/3178 562/585/3179 478/647/3180 -f 478/647/3181 562/585/3182 417/586/3183 -f 563/545/3184 493/653/3185 477/546/3186 -f 477/546/3187 493/653/3188 470/622/3189 -f 493/653/3190 564/495/3191 561/630/3192 -f 490/686/3193 564/495/3194 471/654/3195 -f 564/495/3196 490/686/3197 550/496/3198 -f 550/496/3199 548/687/3200 565/708/3201 -f 566/709/3202 548/687/3203 491/682/3204 -f 548/687/3205 566/709/3206 565/708/3207 -f 491/682/3208 526/680/3209 566/709/3210 -f 469/494/3211 567/558/3212 561/630/3213 -f 550/496/3214 568/684/3215 469/494/3216 -f 568/684/3217 550/496/3218 565/708/3219 -f 565/708/3220 566/709/3221 568/684/3222 -f 566/709/3223 569/685/3224 568/684/3225 -f 526/680/3226 569/685/3227 566/709/3228 -f 569/685/3229 526/680/3230 524/674/3231 -f 525/673/3232 569/685/3233 524/674/3234 -f 500/567/3235 569/685/3236 525/673/3237 -f 549/569/3238 569/685/3239 500/567/3240 -f 570/710/3241 572/711/3242 571/712/3243 -f 573/713/3244 575/714/3245 574/715/3246 -f 576/716/3247 578/717/3248 577/718/3249 -f 578/717/3250 579/719/3251 577/718/3252 -f 578/717/3253 580/720/3254 579/719/3255 -f 580/720/3256 581/721/3257 579/719/3258 -f 581/721/3259 580/720/3260 582/722/3261 -f 580/720/3262 583/723/3263 582/722/3264 -f 584/724/3265 586/725/3266 585/726/3267 -f 586/725/3268 587/727/3269 585/726/3270 -f 397/509/3271 407/510/3272 584/724/3273 -f 407/510/3274 586/725/3275 584/724/3276 -f 583/723/3277 589/728/3278 588/729/3279 -f 589/728/3280 590/730/3281 588/729/3282 -f 590/730/3283 591/731/3284 588/729/3285 -f 592/732/3286 594/733/3287 593/734/3288 -f 594/733/3289 595/735/3290 593/734/3291 -f 596/736/3292 593/734/3293 597/737/3294 -f 593/734/3295 595/735/3296 597/737/3297 -f 598/738/3298 600/739/3299 599/740/3300 -f 600/739/3301 601/741/3302 599/740/3303 -f 602/742/3304 577/718/3305 579/719/3306 -f 581/721/3307 603/743/3308 579/719/3309 -f 603/743/3310 602/742/3311 579/719/3312 -f 603/743/3313 581/721/3314 604/744/3315 -f 581/721/3316 582/722/3317 604/744/3318 -f 586/725/3319 605/745/3320 587/727/3321 -f 605/745/3322 606/746/3323 587/727/3324 -f 407/510/3325 446/530/3326 586/725/3327 -f 446/530/3328 605/745/3329 586/725/3330 -f 591/731/3331 607/747/3332 588/729/3333 -f 607/747/3334 608/748/3335 588/729/3336 -f 594/733/3337 609/749/3338 595/735/3339 -f 609/749/3340 610/750/3341 595/735/3342 -f 595/735/3343 610/750/3344 597/737/3345 -f 610/750/3346 611/751/3347 597/737/3348 -f 612/752/3349 613/753/3350 582/722/3351 -f 613/753/3352 604/744/3353 582/722/3354 -f 614/754/3355 576/716/3356 615/755/3357 -f 576/716/3358 577/718/3359 615/755/3360 -f 590/730/3361 596/736/3362 591/731/3363 -f 596/736/3364 597/737/3365 591/731/3366 -f 597/737/3367 611/751/3368 591/731/3369 -f 611/751/3370 607/747/3371 591/731/3372 -f 616/756/3373 618/757/3374 617/758/3375 -f 618/757/3376 570/710/3377 617/758/3378 -f 617/758/3379 619/759/3380 616/756/3381 -f 619/759/3382 620/760/3383 616/756/3384 -f 621/761/3385 623/762/3386 622/763/3387 -f 622/763/3388 623/762/3389 480/548/3390 -f 480/548/3391 623/762/3392 481/549/3393 -f 619/759/3394 624/764/3395 620/760/3396 -f 624/764/3397 625/765/3398 620/760/3399 -f 626/766/3400 628/767/3401 627/768/3402 -f 628/767/3403 629/769/3404 627/768/3405 -f 630/770/3406 626/766/3407 631/771/3408 -f 626/766/3409 627/768/3410 631/771/3411 -f 632/772/3412 630/770/3413 631/771/3414 -f 631/771/3415 573/713/3416 632/772/3417 -f 630/770/3418 632/772/3419 633/773/3420 -f 610/750/3421 634/774/3422 611/751/3423 -f 635/775/3424 637/776/3425 636/777/3426 -f 637/776/3427 638/778/3428 636/777/3429 -f 639/779/3430 635/775/3431 640/780/3432 -f 635/775/3433 636/777/3434 640/780/3435 -f 641/781/3436 643/782/3437 642/783/3438 -f 642/783/3439 643/782/3440 644/784/3441 -f 629/769/3442 645/785/3443 627/768/3444 -f 644/784/3445 643/782/3446 627/768/3447 -f 619/759/3448 646/786/3449 624/764/3450 -f 646/786/3451 647/787/3452 624/764/3453 -f 617/758/3454 648/788/3455 619/759/3456 -f 648/788/3457 646/786/3458 619/759/3459 -f 570/710/3460 649/789/3461 617/758/3462 -f 649/789/3463 648/788/3464 617/758/3465 -f 571/712/3466 650/790/3467 570/710/3468 -f 650/790/3469 649/789/3470 570/710/3471 -f 651/791/3472 652/792/3473 601/741/3474 -f 652/792/3475 599/740/3476 601/741/3477 -f 653/793/3478 651/791/3479 602/742/3480 -f 651/791/3481 601/741/3482 602/742/3483 -f 654/794/3484 653/793/3485 603/743/3486 -f 653/793/3487 602/742/3488 603/743/3489 -f 655/795/3490 654/794/3491 604/744/3492 -f 654/794/3493 603/743/3494 604/744/3495 -f 604/744/3496 613/753/3497 655/795/3498 -f 613/753/3499 656/796/3500 655/795/3501 -f 657/797/3502 608/748/3503 658/798/3504 -f 659/799/3505 660/800/3506 606/746/3507 -f 660/800/3508 661/801/3509 606/746/3510 -f 661/801/3511 662/802/3512 606/746/3513 -f 663/803/3514 659/799/3515 605/745/3516 -f 419/590/3517 663/803/3518 446/530/3519 -f 663/803/3520 605/745/3521 446/530/3522 -f 614/804/3523 615/755/3524 598/738/3525 -f 615/755/3526 600/739/3527 598/738/3528 -f 600/739/3529 602/742/3530 601/741/3531 -f 618/757/3532 664/805/3533 570/710/3534 -f 624/764/3535 629/769/3536 625/765/3537 -f 629/769/3538 628/767/3539 625/765/3540 -f 624/764/3541 647/787/3542 629/769/3543 -f 647/787/3544 645/785/3545 629/769/3546 -f 583/723/3547 612/752/3548 582/722/3549 -f 665/806/3550 666/807/3551 599/740/3552 -f 666/807/3553 598/738/3554 599/740/3555 -f 666/807/3556 667/808/3557 598/738/3558 -f 667/808/3559 614/804/3560 598/738/3561 -f 592/732/3562 593/734/3563 668/809/3564 -f 593/734/3565 669/810/3566 668/809/3567 -f 670/811/3568 580/720/3569 671/812/3570 -f 580/720/3571 578/717/3572 671/812/3573 -f 580/720/3574 670/811/3575 583/723/3576 -f 670/811/3577 672/813/3578 583/723/3579 -f 673/814/3580 674/815/3581 585/726/3582 -f 674/815/3583 584/724/3584 585/726/3585 -f 459/603/3586 397/509/3587 674/815/3588 -f 397/509/3589 584/724/3590 674/815/3591 -f 675/816/3592 590/730/3593 676/817/3594 -f 590/730/3595 589/728/3596 676/817/3597 -f 675/816/3598 677/818/3599 590/730/3600 -f 677/818/3601 596/736/3602 590/730/3603 -f 677/818/3604 669/810/3605 596/736/3606 -f 669/810/3607 593/734/3608 596/736/3609 -f 665/806/3610 599/740/3611 678/819/3612 -f 599/740/3613 652/792/3614 678/819/3615 -f 679/820/3616 576/716/3617 667/821/3618 -f 576/716/3619 614/754/3620 667/821/3621 -f 671/812/3622 578/717/3623 679/820/3624 -f 578/717/3625 576/716/3626 679/820/3627 -f 672/813/3628 676/817/3629 583/723/3630 -f 676/817/3631 589/728/3632 583/723/3633 -f 666/822/3634 665/823/3635 572/711/3636 -f 665/823/3637 571/712/3638 572/711/3639 -f 667/824/3640 666/822/3641 680/825/3642 -f 666/822/3643 572/711/3644 680/825/3645 -f 668/826/3646 669/827/3647 681/828/3648 -f 669/827/3649 633/773/3650 681/828/3651 -f 616/756/3652 670/829/3653 618/757/3654 -f 670/829/3655 671/830/3656 618/757/3657 -f 616/756/3658 620/760/3659 670/829/3660 -f 620/760/3661 672/831/3662 670/829/3663 -f 674/832/3664 673/833/3665 622/763/3666 -f 673/833/3667 682/834/3668 622/763/3669 -f 480/548/3670 459/623/3671 622/763/3672 -f 459/623/3673 674/832/3674 622/763/3675 -f 625/765/3676 672/831/3677 620/760/3678 -f 675/835/3679 676/836/3680 626/766/3681 -f 676/836/3682 628/767/3683 626/766/3684 -f 677/837/3685 675/835/3686 630/770/3687 -f 675/835/3688 626/766/3689 630/770/3690 -f 630/770/3691 633/773/3692 677/837/3693 -f 633/773/3694 669/827/3695 677/837/3696 -f 571/712/3697 665/823/3698 650/790/3699 -f 665/823/3700 678/838/3701 650/790/3702 -f 664/805/3703 679/839/3704 680/825/3705 -f 679/839/3706 667/840/3707 680/825/3708 -f 618/757/3709 671/830/3710 664/805/3711 -f 671/830/3712 679/839/3713 664/805/3714 -f 628/767/3715 676/836/3716 625/765/3717 -f 676/836/3718 672/831/3719 625/765/3720 -f 632/772/3721 683/841/3722 633/773/3723 -f 683/841/3724 681/828/3725 633/773/3726 -f 657/797/3727 656/796/3728 608/748/3729 -f 656/796/3730 613/753/3731 608/748/3732 -f 588/729/3733 608/748/3734 612/752/3735 -f 608/748/3736 613/753/3737 612/752/3738 -f 583/723/3739 588/729/3740 612/752/3741 -f 577/718/3742 602/742/3743 615/755/3744 -f 615/755/3745 602/742/3746 600/739/3747 -f 570/710/3748 680/825/3749 572/711/3750 -f 570/710/3751 664/805/3752 680/825/3753 -f 654/794/3754 684/842/3755 653/793/3756 -f 684/842/3757 685/843/3758 653/793/3759 -f 653/793/3760 685/843/3761 651/791/3762 -f 685/843/3763 652/844/3764 651/791/3765 -f 686/845/3766 688/846/3767 687/847/3768 -f 688/846/3769 689/848/3770 687/847/3771 -f 688/846/3772 690/849/3773 689/848/3774 -f 690/849/3775 691/850/3776 689/848/3777 -f 686/845/3778 687/847/3779 657/797/3780 -f 687/847/3781 692/851/3782 657/797/3783 -f 692/851/3784 684/842/3785 655/795/3786 -f 684/842/3787 654/794/3788 655/795/3789 -f 656/796/3790 692/851/3791 655/795/3792 -f 657/797/3793 692/851/3794 656/796/3795 -f 690/849/3796 693/852/3797 691/850/3798 -f 693/852/3799 694/853/3800 691/850/3801 -f 481/643/3802 623/854/3803 419/590/3804 -f 623/854/3805 663/803/3806 419/590/3807 -f 659/799/3808 663/803/3809 621/855/3810 -f 663/803/3811 623/854/3812 621/855/3813 -f 661/801/3814 660/800/3815 695/856/3816 -f 660/800/3817 696/857/3818 695/856/3819 -f 695/856/3820 697/858/3821 661/801/3822 -f 697/858/3823 698/859/3824 661/801/3825 -f 699/860/3826 662/802/3827 700/861/3828 -f 662/802/3829 698/859/3830 700/861/3831 -f 621/761/3832 701/862/3833 696/863/3834 -f 574/715/3835 695/864/3836 696/863/3837 -f 700/861/3838 698/859/3839 702/865/3840 -f 698/859/3841 697/858/3842 702/865/3843 -f 662/802/3844 661/801/3845 698/859/3846 -f 703/866/3847 639/779/3848 704/867/3849 -f 639/779/3850 640/780/3851 704/867/3852 -f 705/868/3853 691/850/3854 706/869/3855 -f 691/850/3856 694/853/3857 706/869/3858 -f 707/870/3859 689/848/3860 705/868/3861 -f 689/848/3862 691/850/3863 705/868/3864 -f 708/871/3865 687/847/3866 707/870/3867 -f 687/847/3868 689/848/3869 707/870/3870 -f 687/847/3871 708/871/3872 692/851/3873 -f 708/871/3874 709/872/3875 692/851/3876 -f 692/851/3877 709/872/3878 684/842/3879 -f 709/872/3880 710/873/3881 684/842/3882 -f 711/874/3883 685/843/3884 710/873/3885 -f 685/843/3886 684/842/3887 710/873/3888 -f 642/783/3889 705/875/3890 641/781/3891 -f 705/875/3892 706/876/3893 641/781/3894 -f 644/784/3895 707/877/3896 642/783/3897 -f 707/877/3898 705/875/3899 642/783/3900 -f 645/785/3901 708/878/3902 644/784/3903 -f 708/878/3904 707/877/3905 644/784/3906 -f 709/879/3907 708/878/3908 647/787/3909 -f 708/878/3910 645/785/3911 647/787/3912 -f 709/879/3913 647/787/3914 646/786/3915 -f 648/788/3916 710/880/3917 646/786/3918 -f 710/880/3919 709/879/3920 646/786/3921 -f 711/881/3922 710/880/3923 649/789/3924 -f 710/880/3925 648/788/3926 649/789/3927 -f 649/789/3928 650/790/3929 711/881/3930 -f 650/790/3931 678/882/3932 711/881/3933 -f 706/869/3934 694/853/3935 637/776/3936 -f 694/853/3937 638/778/3938 637/776/3939 -f 712/883/3940 637/884/3941 713/885/3942 -f 637/884/3943 635/886/3944 713/885/3945 -f 714/887/3946 715/888/3947 638/778/3948 -f 715/888/3949 636/777/3950 638/778/3951 -f 715/888/3952 716/889/3953 636/777/3954 -f 716/889/3955 640/780/3956 636/777/3957 -f 713/885/3958 635/886/3959 717/890/3960 -f 635/886/3961 639/891/3962 717/890/3963 -f 703/892/3964 717/890/3965 639/891/3966 -f 716/889/3967 718/893/3968 640/780/3969 -f 718/893/3970 704/867/3971 640/780/3972 -f 641/781/3973 706/876/3974 712/883/3975 -f 706/876/3976 637/884/3977 712/883/3978 -f 693/852/3979 714/887/3980 694/853/3981 -f 714/887/3982 638/778/3983 694/853/3984 -f 719/894/3985 643/782/3986 720/895/3987 -f 697/896/3988 575/714/3989 702/897/3990 -f 574/715/3991 683/841/3992 573/713/3993 -f 652/844/3994 685/843/3995 678/898/3996 -f 685/843/3997 711/874/3998 678/898/3999 -f 721/899/4000 723/900/4001 722/901/4002 -f 722/901/4003 723/900/4004 693/852/4005 -f 693/852/4006 723/900/4007 714/887/4008 -f 715/888/4009 714/887/4010 723/900/4011 -f 724/902/4012 725/903/4013 721/899/4014 -f 725/903/4015 726/904/4016 721/899/4017 -f 727/905/4018 634/774/4019 728/906/4020 -f 634/774/4021 729/907/4022 728/906/4023 -f 658/798/4024 607/747/4025 730/908/4026 -f 730/908/4027 607/747/4028 731/909/4029 -f 607/747/4030 611/751/4031 731/909/4032 -f 690/849/4033 688/846/4034 732/910/4035 -f 658/798/4036 730/908/4037 688/846/4038 -f 688/846/4039 730/908/4040 732/910/4041 -f 693/852/4042 690/849/4043 722/901/4044 -f 690/849/4045 732/910/4046 722/901/4047 -f 730/908/4048 733/911/4049 732/910/4050 -f 733/911/4051 734/912/4052 732/910/4053 -f 724/902/4054 721/899/4055 735/913/4056 -f 721/899/4057 736/914/4058 735/913/4059 -f 722/901/4060 736/914/4061 721/899/4062 -f 732/910/4063 734/912/4064 722/901/4065 -f 737/915/4066 738/916/4067 731/909/4068 -f 727/905/4069 739/917/4070 737/915/4071 -f 724/902/4072 735/913/4073 727/905/4074 -f 735/913/4075 739/917/4076 727/905/4077 -f 730/908/4078 731/909/4079 733/911/4080 -f 731/909/4081 738/916/4082 733/911/4083 -f 728/906/4084 725/903/4085 727/905/4086 -f 725/903/4087 724/902/4088 727/905/4089 -f 718/893/4090 699/860/4091 704/867/4092 -f 699/860/4093 700/861/4094 704/867/4095 -f 703/866/4096 704/867/4097 702/865/4098 -f 704/867/4099 700/861/4100 702/865/4101 -f 731/909/4102 611/751/4103 737/915/4104 -f 727/905/4105 737/915/4106 634/774/4107 -f 634/774/4108 737/915/4109 611/751/4110 -f 688/846/4111 686/845/4112 658/798/4113 -f 658/798/4114 686/845/4115 657/797/4116 -f 658/798/4117 608/748/4118 607/747/4119 -f 627/768/4120 645/785/4121 644/784/4122 -f 631/771/4123 643/782/4124 719/894/4125 -f 719/894/4126 573/713/4127 631/771/4128 -f 627/768/4129 643/782/4130 631/771/4131 -f 738/916/4132 737/915/4133 733/911/4134 -f 722/901/4135 734/912/4136 733/911/4137 -f 735/913/4138 736/914/4139 733/911/4140 -f 736/914/4141 722/901/4142 733/911/4143 -f 737/915/4144 739/917/4145 733/911/4146 -f 739/917/4147 735/913/4148 733/911/4149 -f 725/903/4150 718/893/4151 726/904/4152 -f 718/893/4153 716/889/4154 726/904/4155 -f 699/860/4156 718/893/4157 728/906/4158 -f 718/893/4159 725/903/4160 728/906/4161 -f 726/904/4162 723/900/4163 721/899/4164 -f 715/888/4165 723/900/4166 726/904/4167 -f 726/904/4168 716/889/4169 715/888/4170 -f 662/802/4171 699/860/4172 729/907/4173 -f 699/860/4174 728/906/4175 729/907/4176 -f 609/749/4177 729/907/4178 610/750/4179 -f 729/907/4180 634/774/4181 610/750/4182 -f 587/727/4183 606/746/4184 594/733/4185 -f 606/746/4186 609/749/4187 594/733/4188 -f 585/726/4189 587/727/4190 592/732/4191 -f 587/727/4192 594/733/4193 592/732/4194 -f 585/726/4195 592/732/4196 673/814/4197 -f 592/732/4198 668/809/4199 673/814/4200 -f 673/833/4201 668/826/4202 682/834/4203 -f 668/826/4204 681/828/4205 682/834/4206 -f 682/834/4207 681/828/4208 701/862/4209 -f 681/828/4210 683/841/4211 701/862/4212 -f 606/746/4213 662/802/4214 609/749/4215 -f 662/802/4216 729/907/4217 609/749/4218 -f 696/863/4219 701/862/4220 574/715/4221 -f 606/746/4222 605/745/4223 659/799/4224 -f 621/855/4225 696/857/4226 659/799/4227 -f 696/857/4228 660/800/4229 659/799/4230 -f 621/761/4231 622/763/4232 701/862/4233 -f 622/763/4234 682/834/4235 701/862/4236 -f 701/862/4237 683/841/4238 574/715/4239 -f 697/896/4240 695/864/4241 574/715/4242 -f 574/715/4243 575/714/4244 697/896/4245 -f 575/714/4246 740/918/4247 702/897/4248 -f 741/919/4249 703/892/4250 702/897/4251 -f 702/897/4252 740/918/4253 741/919/4254 -f 703/892/4255 741/919/4256 717/890/4257 -f 573/713/4258 683/841/4259 632/772/4260 -f 575/714/4261 573/713/4262 719/894/4263 -f 719/894/4264 740/918/4265 575/714/4266 -f 740/918/4267 719/894/4268 741/919/4269 -f 741/919/4270 719/894/4271 720/895/4272 -f 717/890/4273 741/919/4274 720/895/4275 -f 720/895/4276 713/885/4277 717/890/4278 -f 712/883/4279 713/885/4280 720/895/4281 -f 641/781/4282 712/883/4283 720/895/4284 -f 643/782/4285 641/781/4286 720/895/4287 -f 772/920/4288 845/921/4289 940/922/4290 -f 940/922/4291 845/921/4292 939/923/4293 -f 774/924/4294 773/925/4295 942/926/4296 -f 942/926/4297 773/925/4298 941/927/4299 -f 775/928/4300 774/924/4301 943/929/4302 -f 943/929/4303 774/924/4304 942/926/4305 -f 776/930/4306 775/928/4307 944/931/4308 -f 944/931/4309 775/928/4310 943/929/4311 -f 778/932/4312 777/933/4313 946/934/4314 -f 946/934/4315 777/933/4316 945/935/4317 -f 743/936/4318 778/932/4319 769/937/4320 -f 769/937/4321 778/932/4322 946/934/4323 -f 773/925/4324 774/924/4325 779/938/4326 -f 779/938/4327 774/924/4328 780/939/4329 -f 774/924/4330 775/928/4331 780/939/4332 -f 780/939/4333 775/928/4334 781/940/4335 -f 775/928/4336 776/930/4337 781/940/4338 -f 781/940/4339 776/930/4340 782/941/4341 -f 783/942/4342 777/933/4343 784/943/4344 -f 784/943/4345 777/933/4346 778/932/4347 -f 743/936/4348 754/944/4349 778/932/4350 -f 778/932/4351 754/944/4352 784/943/4353 -f 786/945/4354 787/946/4355 785/947/4356 -f 785/947/4357 787/946/4358 788/948/4359 -f 787/946/4360 790/949/4361 788/948/4362 -f 788/948/4363 790/949/4364 789/950/4365 -f 790/949/4366 792/951/4367 789/950/4368 -f 789/950/4369 792/951/4370 791/952/4371 -f 792/951/4372 794/953/4373 791/952/4374 -f 791/952/4375 794/953/4376 793/954/4377 -f 796/955/4378 795/956/4379 797/957/4380 -f 797/957/4381 795/956/4382 798/958/4383 -f 744/959/4384 745/960/4385 795/956/4386 -f 795/956/4387 745/960/4388 798/958/4389 -f 785/947/4390 788/948/4391 799/961/4392 -f 799/961/4393 788/948/4394 800/962/4395 -f 788/948/4396 789/950/4397 800/962/4398 -f 800/962/4399 789/950/4400 801/963/4401 -f 789/950/4402 791/952/4403 801/963/4404 -f 801/963/4405 791/952/4406 802/964/4407 -f 791/952/4408 793/954/4409 802/964/4410 -f 802/964/4411 793/954/4412 803/965/4413 -f 797/957/4414 798/958/4415 804/966/4416 -f 804/966/4417 798/958/4418 805/967/4419 -f 745/960/4420 768/968/4421 798/958/4422 -f 798/958/4423 768/968/4424 805/967/4425 -f 806/969/4426 807/970/4427 809/971/4428 -f 809/971/4429 807/970/4430 808/972/4431 -f 811/973/4432 810/974/4433 808/972/4434 -f 808/972/4435 810/974/4436 809/971/4437 -f 811/973/4438 813/975/4439 810/974/4440 -f 810/974/4441 813/975/4442 812/976/4443 -f 816/977/4444 746/978/4445 817/979/4446 -f 817/979/4447 746/978/4448 747/980/4449 -f 819/981/4450 809/971/4451 820/982/4452 -f 820/982/4453 809/971/4454 810/974/4455 -f 820/982/4456 810/974/4457 821/983/4458 -f 821/983/4459 810/974/4460 812/976/4461 -f 962/984/4462 963/985/4463 935/986/4464 -f 935/986/4465 963/985/4466 814/987/4467 -f 814/987/4468 817/979/4469 935/986/4470 -f 935/986/4471 817/979/4472 824/988/4473 -f 817/979/4474 747/980/4475 824/988/4476 -f 824/988/4477 747/980/4478 748/989/4479 -f 932/990/4480 933/991/4481 819/981/4482 -f 1019/992/4483 933/991/4484 818/993/4485 -f 819/981/4486 820/982/4487 932/990/4488 -f 932/990/4489 820/982/4490 930/994/4491 -f 820/982/4492 821/983/4493 930/994/4494 -f 930/994/4495 821/983/4496 931/995/4497 -f 965/996/4498 822/997/4499 966/998/4500 -f 966/998/4501 822/997/4502 929/999/4503 -f 823/1000/4504 928/1001/4505 822/997/4506 -f 822/997/4507 928/1001/4508 929/999/4509 -f 748/989/4510 767/1002/4511 824/988/4512 -f 824/988/4513 767/1002/4514 927/1003/4515 -f 825/1004/4516 827/1005/4517 826/1006/4518 -f 826/1006/4519 827/1005/4520 828/1007/4521 -f 827/1005/4522 830/1008/4523 828/1007/4524 -f 828/1007/4525 830/1008/4526 829/1009/4527 -f 830/1008/4528 832/1010/4529 829/1009/4530 -f 829/1009/4531 832/1010/4532 831/1011/4533 -f 833/1012/4534 826/1006/4535 834/1013/4536 -f 834/1013/4537 826/1006/4538 828/1007/4539 -f 829/1009/4540 835/1014/4541 828/1007/4542 -f 828/1007/4543 835/1014/4544 834/1013/4545 -f 831/1011/4546 836/1015/4547 829/1009/4548 -f 829/1009/4549 836/1015/4550 835/1014/4551 -f 831/1011/4552 838/1016/4553 836/1015/4554 -f 836/1015/4555 838/1016/4556 837/1017/4557 -f 838/1016/4558 840/1018/4559 837/1017/4560 -f 837/1017/4561 840/1018/4562 839/1019/4563 -f 841/1020/4564 750/1021/4565 842/1022/4566 -f 842/1022/4567 750/1021/4568 751/1023/4569 -f 920/1024/4570 833/1012/4571 863/1025/4572 -f 863/1025/4573 833/1012/4574 834/1013/4575 -f 835/1014/4576 864/1026/4577 834/1013/4578 -f 834/1013/4579 864/1026/4580 863/1025/4581 -f 836/1015/4582 865/1027/4583 835/1014/4584 -f 835/1014/4585 865/1027/4586 864/1026/4587 -f 837/1017/4588 866/1028/4589 836/1015/4590 -f 836/1015/4591 866/1028/4592 865/1027/4593 -f 837/1017/4594 839/1019/4595 866/1028/4596 -f 866/1028/4597 839/1019/4598 867/1029/4599 -f 842/1022/4600 751/1023/4601 868/1030/4602 -f 868/1030/4603 751/1023/4604 752/1031/4605 -f 904/1032/4606 818/993/4607 934/1033/4608 -f 934/1033/4609 818/993/4610 933/991/4611 -f 825/1004/4612 826/1006/4613 900/1034/4614 -f 900/1034/4615 826/1006/4616 901/1035/4617 -f 833/1012/4618 902/1036/4619 903/2571/4620 -f 843/1038/4621 845/921/4622 844/1039/4623 -f 904/1032/4624 905/1040/4625 861/1041/4626 -f 861/1041/4627 905/1040/4628 862/1042/4629 -f 905/1040/4630 906/1043/4631 862/1042/4632 -f 904/1032/4633 846/1044/4634 818/993/4635 -f 847/1045/4636 753/1046/4637 816/977/4638 -f 816/977/4639 753/1046/4640 746/978/4641 -f 948/1047/4642 947/1048/4643 964/1049/4644 -f 964/1049/4645 947/1048/4646 815/1050/4647 -f 848/1051/4648 849/1052/4649 811/973/4650 -f 811/973/4651 849/1052/4652 813/975/4653 -f 850/1053/4654 848/1051/4655 808/972/4656 -f 808/972/4657 848/1051/4658 811/973/4659 -f 851/1054/4660 850/1053/4661 807/970/4662 -f 807/970/4663 850/1053/4664 808/972/4665 -f 844/1039/4666 854/1055/4667 852/1056/4668 -f 852/1056/4669 854/1055/4670 853/1057/4671 -f 856/1058/4672 786/945/4673 785/947/4674 -f 786/945/4675 856/1058/4676 855/1059/4677 -f 785/947/4678 799/961/4679 856/1058/4680 -f 856/1058/4681 799/961/4682 857/1060/4683 -f 807/970/4684 859/1061/4685 858/1062/4686 -f 859/1061/4687 807/970/4688 806/969/4689 -f 860/1063/4690 807/970/4691 858/1062/4692 -f 807/970/4693 860/1063/4694 851/1054/4695 -f 784/943/4696 754/944/4697 795/956/4698 -f 795/956/4699 754/944/4700 744/959/4701 -f 783/942/4702 784/943/4703 796/955/4704 -f 796/955/4705 784/943/4706 795/956/4707 -f 781/940/4708 782/941/4709 792/951/4710 -f 792/951/4711 782/941/4712 794/953/4713 -f 780/939/4714 781/940/4715 790/949/4716 -f 790/949/4717 781/940/4718 792/951/4719 -f 779/938/4720 780/939/4721 787/946/4722 -f 787/946/4723 780/939/4724 790/949/4725 -f 854/1055/4726 779/938/4727 786/945/4728 -f 786/945/4729 779/938/4730 787/946/4731 -f 854/1055/4732 786/945/4733 853/1057/4734 -f 853/1057/4735 786/945/4736 855/1059/4737 -f 862/1064/4738 950/1065/4739 861/1066/4740 -f 861/1066/4741 950/1065/4742 949/1067/4743 -f 852/1068/4744 853/1069/4745 1020/1070/4746 -f 951/1071/4747 853/1069/4748 952/1072/4749 -f 855/1073/4750 856/1074/4751 953/1075/4752 -f 953/1075/4753 856/1074/4754 954/1076/4755 -f 856/1074/4756 857/1077/4757 954/1076/4758 -f 954/1076/4759 857/1077/4760 955/1078/4761 -f 859/1079/4762 957/1080/4763 858/1081/4764 -f 858/1081/4765 957/1080/4766 956/1082/4767 -f 861/1083/4768 949/1084/4769 859/1079/4770 -f 859/1079/4771 949/1084/4772 957/1080/4773 -f 858/1081/4774 956/1082/4775 860/1085/4776 -f 860/1085/4777 956/1082/4778 958/1086/4779 -f 853/1069/4780 855/1073/4781 952/1072/4782 -f 952/1072/4783 855/1073/4784 953/1075/4785 -f 861/1041/4786 846/1044/4787 904/1032/4788 -f 846/1044/4789 859/1061/4790 806/969/4791 -f 859/1061/4792 846/1044/4793 861/1041/4794 -f 862/1042/4795 906/1043/4796 926/1087/4797 -f 926/1087/4798 906/1043/4799 925/1088/4800 -f 950/1065/4801 862/1064/4802 959/1089/4803 -f 959/1089/4804 862/1064/4805 926/1090/4806 -f 843/1038/4807 844/1039/4808 852/1056/4809 -f 854/1055/4810 844/1039/4811 772/920/4812 -f 772/920/4813 844/1039/4814 845/921/4815 -f 773/925/4816 772/920/4817 941/927/4818 -f 941/927/4819 772/920/4820 940/922/4821 -f 863/1025/4822 864/1026/4823 869/1091/4824 -f 865/1027/4825 872/1092/4826 864/1026/4827 -f 864/1026/4828 872/1092/4829 869/1091/4830 -f 866/1028/4831 876/1093/4832 865/1027/4833 -f 865/1027/4834 876/1093/4835 872/1092/4836 -f 866/1028/4837 867/1029/4838 876/1093/4839 -f 876/1093/4840 867/1029/4841 878/1094/4842 -f 868/1030/4843 752/1031/4844 879/1095/4845 -f 879/1095/4846 752/1031/4847 755/1096/4848 -f 871/1097/4849 870/1098/4850 872/1092/4851 -f 872/1092/4852 870/1098/4853 869/1091/4854 -f 873/1099/4855 874/1100/4856 757/1101/4857 -f 757/1101/4858 874/1100/4859 758/1102/4860 -f 874/1100/4861 875/1103/4862 758/1102/4863 -f 758/1102/4864 875/1103/4865 759/1104/4866 -f 877/1105/4867 871/1097/4868 876/1093/4869 -f 876/1093/4870 871/1097/4871 872/1092/4872 -f 878/1094/4873 877/1105/4874 876/1093/4875 -f 755/1096/4876 759/1104/4877 879/1095/4878 -f 879/1095/4879 759/1104/4880 875/1103/4881 -f 877/1105/4882 880/1106/4883 871/1097/4884 -f 880/1106/4885 881/1107/4886 871/1097/4887 -f 871/1097/4888 881/1107/4889 870/1098/4890 -f 882/1108/4891 885/1109/4892 883/1110/4893 -f 883/1110/4894 885/1109/4895 884/1111/4896 -f 886/1112/4897 760/1113/4898 887/1114/4899 -f 887/1114/4900 760/1113/4901 761/1115/4902 -f 885/1109/4903 889/1116/4904 884/1111/4905 -f 884/1111/4906 889/1116/4907 888/1117/4908 -f 890/1118/4909 893/1119/4910 891/1120/4911 -f 891/1120/4912 893/1119/4913 892/1121/4914 -f 894/1122/4915 895/1123/4916 891/1120/4917 -f 891/1120/4918 895/1123/4919 890/1118/4920 -f 764/1124/4921 897/1125/4922 765/1126/4923 -f 765/1126/4924 897/1125/4925 896/1127/4926 -f 898/1128/4927 762/1129/4928 896/1127/4929 -f 896/1127/4930 762/1129/4931 765/1126/4932 -f 894/1122/4933 891/1120/4934 899/1130/4935 -f 899/1130/4936 891/1120/4937 892/1121/4938 -f 901/2574/4939 907/1131/4940 900/1034/4941 -f 903/1037/4942 907/1131/4943 901/2574/4944 -f 902/2572/4945 907/1131/4946 903/1037/4947 -f 907/1131/4948 902/2572/4949 909/1132/4950 -f 934/1033/4951 1017/1133/4952 904/1032/4953 -f 904/1032/4954 1017/1133/4955 905/1040/4956 -f 911/2566/4957 1002/1135/4958 909/1132/4959 -f 909/1132/4960 1002/1135/4961 907/1131/4962 -f 909/2568/4963 908/1136/4964 911/1134/4965 -f 910/1137/4966 908/1136/4967 909/2568/4968 -f 913/1138/4969 912/1139/4970 916/1140/4971 -f 916/1140/4972 912/1139/4973 917/1141/4974 -f 913/1138/4975 916/1140/4976 914/1142/4977 -f 914/1142/4978 916/1140/4979 918/1143/4980 -f 763/1144/4981 766/1145/4982 919/1146/4983 -f 919/1146/4984 766/1145/4985 915/1147/4986 -f 882/1108/4987 883/1110/4988 910/1137/4989 -f 910/1137/4990 883/1110/4991 908/1136/4992 -f 917/1141/4993 893/1119/4994 916/1140/4995 -f 916/1140/4996 893/1119/4997 890/1118/4998 -f 895/1123/4999 918/1143/5000 890/1118/5001 -f 890/1118/5002 918/1143/5003 916/1140/5004 -f 919/1146/5005 897/1125/5006 763/1144/5007 -f 763/1144/5008 897/1125/5009 764/1124/5010 -f 921/1148/5011 756/1149/5012 886/1112/5013 -f 886/1112/5014 756/1149/5015 760/1113/5016 -f 889/1116/5017 885/1109/5018 922/1150/5019 -f 922/1150/5020 885/1109/5021 923/1151/5022 -f 923/1151/5023 885/1109/5024 924/1152/5025 -f 924/1152/5026 885/1109/5027 882/1108/5028 -f 920/1024/5029 924/1152/5030 910/1137/5031 -f 910/1137/5032 924/1152/5033 882/1108/5034 -f 1019/992/5035 806/969/5036 809/971/5037 -f 846/1044/5038 1019/992/5039 818/993/5040 -f 924/1152/5041 869/1091/5042 923/1151/5043 -f 923/1151/5044 869/1091/5045 870/1098/5046 -f 923/1151/5047 870/1098/5048 922/1150/5049 -f 922/1150/5050 870/1098/5051 881/1107/5052 -f 757/1101/5053 756/1149/5054 873/1099/5055 -f 873/1099/5056 756/1149/5057 921/1148/5058 -f 826/1006/5059 833/1012/5060 901/1035/5061 -f 901/1035/5062 833/1012/5063 903/2571/5064 -f 902/1036/5065 833/1012/5066 920/1024/5067 -f 869/1091/5068 924/1152/5069 863/1025/5070 -f 863/1025/5071 924/1152/5072 920/1024/5073 -f 854/1055/5074 772/920/5075 779/938/5076 -f 779/938/5077 772/920/5078 773/925/5079 -f 925/1088/5080 976/1153/5081 843/1038/5082 -f 843/1038/5083 976/1153/5084 971/1154/5085 -f 926/1087/5086 925/1088/5087 852/1056/5088 -f 852/1056/5089 925/1088/5090 843/1038/5091 -f 852/1155/5092 1020/1156/5093 926/1090/5094 -f 926/1090/5095 951/1157/5096 959/1089/5097 -f 1017/1133/5098 934/1033/5099 907/1131/5100 -f 767/1002/5101 749/1158/5102 927/1003/5103 -f 927/1003/5104 749/1158/5105 936/1159/5106 -f 938/1160/5107 929/999/5108 937/1161/5109 -f 937/1161/5110 929/999/5111 928/1001/5112 -f 938/1160/5113 968/1162/5114 929/999/5115 -f 929/999/5116 968/1162/5117 966/998/5118 -f 930/994/5119 931/995/5120 830/1008/5121 -f 830/1008/5122 931/995/5123 832/1010/5124 -f 932/990/5125 930/994/5126 827/1005/5127 -f 827/1005/5128 930/994/5129 830/1008/5130 -f 969/1163/5131 1018/1164/5132 983/1165/5133 -f 843/1038/5134 969/1163/5135 939/923/5136 -f 939/923/5137 969/1163/5138 987/1166/5139 -f 987/1166/5140 993/1167/5141 939/923/5142 -f 939/923/5143 993/1167/5144 940/922/5145 -f 941/927/5146 940/922/5147 992/1168/5148 -f 992/1168/5149 940/922/5150 993/1167/5151 -f 942/926/5152 941/927/5153 989/1169/5154 -f 989/1169/5155 941/927/5156 992/1168/5157 -f 943/929/5158 942/926/5159 988/1170/5160 -f 988/1170/5161 942/926/5162 989/1169/5163 -f 944/931/5164 943/929/5165 990/1171/5166 -f 990/1171/5167 943/929/5168 988/1170/5169 -f 946/934/5170 945/935/5171 991/1172/5172 -f 991/1172/5173 945/935/5174 994/1173/5175 -f 769/937/5176 946/934/5177 742/1174/5178 -f 742/1174/5179 946/934/5180 991/1172/5181 -f 768/968/5182 753/1046/5183 805/967/5184 -f 805/967/5185 753/1046/5186 847/1045/5187 -f 804/966/5188 805/967/5189 947/1048/5190 -f 947/1048/5191 805/967/5192 847/1045/5193 -f 802/964/5194 803/965/5195 849/1052/5196 -f 849/1052/5197 803/965/5198 948/1047/5199 -f 801/963/5200 802/964/5201 848/1051/5202 -f 848/1051/5203 802/964/5204 849/1052/5205 -f 800/962/5206 801/963/5207 850/1053/5208 -f 850/1053/5209 801/963/5210 848/1051/5211 -f 799/961/5212 800/962/5213 851/1054/5214 -f 851/1054/5215 800/962/5216 850/1053/5217 -f 851/1054/5218 860/1063/5219 799/961/5220 -f 799/961/5221 860/1063/5222 857/1060/5223 -f 857/1077/5224 860/1085/5225 955/1078/5226 -f 955/1078/5227 860/1085/5228 958/1086/5229 -f 976/1153/5230 925/1088/5231 974/1175/5232 -f 974/1175/5233 925/1088/5234 906/1043/5235 -f 909/2568/5236 902/1036/5237 910/1137/5238 -f 910/1137/5239 902/1036/5240 920/1024/5241 -f 960/1176/5242 832/1010/5243 961/1177/5244 -f 961/1177/5245 832/1010/5246 931/995/5247 -f 821/983/5248 962/984/5249 931/995/5250 -f 931/995/5251 962/984/5252 961/1177/5253 -f 812/976/5254 963/985/5255 821/983/5256 -f 821/983/5257 963/985/5258 962/984/5259 -f 813/975/5260 964/1049/5261 812/976/5262 -f 812/976/5263 964/1049/5264 963/985/5265 -f 849/1052/5266 948/1047/5267 813/975/5268 -f 813/975/5269 948/1047/5270 964/1049/5271 -f 822/997/5272 965/996/5273 935/986/5274 -f 935/986/5275 965/996/5276 962/984/5277 -f 824/988/5278 823/1000/5279 935/986/5280 -f 935/986/5281 823/1000/5282 822/997/5283 -f 824/988/5284 927/1003/5285 823/1000/5286 -f 823/1000/5287 927/1003/5288 928/1001/5289 -f 966/998/5290 961/1177/5291 965/996/5292 -f 965/996/5293 961/1177/5294 962/984/5295 -f 936/1159/5296 937/1161/5297 927/1003/5298 -f 927/1003/5299 937/1161/5300 928/1001/5301 -f 936/1159/5302 967/1178/5303 937/1161/5304 -f 937/1161/5305 967/1178/5306 938/1160/5307 -f 938/1160/5308 967/1178/5309 968/1162/5310 -f 968/1162/5311 967/1178/5312 960/1176/5313 -f 960/1176/5314 961/1177/5315 968/1162/5316 -f 968/1162/5317 961/1177/5318 966/998/5319 -f 803/965/5320 804/966/5321 948/1047/5322 -f 948/1047/5323 804/966/5324 947/1048/5325 -f 793/954/5326 797/957/5327 803/965/5328 -f 803/965/5329 797/957/5330 804/966/5331 -f 794/953/5332 796/955/5333 793/954/5334 -f 793/954/5335 796/955/5336 797/957/5337 -f 782/941/5338 783/942/5339 794/953/5340 -f 794/953/5341 783/942/5342 796/955/5343 -f 776/930/5344 777/933/5345 782/941/5346 -f 782/941/5347 777/933/5348 783/942/5349 -f 777/933/5350 776/930/5351 945/935/5352 -f 945/935/5353 776/930/5354 944/931/5355 -f 945/935/5356 944/931/5357 994/1173/5358 -f 994/1173/5359 944/931/5360 990/1171/5361 -f 947/1048/5362 847/1045/5363 815/1050/5364 -f 815/1050/5365 847/1045/5366 816/977/5367 -f 840/1018/5368 841/1020/5369 839/1019/5370 -f 839/1019/5371 841/1020/5372 842/1022/5373 -f 839/1019/5374 842/1022/5375 867/1029/5376 -f 867/1029/5377 842/1022/5378 868/1030/5379 -f 867/1029/5380 868/1030/5381 878/1094/5382 -f 878/1094/5383 868/1030/5384 879/1095/5385 -f 879/1095/5386 875/1103/5387 878/1094/5388 -f 878/1094/5389 875/1103/5390 877/1105/5391 -f 875/1103/5392 874/1100/5393 877/1105/5394 -f 877/1105/5395 874/1100/5396 880/1106/5397 -f 874/1100/5398 873/1099/5399 880/1106/5400 -f 880/1106/5401 873/1099/5402 881/1107/5403 -f 873/1099/5404 921/1148/5405 881/1107/5406 -f 881/1107/5407 921/1148/5408 922/1150/5409 -f 886/1112/5410 889/1116/5411 921/1148/5412 -f 921/1148/5413 889/1116/5414 922/1150/5415 -f 889/1116/5416 886/1112/5417 888/1117/5418 -f 888/1117/5419 886/1112/5420 887/1114/5421 -f 896/1127/5422 894/1122/5423 898/1128/5424 -f 898/1128/5425 894/1122/5426 899/1130/5427 -f 897/1125/5428 895/1123/5429 896/1127/5430 -f 896/1127/5431 895/1123/5432 894/1122/5433 -f 897/1125/5434 919/1146/5435 895/1123/5436 -f 895/1123/5437 919/1146/5438 918/1143/5439 -f 914/1142/5440 918/1143/5441 915/1147/5442 -f 915/1147/5443 918/1143/5444 919/1146/5445 -f 841/1020/5446 840/1018/5447 936/1159/5448 -f 936/1159/5449 840/1018/5450 967/1178/5451 -f 750/1021/5452 841/1020/5453 749/1158/5454 -f 749/1158/5455 841/1020/5456 936/1159/5457 -f 840/1018/5458 838/1016/5459 967/1178/5460 -f 967/1178/5461 838/1016/5462 960/1176/5463 -f 832/1010/5464 960/1176/5465 831/1011/5466 -f 831/1011/5467 960/1176/5468 838/1016/5469 -f 932/990/5470 827/1005/5471 933/991/5472 -f 827/1005/5473 825/1004/5474 933/991/5475 -f 934/1033/5476 933/991/5477 900/1034/5478 -f 900/1034/5479 933/991/5480 825/1004/5481 -f 900/1034/5482 907/1131/5483 934/1033/5484 -f 1018/1164/5485 971/1154/5486 977/1179/5487 -f 939/923/5488 845/921/5489 843/1038/5490 -f 1017/1133/5491 907/1131/5492 1016/1180/5493 -f 1016/1180/5494 907/1131/5495 1002/1135/5496 -f 905/1040/5497 982/1181/5498 906/1043/5499 -f 906/1043/5500 982/1181/5501 974/1175/5502 -f 982/1182/5503 905/1040/5504 1003/1183/5505 -f 1018/1164/5506 977/1179/5507 979/1184/5508 -f 984/1185/5509 970/1186/5510 983/1165/5511 -f 983/1165/5512 970/1186/5513 969/1163/5514 -f 976/1153/5515 975/1187/5516 971/1154/5517 -f 971/1154/5518 975/1187/5519 972/1188/5520 -f 978/1189/5521 977/1179/5522 972/1188/5523 -f 972/1188/5524 977/1179/5525 971/1154/5526 -f 975/1187/5527 976/1153/5528 973/1190/5529 -f 973/1190/5530 976/1153/5531 974/1175/5532 -f 977/1179/5533 978/1189/5534 979/1184/5535 -f 979/1184/5536 978/1189/5537 980/1191/5538 -f 982/1181/5539 981/1192/5540 974/1175/5541 -f 974/1175/5542 981/1192/5543 973/1190/5544 -f 981/1193/5545 982/1182/5546 1004/1194/5547 -f 1004/1194/5548 982/1182/5549 1003/1183/5550 -f 983/1165/5551 986/1195/5552 984/1185/5553 -f 984/1185/5554 986/1195/5555 985/1196/5556 -f 988/1170/5557 989/1169/5558 995/1197/5559 -f 995/1197/5560 989/1169/5561 996/1198/5562 -f 990/1171/5563 988/1170/5564 997/1199/5565 -f 997/1199/5566 988/1170/5567 995/1197/5568 -f 742/1174/5569 991/1172/5570 770/1200/5571 -f 770/1200/5572 991/1172/5573 998/1201/5574 -f 989/1169/5575 992/1168/5576 996/1198/5577 -f 996/1198/5578 992/1168/5579 999/1202/5580 -f 992/1168/5581 993/1167/5582 999/1202/5583 -f 999/1202/5584 993/1167/5585 1000/1203/5586 -f 1000/1203/5587 993/1167/5588 970/1186/5589 -f 970/1186/5590 993/1167/5591 987/1166/5592 -f 970/1186/5593 987/1166/5594 969/1163/5595 -f 994/1173/5596 990/1171/5597 1001/1204/5598 -f 1001/1204/5599 990/1171/5600 997/1199/5601 -f 991/1172/5602 994/1173/5603 998/1201/5604 -f 998/1201/5605 994/1173/5606 1001/1204/5607 -f 908/1136/5608 917/1141/5609 911/1134/5610 -f 911/1134/5611 917/1141/5612 912/1139/5613 -f 887/1114/5614 761/1115/5615 898/1128/5616 -f 898/1128/5617 761/1115/5618 762/1129/5619 -f 888/1117/5620 887/1114/5621 899/1130/5622 -f 899/1130/5623 887/1114/5624 898/1128/5625 -f 884/1111/5626 888/1117/5627 892/1121/5628 -f 892/1121/5629 888/1117/5630 899/1130/5631 -f 883/1110/5632 884/1111/5633 893/1119/5634 -f 893/1119/5635 884/1111/5636 892/1121/5637 -f 883/1110/5638 893/1119/5639 908/1136/5640 -f 908/1136/5641 893/1119/5642 917/1141/5643 -f 986/1195/5644 983/1165/5645 1018/1164/5646 -f 986/1195/5647 979/1184/5648 985/1196/5649 -f 985/1196/5650 979/1184/5651 980/1191/5652 -f 986/1195/5653 1018/1164/5654 979/1184/5655 -f 1006/1205/5656 1005/1206/5657 912/1139/5658 -f 912/1139/5659 1005/1206/5660 911/1134/5661 -f 1007/1207/5662 1006/1205/5663 913/1138/5664 -f 913/1138/5665 1006/1205/5666 912/1139/5667 -f 1008/1208/5668 1007/1207/5669 914/1142/5670 -f 914/1142/5671 1007/1207/5672 913/1138/5673 -f 915/1147/5674 1009/1209/5675 914/1142/5676 -f 914/1142/5677 1009/1209/5678 1008/1208/5679 -f 766/1145/5680 771/1210/5681 915/1147/5682 -f 915/1147/5683 771/1210/5684 1009/1209/5685 -f 1015/1211/5686 1016/1180/5687 1010/1212/5688 -f 1010/1212/5689 1016/1180/5690 1002/1135/5691 -f 1010/1212/5692 1002/1135/5693 1005/2567/5694 -f 1005/2567/5695 1002/1135/5696 911/2566/5697 -f 815/1050/5698 814/987/5699 964/1049/5700 -f 964/1049/5701 814/987/5702 963/985/5703 -f 817/979/5704 814/987/5705 816/977/5706 -f 816/977/5707 814/987/5708 815/1050/5709 -f 1044/1213/5710 1045/1214/5711 970/1215/5712 -f 996/1216/5713 1023/1217/5714 995/1218/5715 -f 995/1218/5716 1023/1217/5717 1024/1219/5718 -f 997/1220/5719 995/1218/5720 1025/1221/5721 -f 1025/1221/5722 995/1218/5723 1024/1219/5724 -f 1027/1222/5725 1028/1223/5726 998/1224/5727 -f 998/1224/5728 1028/1223/5729 770/1225/5730 -f 1023/1217/5731 996/1216/5732 1022/1226/5733 -f 1022/1226/5734 996/1216/5735 999/1227/5736 -f 1022/1226/5737 1000/1228/5738 1021/1229/5739 -f 1000/1228/5740 1022/1226/5741 999/1227/5742 -f 972/1230/5743 1021/1229/5744 1045/1214/5745 -f 1045/1214/5746 1021/1229/5747 970/1215/5748 -f 970/1215/5749 1021/1229/5750 1000/1228/5751 -f 997/1220/5752 1025/1221/5753 1001/1231/5754 -f 1001/1231/5755 1025/1221/5756 1026/1232/5757 -f 1001/1231/5758 1026/1232/5759 998/1224/5760 -f 998/1224/5761 1026/1232/5762 1027/1222/5763 -f 1021/1229/5764 972/1230/5765 1012/1233/5766 -f 1012/1234/5767 972/1235/5768 1014/1236/5769 -f 955/1237/5770 959/1089/5771 954/1238/5772 -f 959/1089/5773 955/1237/5774 950/1065/5775 -f 955/1237/5776 958/1239/5777 950/1065/5778 -f 954/1238/5779 959/1089/5780 953/1240/5781 -f 953/1240/5782 959/1089/5783 952/1241/5784 -f 952/1241/5785 959/1089/5786 951/1157/5787 -f 958/1239/5788 956/1242/5789 950/1065/5790 -f 956/1242/5791 957/1243/5792 950/1065/5793 -f 950/1065/5794 957/1243/5795 949/1067/5796 -f 1011/1244/5797 1003/1183/5798 1015/1211/5799 -f 1015/1211/5800 1003/1183/5801 1016/1180/5802 -f 905/1040/5803 1017/1133/5804 1003/1183/5805 -f 1003/1183/5806 1017/1133/5807 1016/1180/5808 -f 1043/1245/5809 1044/1213/5810 984/1246/5811 -f 984/1246/5812 1044/1213/5813 970/1215/5814 -f 985/1247/5815 1043/1245/5816 984/1246/5817 -f 985/1247/5818 980/1248/5819 1043/1245/5820 -f 978/1249/5821 1046/1250/5822 980/1248/5823 -f 980/1248/5824 1046/1250/5825 1043/1245/5826 -f 1046/1250/5827 978/1249/5828 972/1230/5829 -f 969/1163/5830 843/1038/5831 1018/1164/5832 -f 843/1038/5833 971/1154/5834 1018/1164/5835 -f 806/969/5836 1019/992/5837 846/1044/5838 -f 1019/992/5839 809/971/5840 819/981/5841 -f 819/981/5842 933/991/5843 1019/992/5844 -f 1020/1070/5845 853/1069/5846 951/1071/5847 -f 926/1090/5848 1020/1156/5849 951/1157/5850 -f 1037/1251/5851 1013/1252/5852 1042/1253/5853 -f 1042/1253/5854 1013/1252/5855 1034/1254/5856 -f 1036/1255/5857 1014/1256/5858 1037/1251/5859 -f 1037/1251/5860 1014/1256/5861 1013/1252/5862 -f 1038/1257/5863 1030/1258/5864 1035/1259/5865 -f 1035/1259/5866 1030/1258/5867 1029/1260/5868 -f 1039/1261/5869 1031/1262/5870 1038/1257/5871 -f 1038/1257/5872 1031/1262/5873 1030/1258/5874 -f 1040/1263/5875 1032/1264/5876 1039/1261/5877 -f 1039/1261/5878 1032/1264/5879 1031/1262/5880 -f 1041/1265/5881 1033/1266/5882 1040/1263/5883 -f 1040/1263/5884 1033/1266/5885 1032/1264/5886 -f 1042/1253/5887 1034/1254/5888 1041/1265/5889 -f 1041/1265/5890 1034/1254/5891 1033/1266/5892 -f 1021/1229/5893 1012/1233/5894 1036/1255/5895 -f 1036/1255/5896 1012/1233/5897 1014/1256/5898 -f 1021/1229/5899 1036/1255/5900 1022/1226/5901 -f 1022/1226/5902 1036/1255/5903 1037/1251/5904 -f 1023/1217/5905 1022/1226/5906 1042/1253/5907 -f 1042/1253/5908 1022/1226/5909 1037/1251/5910 -f 1024/1219/5911 1023/1217/5912 1041/1265/5913 -f 1041/1265/5914 1023/1217/5915 1042/1253/5916 -f 1025/1221/5917 1024/1219/5918 1040/1263/5919 -f 1040/1263/5920 1024/1219/5921 1041/1265/5922 -f 1025/1221/5923 1040/1263/5924 1026/1232/5925 -f 1026/1232/5926 1040/1263/5927 1039/1261/5928 -f 1038/1257/5929 1027/1222/5930 1039/1261/5931 -f 1039/1261/5932 1027/1222/5933 1026/1232/5934 -f 1027/1222/5935 1038/1257/5936 1028/1223/5937 -f 1028/1223/5938 1038/1257/5939 1035/1259/5940 -f 972/1230/5941 1045/1214/5942 1046/1250/5943 -f 1046/1250/5944 1045/1214/5945 1047/1267/5946 -f 1047/1267/5947 1045/1214/5948 1048/1268/5949 -f 1049/1269/5950 1047/1267/5951 1050/1270/5952 -f 1050/1270/5953 1047/1267/5954 1048/1268/5955 -f 1049/1269/5956 1050/1270/5957 1043/1245/5958 -f 1043/1245/5959 1050/1270/5960 1044/1213/5961 -f 1050/1270/5962 1048/1268/5963 1044/1213/5964 -f 1044/1213/5965 1048/1268/5966 1045/1214/5967 -f 1043/1245/5968 1046/1250/5969 1049/1269/5970 -f 1049/1269/5971 1046/1250/5972 1047/1267/5973 -f 1051/1271/5974 1053/1272/5975 1052/1273/5976 -f 1053/1272/5977 1054/1274/5978 1052/1273/5979 -f 1055/1275/5980 1057/1276/5981 1056/1277/5982 -f 1057/1276/5983 1058/1278/5984 1056/1277/5985 -f 1059/1279/5986 1060/1280/5987 1055/1275/5988 -f 1060/1280/5989 1057/1276/5990 1055/1275/5991 -f 1061/1281/5992 1062/1282/5993 1059/1279/5994 -f 1062/1282/5995 1060/1280/5996 1059/1279/5997 -f 1063/1283/5998 1065/1284/5999 1064/1285/6000 -f 1065/1284/6001 1066/1286/6002 1064/1285/6003 -f 743/936/6004 769/937/6005 1063/1283/6006 -f 769/937/6007 1065/1284/6008 1063/1283/6009 -f 1056/1277/6010 1067/1287/6011 1055/1275/6012 -f 1067/1287/6013 1068/1288/6014 1055/1275/6015 -f 1055/1275/6016 1068/1288/6017 1059/1279/6018 -f 1068/1288/6019 1069/1289/6020 1059/1279/6021 -f 1059/1279/6022 1069/1289/6023 1061/1281/6024 -f 1069/1289/6025 1070/1290/6026 1061/1281/6027 -f 1071/1291/6028 1072/1292/6029 1064/1285/6030 -f 1072/1292/6031 1063/1283/6032 1064/1285/6033 -f 743/936/6034 1063/1283/6035 754/944/6036 -f 1063/1283/6037 1072/1292/6038 754/944/6039 -f 1073/1293/6040 1075/1294/6041 1074/1295/6042 -f 1075/1294/6043 1076/1296/6044 1074/1295/6045 -f 1074/1295/6046 1076/1296/6047 1077/1297/6048 -f 1076/1296/6049 1078/1298/6050 1077/1297/6051 -f 1077/1297/6052 1078/1298/6053 1079/1299/6054 -f 1078/1298/6055 1080/1300/6056 1079/1299/6057 -f 1079/1299/6058 1080/1300/6059 1081/1301/6060 -f 1080/1300/6061 1082/1302/6062 1081/1301/6063 -f 1083/1303/6064 1085/1304/6065 1084/1305/6066 -f 1085/1304/6067 1086/1306/6068 1084/1305/6069 -f 744/959/6070 1084/1305/6071 745/960/6072 -f 1084/1305/6073 1086/1306/6074 745/960/6075 -f 1075/1294/6076 1087/1307/6077 1076/1296/6078 -f 1087/1307/6079 1088/1308/6080 1076/1296/6081 -f 1076/1296/6082 1088/1308/6083 1078/1298/6084 -f 1088/1308/6085 1089/1309/6086 1078/1298/6087 -f 1078/1298/6088 1089/1309/6089 1080/1300/6090 -f 1089/1309/6091 1090/1310/6092 1080/1300/6093 -f 1080/1300/6094 1090/1310/6095 1082/1302/6096 -f 1090/1310/6097 1091/1311/6098 1082/1302/6099 -f 1085/1304/6100 1092/1312/6101 1086/1306/6102 -f 1092/1312/6103 1093/1313/6104 1086/1306/6105 -f 745/960/6106 1086/1306/6107 768/968/6108 -f 1086/1306/6109 1093/1313/6110 768/968/6111 -f 1094/1314/6112 1096/1315/6113 1095/1316/6114 -f 1096/1315/6115 1097/1317/6116 1095/1316/6117 -f 1098/1318/6118 1097/1317/6119 1099/1319/6120 -f 1097/1317/6121 1096/1315/6122 1099/1319/6123 -f 1098/1318/6124 1099/1319/6125 1100/1320/6126 -f 1099/1319/6127 1101/1321/6128 1100/1320/6129 -f 1102/1322/6130 1103/1323/6131 746/978/6132 -f 1103/1323/6133 747/980/6134 746/978/6135 -f 1104/1324/6136 1105/1325/6137 1096/1315/6138 -f 1105/1325/6139 1099/1319/6140 1096/1315/6141 -f 1105/1325/6142 1106/1326/6143 1099/1319/6144 -f 1106/1326/6145 1101/1321/6146 1099/1319/6147 -f 1107/1327/6148 1109/1328/6149 1108/1329/6150 -f 1109/1328/6151 1110/1330/6152 1108/1329/6153 -f 1110/1330/6154 1109/1328/6155 1103/1323/6156 -f 1109/1328/6157 1111/1331/6158 1103/1323/6159 -f 1103/1323/6160 1111/1331/6161 747/980/6162 -f 1111/1331/6163 748/989/6164 747/980/6165 -f 1112/1332/6166 1104/1324/6167 1113/1333/6168 -f 1114/1334/6169 1115/1335/6170 1113/1333/6171 -f 1104/1324/6172 1112/1332/6173 1105/1325/6174 -f 1112/1332/6175 1116/1336/6176 1105/1325/6177 -f 1105/1325/6178 1116/1336/6179 1106/1326/6180 -f 1116/1336/6181 1117/1337/6182 1106/1326/6183 -f 1118/1338/6184 1120/1339/6185 1119/1340/6186 -f 1120/1339/6187 1121/1341/6188 1119/1340/6189 -f 1122/1342/6190 1119/1340/6191 1123/1343/6192 -f 1119/1340/6193 1121/1341/6194 1123/1343/6195 -f 748/989/6196 1111/1331/6197 767/1002/6198 -f 1111/1331/6199 1124/1344/6200 767/1002/6201 -f 1125/1345/6202 1127/1346/6203 1126/1347/6204 -f 1127/1346/6205 1128/1348/6206 1126/1347/6207 -f 1126/1347/6208 1128/1348/6209 1129/1349/6210 -f 1128/1348/6211 1130/1350/6212 1129/1349/6213 -f 1129/1349/6214 1130/1350/6215 1131/1351/6216 -f 1130/1350/6217 1132/1352/6218 1131/1351/6219 -f 1133/1353/6220 1134/1354/6221 1127/1346/6222 -f 1134/1354/6223 1128/1348/6224 1127/1346/6225 -f 1130/1350/6226 1128/1348/6227 1135/1355/6228 -f 1128/1348/6229 1134/1354/6230 1135/1355/6231 -f 1132/1352/6232 1130/1350/6233 1136/1356/6234 -f 1130/1350/6235 1135/1355/6236 1136/1356/6237 -f 1132/1352/6238 1136/1356/6239 1137/1357/6240 -f 1136/1356/6241 1138/1358/6242 1137/1357/6243 -f 1137/1357/6244 1138/1358/6245 1139/1359/6246 -f 1138/1358/6247 1140/1360/6248 1139/1359/6249 -f 1141/1361/6250 1142/1362/6251 750/1021/6252 -f 1142/1362/6253 751/1023/6254 750/1021/6255 -f 1143/1363/6256 1144/1364/6257 1133/1353/6258 -f 1144/1364/6259 1134/1354/6260 1133/1353/6261 -f 1135/1355/6262 1134/1354/6263 1145/1365/6264 -f 1134/1354/6265 1144/1364/6266 1145/1365/6267 -f 1136/1356/6268 1135/1355/6269 1146/1366/6270 -f 1135/1355/6271 1145/1365/6272 1146/1366/6273 -f 1138/1358/6274 1136/1356/6275 1147/1367/6276 -f 1136/1356/6277 1146/1366/6278 1147/1367/6279 -f 1138/1358/6280 1147/1367/6281 1140/1360/6282 -f 1147/1367/6283 1148/1368/6284 1140/1360/6285 -f 1142/1362/6286 1149/1369/6287 751/1023/6288 -f 1149/1369/6289 752/1031/6290 751/1023/6291 -f 1150/1370/6292 1151/1371/6293 1115/1335/6294 -f 1151/1371/6295 1113/1333/6296 1115/1335/6297 -f 1125/1345/6298 1152/1372/6299 1127/1346/6300 -f 1152/1372/6301 1153/1373/6302 1127/1346/6303 -f 1133/1353/6304 1155/1374/6305 1154/1375/6306 -f 1156/1376/6307 1157/1377/6308 1052/1273/6309 -f 1150/1370/6310 1159/1378/6311 1158/1379/6312 -f 1159/1378/6313 1160/1380/6314 1158/1379/6315 -f 1158/1379/6316 1160/1380/6317 1161/1381/6318 -f 1150/1370/6319 1115/1335/6320 1162/1382/6321 -f 1163/1383/6322 1102/1322/6323 753/1046/6324 -f 1102/1322/6325 746/978/6326 753/1046/6327 -f 1164/1384/6328 1166/1385/6329 1165/1386/6330 -f 1166/1385/6331 1167/1387/6332 1165/1386/6333 -f 1168/1388/6334 1098/1318/6335 1169/1389/6336 -f 1098/1318/6337 1100/1320/6338 1169/1389/6339 -f 1170/1390/6340 1097/1317/6341 1168/1388/6342 -f 1097/1317/6343 1098/1318/6344 1168/1388/6345 -f 1171/1391/6346 1095/1316/6347 1170/1390/6348 -f 1095/1316/6349 1097/1317/6350 1170/1390/6351 -f 1157/1377/6352 1173/1392/6353 1172/1393/6354 -f 1173/1392/6355 1174/1394/6356 1172/1393/6357 -f 1175/1395/6358 1075/1294/6359 1073/1293/6360 -f 1073/1293/6361 1176/1396/6362 1175/1395/6363 -f 1075/1294/6364 1175/1395/6365 1087/1307/6366 -f 1175/1395/6367 1177/1397/6368 1087/1307/6369 -f 1095/1316/6370 1179/1398/6371 1178/1399/6372 -f 1178/1399/6373 1094/1314/6374 1095/1316/6375 -f 1180/1400/6376 1179/1398/6377 1095/1316/6378 -f 1095/1316/6379 1171/1391/6380 1180/1400/6381 -f 1072/1292/6382 1084/1305/6383 754/944/6384 -f 1084/1305/6385 744/959/6386 754/944/6387 -f 1071/1291/6388 1083/1303/6389 1072/1292/6390 -f 1083/1303/6391 1084/1305/6392 1072/1292/6393 -f 1069/1289/6394 1079/1299/6395 1070/1290/6396 -f 1079/1299/6397 1081/1301/6398 1070/1290/6399 -f 1068/1288/6400 1077/1297/6401 1069/1289/6402 -f 1077/1297/6403 1079/1299/6404 1069/1289/6405 -f 1067/1287/6406 1074/1295/6407 1068/1288/6408 -f 1074/1295/6409 1077/1297/6410 1068/1288/6411 -f 1172/1393/6412 1073/1293/6413 1067/1287/6414 -f 1073/1293/6415 1074/1295/6416 1067/1287/6417 -f 1172/1393/6418 1174/1394/6419 1073/1293/6420 -f 1174/1394/6421 1176/1396/6422 1073/1293/6423 -f 1160/1401/6424 1159/1402/6425 1181/1403/6426 -f 1159/1402/6427 1182/1404/6428 1181/1403/6429 -f 1173/1405/6430 1183/1406/6431 1174/1407/6432 -f 1184/1408/6433 1185/1409/6434 1174/1407/6435 -f 1176/1410/6436 1186/1411/6437 1175/1412/6438 -f 1186/1411/6439 1187/1413/6440 1175/1412/6441 -f 1175/1412/6442 1187/1413/6443 1177/1414/6444 -f 1187/1413/6445 1188/1415/6446 1177/1414/6447 -f 1178/1416/6448 1179/1417/6449 1189/1418/6450 -f 1179/1417/6451 1190/1419/6452 1189/1418/6453 -f 1159/1420/6454 1178/1416/6455 1182/1421/6456 -f 1178/1416/6457 1189/1418/6458 1182/1421/6459 -f 1179/1417/6460 1180/1422/6461 1190/1419/6462 -f 1180/1422/6463 1191/1423/6464 1190/1419/6465 -f 1174/1407/6466 1185/1409/6467 1176/1410/6468 -f 1185/1409/6469 1186/1411/6470 1176/1410/6471 -f 1159/1378/6472 1150/1370/6473 1162/1382/6474 -f 1162/1382/6475 1094/1314/6476 1178/1399/6477 -f 1178/1399/6478 1159/1378/6479 1162/1382/6480 -f 1160/1380/6481 1192/1424/6482 1161/1381/6483 -f 1192/1424/6484 1193/1425/6485 1161/1381/6486 -f 1181/1403/6487 1194/1426/6488 1160/1401/6489 -f 1194/1426/6490 1192/1427/6491 1160/1401/6492 -f 1156/1376/6493 1173/1392/6494 1157/1377/6495 -f 1172/1393/6496 1051/1271/6497 1157/1377/6498 -f 1051/1271/6499 1052/1273/6500 1157/1377/6501 -f 1056/1277/6502 1058/1278/6503 1051/1271/6504 -f 1058/1278/6505 1053/1272/6506 1051/1271/6507 -f 1144/1364/6508 1195/1428/6509 1145/1365/6510 -f 1146/1366/6511 1145/1365/6512 1196/1429/6513 -f 1145/1365/6514 1195/1428/6515 1196/1429/6516 -f 1147/1367/6517 1146/1366/6518 1197/1430/6519 -f 1146/1366/6520 1196/1429/6521 1197/1430/6522 -f 1147/1367/6523 1197/1430/6524 1148/1368/6525 -f 1197/1430/6526 1198/1431/6527 1148/1368/6528 -f 1149/1369/6529 1199/1432/6530 752/1031/6531 -f 1199/1432/6532 755/1096/6533 752/1031/6534 -f 1200/1433/6535 1196/1429/6536 1201/1434/6537 -f 1196/1429/6538 1195/1428/6539 1201/1434/6540 -f 1202/1435/6541 757/1101/6542 1203/1436/6543 -f 757/1101/6544 758/1102/6545 1203/1436/6546 -f 1203/1436/6547 758/1102/6548 1204/1437/6549 -f 758/1102/6550 759/1104/6551 1204/1437/6552 -f 1205/1438/6553 1197/1430/6554 1200/1433/6555 -f 1197/1430/6556 1196/1429/6557 1200/1433/6558 -f 1198/1431/6559 1197/1430/6560 1205/1438/6561 -f 755/1096/6562 1199/1432/6563 759/1104/6564 -f 1199/1432/6565 1204/1437/6566 759/1104/6567 -f 1205/1438/6568 1200/1433/6569 1206/1439/6570 -f 1206/1439/6571 1200/1433/6572 1207/1440/6573 -f 1200/1433/6574 1201/1434/6575 1207/1440/6576 -f 1208/1441/6577 1210/1442/6578 1209/1443/6579 -f 1210/1442/6580 1211/1444/6581 1209/1443/6582 -f 1212/1445/6583 1213/1446/6584 760/1113/6585 -f 1213/1446/6586 761/1115/6587 760/1113/6588 -f 1209/1443/6589 1211/1444/6590 1214/1447/6591 -f 1211/1444/6592 1215/1448/6593 1214/1447/6594 -f 1216/1449/6595 1218/1450/6596 1217/1451/6597 -f 1218/1450/6598 1219/1452/6599 1217/1451/6600 -f 1220/1453/6601 1218/1450/6602 1221/1454/6603 -f 1218/1450/6604 1216/1449/6605 1221/1454/6606 -f 764/1124/6607 765/1126/6608 1222/1455/6609 -f 765/1126/6610 1223/1456/6611 1222/1455/6612 -f 1224/1457/6613 1223/1456/6614 762/1129/6615 -f 1223/1456/6616 765/1126/6617 762/1129/6618 -f 1220/1453/6619 1225/1458/6620 1218/1450/6621 -f 1225/1458/6622 1219/1452/6623 1218/1450/6624 -f 1153/2573/6625 1152/1372/6626 1226/1459/6627 -f 1155/2569/6628 1153/2573/6629 1226/1459/6630 -f 1154/2570/6631 1155/2569/6632 1226/1459/6633 -f 1226/1459/6634 1227/2565/6635 1154/2570/6636 -f 1151/1371/6637 1150/1370/6638 1228/1461/6639 -f 1150/1370/6640 1158/1379/6641 1228/1461/6642 -f 1229/1462/6643 1227/2565/6644 1230/1463/6645 -f 1227/2565/6646 1226/1459/6647 1230/1463/6648 -f 1227/1460/6649 1229/2563/6650 1231/1464/6651 -f 1232/1465/6652 1227/1460/6653 1231/1464/6654 -f 1233/1466/6655 1235/1467/6656 1234/1468/6657 -f 1235/1467/6658 1236/1469/6659 1234/1468/6660 -f 1233/1466/6661 1237/1470/6662 1235/1467/6663 -f 1237/1470/6664 1238/1471/6665 1235/1467/6666 -f 763/1144/6667 1239/1472/6668 766/1145/6669 -f 1239/1472/6670 1240/1473/6671 766/1145/6672 -f 1208/1441/6673 1232/1465/6674 1210/1442/6675 -f 1232/1465/6676 1231/1464/6677 1210/1442/6678 -f 1236/1469/6679 1235/1467/6680 1217/1451/6681 -f 1235/1467/6682 1216/1449/6683 1217/1451/6684 -f 1221/1454/6685 1216/1449/6686 1238/1471/6687 -f 1216/1449/6688 1235/1467/6689 1238/1471/6690 -f 1239/1472/6691 763/1144/6692 1222/1455/6693 -f 763/1144/6694 764/1124/6695 1222/1455/6696 -f 1241/1474/6697 1212/1445/6698 756/1149/6699 -f 1212/1445/6700 760/1113/6701 756/1149/6702 -f 1214/1447/6703 1242/1475/6704 1209/1443/6705 -f 1242/1475/6706 1243/1476/6707 1209/1443/6708 -f 1243/1476/6709 1244/1477/6710 1209/1443/6711 -f 1244/1477/6712 1208/1441/6713 1209/1443/6714 -f 1143/1363/6715 1232/1465/6716 1244/1477/6717 -f 1232/1465/6718 1208/1441/6719 1244/1477/6720 -f 1114/1334/6721 1096/1315/6722 1094/1314/6723 -f 1162/1382/6724 1115/1335/6725 1114/1334/6726 -f 1244/1477/6727 1243/1476/6728 1195/1428/6729 -f 1243/1476/6730 1201/1434/6731 1195/1428/6732 -f 1243/1476/6733 1242/1475/6734 1201/1434/6735 -f 1242/1475/6736 1207/1440/6737 1201/1434/6738 -f 757/1101/6739 1202/1435/6740 756/1149/6741 -f 1202/1435/6742 1241/1474/6743 756/1149/6744 -f 1127/1346/6745 1153/1373/6746 1133/1353/6747 -f 1153/1373/6748 1155/1374/6749 1133/1353/6750 -f 1154/1375/6751 1143/1363/6752 1133/1353/6753 -f 1195/1428/6754 1144/1364/6755 1244/1477/6756 -f 1144/1364/6757 1143/1363/6758 1244/1477/6759 -f 1172/1393/6760 1067/1287/6761 1051/1271/6762 -f 1067/1287/6763 1056/1277/6764 1051/1271/6765 -f 1193/1425/6766 1156/1376/6767 1245/1478/6768 -f 1156/1376/6769 1246/1479/6770 1245/1478/6771 -f 1192/1424/6772 1173/1392/6773 1193/1425/6774 -f 1173/1392/6775 1156/1376/6776 1193/1425/6777 -f 1173/1480/6778 1192/1427/6779 1183/1481/6780 -f 1192/1427/6781 1194/1426/6782 1184/1482/6783 -f 1228/1461/6784 1226/1459/6785 1151/1371/6786 -f 767/1002/6787 1124/1344/6788 749/1158/6789 -f 1124/1344/6790 1247/1483/6791 749/1158/6792 -f 1248/1484/6793 1249/1485/6794 1121/1341/6795 -f 1249/1485/6796 1123/1343/6797 1121/1341/6798 -f 1248/1484/6799 1121/1341/6800 1250/1486/6801 -f 1121/1341/6802 1120/1339/6803 1250/1486/6804 -f 1116/1336/6805 1129/1349/6806 1117/1337/6807 -f 1129/1349/6808 1131/1351/6809 1117/1337/6810 -f 1112/1332/6811 1126/1347/6812 1116/1336/6813 -f 1126/1347/6814 1129/1349/6815 1116/1336/6816 -f 1251/1487/6817 1253/1488/6818 1252/1489/6819 -f 1156/1376/6820 1054/1274/6821 1251/1487/6822 -f 1054/1274/6823 1254/1490/6824 1251/1487/6825 -f 1254/1490/6826 1054/1274/6827 1255/1491/6828 -f 1054/1274/6829 1053/1272/6830 1255/1491/6831 -f 1058/1278/6832 1256/1492/6833 1053/1272/6834 -f 1256/1492/6835 1255/1491/6836 1053/1272/6837 -f 1057/1276/6838 1257/1493/6839 1058/1278/6840 -f 1257/1493/6841 1256/1492/6842 1058/1278/6843 -f 1060/1280/6844 1258/1494/6845 1057/1276/6846 -f 1258/1494/6847 1257/1493/6848 1057/1276/6849 -f 1062/1282/6850 1259/1495/6851 1060/1280/6852 -f 1259/1495/6853 1258/1494/6854 1060/1280/6855 -f 1065/1284/6856 1260/1496/6857 1066/1286/6858 -f 1260/1496/6859 1261/1497/6860 1066/1286/6861 -f 769/937/6862 742/1174/6863 1065/1284/6864 -f 742/1174/6865 1260/1496/6866 1065/1284/6867 -f 768/968/6868 1093/1313/6869 753/1046/6870 -f 1093/1313/6871 1163/1383/6872 753/1046/6873 -f 1092/1312/6874 1165/1386/6875 1093/1313/6876 -f 1165/1386/6877 1163/1383/6878 1093/1313/6879 -f 1090/1310/6880 1169/1389/6881 1091/1311/6882 -f 1169/1389/6883 1164/1384/6884 1091/1311/6885 -f 1089/1309/6886 1168/1388/6887 1090/1310/6888 -f 1168/1388/6889 1169/1389/6890 1090/1310/6891 -f 1088/1308/6892 1170/1390/6893 1089/1309/6894 -f 1170/1390/6895 1168/1388/6896 1089/1309/6897 -f 1087/1307/6898 1171/1391/6899 1088/1308/6900 -f 1171/1391/6901 1170/1390/6902 1088/1308/6903 -f 1171/1391/6904 1087/1307/6905 1180/1400/6906 -f 1087/1307/6907 1177/1397/6908 1180/1400/6909 -f 1177/1414/6910 1188/1415/6911 1180/1422/6912 -f 1188/1415/6913 1191/1423/6914 1180/1422/6915 -f 1245/1478/6916 1262/1498/6917 1193/1425/6918 -f 1262/1498/6919 1161/1381/6920 1193/1425/6921 -f 1227/1460/6922 1232/1465/6923 1154/1375/6924 -f 1232/1465/6925 1143/1363/6926 1154/1375/6927 -f 1263/1499/6928 1264/1500/6929 1131/1351/6930 -f 1264/1500/6931 1117/1337/6932 1131/1351/6933 -f 1106/1326/6934 1117/1337/6935 1107/1327/6936 -f 1117/1337/6937 1264/1500/6938 1107/1327/6939 -f 1101/1321/6940 1106/1326/6941 1108/1329/6942 -f 1106/1326/6943 1107/1327/6944 1108/1329/6945 -f 1100/1320/6946 1101/1321/6947 1166/1385/6948 -f 1101/1321/6949 1108/1329/6950 1166/1385/6951 -f 1169/1389/6952 1100/1320/6953 1164/1384/6954 -f 1100/1320/6955 1166/1385/6956 1164/1384/6957 -f 1119/1340/6958 1109/1328/6959 1118/1338/6960 -f 1109/1328/6961 1107/1327/6962 1118/1338/6963 -f 1111/1331/6964 1109/1328/6965 1122/1342/6966 -f 1109/1328/6967 1119/1340/6968 1122/1342/6969 -f 1111/1331/6970 1122/1342/6971 1124/1344/6972 -f 1122/1342/6973 1123/1343/6974 1124/1344/6975 -f 1120/1339/6976 1118/1338/6977 1264/1500/6978 -f 1118/1338/6979 1107/1327/6980 1264/1500/6981 -f 1247/1483/6982 1124/1344/6983 1249/1485/6984 -f 1124/1344/6985 1123/1343/6986 1249/1485/6987 -f 1247/1483/6988 1249/1485/6989 1265/1501/6990 -f 1249/1485/6991 1248/1484/6992 1265/1501/6993 -f 1248/1484/6994 1250/1486/6995 1265/1501/6996 -f 1250/1486/6997 1263/1499/6998 1265/1501/6999 -f 1263/1499/7000 1250/1486/7001 1264/1500/7002 -f 1250/1486/7003 1120/1339/7004 1264/1500/7005 -f 1091/1311/7006 1164/1384/7007 1092/1312/7008 -f 1164/1384/7009 1165/1386/7010 1092/1312/7011 -f 1082/1302/7012 1091/1311/7013 1085/1304/7014 -f 1091/1311/7015 1092/1312/7016 1085/1304/7017 -f 1081/1301/7018 1082/1302/7019 1083/1303/7020 -f 1082/1302/7021 1085/1304/7022 1083/1303/7023 -f 1070/1290/7024 1081/1301/7025 1071/1291/7026 -f 1081/1301/7027 1083/1303/7028 1071/1291/7029 -f 1061/1281/7030 1070/1290/7031 1064/1285/7032 -f 1070/1290/7033 1071/1291/7034 1064/1285/7035 -f 1064/1285/7036 1066/1286/7037 1061/1281/7038 -f 1066/1286/7039 1062/1282/7040 1061/1281/7041 -f 1066/1286/7042 1261/1497/7043 1062/1282/7044 -f 1261/1497/7045 1259/1495/7046 1062/1282/7047 -f 1165/1386/7048 1167/1387/7049 1163/1383/7050 -f 1167/1387/7051 1102/1322/7052 1163/1383/7053 -f 1139/1359/7054 1140/1360/7055 1141/1361/7056 -f 1140/1360/7057 1142/1362/7058 1141/1361/7059 -f 1140/1360/7060 1148/1368/7061 1142/1362/7062 -f 1148/1368/7063 1149/1369/7064 1142/1362/7065 -f 1148/1368/7066 1198/1431/7067 1149/1369/7068 -f 1198/1431/7069 1199/1432/7070 1149/1369/7071 -f 1199/1432/7072 1198/1431/7073 1204/1437/7074 -f 1198/1431/7075 1205/1438/7076 1204/1437/7077 -f 1204/1437/7078 1205/1438/7079 1203/1436/7080 -f 1205/1438/7081 1206/1439/7082 1203/1436/7083 -f 1203/1436/7084 1206/1439/7085 1202/1435/7086 -f 1206/1439/7087 1207/1440/7088 1202/1435/7089 -f 1202/1435/7090 1207/1440/7091 1241/1474/7092 -f 1207/1440/7093 1242/1475/7094 1241/1474/7095 -f 1212/1445/7096 1241/1474/7097 1214/1447/7098 -f 1241/1474/7099 1242/1475/7100 1214/1447/7101 -f 1214/1447/7102 1215/1448/7103 1212/1445/7104 -f 1215/1448/7105 1213/1446/7106 1212/1445/7107 -f 1223/1456/7108 1224/1457/7109 1220/1453/7110 -f 1224/1457/7111 1225/1458/7112 1220/1453/7113 -f 1222/1455/7114 1223/1456/7115 1221/1454/7116 -f 1223/1456/7117 1220/1453/7118 1221/1454/7119 -f 1222/1455/7120 1221/1454/7121 1239/1472/7122 -f 1221/1454/7123 1238/1471/7124 1239/1472/7125 -f 1237/1470/7126 1240/1473/7127 1238/1471/7128 -f 1240/1473/7129 1239/1472/7130 1238/1471/7131 -f 1141/1361/7132 1247/1483/7133 1139/1359/7134 -f 1247/1483/7135 1265/1501/7136 1139/1359/7137 -f 750/1021/7138 749/1158/7139 1141/1361/7140 -f 749/1158/7141 1247/1483/7142 1141/1361/7143 -f 1139/1359/7144 1265/1501/7145 1137/1357/7146 -f 1265/1501/7147 1263/1499/7148 1137/1357/7149 -f 1131/1351/7150 1132/1352/7151 1263/1499/7152 -f 1132/1352/7153 1137/1357/7154 1263/1499/7155 -f 1112/1332/7156 1113/1333/7157 1126/1347/7158 -f 1126/1347/7159 1113/1333/7160 1125/1345/7161 -f 1151/1371/7162 1152/1372/7163 1113/1333/7164 -f 1152/1372/7165 1125/1345/7166 1113/1333/7167 -f 1152/1372/7168 1151/1371/7169 1226/1459/7170 -f 1252/1489/7171 1266/1502/7172 1246/1479/7173 -f 1054/1274/7174 1156/1376/7175 1052/1273/7176 -f 1228/1461/7177 1267/1503/7178 1226/1459/7179 -f 1267/1503/7180 1230/1463/7181 1226/1459/7182 -f 1158/1379/7183 1161/1381/7184 1268/1504/7185 -f 1161/1381/7186 1262/1498/7187 1268/1504/7188 -f 1268/1505/7189 1269/1506/7190 1158/1379/7191 -f 1252/1489/7192 1270/1507/7193 1266/1502/7194 -f 1271/1508/7195 1253/1488/7196 1272/1509/7197 -f 1253/1488/7198 1251/1487/7199 1272/1509/7200 -f 1245/1478/7201 1246/1479/7202 1273/1510/7203 -f 1246/1479/7204 1274/1511/7205 1273/1510/7206 -f 1275/1512/7207 1274/1511/7208 1266/1502/7209 -f 1274/1511/7210 1246/1479/7211 1266/1502/7212 -f 1273/1510/7213 1276/1513/7214 1245/1478/7215 -f 1276/1513/7216 1262/1498/7217 1245/1478/7218 -f 1266/1502/7219 1270/1507/7220 1275/1512/7221 -f 1270/1507/7222 1277/1514/7223 1275/1512/7224 -f 1268/1504/7225 1262/1498/7226 1278/1515/7227 -f 1262/1498/7228 1276/1513/7229 1278/1515/7230 -f 1278/1516/7231 1279/1517/7232 1268/1505/7233 -f 1279/1517/7234 1269/1506/7235 1268/1505/7236 -f 1253/1488/7237 1271/1508/7238 1280/1518/7239 -f 1271/1508/7240 1281/1519/7241 1280/1518/7242 -f 1258/1494/7243 1282/1520/7244 1257/1493/7245 -f 1282/1520/7246 1283/1521/7247 1257/1493/7248 -f 1259/1495/7249 1284/1522/7250 1258/1494/7251 -f 1284/1522/7252 1282/1520/7253 1258/1494/7254 -f 742/1174/7255 770/1200/7256 1260/1496/7257 -f 770/1200/7258 1285/1523/7259 1260/1496/7260 -f 1257/1493/7261 1283/1521/7262 1256/1492/7263 -f 1283/1521/7264 1286/1524/7265 1256/1492/7266 -f 1256/1492/7267 1286/1524/7268 1255/1491/7269 -f 1286/1524/7270 1287/1525/7271 1255/1491/7272 -f 1287/1525/7273 1272/1509/7274 1255/1491/7275 -f 1272/1509/7276 1254/1490/7277 1255/1491/7278 -f 1272/1509/7279 1251/1487/7280 1254/1490/7281 -f 1261/1497/7282 1288/1526/7283 1259/1495/7284 -f 1288/1526/7285 1284/1522/7286 1259/1495/7287 -f 1260/1496/7288 1285/1523/7289 1261/1497/7290 -f 1285/1523/7291 1288/1526/7292 1261/1497/7293 -f 1231/1464/7294 1229/2563/7295 1236/1469/7296 -f 1229/2563/7297 1234/1468/7298 1236/1469/7299 -f 1213/1446/7300 1224/1457/7301 761/1115/7302 -f 1224/1457/7303 762/1129/7304 761/1115/7305 -f 1215/1448/7306 1225/1458/7307 1213/1446/7308 -f 1225/1458/7309 1224/1457/7310 1213/1446/7311 -f 1211/1444/7312 1219/1452/7313 1215/1448/7314 -f 1219/1452/7315 1225/1458/7316 1215/1448/7317 -f 1210/1442/7318 1217/1451/7319 1211/1444/7320 -f 1217/1451/7321 1219/1452/7322 1211/1444/7323 -f 1210/1442/7324 1231/1464/7325 1217/1451/7326 -f 1231/1464/7327 1236/1469/7328 1217/1451/7329 -f 1280/1518/7330 1252/1489/7331 1253/1488/7332 -f 1280/1518/7333 1281/1519/7334 1270/1507/7335 -f 1281/1519/7336 1277/1514/7337 1270/1507/7338 -f 1280/1518/7339 1270/1507/7340 1252/1489/7341 -f 1289/1527/7342 1234/1468/7343 1290/2564/7344 -f 1234/1468/7345 1229/2563/7346 1290/2564/7347 -f 1291/1529/7348 1233/1466/7349 1289/1527/7350 -f 1233/1466/7351 1234/1468/7352 1289/1527/7353 -f 1292/1530/7354 1237/1470/7355 1291/1529/7356 -f 1237/1470/7357 1233/1466/7358 1291/1529/7359 -f 1240/1473/7360 1237/1470/7361 1293/1531/7362 -f 1237/1470/7363 1292/1530/7364 1293/1531/7365 -f 766/1145/7366 1240/1473/7367 771/1210/7368 -f 1240/1473/7369 1293/1531/7370 771/1210/7371 -f 1294/1532/7372 1295/1533/7373 1267/1503/7374 -f 1295/1533/7375 1230/1463/7376 1267/1503/7377 -f 1295/1533/7378 1290/1528/7379 1230/1463/7380 -f 1290/1528/7381 1229/1462/7382 1230/1463/7383 -f 1167/1387/7384 1166/1385/7385 1110/1330/7386 -f 1166/1385/7387 1108/1329/7388 1110/1330/7389 -f 1103/1323/7390 1102/1322/7391 1110/1330/7392 -f 1102/1322/7393 1167/1387/7394 1110/1330/7395 -f 1296/1534/7396 1272/1535/7397 1297/1536/7398 -f 1283/1537/7399 1282/1538/7400 1298/1539/7401 -f 1282/1538/7402 1299/1540/7403 1298/1539/7404 -f 1284/1541/7405 1300/1542/7406 1282/1538/7407 -f 1300/1542/7408 1299/1540/7409 1282/1538/7410 -f 1301/1543/7411 1285/1544/7412 1028/1223/7413 -f 1285/1544/7414 770/1225/7415 1028/1223/7416 -f 1298/1539/7417 1302/1545/7418 1283/1537/7419 -f 1302/1545/7420 1286/1546/7421 1283/1537/7422 -f 1302/1545/7423 1303/1547/7424 1287/1548/7425 -f 1287/1548/7426 1286/1546/7427 1302/1545/7428 -f 1274/1549/7429 1297/1536/7430 1303/1547/7431 -f 1297/1536/7432 1272/1535/7433 1303/1547/7434 -f 1272/1535/7435 1287/1548/7436 1303/1547/7437 -f 1284/1541/7438 1288/1550/7439 1300/1542/7440 -f 1288/1550/7441 1304/1551/7442 1300/1542/7443 -f 1288/1550/7444 1285/1544/7445 1304/1551/7446 -f 1285/1544/7447 1301/1543/7448 1304/1551/7449 -f 1303/1547/7450 1305/1552/7451 1274/1549/7452 -f 1305/1553/7453 1306/1554/7454 1274/1555/7455 -f 1188/1556/7456 1187/1557/7457 1194/1426/7458 -f 1194/1426/7459 1181/1403/7460 1188/1556/7461 -f 1188/1556/7462 1181/1403/7463 1191/1558/7464 -f 1187/1557/7465 1186/1559/7466 1194/1426/7467 -f 1186/1559/7468 1185/1560/7469 1194/1426/7470 -f 1185/1560/7471 1184/1482/7472 1194/1426/7473 -f 1191/1558/7474 1181/1403/7475 1190/1561/7476 -f 1190/1561/7477 1181/1403/7478 1189/1562/7479 -f 1181/1403/7480 1182/1404/7481 1189/1562/7482 -f 1307/1563/7483 1294/1532/7484 1269/1506/7485 -f 1294/1532/7486 1267/1503/7487 1269/1506/7488 -f 1158/1379/7489 1269/1506/7490 1228/1461/7491 -f 1269/1506/7492 1267/1503/7493 1228/1461/7494 -f 1308/1564/7495 1271/1565/7496 1296/1534/7497 -f 1271/1565/7498 1272/1535/7499 1296/1534/7500 -f 1281/1566/7501 1271/1565/7502 1308/1564/7503 -f 1281/1566/7504 1308/1564/7505 1277/1567/7506 -f 1275/1568/7507 1277/1567/7508 1309/1569/7509 -f 1277/1567/7510 1308/1564/7511 1309/1569/7512 -f 1309/1569/7513 1274/1549/7514 1275/1568/7515 -f 1251/1487/7516 1252/1489/7517 1156/1376/7518 -f 1156/1376/7519 1252/1489/7520 1246/1479/7521 -f 1094/1314/7522 1162/1382/7523 1114/1334/7524 -f 1114/1334/7525 1104/1324/7526 1096/1315/7527 -f 1104/1324/7528 1114/1334/7529 1113/1333/7530 -f 1183/1406/7531 1184/1408/7532 1174/1407/7533 -f 1192/1427/7534 1184/1482/7535 1183/1481/7536 -f 1310/1570/7537 1312/1571/7538 1311/1572/7539 -f 1312/1571/7540 1313/1573/7541 1311/1572/7542 -f 1314/1574/7543 1310/1570/7544 1306/1575/7545 -f 1310/1570/7546 1311/1572/7547 1306/1575/7548 -f 1315/1576/7549 1035/1259/7550 1316/1577/7551 -f 1035/1259/7552 1029/1260/7553 1316/1577/7554 -f 1317/1578/7555 1315/1576/7556 1318/1579/7557 -f 1315/1576/7558 1316/1577/7559 1318/1579/7560 -f 1319/1580/7561 1317/1578/7562 1320/1581/7563 -f 1317/1578/7564 1318/1579/7565 1320/1581/7566 -f 1321/1582/7567 1319/1580/7568 1322/1583/7569 -f 1319/1580/7570 1320/1581/7571 1322/1583/7572 -f 1312/1571/7573 1321/1582/7574 1313/1573/7575 -f 1321/1582/7576 1322/1583/7577 1313/1573/7578 -f 1303/1547/7579 1314/1574/7580 1305/1552/7581 -f 1314/1574/7582 1306/1575/7583 1305/1552/7584 -f 1303/1547/7585 1302/1545/7586 1314/1574/7587 -f 1302/1545/7588 1310/1570/7589 1314/1574/7590 -f 1298/1539/7591 1312/1571/7592 1302/1545/7593 -f 1312/1571/7594 1310/1570/7595 1302/1545/7596 -f 1299/1540/7597 1321/1582/7598 1298/1539/7599 -f 1321/1582/7600 1312/1571/7601 1298/1539/7602 -f 1300/1542/7603 1319/1580/7604 1299/1540/7605 -f 1319/1580/7606 1321/1582/7607 1299/1540/7608 -f 1300/1542/7609 1304/1551/7610 1319/1580/7611 -f 1304/1551/7612 1317/1578/7613 1319/1580/7614 -f 1315/1576/7615 1317/1578/7616 1301/1543/7617 -f 1317/1578/7618 1304/1551/7619 1301/1543/7620 -f 1301/1543/7621 1028/1223/7622 1315/1576/7623 -f 1028/1223/7624 1035/1259/7625 1315/1576/7626 -f 1274/1549/7627 1309/1569/7628 1297/1536/7629 -f 1309/1569/7630 1323/1584/7631 1297/1536/7632 -f 1323/1584/7633 1324/1585/7634 1297/1536/7635 -f 1325/1586/7636 1326/1587/7637 1323/1584/7638 -f 1326/1587/7639 1324/1585/7640 1323/1584/7641 -f 1325/1586/7642 1308/1564/7643 1326/1587/7644 -f 1308/1564/7645 1296/1534/7646 1326/1587/7647 -f 1326/1587/7648 1296/1534/7649 1324/1585/7650 -f 1296/1534/7651 1297/1536/7652 1324/1585/7653 -f 1308/1564/7654 1325/1586/7655 1309/1569/7656 -f 1325/1586/7657 1323/1584/7658 1309/1569/7659 -f 1013/1588/7660 1029/1589/7661 1034/1590/7662 -f 1274/1555/7663 1306/1554/7664 1014/1236/7665 -f 1014/1236/7666 972/1235/7667 1274/1555/7668 -f 1311/1591/7669 1013/1588/7670 1306/1554/7671 -f 1013/1588/7672 1014/1236/7673 1306/1554/7674 -f 1313/1592/7675 1316/1593/7676 1029/1589/7677 -f 1311/1591/7678 1029/1589/7679 1013/1588/7680 -f 1034/1590/7681 1030/1594/7682 1033/1595/7683 -f 1034/1590/7684 1029/1589/7685 1030/1594/7686 -f 1033/1595/7687 1031/1596/7688 1032/1597/7689 -f 1033/1595/7690 1030/1594/7691 1031/1596/7692 -f 1313/1592/7693 1029/1589/7694 1311/1591/7695 -f 1322/1598/7696 1318/1599/7697 1316/1593/7698 -f 1322/1598/7699 1316/1593/7700 1313/1592/7701 -f 1320/1600/7702 1318/1599/7703 1322/1598/7704 -f 1327/1601/7705 1343/1602/7706 1335/1603/7707 -f 1335/1603/7708 1343/1602/7709 1351/1604/7710 -f 1328/1605/7711 1344/1606/7712 1336/1607/7713 -f 1336/1607/7714 1344/1606/7715 1352/1608/7716 -f 1329/1609/7717 1345/1610/7718 1337/1611/7719 -f 1337/1611/7720 1345/1610/7721 1353/1612/7722 -f 1330/1613/7723 1346/1614/7724 1338/1615/7725 -f 1338/1615/7726 1346/1614/7727 1354/1616/7728 -f 1331/1617/7729 1347/1618/7730 1339/1619/7731 -f 1339/1619/7732 1347/1618/7733 1355/1620/7734 -f 1332/1621/7735 1348/1622/7736 1340/1623/7737 -f 1340/1623/7738 1348/1622/7739 1356/1624/7740 -f 1333/1625/7741 1349/1626/7742 1341/1627/7743 -f 1341/1627/7744 1349/1626/7745 1357/1628/7746 -f 1334/1629/7747 1350/1630/7748 1342/1631/7749 -f 1342/1631/7750 1350/1630/7751 1358/1632/7752 -f 1328/1605/7753 1343/1602/7754 1381/1633/7755 -f 1381/1633/7756 1343/1602/7757 1380/1634/7758 -f 1329/1609/7759 1344/1606/7760 1383/1635/7761 -f 1383/1635/7762 1344/1606/7763 1382/1636/7764 -f 1330/1613/7765 1345/1610/7766 1369/1637/7767 -f 1369/1637/7768 1345/1610/7769 1368/1638/7770 -f 1331/1617/7771 1346/1614/7772 1371/1639/7773 -f 1371/1639/7774 1346/1614/7775 1370/1640/7776 -f 1332/1641/7777 1347/1618/7778 1373/1642/7779 -f 1373/1642/7780 1347/1618/7781 1372/1643/7782 -f 1333/1625/7783 1348/1622/7784 1375/1644/7785 -f 1375/1644/7786 1348/1622/7787 1374/1645/7788 -f 1334/1629/7789 1349/1626/7790 1377/1646/7791 -f 1377/1646/7792 1349/1626/7793 1376/1647/7794 -f 1379/1648/7795 1327/1601/7796 1378/1649/7797 -f 1378/1649/7798 1327/1601/7799 1350/1630/7800 -f 1379/1648/7801 1380/1634/7802 1327/1601/7803 -f 1327/1601/7804 1380/1634/7805 1343/1602/7806 -f 1328/1605/7807 1381/1633/7808 1344/1606/7809 -f 1344/1606/7810 1381/1633/7811 1382/1636/7812 -f 1329/1609/7813 1383/1635/7814 1345/1610/7815 -f 1345/1610/7816 1383/1635/7817 1368/1638/7818 -f 1330/1613/7819 1369/1637/7820 1346/1614/7821 -f 1346/1614/7822 1369/1637/7823 1370/1640/7824 -f 1333/1625/7825 1375/1644/7826 1349/1626/7827 -f 1349/1626/7828 1375/1644/7829 1376/1647/7830 -f 1334/1629/7831 1377/1646/7832 1350/1630/7833 -f 1350/1630/7834 1377/1646/7835 1378/1649/7836 -f 1358/1632/7837 1350/1630/7838 1335/1603/7839 -f 1335/1603/7840 1350/1630/7841 1327/1601/7842 -f 1334/1629/7843 1342/1631/7844 1349/1626/7845 -f 1349/1626/7846 1342/1631/7847 1357/1628/7848 -f 1333/1625/7849 1341/1627/7850 1348/1622/7851 -f 1348/1622/7852 1341/1627/7853 1356/1624/7854 -f 1332/1641/7855 1340/1650/7856 1347/1618/7857 -f 1347/1618/7858 1340/1650/7859 1355/1620/7860 -f 1331/1617/7861 1339/1619/7862 1346/1614/7863 -f 1346/1614/7864 1339/1619/7865 1354/1616/7866 -f 1330/1613/7867 1338/1615/7868 1345/1610/7869 -f 1345/1610/7870 1338/1615/7871 1353/1612/7872 -f 1329/1609/7873 1337/1611/7874 1344/1606/7875 -f 1344/1606/7876 1337/1611/7877 1352/1608/7878 -f 1328/1605/7879 1336/1607/7880 1343/1602/7881 -f 1343/1602/7882 1336/1607/7883 1351/1604/7884 -f 1336/1651/7885 1871/1652/7886 1351/1653/7887 -f 1351/1653/7888 1871/1652/7889 1886/1654/7890 -f 1335/1655/7891 1351/1653/7892 1885/1656/7893 -f 1885/1656/7894 1351/1653/7895 1886/1654/7896 -f 1337/1657/7897 1873/1658/7898 1352/1659/7899 -f 1352/1659/7900 1873/1658/7901 1872/1660/7902 -f 1336/1651/7903 1352/1659/7904 1871/1652/7905 -f 1871/1652/7906 1352/1659/7907 1872/1660/7908 -f 1338/1661/7909 1875/1662/7910 1353/1663/7911 -f 1353/1663/7912 1875/1662/7913 1874/1664/7914 -f 1337/1657/7915 1353/1663/7916 1873/1658/7917 -f 1873/1658/7918 1353/1663/7919 1874/1664/7920 -f 1339/1665/7921 1877/1666/7922 1354/1667/7923 -f 1354/1667/7924 1877/1666/7925 1876/1668/7926 -f 1338/1661/7927 1354/1667/7928 1875/1662/7929 -f 1875/1662/7930 1354/1667/7931 1876/1668/7932 -f 1340/1669/7933 1879/1670/7934 1355/1671/7935 -f 1355/1671/7936 1879/1670/7937 1878/1672/7938 -f 1339/1665/7939 1355/1671/7940 1877/1666/7941 -f 1877/1666/7942 1355/1671/7943 1878/1672/7944 -f 1341/1673/7945 1881/1674/7946 1356/1675/7947 -f 1356/1675/7948 1881/1674/7949 1880/1676/7950 -f 1340/1669/7951 1356/1675/7952 1879/1670/7953 -f 1879/1670/7954 1356/1675/7955 1880/1676/7956 -f 1342/1677/7957 1883/1678/7958 1357/1679/7959 -f 1357/1679/7960 1883/1678/7961 1882/1680/7962 -f 1341/1673/7963 1357/1679/7964 1881/1674/7965 -f 1881/1674/7966 1357/1679/7967 1882/1680/7968 -f 1335/1655/7969 1885/1656/7970 1358/1681/7971 -f 1358/1681/7972 1885/1656/7973 1884/1682/7974 -f 1342/1677/7975 1358/1681/7976 1883/1678/7977 -f 1883/1678/7978 1358/1681/7979 1884/1682/7980 -f 1360/1683/7981 1359/1684/7982 1361/1685/7983 -f 1361/1685/7984 1359/1684/7985 1362/1686/7986 -f 1362/1686/7987 1359/1684/7988 1363/1687/7989 -f 1363/1687/7990 1359/1684/7991 1364/1688/7992 -f 1364/1688/7993 1359/1684/7994 1365/1689/7995 -f 1365/1689/7996 1359/1684/7997 1366/1690/7998 -f 1366/1690/7999 1359/1684/8000 1367/1691/8001 -f 1367/1691/8002 1359/1684/8003 1360/1683/8004 -f 1331/1617/8005 1371/1639/8006 1347/1618/8007 -f 1347/1618/8008 1371/1639/8009 1372/1643/8010 -f 1332/1621/8011 1373/1692/8012 1348/1622/8013 -f 1348/1622/8014 1373/1692/8015 1374/1645/8016 -f 1385/1693/8017 1401/1694/8018 1384/1695/8019 -f 1384/1695/8020 1401/1694/8021 1396/1696/8022 -f 1386/1697/8023 1400/1698/8024 1385/1693/8025 -f 1385/1693/8026 1400/1698/8027 1401/1694/8028 -f 1387/1699/8029 1399/1700/8030 1386/1697/8031 -f 1386/1697/8032 1399/1700/8033 1400/1698/8034 -f 1387/1701/8035 1388/1702/8036 1399/1703/8037 -f 1399/1703/8038 1388/1702/8039 1398/1704/8040 -f 1388/1702/8041 1389/1705/8042 1398/1704/8043 -f 1398/1704/8044 1389/1705/8045 1397/1706/8046 -f 1389/1705/8047 1384/1695/8048 1397/1706/8049 -f 1397/1706/8050 1384/1695/8051 1396/1696/8052 -f 1396/1696/8053 1390/1707/8054 1397/1706/8055 -f 1397/1706/8056 1390/1707/8057 1395/1708/8058 -f 1397/1706/8059 1395/1708/8060 1398/1704/8061 -f 1398/1704/8062 1395/1708/8063 1394/1709/8064 -f 1398/1704/8065 1394/1709/8066 1399/1703/8067 -f 1399/1703/8068 1394/1709/8069 1393/1710/8070 -f 1400/1698/8071 1399/1700/8072 1392/1711/8073 -f 1392/1711/8074 1399/1700/8075 1393/1712/8076 -f 1401/1694/8077 1400/1698/8078 1391/1713/8079 -f 1391/1713/8080 1400/1698/8081 1392/1711/8082 -f 1396/1696/8083 1401/1694/8084 1390/1707/8085 -f 1390/1707/8086 1401/1694/8087 1391/1713/8088 -f 1403/1714/8089 1419/1715/8090 1402/1716/8091 -f 1402/1716/8092 1419/1715/8093 1414/1717/8094 -f 1404/1718/8095 1418/1719/8096 1403/1714/8097 -f 1403/1714/8098 1418/1719/8099 1419/1715/8100 -f 1405/1720/8101 1417/1721/8102 1404/1718/8103 -f 1404/1718/8104 1417/1721/8105 1418/1719/8106 -f 1405/1722/8107 1406/1723/8108 1417/1724/8109 -f 1417/1724/8110 1406/1723/8111 1416/1725/8112 -f 1406/1723/8113 1407/1726/8114 1416/1725/8115 -f 1416/1725/8116 1407/1726/8117 1415/1727/8118 -f 1407/1726/8119 1402/1716/8120 1415/1727/8121 -f 1415/1727/8122 1402/1716/8123 1414/1717/8124 -f 1414/1717/8125 1408/1728/8126 1415/1727/8127 -f 1415/1727/8128 1408/1728/8129 1413/1729/8130 -f 1415/1727/8131 1413/1729/8132 1416/1725/8133 -f 1416/1725/8134 1413/1729/8135 1412/1730/8136 -f 1416/1725/8137 1412/1730/8138 1417/1724/8139 -f 1417/1724/8140 1412/1730/8141 1411/1731/8142 -f 1418/1719/8143 1417/1721/8144 1410/1732/8145 -f 1410/1732/8146 1417/1721/8147 1411/1733/8148 -f 1419/1715/8149 1418/1719/8150 1409/1734/8151 -f 1409/1734/8152 1418/1719/8153 1410/1732/8154 -f 1414/1717/8155 1419/1715/8156 1408/1728/8157 -f 1408/1728/8158 1419/1715/8159 1409/1734/8160 -f 1439/1735/8161 1485/1736/8162 1429/1737/8163 -f 1429/1737/8164 1485/1736/8165 1428/1738/8166 -f 1429/1739/8167 1432/1740/8168 1439/1741/8169 -f 1439/1741/8170 1432/1740/8171 1438/1742/8172 -f 1438/1742/8173 1432/1740/8174 1430/1743/8175 -f 1486/1744/8176 1437/1745/8177 1438/1746/8178 -f 1427/1747/8179 1426/1748/8180 1424/1749/8181 -f 1424/1749/8182 1426/1748/8183 1425/1750/8184 -f 1423/1751/8185 1422/1752/8186 1428/1738/8187 -f 1428/1738/8188 1422/1752/8189 1429/1737/8190 -f 1432/1740/8191 1433/1753/8192 1430/1743/8193 -f 1430/1743/8194 1433/1753/8195 1420/1754/8196 -f 1421/1755/8197 1431/1756/8198 1420/1757/8199 -f 1420/1757/8200 1431/1756/8201 1430/1758/8202 -f 1422/1759/8203 1423/1760/8204 1425/1750/8205 -f 1425/1750/8206 1423/1760/8207 1424/1749/8208 -f 1420/1754/8209 1433/1753/8210 1426/1748/8211 -f 1426/1748/8212 1433/1753/8213 1425/1750/8214 -f 1427/1747/8215 1421/1761/8216 1426/1748/8217 -f 1426/1748/8218 1421/1761/8219 1420/1754/8220 -f 1422/1752/8221 1435/1762/8222 1429/1737/8223 -f 1434/1763/8224 1436/1764/8225 1432/1740/8226 -f 1432/1740/8227 1436/1764/8228 1433/1753/8229 -f 1435/1765/8230 1434/1763/8231 1429/1739/8232 -f 1429/1739/8233 1434/1763/8234 1432/1740/8235 -f 1435/1765/8236 1422/1759/8237 1434/1763/8238 -f 1434/1763/8239 1422/1759/8240 1436/1764/8241 -f 1422/1759/8242 1425/1750/8243 1436/1764/8244 -f 1436/1764/8245 1425/1750/8246 1433/1753/8247 -f 1442/1766/8248 1439/1741/8249 1441/1767/8250 -f 1441/1767/8251 1439/1741/8252 1438/1742/8253 -f 1444/1768/8254 1442/1766/8255 1443/1769/8256 -f 1443/1769/8257 1442/1766/8258 1441/1767/8259 -f 1437/1770/8260 1440/1771/8261 1443/1769/8262 -f 1443/1769/8263 1440/1771/8264 1444/1768/8265 -f 1441/1772/8266 1438/1746/8267 1443/1773/8268 -f 1443/1773/8269 1438/1746/8270 1437/1745/8271 -f 1440/1774/8272 1439/1735/8273 1444/1775/8274 -f 1444/1775/8275 1439/1735/8276 1442/1776/8277 -f 1454/1777/8278 1456/1778/8279 1453/1779/8280 -f 1453/1779/8281 1456/1778/8282 1452/1780/8283 -f 1445/1781/8284 1455/1782/8285 1446/1783/8286 -f 1446/1783/8287 1455/1782/8288 1447/1784/8289 -f 1449/1785/8290 1448/1786/8291 1455/1782/8292 -f 1455/1782/8293 1448/1786/8294 1447/1784/8295 -f 1451/1787/8296 1450/1788/8297 1446/1789/8298 -f 1446/1789/8299 1450/1788/8300 1445/1790/8301 -f 1452/1791/8302 1451/1787/8303 1447/1792/8304 -f 1447/1792/8305 1451/1787/8306 1446/1789/8307 -f 1453/1793/8308 1452/1791/8309 1448/1794/8310 -f 1448/1794/8311 1452/1791/8312 1447/1792/8313 -f 1449/1795/8314 1454/1796/8315 1448/1794/8316 -f 1448/1794/8317 1454/1796/8318 1453/1793/8319 -f 1450/1797/8320 1451/1798/8321 1456/1778/8322 -f 1456/1778/8323 1451/1798/8324 1452/1780/8325 -f 1467/1799/8326 1468/1800/8327 1466/1801/8328 -f 1466/1801/8329 1468/1800/8330 1470/1802/8331 -f 1469/1803/8332 1459/1804/8333 1457/1805/8334 -f 1457/1805/8335 1459/1804/8336 1458/1806/8337 -f 1459/1804/8338 1469/1803/8339 1460/1807/8340 -f 1465/1808/8341 1466/1801/8342 1470/1802/8343 -f 1469/1803/8344 1462/1809/8345 1460/1807/8346 -f 1460/1807/8347 1462/1809/8348 1461/1810/8349 -f 1464/1811/8350 1463/1812/8351 1458/1813/8352 -f 1458/1813/8353 1463/1812/8354 1457/1814/8355 -f 1464/1811/8356 1458/1813/8357 1465/1815/8358 -f 1465/1815/8359 1458/1813/8360 1459/1816/8361 -f 1466/1817/8362 1465/1815/8363 1460/1818/8364 -f 1460/1818/8365 1465/1815/8366 1459/1816/8367 -f 1467/1819/8368 1466/1817/8369 1461/1820/8370 -f 1461/1820/8371 1466/1817/8372 1460/1818/8373 -f 1462/1821/8374 1468/1822/8375 1461/1820/8376 -f 1461/1820/8377 1468/1822/8378 1467/1819/8379 -f 1470/1802/8380 1463/1823/8381 1465/1808/8382 -f 1465/1808/8383 1463/1823/8384 1464/1824/8385 -f 1482/1825/8386 1484/1826/8387 1481/1827/8388 -f 1481/1827/8389 1484/1826/8390 1480/1828/8391 -f 1471/1829/8392 1483/1830/8393 1472/1831/8394 -f 1483/1830/8395 1473/1832/8396 1472/1831/8397 -f 1473/1832/8398 1483/1830/8399 1474/1833/8400 -f 1479/1834/8401 1480/1828/8402 1484/1826/8403 -f 1476/1835/8404 1475/1836/8405 1483/1830/8406 -f 1483/1830/8407 1475/1836/8408 1474/1833/8409 -f 1478/1837/8410 1477/1838/8411 1472/1839/8412 -f 1472/1839/8413 1477/1838/8414 1471/1840/8415 -f 1478/1837/8416 1472/1839/8417 1479/1841/8418 -f 1479/1841/8419 1472/1839/8420 1473/1842/8421 -f 1480/1843/8422 1479/1841/8423 1474/1844/8424 -f 1474/1844/8425 1479/1841/8426 1473/1842/8427 -f 1481/1845/8428 1480/1843/8429 1475/1846/8430 -f 1475/1846/8431 1480/1843/8432 1474/1844/8433 -f 1476/1847/8434 1482/1848/8435 1475/1846/8436 -f 1475/1846/8437 1482/1848/8438 1481/1845/8439 -f 1477/1849/8440 1478/1850/8441 1484/1826/8442 -f 1484/1826/8443 1478/1850/8444 1479/1834/8445 -f 1439/1735/8446 1440/1774/8447 1485/1736/8448 -f 1431/1756/8449 1486/1744/8450 1430/1758/8451 -f 1430/1758/8452 1486/1744/8453 1438/1746/8454 -f 1491/1851/8455 1492/1852/8456 1494/1853/8457 -f 1494/1853/8458 1492/1852/8459 1493/1854/8460 -f 1492/1855/8461 1491/1856/8462 1488/1857/8463 -f 1488/1857/8464 1491/1856/8465 1487/1858/8466 -f 1493/1859/8467 1492/1855/8468 1489/1860/8469 -f 1489/1860/8470 1492/1855/8471 1488/1857/8472 -f 1494/1861/8473 1493/1859/8474 1490/1862/8475 -f 1490/1862/8476 1493/1859/8477 1489/1860/8478 -f 1494/1861/8479 1490/1862/8480 1497/1863/8481 -f 1497/1863/8482 1490/1862/8483 1495/1864/8484 -f 1487/1865/8485 1490/1866/8486 1488/1867/8487 -f 1488/1867/8488 1490/1866/8489 1489/1868/8490 -f 1491/1856/8491 1498/1869/8492 1487/1858/8493 -f 1487/1858/8494 1498/1869/8495 1496/1870/8496 -f 1503/1871/8497 1504/1872/8498 1506/1873/8499 -f 1506/1873/8500 1504/1872/8501 1505/1874/8502 -f 1504/1875/8503 1503/1876/8504 1500/1877/8505 -f 1500/1877/8506 1503/1876/8507 1499/1878/8508 -f 1505/1879/8509 1504/1875/8510 1501/1880/8511 -f 1501/1880/8512 1504/1875/8513 1500/1877/8514 -f 1506/1881/8515 1505/1879/8516 1502/1882/8517 -f 1502/1882/8518 1505/1879/8519 1501/1880/8520 -f 1506/1881/8521 1502/1882/8522 1509/1883/8523 -f 1509/1883/8524 1502/1882/8525 1507/1884/8526 -f 1508/1885/8527 1507/1886/8528 1499/1887/8529 -f 1499/1887/8530 1507/1886/8531 1502/1888/8532 -f 1503/1876/8533 1510/1889/8534 1499/1878/8535 -f 1499/1878/8536 1510/1889/8537 1508/1890/8538 -f 1515/1891/8539 1516/1892/8540 1518/1893/8541 -f 1518/1893/8542 1516/1892/8543 1517/1894/8544 -f 1516/1895/8545 1515/1896/8546 1512/1897/8547 -f 1512/1897/8548 1515/1896/8549 1511/1898/8550 -f 1517/1899/8551 1516/1895/8552 1513/1900/8553 -f 1513/1900/8554 1516/1895/8555 1512/1897/8556 -f 1518/1901/8557 1517/1899/8558 1514/1902/8559 -f 1514/1902/8560 1517/1899/8561 1513/1900/8562 -f 1518/1901/8563 1514/1902/8564 1521/1903/8565 -f 1521/1903/8566 1514/1902/8567 1519/1904/8568 -f 1520/1905/8569 1519/1906/8570 1511/1907/8571 -f 1511/1907/8572 1519/1906/8573 1514/1908/8574 -f 1515/1896/8575 1522/1909/8576 1511/1898/8577 -f 1511/1898/8578 1522/1909/8579 1520/1910/8580 -f 1527/1911/8581 1528/1912/8582 1530/1913/8583 -f 1530/1913/8584 1528/1912/8585 1529/1914/8586 -f 1528/1915/8587 1527/1916/8588 1524/1917/8589 -f 1524/1917/8590 1527/1916/8591 1523/1918/8592 -f 1529/1919/8593 1528/1915/8594 1525/1920/8595 -f 1525/1920/8596 1528/1915/8597 1524/1917/8598 -f 1530/1921/8599 1529/1919/8600 1526/1922/8601 -f 1526/1922/8602 1529/1919/8603 1525/1920/8604 -f 1530/1921/8605 1526/1922/8606 1533/1923/8607 -f 1533/1923/8608 1526/1922/8609 1531/1924/8610 -f 1532/1925/8611 1531/1926/8612 1523/1927/8613 -f 1523/1927/8614 1531/1926/8615 1526/1928/8616 -f 1527/1916/8617 1534/1929/8618 1523/1918/8619 -f 1523/1918/8620 1534/1929/8621 1532/1930/8622 -f 1545/1931/8623 1541/1932/8624 1542/1933/8625 -f 1540/1934/8626 1539/1935/8627 1536/1936/8628 -f 1536/1936/8629 1539/1935/8630 1535/1937/8631 -f 1541/1938/8632 1540/1934/8633 1537/1939/8634 -f 1537/1939/8635 1540/1934/8636 1536/1936/8637 -f 1542/1940/8638 1541/1938/8639 1538/1941/8640 -f 1538/1941/8641 1541/1938/8642 1537/1939/8643 -f 1542/1940/8644 1538/1941/8645 1545/1942/8646 -f 1545/1942/8647 1538/1941/8648 1543/1943/8649 -f 1537/1944/8650 1543/1945/8651 1538/1946/8652 -f 1539/1935/8653 1546/1947/8654 1535/1937/8655 -f 1535/1937/8656 1546/1947/8657 1544/1948/8658 -f 1551/1949/8659 1554/1950/8660 1558/1951/8661 -f 1558/1951/8662 1554/1950/8663 1557/1952/8664 -f 1552/1953/8665 1551/1954/8666 1548/1955/8667 -f 1548/1955/8668 1551/1954/8669 1547/1956/8670 -f 1553/1957/8671 1552/1953/8672 1549/1958/8673 -f 1549/1958/8674 1552/1953/8675 1548/1955/8676 -f 1554/1959/8677 1553/1957/8678 1550/1960/8679 -f 1550/1960/8680 1553/1957/8681 1549/1958/8682 -f 1554/1959/8683 1550/1960/8684 1557/1961/8685 -f 1557/1961/8686 1550/1960/8687 1555/1962/8688 -f 1556/1963/8689 1555/1964/8690 1547/1965/8691 -f 1547/1965/8692 1555/1964/8693 1550/1966/8694 -f 1551/1954/8695 1558/1967/8696 1547/1956/8697 -f 1547/1956/8698 1558/1967/8699 1556/1968/8700 -f 1564/1969/8701 1581/1970/8702 1562/1971/8703 -f 1562/1971/8704 1581/1970/8705 1559/1972/8706 -f 1574/1973/8707 1577/1974/8708 1572/1975/8709 -f 1572/1975/8710 1577/1974/8711 1571/1976/8712 -f 1572/1977/8713 1571/1978/8714 1562/1979/8715 -f 1562/1979/8716 1571/1978/8717 1561/1980/8718 -f 1569/1981/8719 1579/1982/8720 1559/1983/8721 -f 1559/1983/8722 1579/1982/8723 1580/1984/8724 -f 1573/1985/8725 1570/1986/8726 1563/1987/8727 -f 1563/1987/8728 1570/1986/8729 1560/1988/8730 -f 1576/1989/8731 1573/1985/8732 1566/1990/8733 -f 1566/1990/8734 1573/1985/8735 1563/1987/8736 -f 1578/1991/8737 1576/1989/8738 1568/1992/8739 -f 1568/1992/8740 1576/1989/8741 1566/1990/8742 -f 1575/1993/8743 1578/1991/8744 1565/1994/8745 -f 1565/1994/8746 1578/1991/8747 1568/1992/8748 -f 1574/1995/8749 1575/1993/8750 1564/1996/8751 -f 1564/1996/8752 1575/1993/8753 1565/1994/8754 -f 1574/1995/8755 1564/1996/8756 1577/1997/8757 -f 1577/1997/8758 1564/1996/8759 1567/1998/8760 -f 1571/1978/8761 1577/1997/8762 1561/1980/8763 -f 1561/1980/8764 1577/1997/8765 1567/1998/8766 -f 1569/1999/8767 1572/1975/8768 1579/2000/8769 -f 1572/1977/8770 1562/1979/8771 1579/1982/8772 -f 1579/1982/8773 1562/1979/8774 1580/1984/8775 -f 1562/1971/8776 1559/1972/8777 1580/2001/8778 -f 1564/1969/8779 1562/1971/8780 1567/2002/8781 -f 1567/2002/8782 1562/1971/8783 1561/2003/8784 -f 1581/1970/8785 1565/2004/8786 1560/2005/8787 -f 1560/2005/8788 1565/2004/8789 1563/2006/8790 -f 1581/1970/8791 1564/1969/8792 1565/2004/8793 -f 1565/2004/8794 1568/2007/8795 1563/2006/8796 -f 1563/2006/8797 1568/2007/8798 1566/2008/8799 -f 1582/2009/8800 1575/2010/8801 1574/1973/8802 -f 1574/1973/8803 1572/1975/8804 1582/2009/8805 -f 1582/2009/8806 1572/1975/8807 1569/1999/8808 -f 1576/2011/8809 1578/2012/8810 1573/2013/8811 -f 1573/2013/8812 1578/2012/8813 1575/2010/8814 -f 1573/2013/8815 1575/2010/8816 1570/2014/8817 -f 1570/2014/8818 1575/2010/8819 1582/2009/8820 -f 1588/2015/8821 1605/2016/8822 1586/2017/8823 -f 1586/2017/8824 1605/2016/8825 1583/2018/8826 -f 1598/2019/8827 1601/2020/8828 1596/2021/8829 -f 1596/2021/8830 1601/2020/8831 1595/2022/8832 -f 1596/2023/8833 1595/2024/8834 1586/2025/8835 -f 1586/2025/8836 1595/2024/8837 1585/2026/8838 -f 1593/2027/8839 1603/2028/8840 1583/2029/8841 -f 1583/2029/8842 1603/2028/8843 1604/2030/8844 -f 1597/2031/8845 1594/2032/8846 1587/2033/8847 -f 1587/2033/8848 1594/2032/8849 1584/2034/8850 -f 1600/2035/8851 1597/2031/8852 1590/2036/8853 -f 1590/2036/8854 1597/2031/8855 1587/2033/8856 -f 1602/2037/8857 1600/2035/8858 1592/2038/8859 -f 1592/2038/8860 1600/2035/8861 1590/2036/8862 -f 1599/2039/8863 1602/2037/8864 1589/2040/8865 -f 1589/2040/8866 1602/2037/8867 1592/2038/8868 -f 1598/2041/8869 1599/2039/8870 1588/2042/8871 -f 1588/2042/8872 1599/2039/8873 1589/2040/8874 -f 1598/2041/8875 1588/2042/8876 1601/2043/8877 -f 1601/2043/8878 1588/2042/8879 1591/2044/8880 -f 1595/2024/8881 1601/2043/8882 1585/2026/8883 -f 1585/2026/8884 1601/2043/8885 1591/2044/8886 -f 1593/2045/8887 1596/2021/8888 1603/2046/8889 -f 1596/2023/8890 1586/2025/8891 1603/2028/8892 -f 1603/2028/8893 1586/2025/8894 1604/2030/8895 -f 1586/2017/8896 1583/2018/8897 1604/2047/8898 -f 1588/2015/8899 1586/2017/8900 1591/2048/8901 -f 1591/2048/8902 1586/2017/8903 1585/2049/8904 -f 1605/2016/8905 1589/2050/8906 1584/2051/8907 -f 1584/2051/8908 1589/2050/8909 1587/2052/8910 -f 1605/2016/8911 1588/2015/8912 1589/2050/8913 -f 1589/2050/8914 1592/2053/8915 1587/2052/8916 -f 1587/2052/8917 1592/2053/8918 1590/2054/8919 -f 1606/2055/8920 1599/2056/8921 1598/2019/8922 -f 1598/2019/8923 1596/2021/8924 1606/2055/8925 -f 1606/2055/8926 1596/2021/8927 1593/2045/8928 -f 1600/2057/8929 1602/2058/8930 1597/2059/8931 -f 1597/2059/8932 1602/2058/8933 1599/2056/8934 -f 1597/2059/8935 1599/2056/8936 1594/2060/8937 -f 1594/2060/8938 1599/2056/8939 1606/2055/8940 -f 1616/2061/8941 1615/2062/8942 1608/2063/8943 -f 1608/2063/8944 1615/2062/8945 1607/2064/8946 -f 1618/2065/8947 1617/2066/8948 1610/2067/8949 -f 1610/2067/8950 1617/2066/8951 1609/2068/8952 -f 1621/2069/8953 1618/2065/8954 1613/2070/8955 -f 1613/2070/8956 1618/2065/8957 1610/2067/8958 -f 1622/2071/8959 1621/2069/8960 1614/2072/8961 -f 1614/2072/8962 1621/2069/8963 1613/2070/8964 -f 1619/2073/8965 1620/2074/8966 1611/2075/8967 -f 1611/2075/8968 1620/2074/8969 1612/2076/8970 -f 1615/2062/8971 1619/2073/8972 1607/2064/8973 -f 1607/2064/8974 1619/2073/8975 1611/2075/8976 -f 1616/2061/8977 1608/2063/8978 1624/2077/8979 -f 1624/2077/8980 1608/2063/8981 1623/2078/8982 -f 1612/2079/8983 1608/2080/8984 1611/2081/8985 -f 1611/2081/8986 1608/2080/8987 1607/2082/8988 -f 1624/2083/8989 1626/2084/8990 1616/2085/8991 -f 1616/2085/8992 1626/2084/8993 1620/2086/8994 -f 1620/2074/8995 1626/2087/8996 1612/2076/8997 -f 1612/2076/8998 1626/2087/8999 1625/2088/9000 -f 1622/2071/9001 1614/2072/9002 1629/2089/9003 -f 1629/2089/9004 1614/2072/9005 1627/2090/9006 -f 1628/2091/9007 1627/2092/9008 1609/2093/9009 -f 1609/2093/9010 1627/2092/9011 1614/2094/9012 -f 1617/2095/9013 1618/2096/9014 1622/2097/9015 -f 1622/2097/9016 1618/2096/9017 1621/2098/9018 -f 1617/2066/9019 1630/2099/9020 1609/2068/9021 -f 1609/2068/9022 1630/2099/9023 1628/2100/9024 -f 1636/2101/9025 1653/2102/9026 1634/2103/9027 -f 1634/2103/9028 1653/2102/9029 1631/2104/9030 -f 1646/2105/9031 1649/2106/9032 1644/2107/9033 -f 1644/2107/9034 1649/2106/9035 1643/2108/9036 -f 1644/2109/9037 1643/2110/9038 1634/2111/9039 -f 1634/2111/9040 1643/2110/9041 1633/2112/9042 -f 1641/2113/9043 1651/2114/9044 1631/2115/9045 -f 1631/2115/9046 1651/2114/9047 1652/2116/9048 -f 1645/2117/9049 1642/2118/9050 1635/2119/9051 -f 1635/2119/9052 1642/2118/9053 1632/2120/9054 -f 1648/2121/9055 1645/2117/9056 1638/2122/9057 -f 1638/2122/9058 1645/2117/9059 1635/2119/9060 -f 1650/2123/9061 1648/2121/9062 1640/2124/9063 -f 1640/2124/9064 1648/2121/9065 1638/2122/9066 -f 1647/2125/9067 1650/2123/9068 1637/2126/9069 -f 1637/2126/9070 1650/2123/9071 1640/2124/9072 -f 1646/2127/9073 1647/2125/9074 1636/2128/9075 -f 1636/2128/9076 1647/2125/9077 1637/2126/9078 -f 1646/2127/9079 1636/2128/9080 1649/2129/9081 -f 1649/2129/9082 1636/2128/9083 1639/2130/9084 -f 1643/2110/9085 1649/2129/9086 1633/2112/9087 -f 1633/2112/9088 1649/2129/9089 1639/2130/9090 -f 1641/2131/9091 1644/2107/9092 1651/2132/9093 -f 1644/2109/9094 1634/2111/9095 1651/2114/9096 -f 1651/2114/9097 1634/2111/9098 1652/2116/9099 -f 1634/2103/9100 1631/2104/9101 1652/2133/9102 -f 1636/2101/9103 1634/2103/9104 1639/2134/9105 -f 1639/2134/9106 1634/2103/9107 1633/2135/9108 -f 1653/2102/9109 1637/2136/9110 1632/2137/9111 -f 1632/2137/9112 1637/2136/9113 1635/2138/9114 -f 1653/2102/9115 1636/2101/9116 1637/2136/9117 -f 1637/2136/9118 1640/2139/9119 1635/2138/9120 -f 1635/2138/9121 1640/2139/9122 1638/2140/9123 -f 1654/2141/9124 1647/2142/9125 1646/2105/9126 -f 1646/2105/9127 1644/2107/9128 1654/2141/9129 -f 1654/2141/9130 1644/2107/9131 1641/2131/9132 -f 1648/2143/9133 1650/2144/9134 1645/2145/9135 -f 1645/2145/9136 1650/2144/9137 1647/2142/9138 -f 1645/2145/9139 1647/2142/9140 1642/2146/9141 -f 1642/2146/9142 1647/2142/9143 1654/2141/9144 -f 1664/2147/9145 1663/2148/9146 1656/2149/9147 -f 1656/2149/9148 1663/2148/9149 1655/2150/9150 -f 1666/2151/9151 1665/2152/9152 1658/2153/9153 -f 1658/2153/9154 1665/2152/9155 1657/2154/9156 -f 1669/2155/9157 1666/2151/9158 1661/2156/9159 -f 1661/2156/9160 1666/2151/9161 1658/2153/9162 -f 1670/2157/9163 1669/2155/9164 1662/2158/9165 -f 1662/2158/9166 1669/2155/9167 1661/2156/9168 -f 1667/2159/9169 1668/2160/9170 1659/2161/9171 -f 1659/2161/9172 1668/2160/9173 1660/2162/9174 -f 1663/2148/9175 1667/2159/9176 1655/2150/9177 -f 1655/2150/9178 1667/2159/9179 1659/2161/9180 -f 1664/2147/9181 1656/2149/9182 1672/2163/9183 -f 1672/2163/9184 1656/2149/9185 1671/2164/9186 -f 1660/2165/9187 1656/2166/9188 1659/2167/9189 -f 1659/2167/9190 1656/2166/9191 1655/2168/9192 -f 1672/2169/9193 1674/2170/9194 1664/2171/9195 -f 1664/2171/9196 1674/2170/9197 1668/2172/9198 -f 1668/2160/9199 1674/2173/9200 1660/2162/9201 -f 1660/2162/9202 1674/2173/9203 1673/2174/9204 -f 1670/2157/9205 1662/2158/9206 1677/2175/9207 -f 1677/2175/9208 1662/2158/9209 1675/2176/9210 -f 1657/2177/9211 1662/2178/9212 1658/2179/9213 -f 1658/2179/9214 1662/2178/9215 1661/2180/9216 -f 1665/2181/9217 1666/2182/9218 1670/2183/9219 -f 1670/2183/9220 1666/2182/9221 1669/2184/9222 -f 1665/2152/9223 1678/2185/9224 1657/2154/9225 -f 1657/2154/9226 1678/2185/9227 1676/2186/9228 -f 1684/2187/9229 1701/2188/9230 1682/2189/9231 -f 1682/2189/9232 1701/2188/9233 1679/2190/9234 -f 1694/2191/9235 1697/2192/9236 1692/2193/9237 -f 1692/2193/9238 1697/2192/9239 1691/2194/9240 -f 1692/2195/9241 1691/2196/9242 1682/2197/9243 -f 1682/2197/9244 1691/2196/9245 1681/2198/9246 -f 1689/2199/9247 1699/2200/9248 1679/2201/9249 -f 1679/2201/9250 1699/2200/9251 1700/2202/9252 -f 1693/2203/9253 1690/2204/9254 1683/2205/9255 -f 1683/2205/9256 1690/2204/9257 1680/2206/9258 -f 1696/2207/9259 1693/2203/9260 1686/2208/9261 -f 1686/2208/9262 1693/2203/9263 1683/2205/9264 -f 1698/2209/9265 1696/2207/9266 1688/2210/9267 -f 1688/2210/9268 1696/2207/9269 1686/2208/9270 -f 1695/2211/9271 1698/2209/9272 1685/2212/9273 -f 1685/2212/9274 1698/2209/9275 1688/2210/9276 -f 1694/2213/9277 1695/2211/9278 1684/2214/9279 -f 1684/2214/9280 1695/2211/9281 1685/2212/9282 -f 1694/2213/9283 1684/2214/9284 1697/2215/9285 -f 1697/2215/9286 1684/2214/9287 1687/2216/9288 -f 1691/2196/9289 1697/2215/9290 1681/2198/9291 -f 1681/2198/9292 1697/2215/9293 1687/2216/9294 -f 1689/2217/9295 1692/2193/9296 1699/2218/9297 -f 1692/2195/9298 1682/2197/9299 1699/2200/9300 -f 1699/2200/9301 1682/2197/9302 1700/2202/9303 -f 1682/2189/9304 1679/2190/9305 1700/2219/9306 -f 1684/2187/9307 1682/2189/9308 1687/2220/9309 -f 1687/2220/9310 1682/2189/9311 1681/2221/9312 -f 1701/2188/9313 1685/2222/9314 1680/2223/9315 -f 1680/2223/9316 1685/2222/9317 1683/2224/9318 -f 1701/2188/9319 1684/2187/9320 1685/2222/9321 -f 1685/2222/9322 1688/2225/9323 1683/2224/9324 -f 1683/2224/9325 1688/2225/9326 1686/2226/9327 -f 1702/2227/9328 1695/2228/9329 1694/2191/9330 -f 1694/2191/9331 1692/2193/9332 1702/2227/9333 -f 1702/2227/9334 1692/2193/9335 1689/2217/9336 -f 1696/2229/9337 1698/2230/9338 1693/2231/9339 -f 1693/2231/9340 1698/2230/9341 1695/2228/9342 -f 1693/2231/9343 1695/2228/9344 1690/2232/9345 -f 1690/2232/9346 1695/2228/9347 1702/2227/9348 -f 1723/2233/9349 1708/2234/9350 1709/2235/9351 -f 1718/2236/9352 1721/2237/9353 1716/2238/9354 -f 1716/2238/9355 1721/2237/9356 1715/2239/9357 -f 1716/2240/9358 1715/2241/9359 1706/2242/9360 -f 1706/2242/9361 1715/2241/9362 1705/2243/9363 -f 1713/2244/9364 1716/2240/9365 1703/2245/9366 -f 1703/2245/9367 1716/2240/9368 1706/2242/9369 -f 1717/2246/9370 1714/2247/9371 1707/2248/9372 -f 1707/2248/9373 1714/2247/9374 1704/2249/9375 -f 1720/2250/9376 1717/2246/9377 1710/2251/9378 -f 1710/2251/9379 1717/2246/9380 1707/2248/9381 -f 1722/2252/9382 1720/2250/9383 1712/2253/9384 -f 1712/2253/9385 1720/2250/9386 1710/2251/9387 -f 1719/2254/9388 1722/2252/9389 1709/2255/9390 -f 1709/2255/9391 1722/2252/9392 1712/2253/9393 -f 1718/2256/9394 1719/2254/9395 1708/2257/9396 -f 1708/2257/9397 1719/2254/9398 1709/2255/9399 -f 1718/2256/9400 1708/2257/9401 1721/2258/9402 -f 1721/2258/9403 1708/2257/9404 1711/2259/9405 -f 1715/2241/9406 1721/2258/9407 1705/2243/9408 -f 1705/2243/9409 1721/2258/9410 1711/2259/9411 -f 1708/2234/9412 1706/2260/9413 1711/2261/9414 -f 1711/2261/9415 1706/2260/9416 1705/2262/9417 -f 1709/2235/9418 1712/2263/9419 1707/2264/9420 -f 1707/2264/9421 1712/2263/9422 1710/2265/9423 -f 1723/2233/9424 1709/2235/9425 1704/2266/9426 -f 1704/2266/9427 1709/2235/9428 1707/2264/9429 -f 1708/2234/9430 1723/2233/9431 1706/2260/9432 -f 1706/2260/9433 1723/2233/9434 1703/2267/9435 -f 1724/2268/9436 1719/2269/9437 1718/2236/9438 -f 1718/2236/9439 1716/2238/9440 1724/2268/9441 -f 1724/2268/9442 1716/2238/9443 1713/2270/9444 -f 1720/2271/9445 1722/2272/9446 1717/2273/9447 -f 1717/2273/9448 1722/2272/9449 1719/2269/9450 -f 1717/2273/9451 1719/2269/9452 1714/2274/9453 -f 1714/2274/9454 1719/2269/9455 1724/2268/9456 -f 1730/2275/9457 1729/2276/9458 1726/2277/9459 -f 1726/2277/9460 1729/2276/9461 1725/2278/9462 -f 1731/2279/9463 1730/2275/9464 1727/2280/9465 -f 1727/2280/9466 1730/2275/9467 1726/2277/9468 -f 1732/2281/9469 1731/2279/9470 1728/2282/9471 -f 1728/2282/9472 1731/2279/9473 1727/2280/9474 -f 1729/2283/9475 1732/2281/9476 1725/2284/9477 -f 1725/2284/9478 1732/2281/9479 1728/2282/9480 -f 1738/2285/9481 1737/2286/9482 1734/2287/9483 -f 1734/2287/9484 1737/2286/9485 1733/2288/9486 -f 1739/2289/9487 1738/2285/9488 1735/2290/9489 -f 1735/2290/9490 1738/2285/9491 1734/2287/9492 -f 1740/2291/9493 1739/2289/9494 1736/2292/9495 -f 1736/2292/9496 1739/2289/9497 1735/2290/9498 -f 1737/2293/9499 1740/2291/9500 1733/2294/9501 -f 1733/2294/9502 1740/2291/9503 1736/2292/9504 -f 1746/2295/9505 1745/2296/9506 1742/2297/9507 -f 1742/2297/9508 1745/2296/9509 1741/2298/9510 -f 1747/2299/9511 1746/2295/9512 1743/2300/9513 -f 1743/2300/9514 1746/2295/9515 1742/2297/9516 -f 1748/2301/9517 1747/2299/9518 1744/2302/9519 -f 1744/2302/9520 1747/2299/9521 1743/2300/9522 -f 1745/2303/9523 1748/2301/9524 1741/2304/9525 -f 1741/2304/9526 1748/2301/9527 1744/2302/9528 -f 1676/2305/9529 1675/2306/9530 1657/2177/9531 -f 1657/2177/9532 1675/2306/9533 1662/2178/9534 -f 1673/2307/9535 1671/2308/9536 1660/2165/9537 -f 1660/2165/9538 1671/2308/9539 1656/2166/9540 -f 1668/2172/9541 1667/2309/9542 1664/2171/9543 -f 1664/2171/9544 1667/2309/9545 1663/2310/9546 -f 1677/2311/9547 1678/2312/9548 1670/2183/9549 -f 1670/2183/9550 1678/2312/9551 1665/2181/9552 -f 1625/2313/9553 1623/2314/9554 1612/2079/9555 -f 1612/2079/9556 1623/2314/9557 1608/2080/9558 -f 1609/2093/9559 1614/2094/9560 1610/2315/9561 -f 1610/2315/9562 1614/2094/9563 1613/2316/9564 -f 1629/2317/9565 1630/2318/9566 1622/2097/9567 -f 1622/2097/9568 1630/2318/9569 1617/2095/9570 -f 1620/2086/9571 1619/2319/9572 1616/2085/9573 -f 1616/2085/9574 1619/2319/9575 1615/2320/9576 -f 1551/1949/9577 1552/2321/9578 1554/1950/9579 -f 1554/1950/9580 1552/2321/9581 1553/2322/9582 -f 1494/1853/9583 1497/2323/9584 1491/1851/9585 -f 1491/1851/9586 1497/2323/9587 1498/2324/9588 -f 1496/2325/9589 1495/2326/9590 1487/1865/9591 -f 1487/1865/9592 1495/2326/9593 1490/1866/9594 -f 1547/1965/9595 1550/1966/9596 1548/2327/9597 -f 1548/2327/9598 1550/1966/9599 1549/2328/9600 -f 1544/2329/9601 1536/2330/9602 1535/2331/9603 -f 1544/2329/9604 1543/1945/9605 1537/1944/9606 -f 1544/2329/9607 1537/1944/9608 1536/2330/9609 -f 1546/2332/9610 1540/2333/9611 1541/1932/9612 -f 1546/2332/9613 1541/1932/9614 1545/1931/9615 -f 1539/2334/9616 1540/2333/9617 1546/2332/9618 -f 1523/1927/9619 1526/1928/9620 1524/2335/9621 -f 1524/2335/9622 1526/1928/9623 1525/2336/9624 -f 1511/1907/9625 1514/1908/9626 1512/2337/9627 -f 1512/2337/9628 1514/1908/9629 1513/2338/9630 -f 1499/1887/9631 1502/1888/9632 1500/2339/9633 -f 1500/2339/9634 1502/1888/9635 1501/2340/9636 -f 1506/1873/9637 1509/2341/9638 1503/1871/9639 -f 1503/1871/9640 1509/2341/9641 1510/2342/9642 -f 1515/1891/9643 1518/1893/9644 1522/2343/9645 -f 1522/2343/9646 1518/1893/9647 1521/2344/9648 -f 1527/1911/9649 1530/1913/9650 1534/2345/9651 -f 1534/2345/9652 1530/1913/9653 1533/2346/9654 -f 1758/2347/9655 1805/2348/9656 1756/2349/9657 -f 1752/2350/9658 1749/2351/9659 1755/2352/9660 -f 1782/2353/9661 1765/2354/9662 1766/2355/9663 -f 1766/2356/9664 1765/2357/9665 1752/2358/9666 -f 1752/2358/9667 1765/2357/9668 1751/2359/9669 -f 1767/2360/9670 1766/2356/9671 1753/2361/9672 -f 1753/2361/9673 1766/2356/9674 1752/2358/9675 -f 1769/2362/9676 1767/2360/9677 1755/2363/9678 -f 1755/2363/9679 1767/2360/9680 1753/2361/9681 -f 1763/2364/9682 1769/2362/9683 1749/2365/9684 -f 1749/2365/9685 1769/2362/9686 1755/2363/9687 -f 1768/2366/9688 1764/2367/9689 1754/2368/9690 -f 1754/2368/9691 1764/2367/9692 1750/2369/9693 -f 1773/2370/9694 1768/2366/9695 1759/2371/9696 -f 1759/2371/9697 1768/2366/9698 1754/2368/9699 -f 1775/2372/9700 1773/2370/9701 1761/2373/9702 -f 1761/2373/9703 1773/2370/9704 1759/2371/9705 -f 1776/2374/9706 1775/2372/9707 1762/2375/9708 -f 1762/2375/9709 1775/2372/9710 1761/2373/9711 -f 1762/2375/9712 1757/2376/9713 1776/2374/9714 -f 1776/2374/9715 1757/2376/9716 1771/2377/9717 -f 1772/2378/9718 1771/2377/9719 1758/2379/9720 -f 1758/2379/9721 1771/2377/9722 1757/2376/9723 -f 1770/2380/9724 1772/2378/9725 1756/2381/9726 -f 1756/2381/9727 1772/2378/9728 1758/2379/9729 -f 1774/2382/9730 1770/2380/9731 1760/2383/9732 -f 1760/2383/9733 1770/2380/9734 1756/2381/9735 -f 1765/2357/9736 1782/2384/9737 1751/2359/9738 -f 1751/2359/9739 1782/2384/9740 1779/2385/9741 -f 1772/2386/9742 1776/2387/9743 1771/2388/9744 -f 1779/2385/9745 1778/2389/9746 1760/2383/9747 -f 1760/2383/9748 1778/2389/9749 1774/2382/9750 -f 1779/2385/9751 1782/2384/9752 1778/2389/9753 -f 1784/2390/9754 1777/2391/9755 1786/2392/9756 -f 1786/2392/9757 1777/2391/9758 1778/2393/9759 -f 1785/2394/9760 1782/2353/9761 1783/2395/9762 -f 1783/2395/9763 1782/2353/9764 1781/2396/9765 -f 1778/2389/9766 1782/2384/9767 1786/2397/9768 -f 1786/2397/9769 1782/2384/9770 1785/2398/9771 -f 1788/2399/9772 1784/2390/9773 1786/2392/9774 -f 1783/2395/9775 1787/2400/9776 1785/2394/9777 -f 1786/2397/9778 1785/2398/9779 1788/2401/9780 -f 1788/2401/9781 1785/2398/9782 1787/2402/9783 -f 1789/2403/9784 1790/2404/9785 1791/2405/9786 -f 1791/2405/9787 1790/2404/9788 1792/2406/9789 -f 1795/2407/9790 1796/2408/9791 1789/2403/9792 -f 1789/2403/9793 1796/2408/9794 1790/2404/9795 -f 1790/2404/9796 1796/2409/9797 1792/2406/9798 -f 1792/2406/9799 1796/2409/9800 1794/2410/9801 -f 1793/2411/9802 1795/2412/9803 1791/2405/9804 -f 1791/2405/9805 1795/2412/9806 1789/2403/9807 -f 1797/2413/9808 1798/2414/9809 1799/2415/9810 -f 1799/2415/9811 1798/2414/9812 1800/2416/9813 -f 1803/2417/9814 1804/2418/9815 1797/2413/9816 -f 1797/2413/9817 1804/2418/9818 1798/2414/9819 -f 1798/2414/9820 1804/2419/9821 1800/2416/9822 -f 1800/2416/9823 1804/2419/9824 1802/2420/9825 -f 1801/2421/9826 1803/2422/9827 1799/2415/9828 -f 1799/2415/9829 1803/2422/9830 1797/2413/9831 -f 1779/2423/9832 1752/2350/9833 1751/2424/9834 -f 1756/2349/9835 1779/2423/9836 1760/2425/9837 -f 1779/2423/9838 1780/2426/9839 1752/2350/9840 -f 1752/2350/9841 1780/2426/9842 1749/2351/9843 -f 1752/2350/9844 1755/2352/9845 1753/2427/9846 -f 1762/2428/9847 1758/2347/9848 1757/2429/9849 -f 1754/2430/9850 1762/2428/9851 1759/2431/9852 -f 1759/2431/9853 1762/2428/9854 1761/2432/9855 -f 1754/2430/9856 1750/2433/9857 1762/2428/9858 -f 1750/2433/9859 1805/2348/9860 1762/2428/9861 -f 1762/2428/9862 1805/2348/9863 1758/2347/9864 -f 1805/2348/9865 1780/2426/9866 1756/2349/9867 -f 1756/2349/9868 1780/2426/9869 1779/2423/9870 -f 1806/2434/9871 1770/2435/9872 1777/2391/9873 -f 1777/2391/9874 1770/2435/9875 1778/2393/9876 -f 1770/2435/9877 1806/2434/9878 1772/2386/9879 -f 1768/2436/9880 1773/2437/9881 1776/2387/9882 -f 1776/2387/9883 1773/2437/9884 1775/2438/9885 -f 1806/2434/9886 1764/2439/9887 1772/2386/9888 -f 1772/2386/9889 1764/2439/9890 1776/2387/9891 -f 1764/2439/9892 1768/2436/9893 1776/2387/9894 -f 1778/2393/9895 1770/2435/9896 1774/2440/9897 -f 1782/2353/9898 1766/2355/9899 1781/2396/9900 -f 1769/2441/9901 1766/2355/9902 1767/2442/9903 -f 1763/2443/9904 1766/2355/9905 1769/2441/9906 -f 1781/2396/9907 1766/2355/9908 1763/2443/9909 -f 1809/2444/9910 1808/2445/9911 1818/2446/9912 -f 1818/2446/9913 1808/2445/9914 1819/2447/9915 -f 1832/2448/9916 1831/2449/9917 1833/2450/9918 -f 1833/2450/9919 1831/2449/9920 1823/2451/9921 -f 1831/2449/9922 1830/2452/9923 1823/2451/9924 -f 1830/2452/9925 1838/2453/9926 1823/2451/9927 -f 1823/2451/9928 1838/2453/9929 1824/2454/9930 -f 1824/2454/9931 1838/2453/9932 1825/2455/9933 -f 1825/2455/9934 1838/2453/9935 1826/2456/9936 -f 1838/2453/9937 1829/2457/9938 1826/2456/9939 -f 1829/2457/9940 1828/2458/9941 1826/2456/9942 -f 1828/2458/9943 1827/2459/9944 1826/2456/9945 -f 1825/2455/9946 1834/2460/9947 1824/2454/9948 -f 1824/2454/9949 1834/2460/9950 1835/2461/9951 -f 1807/2462/9952 1823/2463/9953 1808/2445/9954 -f 1808/2445/9955 1823/2463/9956 1824/2464/9957 -f 1807/2462/9958 1817/2465/9959 1823/2463/9960 -f 1823/2463/9961 1817/2465/9962 1833/2466/9963 -f 1817/2465/9964 1816/2467/9965 1833/2466/9966 -f 1833/2466/9967 1816/2467/9968 1832/2468/9969 -f 1816/2467/9970 1815/2469/9971 1832/2468/9972 -f 1832/2468/9973 1815/2469/9974 1831/2470/9975 -f 1814/2471/9976 1830/2472/9977 1815/2469/9978 -f 1815/2469/9979 1830/2472/9980 1831/2470/9981 -f 1814/2471/9982 1820/2473/9983 1830/2472/9984 -f 1830/2472/9985 1820/2473/9986 1836/2474/9987 -f 1820/2473/9988 1821/2475/9989 1836/2476/9990 -f 1836/2476/9991 1821/2475/9992 1837/2477/9993 -f 1822/2478/9994 1838/2479/9995 1821/2475/9996 -f 1821/2475/9997 1838/2479/9998 1837/2480/9999 -f 1813/2481/10000 1829/2482/10001 1822/2478/10002 -f 1822/2478/10003 1829/2482/10004 1838/2479/10005 -f 1813/2481/10006 1812/2483/10007 1829/2482/10008 -f 1829/2482/10009 1812/2483/10010 1828/2484/10011 -f 1812/2483/10012 1811/2485/10013 1828/2484/10014 -f 1828/2484/10015 1811/2485/10016 1827/2486/10017 -f 1811/2485/10018 1810/2487/10019 1827/2486/10020 -f 1827/2486/10021 1810/2487/10022 1826/2488/10023 -f 1810/2487/10024 1809/2444/10025 1826/2488/10026 -f 1826/2488/10027 1809/2444/10028 1825/2489/10029 -f 1809/2444/10030 1818/2446/10031 1825/2489/10032 -f 1825/2489/10033 1818/2446/10034 1834/2490/10035 -f 1818/2446/10036 1819/2447/10037 1834/2491/10038 -f 1834/2491/10039 1819/2447/10040 1835/2492/10041 -f 1835/2493/10042 1819/2447/10043 1824/2464/10044 -f 1824/2464/10045 1819/2447/10046 1808/2445/10047 -f 1814/2471/10048 1822/2478/10049 1820/2473/10050 -f 1820/2473/10051 1822/2478/10052 1821/2475/10053 -f 1816/2467/10054 1817/2465/10055 1815/2469/10056 -f 1817/2465/10057 1807/2462/10058 1815/2469/10059 -f 1815/2469/10060 1807/2462/10061 1814/2471/10062 -f 1814/2471/10063 1807/2462/10064 1822/2478/10065 -f 1807/2462/10066 1808/2445/10067 1822/2478/10068 -f 1808/2445/10069 1809/2444/10070 1822/2478/10071 -f 1809/2444/10072 1810/2487/10073 1822/2478/10074 -f 1822/2478/10075 1810/2487/10076 1813/2481/10077 -f 1810/2487/10078 1811/2485/10079 1813/2481/10080 -f 1811/2485/10081 1812/2483/10082 1813/2481/10083 -f 1830/2452/10084 1836/2494/10085 1838/2453/10086 -f 1838/2453/10087 1836/2494/10088 1837/2495/10089 -f 1841/2496/10090 1840/2497/10091 1850/2498/10092 -f 1850/2498/10093 1840/2497/10094 1851/2499/10095 -f 1864/2500/10096 1863/2501/10097 1865/2502/10098 -f 1865/2502/10099 1863/2501/10100 1855/2503/10101 -f 1863/2501/10102 1862/2504/10103 1855/2503/10104 -f 1862/2504/10105 1870/2505/10106 1855/2503/10107 -f 1855/2503/10108 1870/2505/10109 1856/2506/10110 -f 1856/2506/10111 1870/2505/10112 1857/2507/10113 -f 1857/2507/10114 1870/2505/10115 1858/2508/10116 -f 1870/2505/10117 1861/2509/10118 1858/2508/10119 -f 1861/2509/10120 1860/2510/10121 1858/2508/10122 -f 1860/2510/10123 1859/2511/10124 1858/2508/10125 -f 1857/2507/10126 1866/2512/10127 1856/2506/10128 -f 1856/2506/10129 1866/2512/10130 1867/2513/10131 -f 1840/2497/10132 1839/2514/10133 1856/2515/10134 -f 1856/2515/10135 1839/2514/10136 1855/2516/10137 -f 1839/2514/10138 1849/2517/10139 1855/2516/10140 -f 1855/2516/10141 1849/2517/10142 1865/2518/10143 -f 1848/2519/10144 1864/2520/10145 1849/2517/10146 -f 1849/2517/10147 1864/2520/10148 1865/2518/10149 -f 1847/2521/10150 1863/2522/10151 1848/2519/10152 -f 1848/2519/10153 1863/2522/10154 1864/2520/10155 -f 1846/2523/10156 1862/2524/10157 1847/2521/10158 -f 1847/2521/10159 1862/2524/10160 1863/2522/10161 -f 1846/2523/10162 1852/2525/10163 1862/2524/10164 -f 1862/2524/10165 1852/2525/10166 1868/2526/10167 -f 1852/2525/10168 1853/2527/10169 1868/2528/10170 -f 1868/2528/10171 1853/2527/10172 1869/2529/10173 -f 1854/2530/10174 1870/2531/10175 1853/2527/10176 -f 1853/2527/10177 1870/2531/10178 1869/2532/10179 -f 1854/2530/10180 1845/2533/10181 1870/2531/10182 -f 1870/2531/10183 1845/2533/10184 1861/2534/10185 -f 1845/2533/10186 1844/2535/10187 1861/2534/10188 -f 1861/2534/10189 1844/2535/10190 1860/2536/10191 -f 1843/2537/10192 1859/2538/10193 1844/2535/10194 -f 1844/2535/10195 1859/2538/10196 1860/2536/10197 -f 1842/2539/10198 1858/2540/10199 1843/2537/10200 -f 1843/2537/10201 1858/2540/10202 1859/2538/10203 -f 1858/2540/10204 1842/2539/10205 1857/2541/10206 -f 1857/2541/10207 1842/2539/10208 1841/2496/10209 -f 1841/2496/10210 1850/2498/10211 1857/2541/10212 -f 1857/2541/10213 1850/2498/10214 1866/2542/10215 -f 1850/2498/10216 1851/2499/10217 1866/2543/10218 -f 1866/2543/10219 1851/2499/10220 1867/2544/10221 -f 1867/2545/10222 1851/2499/10223 1856/2515/10224 -f 1856/2515/10225 1851/2499/10226 1840/2497/10227 -f 1846/2523/10228 1854/2530/10229 1852/2525/10230 -f 1852/2525/10231 1854/2530/10232 1853/2527/10233 -f 1848/2519/10234 1849/2517/10235 1847/2521/10236 -f 1849/2517/10237 1839/2514/10238 1847/2521/10239 -f 1847/2521/10240 1839/2514/10241 1846/2523/10242 -f 1846/2523/10243 1839/2514/10244 1854/2530/10245 -f 1839/2514/10246 1840/2497/10247 1854/2530/10248 -f 1840/2497/10249 1841/2496/10250 1854/2530/10251 -f 1841/2496/10252 1842/2539/10253 1854/2530/10254 -f 1854/2530/10255 1842/2539/10256 1845/2533/10257 -f 1842/2539/10258 1843/2537/10259 1845/2533/10260 -f 1843/2537/10261 1844/2535/10262 1845/2533/10263 -f 1862/2504/10264 1868/2546/10265 1870/2505/10266 -f 1870/2505/10267 1868/2546/10268 1869/2547/10269 -f 1871/1652/10270 1872/1660/10271 1888/2548/10272 -f 1888/2548/10273 1887/2549/10274 1871/1652/10275 -f 1872/1660/10276 1873/1658/10277 1889/2550/10278 -f 1889/2550/10279 1888/2548/10280 1872/1660/10281 -f 1873/1658/10282 1874/1664/10283 1890/2551/10284 -f 1890/2551/10285 1889/2550/10286 1873/1658/10287 -f 1874/1664/10288 1875/1662/10289 1891/2552/10290 -f 1891/2552/10291 1890/2551/10292 1874/1664/10293 -f 1875/1662/10294 1876/1668/10295 1892/2553/10296 -f 1892/2553/10297 1891/2552/10298 1875/1662/10299 -f 1876/1668/10300 1877/1666/10301 1893/2554/10302 -f 1893/2554/10303 1892/2553/10304 1876/1668/10305 -f 1877/1666/10306 1878/1672/10307 1894/2555/10308 -f 1894/2555/10309 1893/2554/10310 1877/1666/10311 -f 1878/1672/10312 1879/1670/10313 1895/2556/10314 -f 1895/2556/10315 1894/2555/10316 1878/1672/10317 -f 1879/1670/10318 1880/1676/10319 1896/2557/10320 -f 1896/2557/10321 1895/2556/10322 1879/1670/10323 -f 1880/1676/10324 1881/1674/10325 1897/2558/10326 -f 1897/2558/10327 1896/2557/10328 1880/1676/10329 -f 1881/1674/10330 1882/1680/10331 1898/2559/10332 -f 1898/2559/10333 1897/2558/10334 1881/1674/10335 -f 1882/1680/10336 1883/1678/10337 1899/2560/10338 -f 1899/2560/10339 1898/2559/10340 1882/1680/10341 -f 1883/1678/10342 1884/1682/10343 1900/2561/10344 -f 1900/2561/10345 1899/2560/10346 1883/1678/10347 -f 1884/1682/10348 1885/1656/10349 1901/2562/10350 -f 1901/2562/10351 1900/2561/10352 1884/1682/10353 -f 1885/1656/10354 1886/1654/10355 1902/408/10356 -f 1902/408/10357 1901/2562/10358 1885/1656/10359 -f 1886/1654/10360 1871/1652/10361 1887/2549/10362 -f 1887/2549/10363 1902/408/10364 1886/1654/10365 -# 3455 faces - diff --git a/examples/web/models/resources/pbr/trooper_albedo.png b/examples/web/models/resources/pbr/trooper_albedo.png deleted file mode 100644 index ac1422e..0000000 Binary files a/examples/web/models/resources/pbr/trooper_albedo.png and /dev/null differ diff --git a/examples/web/models/resources/pbr/trooper_ao.png b/examples/web/models/resources/pbr/trooper_ao.png deleted file mode 100644 index 8567f7b..0000000 Binary files a/examples/web/models/resources/pbr/trooper_ao.png and /dev/null differ diff --git a/examples/web/models/resources/pbr/trooper_metalness.png b/examples/web/models/resources/pbr/trooper_metalness.png deleted file mode 100644 index 6c212a0..0000000 Binary files a/examples/web/models/resources/pbr/trooper_metalness.png and /dev/null differ diff --git a/examples/web/models/resources/pbr/trooper_normals.png b/examples/web/models/resources/pbr/trooper_normals.png deleted file mode 100644 index 59c7bdc..0000000 Binary files a/examples/web/models/resources/pbr/trooper_normals.png and /dev/null differ diff --git a/examples/web/models/resources/pbr/trooper_roughness.png b/examples/web/models/resources/pbr/trooper_roughness.png deleted file mode 100644 index 53186d5..0000000 Binary files a/examples/web/models/resources/pbr/trooper_roughness.png and /dev/null differ diff --git a/examples/web/models/resources/pitch.png b/examples/web/models/resources/pitch.png index 6d7a233..82f89cd 100644 Binary files a/examples/web/models/resources/pitch.png and b/examples/web/models/resources/pitch.png differ diff --git a/examples/web/models/resources/plane.png b/examples/web/models/resources/plane.png index 58951ea..b415138 100644 Binary files a/examples/web/models/resources/plane.png and b/examples/web/models/resources/plane.png differ diff --git a/examples/web/models/resources/plane_diffuse.png b/examples/web/models/resources/plane_diffuse.png index fb16f24..c02a9e2 100644 Binary files a/examples/web/models/resources/plane_diffuse.png and b/examples/web/models/resources/plane_diffuse.png differ diff --git a/examples/web/models/resources/shaders/brdf.fs b/examples/web/models/resources/shaders/brdf.fs deleted file mode 100644 index d04bc66..0000000 --- a/examples/web/models/resources/shaders/brdf.fs +++ /dev/null @@ -1,133 +0,0 @@ -/******************************************************************************************* -* -* BRDF LUT Generation - Bidirectional reflectance distribution function fragment shader -* -* REF: https://github.com/HectorMF/BRDFGenerator -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - - -// Input vertex attributes (from vertex shader) -in vec2 fragTexCoord; - -// Constant values -const float PI = 3.14159265359; -const uint MAX_SAMPLES = 1024u; - -// Output fragment color -out vec4 finalColor; - -vec2 Hammersley(uint i, uint N); -float RadicalInverseVdC(uint bits); -float GeometrySchlickGGX(float NdotV, float roughness); -float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness); -vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness); -vec2 IntegrateBRDF(float NdotV, float roughness); - -float RadicalInverseVdC(uint bits) -{ - bits = (bits << 16u) | (bits >> 16u); - bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); - bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); - bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); - bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); - return float(bits) * 2.3283064365386963e-10; // / 0x100000000 -} - -// Compute Hammersley coordinates -vec2 Hammersley(uint i, uint N) -{ - return vec2(float(i)/float(N), RadicalInverseVdC(i)); -} - -// Integrate number of importance samples for (roughness and NoV) -vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness) -{ - float a = roughness*roughness; - float phi = 2.0 * PI * Xi.x; - float cosTheta = sqrt((1.0 - Xi.y)/(1.0 + (a*a - 1.0)*Xi.y)); - float sinTheta = sqrt(1.0 - cosTheta*cosTheta); - - // Transform from spherical coordinates to cartesian coordinates (halfway vector) - vec3 H = vec3(cos(phi)*sinTheta, sin(phi)*sinTheta, cosTheta); - - // Transform from tangent space H vector to world space sample vector - vec3 up = ((abs(N.z) < 0.999) ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0)); - vec3 tangent = normalize(cross(up, N)); - vec3 bitangent = cross(N, tangent); - vec3 sampleVec = tangent*H.x + bitangent*H.y + N*H.z; - - return normalize(sampleVec); -} - -float GeometrySchlickGGX(float NdotV, float roughness) -{ - // For IBL k is calculated different - float k = (roughness*roughness)/2.0; - - float nom = NdotV; - float denom = NdotV*(1.0 - k) + k; - - return nom/denom; -} - -// Compute the geometry term for the BRDF given roughness squared, NoV, NoL -float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness) -{ - float NdotV = max(dot(N, V), 0.0); - float NdotL = max(dot(N, L), 0.0); - float ggx2 = GeometrySchlickGGX(NdotV, roughness); - float ggx1 = GeometrySchlickGGX(NdotL, roughness); - - return ggx1*ggx2; -} - -vec2 IntegrateBRDF(float NdotV, float roughness) -{ - float A = 0.0; - float B = 0.0; - vec3 V = vec3(sqrt(1.0 - NdotV*NdotV), 0.0, NdotV); - vec3 N = vec3(0.0, 0.0, 1.0); - - for (uint i = 0u; i < MAX_SAMPLES; i++) - { - // Generate a sample vector that's biased towards the preferred alignment direction (importance sampling) - - vec2 Xi = Hammersley(i, MAX_SAMPLES); // Compute a Hammersely coordinate - vec3 H = ImportanceSampleGGX(Xi, N, roughness); // Integrate number of importance samples for (roughness and NoV) - vec3 L = normalize(2.0*dot(V, H)*H - V); // Compute reflection vector L - - float NdotL = max(L.z, 0.0); // Compute normal dot light - float NdotH = max(H.z, 0.0); // Compute normal dot half - float VdotH = max(dot(V, H), 0.0); // Compute view dot half - - if (NdotL > 0.0) - { - float G = GeometrySmith(N, V, L, roughness); // Compute the geometry term for the BRDF given roughness squared, NoV, NoL - float GVis = (G*VdotH)/(NdotH*NdotV); // Compute the visibility term given G, VoH, NoH, NoV, NoL - float Fc = pow(1.0 - VdotH, 5.0); // Compute the fresnel term given VoH - - A += (1.0 - Fc)*GVis; // Sum the result given fresnel, geometry, visibility - B += Fc*GVis; - } - } - - // Calculate brdf average sample - A /= float(MAX_SAMPLES); - B /= float(MAX_SAMPLES); - - return vec2(A, B); -} - -void main() -{ - // Calculate brdf based on texture coordinates - vec2 brdf = IntegrateBRDF(fragTexCoord.x, fragTexCoord.y); - - // Calculate final fragment color - finalColor = vec4(brdf.r, brdf.g, 0.0, 1.0); -} diff --git a/examples/web/models/resources/shaders/brdf.vs b/examples/web/models/resources/shaders/brdf.vs deleted file mode 100644 index 0638467..0000000 --- a/examples/web/models/resources/shaders/brdf.vs +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Bidirectional reflectance distribution function vertex shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - -// Input vertex attributes -in vec3 vertexPosition; -in vec2 vertexTexCoord; - -// Output vertex attributes (to fragment shader) -out vec2 fragTexCoord; - -void main() -{ - // Calculate fragment position based on model transformations - fragTexCoord = vertexTexCoord; - - // Calculate final vertex position - gl_Position = vec4(vertexPosition, 1.0); -} \ No newline at end of file diff --git a/examples/web/models/resources/shaders/cubemap.fs b/examples/web/models/resources/shaders/cubemap.fs deleted file mode 100644 index e8e2853..0000000 --- a/examples/web/models/resources/shaders/cubemap.fs +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Equirectangular to cubemap fragment shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - -// Input vertex attributes (from vertex shader) -in vec3 fragPosition; - -// Input uniform values -uniform sampler2D equirectangularMap; - -// Output fragment color -out vec4 finalColor; - -vec2 SampleSphericalMap(vec3 v) -{ - vec2 uv = vec2(atan(v.z, v.x), asin(v.y)); - uv *= vec2(0.1591, 0.3183); - uv += 0.5; - return uv; -} - -void main() -{ - // Normalize local position - vec2 uv = SampleSphericalMap(normalize(fragPosition)); - - // Fetch color from texture map - vec3 color = texture(equirectangularMap, uv).rgb; - - // Calculate final fragment color - finalColor = vec4(color, 1.0); -} diff --git a/examples/web/models/resources/shaders/cubemap.vs b/examples/web/models/resources/shaders/cubemap.vs deleted file mode 100644 index 5721eaa..0000000 --- a/examples/web/models/resources/shaders/cubemap.vs +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Equirectangular to cubemap vertex shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - -// Input vertex attributes -in vec3 vertexPosition; - -// Input uniform values -uniform mat4 projection; -uniform mat4 view; - -// Output vertex attributes (to fragment shader) -out vec3 fragPosition; - -void main() -{ - // Calculate fragment position based on model transformations - fragPosition = vertexPosition; - - // Calculate final vertex position - gl_Position = projection*view*vec4(vertexPosition, 1.0); -} diff --git a/examples/web/models/resources/shaders/glsl100/cubemap.fs b/examples/web/models/resources/shaders/glsl100/cubemap.fs new file mode 100644 index 0000000..402cdea --- /dev/null +++ b/examples/web/models/resources/shaders/glsl100/cubemap.fs @@ -0,0 +1,29 @@ +#version 100 + +precision mediump float; + +// Input vertex attributes (from vertex shader) +varying vec3 fragPosition; + +// Input uniform values +uniform sampler2D equirectangularMap; + +vec2 SampleSphericalMap(vec3 v) +{ + vec2 uv = vec2(atan(v.z, v.x), asin(v.y)); + uv *= vec2(0.1591, 0.3183); + uv += 0.5; + return uv; +} + +void main() +{ + // Normalize local position + vec2 uv = SampleSphericalMap(normalize(fragPosition)); + + // Fetch color from texture map + vec3 color = texture2D(equirectangularMap, uv).rgb; + + // Calculate final fragment color + gl_FragColor = vec4(color, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl100/cubemap.vs b/examples/web/models/resources/shaders/glsl100/cubemap.vs new file mode 100644 index 0000000..fd8d17e --- /dev/null +++ b/examples/web/models/resources/shaders/glsl100/cubemap.vs @@ -0,0 +1,20 @@ +#version 100 + +// Input vertex attributes +attribute vec3 vertexPosition; + +// Input uniform values +uniform mat4 projection; +uniform mat4 view; + +// Output vertex attributes (to fragment shader) +varying vec3 fragPosition; + +void main() +{ + // Calculate fragment position based on model transformations + fragPosition = vertexPosition; + + // Calculate final vertex position + gl_Position = projection*view*vec4(vertexPosition, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl100/skybox.fs b/examples/web/models/resources/shaders/glsl100/skybox.fs new file mode 100644 index 0000000..1269a96 --- /dev/null +++ b/examples/web/models/resources/shaders/glsl100/skybox.fs @@ -0,0 +1,28 @@ +#version 100 + +precision mediump float; + +// Input vertex attributes (from vertex shader) +varying vec3 fragPosition; + +// Input uniform values +uniform samplerCube environmentMap; +uniform bool vflipped; + +void main() +{ + // Fetch color from texture map + vec4 texelColor = vec4(0.0); + + if (vflipped) texelColor = textureCube(environmentMap, vec3(fragPosition.x, -fragPosition.y, fragPosition.z)); + else texelColor = textureCube(environmentMap, fragPosition); + + vec3 color = vec3(texelColor.x, texelColor.y, texelColor.z); + + // Apply gamma correction + color = color/(color + vec3(1.0)); + color = pow(color, vec3(1.0/2.2)); + + // Calculate final fragment color + gl_FragColor = vec4(color, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl100/skybox.vs b/examples/web/models/resources/shaders/glsl100/skybox.vs new file mode 100644 index 0000000..0d00d54 --- /dev/null +++ b/examples/web/models/resources/shaders/glsl100/skybox.vs @@ -0,0 +1,24 @@ +#version 100 + +// Input vertex attributes +attribute vec3 vertexPosition; + +// Input uniform values +uniform mat4 projection; +uniform mat4 view; + +// Output vertex attributes (to fragment shader) +varying vec3 fragPosition; + +void main() +{ + // Calculate fragment position based on model transformations + fragPosition = vertexPosition; + + // Remove translation from the view matrix + mat4 rotView = mat4(mat3(view)); + vec4 clipPos = projection*rotView*vec4(vertexPosition, 1.0); + + // Calculate final vertex position + gl_Position = clipPos.xyzw; +} diff --git a/examples/web/models/resources/shaders/glsl330/brdf.fs b/examples/web/models/resources/shaders/glsl330/brdf.fs new file mode 100644 index 0000000..d04bc66 --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/brdf.fs @@ -0,0 +1,133 @@ +/******************************************************************************************* +* +* BRDF LUT Generation - Bidirectional reflectance distribution function fragment shader +* +* REF: https://github.com/HectorMF/BRDFGenerator +* +* Copyright (c) 2017 Victor Fisac +* +**********************************************************************************************/ + +#version 330 + + +// Input vertex attributes (from vertex shader) +in vec2 fragTexCoord; + +// Constant values +const float PI = 3.14159265359; +const uint MAX_SAMPLES = 1024u; + +// Output fragment color +out vec4 finalColor; + +vec2 Hammersley(uint i, uint N); +float RadicalInverseVdC(uint bits); +float GeometrySchlickGGX(float NdotV, float roughness); +float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness); +vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness); +vec2 IntegrateBRDF(float NdotV, float roughness); + +float RadicalInverseVdC(uint bits) +{ + bits = (bits << 16u) | (bits >> 16u); + bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); + bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); + bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); + bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); + return float(bits) * 2.3283064365386963e-10; // / 0x100000000 +} + +// Compute Hammersley coordinates +vec2 Hammersley(uint i, uint N) +{ + return vec2(float(i)/float(N), RadicalInverseVdC(i)); +} + +// Integrate number of importance samples for (roughness and NoV) +vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness) +{ + float a = roughness*roughness; + float phi = 2.0 * PI * Xi.x; + float cosTheta = sqrt((1.0 - Xi.y)/(1.0 + (a*a - 1.0)*Xi.y)); + float sinTheta = sqrt(1.0 - cosTheta*cosTheta); + + // Transform from spherical coordinates to cartesian coordinates (halfway vector) + vec3 H = vec3(cos(phi)*sinTheta, sin(phi)*sinTheta, cosTheta); + + // Transform from tangent space H vector to world space sample vector + vec3 up = ((abs(N.z) < 0.999) ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0)); + vec3 tangent = normalize(cross(up, N)); + vec3 bitangent = cross(N, tangent); + vec3 sampleVec = tangent*H.x + bitangent*H.y + N*H.z; + + return normalize(sampleVec); +} + +float GeometrySchlickGGX(float NdotV, float roughness) +{ + // For IBL k is calculated different + float k = (roughness*roughness)/2.0; + + float nom = NdotV; + float denom = NdotV*(1.0 - k) + k; + + return nom/denom; +} + +// Compute the geometry term for the BRDF given roughness squared, NoV, NoL +float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness) +{ + float NdotV = max(dot(N, V), 0.0); + float NdotL = max(dot(N, L), 0.0); + float ggx2 = GeometrySchlickGGX(NdotV, roughness); + float ggx1 = GeometrySchlickGGX(NdotL, roughness); + + return ggx1*ggx2; +} + +vec2 IntegrateBRDF(float NdotV, float roughness) +{ + float A = 0.0; + float B = 0.0; + vec3 V = vec3(sqrt(1.0 - NdotV*NdotV), 0.0, NdotV); + vec3 N = vec3(0.0, 0.0, 1.0); + + for (uint i = 0u; i < MAX_SAMPLES; i++) + { + // Generate a sample vector that's biased towards the preferred alignment direction (importance sampling) + + vec2 Xi = Hammersley(i, MAX_SAMPLES); // Compute a Hammersely coordinate + vec3 H = ImportanceSampleGGX(Xi, N, roughness); // Integrate number of importance samples for (roughness and NoV) + vec3 L = normalize(2.0*dot(V, H)*H - V); // Compute reflection vector L + + float NdotL = max(L.z, 0.0); // Compute normal dot light + float NdotH = max(H.z, 0.0); // Compute normal dot half + float VdotH = max(dot(V, H), 0.0); // Compute view dot half + + if (NdotL > 0.0) + { + float G = GeometrySmith(N, V, L, roughness); // Compute the geometry term for the BRDF given roughness squared, NoV, NoL + float GVis = (G*VdotH)/(NdotH*NdotV); // Compute the visibility term given G, VoH, NoH, NoV, NoL + float Fc = pow(1.0 - VdotH, 5.0); // Compute the fresnel term given VoH + + A += (1.0 - Fc)*GVis; // Sum the result given fresnel, geometry, visibility + B += Fc*GVis; + } + } + + // Calculate brdf average sample + A /= float(MAX_SAMPLES); + B /= float(MAX_SAMPLES); + + return vec2(A, B); +} + +void main() +{ + // Calculate brdf based on texture coordinates + vec2 brdf = IntegrateBRDF(fragTexCoord.x, fragTexCoord.y); + + // Calculate final fragment color + finalColor = vec4(brdf.r, brdf.g, 0.0, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl330/brdf.vs b/examples/web/models/resources/shaders/glsl330/brdf.vs new file mode 100644 index 0000000..0638467 --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/brdf.vs @@ -0,0 +1,25 @@ +/******************************************************************************************* +* +* rPBR [shader] - Bidirectional reflectance distribution function vertex shader +* +* Copyright (c) 2017 Victor Fisac +* +**********************************************************************************************/ + +#version 330 + +// Input vertex attributes +in vec3 vertexPosition; +in vec2 vertexTexCoord; + +// Output vertex attributes (to fragment shader) +out vec2 fragTexCoord; + +void main() +{ + // Calculate fragment position based on model transformations + fragTexCoord = vertexTexCoord; + + // Calculate final vertex position + gl_Position = vec4(vertexPosition, 1.0); +} \ No newline at end of file diff --git a/examples/web/models/resources/shaders/glsl330/cubemap.fs b/examples/web/models/resources/shaders/glsl330/cubemap.fs new file mode 100644 index 0000000..e4d4ddd --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/cubemap.fs @@ -0,0 +1,30 @@ +#version 330 + +// Input vertex attributes (from vertex shader) +in vec3 fragPosition; + +// Input uniform values +uniform sampler2D equirectangularMap; + +// Output fragment color +out vec4 finalColor; + +vec2 SampleSphericalMap(vec3 v) +{ + vec2 uv = vec2(atan(v.z, v.x), asin(v.y)); + uv *= vec2(0.1591, 0.3183); + uv += 0.5; + return uv; +} + +void main() +{ + // Normalize local position + vec2 uv = SampleSphericalMap(normalize(fragPosition)); + + // Fetch color from texture map + vec3 color = texture(equirectangularMap, uv).rgb; + + // Calculate final fragment color + finalColor = vec4(color, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl330/cubemap.vs b/examples/web/models/resources/shaders/glsl330/cubemap.vs new file mode 100644 index 0000000..5721eaa --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/cubemap.vs @@ -0,0 +1,28 @@ +/******************************************************************************************* +* +* rPBR [shader] - Equirectangular to cubemap vertex shader +* +* Copyright (c) 2017 Victor Fisac +* +**********************************************************************************************/ + +#version 330 + +// Input vertex attributes +in vec3 vertexPosition; + +// Input uniform values +uniform mat4 projection; +uniform mat4 view; + +// Output vertex attributes (to fragment shader) +out vec3 fragPosition; + +void main() +{ + // Calculate fragment position based on model transformations + fragPosition = vertexPosition; + + // Calculate final vertex position + gl_Position = projection*view*vec4(vertexPosition, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl330/irradiance.fs b/examples/web/models/resources/shaders/glsl330/irradiance.fs new file mode 100644 index 0000000..4ef03e0 --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/irradiance.fs @@ -0,0 +1,58 @@ +/******************************************************************************************* +* +* rPBR [shader] - Irradiance cubemap fragment shader +* +* Copyright (c) 2017 Victor Fisac +* +**********************************************************************************************/ + +#version 330 + +// Input vertex attributes (from vertex shader) +in vec3 fragPosition; + +// Input uniform values +uniform samplerCube environmentMap; + +// Constant values +const float PI = 3.14159265359; + +// Output fragment color +out vec4 finalColor; + +void main() +{ + // The sample direction equals the hemisphere's orientation + vec3 normal = normalize(fragPosition); + + vec3 irradiance = vec3(0.0); + + vec3 up = vec3(0.0, 1.0, 0.0); + vec3 right = cross(up, normal); + up = cross(normal, right); + + float sampleDelta = 0.025; + float nrSamples = 0.0; + + for (float phi = 0.0; phi < 2.0*PI; phi += sampleDelta) + { + for (float theta = 0.0; theta < 0.5*PI; theta += sampleDelta) + { + // Spherical to cartesian (in tangent space) + vec3 tangentSample = vec3(sin(theta)*cos(phi), sin(theta)*sin(phi), cos(theta)); + + // tangent space to world + vec3 sampleVec = tangentSample.x*right + tangentSample.y*up + tangentSample.z*normal; + + // Fetch color from environment cubemap + irradiance += texture(environmentMap, sampleVec).rgb*cos(theta)*sin(theta); + nrSamples++; + } + } + + // Calculate irradiance average value from samples + irradiance = PI*irradiance*(1.0/float(nrSamples)); + + // Calculate final fragment color + finalColor = vec4(irradiance, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl330/pbr.fs b/examples/web/models/resources/shaders/glsl330/pbr.fs new file mode 100644 index 0000000..68bf203 --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/pbr.fs @@ -0,0 +1,300 @@ +/******************************************************************************************* +* +* rPBR [shader] - Physically based rendering fragment shader +* +* Copyright (c) 2017 Victor Fisac +* +**********************************************************************************************/ + +#version 330 + +#define MAX_REFLECTION_LOD 4.0 +#define MAX_DEPTH_LAYER 20 +#define MIN_DEPTH_LAYER 10 + +#define MAX_LIGHTS 4 +#define LIGHT_DIRECTIONAL 0 +#define LIGHT_POINT 1 + +struct MaterialProperty { + vec3 color; + int useSampler; + sampler2D sampler; +}; + +struct Light { + int enabled; + int type; + vec3 position; + vec3 target; + vec4 color; +}; + +// Input vertex attributes (from vertex shader) +in vec3 fragPosition; +in vec2 fragTexCoord; +in vec3 fragNormal; +in vec3 fragTangent; +in vec3 fragBinormal; + +// Input material values +uniform MaterialProperty albedo; +uniform MaterialProperty normals; +uniform MaterialProperty metalness; +uniform MaterialProperty roughness; +uniform MaterialProperty occlusion; +uniform MaterialProperty emission; +uniform MaterialProperty height; + +// Input uniform values +uniform samplerCube irradianceMap; +uniform samplerCube prefilterMap; +uniform sampler2D brdfLUT; + +// Input lighting values +uniform Light lights[MAX_LIGHTS]; + +// Other uniform values +uniform int renderMode; +uniform vec3 viewPos; +vec2 texCoord; + +// Constant values +const float PI = 3.14159265359; + +// Output fragment color +out vec4 finalColor; + +vec3 ComputeMaterialProperty(MaterialProperty property); +float DistributionGGX(vec3 N, vec3 H, float roughness); +float GeometrySchlickGGX(float NdotV, float roughness); +float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness); +vec3 fresnelSchlick(float cosTheta, vec3 F0); +vec3 fresnelSchlickRoughness(float cosTheta, vec3 F0, float roughness); +vec2 ParallaxMapping(vec2 texCoords, vec3 viewDir); + +// WARNING: There is some weird behaviour with this function, always returns black! +// Yes, I even tried: return texture(property.sampler, texCoord).rgb; +vec3 ComputeMaterialProperty(MaterialProperty property) +{ + vec3 result = vec3(0.0, 0.0, 0.0); + + if (property.useSampler == 1) result = texture(property.sampler, texCoord).rgb; + else result = property.color; + + return result; +} + +float DistributionGGX(vec3 N, vec3 H, float roughness) +{ + float a = roughness*roughness; + float a2 = a*a; + float NdotH = max(dot(N, H), 0.0); + float NdotH2 = NdotH*NdotH; + + float nom = a2; + float denom = (NdotH2*(a2 - 1.0) + 1.0); + denom = PI*denom*denom; + + return nom/denom; +} + +float GeometrySchlickGGX(float NdotV, float roughness) +{ + float r = (roughness + 1.0); + float k = r*r/8.0; + + float nom = NdotV; + float denom = NdotV*(1.0 - k) + k; + + return nom/denom; +} +float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness) +{ + float NdotV = max(dot(N, V), 0.0); + float NdotL = max(dot(N, L), 0.0); + float ggx2 = GeometrySchlickGGX(NdotV, roughness); + float ggx1 = GeometrySchlickGGX(NdotL, roughness); + + return ggx1*ggx2; +} + +vec3 fresnelSchlick(float cosTheta, vec3 F0) +{ + return F0 + (1.0 - F0)*pow(1.0 - cosTheta, 5.0); +} + +vec3 fresnelSchlickRoughness(float cosTheta, vec3 F0, float roughness) +{ + return F0 + (max(vec3(1.0 - roughness), F0) - F0)*pow(1.0 - cosTheta, 5.0); +} + +vec2 ParallaxMapping(vec2 texCoords, vec3 viewDir) +{ + // Calculate the number of depth layers and calculate the size of each layer + float numLayers = mix(MAX_DEPTH_LAYER, MIN_DEPTH_LAYER, abs(dot(vec3(0.0, 0.0, 1.0), viewDir))); + float layerDepth = 1.0/numLayers; + + // Calculate depth of current layer + float currentLayerDepth = 0.0; + + // Calculate the amount to shift the texture coordinates per layer (from vector P) + // Note: height amount is stored in height material attribute color R channel (sampler use is independent) + vec2 P = viewDir.xy*height.color.r; + vec2 deltaTexCoords = P/numLayers; + + // Store initial texture coordinates and depth values + vec2 currentTexCoords = texCoords; + float currentDepthMapValue = texture(height.sampler, currentTexCoords).r; + + while (currentLayerDepth < currentDepthMapValue) + { + // Shift texture coordinates along direction of P + currentTexCoords -= deltaTexCoords; + + // Get depth map value at current texture coordinates + currentDepthMapValue = texture(height.sampler, currentTexCoords).r; + + // Get depth of next layer + currentLayerDepth += layerDepth; + } + + // Get texture coordinates before collision (reverse operations) + vec2 prevTexCoords = currentTexCoords + deltaTexCoords; + + // Get depth after and before collision for linear interpolation + float afterDepth = currentDepthMapValue - currentLayerDepth; + float beforeDepth = texture(height.sampler, prevTexCoords).r - currentLayerDepth + layerDepth; + + // Interpolation of texture coordinates + float weight = afterDepth/(afterDepth - beforeDepth); + vec2 finalTexCoords = prevTexCoords*weight + currentTexCoords*(1.0 - weight); + + return finalTexCoords; +} + +void main() +{ + // Calculate TBN and RM matrices + mat3 TBN = transpose(mat3(fragTangent, fragBinormal, fragNormal)); + + // Calculate lighting required attributes + vec3 normal = normalize(fragNormal); + vec3 view = normalize(viewPos - fragPosition); + vec3 refl = reflect(-view, normal); + + // Check if parallax mapping is enabled and calculate texture coordinates to use based on height map + // NOTE: remember that 'texCoord' variable must be assigned before calling any ComputeMaterialProperty() function + if (height.useSampler == 1) texCoord = ParallaxMapping(fragTexCoord, view); + else texCoord = fragTexCoord; // Use default texture coordinates + + // Fetch material values from texture sampler or color attributes + vec3 color = texture(albedo.sampler, texCoord).rgb; //ComputeMaterialProperty(albedo); + vec3 metal = texture(metalness.sampler, texCoord).rgb; //ComputeMaterialProperty(metalness); + vec3 rough = texture(roughness.sampler, texCoord).rgb; //ComputeMaterialProperty(roughness); + vec3 emiss = texture(emission.sampler, texCoord).rgb; //ComputeMaterialProperty(emission); + vec3 ao = texture(occlusion.sampler, texCoord).rgb; //ComputeMaterialProperty(occlusion); + + // Check if normal mapping is enabled + if (normals.useSampler == 1) + { + // Fetch normal map color and transform lighting values to tangent space + normal = texture(normals.sampler, texCoord).rgb; //ComputeMaterialProperty(normals); + normal = normalize(normal*2.0 - 1.0); + normal = normalize(normal*TBN); + + // Convert tangent space normal to world space due to cubemap reflection calculations + refl = normalize(reflect(-view, normal)); + } + + // Calculate reflectance at normal incidence + vec3 F0 = vec3(0.04); + F0 = mix(F0, color, metal.r); + + // Calculate lighting for all lights + vec3 Lo = vec3(0.0); + vec3 lightDot = vec3(0.0); + + for (int i = 0; i < MAX_LIGHTS; i++) + { + if (lights[i].enabled == 1) + { + // Calculate per-light radiance + vec3 light = vec3(0.0); + vec3 radiance = lights[i].color.rgb; + if (lights[i].type == LIGHT_DIRECTIONAL) light = -normalize(lights[i].target - lights[i].position); + else if (lights[i].type == LIGHT_POINT) + { + light = normalize(lights[i].position - fragPosition); + float distance = length(lights[i].position - fragPosition); + float attenuation = 1.0/(distance*distance); + radiance *= attenuation; + } + + // Cook-torrance BRDF + vec3 high = normalize(view + light); + float NDF = DistributionGGX(normal, high, rough.r); + float G = GeometrySmith(normal, view, light, rough.r); + vec3 F = fresnelSchlick(max(dot(high, view), 0.0), F0); + vec3 nominator = NDF*G*F; + float denominator = 4*max(dot(normal, view), 0.0)*max(dot(normal, light), 0.0) + 0.001; + vec3 brdf = nominator/denominator; + + // Store to kS the fresnel value and calculate energy conservation + vec3 kS = F; + vec3 kD = vec3(1.0) - kS; + + // Multiply kD by the inverse metalness such that only non-metals have diffuse lighting + kD *= 1.0 - metal.r; + + // Scale light by dot product between normal and light direction + float NdotL = max(dot(normal, light), 0.0); + + // Add to outgoing radiance Lo + // Note: BRDF is already multiplied by the Fresnel so it doesn't need to be multiplied again + Lo += (kD*color/PI + brdf)*radiance*NdotL*lights[i].color.a; + lightDot += radiance*NdotL + brdf*lights[i].color.a; + } + } + + // Calculate ambient lighting using IBL + vec3 F = fresnelSchlickRoughness(max(dot(normal, view), 0.0), F0, rough.r); + vec3 kS = F; + vec3 kD = 1.0 - kS; + kD *= 1.0 - metal.r; + + // Calculate indirect diffuse + vec3 irradiance = texture(irradianceMap, fragNormal).rgb; + vec3 diffuse = color*irradiance; + + // Sample both the prefilter map and the BRDF lut and combine them together as per the Split-Sum approximation + vec3 prefilterColor = textureLod(prefilterMap, refl, rough.r*MAX_REFLECTION_LOD).rgb; + vec2 brdf = texture(brdfLUT, vec2(max(dot(normal, view), 0.0), rough.r)).rg; + vec3 reflection = prefilterColor*(F*brdf.x + brdf.y); + + // Calculate final lighting + vec3 ambient = (kD*diffuse + reflection)*ao; + + // Calculate fragment color based on render mode + vec3 fragmentColor = ambient + Lo + emiss; // Physically Based Rendering + + if (renderMode == 1) fragmentColor = color; // Albedo + else if (renderMode == 2) fragmentColor = normal; // Normals + else if (renderMode == 3) fragmentColor = metal; // Metalness + else if (renderMode == 4) fragmentColor = rough; // Roughness + else if (renderMode == 5) fragmentColor = ao; // Ambient Occlusion + else if (renderMode == 6) fragmentColor = emiss; // Emission + else if (renderMode == 7) fragmentColor = lightDot; // Lighting + else if (renderMode == 8) fragmentColor = kS; // Fresnel + else if (renderMode == 9) fragmentColor = irradiance; // Irradiance + else if (renderMode == 10) fragmentColor = reflection; // Reflection + + // Apply HDR tonemapping + fragmentColor = fragmentColor/(fragmentColor + vec3(1.0)); + + // Apply gamma correction + fragmentColor = pow(fragmentColor, vec3(1.0/2.2)); + + // Calculate final fragment color + finalColor = vec4(fragmentColor, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl330/pbr.vs b/examples/web/models/resources/shaders/glsl330/pbr.vs new file mode 100644 index 0000000..045428c --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/pbr.vs @@ -0,0 +1,49 @@ +/******************************************************************************************* +* +* rPBR [shader] - Physically based rendering vertex shader +* +* Copyright (c) 2017 Victor Fisac +* +**********************************************************************************************/ + +#version 330 + +// Input vertex attributes +in vec3 vertexPosition; +in vec2 vertexTexCoord; +in vec3 vertexNormal; +in vec4 vertexTangent; + +// Input uniform values +uniform mat4 mvp; +uniform mat4 matModel; + +// Output vertex attributes (to fragment shader) +out vec3 fragPosition; +out vec2 fragTexCoord; +out vec3 fragNormal; +out vec3 fragTangent; +out vec3 fragBinormal; + +void main() +{ + // Calculate binormal from vertex normal and tangent + vec3 vertexBinormal = cross(vertexNormal, vec3(vertexTangent)); + + // Calculate fragment normal based on normal transformations + mat3 normalMatrix = transpose(inverse(mat3(matModel))); + + // Calculate fragment position based on model transformations + fragPosition = vec3(matModel*vec4(vertexPosition, 1.0)); + + // Send vertex attributes to fragment shader + fragTexCoord = vertexTexCoord; + fragNormal = normalize(normalMatrix*vertexNormal); + fragTangent = normalize(normalMatrix*vec3(vertexTangent)); + fragTangent = normalize(fragTangent - dot(fragTangent, fragNormal)*fragNormal); + fragBinormal = normalize(normalMatrix*vertexBinormal); + fragBinormal = cross(fragNormal, fragTangent); + + // Calculate final vertex position + gl_Position = mvp*vec4(vertexPosition, 1.0); +} \ No newline at end of file diff --git a/examples/web/models/resources/shaders/glsl330/prefilter.fs b/examples/web/models/resources/shaders/glsl330/prefilter.fs new file mode 100644 index 0000000..941ea86 --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/prefilter.fs @@ -0,0 +1,120 @@ +/******************************************************************************************* +* +* rPBR [shader] - Prefiltered environment for reflections fragment shader +* +* Copyright (c) 2017 Victor Fisac +* +**********************************************************************************************/ + +#version 330 +#define MAX_SAMPLES 1024u +#define CUBEMAP_RESOLUTION 1024.0 + +// Input vertex attributes (from vertex shader) +in vec3 fragPosition; + +// Input uniform values +uniform samplerCube environmentMap; +uniform float roughness; + +// Constant values +const float PI = 3.14159265359; + +// Output fragment color +out vec4 finalColor; + +float DistributionGGX(vec3 N, vec3 H, float roughness); +float RadicalInverse_VdC(uint bits); +vec2 Hammersley(uint i, uint N); +vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness); + +float DistributionGGX(vec3 N, vec3 H, float roughness) +{ + float a = roughness*roughness; + float a2 = a*a; + float NdotH = max(dot(N, H), 0.0); + float NdotH2 = NdotH*NdotH; + + float nom = a2; + float denom = (NdotH2*(a2 - 1.0) + 1.0); + denom = PI*denom*denom; + + return nom/denom; +} + +float RadicalInverse_VdC(uint bits) +{ + bits = (bits << 16u) | (bits >> 16u); + bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); + bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); + bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); + bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); + return float(bits)*2.3283064365386963e-10; // / 0x100000000 +} + +vec2 Hammersley(uint i, uint N) +{ + return vec2(float(i)/float(N), RadicalInverse_VdC(i)); +} + +vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness) +{ + float a = roughness*roughness; + float phi = 2.0*PI*Xi.x; + float cosTheta = sqrt((1.0 - Xi.y)/(1.0 + (a*a - 1.0)*Xi.y)); + float sinTheta = sqrt(1.0 - cosTheta*cosTheta); + + // Transform from spherical coordinates to cartesian coordinates (halfway vector) + vec3 H = vec3(cos(phi)*sinTheta, sin(phi)*sinTheta, cosTheta); + + // Transform from tangent space H vector to world space sample vector + vec3 up = ((abs(N.z) < 0.999) ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0)); + vec3 tangent = normalize(cross(up, N)); + vec3 bitangent = cross(N, tangent); + vec3 sampleVec = tangent*H.x + bitangent*H.y + N*H.z; + + return normalize(sampleVec); +} + +void main() +{ + // Make the simplyfying assumption that V equals R equals the normal + vec3 N = normalize(fragPosition); + vec3 R = N; + vec3 V = R; + + vec3 prefilteredColor = vec3(0.0); + float totalWeight = 0.0; + + for (uint i = 0u; i < MAX_SAMPLES; i++) + { + // Generate a sample vector that's biased towards the preferred alignment direction (importance sampling) + vec2 Xi = Hammersley(i, MAX_SAMPLES); + vec3 H = ImportanceSampleGGX(Xi, N, roughness); + vec3 L = normalize(2.0*dot(V, H)*H - V); + + float NdotL = max(dot(N, L), 0.0); + if(NdotL > 0.0) + { + // Sample from the environment's mip level based on roughness/pdf + float D = DistributionGGX(N, H, roughness); + float NdotH = max(dot(N, H), 0.0); + float HdotV = max(dot(H, V), 0.0); + float pdf = D*NdotH/(4.0*HdotV) + 0.0001; + + float resolution = CUBEMAP_RESOLUTION; + float saTexel = 4.0*PI/(6.0*resolution*resolution); + float saSample = 1.0/(float(MAX_SAMPLES)*pdf + 0.0001); + float mipLevel = ((roughness == 0.0) ? 0.0 : 0.5*log2(saSample/saTexel)); + + prefilteredColor += textureLod(environmentMap, L, mipLevel).rgb*NdotL; + totalWeight += NdotL; + } + } + + // Calculate prefilter average color + prefilteredColor = prefilteredColor/totalWeight; + + // Calculate final fragment color + finalColor = vec4(prefilteredColor, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl330/skybox.fs b/examples/web/models/resources/shaders/glsl330/skybox.fs new file mode 100644 index 0000000..c7a1788 --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/skybox.fs @@ -0,0 +1,37 @@ +/******************************************************************************************* +* +* rPBR [shader] - Background skybox fragment shader +* +* Copyright (c) 2017 Victor Fisac +* +* 19-Jun-2020 - modified by Giuseppe Mastrangelo (@peppemas) - VFlip Support +* +**********************************************************************************************/ + +#version 330 + +// Input vertex attributes (from vertex shader) +in vec3 fragPosition; + +// Input uniform values +uniform samplerCube environmentMap; +uniform bool vflipped; + +// Output fragment color +out vec4 finalColor; + +void main() +{ + // Fetch color from texture map + vec3 color = vec3(0.0); + + if (vflipped) color = texture(environmentMap, vec3(fragPosition.x, -fragPosition.y, fragPosition.z)).rgb; + else color = texture(environmentMap, fragPosition).rgb; + + // Apply gamma correction + color = color/(color + vec3(1.0)); + color = pow(color, vec3(1.0/2.2)); + + // Calculate final fragment color + finalColor = vec4(color, 1.0); +} diff --git a/examples/web/models/resources/shaders/glsl330/skybox.vs b/examples/web/models/resources/shaders/glsl330/skybox.vs new file mode 100644 index 0000000..4fe9a2c --- /dev/null +++ b/examples/web/models/resources/shaders/glsl330/skybox.vs @@ -0,0 +1,32 @@ +/******************************************************************************************* +* +* rPBR [shader] - Background skybox vertex shader +* +* Copyright (c) 2017 Victor Fisac +* +**********************************************************************************************/ + +#version 330 + +// Input vertex attributes +in vec3 vertexPosition; + +// Input uniform values +uniform mat4 projection; +uniform mat4 view; + +// Output vertex attributes (to fragment shader) +out vec3 fragPosition; + +void main() +{ + // Calculate fragment position based on model transformations + fragPosition = vertexPosition; + + // Remove translation from the view matrix + mat4 rotView = mat4(mat3(view)); + vec4 clipPos = projection*rotView*vec4(vertexPosition, 1.0); + + // Calculate final vertex position + gl_Position = clipPos.xyzw; +} diff --git a/examples/web/models/resources/shaders/irradiance.fs b/examples/web/models/resources/shaders/irradiance.fs deleted file mode 100644 index b42d214..0000000 --- a/examples/web/models/resources/shaders/irradiance.fs +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Irradiance cubemap fragment shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - -// Input vertex attributes (from vertex shader) -in vec3 fragPosition; - -// Input uniform values -uniform samplerCube environmentMap; - -// Constant values -const float PI = 3.14159265359f; - -// Output fragment color -out vec4 finalColor; - -void main() -{ - // The sample direction equals the hemisphere's orientation - vec3 normal = normalize(fragPosition); - - vec3 irradiance = vec3(0.0); - - vec3 up = vec3(0.0, 1.0, 0.0); - vec3 right = cross(up, normal); - up = cross(normal, right); - - float sampleDelta = 0.025f; - float nrSamples = 0.0f; - - for (float phi = 0.0; phi < 2.0*PI; phi += sampleDelta) - { - for (float theta = 0.0; theta < 0.5*PI; theta += sampleDelta) - { - // Spherical to cartesian (in tangent space) - vec3 tangentSample = vec3(sin(theta)*cos(phi), sin(theta)*sin(phi), cos(theta)); - - // tangent space to world - vec3 sampleVec = tangentSample.x*right + tangentSample.y*up + tangentSample.z*normal; - - // Fetch color from environment cubemap - irradiance += texture(environmentMap, sampleVec).rgb*cos(theta)*sin(theta); - nrSamples++; - } - } - - // Calculate irradiance average value from samples - irradiance = PI*irradiance*(1.0/float(nrSamples)); - - // Calculate final fragment color - finalColor = vec4(irradiance, 1.0); -} diff --git a/examples/web/models/resources/shaders/pbr.fs b/examples/web/models/resources/shaders/pbr.fs deleted file mode 100644 index 38d56c5..0000000 --- a/examples/web/models/resources/shaders/pbr.fs +++ /dev/null @@ -1,298 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Physically based rendering fragment shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - -#define MAX_REFLECTION_LOD 4.0 -#define MAX_DEPTH_LAYER 20 -#define MIN_DEPTH_LAYER 10 - -#define MAX_LIGHTS 4 -#define LIGHT_DIRECTIONAL 0 -#define LIGHT_POINT 1 - -struct MaterialProperty { - vec3 color; - int useSampler; - sampler2D sampler; -}; - -struct Light { - int enabled; - int type; - vec3 position; - vec3 target; - vec4 color; -}; - -// Input vertex attributes (from vertex shader) -in vec3 fragPosition; -in vec2 fragTexCoord; -in vec3 fragNormal; -in vec3 fragTangent; -in vec3 fragBinormal; - -// Input material values -uniform MaterialProperty albedo; -uniform MaterialProperty normals; -uniform MaterialProperty metalness; -uniform MaterialProperty roughness; -uniform MaterialProperty occlusion; -uniform MaterialProperty emission; -uniform MaterialProperty height; - -// Input uniform values -uniform samplerCube irradianceMap; -uniform samplerCube prefilterMap; -uniform sampler2D brdfLUT; - -// Input lighting values -uniform Light lights[MAX_LIGHTS]; - -// Other uniform values -uniform int renderMode; -uniform vec3 viewPos; -vec2 texCoord; - -// Constant values -const float PI = 3.14159265359; - -// Output fragment color -out vec4 finalColor; - -vec3 ComputeMaterialProperty(MaterialProperty property); -float DistributionGGX(vec3 N, vec3 H, float roughness); -float GeometrySchlickGGX(float NdotV, float roughness); -float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness); -vec3 fresnelSchlick(float cosTheta, vec3 F0); -vec3 fresnelSchlickRoughness(float cosTheta, vec3 F0, float roughness); -vec2 ParallaxMapping(vec2 texCoords, vec3 viewDir); - -vec3 ComputeMaterialProperty(MaterialProperty property) -{ - vec3 result = vec3(0.0, 0.0, 0.0); - - if (property.useSampler == 1) result = texture(property.sampler, texCoord).rgb; - else result = property.color; - - return result; -} - -float DistributionGGX(vec3 N, vec3 H, float roughness) -{ - float a = roughness*roughness; - float a2 = a*a; - float NdotH = max(dot(N, H), 0.0); - float NdotH2 = NdotH*NdotH; - - float nom = a2; - float denom = (NdotH2*(a2 - 1.0) + 1.0); - denom = PI*denom*denom; - - return nom/denom; -} - -float GeometrySchlickGGX(float NdotV, float roughness) -{ - float r = (roughness + 1.0); - float k = r*r/8.0; - - float nom = NdotV; - float denom = NdotV*(1.0 - k) + k; - - return nom/denom; -} -float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness) -{ - float NdotV = max(dot(N, V), 0.0); - float NdotL = max(dot(N, L), 0.0); - float ggx2 = GeometrySchlickGGX(NdotV, roughness); - float ggx1 = GeometrySchlickGGX(NdotL, roughness); - - return ggx1*ggx2; -} - -vec3 fresnelSchlick(float cosTheta, vec3 F0) -{ - return F0 + (1.0 - F0)*pow(1.0 - cosTheta, 5.0); -} - -vec3 fresnelSchlickRoughness(float cosTheta, vec3 F0, float roughness) -{ - return F0 + (max(vec3(1.0 - roughness), F0) - F0)*pow(1.0 - cosTheta, 5.0); -} - -vec2 ParallaxMapping(vec2 texCoords, vec3 viewDir) -{ - // Calculate the number of depth layers and calculate the size of each layer - float numLayers = mix(MAX_DEPTH_LAYER, MIN_DEPTH_LAYER, abs(dot(vec3(0.0, 0.0, 1.0), viewDir))); - float layerDepth = 1.0/numLayers; - - // Calculate depth of current layer - float currentLayerDepth = 0.0; - - // Calculate the amount to shift the texture coordinates per layer (from vector P) - // Note: height amount is stored in height material attribute color R channel (sampler use is independent) - vec2 P = viewDir.xy*height.color.r; - vec2 deltaTexCoords = P/numLayers; - - // Store initial texture coordinates and depth values - vec2 currentTexCoords = texCoords; - float currentDepthMapValue = texture(height.sampler, currentTexCoords).r; - - while (currentLayerDepth < currentDepthMapValue) - { - // Shift texture coordinates along direction of P - currentTexCoords -= deltaTexCoords; - - // Get depth map value at current texture coordinates - currentDepthMapValue = texture(height.sampler, currentTexCoords).r; - - // Get depth of next layer - currentLayerDepth += layerDepth; - } - - // Get texture coordinates before collision (reverse operations) - vec2 prevTexCoords = currentTexCoords + deltaTexCoords; - - // Get depth after and before collision for linear interpolation - float afterDepth = currentDepthMapValue - currentLayerDepth; - float beforeDepth = texture(height.sampler, prevTexCoords).r - currentLayerDepth + layerDepth; - - // Interpolation of texture coordinates - float weight = afterDepth/(afterDepth - beforeDepth); - vec2 finalTexCoords = prevTexCoords*weight + currentTexCoords*(1.0 - weight); - - return finalTexCoords; -} - -void main() -{ - // Calculate TBN and RM matrices - mat3 TBN = transpose(mat3(fragTangent, fragBinormal, fragNormal)); - - // Calculate lighting required attributes - vec3 normal = normalize(fragNormal); - vec3 view = normalize(viewPos - fragPosition); - vec3 refl = reflect(-view, normal); - - // Check if parallax mapping is enabled and calculate texture coordinates to use based on height map - // NOTE: remember that 'texCoord' variable must be assigned before calling any ComputeMaterialProperty() function - if (height.useSampler == 1) texCoord = ParallaxMapping(fragTexCoord, view); - else texCoord = fragTexCoord; // Use default texture coordinates - - // Fetch material values from texture sampler or color attributes - vec3 color = ComputeMaterialProperty(albedo); - vec3 metal = ComputeMaterialProperty(metalness); - vec3 rough = ComputeMaterialProperty(roughness); - vec3 emiss = ComputeMaterialProperty(emission); - vec3 ao = ComputeMaterialProperty(occlusion); - - // Check if normal mapping is enabled - if (normals.useSampler == 1) - { - // Fetch normal map color and transform lighting values to tangent space - normal = ComputeMaterialProperty(normals); - normal = normalize(normal*2.0 - 1.0); - normal = normalize(normal*TBN); - - // Convert tangent space normal to world space due to cubemap reflection calculations - refl = normalize(reflect(-view, normal)); - } - - // Calculate reflectance at normal incidence - vec3 F0 = vec3(0.04); - F0 = mix(F0, color, metal.r); - - // Calculate lighting for all lights - vec3 Lo = vec3(0.0); - vec3 lightDot = vec3(0.0); - - for (int i = 0; i < MAX_LIGHTS; i++) - { - if (lights[i].enabled == 1) - { - // Calculate per-light radiance - vec3 light = vec3(0.0); - vec3 radiance = lights[i].color.rgb; - if (lights[i].type == LIGHT_DIRECTIONAL) light = -normalize(lights[i].target - lights[i].position); - else if (lights[i].type == LIGHT_POINT) - { - light = normalize(lights[i].position - fragPosition); - float distance = length(lights[i].position - fragPosition); - float attenuation = 1.0/(distance*distance); - radiance *= attenuation; - } - - // Cook-torrance BRDF - vec3 high = normalize(view + light); - float NDF = DistributionGGX(normal, high, rough.r); - float G = GeometrySmith(normal, view, light, rough.r); - vec3 F = fresnelSchlick(max(dot(high, view), 0.0), F0); - vec3 nominator = NDF*G*F; - float denominator = 4*max(dot(normal, view), 0.0)*max(dot(normal, light), 0.0) + 0.001; - vec3 brdf = nominator/denominator; - - // Store to kS the fresnel value and calculate energy conservation - vec3 kS = F; - vec3 kD = vec3(1.0) - kS; - - // Multiply kD by the inverse metalness such that only non-metals have diffuse lighting - kD *= 1.0 - metal.r; - - // Scale light by dot product between normal and light direction - float NdotL = max(dot(normal, light), 0.0); - - // Add to outgoing radiance Lo - // Note: BRDF is already multiplied by the Fresnel so it doesn't need to be multiplied again - Lo += (kD*color/PI + brdf)*radiance*NdotL*lights[i].color.a; - lightDot += radiance*NdotL + brdf*lights[i].color.a; - } - } - - // Calculate ambient lighting using IBL - vec3 F = fresnelSchlickRoughness(max(dot(normal, view), 0.0), F0, rough.r); - vec3 kS = F; - vec3 kD = 1.0 - kS; - kD *= 1.0 - metal.r; - - // Calculate indirect diffuse - vec3 irradiance = texture(irradianceMap, fragNormal).rgb; - vec3 diffuse = color*irradiance; - - // Sample both the prefilter map and the BRDF lut and combine them together as per the Split-Sum approximation - vec3 prefilterColor = textureLod(prefilterMap, refl, rough.r*MAX_REFLECTION_LOD).rgb; - vec2 brdf = texture(brdfLUT, vec2(max(dot(normal, view), 0.0), rough.r)).rg; - vec3 reflection = prefilterColor*(F*brdf.x + brdf.y); - - // Calculate final lighting - vec3 ambient = (kD*diffuse + reflection)*ao; - - // Calculate fragment color based on render mode - vec3 fragmentColor = ambient + Lo + emiss; // Physically Based Rendering - - if (renderMode == 1) fragmentColor = color; // Albedo - else if (renderMode == 2) fragmentColor = normal; // Normals - else if (renderMode == 3) fragmentColor = metal; // Metalness - else if (renderMode == 4) fragmentColor = rough; // Roughness - else if (renderMode == 5) fragmentColor = ao; // Ambient Occlusion - else if (renderMode == 6) fragmentColor = emiss; // Emission - else if (renderMode == 7) fragmentColor = lightDot; // Lighting - else if (renderMode == 8) fragmentColor = kS; // Fresnel - else if (renderMode == 9) fragmentColor = irradiance; // Irradiance - else if (renderMode == 10) fragmentColor = reflection; // Reflection - - // Apply HDR tonemapping - fragmentColor = fragmentColor/(fragmentColor + vec3(1.0)); - - // Apply gamma correction - fragmentColor = pow(fragmentColor, vec3(1.0/2.2)); - - // Calculate final fragment color - finalColor = vec4(fragmentColor, 1.0); -} diff --git a/examples/web/models/resources/shaders/pbr.vs b/examples/web/models/resources/shaders/pbr.vs deleted file mode 100644 index 8bd3faa..0000000 --- a/examples/web/models/resources/shaders/pbr.vs +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Physically based rendering vertex shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - -// Input vertex attributes -in vec3 vertexPosition; -in vec2 vertexTexCoord; -in vec3 vertexNormal; -in vec4 vertexTangent; - -// Input uniform values -uniform mat4 mvp; -uniform mat4 matModel; - -// Output vertex attributes (to fragment shader) -out vec3 fragPosition; -out vec2 fragTexCoord; -out vec3 fragNormal; -out vec3 fragTangent; -out vec3 fragBinormal; - -void main() -{ - // Calculate binormal from vertex normal and tangent - vec3 vertexBinormal = cross(vertexNormal, vec3(vertexTangent)); - - // Calculate fragment normal based on normal transformations - mat3 normalMatrix = transpose(inverse(mat3(matModel))); - - // Calculate fragment position based on model transformations - fragPosition = vec3(matModel*vec4(vertexPosition, 1.0f)); - - // Send vertex attributes to fragment shader - fragTexCoord = vertexTexCoord; - fragNormal = normalize(normalMatrix*vertexNormal); - fragTangent = normalize(normalMatrix*vec3(vertexTangent)); - fragTangent = normalize(fragTangent - dot(fragTangent, fragNormal)*fragNormal); - fragBinormal = normalize(normalMatrix*vertexBinormal); - fragBinormal = cross(fragNormal, fragTangent); - - // Calculate final vertex position - gl_Position = mvp*vec4(vertexPosition, 1.0); -} \ No newline at end of file diff --git a/examples/web/models/resources/shaders/prefilter.fs b/examples/web/models/resources/shaders/prefilter.fs deleted file mode 100644 index 9439810..0000000 --- a/examples/web/models/resources/shaders/prefilter.fs +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Prefiltered environment for reflections fragment shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 -#define MAX_SAMPLES 1024u -#define CUBEMAP_RESOLUTION 1024.0 - -// Input vertex attributes (from vertex shader) -in vec3 fragPosition; - -// Input uniform values -uniform samplerCube environmentMap; -uniform float roughness; - -// Constant values -const float PI = 3.14159265359f; - -// Output fragment color -out vec4 finalColor; - -float DistributionGGX(vec3 N, vec3 H, float roughness); -float RadicalInverse_VdC(uint bits); -vec2 Hammersley(uint i, uint N); -vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness); - -float DistributionGGX(vec3 N, vec3 H, float roughness) -{ - float a = roughness*roughness; - float a2 = a*a; - float NdotH = max(dot(N, H), 0.0); - float NdotH2 = NdotH*NdotH; - - float nom = a2; - float denom = (NdotH2*(a2 - 1.0) + 1.0); - denom = PI*denom*denom; - - return nom/denom; -} - -float RadicalInverse_VdC(uint bits) -{ - bits = (bits << 16u) | (bits >> 16u); - bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); - bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); - bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); - bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); - return float(bits) * 2.3283064365386963e-10; // / 0x100000000 -} - -vec2 Hammersley(uint i, uint N) -{ - return vec2(float(i)/float(N), RadicalInverse_VdC(i)); -} - -vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness) -{ - float a = roughness*roughness; - float phi = 2.0 * PI * Xi.x; - float cosTheta = sqrt((1.0 - Xi.y)/(1.0 + (a*a - 1.0)*Xi.y)); - float sinTheta = sqrt(1.0 - cosTheta*cosTheta); - - // Transform from spherical coordinates to cartesian coordinates (halfway vector) - vec3 H = vec3(cos(phi)*sinTheta, sin(phi)*sinTheta, cosTheta); - - // Transform from tangent space H vector to world space sample vector - vec3 up = ((abs(N.z) < 0.999) ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0)); - vec3 tangent = normalize(cross(up, N)); - vec3 bitangent = cross(N, tangent); - vec3 sampleVec = tangent*H.x + bitangent*H.y + N*H.z; - - return normalize(sampleVec); -} - -void main() -{ - // Make the simplyfying assumption that V equals R equals the normal - vec3 N = normalize(fragPosition); - vec3 R = N; - vec3 V = R; - - vec3 prefilteredColor = vec3(0.0); - float totalWeight = 0.0; - - for (uint i = 0u; i < MAX_SAMPLES; i++) - { - // Generate a sample vector that's biased towards the preferred alignment direction (importance sampling) - vec2 Xi = Hammersley(i, MAX_SAMPLES); - vec3 H = ImportanceSampleGGX(Xi, N, roughness); - vec3 L = normalize(2.0*dot(V, H)*H - V); - - float NdotL = max(dot(N, L), 0.0); - if(NdotL > 0.0) - { - // Sample from the environment's mip level based on roughness/pdf - float D = DistributionGGX(N, H, roughness); - float NdotH = max(dot(N, H), 0.0); - float HdotV = max(dot(H, V), 0.0); - float pdf = D*NdotH/(4.0*HdotV) + 0.0001; - - float resolution = CUBEMAP_RESOLUTION; - float saTexel = 4.0*PI/(6.0*resolution*resolution); - float saSample = 1.0/(float(MAX_SAMPLES)*pdf + 0.0001); - float mipLevel = ((roughness == 0.0) ? 0.0 : 0.5*log2(saSample/saTexel)); - - prefilteredColor += textureLod(environmentMap, L, mipLevel).rgb*NdotL; - totalWeight += NdotL; - } - } - - // Calculate prefilter average color - prefilteredColor = prefilteredColor/totalWeight; - - // Calculate final fragment color - finalColor = vec4(prefilteredColor, 1.0); -} diff --git a/examples/web/models/resources/shaders/skybox.fs b/examples/web/models/resources/shaders/skybox.fs deleted file mode 100644 index 053a251..0000000 --- a/examples/web/models/resources/shaders/skybox.fs +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Background skybox fragment shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - -// Input vertex attributes (from vertex shader) -in vec3 fragPosition; - -// Input uniform values -uniform samplerCube environmentMap; - -// Output fragment color -out vec4 finalColor; - -void main() -{ - // Fetch color from texture map - vec3 color = texture(environmentMap, fragPosition).rgb; - - // Apply gamma correction - color = color/(color + vec3(1.0)); - color = pow(color, vec3(1.0/2.2)); - - // Calculate final fragment color - finalColor = vec4(color, 1.0); -} diff --git a/examples/web/models/resources/shaders/skybox.vs b/examples/web/models/resources/shaders/skybox.vs deleted file mode 100644 index dcbe6c3..0000000 --- a/examples/web/models/resources/shaders/skybox.vs +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************************* -* -* rPBR [shader] - Background skybox vertex shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - -#version 330 - -// Input vertex attributes -in vec3 vertexPosition; - -// Input uniform values -uniform mat4 projection; -uniform mat4 view; - -// Output vertex attributes (to fragment shader) -out vec3 fragPosition; - -void main() -{ - // Calculate fragment position based on model transformations - fragPosition = vertexPosition; - - // Remove translation from the view matrix - mat4 rotView = mat4(mat3(view)); - vec4 clipPos = projection*rotView*vec4(vertexPosition, 1.0); - - // Calculate final vertex position - gl_Position = clipPos.xyww; -} diff --git a/examples/web/models/rlgl.h b/examples/web/models/rlgl.h index 639a107..1b42c64 100644 --- a/examples/web/models/rlgl.h +++ b/examples/web/models/rlgl.h @@ -1,6 +1,6 @@ /********************************************************************************************** * -* rlgl - raylib OpenGL abstraction layer +* rlgl v3.1 - raylib OpenGL abstraction layer * * rlgl is a wrapper for multiple OpenGL versions (1.1, 2.1, 3.3 Core, ES 2.0) to * pseudo-OpenGL 1.1 style functions (rlVertex, rlTranslate, rlRotate...). @@ -39,7 +39,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2014-2019 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2020 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -65,12 +65,20 @@ #define RAYMATH_STANDALONE #define RAYMATH_HEADER_ONLY - #if defined(_WIN32) && defined(BUILD_LIBTYPE_SHARED) - #define RLAPI __declspec(dllexport) // We are building raylib as a Win32 shared library (.dll) - #elif defined(_WIN32) && defined(USE_LIBTYPE_SHARED) - #define RLAPI __declspec(dllimport) // We are using raylib as a Win32 shared library (.dll) - #else - #define RLAPI // We are building or using raylib as a static library (or Linux shared library) + #define RLAPI // We are building or using rlgl as a static library (or Linux shared library) + + #if defined(_WIN32) + #if defined(BUILD_LIBTYPE_SHARED) + #define RLAPI __declspec(dllexport) // We are building raylib as a Win32 shared library (.dll) + #elif defined(USE_LIBTYPE_SHARED) + #define RLAPI __declspec(dllimport) // We are using raylib as a Win32 shared library (.dll) + #endif + #endif + + // Support TRACELOG macros + #if !defined(TRACELOG) + #define TRACELOG(level, ...) (void)0 + #define TRACELOGD(...) (void)0 #endif // Allow custom memory allocators @@ -80,11 +88,14 @@ #ifndef RL_CALLOC #define RL_CALLOC(n,sz) calloc(n,sz) #endif + #ifndef RL_REALLOC + #define RL_REALLOC(n,sz) realloc(n,sz) + #endif #ifndef RL_FREE #define RL_FREE(p) free(p) #endif #else - #include "raylib.h" // Required for: Model, Shader, Texture2D, TraceLog() + #include "raylib.h" // Required for: Model, Shader, Texture2D, TRACELOG() #endif #include "raymath.h" // Required for: Vector3, Matrix @@ -114,22 +125,54 @@ #define GRAPHICS_API_OPENGL_33 #endif +#define SUPPORT_RENDER_TEXTURES_HINT + //---------------------------------------------------------------------------------- // Defines and Macros //---------------------------------------------------------------------------------- -#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) - // This is the maximum amount of elements (quads) per batch - // NOTE: Be careful with text, every letter maps to a quad - #define MAX_BATCH_ELEMENTS 8192 -#elif defined(GRAPHICS_API_OPENGL_ES2) - // We reduce memory sizes for embedded systems (RPI and HTML5) - // NOTE: On HTML5 (emscripten) this is allocated on heap, by default it's only 16MB!...just take care... - #define MAX_BATCH_ELEMENTS 2048 +// Default internal render batch limits +#ifndef DEFAULT_BATCH_BUFFER_ELEMENTS + #if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) + // This is the maximum amount of elements (quads) per batch + // NOTE: Be careful with text, every letter maps to a quad + #define DEFAULT_BATCH_BUFFER_ELEMENTS 8192 + #elif defined(GRAPHICS_API_OPENGL_ES2) + // We reduce memory sizes for embedded systems (RPI and HTML5) + // NOTE: On HTML5 (emscripten) this is allocated on heap, + // by default it's only 16MB!...just take care... + #define DEFAULT_BATCH_BUFFER_ELEMENTS 2048 + #endif +#endif +#ifndef DEFAULT_BATCH_BUFFERS + #define DEFAULT_BATCH_BUFFERS 1 // Default number of batch buffers (multi-buffering) +#endif +#ifndef DEFAULT_BATCH_DRAWCALLS + #define DEFAULT_BATCH_DRAWCALLS 256 // Default number of batch draw calls (by state changes: mode, texture) +#endif +#ifndef MAX_BATCH_ACTIVE_TEXTURES + #define MAX_BATCH_ACTIVE_TEXTURES 4 // Maximum number of additional textures that can be activated on batch drawing (SetShaderValueTexture()) +#endif + +// Internal Matrix stack +#ifndef MAX_MATRIX_STACK_SIZE + #define MAX_MATRIX_STACK_SIZE 32 // Maximum size of Matrix stack +#endif + +// Shader and material limits +#ifndef MAX_SHADER_LOCATIONS + #define MAX_SHADER_LOCATIONS 32 // Maximum number of shader locations supported +#endif +#ifndef MAX_MATERIAL_MAPS + #define MAX_MATERIAL_MAPS 12 // Maximum number of shader maps supported #endif -#define MAX_BATCH_BUFFERING 1 // Max number of buffers for batching (multi-buffering) -#define MAX_MATRIX_STACK_SIZE 32 // Max size of Matrix stack -#define MAX_DRAWCALL_REGISTERED 256 // Max draws by state changes (mode, texture) +// Projection matrix culling +#ifndef RL_CULL_DISTANCE_NEAR + #define RL_CULL_DISTANCE_NEAR 0.01 // Default near cull distance +#endif +#ifndef RL_CULL_DISTANCE_FAR + #define RL_CULL_DISTANCE_FAR 1000.0 // Default far cull distance +#endif // Texture parameters (equivalent to OpenGL defines) #define RL_TEXTURE_WRAP_S 0x2802 // GL_TEXTURE_WRAP_S @@ -165,7 +208,29 @@ //---------------------------------------------------------------------------------- typedef enum { OPENGL_11 = 1, OPENGL_21, OPENGL_33, OPENGL_ES_20 } GlVersion; -typedef unsigned char byte; +typedef enum { + RL_ATTACHMENT_COLOR_CHANNEL0 = 0, + RL_ATTACHMENT_COLOR_CHANNEL1, + RL_ATTACHMENT_COLOR_CHANNEL2, + RL_ATTACHMENT_COLOR_CHANNEL3, + RL_ATTACHMENT_COLOR_CHANNEL4, + RL_ATTACHMENT_COLOR_CHANNEL5, + RL_ATTACHMENT_COLOR_CHANNEL6, + RL_ATTACHMENT_COLOR_CHANNEL7, + RL_ATTACHMENT_DEPTH = 100, + RL_ATTACHMENT_STENCIL = 200, +} FramebufferAttachType; + +typedef enum { + RL_ATTACHMENT_CUBEMAP_POSITIVE_X = 0, + RL_ATTACHMENT_CUBEMAP_NEGATIVE_X, + RL_ATTACHMENT_CUBEMAP_POSITIVE_Y, + RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y, + RL_ATTACHMENT_CUBEMAP_POSITIVE_Z, + RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z, + RL_ATTACHMENT_TEXTURE2D = 100, + RL_ATTACHMENT_RENDERBUFFER = 200, +} FramebufferTexType; #if defined(RLGL_STANDALONE) #ifndef __cplusplus @@ -181,32 +246,29 @@ typedef unsigned char byte; unsigned char a; } Color; - // Texture2D type + // Rectangle type + typedef struct Rectangle { + float x; + float y; + float width; + float height; + } Rectangle; + + // Texture type // NOTE: Data stored in GPU memory - typedef struct Texture2D { + typedef struct Texture { unsigned int id; // OpenGL texture id int width; // Texture base width int height; // Texture base height int mipmaps; // Mipmap levels, 1 by default int format; // Data format (PixelFormat) - } Texture2D; - - // Texture type, same as Texture2D - typedef Texture2D Texture; + } Texture; - // TextureCubemap type, actually, same as Texture2D - typedef Texture2D TextureCubemap; + // Texture2D type, same as Texture + typedef Texture Texture2D; - // RenderTexture2D type, for texture rendering - typedef struct RenderTexture2D { - unsigned int id; // OpenGL framebuffer (fbo) id - Texture2D texture; // Color buffer attachment texture - Texture2D depth; // Depth buffer attachment texture - bool depthTexture; // Track if depth attachment is a texture or renderbuffer - } RenderTexture2D; - - // RenderTexture type, same as RenderTexture2D - typedef RenderTexture2D RenderTexture; + // TextureCubemap type, actually, same as Texture + typedef Texture TextureCubemap; // Vertex data definning a mesh typedef struct Mesh { @@ -228,17 +290,13 @@ typedef unsigned char byte; // OpenGL identifiers unsigned int vaoId; // OpenGL Vertex Array Object id - unsigned int vboId[7]; // OpenGL Vertex Buffer Objects id (7 types of vertex data) + unsigned int *vboId; // OpenGL Vertex Buffer Objects id (7 types of vertex data) } Mesh; - // Shader and material limits - #define MAX_SHADER_LOCATIONS 32 - #define MAX_MATERIAL_MAPS 12 - // Shader type (generic) typedef struct Shader { - unsigned int id; // Shader program id - int locs[MAX_SHADER_LOCATIONS]; // Shader locations array + unsigned int id; // Shader program id + int *locs; // Shader locations array (MAX_SHADER_LOCATIONS) } Shader; // Material texture map @@ -251,7 +309,7 @@ typedef unsigned char byte; // Material type (generic) typedef struct Material { Shader shader; // Material shader - MaterialMap maps[MAX_MATERIAL_MAPS]; // Material maps + MaterialMap *maps; // Material maps (MAX_MATERIAL_MAPS) float *params; // Material generic parameters (if required) } Material; @@ -286,7 +344,6 @@ typedef unsigned char byte; int eyeViewportLeft[4]; // VR stereo rendering left eye viewport [x, y, w, h] } VrStereoConfig; - // TraceLog message types typedef enum { LOG_ALL, @@ -338,9 +395,12 @@ typedef unsigned char byte; // Color blending modes (pre-defined) typedef enum { - BLEND_ALPHA = 0, - BLEND_ADDITIVE, - BLEND_MULTIPLIED + BLEND_ALPHA = 0, // Blend textures considering alpha (default) + BLEND_ADDITIVE, // Blend textures adding colors + BLEND_MULTIPLIED, // Blend textures multiplying colors + BLEND_ADD_COLORS, // Blend textures adding colors (alternative) + BLEND_SUBTRACT_COLORS, // Blend textures subtracting colors (alternative) + BLEND_CUSTOM // Belnd textures using custom src/dst factors (use SetBlendModeCustom()) } BlendMode; // Shader location point type @@ -436,7 +496,7 @@ RLAPI void rlVertex2f(float x, float y); // Define one vertex (posi RLAPI void rlVertex3f(float x, float y, float z); // Define one vertex (position) - 3 float RLAPI void rlTexCoord2f(float x, float y); // Define one vertex (texture coordinate) - 2 float RLAPI void rlNormal3f(float x, float y, float z); // Define one vertex (normal) - 3 float -RLAPI void rlColor4ub(byte r, byte g, byte b, byte a); // Define one vertex (color) - 4 byte +RLAPI void rlColor4ub(unsigned char r, unsigned char g, unsigned char b, unsigned char a); // Define one vertex (color) - 4 byte RLAPI void rlColor3f(float x, float y, float z); // Define one vertex (color) - 3 float RLAPI void rlColor4f(float x, float y, float z, float w); // Define one vertex (color) - 4 float @@ -447,20 +507,27 @@ RLAPI void rlColor4f(float x, float y, float z, float w); // Define one vertex ( RLAPI void rlEnableTexture(unsigned int id); // Enable texture usage RLAPI void rlDisableTexture(void); // Disable texture usage RLAPI void rlTextureParameters(unsigned int id, int param, int value); // Set texture parameters (filter, wrap) -RLAPI void rlEnableRenderTexture(unsigned int id); // Enable render texture (fbo) -RLAPI void rlDisableRenderTexture(void); // Disable render texture (fbo), return to default framebuffer +RLAPI void rlEnableShader(unsigned int id); // Enable shader program usage +RLAPI void rlDisableShader(void); // Disable shader program usage +RLAPI void rlEnableFramebuffer(unsigned int id); // Enable render texture (fbo) +RLAPI void rlDisableFramebuffer(void); // Disable render texture (fbo), return to default framebuffer RLAPI void rlEnableDepthTest(void); // Enable depth test RLAPI void rlDisableDepthTest(void); // Disable depth test +RLAPI void rlEnableDepthMask(void); // Enable depth write +RLAPI void rlDisableDepthMask(void); // Disable depth write RLAPI void rlEnableBackfaceCulling(void); // Enable backface culling RLAPI void rlDisableBackfaceCulling(void); // Disable backface culling +RLAPI void rlEnableScissorTest(void); // Enable scissor test +RLAPI void rlDisableScissorTest(void); // Disable scissor test +RLAPI void rlScissor(int x, int y, int width, int height); // Scissor test RLAPI void rlEnableWireMode(void); // Enable wire mode RLAPI void rlDisableWireMode(void); // Disable wire mode -RLAPI void rlDeleteTextures(unsigned int id); // Delete OpenGL texture from GPU -RLAPI void rlDeleteRenderTextures(RenderTexture2D target); // Delete render textures (fbo) from GPU -RLAPI void rlDeleteShader(unsigned int id); // Delete OpenGL shader program from GPU -RLAPI void rlDeleteVertexArrays(unsigned int id); // Unload vertex data (VAO) from GPU memory -RLAPI void rlDeleteBuffers(unsigned int id); // Unload vertex data (VBO) from GPU memory -RLAPI void rlClearColor(byte r, byte g, byte b, byte a); // Clear color buffer with color +RLAPI void rlSetLineWidth(float width); // Set the line drawing width +RLAPI float rlGetLineWidth(void); // Get the line drawing width +RLAPI void rlEnableSmoothLines(void); // Enable line aliasing +RLAPI void rlDisableSmoothLines(void); // Disable line aliasing + +RLAPI void rlClearColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a); // Clear color buffer with color RLAPI void rlClearScreenBuffers(void); // Clear used screen buffers (color and depth) RLAPI void rlUpdateBuffer(int bufferId, void *data, int dataSize); // Update GPU buffer with new data RLAPI unsigned int rlLoadAttribBuffer(unsigned int vaoId, int shaderLoc, void *buffer, int size, bool dynamic); // Load a new attributes buffer @@ -471,18 +538,19 @@ RLAPI unsigned int rlLoadAttribBuffer(unsigned int vaoId, int shaderLoc, void *b RLAPI void rlglInit(int width, int height); // Initialize rlgl (buffers, shaders, textures, states) RLAPI void rlglClose(void); // De-inititialize rlgl (buffers, shaders, textures) RLAPI void rlglDraw(void); // Update and draw default internal buffers +RLAPI void rlCheckErrors(void); // Check and log OpenGL error codes RLAPI int rlGetVersion(void); // Returns current OpenGL version RLAPI bool rlCheckBufferLimit(int vCount); // Check internal buffer overflow for a given number of vertex RLAPI void rlSetDebugMarker(const char *text); // Set debug marker for analysis +RLAPI void rlSetBlendMode(int glSrcFactor, int glDstFactor, int glEquation); // // Set blending mode factor and equation (using OpenGL factors) RLAPI void rlLoadExtensions(void *loader); // Load OpenGL extensions -RLAPI Vector3 rlUnproject(Vector3 source, Matrix proj, Matrix view); // Get world coordinates from screen coordinates // Textures data management RLAPI unsigned int rlLoadTexture(void *data, int width, int height, int format, int mipmapCount); // Load texture in GPU -RLAPI unsigned int rlLoadTextureDepth(int width, int height, int bits, bool useRenderBuffer); // Load depth texture/renderbuffer (to be attached to fbo) +RLAPI unsigned int rlLoadTextureDepth(int width, int height, bool useRenderBuffer); // Load depth texture/renderbuffer (to be attached to fbo) RLAPI unsigned int rlLoadTextureCubemap(void *data, int size, int format); // Load texture cubemap -RLAPI void rlUpdateTexture(unsigned int id, int width, int height, int format, const void *data); // Update GPU texture with new data +RLAPI void rlUpdateTexture(unsigned int id, int offsetX, int offsetY, int width, int height, int format, const void *data); // Update GPU texture with new data RLAPI void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned int *glFormat, unsigned int *glType); // Get OpenGL internal formats RLAPI void rlUnloadTexture(unsigned int id); // Unload texture from GPU memory @@ -490,16 +558,19 @@ RLAPI void rlGenerateMipmaps(Texture2D *texture); // Gen RLAPI void *rlReadTexturePixels(Texture2D texture); // Read texture pixel data RLAPI unsigned char *rlReadScreenPixels(int width, int height); // Read screen pixel data (color buffer) -// Render texture management (fbo) -RLAPI RenderTexture2D rlLoadRenderTexture(int width, int height, int format, int depthBits, bool useDepthTexture); // Load a render texture (with color and depth attachments) -RLAPI void rlRenderTextureAttach(RenderTexture target, unsigned int id, int attachType); // Attach texture/renderbuffer to an fbo -RLAPI bool rlRenderTextureComplete(RenderTexture target); // Verify render texture is complete +// Framebuffer management (fbo) +RLAPI unsigned int rlLoadFramebuffer(int width, int height); // Load an empty framebuffer +RLAPI void rlFramebufferAttach(unsigned int fboId, unsigned int texId, int attachType, int texType); // Attach texture/renderbuffer to a framebuffer +RLAPI bool rlFramebufferComplete(unsigned int id); // Verify framebuffer is complete +RLAPI void rlUnloadFramebuffer(unsigned int id); // Delete framebuffer from GPU // Vertex data management RLAPI void rlLoadMesh(Mesh *mesh, bool dynamic); // Upload vertex data into GPU and provided VAO/VBO ids -RLAPI void rlUpdateMesh(Mesh mesh, int buffer, int numVertex); // Update vertex data on GPU (upload new data to one buffer) +RLAPI void rlUpdateMesh(Mesh mesh, int buffer, int count); // Update vertex or index data on GPU (upload new data to one buffer) +RLAPI void rlUpdateMeshAt(Mesh mesh, int buffer, int count, int index); // Update vertex or index data on GPU, at index RLAPI void rlDrawMesh(Mesh mesh, Material material, Matrix transform); // Draw a 3d mesh with material and transform -RLAPI void rlUnloadMesh(Mesh *mesh); // Unload mesh data from CPU and GPU +RLAPI void rlDrawMeshInstanced(Mesh mesh, Material material, Matrix *transforms, int count); // Draw a 3d mesh with material and transform +RLAPI void rlUnloadMesh(Mesh mesh); // Unload mesh data from CPU and GPU // NOTE: There is a set of shader related functions that are available to end user, // to avoid creating function wrappers through core module, they have been directly declared in raylib.h @@ -510,28 +581,30 @@ RLAPI void rlUnloadMesh(Mesh *mesh); // Unl // NOTE: This functions are useless when using OpenGL 1.1 //------------------------------------------------------------------------------------ // Shader loading/unloading functions -RLAPI char *LoadText(const char *fileName); // Load chars array from text file RLAPI Shader LoadShader(const char *vsFileName, const char *fsFileName); // Load shader from files and bind default locations -RLAPI Shader LoadShaderCode(char *vsCode, char *fsCode); // Load shader from code strings and bind default locations +RLAPI Shader LoadShaderCode(const char *vsCode, const char *fsCode); // Load shader from code strings and bind default locations RLAPI void UnloadShader(Shader shader); // Unload shader from GPU memory (VRAM) RLAPI Shader GetShaderDefault(void); // Get default shader RLAPI Texture2D GetTextureDefault(void); // Get default texture +RLAPI Texture2D GetShapesTexture(void); // Get texture to draw shapes +RLAPI Rectangle GetShapesTextureRec(void); // Get texture rectangle to draw shapes // Shader configuration functions RLAPI int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location +RLAPI int GetShaderLocationAttrib(Shader shader, const char *attribName); // Get shader attribute location RLAPI void SetShaderValue(Shader shader, int uniformLoc, const void *value, int uniformType); // Set shader uniform value RLAPI void SetShaderValueV(Shader shader, int uniformLoc, const void *value, int uniformType, int count); // Set shader uniform value vector RLAPI void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat); // Set shader uniform value (matrix 4x4) RLAPI void SetMatrixProjection(Matrix proj); // Set a custom projection matrix (replaces internal projection matrix) RLAPI void SetMatrixModelview(Matrix view); // Set a custom modelview matrix (replaces internal modelview matrix) -RLAPI Matrix GetMatrixModelview(); // Get internal modelview matrix +RLAPI Matrix GetMatrixModelview(void); // Get internal modelview matrix // Texture maps generation (PBR) // NOTE: Required shaders should be provided -RLAPI Texture2D GenTextureCubemap(Shader shader, Texture2D skyHDR, int size); // Generate cubemap texture from HDR texture -RLAPI Texture2D GenTextureIrradiance(Shader shader, Texture2D cubemap, int size); // Generate irradiance texture using cubemap data -RLAPI Texture2D GenTexturePrefilter(Shader shader, Texture2D cubemap, int size); // Generate prefilter texture using cubemap data +RLAPI TextureCubemap GenTextureCubemap(Shader shader, Texture2D panorama, int size, int format); // Generate cubemap texture from 2D panorama texture +RLAPI TextureCubemap GenTextureIrradiance(Shader shader, TextureCubemap cubemap, int size); // Generate irradiance texture using cubemap data +RLAPI TextureCubemap GenTexturePrefilter(Shader shader, TextureCubemap cubemap, int size); // Generate prefilter texture using cubemap data RLAPI Texture2D GenTextureBRDF(Shader shader, int size); // Generate BRDF texture using cubemap data // Shading begin/end functions @@ -550,7 +623,7 @@ RLAPI void ToggleVrMode(void); // Enable/Disable VR exp RLAPI void BeginVrDrawing(void); // Begin VR simulator stereo rendering RLAPI void EndVrDrawing(void); // End VR simulator stereo rendering -RLAPI void TraceLog(int msgType, const char *text, ...); // Show trace log messages (LOG_INFO, LOG_WARNING, LOG_ERROR, LOG_DEBUG) +RLAPI char *LoadFileText(const char *fileName); // Load chars array from text file RLAPI int GetPixelDataSize(int width, int height, int format);// Get pixel data size in bytes (image or texture) #endif @@ -568,25 +641,23 @@ RLAPI int GetPixelDataSize(int width, int height, int format);// Get pixel data #if defined(RLGL_IMPLEMENTATION) -#if !defined(RLGL_STANDALONE) +#if defined(RLGL_STANDALONE) + #include // Required for: fopen(), fseek(), fread(), fclose() [LoadFileText] +#else // Check if config flags have been externally provided on compilation line #if !defined(EXTERNAL_CONFIG_FLAGS) - #include "config.h" // Defines module configuration flags + #include "config.h" // Defines module configuration flags #endif + #include "raymath.h" // Required for: Vector3 and Matrix functions #endif -#include // Required for: fopen(), fclose(), fread()... [Used only on LoadText()] -#include // Required for: malloc(), free(), rand() -#include // Required for: strcmp(), strlen(), strtok() [Used only in extensions loading] -#include // Required for: atan2() - -#if !defined(RLGL_STANDALONE) - #include "raymath.h" // Required for: Vector3 and Matrix functions -#endif +#include // Required for: malloc(), free() +#include // Required for: strcmp(), strlen() [Used in rlglInit(), on extensions loading] +#include // Required for: atan2f() #if defined(GRAPHICS_API_OPENGL_11) #if defined(__APPLE__) - #include // OpenGL 1.1 library for OSX + #include // OpenGL 1.1 library for OSX #include #else // APIENTRY for OpenGL function pointer declarations is required @@ -615,6 +686,9 @@ RLAPI int GetPixelDataSize(int width, int height, int format);// Get pixel data #include // OpenGL 3 library for OSX #include // OpenGL 3 extensions library for OSX #else + #define GLAD_REALLOC RL_REALLOC + #define GLAD_FREE RL_FREE + #define GLAD_IMPLEMENTATION #if defined(RLGL_STANDALONE) #include "glad.h" // GLAD extensions loading library, includes OpenGL headers @@ -625,15 +699,12 @@ RLAPI int GetPixelDataSize(int width, int height, int format);// Get pixel data #endif #if defined(GRAPHICS_API_OPENGL_ES2) + #define GL_GLEXT_PROTOTYPES #include // EGL library #include // OpenGL ES 2.0 library #include // OpenGL ES 2.0 extensions library #endif -#if defined(RLGL_STANDALONE) - #include // Required for: va_list, va_start(), vfprintf(), va_end() [Used only on TraceLog()] -#endif - //---------------------------------------------------------------------------------- // Defines and Macros //---------------------------------------------------------------------------------- @@ -678,7 +749,6 @@ RLAPI int GetPixelDataSize(int width, int height, int format);// Get pixel data #ifndef GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF #endif - #ifndef GL_TEXTURE_MAX_ANISOTROPY_EXT #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE #endif @@ -688,62 +758,88 @@ RLAPI int GetPixelDataSize(int width, int height, int format);// Get pixel data #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 #endif - #if defined(GRAPHICS_API_OPENGL_21) #define GL_LUMINANCE 0x1909 #define GL_LUMINANCE_ALPHA 0x190A #endif #if defined(GRAPHICS_API_OPENGL_ES2) - #define glClearDepth glClearDepthf + #define glClearDepth glClearDepthf #define GL_READ_FRAMEBUFFER GL_FRAMEBUFFER #define GL_DRAW_FRAMEBUFFER GL_FRAMEBUFFER #endif -// Default vertex attribute names on shader to set location points -#define DEFAULT_ATTRIB_POSITION_NAME "vertexPosition" // shader-location = 0 -#define DEFAULT_ATTRIB_TEXCOORD_NAME "vertexTexCoord" // shader-location = 1 -#define DEFAULT_ATTRIB_NORMAL_NAME "vertexNormal" // shader-location = 2 -#define DEFAULT_ATTRIB_COLOR_NAME "vertexColor" // shader-location = 3 -#define DEFAULT_ATTRIB_TANGENT_NAME "vertexTangent" // shader-location = 4 -#define DEFAULT_ATTRIB_TEXCOORD2_NAME "vertexTexCoord2" // shader-location = 5 +// Default shader vertex attribute names to set location points +#ifndef DEFAULT_SHADER_ATTRIB_NAME_POSITION + #define DEFAULT_SHADER_ATTRIB_NAME_POSITION "vertexPosition" // Binded by default to shader location: 0 +#endif +#ifndef DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD + #define DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD "vertexTexCoord" // Binded by default to shader location: 1 +#endif +#ifndef DEFAULT_SHADER_ATTRIB_NAME_NORMAL + #define DEFAULT_SHADER_ATTRIB_NAME_NORMAL "vertexNormal" // Binded by default to shader location: 2 +#endif +#ifndef DEFAULT_SHADER_ATTRIB_NAME_COLOR + #define DEFAULT_SHADER_ATTRIB_NAME_COLOR "vertexColor" // Binded by default to shader location: 3 +#endif +#ifndef DEFAULT_SHADER_ATTRIB_NAME_TANGENT + #define DEFAULT_SHADER_ATTRIB_NAME_TANGENT "vertexTangent" // Binded by default to shader location: 4 +#endif +#ifndef DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 + #define DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2 "vertexTexCoord2" // Binded by default to shader location: 5 +#endif //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- // Dynamic vertex buffers (position + texcoords + colors + indices arrays) -typedef struct DynamicBuffer { - int vCounter; // vertex position counter to process (and draw) from full buffer - int tcCounter; // vertex texcoord counter to process (and draw) from full buffer - int cCounter; // vertex color counter to process (and draw) from full buffer - float *vertices; // vertex position (XYZ - 3 components per vertex) (shader-location = 0) - float *texcoords; // vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) - unsigned char *colors; // vertex colors (RGBA - 4 components per vertex) (shader-location = 3) +typedef struct VertexBuffer { + int elementsCount; // Number of elements in the buffer (QUADS) + + int vCounter; // Vertex position counter to process (and draw) from full buffer + int tcCounter; // Vertex texcoord counter to process (and draw) from full buffer + int cCounter; // Vertex color counter to process (and draw) from full buffer + + float *vertices; // Vertex position (XYZ - 3 components per vertex) (shader-location = 0) + float *texcoords; // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) + unsigned char *colors; // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) #if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) - unsigned int *indices; // vertex indices (in case vertex data comes indexed) (6 indices per quad) + unsigned int *indices; // Vertex indices (in case vertex data comes indexed) (6 indices per quad) #elif defined(GRAPHICS_API_OPENGL_ES2) - unsigned short *indices; // vertex indices (in case vertex data comes indexed) (6 indices per quad) - // NOTE: 6*2 byte = 12 byte, not alignment problem! + unsigned short *indices; // Vertex indices (in case vertex data comes indexed) (6 indices per quad) #endif unsigned int vaoId; // OpenGL Vertex Array Object id unsigned int vboId[4]; // OpenGL Vertex Buffer Objects id (4 types of vertex data) -} DynamicBuffer; +} VertexBuffer; // Draw call type +// NOTE: Only texture changes register a new draw, other state-change-related elements are not +// used at this moment (vaoId, shaderId, matrices), raylib just forces a batch draw call if any +// of those state-change happens (this is done in core module) typedef struct DrawCall { int mode; // Drawing mode: LINES, TRIANGLES, QUADS int vertexCount; // Number of vertex of the draw int vertexAlignment; // Number of vertex required for index alignment (LINES, TRIANGLES) - //unsigned int vaoId; // Vertex Array id to be used on the draw - //unsigned int shaderId; // Shader id to be used on the draw - unsigned int textureId; // Texture id to be used on the draw - // TODO: Support additional texture units? + //unsigned int vaoId; // Vertex array id to be used on the draw -> Using RLGL.currentBatch->vertexBuffer.vaoId + //unsigned int shaderId; // Shader id to be used on the draw -> Using RLGL.currentShader.id + unsigned int textureId; // Texture id to be used on the draw -> Use to create new draw call if changes - //Matrix projection; // Projection matrix for this draw - //Matrix modelview; // Modelview matrix for this draw + //Matrix projection; // Projection matrix for this draw -> Using RLGL.projection + //Matrix modelview; // Modelview matrix for this draw -> Using RLGL.modelview } DrawCall; +// RenderBatch type +typedef struct RenderBatch { + int buffersCount; // Number of vertex buffers (multi-buffering support) + int currentBuffer; // Current buffer tracking in case of multi-buffering + VertexBuffer *vertexBuffer; // Dynamic buffer(s) for vertex data + + DrawCall *draws; // Draw calls array, depends on textureId + int drawsCounter; // Draw calls counter + float currentDepth; // Current depth value for next draw +} RenderBatch; + #if defined(SUPPORT_VR_SIMULATOR) // VR Stereo rendering configuration for simulator typedef struct VrStereoConfig { @@ -755,92 +851,83 @@ typedef struct VrStereoConfig { } VrStereoConfig; #endif +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) +typedef struct rlglData { + RenderBatch *currentBatch; // Current render batch + RenderBatch defaultBatch; // Default internal render batch + + struct { + int currentMatrixMode; // Current matrix mode + Matrix *currentMatrix; // Current matrix pointer + Matrix modelview; // Default modelview matrix + Matrix projection; // Default projection matrix + Matrix transform; // Transform matrix to be used with rlTranslate, rlRotate, rlScale + bool transformRequired; // Require transform matrix application to current draw-call vertex (if required) + Matrix stack[MAX_MATRIX_STACK_SIZE];// Matrix stack for push/pop + int stackCounter; // Matrix stack counter + + Texture2D shapesTexture; // Texture used on shapes drawing (usually a white pixel) + Rectangle shapesTextureRec; // Texture source rectangle used on shapes drawing + unsigned int defaultTextureId; // Default texture used on shapes/poly drawing (required by shader) + unsigned int activeTextureId[4]; // Active texture ids to be enabled on batch drawing (0 active by default) + unsigned int defaultVShaderId; // Default vertex shader id (used by default shader program) + unsigned int defaultFShaderId; // Default fragment shader Id (used by default shader program) + Shader defaultShader; // Basic shader, support vertex color and diffuse texture + Shader currentShader; // Shader to be used on rendering (by default, defaultShader) + + int currentBlendMode; // Blending mode active + int glBlendSrcFactor; // Blending source factor + int glBlendDstFactor; // Blending destination factor + int glBlendEquation; // Blending equation + + int framebufferWidth; // Default framebuffer width + int framebufferHeight; // Default framebuffer height + + } State; + struct { + bool vao; // VAO support (OpenGL ES2 could not support VAO extension) + bool texNPOT; // NPOT textures full support + bool texDepth; // Depth textures supported + bool texFloat32; // float textures support (32 bit per channel) + bool texCompDXT; // DDS texture compression support + bool texCompETC1; // ETC1 texture compression support + bool texCompETC2; // ETC2/EAC texture compression support + bool texCompPVRT; // PVR texture compression support + bool texCompASTC; // ASTC texture compression support + bool texMirrorClamp; // Clamp mirror wrap mode supported + bool texAnisoFilter; // Anisotropic texture filtering support + bool debugMarker; // Debug marker support + + float maxAnisotropicLevel; // Maximum anisotropy level supported (minimum is 2.0f) + int maxDepthBits; // Maximum bits for depth component + + } ExtSupported; // Extensions supported flags +#if defined(SUPPORT_VR_SIMULATOR) + struct { + VrStereoConfig config; // VR stereo configuration for simulator + unsigned int stereoFboId; // VR stereo rendering framebuffer id + unsigned int stereoTexId; // VR stereo color texture (attached to framebuffer) + bool simulatorReady; // VR simulator ready flag + bool stereoRender; // VR stereo rendering enabled/disabled flag + } Vr; +#endif // SUPPORT_VR_SIMULATOR +} rlglData; +#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2 + //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) -static Matrix stack[MAX_MATRIX_STACK_SIZE] = { 0 }; -static int stackCounter = 0; - -static Matrix modelview = { 0 }; -static Matrix projection = { 0 }; -static Matrix *currentMatrix = NULL; -static int currentMatrixMode = -1; -static float currentDepth = -1.0f; - -// Default dynamic buffer for elements data -// NOTE: A multi-buffering system is supported -static DynamicBuffer vertexData[MAX_BATCH_BUFFERING] = { 0 }; -static int currentBuffer = 0; - -// Transform matrix to be used with rlTranslate, rlRotate, rlScale -static Matrix transformMatrix = { 0 }; -static bool useTransformMatrix = false; - -// Default buffers draw calls -static DrawCall *draws = NULL; -static int drawsCounter = 0; - -// Default texture (1px white) useful for plain color polys (required by shader) -static unsigned int defaultTextureId; - -// Default shaders -static unsigned int defaultVShaderId; // Default vertex shader id (used by default shader program) -static unsigned int defaultFShaderId; // Default fragment shader Id (used by default shader program) - -static Shader defaultShader; // Basic shader, support vertex color and diffuse texture -static Shader currentShader; // Shader to be used on rendering (by default, defaultShader) - -// Extension supported flag: VAO -static bool vaoSupported = false; // VAO support (OpenGL ES2 could not support VAO extension) - -// Extension supported flag: Compressed textures -static bool texCompDXTSupported = false; // DDS texture compression support -static bool texCompETC1Supported = false; // ETC1 texture compression support -static bool texCompETC2Supported = false; // ETC2/EAC texture compression support -static bool texCompPVRTSupported = false; // PVR texture compression support -static bool texCompASTCSupported = false; // ASTC texture compression support - -// Extension supported flag: Textures format -static bool texNPOTSupported = false; // NPOT textures full support -static bool texFloatSupported = false; // float textures support (32 bit per channel) -static bool texDepthSupported = false; // Depth textures supported -static int maxDepthBits = 16; // Maximum bits for depth component - -// Extension supported flag: Clamp mirror wrap mode -static bool texMirrorClampSupported = false; // Clamp mirror wrap mode supported - -// Extension supported flag: Anisotropic filtering -static bool texAnisotropicFilterSupported = false; // Anisotropic texture filtering support -static float maxAnisotropicLevel = 0.0f; // Maximum anisotropy level supported (minimum is 2.0f) - -static bool debugMarkerSupported = false; // Debug marker support +static rlglData RLGL = { 0 }; +#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2 #if defined(GRAPHICS_API_OPENGL_ES2) // NOTE: VAO functionality is exposed through extensions (OES) -static PFNGLGENVERTEXARRAYSOESPROC glGenVertexArrays; -static PFNGLBINDVERTEXARRAYOESPROC glBindVertexArray; -static PFNGLDELETEVERTEXARRAYSOESPROC glDeleteVertexArrays; -//static PFNGLISVERTEXARRAYOESPROC glIsVertexArray; // NOTE: Fails in WebGL, omitted +static PFNGLGENVERTEXARRAYSOESPROC glGenVertexArrays; // Entry point pointer to function glGenVertexArrays() +static PFNGLBINDVERTEXARRAYOESPROC glBindVertexArray; // Entry point pointer to function glBindVertexArray() +static PFNGLDELETEVERTEXARRAYSOESPROC glDeleteVertexArrays; // Entry point pointer to function glDeleteVertexArrays() #endif -#if defined(SUPPORT_VR_SIMULATOR) -// VR global variables -static VrStereoConfig vrConfig = { 0 }; // VR stereo configuration for simulator -static RenderTexture2D stereoFbo; // VR stereo rendering framebuffer -static bool vrSimulatorReady = false; // VR simulator ready flag -static bool vrStereoRender = false; // VR stereo rendering enabled/disabled flag - // NOTE: This flag is useful to render data over stereo image (i.e. FPS) -#endif // SUPPORT_VR_SIMULATOR - -#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2 - -static int blendMode = 0; // Track current blending mode - -// Default framebuffer size -static int screenWidth; // Default framebuffer width -static int screenHeight; // Default framebuffer height - //---------------------------------------------------------------------------------- // Module specific Functions Declaration //---------------------------------------------------------------------------------- @@ -848,14 +935,16 @@ static int screenHeight; // Default framebuffer height static unsigned int CompileShader(const char *shaderStr, int type); // Compile custom shader and return shader id static unsigned int LoadShaderProgram(unsigned int vShaderId, unsigned int fShaderId); // Load custom shader program -static Shader LoadShaderDefault(void); // Load default shader (just vertex positioning and texture coloring) -static void SetShaderDefaultLocations(Shader *shader); // Bind default shader locations (attributes and uniforms) -static void UnloadShaderDefault(void); // Unload default shader +static Shader LoadShaderDefault(void); // Load default shader (just vertex positioning and texture coloring) +static void SetShaderDefaultLocations(Shader *shader); // Bind default shader locations (attributes and uniforms) +static void UnloadShaderDefault(void); // Unload default shader -static void LoadBuffersDefault(void); // Load default internal buffers -static void UpdateBuffersDefault(void); // Update default internal buffers (VAOs/VBOs) with vertex data -static void DrawBuffersDefault(void); // Draw default internal buffers vertex data -static void UnloadBuffersDefault(void); // Unload default internal buffers vertex data from CPU and GPU +static RenderBatch LoadRenderBatch(int numBuffers, int bufferElements); // Load a render batch system +static void UnloadRenderBatch(RenderBatch batch); // Unload render batch system +static void DrawRenderBatch(RenderBatch *batch); // Draw render batch data (Update->Draw->Reset) +static void SetRenderBatchActive(RenderBatch *batch); // Set the active render batch for rlgl +static void SetRenderBatchDefault(void); // Set default render batch for rlgl +//static bool CheckRenderBatchLimit(RenderBatch batch, int vCount); // Check render batch vertex buffer limits static void GenDrawCube(void); // Generate and draw cube static void GenDrawQuad(void); // Generate and draw quad @@ -913,49 +1002,49 @@ void rlMultMatrixf(float *matf) { glMultMatrixf(matf); } // Choose the current matrix to be transformed void rlMatrixMode(int mode) { - if (mode == RL_PROJECTION) currentMatrix = &projection; - else if (mode == RL_MODELVIEW) currentMatrix = &modelview; + if (mode == RL_PROJECTION) RLGL.State.currentMatrix = &RLGL.State.projection; + else if (mode == RL_MODELVIEW) RLGL.State.currentMatrix = &RLGL.State.modelview; //else if (mode == RL_TEXTURE) // Not supported - currentMatrixMode = mode; + RLGL.State.currentMatrixMode = mode; } -// Push the current matrix into stack +// Push the current matrix into RLGL.State.stack void rlPushMatrix(void) { - if (stackCounter >= MAX_MATRIX_STACK_SIZE) TraceLog(LOG_ERROR, "Matrix stack overflow"); + if (RLGL.State.stackCounter >= MAX_MATRIX_STACK_SIZE) TRACELOG(LOG_ERROR, "RLGL: Matrix stack overflow (MAX_MATRIX_STACK_SIZE)"); - if (currentMatrixMode == RL_MODELVIEW) + if (RLGL.State.currentMatrixMode == RL_MODELVIEW) { - useTransformMatrix = true; - currentMatrix = &transformMatrix; + RLGL.State.transformRequired = true; + RLGL.State.currentMatrix = &RLGL.State.transform; } - stack[stackCounter] = *currentMatrix; - stackCounter++; + RLGL.State.stack[RLGL.State.stackCounter] = *RLGL.State.currentMatrix; + RLGL.State.stackCounter++; } -// Pop lattest inserted matrix from stack +// Pop lattest inserted matrix from RLGL.State.stack void rlPopMatrix(void) { - if (stackCounter > 0) + if (RLGL.State.stackCounter > 0) { - Matrix mat = stack[stackCounter - 1]; - *currentMatrix = mat; - stackCounter--; + Matrix mat = RLGL.State.stack[RLGL.State.stackCounter - 1]; + *RLGL.State.currentMatrix = mat; + RLGL.State.stackCounter--; } - if ((stackCounter == 0) && (currentMatrixMode == RL_MODELVIEW)) + if ((RLGL.State.stackCounter == 0) && (RLGL.State.currentMatrixMode == RL_MODELVIEW)) { - currentMatrix = &modelview; - useTransformMatrix = false; + RLGL.State.currentMatrix = &RLGL.State.modelview; + RLGL.State.transformRequired = false; } } // Reset current matrix to identity matrix void rlLoadIdentity(void) { - *currentMatrix = MatrixIdentity(); + *RLGL.State.currentMatrix = MatrixIdentity(); } // Multiply the current matrix by a translation matrix @@ -964,7 +1053,7 @@ void rlTranslatef(float x, float y, float z) Matrix matTranslation = MatrixTranslate(x, y, z); // NOTE: We transpose matrix with multiplication order - *currentMatrix = MatrixMultiply(matTranslation, *currentMatrix); + *RLGL.State.currentMatrix = MatrixMultiply(matTranslation, *RLGL.State.currentMatrix); } // Multiply the current matrix by a rotation matrix @@ -976,7 +1065,7 @@ void rlRotatef(float angleDeg, float x, float y, float z) matRotation = MatrixRotate(Vector3Normalize(axis), angleDeg*DEG2RAD); // NOTE: We transpose matrix with multiplication order - *currentMatrix = MatrixMultiply(matRotation, *currentMatrix); + *RLGL.State.currentMatrix = MatrixMultiply(matRotation, *RLGL.State.currentMatrix); } // Multiply the current matrix by a scaling matrix @@ -985,7 +1074,7 @@ void rlScalef(float x, float y, float z) Matrix matScale = MatrixScale(x, y, z); // NOTE: We transpose matrix with multiplication order - *currentMatrix = MatrixMultiply(matScale, *currentMatrix); + *RLGL.State.currentMatrix = MatrixMultiply(matScale, *RLGL.State.currentMatrix); } // Multiply the current matrix by another matrix @@ -997,7 +1086,7 @@ void rlMultMatrixf(float *matf) matf[2], matf[6], matf[10], matf[14], matf[3], matf[7], matf[11], matf[15] }; - *currentMatrix = MatrixMultiply(*currentMatrix, mat); + *RLGL.State.currentMatrix = MatrixMultiply(*RLGL.State.currentMatrix, mat); } // Multiply the current matrix by a perspective matrix generated by parameters @@ -1005,7 +1094,7 @@ void rlFrustum(double left, double right, double bottom, double top, double znea { Matrix matPerps = MatrixFrustum(left, right, bottom, top, znear, zfar); - *currentMatrix = MatrixMultiply(*currentMatrix, matPerps); + *RLGL.State.currentMatrix = MatrixMultiply(*RLGL.State.currentMatrix, matPerps); } // Multiply the current matrix by an orthographic matrix generated by parameters @@ -1013,13 +1102,12 @@ void rlOrtho(double left, double right, double bottom, double top, double znear, { Matrix matOrtho = MatrixOrtho(left, right, bottom, top, znear, zfar); - *currentMatrix = MatrixMultiply(*currentMatrix, matOrtho); + *RLGL.State.currentMatrix = MatrixMultiply(*RLGL.State.currentMatrix, matOrtho); } #endif // Set the viewport area (transformation from normalized device coordinates to window coordinates) -// NOTE: Updates global variables: screenWidth, screenHeight void rlViewport(int x, int y, int width, int height) { glViewport(x, y, width, height); @@ -1049,7 +1137,7 @@ void rlVertex2f(float x, float y) { glVertex2f(x, y); } void rlVertex3f(float x, float y, float z) { glVertex3f(x, y, z); } void rlTexCoord2f(float x, float y) { glTexCoord2f(x, y); } void rlNormal3f(float x, float y, float z) { glNormal3f(x, y, z); } -void rlColor4ub(byte r, byte g, byte b, byte a) { glColor4ub(r, g, b, a); } +void rlColor4ub(unsigned char r, unsigned char g, unsigned char b, unsigned char a) { glColor4ub(r, g, b, a); } void rlColor3f(float x, float y, float z) { glColor3f(x, y, z); } void rlColor4f(float x, float y, float z, float w) { glColor4f(x, y, z, w); } @@ -1060,34 +1148,36 @@ void rlBegin(int mode) { // Draw mode can be RL_LINES, RL_TRIANGLES and RL_QUADS // NOTE: In all three cases, vertex are accumulated over default internal vertex buffer - if (draws[drawsCounter - 1].mode != mode) + if (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].mode != mode) { - if (draws[drawsCounter - 1].vertexCount > 0) + if (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount > 0) { - // Make sure current draws[i].vertexCount is aligned a multiple of 4, + // Make sure current RLGL.currentBatch->draws[i].vertexCount is aligned a multiple of 4, // that way, following QUADS drawing will keep aligned with index processing // It implies adding some extra alignment vertex at the end of the draw, // those vertex are not processed but they are considered as an additional offset // for the next set of vertex to be drawn - if (draws[drawsCounter - 1].mode == RL_LINES) draws[drawsCounter - 1].vertexAlignment = ((draws[drawsCounter - 1].vertexCount < 4)? draws[drawsCounter - 1].vertexCount : draws[drawsCounter - 1].vertexCount%4); - else if (draws[drawsCounter - 1].mode == RL_TRIANGLES) draws[drawsCounter - 1].vertexAlignment = ((draws[drawsCounter - 1].vertexCount < 4)? 1 : (4 - (draws[drawsCounter - 1].vertexCount%4))); + if (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].mode == RL_LINES) RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment = ((RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount < 4)? RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount : RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount%4); + else if (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].mode == RL_TRIANGLES) RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment = ((RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount < 4)? 1 : (4 - (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount%4))); - if (rlCheckBufferLimit(draws[drawsCounter - 1].vertexAlignment)) rlglDraw(); + else RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment = 0; + + if (rlCheckBufferLimit(RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment)) DrawRenderBatch(RLGL.currentBatch); else { - vertexData[currentBuffer].vCounter += draws[drawsCounter - 1].vertexAlignment; - vertexData[currentBuffer].cCounter += draws[drawsCounter - 1].vertexAlignment; - vertexData[currentBuffer].tcCounter += draws[drawsCounter - 1].vertexAlignment; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter += RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter += RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter += RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment; - drawsCounter++; + RLGL.currentBatch->drawsCounter++; } } - if (drawsCounter >= MAX_DRAWCALL_REGISTERED) rlglDraw(); + if (RLGL.currentBatch->drawsCounter >= DEFAULT_BATCH_DRAWCALLS) DrawRenderBatch(RLGL.currentBatch); - draws[drawsCounter - 1].mode = mode; - draws[drawsCounter - 1].vertexCount = 0; - draws[drawsCounter - 1].textureId = defaultTextureId; + RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].mode = mode; + RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount = 0; + RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].textureId = RLGL.State.defaultTextureId; } } @@ -1098,30 +1188,30 @@ void rlEnd(void) // NOTE: In OpenGL 1.1, one glColor call can be made for all the subsequent glVertex calls // Make sure colors count match vertex count - if (vertexData[currentBuffer].vCounter != vertexData[currentBuffer].cCounter) + if (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter != RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter) { - int addColors = vertexData[currentBuffer].vCounter - vertexData[currentBuffer].cCounter; + int addColors = RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter - RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter; for (int i = 0; i < addColors; i++) { - vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter] = vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter - 4]; - vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 1] = vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter - 3]; - vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 2] = vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter - 2]; - vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 3] = vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter - 1]; - vertexData[currentBuffer].cCounter++; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter] = RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter - 4]; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter + 1] = RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter - 3]; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter + 2] = RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter - 2]; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter + 3] = RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter - 1]; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter++; } } // Make sure texcoords count match vertex count - if (vertexData[currentBuffer].vCounter != vertexData[currentBuffer].tcCounter) + if (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter != RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter) { - int addTexCoords = vertexData[currentBuffer].vCounter - vertexData[currentBuffer].tcCounter; + int addTexCoords = RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter - RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter; for (int i = 0; i < addTexCoords; i++) { - vertexData[currentBuffer].texcoords[2*vertexData[currentBuffer].tcCounter] = 0.0f; - vertexData[currentBuffer].texcoords[2*vertexData[currentBuffer].tcCounter + 1] = 0.0f; - vertexData[currentBuffer].tcCounter++; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].texcoords[2*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter] = 0.0f; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].texcoords[2*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter + 1] = 0.0f; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter++; } } @@ -1130,17 +1220,17 @@ void rlEnd(void) // NOTE: Depth increment is dependant on rlOrtho(): z-near and z-far values, // as well as depth buffer bit-depth (16bit or 24bit or 32bit) // Correct increment formula would be: depthInc = (zfar - znear)/pow(2, bits) - currentDepth += (1.0f/20000.0f); + RLGL.currentBatch->currentDepth += (1.0f/20000.0f); // Verify internal buffers limits // NOTE: This check is combined with usage of rlCheckBufferLimit() - if ((vertexData[currentBuffer].vCounter) >= (MAX_BATCH_ELEMENTS*4 - 4)) + if ((RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter) >= (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].elementsCount*4 - 4)) { - // WARNING: If we are between rlPushMatrix() and rlPopMatrix() and we need to force a rlglDraw(), - // we need to call rlPopMatrix() before to recover *currentMatrix (modelview) for the next forced draw call! - // Also noted that if we had multiple matrix pushed, it will require "stackCounter" pops before launching the draw - rlPopMatrix(); - rlglDraw(); + // WARNING: If we are between rlPushMatrix() and rlPopMatrix() and we need to force a DrawRenderBatch(), + // we need to call rlPopMatrix() before to recover *RLGL.State.currentMatrix (RLGL.State.modelview) for the next forced draw call! + // If we have multiple matrix pushed, it will require "RLGL.State.stackCounter" pops before launching the draw + for (int i = RLGL.State.stackCounter; i >= 0; i--) rlPopMatrix(); + DrawRenderBatch(RLGL.currentBatch); } } @@ -1151,40 +1241,40 @@ void rlVertex3f(float x, float y, float z) Vector3 vec = { x, y, z }; // Transform provided vector if required - if (useTransformMatrix) vec = Vector3Transform(vec, transformMatrix); + if (RLGL.State.transformRequired) vec = Vector3Transform(vec, RLGL.State.transform); - // Verify that MAX_BATCH_ELEMENTS limit not reached - if (vertexData[currentBuffer].vCounter < (MAX_BATCH_ELEMENTS*4)) + // Verify that current vertex buffer elements limit has not been reached + if (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter < (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].elementsCount*4)) { - vertexData[currentBuffer].vertices[3*vertexData[currentBuffer].vCounter] = vec.x; - vertexData[currentBuffer].vertices[3*vertexData[currentBuffer].vCounter + 1] = vec.y; - vertexData[currentBuffer].vertices[3*vertexData[currentBuffer].vCounter + 2] = vec.z; - vertexData[currentBuffer].vCounter++; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vertices[3*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter] = vec.x; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vertices[3*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter + 1] = vec.y; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vertices[3*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter + 2] = vec.z; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter++; - draws[drawsCounter - 1].vertexCount++; + RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount++; } - else TraceLog(LOG_ERROR, "MAX_BATCH_ELEMENTS overflow"); + else TRACELOG(LOG_ERROR, "RLGL: Batch elements overflow"); } // Define one vertex (position) void rlVertex2f(float x, float y) { - rlVertex3f(x, y, currentDepth); + rlVertex3f(x, y, RLGL.currentBatch->currentDepth); } // Define one vertex (position) void rlVertex2i(int x, int y) { - rlVertex3f((float)x, (float)y, currentDepth); + rlVertex3f((float)x, (float)y, RLGL.currentBatch->currentDepth); } // Define one vertex (texture coordinate) // NOTE: Texture coordinates are limited to QUADS only void rlTexCoord2f(float x, float y) { - vertexData[currentBuffer].texcoords[2*vertexData[currentBuffer].tcCounter] = x; - vertexData[currentBuffer].texcoords[2*vertexData[currentBuffer].tcCounter + 1] = y; - vertexData[currentBuffer].tcCounter++; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].texcoords[2*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter] = x; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].texcoords[2*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter + 1] = y; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter++; } // Define one vertex (normal) @@ -1195,25 +1285,25 @@ void rlNormal3f(float x, float y, float z) } // Define one vertex (color) -void rlColor4ub(byte x, byte y, byte z, byte w) +void rlColor4ub(unsigned char x, unsigned char y, unsigned char z, unsigned char w) { - vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter] = x; - vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 1] = y; - vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 2] = z; - vertexData[currentBuffer].colors[4*vertexData[currentBuffer].cCounter + 3] = w; - vertexData[currentBuffer].cCounter++; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter] = x; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter + 1] = y; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter + 2] = z; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].colors[4*RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter + 3] = w; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter++; } // Define one vertex (color) void rlColor4f(float r, float g, float b, float a) { - rlColor4ub((byte)(r*255), (byte)(g*255), (byte)(b*255), (byte)(a*255)); + rlColor4ub((unsigned char)(r*255), (unsigned char)(g*255), (unsigned char)(b*255), (unsigned char)(a*255)); } // Define one vertex (color) void rlColor3f(float x, float y, float z) { - rlColor4ub((byte)(x*255), (byte)(y*255), (byte)(z*255), 255); + rlColor4ub((unsigned char)(x*255), (unsigned char)(y*255), (unsigned char)(z*255), 255); } #endif @@ -1231,33 +1321,35 @@ void rlEnableTexture(unsigned int id) #endif #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (draws[drawsCounter - 1].textureId != id) + if (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].textureId != id) { - if (draws[drawsCounter - 1].vertexCount > 0) + if (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount > 0) { - // Make sure current draws[i].vertexCount is aligned a multiple of 4, + // Make sure current RLGL.currentBatch->draws[i].vertexCount is aligned a multiple of 4, // that way, following QUADS drawing will keep aligned with index processing // It implies adding some extra alignment vertex at the end of the draw, // those vertex are not processed but they are considered as an additional offset // for the next set of vertex to be drawn - if (draws[drawsCounter - 1].mode == RL_LINES) draws[drawsCounter - 1].vertexAlignment = ((draws[drawsCounter - 1].vertexCount < 4)? draws[drawsCounter - 1].vertexCount : draws[drawsCounter - 1].vertexCount%4); - else if (draws[drawsCounter - 1].mode == RL_TRIANGLES) draws[drawsCounter - 1].vertexAlignment = ((draws[drawsCounter - 1].vertexCount < 4)? 1 : (4 - (draws[drawsCounter - 1].vertexCount%4))); + if (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].mode == RL_LINES) RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment = ((RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount < 4)? RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount : RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount%4); + else if (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].mode == RL_TRIANGLES) RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment = ((RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount < 4)? 1 : (4 - (RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount%4))); - if (rlCheckBufferLimit(draws[drawsCounter - 1].vertexAlignment)) rlglDraw(); + else RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment = 0; + + if (rlCheckBufferLimit(RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment)) DrawRenderBatch(RLGL.currentBatch); else { - vertexData[currentBuffer].vCounter += draws[drawsCounter - 1].vertexAlignment; - vertexData[currentBuffer].cCounter += draws[drawsCounter - 1].vertexAlignment; - vertexData[currentBuffer].tcCounter += draws[drawsCounter - 1].vertexAlignment; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter += RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].cCounter += RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment; + RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].tcCounter += RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexAlignment; - drawsCounter++; + RLGL.currentBatch->drawsCounter++; } } - if (drawsCounter >= MAX_DRAWCALL_REGISTERED) rlglDraw(); + if (RLGL.currentBatch->drawsCounter >= DEFAULT_BATCH_DRAWCALLS) DrawRenderBatch(RLGL.currentBatch); - draws[drawsCounter - 1].textureId = id; - draws[drawsCounter - 1].vertexCount = 0; + RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].textureId = id; + RLGL.currentBatch->draws[RLGL.currentBatch->drawsCounter - 1].vertexCount = 0; } #endif } @@ -1271,7 +1363,7 @@ void rlDisableTexture(void) #else // NOTE: If quads batch limit is reached, // we force a draw call and next batch starts - if (vertexData[currentBuffer].vCounter >= (MAX_BATCH_ELEMENTS*4)) rlglDraw(); + if (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter >= (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].elementsCount*4)) DrawRenderBatch(RLGL.currentBatch); #endif } @@ -1288,23 +1380,25 @@ void rlTextureParameters(unsigned int id, int param, int value) if (value == RL_WRAP_MIRROR_CLAMP) { #if !defined(GRAPHICS_API_OPENGL_11) - if (!texMirrorClampSupported) TraceLog(LOG_WARNING, "Clamp mirror wrap mode not supported"); + if (RLGL.ExtSupported.texMirrorClamp) glTexParameteri(GL_TEXTURE_2D, param, value); + else TRACELOG(LOG_WARNING, "GL: Clamp mirror wrap mode not supported (GL_MIRROR_CLAMP_EXT)"); #endif } else glTexParameteri(GL_TEXTURE_2D, param, value); + } break; case RL_TEXTURE_MAG_FILTER: case RL_TEXTURE_MIN_FILTER: glTexParameteri(GL_TEXTURE_2D, param, value); break; case RL_TEXTURE_ANISOTROPIC_FILTER: { #if !defined(GRAPHICS_API_OPENGL_11) - if (value <= maxAnisotropicLevel) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, (float)value); - else if (maxAnisotropicLevel > 0.0f) + if (value <= RLGL.ExtSupported.maxAnisotropicLevel) glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, (float)value); + else if (RLGL.ExtSupported.maxAnisotropicLevel > 0.0f) { - TraceLog(LOG_WARNING, "[TEX ID %i] Maximum anisotropic filter level supported is %iX", id, maxAnisotropicLevel); + TRACELOG(LOG_WARNING, "GL: Maximum anisotropic filter level supported is %iX", id, RLGL.ExtSupported.maxAnisotropicLevel); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, (float)value); } - else TraceLog(LOG_WARNING, "Anisotropic filtering not supported"); + else TRACELOG(LOG_WARNING, "GL: Anisotropic filtering not supported"); #endif } break; default: break; @@ -1313,56 +1407,69 @@ void rlTextureParameters(unsigned int id, int param, int value) glBindTexture(GL_TEXTURE_2D, 0); } +// Enable shader program usage +void rlEnableShader(unsigned int id) +{ +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) + glUseProgram(id); +#endif +} + +// Disable shader program usage +void rlDisableShader(void) +{ +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) + glUseProgram(0); +#endif +} + // Enable rendering to texture (fbo) -void rlEnableRenderTexture(unsigned int id) +void rlEnableFramebuffer(unsigned int id) { -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) glBindFramebuffer(GL_FRAMEBUFFER, id); - - //glDisable(GL_CULL_FACE); // Allow double side drawing for texture flipping - //glCullFace(GL_FRONT); #endif } // Disable rendering to texture -void rlDisableRenderTexture(void) +void rlDisableFramebuffer(void) { -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) glBindFramebuffer(GL_FRAMEBUFFER, 0); - - //glEnable(GL_CULL_FACE); - //glCullFace(GL_BACK); #endif } // Enable depth test -void rlEnableDepthTest(void) -{ - glEnable(GL_DEPTH_TEST); -} +void rlEnableDepthTest(void) { glEnable(GL_DEPTH_TEST); } // Disable depth test -void rlDisableDepthTest(void) -{ - glDisable(GL_DEPTH_TEST); -} +void rlDisableDepthTest(void) { glDisable(GL_DEPTH_TEST); } + +// Enable depth write +void rlEnableDepthMask(void) { glDepthMask(GL_TRUE); } + +// Disable depth write +void rlDisableDepthMask(void) { glDepthMask(GL_FALSE); } // Enable backface culling -void rlEnableBackfaceCulling(void) -{ - glEnable(GL_CULL_FACE); -} +void rlEnableBackfaceCulling(void) { glEnable(GL_CULL_FACE); } // Disable backface culling -void rlDisableBackfaceCulling(void) -{ - glDisable(GL_CULL_FACE); -} +void rlDisableBackfaceCulling(void) { glDisable(GL_CULL_FACE); } + +// Enable scissor test +RLAPI void rlEnableScissorTest(void) { glEnable(GL_SCISSOR_TEST); } + +// Disable scissor test +RLAPI void rlDisableScissorTest(void) { glDisable(GL_SCISSOR_TEST); } + +// Scissor test +RLAPI void rlScissor(int x, int y, int width, int height) { glScissor(x, y, width, height); } // Enable wire mode void rlEnableWireMode(void) { -#if defined (GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) +#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) // NOTE: glPolygonMode() not available on OpenGL ES glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); #endif @@ -1371,69 +1478,69 @@ void rlEnableWireMode(void) // Disable wire mode void rlDisableWireMode(void) { -#if defined (GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) +#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_33) // NOTE: glPolygonMode() not available on OpenGL ES glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); #endif } - -// Unload texture from GPU memory -void rlDeleteTextures(unsigned int id) +// Set the line drawing width +void rlSetLineWidth(float width) { - if (id > 0) glDeleteTextures(1, &id); + glLineWidth(width); } -// Unload render texture from GPU memory -void rlDeleteRenderTextures(RenderTexture2D target) +// Get the line drawing width +float rlGetLineWidth(void) { -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (target.texture.id > 0) glDeleteTextures(1, &target.texture.id); - if (target.depth.id > 0) - { - if (target.depthTexture) glDeleteTextures(1, &target.depth.id); - else glDeleteRenderbuffers(1, &target.depth.id); - } - - if (target.id > 0) glDeleteFramebuffers(1, &target.id); - - TraceLog(LOG_INFO, "[FBO ID %i] Unloaded render texture data from VRAM (GPU)", target.id); -#endif + float width = 0; + glGetFloatv(GL_LINE_WIDTH, &width); + return width; } -// Unload shader from GPU memory -void rlDeleteShader(unsigned int id) +// Enable line aliasing +void rlEnableSmoothLines(void) { -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (id != 0) glDeleteProgram(id); +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_21) || defined(GRAPHICS_API_OPENGL_11) + glEnable(GL_LINE_SMOOTH); #endif } -// Unload vertex data (VAO) from GPU memory -void rlDeleteVertexArrays(unsigned int id) +// Disable line aliasing +void rlDisableSmoothLines(void) { -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (vaoSupported) - { - if (id != 0) glDeleteVertexArrays(1, &id); - TraceLog(LOG_INFO, "[VAO ID %i] Unloaded model data from VRAM (GPU)", id); - } +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_21) || defined(GRAPHICS_API_OPENGL_11) + glDisable(GL_LINE_SMOOTH); #endif } -// Unload vertex data (VBO) from GPU memory -void rlDeleteBuffers(unsigned int id) +// Unload framebuffer from GPU memory +// NOTE: All attached textures/cubemaps/renderbuffers are also deleted +void rlUnloadFramebuffer(unsigned int id) { -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (id != 0) - { - glDeleteBuffers(1, &id); - if (!vaoSupported) TraceLog(LOG_INFO, "[VBO ID %i] Unloaded model vertex data from VRAM (GPU)", id); - } +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) + + // Query depth attachment to automatically delete texture/renderbuffer + int depthType = 0, depthId = 0; + glBindFramebuffer(GL_FRAMEBUFFER, id); // Bind framebuffer to query depth texture type + glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, &depthType); + glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, &depthId); + + unsigned int depthIdU = (unsigned int)depthId; + if (depthType == GL_RENDERBUFFER) glDeleteRenderbuffers(1, &depthIdU); + else if (depthType == GL_RENDERBUFFER) glDeleteTextures(1, &depthIdU); + + // NOTE: If a texture object is deleted while its image is attached to the *currently bound* framebuffer, + // the texture image is automatically detached from the currently bound framebuffer. + + glBindFramebuffer(GL_FRAMEBUFFER, 0); + glDeleteFramebuffers(1, &id); + + TRACELOG(LOG_INFO, "FBO: [ID %i] Unloaded framebuffer from VRAM (GPU)", id); #endif } // Clear color buffer with color -void rlClearColor(byte r, byte g, byte b, byte a) +void rlClearColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a) { // Color values clamp to 0.0f(0) and 1.0f(255) float cr = (float)r/255; @@ -1469,87 +1576,92 @@ void rlglInit(int width, int height) { // Check OpenGL information and capabilities //------------------------------------------------------------------------------ - // Print current OpenGL and GLSL version - TraceLog(LOG_INFO, "GPU: Vendor: %s", glGetString(GL_VENDOR)); - TraceLog(LOG_INFO, "GPU: Renderer: %s", glGetString(GL_RENDERER)); - TraceLog(LOG_INFO, "GPU: Version: %s", glGetString(GL_VERSION)); - TraceLog(LOG_INFO, "GPU: GLSL: %s", glGetString(GL_SHADING_LANGUAGE_VERSION)); + TRACELOG(LOG_INFO, "GL: OpenGL device information:"); + TRACELOG(LOG_INFO, " > Vendor: %s", glGetString(GL_VENDOR)); + TRACELOG(LOG_INFO, " > Renderer: %s", glGetString(GL_RENDERER)); + TRACELOG(LOG_INFO, " > Version: %s", glGetString(GL_VERSION)); + TRACELOG(LOG_INFO, " > GLSL: %s", glGetString(GL_SHADING_LANGUAGE_VERSION)); // NOTE: We can get a bunch of extra information about GPU capabilities (glGet*) //int maxTexSize; //glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxTexSize); - //TraceLog(LOG_INFO, "GL_MAX_TEXTURE_SIZE: %i", maxTexSize); + //TRACELOG(LOG_INFO, "GL: Maximum texture size: %i", maxTexSize); //GL_MAX_TEXTURE_IMAGE_UNITS //GL_MAX_VIEWPORT_DIMS //int numAuxBuffers; //glGetIntegerv(GL_AUX_BUFFERS, &numAuxBuffers); - //TraceLog(LOG_INFO, "GL_AUX_BUFFERS: %i", numAuxBuffers); + //TRACELOG(LOG_INFO, "GL: Number of aixiliar buffers: %i", numAuxBuffers); //GLint numComp = 0; //GLint format[32] = { 0 }; //glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &numComp); //glGetIntegerv(GL_COMPRESSED_TEXTURE_FORMATS, format); - //for (int i = 0; i < numComp; i++) TraceLog(LOG_INFO, "Supported compressed format: 0x%x", format[i]); + //for (int i = 0; i < numComp; i++) TRACELOG(LOG_INFO, "GL: Supported compressed format: 0x%x", format[i]); // NOTE: We don't need that much data on screen... right now... // TODO: Automatize extensions loading using rlLoadExtensions() and GLAD // Actually, when rlglInit() is called in InitWindow() in core.c, - // OpenGL required extensions have already been loaded (PLATFORM_DESKTOP) + // OpenGL context has already been created and required extensions loaded #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) // Get supported extensions list GLint numExt = 0; -#if defined(GRAPHICS_API_OPENGL_33) +#if defined(GRAPHICS_API_OPENGL_33) && !defined(GRAPHICS_API_OPENGL_21) // NOTE: On OpenGL 3.3 VAO and NPOT are supported by default - vaoSupported = true; + RLGL.ExtSupported.vao = true; // Multiple texture extensions supported by default - texNPOTSupported = true; - texFloatSupported = true; - texDepthSupported = true; + RLGL.ExtSupported.texNPOT = true; + RLGL.ExtSupported.texFloat32 = true; + RLGL.ExtSupported.texDepth = true; // We get a list of available extensions and we check for some of them (compressed textures) // NOTE: We don't need to check again supported extensions but we do (GLAD already dealt with that) glGetIntegerv(GL_NUM_EXTENSIONS, &numExt); - const char **extList = RL_MALLOC(sizeof(const char *)*numExt); + // Allocate numExt strings pointers + char **extList = RL_MALLOC(sizeof(char *)*numExt); + + // Get extensions strings for (int i = 0; i < numExt; i++) extList[i] = (char *)glGetStringi(GL_EXTENSIONS, i); -#elif defined(GRAPHICS_API_OPENGL_ES2) - char *extensions = (char *)glGetString(GL_EXTENSIONS); // One big const string +#endif +#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21) + // Allocate 512 strings pointers (2 KB) + const char **extList = RL_MALLOC(512*sizeof(const char *)); + + const char *extensions = (const char *)glGetString(GL_EXTENSIONS); // One big const string // NOTE: We have to duplicate string because glGetString() returns a const string int len = strlen(extensions) + 1; - char *extensionsDup = (char *)RL_MALLOC(len); + char *extensionsDup = (char *)RL_CALLOC(len, sizeof(char)); strcpy(extensionsDup, extensions); - // NOTE: String could be splitted using strtok() function (string.h) - // NOTE: strtok() modifies the passed string, it can not be const - - // Allocate 512 strings pointers (2 KB) - const char **extList = RL_MALLOC(sizeof(const char *)*512); + extList[numExt] = extensionsDup; - extList[numExt] = strtok(extensionsDup, " "); - while (extList[numExt] != NULL) + for (int i = 0; i < len; i++) { - numExt++; - extList[numExt] = strtok(NULL, " "); - } + if (extensionsDup[i] == ' ') + { + extensionsDup[i] = '\0'; - RL_FREE(extensionsDup); // Duplicated string must be deallocated + numExt++; + extList[numExt] = &extensionsDup[i + 1]; + } + } - numExt -= 1; + // NOTE: Duplicated string (extensionsDup) must be deallocated #endif - TraceLog(LOG_INFO, "Number of supported extensions: %i", numExt); + TRACELOG(LOG_INFO, "GL: Supported extensions count: %i", numExt); // Show supported extensions - //for (int i = 0; i < numExt; i++) TraceLog(LOG_INFO, "Supported extension: %s", extList[i]); + //for (int i = 0; i < numExt; i++) TRACELOG(LOG_INFO, "Supported extension: %s", extList[i]); // Check required extensions for (int i = 0; i < numExt; i++) @@ -1566,124 +1678,111 @@ void rlglInit(int width, int height) glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSOESPROC)eglGetProcAddress("glDeleteVertexArraysOES"); //glIsVertexArray = (PFNGLISVERTEXARRAYOESPROC)eglGetProcAddress("glIsVertexArrayOES"); // NOTE: Fails in WebGL, omitted - if ((glGenVertexArrays != NULL) && (glBindVertexArray != NULL) && (glDeleteVertexArrays != NULL)) vaoSupported = true; + if ((glGenVertexArrays != NULL) && (glBindVertexArray != NULL) && (glDeleteVertexArrays != NULL)) RLGL.ExtSupported.vao = true; } // Check NPOT textures support // NOTE: Only check on OpenGL ES, OpenGL 3.3 has NPOT textures full support as core feature - if (strcmp(extList[i], (const char *)"GL_OES_texture_npot") == 0) texNPOTSupported = true; + if (strcmp(extList[i], (const char *)"GL_OES_texture_npot") == 0) RLGL.ExtSupported.texNPOT = true; // Check texture float support - if (strcmp(extList[i], (const char *)"GL_OES_texture_float") == 0) texFloatSupported = true; + if (strcmp(extList[i], (const char *)"GL_OES_texture_float") == 0) RLGL.ExtSupported.texFloat32 = true; // Check depth texture support if ((strcmp(extList[i], (const char *)"GL_OES_depth_texture") == 0) || - (strcmp(extList[i], (const char *)"GL_WEBGL_depth_texture") == 0)) texDepthSupported = true; + (strcmp(extList[i], (const char *)"GL_WEBGL_depth_texture") == 0)) RLGL.ExtSupported.texDepth = true; - if (strcmp(extList[i], (const char *)"GL_OES_depth24") == 0) maxDepthBits = 24; - if (strcmp(extList[i], (const char *)"GL_OES_depth32") == 0) maxDepthBits = 32; + if (strcmp(extList[i], (const char *)"GL_OES_depth24") == 0) RLGL.ExtSupported.maxDepthBits = 24; + if (strcmp(extList[i], (const char *)"GL_OES_depth32") == 0) RLGL.ExtSupported.maxDepthBits = 32; #endif // DDS texture compression support if ((strcmp(extList[i], (const char *)"GL_EXT_texture_compression_s3tc") == 0) || (strcmp(extList[i], (const char *)"GL_WEBGL_compressed_texture_s3tc") == 0) || - (strcmp(extList[i], (const char *)"GL_WEBKIT_WEBGL_compressed_texture_s3tc") == 0)) texCompDXTSupported = true; + (strcmp(extList[i], (const char *)"GL_WEBKIT_WEBGL_compressed_texture_s3tc") == 0)) RLGL.ExtSupported.texCompDXT = true; // ETC1 texture compression support if ((strcmp(extList[i], (const char *)"GL_OES_compressed_ETC1_RGB8_texture") == 0) || - (strcmp(extList[i], (const char *)"GL_WEBGL_compressed_texture_etc1") == 0)) texCompETC1Supported = true; + (strcmp(extList[i], (const char *)"GL_WEBGL_compressed_texture_etc1") == 0)) RLGL.ExtSupported.texCompETC1 = true; // ETC2/EAC texture compression support - if (strcmp(extList[i], (const char *)"GL_ARB_ES3_compatibility") == 0) texCompETC2Supported = true; + if (strcmp(extList[i], (const char *)"GL_ARB_ES3_compatibility") == 0) RLGL.ExtSupported.texCompETC2 = true; // PVR texture compression support - if (strcmp(extList[i], (const char *)"GL_IMG_texture_compression_pvrtc") == 0) texCompPVRTSupported = true; + if (strcmp(extList[i], (const char *)"GL_IMG_texture_compression_pvrtc") == 0) RLGL.ExtSupported.texCompPVRT = true; // ASTC texture compression support - if (strcmp(extList[i], (const char *)"GL_KHR_texture_compression_astc_hdr") == 0) texCompASTCSupported = true; + if (strcmp(extList[i], (const char *)"GL_KHR_texture_compression_astc_hdr") == 0) RLGL.ExtSupported.texCompASTC = true; // Anisotropic texture filter support if (strcmp(extList[i], (const char *)"GL_EXT_texture_filter_anisotropic") == 0) { - texAnisotropicFilterSupported = true; - glGetFloatv(0x84FF, &maxAnisotropicLevel); // GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT + RLGL.ExtSupported.texAnisoFilter = true; + glGetFloatv(0x84FF, &RLGL.ExtSupported.maxAnisotropicLevel); // GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT } // Clamp mirror wrap mode supported - if (strcmp(extList[i], (const char *)"GL_EXT_texture_mirror_clamp") == 0) texMirrorClampSupported = true; + if (strcmp(extList[i], (const char *)"GL_EXT_texture_mirror_clamp") == 0) RLGL.ExtSupported.texMirrorClamp = true; // Debug marker support - if (strcmp(extList[i], (const char *)"GL_EXT_debug_marker") == 0) debugMarkerSupported = true; + if (strcmp(extList[i], (const char *)"GL_EXT_debug_marker") == 0) RLGL.ExtSupported.debugMarker = true; } + // Free extensions pointers RL_FREE(extList); +#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21) + RL_FREE(extensionsDup); // Duplicated string must be deallocated +#endif + #if defined(GRAPHICS_API_OPENGL_ES2) - if (vaoSupported) TraceLog(LOG_INFO, "[EXTENSION] VAO extension detected, VAO functions initialized successfully"); - else TraceLog(LOG_WARNING, "[EXTENSION] VAO extension not found, VAO usage not supported"); + if (RLGL.ExtSupported.vao) TRACELOG(LOG_INFO, "GL: VAO extension detected, VAO functions initialized successfully"); + else TRACELOG(LOG_WARNING, "GL: VAO extension not found, VAO usage not supported"); - if (texNPOTSupported) TraceLog(LOG_INFO, "[EXTENSION] NPOT textures extension detected, full NPOT textures supported"); - else TraceLog(LOG_WARNING, "[EXTENSION] NPOT textures extension not found, limited NPOT support (no-mipmaps, no-repeat)"); + if (RLGL.ExtSupported.texNPOT) TRACELOG(LOG_INFO, "GL: NPOT textures extension detected, full NPOT textures supported"); + else TRACELOG(LOG_WARNING, "GL: NPOT textures extension not found, limited NPOT support (no-mipmaps, no-repeat)"); #endif - if (texCompDXTSupported) TraceLog(LOG_INFO, "[EXTENSION] DXT compressed textures supported"); - if (texCompETC1Supported) TraceLog(LOG_INFO, "[EXTENSION] ETC1 compressed textures supported"); - if (texCompETC2Supported) TraceLog(LOG_INFO, "[EXTENSION] ETC2/EAC compressed textures supported"); - if (texCompPVRTSupported) TraceLog(LOG_INFO, "[EXTENSION] PVRT compressed textures supported"); - if (texCompASTCSupported) TraceLog(LOG_INFO, "[EXTENSION] ASTC compressed textures supported"); + if (RLGL.ExtSupported.texCompDXT) TRACELOG(LOG_INFO, "GL: DXT compressed textures supported"); + if (RLGL.ExtSupported.texCompETC1) TRACELOG(LOG_INFO, "GL: ETC1 compressed textures supported"); + if (RLGL.ExtSupported.texCompETC2) TRACELOG(LOG_INFO, "GL: ETC2/EAC compressed textures supported"); + if (RLGL.ExtSupported.texCompPVRT) TRACELOG(LOG_INFO, "GL: PVRT compressed textures supported"); + if (RLGL.ExtSupported.texCompASTC) TRACELOG(LOG_INFO, "GL: ASTC compressed textures supported"); - if (texAnisotropicFilterSupported) TraceLog(LOG_INFO, "[EXTENSION] Anisotropic textures filtering supported (max: %.0fX)", maxAnisotropicLevel); - if (texMirrorClampSupported) TraceLog(LOG_INFO, "[EXTENSION] Mirror clamp wrap texture mode supported"); + if (RLGL.ExtSupported.texAnisoFilter) TRACELOG(LOG_INFO, "GL: Anisotropic textures filtering supported (max: %.0fX)", RLGL.ExtSupported.maxAnisotropicLevel); + if (RLGL.ExtSupported.texMirrorClamp) TRACELOG(LOG_INFO, "GL: Mirror clamp wrap texture mode supported"); - if (debugMarkerSupported) TraceLog(LOG_INFO, "[EXTENSION] Debug Marker supported"); + if (RLGL.ExtSupported.debugMarker) TRACELOG(LOG_INFO, "GL: Debug Marker supported"); // Initialize buffers, default shaders and default textures //---------------------------------------------------------- // Init default white texture unsigned char pixels[4] = { 255, 255, 255, 255 }; // 1 pixel RGBA (4 bytes) - defaultTextureId = rlLoadTexture(pixels, 1, 1, UNCOMPRESSED_R8G8B8A8, 1); + RLGL.State.defaultTextureId = rlLoadTexture(pixels, 1, 1, UNCOMPRESSED_R8G8B8A8, 1); - if (defaultTextureId != 0) TraceLog(LOG_INFO, "[TEX ID %i] Base white texture loaded successfully", defaultTextureId); - else TraceLog(LOG_WARNING, "Base white texture could not be loaded"); + if (RLGL.State.defaultTextureId != 0) TRACELOG(LOG_INFO, "TEXTURE: [ID %i] Default texture loaded successfully", RLGL.State.defaultTextureId); + else TRACELOG(LOG_WARNING, "TEXTURE: Failed to load default texture"); // Init default Shader (customized for GL 3.3 and ES2) - defaultShader = LoadShaderDefault(); - currentShader = defaultShader; + RLGL.State.defaultShader = LoadShaderDefault(); + RLGL.State.currentShader = RLGL.State.defaultShader; // Init default vertex arrays buffers - LoadBuffersDefault(); + RLGL.defaultBatch = LoadRenderBatch(DEFAULT_BATCH_BUFFERS, DEFAULT_BATCH_BUFFER_ELEMENTS); + RLGL.currentBatch = &RLGL.defaultBatch; - // Init transformations matrix accumulator - transformMatrix = MatrixIdentity(); + // Init stack matrices (emulating OpenGL 1.1) + for (int i = 0; i < MAX_MATRIX_STACK_SIZE; i++) RLGL.State.stack[i] = MatrixIdentity(); - // Init draw calls tracking system - draws = (DrawCall *)RL_MALLOC(sizeof(DrawCall)*MAX_DRAWCALL_REGISTERED); - - for (int i = 0; i < MAX_DRAWCALL_REGISTERED; i++) - { - draws[i].mode = RL_QUADS; - draws[i].vertexCount = 0; - draws[i].vertexAlignment = 0; - //draws[i].vaoId = 0; - //draws[i].shaderId = 0; - draws[i].textureId = defaultTextureId; - //draws[i].projection = MatrixIdentity(); - //draws[i].modelview = MatrixIdentity(); - } + // Init internal matrices + RLGL.State.transform = MatrixIdentity(); + RLGL.State.projection = MatrixIdentity(); + RLGL.State.modelview = MatrixIdentity(); + RLGL.State.currentMatrix = &RLGL.State.modelview; - drawsCounter = 1; - - // Init internal matrix stack (emulating OpenGL 1.1) - for (int i = 0; i < MAX_MATRIX_STACK_SIZE; i++) stack[i] = MatrixIdentity(); - - // Init internal projection and modelview matrices - projection = MatrixIdentity(); - modelview = MatrixIdentity(); - currentMatrix = &modelview; #endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2 // Initialize OpenGL default states //---------------------------------------------------------- - // Init state: Depth test glDepthFunc(GL_LEQUAL); // Type of depth testing to apply glDisable(GL_DEPTH_TEST); // Disable depth testing for 2D (only used for 3D) @@ -1698,35 +1797,45 @@ void rlglInit(int width, int height) glFrontFace(GL_CCW); // Front face are defined counter clockwise (default) glEnable(GL_CULL_FACE); // Enable backface culling + // Init state: Cubemap seamless +#if defined(GRAPHICS_API_OPENGL_33) + glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS); // Seamless cubemaps (not supported on OpenGL ES 2.0) +#endif + #if defined(GRAPHICS_API_OPENGL_11) // Init state: Color hints (deprecated in OpenGL 3.0+) glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Improve quality of color and texture coordinate interpolation glShadeModel(GL_SMOOTH); // Smooth shading between vertex (vertex colors interpolation) #endif +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + // Store screen size into global variables + RLGL.State.framebufferWidth = width; + RLGL.State.framebufferHeight = height; + + // Init texture and rectangle used on basic shapes drawing + RLGL.State.shapesTexture = GetTextureDefault(); + RLGL.State.shapesTextureRec = (Rectangle){ 0.0f, 0.0f, 1.0f, 1.0f }; + + TRACELOG(LOG_INFO, "RLGL: Default state initialized successfully"); +#endif + // Init state: Color/Depth buffers clear glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // Set clear color (black) glClearDepth(1.0f); // Set clear depth value (default) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear color and depth buffers (depth buffer required for 3D) - - // Store screen size into global variables - screenWidth = width; - screenHeight = height; - - TraceLog(LOG_INFO, "OpenGL default states initialized successfully"); } // Vertex Buffer Object deinitialization (memory free) void rlglClose(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - UnloadShaderDefault(); // Unload default shader - UnloadBuffersDefault(); // Unload default buffers - glDeleteTextures(1, &defaultTextureId); // Unload default texture + UnloadRenderBatch(RLGL.defaultBatch); - TraceLog(LOG_INFO, "[TEX ID %i] Unloaded texture data (base white texture) from VRAM", defaultTextureId); + UnloadShaderDefault(); // Unload default shader + glDeleteTextures(1, &RLGL.State.defaultTextureId); // Unload default texture - RL_FREE(draws); + TRACELOG(LOG_INFO, "TEXTURE: [ID %i] Unloaded default texture data from VRAM (GPU)", RLGL.State.defaultTextureId); #endif } @@ -1734,11 +1843,45 @@ void rlglClose(void) void rlglDraw(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - // Only process data if we have data to process - if (vertexData[currentBuffer].vCounter > 0) - { - UpdateBuffersDefault(); - DrawBuffersDefault(); // NOTE: Stereo rendering is checked inside + DrawRenderBatch(RLGL.currentBatch); // NOTE: Stereo rendering is checked inside +#endif +} + +// Check and log OpenGL error codes +void rlCheckErrors() { +#if defined(GRAPHICS_API_OPENGL_21) || defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + int check = 1; + while (check) { + const GLenum err = glGetError(); + switch (err) { + case GL_NO_ERROR: + check = 0; + break; + case 0x0500: // GL_INVALID_ENUM: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_INVALID_ENUM"); + break; + case 0x0501: //GL_INVALID_VALUE: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_INVALID_VALUE"); + break; + case 0x0502: //GL_INVALID_OPERATION: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_INVALID_OPERATION"); + break; + case 0x0503: // GL_STACK_OVERFLOW: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_STACK_OVERFLOW"); + break; + case 0x0504: // GL_STACK_UNDERFLOW: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_STACK_UNDERFLOW"); + break; + case 0x0505: // GL_OUT_OF_MEMORY: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_OUT_OF_MEMORY"); + break; + case 0x0506: // GL_INVALID_FRAMEBUFFER_OPERATION: + TRACELOG(LOG_WARNING, "GL: Error detected: GL_INVALID_FRAMEBUFFER_OPERATION"); + break; + default: + TRACELOG(LOG_WARNING, "GL: Error detected: unknown error code %x", err); + break; + } } #endif } @@ -1750,7 +1893,7 @@ int rlGetVersion(void) return OPENGL_11; #elif defined(GRAPHICS_API_OPENGL_21) #if defined(__APPLE__) - return OPENGL_33; // NOTE: Force OpenGL 3.3 on OSX + return OPENGL_33; // NOTE: Force OpenGL 3.3 on OSX #else return OPENGL_21; #endif @@ -1766,7 +1909,7 @@ bool rlCheckBufferLimit(int vCount) { bool overflow = false; #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if ((vertexData[currentBuffer].vCounter + vCount) >= (MAX_BATCH_ELEMENTS*4)) overflow = true; + if ((RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter + vCount) >= (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].elementsCount*4)) overflow = true; #endif return overflow; } @@ -1775,7 +1918,17 @@ bool rlCheckBufferLimit(int vCount) void rlSetDebugMarker(const char *text) { #if defined(GRAPHICS_API_OPENGL_33) - if (debugMarkerSupported) glInsertEventMarkerEXT(0, text); + if (RLGL.ExtSupported.debugMarker) glInsertEventMarkerEXT(0, text); +#endif +} + +// Set blending mode factor and equation +void rlSetBlendMode(int glSrcFactor, int glDstFactor, int glEquation) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + RLGL.State.glBlendSrcFactor = glSrcFactor; + RLGL.State.glBlendDstFactor = glDstFactor; + RLGL.State.glBlendEquation = glEquation; #endif } @@ -1786,14 +1939,14 @@ void rlLoadExtensions(void *loader) #if defined(GRAPHICS_API_OPENGL_33) // NOTE: glad is generated and contains only required OpenGL 3.3 Core extensions (and lower versions) #if !defined(__APPLE__) - if (!gladLoadGLLoader((GLADloadproc)loader)) TraceLog(LOG_WARNING, "GLAD: Cannot load OpenGL extensions"); - else TraceLog(LOG_INFO, "GLAD: OpenGL extensions loaded successfully"); + if (!gladLoadGLLoader((GLADloadproc)loader)) TRACELOG(LOG_WARNING, "GLAD: Cannot load OpenGL extensions"); + else TRACELOG(LOG_INFO, "GLAD: OpenGL extensions loaded successfully"); #if defined(GRAPHICS_API_OPENGL_21) - if (GLAD_GL_VERSION_2_1) TraceLog(LOG_INFO, "OpenGL 2.1 profile supported"); + if (GLAD_GL_VERSION_2_1) TRACELOG(LOG_INFO, "GL: OpenGL 2.1 profile supported"); #elif defined(GRAPHICS_API_OPENGL_33) - if (GLAD_GL_VERSION_3_3) TraceLog(LOG_INFO, "OpenGL 3.3 Core profile supported"); - else TraceLog(LOG_ERROR, "OpenGL 3.3 Core profile not supported"); + if (GLAD_GL_VERSION_3_3) TRACELOG(LOG_INFO, "GL: OpenGL 3.3 Core profile supported"); + else TRACELOG(LOG_ERROR, "GL: OpenGL 3.3 Core profile not supported"); #endif #endif @@ -1802,29 +1955,6 @@ void rlLoadExtensions(void *loader) #endif } -// Get world coordinates from screen coordinates -Vector3 rlUnproject(Vector3 source, Matrix proj, Matrix view) -{ - Vector3 result = { 0.0f, 0.0f, 0.0f }; - - // Calculate unproject matrix (multiply view patrix by projection matrix) and invert it - Matrix matViewProj = MatrixMultiply(view, proj); - matViewProj = MatrixInvert(matViewProj); - - // Create quaternion from source point - Quaternion quat = { source.x, source.y, source.z, 1.0f }; - - // Multiply quat point by unproject matrix - quat = QuaternionTransform(quat, matViewProj); - - // Normalized world points in vectors - result.x = quat.x/quat.w; - result.y = quat.y/quat.w; - result.z = quat.z/quat.w; - - return result; -} - // Convert image data to OpenGL texture (returns OpenGL valid Id) unsigned int rlLoadTexture(void *data, int width, int height, int format, int mipmapCount) { @@ -1836,38 +1966,38 @@ unsigned int rlLoadTexture(void *data, int width, int height, int format, int mi #if defined(GRAPHICS_API_OPENGL_11) if (format >= COMPRESSED_DXT1_RGB) { - TraceLog(LOG_WARNING, "OpenGL 1.1 does not support GPU compressed texture formats"); + TRACELOG(LOG_WARNING, "GL: OpenGL 1.1 does not support GPU compressed texture formats"); return id; } #else - if ((!texCompDXTSupported) && ((format == COMPRESSED_DXT1_RGB) || (format == COMPRESSED_DXT1_RGBA) || + if ((!RLGL.ExtSupported.texCompDXT) && ((format == COMPRESSED_DXT1_RGB) || (format == COMPRESSED_DXT1_RGBA) || (format == COMPRESSED_DXT3_RGBA) || (format == COMPRESSED_DXT5_RGBA))) { - TraceLog(LOG_WARNING, "DXT compressed texture format not supported"); + TRACELOG(LOG_WARNING, "GL: DXT compressed texture format not supported"); return id; } #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if ((!texCompETC1Supported) && (format == COMPRESSED_ETC1_RGB)) + if ((!RLGL.ExtSupported.texCompETC1) && (format == COMPRESSED_ETC1_RGB)) { - TraceLog(LOG_WARNING, "ETC1 compressed texture format not supported"); + TRACELOG(LOG_WARNING, "GL: ETC1 compressed texture format not supported"); return id; } - if ((!texCompETC2Supported) && ((format == COMPRESSED_ETC2_RGB) || (format == COMPRESSED_ETC2_EAC_RGBA))) + if ((!RLGL.ExtSupported.texCompETC2) && ((format == COMPRESSED_ETC2_RGB) || (format == COMPRESSED_ETC2_EAC_RGBA))) { - TraceLog(LOG_WARNING, "ETC2 compressed texture format not supported"); + TRACELOG(LOG_WARNING, "GL: ETC2 compressed texture format not supported"); return id; } - if ((!texCompPVRTSupported) && ((format == COMPRESSED_PVRT_RGB) || (format == COMPRESSED_PVRT_RGBA))) + if ((!RLGL.ExtSupported.texCompPVRT) && ((format == COMPRESSED_PVRT_RGB) || (format == COMPRESSED_PVRT_RGBA))) { - TraceLog(LOG_WARNING, "PVRT compressed texture format not supported"); + TRACELOG(LOG_WARNING, "GL: PVRT compressed texture format not supported"); return id; } - if ((!texCompASTCSupported) && ((format == COMPRESSED_ASTC_4x4_RGBA) || (format == COMPRESSED_ASTC_8x8_RGBA))) + if ((!RLGL.ExtSupported.texCompASTC) && ((format == COMPRESSED_ASTC_4x4_RGBA) || (format == COMPRESSED_ASTC_8x8_RGBA))) { - TraceLog(LOG_WARNING, "ASTC compressed texture format not supported"); + TRACELOG(LOG_WARNING, "GL: ASTC compressed texture format not supported"); return id; } #endif @@ -1887,8 +2017,6 @@ unsigned int rlLoadTexture(void *data, int width, int height, int format, int mi int mipHeight = height; int mipOffset = 0; // Mipmap data offset - TraceLog(LOG_DEBUG, "Load texture from data memory address: 0x%x", data); - // Load the different mipmap levels for (int i = 0; i < mipmapCount; i++) { @@ -1897,7 +2025,7 @@ unsigned int rlLoadTexture(void *data, int width, int height, int format, int mi unsigned int glInternalFormat, glFormat, glType; rlGetGlTextureFormats(format, &glInternalFormat, &glFormat, &glType); - TraceLog(LOG_DEBUG, "Load mipmap level %i (%i x %i), size: %i, offset: %i", i, mipWidth, mipHeight, mipSize, mipOffset); + TRACELOGD("TEXTURE: Load mipmap level %i (%i x %i), size: %i, offset: %i", i, mipWidth, mipHeight, mipSize, mipOffset); if (glInternalFormat != -1) { @@ -1937,7 +2065,7 @@ unsigned int rlLoadTexture(void *data, int width, int height, int format, int mi // NOTE: glTexParameteri does NOT affect texture uploading, just the way it's used #if defined(GRAPHICS_API_OPENGL_ES2) // NOTE: OpenGL ES 2.0 with no GL_OES_texture_npot support (i.e. WebGL) has limited NPOT support, so CLAMP_TO_EDGE must be used - if (texNPOTSupported) + if (RLGL.ExtSupported.texNPOT) { glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); // Set texture to repeat on x-axis glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); // Set texture to repeat on y-axis @@ -1973,42 +2101,33 @@ unsigned int rlLoadTexture(void *data, int width, int height, int format, int mi // Unbind current texture glBindTexture(GL_TEXTURE_2D, 0); - if (id > 0) TraceLog(LOG_INFO, "[TEX ID %i] Texture created successfully (%ix%i - %i mipmaps)", id, width, height, mipmapCount); - else TraceLog(LOG_WARNING, "Texture could not be created"); + if (id > 0) TRACELOG(LOG_INFO, "TEXTURE: [ID %i] Texture created successfully (%ix%i - %i mipmaps)", id, width, height, mipmapCount); + else TRACELOG(LOG_WARNING, "TEXTURE: Failed to load texture"); return id; } // Load depth texture/renderbuffer (to be attached to fbo) // WARNING: OpenGL ES 2.0 requires GL_OES_depth_texture/WEBGL_depth_texture extensions -unsigned int rlLoadTextureDepth(int width, int height, int bits, bool useRenderBuffer) +unsigned int rlLoadTextureDepth(int width, int height, bool useRenderBuffer) { unsigned int id = 0; #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - unsigned int glInternalFormat = GL_DEPTH_COMPONENT16; - - if ((bits != 16) && (bits != 24) && (bits != 32)) bits = 16; + // In case depth textures not supported, we force renderbuffer usage + if (!RLGL.ExtSupported.texDepth) useRenderBuffer = true; - if (bits == 24) - { -#if defined(GRAPHICS_API_OPENGL_33) - glInternalFormat = GL_DEPTH_COMPONENT24; -#elif defined(GRAPHICS_API_OPENGL_ES2) - if (maxDepthBits >= 24) glInternalFormat = GL_DEPTH_COMPONENT24_OES; -#endif - } + // NOTE: We let the implementation to choose the best bit-depth + // Possible formats: GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32 and GL_DEPTH_COMPONENT32F + unsigned int glInternalFormat = GL_DEPTH_COMPONENT; - if (bits == 32) - { -#if defined(GRAPHICS_API_OPENGL_33) - glInternalFormat = GL_DEPTH_COMPONENT32; -#elif defined(GRAPHICS_API_OPENGL_ES2) - if (maxDepthBits == 32) glInternalFormat = GL_DEPTH_COMPONENT32_OES; +#if defined(GRAPHICS_API_OPENGL_ES2) + if (RLGL.ExtSupported.maxDepthBits == 32) glInternalFormat = GL_DEPTH_COMPONENT32_OES; + else if (RLGL.ExtSupported.maxDepthBits == 24) glInternalFormat = GL_DEPTH_COMPONENT24_OES; + else glInternalFormat = GL_DEPTH_COMPONENT16; #endif - } - if (!useRenderBuffer && texDepthSupported) + if (!useRenderBuffer && RLGL.ExtSupported.texDepth) { glGenTextures(1, &id); glBindTexture(GL_TEXTURE_2D, id); @@ -2020,6 +2139,8 @@ unsigned int rlLoadTextureDepth(int width, int height, int bits, bool useRenderB glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glBindTexture(GL_TEXTURE_2D, 0); + + TRACELOG(LOG_INFO, "TEXTURE: Depth texture loaded successfully"); } else { @@ -2030,6 +2151,8 @@ unsigned int rlLoadTextureDepth(int width, int height, int bits, bool useRenderB glRenderbufferStorage(GL_RENDERBUFFER, glInternalFormat, width, height); glBindRenderbuffer(GL_RENDERBUFFER, 0); + + TRACELOG(LOG_INFO, "TEXTURE: [ID %i] Depth renderbuffer loaded successfully (%i bits)", id, (RLGL.ExtSupported.maxDepthBits >= 24)? RLGL.ExtSupported.maxDepthBits : 16); } #endif @@ -2037,16 +2160,17 @@ unsigned int rlLoadTextureDepth(int width, int height, int bits, bool useRenderB } // Load texture cubemap -// NOTE: Cubemap data is expected to be 6 images in a single column, +// NOTE: Cubemap data is expected to be 6 images in a single data array (one after the other), // expected the following convention: +X, -X, +Y, -Y, +Z, -Z unsigned int rlLoadTextureCubemap(void *data, int size, int format) { - unsigned int cubemapId = 0; - unsigned int dataSize = GetPixelDataSize(size, size, format); + unsigned int id = 0; #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - glGenTextures(1, &cubemapId); - glBindTexture(GL_TEXTURE_CUBE_MAP, cubemapId); + unsigned int dataSize = GetPixelDataSize(size, size, format); + + glGenTextures(1, &id); + glBindTexture(GL_TEXTURE_CUBE_MAP, id); unsigned int glInternalFormat, glFormat, glType; rlGetGlTextureFormats(format, &glInternalFormat, &glFormat, &glType); @@ -2056,10 +2180,27 @@ unsigned int rlLoadTextureCubemap(void *data, int size, int format) // Load cubemap faces for (unsigned int i = 0; i < 6; i++) { - if (format < COMPRESSED_DXT1_RGB) glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, size, size, 0, glFormat, glType, (unsigned char *)data + i*dataSize); -#if !defined(GRAPHICS_API_OPENGL_11) - else glCompressedTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, size, size, 0, dataSize, (unsigned char *)data + i*dataSize); -#endif + if (data == NULL) + { + if (format < COMPRESSED_DXT1_RGB) + { + if (format == UNCOMPRESSED_R32G32B32) + { + // Instead of using a sized internal texture format (GL_RGB16F, GL_RGB32F), we let the driver to choose the better format for us (GL_RGB) + if (RLGL.ExtSupported.texFloat32) glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB, size, size, 0, GL_RGB, GL_FLOAT, NULL); + else TRACELOG(LOG_WARNING, "TEXTURES: Cubemap requested format not supported"); + } + else if ((format == UNCOMPRESSED_R32) || (format == UNCOMPRESSED_R32G32B32A32)) TRACELOG(LOG_WARNING, "TEXTURES: Cubemap requested format not supported"); + else glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, size, size, 0, glFormat, glType, NULL); + } + else TRACELOG(LOG_WARNING, "TEXTURES: Empty cubemap creation does not support compressed format"); + } + else + { + if (format < COMPRESSED_DXT1_RGB) glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, size, size, 0, glFormat, glType, (unsigned char *)data + i*dataSize); + else glCompressedTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, size, size, 0, dataSize, (unsigned char *)data + i*dataSize); + } + #if defined(GRAPHICS_API_OPENGL_33) if (format == UNCOMPRESSED_GRAYSCALE) { @@ -2091,12 +2232,15 @@ unsigned int rlLoadTextureCubemap(void *data, int size, int format) glBindTexture(GL_TEXTURE_CUBE_MAP, 0); #endif - return cubemapId; + if (id > 0) TRACELOG(LOG_INFO, "TEXTURE: [ID %i] Cubemap texture created successfully (%ix%i)", id, size, size); + else TRACELOG(LOG_WARNING, "TEXTURE: Failed to load cubemap texture"); + + return id; } // Update already loaded texture in GPU with new data // NOTE: We don't know safely if internal texture format is the expected one... -void rlUpdateTexture(unsigned int id, int width, int height, int format, const void *data) +void rlUpdateTexture(unsigned int id, int offsetX, int offsetY, int width, int height, int format, const void *data) { glBindTexture(GL_TEXTURE_2D, id); @@ -2105,9 +2249,9 @@ void rlUpdateTexture(unsigned int id, int width, int height, int format, const v if ((glInternalFormat != -1) && (format < COMPRESSED_DXT1_RGB)) { - glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width, height, glFormat, glType, (unsigned char *)data); + glTexSubImage2D(GL_TEXTURE_2D, 0, offsetX, offsetY, width, height, glFormat, glType, (unsigned char *)data); } - else TraceLog(LOG_WARNING, "Texture format updating not supported"); + else TRACELOG(LOG_WARNING, "TEXTURE: [ID %i] Failed to update for current texture format (%i)", id, format); } // Get OpenGL internal formats and data type from raylib PixelFormat @@ -2129,9 +2273,9 @@ void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned case UNCOMPRESSED_R4G4B4A4: *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_4_4_4_4; break; case UNCOMPRESSED_R8G8B8A8: *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_BYTE; break; #if !defined(GRAPHICS_API_OPENGL_11) - case UNCOMPRESSED_R32: if (texFloatSupported) *glInternalFormat = GL_LUMINANCE; *glFormat = GL_LUMINANCE; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float - case UNCOMPRESSED_R32G32B32: if (texFloatSupported) *glInternalFormat = GL_RGB; *glFormat = GL_RGB; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float - case UNCOMPRESSED_R32G32B32A32: if (texFloatSupported) *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float + case UNCOMPRESSED_R32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_LUMINANCE; *glFormat = GL_LUMINANCE; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float + case UNCOMPRESSED_R32G32B32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_RGB; *glFormat = GL_RGB; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float + case UNCOMPRESSED_R32G32B32A32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_FLOAT; break; // NOTE: Requires extension OES_texture_float #endif #elif defined(GRAPHICS_API_OPENGL_33) case UNCOMPRESSED_GRAYSCALE: *glInternalFormat = GL_R8; *glFormat = GL_RED; *glType = GL_UNSIGNED_BYTE; break; @@ -2141,100 +2285,83 @@ void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned case UNCOMPRESSED_R5G5B5A1: *glInternalFormat = GL_RGB5_A1; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_5_5_5_1; break; case UNCOMPRESSED_R4G4B4A4: *glInternalFormat = GL_RGBA4; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_4_4_4_4; break; case UNCOMPRESSED_R8G8B8A8: *glInternalFormat = GL_RGBA8; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_BYTE; break; - case UNCOMPRESSED_R32: if (texFloatSupported) *glInternalFormat = GL_R32F; *glFormat = GL_RED; *glType = GL_FLOAT; break; - case UNCOMPRESSED_R32G32B32: if (texFloatSupported) *glInternalFormat = GL_RGB32F; *glFormat = GL_RGB; *glType = GL_FLOAT; break; - case UNCOMPRESSED_R32G32B32A32: if (texFloatSupported) *glInternalFormat = GL_RGBA32F; *glFormat = GL_RGBA; *glType = GL_FLOAT; break; + case UNCOMPRESSED_R32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_R32F; *glFormat = GL_RED; *glType = GL_FLOAT; break; + case UNCOMPRESSED_R32G32B32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_RGB32F; *glFormat = GL_RGB; *glType = GL_FLOAT; break; + case UNCOMPRESSED_R32G32B32A32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_RGBA32F; *glFormat = GL_RGBA; *glType = GL_FLOAT; break; #endif #if !defined(GRAPHICS_API_OPENGL_11) - case COMPRESSED_DXT1_RGB: if (texCompDXTSupported) *glInternalFormat = GL_COMPRESSED_RGB_S3TC_DXT1_EXT; break; - case COMPRESSED_DXT1_RGBA: if (texCompDXTSupported) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT; break; - case COMPRESSED_DXT3_RGBA: if (texCompDXTSupported) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT; break; - case COMPRESSED_DXT5_RGBA: if (texCompDXTSupported) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT; break; - case COMPRESSED_ETC1_RGB: if (texCompETC1Supported) *glInternalFormat = GL_ETC1_RGB8_OES; break; // NOTE: Requires OpenGL ES 2.0 or OpenGL 4.3 - case COMPRESSED_ETC2_RGB: if (texCompETC2Supported) *glInternalFormat = GL_COMPRESSED_RGB8_ETC2; break; // NOTE: Requires OpenGL ES 3.0 or OpenGL 4.3 - case COMPRESSED_ETC2_EAC_RGBA: if (texCompETC2Supported) *glInternalFormat = GL_COMPRESSED_RGBA8_ETC2_EAC; break; // NOTE: Requires OpenGL ES 3.0 or OpenGL 4.3 - case COMPRESSED_PVRT_RGB: if (texCompPVRTSupported) *glInternalFormat = GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG; break; // NOTE: Requires PowerVR GPU - case COMPRESSED_PVRT_RGBA: if (texCompPVRTSupported) *glInternalFormat = GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; break; // NOTE: Requires PowerVR GPU - case COMPRESSED_ASTC_4x4_RGBA: if (texCompASTCSupported) *glInternalFormat = GL_COMPRESSED_RGBA_ASTC_4x4_KHR; break; // NOTE: Requires OpenGL ES 3.1 or OpenGL 4.3 - case COMPRESSED_ASTC_8x8_RGBA: if (texCompASTCSupported) *glInternalFormat = GL_COMPRESSED_RGBA_ASTC_8x8_KHR; break; // NOTE: Requires OpenGL ES 3.1 or OpenGL 4.3 + case COMPRESSED_DXT1_RGB: if (RLGL.ExtSupported.texCompDXT) *glInternalFormat = GL_COMPRESSED_RGB_S3TC_DXT1_EXT; break; + case COMPRESSED_DXT1_RGBA: if (RLGL.ExtSupported.texCompDXT) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT; break; + case COMPRESSED_DXT3_RGBA: if (RLGL.ExtSupported.texCompDXT) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT; break; + case COMPRESSED_DXT5_RGBA: if (RLGL.ExtSupported.texCompDXT) *glInternalFormat = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT; break; + case COMPRESSED_ETC1_RGB: if (RLGL.ExtSupported.texCompETC1) *glInternalFormat = GL_ETC1_RGB8_OES; break; // NOTE: Requires OpenGL ES 2.0 or OpenGL 4.3 + case COMPRESSED_ETC2_RGB: if (RLGL.ExtSupported.texCompETC2) *glInternalFormat = GL_COMPRESSED_RGB8_ETC2; break; // NOTE: Requires OpenGL ES 3.0 or OpenGL 4.3 + case COMPRESSED_ETC2_EAC_RGBA: if (RLGL.ExtSupported.texCompETC2) *glInternalFormat = GL_COMPRESSED_RGBA8_ETC2_EAC; break; // NOTE: Requires OpenGL ES 3.0 or OpenGL 4.3 + case COMPRESSED_PVRT_RGB: if (RLGL.ExtSupported.texCompPVRT) *glInternalFormat = GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG; break; // NOTE: Requires PowerVR GPU + case COMPRESSED_PVRT_RGBA: if (RLGL.ExtSupported.texCompPVRT) *glInternalFormat = GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; break; // NOTE: Requires PowerVR GPU + case COMPRESSED_ASTC_4x4_RGBA: if (RLGL.ExtSupported.texCompASTC) *glInternalFormat = GL_COMPRESSED_RGBA_ASTC_4x4_KHR; break; // NOTE: Requires OpenGL ES 3.1 or OpenGL 4.3 + case COMPRESSED_ASTC_8x8_RGBA: if (RLGL.ExtSupported.texCompASTC) *glInternalFormat = GL_COMPRESSED_RGBA_ASTC_8x8_KHR; break; // NOTE: Requires OpenGL ES 3.1 or OpenGL 4.3 #endif - default: TraceLog(LOG_WARNING, "Texture format not supported"); break; + default: TRACELOG(LOG_WARNING, "TEXTURE: Current format not supported (%i)", format); break; } } // Unload texture from GPU memory void rlUnloadTexture(unsigned int id) { - if (id > 0) glDeleteTextures(1, &id); + glDeleteTextures(1, &id); } -// Load a texture to be used for rendering (fbo with default color and depth attachments) -// NOTE: If colorFormat or depthBits are no supported, no attachment is done -RenderTexture2D rlLoadRenderTexture(int width, int height, int format, int depthBits, bool useDepthTexture) +// Load a framebuffer to be used for rendering +// NOTE: No textures attached +unsigned int rlLoadFramebuffer(int width, int height) { - RenderTexture2D target = { 0 }; - -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (useDepthTexture && texDepthSupported) target.depthTexture = true; - - // Create the framebuffer object - glGenFramebuffers(1, &target.id); - glBindFramebuffer(GL_FRAMEBUFFER, target.id); - - // Create fbo color texture attachment - //----------------------------------------------------------------------------------------------------- - if ((format != -1) && (format < COMPRESSED_DXT1_RGB)) - { - // WARNING: Some texture formats are not supported for fbo color attachment - target.texture.id = rlLoadTexture(NULL, width, height, format, 1); - target.texture.width = width; - target.texture.height = height; - target.texture.format = format; - target.texture.mipmaps = 1; - } - //----------------------------------------------------------------------------------------------------- - - // Create fbo depth renderbuffer/texture - //----------------------------------------------------------------------------------------------------- - if (depthBits > 0) - { - target.depth.id = rlLoadTextureDepth(width, height, depthBits, !useDepthTexture); - target.depth.width = width; - target.depth.height = height; - target.depth.format = 19; //DEPTH_COMPONENT_24BIT? - target.depth.mipmaps = 1; - } - //----------------------------------------------------------------------------------------------------- - - // Attach color texture and depth renderbuffer to FBO - //----------------------------------------------------------------------------------------------------- - rlRenderTextureAttach(target, target.texture.id, 0); // COLOR attachment - rlRenderTextureAttach(target, target.depth.id, 1); // DEPTH attachment - //----------------------------------------------------------------------------------------------------- + unsigned int fboId = 0; - // Check if fbo is complete with attachments (valid) - //----------------------------------------------------------------------------------------------------- - if (rlRenderTextureComplete(target)) TraceLog(LOG_INFO, "[FBO ID %i] Framebuffer object created successfully", target.id); - //----------------------------------------------------------------------------------------------------- - - glBindFramebuffer(GL_FRAMEBUFFER, 0); +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) + glGenFramebuffers(1, &fboId); // Create the framebuffer object + glBindFramebuffer(GL_FRAMEBUFFER, 0); // Unbind any framebuffer #endif - return target; + return fboId; } // Attach color buffer texture to an fbo (unloads previous attachment) // NOTE: Attach type: 0-Color, 1-Depth renderbuffer, 2-Depth texture -void rlRenderTextureAttach(RenderTexture2D target, unsigned int id, int attachType) +void rlFramebufferAttach(unsigned int fboId, unsigned int texId, int attachType, int texType) { -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - glBindFramebuffer(GL_FRAMEBUFFER, target.id); +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) + glBindFramebuffer(GL_FRAMEBUFFER, fboId); - if (attachType == 0) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, id, 0); - else if (attachType == 1) + switch (attachType) { - if (target.depthTexture) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, id, 0); - else glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, id); + case RL_ATTACHMENT_COLOR_CHANNEL0: + case RL_ATTACHMENT_COLOR_CHANNEL1: + case RL_ATTACHMENT_COLOR_CHANNEL2: + case RL_ATTACHMENT_COLOR_CHANNEL3: + case RL_ATTACHMENT_COLOR_CHANNEL4: + case RL_ATTACHMENT_COLOR_CHANNEL5: + case RL_ATTACHMENT_COLOR_CHANNEL6: + case RL_ATTACHMENT_COLOR_CHANNEL7: + { + if (texType == RL_ATTACHMENT_TEXTURE2D) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + attachType, GL_TEXTURE_2D, texId, 0); + else if (texType == RL_ATTACHMENT_RENDERBUFFER) glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + attachType, GL_RENDERBUFFER, texId); + else if (texType >= RL_ATTACHMENT_CUBEMAP_POSITIVE_X) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + attachType, GL_TEXTURE_CUBE_MAP_POSITIVE_X + texType, texId, 0); + + } break; + case RL_ATTACHMENT_DEPTH: + { + if (texType == RL_ATTACHMENT_TEXTURE2D) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, texId, 0); + else if (texType == RL_ATTACHMENT_RENDERBUFFER) glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, texId); + + } break; + case RL_ATTACHMENT_STENCIL: + { + if (texType == RL_ATTACHMENT_TEXTURE2D) glFramebufferTexture2D(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_TEXTURE_2D, texId, 0); + else if (texType == RL_ATTACHMENT_RENDERBUFFER) glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, texId); + + } break; + default: break; } glBindFramebuffer(GL_FRAMEBUFFER, 0); @@ -2242,12 +2369,12 @@ void rlRenderTextureAttach(RenderTexture2D target, unsigned int id, int attachTy } // Verify render texture is complete -bool rlRenderTextureComplete(RenderTexture target) +bool rlFramebufferComplete(unsigned int id) { bool result = false; -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - glBindFramebuffer(GL_FRAMEBUFFER, target.id); +#if (defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)) && defined(SUPPORT_RENDER_TEXTURES_HINT) + glBindFramebuffer(GL_FRAMEBUFFER, id); GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); @@ -2255,12 +2382,12 @@ bool rlRenderTextureComplete(RenderTexture target) { switch (status) { - case GL_FRAMEBUFFER_UNSUPPORTED: TraceLog(LOG_WARNING, "Framebuffer is unsupported"); break; - case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: TraceLog(LOG_WARNING, "Framebuffer has incomplete attachment"); break; + case GL_FRAMEBUFFER_UNSUPPORTED: TRACELOG(LOG_WARNING, "FBO: [ID %i] Framebuffer is unsupported", id); break; + case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: TRACELOG(LOG_WARNING, "FBO: [ID %i] Framebuffer has incomplete attachment", id); break; #if defined(GRAPHICS_API_OPENGL_ES2) - case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS: TraceLog(LOG_WARNING, "Framebuffer has incomplete dimensions"); break; + case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS: TRACELOG(LOG_WARNING, "FBO: [ID %i] Framebuffer has incomplete dimensions", id); break; #endif - case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: TraceLog(LOG_WARNING, "Framebuffer has a missing attachment"); break; + case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: TRACELOG(LOG_WARNING, "FBO: [ID %i] Framebuffer has a missing attachment", id); break; default: break; } } @@ -2318,16 +2445,15 @@ void rlGenerateMipmaps(Texture2D *texture) texture->mipmaps = mipmapCount + 1; RL_FREE(data); // Once mipmaps have been generated and data has been uploaded to GPU VRAM, we can discard RAM data - TraceLog(LOG_WARNING, "[TEX ID %i] Mipmaps [%i] generated manually on CPU side", texture->id, texture->mipmaps); + TRACELOG(LOG_WARNING, "TEXTURE: [ID %i] Mipmaps generated manually on CPU side, total: %i", texture->id, texture->mipmaps); } - else TraceLog(LOG_WARNING, "[TEX ID %i] Mipmaps could not be generated for texture format", texture->id); + else TRACELOG(LOG_WARNING, "TEXTURE: [ID %i] Failed to generate mipmaps for provided texture format", texture->id); } #elif defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if ((texIsPOT) || (texNPOTSupported)) + if ((texIsPOT) || (RLGL.ExtSupported.texNPOT)) { //glHint(GL_GENERATE_MIPMAP_HINT, GL_DONT_CARE); // Hint for mipmaps generation algorythm: GL_FASTEST, GL_NICEST, GL_DONT_CARE glGenerateMipmap(GL_TEXTURE_2D); // Generate mipmaps automatically - TraceLog(LOG_INFO, "[TEX ID %i] Mipmaps generated automatically", texture->id); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); // Activate Trilinear filtering for mipmaps @@ -2336,9 +2462,10 @@ void rlGenerateMipmaps(Texture2D *texture) #define MAX(a,b) (((a)>(b))?(a):(b)) texture->mipmaps = 1 + (int)floor(log(MAX(texture->width, texture->height))/log(2)); + TRACELOG(LOG_INFO, "TEXTURE: [ID %i] Mipmaps generated automatically, total: %i", texture->id, texture->mipmaps); } #endif - else TraceLog(LOG_WARNING, "[TEX ID %i] Mipmaps can not be generated", texture->id); + else TRACELOG(LOG_WARNING, "TEXTURE: [ID %i] Failed to generate mipmaps", texture->id); glBindTexture(GL_TEXTURE_2D, 0); } @@ -2349,7 +2476,7 @@ void rlLoadMesh(Mesh *mesh, bool dynamic) if (mesh->vaoId > 0) { // Check if mesh has already been loaded in GPU - TraceLog(LOG_WARNING, "Trying to re-load an already loaded mesh"); + TRACELOG(LOG_WARNING, "VAO: [ID %i] Trying to re-load an already loaded mesh", mesh->vaoId); return; } @@ -2366,7 +2493,7 @@ void rlLoadMesh(Mesh *mesh, bool dynamic) int drawHint = GL_STATIC_DRAW; if (dynamic) drawHint = GL_DYNAMIC_DRAW; - if (vaoSupported) + if (RLGL.ExtSupported.vao) { // Initialize Quads VAO (Buffer A) glGenVertexArrays(1, &mesh->vaoId); @@ -2378,14 +2505,14 @@ void rlLoadMesh(Mesh *mesh, bool dynamic) // Enable vertex attributes: position (shader-location = 0) glGenBuffers(1, &mesh->vboId[0]); glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[0]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*mesh->vertexCount, mesh->vertices, drawHint); + glBufferData(GL_ARRAY_BUFFER, mesh->vertexCount*3*sizeof(float), mesh->vertices, drawHint); glVertexAttribPointer(0, 3, GL_FLOAT, 0, 0, 0); glEnableVertexAttribArray(0); // Enable vertex attributes: texcoords (shader-location = 1) glGenBuffers(1, &mesh->vboId[1]); glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[1]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*mesh->vertexCount, mesh->texcoords, drawHint); + glBufferData(GL_ARRAY_BUFFER, mesh->vertexCount*2*sizeof(float), mesh->texcoords, drawHint); glVertexAttribPointer(1, 2, GL_FLOAT, 0, 0, 0); glEnableVertexAttribArray(1); @@ -2394,7 +2521,7 @@ void rlLoadMesh(Mesh *mesh, bool dynamic) { glGenBuffers(1, &mesh->vboId[2]); glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[2]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*mesh->vertexCount, mesh->normals, drawHint); + glBufferData(GL_ARRAY_BUFFER, mesh->vertexCount*3*sizeof(float), mesh->normals, drawHint); glVertexAttribPointer(2, 3, GL_FLOAT, 0, 0, 0); glEnableVertexAttribArray(2); } @@ -2410,7 +2537,7 @@ void rlLoadMesh(Mesh *mesh, bool dynamic) { glGenBuffers(1, &mesh->vboId[3]); glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[3]); - glBufferData(GL_ARRAY_BUFFER, sizeof(unsigned char)*4*mesh->vertexCount, mesh->colors, drawHint); + glBufferData(GL_ARRAY_BUFFER, mesh->vertexCount*4*sizeof(unsigned char), mesh->colors, drawHint); glVertexAttribPointer(3, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); glEnableVertexAttribArray(3); } @@ -2426,7 +2553,7 @@ void rlLoadMesh(Mesh *mesh, bool dynamic) { glGenBuffers(1, &mesh->vboId[4]); glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[4]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*mesh->vertexCount, mesh->tangents, drawHint); + glBufferData(GL_ARRAY_BUFFER, mesh->vertexCount*4*sizeof(float), mesh->tangents, drawHint); glVertexAttribPointer(4, 4, GL_FLOAT, 0, 0, 0); glEnableVertexAttribArray(4); } @@ -2442,7 +2569,7 @@ void rlLoadMesh(Mesh *mesh, bool dynamic) { glGenBuffers(1, &mesh->vboId[5]); glBindBuffer(GL_ARRAY_BUFFER, mesh->vboId[5]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*mesh->vertexCount, mesh->texcoords2, drawHint); + glBufferData(GL_ARRAY_BUFFER, mesh->vertexCount*2*sizeof(float), mesh->texcoords2, drawHint); glVertexAttribPointer(5, 2, GL_FLOAT, 0, 0, 0); glEnableVertexAttribArray(5); } @@ -2457,17 +2584,17 @@ void rlLoadMesh(Mesh *mesh, bool dynamic) { glGenBuffers(1, &mesh->vboId[6]); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mesh->vboId[6]); - glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(unsigned short)*mesh->triangleCount*3, mesh->indices, GL_STATIC_DRAW); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, mesh->triangleCount*3*sizeof(unsigned short), mesh->indices, drawHint); } - if (vaoSupported) + if (RLGL.ExtSupported.vao) { - if (mesh->vaoId > 0) TraceLog(LOG_INFO, "[VAO ID %i] Mesh uploaded successfully to VRAM (GPU)", mesh->vaoId); - else TraceLog(LOG_WARNING, "Mesh could not be uploaded to VRAM (GPU)"); + if (mesh->vaoId > 0) TRACELOG(LOG_INFO, "VAO: [ID %i] Mesh uploaded successfully to VRAM (GPU)", mesh->vaoId); + else TRACELOG(LOG_WARNING, "VAO: Failed to load mesh to VRAM (GPU)"); } else { - TraceLog(LOG_INFO, "[VBOs] Mesh uploaded successfully to VRAM (GPU)"); + TRACELOG(LOG_INFO, "VBO: Mesh uploaded successfully to VRAM (GPU)"); } #endif } @@ -2481,7 +2608,7 @@ unsigned int rlLoadAttribBuffer(unsigned int vaoId, int shaderLoc, void *buffer, int drawHint = GL_STATIC_DRAW; if (dynamic) drawHint = GL_DYNAMIC_DRAW; - if (vaoSupported) glBindVertexArray(vaoId); + if (RLGL.ExtSupported.vao) glBindVertexArray(vaoId); glGenBuffers(1, &id); glBindBuffer(GL_ARRAY_BUFFER, id); @@ -2489,66 +2616,93 @@ unsigned int rlLoadAttribBuffer(unsigned int vaoId, int shaderLoc, void *buffer, glVertexAttribPointer(shaderLoc, 2, GL_FLOAT, 0, 0, 0); glEnableVertexAttribArray(shaderLoc); - if (vaoSupported) glBindVertexArray(0); + if (RLGL.ExtSupported.vao) glBindVertexArray(0); #endif return id; } -// Update vertex data on GPU (upload new data to one buffer) -void rlUpdateMesh(Mesh mesh, int buffer, int numVertex) +// Update vertex or index data on GPU (upload new data to one buffer) +void rlUpdateMesh(Mesh mesh, int buffer, int count) +{ + rlUpdateMeshAt(mesh, buffer, count, 0); +} + +// Update vertex or index data on GPU, at index +// WARNING: error checking is in place that will cause the data to not be +// updated if offset + size exceeds what the buffer can hold +void rlUpdateMeshAt(Mesh mesh, int buffer, int count, int index) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) // Activate mesh VAO - if (vaoSupported) glBindVertexArray(mesh.vaoId); + if (RLGL.ExtSupported.vao) glBindVertexArray(mesh.vaoId); switch (buffer) { case 0: // Update vertices (vertex position) { glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[0]); - if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*numVertex, mesh.vertices, GL_DYNAMIC_DRAW); - else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*3*numVertex, mesh.vertices); + if (index == 0 && count >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, count*3*sizeof(float), mesh.vertices, GL_DYNAMIC_DRAW); + else if (index + count >= mesh.vertexCount) break; + else glBufferSubData(GL_ARRAY_BUFFER, index*3*sizeof(float), count*3*sizeof(float), mesh.vertices); } break; case 1: // Update texcoords (vertex texture coordinates) { glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[1]); - if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*numVertex, mesh.texcoords, GL_DYNAMIC_DRAW); - else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*2*numVertex, mesh.texcoords); + if (index == 0 && count >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, count*2*sizeof(float), mesh.texcoords, GL_DYNAMIC_DRAW); + else if (index + count >= mesh.vertexCount) break; + else glBufferSubData(GL_ARRAY_BUFFER, index*2*sizeof(float), count*2*sizeof(float), mesh.texcoords); } break; case 2: // Update normals (vertex normals) { glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[2]); - if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*numVertex, mesh.normals, GL_DYNAMIC_DRAW); - else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*3*numVertex, mesh.normals); + if (index == 0 && count >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, count*3*sizeof(float), mesh.normals, GL_DYNAMIC_DRAW); + else if (index + count >= mesh.vertexCount) break; + else glBufferSubData(GL_ARRAY_BUFFER, index*3*sizeof(float), count*3*sizeof(float), mesh.normals); } break; case 3: // Update colors (vertex colors) { glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[3]); - if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*numVertex, mesh.colors, GL_DYNAMIC_DRAW); - else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(unsigned char)*4*numVertex, mesh.colors); + if (index == 0 && count >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, count*4*sizeof(unsigned char), mesh.colors, GL_DYNAMIC_DRAW); + else if (index + count >= mesh.vertexCount) break; + else glBufferSubData(GL_ARRAY_BUFFER, index*4*sizeof(unsigned char), count*4*sizeof(unsigned char), mesh.colors); } break; case 4: // Update tangents (vertex tangents) { glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[4]); - if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*numVertex, mesh.tangents, GL_DYNAMIC_DRAW); - else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*4*numVertex, mesh.tangents); + if (index == 0 && count >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, count*4*sizeof(float), mesh.tangents, GL_DYNAMIC_DRAW); + else if (index + count >= mesh.vertexCount) break; + else glBufferSubData(GL_ARRAY_BUFFER, index*4*sizeof(float), count*4*sizeof(float), mesh.tangents); + } break; case 5: // Update texcoords2 (vertex second texture coordinates) { glBindBuffer(GL_ARRAY_BUFFER, mesh.vboId[5]); - if (numVertex >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*numVertex, mesh.texcoords2, GL_DYNAMIC_DRAW); - else glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*2*numVertex, mesh.texcoords2); + if (index == 0 && count >= mesh.vertexCount) glBufferData(GL_ARRAY_BUFFER, count*2*sizeof(float), mesh.texcoords2, GL_DYNAMIC_DRAW); + else if (index + count >= mesh.vertexCount) break; + else glBufferSubData(GL_ARRAY_BUFFER, index*2*sizeof(float), count*2*sizeof(float), mesh.texcoords2); + + } break; + case 6: // Update indices (triangle index buffer) + { + // the * 3 is because each triangle has 3 indices + unsigned short *indices = mesh.indices; + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mesh.vboId[6]); + + if (index == 0 && count >= mesh.triangleCount) glBufferData(GL_ELEMENT_ARRAY_BUFFER, count*3*sizeof(*indices), indices, GL_DYNAMIC_DRAW); + else if (index + count >= mesh.triangleCount) break; + else glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, index*3*sizeof(*indices), count*3*sizeof(*indices), indices); + } break; default: break; } // Unbind the current VAO - if (vaoSupported) glBindVertexArray(0); + if (RLGL.ExtSupported.vao) glBindVertexArray(0); // Another option would be using buffer mapping... //mesh.vertices = glMapBuffer(GL_ARRAY_BUFFER, GL_READ_WRITE); @@ -2615,16 +2769,21 @@ void rlDrawMesh(Mesh mesh, Material material, Matrix transform) (float)material.maps[MAP_SPECULAR].color.b/255.0f, (float)material.maps[MAP_SPECULAR].color.a/255.0f); - if (material.shader.locs[LOC_MATRIX_VIEW] != -1) SetShaderValueMatrix(material.shader, material.shader.locs[LOC_MATRIX_VIEW], modelview); - if (material.shader.locs[LOC_MATRIX_PROJECTION] != -1) SetShaderValueMatrix(material.shader, material.shader.locs[LOC_MATRIX_PROJECTION], projection); + if (material.shader.locs[LOC_MATRIX_VIEW] != -1) SetShaderValueMatrix(material.shader, material.shader.locs[LOC_MATRIX_VIEW], RLGL.State.modelview); + if (material.shader.locs[LOC_MATRIX_PROJECTION] != -1) SetShaderValueMatrix(material.shader, material.shader.locs[LOC_MATRIX_PROJECTION], RLGL.State.projection); // At this point the modelview matrix just contains the view matrix (camera) // That's because BeginMode3D() sets it an no model-drawing function modifies it, all use rlPushMatrix() and rlPopMatrix() - Matrix matView = modelview; // View matrix (camera) - Matrix matProjection = projection; // Projection matrix (perspective) + Matrix matView = RLGL.State.modelview; // View matrix (camera) + Matrix matProjection = RLGL.State.projection; // Projection matrix (perspective) - // Calculate model-view matrix combining matModel and matView - Matrix matModelView = MatrixMultiply(transform, matView); // Transform to camera-space coordinates + // TODO: Consider possible transform matrices in the RLGL.State.stack + // Is this the right order? or should we start with the first stored matrix instead of the last one? + //Matrix matStackTransform = MatrixIdentity(); + //for (int i = RLGL.State.stackCounter; i > 0; i--) matStackTransform = MatrixMultiply(RLGL.State.stack[i], matStackTransform); + + // Transform to camera-space coordinates + Matrix matModelView = MatrixMultiply(transform, MatrixMultiply(RLGL.State.transform, matView)); //----------------------------------------------------- // Bind active texture maps (if available) @@ -2641,7 +2800,7 @@ void rlDrawMesh(Mesh mesh, Material material, Matrix transform) } // Bind vertex array objects (or VBOs) - if (vaoSupported) glBindVertexArray(mesh.vaoId); + if (RLGL.ExtSupported.vao) glBindVertexArray(mesh.vaoId); else { // Bind mesh VBO data: vertex position (shader-location = 0) @@ -2701,18 +2860,18 @@ void rlDrawMesh(Mesh mesh, Material material, Matrix transform) int eyesCount = 1; #if defined(SUPPORT_VR_SIMULATOR) - if (vrStereoRender) eyesCount = 2; + if (RLGL.Vr.stereoRender) eyesCount = 2; #endif for (int eye = 0; eye < eyesCount; eye++) { - if (eyesCount == 1) modelview = matModelView; + if (eyesCount == 1) RLGL.State.modelview = matModelView; #if defined(SUPPORT_VR_SIMULATOR) else SetStereoView(eye, matProjection, matModelView); #endif // Calculate model-view-projection matrix (MVP) - Matrix matMVP = MatrixMultiply(modelview, projection); // Transform to screen-space coordinates + Matrix matMVP = MatrixMultiply(RLGL.State.modelview, RLGL.State.projection); // Transform to screen-space coordinates // Send combined model-view-projection matrix to shader glUniformMatrix4fv(material.shader.locs[LOC_MATRIX_MVP], 1, false, MatrixToFloat(matMVP)); @@ -2731,7 +2890,7 @@ void rlDrawMesh(Mesh mesh, Material material, Matrix transform) } // Unind vertex array objects (or VBOs) - if (vaoSupported) glBindVertexArray(0); + if (RLGL.ExtSupported.vao) glBindVertexArray(0); else { glBindBuffer(GL_ARRAY_BUFFER, 0); @@ -2741,42 +2900,138 @@ void rlDrawMesh(Mesh mesh, Material material, Matrix transform) // Unbind shader program glUseProgram(0); - // Restore projection/modelview matrices + // Restore RLGL.State.projection/RLGL.State.modelview matrices // NOTE: In stereo rendering matrices are being modified to fit every eye - projection = matProjection; - modelview = matView; + RLGL.State.projection = matProjection; + RLGL.State.modelview = matView; #endif } -// Unload mesh data from CPU and GPU -void rlUnloadMesh(Mesh *mesh) +// Draw a 3d mesh with material and transform +void rlDrawMeshInstanced(Mesh mesh, Material material, Matrix *transforms, int count) { - RL_FREE(mesh->vertices); - RL_FREE(mesh->texcoords); - RL_FREE(mesh->normals); - RL_FREE(mesh->colors); - RL_FREE(mesh->tangents); - RL_FREE(mesh->texcoords2); - RL_FREE(mesh->indices); - - RL_FREE(mesh->animVertices); - RL_FREE(mesh->animNormals); - RL_FREE(mesh->boneWeights); - RL_FREE(mesh->boneIds); - - rlDeleteBuffers(mesh->vboId[0]); // vertex - rlDeleteBuffers(mesh->vboId[1]); // texcoords - rlDeleteBuffers(mesh->vboId[2]); // normals - rlDeleteBuffers(mesh->vboId[3]); // colors - rlDeleteBuffers(mesh->vboId[4]); // tangents - rlDeleteBuffers(mesh->vboId[5]); // texcoords2 - rlDeleteBuffers(mesh->vboId[6]); // indices - - rlDeleteVertexArrays(mesh->vaoId); -} +#if defined(GRAPHICS_API_OPENGL_33) + // Bind shader program + glUseProgram(material.shader.id); -// Read screen pixel data (color buffer) -unsigned char *rlReadScreenPixels(int width, int height) + // Upload to shader material.colDiffuse + if (material.shader.locs[LOC_COLOR_DIFFUSE] != -1) + glUniform4f(material.shader.locs[LOC_COLOR_DIFFUSE], (float)material.maps[MAP_DIFFUSE].color.r/255.0f, + (float)material.maps[MAP_DIFFUSE].color.g/255.0f, + (float)material.maps[MAP_DIFFUSE].color.b/255.0f, + (float)material.maps[MAP_DIFFUSE].color.a/255.0f); + + // Upload to shader material.colSpecular (if available) + if (material.shader.locs[LOC_COLOR_SPECULAR] != -1) + glUniform4f(material.shader.locs[LOC_COLOR_SPECULAR], (float)material.maps[MAP_SPECULAR].color.r/255.0f, + (float)material.maps[MAP_SPECULAR].color.g/255.0f, + (float)material.maps[MAP_SPECULAR].color.b/255.0f, + (float)material.maps[MAP_SPECULAR].color.a/255.0f); + + // Bind active texture maps (if available) + for (int i = 0; i < MAX_MATERIAL_MAPS; i++) + { + if (material.maps[i].texture.id > 0) + { + glActiveTexture(GL_TEXTURE0 + i); + if ((i == MAP_IRRADIANCE) || (i == MAP_PREFILTER) || (i == MAP_CUBEMAP)) + glBindTexture(GL_TEXTURE_CUBE_MAP, material.maps[i].texture.id); + else glBindTexture(GL_TEXTURE_2D, material.maps[i].texture.id); + + glUniform1i(material.shader.locs[LOC_MAP_DIFFUSE + i], i); + } + } + + // Bind vertex array objects (or VBOs) + glBindVertexArray(mesh.vaoId); + + // At this point the modelview matrix just contains the view matrix (camera) + // For instanced shaders "mvp" is not premultiplied by any instance transform, only RLGL.State.transform + glUniformMatrix4fv(material.shader.locs[LOC_MATRIX_MVP], 1, false, + MatrixToFloat(MatrixMultiply(MatrixMultiply(RLGL.State.transform, RLGL.State.modelview), RLGL.State.projection))); + + float16* instances = RL_MALLOC(count*sizeof(float16)); + + for (int i = 0; i < count; i++) instances[i] = MatrixToFloatV(transforms[i]); + + // This could alternatively use a static VBO and either glMapBuffer or glBufferSubData. + // It isn't clear which would be reliably faster in all cases and on all platforms, and + // anecdotally glMapBuffer seems very slow (syncs) while glBufferSubData seems no faster + // since we're transferring all the transform matrices anyway. + unsigned int instancesB = 0; + glGenBuffers(1, &instancesB); + glBindBuffer(GL_ARRAY_BUFFER, instancesB); + glBufferData(GL_ARRAY_BUFFER, count*sizeof(float16), instances, GL_STATIC_DRAW); + + // Instances are put in LOC_MATRIX_MODEL attribute location with space for 4x Vector4, eg: + // layout (location = 12) in mat4 instance; + unsigned int instanceA = material.shader.locs[LOC_MATRIX_MODEL]; + + for (unsigned int i = 0; i < 4; i++) + { + glEnableVertexAttribArray(instanceA+i); + glVertexAttribPointer(instanceA + i, 4, GL_FLOAT, GL_FALSE, sizeof(Matrix), (void *)(i*sizeof(Vector4))); + glVertexAttribDivisor(instanceA + i, 1); + } + + glBindBuffer(GL_ARRAY_BUFFER, 0); + + // Draw call! + if (mesh.indices != NULL) glDrawElementsInstanced(GL_TRIANGLES, mesh.triangleCount*3, GL_UNSIGNED_SHORT, 0, count); + else glDrawArraysInstanced(GL_TRIANGLES, 0, mesh.vertexCount, count); + + glDeleteBuffers(1, &instancesB); + RL_FREE(instances); + + // Unbind all binded texture maps + for (int i = 0; i < MAX_MATERIAL_MAPS; i++) + { + glActiveTexture(GL_TEXTURE0 + i); // Set shader active texture + if ((i == MAP_IRRADIANCE) || (i == MAP_PREFILTER) || (i == MAP_CUBEMAP)) glBindTexture(GL_TEXTURE_CUBE_MAP, 0); + else glBindTexture(GL_TEXTURE_2D, 0); // Unbind current active texture + } + + // Unind vertex array objects (or VBOs) + glBindVertexArray(0); + + // Unbind shader program + glUseProgram(0); + +#else + TRACELOG(LOG_ERROR, "VAO: Instanced rendering requires GRAPHICS_API_OPENGL_33"); +#endif +} + +// Unload mesh data from CPU and GPU +void rlUnloadMesh(Mesh mesh) +{ + RL_FREE(mesh.vertices); + RL_FREE(mesh.texcoords); + RL_FREE(mesh.normals); + RL_FREE(mesh.colors); + RL_FREE(mesh.tangents); + RL_FREE(mesh.texcoords2); + RL_FREE(mesh.indices); + + RL_FREE(mesh.animVertices); + RL_FREE(mesh.animNormals); + RL_FREE(mesh.boneWeights); + RL_FREE(mesh.boneIds); + +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + for (int i = 0; i < 7; i++) glDeleteBuffers(1, &mesh.vboId[i]); // DEFAULT_MESH_VERTEX_BUFFERS (model.c) + if (RLGL.ExtSupported.vao) + { + glBindVertexArray(0); + glDeleteVertexArrays(1, &mesh.vaoId); + TRACELOG(LOG_INFO, "VAO: [ID %i] Unloaded vertex data from VRAM (GPU)", mesh.vaoId); + } + else TRACELOG(LOG_INFO, "VBO: Unloaded vertex data from VRAM (GPU)"); +#endif +} + +// Read screen pixel data (color buffer) +unsigned char *rlReadScreenPixels(int width, int height) { unsigned char *screenData = (unsigned char *)RL_CALLOC(width*height*4, sizeof(unsigned char)); @@ -2785,7 +3040,7 @@ unsigned char *rlReadScreenPixels(int width, int height) glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, screenData); // Flip image vertically! - unsigned char *imgData = (unsigned char *)RL_MALLOC(width*height*sizeof(unsigned char)*4); + unsigned char *imgData = (unsigned char *)RL_MALLOC(width*height*4*sizeof(unsigned char)); for (int y = height - 1; y >= 0; y--) { @@ -2831,10 +3086,10 @@ void *rlReadTexturePixels(Texture2D texture) if ((glInternalFormat != -1) && (texture.format < COMPRESSED_DXT1_RGB)) { - pixels = (unsigned char *)RL_MALLOC(size); + pixels = RL_MALLOC(size); glGetTexImage(GL_TEXTURE_2D, 0, glFormat, glType, pixels); } - else TraceLog(LOG_WARNING, "Texture data retrieval not suported for pixel format"); + else TRACELOG(LOG_WARNING, "TEXTURE: [ID %i] Data retrieval not suported for pixel format (%i)", texture.id, texture.format); glBindTexture(GL_TEXTURE_2D, 0); #endif @@ -2847,32 +3102,24 @@ void *rlReadTexturePixels(Texture2D texture) // 2 - Create an fbo, activate it, render quad with texture, glReadPixels() // We are using Option 1, just need to care for texture format on retrieval // NOTE: This behaviour could be conditioned by graphic driver... - RenderTexture2D fbo = rlLoadRenderTexture(texture.width, texture.height, UNCOMPRESSED_R8G8B8A8, 16, false); + unsigned int fboId = rlLoadFramebuffer(texture.width, texture.height); + + // TODO: Create depth texture/renderbuffer for fbo? - glBindFramebuffer(GL_FRAMEBUFFER, fbo.id); + glBindFramebuffer(GL_FRAMEBUFFER, fboId); glBindTexture(GL_TEXTURE_2D, 0); // Attach our texture to FBO - // NOTE: Previoust attached texture is automatically detached glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texture.id, 0); - // Allocate enough memory to read back our texture data - pixels = (unsigned char *)RL_MALLOC(GetPixelDataSize(texture.width, texture.height, texture.format)); - - // Get OpenGL internal formats and data type from our texture format - unsigned int glInternalFormat, glFormat, glType; - rlGetGlTextureFormats(texture.format, &glInternalFormat, &glFormat, &glType); - - // NOTE: We read data as RGBA because FBO texture is configured as RGBA, despite binding a RGB texture... - glReadPixels(0, 0, texture.width, texture.height, glFormat, glType, pixels); - - // Re-attach internal FBO color texture before deleting it - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, fbo.texture.id, 0); + // We read data as RGBA because FBO texture is configured as RGBA, despite binding another texture format + pixels = (unsigned char *)RL_MALLOC(GetPixelDataSize(texture.width, texture.height, UNCOMPRESSED_R8G8B8A8)); + glReadPixels(0, 0, texture.width, texture.height, GL_RGBA, GL_UNSIGNED_BYTE, pixels); glBindFramebuffer(GL_FRAMEBUFFER, 0); // Clean up temporal fbo - rlDeleteRenderTextures(fbo); + rlUnloadFramebuffer(fboId); #endif return pixels; @@ -2888,7 +3135,7 @@ Texture2D GetTextureDefault(void) { Texture2D texture = { 0 }; #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - texture.id = defaultTextureId; + texture.id = RLGL.State.defaultTextureId; texture.width = 1; texture.height = 1; texture.mipmaps = 1; @@ -2897,47 +3144,46 @@ Texture2D GetTextureDefault(void) return texture; } -// Get default shader -Shader GetShaderDefault(void) +// Get texture to draw shapes (RAII) +Texture2D GetShapesTexture(void) { -#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - return defaultShader; +#if defined(GRAPHICS_API_OPENGL_11) + Texture2D texture = { 0 }; + return texture; #else - Shader shader = { 0 }; - return shader; + return RLGL.State.shapesTexture; #endif } -// Load text data from file -// NOTE: text chars array should be freed manually -char *LoadText(const char *fileName) +// Get texture rectangle to draw shapes +Rectangle GetShapesTextureRec(void) { - FILE *textFile = NULL; - char *text = NULL; - - if (fileName != NULL) - { - textFile = fopen(fileName,"rt"); - - if (textFile != NULL) - { - fseek(textFile, 0, SEEK_END); - int size = ftell(textFile); - fseek(textFile, 0, SEEK_SET); - - if (size > 0) - { - text = (char *)RL_MALLOC(sizeof(char)*(size + 1)); - int count = fread(text, sizeof(char), size, textFile); - text[count] = '\0'; - } +#if defined(GRAPHICS_API_OPENGL_11) + Rectangle rec = { 0 }; + return rec; +#else + return RLGL.State.shapesTextureRec; +#endif +} - fclose(textFile); - } - else TraceLog(LOG_WARNING, "[%s] Text file could not be opened", fileName); - } +// Define default texture used to draw shapes +void SetShapesTexture(Texture2D texture, Rectangle source) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + RLGL.State.shapesTexture = texture; + RLGL.State.shapesTextureRec = source; +#endif +} - return text; +// Get default shader +Shader GetShaderDefault(void) +{ +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + return RLGL.State.defaultShader; +#else + Shader shader = { 0 }; + return shader; +#endif } // Load shader from files and bind default locations @@ -2946,11 +3192,13 @@ Shader LoadShader(const char *vsFileName, const char *fsFileName) { Shader shader = { 0 }; + // NOTE: Shader.locs is allocated by LoadShaderCode() + char *vShaderStr = NULL; char *fShaderStr = NULL; - if (vsFileName != NULL) vShaderStr = LoadText(vsFileName); - if (fsFileName != NULL) fShaderStr = LoadText(fsFileName); + if (vsFileName != NULL) vShaderStr = LoadFileText(vsFileName); + if (fsFileName != NULL) fShaderStr = LoadFileText(fsFileName); shader = LoadShaderCode(vShaderStr, fShaderStr); @@ -2962,32 +3210,43 @@ Shader LoadShader(const char *vsFileName, const char *fsFileName) // Load shader from code strings // NOTE: If shader string is NULL, using default vertex/fragment shaders -Shader LoadShaderCode(char *vsCode, char *fsCode) +Shader LoadShaderCode(const char *vsCode, const char *fsCode) { Shader shader = { 0 }; + shader.locs = (int *)RL_CALLOC(MAX_SHADER_LOCATIONS, sizeof(int)); // NOTE: All locations must be reseted to -1 (no location) for (int i = 0; i < MAX_SHADER_LOCATIONS; i++) shader.locs[i] = -1; #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - unsigned int vertexShaderId = defaultVShaderId; - unsigned int fragmentShaderId = defaultFShaderId; + unsigned int vertexShaderId = RLGL.State.defaultVShaderId; + unsigned int fragmentShaderId = RLGL.State.defaultFShaderId; if (vsCode != NULL) vertexShaderId = CompileShader(vsCode, GL_VERTEX_SHADER); if (fsCode != NULL) fragmentShaderId = CompileShader(fsCode, GL_FRAGMENT_SHADER); - if ((vertexShaderId == defaultVShaderId) && (fragmentShaderId == defaultFShaderId)) shader = defaultShader; + if ((vertexShaderId == RLGL.State.defaultVShaderId) && (fragmentShaderId == RLGL.State.defaultFShaderId)) shader = RLGL.State.defaultShader; else { shader.id = LoadShaderProgram(vertexShaderId, fragmentShaderId); - if (vertexShaderId != defaultVShaderId) glDeleteShader(vertexShaderId); - if (fragmentShaderId != defaultFShaderId) glDeleteShader(fragmentShaderId); + if (vertexShaderId != RLGL.State.defaultVShaderId) + { + // Detach shader before deletion to make sure memory is freed + glDetachShader(shader.id, vertexShaderId); + glDeleteShader(vertexShaderId); + } + if (fragmentShaderId != RLGL.State.defaultFShaderId) + { + // Detach shader before deletion to make sure memory is freed + glDetachShader(shader.id, fragmentShaderId); + glDeleteShader(fragmentShaderId); + } if (shader.id == 0) { - TraceLog(LOG_WARNING, "Custom shader could not be loaded"); - shader = defaultShader; + TRACELOG(LOG_WARNING, "SHADER: Failed to load custom shader code"); + shader = RLGL.State.defaultShader; } // After shader loading, we TRY to set default location names @@ -3000,7 +3259,7 @@ Shader LoadShaderCode(char *vsCode, char *fsCode) glGetProgramiv(shader.id, GL_ACTIVE_UNIFORMS, &uniformCount); - for(int i = 0; i < uniformCount; i++) + for (int i = 0; i < uniformCount; i++) { int namelen = -1; int num = -1; @@ -3008,14 +3267,11 @@ Shader LoadShaderCode(char *vsCode, char *fsCode) GLenum type = GL_ZERO; // Get the name of the uniforms - glGetActiveUniform(shader.id, i,sizeof(name) - 1, &namelen, &num, &type, name); + glGetActiveUniform(shader.id, i, sizeof(name) - 1, &namelen, &num, &type, name); name[namelen] = 0; - // Get the location of the named uniform - unsigned int location = glGetUniformLocation(shader.id, name); - - TraceLog(LOG_DEBUG, "[SHDR ID %i] Active uniform [%s] set at location: %i", shader.id, name, location); + TRACELOGD("SHADER: [ID %i] Active uniform (%s) set at location: %i", shader.id, name, glGetUniformLocation(shader.id, name)); } #endif @@ -3025,21 +3281,25 @@ Shader LoadShaderCode(char *vsCode, char *fsCode) // Unload shader from GPU memory (VRAM) void UnloadShader(Shader shader) { - if (shader.id > 0) +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + if (shader.id != RLGL.State.defaultShader.id) { - rlDeleteShader(shader.id); - TraceLog(LOG_INFO, "[SHDR ID %i] Unloaded shader program data", shader.id); + glDeleteProgram(shader.id); + RL_FREE(shader.locs); + + TRACELOG(LOG_INFO, "SHADER: [ID %i] Unloaded shader program data from VRAM (GPU)", shader.id); } +#endif } // Begin custom shader mode void BeginShaderMode(Shader shader) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (currentShader.id != shader.id) + if (RLGL.State.currentShader.id != shader.id) { - rlglDraw(); - currentShader = shader; + DrawRenderBatch(RLGL.currentBatch); + RLGL.State.currentShader = shader; } #endif } @@ -3048,7 +3308,7 @@ void BeginShaderMode(Shader shader) void EndShaderMode(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - BeginShaderMode(defaultShader); + BeginShaderMode(RLGL.State.defaultShader); #endif } @@ -3059,8 +3319,21 @@ int GetShaderLocation(Shader shader, const char *uniformName) #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) location = glGetUniformLocation(shader.id, uniformName); - if (location == -1) TraceLog(LOG_WARNING, "[SHDR ID %i][%s] Shader uniform could not be found", shader.id, uniformName); - else TraceLog(LOG_INFO, "[SHDR ID %i][%s] Shader uniform set at location: %i", shader.id, uniformName, location); + if (location == -1) TRACELOG(LOG_WARNING, "SHADER: [ID %i] Failed to find shader uniform: %s", shader.id, uniformName); + else TRACELOG(LOG_INFO, "SHADER: [ID %i] Shader uniform (%s) set at location: %i", shader.id, uniformName, location); +#endif + return location; +} + +// Get shader attribute location +int GetShaderLocationAttrib(Shader shader, const char *attribName) +{ + int location = -1; +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + location = glGetAttribLocation(shader.id, attribName); + + if (location == -1) TRACELOG(LOG_WARNING, "SHADER: [ID %i] Failed to find shader attribute: %s", shader.id, attribName); + else TRACELOG(LOG_INFO, "SHADER: [ID %i] Shader attribute (%s) set at location: %i", shader.id, attribName, location); #endif return location; } @@ -3088,7 +3361,7 @@ void SetShaderValueV(Shader shader, int uniformLoc, const void *value, int unifo case UNIFORM_IVEC3: glUniform3iv(uniformLoc, count, (int *)value); break; case UNIFORM_IVEC4: glUniform4iv(uniformLoc, count, (int *)value); break; case UNIFORM_SAMPLER2D: glUniform1iv(uniformLoc, count, (int *)value); break; - default: TraceLog(LOG_WARNING, "Shader uniform could not be set data type not recognized"); + default: TRACELOG(LOG_WARNING, "SHADER: [ID %i] Failed to set uniform, data type not recognized", shader.id); } //glUseProgram(0); // Avoid reseting current shader program, in case other uniforms are set @@ -3114,127 +3387,154 @@ void SetShaderValueTexture(Shader shader, int uniformLoc, Texture2D texture) #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) glUseProgram(shader.id); - glUniform1i(uniformLoc, texture.id); + // Check if texture is already active + for (int i = 0; i < MAX_BATCH_ACTIVE_TEXTURES; i++) if (RLGL.State.activeTextureId[i] == texture.id) return; + + // Register a new active texture for the internal batch system + // NOTE: Default texture is always activated as GL_TEXTURE0 + for (int i = 0; i < MAX_BATCH_ACTIVE_TEXTURES; i++) + { + if (RLGL.State.activeTextureId[i] == 0) + { + glUniform1i(uniformLoc, 1 + i); // Activate new texture unit + RLGL.State.activeTextureId[i] = texture.id; // Save texture id for binding on drawing + break; + } + } //glUseProgram(0); #endif } // Set a custom projection matrix (replaces internal projection matrix) -void SetMatrixProjection(Matrix proj) +void SetMatrixProjection(Matrix projection) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - projection = proj; + RLGL.State.projection = projection; #endif } +// Return internal projection matrix +Matrix GetMatrixProjection(void) { +#if defined(GRAPHICS_API_OPENGL_11) + float mat[16]; + glGetFloatv(GL_PROJECTION_MATRIX,mat); + Matrix m; + m.m0 = mat[0]; m.m1 = mat[1]; m.m2 = mat[2]; m.m3 = mat[3]; + m.m4 = mat[4]; m.m5 = mat[5]; m.m6 = mat[6]; m.m7 = mat[7]; + m.m8 = mat[8]; m.m9 = mat[9]; m.m10 = mat[10]; m.m11 = mat[11]; + m.m12 = mat[12]; m.m13 = mat[13]; m.m14 = mat[14]; m.m15 = mat[15]; + return m; +#else + return RLGL.State.projection; +#endif +# +} + // Set a custom modelview matrix (replaces internal modelview matrix) void SetMatrixModelview(Matrix view) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - modelview = view; + RLGL.State.modelview = view; #endif } // Return internal modelview matrix -Matrix GetMatrixModelview() +Matrix GetMatrixModelview(void) { Matrix matrix = MatrixIdentity(); #if defined(GRAPHICS_API_OPENGL_11) float mat[16]; glGetFloatv(GL_MODELVIEW_MATRIX, mat); + matrix.m0 = mat[0]; matrix.m1 = mat[1]; matrix.m2 = mat[2]; matrix.m3 = mat[3]; + matrix.m4 = mat[4]; matrix.m5 = mat[5]; matrix.m6 = mat[6]; matrix.m7 = mat[7]; + matrix.m8 = mat[8]; matrix.m9 = mat[9]; matrix.m10 = mat[10]; matrix.m11 = mat[11]; + matrix.m12 = mat[12]; matrix.m13 = mat[13]; matrix.m14 = mat[14]; matrix.m15 = mat[15]; #else - matrix = modelview; + matrix = RLGL.State.modelview; #endif return matrix; } // Generate cubemap texture from HDR texture -// TODO: OpenGL ES 2.0 does not support GL_RGB16F texture format, neither GL_DEPTH_COMPONENT24 -Texture2D GenTextureCubemap(Shader shader, Texture2D skyHDR, int size) +TextureCubemap GenTextureCubemap(Shader shader, Texture2D panorama, int size, int format) { - Texture2D cubemap = { 0 }; + TextureCubemap cubemap = { 0 }; #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - // NOTE: SetShaderDefaultLocations() already setups locations for projection and view Matrix in shader - // Other locations should be setup externally in shader before calling the function + rlDisableBackfaceCulling(); // Disable backface culling to render inside the cube - // Set up depth face culling and cubemap seamless - glDisable(GL_CULL_FACE); -#if defined(GRAPHICS_API_OPENGL_33) - glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS); // Flag not supported on OpenGL ES 2.0 -#endif + // STEP 1: Setup framebuffer + //------------------------------------------------------------------------------------------ + unsigned int rbo = rlLoadTextureDepth(size, size, true); + cubemap.id = rlLoadTextureCubemap(NULL, size, format); - // Setup framebuffer - unsigned int fbo, rbo; - glGenFramebuffers(1, &fbo); - glGenRenderbuffers(1, &rbo); - glBindFramebuffer(GL_FRAMEBUFFER, fbo); - glBindRenderbuffer(GL_RENDERBUFFER, rbo); -#if defined(GRAPHICS_API_OPENGL_33) - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, size, size); -#elif defined(GRAPHICS_API_OPENGL_ES2) - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, size, size); -#endif - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, rbo); + unsigned int fbo = rlLoadFramebuffer(size, size); + rlFramebufferAttach(fbo, rbo, RL_ATTACHMENT_DEPTH, RL_ATTACHMENT_RENDERBUFFER); + rlFramebufferAttach(fbo, cubemap.id, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_CUBEMAP_POSITIVE_X); - // Set up cubemap to render and attach to framebuffer - // NOTE: Faces are stored as 32 bit floating point values - glGenTextures(1, &cubemap.id); - glBindTexture(GL_TEXTURE_CUBE_MAP, cubemap.id); - for (unsigned int i = 0; i < 6; i++) - { -#if defined(GRAPHICS_API_OPENGL_33) - glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB32F, size, size, 0, GL_RGB, GL_FLOAT, NULL); -#elif defined(GRAPHICS_API_OPENGL_ES2) - if (texFloatSupported) glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB, size, size, 0, GL_RGB, GL_FLOAT, NULL); -#endif - } + // Check if framebuffer is complete with attachments (valid) + if (rlFramebufferComplete(fbo)) TRACELOG(LOG_INFO, "FBO: [ID %i] Framebuffer object created successfully", fbo); + //------------------------------------------------------------------------------------------ - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); -#if defined(GRAPHICS_API_OPENGL_33) - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE); // Flag not supported on OpenGL ES 2.0 -#endif - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + // STEP 2: Draw to framebuffer + //------------------------------------------------------------------------------------------ + // NOTE: Shader is used to convert HDR equirectangular environment map to cubemap equivalent (6 faces) - // Create projection and different views for each face - Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, 0.01, 1000.0); + // Define projection matrix and send it to shader + Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); + SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_PROJECTION], fboProjection); + + // Define view matrix for every side of the cubemap Matrix fboViews[6] = { - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ -1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }) + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ -1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }) }; - // Convert HDR equirectangular environment map to cubemap equivalent - glUseProgram(shader.id); + rlEnableShader(shader.id); +#if !defined(GENTEXTURECUBEMAP_USE_BATCH_SYSTEM) glActiveTexture(GL_TEXTURE0); - glBindTexture(GL_TEXTURE_2D, skyHDR.id); - SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_PROJECTION], fboProjection); + glBindTexture(GL_TEXTURE_2D, panorama.id); +#endif - // Note: don't forget to configure the viewport to the capture dimensions - glViewport(0, 0, size, size); - glBindFramebuffer(GL_FRAMEBUFFER, fbo); + rlViewport(0, 0, size, size); // Set viewport to current fbo dimensions for (int i = 0; i < 6; i++) { SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_VIEW], fboViews[i]); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, cubemap.id, 0); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + rlFramebufferAttach(fbo, cubemap.id, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_CUBEMAP_POSITIVE_X + i); + + rlEnableFramebuffer(fbo); +#if defined(GENTEXTURECUBEMAP_USE_BATCH_SYSTEM) + rlEnableTexture(panorama.id); // WARNING: It must be called after enabling current framebuffer if using internal batch system! +#endif + rlClearScreenBuffers(); GenDrawCube(); + +#if defined(GENTEXTURECUBEMAP_USE_BATCH_SYSTEM) + // Using internal batch system instead of raw OpenGL cube creating+drawing + // NOTE: DrawCubeV() is actually provided by models.c! -> GenTextureCubemap() should be moved to user code! + DrawCubeV(Vector3Zero(), Vector3One(), WHITE); + DrawRenderBatch(RLGL.currentBatch); +#endif } + //------------------------------------------------------------------------------------------ - // Unbind framebuffer and textures - glBindFramebuffer(GL_FRAMEBUFFER, 0); + // STEP 3: Unload framebuffer and reset state + //------------------------------------------------------------------------------------------ + rlDisableShader(); // Unbind shader + rlDisableTexture(); // Unbind texture + rlDisableFramebuffer(); // Unbind framebuffer + rlUnloadFramebuffer(fbo); // Unload framebuffer (and automatically attached depth texture/renderbuffer) // Reset viewport dimensions to default - glViewport(0, 0, screenWidth, screenHeight); - //glEnable(GL_CULL_FACE); + rlViewport(0, 0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); + //rlEnableBackfaceCulling(); + //------------------------------------------------------------------------------------------ - // NOTE: Texture2D is a GL_TEXTURE_CUBE_MAP, not a GL_TEXTURE_2D! cubemap.width = size; cubemap.height = size; cubemap.mipmaps = 1; @@ -3244,137 +3544,127 @@ Texture2D GenTextureCubemap(Shader shader, Texture2D skyHDR, int size) } // Generate irradiance texture using cubemap data -// TODO: OpenGL ES 2.0 does not support GL_RGB16F texture format, neither GL_DEPTH_COMPONENT24 -Texture2D GenTextureIrradiance(Shader shader, Texture2D cubemap, int size) +TextureCubemap GenTextureIrradiance(Shader shader, TextureCubemap cubemap, int size) { - Texture2D irradiance = { 0 }; + TextureCubemap irradiance = { 0 }; -#if defined(GRAPHICS_API_OPENGL_33) // || defined(GRAPHICS_API_OPENGL_ES2) - // NOTE: SetShaderDefaultLocations() already setups locations for projection and view Matrix in shader - // Other locations should be setup externally in shader before calling the function - - // Setup framebuffer - unsigned int fbo, rbo; - glGenFramebuffers(1, &fbo); - glGenRenderbuffers(1, &rbo); - glBindFramebuffer(GL_FRAMEBUFFER, fbo); - glBindRenderbuffer(GL_RENDERBUFFER, rbo); - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, size, size); - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, rbo); - - // Create an irradiance cubemap, and re-scale capture FBO to irradiance scale - glGenTextures(1, &irradiance.id); - glBindTexture(GL_TEXTURE_CUBE_MAP, irradiance.id); - for (unsigned int i = 0; i < 6; i++) - { - glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB16F, size, size, 0, GL_RGB, GL_FLOAT, NULL); - } +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + rlDisableBackfaceCulling(); // Disable backface culling to render inside the cube - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + // STEP 1: Setup framebuffer + //------------------------------------------------------------------------------------------ + unsigned int rbo = rlLoadTextureDepth(size, size, true); + irradiance.id = rlLoadTextureCubemap(NULL, size, UNCOMPRESSED_R32G32B32); + + unsigned int fbo = rlLoadFramebuffer(size, size); + rlFramebufferAttach(fbo, rbo, RL_ATTACHMENT_DEPTH, RL_ATTACHMENT_RENDERBUFFER); + rlFramebufferAttach(fbo, cubemap.id, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_CUBEMAP_POSITIVE_X); + //------------------------------------------------------------------------------------------ - // Create projection (transposed) and different views for each face - Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, 0.01, 1000.0); + // STEP 2: Draw to framebuffer + //------------------------------------------------------------------------------------------ + // NOTE: Shader is used to solve diffuse integral by convolution to create an irradiance cubemap + + // Define projection matrix and send it to shader + Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); + SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_PROJECTION], fboProjection); + + // Define view matrix for every side of the cubemap Matrix fboViews[6] = { - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ -1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }) + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ -1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }) }; - // Solve diffuse integral by convolution to create an irradiance cubemap - glUseProgram(shader.id); + rlEnableShader(shader.id); glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_CUBE_MAP, cubemap.id); - SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_PROJECTION], fboProjection); - // Note: don't forget to configure the viewport to the capture dimensions - glViewport(0, 0, size, size); - glBindFramebuffer(GL_FRAMEBUFFER, fbo); + rlViewport(0, 0, size, size); // Set viewport to current fbo dimensions for (int i = 0; i < 6; i++) { SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_VIEW], fboViews[i]); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, irradiance.id, 0); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + rlFramebufferAttach(fbo, irradiance.id, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_CUBEMAP_POSITIVE_X + i); + + rlEnableFramebuffer(fbo); + rlClearScreenBuffers(); GenDrawCube(); } + //------------------------------------------------------------------------------------------ - // Unbind framebuffer and textures - glBindFramebuffer(GL_FRAMEBUFFER, 0); + // STEP 3: Unload framebuffer and reset state + //------------------------------------------------------------------------------------------ + rlDisableShader(); // Unbind shader + rlDisableTexture(); // Unbind texture + rlDisableFramebuffer(); // Unbind framebuffer + rlUnloadFramebuffer(fbo); // Unload framebuffer (and automatically attached depth texture/renderbuffer) // Reset viewport dimensions to default - glViewport(0, 0, screenWidth, screenHeight); + rlViewport(0, 0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); + //rlEnableBackfaceCulling(); + //------------------------------------------------------------------------------------------ irradiance.width = size; irradiance.height = size; irradiance.mipmaps = 1; - //irradiance.format = UNCOMPRESSED_R16G16B16; + irradiance.format = UNCOMPRESSED_R32G32B32; #endif return irradiance; } // Generate prefilter texture using cubemap data -// TODO: OpenGL ES 2.0 does not support GL_RGB16F texture format, neither GL_DEPTH_COMPONENT24 -Texture2D GenTexturePrefilter(Shader shader, Texture2D cubemap, int size) +TextureCubemap GenTexturePrefilter(Shader shader, TextureCubemap cubemap, int size) { - Texture2D prefilter = { 0 }; + TextureCubemap prefilter = { 0 }; #if defined(GRAPHICS_API_OPENGL_33) // || defined(GRAPHICS_API_OPENGL_ES2) - // NOTE: SetShaderDefaultLocations() already setups locations for projection and view Matrix in shader - // Other locations should be setup externally in shader before calling the function - // TODO: Locations should be taken out of this function... too shader dependant... - int roughnessLoc = GetShaderLocation(shader, "roughness"); + rlDisableBackfaceCulling(); // Disable backface culling to render inside the cube - // Setup framebuffer - unsigned int fbo, rbo; - glGenFramebuffers(1, &fbo); - glGenRenderbuffers(1, &rbo); - glBindFramebuffer(GL_FRAMEBUFFER, fbo); - glBindRenderbuffer(GL_RENDERBUFFER, rbo); - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, size, size); - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, rbo); - - // Create a prefiltered HDR environment map - glGenTextures(1, &prefilter.id); - glBindTexture(GL_TEXTURE_CUBE_MAP, prefilter.id); - for (unsigned int i = 0; i < 6; i++) - { - glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB16F, size, size, 0, GL_RGB, GL_FLOAT, NULL); - } + // STEP 1: Setup framebuffer + //------------------------------------------------------------------------------------------ + unsigned int rbo = rlLoadTextureDepth(size, size, true); + prefilter.id = rlLoadTextureCubemap(NULL, size, UNCOMPRESSED_R32G32B32); + rlTextureParameters(prefilter.id, RL_TEXTURE_MIN_FILTER, RL_FILTER_MIP_LINEAR); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); - glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + unsigned int fbo = rlLoadFramebuffer(size, size); + rlFramebufferAttach(fbo, rbo, RL_ATTACHMENT_DEPTH, RL_ATTACHMENT_RENDERBUFFER); + rlFramebufferAttach(fbo, cubemap.id, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_CUBEMAP_POSITIVE_X); + //------------------------------------------------------------------------------------------ // Generate mipmaps for the prefiltered HDR texture glGenerateMipmap(GL_TEXTURE_CUBE_MAP); + //rlGenerateMipmaps(Texture2D *texture); // Only GL_TEXTURE_2D - // Create projection (transposed) and different views for each face - Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, 0.01, 1000.0); + // STEP 2: Draw to framebuffer + //------------------------------------------------------------------------------------------ + // NOTE: Shader is used to prefilter HDR and store data into mipmap levels + + // Define projection matrix and send it to shader + Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); + SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_PROJECTION], fboProjection); + + // Define view matrix for every side of the cubemap Matrix fboViews[6] = { - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ -1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), - MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }) + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ -1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, 1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }), + MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, 0.0f, -1.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }) }; - // Prefilter HDR and store data into mipmap levels - glUseProgram(shader.id); + rlEnableShader(shader.id); glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_CUBE_MAP, cubemap.id); - SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_PROJECTION], fboProjection); - glBindFramebuffer(GL_FRAMEBUFFER, fbo); + // TODO: Locations should be taken out of this function... too shader dependant... + int roughnessLoc = GetShaderLocation(shader, "roughness"); + + rlEnableFramebuffer(fbo); #define MAX_MIPMAP_LEVELS 5 // Max number of prefilter texture mipmaps @@ -3384,9 +3674,10 @@ Texture2D GenTexturePrefilter(Shader shader, Texture2D cubemap, int size) unsigned int mipWidth = size*(int)powf(0.5f, (float)mip); unsigned int mipHeight = size*(int)powf(0.5f, (float)mip); + rlViewport(0, 0, mipWidth, mipHeight); + glBindRenderbuffer(GL_RENDERBUFFER, rbo); glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, mipWidth, mipHeight); - glViewport(0, 0, mipWidth, mipHeight); float roughness = (float)mip/(float)(MAX_MIPMAP_LEVELS - 1); glUniform1f(roughnessLoc, roughness); @@ -3395,73 +3686,74 @@ Texture2D GenTexturePrefilter(Shader shader, Texture2D cubemap, int size) { SetShaderValueMatrix(shader, shader.locs[LOC_MATRIX_VIEW], fboViews[i]); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, prefilter.id, mip); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + //rlFramebufferAttach(fbo, irradiance.id, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_CUBEMAP_POSITIVE_X + i); // TODO: Support mip levels? + + rlEnableFramebuffer(fbo); + rlClearScreenBuffers(); GenDrawCube(); } } + //------------------------------------------------------------------------------------------ - // Unbind framebuffer and textures - glBindFramebuffer(GL_FRAMEBUFFER, 0); + // STEP 3: Unload framebuffer and reset state + //------------------------------------------------------------------------------------------ + rlDisableShader(); // Unbind shader + rlDisableTexture(); // Unbind texture + rlDisableFramebuffer(); // Unbind framebuffer + rlUnloadFramebuffer(fbo); // Unload framebuffer (and automatically attached depth texture/renderbuffer) // Reset viewport dimensions to default - glViewport(0, 0, screenWidth, screenHeight); + rlViewport(0, 0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); + //rlEnableBackfaceCulling(); + //------------------------------------------------------------------------------------------ prefilter.width = size; prefilter.height = size; - //prefilter.mipmaps = 1 + (int)floor(log(size)/log(2)); - //prefilter.format = UNCOMPRESSED_R16G16B16; + //prefilter.mipmaps = 1 + (int)floor(log(size)/log(2)); // MAX_MIPMAP_LEVELS + //prefilter.format = UNCOMPRESSED_R32G32B32; #endif return prefilter; } // Generate BRDF texture using cubemap data -// NOTE: OpenGL ES 2.0 does not support GL_RGB16F texture format, neither GL_DEPTH_COMPONENT24 // TODO: Review implementation: https://github.com/HectorMF/BRDFGenerator Texture2D GenTextureBRDF(Shader shader, int size) { Texture2D brdf = { 0 }; #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - // Generate BRDF convolution texture - glGenTextures(1, &brdf.id); - glBindTexture(GL_TEXTURE_2D, brdf.id); -#if defined(GRAPHICS_API_OPENGL_33) - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB32F, size, size, 0, GL_RGB, GL_FLOAT, NULL); -#elif defined(GRAPHICS_API_OPENGL_ES2) - if (texFloatSupported) glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, size, size, 0, GL_RGB, GL_FLOAT, NULL); -#endif + // STEP 1: Setup framebuffer + //------------------------------------------------------------------------------------------ + unsigned int rbo = rlLoadTextureDepth(size, size, true); + brdf.id = rlLoadTexture(NULL, size, size, UNCOMPRESSED_R32G32B32, 1); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + unsigned int fbo = rlLoadFramebuffer(size, size); + rlFramebufferAttach(fbo, rbo, RL_ATTACHMENT_DEPTH, RL_ATTACHMENT_RENDERBUFFER); + rlFramebufferAttach(fbo, brdf.id, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_TEXTURE2D); + //------------------------------------------------------------------------------------------ - // Render BRDF LUT into a quad using FBO - unsigned int fbo, rbo; - glGenFramebuffers(1, &fbo); - glGenRenderbuffers(1, &rbo); - glBindFramebuffer(GL_FRAMEBUFFER, fbo); - glBindRenderbuffer(GL_RENDERBUFFER, rbo); -#if defined(GRAPHICS_API_OPENGL_33) - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, size, size); -#elif defined(GRAPHICS_API_OPENGL_ES2) - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, size, size); -#endif - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, brdf.id, 0); + // STEP 2: Draw to framebuffer + //------------------------------------------------------------------------------------------ + // NOTE: Render BRDF LUT into a quad using FBO - glViewport(0, 0, size, size); - glUseProgram(shader.id); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - GenDrawQuad(); + rlEnableShader(shader.id); - // Unbind framebuffer and textures - glBindFramebuffer(GL_FRAMEBUFFER, 0); + rlViewport(0, 0, size, size); + + rlEnableFramebuffer(fbo); + rlClearScreenBuffers(); + GenDrawQuad(); + //------------------------------------------------------------------------------------------ - // Unload framebuffer but keep color texture - glDeleteRenderbuffers(1, &rbo); - glDeleteFramebuffers(1, &fbo); + // STEP 3: Unload framebuffer and reset state + //------------------------------------------------------------------------------------------ + rlDisableShader(); // Unbind shader + rlDisableTexture(); // Unbind texture + rlDisableFramebuffer(); // Unbind framebuffer + rlUnloadFramebuffer(fbo); // Unload framebuffer (and automatically attached depth texture/renderbuffer) // Reset viewport dimensions to default - glViewport(0, 0, screenWidth, screenHeight); + rlViewport(0, 0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); + //------------------------------------------------------------------------------------------ brdf.width = size; brdf.height = size; @@ -3475,20 +3767,25 @@ Texture2D GenTextureBRDF(Shader shader, int size) // NOTE: Only 3 blending modes supported, default blend mode is alpha void BeginBlendMode(int mode) { - if ((blendMode != mode) && (mode < 3)) +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + if (RLGL.State.currentBlendMode != mode) { - rlglDraw(); + DrawRenderBatch(RLGL.currentBatch); switch (mode) { - case BLEND_ALPHA: glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); break; - case BLEND_ADDITIVE: glBlendFunc(GL_SRC_ALPHA, GL_ONE); break; // Alternative: glBlendFunc(GL_ONE, GL_ONE); - case BLEND_MULTIPLIED: glBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA); break; + case BLEND_ALPHA: glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glBlendEquation(GL_FUNC_ADD); break; + case BLEND_ADDITIVE: glBlendFunc(GL_SRC_ALPHA, GL_ONE); glBlendEquation(GL_FUNC_ADD); break; + case BLEND_MULTIPLIED: glBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA); glBlendEquation(GL_FUNC_ADD); break; + case BLEND_ADD_COLORS: glBlendFunc(GL_ONE, GL_ONE); glBlendEquation(GL_FUNC_ADD); break; + case BLEND_SUBTRACT_COLORS: glBlendFunc(GL_ONE, GL_ONE); glBlendEquation(GL_FUNC_SUBTRACT); break; + case BLEND_CUSTOM: glBlendFunc(RLGL.State.glBlendSrcFactor, RLGL.State.glBlendDstFactor); glBlendEquation(RLGL.State.glBlendEquation); break; default: break; } - blendMode = mode; + RLGL.State.currentBlendMode = mode; } +#endif } // End blending mode (reset to default: alpha blending) @@ -3497,37 +3794,27 @@ void EndBlendMode(void) BeginBlendMode(BLEND_ALPHA); } -// Begin scissor mode (define screen area for following drawing) -// NOTE: Scissor rec refers to bottom-left corner, we change it to upper-left -void BeginScissorMode(int x, int y, int width, int height) -{ - rlglDraw(); // Force drawing elements - - glEnable(GL_SCISSOR_TEST); - glScissor(x, screenHeight - (y + height), width, height); -} - -// End scissor mode -void EndScissorMode(void) -{ - rlglDraw(); // Force drawing elements - - glDisable(GL_SCISSOR_TEST); -} - #if defined(SUPPORT_VR_SIMULATOR) // Init VR simulator for selected device parameters -// NOTE: It modifies the global variable: stereoFbo +// NOTE: It modifies the global variable: RLGL.Vr.stereoFboId void InitVrSimulator(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) // Initialize framebuffer and textures for stereo rendering // NOTE: Screen size should match HMD aspect ratio - stereoFbo = rlLoadRenderTexture(screenWidth, screenHeight, UNCOMPRESSED_R8G8B8A8, 24, false); + RLGL.Vr.stereoFboId = rlLoadFramebuffer(RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); + + // Load color/depth textures to attach to framebuffer + RLGL.Vr.stereoTexId = rlLoadTexture(NULL, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight, UNCOMPRESSED_R8G8B8A8, 1); + unsigned int depthId = rlLoadTextureDepth(RLGL.State.framebufferWidth, RLGL.State.framebufferHeight, true); - vrSimulatorReady = true; + // Attach color texture and depth renderbuffer/texture to FBO + rlFramebufferAttach(RLGL.Vr.stereoFboId, RLGL.Vr.stereoTexId, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_TEXTURE2D); + rlFramebufferAttach(RLGL.Vr.stereoFboId, depthId, RL_ATTACHMENT_DEPTH, RL_ATTACHMENT_RENDERBUFFER); + + RLGL.Vr.simulatorReady = true; #else - TraceLog(LOG_WARNING, "VR Simulator not supported on OpenGL 1.1"); + TRACELOG(LOG_WARNING, "RLGL: VR Simulator not supported on OpenGL 1.1"); #endif } @@ -3542,7 +3829,11 @@ void UpdateVrTracking(Camera *camera) void CloseVrSimulator(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (vrSimulatorReady) rlDeleteRenderTextures(stereoFbo); // Unload stereo framebuffer and texture + if (RLGL.Vr.simulatorReady) + { + rlUnloadTexture(RLGL.Vr.stereoTexId); // Unload color texture + rlUnloadFramebuffer(RLGL.Vr.stereoFboId); // Unload stereo framebuffer and depth texture/renderbuffer + } #endif } @@ -3550,11 +3841,11 @@ void CloseVrSimulator(void) void SetVrConfiguration(VrDeviceInfo hmd, Shader distortion) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - // Reset vrConfig for a new values assignment - memset(&vrConfig, 0, sizeof(vrConfig)); + // Reset RLGL.Vr.config for a new values assignment + memset(&RLGL.Vr.config, 0, sizeof(RLGL.Vr.config)); // Assign distortion shader - vrConfig.distortionShader = distortion; + RLGL.Vr.config.distortionShader = distortion; // Compute aspect ratio float aspect = ((float)hmd.hResolution*0.5f)/(float)hmd.vResolution; @@ -3568,64 +3859,65 @@ void SetVrConfiguration(VrDeviceInfo hmd, Shader distortion) // Compute distortion scale parameters // NOTE: To get lens max radius, lensShift must be normalized to [-1..1] - float lensRadius = (float)fabs(-1.0f - 4.0f*lensShift); + float lensRadius = fabsf(-1.0f - 4.0f*lensShift); float lensRadiusSq = lensRadius*lensRadius; float distortionScale = hmd.lensDistortionValues[0] + hmd.lensDistortionValues[1]*lensRadiusSq + hmd.lensDistortionValues[2]*lensRadiusSq*lensRadiusSq + hmd.lensDistortionValues[3]*lensRadiusSq*lensRadiusSq*lensRadiusSq; - TraceLog(LOG_DEBUG, "VR: Distortion Scale: %f", distortionScale); + TRACELOGD("RLGL: VR device configuration:"); + TRACELOGD(" > Distortion Scale: %f", distortionScale); float normScreenWidth = 0.5f; float normScreenHeight = 1.0f; float scaleIn[2] = { 2.0f/normScreenWidth, 2.0f/normScreenHeight/aspect }; float scale[2] = { normScreenWidth*0.5f/distortionScale, normScreenHeight*0.5f*aspect/distortionScale }; - TraceLog(LOG_DEBUG, "VR: Distortion Shader: LeftLensCenter = { %f, %f }", leftLensCenter[0], leftLensCenter[1]); - TraceLog(LOG_DEBUG, "VR: Distortion Shader: RightLensCenter = { %f, %f }", rightLensCenter[0], rightLensCenter[1]); - TraceLog(LOG_DEBUG, "VR: Distortion Shader: Scale = { %f, %f }", scale[0], scale[1]); - TraceLog(LOG_DEBUG, "VR: Distortion Shader: ScaleIn = { %f, %f }", scaleIn[0], scaleIn[1]); + TRACELOGD(" > Distortion Shader: LeftLensCenter = { %f, %f }", leftLensCenter[0], leftLensCenter[1]); + TRACELOGD(" > Distortion Shader: RightLensCenter = { %f, %f }", rightLensCenter[0], rightLensCenter[1]); + TRACELOGD(" > Distortion Shader: Scale = { %f, %f }", scale[0], scale[1]); + TRACELOGD(" > Distortion Shader: ScaleIn = { %f, %f }", scaleIn[0], scaleIn[1]); - // Fovy is normally computed with: 2*atan2(hmd.vScreenSize, 2*hmd.eyeToScreenDistance) + // Fovy is normally computed with: 2*atan2f(hmd.vScreenSize, 2*hmd.eyeToScreenDistance) // ...but with lens distortion it is increased (see Oculus SDK Documentation) - //float fovy = 2.0f*atan2(hmd.vScreenSize*0.5f*distortionScale, hmd.eyeToScreenDistance); // Really need distortionScale? - float fovy = 2.0f*(float)atan2(hmd.vScreenSize*0.5f, hmd.eyeToScreenDistance); + //float fovy = 2.0f*atan2f(hmd.vScreenSize*0.5f*distortionScale, hmd.eyeToScreenDistance); // Really need distortionScale? + float fovy = 2.0f*(float)atan2f(hmd.vScreenSize*0.5f, hmd.eyeToScreenDistance); // Compute camera projection matrices float projOffset = 4.0f*lensShift; // Scaled to projection space coordinates [-1..1] - Matrix proj = MatrixPerspective(fovy, aspect, 0.01, 1000.0); - vrConfig.eyesProjection[0] = MatrixMultiply(proj, MatrixTranslate(projOffset, 0.0f, 0.0f)); - vrConfig.eyesProjection[1] = MatrixMultiply(proj, MatrixTranslate(-projOffset, 0.0f, 0.0f)); + Matrix proj = MatrixPerspective(fovy, aspect, RL_CULL_DISTANCE_NEAR, RL_CULL_DISTANCE_FAR); + RLGL.Vr.config.eyesProjection[0] = MatrixMultiply(proj, MatrixTranslate(projOffset, 0.0f, 0.0f)); + RLGL.Vr.config.eyesProjection[1] = MatrixMultiply(proj, MatrixTranslate(-projOffset, 0.0f, 0.0f)); // Compute camera transformation matrices // NOTE: Camera movement might seem more natural if we model the head. // Our axis of rotation is the base of our head, so we might want to add // some y (base of head to eye level) and -z (center of head to eye protrusion) to the camera positions. - vrConfig.eyesViewOffset[0] = MatrixTranslate(-hmd.interpupillaryDistance*0.5f, 0.075f, 0.045f); - vrConfig.eyesViewOffset[1] = MatrixTranslate(hmd.interpupillaryDistance*0.5f, 0.075f, 0.045f); + RLGL.Vr.config.eyesViewOffset[0] = MatrixTranslate(-hmd.interpupillaryDistance*0.5f, 0.075f, 0.045f); + RLGL.Vr.config.eyesViewOffset[1] = MatrixTranslate(hmd.interpupillaryDistance*0.5f, 0.075f, 0.045f); // Compute eyes Viewports - vrConfig.eyeViewportRight[2] = hmd.hResolution/2; - vrConfig.eyeViewportRight[3] = hmd.vResolution; + RLGL.Vr.config.eyeViewportRight[2] = hmd.hResolution/2; + RLGL.Vr.config.eyeViewportRight[3] = hmd.vResolution; - vrConfig.eyeViewportLeft[0] = hmd.hResolution/2; - vrConfig.eyeViewportLeft[1] = 0; - vrConfig.eyeViewportLeft[2] = hmd.hResolution/2; - vrConfig.eyeViewportLeft[3] = hmd.vResolution; + RLGL.Vr.config.eyeViewportLeft[0] = hmd.hResolution/2; + RLGL.Vr.config.eyeViewportLeft[1] = 0; + RLGL.Vr.config.eyeViewportLeft[2] = hmd.hResolution/2; + RLGL.Vr.config.eyeViewportLeft[3] = hmd.vResolution; - if (vrConfig.distortionShader.id > 0) + if (RLGL.Vr.config.distortionShader.id > 0) { // Update distortion shader with lens and distortion-scale parameters - SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "leftLensCenter"), leftLensCenter, UNIFORM_VEC2); - SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "rightLensCenter"), rightLensCenter, UNIFORM_VEC2); - SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "leftScreenCenter"), leftScreenCenter, UNIFORM_VEC2); - SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "rightScreenCenter"), rightScreenCenter, UNIFORM_VEC2); - - SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "scale"), scale, UNIFORM_VEC2); - SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "scaleIn"), scaleIn, UNIFORM_VEC2); - SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "hmdWarpParam"), hmd.lensDistortionValues, UNIFORM_VEC4); - SetShaderValue(vrConfig.distortionShader, GetShaderLocation(vrConfig.distortionShader, "chromaAbParam"), hmd.chromaAbCorrection, UNIFORM_VEC4); + SetShaderValue(RLGL.Vr.config.distortionShader, GetShaderLocation(RLGL.Vr.config.distortionShader, "leftLensCenter"), leftLensCenter, UNIFORM_VEC2); + SetShaderValue(RLGL.Vr.config.distortionShader, GetShaderLocation(RLGL.Vr.config.distortionShader, "rightLensCenter"), rightLensCenter, UNIFORM_VEC2); + SetShaderValue(RLGL.Vr.config.distortionShader, GetShaderLocation(RLGL.Vr.config.distortionShader, "leftScreenCenter"), leftScreenCenter, UNIFORM_VEC2); + SetShaderValue(RLGL.Vr.config.distortionShader, GetShaderLocation(RLGL.Vr.config.distortionShader, "rightScreenCenter"), rightScreenCenter, UNIFORM_VEC2); + + SetShaderValue(RLGL.Vr.config.distortionShader, GetShaderLocation(RLGL.Vr.config.distortionShader, "scale"), scale, UNIFORM_VEC2); + SetShaderValue(RLGL.Vr.config.distortionShader, GetShaderLocation(RLGL.Vr.config.distortionShader, "scaleIn"), scaleIn, UNIFORM_VEC2); + SetShaderValue(RLGL.Vr.config.distortionShader, GetShaderLocation(RLGL.Vr.config.distortionShader, "hmdWarpParam"), hmd.lensDistortionValues, UNIFORM_VEC4); + SetShaderValue(RLGL.Vr.config.distortionShader, GetShaderLocation(RLGL.Vr.config.distortionShader, "chromaAbParam"), hmd.chromaAbCorrection, UNIFORM_VEC4); } #endif } @@ -3634,7 +3926,7 @@ void SetVrConfiguration(VrDeviceInfo hmd, Shader distortion) bool IsVrSimulatorReady(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - return vrSimulatorReady; + return RLGL.Vr.simulatorReady; #else return false; #endif @@ -3644,18 +3936,18 @@ bool IsVrSimulatorReady(void) void ToggleVrMode(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - vrSimulatorReady = !vrSimulatorReady; + RLGL.Vr.simulatorReady = !RLGL.Vr.simulatorReady; - if (!vrSimulatorReady) + if (!RLGL.Vr.simulatorReady) { - vrStereoRender = false; + RLGL.Vr.stereoRender = false; // Reset viewport and default projection-modelview matrices - rlViewport(0, 0, screenWidth, screenHeight); - projection = MatrixOrtho(0.0, screenWidth, screenHeight, 0.0, 0.0, 1.0); - modelview = MatrixIdentity(); + rlViewport(0, 0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); + RLGL.State.projection = MatrixOrtho(0.0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight, 0.0, 0.0, 1.0); + RLGL.State.modelview = MatrixIdentity(); } - else vrStereoRender = true; + else RLGL.Vr.stereoRender = true; #endif } @@ -3663,16 +3955,15 @@ void ToggleVrMode(void) void BeginVrDrawing(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (vrSimulatorReady) + if (RLGL.Vr.simulatorReady) { + rlEnableFramebuffer(RLGL.Vr.stereoFboId); // Setup framebuffer for stereo rendering + //glEnable(GL_FRAMEBUFFER_SRGB); // Enable SRGB framebuffer (only if required) - rlEnableRenderTexture(stereoFbo.id); // Setup framebuffer for stereo rendering - //glEnable(GL_FRAMEBUFFER_SRGB); // Enable SRGB framebuffer (only if required) + //rlViewport(0, 0, buffer.width, buffer.height); // Useful if rendering to separate framebuffers (every eye) + rlClearScreenBuffers(); // Clear current framebuffer - //glViewport(0, 0, buffer.width, buffer.height); // Useful if rendering to separate framebuffers (every eye) - rlClearScreenBuffers(); // Clear current framebuffer - - vrStereoRender = true; + RLGL.Vr.stereoRender = true; } #endif } @@ -3681,29 +3972,29 @@ void BeginVrDrawing(void) void EndVrDrawing(void) { #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if (vrSimulatorReady) + if (RLGL.Vr.simulatorReady) { - vrStereoRender = false; // Disable stereo render + RLGL.Vr.stereoRender = false; // Disable stereo render - rlDisableRenderTexture(); // Unbind current framebuffer + rlDisableFramebuffer(); // Unbind current framebuffer rlClearScreenBuffers(); // Clear current framebuffer // Set viewport to default framebuffer size (screen size) - rlViewport(0, 0, screenWidth, screenHeight); + rlViewport(0, 0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); // Let rlgl reconfigure internal matrices rlMatrixMode(RL_PROJECTION); // Enable internal projection matrix rlLoadIdentity(); // Reset internal projection matrix - rlOrtho(0.0, screenWidth, screenHeight, 0.0, 0.0, 1.0); // Recalculate internal projection matrix + rlOrtho(0.0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight, 0.0, 0.0, 1.0); // Recalculate internal RLGL.State.projection matrix rlMatrixMode(RL_MODELVIEW); // Enable internal modelview matrix rlLoadIdentity(); // Reset internal modelview matrix - // Draw RenderTexture (stereoFbo) using distortion shader if available - if (vrConfig.distortionShader.id > 0) currentShader = vrConfig.distortionShader; - else currentShader = GetShaderDefault(); + // Draw stereo framebuffer texture using distortion shader if available + if (RLGL.Vr.config.distortionShader.id > 0) RLGL.State.currentShader = RLGL.Vr.config.distortionShader; + else RLGL.State.currentShader = GetShaderDefault(); - rlEnableTexture(stereoFbo.texture.id); + rlEnableTexture(RLGL.Vr.stereoTexId); rlPushMatrix(); rlBegin(RL_QUADS); @@ -3716,31 +4007,30 @@ void EndVrDrawing(void) // Bottom-right corner for texture and quad rlTexCoord2f(0.0f, 0.0f); - rlVertex2f(0.0f, (float)stereoFbo.texture.height); + rlVertex2f(0.0f, (float)RLGL.State.framebufferHeight); // Top-right corner for texture and quad rlTexCoord2f(1.0f, 0.0f); - rlVertex2f( (float)stereoFbo.texture.width, (float)stereoFbo.texture.height); + rlVertex2f((float)RLGL.State.framebufferWidth, (float)RLGL.State.framebufferHeight); // Top-left corner for texture and quad rlTexCoord2f(1.0f, 1.0f); - rlVertex2f( (float)stereoFbo.texture.width, 0.0f); + rlVertex2f((float)RLGL.State.framebufferWidth, 0.0f); rlEnd(); rlPopMatrix(); rlDisableTexture(); // Update and draw render texture fbo with distortion to backbuffer - UpdateBuffersDefault(); - DrawBuffersDefault(); + DrawRenderBatch(RLGL.currentBatch); - // Restore defaultShader - currentShader = defaultShader; + // Restore RLGL.State.defaultShader + RLGL.State.currentShader = RLGL.State.defaultShader; // Reset viewport and default projection-modelview matrices - rlViewport(0, 0, screenWidth, screenHeight); - projection = MatrixOrtho(0.0, screenWidth, screenHeight, 0.0, 0.0, 1.0); - modelview = MatrixIdentity(); + rlViewport(0, 0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight); + RLGL.State.projection = MatrixOrtho(0.0, RLGL.State.framebufferWidth, RLGL.State.framebufferHeight, 0.0, 0.0, 1.0); + RLGL.State.modelview = MatrixIdentity(); rlDisableDepthTest(); } @@ -3765,7 +4055,7 @@ static unsigned int CompileShader(const char *shaderStr, int type) if (success != GL_TRUE) { - TraceLog(LOG_WARNING, "[SHDR ID %i] Failed to compile shader...", shader); + TRACELOG(LOG_WARNING, "SHADER: [ID %i] Failed to compile shader code", shader); int maxLength = 0; int length; glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &maxLength); @@ -3777,13 +4067,13 @@ static unsigned int CompileShader(const char *shaderStr, int type) #endif glGetShaderInfoLog(shader, maxLength, &length, log); - TraceLog(LOG_INFO, "%s", log); + TRACELOG(LOG_WARNING, "SHADER: [ID %i] Compile error: %s", shader, log); #if defined(_MSC_VER) RL_FREE(log); #endif } - else TraceLog(LOG_INFO, "[SHDR ID %i] Shader compiled successfully", shader); + else TRACELOG(LOG_INFO, "SHADER: [ID %i] Compiled successfully", shader); return shader; } @@ -3794,7 +4084,6 @@ static unsigned int LoadShaderProgram(unsigned int vShaderId, unsigned int fShad unsigned int program = 0; #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - GLint success = 0; program = glCreateProgram(); @@ -3802,12 +4091,12 @@ static unsigned int LoadShaderProgram(unsigned int vShaderId, unsigned int fShad glAttachShader(program, fShaderId); // NOTE: Default attribute shader locations must be binded before linking - glBindAttribLocation(program, 0, DEFAULT_ATTRIB_POSITION_NAME); - glBindAttribLocation(program, 1, DEFAULT_ATTRIB_TEXCOORD_NAME); - glBindAttribLocation(program, 2, DEFAULT_ATTRIB_NORMAL_NAME); - glBindAttribLocation(program, 3, DEFAULT_ATTRIB_COLOR_NAME); - glBindAttribLocation(program, 4, DEFAULT_ATTRIB_TANGENT_NAME); - glBindAttribLocation(program, 5, DEFAULT_ATTRIB_TEXCOORD2_NAME); + glBindAttribLocation(program, 0, DEFAULT_SHADER_ATTRIB_NAME_POSITION); + glBindAttribLocation(program, 1, DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD); + glBindAttribLocation(program, 2, DEFAULT_SHADER_ATTRIB_NAME_NORMAL); + glBindAttribLocation(program, 3, DEFAULT_SHADER_ATTRIB_NAME_COLOR); + glBindAttribLocation(program, 4, DEFAULT_SHADER_ATTRIB_NAME_TANGENT); + glBindAttribLocation(program, 5, DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2); // NOTE: If some attrib name is no found on the shader, it locations becomes -1 @@ -3819,7 +4108,7 @@ static unsigned int LoadShaderProgram(unsigned int vShaderId, unsigned int fShad if (success == GL_FALSE) { - TraceLog(LOG_WARNING, "[SHDR ID %i] Failed to link shader program...", program); + TRACELOG(LOG_WARNING, "SHADER: [ID %i] Failed to link shader program", program); int maxLength = 0; int length; @@ -3833,7 +4122,7 @@ static unsigned int LoadShaderProgram(unsigned int vShaderId, unsigned int fShad #endif glGetProgramInfoLog(program, maxLength, &length, log); - TraceLog(LOG_INFO, "%s", log); + TRACELOG(LOG_WARNING, "SHADER: [ID %i] Link error: %s", program, log); #if defined(_MSC_VER) RL_FREE(log); @@ -3842,7 +4131,7 @@ static unsigned int LoadShaderProgram(unsigned int vShaderId, unsigned int fShad program = 0; } - else TraceLog(LOG_INFO, "[SHDR ID %i] Shader program loaded successfully", program); + else TRACELOG(LOG_INFO, "SHADER: [ID %i] Program loaded successfully", program); #endif return program; } @@ -3853,12 +4142,13 @@ static unsigned int LoadShaderProgram(unsigned int vShaderId, unsigned int fShad static Shader LoadShaderDefault(void) { Shader shader = { 0 }; + shader.locs = (int *)RL_CALLOC(MAX_SHADER_LOCATIONS, sizeof(int)); // NOTE: All locations must be reseted to -1 (no location) for (int i = 0; i < MAX_SHADER_LOCATIONS; i++) shader.locs[i] = -1; // Vertex shader directly defined, no external file required - char defaultVShaderStr[] = + const char *defaultVShaderStr = #if defined(GRAPHICS_API_OPENGL_21) "#version 120 \n" #elif defined(GRAPHICS_API_OPENGL_ES2) @@ -3887,7 +4177,7 @@ static Shader LoadShaderDefault(void) "} \n"; // Fragment shader directly defined, no external file required - char defaultFShaderStr[] = + const char *defaultFShaderStr = #if defined(GRAPHICS_API_OPENGL_21) "#version 120 \n" #elif defined(GRAPHICS_API_OPENGL_ES2) @@ -3917,14 +4207,14 @@ static Shader LoadShaderDefault(void) "} \n"; // NOTE: Compiled vertex/fragment shaders are kept for re-use - defaultVShaderId = CompileShader(defaultVShaderStr, GL_VERTEX_SHADER); // Compile default vertex shader - defaultFShaderId = CompileShader(defaultFShaderStr, GL_FRAGMENT_SHADER); // Compile default fragment shader + RLGL.State.defaultVShaderId = CompileShader(defaultVShaderStr, GL_VERTEX_SHADER); // Compile default vertex shader + RLGL.State.defaultFShaderId = CompileShader(defaultFShaderStr, GL_FRAGMENT_SHADER); // Compile default fragment shader - shader.id = LoadShaderProgram(defaultVShaderId, defaultFShaderId); + shader.id = LoadShaderProgram(RLGL.State.defaultVShaderId, RLGL.State.defaultFShaderId); if (shader.id > 0) { - TraceLog(LOG_INFO, "[SHDR ID %i] Default shader loaded successfully", shader.id); + TRACELOG(LOG_INFO, "SHADER: [ID %i] Default shader loaded successfully", shader.id); // Set default shader locations: attributes locations shader.locs[LOC_VERTEX_POSITION] = glGetAttribLocation(shader.id, "vertexPosition"); @@ -3940,7 +4230,7 @@ static Shader LoadShaderDefault(void) // changed for external custom shaders, we just use direct bindings above //SetShaderDefaultLocations(&shader); } - else TraceLog(LOG_WARNING, "[SHDR ID %i] Default shader could not be loaded", shader.id); + else TRACELOG(LOG_WARNING, "SHADER: [ID %i] Failed to load default shader", shader.id); return shader; } @@ -3958,12 +4248,12 @@ static void SetShaderDefaultLocations(Shader *shader) // vertex texcoord2 location = 5 // Get handles to GLSL input attibute locations - shader->locs[LOC_VERTEX_POSITION] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_POSITION_NAME); - shader->locs[LOC_VERTEX_TEXCOORD01] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_TEXCOORD_NAME); - shader->locs[LOC_VERTEX_TEXCOORD02] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_TEXCOORD2_NAME); - shader->locs[LOC_VERTEX_NORMAL] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_NORMAL_NAME); - shader->locs[LOC_VERTEX_TANGENT] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_TANGENT_NAME); - shader->locs[LOC_VERTEX_COLOR] = glGetAttribLocation(shader->id, DEFAULT_ATTRIB_COLOR_NAME); + shader->locs[LOC_VERTEX_POSITION] = glGetAttribLocation(shader->id, DEFAULT_SHADER_ATTRIB_NAME_POSITION); + shader->locs[LOC_VERTEX_TEXCOORD01] = glGetAttribLocation(shader->id, DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD); + shader->locs[LOC_VERTEX_TEXCOORD02] = glGetAttribLocation(shader->id, DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2); + shader->locs[LOC_VERTEX_NORMAL] = glGetAttribLocation(shader->id, DEFAULT_SHADER_ATTRIB_NAME_NORMAL); + shader->locs[LOC_VERTEX_TANGENT] = glGetAttribLocation(shader->id, DEFAULT_SHADER_ATTRIB_NAME_TANGENT); + shader->locs[LOC_VERTEX_COLOR] = glGetAttribLocation(shader->id, DEFAULT_SHADER_ATTRIB_NAME_COLOR); // Get handles to GLSL uniform locations (vertex shader) shader->locs[LOC_MATRIX_MVP] = glGetUniformLocation(shader->id, "mvp"); @@ -3982,132 +4272,165 @@ static void UnloadShaderDefault(void) { glUseProgram(0); - glDetachShader(defaultShader.id, defaultVShaderId); - glDetachShader(defaultShader.id, defaultFShaderId); - glDeleteShader(defaultVShaderId); - glDeleteShader(defaultFShaderId); + glDetachShader(RLGL.State.defaultShader.id, RLGL.State.defaultVShaderId); + glDetachShader(RLGL.State.defaultShader.id, RLGL.State.defaultFShaderId); + glDeleteShader(RLGL.State.defaultVShaderId); + glDeleteShader(RLGL.State.defaultFShaderId); - glDeleteProgram(defaultShader.id); + glDeleteProgram(RLGL.State.defaultShader.id); + + RL_FREE(RLGL.State.defaultShader.locs); } -// Load default internal buffers -static void LoadBuffersDefault(void) +// Load render batch +static RenderBatch LoadRenderBatch(int numBuffers, int bufferElements) { - // Initialize CPU (RAM) arrays (vertex position, texcoord, color data and indexes) + RenderBatch batch = { 0 }; + + // Initialize CPU (RAM) vertex buffers (position, texcoord, color data and indexes) //-------------------------------------------------------------------------------------------- - for (int i = 0; i < MAX_BATCH_BUFFERING; i++) + batch.vertexBuffer = (VertexBuffer *)RL_MALLOC(sizeof(VertexBuffer)*numBuffers); + + for (int i = 0; i < numBuffers; i++) { - vertexData[i].vertices = (float *)RL_MALLOC(sizeof(float)*3*4*MAX_BATCH_ELEMENTS); // 3 float by vertex, 4 vertex by quad - vertexData[i].texcoords = (float *)RL_MALLOC(sizeof(float)*2*4*MAX_BATCH_ELEMENTS); // 2 float by texcoord, 4 texcoord by quad - vertexData[i].colors = (unsigned char *)RL_MALLOC(sizeof(unsigned char)*4*4*MAX_BATCH_ELEMENTS); // 4 float by color, 4 colors by quad + batch.vertexBuffer[i].elementsCount = bufferElements; + + batch.vertexBuffer[i].vertices = (float *)RL_MALLOC(bufferElements*3*4*sizeof(float)); // 3 float by vertex, 4 vertex by quad + batch.vertexBuffer[i].texcoords = (float *)RL_MALLOC(bufferElements*2*4*sizeof(float)); // 2 float by texcoord, 4 texcoord by quad + batch.vertexBuffer[i].colors = (unsigned char *)RL_MALLOC(bufferElements*4*4*sizeof(unsigned char)); // 4 float by color, 4 colors by quad #if defined(GRAPHICS_API_OPENGL_33) - vertexData[i].indices = (unsigned int *)RL_MALLOC(sizeof(unsigned int)*6*MAX_BATCH_ELEMENTS); // 6 int by quad (indices) + batch.vertexBuffer[i].indices = (unsigned int *)RL_MALLOC(bufferElements*6*sizeof(unsigned int)); // 6 int by quad (indices) #elif defined(GRAPHICS_API_OPENGL_ES2) - vertexData[i].indices = (unsigned short *)RL_MALLOC(sizeof(unsigned short)*6*MAX_BATCH_ELEMENTS); // 6 int by quad (indices) + batch.vertexBuffer[i].indices = (unsigned short *)RL_MALLOC(bufferElements*6*sizeof(unsigned short)); // 6 int by quad (indices) #endif - for (int j = 0; j < (3*4*MAX_BATCH_ELEMENTS); j++) vertexData[i].vertices[j] = 0.0f; - for (int j = 0; j < (2*4*MAX_BATCH_ELEMENTS); j++) vertexData[i].texcoords[j] = 0.0f; - for (int j = 0; j < (4*4*MAX_BATCH_ELEMENTS); j++) vertexData[i].colors[j] = 0; + for (int j = 0; j < (3*4*bufferElements); j++) batch.vertexBuffer[i].vertices[j] = 0.0f; + for (int j = 0; j < (2*4*bufferElements); j++) batch.vertexBuffer[i].texcoords[j] = 0.0f; + for (int j = 0; j < (4*4*bufferElements); j++) batch.vertexBuffer[i].colors[j] = 0; int k = 0; // Indices can be initialized right now - for (int j = 0; j < (6*MAX_BATCH_ELEMENTS); j += 6) + for (int j = 0; j < (6*bufferElements); j += 6) { - vertexData[i].indices[j] = 4*k; - vertexData[i].indices[j + 1] = 4*k + 1; - vertexData[i].indices[j + 2] = 4*k + 2; - vertexData[i].indices[j + 3] = 4*k; - vertexData[i].indices[j + 4] = 4*k + 2; - vertexData[i].indices[j + 5] = 4*k + 3; + batch.vertexBuffer[i].indices[j] = 4*k; + batch.vertexBuffer[i].indices[j + 1] = 4*k + 1; + batch.vertexBuffer[i].indices[j + 2] = 4*k + 2; + batch.vertexBuffer[i].indices[j + 3] = 4*k; + batch.vertexBuffer[i].indices[j + 4] = 4*k + 2; + batch.vertexBuffer[i].indices[j + 5] = 4*k + 3; k++; } - vertexData[i].vCounter = 0; - vertexData[i].tcCounter = 0; - vertexData[i].cCounter = 0; + batch.vertexBuffer[i].vCounter = 0; + batch.vertexBuffer[i].tcCounter = 0; + batch.vertexBuffer[i].cCounter = 0; } - TraceLog(LOG_INFO, "Internal buffers initialized successfully (CPU)"); + TRACELOG(LOG_INFO, "RLGL: Internal vertex buffers initialized successfully in RAM (CPU)"); //-------------------------------------------------------------------------------------------- // Upload to GPU (VRAM) vertex data and initialize VAOs/VBOs //-------------------------------------------------------------------------------------------- - for (int i = 0; i < MAX_BATCH_BUFFERING; i++) + for (int i = 0; i < numBuffers; i++) { - if (vaoSupported) + if (RLGL.ExtSupported.vao) { // Initialize Quads VAO - glGenVertexArrays(1, &vertexData[i].vaoId); - glBindVertexArray(vertexData[i].vaoId); + glGenVertexArrays(1, &batch.vertexBuffer[i].vaoId); + glBindVertexArray(batch.vertexBuffer[i].vaoId); } // Quads - Vertex buffers binding and attributes enable // Vertex position buffer (shader-location = 0) - glGenBuffers(1, &vertexData[i].vboId[0]); - glBindBuffer(GL_ARRAY_BUFFER, vertexData[i].vboId[0]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*4*MAX_BATCH_ELEMENTS, vertexData[i].vertices, GL_DYNAMIC_DRAW); - glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_POSITION]); - glVertexAttribPointer(currentShader.locs[LOC_VERTEX_POSITION], 3, GL_FLOAT, 0, 0, 0); + glGenBuffers(1, &batch.vertexBuffer[i].vboId[0]); + glBindBuffer(GL_ARRAY_BUFFER, batch.vertexBuffer[i].vboId[0]); + glBufferData(GL_ARRAY_BUFFER, bufferElements*3*4*sizeof(float), batch.vertexBuffer[i].vertices, GL_DYNAMIC_DRAW); + glEnableVertexAttribArray(RLGL.State.currentShader.locs[LOC_VERTEX_POSITION]); + glVertexAttribPointer(RLGL.State.currentShader.locs[LOC_VERTEX_POSITION], 3, GL_FLOAT, 0, 0, 0); // Vertex texcoord buffer (shader-location = 1) - glGenBuffers(1, &vertexData[i].vboId[1]); - glBindBuffer(GL_ARRAY_BUFFER, vertexData[i].vboId[1]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*4*MAX_BATCH_ELEMENTS, vertexData[i].texcoords, GL_DYNAMIC_DRAW); - glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_TEXCOORD01]); - glVertexAttribPointer(currentShader.locs[LOC_VERTEX_TEXCOORD01], 2, GL_FLOAT, 0, 0, 0); + glGenBuffers(1, &batch.vertexBuffer[i].vboId[1]); + glBindBuffer(GL_ARRAY_BUFFER, batch.vertexBuffer[i].vboId[1]); + glBufferData(GL_ARRAY_BUFFER, bufferElements*2*4*sizeof(float), batch.vertexBuffer[i].texcoords, GL_DYNAMIC_DRAW); + glEnableVertexAttribArray(RLGL.State.currentShader.locs[LOC_VERTEX_TEXCOORD01]); + glVertexAttribPointer(RLGL.State.currentShader.locs[LOC_VERTEX_TEXCOORD01], 2, GL_FLOAT, 0, 0, 0); // Vertex color buffer (shader-location = 3) - glGenBuffers(1, &vertexData[i].vboId[2]); - glBindBuffer(GL_ARRAY_BUFFER, vertexData[i].vboId[2]); - glBufferData(GL_ARRAY_BUFFER, sizeof(unsigned char)*4*4*MAX_BATCH_ELEMENTS, vertexData[i].colors, GL_DYNAMIC_DRAW); - glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_COLOR]); - glVertexAttribPointer(currentShader.locs[LOC_VERTEX_COLOR], 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); + glGenBuffers(1, &batch.vertexBuffer[i].vboId[2]); + glBindBuffer(GL_ARRAY_BUFFER, batch.vertexBuffer[i].vboId[2]); + glBufferData(GL_ARRAY_BUFFER, bufferElements*4*4*sizeof(unsigned char), batch.vertexBuffer[i].colors, GL_DYNAMIC_DRAW); + glEnableVertexAttribArray(RLGL.State.currentShader.locs[LOC_VERTEX_COLOR]); + glVertexAttribPointer(RLGL.State.currentShader.locs[LOC_VERTEX_COLOR], 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); // Fill index buffer - glGenBuffers(1, &vertexData[i].vboId[3]); - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vertexData[i].vboId[3]); + glGenBuffers(1, &batch.vertexBuffer[i].vboId[3]); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, batch.vertexBuffer[i].vboId[3]); #if defined(GRAPHICS_API_OPENGL_33) - glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(int)*6*MAX_BATCH_ELEMENTS, vertexData[i].indices, GL_STATIC_DRAW); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, bufferElements*6*sizeof(int), batch.vertexBuffer[i].indices, GL_STATIC_DRAW); #elif defined(GRAPHICS_API_OPENGL_ES2) - glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(short)*6*MAX_BATCH_ELEMENTS, vertexData[i].indices, GL_STATIC_DRAW); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, bufferElements*6*sizeof(short), batch.vertexBuffer[i].indices, GL_STATIC_DRAW); #endif } - TraceLog(LOG_INFO, "Internal buffers uploaded successfully (GPU)"); + TRACELOG(LOG_INFO, "RLGL: Render batch vertex buffers loaded successfully"); // Unbind the current VAO - if (vaoSupported) glBindVertexArray(0); + if (RLGL.ExtSupported.vao) glBindVertexArray(0); + //-------------------------------------------------------------------------------------------- + + // Init draw calls tracking system + //-------------------------------------------------------------------------------------------- + batch.draws = (DrawCall *)RL_MALLOC(DEFAULT_BATCH_DRAWCALLS*sizeof(DrawCall)); + + for (int i = 0; i < DEFAULT_BATCH_DRAWCALLS; i++) + { + batch.draws[i].mode = RL_QUADS; + batch.draws[i].vertexCount = 0; + batch.draws[i].vertexAlignment = 0; + //batch.draws[i].vaoId = 0; + //batch.draws[i].shaderId = 0; + batch.draws[i].textureId = RLGL.State.defaultTextureId; + //batch.draws[i].RLGL.State.projection = MatrixIdentity(); + //batch.draws[i].RLGL.State.modelview = MatrixIdentity(); + } + + batch.buffersCount = numBuffers; // Record buffer count + batch.drawsCounter = 1; // Reset draws counter + batch.currentDepth = -1.0f; // Reset depth value //-------------------------------------------------------------------------------------------- + + return batch; } -// Update default internal buffers (VAOs/VBOs) with vertex array data -// NOTE: If there is not vertex data, buffers doesn't need to be updated (vertexCount > 0) -// TODO: If no data changed on the CPU arrays --> No need to re-update GPU arrays (change flag required) -static void UpdateBuffersDefault(void) +// Draw render batch +// NOTE: We require a pointer to reset batch and increase current buffer (multi-buffer) +static void DrawRenderBatch(RenderBatch *batch) { - // Update vertex buffers data - if (vertexData[currentBuffer].vCounter > 0) + // Update batch vertex buffers + //------------------------------------------------------------------------------------------------------------ + // NOTE: If there is not vertex data, buffers doesn't need to be updated (vertexCount > 0) + // TODO: If no data changed on the CPU arrays --> No need to re-update GPU arrays (change flag required) + if (batch->vertexBuffer[batch->currentBuffer].vCounter > 0) { // Activate elements VAO - if (vaoSupported) glBindVertexArray(vertexData[currentBuffer].vaoId); + if (RLGL.ExtSupported.vao) glBindVertexArray(batch->vertexBuffer[batch->currentBuffer].vaoId); // Vertex positions buffer - glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[0]); - glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*3*vertexData[currentBuffer].vCounter, vertexData[currentBuffer].vertices); - //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*4*MAX_BATCH_ELEMENTS, vertexData[currentBuffer].vertices, GL_DYNAMIC_DRAW); // Update all buffer + glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[0]); + glBufferSubData(GL_ARRAY_BUFFER, 0, batch->vertexBuffer[batch->currentBuffer].vCounter*3*sizeof(float), batch->vertexBuffer[batch->currentBuffer].vertices); + //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*4*batch->vertexBuffer[batch->currentBuffer].elementsCount, batch->vertexBuffer[batch->currentBuffer].vertices, GL_DYNAMIC_DRAW); // Update all buffer // Texture coordinates buffer - glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[1]); - glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*2*vertexData[currentBuffer].vCounter, vertexData[currentBuffer].texcoords); - //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*4*MAX_BATCH_ELEMENTS, vertexData[currentBuffer].texcoords, GL_DYNAMIC_DRAW); // Update all buffer + glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[1]); + glBufferSubData(GL_ARRAY_BUFFER, 0, batch->vertexBuffer[batch->currentBuffer].vCounter*2*sizeof(float), batch->vertexBuffer[batch->currentBuffer].texcoords); + //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*4*batch->vertexBuffer[batch->currentBuffer].elementsCount, batch->vertexBuffer[batch->currentBuffer].texcoords, GL_DYNAMIC_DRAW); // Update all buffer // Colors buffer - glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[2]); - glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(unsigned char)*4*vertexData[currentBuffer].vCounter, vertexData[currentBuffer].colors); - //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*4*MAX_BATCH_ELEMENTS, vertexData[currentBuffer].colors, GL_DYNAMIC_DRAW); // Update all buffer + glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[2]); + glBufferSubData(GL_ARRAY_BUFFER, 0, batch->vertexBuffer[batch->currentBuffer].vCounter*4*sizeof(unsigned char), batch->vertexBuffer[batch->currentBuffer].colors); + //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*4*batch->vertexBuffer[batch->currentBuffer].elementsCount, batch->vertexBuffer[batch->currentBuffer].colors, GL_DYNAMIC_DRAW); // Update all buffer // NOTE: glMapBuffer() causes sync issue. // If GPU is working with this buffer, glMapBuffer() will wait(stall) until GPU to finish its job. @@ -4117,27 +4440,26 @@ static void UpdateBuffersDefault(void) // Another option: map the buffer object into client's memory // Probably this code could be moved somewhere else... - // vertexData[currentBuffer].vertices = (float *)glMapBuffer(GL_ARRAY_BUFFER, GL_READ_WRITE); - // if (vertexData[currentBuffer].vertices) + // batch->vertexBuffer[batch->currentBuffer].vertices = (float *)glMapBuffer(GL_ARRAY_BUFFER, GL_READ_WRITE); + // if (batch->vertexBuffer[batch->currentBuffer].vertices) // { // Update vertex data // } // glUnmapBuffer(GL_ARRAY_BUFFER); // Unbind the current VAO - if (vaoSupported) glBindVertexArray(0); + if (RLGL.ExtSupported.vao) glBindVertexArray(0); } -} + //------------------------------------------------------------------------------------------------------------ -// Draw default internal buffers vertex data -static void DrawBuffersDefault(void) -{ - Matrix matProjection = projection; - Matrix matModelView = modelview; + // Draw batch vertex buffers (considering VR stereo if required) + //------------------------------------------------------------------------------------------------------------ + Matrix matProjection = RLGL.State.projection; + Matrix matModelView = RLGL.State.modelview; int eyesCount = 1; #if defined(SUPPORT_VR_SIMULATOR) - if (vrStereoRender) eyesCount = 2; + if (RLGL.Vr.stereoRender) eyesCount = 2; #endif for (int eye = 0; eye < eyesCount; eye++) @@ -4145,76 +4467,78 @@ static void DrawBuffersDefault(void) #if defined(SUPPORT_VR_SIMULATOR) if (eyesCount == 2) SetStereoView(eye, matProjection, matModelView); #endif - // Draw buffers - if (vertexData[currentBuffer].vCounter > 0) + if (batch->vertexBuffer[batch->currentBuffer].vCounter > 0) { // Set current shader and upload current MVP matrix - glUseProgram(currentShader.id); - - // Create modelview-projection matrix - Matrix matMVP = MatrixMultiply(modelview, projection); - - glUniformMatrix4fv(currentShader.locs[LOC_MATRIX_MVP], 1, false, MatrixToFloat(matMVP)); - glUniform4f(currentShader.locs[LOC_COLOR_DIFFUSE], 1.0f, 1.0f, 1.0f, 1.0f); - glUniform1i(currentShader.locs[LOC_MAP_DIFFUSE], 0); // Provided value refers to the texture unit (active) - - // TODO: Support additional texture units on custom shader - //if (currentShader->locs[LOC_MAP_SPECULAR] > 0) glUniform1i(currentShader.locs[LOC_MAP_SPECULAR], 1); - //if (currentShader->locs[LOC_MAP_NORMAL] > 0) glUniform1i(currentShader.locs[LOC_MAP_NORMAL], 2); + glUseProgram(RLGL.State.currentShader.id); - // NOTE: Right now additional map textures not considered for default buffers drawing + // Create modelview-projection matrix and upload to shader + Matrix matMVP = MatrixMultiply(RLGL.State.modelview, RLGL.State.projection); + glUniformMatrix4fv(RLGL.State.currentShader.locs[LOC_MATRIX_MVP], 1, false, MatrixToFloat(matMVP)); - int vertexOffset = 0; - - if (vaoSupported) glBindVertexArray(vertexData[currentBuffer].vaoId); + if (RLGL.ExtSupported.vao) glBindVertexArray(batch->vertexBuffer[batch->currentBuffer].vaoId); else { // Bind vertex attrib: position (shader-location = 0) - glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[0]); - glVertexAttribPointer(currentShader.locs[LOC_VERTEX_POSITION], 3, GL_FLOAT, 0, 0, 0); - glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_POSITION]); + glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[0]); + glVertexAttribPointer(RLGL.State.currentShader.locs[LOC_VERTEX_POSITION], 3, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(RLGL.State.currentShader.locs[LOC_VERTEX_POSITION]); // Bind vertex attrib: texcoord (shader-location = 1) - glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[1]); - glVertexAttribPointer(currentShader.locs[LOC_VERTEX_TEXCOORD01], 2, GL_FLOAT, 0, 0, 0); - glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_TEXCOORD01]); + glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[1]); + glVertexAttribPointer(RLGL.State.currentShader.locs[LOC_VERTEX_TEXCOORD01], 2, GL_FLOAT, 0, 0, 0); + glEnableVertexAttribArray(RLGL.State.currentShader.locs[LOC_VERTEX_TEXCOORD01]); // Bind vertex attrib: color (shader-location = 3) - glBindBuffer(GL_ARRAY_BUFFER, vertexData[currentBuffer].vboId[2]); - glVertexAttribPointer(currentShader.locs[LOC_VERTEX_COLOR], 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); - glEnableVertexAttribArray(currentShader.locs[LOC_VERTEX_COLOR]); + glBindBuffer(GL_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[2]); + glVertexAttribPointer(RLGL.State.currentShader.locs[LOC_VERTEX_COLOR], 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); + glEnableVertexAttribArray(RLGL.State.currentShader.locs[LOC_VERTEX_COLOR]); - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vertexData[currentBuffer].vboId[3]); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, batch->vertexBuffer[batch->currentBuffer].vboId[3]); } - glActiveTexture(GL_TEXTURE0); + // Setup some default shader values + glUniform4f(RLGL.State.currentShader.locs[LOC_COLOR_DIFFUSE], 1.0f, 1.0f, 1.0f, 1.0f); + glUniform1i(RLGL.State.currentShader.locs[LOC_MAP_DIFFUSE], 0); // Active default sampler2D: texture0 - for (int i = 0; i < drawsCounter; i++) + // Activate additional sampler textures + // Those additional textures will be common for all draw calls of the batch + for (int i = 0; i < MAX_BATCH_ACTIVE_TEXTURES; i++) { - glBindTexture(GL_TEXTURE_2D, draws[i].textureId); + if (RLGL.State.activeTextureId[i] > 0) + { + glActiveTexture(GL_TEXTURE0 + 1 + i); + glBindTexture(GL_TEXTURE_2D, RLGL.State.activeTextureId[i]); + } + } - // TODO: Find some way to bind additional textures --> Use global texture IDs? Register them on draw[i]? - //if (currentShader->locs[LOC_MAP_SPECULAR] > 0) { glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, textureUnit1_id); } - //if (currentShader->locs[LOC_MAP_SPECULAR] > 0) { glActiveTexture(GL_TEXTURE2); glBindTexture(GL_TEXTURE_2D, textureUnit2_id); } + // Activate default sampler2D texture0 (one texture is always active for default batch shader) + // NOTE: Batch system accumulates calls by texture0 changes, additional textures are enabled for all the draw calls + glActiveTexture(GL_TEXTURE0); + + for (int i = 0, vertexOffset = 0; i < batch->drawsCounter; i++) + { + // Bind current draw call texture, activated as GL_TEXTURE0 and binded to sampler2D texture0 by default + glBindTexture(GL_TEXTURE_2D, batch->draws[i].textureId); - if ((draws[i].mode == RL_LINES) || (draws[i].mode == RL_TRIANGLES)) glDrawArrays(draws[i].mode, vertexOffset, draws[i].vertexCount); + if ((batch->draws[i].mode == RL_LINES) || (batch->draws[i].mode == RL_TRIANGLES)) glDrawArrays(batch->draws[i].mode, vertexOffset, batch->draws[i].vertexCount); else { #if defined(GRAPHICS_API_OPENGL_33) // We need to define the number of indices to be processed: quadsCount*6 // NOTE: The final parameter tells the GPU the offset in bytes from the // start of the index buffer to the location of the first index to process - glDrawElements(GL_TRIANGLES, draws[i].vertexCount/4*6, GL_UNSIGNED_INT, (GLvoid *)(sizeof(GLuint)*vertexOffset/4*6)); + glDrawElements(GL_TRIANGLES, batch->draws[i].vertexCount/4*6, GL_UNSIGNED_INT, (GLvoid *)(vertexOffset/4*6*sizeof(GLuint))); #elif defined(GRAPHICS_API_OPENGL_ES2) - glDrawElements(GL_TRIANGLES, draws[i].vertexCount/4*6, GL_UNSIGNED_SHORT, (GLvoid *)(sizeof(GLushort)*vertexOffset/4*6)); + glDrawElements(GL_TRIANGLES, batch->draws[i].vertexCount/4*6, GL_UNSIGNED_SHORT, (GLvoid *)(vertexOffset/4*6*sizeof(GLushort))); #endif } - vertexOffset += (draws[i].vertexCount + draws[i].vertexAlignment); + vertexOffset += (batch->draws[i].vertexCount + batch->draws[i].vertexAlignment); } - if (!vaoSupported) + if (!RLGL.ExtSupported.vao) { glBindBuffer(GL_ARRAY_BUFFER, 0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); @@ -4223,43 +4547,51 @@ static void DrawBuffersDefault(void) glBindTexture(GL_TEXTURE_2D, 0); // Unbind textures } - if (vaoSupported) glBindVertexArray(0); // Unbind VAO + if (RLGL.ExtSupported.vao) glBindVertexArray(0); // Unbind VAO glUseProgram(0); // Unbind shader program } + //------------------------------------------------------------------------------------------------------------ + // Reset batch buffers + //------------------------------------------------------------------------------------------------------------ // Reset vertex counters for next frame - vertexData[currentBuffer].vCounter = 0; - vertexData[currentBuffer].tcCounter = 0; - vertexData[currentBuffer].cCounter = 0; + batch->vertexBuffer[batch->currentBuffer].vCounter = 0; + batch->vertexBuffer[batch->currentBuffer].tcCounter = 0; + batch->vertexBuffer[batch->currentBuffer].cCounter = 0; // Reset depth for next draw - currentDepth = -1.0f; + batch->currentDepth = -1.0f; // Restore projection/modelview matrices - projection = matProjection; - modelview = matModelView; + RLGL.State.projection = matProjection; + RLGL.State.modelview = matModelView; - // Reset draws array - for (int i = 0; i < MAX_DRAWCALL_REGISTERED; i++) + // Reset RLGL.currentBatch->draws array + for (int i = 0; i < DEFAULT_BATCH_DRAWCALLS; i++) { - draws[i].mode = RL_QUADS; - draws[i].vertexCount = 0; - draws[i].textureId = defaultTextureId; + batch->draws[i].mode = RL_QUADS; + batch->draws[i].vertexCount = 0; + batch->draws[i].textureId = RLGL.State.defaultTextureId; } - drawsCounter = 1; + // Reset active texture units for next batch + for (int i = 0; i < MAX_BATCH_ACTIVE_TEXTURES; i++) RLGL.State.activeTextureId[i] = 0; + + // Reset draws counter to one draw for the batch + batch->drawsCounter = 1; + //------------------------------------------------------------------------------------------------------------ - // Change to next buffer in the list - currentBuffer++; - if (currentBuffer >= MAX_BATCH_BUFFERING) currentBuffer = 0; + // Change to next buffer in the list (in case of multi-buffering) + batch->currentBuffer++; + if (batch->currentBuffer >= batch->buffersCount) batch->currentBuffer = 0; } // Unload default internal buffers vertex data from CPU and GPU -static void UnloadBuffersDefault(void) +static void UnloadRenderBatch(RenderBatch batch) { // Unbind everything - if (vaoSupported) glBindVertexArray(0); + if (RLGL.ExtSupported.vao) glBindVertexArray(0); glDisableVertexAttribArray(0); glDisableVertexAttribArray(1); glDisableVertexAttribArray(2); @@ -4267,23 +4599,42 @@ static void UnloadBuffersDefault(void) glBindBuffer(GL_ARRAY_BUFFER, 0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); - for (int i = 0; i < MAX_BATCH_BUFFERING; i++) + // Unload all vertex buffers data + for (int i = 0; i < batch.buffersCount; i++) { // Delete VBOs from GPU (VRAM) - glDeleteBuffers(1, &vertexData[i].vboId[0]); - glDeleteBuffers(1, &vertexData[i].vboId[1]); - glDeleteBuffers(1, &vertexData[i].vboId[2]); - glDeleteBuffers(1, &vertexData[i].vboId[3]); + glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[0]); + glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[1]); + glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[2]); + glDeleteBuffers(1, &batch.vertexBuffer[i].vboId[3]); // Delete VAOs from GPU (VRAM) - if (vaoSupported) glDeleteVertexArrays(1, &vertexData[i].vaoId); + if (RLGL.ExtSupported.vao) glDeleteVertexArrays(1, &batch.vertexBuffer[i].vaoId); // Free vertex arrays memory from CPU (RAM) - RL_FREE(vertexData[i].vertices); - RL_FREE(vertexData[i].texcoords); - RL_FREE(vertexData[i].colors); - RL_FREE(vertexData[i].indices); + RL_FREE(batch.vertexBuffer[i].vertices); + RL_FREE(batch.vertexBuffer[i].texcoords); + RL_FREE(batch.vertexBuffer[i].colors); + RL_FREE(batch.vertexBuffer[i].indices); } + + // Unload arrays + RL_FREE(batch.vertexBuffer); + RL_FREE(batch.draws); +} + +// Set the active render batch for rlgl +static void SetRenderBatchActive(RenderBatch *batch) +{ + DrawRenderBatch(RLGL.currentBatch); + RLGL.currentBatch = batch; +} + +// Set default render batch for rlgl +static void SetRenderBatchDefault(void) +{ + DrawRenderBatch(RLGL.currentBatch); + RLGL.currentBatch = &RLGL.defaultBatch; } // Renders a 1x1 XY quad in NDC @@ -4293,33 +4644,34 @@ static void GenDrawQuad(void) unsigned int quadVBO = 0; float vertices[] = { - // Positions // Texture Coords - -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, - -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, - 1.0f, 1.0f, 0.0f, 1.0f, 1.0f, - 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, + // Positions Texcoords + -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, + -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, + 1.0f, 1.0f, 0.0f, 1.0f, 1.0f, + 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, }; - // Set up plane VAO + // Gen VAO to contain VBO glGenVertexArrays(1, &quadVAO); - glGenBuffers(1, &quadVBO); glBindVertexArray(quadVAO); - // Fill buffer + // Gen and fill vertex buffer (VBO) + glGenBuffers(1, &quadVBO); glBindBuffer(GL_ARRAY_BUFFER, quadVBO); glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), &vertices, GL_STATIC_DRAW); - // Link vertex attributes + // Bind vertex attributes (position, texcoords) glEnableVertexAttribArray(0); - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void *)0); + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void *)0); // Positions glEnableVertexAttribArray(1); - glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void *)(3*sizeof(float))); + glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 5*sizeof(float), (void *)(3*sizeof(float))); // Texcoords // Draw quad glBindVertexArray(quadVAO); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); glBindVertexArray(0); + // Delete buffers (VBO and VAO) glDeleteBuffers(1, &quadVBO); glDeleteVertexArrays(1, &quadVAO); } @@ -4331,60 +4683,62 @@ static void GenDrawCube(void) unsigned int cubeVBO = 0; float vertices[] = { - -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, - 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 1.0f, - 1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 0.0f, - 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 1.0f, - -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, - -1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, - -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, - 1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f, - 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, - 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, - -1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, - -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, - -1.0f, 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f, - -1.0f, 1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 1.0f, - -1.0f, -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 1.0f, - -1.0f, -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 1.0f, - -1.0f, -1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 0.0f, - -1.0f, 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f, - 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, - 1.0f, -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, - 1.0f, 1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, - 1.0f, -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, - 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, - 1.0f, -1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, - -1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 1.0f, - 1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f, - 1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, - 1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, - -1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f, - -1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 1.0f, - -1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, - 1.0f, 1.0f , 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, - 1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, - 1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, - -1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, - -1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f + // Positions Normals Texcoords + -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, + 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 1.0f, + 1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 0.0f, + 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 1.0f, 1.0f, + -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, + -1.0f, 1.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, + -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, + 1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f, + 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, + 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, + -1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, + -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, + -1.0f, 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f, + -1.0f, 1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 1.0f, + -1.0f, -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 1.0f, + -1.0f, -1.0f, -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 1.0f, + -1.0f, -1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 0.0f, + -1.0f, 1.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f, + 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, + 1.0f, -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, + 1.0f, 1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, + 1.0f, -1.0f, -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, + 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, + 1.0f, -1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, + -1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 1.0f, + 1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 1.0f, + 1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, + 1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, + -1.0f, -1.0f, 1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f, + -1.0f, -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 0.0f, 1.0f, + -1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, + 1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, + 1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, + 1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, + -1.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, + -1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f }; - // Set up cube VAO + // Gen VAO to contain VBO glGenVertexArrays(1, &cubeVAO); - glGenBuffers(1, &cubeVBO); + glBindVertexArray(cubeVAO); - // Fill buffer + // Gen and fill vertex buffer (VBO) + glGenBuffers(1, &cubeVBO); glBindBuffer(GL_ARRAY_BUFFER, cubeVBO); glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); - // Link vertex attributes + // Bind vertex attributes (position, normals, texcoords) glBindVertexArray(cubeVAO); glEnableVertexAttribArray(0); - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)0); + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)0); // Positions glEnableVertexAttribArray(1); - glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)(3*sizeof(float))); + glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)(3*sizeof(float))); // Normals glEnableVertexAttribArray(2); - glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)(6*sizeof(float))); + glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 8*sizeof(float), (void *)(6*sizeof(float))); // Texcoords glBindBuffer(GL_ARRAY_BUFFER, 0); glBindVertexArray(0); @@ -4393,6 +4747,7 @@ static void GenDrawCube(void) glDrawArrays(GL_TRIANGLES, 0, 36); glBindVertexArray(0); + // Delete VBO and VAO glDeleteBuffers(1, &cubeVBO); glDeleteVertexArrays(1, &cubeVAO); } @@ -4405,13 +4760,13 @@ static void SetStereoView(int eye, Matrix matProjection, Matrix matModelView) Matrix eyeModelView = matModelView; // Setup viewport and projection/modelview matrices using tracking data - rlViewport(eye*screenWidth/2, 0, screenWidth/2, screenHeight); + rlViewport(eye*RLGL.State.framebufferWidth/2, 0, RLGL.State.framebufferWidth/2, RLGL.State.framebufferHeight); // Apply view offset to modelview matrix - eyeModelView = MatrixMultiply(matModelView, vrConfig.eyesViewOffset[eye]); + eyeModelView = MatrixMultiply(matModelView, RLGL.Vr.config.eyesViewOffset[eye]); // Set current eye projection matrix - eyeProjection = vrConfig.eyesProjection[eye]; + eyeProjection = RLGL.Vr.config.eyesProjection[eye]; SetMatrixModelview(eyeModelView); SetMatrixProjection(eyeProjection); @@ -4436,20 +4791,20 @@ static int GenerateMipmaps(unsigned char *data, int baseWidth, int baseHeight) if (width != 1) width /= 2; if (height != 1) height /= 2; - TraceLog(LOG_DEBUG, "Next mipmap size: %i x %i", width, height); + TRACELOGD("TEXTURE: Next mipmap size: %i x %i", width, height); mipmapCount++; size += (width*height*4); // Add mipmap size (in bytes) } - TraceLog(LOG_DEBUG, "Total mipmaps required: %i", mipmapCount); - TraceLog(LOG_DEBUG, "Total size of data required: %i", size); + TRACELOGD("TEXTURE: Total mipmaps required: %i", mipmapCount); + TRACELOGD("TEXTURE: Total size of data required: %i", size); - unsigned char *temp = realloc(data, size); + unsigned char *temp = RL_REALLOC(data, size); if (temp != NULL) data = temp; - else TraceLog(LOG_WARNING, "Mipmaps required memory could not be allocated"); + else TRACELOG(LOG_WARNING, "TEXTURE: Failed to allocate required mipmaps memory"); width = baseWidth; height = baseHeight; @@ -4471,7 +4826,7 @@ static int GenerateMipmaps(unsigned char *data, int baseWidth, int baseHeight) j++; } - TraceLog(LOG_DEBUG, "Mipmap base (%ix%i)", width, height); + TRACELOGD("TEXTURE: Mipmap base size (%ix%i)", width, height); for (int mip = 1; mip < mipmapCount; mip++) { @@ -4542,34 +4897,55 @@ static Color *GenNextMipmap(Color *srcData, int srcWidth, int srcHeight) } } - TraceLog(LOG_DEBUG, "Mipmap generated successfully (%ix%i)", width, height); + TRACELOGD("TEXTURE: Mipmap generated successfully (%ix%i)", width, height); return mipmap; } #endif #if defined(RLGL_STANDALONE) -// Show trace log messages (LOG_INFO, LOG_WARNING, LOG_ERROR, LOG_DEBUG) -void TraceLog(int msgType, const char *text, ...) +// Load text data from file, returns a '\0' terminated string +// NOTE: text chars array should be freed manually +char *LoadFileText(const char *fileName) { - va_list args; - va_start(args, text); + char *text = NULL; - switch (msgType) + if (fileName != NULL) { - case LOG_INFO: fprintf(stdout, "INFO: "); break; - case LOG_ERROR: fprintf(stdout, "ERROR: "); break; - case LOG_WARNING: fprintf(stdout, "WARNING: "); break; - case LOG_DEBUG: fprintf(stdout, "DEBUG: "); break; - default: break; - } + FILE *textFile = fopen(fileName, "rt"); + + if (textFile != NULL) + { + // WARNING: When reading a file as 'text' file, + // text mode causes carriage return-linefeed translation... + // ...but using fseek() should return correct byte-offset + fseek(textFile, 0, SEEK_END); + int size = ftell(textFile); + fseek(textFile, 0, SEEK_SET); + + if (size > 0) + { + text = (char *)RL_MALLOC((size + 1)*sizeof(char)); + int count = fread(text, sizeof(char), size, textFile); - vfprintf(stdout, text, args); - fprintf(stdout, "\n"); + // WARNING: \r\n is converted to \n on reading, so, + // read bytes count gets reduced by the number of lines + if (count < size) text = RL_REALLOC(text, count + 1); - va_end(args); + // Zero-terminate the string + text[count] = '\0'; - if (msgType == LOG_ERROR) exit(1); + TRACELOG(LOG_INFO, "FILEIO: [%s] Text file loaded successfully", fileName); + } + else TRACELOG(LOG_WARNING, "FILEIO: [%s] Failed to read text file", fileName); + + fclose(textFile); + } + else TRACELOG(LOG_WARNING, "FILEIO: [%s] Failed to open text file", fileName); + } + else TRACELOG(LOG_WARNING, "FILEIO: File name provided is not valid"); + + return text; } // Get pixel data size in bytes (image or texture) @@ -4607,8 +4983,16 @@ int GetPixelDataSize(int width, int height, int format) dataSize = width*height*bpp/8; // Total data size in bytes + // Most compressed formats works on 4x4 blocks, + // if texture is smaller, minimum dataSize is 8 or 16 + if ((width < 4) && (height < 4)) + { + if ((format >= COMPRESSED_DXT1_RGB) && (format < COMPRESSED_DXT3_RGBA)) dataSize = 8; + else if ((format >= COMPRESSED_DXT3_RGBA) && (format < COMPRESSED_ASTC_8x8_RGBA)) dataSize = 16; + } + return dataSize; } #endif // RLGL_STANDALONE -#endif // RLGL_IMPLEMENTATION \ No newline at end of file +#endif // RLGL_IMPLEMENTATION -- cgit v1.2.3